[package]
name = "zagens-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true
description = "Zagens headless CLI + HTTP/SSE runtime sidecar (`zagens`, `zagens-runtime` binaries)"
default-run = "zagens-runtime"
[features]
default = ["json", "toml"]
json = ["schemaui/json"]
toml = ["schemaui/toml"]
web = ["dep:schemaui", "schemaui/web", "json", "toml"]
[lib]
name = "zagens_runtime"
path = "src/lib.rs"
[[bin]]
name = "zagens-runtime"
path = "src/main.rs"
[[bin]]
name = "zagens"
path = "src/bin/zagens.rs"
[[bin]]
name = "export-runtime-openapi"
path = "src/bin/export_runtime_openapi.rs"
[dependencies]
anyhow.workspace = true
zagens-runtime-adapters = { path = "../runtime-adapters", version = "0.7.3" }
zagens-runtime-api = { path = "../runtime-api", version = "0.7.3" }
zagens-runtime-orchestrator = { path = "../runtime-orchestrator", version = "0.7.3" }
zagens-config = { path = "../config", version = "0.7.3" }
zagens-core = { path = "../core", version = "0.7.3" }
zagens-topic-memory = { path = "../topic-memory", version = "0.7.3" }
zagens-secrets = { path = "../secrets", version = "0.7.3" }
zagens-protocol = { path = "../protocol", version = "0.7.3" }
zagens-tools = { path = "../tools", version = "0.7.3" }
schemaui = { version = "0.12.0", default-features = false, optional = true }
async-stream = "0.3.6"
async-trait.workspace = true
base64 = "0.22.1"
axum.workspace = true
clap.workspace = true
clap_complete.workspace = true
colored = "3.0.0"
dotenvy = "0.15.7"
dirs.workspace = true
fd-lock = "4.0.4"
futures-util = "0.3.31"
regex = "1.11"
reqwest = { workspace = true, features = ["blocking", "stream", "multipart", "http2"] }
similar = "2"
rustyline = "15.0.0"
serde.workspace = true
serde_json = { workspace = true, features = ["preserve_order"] }
syn = { version = "2", features = ["full", "parsing", "extra-traits"] }
proc-macro2 = { version = "1", features = ["span-locations"] }
schemars = { version = "1.2.1", features = ["derive", "preserve_order", "chrono04"] }
shellexpand = "3"
toml.workspace = true
tokio.workspace = true
tokio-util = { version = "0.7.16", features = ["io"] }
unicode-width = "0.2"
unicode-segmentation = "1.12"
uuid.workspace = true
chrono.workspace = true
tempfile = "3.16"
thiserror.workspace = true
tracing.workspace = true
tower-http.workspace = true
wait-timeout = "0.2"
multimap = "0.10.0"
shlex = "1.3.0"
starlark = "0.13.0"
tiny_http = "0.12"
portable-pty = "0.8"
zeroize = "1.8.2"
ignore = "0.4"
globset = "0.4"
image = { version = "0.25", default-features = false, features = ["png"] }
pdf-extract = "0.7"
tar = "0.4"
flate2 = "1.1"
sha2.workspace = true
rusqlite.workspace = true
encoding_rs = "0.8"
zip = "2.2"
rust_xlsxwriter = "0.81"
calamine = { version = "0.35", features = ["dates"] }
[dev-dependencies]
anyhow.workspace = true
wiremock = "0.6"
pretty_assertions = "1.4"
reqwest = { workspace = true, features = ["json", "rustls"] }
serde_json.workspace = true
tokio = { workspace = true, features = ["io-util", "macros", "process", "rt-multi-thread", "time"] }
uuid.workspace = true
[target.'cfg(target_os = "macos")'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.60", features = ["Win32_Foundation", "Win32_System_Console", "Win32_UI_WindowsAndMessaging", "Win32_System_Diagnostics_Debug"] }
[lints.rust]
dead_code = "allow"