Repository navigation
feat(regen): add nova-3 multilingual Listen V1 support - #131
Conversation
Configure rejections are delivered through onConfigureFailure or as ListenV1ConfigureFailureException on generic onError.
…ct options Add a Nova-3 multilingual section to the README (pre-recorded and streaming) that says hints bias detection and do not restrict it, and give the `V1ConnectOptions.languageHint(...)` default methods the same Javadoc the REST builders already carry.
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Approving the content. Hold the merge until production serves the Nova-3 Mega model and deepgram-docs #1288 merges.
What this PR does. Regenerates the SDK from docs #1288 (3063c73): languageHint(...) on the Listen V1 REST and WebSocket builders, Optional getLanguages() / getLanguagesHinted() / word getLanguage(), and typed onConfigureSuccess / onConfigureFailure with a ListenV1ConfigureFailureException fallback on onError.
What I checked.
- Does production accept
language_hinttoday? No:400 INVALID_QUERY_PARAMETER "Query included a language_hint that this model does not support: en, es."(prod model 2026-01-27.9107). Staging (2026-10-16.x) returns 200 withlanguages_hinted: ["en","es"]. That is the merge gate; re-run one REST request withlanguage_hint=en&language_hint=esagainst production before merging. - Does this build work against staging? Yes: REST URL + file, list and scalar hints, streaming hints on interim and final results, typed
ConfigureSuccess; on nova-2 with no typed handler,onErrorreceivedListenV1ConfigureFailureExceptionwhose failure code isCONFIGURE_KEYTERMS_NOT_SUPPORTED. - Gate in Docker (
eclipse-temurin:17-jdk,./gradlew spotlessCheck compileJava compileExamples unitTest): exit 0. - Additive only, all new response fields Optional, repeated-key serialization tested on REST and WS,
no_delayescape hatch tested, all frozen patches present, no.bakfiles.
Fixed on this branch. The README now has a Nova-3 multilingual section (REST + streaming, hints bias rather than restrict) and the V1ConnectOptions.languageHint(...) default methods carry the same Javadoc as the REST builders. The description's Migration section now states the 0.11.x → 0.12.0 Configure routing change explicitly, since this repo squashes with the PR body and release-please reads it.
Follow-up, not a block (pre-existing): a refused WebSocket upgrade reaches the caller as a generic RuntimeException("WebSocket connection failed with HTTP 400 ..."), not a DeepgramHttpException, so the body and dg-request-id are lost, and reconnect keeps retrying after the 400. Also, ./gradlew javadoc fails on core/ReconnectingWebSocketListener.java:588 (<= in a Javadoc comment) on main as well; CI does not run javadoc.
Nits (abstract languagesHinted on the response _FinalStage; REST List<String> vs WS ListenV1LanguageHint union; ListenV1Error.getCode "Deprecated" without @Deprecated; no test for utterance languages, words[].language, or an unknown failure code) are optional.
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Re-approving at 92d4ece. The only change since the earlier approval is the README fix: the "Nova-3 multilingual language hints" fence from 430afce overrode a _visitUnknown method that MediaTranscribeResponse.Visitor does not declare and used ws without declaring it, so ReadmeSnippetsCompileTest failed in CI. At 92d4ece that test passes (Docker, eclipse-temurin:17-jdk) and all CI checks are green.
Merge hold unchanged: production still returns 400 INVALID_QUERY_PARAMETER for model=nova-3&language=multi&language_hint=en&language_hint=es (request 01a168bf-c25d-7bf2-9bcc-d9edd92f91fd), and deepgram-docs #1288 is still labeled Do Not Merge. Merge once the production probe returns 200 with languages_hinted populated and #1288 lands.
Note: #132 edits an adjacent AGENTS.md bullet and conflicts with this branch; land #132 first and rebase this one.
🤖 I have created a release *beep* *boop* --- ## [0.11.2](v0.11.1...v0.11.2) (2026-10-23) ### Features * **Listen V1 (Nova-3 multilingual):** Add `languageHint(...)` for prerecorded and streaming requests with `language("multi")`; typed results expose detected `getLanguages()` and normalized `getLanguagesHinted()` values. Live reconfiguration now emits `onConfigureSuccess(...)` or `onConfigureFailure(...)`; generic `onError(...)` receives `ListenV1ConfigureFailureException` when no typed failure handler is registered. ([#131](#131)) ([148a29a](148a29a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Greg Holmes <greg.holmes@deepgram.com>
Summary
Migration
Validation
No manual patches were dropped. Release Please will perform the next version bump.