[package]
name = "agent-sdk"
version = "0.4.2"
edition = "2024"
description = "Rust Agent SDK for building LLM agents"
license = "Apache-2.0"
repository = "https://github.com/bipa-app/agent-sdk"
readme = "README.md"
keywords = ["agent", "llm", "ai", "anthropic", "tools"]
categories = ["api-bindings", "asynchronous"]
[dependencies]
tokio = { version = "1.40", features = ["sync", "fs", "process", "time"] }
tokio-stream = "0.1"
async-trait = "0.1"
futures = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
anyhow = "1"
thiserror = "2"
regex = { version = "1.10", default-features = false, features = ["std", "unicode-perl"] }
glob = { version = "0.3", default-features = false }
tracing = "0.1"
uuid = { version = "1", features = ["v4", "serde"] }
time = { version = "0.3", features = ["serde", "std", "formatting", "parsing"] }
reqwest = { version = "0.13.1", features = ["gzip", "json", "query", "default-tls", "stream", "http2"], default-features = false }
async-stream = "0.3"
bytes = "1"
log = "0.4"
url = "2"
html2text = "0.14"
[dev-dependencies]
tokio = { version = "1.40", features = ["rt-multi-thread", "macros"] }
tracing-subscriber = "0.3"
tempfile = "3"
[[example]]
name = "basic_agent"
path = "examples/basic_agent.rs"
[[example]]
name = "custom_tool"
path = "examples/custom_tool.rs"
[[example]]
name = "custom_hooks"
path = "examples/custom_hooks.rs"
[[example]]
name = "with_primitive_tools"
path = "examples/with_primitive_tools.rs"
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
all = "warn"
pedantic = "warn"
nursery = "warn"