Repository navigation
7.1.0 — Flux ForceEndTurn, Voice Agent management
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.Triggerreports why a turn ended (model,manual,timeout). Doc comments foreot_threshold(0.5–1.0) andeot_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) andDG_*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: …)); previouslyMessagewas empty for those exceptions.ErrMsg,ErrCode,RequestIdand 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.AgentManageClientnever 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 requireDEEPGRAM_PROJECT_IDand refuse to pick a project; use a disposable project, since a deleted template-variable name stays reserved in its project.