API Reference a2a_engine v#0.1.0

Copy Markdown View Source

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.