[package]
name = "granite-cli"
version = "0.2.0"
edition = "2024"
rust-version = "1.88.0"
license = "Apache-2.0"
readme = "README.md"
description = "CLI for discovering, configuring, and launching AI workflows powered by IBM Granite models."
[dependencies]
alchemy-logging = "0.1"
clap = { version = "4", features = ["derive", "env"] }
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
serde_json = "1"
anyhow = "1"
paste = "1.0.15"
dialoguer = "0.11"
dirs = "5"
tokio = { version = "1", features = ["full"] }
async-trait = "0.1"
reqwest = { version = "0.12", features = ["json", "stream"] }
num_cpus = "1"
sys-info = "0.9"
thiserror = "2"
which = "7"
schemars = "1.2.1"
ratatui = "0.30.2"
regex = "1"
crossterm = "0.28"
openssl = { version = "0.10", features = ["vendored"] }
nvml-wrapper = "0.12.1"
indicatif = "0.17"
futures-util = "0.3"
serde_valid = "2.0.3"
axum = "0.8"
bytes = "1"
flate2 = "1"
tar = "0.4"
zip = { version = "8", default-features = false, features = ["deflate"] }
rmcp = { version = "3.1", features = [
"macros",
"schemars",
"transport-io",
"transport-streamable-http-server",
] }
url = "2"
base64 = "0.22"
chrono = "0.4"
[build-dependencies]
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
[dev-dependencies]
tempfile = "3"
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.6.4"
objc2-metal = { version = "0.3.2", default-features = false, features = ["MTLDevice"] }
[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.62.2", features = ["Win32_Graphics_Dxgi", "Win32_Foundation"] }