@elevenlabs/client 1.7.0 → 1.8.0

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.
Files changed (160) hide show
  1. package/dist/BaseConversation.d.ts +5 -5
  2. package/dist/BaseConversation.d.ts.map +1 -1
  3. package/dist/BaseConversation.js +19 -16
  4. package/dist/BaseConversation.js.map +1 -1
  5. package/dist/InputController.d.ts +9 -0
  6. package/dist/InputController.d.ts.map +1 -1
  7. package/dist/OutputController.d.ts +18 -0
  8. package/dist/OutputController.d.ts.map +1 -1
  9. package/dist/TextConversation.js +2 -2
  10. package/dist/TextConversation.js.map +1 -1
  11. package/dist/VoiceConversation.d.ts +3 -6
  12. package/dist/VoiceConversation.d.ts.map +1 -1
  13. package/dist/VoiceConversation.js +15 -69
  14. package/dist/VoiceConversation.js.map +1 -1
  15. package/dist/WebRTCAudioAdapter.d.ts +52 -0
  16. package/dist/WebRTCAudioAdapter.d.ts.map +1 -0
  17. package/dist/WebRTCAudioAdapter.js +17 -0
  18. package/dist/WebRTCAudioAdapter.js.map +1 -0
  19. package/dist/index.d.ts +3 -5
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/internal.d.ts +6 -1
  24. package/dist/internal.d.ts.map +1 -1
  25. package/dist/internal.js +4 -1
  26. package/dist/internal.js.map +1 -1
  27. package/dist/lib.iife.js +3664 -3449
  28. package/dist/lib.iife.js.map +1 -1
  29. package/dist/platform/VoiceSessionSetup.d.ts +10 -15
  30. package/dist/platform/VoiceSessionSetup.d.ts.map +1 -1
  31. package/dist/platform/VoiceSessionSetup.js +20 -62
  32. package/dist/platform/VoiceSessionSetup.js.map +1 -1
  33. package/dist/platform/tsconfig.test.tsbuildinfo +1 -0
  34. package/dist/platform/web/VoiceSessionSetup.d.ts +9 -0
  35. package/dist/platform/web/VoiceSessionSetup.d.ts.map +1 -0
  36. package/dist/platform/web/VoiceSessionSetup.js +154 -0
  37. package/dist/platform/web/VoiceSessionSetup.js.map +1 -0
  38. package/dist/platform/web/addLibsamplerateModule.d.ts.map +1 -0
  39. package/dist/platform/web/addLibsamplerateModule.js.map +1 -0
  40. package/dist/platform/web/audioConcatProcessor.generated.d.ts.map +1 -0
  41. package/dist/platform/web/audioConcatProcessor.generated.js.map +1 -0
  42. package/dist/platform/web/compatibility.d.ts.map +1 -0
  43. package/dist/platform/web/compatibility.js.map +1 -0
  44. package/dist/platform/web/createWorkletModuleLoader.d.ts.map +1 -0
  45. package/dist/platform/web/createWorkletModuleLoader.js.map +1 -0
  46. package/dist/platform/web/index.d.ts +3 -0
  47. package/dist/platform/web/index.d.ts.map +1 -0
  48. package/dist/platform/web/index.js +12 -0
  49. package/dist/platform/web/index.js.map +1 -0
  50. package/dist/{utils → platform/web}/input.d.ts +3 -12
  51. package/dist/platform/web/input.d.ts.map +1 -0
  52. package/dist/platform/web/input.js.map +1 -0
  53. package/dist/{utils → platform/web}/output.d.ts +3 -21
  54. package/dist/platform/web/output.d.ts.map +1 -0
  55. package/dist/platform/web/output.js.map +1 -0
  56. package/dist/platform/web/rawAudioProcessor.generated.d.ts.map +1 -0
  57. package/dist/platform/web/rawAudioProcessor.generated.js.map +1 -0
  58. package/dist/platform/web/scribeAudioProcessor.generated.d.ts.map +1 -0
  59. package/dist/platform/web/scribeAudioProcessor.generated.js.map +1 -0
  60. package/dist/platform/web/scribeMicrophone.d.ts +10 -0
  61. package/dist/platform/web/scribeMicrophone.d.ts.map +1 -0
  62. package/dist/platform/web/scribeMicrophone.js +65 -0
  63. package/dist/platform/web/scribeMicrophone.js.map +1 -0
  64. package/dist/platform/web/volumeProvider.d.ts +4 -0
  65. package/dist/platform/web/volumeProvider.d.ts.map +1 -0
  66. package/dist/platform/web/volumeProvider.js +24 -0
  67. package/dist/platform/web/volumeProvider.js.map +1 -0
  68. package/dist/platform/web/webAudioAdapter.d.ts +23 -0
  69. package/dist/platform/web/webAudioAdapter.d.ts.map +1 -0
  70. package/dist/platform/web/webAudioAdapter.js +127 -0
  71. package/dist/platform/web/webAudioAdapter.js.map +1 -0
  72. package/dist/runtime.d.ts +181 -0
  73. package/dist/runtime.d.ts.map +1 -0
  74. package/dist/runtime.js +34 -0
  75. package/dist/runtime.js.map +1 -0
  76. package/dist/scribe/microphone.d.ts +31 -0
  77. package/dist/scribe/microphone.d.ts.map +1 -0
  78. package/dist/scribe/microphone.js +23 -0
  79. package/dist/scribe/microphone.js.map +1 -0
  80. package/dist/scribe/scribe.d.ts +1 -1
  81. package/dist/scribe/scribe.d.ts.map +1 -1
  82. package/dist/scribe/scribe.js +6 -62
  83. package/dist/scribe/scribe.js.map +1 -1
  84. package/dist/types.d.ts +93 -0
  85. package/dist/types.d.ts.map +1 -0
  86. package/dist/types.js +29 -0
  87. package/dist/types.js.map +1 -0
  88. package/dist/utils/BaseConnection.d.ts +4 -2
  89. package/dist/utils/BaseConnection.d.ts.map +1 -1
  90. package/dist/utils/WebRTCConnection.d.ts +4 -7
  91. package/dist/utils/WebRTCConnection.d.ts.map +1 -1
  92. package/dist/utils/WebRTCConnection.js +57 -129
  93. package/dist/utils/WebRTCConnection.js.map +1 -1
  94. package/dist/utils/WebSocketConnection.d.ts +1 -1
  95. package/dist/utils/WebSocketConnection.d.ts.map +1 -1
  96. package/dist/utils/WebSocketConnection.js +14 -12
  97. package/dist/utils/WebSocketConnection.js.map +1 -1
  98. package/dist/utils/applyDelay.d.ts +3 -2
  99. package/dist/utils/applyDelay.d.ts.map +1 -1
  100. package/dist/utils/applyDelay.js +18 -12
  101. package/dist/utils/applyDelay.js.map +1 -1
  102. package/dist/utils/assert.d.ts +3 -0
  103. package/dist/utils/assert.d.ts.map +1 -0
  104. package/dist/utils/assert.js +9 -0
  105. package/dist/utils/assert.js.map +1 -0
  106. package/dist/utils/attachConnectionToOutput.d.ts +1 -1
  107. package/dist/utils/attachConnectionToOutput.d.ts.map +1 -1
  108. package/dist/utils/attachInputToConnection.d.ts +1 -1
  109. package/dist/utils/attachInputToConnection.d.ts.map +1 -1
  110. package/dist/utils/audio.d.ts.map +1 -1
  111. package/dist/utils/audio.js +2 -3
  112. package/dist/utils/audio.js.map +1 -1
  113. package/dist/utils/connection.d.ts +1 -1
  114. package/dist/utils/connection.d.ts.map +1 -1
  115. package/dist/utils/connection.js.map +1 -1
  116. package/dist/utils/errors.d.ts.map +1 -1
  117. package/dist/utils/errors.js +5 -1
  118. package/dist/utils/errors.js.map +1 -1
  119. package/dist/utils/events.d.ts +2 -1
  120. package/dist/utils/events.d.ts.map +1 -1
  121. package/dist/utils/mergeOptions.d.ts.map +1 -1
  122. package/dist/utils/mergeOptions.js +1 -3
  123. package/dist/utils/mergeOptions.js.map +1 -1
  124. package/dist/utils/volumeProvider.d.ts +0 -1
  125. package/dist/utils/volumeProvider.d.ts.map +1 -1
  126. package/dist/utils/volumeProvider.js +0 -22
  127. package/dist/utils/volumeProvider.js.map +1 -1
  128. package/dist/version.d.ts +1 -1
  129. package/dist/version.js +1 -1
  130. package/package.json +6 -5
  131. package/dist/utils/addLibsamplerateModule.d.ts.map +0 -1
  132. package/dist/utils/addLibsamplerateModule.js.map +0 -1
  133. package/dist/utils/audioConcatProcessor.generated.d.ts.map +0 -1
  134. package/dist/utils/audioConcatProcessor.generated.js.map +0 -1
  135. package/dist/utils/compatibility.d.ts.map +0 -1
  136. package/dist/utils/compatibility.js.map +0 -1
  137. package/dist/utils/createWorkletModuleLoader.d.ts.map +0 -1
  138. package/dist/utils/createWorkletModuleLoader.js.map +0 -1
  139. package/dist/utils/input.d.ts.map +0 -1
  140. package/dist/utils/input.js.map +0 -1
  141. package/dist/utils/output.d.ts.map +0 -1
  142. package/dist/utils/output.js.map +0 -1
  143. package/dist/utils/rawAudioProcessor.generated.d.ts.map +0 -1
  144. package/dist/utils/rawAudioProcessor.generated.js.map +0 -1
  145. package/dist/utils/scribeAudioProcessor.generated.d.ts.map +0 -1
  146. package/dist/utils/scribeAudioProcessor.generated.js.map +0 -1
  147. /package/dist/{utils → platform/web}/addLibsamplerateModule.d.ts +0 -0
  148. /package/dist/{utils → platform/web}/addLibsamplerateModule.js +0 -0
  149. /package/dist/{utils → platform/web}/audioConcatProcessor.generated.d.ts +0 -0
  150. /package/dist/{utils → platform/web}/audioConcatProcessor.generated.js +0 -0
  151. /package/dist/{utils → platform/web}/compatibility.d.ts +0 -0
  152. /package/dist/{utils → platform/web}/compatibility.js +0 -0
  153. /package/dist/{utils → platform/web}/createWorkletModuleLoader.d.ts +0 -0
  154. /package/dist/{utils → platform/web}/createWorkletModuleLoader.js +0 -0
  155. /package/dist/{utils → platform/web}/input.js +0 -0
  156. /package/dist/{utils → platform/web}/output.js +0 -0
  157. /package/dist/{utils → platform/web}/rawAudioProcessor.generated.d.ts +0 -0
  158. /package/dist/{utils → platform/web}/rawAudioProcessor.generated.js +0 -0
  159. /package/dist/{utils → platform/web}/scribeAudioProcessor.generated.d.ts +0 -0
  160. /package/dist/{utils → platform/web}/scribeAudioProcessor.generated.js +0 -0
