From 34de527d2f6ebc978c21bc5da3b6b19dbcc07956 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Sun, 26 Apr 2026 11:15:54 -0400 Subject: [PATCH 1/3] feat(websocket): add injectSttReconfigure method Add convenience method for mid-call STT reconfiguration. Supports updating language hints for Deepgram Flux Multilingual. Co-Authored-By: Claude Opus 4.5 --- typescript/src/websocket/session.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/typescript/src/websocket/session.ts b/typescript/src/websocket/session.ts index 88ed915..532af77 100644 --- a/typescript/src/websocket/session.ts +++ b/typescript/src/websocket/session.ts @@ -360,6 +360,19 @@ export class Session extends EventEmitter { }); } + /** + * Reconfigure STT (speech-to-text) settings mid-call. + * Currently supports updating language hints for Deepgram Flux Multilingual. + * + * @param opts - STT reconfiguration options + * @param opts.languageHints - Array of BCP-47 language codes (e.g., ['en', 'es']). + * Pass empty array [] to clear hints and enable auto-detection. + * @param callSid - Optional call SID for targeting specific leg + */ + injectSttReconfigure(opts: { languageHints?: string[] }, callSid?: string): void { + this.injectCommand('stt:reconfigure', opts, callSid); + } + // --------------------------------------------------------------------------- // TTS Token Streaming // --------------------------------------------------------------------------- From f889547336b07138167c766b723cb376c22a4718 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Sun, 26 Apr 2026 11:18:16 -0400 Subject: [PATCH 2/3] chore: update @jambonz/schema to 0.3.5 --- typescript/package-lock.json | 8 ++++---- typescript/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/typescript/package-lock.json b/typescript/package-lock.json index 4233d18..a80175b 100644 --- a/typescript/package-lock.json +++ b/typescript/package-lock.json @@ -9,7 +9,7 @@ "version": "0.4.0", "license": "MIT", "dependencies": { - "@jambonz/schema": "^0.3.0", + "@jambonz/schema": "^0.3.5", "ajv": "^8.17.1", "ws": "^8.18.0" }, @@ -582,9 +582,9 @@ } }, "node_modules/@jambonz/schema": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@jambonz/schema/-/schema-0.3.0.tgz", - "integrity": "sha512-JqpsOK+ELDzbadPvgqZ42bhzL4Rk6pAdxgGZs3vay0oTJj0hYhpjXp6Yo2DzbBQz31Br8q2Vv4OzVZZYTmEQMg==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jambonz/schema/-/schema-0.3.5.tgz", + "integrity": "sha512-xHK0NcQWEtm+UmCdy87uegTHx6siCULgrGh8K+7SC0vl2Nrf5+tLcYLXpkp/5MMA1LlT2V8/ZuN/Fim139dMnQ==", "license": "MIT", "dependencies": { "ajv": "^8.17.1", diff --git a/typescript/package.json b/typescript/package.json index ceec509..cbcd0c5 100644 --- a/typescript/package.json +++ b/typescript/package.json @@ -95,7 +95,7 @@ "postpublish": "npm run clean-docs" }, "dependencies": { - "@jambonz/schema": "^0.3.0", + "@jambonz/schema": "^0.3.5", "ajv": "^8.17.1", "ws": "^8.18.0" }, From cf0540a240108096852ef2a6dfca2ea433194aec Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Sun, 26 Apr 2026 11:22:05 -0400 Subject: [PATCH 3/3] feat(types): add autoLockLanguage and languageConfig to AgentVerb --- typescript/src/types/verbs.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/typescript/src/types/verbs.ts b/typescript/src/types/verbs.ts index 8179337..cded898 100644 --- a/typescript/src/types/verbs.ts +++ b/typescript/src/types/verbs.ts @@ -326,6 +326,10 @@ export interface AgentVerb { mcpServers?: McpServerConfig[]; /** Seconds to wait after assistant finishes speaking before prompting user to respond. 0 disables. Default: 0. */ noResponseTimeout?: number; + /** Auto-adjust STT/TTS based on detected language. true=lock on first, 'always'=adapt every turn. */ + autoLockLanguage?: boolean | 'always'; + /** Per-language TTS overrides. Keys are BCP-47 codes (e.g., 'es', 'fr'). */ + languageConfig?: Record; } export interface ListenVerb {