learning_ai_common_plat/services
saravanakumardb1 a77b3ff931 refactor(extraction-service): provider-agnostic transcription — OpenAI + Azure Speech + Mock
- TranscriptionProvider interface with transcribe() + isConfigured()
- OpenAITranscriptionProvider: Whisper API (existing behavior)
- AzureTranscriptionProvider: Azure Speech REST API for short audio
- MockTranscriptionProvider: deterministic results for testing
- Factory: getSTT() singleton with env-driven auto-detection
  - STT_PROVIDER=openai|azure|mock (explicit)
  - Auto-detect: AZURE_SPEECH_KEY → azure, OPENAI_API_KEY → openai, else mock
- Config: add STT_PROVIDER, AZURE_SPEECH_KEY, AZURE_SPEECH_REGION env vars
- Route refactored: audio download (common) → provider.transcribe() (swappable)
- deriveFilename() extracted to types.ts (shared by route + providers)
- 35 transcription tests (was 12), 171 total passing
- Follows same pattern as @bytelyst/llm provider abstraction
2026-04-06 11:30:22 -07:00
..
cowork-service feat(runtime): add Cowork checkpoint drill-in 2026-04-04 17:29:12 -07:00
extraction-service refactor(extraction-service): provider-agnostic transcription — OpenAI + Azure Speech + Mock 2026-04-06 11:30:22 -07:00
mcp-server fix(mcp): align ChronoMind type enums with actual backend schema 2026-03-31 23:57:24 -07:00
monitoring feat(observability): add phase 2 monitoring and valkey services 2026-03-31 06:57:12 +00:00
platform-service feat(jobs): register devintelli-daily-sync cron job (0 6 * * *) 2026-04-04 23:37:25 -07:00