Skip to content

fix: resolve build failures across 5 packages#671

Merged
imran-siddique merged 2 commits intomicrosoft:mainfrom
imran-siddique:release/v3.0.1
Apr 1, 2026
Merged

fix: resolve build failures across 5 packages#671
imran-siddique merged 2 commits intomicrosoft:mainfrom
imran-siddique:release/v3.0.1

Conversation

@imran-siddique
Copy link
Copy Markdown
Member

Summary

Fixes 5 build failures in the release pipeline:

Package Issue Fix
mcp-proxy chalk v5 ESM-only in CJS project Downgrade chalk 5.3.0 → 4.1.2
agentmesh-sdk jest 30 vs ts-jest 29 peer conflict Downgrade jest 30.3.0 → 29.7.0
copilot-extension jest 30 vs ts-jest 29 peer conflict Downgrade jest 30.3.0 → 29.7.0
mcp-server TS 6.x vs parser peer <6.0.0 Upgrade parser 8.57.0 → 8.58.0
rust agentmesh AgentIdentity missing Debug trait Add derive(Debug)

Note: NuGet push 403 is a credentials issue — requires API key rotation in the pipeline variable group.

imran-siddique and others added 2 commits April 1, 2026 11:00
Core Python packages: 3.0.0 → 3.0.1
npm packages: 1.0.0 → 1.0.1, mcp-server 1.0.1 → 1.0.2
.NET SDK: 2.1.0 → 3.0.1
Rust crate: 0.1.0 → 0.1.1
CHANGELOG.md updated with all changes since 3.0.0

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- mcp-proxy: downgrade chalk 5.3.0 -> 4.1.2 (ESM-only in CJS project)
- agentmesh-sdk: downgrade jest 30.3.0 -> 29.7.0 (ts-jest 29.x peer conflict)
- copilot-extension: downgrade jest 30.3.0 -> 29.7.0 (ts-jest 29.x peer conflict)
- mcp-server: upgrade @typescript-eslint/parser 8.57.0 -> 8.58.0 (TS 6.x support)
- rust agentmesh: add #[derive(Debug)] to AgentIdentity (required by unwrap_err)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@imran-siddique imran-siddique merged commit ac212e9 into microsoft:main Apr 1, 2026
24 of 26 checks passed
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

🤖 AI Agent: breaking-change-detector — Summary

🔍 API Compatibility Report

Summary

No breaking changes were detected in the provided diff. The changes primarily involve version updates, dependency adjustments, and minor code modifications that do not impact the public API of the packages.

Findings

Severity Package Change Impact
All packages Version bumps (3.0.03.0.1) No impact on API compatibility
agentmesh-sdk Jest and ts-jest dependency downgrades No impact on runtime or public API
Rust agentmesh Added Debug trait to AgentIdentity Non-breaking, additive change
mcp-proxy Downgraded chalk dependency No impact on public API
Various Python packages Updated __version__ in __init__.py No impact on functionality

Migration Guide

No migration steps are necessary, as no breaking changes were introduced.

Notes

  • The changes are primarily focused on resolving build issues and updating dependencies, which do not affect the public API or functionality of the packages.
  • The addition of the Debug trait in the Rust agentmesh crate is an additive change and does not affect existing functionality.

No breaking changes detected.

@github-actions github-actions bot added the size/M Medium PR (< 200 lines) label Apr 1, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

🤖 AI Agent: docs-sync-checker — Issues Found

📝 Documentation Sync Report

Issues Found

  • ⚠️ CHANGELOG.md — The changelog entry for version 3.0.1 is present, but it does not explicitly mention the fixes for the build failures in the five packages (mcp-proxy, agentmesh-sdk, copilot-extension, mcp-server, and rust agentmesh). These fixes should be explicitly listed under the "Fixed" section for better clarity.
  • ⚠️ packages/agent-mesh/sdks/rust/agentmesh/src/identity.rs — The AgentIdentity struct has a new #[derive(Debug)] attribute added, but there is no corresponding update to the Rust SDK documentation in packages/agent-mesh/README.md to reflect this change.
  • ⚠️ packages/agent-mesh/README.md — The README does not mention the addition of the #[derive(Debug)] attribute to the AgentIdentity struct in the Rust SDK. This change should be documented if it impacts the usage or debugging of the SDK.

Suggestions

  • 💡 Update the CHANGELOG.md to explicitly mention the fixes for the build failures in the five packages under the "Fixed" section for version 3.0.1.
  • 💡 Add a note in packages/agent-mesh/README.md under the Rust SDK section to explain the addition of the #[derive(Debug)] attribute to the AgentIdentity struct and how it can be used for debugging purposes.

