| Crates.io | sacp |
| lib.rs | sacp |
| version | 11.0.0-alpha.1 |
| created_at | 2025-10-30 10:34:06.54031+00 |
| updated_at | 2026-01-19 18:49:24.847409+00 |
| description | Core protocol types and traits for SACP (Symposium's extensions to ACP) |
| homepage | |
| repository | https://github.com/symposium-dev/symposium-acp |
| max_upload_size | |
| id | 1908012 |
| size | 577,197 |
sacp is a Rust SDK for building Agent-Client Protocol (ACP) applications. ACP is a protocol for communication between AI agents and their clients (IDEs, CLIs, etc.), enabling features like tool use, permission requests, and streaming responses.
The most common use case is connecting to an existing ACP agent as a client:
use sacp::ClientToAgent;
use sacp::schema::{InitializeRequest, VERSION as PROTOCOL_VERSION};
Client.builder()
.name("my-client")
.run_until(transport, async |cx| {
// Initialize the connection
cx.send_request(InitializeRequest {
protocol_version: PROTOCOL_VERSION,
client_capabilities: Default::default(),
client_info: Default::default(),
meta: None,
}).block_task().await?;
// Create a session and send a prompt
cx.build_session_cwd()?
.block_task()
.run_until(async |mut session| {
session.send_prompt("What is 2 + 2?")?;
let response = session.read_to_string().await?;
println!("{}", response);
Ok(())
})
.await
})
.await
See the crate documentation for:
You may also enjoy looking at:
yolo_one_shot_client.rs - Complete client that spawns an agent and sends a promptelizacp - Full working agent with session managementsacp-conductor - Orchestrates proxy chains with a final agentMIT OR Apache-2.0