Skip to main content
Harnest supports both sides of the A2A 1.0 protocol. An authored Agent Card can expose the compiled agent, while A2AClient and RemoteAgent let trusted application code call another agent. Harnest keeps the default path small. A completed blocking interaction returns an A2A Message; it does not create a Task merely because the protocol supports Tasks. Streaming, asynchronous execution, approvals, client tools, and durable external waits use an A2A Task when task identity is required. Task lookup, listing, cancellation, and subscription happen only when the client asks for them. The outbound client does not list or monitor unrelated Tasks in the background.

Serve an agent through A2A

Publish an Agent Card, mount a binding, and choose durable Task storage.

Call a remote agent

Send, stream, poll, cancel, subscribe, or compose a remote agent.
Harnest A2A uses the same agent, tools, durable Tasks, sessions, authentication, lifecycle, and telemetry as the neutral API. It is a transport adapter, not a second agent runtime.