@voicethere/agent 0.8.3 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -180,16 +180,20 @@ On plans that include project Redis, the runner injects **`AGENT_REDIS_URL`** in
180
180
 
181
181
  For inbound HTTP webhooks, configure **`AGENT_WEBHOOK_SIGNING_SECRET`** in project settings. The runner forwards the exact request bytes on process-wide **`onWebhook`** IPC (not session-queued). Verify HMAC on `ctx.body` before `JSON.parse` — VoiceThere does not verify signatures in the SDK. See [`templates/webhooks/agent.ts`](./templates/webhooks/agent.ts).
182
182
 
183
- | Export | Purpose |
184
- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
185
- | `defineAgent` | Register `onAgentStart`, `onWebhook`, `onSessionStart`, `onSpeechEvent`, `onUserSpeechFinal`, `onUserLanguage`, `onSessionEnd` |
186
- | `SpeechEvent`, `SpeechEventType` | Re-exported **types** from `@node-webrtc-rust/sdk/voice` |
187
- | `SPEECH_EVENT_TYPE` | Import from `@node-webrtc-rust/sdk/voice` (runtime constants; not bundled into child) |
188
- | `speak` | Request parent TTS |
189
- | `startRecording` / `pauseRecording` / `resumeRecording` / `stopRecording` | Request parent conversation recording control |
190
- | `setConversationHistoryEnabled` / `enableConversationHistory` / `disableConversationHistory` | Stop or resume conversation history storage for one session |
191
- | `agentLog` | Forward structured logs to parent |
192
- | `ParentToChildMessage` / `ChildToParentMessage` | IPC contract shared with the VoiceThere agent runner |
183
+ | Export | Purpose |
184
+ | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
185
+ | `defineAgent` | Register handlers including `onUserLanguage`, `onVoiceLanguageChanged`, `onSessionStart`, … |
186
+ | `SpeechEvent`, `SpeechEventType` | Re-exported **types** from `@node-webrtc-rust/sdk/voice` (includes `voice_language_changed`, …) |
187
+ | `SPEECH_EVENT_TYPE` | Import from `@node-webrtc-rust/sdk/voice` (runtime constants; not bundled into child) |
188
+ | `speak` | Request parent TTS |
189
+ | `setVoiceLanguage` | Change STT, TTS, or the vendor for one live session (`scope`, Sherpa catalog ids, cloud vendors). |
190
+ | `getVoiceLanguage` | Last known ISO 639-1 from a successful switch ack or LID / `voice_language_changed` events. |
191
+ | `isVoiceLanguageSwitchAvailable` | `true` when `session_start.voiceLanguageSwitchAvailable` was set (runner supports agent IPC). |
192
+ | `isRunnerLidAutoSwitchEnabled` | `true` when `session_start.env.SHERPA_LID_AUTO_SWITCH` is truthy (runner auto-switch; optional in env). |
193
+ | `startRecording` / `pauseRecording` / `resumeRecording` / `stopRecording` | Request parent conversation recording control |
194
+ | `setConversationHistoryEnabled` / `enableConversationHistory` / `disableConversationHistory` | Stop or resume conversation history storage for one session |
195
+ | `agentLog` | Forward structured logs to parent |
196
+ | `ParentToChildMessage` / `ChildToParentMessage` | IPC contract shared with the VoiceThere agent runner |
193
197
 
194
198
  ### Runner runtime subpath (minimal shared sandbox API)
195
199
 
@@ -211,19 +215,31 @@ session orchestration and crash policy remain in the runner codebase.
211
215
 
212
216
  Forwarded from the runner voice pipeline as SDK `SpeechEvent` payloads on `speech_event.event` (`event.type`, optional `text` / `error`):
213
217
 
214
- | Event | Typical use in custom agent |
215
- | --------------------------------------------- | ------------------------------------------------------- |
216
- | `user_speaking_start` / `user_speaking_end` | UI state, turn-taking |
217
- | `user_speech_partial` | Live captions, early barge-in logic |
218
- | `user_speech_final` | Primary turn boundary (`onUserSpeechFinal` convenience) |
219
- | `user_language` | Detected ISO 639-1 code (`onUserLanguage` convenience) |
220
- | `agent_speaking_start` / `agent_speaking_end` | Know when TTS playback starts/stops |
221
- | `barge_in` | User interrupted agent playback |
222
- | `vad_triggered`, `stt_stream_*`, `user_stt_*` | Low-level pipeline hooks |
223
- | `error` | Vendor or pipeline failure |
218
+ | Event | Typical use in custom agent |
219
+ | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
220
+ | `user_speaking_start` / `user_speaking_end` | UI state, turn-taking |
221
+ | `user_speech_partial` | Live captions, early barge-in logic |
222
+ | `user_speech_final` | Primary turn boundary (`onUserSpeechFinal` convenience) |
223
+ | `user_language` | Detected ISO 639-1 (`onUserLanguage`). Does not change STT/TTS unless you call `setVoiceLanguage` or the project enables runner auto-switch. |
224
+ | `voice_language_switching` / `voice_language_changed` / `voice_language_switch_failed` | Runner language switch lifecycle; `onVoiceLanguageChanged` on `voice_language_changed`. |
225
+ | `agent_speaking_start` / `agent_speaking_end` | Know when TTS playback starts/stops |
226
+ | `barge_in` | User interrupted agent playback |
227
+ | `vad_triggered`, `stt_stream_*`, `user_stt_*` | Low-level pipeline hooks |
228
+ | `error` | Vendor or pipeline failure |
224
229
 
