[package]
name = "assay-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
description = "CLI for Assay"
[lints]
workspace = true
[[bin]]
name = "assay"
path = "src/main.rs"
[features]
default = ["tui", "sim"]
experimental = ["assay-core/experimental"]
profile-test-hook = []
tui = ["dep:ratatui", "dep:crossterm"]
sim = ["dep:assay-sim"]
[dependencies]
anyhow.workspace = true
async-trait.workspace = true
serde = { workspace = true, features = ["std"] }
serde_json = { workspace = true, features = ["std"] }
clap.workspace = true
tracing.workspace = true
env_logger = "0.11"
tokio.workspace = true
assay-core.workspace = true
assay-monitor.workspace = true
assay-common = { workspace = true, features = ["std"] }
assay-policy = { workspace = true }
assay-metrics = { workspace = true }
assay-evidence = { workspace = true }
assay-mcp-server = { workspace = true }
assay-sim = { workspace = true, optional = true }
dialoguer = "0.11"
similar = "2"
serde_yaml.workspace = true
chrono = { workspace = true, features = ["std", "clock"] }
sha2 = { workspace = true }
hex = { workspace = true }
dirs = "5.0"
ed25519-dalek = { version = "2.1", features = ["pkcs8", "pem", "rand_core"] }
rand = "0.8"
pkcs8 = { version = "0.10", features = ["pem"] }
base64 = "0.22"
sysinfo = "0.30"
humantime = "2"
tokio-stream = "0.1"
futures = "0.3"
globset = "0.4"
libc = "0.2"
once_cell = "1.18"
nix = { version = "0.27", features = ["signal", "process", "fs", "ioctl"] }
ratatui = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
landlock = "=0.4.3"
[dev-dependencies]
tempfile = "3"
regex = "1"
assert_cmd = "2.1.1"
predicates = "3.1.3"
proptest = "1.4"
serial_test = "3.3.1"