[package]
edition = "2024"
rust-version = "1.85.0"
name = "adk-rust"
version = "0.5.0"
authors = ["James Karanja Maina <james.karanja@zavora.ai>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust Agent Development Kit - Build AI agents in Rust with modular components for models, tools, memory, and more."
homepage = "https://github.com/zavora-ai/adk-rust"
documentation = "https://docs.rs/adk-rust"
readme = "README.md"
keywords = [
"ai",
"agent",
"gemini",
"llm",
"adk",
]
categories = [
"api-bindings",
"asynchronous",
"web-programming",
]
license = "Apache-2.0"
repository = "https://github.com/zavora-ai/adk-rust"
resolver = "2"
[package.metadata.docs.rs]
features = [
"full",
"payments",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
action = [
"graph",
"dep:adk-action",
"adk-graph/action",
]
action-code = [
"action",
"adk-graph/action-code",
]
action-db = [
"action",
"adk-graph/action-db",
]
action-email = [
"action",
"adk-graph/action-email",
]
action-full = [
"action",
"adk-graph/action-full",
]
action-http = [
"action",
"adk-graph/action-http",
]
action-rss = [
"action",
"adk-graph/action-rss",
]
action-trigger = [
"action",
"adk-graph/action-trigger",
]
agents = ["dep:adk-agent"]
all-onnx = [
"audio",
"adk-audio/all-onnx",
]
anthropic = [
"models",
"adk-model/anthropic",
]
anthropic-client = ["dep:adk-anthropic"]
artifacts = ["dep:adk-artifact"]
audio = ["dep:adk-audio"]
audio-all = [
"audio",
"adk-audio/all",
]
audio-fx = [
"audio",
"adk-audio/fx",
]
audio-mlx = [
"audio",
"adk-audio/mlx",
]
audio-onnx = [
"audio",
"adk-audio/onnx",
]
audio-stt = [
"audio",
"adk-audio/stt",
]
audio-tts = [
"audio",
"adk-audio/tts",
]
auth = ["dep:adk-auth"]
auth-bridge = [
"auth",
"server",
"adk-auth/auth-bridge",
]
azure-ai = [
"models",
"adk-model/azure-ai",
]
bedrock = [
"models",
"adk-model/bedrock",
]
browser = ["dep:adk-browser"]
cerebras = [
"models",
"adk-model/cerebras",
]
chatterbox = [
"audio",
"adk-audio/chatterbox",
]
cli = [
"dep:adk-cli",
"runner",
"server",
"sessions",
"telemetry",
]
code = ["dep:adk-code"]
database-memory = [
"memory",
"adk-memory/database-memory",
]
deepseek = [
"models",
"adk-model/deepseek",
]
default = ["standard"]
distil-whisper = [
"audio",
"adk-audio/distil-whisper",
]
eval = ["dep:adk-eval"]
firestore-session = [
"sessions",
"adk-session/firestore",
]
fireworks = [
"models",
"adk-model/fireworks",
]
full = [
"standard",
"graph",
"realtime",
"browser",
"eval",
"rag",
]
gemini = [
"models",
"adk-model/gemini",
]
gemini-vertex = [
"gemini",
"adk-model/gemini-vertex",
]
graph = ["dep:adk-graph"]
groq = [
"models",
"adk-model/groq",
]
guardrail = ["dep:adk-guardrail"]
kokoro = [
"audio",
"adk-audio/kokoro",
]
labs = [
"standard",
"code",
"sandbox",
"audio",
]
livekit = [
"realtime",
"adk-realtime/livekit",
]
memory = ["dep:adk-memory"]
minimal = [
"agents",
"gemini",
"runner",
]
mistral = [
"models",
"adk-model/mistral",
]
models = ["dep:adk-model"]
mongodb-memory = [
"memory",
"adk-memory/mongodb-memory",
]
mongodb-session = [
"sessions",
"adk-session/mongodb",
]
moonshine = [
"audio",
"adk-audio/moonshine",
]
neo4j-memory = [
"memory",
"adk-memory/neo4j-memory",
]
neo4j-session = [
"sessions",
"adk-session/neo4j",
]
ollama = [
"models",
"adk-model/ollama",
]
openai = [
"models",
"adk-model/openai",
]
openai-webrtc = [
"realtime",
"adk-realtime/openai-webrtc",
]
openrouter = [
"models",
"adk-model/openrouter",
]
payments = ["dep:adk-payments"]
perplexity = [
"models",
"adk-model/perplexity",
]
plugin = ["dep:adk-plugin"]
postgres-session = [
"sessions",
"adk-session/postgres",
]
qwen3-tts = [
"audio",
"adk-audio/qwen3-tts",
]
rag = ["dep:adk-rag"]
realtime = ["dep:adk-realtime"]
redis-memory = [
"memory",
"adk-memory/redis-memory",
]
redis-session = [
"sessions",
"adk-session/redis",
]
runner = ["dep:adk-runner"]
sambanova = [
"models",
"adk-model/sambanova",
]
sandbox = ["dep:adk-sandbox"]
server = ["dep:adk-server"]
sessions = ["dep:adk-session"]
skills = ["dep:adk-skill"]
sqlite-memory = [
"memory",
"adk-memory/sqlite-memory",
]
standard = [
"agents",
"models",
"gemini",
"anthropic",
"anthropic-client",
"tools",
"skills",
"sessions",
"artifacts",
"memory",
"runner",
"server",
"cli",
"telemetry",
"plugin",
"guardrail",
"auth",
]
telemetry = ["dep:adk-telemetry"]
together = [
"models",
"adk-model/together",
]
tools = ["dep:adk-tool"]
vertex-live = [
"realtime",
"adk-realtime/vertex-live",
]
whisper-onnx = [
"audio",
"adk-audio/whisper-onnx",
]
[lib]
name = "adk_rust"
path = "src/lib.rs"
[[example]]
name = "test_unified"
path = "examples/test_unified.rs"
[dependencies.adk-action]
version = "0.5.0"
optional = true
[dependencies.adk-agent]
version = "0.5.0"
optional = true
[dependencies.adk-anthropic]
version = "0.5.0"
optional = true
[dependencies.adk-artifact]
version = "0.5.0"
optional = true
[dependencies.adk-audio]
version = "0.5.0"
optional = true
[dependencies.adk-auth]
version = "0.5.0"
optional = true
[dependencies.adk-browser]
version = "0.5.0"
optional = true
[dependencies.adk-cli]
version = "0.5.0"
optional = true
[dependencies.adk-code]
version = "0.5.0"
optional = true
[dependencies.adk-core]
version = "0.5.0"
[dependencies.adk-eval]
version = "0.5.0"
optional = true
[dependencies.adk-graph]
version = "0.5.0"
optional = true
[dependencies.adk-guardrail]
version = "0.5.0"
optional = true
[dependencies.adk-memory]
version = "0.5.0"
optional = true
[dependencies.adk-model]
version = "0.5.0"
optional = true
[dependencies.adk-payments]
version = "0.5.0"
optional = true
[dependencies.adk-plugin]
version = "0.5.0"
optional = true
[dependencies.adk-rag]
version = "0.5.0"
optional = true
[dependencies.adk-realtime]
version = "0.5.0"
optional = true
[dependencies.adk-runner]
version = "0.5.0"
optional = true
[dependencies.adk-sandbox]
version = "0.5.0"
optional = true
[dependencies.adk-server]
version = "0.5.0"
optional = true
[dependencies.adk-session]
version = "0.5.0"
optional = true
[dependencies.adk-skill]
version = "0.5.0"
optional = true
[dependencies.adk-telemetry]
version = "0.5.0"
optional = true
[dependencies.adk-tool]
version = "0.5.0"
optional = true
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.futures]
version = "0.3"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
version = "1.40"
features = [
"rt",
"rt-multi-thread",
"sync",
"time",
"macros",
"net",
"signal",
"fs",
"process",
"io-util",
]
default-features = false
[dev-dependencies.tokio]
version = "1.40"
features = [
"rt",
"rt-multi-thread",
"sync",
"time",
"macros",
"net",
"signal",
"fs",
"process",
"io-util",
"test-util",
]
default-features = false