Skip to main content

Crate acp_utils

Crate acp_utils 

Source
Expand description

§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 ACP elicitation/create messages
  • SessionUsageParams – Token usage tracking notifications
  • McpNotification / McpRequest – MCP message tunneling over ACP
  • Agent subprocesses – use upstream agent_client_protocol::{AcpAgent, AcpAgentConfig, Stdio}
  • AcpClientHandle – Initialized, cloneable client for typed ACP v2 requests
  • AcpEvent – Ordered notifications, including replay updates sent before the resume response; AcpEvent::session_id tells hosts which session an event concerns
  • conversation::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 by wisp and the browser client

§Feature Flags

FeatureDescriptionDefault
clientACP client and conversation model (for UIs connecting to agents)yes
websocketMessage-oriented WebSocket transportno
testingPublic 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

Modules§

client
config_meta
config_option_id
content
conversation
elicitation
meta
notifications
Typed wire-format types for Aether’s custom ACP extension requests and notifications.
testing
In-memory test harness for ACP connections.
websocket