fix!: Update a2a.proto changes#687
Conversation
Summary of ChangesHello @ehsavoie, 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 updates the client, JSON-RPC, REST, and gRPC specifications to synchronize with the most recent Highlights
Changelog
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request updates the codebase to align with recent changes in the a2a.proto file. The modifications are primarily mechanical and include renaming classes (e.g., ListTaskPushNotificationConfigRequest to ListTaskPushNotificationConfigsRequest), updating request/response object structures, and adjusting test data to match the new protocol definitions. The changes are consistently applied across the gRPC, JSON-RPC, and REST transport layers, as well as in the corresponding tests. The code modifications appear correct and successfully adapt the client and server implementations to the new protocol specification.
209d610 to
658c7a5
Compare
|
@ehsavoie should this have “fix!:” to show it is a breaking change? |
658c7a5 to
7153378
Compare
d2206e3 to
3e6e6ed
Compare
- Aligning to the latest version of a2a.proto - Update tests to match a2a.proto changes: Fixes test failures after proto update - adjusts JSON structures and package references to align with new proto definitions. Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
6fd7a59 to
674dc9c
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request successfully aligns the codebase with the latest version of a2a.proto. The changes include significant renaming of classes and methods (e.g., ListTaskPushNotificationConfig to ListTaskPushNotificationConfigs), modifications to request/response structures to support new features like metadata in cancelTask, and consistent updates across gRPC, JSON-RPC, and REST transport layers. The tests have also been updated to reflect these changes. My review includes a couple of suggestions to improve the test suite's clarity and robustness, which align with general good testing practices and do not contradict the repository's rules regarding test code flexibility.
reference/rest/src/test/java/io/a2a/server/rest/quarkus/A2AServerRoutesTest.java
Outdated
Show resolved
Hide resolved
reference/rest/src/test/java/io/a2a/server/rest/quarkus/A2AServerRoutesTest.java
Outdated
Show resolved
Hide resolved
Update cancelTask signature across REST transport and tests to include the request body parameter, aligning with recent a2a.proto changes. Fixes Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
674dc9c to
d3204a3
Compare
| @@ -184,7 +196,7 @@ public HTTPRestResponse subscribeToTask(ServerCallContext context, String tenant | |||
| if (!agentCard.capabilities().streaming()) { | |||
| return createErrorResponse(new InvalidRequestError("Streaming is not supported by the agent")); | |||
| } | |||
| TaskIdParams params = new TaskIdParams(taskId, tenant); | |||
| TaskIdParams params = TaskIdParams.builder().id(taskId).tenant(tenant).build(); | |||
There was a problem hiding this comment.
nit: The subscribeTask does not have a metadata parameter but reusing the TaskIdParams makes that confusing
transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
cbe0d72 to
8902d27
Compare
Fixes test failures after proto update - adjusts JSON structures and
package references to align with new proto definitions.
Fixes #686 🦕