forge_server/surface/
voice.rs1use forge_primitives::SessionSlot;
5
6use super::ViewSurface;
7
8impl ViewSurface {
9 pub fn voices(&self) -> forge_workspace::TtsView {
12 self.workspace.voices()
13 }
14
15 pub fn voice_release(&self, client: u64) -> Vec<SessionSlot> {
18 self.workspace.voice_release(client)
19 }
20}
21
22#[cfg(test)]
23mod tests {
24 use std::sync::Arc;
25
26 use super::*;
27
28 #[test]
31 fn voices_reads_the_tts_settings() {
32 let (workspace, _dir) = crate::surface::testing::workspace();
33 let surface = ViewSurface::new(Arc::clone(&workspace));
34
35 let view = surface.voices();
36 assert!(!view.enabled, "the fixture's [tts] is absent, which is off");
37 assert!(
38 view.models_dir.as_ref().is_some_and(|dir| dir.ends_with("forge-tts")),
39 "an unset models_dir is the platform cache, got: {:?}",
40 view.models_dir,
41 );
42 }
43}