[package]
name = "aa-proxy"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Sidecar traffic interception proxy for Agent Assembly"

[lib]
name = "aa_proxy"

[[bin]]
name = "aa-proxy"
path = "src/main.rs"

[dependencies]
aa-core    = { path = "../aa-core", version = "0.0.1-beta.2", features = ["serde"] }
aa-security = { path = "../aa-security", version = "0.0.1-beta.2", features = ["serde"] }
aa-proto   = { path = "../aa-proto", version = "0.0.1-beta.2" }
aa-runtime = { path = "../aa-runtime", version = "0.0.1-beta.2" }
tokio      = { workspace = true, features = ["full"] }
hyper      = { workspace = true, features = ["server", "http1"] }
hyper-util   = { version = "0.1", features = ["tokio", "server"] }
rustls       = { workspace = true, features = ["ring"] }
tokio-rustls       = { workspace = true }
rustls-native-certs = "0.8"
rcgen        = { workspace = true, features = ["x509-parser"] }
time         = { workspace = true }
lru          = "0.18"
serde        = { workspace = true }
serde_json   = { workspace = true }
anyhow       = { workspace = true }
thiserror    = { workspace = true }
dirs                = { workspace = true }
bytes               = { workspace = true }
tracing             = { workspace = true }
tracing-subscriber  = { workspace = true, features = ["env-filter"] }

[lints]
workspace = true

[dev-dependencies]
bytes = { workspace = true }
criterion = { workspace = true, features = ["async_tokio", "html_reports"] }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt", "sync", "macros"] }

[[bench]]
name    = "intercept_bench"
harness = false
