chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest#996
chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest#996holtskinner merged 2 commits intoa2aproject:mainfrom
Conversation
https://a2a-protocol.org/latest/specification/#73-tasksget JsonRPC supports this field while GRPC does not
There was a problem hiding this comment.
Summary of Changes
Hello @spricet, 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 introduces an enhancement to the GetTaskRequest message in the a2a.proto gRPC definition. The primary goal is to align the gRPC implementation with the existing JSON-RPC specification by incorporating an optional metadata field. This addition allows for the inclusion of arbitrary structured data, providing more flexibility and contextual information when retrieving tasks.
Highlights
- gRPC Protocol Update: An optional
google.protobuf.Struct metadatafield has been added to theGetTaskRequestmessage definition withinspecification/grpc/a2a.proto.
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. 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
-
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 correctly adds the metadata field to GetTaskRequest in the gRPC specification, aligning it with the JSON-RPC specification. This is a good consistency improvement. However, the documentation in docs/specification.md also needs to be updated to reflect this change. As a related point, you might consider if CancelTaskRequest should also have a metadata field for similar consistency with its JSON-RPC counterpart.
…TaskRequest" (#1000) Reverts #996 Fixes #1002 GetTaskRequest in the REST protocol is a GET. GET does not have request body, and all fields in GET should be serializable to a query param. metadata when being a struct cannot be serialized to query param, and this is causing failure during API discovery doc generation `http: map field 'google.protobuf.Struct.fields' referred to by message 'a2a.v1.GetTaskRequest' cannot be mapped as an HTTP parameter.`
Description
https://a2a-protocol.org/latest/specification/#73-tasksget
JsonRPC supports this field while GRPC does not
Part of #998