Installation

Requirements

Add to Cargo.toml

[dependencies]
yoagent = "0.25"
tokio = { version = "1", features = ["full"] }

Dependencies

yoagent brings in these key dependencies automatically:

CratePurpose
tokioAsync runtime (rt, sync, macros, time, io-util; native adds fs, process)
serde / serde_jsonSerialization
reqwestHTTP client for provider APIs
reqwest-eventsourceSSE streaming
async-traitAsync trait support
tokio-utilCancellationToken
thiserrorError types
tracingLogging
web-timeWall clock that also works on wasm32

Feature Flags

All providers are always included; the built-in filesystem and shell tools come with the default native feature. Optional features:

FeatureDependenciesDescription
native (default)Tokio fs/process, reqwest's default features (TLS, HTTP/2, system proxy) + SOCKSFilesystem and shell tools, stdio MCP, disk-backed shared state and price cache. Disable it only to build for WebAssembly / Cloudflare Workers: a native build without it has no TLS, so HTTPS provider calls fail at runtime
openapiopenapiv3, serde_yaml_ngAuto-generate tools from OpenAPI 3.0 specs
gaspyoagent-stateRecord runs into a GASP agent repo
decisionnoneDecision models: typed yes/no, choice and score questions; advisory hints, the tool gate and the input guard. Nothing is sent until you pick a model

Enable in Cargo.toml:

[dependencies]
yoagent = { version = "0.24", features = ["openapi", "decision"] }