Skip to content

chore(a2a): migrate from adka2a to adka2a/v2 #4035

Description

@aheritier

🤖 Automated implementer agentthis comment was posted by the implementer bot from Docker Agentic Platform, not by a human developer

Background

google.golang.org/adk v1.6.0 (upgraded in #4015) deprecated google.golang.org/adk/server/adka2a in favour of google.golang.org/adk/server/adka2a/v2. The v0 compatibility shim was kept in #4015 with a narrow SA1019 suppression in .golangci.yml to keep the upgrade self-contained.

What needs to change

Migrating to adka2a/v2 is not a mechanical find-and-replace. The v2 executor contract is different:

adka2a (v0, current) adka2a/v2 (target)
Executor signature Execute(ctx, *a2asrv.RequestContext, eventqueue.Queue) error Execute(ctx, *a2asrv.ExecutorContext) iter.Seq2[a2a.Event, error]
A2A dependency github.com/a2aproject/a2a-go (v0) github.com/a2aproject/a2a-go/v2

This requires a deliberate rewrite of:

  • pkg/a2a/executor_wrapper.go — replace fixingQueue + eventqueue.Queue wiring with the new iter.Seq2 streaming contract
  • pkg/a2a/server.go — update adka2a imports and any RequestContext / runner wiring
  • Tests: pkg/a2a/executor_wrapper_test.go, pkg/a2a/server_test.go, e2e/a2a_test.go

Once migration is complete, remove the SA1019 exclude-rule added to .golangci.yml in #4015.

Acceptance criteria

  • google.golang.org/adk/server/adka2a/v2 used in place of the deprecated shim
  • github.com/a2aproject/a2a-go/v2 replaces v0 where required by adka2a/v2
  • SA1019 exclude-rule for adka2a removed from .golangci.yml
  • task lint, task test, and A2A e2e tests pass

Metadata

Metadata

Assignees

Labels

area/a2aAgent-to-Agent protocol, A2A server, inter-agent communicationarea/depsDependency updates and version bumpskind/choreMaintenance, deps, CI, tooling (maps to chore: commit prefix)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions