Skip to content

Conversation

@jmesnil
Copy link
Collaborator

@jmesnil jmesnil commented Jan 22, 2026

based on commit a2aproject/A2A@0572953

spec-grpc module has been regenerated from the updated a2a.proto

Key changes:

  • Agent card
    • extendedAgentCard is not specified by capabilities (instead of supportsExtendedAgentCard field)
    • protocolVersions is a list (instead of a single protocolVersion)
  • SendMessage
    • msg field is now named message
  • ListTask
    • timestamp is now named statusTimestampAfter instead of lastUpdatedAfter
  • OAuthFlows
    • deviceCode has been added, implicit & password have been removed
  • AuthorizationCodeOAuthFlow
    • new pkce_required boolean field

@jmesnil jmesnil added this to the 1.0.0 milestone Jan 22, 2026
@jmesnil jmesnil force-pushed the update_a2a.proto_0572953 branch from aef135b to 48d5744 Compare January 22, 2026 15:09
Copy link
Collaborator

@ehsavoie ehsavoie left a comment

Choose a reason for hiding this comment

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

@jmesnil jmesnil force-pushed the update_a2a.proto_0572953 branch 2 times, most recently from 87e1038 to 78a5656 Compare January 22, 2026 17:33
@jmesnil jmesnil linked an issue Jan 23, 2026 that may be closed by this pull request
1 task
@jmesnil
Copy link
Collaborator Author

jmesnil commented Jan 23, 2026

https://github.com/jmesnil/a2a-java/blob/48d574464052bd990650d4e445751e695203a16d/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigParams.java hasn't been updated to have the pageSize and token

There is no change regarding them in the updated a2a.proto.
The ListTaskPushNotificationConfigParams record has them:

https://github.com/jmesnil/a2a-java/blob/48d574464052bd990650d4e445751e695203a16d/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigParams.java#L16

What would be missing?

@jmesnil jmesnil force-pushed the update_a2a.proto_0572953 branch from 78a5656 to 3756747 Compare January 23, 2026 07:46
@ehsavoie
Copy link
Collaborator

@jmesnil sorry, I read the code too quickly.

@jmesnil
Copy link
Collaborator Author

jmesnil commented Jan 23, 2026

/gemini review

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 a2a.proto definition and regenerates the spec-grpc module, leading to several API and internal changes across the client and server implementations. Key updates include renaming the msg field to message in various message types, changing lastUpdatedAfter to statusTimestampAfter in task listing parameters, and modifying the agent card's protocol version field from a single string to a list of strings (protocolVersions). Additionally, OAuth flows have been updated to remove implicit and password flows in favor of a new deviceCode flow, and a pkce_required field has been added to the AuthorizationCodeOAuthFlow. The extended agent card retrieval mechanism has also been refactored to align with these protocol changes. A minor redundancy was found in the JsonMessages.java test file where extendedAgentCard was listed twice in the capabilities object.

based on commit a2aproject/A2A@0572953

spec-grpc module has been regenerated from the updated a2a.proto

Key changes:

* Agent card
  * extendedAgentCard is not specified by capabilities (instead of `supportsExtendedAgentCard` field)
  * protocolVersions is a list (instead of a single `protocolVersion`)
* SendMessage
  * `msg` field is now named `message`
* ListTask
  * timestamp is now named statusTimestampAfter instead of `lastUpdatedAfter`
* OAuthFlows
  * `deviceCode` has been added, `implicit` & `password` have been removed
* AuthorizationCodeOAuthFlow
  * new `pkce_required` boolean field

Signed-off-by: Jeff Mesnil <jmesnil@ibm.com>
Signed-off-by: Jeff Mesnil <jmesnil@ibm.com>
…dAgentCardXXX

Signed-off-by: Jeff Mesnil <jmesnil@ibm.com>
@jmesnil jmesnil force-pushed the update_a2a.proto_0572953 branch from 475cdb2 to 5770009 Compare January 23, 2026 10:57
@jmesnil
Copy link
Collaborator Author

jmesnil commented Jan 23, 2026

/gemini summary

@gemini-code-assist
Copy link
Contributor

Summary of Changes