225
230
  Copy [`templates/voice-starter/agent.ts`](./templates/voice-starter/agent.ts) as a starting point — exhaustive `switch` over speech event types with per-peer state stubs and `agentLog` tracing.
226
231
 
232
+ ### Spoken-language switching
233
+
234
+ Sherpa **voice** and **STT** catalog ids (for example `de`, `en-lessac`, `en-small`) are documented on VoiceThere at `/docs/spoken-language`.
235
+
236
+ | Approach | Who changes STT/TTS | Agent hooks |
237
+ | ----------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
238
+ | **Manual (default)** | Your code calls `setVoiceLanguage` per side or vendor | `onUserLanguage` → `setVoiceLanguage`; use `isVoiceLanguageSwitchAvailable` before relying on IPC |
239
+ | **Project auto-switch** | Runner when LID detects a new language (opt-in project voice setting) | `onUserLanguage` / `onVoiceLanguageChanged` for prompts; do not double-call `setVoiceLanguage` on every detection |
240
+
241
+ See [`templates/language-switch`](./templates/language-switch/README.md) for both modes.
242
+
227
243
  ## Multiplayer / shared state
228
244
 
229
245
  Each end-user connection must call **`startSession()`** once — one orchestrator session id per client (one signaling room per client). Do **not** join multiple browsers to the same session credentials.
package/dist/agent.js CHANGED
@@ -170,6 +170,11 @@ function isSttControlAckMessage(value) {
170
170
  const msg = value;
171
171
  return msg.type === "stt_control_ack" && typeof msg.requestId === "string";
172
172
  }
