Skip to content

chore(deps): deepgram-sdk 6.0.1 -> 7.6.0#12

Merged
Jacob-Lasky merged 1 commit into
mainfrom
chore/deepgram-sdk-7
Jul 25, 2026
Merged

chore(deps): deepgram-sdk 6.0.1 -> 7.6.0#12
Jacob-Lasky merged 1 commit into
mainfrom
chore/deepgram-sdk-7

Conversation

@Jacob-Lasky

Copy link
Copy Markdown
Owner

Separate from #11 on purpose: this is the axis most likely to break, so it gets to fail on its own.

The app's v1 surface is unaffected

Comparing listen.v1.connect() signatures across the major:

NEW in v7:  ['diarize_model']
GONE in v7: []

Nothing was removed, so every call site keeps working. _SDK_CONNECT_KWARGS is computed from the installed SDK rather than hardcoded, so the named/passthrough split re-derived itself with no edit — which is the whole reason it was written that way.

The only breakage was our own test helper

TypeError: DeepgramClientEnvironment.__init__() missing 1 required
           keyword-only argument: 'agent_rest'

7.0 added an endpoint field and the helper named its fields explicitly. It now enumerates the constructor signature, so the next regeneration that adds a URL field costs nothing.

Worth noting: the wire-contract tests added in #8 are what caught this. The rest of the suite passed clean.

This unblocks Flux

7.x ships listen.v2.connect() with the full Flux parameter surface:

eot_threshold, eager_eot_threshold, eot_timeout_ms, language_hint,
keyterm, numerals, profanity_filter, encoding, sample_rate, model, tag, mip_opt_out

So Flux STT can go through the SDK rather than needing the parallel raw-WebSocket path that 6.x would have forced. 7.6.0 specifically adds Flux numerals.

Verification

  • 113 passed, 1 skipped.
  • App boots on 7.6.0; GET / returns 200; UI probe passes in batch mode.
  • Real WebSocket handshake still carries keyterm and the passthrough params correctly.

Live verification against prod to follow the deploy — the SDK change touches the real wire path, so unit tests are not sufficient proof here.

Separate from the general dependency refresh on purpose: this is the axis most
likely to break, so it gets to fail on its own.

The app's v1 surface is unaffected. Comparing connect() signatures across the
major, NOTHING was removed and one param was added (`diarize_model`), so every
call site keeps working. `_SDK_CONNECT_KWARGS` is computed from the installed SDK
rather than hardcoded, so the named/passthrough split re-derived itself with no
edit — which is the whole reason it was written that way.

The only breakage was in this repo's own test helper:

    TypeError: DeepgramClientEnvironment.__init__() missing 1 required
               keyword-only argument: 'agent_rest'

7.0 added an endpoint field, and the helper named its fields positionally. It now
enumerates the constructor signature instead, so the next regeneration that adds
a URL field costs nothing. Worth noting the wire-contract tests added last week
are what caught this at all; the rest of the suite passed.

Also unblocks the Flux work. 7.x ships `listen.v2.connect()` with the full Flux
parameter surface — eot_threshold, eager_eot_threshold, eot_timeout_ms,
language_hint, keyterm, numerals, profanity_filter — so Flux does not need the
parallel raw-WebSocket path that would have been necessary on 6.x.

Verified:
- 113 passed, 1 skipped.
- App boots on 7.6.0; GET / returns 200; UI probe passes.
- Real WebSocket handshake still carries keyterm/passthrough params correctly.
@Jacob-Lasky
Jacob-Lasky merged commit 3436a7d into main Jul 25, 2026
1 check passed
@Jacob-Lasky
Jacob-Lasky deleted the chore/deepgram-sdk-7 branch July 25, 2026 17:33
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.

1 participant