Skip to content

feat(agent): add Deepgram Think provider - #137

Merged
GregHolmes merged 11 commits into
mainfrom
gh/sdk-gen-2026-10-29
Oct 29, 2026
Merged

GregHolmes merged 11 commits into
mainfrom
gh/sdk-gen-2026-10-29

Conversation

@GregHolmes

@GregHolmes GregHolmes commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Feature

Adds the Deepgram Think provider for Voice Agent settings. Existing provider configurations continue to compile and run unchanged. Release Please should cut patch release 0.11.4.

Regeneration

Regenerated the Java SDK with Fern 4.23.1 from deepgram-docs PR #1329.

  • Corrected the Think/Speak generated-type collision and preserved Visitor compatibility.
  • Depends on deepgram-docs PR #1335 to give the Think provider a distinct Fern title.
  • Added provider combination, JSON round-trip, and Settings WebSocket coverage for both supported Think models.
  • Reapplied all existing manual compatibility and correctness patches.

Validation

  • ./gradlew spotlessCheck test compileExamples
  • Live agent smoke test with the internal API key

@GregHolmes GregHolmes mentioned this pull request Oct 29, 2026
@GregHolmes GregHolmes changed the title chore: SDK regeneration 2026-10-29 feat(agent): add Deepgram Think provider Oct 29, 2026

@dg-coreylweathers dg-coreylweathers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice one Greg. This lets Java folks use think-fast and phonellm-mini-alpha-2-fp8 as the Voice Agent think provider, and existing OpenAI/Anthropic/Google/Groq/Bedrock setups and custom Visitor classes keep compiling.

What I checked:

  • Full build + 168 unit tests in Docker: all pass.
  • Old-style Visitor still compiles, and Deepgram falls through to _visitUnknown. Only additions to the public API, so already-compiled code is fine too.
  • Hand-parsed JSON for all five existing providers through the union: each still lands on its own variant.
  • Every earlier patch is still in place; .fernignore and AGENTS.md only gained lines.
  • Live on prod with the SDK from this branch: both models applied settings and answered. think-fast + mip_opt_out gets INVALID_SETTINGS as documented, plain phonellm-mini-alpha-2 gets "model not available". Staging doesn't have either model yet.
  • 0.11.4 patch bump matches the release-please config.

Approving the content, but please hold the merge until docs #1335 and #1329 land and this is regenerated from main:
DeepgramReasoningMode isn't frozen, and its name comes from the clashing Deepgram title. With #1335 the regen produces DeepgramThinkProviderReasoningMode and deletes DeepgramReasoningMode, so the frozen DeepgramThinkProvider either won't compile or changes its reasoningMode(...) type, which breaks anyone on 0.11.4. Regenerating from merged main should let most of the hand patch go (the Visitor default method stays). Python #821 has the same enum name.

Small stuff:

  • AgentV1ThinkLiveWireTest.java:20-21 imports Deepgram/DeepgramModel but never uses them, and line 25 is out of order.
  • AGENTS.md:54 says keep the default method "until Fern generates it". Fern won't generate a default, so I'd say "until the next major" and add the .bak swap note like the SpeakV2ConfigureFailureCode entry.
  • A quick test that parses the existing providers' JSON through ThinkSettingsV1Provider would lock in the union behavior.

@GregHolmes
GregHolmes merged commit f03fe53 into main Oct 29, 2026
9 checks passed
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.

2 participants