-
Notifications
You must be signed in to change notification settings - Fork 333
Update to specification from 525ff38e5fe2a118f5be5d25189708b590616dd4 #619
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 525ff38e5fe2a118f5be5d25189708b590616dd4 #619
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 a significant update to the A2A protocol specification, enhancing its capabilities and refining its structure. The changes introduce new features like task listing, a new OAuth flow, and tenant-aware operations, alongside a comprehensive refactoring of existing message fields for improved clarity and consistency. The updates ensure the API remains robust and extensible for future development. 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 PR updates the generated code from A2A specification v0.3.0. While the generated files appear correct, the PR is incomplete because it doesn't update the application code and tests that depend on these generated types. This will cause build and runtime failures.
Key areas that need updates include:
src/a2a/utils/proto_utils.py: The conversion logic is out of sync. For example, it still references fields likecontent(nowparts) inMessageandupdate(nowmessage) inTaskStatus. Many other renames and structural changes are also not reflected.- Tests: Files like
tests/server/request_handlers/test_grpc_handler.pyandtests/client/transports/test_grpc_client.pywill fail as they still use old message types and service methods (e.g.,GetAgentCard,CreateTaskPushNotificationConfig).
Please update all dependent code and tests to align with the new specification.
|
|
||
| class FilePart(_message.Message): | ||
| __slots__ = ("file_with_uri", "file_with_bytes", "mime_type", "name") | ||
| __slots__ = ("file_with_uri", "file_with_bytes", "media_type", "name") |
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.
There seems to be an inconsistency between the protobuf specification and the JSON schema for this field. The protobuf FilePart message uses media_type, but the corresponding FileBase Pydantic model in src/a2a/types.py (generated from the JSON schema) still uses mime_type. This will cause issues in the conversion logic in src/a2a/utils/proto_utils.py.
Please ensure the specification is consistent for this field across both protobuf and JSON schema definitions and regenerate the types accordingly.
Commit: a2aproject/A2A@525ff38