[package] name = "llm-bridge" version = "0.1.0" edition = "2021" description = "OpenAI-compatible local API gateway that drives a real authenticated browser to talk to LLM web UIs" license = "MIT" default-run = "llm-gateway" rust-version = "1.85" [[bin]] name = "llm-gateway" path = "src/main.rs" [lib] name = "llm_bridge" path = "src/lib.rs" [dependencies] tokio = { version = "1", features = ["full"] } axum = "0.8" tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace"] } hyper = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" chromiumoxide = "0.9" futures = "0.3" async-trait = "0.1" tokio-stream = "0.1" async-stream = "0.3" clap = { version = "4", features = ["derive", "env", "wrap_help"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } tracing-appender = "0.2" anyhow = "1" thiserror = "2" toml = "0.8" uuid = { version = "1", features = ["v4", "v7", "serde"] } notify = "8" arc-swap = "1" dirs = "6" base64 = "0.22" regex = "1" sha2 = "0.10" mime_guess = "2" tempfile = "3" reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } tiktoken-rs = "0.6" [dev-dependencies] tower = { version = "0.5", features = ["util"] } http-body-util = "0.1" [profile.release] opt-level = 3 lto = "thin" strip = true