Initial commit
This commit is contained in:
57
src-tauri/vendor/sacp-tokio/README.md
vendored
Normal file
57
src-tauri/vendor/sacp-tokio/README.md
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# 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:
|
||||
|
||||
```rust
|
||||
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](../sacp/)** - Core ACP SDK (use this for building agents)
|
||||
- **[sacp-proxy](../sacp-proxy/)** - Framework for building ACP proxies
|
||||
- **[sacp-conductor](../sacp-conductor/)** - Binary for orchestrating proxy chains
|
||||
|
||||
## License
|
||||
|
||||
MIT OR Apache-2.0
|
||||
Reference in New Issue
Block a user