Skip to content

Conversation

@Tehsmash
Copy link
Contributor

While this is a reserved word for proto itself, best practise is to avoid field names that conflict with language (python etc) keywords, as "message" isn't a language keyword this improves the consistency and readability when using the types generated from the proto and avoids needing to translate the name for JSON encoding.

Closes: #1230

@Tehsmash Tehsmash requested a review from a team as a code owner December 11, 2025 11:18
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Tehsmash, 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 standardizes the naming of a Message field within the gRPC protocol buffer definitions for SendMessageResponse and StreamResponse. By renaming the field from msg to message and removing the explicit json_name annotation, the change improves consistency across various protocol bindings and enhances the overall readability of the generated types.

Highlights

  • Field Renaming: The msg field within the SendMessageResponse and StreamResponse protobuf definitions has been renamed to message.
  • JSON Consistency: The json_name = "message" annotation has been removed from the affected fields, as the field name now directly matches the desired JSON representation, ensuring consistency between protocol bindings.
  • Readability and Best Practice: This change improves readability and aligns with best practices by avoiding field names that might conflict with language keywords, as mentioned in the pull request description.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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
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 standardizes the field name for Message types to message in SendMessageResponse and StreamResponse. Renaming the field from msg to message improves readability and consistency with other parts of the schema, such as TaskStatus. The change is correct and well-aligned with the goal of making the protocol bindings more consistent.

It's important to note that this is a source-breaking change for clients using the generated protobuf code, as they will need to update field access from .msg to .message. Since the field number is unchanged, wire compatibility is maintained. You may want to consider indicating this is a breaking change in your commit message (e.g., using fix!: or a BREAKING CHANGE: footer) to properly communicate the impact to users.

For future consideration, to achieve full consistency, the request field in SendMessageRequest could also be renamed to message, as it currently uses json_name = "message".

While this is a reserved word for proto itself, best practise is to
avoid field names that conflict with language (python etc) keywords, as
"message" isn't a language keyword this improves the consistency and
readability when using the types generated from the proto and avoids
needing to translate the name for JSON encoding.

Closes: a2aproject#1230
@Tehsmash Tehsmash force-pushed the standardise_message_field branch from 8ce864b to 0d7b11b Compare December 11, 2025 14:06
@holtskinner holtskinner changed the title fix: Make "message" field name consistent between protocol bindings fix(spec)!: Make "message" field name consistent between protocol bindings Dec 11, 2025
@holtskinner holtskinner added the TSC Review To be reviewed by the Technical Steering Committee label Dec 11, 2025
@github-project-automation github-project-automation bot moved this to Backlog in TSC Review Dec 11, 2025
@geneknit
Copy link

/vote

@git-vote
Copy link

git-vote bot commented Dec 15, 2025

Vote created

@geneknit has called for a vote on fix(spec)!: Make "message" field name consistent between protocol bindings (#1302).

The members of the following teams have binding votes:

Team
@a2aproject/a2a-tsc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 11months 29days 3h 50m 24s. It will pass if at least 51% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

@amye amye moved this from Backlog to In Voting in TSC Review Dec 16, 2025
@Tehsmash
Copy link
Contributor Author

@darrelmiller @muscariello @geneknit I tested this through buf generate in the a2a-python repo and it generates correctly:

class SendMessageRequest(_message.Message):
    __slots__ = ()
    TENANT_FIELD_NUMBER: _ClassVar[int]
    MESSAGE_FIELD_NUMBER: _ClassVar[int]
    CONFIGURATION_FIELD_NUMBER: _ClassVar[int]
    METADATA_FIELD_NUMBER: _ClassVar[int]
    tenant: str
    message: Message
    configuration: SendMessageConfiguration
    metadata: _struct_pb2.Struct
    def __init__(self, tenant: _Optional[str] = ..., message: _Optional[_Union[Message, _Mapping]] = ..., configuration: _Optional[_Union[SendMessageConfiguration, _Mapping]] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...

@git-vote
Copy link

git-vote bot commented Dec 16, 2025

Vote status

So far 37.50% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
3 0 0 5

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@ToddSegal Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

2 similar comments
@git-vote
Copy link

git-vote bot commented Dec 17, 2025

Vote status

So far 37.50% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
3 0 0 5

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@ToddSegal Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 18, 2025

Vote status

So far 37.50% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
3 0 0 5

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@ToddSegal Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 19, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

9 similar comments
@git-vote
Copy link

git-vote bot commented Dec 20, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 21, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 22, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 23, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 24, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 25, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 26, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 27, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 28, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 29, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

6 similar comments
@git-vote
Copy link

git-vote bot commented Dec 30, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Dec 31, 2025

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 2, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 3, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 4, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 5, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 6, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

@git-vote
Copy link

git-vote bot commented Jan 7, 2026

Vote status

So far 50.00% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 4

Binding votes (4)

User Vote Timestamp
ToddSegal In favor 2025-12-19 19:23:31.0 +00:00:00
darrelmiller In favor 2025-12-16 18:04:51.0 +00:00:00
geneknit In favor 2025-12-16 18:05:16.0 +00:00:00
muscariello In favor 2025-12-16 12:45:33.0 +00:00:00
@lerhaupt Pending
@hughesthe1st Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitvote/open gitvote TSC Review To be reviewed by the Technical Steering Committee

Projects

Status: In Voting

Development

Successfully merging this pull request may close these issues.

[Bug] Inconsistent field naming for Message type (request/msg/message)

5 participants