-
Notifications
You must be signed in to change notification settings - Fork 298
Update to specification from cfbce32cb0ac2a630597eb8b771691cac5b20a4b #578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Update to specification from cfbce32cb0ac2a630597eb8b771691cac5b20a4b #578
Conversation
Summary of ChangesHello @a2a-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request brings the A2A protocol specification and its generated Python code up to date with the latest Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the A2A protocol definitions and related generated code to align with version 0.3.0 of the specification. The changes are widespread across Protobuf and Pydantic models, as well as gRPC service definitions. The update to the generate_types.sh script to support commit SHAs is a good improvement.
However, this PR appears to be incomplete and will likely break the build.
The updated gRPC definitions introduce several breaking changes, such as renaming RPC methods (e.g., CreateTaskPushNotificationConfig to SetTaskPushNotificationConfig, TaskSubscription to SubscribeToTask, and GetAgentCard to GetExtendedAgentCard). The code that consumes these definitions has not been updated accordingly.
Specifically, the following parts of the codebase need to be updated to reflect these changes:
- The gRPC server implementation in
src/a2a/server/request_handlers/grpc_handler.py. - The gRPC client transport in
src/a2a/client/transports/grpc.py(and its usages insrc/a2a/client/client.py). - Associated tests, such as
tests/client/transports/test_grpc_client.pyandtests/server/request_handlers/test_grpc_handler.py.
Please update all usages of the generated code to be consistent with the new specification. This is a critical issue that prevents the PR from being merged.
Additionally, I've noted a minor documentation regression in the generated gRPC code, which I've commented on separately.
| """A2AService defines the operations of the A2A protocol. | ||
| """ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docstring for A2AServiceStub has been significantly shortened, removing valuable information about the service's design, its resources (AgentCard, Message, Task, etc.), and how they are used. While some other docstrings in this file have improved, this service-level docstring is now less informative. Please consider restoring the more detailed explanation from the previous version to aid developers in understanding the service. This also applies to the docstrings for A2AServiceServicer and the experimental A2AService class.
Commit: a2aproject/A2A@cfbce32