[package]
name = "aprender-cbtop"
version.workspace = true
edition = "2021"
description = "Compute Block Top - Real-time load testing and hardware monitoring TUI"
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/trueno"
keywords = ["gpu", "cuda", "simd", "monitoring", "tui"]
categories = ["command-line-utilities", "hardware-support", "visualization"]
authors = ["Trueno Engineering"]

[[bin]]
name = "aprender-cbtop"
path = "src/main.rs"

[lib]
name = "cbtop"

[dependencies]
# Canonical Brick/Widget framework - ALL WIDGETS FROM HERE
# Provides: BrailleGraph, Meter, Table, TuiApp, DirectTerminalCanvas, ColorMode
presentar-core = "0.3"
presentar-terminal = "0.3"

# Compute backends
trueno = { version = "0.31.2", path = "../aprender-compute", package = "aprender-compute" }
trueno-gpu = { version = "0.31.2", path = "../aprender-gpu", package = "aprender-gpu", optional = true }

# Terminal handling
crossterm = "0.28"

# Async runtime for wgpu
pollster = "0.4"

# CLI parsing
clap = { version = "4", features = ["derive"] }

# Batuta shared utilities (format_bytes, sys info)
batuta-common = "0.1"

# Error handling
anyhow = "1"
thiserror = "1"

# Time handling
chrono = "0.4"

# Serialization for headless mode
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
dirs = "5.0"

# Unix statvfs for disk metrics
[target.'cfg(unix)'.dependencies]
libc = "0.2"

[dev-dependencies]
proptest = "1"
tempfile = "3"
# TUI pixel-level testing framework
jugar-probar = "1.0"

[features]
default = []
cuda = ["dep:trueno-gpu", "trueno-gpu/cuda"]
wos-kernel = []
full = ["cuda", "wos-kernel"]

[lints.clippy]
wildcard_enum_match_arm = "deny"
