[package]
name = "gaze-cli"
version = "0.8.0-rc.1"
edition = "2021"
rust-version = "1.89"
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Gaze command-line interface"
readme = "README.md"
keywords = ["pii", "gaze", "cli"]
categories = ["command-line-utilities", "text-processing"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
default = []
safety-net-openai = ["gaze-recognizers/safety-net-openai"]
safety-net-kiji = ["gaze-recognizers/safety-net-kiji"]
document = ["dep:gaze-document"]
mcp = [
    "dep:async-trait",
    "dep:directories-next",
    "dep:gaze-mcp-core",
    "dep:gaze-mcp-rmcp",
    "dep:pdfium-render",
    "dep:tokio",
    "document",
    "gaze-document/mcp",
]

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

[dependencies]
base64 = "0.22"
chrono = "0.4"
clap = { version = "4", features = ["derive"] }
async-trait = { version = "0.1", optional = true }
directories-next = { version = "2", optional = true }
gaze = { path = "../gaze", version = "0.8.0-rc.1", package = "gaze-pii" }
gaze-assembly = { path = "../gaze-assembly", version = "0.8.0-rc.1" }
gaze-audit = { workspace = true }
gaze-document = { path = "../gaze-document", version = "0.8.0-rc.1", optional = true }
gaze-mcp-core = { path = "../gaze-mcp-core", version = "0.8.0-rc.1", optional = true }
gaze-mcp-rmcp = { path = "../gaze-mcp-rmcp", version = "0.8.0-rc.1", optional = true }
gaze-recognizers = { path = "../gaze-recognizers", version = "0.8.0-rc.1" }
gaze-types = { workspace = true }
pdfium-render = { version = "0.9", optional = true }
regex = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }
tracing = "0.1"

[dev-dependencies]
assert_cmd = "2"
base64 = "0.22"
gaze-audit = { workspace = true }
gaze-recognizers = { path = "../gaze-recognizers", version = "0.8.0-rc.1", features = ["test-support"] }
rusqlite = { workspace = true }
serde_json = "1"
tempfile = "3"