If these updates are made, the documentation will be fully synchronized with the changes introduced in this PR. Let me know if you need further assistance!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

🤖 AI Agent: test-generator — `packages/agent-compliance/src/agent_compliance/__init__.py`

🧪 Test Coverage Analysis

packages/agent-compliance/src/agent_compliance/__init__.py

  • Existing coverage: Basic functionality tests for versioning and module imports.
  • Missing coverage: No tests for edge cases in policy evaluation, such as conflicting policies or bypass attempts.
  • 💡 Suggested test cases:
    1. test_policy_conflict_resolution — Simulate conflicting policies and verify resolution behavior.
    2. test_policy_bypass_attempts — Test for scenarios where policies are intentionally bypassed using malformed inputs.

packages/agent-hypervisor/src/hypervisor/__init__.py

  • Existing coverage: Tests for constants and basic module imports.
  • Missing coverage: No tests for concurrency issues such as race conditions or deadlocks in shared state management.
  • 💡 Suggested test cases:
    1. test_shared_state_race_conditions — Simulate concurrent access to shared state and verify correctness.
    2. test_deadlock_scenarios — Introduce circular dependencies in resource locking and ensure deadlock prevention mechanisms are effective.

packages/agent-mesh/src/agentmesh/__init__.py

  • Existing coverage: Basic identity and trust scoring functionality.
  • Missing coverage: Edge cases for trust scoring, such as handling expired certificates or revoked trust.
  • 💡 Suggested test cases:
    1. test_expired_certificate_trust_score — Verify trust scoring behavior when certificates are expired.
    2. test_revoked_trust_score — Ensure trust scoring correctly handles revoked trust scenarios.

packages/agent-os/src/agent_os/__init__.py

  • Existing coverage: Basic kernel functionality and module imports.
  • Missing coverage: Input validation for malformed inputs, injection attempts, and oversized payloads.
  • 💡 Suggested test cases:
    1. test_malformed_input_handling — Validate behavior when receiving malformed inputs.
    2. test_payload_size_limits — Test system response to oversized payloads exceeding defined limits.
    3. test_injection_attempts — Simulate injection attempts and verify sanitization mechanisms.

packages/agent-sre/src/agent_sre/__init__.py

  • Existing coverage: Basic reliability engineering module functionality.
  • Missing coverage: Chaos experiments, such as handling cascading failures or partial system outages.
  • 💡 Suggested test cases:
    1. test_cascading_failure_resilience — Simulate cascading failures and verify system recovery mechanisms.
    2. test_partial_outage_handling — Test behavior when parts of the system fail while others remain operational.
    3. test_timeout_handling — Validate system behavior under prolonged timeout conditions.

Summary

The changes primarily involve version updates, but the modules themselves lack comprehensive test coverage for domain-specific edge cases. Implementing the suggested test cases will significantly improve robustness and reliability across the packages.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

🤖 AI Agent: security-scanner — Security Analysis of PR Changes

Security Analysis of PR Changes

This pull request primarily addresses build failures across multiple packages in the microsoft/agent-governance-toolkit repository. While the changes are largely focused on dependency version adjustments and minor code updates, a detailed security review is necessary due to the critical nature of this repository.


Findings and Analysis

1. Prompt Injection Defense Bypass

No changes in this PR directly affect prompt injection defenses. However, the downgrade of dependencies (e.g., chalk and jest) could potentially introduce vulnerabilities if the older versions have known issues. For instance:

  • chalk downgrade (5.3.0 → 4.1.2): Chalk v5 is ESM-only, and the downgrade to v4.1.2 reverts to CommonJS. While this resolves the build issue, it is important to verify that v4.1.2 does not introduce any vulnerabilities that could be exploited for prompt injection or other attacks.
  • jest downgrade (30.3.0 → 29.7.0): Jest is used for testing, and downgrading to an older version could reintroduce vulnerabilities in the test framework. This could indirectly affect the reliability of tests for prompt injection defenses.

Rating: 🟡 MEDIUM
Recommendation: Verify that the downgraded versions of chalk and jest do not have any known vulnerabilities or security issues. If vulnerabilities exist, consider alternative solutions to resolve the build issues without downgrading.


2. Policy Engine Circumvention

No changes in this PR directly affect the policy engine or its enforcement mechanisms. The changes are limited to dependency updates and minor code adjustments.

Rating: 🔵 LOW
Recommendation: No immediate action required.


3. Trust Chain Weaknesses

The addition of the #[derive(Debug)] attribute to the AgentIdentity struct in the Rust SDK (agentmesh) could potentially expose sensitive information if the Debug implementation is used inappropriately (e.g., logging sensitive data such as cryptographic keys or identifiers). While this change is not inherently insecure, it introduces a potential risk if the Debug output is not carefully controlled.

