feat(ts#strands-agent,py#strands-agent): add A2A protocol support#539
feat(ts#strands-agent,py#strands-agent): add A2A protocol support#539nx-plugin-for-aws wants to merge 1 commit intomainfrom
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #539 +/- ##
==========================================
- Coverage 89.35% 89.31% -0.04%
==========================================
Files 94 94
Lines 3166 3183 +17
Branches 701 712 +11
==========================================
+ Hits 2829 2843 +14
- Misses 156 157 +1
- Partials 181 183 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
📚 Documentation translations have been updated and committed (230d5f9) to this PR. |
|
📚 Documentation translations have been updated and committed (26a5f7a) to this PR. |
|
📚 Documentation translations have been updated and committed (2da12c6) to this PR. |
2da12c6 to
7e2e629
Compare
|
📚 Documentation translations have been updated and committed (5e7246c) to this PR. |
4310fbe to
cd7c6cd
Compare
|
📚 Documentation translations have been updated and committed (0889ec7) to this PR. |
0889ec7 to
6b472de
Compare
|
📚 Documentation translations have been updated and committed (b398991) to this PR. |
b398991 to
624db8b
Compare
|
📚 Documentation translations have been updated and committed (cd53fdb) to this PR. |
cd53fdb to
cffa694
Compare
|
📚 Documentation translations have been updated and committed (b49eddf) to this PR. |
b49eddf to
98d1d93
Compare
|
📚 Documentation translations have been updated and committed (c171383) to this PR. |
c171383 to
78760a2
Compare
|
📚 Documentation translations have been updated and committed (f2738e2) to this PR. |
f2738e2 to
9fc22d0
Compare
|
📚 Documentation translations have been updated and committed (867d85c) to this PR. |
867d85c to
7e1f4f5
Compare
|
📚 Documentation translations have been updated and committed (af74810) to this PR. |
af74810 to
a662b55
Compare
Add a `protocol` option to the ts#strands-agent and py#strands-agent generators, allowing users to choose between HTTP (default) and A2A (Agent-to-Agent) protocol for their Strands Agents. - Add `protocol` enum (HTTP/A2A) to both generator schemas - Reorganize templates into common/http/a2a directories - A2A servers use port 9000, HTTP agents use 8081+ - Python A2A uses A2AServer.to_fastapi_app() for hot-reload - TS A2A uses A2AExpressServer.serve() in async main() - Dockerfiles use EJS trim tags, EXPOSE 9000/8080 per protocol - PORT env var in serve targets and main.py/index.ts - Pass protocol to CDK/Terraform infrastructure (ProtocolType) - Protocol stored in component metadata - Add strands-agents[a2a], @a2a-js/sdk dependencies - Update @strands-agents/sdk to 1.0.0-rc.1 - React connection throws for A2A target agents - A2A agent in smoke tests - A2A invocation docs for both Python and TypeScript Closes #323
a662b55 to
927a996
Compare
Reason for this change
Addresses the feature request in #323 to add support for the Agent-to-Agent (A2A) protocol in the Strands Agent generators. A2A enables standardized inter-agent communication via Bedrock AgentCore Runtime.
Description of changes
protocolenum option (HTTP|A2A, default:HTTP) to bothts#strands-agentandpy#strands-agentgenerator schemasProtocolType.A2A) and Terraform (server_protocol = "A2A") infrastructure templatesprotocol=A2A, generates anindex.tsentry point usingA2AExpressServerfrom@strands-agents/sdk/a2a/expressinstead of tRPC/WebSocketprotocol=A2A, generates amain.pyusingA2AServerfromstrands.multiagent.a2ainstead of FastAPI@strands-agents/sdkto1.0.0-rc.1(adds A2A support for TypeScript) andstrands-agents-toolsto0.3.0Description of how you validated changes
Issue # (if applicable)
Closes #323.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license