ryo-server
Status: preview. APIs may change in v0.x. Part of the ryo workspace — AST-centric Rust programming for AI agents.
ryo Server — tarpc-based RPC server. Wraps ryo-app's
Api and exposes it over Unix Domain Socket using tarpc with named
MessagePack serialisation. Idle-timeout auto-shutdown, optional parallel
initialisation, single-mutex locking.
Install
Quickstart
The server is typically started by the ryo-cli connect-or-spawn pattern,
but it can be embedded directly:
use RyoServer;
use Api;
use ;
let api = new;
let server = new;
server.serve_on_uds.await?;
Configuration
~/.ryo/config.toml:
[]
= 3600 # seconds; 0 = never timeout
= true # parallel project loading on startup
Architecture
RyoServer
├── api: Arc<Mutex<Api>> single mutex for all operations
├── shutdown_tx: Shutdown sender
└── last_activity: Atomic timestamp
↓ UDS + tarpc (serde_transport, MessagePack named)
Clients (ryo-cli)
└── RyoServiceClient
Status
Preview. RPC surface and codec format are likely to evolve.
License
Licensed under either of Apache-2.0 or MIT at your option.