Skip to content

Conversation

@a2a-bot
Copy link
Collaborator

@a2a-bot a2a-bot commented Jan 14, 2026

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @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 significantly refines the A2A protocol specification by updating existing message structures, introducing new capabilities, and enhancing API design. The changes focus on improving clarity, adding multi-tenancy support, modernizing authentication flows, and expanding agent card details, ensuring a more robust and flexible communication framework.

Highlights

  • Protocol Definition Updates: Numerous fields across various messages have been renamed for clarity and consistency, such as 'push_notification' to 'push_notification_config' in SendMessageConfiguration, 'update' to 'message' in TaskStatus, 'mime_type' to 'media_type' in FilePart, and 'content' to 'parts' in Message.
  • New Functionality and Resource Management: Introduced new message types and gRPC methods for listing tasks (ListTasksRequest, ListTasksResponse, ListTasks RPC) and managing task push notification configurations (SetTaskPushNotificationConfigRequest replacing CreateTaskPushNotificationConfigRequest). The TaskSubscription RPC was renamed to SubscribeToTask.
  • Tenant-Aware Operations: A new tenant field has been added to several request messages (SendMessageRequest, GetTaskRequest, CancelTaskRequest, GetTaskPushNotificationConfigRequest, DeleteTaskPushNotificationConfigRequest, SetTaskPushNotificationConfigRequest, SubscribeToTaskRequest, ListTaskPushNotificationConfigRequest, GetExtendedAgentCardRequest) and corresponding gRPC routes, enabling multi-tenancy support.
  • Agent Card and Capabilities Enhancements: The AgentCard structure has been significantly revised, replacing protocol_version with protocol_versions (repeated), removing direct URL/transport fields in favor of a new supported_interfaces list, and making documentation_url and icon_url optional. AgentCapabilities now includes state_transition_history and extended_agent_card flags.
  • OAuth Flow Modernization: The OAuthFlows message has been updated to remove implicit and password flows, and a new device_code flow has been introduced. The AuthorizationCodeOAuthFlow now includes a pkce_required field for enhanced security.
  • API Field Behavior and Docstring Refinements: Many fields have been explicitly marked as REQUIRED using google.api.field_behavior annotations. Additionally, docstrings in src/a2a/types.py have been updated to remove 'e.g. UUID' mentions and clarify terminology like 'ID' to 'identifier'.
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 updates the project to a new version of the A2A specification. A critical issue has been identified in src/a2a/types.py where Pydantic models are out of sync with the new protobuf definitions, indicating incomplete regeneration. This inconsistency, along with unchanged crucial manually-written files, will likely lead to runtime errors. The primary focus should be to ensure all parts of the codebase are consistent with the new specification.

@@ -1,5 +1,5 @@
# generated by datamodel-codegen:
# filename: https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/specification/json/a2a.json
# filename: https://raw.githubusercontent.com/a2aproject/A2A/refs/tags/v0.3.0/specification/json/a2a.json
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

While the source URL in the header comment has been updated to point to the v0.3.0 specification, the Pydantic models in this file do not seem to have been correctly regenerated. They appear to be out of sync with the new protobuf definitions, which will cause runtime failures.

For example, the AgentCard model in this file still contains fields like protocol_version, url, preferred_transport, additional_interfaces, and supports_authenticated_extended_card. However, the corresponding AgentCard message in a2a_pb2.py has replaced these with fields like protocol_versions and supported_interfaces.

This file needs to be regenerated from the correct v0.3.0 JSON schema to ensure consistency with the rest of the updated specification.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants