[package]
name = "nenjo-worker"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Agent worker for the Nenjo platform"

[dependencies]
# Async runtime
tokio = { workspace = true, features = ["full"] }
tokio-util = { workspace = true, features = ["rt"] }

# Web framework
axum = { workspace = true, features = ["ws"] }
tower = { workspace = true }
tower-http = { workspace = true, features = ["cors", "compression-full", "trace"] }

# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = { workspace = true }

# Workspace crates
nenjo-knowledge = { workspace = true }
nenjo = { workspace = true }
nenjo-crypto-auth = { workspace = true }
nenjo-platform = { workspace = true }
nenjo-xml = { workspace = true }
nenjo-models = { workspace = true }
nenjo-events = { workspace = true }
nenjo-eventbus = { workspace = true, features = ["nats"] }
nenjo-harness = { workspace = true, features = ["local-runtime"] }
nenjo-nenpm = { workspace = true }
nenjo-packages = { workspace = true }
nenjo-secure-envelope = { workspace = true }
nenjo-sessions = { workspace = true }

# HTTP client
reqwest = { workspace = true, features = ["json", "stream"] }

# Configuration
config = { workspace = true }
dotenvy = { workspace = true }

# Logging and tracing
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }

# Error handling
anyhow = { workspace = true }
thiserror = { workspace = true }

# Utilities
uuid = { workspace = true, features = ["v4", "serde"] }
chrono = { workspace = true, features = ["serde"] }
async-trait = { workspace = true }
futures-util = { workspace = true }
regex = { workspace = true }

# Config
directories = { workspace = true }
toml = { workspace = true }
shellexpand = { workspace = true }
tempfile = { workspace = true }
parking_lot = { workspace = true }
arc-swap = { workspace = true }
dashmap = { workspace = true }
base64 = { workspace = true }
sha2 = { workspace = true }
hkdf = { workspace = true }
aes-gcm = { workspace = true, features = ["std"] }
ed25519-dalek = { workspace = true, features = ["rand_core"] }
x25519-dalek = { workspace = true, features = ["static_secrets"] }
rand_core = { workspace = true, features = ["getrandom"] }
zeroize = { workspace = true, features = ["zeroize_derive"] }
glob = { workspace = true }
cron = { workspace = true }
nanohtml2text = { workspace = true }
urlencoding = { workspace = true }
which = { workspace = true }

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

# TLS
rustls = { workspace = true, default-features = false, features = ["ring"] }

# Testing
tokio-test = { workspace = true }
axum-test = { workspace = true }
