Skip to content

7.1.0 — Flux ForceEndTurn, Voice Agent management

Choose a tag to compare

@dg-coreylweathers dg-coreylweathers released this 09 Sep 12:30
· 40 commits to main since this release
1c2462b

Breaking changes

None. Every existing 7.0 call compiles and binds unchanged. SendForceEndTurn ships on the concrete FluxWebSocketClient only; the IFluxWebSocketClient member is deferred to 8.0 so hand-written implementations of the interface are not affected. (#426)

Features

  • Flux STT: manual turn ending. FluxWebSocketClient.SendForceEndTurn() ends the current turn on your own signal (push-to-talk release, DTMF, your own VAD). It flushes queued audio before the control frame so the final turn is never truncated. TurnInfoResponse.Trigger reports why a turn ended (model, manual, timeout). Doc comments for eot_threshold (0.5–1.0) and eot_timeout_ms (500–60000) corrected. (#426)
  • Voice Agent management. New AgentManageClient (ClientFactory.CreateAgentManageClient()) with create/list/get/update/delete for reusable agent configurations (/v1/projects/{id}/agents) and DG_* template variables (/v1/projects/{id}/agent-variables). Works against both the documented wire shapes and what production returns today. (#426)

Changes

  • Readable REST errors. Exceptions deserialized from an API error body now carry the API's error text in Message (CATEGORY: message details (request_id: …)); previously Message was empty for those exceptions. ErrMsg, ErrCode, RequestId and the string-constructor behaviour are unchanged. The model also deserializes with standard ASP.NET Web serializer options. (#426)
  • Logging hygiene. SDK logs never contain caller-supplied header values (e.g. Authorization) at any level; header names are still logged at Debug. AgentManageClient never logs request payloads, response payloads, error bodies or exception messages at any level; failures log the exception type, API error code and request id only. Other clients keep their existing Verbose response-body logging. (#426)

Examples and tooling

  • New runnable examples: examples/speech-to-text/websocket/flux-force-end-turn/, examples/agent/manage/configurations/, examples/agent/manage/variables/.
  • Dockerized live smoke harness in extras/live-smoke/. The agent examples and the harness require DEEPGRAM_PROJECT_ID and refuse to pick a project; use a disposable project, since a deleted template-variable name stays reserved in its project.