[package]
edition = "2024"
rust-version = "1.91"
name = "brainwires-tool-runtime"
version = "0.11.0"
authors = ["Brainwires"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tool execution runtime for the Brainwires Agent Framework — executor trait, registry, error taxonomy, sanitization, validation, transactions, smart router, plus optional orchestrator / OAuth / OpenAPI / sandbox / sessions / RAG-tool-search modules"
homepage = "https://github.com/Brainwires/brainwires-framework"
documentation = "https://docs.rs/brainwires-tool-runtime"
readme = "README.md"
keywords = [
"ai-tools",
"tool-runtime",
"executor",
"registry",
"llm",
]
categories = ["development-tools"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Brainwires/brainwires-framework"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["native"]
full = [
"orchestrator",
"oauth",
"openapi",
"sandbox",
"sessions",
"rag",
]
native = [
"tokio/process",
"tokio/fs",
"brainwires-core/native",
]
oauth = [
"native",
"dep:getrandom",
"dep:zeroize",
"dep:reqwest",
]
openapi = [
"dep:openapiv3",
"dep:serde_yml",
"dep:reqwest",
]
orchestrator = [
"dep:rhai",
"rhai/sync",
]
orchestrator-wasm = [
"dep:rhai",
"dep:web-time",
]
rag = ["dep:brainwires-rag"]
sandbox = [
"native",
"dep:brainwires-sandbox",
]
sessions = [
"native",
"dep:brainwires-stores",
"dep:chrono",
]
wasm = ["brainwires-core/wasm"]
[lib]
name = "brainwires_tool_runtime"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
version = "0.1"
[dependencies.brainwires-core]
version = "0.11.0"
default-features = false
[dependencies.brainwires-rag]
version = "0.11.0"
optional = true
default-features = false
[dependencies.brainwires-sandbox]
version = "0.11.0"
optional = true
default-features = false
[dependencies.brainwires-stores]
version = "0.11.0"
features = ["session"]
optional = true
default-features = false
[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.openapiv3]
version = "2"
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
]
optional = true
[dependencies.rhai]
version = "1.23"
features = [
"serde",
"std",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yml]
version = "0.0.12"
optional = true
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1.43"
features = ["time"]
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.web-time]
version = "1.1"
optional = true
[dependencies.zeroize]
version = "1"
features = ["derive"]
optional = true
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.43"
features = [
"full",
"test-util",
]