Rating: 🟠 HIGH
Recommendation: Ensure that the Debug implementation for AgentIdentity does not include sensitive information such as private keys or other confidential data. Consider implementing a custom Debug trait for AgentIdentity to sanitize sensitive fields.


4. Credential Exposure

The PR notes a NuGet push 403 error due to a credentials issue, which requires API key rotation. While this is not directly related to the code changes, it is critical to ensure that the new API key is securely stored and not exposed in the repository or logs.

Rating: 🟠 HIGH
Recommendation: Use a secure secrets management solution (e.g., Azure Key Vault, GitHub Secrets) to store the new API key. Ensure that the key is not hardcoded or exposed in logs during the build process.


5. Sandbox Escape

No changes in this PR directly affect sandboxing or process isolation mechanisms.

Rating: 🔵 LOW
Recommendation: No immediate action required.


6. Deserialization Attacks

No changes in this PR directly involve deserialization logic. However, the downgrade of dependencies (e.g., yaml and ts-jest) could potentially reintroduce vulnerabilities in deserialization if these libraries have known issues in the downgraded versions.

Rating: 🟡 MEDIUM
Recommendation: Verify that the downgraded versions of yaml and ts-jest do not have any known deserialization vulnerabilities. If vulnerabilities exist, consider alternative solutions to resolve the build issues without downgrading.


7. Race Conditions

No changes in this PR directly affect concurrency or time-of-check-to-time-of-use (TOCTOU) vulnerabilities.

Rating: 🔵 LOW
Recommendation: No immediate action required.


8. Supply Chain

The PR includes multiple dependency downgrades and upgrades. While these changes address compatibility issues, they could introduce supply chain risks if the new versions contain vulnerabilities or if the integrity of the dependencies is compromised. Notable changes include:

  • chalk downgrade (5.3.0 → 4.1.2): Verify the integrity and security of the older version.
  • jest downgrade (30.3.0 → 29.7.0): Verify the integrity and security of the older version.
  • @typescript-eslint/parser upgrade (8.57.0 → 8.58.0): Ensure the new version does not introduce vulnerabilities.
  • Rust crate updates: Verify the integrity and security of the updated Rust dependencies (rand, sha2, thiserror).

Rating: 🟠 HIGH
Recommendation: Perform a thorough security audit of all updated and downgraded dependencies. Use tools like npm audit, cargo audit, or safety to identify known vulnerabilities. Consider pinning dependencies to specific versions to prevent accidental upgrades to malicious or vulnerable versions.


Summary of Findings

Finding Rating Recommendation
Prompt injection defense bypass 🟡 MEDIUM Verify downgraded dependencies for vulnerabilities.
Policy engine circumvention 🔵 LOW No immediate action required.
Trust chain weaknesses 🟠 HIGH Ensure Debug implementation for AgentIdentity does not expose sensitive data.
Credential exposure 🟠 HIGH Use secure secrets management for API key rotation.
Sandbox escape 🔵 LOW No immediate action required.
Deserialization attacks 🟡 MEDIUM Verify downgraded dependencies for deserialization vulnerabilities.
Race conditions 🔵 LOW No immediate action required.
Supply chain 🟠 HIGH Audit all updated and downgraded dependencies for security issues.

Final Recommendation

  • Address the Trust Chain Weaknesses by implementing a custom Debug trait for AgentIdentity to sanitize sensitive fields.
  • Rotate the NuGet API key securely using a secrets management solution.
  • Perform a thorough security audit of all updated and downgraded dependencies to ensure no vulnerabilities or supply chain risks are introduced.
  • If any downgraded dependencies are found to have vulnerabilities, consider alternative solutions to resolve the build issues without using insecure versions.

Let me know if you need further assistance!

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Agent: code-reviewer

Review of Pull Request: fix: resolve build failures across 5 packages


🔴 CRITICAL

  1. Potential Security Risk: Downgrade of chalk from v5.3.0 to v4.1.2

    • Issue: Downgrading chalk from v5.3.0 to v4.1.2 in mcp-proxy introduces a potential security risk. Version 5.x of chalk is ESM-only, but it is also the version that likely contains the latest security patches. Downgrading to v4.1.2 may reintroduce vulnerabilities that were patched in v5.x.
    • Recommendation: Instead of downgrading, consider refactoring the project to support ESM modules. If this is not feasible, ensure that v4.1.2 does not have any known vulnerabilities by checking the npm security advisories.
  2. AgentIdentity Struct in Rust Missing Clone Trait

    • Issue: While the Debug trait was added to the AgentIdentity struct in the Rust SDK, the Clone trait is still missing. This could lead to unintended behavior or bugs when attempting to duplicate AgentIdentity instances, especially in concurrent scenarios.
    • Recommendation: Add the Clone trait to the AgentIdentity struct to ensure safe and predictable behavior when copying instances.

