This commit is contained in:
valenti
2026-10-16 11:36:02 +01:00
commit 236fd509ca
59 changed files with 18858 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
[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"
# --- 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"