feat!: Update codebase to use A2A 1.0.0 data model#375
Conversation
…bgralewicz/swith_codebase_to_v1_data_model
🧪 Code Coverage
Generated by coverage-comment.yml |
…bgralewicz/swith_codebase_to_v1_data_model
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Code Review
This pull request introduces a significant refactoring of the A2A protocol types, migrating from an older a2a_types.js definition to a new a2a.js definition. Key changes include renaming fields such as Message.content to Message.parts, TaskStatus.update to TaskStatus.message, and SendMessageConfiguration.blocking to SendMessageConfiguration.returnImmediately. The AgentCard structure has been updated to use supportedInterfaces instead of url, preferredTransport, and additionalInterfaces, and securityRequirements instead of security. Resource path handling for tasks and push notification configurations has been simplified, moving from name and parent fields to direct id and taskId parameters, which led to the removal of the id_decoding.ts file. Additionally, the setTaskPushNotificationConfig method has been removed from client and transport interfaces. A review comment points out that the listTasks method in the gRPC service is currently unimplemented and suggests either implementing it or providing more robust error handling.
…me to createTaskPushNotificationConfig.
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Code Review
This pull request introduces significant refactoring to the A2A protocol implementation, primarily by migrating from the legacy a2a_types.proto to a new a2a.proto definition. This change involves updating message structures (e.g., renaming request to message, content to parts, and update to message), updating transport handlers, and adjusting test cases to reflect these structural changes. Additionally, the pull request updates the AgentCard structure to use supportedInterfaces instead of url and additionalInterfaces, and updates various task status and push notification configurations. My feedback is to use UnsupportedOperationError instead of a generic Error in the listTasks implementation to correctly signal an unimplemented method.
🤖 I have created a release *beep* *boop* --- ## 1.0.0-alpha.0 (2026-05-11) See the [v0.3 -> v1.0-alpha.0 migration guide](https://github.com/a2aproject/a2a-js/blob/v1.0.0-alpha.0/docs/migration-guide.md). **Note**: Enabling backward compatibility with v0.3 is tracked in [#452](#452). ### ⚠ BREAKING CHANGES * Drop support for node 18 ([#368](#368)) * Make ServerCallContext parameter mandatory across all places ([#405](#405)) * Remove JSON-RPC client ([#353](#353)) * Remove transport-specific exports ([#404](#404)) * Update codebase to use A2A 1.0.0 data model ([#375](#375)) * Remove A2AExpressApp ([#363](#363)) ### Features * Add A2A Version Header ([#422](#422)) ([b5f3db7](b5f3db7)) * Add cache-headers logic to the agent card handler ([#435](#435)) ([955b52b](955b52b)) * Add resource scoping ([#450](#450)) ([c527086](c527086)) * Add support for custom authentication scheme and credentials in auth-headers ([#430](#430)) ([5a4389b](5a4389b)) * AgentCardSignature support ([#448](#448)) ([4a41a8c](4a41a8c)) * Enforce events ordering ([#437](#437)) ([157cf48](157cf48)) * Enriched Error Model ([#427](#427)) ([c130778](c130778)) * Implement listTasks method ([#383](#383)) ([7d4c472](7d4c472)) * Send current task as the first event after subscribing to it ([#418](#418)) ([4bfcf5f](4bfcf5f)) * Support multi-tenancy ([#419](#419)) ([1877877](1877877)) ### Code Refactoring * remove A2AExpressApp ([#363](#363)) ([0b84728](0b84728)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: bartek-gralewicz <bgralewicz@google.com> Co-authored-by: Ivan Shymko <ishymko@google.com>
Description
Update the codebase to use proto types generated for 1.0.0 spec version.
List of changes
a2a_services.tsanda2a_types.ts.Message.content->Message.parts,TaskStatus.update->TaskStatus.messageSendMessageConfiguration.blocking->SendMessageConfiguration.returnImmediately(reversed behavior),supportedInterfacesinstead ofurl,preferredTransport, andadditionalInterfaces,securityRequirementsinstead ofsecurity.setTaskPushNotificationConfig->createTaskPushNotificationConfig(+ arguments update).listTasksmethod is not implemented yet. If used, it will throwNotImplementederror. There is aTODOnext to it to mark the place in code.Fixes (partially) #179 #322 🦕