Repository navigation
fix(a2a): read A2A 1.0 agent cards in the a2a toolset - #4572
Open
smashingtags wants to merge 2 commits into
Open
smashingtags wants to merge 2 commits into
smashingtags wants to merge 2 commits into
Conversation
Collaborator
|
👋 Some commits in this PR are not signed and verified by GitHub. Please sign your commits with a GPG or SSH key registered in your GitHub account, then force-push. Commits that are not verified: See GitHub's guide on signing commits for setup instructions. I've added |
Reproduces docker#4571: the toolset cannot read the 1.0 agent card that serve a2a publishes since the move to adka2a/v2.
smashingtags
force-pushed
the
INFRA-255-a2a-v1-client
branch
from
October 12, 2026 00:32
9491e4f to
cd65d7c
Compare
Since the move to adka2a/v2, serve a2a publishes 1.0 cards (supportedInterfaces, no top-level url), but the a2a toolset still used a2a-go v0.3. Its resolver found no interfaces on those cards and every call failed with "no compatible transports found". Move the toolset to a2a-go/v2. Cards are parsed with the a2av0 parser, which reads both shapes, and the client registers the v0.3 JSON-RPC transport alongside the 1.0 one, so agents behind older A2A servers keep working. Fixes docker#4571
Author
|
Thanks @aheritier. Both commits are now signed and show as verified (7833de5, f6ab3ff), same content as before. GitHub briefly closed the PR while I replaced the branch; it's reopened. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #4571.
Since #4041,
serve a2apublishes A2A 1.0 agent cards (supportedInterfaces, no top-levelurl), but thea2atoolset still useda2a-gov0.3. Its resolver found no interfaces on those cards, so calling any agent served byserve a2afailed at toolset start withno compatible transports found: available transports - [].This moves
pkg/tools/a2atoa2a-go/v2:a2av0.NewAgentCardParser(), which reads both the 1.0 and the 0.3 shape.a2av0.WithJSONRPCTransport) alongside the 1.0 one, so agents behind older A2A servers keep working.Tests
TestToolSetCallsA2AV1Serverserves a 1.0 card from ana2a-go/v2server, the same shapeserve a2aproduces. It fails onmainwith the error above and passes here.a2a-gov0 servers, still pass. Removing thea2av0.WithJSONRPCTransportoption makes four of them fail withavailable transports - [JSONRPC_0.3.0], so they cover the compatibility path.golangci-lintv2.14.0,go run ./lint .andgo mod tidy --diffare clean.Also checked by hand with the two-file setup from #4571: a client built from this branch calls an agent served by this branch, and also one served by v1.128.0.
Separately, I noticed replies come back doubled (an agent answering
PONGarrives asPONGPONG). That already happens with v1.128.0 on both ends, so it isn't part of this change. Happy to look at it in a follow-up.