Skip to content

Fix Gemini provider filtering in voice utilities#60

Merged
OwenMcGirr merged 1 commit into
mainfrom
fix/59-gemini-provider-filter
Apr 21, 2026
Merged

Fix Gemini provider filtering in voice utilities#60
OwenMcGirr merged 1 commit into
mainfrom
fix/59-gemini-provider-filter

Conversation

@OwenMcGirr
Copy link
Copy Markdown
Collaborator

Summary

  • Fix VoiceUtils.filterByProvider() to use the canonical UnifiedVoice["provider"] type instead of a stale hard-coded provider union.
  • Add a regression test proving Gemini unified voices can be filtered with filterByProvider(voices, "gemini").

Fixes #59

Validation

  • npm test -- --runTestsByPath src/__tests__/gemini.test.ts src/__tests__/voice-utils.test.ts --runInBand
  • npm run build
  • pre-push npm run lint

@OwenMcGirr
Copy link
Copy Markdown
Collaborator Author

Smoke verified on ix/59-gemini-provider-filter:

pm run smoke:bundle

  • Browser bundle smoke OK. Bytes: 1581188. Warnings: no
  • Root package browser smoke OK. Bytes: 1165636. Warnings: no

@OwenMcGirr
Copy link
Copy Markdown
Collaborator Author

Sibling smoke verified from ../js-tts-wrapper-gemini-test against the local file:../js-tts-wrapper junction:

  • npm test
    • Gemini voices: 30
    • Gemini language metadata OK: 87 codes
    • CereVoice smoke test passed
  • Inline provider-filter smoke:
    • VoiceUtils.filterByProvider(voices, "gemini") returned 30 voices

@OwenMcGirr
Copy link
Copy Markdown
Collaborator Author

Additional sibling smoke for Gemini gender filtering passed from ../js-tts-wrapper-gemini-test:

  • client.getVoicesByGender("Male") returned 16 voices
  • client.getVoicesByGender("Female") returned 14 voices
  • VoiceUtils.filterByGender(VoiceUtils.filterByProvider(voices, "gemini"), "Male") returned 16 voices
  • VoiceUtils.filterByGender(VoiceUtils.filterByProvider(voices, "gemini"), "Female") returned 14 voices
  • Verified Puck appears in the male set and Zephyr appears in the female set

@OwenMcGirr OwenMcGirr merged commit 2cd9d74 into main Apr 21, 2026
6 checks passed
@OwenMcGirr OwenMcGirr deleted the fix/59-gemini-provider-filter branch April 21, 2026 18:07
@OwenMcGirr
Copy link
Copy Markdown
Collaborator Author

Post-merge CereVoice parity check passed:

  • Local repo: npm test -- --runTestsByPath src/__tests__/cerevoice.test.ts --runInBand passed, 12/12 tests.
  • Sibling smoke from ../js-tts-wrapper-gemini-test with mocked male/female CereVoice voices passed:
    • VoiceUtils.filterByProvider(voices, "cerevoice") returned 2 voices
    • client.getVoicesByGender("Male") returned William
    • client.getVoicesByGender("Female") returned Heather
    • helper gender filters after provider filtering returned the same split

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix Gemini provider filtering in voice utilities

1 participant