Files
anyllm-proxy/crates/proxy/Cargo.toml
whit3rabbitandClaude 75a5a3a230 chore: release v0.16.0
Bump workspace + all inter-crate version refs from 0.15.1 to 0.16.0
(workspace Cargo.toml, anyllm_client pinned version, batch_engine,
proxy's 8 internal deps, optimizer core/passes/scorer + cli + benches).
Refresh Cargo.lock. Move CHANGELOG [Unreleased] -> [0.16.0] - 2026-07-16
and add a fresh empty [Unreleased]; bump the README deb filename to
anyllm-proxy_0.16.0-1_amd64.deb and add the v0.16.0 compare link.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-16 20:12:53 -05:00

133 lines
4.6 KiB
TOML

[package]
name = "anyllm_proxy"
description = "HTTP proxy translating Anthropic Messages API to OpenAI Chat Completions"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
# Package name stays anyllm_proxy (crates.io / `-p` selector), but emit the
# binary as anyllm-proxy so one hyphenated name flows through deb/brew/release.
[[bin]]
name = "anyllm-proxy"
path = "src/main.rs"
[dependencies]
anyllm_translate = { path = "../translator", version = "0.16.0" }
anyllm_client = { path = "../client", version = "0.16.0" }
anyllm_batch_engine = { path = "../batch_engine", version = "0.16.0" }
anyllm_providers = { path = "../providers", version = "0.16.0", features = ["runtime-catalog"] }
anyllm_pxpipe = { path = "../pxpipe", version = "0.16.0" }
anyllm_rtk = { path = "../rtk", version = "0.16.0" }
anyllm_optimize_core = { path = "../optimizer/crates/optimize-core", version = "0.16.0" }
anyllm_optimize_passes = { path = "../optimizer/crates/optimize-passes", version = "0.16.0" }
# Always compiled for the model-artifact detect/download admin flow; the heavy ONNX
# scorer inference is gated behind the proxy's `optimizer-onnx` feature (below).
anyllm_optimize_scorer = { path = "../optimizer/crates/optimize-scorer", version = "0.16.0" }
axum = { version = "0.8", features = ["ws", "multipart"] }
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "native-tls", "http2", "multipart"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
futures = "0.3"
tokio-stream = "0.1"
tower = "0.5"
url = "2"
tracing = "0.1"
tiktoken-rs = "0.9"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
uuid = { version = "1", features = ["v4"] }
toml = "1.0.7"
indexmap = { version = "2.13.0", features = ["serde"] }
bytes = "1.11.1"
subtle = "2"
sha2 = "0.10"
hmac = "0.12"
rusqlite = { version = "0.32", features = ["bundled"] }
httpdate = "1"
dashmap = "6"
getrandom = "0.3"
aws-sigv4 = { version = "1.4", features = ["sign-http"] }
aws-credential-types = "1.2"
aws-smithy-runtime-api = "1"
base64 = "0.22"
hex = "0.4"
moka = { version = "0.12", features = ["future", "sync"] }
serde_yaml = "0.9"
jsonwebtoken = "10"
ipnetwork = "0.20"
zeroize = "1"
crc32fast = "1"
chrono = { version = "0.4", features = ["serde"] }
secrets_scanner = { version = "0.2.2", optional = true, default-features = false }
[features]
default = ["secrets-scanner"]
secrets-scanner = ["dep:secrets_scanner"]
## Enables BashTool and ReadFileTool in the builtin tool registry.
## These tools execute arbitrary shell commands and read arbitrary files as the
## proxy process user. Do NOT enable in production without sandboxing.
dangerous-builtin-tools = []
redis = ["dep:redis"]
qdrant = ["dep:qdrant-client"]
## Compile the LLMLingua-2 ONNX scorer into the proxy (opt-in; `ort` downloads an
## onnxruntime binary at build time). Without it, the optimizer live-mode uses the
## heuristic UniformScorer and the admin model-download UI reports "not compiled in".
optimizer-onnx = ["anyllm_optimize_scorer/onnx"]
otel = [
"opentelemetry",
"opentelemetry_sdk",
"opentelemetry-otlp",
"tracing-opentelemetry",
]
[dependencies.opentelemetry]
version = "0.32"
optional = true
[dependencies.opentelemetry_sdk]
version = "0.32"
optional = true
[dependencies.opentelemetry-otlp]
version = "0.32"
default-features = false
features = ["trace", "http-proto", "reqwest-client"]
optional = true
[dependencies.tracing-opentelemetry]
version = "0.33"
optional = true
[dependencies.redis]
version = "0.27"
features = ["tokio-comp", "connection-manager"]
optional = true
[dependencies.qdrant-client]
version = "1"
optional = true
[dev-dependencies]
pretty_assertions = "1"
reqwest = { version = "0.12", default-features = false, features = ["json", "native-tls", "multipart"] }
tokio = { version = "1", features = ["full"] }
tempfile = "3"
[package.metadata.deb]
name = "anyllm-proxy"
section = "net"
priority = "optional"
depends = "libc6 (>= 2.31)"
maintainer-scripts = "../../packaging"
conf-files = ["/etc/default/anyllm-proxy"]
extended-description = """\
HTTP proxy that accepts Anthropic Messages API and OpenAI Chat Completions \
requests, translates between formats, and forwards to any supported backend. \
Supports streaming SSE, tool calling, virtual key management, and cost tracking."""
assets = [
["target/release/anyllm-proxy", "/usr/bin/anyllm-proxy", "755"],
["../../packaging/anyllm-proxy.service", "/lib/systemd/system/anyllm-proxy.service", "644"],
["../../packaging/anyllm-proxy.default", "/etc/default/anyllm-proxy", "640"],
]