[package]
description = "Mecha10 CLI tool"
edition.workspace = true
license.workspace = true
name = "mecha10-cli"
repository.workspace = true
version.workspace = true

[lib]
name = "mecha10_cli"
path = "src/lib.rs"

[[bin]]
name = "mecha10"
path = "src/main.rs"

[dependencies]
anyhow.workspace = true
async-trait = { workspace = true }
atty = "0.2"
blake3 = "1.5"
chrono = { version = "0.4", features = ["serde"] }
clap.workspace = true
console = "0.15"
crossterm = "0.28"
ctrlc = "3.4"
dialoguer = "0.11"
dirs = "5.0"
dotenvy = "0.15"
flate2 = "1.0"
futures-util = "0.3"
hf-hub = { version = "0.3", features = ["tokio"] }
indicatif = "0.17"
mecha10-core = { version = "0.1", path = "../core" }
mecha10-diagnostics = { version = "0.1", path = "../services/diagnostics" }
mecha10-runtime = { version = "0.1", path = "../runtime" }
ort = { version = "2.0.0-rc.10", features = ["download-binaries"] }
ratatui = "0.29"
redis = { workspace = true }
regex = "1.10"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream"] }
serde.workspace = true
serde_json.workspace = true
serde_yaml = "0.9"
tar = "0.4"
tempfile = "3"
tokio.workspace = true
toml = "0.8"
tracing.workspace = true
tracing-subscriber.workspace = true
which = "6.0"

[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["signal", "process"] }

[dev-dependencies]
serial_test = "3"
