fix(spec): Add SendMessageRequest.request json_name mapping to message#904
Conversation
- Requires adding a new PushNotificationConfig.id field to support multiple push notification callbacks per task
- The dependencies will be re-introduced via buf in PR#702
- Include the table showing the relationship between the different transports and the expected data structures
There was a problem hiding this comment.
Summary of Changes
Hello @pstephengoogle, 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 primarily focuses on enhancing API interoperability and documentation. It introduces a specific json_name mapping to a gRPC protobuf definition to ensure correct JSON serialization for a key field, and adds a comprehensive documentation page detailing API method mappings across REST, gRPC, and JSON-RPC transports. Additionally, a minor clarification was made in an existing JSON schema description.
Highlights
- gRPC JSON Name Mapping: Added
json_name="message"to therequestfield within theSendMessageRequestprotobuf message ina2a.proto. This ensures proper JSON serialization of therequestfield asmessagewhen gRPC is transcoded to JSON, improving interoperability. - New API Transport Documentation: A comprehensive new documentation page (
docs/topics/transport-table.md) has been added. This page details the API method mappings, including request/response structures and URLs, across REST, gRPC, and JSON-RPC transports, providing a clear overview of API consistency. - Documentation Site Integration: The newly created API transport documentation page has been integrated into the project's
mkdocs.ymlnavigation, making it easily discoverable and accessible within the overall documentation. - JSON Schema Clarification: A minor textual clarification was made in the
a2a.jsonschema, updating the description for theadditionalInterfacesfield within theAgentCarddefinition for improved clarity.
Using Gemini Code Assist
The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.
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 or fill out our survey to provide feedback.
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
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request introduces new documentation for API transport mappings and aligns a gRPC field's JSON name. The review identifies several inconsistencies and inaccuracies in the new documentation when compared against the protocol specifications. Correcting these issues is important for the documentation's reliability. Additionally, a suggestion is made to refactor the protobuf change for better code consistency.
information is included in a different md file
SendMessageRequest.request json_name mapping to message
🤖 I have created a release *beep* *boop* --- ## [0.3.0](v0.2.6...v0.3.0) (2025-07-30) ### ⚠ BREAKING CHANGES * Add mTLS to SecuritySchemes, add oauth2 metadata url field, allow Skills to specify Security ([#901](#901)) * Change Well-Known URI for Agent Card hosting from `agent.json` to `agent-card.json` ([#841](#841)) * Add method for fetching extended card ([#929](#929)) ### Features * Add `signatures` to the `AgentCard` ([#917](#917)) ([ef4a305](ef4a305)) * Add method for fetching extended card ([#929](#929)) ([2cd7d98](2cd7d98)) * Add mTLS to SecuritySchemes, add oauth2 metadata url field, allow Skills to specify Security ([#901](#901)) ([e162c0c](e162c0c)) ### Bug Fixes * **spec:** Add `SendMessageRequest.request` `json_name` mapping to `message` ([#904](#904)) ([2eef3f6](2eef3f6)) * **spec:** Add Transport enum to specification ([#909](#909)) ([e834347](e834347)) ### Code Refactoring * Change Well-Known URI for Agent Card hosting from `agent.json` to `agent-card.json` ([#841](#841)) ([0858ddb](0858ddb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.3.0](a2aproject/A2A@v0.2.6...v0.3.0) (2025-07-30) ### ⚠ BREAKING CHANGES * Add mTLS to SecuritySchemes, add oauth2 metadata url field, allow Skills to specify Security ([#901](a2aproject/A2A#901)) * Change Well-Known URI for Agent Card hosting from `agent.json` to `agent-card.json` ([#841](a2aproject/A2A#841)) * Add method for fetching extended card ([#929](a2aproject/A2A#929)) ### Features * Add `signatures` to the `AgentCard` ([#917](a2aproject/A2A#917)) ([e799342](a2aproject/A2A@e799342)) * Add method for fetching extended card ([#929](a2aproject/A2A#929)) ([ae89f89](a2aproject/A2A@ae89f89)) * Add mTLS to SecuritySchemes, add oauth2 metadata url field, allow Skills to specify Security ([#901](a2aproject/A2A#901)) ([a5c881e](a2aproject/A2A@a5c881e)) ### Bug Fixes * **spec:** Add `SendMessageRequest.request` `json_name` mapping to `message` ([#904](a2aproject/A2A#904)) ([273a1f1](a2aproject/A2A@273a1f1)) * **spec:** Add Transport enum to specification ([#909](a2aproject/A2A#909)) ([3076ae6](a2aproject/A2A@3076ae6)) ### Code Refactoring * Change Well-Known URI for Agent Card hosting from `agent.json` to `agent-card.json` ([#841](a2aproject/A2A#841)) ([c20c28b](a2aproject/A2A@c20c28b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
No description provided.