Files
GopherGate/Cargo.toml
hobokenchicken 2cdc49d7f2
Some checks failed
CI / Check (push) Has been cancelled
CI / Clippy (push) Has been cancelled
CI / Formatting (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Release Build (push) Has been cancelled
refactor: comprehensive audit — fix bugs, harden security, deduplicate providers, add CI/Docker
Phase 1: Fix compilation (config_path Option<PathBuf>, streaming test, stale test cleanup)
Phase 2: Fix critical bugs (remove block_on deadlocks in 4 providers, fix broken SQL query builder)
Phase 3: Security hardening (session manager, real auth, token masking, Gemini key to header, password policy)
Phase 4: Implement stubs (real provider test, /proc health metrics, client/provider/backup endpoints, has_images)
Phase 5: Code quality (shared provider helpers, explicit re-exports, all Clippy warnings fixed, unwrap removal, 6 unused deps removed, dashboard split into 7 sub-modules)
Phase 6: Infrastructure (GitHub Actions CI, multi-stage Dockerfile, rustfmt.toml, clippy.toml, script fixes)
2026-03-02 00:35:45 -05:00

69 lines
2.0 KiB
TOML

[package]
name = "llm-proxy"
version = "0.1.0"
edition = "2024"
description = "Unified LLM proxy gateway supporting OpenAI, Gemini, DeepSeek, and Grok with token tracking and cost calculation"
authors = ["newkirk"]
license = "MIT OR Apache-2.0"
repository = ""
[dependencies]
# ========== Web Framework & Async Runtime ==========
axum = { version = "0.8", features = ["macros", "ws"] }
tokio = { version = "1.0", features = ["rt-multi-thread", "macros", "net", "time", "signal", "fs"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["trace", "cors", "compression-gzip", "fs"] }
# ========== HTTP Clients ==========
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
tiktoken-rs = "0.9"
# ========== Database & ORM ==========
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "macros", "migrate", "chrono"] }
# ========== Authentication & Middleware ==========
axum-extra = { version = "0.12", features = ["typed-header"] }
headers = "0.4"
# ========== Configuration Management ==========
config = "0.13"
dotenvy = "0.15"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# ========== Logging & Monitoring ==========
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# ========== Multimodal & Image Processing ==========
base64 = "0.21"
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp"] }
mime = "0.3"
# ========== Error Handling & Utilities ==========
anyhow = "1.0"
thiserror = "1.0"
bcrypt = "0.15"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
futures = "0.3"
async-trait = "0.1"
async-stream = "0.3"
reqwest-eventsource = "0.6"
[dev-dependencies]
tokio-test = "0.4"
mockito = "1.0"
tempfile = "3.10"
assert_cmd = "2.0"
insta = "1.39"
anyhow = "1.0"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"