This pull request incorporates significant updates to the core a2a.proto definition, leading to a comprehensive regeneration of the spec-grpc modules. These changes refine the Agent Card's capabilities, standardize message field names, enhance task filtering options, and modernize OAuth flow configurations. The modifications aim to improve the protocol's robustness, security, and alignment with current best practices, with corresponding updates propagated throughout the client and server implementations.

Highlights

  • Agent Card Structure Updates: The Agent Card now specifies extendedAgentCard within its capabilities, replacing the standalone supportsExtendedAgentCard field. Additionally, protocolVersions is now a list, allowing for multiple supported protocol versions instead of a single protocolVersion string.
  • Message Field Renaming: The msg field in SendMessage requests and responses has been consistently renamed to message for improved clarity across the API.
  • Task Listing Parameter Change: The task listing parameter lastUpdatedAfter has been renamed to statusTimestampAfter and its type updated to google.protobuf.Timestamp for more precise filtering of tasks based on their status update timestamps.
  • OAuth Flow Modernization: The OAuthFlows configuration has been updated to remove the less secure implicit and password flows, and introduces a new deviceCode flow. The AuthorizationCodeOAuthFlow also gains a pkce_required boolean field to indicate mandatory PKCE usage.
  • Client and Server Implementation Alignment: Client-side code (Java base, gRPC, JSON-RPC, REST transports) and server-side components (request handlers, Quarkus integrations) have been updated to reflect these a2a.proto changes, including method renames, parameter adjustments, and error handling for the new ExtendedAgentCardNotConfiguredError.
Changelog
  • client/base/src/main/java/io/a2a/client/AbstractClient.java
    • Renamed getAgentCard() to getExtendedAgentCard() and updated Javadoc.
  • client/base/src/main/java/io/a2a/client/Client.java
    • Renamed getAgentCard() to getExtendedAgentCard() and updated Javadoc.
  • client/base/src/test/java/io/a2a/client/AuthenticationAuthorizationTest.java
    • Updated protocolVersion to protocolVersions (list).
  • client/base/src/test/java/io/a2a/client/ClientBuilderTest.java
    • Updated protocolVersion to protocolVersions (list).
  • client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/EventStreamObserver.java
    • Changed response.getMsg() to response.getMessage().
  • client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcErrorMapper.java
    • Renamed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
  • client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java
    • Added GET_EXTENDED_AGENT_CARD_METHOD constant.
    • Imported GetExtendedAgentCardRequest.
    • Made agentCard field final.
    • Changed response.hasMsg() to response.hasMessage().
    • Changed request.lastUpdatedAfter() to request.statusTimestampAfter() and updated protobuf conversion.
    • Implemented getExtendedAgentCard() method.
  • client/transport/grpc/src/test/java/io/a2a/client/transport/grpc/GrpcErrorMapperTest.java
    • Updated imports and assertions for ExtendedAgentCardNotConfiguredError.
  • client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java
    • Removed A2ACardResolver import.
    • Removed A2AMessage, GetAuthenticatedExtendedCardRequest, GetAuthenticatedExtendedCardResponse imports.
    • Imported GetExtendedAgentCardResponse.
    • Removed needsExtendedCard field and related logic.
    • Renamed getAgentCard() to getExtendedAgentCard() and updated implementation.
  • client/transport/jsonrpc/src/test/java/io/a2a/client/transport/jsonrpc/JSONRPCTransportTest.java
    • Removed testA2AClientGetAgentCard() test.
    • Renamed testA2AClientGetAuthenticatedExtendedAgentCard() to testA2AClientGetExtendedAgentCard().
    • Updated calls from getAgentCard() to getExtendedAgentCard().
    • Added assertion for agentCard.capabilities().extendedAgentCard().
    • Changed agentCard.protocolVersion() to agentCard.protocolVersions().get(0).
  • client/transport/jsonrpc/src/test/java/io/a2a/client/transport/jsonrpc/JsonMessages.java
    • Changed protocolVersion to protocolVersions (list).
    • Added extendedAgentCard: false to capabilities.
    • Removed supportsExtendedAgentCard field.
    • Added extendedAgentCard: true to capabilities in AGENT_CARD_SUPPORTS_EXTENDED.
  • client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestErrorMapper.java
    • Renamed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
    • Removed AuthenticatedExtendedCardNotConfiguredError case.
  • client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java
    • Removed needsExtendedCard field and related logic.
    • Changed responseBuilder.hasMsg() to responseBuilder.hasMessage().
    • Renamed getAgentCard() to getExtendedAgentCard() and updated implementation.
  • client/transport/rest/src/main/java/io/a2a/client/transport/rest/sse/RestSSEEventListener.java
    • Changed response.getMsg() to response.getMessage().
  • client/transport/rest/src/test/java/io/a2a/client/transport/rest/RestTransportTest.java
    • Updated protocolVersion to protocolVersions (list).
  • client/transport/spi/src/main/java/io/a2a/client/transport/spi/ClientTransport.java
    • Renamed getAgentCard() to getExtendedAgentCard() and updated Javadoc.
  • examples/cloud-deployment/server/src/main/java/io/a2a/examples/cloud/CloudAgentCardProducer.java
    • Updated protocolVersion to protocolVersions (list).
  • examples/cloud-deployment/server/src/test/java/io/a2a/examples/cloud/A2ACloudExampleClient.java
    • Stored agentCard as a field.
    • Updated Client.builder() calls to use the agentCard field.
  • examples/helloworld/client/src/main/java/io/a2a/examples/helloworld/HelloWorldClient.java
    • Changed publicAgentCard.supportsExtendedAgentCard() to publicAgentCard.capabilities().extendedAgentCard().
    • Updated path for A2A.getAgentCard() from /agent/authenticatedExtendedCard to /ExtendedAgentCard.
  • examples/helloworld/server/src/main/java/io/a2a/examples/helloworld/AgentCardProducer.java
    • Updated protocolVersion to protocolVersions (list).
  • extras/queue-manager-replicated/tests-multi-instance/quarkus-common/src/main/java/io/a2a/extras/queuemanager/replicated/tests/multiinstance/common/MultiInstanceReplicationAgentCards.java
    • Updated protocolVersion to protocolVersions (list).
  • extras/queue-manager-replicated/tests-single-instance/src/test/java/io/a2a/extras/queuemanager/replicated/tests/ReplicationTestAgentCardProducer.java
    • Updated protocolVersion to protocolVersions (list).
  • extras/task-store-database-jpa/src/main/java/io/a2a/extras/taskstore/database/jpa/JpaDatabaseTaskStore.java
    • Changed lastUpdatedAfter to statusTimestampAfter in queries and parameter setting.
  • http-client/src/test/java/io/a2a/client/http/JsonMessages.java
    • Updated protocolVersion to protocolVersions (list).
    • Removed supportsExtendedAgentCard field.
  • jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/A2AResponse.java
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
  • jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/GetExtendedAgentCardRequest.java
    • Renamed from GetAuthenticatedExtendedCardRequest.java.
    • Updated class name, Javadoc, and references to AgentCapabilities#extendedAgentCard().
  • jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/GetExtendedAgentCardResponse.java
    • Renamed from GetAuthenticatedExtendedCardResponse.java.
    • Updated class name, Javadoc, and references to ExtendedAgentCardNotConfiguredError.
  • jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/NonStreamingJSONRPCRequest.java
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
  • jsonrpc-common/src/test/java/io/a2a/jsonrpc/common/json/SecuritySchemeSerializationTest.java
    • Removed tests related to OAuth2SecurityScheme serialization/deserialization for PasswordOAuthFlow and ImplicitOAuthFlow.
  • reference/grpc/src/main/java/io/a2a/server/grpc/quarkus/QuarkusGrpcHandler.java
    • Imported ExtendedAgentCard.
    • Added extendedAgentCard field and initialized it.
    • Implemented getExtendedAgentCard() method.
  • reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/A2AServerRoutes.java
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
    • Removed AgentCard import.
    • Updated method calls from onGetAuthenticatedExtendedCardRequest to onGetExtendedCardRequest.
    • Updated ProtoUtils.ToProto.getAuthenticatedExtendedCardResponse to ProtoUtils.ToProto.getExtendedCardResponse.
  • reference/jsonrpc/src/test/java/io/a2a/server/apps/quarkus/A2AServerRoutesTest.java
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
    • Renamed testGetAuthenticatedExtendedCard_MethodNameSetInContext to testGetExtendedCard_MethodNameSetInContext.
    • Updated protocolVersion to protocolVersions (list).
    • Updated mock calls for onGetAuthenticatedExtendedCardRequest to onGetExtendedCardRequest.
  • server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java
    • Changed lastUpdatedAfter to statusTimestampAfter in logging and validation.
    • Added validation for non-negative statusTimestampAfter.
  • server-common/src/main/java/io/a2a/server/tasks/InMemoryTaskStore.java
    • Changed lastUpdatedAfter to statusTimestampAfter in filtering logic.
  • server-common/src/main/java/io/a2a/server/version/A2AVersionValidator.java
    • Changed protocolVersion to protocolVersions (list).
    • Updated isVersionCompatible to accept a list of supported versions.
  • server-common/src/test/java/io/a2a/server/requesthandlers/AbstractA2ARequestHandlerTest.java
    • Updated protocolVersion to protocolVersions (list).
  • server-common/src/test/java/io/a2a/server/version/A2AVersionValidatorTest.java
    • Updated isVersionCompatible calls to pass a List.of() for supported versions.
  • spec-grpc/src/main/java/io/a2a/grpc/A2A.java
    • Removed ImplicitOAuthFlow and PasswordOAuthFlow descriptors.
    • Added DeviceCodeOAuthFlow descriptor.
    • Updated AgentCard field accessor table for protocol_versions and removed deprecated fields.
    • Updated AgentCapabilities field accessor table for extended_agent_card.
    • Updated OAuthFlows field accessor table for DeviceCode and removed Implicit/Password.
    • Updated AuthorizationCodeOAuthFlow field accessor table for pkce_required.
    • Updated SendMessageRequest field accessor table for message.
    • Updated ListTasksRequest field accessor table for status_timestamp_after.
    • Updated SendMessageResponse and StreamResponse field accessor tables for message.
  • spec-grpc/src/main/java/io/a2a/grpc/AgentCapabilities.java
    • Added extendedAgentCard field and related methods.
  • spec-grpc/src/main/java/io/a2a/grpc/AgentCapabilitiesOrBuilder.java
    • Added extendedAgentCard methods.
  • spec-grpc/src/main/java/io/a2a/grpc/AgentCardOrBuilder.java
    • Changed protocol_version to protocol_versions (repeated string).
    • Added REQUIRED behavior for supported_interfaces.
    • Removed deprecated url, preferred_transport, additional_interfaces, and supports_extended_agent_card fields.
  • spec-grpc/src/main/java/io/a2a/grpc/AuthorizationCodeOAuthFlow.java
    • Added pkceRequired field and related methods.
  • spec-grpc/src/main/java/io/a2a/grpc/AuthorizationCodeOAuthFlowOrBuilder.java
    • Added pkceRequired method.
  • spec-grpc/src/main/java/io/a2a/grpc/DeviceCodeOAuthFlow.java
    • Renamed from PasswordOAuthFlow.java.
    • Updated class name, Javadoc, and field names (deviceAuthorizationUrl added, tokenUrl and refreshUrl field numbers changed).
  • spec-grpc/src/main/java/io/a2a/grpc/DeviceCodeOAuthFlowOrBuilder.java
    • Renamed from PasswordOAuthFlowOrBuilder.java.
    • Updated interface name, Javadoc, and field names.
  • spec-grpc/src/main/java/io/a2a/grpc/GetTaskRequest.java
    • Updated Javadoc for history_length.
  • spec-grpc/src/main/java/io/a2a/grpc/GetTaskRequestOrBuilder.java
    • Updated Javadoc for history_length.
  • spec-grpc/src/main/java/io/a2a/grpc/ImplicitOAuthFlow.java
    • Removed.
  • spec-grpc/src/main/java/io/a2a/grpc/ImplicitOAuthFlowOrBuilder.java
    • Removed.
  • spec-grpc/src/main/java/io/a2a/grpc/ListTasksRequest.java
    • Changed lastUpdatedAfter to statusTimestampAfter (type Timestamp).
  • spec-grpc/src/main/java/io/a2a/grpc/ListTasksRequestOrBuilder.java
    • Changed lastUpdatedAfter to statusTimestampAfter (type Timestamp).
  • spec-grpc/src/main/java/io/a2a/grpc/Message.java
    • Updated Javadoc for Message.
  • spec-grpc/src/main/java/io/a2a/grpc/OAuthFlows.java
    • Added reserved 3, 4; for removed fields.
    • Changed implicit and password to device_code.
  • spec-grpc/src/main/java/io/a2a/grpc/OAuthFlowsOrBuilder.java
    • Changed implicit and password to device_code.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageConfiguration.java
    • Updated Javadoc for history_length.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageConfigurationOrBuilder.java
    • Updated Javadoc for history_length.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageRequest.java
    • Changed request field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageRequestOrBuilder.java
    • Changed request field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageResponse.java
    • Changed msg field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/SendMessageResponseOrBuilder.java
    • Changed msg field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/StreamResponse.java
    • Changed msg field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/StreamResponseOrBuilder.java
    • Changed msg field to message.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/A2ACommonFieldMapper.java
    • Added instantToProtoTimestamp and protoTimestampToInstant methods for Timestamp conversion.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/AgentCapabilitiesMapper.java
    • Added @Mapping for extendedAgentCard.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/AgentCardMapper.java
    • Removed mappings for deprecated proto fields (url, preferredTransport, additionalInterfaces).
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/AuthorizationCodeOAuthFlowMapper.java
    • Added @Mapping for pkceRequired.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/ImplicitOAuthFlowMapper.java
    • Removed.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTasksParamsMapper.java
    • Changed lastUpdatedAfter to statusTimestampAfter and updated qualifiedByName.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/MessageSendParamsMapper.java
    • Removed explicit mapping for request to message.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/OAuthFlowsMapper.java
    • Removed ImplicitOAuthFlowMapper and PasswordOAuthFlowMapper from uses.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/PasswordOAuthFlowMapper.java
    • Removed.
  • spec-grpc/src/main/java/io/a2a/grpc/mapper/StreamResponseMapper.java
    • Changed setMsg to setMessage and getMsg to getMessage.
  • spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java
    • Changed EXTENDED_CARD_NOT_CONFIGURED_ERROR_CODE to EXTENDED_AGENT_CARD_NOT_CONFIGURED_ERROR_CODE.
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
    • Changed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
  • spec-grpc/src/main/java/io/a2a/grpc/utils/ProtoUtils.java
    • Changed setMsg to setMessage.
    • Changed getAuthenticatedExtendedCardResponse to getExtendedCardResponse.
  • spec-grpc/src/main/proto/a2a.proto
    • Removed commit comment.
    • Changed protocol_version to repeated string protocol_versions.
    • Added reserved 3, 14, 15;.
    • Added (google.api.field_behavior) = REQUIRED to supported_interfaces.
    • Removed deprecated url, preferred_transport, additional_interfaces, and supports_extended_agent_card fields.
    • Added optional bool extended_agent_card = 5; to AgentCapabilities.
    • Added reserved 3, 4; to OAuthFlows.
    • Changed implicit and password to device_code in OAuthFlows.
    • Added bool pkce_required = 5; to AuthorizationCodeOAuthFlow.
    • Removed ImplicitOAuthFlow and PasswordOAuthFlow messages.
    • Added DeviceCodeOAuthFlow message.
    • Changed request to message in SendMessageRequest.
    • Changed last_updated_after to google.protobuf.Timestamp status_timestamp_after in ListTasksRequest.
    • Changed msg to message in SendMessageResponse and StreamResponse.
  • spec-grpc/src/test/java/io/a2a/grpc/mapper/StreamResponseMapperTest.java
    • Changed PayloadCase.MSG to PayloadCase.MESSAGE.
    • Changed getMsg() to getMessage().
    • Changed setMsg() to setMessage().
  • spec-grpc/src/test/java/io/a2a/grpc/utils/ToProtoTest.java
    • Changed protocolVersion to protocolVersions and updated assertions.
  • spec/src/main/java/io/a2a/spec/A2AErrorCodes.java
    • Renamed EXTENDED_CARD_NOT_CONFIGURED_ERROR_CODE to EXTENDED_AGENT_CARD_NOT_CONFIGURED_ERROR_CODE.
  • spec/src/main/java/io/a2a/spec/AgentCapabilities.java
    • Added extendedAgentCard field to record and builder.
  • spec/src/main/java/io/a2a/spec/AgentCard.java
    • Removed supportsExtendedAgentCard field.
    • Changed protocolVersion (String) to protocolVersions (List).
    • Updated constructor and builder.
  • spec/src/main/java/io/a2a/spec/AuthorizationCodeOAuthFlow.java
    • Added pkceRequired field to record and constructor.
  • spec/src/main/java/io/a2a/spec/DeviceCodeOAuthFlow.java
    • New file, defines DeviceCodeOAuthFlow record.
  • spec/src/main/java/io/a2a/spec/ExtendedAgentCardNotConfiguredError.java
    • Renamed from ExtendedCardNotConfiguredError.java.
    • Updated class name and error code.
  • spec/src/main/java/io/a2a/spec/ImplicitOAuthFlow.java
    • Removed.
  • spec/src/main/java/io/a2a/spec/ListTasksParams.java
    • Changed lastUpdatedAfter to statusTimestampAfter.
  • spec/src/main/java/io/a2a/spec/OAuthFlows.java
    • Removed implicit and password fields.
    • Added deviceCode field.
    • Updated constructor and builder.
  • spec/src/main/java/io/a2a/spec/PasswordOAuthFlow.java
    • Removed.
  • spec/src/main/java/io/a2a/spec/VersionNotSupportedError.java
    • Updated Javadoc reference from protocolVersion() to protocolVersions().
  • tck/src/main/java/io/a2a/tck/server/AgentCardProducer.java
    • Updated protocolVersion to protocolVersions (list).
  • tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java
    • Changed testGetAgentCard() to testGetExtendedAgentCard().
    • Updated assertions for supportedInterfaces and protocolVersions.
    • Added assertion for agentCard.capabilities().extendedAgentCard().
    • Updated protocolVersion to protocolVersions (list).
  • tests/server-common/src/test/java/io/a2a/server/apps/common/AgentCardProducer.java
    • Added extendedAgentCard(true) to capabilities.
    • Updated protocolVersion to protocolVersions (list).
  • transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java
    • Renamed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
    • Updated getExtendedAgentCard implementation to use abstract method.
    • Added abstract getExtendedAgentCard() method.
  • transport/grpc/src/test/java/io/a2a/transport/grpc/handler/GrpcHandlerTest.java
    • Changed setRequest to setMessage.
    • Changed getMsg to getMessage.
    • Changed setLastUpdatedAfter to setStatusTimestampAfter and updated value to Timestamp.
    • Renamed testOnGetAuthenticatedExtendedAgentCard to testOnGetExtendedAgentCard.
    • Updated protocolVersion to protocolVersions (list).
  • transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
    • Changed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
    • Updated method name from onGetAuthenticatedExtendedCardRequest to onGetExtendedCardRequest.
  • transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java
    • Changed GetAuthenticatedExtendedCardRequest to GetExtendedAgentCardRequest.
    • Changed GetAuthenticatedExtendedCardResponse to GetExtendedAgentCardResponse.
    • Changed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
    • Renamed testOnGetAuthenticatedExtendedAgentCard to testOnGetExtendedAgentCard.
    • Updated protocolVersion to protocolVersions (list).
  • transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
    • Changed ExtendedCardNotConfiguredError to ExtendedAgentCardNotConfiguredError.
    • Changed lastUpdatedAfter to statusTimestampAfter in method signature and parsing.
    • Updated getExtendedAgentCard implementation.
  • transport/rest/src/test/java/io/a2a/transport/rest/handler/RestHandlerTest.java
    • Updated protocolVersion to protocolVersions (list).
Activity
  • jmesnil initially commented on ListTaskPushNotificationConfigParams.java regarding pageSize and token, but later clarified that the file already contained these fields and retracted the concern.
  • jmesnil requested a Gemini review and summary for the pull request.

@jmesnil jmesnil merged commit 99db49f into a2aproject:main Jan 23, 2026
8 checks passed
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.

[Feat]: Move the support of extended agent card to the capabilities

2 participants