Cosmo a780fc7bd5
All checks were successful
Deploy / deploy (push) Successful in 2m58s
feat(voice): play TTS through tablet speakers via ElevenLabs proxy
Stage 2 of voice integration — centralizes TTS on the tablet so the
Python satellite no longer needs ElevenLabs credentials or mpv.

- app/api/voice/tts — POST {text, agent}, proxies to ElevenLabs
  streaming endpoint with flash_v2_5 default, returns audio/mpeg.
  Per-agent voice id via COSMO_TTS_VOICE / LUSYA_TTS_VOICE env.
- VoiceOverlay — on response/error events fetches TTS and plays via
  HTMLAudioElement; on wake event stops playback (barge-in). Dismiss
  timer extended by text length so long responses do not cut off.
- Autoplay caveat: browser may block first playback until user taps
  anywhere on the page (FKB: enable Force Autoplay to bypass).
2026-04-23 12:52:26 +00:00
2026-04-22 10:00:41 +00:00
2026-04-22 10:00:41 +00:00
Description
Smart Home Tablet Dashboard
18 MiB
Languages
TypeScript 80.6%
JavaScript 16.1%
CSS 3%
Dockerfile 0.3%