Some checks failed
CI / clippy (pull_request) Successful in 2m25s
CI / test (1.85) (pull_request) Successful in 6m0s
CI / fmt (pull_request) Failing after 14m2s
CI / test (stable) (pull_request) Successful in 6m6s
CI / deny (pull_request) Failing after 1m32s
CI / twilio-live (manual only) (pull_request) Has been skipped
T7: proves slice-4's Reflex<TapAudioPipe> + LocalVadReflex decorates the trunk leg's TapAudioPipe identically; barge-in fires on PSTN caller speech through the same state machine as WebRTC caller speech. T8: MockRealtimeBrain + BrainShim drives a synthetic PSTN caller through the FOB reflex loop end-to-end: loud PCM -> local VAD trips -> barge kills -> brain reply -> un-mute -> idle timeout (caller hangup) closes the session. Dev-dependencies added to rutster-trunk/Cargo.toml so the integration tests reach MockRealtimeBrain, futures-util, and tokio-tungstenite without pulling FOB source into the trunk crate. Signed-off-by: Aaron D. Lee <himself@adlee.work>
43 lines
1.6 KiB
TOML
43 lines
1.6 KiB
TOML
# crates/rutster-trunk/Cargo.toml
|
|
[package]
|
|
name = "rutster-trunk"
|
|
version = "0.0.0"
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
repository.workspace = true
|
|
description = "Rented carrier transport — CPaaS media-leg ingress; no first-party SIP (spearhead step 5, ADR-0007)."
|
|
|
|
[dependencies]
|
|
# FOB-side (dev-c, T1/T3/T4/T5):
|
|
rutster-media = { path = "../rutster-media" }
|
|
rutster-call-model = { path = "../rutster-call-model" }
|
|
rutster-tap = { path = "../rutster-tap" }
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync", "time"] }
|
|
axum = { workspace = true, features = ["ws"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
tracing = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
base64 = { workspace = true }
|
|
|
|
# Green-zone (dev-b, T2/T6):
|
|
async-trait = { workspace = true }
|
|
url = { workspace = true }
|
|
# reqwest is OPTIONAL — only pulled in when `twilio-live` is enabled (the
|
|
# live `TwilioCallControlClient`, T6). Keeps default CI build lean.
|
|
reqwest = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
tower = { workspace = true }
|
|
futures-util = { workspace = true }
|
|
tokio-tungstenite = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
rutster-brain-realtime = { path = "../rutster-brain-realtime", features = ["mock"] }
|
|
|
|
[features]
|
|
default = []
|
|
# The live `TwilioCallControlClient` (T6) is feature-gated behind `twilio-live`.
|
|
# `MockCallControlClient` is the per-PR test surface; the maintainer runs
|
|
# `cargo test --features=twilio-live` manually pre-release (ADR-0009).
|
|
twilio-live = ["dep:reqwest"]
|