Files
Max Mayfield b5e5d22c32
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 4m37s
Fix P1 Rust: use dd0c_route:: instead of crate:: in binary imports, add hex crate
Binary targets (api, proxy, worker) can't use crate:: to access lib modules.
Must reference the library crate name dd0c_route:: instead.
2026-03-01 16:08:25 +00:00

90 lines
2.0 KiB
TOML

[package]
name = "dd0c-route"
version = "0.1.0"
edition = "2021"
description = "LLM Cost Router & Dashboard — route AI requests to the cheapest capable model"
license = "MIT"
[[bin]]
name = "dd0c-proxy"
path = "src/proxy/main.rs"
[[bin]]
name = "dd0c-api"
path = "src/api/main.rs"
[[bin]]
name = "dd0c-worker"
path = "src/worker/main.rs"
[dependencies]
hex = "0.4.3"
# Web framework
axum = { version = "0.7", features = ["ws", "macros"] }
tokio = { version = "1", features = ["full"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace", "compression-gzip"] }
hyper = { version = "1", features = ["full"] }
hyper-util = "0.1"
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Database
sqlx = { version = "0.7", features = ["runtime-tokio", "postgres", "uuid", "chrono", "json"] }
deadpool-redis = "0.15"
redis = { version = "0.25", features = ["tokio-comp", "connection-manager"] }
# Auth
jsonwebtoken = "9"
bcrypt = "0.15"
uuid = { version = "1", features = ["v4", "serde"] }
# Observability
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
opentelemetry = "0.22"
opentelemetry-otlp = "0.15"
# Config
dotenvy = "0.15"
config = "0.14"
# HTTP client (upstream providers)
reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] }
reqwest-eventsource = "0.6"
futures = "0.3"
tokio-stream = "0.1"
bytes = "1"
# Crypto (provider key encryption)
aes-gcm = "0.10"
base64 = "0.22"
# Feature flags
serde_yaml = "0.9"
# Misc
chrono = { version = "0.4", features = ["serde"] }
thiserror = "1"
anyhow = "1"
getrandom = "0.2"
regex = "1"
async-trait = "0.1"
rand = "0.8"
[dev-dependencies]
# Testing
tokio-test = "0.4"
wiremock = "0.6"
testcontainers = "0.15"
testcontainers-modules = { version = "0.3", features = ["postgres", "redis"] }
proptest = "1"
criterion = { version = "0.5", features = ["async_tokio"] }
tower-test = "0.4"
[[bench]]
name = "proxy_latency"
harness = false