-
Notifications
You must be signed in to change notification settings - Fork 313
Update to specification from a336a5a4846fdf85079d4e310339ea0128922ee7 #602
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 a336a5a4846fdf85079d4e310339ea0128922ee7 #602
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 synchronizes the codebase with the latest A2A protocol specification, version v0.3.0. The update introduces a more refined API structure, enhances field validation by marking several fields as required, and expands the service capabilities with new methods for task listing and extended agent card retrieval. It also standardizes terminology and improves the clarity of field descriptions. 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 specification to version 0.3.0, which introduces several breaking changes and new features across the gRPC and Pydantic type definitions. The changes, including renaming of fields and methods for clarity, addition of new functionality like ListTasks, and marking many fields as required, are consistently applied across all generated files. The script for generating Pydantic types from the JSON schema has also been notably improved for more flexible version handling. My review includes a few minor suggestions to improve documentation that was simplified during the update.
| """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 simplified, which removes some useful context about the service's design principles and resource handling. The previous, more detailed version was helpful for developers to understand the API structure. If this information isn't captured elsewhere, I'd recommend restoring the more descriptive docstring in the source .proto file.
"""A2AService defines the gRPC version of the A2A protocol. This has a slightly
different shape than the JSONRPC version to better conform to AIP-127,
where appropriate. The nouns are AgentCard, Message, Task and
TaskPushNotificationConfig.
- Messages are not a standard resource so there is no get/delete/update/list
interface, only a send and stream custom methods.
- Tasks have a get interface and custom cancel and subscribe methods.
- TaskPushNotificationConfig are a resource whose parent is a task.
They have get, list and create methods.
- AgentCard is a static resource with only a get method.
"""| """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.
Similar to the A2AServiceStub docstring, this one for A2AServiceServicer has been simplified, losing valuable context. For a better developer experience, it would be beneficial to restore the more detailed explanation of the service from the previous version in the source .proto file.
"""A2AService defines the gRPC version of the A2A protocol. This has a slightly
different shape than the JSONRPC version to better conform to AIP-127,
where appropriate. The nouns are AgentCard, Message, Task and
TaskPushNotificationConfig.
- Messages are not a standard resource so there is no get/delete/update/list
interface, only a send and stream custom methods.
- Tasks have a get interface and custom cancel and subscribe methods.
- TaskPushNotificationConfig are a resource whose parent is a task.
They have get, list and create methods.
- AgentCard is a static resource with only a get method.
"""| """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 the experimental A2AService class has also been shortened, removing helpful details about the API design. To aid developers, please consider bringing back the more descriptive version in the source .proto file.
"""A2AService defines the gRPC version of the A2A protocol. This has a slightly
different shape than the JSONRPC version to better conform to AIP-127,
where appropriate. The nouns are AgentCard, Message, Task and
TaskPushNotificationConfig.
- Messages are not a standard resource so there is no get/delete/update/list
interface, only a send and stream custom methods.
- Tasks have a get interface and custom cancel and subscribe methods.
- TaskPushNotificationConfig are a resource whose parent is a task.
They have get, list and create methods.
- AgentCard is a static resource with only a get method.
"""
Commit: a2aproject/A2A@a336a5a