[package]
name = "net-guardia"
version = "1.0.0"
edition = "2024"

[dependencies]
net-guardia-abi = { workspace = true, features = ["user"] }
macros = { workspace = true }

# eBPF userspace
aya = { workspace = true }
aya-log = { workspace = true }
xsk-rs = { workspace = true }
libxdp-sys = { workspace = true }
libc = { workspace = true }

# Web
actix = { workspace = true }
actix-web = { workspace = true }
actix-cors = { workspace = true }
actix-ws = { workspace = true }
actix-multipart = { workspace = true }
actix-files = { workspace = true }
uuid = { workspace = true }
rust-embed = { workspace = true }
mime_guess = { workspace = true }
url = { workspace = true }
zip = { workspace = true }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml_ng = { workspace = true }

# Async
tokio = { workspace = true }
tokio-util = { workspace = true }
futures-util = { workspace = true }
crossbeam = { workspace = true }

# Logging
tracing = { workspace = true }
tracing-appender = { workspace = true }
tracing-subscriber = { workspace = true }

# ML
tract-onnx = { workspace = true }

# Email
lettre = { workspace = true }
chrono = { workspace = true }

# HTTP client (Telegram, MCP proxy)
reqwest = { workspace = true }

# CLI
clap = { workspace = true, features = ["env"] }

# Architecture
async-trait = { workspace = true }
dashmap = { workspace = true }
arc-swap = { workspace = true }
moka = { workspace = true }
notify = { workspace = true }

# Utilities
parking_lot = { workspace = true }
thiserror = { workspace = true }
sysinfo = { workspace = true }
maxminddb = { workspace = true }
ipnetwork = { workspace = true }
lru = { workspace = true }
rusqlite = { workspace = true }
async-sqlite = { workspace = true }
argon2 = { workspace = true }
sha2 = { workspace = true }
hmac = { workspace = true }
aes-gcm = { workspace = true }
hkdf = { workspace = true }
base64 = { workspace = true }
sd-notify = { workspace = true }
rand = { workspace = true }

[features]
default = []

[build-dependencies]
cargo_metadata = { workspace = true }
which = { workspace = true }
dotenvy = { workspace = true }

[[bin]]
name = "net-guardia"
path = "src/main.rs"
