#acp #ai-agent #protocols #tokio #agent

sacp-tokio

Tokio-based utilities for SACP (Symposium's extensions to ACP)

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

Download history 5/week @ 2025-11-03 94/week @ 2025-11-10 37/week @ 2025-11-17 15/week @ 2025-11-24 3/week @ 2025-12-01 60/week @ 2025-12-08 48/week @ 2025-12-15 6/week @ 2025-12-22 155/week @ 2025-12-29 86/week @ 2026-01-05 13/week @ 2026-01-12 19/week @ 2026-01-19 52/week @ 2026-01-26 46/week @ 2026-02-02 18/week @ 2026-02-09 11/week @ 2026-02-16

128 downloads per month
Used in 17 crates (16 directly)

MIT/Apache

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 processes
  • JrConnectionExt - Extension trait that adds JrConnection::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.

  • 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