@@ -1,14 +1,16 @@
1
1
  import { BaseConnection, parseFormat, } from "./BaseConnection.js";
2
+ import { isJsonObject } from "./assert.js";
2
3
  import { extractApiErrorMessage } from "./errors.js";
3
4
  import { sourceInfo } from "../sourceInfo.js";
4
5
  import { isValidSocketEvent } from "./events.js";
5
6
  import { Room, RoomEvent, Track, ConnectionState, createLocalAudioTrack, } from "livekit-client";
6
7
  import { constructOverrides, CONVERSATION_INITIATION_CLIENT_DATA_TYPE, } from "./overrides.js";
7
8
  import { arrayBufferToBase64 } from "./audio.js";
8
- import { loadRawAudioProcessor } from "./rawAudioProcessor.generated.js";
9
- import { NO_VOLUME, createAnalyserVolumeProvider, } from "./volumeProvider.js";
9
+ import { NO_VOLUME } from "./volumeProvider.js";
10
+ import { createAudioAdapter, } from "../WebRTCAudioAdapter.js";
10
11
  const DEFAULT_LIVEKIT_WS_URL = "wss://livekit.rtc.elevenlabs.io";
11
12
  const HTTPS_API_ORIGIN = "https://api.elevenlabs.io";
13
+ const AUDIO_VOLUME_THRESHOLD = 0.01;
12
14
  // Convert WSS origin to HTTPS for API calls
