27 releases (8 major breaking)
Uses new Rust 2024
| 11.0.0-alpha.1 | Jan 19, 2026 |
|---|---|
| 10.1.0 | Dec 31, 2025 |
| 9.0.0 | Dec 19, 2025 |
| 8.0.0 | Dec 17, 2025 |
| 1.0.0 | Nov 14, 2025 |
#315 in Development tools
128 downloads per month
Used in 17 crates
(16 directly)
460KB
7K
SLoC
sacp-tokio
Tokio-specific utilities for working with ACP agents.
What's in this crate?
This crate provides helpers for spawning and connecting to ACP agents using the Tokio async runtime:
AcpAgent- Configuration for spawning agent processesJrConnectionExt- Extension trait that addsJrConnection::to_agent()for easy agent spawning
Usage
The main use case is spawning an agent process and creating a connection to it in one step:
use sacp::JrConnection;
use sacp_tokio::{AcpAgent, JrConnectionExt};
let agent = AcpAgent::from_str("python my_agent.py")?;
JrConnection::to_agent(agent)?
.on_receive_notification(|notif: SessionNotification, _cx| async move {
println!("Agent update: {:?}", notif);
Ok(())
})
.run_until(|cx| async move {
// Initialize and interact with the agent
let response = cx.send_request(InitializeRequest { ... })
.block_task()
.await?;
Ok(())
})
.await?;
The agent process is managed automatically - it's spawned when you call to_agent(),
and killed when the connection is dropped.
When to use this crate
Use sacp-tokio when you need to:
- Spawn agent processes from your code
- Test agents by programmatically launching them
- Build tools that orchestrate multiple agents
If you're implementing an agent that listens on stdin/stdout, you only need the core sacp crate.
Related Crates
- sacp - Core ACP SDK (use this for building agents)
- sacp-proxy - Framework for building ACP proxies
- sacp-conductor - Binary for orchestrating proxy chains
License
MIT OR Apache-2.0
Dependencies
~12–17MB
~222K SLoC