aether-acp-utils
Utilities for the Agent Client Protocol (ACP), handling notifications, elicitation, and protocol extensions between agents and their host UIs.
Table of Contents
Key Types
elicitation-- Typed conversion between MCP elicitation and native ACPelicitation/createmessagesSessionUsageParams-- Token usage tracking notificationsMcpNotification/McpRequest-- MCP message tunneling over ACP- Agent subprocesses -- use upstream
agent_client_protocol::{AcpAgent, AcpAgentConfig, Stdio} AcpClientHandle-- Initialized, cloneable client for typed ACP v2 requestsAcpEvent-- Ordered notifications, including replay updates sent before the resume response;AcpEvent::session_idtells hosts which session an event concernsconversation::Conversation-- Host-independent reduction of one session's events (apply_event) and prompt lifecycle into ordered items (messages, thoughts, tool calls, notices) and turn state; shared bywispand the browser client
Feature Flags
| Feature | Description | Default |
|---|---|---|
client |
ACP client and conversation model (for UIs connecting to agents) | yes |
websocket |
Message-oriented WebSocket transport | no |
testing |
Public in-memory ACP test peers and transport helpers (enables client) |
no |
WebSocket transport
Enable the websocket feature to use websocket::WebSocketTransport<S> with an already-established WebSocket connection.
examples/fake_agent_server.rs serves the testing crate's fake agent over this transport, choosing a scenario by request path. just fake-agent runs it on aether server's port, and just wasm-test runs the browser client's tests against it.
License
MIT