[package]
name = "agent-base"
version = "0.3.1"
edition = "2024"
description = "A lightweight Agent Runtime Kernel for building AI agents in Rust"
license = "MIT"
repository = "https://github.com/hibuka-labs/agent-base"
readme = "README.md"
keywords = ["agent", "ai", "llm", "runtime", "tool-calling"]
categories = ["development-tools", "asynchronous"]
[dependencies]
anyhow = "1"
async-trait = "0.1"
eventsource-stream = "0.2"
futures-core = "0.3"
futures-util = "0.3"
reqwest = { version = "0.13", features = ["json", "stream"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
schemars = { version = "1" }
thiserror = "2"
tokio = { version = "1.52", features = ["full"] }
tokio-util = { version = "0.7", features = ["rt"] }
tracing = "0.1"
chrono = { version = "0.4", features = ["serde"] }
opentelemetry = { version = "0.30", optional = true }
tracing-opentelemetry = { version = "0.30", optional = true }
uuid = { version = "1", features = ["v4"] }
rusqlite = { version = "0.32", optional = true, features = ["bundled"] }
[features]
default = []
telemetry = ["opentelemetry", "tracing-opentelemetry"]
sqlite-session = ["dep:rusqlite"]
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
dotenvy = "0.15"
insta = { version = "1", features = ["json"] }
serial_test = "3"
tempfile = "3"
wiremock = "0.6"
[[bench]]
name = "tool_registry"
harness = false