[package]
name = "aprender-orchestrate"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
description = "Sovereign AI orchestration: autonomous agents, ML serving, code analysis, and transpilation pipelines"
repository.workspace = true
keywords = ["ai-agent", "ml-serving", "code-analysis", "transpiler", "sovereign-ai"]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
exclude = [
"book/",
"docs/specifications/",
".github/",
"*.md.bak",
"target/",
"*.profraw",
"*.profdata",
".vscode/",
".idea/",
".pmat/",
"proptest-regressions/",
]
[lib]
name = "batuta"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
anyhow = "1.0"
thiserror = "2.0"
chrono = { version = "0.4", features = ["serde"] }
async-trait = "0.1"
clap = { version = "4.5", features = ["derive", "env"], optional = true }
serde_yaml_ng = { version = "0.10", optional = true }
toml = { version = "0.9", optional = true }
tokio = { version = "1.48", features = ["full"], optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
walkdir = { version = "2.5", optional = true }
glob = { version = "0.3", optional = true }
which = { version = "6.0", optional = true }
renacer = { version = "0.10", optional = true }
trueno = { version = "0.17", features = ["gpu"], optional = true }
trueno-zram-core = { version = "0.3", optional = true }
trueno-ublk = { version = "0.3", optional = true }
repartir = { version = "2.0", features = ["cpu", "remote"], optional = true }
trueno-graph = { version = "0.1.17", optional = true }
trueno-db = { version = "0.3.16", optional = true }
dirs = { version = "5.0", optional = true }
batuta-common = "0.1"
blake3 = { version = "1.8", optional = true }
indexmap = { version = "2.7", features = ["serde"], optional = true }
syntect = { version = "5.2", default-features = false, features = ["default-syntaxes", "default-themes", "regex-fancy"], optional = true }
presentar-terminal = { version = "0.3", optional = true }
crossterm = { version = "0.28", optional = true }
cargo_metadata = { version = "0.19", optional = true }
semver = { version = "1.0", features = ["serde"], optional = true }
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"], default-features = false, optional = true }
futures-util = { version = "0.3", optional = true }
quick-xml = { version = "0.37", optional = true }
pacha = { version = "0.2", optional = true }
realizar = { version = "0.8", optional = true, features = ["cuda"] }
aprender = { path = "../aprender-core", version = "0.31.2", package = "aprender-core", optional = true }
entrenar = { version = "0.7", optional = true }
alimentar = { version = "0.2", optional = true }
trueno-rag = { version = "0.2", features = ["sqlite"], optional = true }
trueno-viz = { version = "0.2", optional = true }
presentar = { version = "0.3", optional = true }
whisper-apr = { version = "0.2", optional = true }
pepita = { version = "0.1", optional = true }
simular = { version = "0.3", optional = true }
bashrs = { version = "6.65", optional = true }
probar = { version = "0.1", optional = true }
axum = { version = "0.7", features = ["json", "multipart", "ws"], optional = true }
tower = { version = "0.4", features = ["util"], optional = true }
async-stream = { version = "0.3", optional = true }
tokio-stream = { version = "0.1", optional = true }
jugar-probar = { version = "1.0", features = ["browser"], optional = true }
base64 = { version = "0.22", optional = true }
pmcp = { version = "2.3", optional = true }
provable-contracts = { version = "0.2", optional = true }
provable-contracts-macros = { version = "0.2", optional = true }
resvg = { version = "0.47", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
web-sys = { version = "0.3", features = ["console"], optional = true }
[features]
default = ["native", "rag", "agents", "inference"]
native = [
"clap",
"serde_yaml_ng",
"toml",
"tokio",
"tracing",
"tracing-subscriber",
"walkdir",
"glob",
"which",
"dirs",
"cargo_metadata",
"semver",
"reqwest",
"futures-util",
"pacha",
"quick-xml",
"blake3",
"indexmap",
]
tui = ["presentar-terminal", "crossterm", "native"]
highlighting = ["syntect", "native"]
wasm = [
"wasm-bindgen",
"web-sys",
]
trueno-integration = ["trueno", "native"]
oracle-mode = ["trueno-graph", "trueno-db", "native"]
inference = ["realizar", "native"]
distributed = ["repartir", "native"]
ml = ["aprender", "entrenar", "alimentar", "native"]
rag = ["trueno-rag", "oracle-mode"]
viz = ["trueno-viz", "presentar", "native"]
speech = ["whisper-apr", "native"]
kernel = ["pepita", "native"]
compression = ["trueno-zram-core", "native"]
block-device = ["trueno-ublk", "compression"]
simulation = ["simular", "native"]
transpilers = ["bashrs", "native"]
testing = ["probar", "native"]
banco = ["native", "axum", "tower", "async-stream", "tokio-stream", "aprender", "alimentar", "entrenar", "realizar"]
coursera-assets = ["resvg", "native"]
agents = ["native"]
agents-inference = ["agents", "inference"]
agents-rag = ["agents", "rag"]
agents-browser = ["agents", "jugar-probar", "base64"]
agents-mcp = ["agents", "pmcp"]
agents-contracts = ["agents", "provable-contracts", "provable-contracts-macros"]
agents-viz = ["agents", "presentar"]
agents-full = ["agents-inference", "agents-rag"]
sovereign-stack = [
"trueno-integration", "oracle-mode", "inference", "distributed",
"ml", "rag", "viz", "speech", "compression",
"simulation", "transpilers",
"testing",
"tui", "highlighting",
"agents", "agents-mcp",
]
[build-dependencies]
serde = { version = "1", features = ["derive"] }
serde_yaml_ng = "0.10"
[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.1"
tempfile = "3.23"
criterion = { version = "0.8", features = ["html_reports"] }
proptest = "1.5"
blake3 = "1.8"
filetime = "0.2"
trueno-cuda-edge = { version = "0.1" }
jugar-probar = { version = "1.0", features = ["browser"] }
tokio-tungstenite = "0.24"
[[bench]]
name = "backend_selection"
harness = false
[[bench]]
name = "converter_performance"
harness = false
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
[lints]
workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.release]
shared-version = true
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "## \\[Unreleased\\]"
replace = "## [{{version}}] - {{date}}"
[profile.dev]
panic = "abort"