Skip to content

Support A2A 1.0 #1194

@fluxehub

Description

@fluxehub

🔴 Required Information

Is your feature request related to a specific problem?

Version 1.0 of the A2A spec was released back in March, which stabilizes the spec but also makes breaking changes from 0.3.x. It would be super helpful for the ADK to support this new spec so that new apps can be developed against it!

Describe the Solution You'd Like

a2aproject/a2a-java is currently in 1.0.0.Beta1 for new spec support. Adopting this new version requires updating calls to match the new API, although it appears most behaviour maps relatively cleanly. The main challenge will be whether the ADK continues to support 0.3.x, there's some discussion about adding compatibility to the new A2A version but it seems uncertain whether it will make it into the first stable version. Without compatibility, agents upgrading to the new ADK version would also break any older agents connecting to it until they upgraded to the new spec - I'm unsure if this is acceptable.

Impact on your work

We are building out a new agent using the ADK, and would like to support the new spec out of the gate, rather than having to update in future. In addition, the a2a-java:0.3.3 version has a bug where tools returning an RxJava Single which hop threads cause the stream to end after the tool call. This bug appears to be fixed with the new AgentEmitter in 1.0.

Willingness to contribute

Yes - I have some POC work updating the google-adk-a2a code to the new A2A version, and am willing to submit a PR if approved!


🟡 Recommended Information

Describe Alternatives You've Considered

  • Continue with 0.3.x: need to reach out to the a2a-java project regarding the bug found and see if they would be willing to backport a fix to 0.3. Eventually, the ADK will need to support v1.0 though.

Proposed API / Implementation

For the most basic implementation, calls just need to be updated to the new names exposed in the A2A SDK. If multiple versions of the spec are to be supported though, this may be more complex.

Additional Context

N/A

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions