Skip to content

[Feat]: Remove Jackson annotation and use protobuf as the serialization mechanism #487

Closed

Description

@kabir

The https://github.com/a2aproject/A2A project now uses the a2a.proto file as the main source of truth.

Since we are already generating classes from this proto file, and using those for grpc and rest, it makes sense to use this for jsonrpc too.

The generated classes are very verbose and thus not suitable for exposing to users, so we will keep the domain model classes in the spec/ module (although perhaps this should have a new name now) as the user API, and perform mapping between these classes and the generated ones.

Internally we will use our ProtoUtils class to convert between our domain model classes and the protobuf generated classes.

This means we no longer need to rely on Jackson for serializing the JSON files, so we can drop dependency on that, and remove the Jackson annotations from the domain model classes.

‼️ As part of this, we should consider documenting the use of ProtoUtils etc. to help other integrators be able to serialize.

Activity

  1. jmesnil commented on Dec 2, 2025

    @jmesnil
    Contributor

    aiui, this would be fixed by #484

  2. changed the title [-][Feat]: Use protobuf as the serialization mechanism[/-] [+][Feat]: Remove Jackson annotation and use protobuf as the serialization mechanism[/+] on Dec 2, 2025
  3. added a commit that references this issue on Dec 10, 2025
    e2e32e5
  4. added this to the 1.0.0 milestone on Dec 11, 2025
  5. added a commit that references this issue on Dec 23, 2025
    03b9623
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions