[package]
name = "maple-proxy"
version = "0.1.4"
edition = "2021"
authors = ["OpenSecret"]
description = "Lightweight OpenAI-compatible proxy server for Maple/OpenSecret TEE infrastructure"
license = "MIT"
repository = "https://github.com/OpenSecret/maple-proxy"
homepage = "https://github.com/OpenSecret/maple-proxy"
keywords = ["openai", "proxy", "tee", "opensecret", "maple"]
categories = ["web-programming::http-server", "api-bindings"]

[lib]
name = "maple_proxy"
path = "src/lib.rs"

[[bin]]
name = "maple-proxy"
path = "src/main.rs"

[dependencies]
# OpenSecret SDK 
opensecret = "0.2.3"

# Web server
axum = { version = "0.8.4", features = ["http2", "macros"] }
tokio = { version = "1.47", features = ["net", "rt-multi-thread", "macros"] }
tower = { version = "0.5.2", features = ["full"] }
tower-http = { version = "0.6.6", features = ["cors", "trace"] }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Streaming support
futures = "0.3"
async-stream = "0.3"

# Configuration and environment
clap = { version = "4.5", features = ["derive", "env"] }
dotenvy = "0.15"

# Utilities
tracing = "0.1"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
anyhow = "1.0"

# HTTP types and headers
http = "1.0"

[dev-dependencies]
axum-test = "18.0.1"
tokio-test = "0.4"
tower = { version = "0.5.2", features = ["util"] }
serde_json = "1.0"
