# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "anyllm_proxy"
version = "0.9.7"
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.7"

[dependencies.anyllm_client]
version = "0.9.7"

[dependencies.anyllm_providers]
version = "0.9.7"
features = ["runtime-catalog"]

[dependencies.anyllm_translate]
version = "0.9.7"

[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"]
