codexia 0.2.0

OpenAI- and Anthropic-compatible local API gateway backed by Codex OAuth.
Documentation
[package]
name = "codexia"
version = "0.2.0"
edition = "2024"
rust-version = "1.85"
description = "OpenAI- and Anthropic-compatible local API gateway backed by Codex OAuth."
license = "LGPL-3.0-only"
readme = "README.md"
repository = "https://github.com/RyanKung/codexia"
homepage = "https://github.com/RyanKung/codexia"
documentation = "https://docs.rs/codexia"
keywords = ["openai", "codex", "oauth", "gateway", "cli"]
categories = ["command-line-utilities", "api-bindings", "web-programming::http-server"]
default-run = "codexio"
include = ["src/**/*", "README.md", "LICENSE", "Cargo.toml", "Cargo.lock"]

[[bin]]
name = "codexio"
path = "src/main.rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
async-stream = "0.3"
axum = "0.8"
base64 = "0.22"
bytes = "1"
chrono = { version = "0.4", features = ["clock"] }
clap = { version = "4", features = ["derive", "env"] }
futures-util = "0.3"
hex = "0.4"
rand = "0.8"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "stream"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
thiserror = "2"
tokio = { version = "1", features = ["fs", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] }
url = "2"
webbrowser = "1"

[dev-dependencies]
tempfile = "3"
tower = "0.5"