feat(templates): upgrade A2A agents to SDK v1#1810
Conversation
Package TarballHow to installgh release download pr-1810-tarball --repo aws/agentcore-cli --pattern "*.tgz" --dir /tmp/pr-tarball
npm install -g /tmp/pr-tarball/aws-agentcore-0.24.2.tgz |
|
Claude Security Review: no high-confidence findings. (run) |
agentcore-cli-automation
left a comment
There was a problem hiding this comment.
Templates now require bedrock-agentcore[a2a] >= 1.19.0, but the latest published version on PyPI is currently 1.18.1 (see https://pypi.org/project/bedrock-agentcore/#history). The PR description acknowledges this dependency on aws/bedrock-agentcore-sdk-python#591 and its subsequent release.
If this PR is merged before the SDK release lands on PyPI, agentcore create for the Google ADK / LangGraph / Strands A2A frameworks will produce projects that fail at uv sync / pip install time with "no matching distribution found." This is a hard release-coordination gate.
Options:
- Hold this PR until
bedrock-agentcore 1.19.xis published to PyPI, then merge. - Cut a coordinated CLI release only after the SDK release ships.
- If a partial rollout is intentional, please document that in the PR body (e.g., "do not release CLI until X").
Otherwise the code changes themselves look correct — AgentInterface(url=..., protocol_binding=..., protocol_version=...) matches the a2a-sdk 1.x proto definition, the v0.3→v1 endpoint fallback in fetchA2AAgentCard and handleA2AAgentCard is sensible, and the new tests cover both branches of the fallback.
A couple of smaller items I'd like a second look at, but which I don't consider blockers:
src/cli/operations/dev/web-ui/handlers/a2a-proxy.ts: the fallback here only triggers on HTTP404, and there are no tests for it (noa2a-proxy.test.tsexists at all). Would be nice to add a small test in this PR while you're touching the file, mirroring the ones you added forfetchA2AAgentCard.src/cli/operations/dev/invoke-a2a.ts(lines 30-49): thereturn null;after the innerfor (const path of ...)loop is unreachable — the inner loop either returns a card, returns null on a non-404 error, orcontinues past agent-card.json to agent.json, where a non-ok status now falls through theif (res.status === 404 && path === '/.well-known/agent-card.json')guard and returns null with the warn log. Not a bug, just dead code you can drop.
|
Claude Security Review: no high-confidence findings. (run) |
Summary
bedrock-agentcore[a2a-v1]dependency path introduced by feat(a2a): migrate runtime integration to a2a-sdk v1 bedrock-agentcore-sdk-python#591StrandsA2AExecutorRelease coordination
This PR depends on aws/bedrock-agentcore-sdk-python#591 and publication of
bedrock-agentcore >= 1.19.0, which provides thea2a-v1extra. Do not release a CLI version containing these Google ADK and LangGraph template changes until that SDK version is available on PyPI. The Strands template is not gated on that release and continues to use the currently published[a2a]/ a2a-sdk 0.3 path.Validation
mainCloses #1146