@elevenlabs/client 1.7.1 → 1.8.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/dist/BaseConversation.d.ts +2 -2
- package/dist/BaseConversation.d.ts.map +1 -1
- package/dist/BaseConversation.js +18 -15
- package/dist/BaseConversation.js.map +1 -1
- package/dist/InputController.d.ts +9 -0
- package/dist/InputController.d.ts.map +1 -1
- package/dist/OutputController.d.ts +18 -0
- package/dist/OutputController.d.ts.map +1 -1
- package/dist/TextConversation.js +2 -2
- package/dist/TextConversation.js.map +1 -1
- package/dist/VoiceConversation.d.ts +3 -6
- package/dist/VoiceConversation.d.ts.map +1 -1
- package/dist/VoiceConversation.js +15 -69
- package/dist/VoiceConversation.js.map +1 -1
- package/dist/WebRTCAudioAdapter.d.ts +52 -0
- package/dist/WebRTCAudioAdapter.d.ts.map +1 -0
- package/dist/WebRTCAudioAdapter.js +17 -0
- package/dist/WebRTCAudioAdapter.js.map +1 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +6 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -1
- package/dist/internal.js.map +1 -1
- package/dist/lib.iife.js +3519 -3220
- package/dist/lib.iife.js.map +1 -1
- package/dist/platform/VoiceSessionSetup.d.ts +10 -15
- package/dist/platform/VoiceSessionSetup.d.ts.map +1 -1
- package/dist/platform/VoiceSessionSetup.js +20 -62
- package/dist/platform/VoiceSessionSetup.js.map +1 -1
- package/dist/platform/tsconfig.test.tsbuildinfo +1 -0
- package/dist/platform/web/VoiceSessionSetup.d.ts +9 -0
- package/dist/platform/web/VoiceSessionSetup.d.ts.map +1 -0
- package/dist/platform/web/VoiceSessionSetup.js +166 -0
- package/dist/platform/web/VoiceSessionSetup.js.map +1 -0
- package/dist/platform/web/addLibsamplerateModule.d.ts.map +1 -0
- package/dist/platform/web/addLibsamplerateModule.js.map +1 -0
- package/dist/platform/web/audioConcatProcessor.generated.d.ts.map +1 -0
- package/dist/platform/web/audioConcatProcessor.generated.js.map +1 -0
- package/dist/platform/web/audioUnlock.d.ts +11 -0
- package/dist/platform/web/audioUnlock.d.ts.map +1 -0
- package/dist/platform/web/audioUnlock.js +74 -0
- package/dist/platform/web/audioUnlock.js.map +1 -0
- package/dist/platform/web/compatibility.d.ts.map +1 -0
- package/dist/platform/web/compatibility.js.map +1 -0
- package/dist/platform/web/createWorkletModuleLoader.d.ts.map +1 -0
- package/dist/platform/web/createWorkletModuleLoader.js.map +1 -0
- package/dist/platform/web/index.d.ts +3 -0
- package/dist/platform/web/index.d.ts.map +1 -0
- package/dist/platform/web/index.js +18 -0
- package/dist/platform/web/index.js.map +1 -0
- package/dist/{utils → platform/web}/input.d.ts +3 -12
- package/dist/platform/web/input.d.ts.map +1 -0
- package/dist/platform/web/input.js.map +1 -0
- package/dist/platform/web/output.d.ts +29 -0
- package/dist/platform/web/output.d.ts.map +1 -0
- package/dist/{utils → platform/web}/output.js +29 -3
- package/dist/platform/web/output.js.map +1 -0
- package/dist/platform/web/rawAudioProcessor.generated.d.ts.map +1 -0
- package/dist/platform/web/rawAudioProcessor.generated.js.map +1 -0
- package/dist/platform/web/scribeAudioProcessor.generated.d.ts.map +1 -0
- package/dist/platform/web/scribeAudioProcessor.generated.js.map +1 -0
- package/dist/platform/web/scribeMicrophone.d.ts +10 -0
- package/dist/platform/web/scribeMicrophone.d.ts.map +1 -0
- package/dist/platform/web/scribeMicrophone.js +65 -0
- package/dist/platform/web/scribeMicrophone.js.map +1 -0
- package/dist/platform/web/volumeProvider.d.ts +4 -0
- package/dist/platform/web/volumeProvider.d.ts.map +1 -0
- package/dist/platform/web/volumeProvider.js +24 -0
- package/dist/platform/web/volumeProvider.js.map +1 -0
- package/dist/platform/web/webAudioAdapter.d.ts +23 -0
- package/dist/platform/web/webAudioAdapter.d.ts.map +1 -0
- package/dist/platform/web/webAudioAdapter.js +127 -0
- package/dist/platform/web/webAudioAdapter.js.map +1 -0
- package/dist/runtime.d.ts +181 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +34 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scribe/microphone.d.ts +31 -0
- package/dist/scribe/microphone.d.ts.map +1 -0
- package/dist/scribe/microphone.js +23 -0
- package/dist/scribe/microphone.js.map +1 -0
- package/dist/scribe/scribe.d.ts +1 -1
- package/dist/scribe/scribe.d.ts.map +1 -1
- package/dist/scribe/scribe.js +6 -62
- package/dist/scribe/scribe.js.map +1 -1
- package/dist/types.d.ts +12 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/BaseConnection.d.ts +1 -1
- package/dist/utils/BaseConnection.d.ts.map +1 -1
- package/dist/utils/WebRTCConnection.d.ts +4 -7
- package/dist/utils/WebRTCConnection.d.ts.map +1 -1
- package/dist/utils/WebRTCConnection.js +51 -128
- package/dist/utils/WebRTCConnection.js.map +1 -1
- package/dist/utils/WebSocketConnection.d.ts +2 -1
- package/dist/utils/WebSocketConnection.d.ts.map +1 -1
- package/dist/utils/WebSocketConnection.js +29 -12
- package/dist/utils/WebSocketConnection.js.map +1 -1
- package/dist/utils/applyDelay.d.ts +3 -2
- package/dist/utils/applyDelay.d.ts.map +1 -1
- package/dist/utils/applyDelay.js +18 -12
- package/dist/utils/applyDelay.js.map +1 -1
- package/dist/utils/assert.d.ts +3 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +9 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/attachConnectionToOutput.d.ts +1 -1
- package/dist/utils/attachConnectionToOutput.d.ts.map +1 -1
- package/dist/utils/attachInputToConnection.d.ts +1 -1
- package/dist/utils/attachInputToConnection.d.ts.map +1 -1
- package/dist/utils/audio.d.ts.map +1 -1
- package/dist/utils/audio.js +2 -3
- package/dist/utils/audio.js.map +1 -1
- package/dist/utils/connection.d.ts +1 -1
- package/dist/utils/connection.d.ts.map +1 -1
- package/dist/utils/connection.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +5 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/mergeOptions.d.ts.map +1 -1
- package/dist/utils/mergeOptions.js +1 -3
- package/dist/utils/mergeOptions.js.map +1 -1
- package/dist/utils/volumeProvider.d.ts +0 -1
- package/dist/utils/volumeProvider.d.ts.map +1 -1
- package/dist/utils/volumeProvider.js +0 -22
- package/dist/utils/volumeProvider.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
- package/dist/utils/addLibsamplerateModule.d.ts.map +0 -1
- package/dist/utils/addLibsamplerateModule.js.map +0 -1
- package/dist/utils/audioConcatProcessor.generated.d.ts.map +0 -1
- package/dist/utils/audioConcatProcessor.generated.js.map +0 -1
- package/dist/utils/compatibility.d.ts.map +0 -1
- package/dist/utils/compatibility.js.map +0 -1
- package/dist/utils/createWorkletModuleLoader.d.ts.map +0 -1
- package/dist/utils/createWorkletModuleLoader.js.map +0 -1
- package/dist/utils/input.d.ts.map +0 -1
- package/dist/utils/input.js.map +0 -1
- package/dist/utils/output.d.ts +0 -45
- package/dist/utils/output.d.ts.map +0 -1
- package/dist/utils/output.js.map +0 -1
- package/dist/utils/rawAudioProcessor.generated.d.ts.map +0 -1
- package/dist/utils/rawAudioProcessor.generated.js.map +0 -1
- package/dist/utils/scribeAudioProcessor.generated.d.ts.map +0 -1
- package/dist/utils/scribeAudioProcessor.generated.js.map +0 -1
- /package/dist/{utils → platform/web}/addLibsamplerateModule.d.ts +0 -0
- /package/dist/{utils → platform/web}/addLibsamplerateModule.js +0 -0
- /package/dist/{utils → platform/web}/audioConcatProcessor.generated.d.ts +0 -0
- /package/dist/{utils → platform/web}/audioConcatProcessor.generated.js +0 -0
- /package/dist/{utils → platform/web}/compatibility.d.ts +0 -0
- /package/dist/{utils → platform/web}/compatibility.js +0 -0
- /package/dist/{utils → platform/web}/createWorkletModuleLoader.d.ts +0 -0
- /package/dist/{utils → platform/web}/createWorkletModuleLoader.js +0 -0
- /package/dist/{utils → platform/web}/input.js +0 -0
- /package/dist/{utils → platform/web}/rawAudioProcessor.generated.d.ts +0 -0
- /package/dist/{utils → platform/web}/rawAudioProcessor.generated.js +0 -0
- /package/dist/{utils → platform/web}/scribeAudioProcessor.generated.d.ts +0 -0
- /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 {
|
|
9
|
-
import {
|
|
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
|
-
|
|
27
|
-
|
|
26
|
+
audioAdapter;
|
|
27
|
+
inputAnalyser = undefined;
|
|
28
28
|
inputVolumeProvider = NO_VOLUME;
|
|
29
|
-
outputAnalyser =
|
|
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
|
|
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
|
|
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");
|
|
@@ -265,14 +269,14 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
265
269
|
}
|
|
266
270
|
}
|
|
267
271
|
setupRoomEventListeners() {
|
|
268
|
-
this.room.on(RoomEvent.Connected,
|
|
272
|
+
this.room.on(RoomEvent.Connected, () => {
|
|
269
273
|
this.isConnected = true;
|
|
270
274
|
});
|
|
271
275
|
this.room.on(RoomEvent.Disconnected, reason => {
|
|
272
276
|
this.isConnected = false;
|
|
273
277
|
this.disconnect({
|
|
274
278
|
reason: "agent",
|
|
275
|
-
context:
|
|
279
|
+
context: { type: "close", reason: reason?.toString() },
|
|
276
280
|
});
|
|
277
281
|
});
|
|
278
282
|
this.room.on(RoomEvent.ConnectionStateChanged, state => {
|
|
@@ -281,7 +285,7 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
281
285
|
this.disconnect({
|
|
282
286
|
reason: "error",
|
|
283
287
|
message: `LiveKit connection state changed to ${state}`,
|
|
284
|
-
context:
|
|
288
|
+
context: { type: "connection_state_changed" },
|
|
285
289
|
});
|
|
286
290
|
}
|
|
287
291
|
});
|
|
@@ -308,32 +312,14 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
308
312
|
this.room.on(RoomEvent.TrackSubscribed, async (track, _publication, participant) => {
|
|
309
313
|
if (track.kind === Track.Kind.Audio &&
|
|
310
314
|
participant.identity.includes("agent")) {
|
|
311
|
-
// Play the audio track
|
|
312
315
|
const remoteAudioTrack = track;
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
try {
|
|
319
|
-
await audioElement.setSinkId(this.outputDeviceId);
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
console.warn("Failed to set output device for new audio element:", error);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
// Add to DOM (hidden) to ensure it plays
|
|
326
|
-
audioElement.style.display = "none";
|
|
327
|
-
document.body.appendChild(audioElement);
|
|
328
|
-
// Store reference for volume control
|
|
329
|
-
this.audioElements.push(audioElement);
|
|
330
|
-
// Apply current volume if it exists (for when volume was set before audio track arrived)
|
|
331
|
-
if (this.audioElements.length === 1) {
|
|
332
|
-
// 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);
|
|
333
321
|
this.onDebug?.({ type: "audio_element_ready" });
|
|
334
322
|
}
|
|
335
|
-
// Set up audio capture for onAudio callback
|
|
336
|
-
await this.setupAudioCapture(remoteAudioTrack);
|
|
337
323
|
}
|
|
338
324
|
});
|
|
339
325
|
this.room.on(RoomEvent.ActiveSpeakersChanged, async (speakers) => {
|
|
@@ -348,7 +334,7 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
348
334
|
if (participant.identity?.startsWith("agent")) {
|
|
349
335
|
this.disconnect({
|
|
350
336
|
reason: "agent",
|
|
351
|
-
context:
|
|
337
|
+
context: { type: "close", reason: "agent disconnected" },
|
|
352
338
|
});
|
|
353
339
|
}
|
|
354
340
|
});
|
|
@@ -366,28 +352,12 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
366
352
|
catch (error) {
|
|
367
353
|
console.warn("Error stopping local tracks:", error);
|
|
368
354
|
}
|
|
369
|
-
//
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
this.inputAnalyser = null;
|
|
376
|
-
}
|
|
377
|
-
// Clean up audio capture context (non-blocking)
|
|
378
|
-
if (this.audioCaptureContext) {
|
|
379
|
-
this.audioCaptureContext.close().catch(error => {
|
|
380
|
-
console.warn("Error closing audio capture context:", error);
|
|
381
|
-
});
|
|
382
|
-
this.audioCaptureContext = null;
|
|
383
|
-
}
|
|
384
|
-
// Clean up audio elements
|
|
385
|
-
this.audioElements.forEach(element => {
|
|
386
|
-
if (element.parentNode) {
|
|
387
|
-
element.parentNode.removeChild(element);
|
|
388
|
-
}
|
|
389
|
-
});
|
|
390
|
-
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;
|
|
391
361
|
this.room.disconnect();
|
|
392
362
|
}
|
|
393
363
|
}
|
|
@@ -422,26 +392,17 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
422
392
|
return this.room;
|
|
423
393
|
}
|
|
424
394
|
/**
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
* 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.
|
|
429
398
|
*/
|
|
430
399
|
setupInputAnalyser(mediaStreamTrack) {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
this.inputAudioContext.close().catch(() => { });
|
|
434
|
-
this.inputAudioContext = null;
|
|
435
|
-
this.inputAnalyser = null;
|
|
436
|
-
}
|
|
400
|
+
if (!this.audioAdapter)
|
|
401
|
+
return;
|
|
437
402
|
try {
|
|
438
|
-
const
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
source.connect(analyser);
|
|
442
|
-
this.inputAnalyser = analyser;
|
|
443
|
-
this.inputAudioContext = ctx;
|
|
444
|
-
this.inputVolumeProvider = createAnalyserVolumeProvider(analyser, ctx.sampleRate);
|
|
403
|
+
const result = this.audioAdapter.setupInputAnalysis(mediaStreamTrack);
|
|
404
|
+
this.inputVolumeProvider = result.volumeProvider;
|
|
405
|
+
this.inputAnalyser = result.analyser;
|
|
445
406
|
}
|
|
446
407
|
catch (error) {
|
|
447
408
|
// Don't reset inputVolumeProvider here — an external provider (e.g.
|
|
@@ -456,39 +417,14 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
456
417
|
this.outputVolumeProvider = provider;
|
|
457
418
|
}
|
|
458
419
|
async setupAudioCapture(track) {
|
|
420
|
+
if (!this.audioAdapter)
|
|
421
|
+
return;
|
|
459
422
|
try {
|
|
460
|
-
|
|
461
|
-
const audioContext = new AudioContext();
|
|
462
|
-
this.audioCaptureContext = audioContext;
|
|
463
|
-
// Create analyser for frequency data
|
|
464
|
-
this.outputAnalyser = audioContext.createAnalyser();
|
|
465
|
-
this.outputAnalyser.fftSize = 2048;
|
|
466
|
-
this.outputAnalyser.smoothingTimeConstant = 0.8;
|
|
467
|
-
// Create MediaStream from the track
|
|
468
|
-
const mediaStream = new MediaStream([track.mediaStreamTrack]);
|
|
469
|
-
// Create audio source from the stream
|
|
470
|
-
const source = audioContext.createMediaStreamSource(mediaStream);
|
|
471
|
-
// Connect source to analyser
|
|
472
|
-
source.connect(this.outputAnalyser);
|
|
473
|
-
this.setOutputVolumeProvider(createAnalyserVolumeProvider(this.outputAnalyser, audioContext.sampleRate));
|
|
474
|
-
await loadRawAudioProcessor(audioContext.audioWorklet);
|
|
475
|
-
const worklet = new AudioWorkletNode(audioContext, "rawAudioProcessor");
|
|
476
|
-
// Connect analyser to worklet for processing
|
|
477
|
-
this.outputAnalyser.connect(worklet);
|
|
478
|
-
// Configure the processor for the output format
|
|
479
|
-
worklet.port.postMessage({
|
|
480
|
-
type: "setFormat",
|
|
481
|
-
format: this.outputFormat.format,
|
|
482
|
-
sampleRate: this.outputFormat.sampleRate,
|
|
483
|
-
});
|
|
484
|
-
// Handle processed audio data
|
|
485
|
-
worklet.port.onmessage = (event) => {
|
|
486
|
-
const [audioData, maxVolume] = event.data;
|
|
423
|
+
const onAudioData = (audioData, maxVolume) => {
|
|
487
424
|
// Only send audio if there's significant volume (not just silence)
|
|
488
|
-
|
|
489
|
-
if (maxVolume > volumeThreshold) {
|
|
425
|
+
if (maxVolume > AUDIO_VOLUME_THRESHOLD) {
|
|
490
426
|
// Convert to base64
|
|
491
|
-
const base64Audio = arrayBufferToBase64(audioData
|
|
427
|
+
const base64Audio = arrayBufferToBase64(audioData);
|
|
492
428
|
// Use sequential event ID for proper feedback tracking
|
|
493
429
|
const eventId = this.audioEventId++;
|
|
494
430
|
// Trigger the onAudio callback by simulating an audio event
|
|
@@ -501,33 +437,22 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
501
437
|
});
|
|
502
438
|
}
|
|
503
439
|
};
|
|
504
|
-
|
|
505
|
-
|
|
440
|
+
const result = await this.audioAdapter.setupOutputAnalysis(track, this.outputFormat, onAudioData);
|
|
441
|
+
this.outputVolumeProvider = result.volumeProvider;
|
|
442
|
+
this.outputAnalyser = result.analyser;
|
|
506
443
|
}
|
|
507
444
|
catch (error) {
|
|
508
445
|
console.warn("Failed to set up audio capture:", error);
|
|
509
446
|
}
|
|
510
447
|
}
|
|
511
448
|
setAudioVolume(volume) {
|
|
512
|
-
this.
|
|
513
|
-
element.volume = volume;
|
|
514
|
-
});
|
|
449
|
+
this.audioAdapter?.setVolume(volume);
|
|
515
450
|
}
|
|
516
451
|
async setAudioOutputDevice(deviceId) {
|
|
517
|
-
if (!
|
|
518
|
-
throw new Error("
|
|
452
|
+
if (!this.audioAdapter) {
|
|
453
|
+
throw new Error("Cannot set output device: no audio adapter available on this platform");
|
|
519
454
|
}
|
|
520
|
-
|
|
521
|
-
const promises = this.audioElements.map(async (element) => {
|
|
522
|
-
try {
|
|
523
|
-
await element.setSinkId(deviceId);
|
|
524
|
-
}
|
|
525
|
-
catch (error) {
|
|
526
|
-
console.error("Failed to set sink ID for audio element:", error);
|
|
527
|
-
throw error;
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
await Promise.all(promises);
|
|
455
|
+
await this.audioAdapter.setOutputDevice(deviceId);
|
|
531
456
|
// Store the device ID for future audio elements
|
|
532
457
|
this.outputDeviceId = deviceId;
|
|
533
458
|
}
|
|
@@ -543,16 +468,14 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
543
468
|
await currentMicTrackPublication.track.stop();
|
|
544
469
|
await this.room.localParticipant.unpublishTrack(currentMicTrackPublication.track);
|
|
545
470
|
}
|
|
546
|
-
// Create
|
|
547
|
-
const
|
|
471
|
+
// Create new audio track with the specified device
|
|
472
|
+
const audioTrack = await createLocalAudioTrack({
|
|
548
473
|
deviceId: { exact: deviceId },
|
|
549
474
|
echoCancellation: true,
|
|
550
475
|
noiseSuppression: true,
|
|
551
476
|
autoGainControl: true,
|
|
552
477
|
channelCount: { ideal: 1 },
|
|
553
|
-
};
|
|
554
|
-
// Create new audio track with the specified device
|
|
555
|
-
const audioTrack = await createLocalAudioTrack(audioConstraints);
|
|
478
|
+
});
|
|
556
479
|
// Publish the new microphone track
|
|
557
480
|
await this.room.localParticipant.publishTrack(audioTrack, {
|
|
558
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,12 +1,13 @@
|
|
|
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 "
|
|
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;
|
|
7
7
|
readonly inputFormat: FormatConfig;
|
|
8
8
|
readonly outputFormat: FormatConfig;
|
|
9
9
|
private outputListeners;
|
|
10
|
+
private pendingAudioEvents;
|
|
10
11
|
private constructor();
|
|
11
12
|
static create(config: SessionConfig): Promise<WebSocketConnection>;
|
|
12
13
|
close(): void;
|
|
@@ -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,
|
|
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,EACV,iBAAiB,EACjB,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAMhC,qBAAa,mBACX,SAAQ,cACR,YAAW,iBAAiB;IAU1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO;WAuEa,MAAM,CACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,mBAAmB,CAAC;IA8GxB,KAAK;IAKL,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAIxC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAa3C,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;cAIlC,aAAa,CAAC,WAAW,EAAE,mBAAmB;CAelE"}
|
|
@@ -12,6 +12,7 @@ export class WebSocketConnection extends BaseConnection {
|
|
|
12
12
|
inputFormat;
|
|
13
13
|
outputFormat;
|
|
14
14
|
outputListeners = new Set();
|
|
15
|
+
pendingAudioEvents = [];
|
|
15
16
|
constructor(socket, conversationId, inputFormat, outputFormat) {
|
|
16
17
|
super();
|
|
17
18
|
this.socket = socket;
|
|
@@ -25,23 +26,25 @@ export class WebSocketConnection extends BaseConnection {
|
|
|
25
26
|
setTimeout(() => this.disconnect({
|
|
26
27
|
reason: "error",
|
|
27
28
|
message: "The connection was closed due to a socket error.",
|
|
28
|
-
context: event,
|
|
29
|
+
context: { type: event.type },
|
|
29
30
|
}), 0);
|
|
30
31
|
});
|
|
31
32
|
this.socket.addEventListener("close", event => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
const closeCode = event.code;
|
|
34
|
+
const closeReason = event.reason || undefined;
|
|
35
|
+
const context = {
|
|
36
|
+
type: event.type,
|
|
37
|
+
code: closeCode,
|
|
38
|
+
reason: closeReason,
|
|
39
|
+
};
|
|
40
|
+
this.disconnect(closeCode === 1000
|
|
41
|
+
? { reason: "agent", context, closeCode, closeReason }
|
|
39
42
|
: {
|
|
40
43
|
reason: "error",
|
|
41
|
-
message:
|
|
42
|
-
context
|
|
43
|
-
closeCode
|
|
44
|
-
closeReason
|
|
44
|
+
message: closeReason || "The connection was closed by the server.",
|
|
45
|
+
context,
|
|
46
|
+
closeCode,
|
|
47
|
+
closeReason,
|
|
45
48
|
});
|
|
46
49
|
});
|
|
47
50
|
this.socket.addEventListener("message", event => {
|
|
@@ -133,13 +136,23 @@ export class WebSocketConnection extends BaseConnection {
|
|
|
133
136
|
}
|
|
134
137
|
}
|
|
135
138
|
close() {
|
|
139
|
+
this.pendingAudioEvents = [];
|
|
136
140
|
this.socket.close(1000, "User ended conversation");
|
|
137
141
|
}
|
|
138
142
|
sendMessage(message) {
|
|
139
143
|
this.socket.send(JSON.stringify(message));
|
|
140
144
|
}
|
|
141
145
|
addListener(listener) {
|
|
146
|
+
const hadListeners = this.outputListeners.size > 0;
|
|
142
147
|
this.outputListeners.add(listener);
|
|
148
|
+
if (hadListeners || this.pendingAudioEvents.length === 0) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const pending = this.pendingAudioEvents;
|
|
152
|
+
this.pendingAudioEvents = [];
|
|
153
|
+
for (const event of pending) {
|
|
154
|
+
listener(event);
|
|
155
|
+
}
|
|
143
156
|
}
|
|
144
157
|
removeListener(listener) {
|
|
145
158
|
this.outputListeners.delete(listener);
|
|
@@ -151,6 +164,10 @@ export class WebSocketConnection extends BaseConnection {
|
|
|
151
164
|
const audioEvent = {
|
|
152
165
|
audio_base_64: parsedEvent.audio_event.audio_base_64,
|
|
153
166
|
};
|
|
167
|
+
if (this.outputListeners.size === 0) {
|
|
168
|
+
this.pendingAudioEvents.push(audioEvent);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
154
171
|
this.outputListeners.forEach(listener => listener(audioEvent));
|
|
155
172
|
}
|
|
156
173
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"WebSocketConnection.js","sourceRoot":"","sources":["../../src/utils/WebSocketConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { DelayConfig } from "./
|
|
2
|
-
export declare function
|
|
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":"
|
|
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"}
|
package/dist/utils/applyDelay.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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":"
|
|
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 @@
|
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachConnectionToOutput.d.ts","sourceRoot":"","sources":["../../src/utils/attachConnectionToOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,
|
|
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"}
|