🟡 WARNING

  1. Version Bumps Across Multiple Packages
    • Issue: Incrementing the version numbers of multiple packages (e.g., agent-compliance, agent-hypervisor, agent-lightning, etc.) from 3.0.0 to 3.0.1 may introduce breaking changes if the updates are not backward compatible. While the changes seem to be minor (patch-level), it's important to verify that no breaking changes have been introduced.
    • Recommendation: Ensure that all changes are backward compatible and that the version bumps align with Semantic Versioning. If any breaking changes exist, the version should be incremented to 3.1.0 or 4.0.0 as appropriate.

💡 SUGGESTIONS

  1. Credential Rotation for NuGet Push

    • Observation: The PR notes that the NuGet push failure is due to a credentials issue and requires API key rotation in the pipeline variable group.
    • Recommendation: Ensure that the API key is rotated securely and updated in the pipeline configuration. Consider using a secrets management solution (e.g., Azure Key Vault) to securely store and manage sensitive credentials.
  2. TypeScript Dependency Downgrade

    • Observation: Downgrading jest from 30.3.0 to 29.7.0 and @types/jest from 30.0.0 to 29.5.14 in agentmesh-sdk and copilot-extension resolves peer dependency conflicts with ts-jest. While this resolves the immediate issue, it may lead to missing out on bug fixes or features in the newer versions of jest.
    • Recommendation: Investigate upgrading ts-jest to a version compatible with jest 30.x instead of downgrading jest. If this is not feasible, document the decision and monitor the jest and ts-jest repositories for updates.
  3. Testing for Policy Engine Correctness

    • Observation: The PR does not include any updates to tests for the policy engine. Given the critical nature of policy enforcement in this toolkit, it is essential to ensure that the fixes do not introduce regressions or false negatives.
    • Recommendation: Add or update tests for the policy engine to verify that the changes do not impact its correctness. Specifically, test for edge cases that could lead to security bypasses.
  4. Thread Safety in Rust SDK

    • Observation: The AgentIdentity struct in the Rust SDK is central to identity and trust operations. While the Debug trait was added, there is no indication that thread safety has been explicitly considered.
    • Recommendation: Ensure that the AgentIdentity struct is thread-safe by implementing the Send and Sync traits if applicable. If these traits are not implemented, document the reasons and provide guidance to developers.
  5. Backward Compatibility Tests

    • Observation: The PR introduces changes to multiple packages, including version bumps. However, there is no mention of backward compatibility testing.
    • Recommendation: Add backward compatibility tests to ensure that existing consumers of the library are not broken by these changes.
  6. Update Documentation

    • Observation: The CHANGELOG.md has been updated, but there is no mention of updates to other documentation (e.g., README files, API documentation).
    • Recommendation: Review and update all relevant documentation to reflect the changes introduced in this PR, especially for the Rust SDK and TypeScript SDK.
  7. Sandbox Escape Vectors

    • Observation: The PR does not address sandboxing or potential escape vectors.
    • Recommendation: Review the changes for any potential sandbox escape vectors, especially in the Rust and Python packages, as they are critical for security.
  8. OWASP Agentic Top 10 Compliance

    • Observation: The PR does not explicitly address compliance with the OWASP Agentic Top 10.
    • Recommendation: Perform a review to ensure that the changes do not introduce new vulnerabilities or weaken compliance with the OWASP Agentic Top 10.

Summary of Actionable Items

  1. 🔴 Address the potential security risk of downgrading chalk by either refactoring for ESM support or verifying the security of v4.1.2.
  2. 🔴 Add the Clone trait to the AgentIdentity struct in the Rust SDK.
  3. 🟡 Verify backward compatibility for all version bumps and ensure compliance with Semantic Versioning.
  4. 💡 Rotate the NuGet API key securely and update the pipeline configuration.
  5. 💡 Investigate upgrading ts-jest to resolve the jest peer conflict without downgrading.
  6. 💡 Add or update tests for the policy engine to ensure correctness and prevent regressions.
  7. 💡 Ensure thread safety for the AgentIdentity struct in the Rust SDK.
  8. 💡 Add backward compatibility tests for all affected packages.
  9. 💡 Update all relevant documentation to reflect the changes.
  10. 💡 Review for sandbox escape vectors and OWASP Agentic Top 10 compliance.

Let me know if you need further clarification or assistance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Medium PR (< 200 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant