[package]
name = "yoagent"
version = "0.14.2"
edition = "2021"
description = "Simple, effective agent loop with tool execution and event streaming"
license = "MIT"
repository = "https://github.com/yologdev/yoagent"
homepage = "https://yologdev.github.io/yoagent/"
documentation = "https://docs.rs/yoagent"
readme = "README.md"
keywords = ["agent", "llm", "ai", "anthropic", "openai"]
categories = [
"api-bindings",
"asynchronous",
"development-tools",
"web-programming::http-client",
"network-programming",
]
authors = ["Yuanhao <yuanhao@yolog.dev>"]
rust-version = "1.86"
exclude = ["docs/images/*", "docs/theme/*", ".github/*", "scripts/*"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
tokio = { version = "1", features = ["rt", "sync", "fs", "macros", "process", "time", "io-util"] }
tokio-util = "0.7"
tokio-stream = "0.1"
serde = { version = "1.0.177", features = ["derive"] }
serde_json = "1"
async-trait = "0.1"
thiserror = "2"
uuid = { version = "1", features = ["v4"] }
tracing = "0.1"
reqwest = { version = "0.13", features = ["json", "stream", "socks"] }
reqwest-eventsource = { package = "kameleoon-reqwest-eventsource", version = "0.6" }
futures = "0.3"
rand = "0.10.0"
base64 = "0.22"
openapiv3 = { version = "2", optional = true }
serde_yaml_ng = { version = "0.10", optional = true }
yoagent-state = { version = "0.4.2", optional = true }
[features]
openapi = ["dep:openapiv3", "dep:serde_yaml_ng", "reqwest/query"]
gasp = ["dep:yoagent-state"]
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }
tracing-subscriber = { version = "0.3", features = ["registry", "fmt"] }
tempfile = "3"
wiremock = "0.6"
[[example]]
name = "gasp_emit"
required-features = ["gasp"]