173
+ function isVoiceLanguageControlAckMessage(value) {
174
+ if (!value || typeof value !== "object") return false;
175
+ const msg = value;
176
+ return msg.type === "voice_language_control_ack" && typeof msg.requestId === "string";
177
+ }
173
178
  function isWebhookMessage(value) {
174
179
  if (!value || typeof value !== "object") return false;
175
180
  const msg = value;
@@ -206,7 +211,7 @@ function normalizeWebhookHeaders(value) {
206
211
  function isParentMessage(value) {
207
212
  if (!value || typeof value !== "object") return false;
208
213
  const msg = value;
209
- return msg.type === "session_start" || msg.type === "speech_event" || msg.type === "session_end" || msg.type === "data_channel_message" || msg.type === "data_channel_binary" || msg.type === "idle_timeout" || msg.type === "recording_control_ack" || msg.type === "conversation_history_control_ack" || msg.type === "play_ack" || msg.type === "play_status_ack" || msg.type === "play_stop_ack" || msg.type === "play_pose_ack" || msg.type === "mix_control_ack" || msg.type === "stt_control_ack" || msg.type === "webhook";
214
+ return msg.type === "session_start" || msg.type === "speech_event" || msg.type === "session_end" || msg.type === "data_channel_message" || msg.type === "data_channel_binary" || msg.type === "idle_timeout" || msg.type === "recording_control_ack" || msg.type === "conversation_history_control_ack" || msg.type === "play_ack" || msg.type === "play_status_ack" || msg.type === "play_stop_ack" || msg.type === "play_pose_ack" || msg.type === "mix_control_ack" || msg.type === "stt_control_ack" || msg.type === "voice_language_control_ack" || msg.type === "webhook";
210
215
  }
211
216
  function isSessionScopedParentMessage(value) {
212
217
  return isParentMessage(value) && !isWebhookMessage(value);
@@ -222,6 +227,8 @@ var peerEnvBySessionId = /* @__PURE__ */ new Map();
222
227
  var recordingAvailableBySessionId = /* @__PURE__ */ new Map();
223
228
  var conversationHistoryAvailableBySessionId = /* @__PURE__ */ new Map();
224
229
  var mixAvailableBySessionId = /* @__PURE__ */ new Map();
230
+ var voiceLanguageSwitchAvailableBySessionId = /* @__PURE__ */ new Map();
231
+ var lastVoiceLanguageBySessionId = /* @__PURE__ */ new Map();
225
232
  var ttsPoseAvailableBySessionId = /* @__PURE__ */ new Map();
226
233
  var endedSessionIds = /* @__PURE__ */ new Set();
227
234
  var PLAY_BYTES_MAX_DECODED_LENGTH = 64 * 1024;
@@ -233,6 +240,7 @@ var pendingPlayStopAcks = /* @__PURE__ */ new Map();
233
240
  var pendingPlayPoseAcks = /* @__PURE__ */ new Map();
234
241
  var pendingMixAcks = /* @__PURE__ */ new Map();
235
242
  var pendingSttAcks = /* @__PURE__ */ new Map();
243
+ var pendingVoiceLanguageAcks = /* @__PURE__ */ new Map();
236
244
  function handleRecordingControlAck(message) {
237
245
  const pending = pendingRecordingAcks.get(message.requestId);
238
246
  if (!pending) return;
@@ -327,6 +335,29 @@ function handleSttControlAck(message) {
327
335
  requestId: message.requestId
328
336
  });
329
337
  }
338
+ function handleVoiceLanguageControlAck(message) {
339
+ const pending = pendingVoiceLanguageAcks.get(message.requestId);
340
+ if (!pending) return;
341
+ clearTimeout(pending.timer);
342
+ pendingVoiceLanguageAcks.delete(message.requestId);
343
+ if (message.ok && message.language?.trim()) {
344
+ lastVoiceLanguageBySessionId.set(
345
+ message.sessionId,
346
+ message.language.trim()
347
+ );
348
+ }
349
+ pending.resolve({
350
+ ok: message.ok,
351
+ reason: message.reason,
352
+ requestId: message.requestId,
353
+ ...message.language ? { language: message.language } : {},
354
+ ...message.voice ? { voice: message.voice } : {},
355
+ ...message.stt ? { stt: message.stt } : {},
356
+ ...message.scope ? { scope: message.scope } : {},
357
+ ...message.sttProvider ? { sttProvider: message.sttProvider } : {},
358
+ ...message.ttsProvider ? { ttsProvider: message.ttsProvider } : {}
359
+ });
360
+ }
330
361
  function clearPendingRecordingAcksForSession(sessionId, reason) {
331
362
  for (const [requestId, pending] of pendingRecordingAcks) {
332
363
  if (pending.sessionId !== sessionId) continue;
@@ -391,7 +422,7 @@ function allowOutboundForSession(sessionId) {
391
422
  }
392
423
  function sendParentMessage(message) {
393
424
  const msgType = message && typeof message === "object" && "type" in message ? message.type : void 0;
394
- if (msgType === "mix_control" || msgType === "stt_control") {
425
+ if (msgType === "mix_control" || msgType === "stt_control" || msgType === "voice_language_control") {
395
426
  process.send?.(message);
396
427
  return;
397
428
  }
@@ -500,6 +531,10 @@ async function handleParentMessage(message, handlers) {
500
531
  message.sessionId,
501
532
  message.mixAvailable ?? false
502
533
  );
534
+ voiceLanguageSwitchAvailableBySessionId.set(
535
+ message.sessionId,
536
+ message.voiceLanguageSwitchAvailable ?? false
537
+ );
503
538
  ttsPoseAvailableBySessionId.set(
504
539
  message.sessionId,
505
540
  message.ttsPoseAvailable ?? false
@@ -516,6 +551,7 @@ async function handleParentMessage(message, handlers) {
516
551
  recordingAvailable: message.recordingAvailable ?? false,
517
552
  conversationHistoryAvailable: message.conversationHistoryAvailable ?? false,
518
553
  mixAvailable: message.mixAvailable ?? false,
554
+ voiceLanguageSwitchAvailable: message.voiceLanguageSwitchAvailable ?? false,
519
555
  ttsPoseAvailable: message.ttsPoseAvailable ?? false
520
556
  });
521
557
  sendParentMessage({
@@ -537,12 +573,23 @@ async function handleParentMessage(message, handlers) {
537
573
  if (message.event.type === "user_language") {
538
574
  const language = resolveUserLanguageCode(message.event);
539
575
  if (language) {
576
+ lastVoiceLanguageBySessionId.set(message.sessionId, language);
540
577
  await handlers.onUserLanguage?.({
541
578
  sessionId: message.sessionId,
542
579
  language
543
580
  });
544
581
  }
545
582
  }
583
+ if (message.event.type === "voice_language_changed") {
584
+ const language = resolveUserLanguageCode(message.event);
585
+ if (language) {
586
+ lastVoiceLanguageBySessionId.set(message.sessionId, language);
587
+ await handlers.onVoiceLanguageChanged?.({
588
+ sessionId: message.sessionId,
589
+ language
590
+ });
591
+ }
592
+ }
546
593
  break;
547
594
  case "data_channel_message":
548
595
  await handlers.onDataChannelMessage?.({
@@ -572,6 +619,8 @@ async function handleParentMessage(message, handlers) {
572
619
  recordingAvailableBySessionId.delete(message.sessionId);
573
620
  conversationHistoryAvailableBySessionId.delete(message.sessionId);
574
621
  mixAvailableBySessionId.delete(message.sessionId);
622
+ voiceLanguageSwitchAvailableBySessionId.delete(message.sessionId);
623
+ lastVoiceLanguageBySessionId.delete(message.sessionId);
575
624
  ttsPoseAvailableBySessionId.delete(message.sessionId);
576
625
  await (handlers.onClientLeave ?? handlers.onSessionEnd)?.({
577
626
  sessionId: message.sessionId
@@ -620,6 +669,10 @@ function defineAgent(handlers) {
620
669
  handleSttControlAck(message);
621
670
  return;
622
671
  }
672
+ if (isVoiceLanguageControlAckMessage(message)) {
673
+ handleVoiceLanguageControlAck(message);
674
+ return;
675
+ }
623
676
  if (isWebhookMessage(message)) {
624
677
  void agentStartReady.then(() => handleWebhookMessage(message, handlers));
625
678
  return;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export type { SpeechEvent, SpeechEventListener, SpeechEventName, SpeechEventType, } from "@node-webrtc-rust/sdk/voice";
2
- export { ALLOWED_CHILD_ENV_KEYS, MIX_REQUIRES_VOICE_PLUS_DATA, TTS_POSE_REQUIRES_VOICE, type AgentErrorMessage, type AgentLogLevel, type AgentLogMessage, type AllowedChildEnvKey, type ChildToParentMessage, type ParentToChildMessage, type SessionEndMessage, type SessionStartMessage, type SendToClientMessage, type DataChannelMessageMessage, type DataChannelBinaryMessage, type DataChannelKind, type DisconnectClientMessage, type IdleTimeoutDoneMessage, type IdleTimeoutMessage, type RecordingControlMessage, type RecordingControlAckMessage, type RecordingControlAction, type RecordingControlResult, type ConversationHistoryControlMessage, type ConversationHistoryControlAckMessage, type ConversationHistoryControlResult, type PlayMessage, type PlayStatusMessage, type PlayStopMessage, type PlayPoseMessage, type PlayAckMessage, type PlayStatusAckMessage, type PlayStopAckMessage, type PlayPoseAckMessage, type PlayStatusState, type PlayResult, type GetPlayResult, type StopPlayResult, type PlayPoseResult, type MixControlMessage, type MixControlAckMessage, type MixControlAction, type MixControlResult, type ClientMixStatus, type ClientPose, type MixPlacement, type MixPose, type SttControlMessage, type SttControlAckMessage, type SttControlResult, type SendBinaryToClientMessage, type SpeakMessage, type SpeechEventMessage, type WebhookMessage, } from "./protocol.js";
3
- export { agentLog, addClientToMix, createMixGroup, defineAgent, disableConversationHistory, disconnectClient, enableConversationHistory, getClientMixStatus, getPlay, isConversationHistoryAvailable, isMixAvailable, isTtsPoseAvailable, parseChatText, pauseRecording, play, removeClientFromMix, resumeRecording, sendToClient, sendBinaryToClient, setClientPose, setConversationHistoryEnabled, setDefaultMixPlacement, setGlobalMute, setListenerMute, setPositionalMixing, setSttEnabled, setTtsMixPlacement, setTtsPosition, setTtsPose, clearTtsPose, speak, speakAndChat, startRecording, stopRecording, stopPlay, setPlayPose, isRecordingAvailable, broadcastToClients, broadCastBinaryToClients, type AgentHandlers, type AgentErrorContext, type AgentStartContext, type DataChannelContext, type IdleTimeoutContext, type SessionContext, type SpeechContext, type SpeechEventContext, type UserLanguageContext, type WebhookContext, type PlayOptions, type AudioPosition, type SpeakAndChatOptions, PLAY_BYTES_MAX_DECODED_LENGTH, } from "./runtime.js";
2
+ export { ALLOWED_CHILD_ENV_KEYS, MIX_REQUIRES_VOICE_PLUS_DATA, TTS_POSE_REQUIRES_VOICE, type AgentErrorMessage, type AgentLogLevel, type AgentLogMessage, type AllowedChildEnvKey, type ChildToParentMessage, type ParentToChildMessage, type SessionEndMessage, type SessionStartMessage, type SendToClientMessage, type DataChannelMessageMessage, type DataChannelBinaryMessage, type DataChannelKind, type DisconnectClientMessage, type IdleTimeoutDoneMessage, type IdleTimeoutMessage, type RecordingControlMessage, type RecordingControlAckMessage, type RecordingControlAction, type RecordingControlResult, type ConversationHistoryControlMessage, type ConversationHistoryControlAckMessage, type ConversationHistoryControlResult, type PlayMessage, type PlayStatusMessage, type PlayStopMessage, type PlayPoseMessage, type PlayAckMessage, type PlayStatusAckMessage, type PlayStopAckMessage, type PlayPoseAckMessage, type PlayStatusState, type PlayResult, type GetPlayResult, type StopPlayResult, type PlayPoseResult, type MixControlMessage, type MixControlAckMessage, type MixControlAction, type MixControlResult, type ClientMixStatus, type ClientPose, type MixPlacement, type MixPose, type SttControlMessage, type SttControlAckMessage, type SttControlResult, type VoiceControlScope, type VoiceVendorSelection, type VoiceLanguageControlMessage, type VoiceLanguageControlAckMessage, type VoiceLanguageResult, type SendBinaryToClientMessage, type SpeakMessage, type SpeechEventMessage, type WebhookMessage, } from "./protocol.js";
3
+ export { agentLog, addClientToMix, createMixGroup, defineAgent, disableConversationHistory, disconnectClient, enableConversationHistory, getClientMixStatus, getPlay, isConversationHistoryAvailable, isMixAvailable, isVoiceLanguageSwitchAvailable, isRunnerLidAutoSwitchEnabled, getVoiceLanguage, isTtsPoseAvailable, parseChatText, pauseRecording, play, removeClientFromMix, resumeRecording, sendToClient, sendBinaryToClient, setClientPose, setConversationHistoryEnabled, setDefaultMixPlacement, setGlobalMute, setListenerMute, setPositionalMixing, setSttEnabled, setVoiceLanguage, type SetVoiceLanguageOptions, setTtsMixPlacement, setTtsPosition, setTtsPose, clearTtsPose, speak, speakAndChat, startRecording, stopRecording, stopPlay, setPlayPose, isRecordingAvailable, broadcastToClients, broadCastBinaryToClients, type AgentHandlers, type AgentErrorContext, type AgentStartContext, type DataChannelContext, type IdleTimeoutContext, type SessionContext, type SpeechContext, type SpeechEventContext, type UserLanguageContext, type VoiceLanguageChangedContext, type WebhookContext, type PlayOptions, type AudioPosition, type SpeakAndChatOptions, PLAY_BYTES_MAX_DECODED_LENGTH, } from "./runtime.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,gCAAgC,EACrC,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,OAAO,EACP,8BAA8B,EAC9B,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,gCAAgC,EACrC,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,OAAO,EACP,8BAA8B,EAC9B,cAAc,EACd,8BAA8B,EAC9B,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { ALLOWED_CHILD_ENV_KEYS, MIX_REQUIRES_VOICE_PLUS_DATA, TTS_POSE_REQUIRES_VOICE, } from "./protocol.js";
2
- export { agentLog, addClientToMix, createMixGroup, defineAgent, disableConversationHistory, disconnectClient, enableConversationHistory, getClientMixStatus, getPlay, isConversationHistoryAvailable, isMixAvailable, isTtsPoseAvailable, parseChatText, pauseRecording, play, removeClientFromMix, resumeRecording, sendToClient, sendBinaryToClient, setClientPose, setConversationHistoryEnabled, setDefaultMixPlacement, setGlobalMute, setListenerMute, setPositionalMixing, setSttEnabled, setTtsMixPlacement, setTtsPosition, setTtsPose, clearTtsPose, speak, speakAndChat, startRecording, stopRecording, stopPlay, setPlayPose, isRecordingAvailable, broadcastToClients, broadCastBinaryToClients, PLAY_BYTES_MAX_DECODED_LENGTH, } from "./runtime.js";
2
+ export { agentLog, addClientToMix, createMixGroup, defineAgent, disableConversationHistory, disconnectClient, enableConversationHistory, getClientMixStatus, getPlay, isConversationHistoryAvailable, isMixAvailable, isVoiceLanguageSwitchAvailable, isRunnerLidAutoSwitchEnabled, getVoiceLanguage, isTtsPoseAvailable, parseChatText, pauseRecording, play, removeClientFromMix, resumeRecording, sendToClient, sendBinaryToClient, setClientPose, setConversationHistoryEnabled, setDefaultMixPlacement, setGlobalMute, setListenerMute, setPositionalMixing, setSttEnabled, setVoiceLanguage, setTtsMixPlacement, setTtsPosition, setTtsPose, clearTtsPose, speak, speakAndChat, startRecording, stopRecording, stopPlay, setPlayPose, isRecordingAvailable, broadcastToClients, broadCastBinaryToClients, PLAY_BYTES_MAX_DECODED_LENGTH, } from "./runtime.js";
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,GAmDxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,OAAO,EACP,8BAA8B,EAC9B,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EAcxB,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,GAwDxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,OAAO,EACP,8BAA8B,EAC9B,cAAc,EACd,8BAA8B,EAC9B,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,IAAI,EACJ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EAexB,6BAA6B,GAC9B,MAAM,cAAc,CAAC"}
@@ -16,13 +16,13 @@ export type { SpeechEvent } from "@node-webrtc-rust/sdk/voice";
16
16
  * Register handlers via {@link defineAgent} in `@voicethere/agent` — do not read
17
17
  * `process.on('message')` directly in customer bundles.
18
18
  */
19
- export type ParentToChildMessage = SessionStartMessage | SpeechEventMessage | SessionEndMessage | DataChannelMessageMessage | DataChannelBinaryMessage | IdleTimeoutMessage | RecordingControlAckMessage | ConversationHistoryControlAckMessage | PlayAckMessage | PlayStatusAckMessage | PlayStopAckMessage | PlayPoseAckMessage | MixControlAckMessage | SttControlAckMessage | WebhookMessage;
19
+ export type ParentToChildMessage = SessionStartMessage | SpeechEventMessage | SessionEndMessage | DataChannelMessageMessage | DataChannelBinaryMessage | IdleTimeoutMessage | RecordingControlAckMessage | ConversationHistoryControlAckMessage | PlayAckMessage | PlayStatusAckMessage | PlayStopAckMessage | PlayPoseAckMessage | MixControlAckMessage | SttControlAckMessage | VoiceLanguageControlAckMessage | WebhookMessage;
20
20
  /**
21
21
  * Messages the customer child may send back to the runner parent.
22
22
  *
23
23
  * Prefer {@link speak}, {@link startRecording}, {@link sendToClient}, {@link sendBinaryToClient}, and {@link agentLog} helpers over raw `process.send`.
24
24
  */
25
- export type ChildToParentMessage = SessionStartAckMessage | SpeakMessage | RecordingControlMessage | ConversationHistoryControlMessage | PlayMessage | PlayStatusMessage | PlayStopMessage | PlayPoseMessage | MixControlMessage | SttControlMessage | AgentLogMessage | AgentErrorMessage | SendToClientMessage | SendBinaryToClientMessage | IdleTimeoutDoneMessage | DisconnectClientMessage | WebhookHandledMessage;
25
+ export type ChildToParentMessage = SessionStartAckMessage | SpeakMessage | RecordingControlMessage | ConversationHistoryControlMessage | PlayMessage | PlayStatusMessage | PlayStopMessage | PlayPoseMessage | MixControlMessage | SttControlMessage | VoiceLanguageControlMessage | AgentLogMessage | AgentErrorMessage | SendToClientMessage | SendBinaryToClientMessage | IdleTimeoutDoneMessage | DisconnectClientMessage | WebhookHandledMessage;
26
26
  /** Which WebRTC data channel carried a binary IPC payload. */
27
27
  export type DataChannelKind = "control" | "sync";
28
28
  /**
@@ -55,6 +55,12 @@ export interface SessionStartMessage {
55
55
  * Absent on older runners or voice/data-only sessions — treat as `false`.
56
56
  */
57
57
  mixAvailable?: boolean;
58
+ /**
59
+ * When `true`, the runner can apply {@link VoiceLanguageControlMessage} for this
60
+ * session (spoken-language switching via agent IPC). Absent on older runners —
61
+ * treat as `false`. Project auto-switch from LID is separate (runner-owned).
62
+ */
63
+ voiceLanguageSwitchAvailable?: boolean;
58
64
  /**
59
65
  * When `true`, TTS pose / listener pose / positional panning APIs are available
60
66
  * (voice or Voice+Data). Absent on data-only or older runners — treat as `false`.
@@ -65,11 +71,14 @@ export interface SessionStartMessage {
65
71
  * Forwards one speech lifecycle event from the parent Sherpa/VAD/STT/TTS pipeline.
66
72
  *
67
73
  * The {@link SpeechEvent} shape matches `@node-webrtc-rust/sdk/voice` — see SDK docs
68
- * for `SpeechEventType` semantics (`user_speech_final`, `user_language`, `barge_in`, etc.).
74
+ * for `SpeechEventType` semantics (`user_speech_final`, `user_language`, `barge_in`,
75
+ * `voice_language_switching`, `voice_language_changed`, `voice_language_switch_failed`, etc.).
69
76
  *
70
77
  * Delivered to customer code as `onSpeechEvent(ctx, message.event)`; `user_speech_final`
71
78
  * also triggers the `onUserSpeechFinal` handler when `event.text` is non-empty, and
72
79
  * `user_language` triggers `onUserLanguage` when `event.language` or `event.text` is set.
80
+ * `voice_language_changed` triggers the `onVoiceLanguageChanged` handler when a language
81
+ * code is present on the event.
73
82
  */
74
83
  export interface SpeechEventMessage {
75
84
  type: "speech_event";
@@ -402,6 +411,75 @@ export type SttControlResult = {
402
411
  reason?: string;
403
412
  requestId: string;
404
413
  };
414
+ /** Which side of a live session {@link setVoiceLanguage} changes. */
415
+ export type VoiceControlScope = "stt" | "tts" | "both";
416
+ /**
417
+ * Vendor selection for a mid-conversation STT or TTS switch.
418
+ * `provider` is a public id (`local-sherpa`, `deepgram`, `elevenlabs`, …).
419
+ * Do not put API keys here — the runner reads project secrets.
420
+ */
421
+ export interface VoiceVendorSelection {
422
+ provider: string;
423
+ /** Cloud model id, or a Sherpa catalog id when `provider` is `local-sherpa`. */
424
+ model?: string;
425
+ /** Cloud voice id, or a Sherpa TTS catalog id when `provider` is `local-sherpa`. */
426
+ voice?: string;
427
+ /** BCP-47 or ISO code passed through to the vendor. */
428
+ language?: string;
429
+ }
430
+ /**
431
+ * Ask the runner to change STT, TTS, or both for one live session.
432
+ * Spoken-language detection does not do this by itself.
433
+ *
434
+ * `voice` and `stt` are Sherpa catalog ids (`en`, `de`, `en-lessac`, `en-small`),
435
+ * not model paths. `sttVendor` and `ttsVendor` replace that side's provider.
436
+ */
437
+ export interface VoiceLanguageControlMessage {
438
+ type: "voice_language_control";
439
+ requestId: string;
440
+ sessionId: string;
441
+ /** ISO 639-1 code, for example `de`. Omit for a vendor-only change. */
442
+ language?: string;
443
+ /** `stt` keeps the current voice. `tts` keeps the current STT model. */
444
+ scope?: VoiceControlScope;
445
+ /** TTS catalog id. Omit on a TTS switch to use `language` when that id exists. */
446
+ voice?: string;
447
+ /**
448
+ * STT catalog id. Omit on an STT or both switch to use `language` when that
449
+ * id exists. A missing language-default id skips STT when `scope` is `both`.
450
+ */
451
+ stt?: string;
452
+ sttVendor?: VoiceVendorSelection;
453
+ ttsVendor?: VoiceVendorSelection;
454
+ }
455
+ /** Runner acknowledgement for a {@link VoiceLanguageControlMessage}. */
456
+ export interface VoiceLanguageControlAckMessage {
457
+ type: "voice_language_control_ack";
458
+ requestId: string;
459
+ sessionId: string;
460
+ ok: boolean;
461
+ reason?: string;
462
+ language?: string;
463
+ voice?: string;
464
+ stt?: string;
465
+ scope?: VoiceControlScope;
466
+ /** Public vendor id that listening uses after this call (`deepgram`, `local-sherpa`). */
467
+ sttProvider?: string;
468
+ /** Public vendor id that the speaking voice uses after this call. */
469
+ ttsProvider?: string;
470
+ }
471
+ /** Result returned by {@link setVoiceLanguage}. */
472
+ export type VoiceLanguageResult = {
473
+ ok: boolean;
474
+ reason?: string;
475
+ requestId: string;
476
+ language?: string;
477
+ voice?: string;
478
+ stt?: string;
479
+ scope?: VoiceControlScope;
480
+ sttProvider?: string;
481
+ ttsProvider?: string;
482
+ };
405
483
  /** Thrown by mix group helpers when {@link SessionStartMessage.mixAvailable} is not `true`. */
406
484
  export declare const MIX_REQUIRES_VOICE_PLUS_DATA = "Mix APIs require sessionMode 'voice+data' (voice tracks and a sync data channel)";
407
485
  /** Thrown by TTS pose helpers when {@link SessionStartMessage.ttsPoseAvailable} is not `true`. */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,GACxB,kBAAkB,GAClB,0BAA0B,GAC1B,oCAAoC,GACpC,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,CAAC;AAEnB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,sBAAsB,GACtB,YAAY,GACZ,uBAAuB,GACvB,iCAAiC,GACjC,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,yBAAyB,GACzB,sBAAsB,GACtB,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oEAAoE;AACpE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EACH,SAAS,GACT,UAAU,GACV,aAAa,GACb,SAAS,GACT,YAAY,GACZ,SAAS,GACT,MAAM,CAAC;CACZ;AAED,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,8BAA8B,CAAC;IACrC,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,kCAAkC,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EACL,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;CAC9E;AAED,oFAAoF;AACpF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,4GAA4G;IAC5G,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EACH,SAAS,GACT,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,SAAS,GACT,MAAM,CAAC;CACZ;AAED,wEAAwE;AACxE,MAAM,MAAM,eAAe,GACzB,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1D,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EACH,SAAS,GACT,aAAa,GACb,cAAc,GACd,YAAY,GACZ,SAAS,GACT,MAAM,CAAC;CACZ;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EACH,SAAS,GACT,aAAa,GACb,cAAc,GACd,YAAY,GACZ,SAAS,GACT,MAAM,CAAC;CACZ;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EACH,SAAS,GACT,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,SAAS,GACT,MAAM,CAAC;CACZ;AAED,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,YAAY,GACtB,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvE,0EAA0E;AAC1E,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,UAAU,GACV,gBAAgB,GAChB,uBAAuB,GACvB,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,CAAC;AAEjB,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;IACvE,uDAAuD;IACvD,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;CACxE;AAED,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,qFAC2C,CAAC;AAErF,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,8DACyB,CAAC;AAE9D,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qFAAqF;AACrF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,iGAOzB,CAAC;AAEX,0CAA0C;AAC1C,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAggBH,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GACvC,kFAAkF,CAAC;AAErF,kGAAkG;AAClG,MAAM,CAAC,MAAM,uBAAuB,GAClC,2DAA2D,CAAC;AAwH9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,wEAAwE;IACxE,wBAAwB;CAChB,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqlBH,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GACvC,kFAAkF,CAAC;AAErF,kGAAkG;AAClG,MAAM,CAAC,MAAM,uBAAuB,GAClC,2DAA2D,CAAC;AAwH9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,wEAAwE;IACxE,wBAAwB;CAChB,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { SpeechEvent } from "@node-webrtc-rust/sdk/voice";
2
- import type { AgentLogLevel, DataChannelKind, MixControlResult, MixPlacement, MixPose, PlayPoseResult, PlayResult, GetPlayResult, StopPlayResult, RecordingControlResult, ConversationHistoryControlResult, SttControlResult } from "./protocol.js";
2
+ import type { AgentLogLevel, DataChannelKind, MixControlResult, MixPlacement, MixPose, PlayPoseResult, PlayResult, GetPlayResult, StopPlayResult, RecordingControlResult, ConversationHistoryControlResult, SttControlResult, VoiceControlScope, VoiceLanguageResult, VoiceVendorSelection } from "./protocol.js";
3
3
  export declare const SESSION_START_INIT_DELAY_ENABLED_ENV = "AGENT_SESSION_START_INIT_DELAY_ENABLED";
4
4
  export declare const SESSION_START_INIT_DELAY_MS_ENV = "AGENT_SESSION_START_INIT_DELAY_MS";
5
5
  export interface SessionContext {
@@ -11,6 +11,8 @@ export interface SessionContext {
11
11
  conversationHistoryAvailable: boolean;
12
12
  /** `true` when the runner session is Voice+Data and mix group APIs are available. */
13
13
  mixAvailable: boolean;
14
+ /** `true` when runner {@link setVoiceLanguage} IPC is available for this session. */
15
+ voiceLanguageSwitchAvailable: boolean;
14
16
  /** `true` when TTS pose / listener pose APIs are available (voice or Voice+Data). */
15
17
  ttsPoseAvailable: boolean;
16
18
  }
@@ -24,6 +26,12 @@ export interface UserLanguageContext {
24
26
  /** ISO 639-1 code from the parent voice pipeline (`en`, `de`, …). */
25
27
  language: string;
26
28
  }
29
+ /** Runner committed a voice language switch (`speech.type` is `voice_language_changed`). */
30
+ export interface VoiceLanguageChangedContext {
31
+ sessionId: string;
32
+ /** ISO 639-1 code after the runner applied STT/TTS (agent or auto-switch). */
33
+ language: string;
34
+ }
27
35
  export interface SpeechEventContext {
28
36
  sessionId: string;
29
37
  }
@@ -76,6 +84,11 @@ export interface AgentHandlers {
76
84
  onUserSpeechFinal?: (ctx: SpeechContext) => void | Promise<void>;
77
85
  /** Convenience handler — also invoked when `speech.type` is `user_language`. */
78
86
  onUserLanguage?: (ctx: UserLanguageContext) => void | Promise<void>;
87
+ /**
88
+ * Runner finished applying a language switch (`voice_language_changed`). Use with
89
+ * project auto-switch or after your own `setVoiceLanguage` calls.
90
+ */
91
+ onVoiceLanguageChanged?: (ctx: VoiceLanguageChangedContext) => void | Promise<void>;
79
92
  /** Alias for {@link AgentHandlers.onSessionEnd}. */
80
93
  onClientLeave?: (ctx: {
81
94
  sessionId: string;
@@ -159,8 +172,17 @@ export declare function isRecordingAvailable(ctx: SessionContext): boolean;
159
172
  export declare function isConversationHistoryAvailable(ctx: SessionContext): boolean;
160
173
  /** True when {@link SessionStartMessage.mixAvailable} was set for the session. */
161
174
  export declare function isMixAvailable(ctx: SessionContext): boolean;
175
+ /** True when {@link SessionStartMessage.voiceLanguageSwitchAvailable} was set for the session. */
176
+ export declare function isVoiceLanguageSwitchAvailable(ctx: SessionContext): boolean;
177
+ /**
178
+ * Last known ISO 639-1 for the session: successful {@link setVoiceLanguage} ack,
179
+ * then `user_language` / `voice_language_changed` speech events.
180
+ */
181
+ export declare function getVoiceLanguage(sessionId: string): string | undefined;
162
182
  /** True when {@link SessionStartMessage.ttsPoseAvailable} was set for the session. */
163
183
  export declare function isTtsPoseAvailable(ctx: SessionContext): boolean;
184
+ /** True when `session_start.env` advertises runner LID auto-switch (if forwarded). */
185
+ export declare function isRunnerLidAutoSwitchEnabled(env: Record<string, string>): boolean;
164
186
  /** Create a mix group with initial members (Voice+Data only). */
165
187
  export declare function createMixGroup(options: {
166
188
  id: string;
@@ -226,6 +248,52 @@ export declare function setSttEnabled(options: {
226
248
  clientId?: string;
227
249
  sessionId?: string;
228
250
  }): Promise<SttControlResult>;
251
+ export interface SetVoiceLanguageOptions {
252
+ /**
253
+ * ISO 639-1 code, for example `"de"`. Omit when you only change a cloud vendor.
254
+ * Alone, with no `scope`, this switches both Sherpa sides.
255
+ */
256
+ language?: string;
257
+ /**
258
+ * `stt` changes listening and leaves the speaking voice. `tts` changes the
259
+ * voice and leaves listening. `both` changes both. Omit to infer from which
260
+ * of `voice` / `stt` / `sttVendor` / `ttsVendor` you set.
261
+ */
262
+ scope?: VoiceControlScope;
263
+ /**
264
+ * Sherpa TTS catalog id (`de`, `en-lessac`, `de-thorsten-high`).
265
+ * On a TTS switch, omit it to use `language` when that id exists.
266
+ */
267
+ voice?: string;
268
+ /**
269
+ * Sherpa STT catalog id (`de`, `en-small`). On an STT or both switch, omit
270
+ * it to use `language` when that id exists. Italian, Portuguese, Dutch,
271
+ * Polish, and Hindi have no STT id; a `both` switch still changes TTS.
272
+ */
273
+ stt?: string;
274
+ /**
275
+ * Replace the STT vendor for this session. Keys stay in project secrets.
276
+ * `provider`: `local-sherpa`, `openai`, `deepgram`, `assemblyai`, or `google`.
277
+ */
278
+ sttVendor?: VoiceVendorSelection;
279
+ /**
280
+ * Replace the TTS vendor for this session. Keys stay in project secrets.
281
+ * `provider`: `local-sherpa`, `openai`, `elevenlabs`, `cartesia`, or `google`.
282
+ */
283
+ ttsVendor?: VoiceVendorSelection;
284
+ /**
285
+ * Max wait for runner `voice_language_control_ack` (default 11 minutes for cold Sherpa pools).
286
+ */
287
+ timeoutMs?: number;
288
+ }
289
+ /**
290
+ * Change STT, TTS, or the vendor for one live session. Detection
291
+ * (`onUserLanguage`) does not change either side until agent code calls this.
292
+ * The promise resolves when the runner has applied the requested side (a cold
293
+ * Sherpa pool can take minutes). Cloud vendors use project secrets already on
294
+ * the running deploy — this call does not send API keys.
295
+ */
296
+ export declare function setVoiceLanguage(sessionId: string, options: SetVoiceLanguageOptions): Promise<VoiceLanguageResult>;
229
297
  /** Ask the runner parent to start conversation recording for the session. */
230
298
  export declare function startRecording(sessionId: string): Promise<RecordingControlResult>;
231
299
  /** Ask the runner parent to pause an in-progress recording for the session. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}