Skip to content

docs: refresh a2a-sdk migration guidance against current 1.0.x pin #514

@bokelley

Description

@bokelley

From the salesagent v3.12 → 4.x migration (SDK_FEEDBACK.md, item #5).

MIGRATION_v3_to_v4.md says:

a2a.utils.errors.ServerErrora2a.types.A2AError
a2a.types.DataParta2a.types.MessagePart

In a2a-sdk==1.0.1, none of those replacement targets exist:

  • A2AError does not exist (only A2ARequest)
  • MessagePart does not exist (only Part)
  • a2a.server.apps (whole submodule path) does not exist

Adopter outcome:

salesagent/src/a2a_server/ is hand-rolled against a2a-sdk 0.3 and won't run on 1.0+. The migration guide pointed at replacements that also don't exist, so I gated the whole module behind an A2A_LEGACY_AVAILABLE flag and skipped 6 unit-test modules. The migration target for these is adcp.server.serve(transport="a2a") — but that's not what the guide says.

Proposal

Either:

  1. Regenerate the a2a-sdk migration section against the current 1.0.x pin (correct symbol names), OR
  2. Better: point readers directly at adcp.server.serve(transport="a2a") and explicitly acknowledge that hand-rolled a2a-sdk 0.3 servers don't have a mechanical migration path.

Option 2 is more honest about adopter reality. Option 1 still helps adopters who wrote against a2a-sdk directly rather than via our serve().

Acceptance

A salesagent-shaped adopter (hand-rolled 0.3 server) reads the guide and lands on a clear path: "delete the hand-rolled server, use adcp.server.serve(transport='a2a')."

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions