[package]
edition = "2021"
rust-version = "1.88.0"
name = "vellaveto-http-proxy"
version = "6.1.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Vellaveto MCP policy firewall — Streamable HTTP reverse proxy"
homepage = "https://vellaveto.online"
readme = "README.md"
keywords = [
"mcp",
"security",
"firewall",
"ai-agent",
"policy",
]
categories = [
"command-line-utilities",
"network-programming",
]
license = "BUSL-1.1"
repository = "https://github.com/paolovella/vellaveto"
[features]
default = []
discovery = ["vellaveto-mcp/discovery"]
grpc = [
"tonic",
"tonic-prost",
"prost",
"prost-types",
"tonic-health",
"tonic-build",
"tonic-prost-build",
"tokio-util",
"tokio-stream",
]
projector = ["vellaveto-mcp/projector"]
[lib]
name = "vellaveto_http_proxy"
path = "src/lib.rs"
[[bin]]
name = "vellaveto-http-proxy"
path = "src/main.rs"
[[test]]
name = "proxy_integration"
path = "tests/proxy_integration.rs"
[[bench]]
name = "http_proxy"
path = "benches/http_proxy.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.axum]
version = "0.8"
features = ["ws"]
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.6"
features = ["derive"]
[dependencies.dashmap]
version = "6"
[dependencies.ed25519-dalek]
version = "2.1"
features = ["rand_core"]
[dependencies.futures-util]
version = "0.3"
[dependencies.governor]
version = "0.10"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.http]
version = "1"
[dependencies.jsonwebtoken]
version = "10"
features = ["aws_lc_rs"]
[dependencies.metrics]
version = "0.24"
[dependencies.prost]
version = "0.14"
optional = true
[dependencies.prost-types]
version = "0.14"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26"
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tokio-tungstenite]
version = "0.29"
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.tonic]
version = "0.14"
optional = true
[dependencies.tonic-health]
version = "0.14"
optional = true
[dependencies.tonic-prost]
version = "0.14"
optional = true
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.uuid]
version = "1.22"
features = ["v4"]
[dependencies.vellaveto-approval]
version = "6.0.9"
[dependencies.vellaveto-audit]
version = "6.0.9"
[dependencies.vellaveto-canonical]
version = "6.0.9"
[dependencies.vellaveto-config]
version = "6.0.9"
[dependencies.vellaveto-engine]
version = "6.0.9"
[dependencies.vellaveto-mcp]
version = "6.0.9"
[dependencies.vellaveto-tls]
version = "6.0.9"
[dependencies.vellaveto-types]
version = "6.0.9"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3.27"
[build-dependencies.tonic-build]
version = "0.14"
optional = true
[build-dependencies.tonic-prost-build]
version = "0.14"
optional = true