Skip to content

chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest#996

Merged
holtskinner merged 2 commits intoa2aproject:mainfrom
spricet:patch-3
Aug 20, 2025
Merged

chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest#996
holtskinner merged 2 commits intoa2aproject:mainfrom
spricet:patch-3

Conversation

@spricet
Copy link
Copy Markdown
Contributor

@spricet spricet commented Aug 18, 2025

Description

https://a2a-protocol.org/latest/specification/#73-tasksget

JsonRPC supports this field while GRPC does not

Part of #998

@spricet spricet requested a review from a team as a code owner August 18, 2025 19:30
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 metadata field has been added to the GetTaskRequest message definition within specification/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

  1. 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.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 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.

@holtskinner holtskinner changed the title fix: Update a2a.proto to include metadata on GetTaskRequest fix(gRPC): Update a2a.proto to include metadata on GetTaskRequest Aug 20, 2025
@holtskinner holtskinner changed the title fix(gRPC): Update a2a.proto to include metadata on GetTaskRequest chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest Aug 20, 2025
@holtskinner holtskinner enabled auto-merge (squash) August 20, 2025 19:28
@holtskinner holtskinner disabled auto-merge August 20, 2025 19:29
@holtskinner holtskinner merged commit f0d48cd into a2aproject:main Aug 20, 2025
3 of 4 checks passed
pwwpche added a commit that referenced this pull request Aug 22, 2025
…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.`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants