[package]
edition = "2021"
name = "anyllm_proxy"
version = "0.9.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP proxy translating Anthropic Messages API to OpenAI Chat Completions"
readme = "README.md"
license = "MIT"
repository = "https://github.com/whit3rabbit/anyllm-proxy"
[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",
],
]
[features]
dangerous-builtin-tools = []
otel = [
"opentelemetry",
"opentelemetry_sdk",
"opentelemetry-otlp",
"tracing-opentelemetry",
]
qdrant = ["dep:qdrant-client"]
redis = ["dep:redis"]
[lib]
name = "anyllm_proxy"
path = "src/lib.rs"
[[bin]]
name = "anyllm_proxy"
path = "src/main.rs"
[[test]]
name = "audio_image"
path = "tests/audio_image.rs"
[[test]]
name = "batch_api"
path = "tests/batch_api.rs"
[[test]]
name = "body_logging"
path = "tests/body_logging.rs"
[[test]]
name = "chat_completions"
path = "tests/chat_completions.rs"
[[test]]
name = "compatibility"
path = "tests/compatibility.rs"
[[test]]
name = "embeddings"
path = "tests/embeddings.rs"
[[test]]
name = "error_fixtures"
path = "tests/error_fixtures.rs"
[[test]]
name = "fallback"
path = "tests/fallback.rs"
[[test]]
name = "health"
path = "tests/health.rs"
[[test]]
name = "live_api"
path = "tests/live_api.rs"
[[test]]
name = "live_azure"
path = "tests/live_azure.rs"
[[test]]
name = "live_bedrock"
path = "tests/live_bedrock.rs"
[[test]]
name = "live_responses"
path = "tests/live_responses.rs"
[[test]]
name = "multi_backend"
path = "tests/multi_backend.rs"
[[test]]
name = "runtime"
path = "tests/runtime.rs"
[[test]]
name = "shutdown"
path = "tests/shutdown.rs"
[[test]]
name = "simple_config"
path = "tests/simple_config.rs"
[[test]]
name = "streaming_tool_loop"
path = "tests/streaming_tool_loop.rs"
[[test]]
name = "tool_execution"
path = "tests/tool_execution.rs"
[[test]]
name = "virtual_keys"
path = "tests/virtual_keys.rs"
[dependencies.anyllm_batch_engine]
version = "0.9.6"
[dependencies.anyllm_client]
version = "0.9.6"
[dependencies.anyllm_providers]
version = "0.9.6"
[dependencies.anyllm_translate]
version = "0.9.6"
[dependencies.aws-credential-types]
version = "1.2"
[dependencies.aws-sigv4]
version = "1.4"
features = ["sign-http"]
[dependencies.aws-smithy-runtime-api]
version = "1"
[dependencies.axum]
version = "0.8"
features = [
"ws",
"multipart",
]
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.crc32fast]
version = "1"
[dependencies.dashmap]
version = "6"
[dependencies.futures]
version = "0.3"
[dependencies.getrandom]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.httpdate]
version = "1"
[dependencies.indexmap]
version = "2.13.0"
features = ["serde"]
[dependencies.ipnetwork]
version = "0.20"
[dependencies.jsonwebtoken]
version = "10"
[dependencies.moka]
version = "0.12"
features = [
"future",
"sync",
]
[dependencies.opentelemetry]
version = "0.31"
optional = true
[dependencies.opentelemetry-otlp]
version = "0.31"
features = [
"trace",
"http-proto",
"reqwest-client",
]
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.31"
optional = true
[dependencies.qdrant-client]
version = "1"
optional = true
[dependencies.redis]
version = "0.27"
features = [
"tokio-comp",
"connection-manager",
]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"native-tls",
"http2",
"multipart",
]
default-features = false
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2"
[dependencies.tiktoken-rs]
version = "0.9"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.toml]
version = "1.0.7"
[dependencies.tower]
version = "0.5"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.32"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.url]
version = "2"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.zeroize]
version = "1"
[dev-dependencies.pretty_assertions]
version = "1"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"native-tls",
"multipart",
]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]