Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Crates

cratewhat it isdependencies
cacp-protoACP v1 wire types, method names, the protocol errorserde, serde_json
cacpthe JSON-RPC connection and both rolesthe above, plus tokio
cacp-eventsthe client as a channel instead of a traitcacp with client
cacp-agentsthe registry catalog and an installer for itserde, serde_json, anyhow, ureq

Depend on cacp-proto alone if all you do is read and write ACP JSON — it is data only, and pulls in no async runtime.

cacp = "0.0.1"

Each role is a feature and both are on by default. Turn off the one you do not implement:

cacp = { version = "0.0.1", default-features = false, features = ["client"] }
featuregives youadds
clientClient, AgentConn, spawn, connect, connect_ontokio/process
serverAgent, ClientConn, serve, serve_on, serve_on_stdiotokio/io-std

cacp-events and cacp-agents are layers, not dependencies of the core: each reaches only what cacp makes public, which is why each is its own crate rather than a feature.