Skip to content

feat(a2a): migrate runtime integration to a2a-sdk v1#591

Open
notgitika wants to merge 3 commits into
mainfrom
fix/a2a-sdk-v1
Open

feat(a2a): migrate runtime integration to a2a-sdk v1#591
notgitika wants to merge 3 commits into
mainfrom
fix/a2a-sdk-v1

Conversation

@notgitika

Copy link
Copy Markdown
Contributor

Summary

  • migrate serve_a2a and build_a2a_app from removed 0.3 app APIs to the v1 route factories
  • update agent cards, call context handling, and the A2A dependency range to >=1.0.1,<2.0
  • retain v0.3 JSON-RPC compatibility while serving the v1 protocol and agent-card endpoint

The lower bound is 1.0.1 because a2a-sdk 1.0.0 imports grpc from its route module without including it in the http-server extra; 1.0.1 is the first HTTP-only release that starts successfully.

Validation

  • uv run pytest -q (2,794 passed, 10 skipped, 4 xpassed)
  • focused A2A suite against a2a-sdk 1.0.1 (36 passed)
  • focused A2A suite against a2a-sdk 1.1.2 (36 passed)
  • Ruff and MyPy pass

Closes #509

@github-actions

Copy link
Copy Markdown
Contributor

✅ No Breaking Changes Detected

No public API breaking changes found in this PR.

@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jul 22, 2026

@jariy17 jariy17 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Issue with Strands integration

@@ -39,12 +39,12 @@ def _check_a2a_sdk() -> None:


def _build_agent_card(executor: Any, url: str) -> Any:

@jariy17 jariy17 Jul 23, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Strands currently supports only a2a-sdk v0.3. This PR Upgrading to A2A v1, will break existing StrandsA2AExecutor.

Can we preserve the v0.3 path and make v1 opt-in, perhaps through a separate extra and compatibility mode?

@notgitika notgitika Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed. The default bedrock-agentcore[a2a] extra now remains on the Strands-compatible a2a-sdk>=0.3,<0.4 path, while bedrock-agentcore[a2a-v1] opts into SDK v1. The runtime detects the installed API and uses the matching AgentCard, request handler, routes, and call-context integration. I also made the A2A unit/integration suites run against both versions.

@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jul 23, 2026
@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate A2A runtime integration to a2a-sdk v1.x

2 participants