[package]
edition = "2024"
rust-version = "1.91"
name = "brainwires"
version = "0.2.0"
authors = ["Brainwires"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The Brainwires Agent Framework — build any AI application in Rust"
homepage = "https://github.com/Brainwires/brainwires-framework"
documentation = "https://docs.rs/brainwires"
readme = "README.md"
keywords = [
"ai-agents",
"llm",
"mcp",
"multi-agent",
"framework",
]
categories = ["development-tools"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Brainwires/brainwires-framework"
resolver = "2"
[features]
a2a = [
"dep:brainwires-a2a",
"brainwires-a2a/native",
]
agent-full = [
"agents",
"permissions",
"prompting",
"tools",
]
agents = ["dep:brainwires-agents"]
audio = ["dep:brainwires-audio"]
autonomy = ["dep:brainwires-autonomy"]
bedrock = [
"providers",
"brainwires-providers/bedrock",
]
brain = ["dep:brainwires-brain"]
chat = ["providers"]
datasets = ["dep:brainwires-datasets"]
default = [
"tools",
"agents",
]
eval = [
"agents",
"brainwires-agents/eval",
]
full = [
"tools",
"agents",
"storage",
"mcp",
"mdap",
"knowledge",
"prompting",
"permissions",
"orchestrator",
"rag-full-languages",
"interpreters",
"providers",
"chat",
"reasoning",
"seal",
"relay",
"brainwires-seal/knowledge",
"brainwires-seal/mdap",
"brainwires-seal/feedback",
"llama-cpp-2",
"mcp-server",
"skills",
"eval",
"proxy",
"a2a",
"mesh",
"audio",
"training-cloud",
"datasets",
"autonomy",
"brain",
]
interpreters = ["dep:brainwires-code-interpreters"]
knowledge = ["brain"]
learning = [
"seal",
"knowledge",
"permissions",
"brainwires-seal/knowledge",
"brainwires-seal/feedback",
]
llama-cpp-2 = [
"providers",
"brainwires-providers/llama-cpp-2",
]
mcp = ["dep:brainwires-mcp"]
mcp-server = [
"dep:rmcp",
"dep:schemars",
"dep:tokio-util",
]
mdap = ["dep:brainwires-mdap"]
mesh = ["dep:brainwires-mesh"]
openapi = [
"tools",
"brainwires-tool-system/openapi",
]
orchestrator = [
"tools",
"brainwires-tool-system/orchestrator",
]
otel = [
"agents",
"brainwires-agents/otel",
]
permissions = ["dep:brainwires-permissions"]
prompting = ["dep:brainwires-prompting"]
providers = ["dep:brainwires-providers"]
proxy = ["dep:brainwires-proxy"]
rag = [
"dep:brainwires-rag",
"brainwires-rag/native",
"brainwires-rag/lancedb-backend",
"tools",
"brainwires-tool-system/rag",
]
rag-full-languages = [
"rag",
"brainwires-rag/tree-sitter-languages",
]
reasoning = [
"agents",
"brainwires-agents/reasoning",
]
relay = ["dep:brainwires-relay"]
researcher = [
"providers",
"agents",
"storage",
"rag",
"training",
"datasets",
]
seal = ["dep:brainwires-seal"]
skills = ["dep:brainwires-skills"]
storage = [
"dep:brainwires-storage",
"brainwires-storage/native",
]
tools = ["dep:brainwires-tool-system"]
training = ["dep:brainwires-training"]
training-cloud = [
"training",
"brainwires-training/cloud",
]
training-full = [
"training",
"brainwires-training/full",
"datasets",
"brainwires-datasets/full",
]
training-local = [
"training",
"brainwires-training/local",
]
vertex-ai = [
"providers",
"brainwires-providers/vertex-ai",
]
wasm = ["brainwires-core/wasm"]
[lib]
name = "brainwires"
path = "src/lib.rs"
[[example]]
name = "agent_quickstart"
path = "examples/agent_quickstart.rs"
required-features = ["agents"]
[[example]]
name = "custom_embedding"
path = "examples/custom_embedding.rs"
[[example]]
name = "custom_provider"
path = "examples/custom_provider.rs"
required-features = ["providers"]
[[example]]
name = "rag_custom_pipeline"
path = "examples/rag_custom_pipeline.rs"
required-features = ["rag"]
[dependencies.brainwires-a2a]
version = "0.2.0"
optional = true
default-features = false
[dependencies.brainwires-agents]
version = "0.2.0"
optional = true
[dependencies.brainwires-audio]
version = "0.2.0"
optional = true
[dependencies.brainwires-autonomy]
version = "0.2.0"
optional = true
default-features = false
[dependencies.brainwires-brain]
version = "0.2.0"
optional = true
[dependencies.brainwires-code-interpreters]
version = "0.2.0"
optional = true
[dependencies.brainwires-core]
version = "0.2.0"
[dependencies.brainwires-datasets]
version = "0.2.0"
optional = true
[dependencies.brainwires-mcp]
version = "0.2.0"
optional = true
[dependencies.brainwires-mdap]
version = "0.2.0"
optional = true
[dependencies.brainwires-mesh]
version = "0.2.0"
optional = true
[dependencies.brainwires-permissions]
version = "0.2.0"
optional = true
[dependencies.brainwires-prompting]
version = "0.2.0"
optional = true
[dependencies.brainwires-providers]
version = "0.2.0"
optional = true
[dependencies.brainwires-proxy]
version = "0.2.0"
optional = true
[dependencies.brainwires-rag]
version = "0.2.0"
optional = true
default-features = false
[dependencies.brainwires-relay]
version = "0.2.0"
optional = true
[dependencies.brainwires-seal]
version = "0.2.0"
optional = true
[dependencies.brainwires-skills]
version = "0.2.0"
optional = true
[dependencies.brainwires-storage]
version = "0.2.0"
optional = true
[dependencies.brainwires-tool-system]
version = "0.2.0"
optional = true
[dependencies.brainwires-training]
version = "0.2.0"
optional = true
[dependencies.rmcp]
version = "1.1"
features = [
"client",
"server",
"client-side-sse",
"transport-child-process",
"transport-io",
"macros",
]
optional = true
[dependencies.schemars]
version = "1.0"
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.async-stream]
version = "0.3"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.tokio]
version = "1.43"
features = ["full"]
[dev-dependencies.tracing]
version = "0.1"
[dev-dependencies.tracing-subscriber]
version = "0.3"