13
15
  function convertWssToHttps(origin) {
14
16
  return origin.replace(/^wss:\/\//, "https://");
@@ -20,13 +22,11 @@ export class WebRTCConnection extends BaseConnection {
20
22
  room;
21
23
  isConnected = false;
22
24
  audioEventId = 1;
23
- audioCaptureContext = null;
24
- audioElements = [];
25
25
  outputDeviceId = null;
26
- inputAnalyser = null;
27
- inputAudioContext = null;
26
+ audioAdapter;
27
+ inputAnalyser = undefined;
28
28
  inputVolumeProvider = NO_VOLUME;
29
- outputAnalyser = null;
29
+ outputAnalyser = undefined;
30
30
  outputVolumeProvider = NO_VOLUME;
31
31
  // InputController state
32
32
  _isMuted = false;
@@ -102,7 +102,7 @@ export class WebRTCConnection extends BaseConnection {
102
102
  }
103
103
  },
104
104
  isMuted: () => this._isMuted,
105
- getAnalyser: () => this.inputAnalyser ?? undefined,
105
+ getAnalyser: () => this.inputAnalyser,
106
106
  getVolume: () => {
107
107
  if (this._isMuted)
108
108
  return 0;
@@ -143,7 +143,7 @@ export class WebRTCConnection extends BaseConnection {
143
143
  // No-op for WebRTC - LiveKit handles audio playback and interruption
144
144
  // Audio interruption is managed by the server/agent
145
145
  },
146
- getAnalyser: () => this.outputAnalyser ?? undefined,
146
+ getAnalyser: () => this.outputAnalyser,
147
147
  getVolume: () => this.outputVolumeProvider.getVolume(),
148
148
  getByteFrequencyData: (buffer) => {
149
149
  this.outputVolumeProvider.getByteFrequencyData(buffer);
@@ -155,6 +155,7 @@ export class WebRTCConnection extends BaseConnection {
155
155
  this.conversationId = conversationId;
156
156
  this.inputFormat = inputFormat;
157
157
  this.outputFormat = outputFormat;
158
+ this.audioAdapter = createAudioAdapter();
158
159
  this.setupRoomEventListeners();
159
160
  }
160
161
  static async create(config) {
@@ -180,6 +181,9 @@ export class WebRTCConnection extends BaseConnection {
180
181
  throw new Error(`ElevenLabs API returned ${response.status} ${message}`);
181
182
  }
182
183
  const data = await response.json();
184
+ if (!isJsonObject(data) || typeof data.token !== "string") {
185
+ throw new Error("No conversation token received from API");
186
+ }
183
187
  conversationToken = data.token;
184
188
  if (!conversationToken) {
185
189
  throw new Error("No conversation token received from API");
@@ -197,7 +201,12 @@ export class WebRTCConnection extends BaseConnection {
197
201
  else {
198
202
  throw new Error("Either conversationToken or agentId is required for WebRTC connection");
199
203
  }
200
- const room = new Room();
204
+ const room = new Room({
205
+ // Force dual peer connection (v0) path to maintain compatibility
206
+ // with LiveKit servers that don't support the v1 join protocol
207
+ // (publisher offer bundled in JoinRequest). See #781.
208
+ singlePeerConnection: false,
209
+ });
201
210
  try {
202
211
  // Create connection instance first to set up event listeners
203
212
  const conversationId = `room_${Date.now()}`;
@@ -260,14 +269,14 @@ export class WebRTCConnection extends BaseConnection {
260
269
  }
261
270
  }
262
271
  setupRoomEventListeners() {
263
- this.room.on(RoomEvent.Connected, async () => {
272
+ this.room.on(RoomEvent.Connected, () => {
264
273
  this.isConnected = true;
265
274
  });
266
275
  this.room.on(RoomEvent.Disconnected, reason => {
267
276
  this.isConnected = false;
268
277
  this.disconnect({
269
278
  reason: "agent",
270
- context: new CloseEvent("close", { reason: reason?.toString() }),
279
+ context: { type: "close", reason: reason?.toString() },
271
280
  });
272
281
  });
273
282
  this.room.on(RoomEvent.ConnectionStateChanged, state => {
@@ -276,7 +285,7 @@ export class WebRTCConnection extends BaseConnection {
276
285
  this.disconnect({
277
286
  reason: "error",
278
287
  message: `LiveKit connection state changed to ${state}`,
279
- context: new Event("connection_state_changed"),
288
+ context: { type: "connection_state_changed" },
280
289
  });
281
290
  }
282
291
  });
@@ -303,32 +312,14 @@ export class WebRTCConnection extends BaseConnection {
303
312
  this.room.on(RoomEvent.TrackSubscribed, async (track, _publication, participant) => {
304
313
  if (track.kind === Track.Kind.Audio &&
305
314
  participant.identity.includes("agent")) {
306
- // Play the audio track
307
315
  const remoteAudioTrack = track;
308
- const audioElement = remoteAudioTrack.attach();
309
- audioElement.autoplay = true;
310
- audioElement.controls = false;
311
- // Set output device if one was previously selected
312
- if (this.outputDeviceId && audioElement.setSinkId) {
313
- try {
314
- await audioElement.setSinkId(this.outputDeviceId);
315
- }
316
- catch (error) {
317
- console.warn("Failed to set output device for new audio element:", error);
318
- }
319
- }
320
- // Add to DOM (hidden) to ensure it plays
321
- audioElement.style.display = "none";
322
- document.body.appendChild(audioElement);
323
- // Store reference for volume control
324
- this.audioElements.push(audioElement);
325
- // Apply current volume if it exists (for when volume was set before audio track arrived)
326
- if (this.audioElements.length === 1) {
327
- // First audio element - trigger a callback to sync with current volume
316
+ if (this.audioAdapter) {
317
+ // Delegate playback to the platform-specific adapter
318
+ await this.audioAdapter.attachRemoteTrack(remoteAudioTrack, this.outputDeviceId);
319
+ // Set up output volume analysis and audio capture
320
+ await this.setupAudioCapture(remoteAudioTrack);
328
321
  this.onDebug?.({ type: "audio_element_ready" });
329
322
  }
330
- // Set up audio capture for onAudio callback
331
- await this.setupAudioCapture(remoteAudioTrack);
332
323
  }
333
324
  });
334
325
  this.room.on(RoomEvent.ActiveSpeakersChanged, async (speakers) => {
@@ -343,7 +334,7 @@ export class WebRTCConnection extends BaseConnection {
343
334
  if (participant.identity?.startsWith("agent")) {
344
335
  this.disconnect({
345
336
  reason: "agent",
346
- context: new CloseEvent("close", { reason: "agent disconnected" }),
337
+ context: { type: "close", reason: "agent disconnected" },
347
338
  });
348
339
  }
349
340
  });
@@ -361,28 +352,12 @@ export class WebRTCConnection extends BaseConnection {
361
352
  catch (error) {
362
353
  console.warn("Error stopping local tracks:", error);
363
354
  }
364
- // Clean up input audio context (non-blocking)
365
- if (this.inputAudioContext) {
366
- this.inputAudioContext.close().catch(error => {
367
- console.warn("Error closing input audio context:", error);
368
- });
369
- this.inputAudioContext = null;
370
- this.inputAnalyser = null;
371
- }
372
- // Clean up audio capture context (non-blocking)
373
- if (this.audioCaptureContext) {
374
- this.audioCaptureContext.close().catch(error => {
375
- console.warn("Error closing audio capture context:", error);
376
- });
377
- this.audioCaptureContext = null;
378
- }
379
- // Clean up audio elements
380
- this.audioElements.forEach(element => {
381
- if (element.parentNode) {
382
- element.parentNode.removeChild(element);
383
- }
384
- });
385
- this.audioElements = [];
355
+ // Delegate all audio cleanup to the adapter
356
+ this.audioAdapter?.cleanup();
357
+ this.inputAnalyser = undefined;
358
+ this.outputAnalyser = undefined;
359
+ this.inputVolumeProvider = NO_VOLUME;
360
+ this.outputVolumeProvider = NO_VOLUME;
386
361
  this.room.disconnect();
387
362
  }
388
363
  }
@@ -417,26 +392,17 @@ export class WebRTCConnection extends BaseConnection {
417
392
  return this.room;
418
393
  }
419
394
  /**
420
- * (Re-)creates an AudioContext + AnalyserNode from the given track and
421
- * installs the corresponding VolumeProvider. Called once during create()
422
- * and again after an input device switch so the analyser follows the
423
- * active mic track.
395
+ * Delegates input volume analysis to the audio adapter (if present).
396
+ * Called once during create() and again after an input device switch
397
+ * so the analyser follows the active mic track.
424
398
  */
425
399
  setupInputAnalyser(mediaStreamTrack) {
426
- // Clean up existing input audio context
427
- if (this.inputAudioContext) {
428
- this.inputAudioContext.close().catch(() => { });
429
- this.inputAudioContext = null;
430
- this.inputAnalyser = null;
431
- }
400
+ if (!this.audioAdapter)
401
+ return;
432
402
  try {
433
- const ctx = new AudioContext();
434
- const analyser = ctx.createAnalyser();
435
- const source = ctx.createMediaStreamSource(new MediaStream([mediaStreamTrack]));
436
- source.connect(analyser);
437
- this.inputAnalyser = analyser;
438
- this.inputAudioContext = ctx;
439
- this.inputVolumeProvider = createAnalyserVolumeProvider(analyser, ctx.sampleRate);
403
+ const result = this.audioAdapter.setupInputAnalysis(mediaStreamTrack);
404
+ this.inputVolumeProvider = result.volumeProvider;
405
+ this.inputAnalyser = result.analyser;
440
406
  }
441
407
  catch (error) {
442
408
  // Don't reset inputVolumeProvider here — an external provider (e.g.
@@ -451,39 +417,14 @@ export class WebRTCConnection extends BaseConnection {
451
417
  this.outputVolumeProvider = provider;
452
418
  }
453
419
  async setupAudioCapture(track) {
420
+ if (!this.audioAdapter)
421
+ return;
454
422
  try {
455
- // Create audio context for processing
456
- const audioContext = new AudioContext();
457
- this.audioCaptureContext = audioContext;
458
- // Create analyser for frequency data
459
- this.outputAnalyser = audioContext.createAnalyser();
460
- this.outputAnalyser.fftSize = 2048;
461
- this.outputAnalyser.smoothingTimeConstant = 0.8;
462
- // Create MediaStream from the track
463
- const mediaStream = new MediaStream([track.mediaStreamTrack]);
464
- // Create audio source from the stream
465
- const source = audioContext.createMediaStreamSource(mediaStream);
466
- // Connect source to analyser
467
- source.connect(this.outputAnalyser);
468
- this.setOutputVolumeProvider(createAnalyserVolumeProvider(this.outputAnalyser, audioContext.sampleRate));
469
- await loadRawAudioProcessor(audioContext.audioWorklet);
470
- const worklet = new AudioWorkletNode(audioContext, "rawAudioProcessor");
471
- // Connect analyser to worklet for processing
472
- this.outputAnalyser.connect(worklet);
473
- // Configure the processor for the output format
474
- worklet.port.postMessage({
475
- type: "setFormat",
476
- format: this.outputFormat.format,
477
- sampleRate: this.outputFormat.sampleRate,
478
- });
479
- // Handle processed audio data
480
- worklet.port.onmessage = (event) => {
481
- const [audioData, maxVolume] = event.data;
423
+ const onAudioData = (audioData, maxVolume) => {
482
424
  // Only send audio if there's significant volume (not just silence)
483
- const volumeThreshold = 0.01;
484
- if (maxVolume > volumeThreshold) {
425
+ if (maxVolume > AUDIO_VOLUME_THRESHOLD) {
485
426
  // Convert to base64
486
- const base64Audio = arrayBufferToBase64(audioData.buffer);
427
+ const base64Audio = arrayBufferToBase64(audioData);
487
428
  // Use sequential event ID for proper feedback tracking
488
429
  const eventId = this.audioEventId++;
489
430
  // Trigger the onAudio callback by simulating an audio event
@@ -496,33 +437,22 @@ export class WebRTCConnection extends BaseConnection {
496
437
  });
497
438
  }
498
439
  };
499
- // Connect the audio processing chain
500
- source.connect(worklet);
440
+ const result = await this.audioAdapter.setupOutputAnalysis(track, this.outputFormat, onAudioData);
441
+ this.outputVolumeProvider = result.volumeProvider;
442
+ this.outputAnalyser = result.analyser;
501
443
  }
502
444
  catch (error) {
503
445
  console.warn("Failed to set up audio capture:", error);
504
446
  }
505
447
  }
506
448
  setAudioVolume(volume) {
507
- this.audioElements.forEach(element => {
508
- element.volume = volume;
509
- });
449
+ this.audioAdapter?.setVolume(volume);
510
450
  }
511
451
  async setAudioOutputDevice(deviceId) {
512
- if (!("setSinkId" in HTMLAudioElement.prototype)) {
513
- throw new Error("setSinkId is not supported in this browser");
452
+ if (!this.audioAdapter) {
453
+ throw new Error("Cannot set output device: no audio adapter available on this platform");
514
454
  }
515
- // Set output device for all existing audio elements
516
- const promises = this.audioElements.map(async (element) => {
517
- try {
518
- await element.setSinkId(deviceId);
519
- }
520
- catch (error) {
521
- console.error("Failed to set sink ID for audio element:", error);
522
- throw error;
523
- }
524
- });
525
- await Promise.all(promises);
455
+ await this.audioAdapter.setOutputDevice(deviceId);
526
456
  // Store the device ID for future audio elements
527
457
  this.outputDeviceId = deviceId;
528
458
  }
@@ -538,16 +468,14 @@ export class WebRTCConnection extends BaseConnection {
538
468
  await currentMicTrackPublication.track.stop();
539
469
  await this.room.localParticipant.unpublishTrack(currentMicTrackPublication.track);
540
470
  }
541
- // Create constraints for the new input device
542
- const audioConstraints = {
471
+ // Create new audio track with the specified device
472
+ const audioTrack = await createLocalAudioTrack({
543
473
  deviceId: { exact: deviceId },
544
474
  echoCancellation: true,
545
475
  noiseSuppression: true,
546
476
  autoGainControl: true,
547
477
  channelCount: { ideal: 1 },
548
- };
549
- // Create new audio track with the specified device
550
- const audioTrack = await createLocalAudioTrack(audioConstraints);
478
+ });
551
479
  // Publish the new microphone track
552
480
  await this.room.localParticipant.publishTrack(audioTrack, {
553
481
  name: "microphone",
@@ -1 +1 @@
1
- {"version":3,"file":"WebRTCConnection.js","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebRTCConnection.js","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BaseConnection, type SessionConfig, type FormatConfig } from "./BaseConnection.js";
2
2
  import { type OutgoingSocketEvent, type IncomingSocketEvent } from "./events.js";
3
- import type { OutputEventTarget, OutputListener } from "./output.js";
3
+ import type { OutputEventTarget, OutputListener } from "../OutputController.js";
4
4
  export declare class WebSocketConnection extends BaseConnection implements OutputEventTarget {
5
5
  private readonly socket;
6
6
  readonly conversationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebSocketConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMrE,qBAAa,mBACX,SAAQ,cACR,YAAW,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO;WAqEa,MAAM,CACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,mBAAmB,CAAC;IA8GxB,KAAK;IAIL,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAIxC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;cAIlC,aAAa,CAAC,WAAW,EAAE,mBAAmB;CAWlE"}
1
+ {"version":3,"file":"WebSocketConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebSocketConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMhF,qBAAa,mBACX,SAAQ,cACR,YAAW,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO;WAuEa,MAAM,CACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,mBAAmB,CAAC;IA8GxB,KAAK;IAIL,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAIxC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;cAIlC,aAAa,CAAC,WAAW,EAAE,mBAAmB;CAWlE"}
@@ -25,23 +25,25 @@ export class WebSocketConnection extends BaseConnection {
25
25
  setTimeout(() => this.disconnect({
26
26
  reason: "error",
27
27
  message: "The connection was closed due to a socket error.",
28
- context: event,
28
+ context: { type: event.type },
29
29
  }), 0);
30
30
  });
31
31
  this.socket.addEventListener("close", event => {
32
- this.disconnect(event.code === 1000
33
- ? {
34
- reason: "agent",
35
- context: event,
36
- closeCode: event.code,
37
- closeReason: event.reason || undefined,
38
- }
32
+ const closeCode = event.code;
33
+ const closeReason = event.reason || undefined;
34
+ const context = {
35
+ type: event.type,
36
+ code: closeCode,
37
+ reason: closeReason,
38
+ };
39
+ this.disconnect(closeCode === 1000
40
+ ? { reason: "agent", context, closeCode, closeReason }
39
41
  : {
40
42
  reason: "error",
41
- message: event.reason || "The connection was closed by the server.",
42
- context: event,
43
- closeCode: event.code,
44
- closeReason: event.reason || undefined,
43
+ message: closeReason || "The connection was closed by the server.",
44
+ context,
45
+ closeCode,
46
+ closeReason,
45
47
  });
46
48
  });
47
49
  this.socket.addEventListener("message", event => {
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketConnection.js","sourceRoot":"","sources":["../../src/utils/WebSocketConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACjD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAE7D,MAAM,OAAO,mBACX,SAAQ,cAAc;IAUH;IAPH,cAAc,CAAS;IACvB,WAAW,CAAe;IAC1B,YAAY,CAAe;IAEnC,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEzD,YACmB,MAAiB,EAClC,cAAsB,EACtB,WAAyB,EACzB,YAA0B;QAE1B,KAAK,EAAE,CAAC;QALS,WAAM,GAAN,MAAM,CAAW;QAMlC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC5C,oEAAoE;YACpE,wEAAwE;YACxE,sBAAsB;YACtB,UAAU,CACR,GAAG,EAAE,CACH,IAAI,CAAC,UAAU,CAAC;gBACd,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,kDAAkD;gBAC3D,OAAO,EAAE,KAAK;aACf,CAAC,EACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,UAAU,CACb,KAAK,CAAC,IAAI,KAAK,IAAI;gBACjB,CAAC,CAAC;oBACE,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;iBACvC;gBACH,CAAC,CAAC;oBACE,MAAM,EAAE,OAAO;oBACf,OAAO,EACL,KAAK,CAAC,MAAM,IAAI,0CAA0C;oBAC5D,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;iBACvC,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC;wBACT,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,+BAA+B;wBACxC,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC;oBACT,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gCAAgC;oBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAqB;QAErB,IAAI,MAAM,GAAqB,IAAI,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;YAC/C,IAAI,GAAW,CAAC;YAEhB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;YAE7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7D,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,UAAU,MAAM,YAAY,OAAO,EAAE,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,GAAG,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC,OAAO,WAAW,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5F,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,GAAG,IAAI,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAEvC,MAAM,kBAAkB,GAAG,MAAM,IAAI,OAAO,CAE1C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAO,CAAC,gBAAgB,CACtB,MAAM,EACN,GAAG,EAAE;oBACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAElD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC/C,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBAEF,MAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACxC,oEAAoE;oBACpE,oEAAoE;oBACpE,sBAAsB;oBACtB,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,sBAAsB,CACxB,kDAAkD,CACnD,CACF,EACH,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;oBACtD,MAAM,OAAO,GACX,KAAK,CAAC,MAAM;wBACZ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI;4BAClB,CAAC,CAAC,iEAAiE;4BACnE,CAAC,CAAC,qEAAqE,CAAC,CAAC;oBAC7E,MAAM,CACJ,IAAI,sBAAsB,CAAC,OAAO,EAAE;wBAClC,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;qBACvC,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAO,CAAC,gBAAgB,CACtB,SAAS,EACT,CAAC,KAAmB,EAAE,EAAE;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAEvC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACjC,OAAO;oBACT,CAAC;oBAED,IAAI,OAAO,CAAC,IAAI,KAAK,kCAAkC,EAAE,CAAC;wBACxD,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CACV,sDAAsD,CACvD,CAAC;oBACJ,CAAC;gBACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,EACJ,eAAe,EACf,yBAAyB,EACzB,uBAAuB,GACxB,GAAG,kBAAkB,CAAC;YAEvB,MAAM,WAAW,GAAG,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;YAE5D,OAAO,IAAI,mBAAmB,CAC5B,MAAM,EACN,eAAe,EACf,WAAW,EACX,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAEM,WAAW,CAAC,OAA4B;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,cAAc,CAAC,QAAwB;QAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEkB,aAAa,CAAC,WAAgC;QAC/D,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEjC,wCAAwC;QACxC,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG;gBACjB,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa;aACrD,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"WebSocketConnection.js","sourceRoot":"","sources":["../../src/utils/WebSocketConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACjD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAE7D,MAAM,OAAO,mBACX,SAAQ,cAAc;IAUH;IAPH,cAAc,CAAS;IACvB,WAAW,CAAe;IAC1B,YAAY,CAAe;IAEnC,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEzD,YACmB,MAAiB,EAClC,cAAsB,EACtB,WAAyB,EACzB,YAA0B;QAE1B,KAAK,EAAE,CAAC;QALS,WAAM,GAAN,MAAM,CAAW;QAMlC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC5C,oEAAoE;YACpE,wEAAwE;YACxE,sBAAsB;YACtB,UAAU,CACR,GAAG,EAAE,CACH,IAAI,CAAC,UAAU,CAAC;gBACd,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,kDAAkD;gBAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;aAC9B,CAAC,EACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;YAC9C,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,IAAI,CAAC,UAAU,CACb,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE;gBACtD,CAAC,CAAC;oBACE,MAAM,EAAE,OAAO;oBACf,OAAO,EACL,WAAW,IAAI,0CAA0C;oBAC3D,OAAO;oBACP,SAAS;oBACT,WAAW;iBACZ,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC;wBACT,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,+BAA+B;wBACxC,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC;oBACT,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gCAAgC;oBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAqB;QAErB,IAAI,MAAM,GAAqB,IAAI,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;YAC/C,IAAI,GAAW,CAAC;YAEhB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;YAE7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7D,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,UAAU,MAAM,YAAY,OAAO,EAAE,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,GAAG,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC,OAAO,WAAW,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5F,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,GAAG,IAAI,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAEvC,MAAM,kBAAkB,GAAG,MAAM,IAAI,OAAO,CAE1C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAO,CAAC,gBAAgB,CACtB,MAAM,EACN,GAAG,EAAE;oBACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAElD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC/C,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBAEF,MAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACxC,oEAAoE;oBACpE,oEAAoE;oBACpE,sBAAsB;oBACtB,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,sBAAsB,CACxB,kDAAkD,CACnD,CACF,EACH,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;oBACtD,MAAM,OAAO,GACX,KAAK,CAAC,MAAM;wBACZ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI;4BAClB,CAAC,CAAC,iEAAiE;4BACnE,CAAC,CAAC,qEAAqE,CAAC,CAAC;oBAC7E,MAAM,CACJ,IAAI,sBAAsB,CAAC,OAAO,EAAE;wBAClC,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;qBACvC,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAO,CAAC,gBAAgB,CACtB,SAAS,EACT,CAAC,KAAmB,EAAE,EAAE;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAEvC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACjC,OAAO;oBACT,CAAC;oBAED,IAAI,OAAO,CAAC,IAAI,KAAK,kCAAkC,EAAE,CAAC;wBACxD,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CACV,sDAAsD,CACvD,CAAC;oBACJ,CAAC;gBACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,EACJ,eAAe,EACf,yBAAyB,EACzB,uBAAuB,GACxB,GAAG,kBAAkB,CAAC;YAEvB,MAAM,WAAW,GAAG,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;YAE5D,OAAO,IAAI,mBAAmB,CAC5B,MAAM,EACN,eAAe,EACf,WAAW,EACX,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAEM,WAAW,CAAC,OAA4B;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,cAAc,CAAC,QAAwB;QAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEkB,aAAa,CAAC,WAAgC;QAC/D,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEjC,wCAAwC;QACxC,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC1E,MAAM,UAAU,GAAG;gBACjB,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa;aACrD,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
- import type { DelayConfig } from "./connection.js";
2
- export declare function applyDelay(delayConfig?: DelayConfig): Promise<void>;
1
+ import type { DelayConfig } from "./BaseConnection.js";
2
+ export declare function resolveDelay(delayConfig: DelayConfig | undefined, platform?: "android" | "ios" | "default"): number;
3
+ export declare function applyDelay(delayMs: number): Promise<void>;
3
4
  //# sourceMappingURL=applyDelay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyDelay.d.ts","sourceRoot":"","sources":["../../src/utils/applyDelay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAsB,UAAU,CAC9B,WAAW,GAAE,WAIZ,iBAYF"}
1
+ {"version":3,"file":"applyDelay.d.ts","sourceRoot":"","sources":["../../src/utils/applyDelay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAavD,wBAAgB,YAAY,CAC1B,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,QAAQ,GAAE,SAAS,GAAG,KAAK,GAAG,SAAqB,GAClD,MAAM,CAKR;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,iBAI/C"}
@@ -1,18 +1,24 @@
1
- import { isAndroidDevice, isIosDevice } from "./compatibility.js";
2
- export async function applyDelay(delayConfig = {
1
+ /**
2
+ * Resolves a platform-specific delay from a DelayConfig.
3
+ * The `platform` parameter is determined by the caller (e.g. via
4
+ * `compatibility.ts` on the web, or from the React Native runtime).
5
+ */
6
+ const DEFAULT_DELAY = {
3
7
  default: 0,
4
8
  // Give the Android AudioManager enough time to switch to the correct audio mode
5
9
  android: 3_000,
6
- }) {
7
- let delay = delayConfig.default;
8
- if (isAndroidDevice()) {
9
- delay = delayConfig.android ?? delay;
10
- }
11
- else if (isIosDevice()) {
12
- delay = delayConfig.ios ?? delay;
13
- }
14
- if (delay > 0) {
15
- await new Promise(resolve => setTimeout(resolve, delay));
10
+ };
11
+ export function resolveDelay(delayConfig, platform = "default") {
12
+ const config = delayConfig ?? DEFAULT_DELAY;
13
+ if (platform === "android")
14
+ return config.android ?? config.default;
15
+ if (platform === "ios")
16
+ return config.ios ?? config.default;
17
+ return config.default;
18
+ }
19
+ export async function applyDelay(delayMs) {
20
+ if (delayMs > 0) {
21
+ await new Promise(resolve => setTimeout(resolve, delayMs));
16
22
  }
17
23
  }
18
24
  //# sourceMappingURL=applyDelay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyDelay.js","sourceRoot":"","sources":["../../src/utils/applyDelay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,cAA2B;IACzB,OAAO,EAAE,CAAC;IACV,gFAAgF;IAChF,OAAO,EAAE,KAAK;CACf;IAED,IAAI,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;IAChC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,KAAK,GAAG,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC;IACvC,CAAC;SAAM,IAAI,WAAW,EAAE,EAAE,CAAC;QACzB,KAAK,GAAG,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"applyDelay.js","sourceRoot":"","sources":["../../src/utils/applyDelay.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,aAAa,GAAgB;IACjC,OAAO,EAAE,CAAC;IACV,gFAAgF;IAChF,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,WAAoC,EACpC,WAA0C,SAAS;IAEnD,MAAM,MAAM,GAAG,WAAW,IAAI,aAAa,CAAC;IAC5C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IACpE,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function isJsonObject(value: unknown): value is Record<string, unknown>;
2
+ export declare function assertJsonObject(value: unknown, message?: string): asserts value is Record<string, unknown>;
3
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,SAA2B,GACjC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI1C"}
@@ -0,0 +1,9 @@
1
+ export function isJsonObject(value) {
2
+ return value != null && typeof value === "object" && !Array.isArray(value);
3
+ }
4
+ export function assertJsonObject(value, message = "Expected a JSON object") {
5
+ if (!isJsonObject(value)) {
6
+ throw new Error(message);
7
+ }
8
+ }
9
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,OAAO,GAAG,wBAAwB;IAElC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { OutputEventTarget } from "./output.js";
1
+ import type { OutputEventTarget } from "../OutputController.js";
2
2
  export declare function attachConnectionToOutput(connection: OutputEventTarget, output: {
3
3
  playAudio(chunk: ArrayBuffer): void;
4
4
  }): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"attachConnectionToOutput.d.ts","sourceRoot":"","sources":["../../src/utils/attachConnectionToOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAGrE,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE;IAAE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAC9C,MAAM,IAAI,CAUZ"}
1
+ {"version":3,"file":"attachConnectionToOutput.d.ts","sourceRoot":"","sources":["../../src/utils/attachConnectionToOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,wBAAwB,CAAC;AAGhF,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE;IAAE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAC9C,MAAM,IAAI,CAUZ"}
@@ -1,4 +1,4 @@
1
- import type { InputEventTarget } from "./input.js";
1
+ import type { InputEventTarget } from "../InputController.js";
2
2
  import type { UserAudioEvent } from "./events.js";
3
3
  export declare function attachInputToConnection(input: InputEventTarget, connection: {
4
4
  sendMessage(message: UserAudioEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"attachInputToConnection.d.ts","sourceRoot":"","sources":["../../src/utils/attachInputToConnection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE;IACV,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAC5C,GACA,MAAM,IAAI,CAeZ"}
1
+ {"version":3,"file":"attachInputToConnection.d.ts","sourceRoot":"","sources":["../../src/utils/attachInputToConnection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE;IACV,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAC5C,GACA,MAAM,IAAI,CAeZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/utils/audio.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,UAKrD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAQ/D"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/utils/audio.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,UAIrD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAQ/D"}
@@ -1,11 +1,10 @@
1
1
  export function arrayBufferToBase64(b) {
2
2
  const buffer = new Uint8Array(b);
3
- // @ts-ignore
4
- const base64Data = window.btoa(String.fromCharCode(...buffer));
3
+ const base64Data = btoa(String.fromCharCode(...buffer));
5
4
  return base64Data;
6
5
  }
7
6
  export function base64ToArrayBuffer(base64) {
8
- const binaryString = window.atob(base64);
7
+ const binaryString = atob(base64);
9
8
  const len = binaryString.length;
10
9
  const bytes = new Uint8Array(len);
11
10
  for (let i = 0; i < len; i++) {