[package]
name = "svault-ai"
version = "0.9.2"
edition = "2021"
authors = ["Soluzy <nima@soluzy.ro>"]
description = "AI-aware secret access layer — enforces structured requests and detects suspicious patterns"
license = "Apache-2.0"
repository = "https://github.com/Soluzy/Svault"
homepage = "https://github.com/Soluzy/Svault"
documentation = "https://docs.rs/svault-ai"
readme = "README.md"
keywords = ["security", "secrets", "vault", "ai", "encryption"]
categories = ["authentication", "cryptography", "command-line-utilities"]

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

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

# Terminal output + prompts
console = "0.15"
dialoguer = "0.11"

# Interactive TUI (Step 1+)
ratatui = "0.30"
crossterm = "0.29"

# Crypto — AES-256-GCM + Argon2id + HMAC-SHA256
aes-gcm = "0.10"
argon2 = "0.5"
hmac = "0.12"
sha2 = "0.10"
rand = "0.8"
hex = "0.4"

# Memory safety — zero secrets on drop
zeroize = { version = "1", features = ["derive"] }

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"

# AI judge — blocking HTTPS to OpenRouter (bundled rustls, no OpenSSL). The
# daemon is thread-per-connection/synchronous, so no async runtime is involved.
ureq = { version = "2", features = ["json", "tls"] }

# Error handling
anyhow = "1"
chrono = { version = "0.4", features = ["serde"] }

# Unix daemon — setsid (detach) + kill (liveness / stop). Unix only.
[target.'cfg(unix)'.dependencies]
libc = "0.2"

[dev-dependencies]
tempfile = "3"
