CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

feat: Voxlen API settings, context selector, SDK rewire #4773

Merged⚡ AI-generatedXSccantynz wants to mergeclaude/focused-sagan-fua4Dmainopened Jun 3, 20260/7 tasks
ccantynzcommented Jun 3, 2026

Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/voxlen/pull/28


Summary

  • Voxlen API integration — SDK rewired to route through api.voxlen.com/v1 when voxlenApiKey is set; new VoxlenApiClient with transcribe, async transcribe, SSE stream, vocabulary CRUD, health check
  • Settings — Voxlen API tab — new tab with API key (masked), tenant ID, Test Connection button, context dropdown (13 domain contexts), Privileged Mode, Legal Mode, Jurisdiction, Billable Rate
  • Context selector in DictationPanel — quick-switch dictation context without opening settings; compact pill dropdown mid-session
  • 11 context formatters (src/lib/contextFormat.ts) — legal contract, case note, court filing, deposition, correspondence; accounting tax, audit, memo, correspondence
  • Settings store extendedvoxlenApiKey, voxlenContext, voxlenTenantId persisted
  • Grammar upgraded — Haiku → claude-sonnet-4-6 in SDK
  • Deepgram nova-3 in SDK, utterance_end_ms=1000, no_delay=true
  • Fix speech-recognition.d.ts duplicate index signatures (4 TS errors)

Test plan

  • Settings > Voxlen API — enter key, click Test Connection → "Connected" or error
  • Change Dictation Context in dropdown — voxlenContext store value updates immediately
  • Dictate with context set to legal_contract — defined terms capitalised in output
  • Dictate with accounting_tax — GST/VAT/IRD references formatted correctly
  • Privileged Mode toggle → shield shows in TitleBar, dictation falls back to local STT
  • Legal Mode on → Latin phrases (inter alia, res judicata) formatted correctly
  • tsc --noEmit passes with zero errors

https://claude.ai/code/session_011MFNHeFKrhfuSrEYVgrdyr


Generated by Claude Code

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts