ferrum-server 0.7.4

OpenAI-compatible HTTP API server for Ferrum inference
Documentation
[package]
name = "ferrum-server"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "OpenAI-compatible HTTP API server for Ferrum inference"
readme = "../../README.md"

[dependencies]
# Core dependencies
ferrum-types = { workspace = true }
ferrum-interfaces = { workspace = true }
ferrum-engine = { workspace = true }
ferrum-scheduler = { workspace = true }
ferrum-sampler = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true }
futures = { workspace = true }
pin-project = "1.1"

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
regex-lite = "0.1"

# Error handling
anyhow = { workspace = true }
thiserror = { workspace = true }

# HTTP abstractions
http = "1.0"
http-body = "1.0"
mime = "0.3"

# Web framework for MVP server implementation
axum = { version = "0.7", features = ["ws", "multipart"] }
tower = { version = "0.4", features = ["util"] }
tower-http = { version = "0.5", features = ["cors", "trace"] }
hyper = "1.0"
tokio-stream = "0.1"

# Logging and metrics
tracing = { workspace = true }
metrics = { workspace = true }
metrics-exporter-prometheus = { workspace = true }

# Authentication and security
jsonwebtoken = "9.2"
base64 = "0.22"

# Time handling
chrono = { workspace = true }
uuid = { workspace = true }

# Configuration
config = { workspace = true }

[dev-dependencies]
tokio-test = "0.4"
hyper = "1.0"

[features]
default = []
openai-compat = []  # Enable OpenAI API compatibility
auth = []           # Enable authentication middleware
cors = []           # Enable CORS support
compression = []    # Enable response compression
rate-limiting = []  # Enable rate limiting middleware