Skip to content

[Bug]: JSONRPC error mapping #413

Closed
Closed

Description

@maeste

What happened?

Running the @a2a-project/a2a-tck I got a few discrepancy on JSONRPC error mapping compared to JSONRPC 2.0 spec

Analysis of the issues:

  1. Test case 0 - Missing jsonrpc field:
    - TCK expects: -32600 (Invalid Request) ✅ CORRECT
    - SUT returns: -32602 (Invalid params) ❌ INCORRECT
    - Verdict: SUT is wrong - missing jsonrpc makes the request invalid per JSON-RPC spec
  2. Test case 3 - Invalid id type:
    - TCK expects: -32600 (Invalid Request) ✅ CORRECT
    - SUT returns: 500 HTTP error ❌ MAJOR BUG
    - Verdict: SUT is wrong - it should return -32600, not crash with 500
  3. Test case 4 - Invalid params type:
    - TCK expects: -32602 (Invalid params) ✅ CORRECT
    - SUT returns: -32600 (Invalid Request) ❌ INCORRECT
    - Verdict: SUT is wrong - when params is wrong type, it's invalid params, not invalid request

Relevant log output

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. self-assigned this
    on Aug 19, 2025
  2. added theissue type on Aug 19, 2025
  3. maeste commented on Aug 20, 2025

    @maeste
    ContributorAuthor

    Another issue on canceling task: Incorrect Error Code for Completed Task Cancellation

    • What's happening: SUT returns -32004 (operation not supported) when trying to cancel a completed
      task
    • What should happen: According to A2A spec section 8.2, it should return -32002
      (TaskNotCancelableError)
    • Problem: SUT is using wrong error code
  4. maeste commented on Aug 20, 2025

    @maeste
    ContributorAuthor

    Another issue: in "task/get" the paramether "historyLength" is acceppted but ignored

  5. added a commit that references this issue on Aug 21, 2025
    d2e869f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions