Workspace member 8 of 8. Library + binary; mirrored slice-2's rutster-tap-echo shape. Three stub modules (api_key, translator, openai_client) filled in by Tasks 3-5. No behavioral code yet — this task only locks the crate boundary + the new async-trait dep (the Tool trait in Task 6 needs it for async-fns-in-trait-objects).
28 lines
976 B
TOML
28 lines
976 B
TOML
# crates/rutster-brain-realtime/Cargo.toml
|
|
[package]
|
|
name = "rutster-brain-realtime"
|
|
version = "0.1.0"
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
repository.workspace = true
|
|
description = "OpenAI Realtime speech-to-speech brain — translates slice-2's tap protocol to OpenAI Realtime's event schema (green-zone per ADR-0008; slice-3 spec §1.1, §4)."
|
|
|
|
[dependencies]
|
|
rutster-tap = { path = "../rutster-tap" }
|
|
tokio = { workspace = true, features = ["full"] }
|
|
tokio-tungstenite = { workspace = true, features = ["connect"] }
|
|
futures-util = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
url = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
base64 = { workspace = true }
|
|
|
|
[features]
|
|
default = []
|
|
# Mock mode: in-process fake OpenAI Realtime WS server (no real API calls).
|
|
# Used by the integration test + the offline dev loop (spec §7.3).
|
|
mock = []
|