Modules
A2A (Agent-to-Agent) protocol engine — pure spec library.
Behaviour for authenticating an inbound A2A request at the transport boundary.
Bearer-token authentication.
Same-host bypass. Accepts any request whose peer socket is a loopback
address. Intended for the BeamNative transport and for HTTP deployments
where the port is only bound to 127.0.0.1.
JSON-RPC 2.0 envelope codec with A2A method registry.
Key-case conversion between A2A wire format (camelCase strings) and Elixir conventions (snake_case atoms).
Server-Sent Events codec with Last-Event-ID resumption.
A2A-specific JSON-RPC 2.0 error codes.
Contract for the A2A request handler — the module that actually fulfils JSON-RPC method calls once the transport has decoded + authenticated.
A2A Task lifecycle states.
Helpers that operate on a list of decoded Part maps (the shape Parts take once JSON-decoded but before being encoded back for transport).
Scriptable in-process A2A peer for integration tests.
Behaviour for A2A transports.
BEAM-native A2A transport.
GenServer that receives A2A requests over the BEAM-native transport.
HTTP transport for A2A. Client-side implementation of
A2aEngine.Transport; pairs with A2aEngine.Transport.Http.Plug on the
server side.
Plug that receives A2A JSON-RPC requests over HTTP.
Optional capabilities advertised by an agent.
Self-describing manifest for an A2A agent.
Declaration of a protocol extension supported by an Agent.
A (transport, url) pair declaring an available interface for an agent.
Agent provider organization info.
A distinct capability an agent can perform.
A file, data, or text resource generated by an agent during a task.
A structured data segment within a message or artifact.
A file segment within a message or artifact.
A file whose content is inlined as base64-encoded bytes.
A file whose content is referenced by URI.
A single message in the conversation between a user and an agent.
Optional configuration block for message/send and message/stream params.
Params wrapper for message/send and message/stream JSON-RPC methods.
Discriminated union of TextPart, FilePart, and DataPart.
Optional authentication block for a PushNotificationConfig.
Webhook configuration for receiving asynchronous task updates.
An A2A Task: the unit of inter-agent work.
A streaming event published when an artifact is generated or updated.
Emitted during message/stream and tasks/resubscribe.
Params wrapper for tasks/cancel, tasks/resubscribe, and similar methods
that identify a task by id only.
Params wrapper for tasks/pushNotificationConfig/set and related methods.
Params wrapper for tasks/get.
The current status of a task: state (required) + optional message + timestamp.
A streaming event published when a task's status changes. Emitted during
message/stream and tasks/resubscribe.
A text segment within a message or artifact.