Repository navigation
fix(agent): default Think Live ConversationText behavior - #819
Conversation
|
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Content looks right. Docker gate against the repo WireMock: 1,134 passed, 4 skipped, mypy clean on 948 files, ruff clean on the changed files. Prod probe today shows conversational_behavior on every ConversationText and History frame, Think Live off and on. The default applies on both pydantic majors through the socket client's union parse, and explicit None still validates because the alias type includes Any.
Should-fix
The runtime model docstring at src/deepgram/agent/v1/types/agent_v1conversation_text.py:30 dropped "Always sent; it is default for every message while Think Live is off". The request TypedDict and the Java/JS siblings still say it, so this one now reads as if the field were optional on the wire. Suggested text:
Annotates what kind of utterance the message represents: `default` (a standard turn), `backchannel` (a short acknowledgement while the user held the floor), `presence_check` (a prompt after extended silence), or `filler` (a line covering a wait on a function call or a dynamic InjectAgentMessage). Always sent; it is `default` for every message while Think Live is off. Defaults to `default` when an older or self-hosted server omits it.
Nits
poetry.lockbumps pytest-asyncio 1.4.0 → 1.4.1; came in with the Fern regen commit, unrelated..fern/metadata.jsonstill hasoriginGitCommitIsDirty: true(carried over from main), so the origin commit is a hint rather than a reproducible source.- The PR title becomes the 7.16.0 release bullet. Suggest squashing as
fix(agent): ConversationText.conversational_behavior defaults to "default" when omitted.
Approving content; I'd hold release PR #818 until deepgram-docs #1283 merges so docs and SDK ship together.
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Re-reviewed at fd07678. The field docstring carries both sentences again ("Always sent; it is default for every message while Think Live is off. Defaults to default when an older or self-hosted server omits it."), poetry.lock is back to main's, and originGitCommitIsDirty is now false. Docker gate at this head against the repo WireMock: 1,134 passed, 4 skipped, mypy clean on 948 files.
Approving. Hold release PR #818 until deepgram-docs #1283 merges so docs and SDK ship together.
🤖 I have created a release *beep* *boop* --- ## [7.16.0](v7.15.0...v7.16.0) (2026-10-27) ### Features * **Voice Agent Think Live:** Configure `agent.think_live` with the Deepgram v1 provider; update it during a session with `connection.send_update_think_live(...)`; and receive `ThinkLiveUpdated` and `FrustrationDetected` events. Use `connection.send_inject_dynamic_agent_message(...)` to request a Think Live-generated filler line. `ConversationText` now reports `conversational_behavior` (`default`, `backchannel`, `presence_check`, or `filler`); the service always sends it, while older or self-hosted payloads default to `default` in the Python model. ([#815](#815)) ([0a97e3a](0a97e3a)) * **Flux TTS:** Flux models now support 41 languages and 230 voices. Continue to pass the model as `flux-{voice}-{language}`; text normalization is available for English, German, Dutch, French, Hindi, Italian, Japanese, Portuguese, Russian, and Spanish. ([#815](#815)) ([0a97e3a](0a97e3a)) ### Bug Fixes * **Agent:** Document `ConversationText.conversational_behavior` as always sent, while retaining the `default` fallback for self-hosted and mocked payload compatibility. ([#819](#819)) ([cd8ba29](cd8ba29)) --- 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
conversational_behavioron ConversationText messages.conversational_behavior. Runtime models default the field todefault; SDK-created models continue to serialize the current wire-required value.7.15.0release; Release Please owns the next version bump.Validation
uv run pytest(1134 passed, 4 skipped)poetry run mypy src/deepgram tests/typecheckpoetry run pytest tests/custom/test_agent_think_live.py(19 passed)poetry run ruff check src/deepgram/agent/v1/requests/agent_v1conversation_text.py tests/typecheck/compat_aliases.pyRepository-wide
ruff check .still reports 57 pre-existing violations in untouched manual examples andtests/custom/test_transport.py.