Jason Woltje
c40373fa3b
ci/woodpecker/push/api Pipeline was successful
feat(#389): create SpeechModule with provider abstraction layer
Add SpeechModule with provider interfaces and service skeleton for
multi-tier TTS fallback (premium -> default -> fallback) and STT
transcription support. Includes 27 unit tests covering provider
selection, fallback logic, and availability checks.
- ISTTProvider interface with transcribe/isHealthy methods
- ITTSProvider interface with synthesize/listVoices/isHealthy methods
- Shared types: SpeechTier, TranscriptionResult, SynthesisResult, etc.
- SpeechService with graceful TTS fallback chain
- NestJS injection tokens (STT_PROVIDER, TTS_PROVIDERS)
- SpeechModule registered in AppModule
- ConfigModule integration via speechConfig registerAs factory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 02:09:45 -06:00
..
2026-02-06 11:57:47 -06:00
2026-02-03 14:37:06 -06:00
2026-02-07 17:46:59 -06:00
2026-02-06 13:29:03 -06:00
2026-02-07 17:33:32 -06:00
2026-02-01 21:01:25 -06:00
2026-02-07 12:25:50 -06:00
2026-01-31 13:44:23 -06:00
2026-01-31 13:51:46 -06:00
2026-02-06 12:15:21 -06:00
2026-02-11 21:14:20 -06:00
2026-02-03 14:37:06 -06:00
2026-01-30 18:26:41 -06:00
2026-02-03 14:37:06 -06:00
2026-02-03 14:37:06 -06:00
2026-02-15 01:08:09 -06:00
2026-02-05 19:24:07 -06:00
2026-02-03 14:37:06 -06:00
2026-02-02 12:51:17 -06:00
2026-02-08 22:24:37 -06:00
2026-02-08 22:24:37 -06:00
2026-02-06 14:51:22 -06:00
2026-02-03 14:37:06 -06:00
2026-02-06 15:07:49 -06:00
2026-02-04 13:41:45 -06:00
2026-02-07 12:25:50 -06:00
2026-02-06 15:11:41 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 12:44:50 -06:00
2026-02-14 11:04:04 -06:00
2026-02-03 14:37:06 -06:00
2026-01-31 13:33:04 -06:00
2026-01-31 14:47:59 -06:00
2026-01-31 14:01:42 -06:00
2026-02-08 21:59:19 -06:00
2026-02-15 02:09:45 -06:00
2026-02-06 12:15:21 -06:00
2026-02-03 14:37:06 -06:00
2026-02-04 12:52:20 -06:00
2026-01-31 15:01:18 -06:00
2026-01-30 18:26:41 -06:00
2026-02-05 19:16:37 -06:00
2026-02-07 16:13:05 -06:00
2026-02-05 18:50:19 -06:00
2026-02-03 19:17:13 -06:00
2026-02-01 01:48:09 -06:00
2026-01-28 16:24:25 -06:00
2026-01-30 18:26:41 -06:00
2026-02-15 02:09:45 -06:00
2026-01-28 13:31:33 -06:00
2026-02-06 15:02:55 -06:00
2026-02-15 01:49:13 -06:00