Files
piperust/Cargo.toml
T
2026-10-21 10:44:49 +01:00

56 lines
2.3 KiB
TOML

[package]
name = "audio-agent-engine"
version = "0.1.0"
edition = "2021"
description = "Real-time full-duplex audio agent engine (WebSocket + SGLang Drama 3 + Parakeet STT)"
[[bin]]
name = "audio-agent-engine"
path = "src/main.rs"
[dependencies]
axum = { version = "0.7", features = ["ws"] }
tokio = { version = "1.38", features = ["full"] }
futures-util = "0.3"
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
parking_lot = "0.12"
tokio-util = { version = "0.7", features = ["rt"] }
ort = { version = "2.0.0-rc.4" }
ndarray = "0.17"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
bytes = "1"
anyhow = "1"
async-trait = "0.1"
dotenvy = "0.15"
# --- OpenAPI / Swagger UI ---------------------------------------------------
# `utoipa` derives the OpenAPI document from the handlers/schemas;
# `utoipa-swagger-ui` serves the browsable UI (and the raw JSON) from Axum.
utoipa = { version = "5", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "8", features = ["axum"] }
# Constrain `zip` for `utoipa-swagger-ui`'s build script (it embeds the UI from
# a zip at compile time). The 8.1 build script targets the older 2.x API
# (`zip::read::ZipFile` was not yet generic; `ZipError::InvalidArchive` took a
# `&str`), which the 2.3+/2.6 line changed — pinning here keeps it building.
zip = { version = ">=2.2.0, <2.3.0", default-features = false, features = ["deflate"] }
# --- Optional HTTPS (see Config::tls_cert / tls_key) ------------------------
# We pull these in with `default-features = false` because the crates are
# already present as transitive deps of `reqwest` (rustls + ring), so enabling
# them adds no new downloads. `ring` is the crypto provider used elsewhere.
hyper = { version = "1", features = ["server", "http1"] }
hyper-util = { version = "0.1", features = ["tokio"] }
tower = "0.5"
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12", "logging"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
rustls-pki-types = { version = "1", features = ["std"] }
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
panic = "abort"