Commit: a6cc67e
Date: October 24, 2025 at 11:03 AM
Implements a remote a2a agent.
An agent can be created as `remoteagent.New(remoteagent.A2AConfig{...})`.
The agent can be configured with either an `a2a.AgentCard` or an `AgentCardSource` pointing to a local file or an http resource.
Other options contain configurations for the various steps of execution: card resolution, message send configuration, client creation.
For remote agent input:
1. If the last session event is a user function tool response: send content parts as new message parts with the task and contextID matching those on the matching function tool call.
2. Combine parts from all the events after the last event authored by the remote agent and present them as a single user message.
For remote agent output:
1. `TaskStatusUpdate` event parts are converted to thoughts, unless it's the final task status updates.
2. Empty `TaskArtifactUpdate`s (no parts) are skipped.
3. Every event has a `CustomMetadata` with task and context IDs, the original A2A request and a matching A2A event.
4. If an error is generated during an execution it's converted to a session event with ErrorMessage.
These are slightly different from Python, but changes changes were made based on the implementation of `adka2a.NewExecutor`, I'll open a bug in their tracker to reconcile implementations.
Powered by ChangeCrab