Problem
The A2A specification (section 5.4) defines the following gRPC status mapping for UnsupportedOperationError:
| A2A Error Type |
JSON-RPC Code |
gRPC Status |
HTTP Status |
UnsupportedOperationError |
-32004 |
FAILED_PRECONDITION |
400 Bad Request |
However, A2AErrorCodes.UNSUPPORTED_OPERATION in the SDK maps to UNIMPLEMENTED:
|
UNSUPPORTED_OPERATION(-32004, "UNIMPLEMENTED", 400), |
UNSUPPORTED_OPERATION(-32004, "UNIMPLEMENTED", 400),
This diverges from the spec table, which says the gRPC status should be FAILED_PRECONDITION.
Expected behavior
UNSUPPORTED_OPERATION should map to gRPC FAILED_PRECONDITION to match the spec.
Context
Found during review of #1041, which correctly changed streaming-not-supported errors from InvalidRequestError to UnsupportedOperationError. The gRPC status mismatch is a pre-existing issue unrelated to that PR.
Problem
The A2A specification (section 5.4) defines the following gRPC status mapping for
UnsupportedOperationError:UnsupportedOperationError-32004FAILED_PRECONDITION400 Bad RequestHowever,
A2AErrorCodes.UNSUPPORTED_OPERATIONin the SDK maps toUNIMPLEMENTED:a2a-java/spec/src/main/java/org/a2aproject/sdk/spec/A2AErrorCodes.java
Line 29 in 643f1f8
This diverges from the spec table, which says the gRPC status should be
FAILED_PRECONDITION.Expected behavior
UNSUPPORTED_OPERATIONshould map to gRPCFAILED_PRECONDITIONto match the spec.Context
Found during review of #1041, which correctly changed streaming-not-supported errors from
InvalidRequestErrortoUnsupportedOperationError. The gRPC status mismatch is a pre-existing issue unrelated to that PR.