@elevenlabs/client 1.7.1 → 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 (157) hide show
  1. package/dist/BaseConversation.d.ts +2 -2
  2. package/dist/BaseConversation.d.ts.map +1 -1
  3. package/dist/BaseConversation.js +18 -15
  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 +3415 -3219
  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 +12 -2
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils/BaseConnection.d.ts +1 -1
  88. package/dist/utils/BaseConnection.d.ts.map +1 -1
  89. package/dist/utils/WebRTCConnection.d.ts +4 -7
  90. package/dist/utils/WebRTCConnection.d.ts.map +1 -1
  91. package/dist/utils/WebRTCConnection.js +51 -128
  92. package/dist/utils/WebRTCConnection.js.map +1 -1
  93. package/dist/utils/WebSocketConnection.d.ts +1 -1
  94. package/dist/utils/WebSocketConnection.d.ts.map +1 -1
  95. package/dist/utils/WebSocketConnection.js +14 -12
  96. package/dist/utils/WebSocketConnection.js.map +1 -1
  97. package/dist/utils/applyDelay.d.ts +3 -2
  98. package/dist/utils/applyDelay.d.ts.map +1 -1
  99. package/dist/utils/applyDelay.js +18 -12
  100. package/dist/utils/applyDelay.js.map +1 -1
  101. package/dist/utils/assert.d.ts +3 -0
  102. package/dist/utils/assert.d.ts.map +1 -0
  103. package/dist/utils/assert.js +9 -0
  104. package/dist/utils/assert.js.map +1 -0
  105. package/dist/utils/attachConnectionToOutput.d.ts +1 -1
  106. package/dist/utils/attachConnectionToOutput.d.ts.map +1 -1
  107. package/dist/utils/attachInputToConnection.d.ts +1 -1
  108. package/dist/utils/attachInputToConnection.d.ts.map +1 -1
  109. package/dist/utils/audio.d.ts.map +1 -1
  110. package/dist/utils/audio.js +2 -3
  111. package/dist/utils/audio.js.map +1 -1
  112. package/dist/utils/connection.d.ts +1 -1
  113. package/dist/utils/connection.d.ts.map +1 -1
  114. package/dist/utils/connection.js.map +1 -1
  115. package/dist/utils/errors.d.ts.map +1 -1
  116. package/dist/utils/errors.js +5 -1
  117. package/dist/utils/errors.js.map +1 -1
  118. package/dist/utils/mergeOptions.d.ts.map +1 -1
  119. package/dist/utils/mergeOptions.js +1 -3
  120. package/dist/utils/mergeOptions.js.map +1 -1
  121. package/dist/utils/volumeProvider.d.ts +0 -1
  122. package/dist/utils/volumeProvider.d.ts.map +1 -1
  123. package/dist/utils/volumeProvider.js +0 -22
  124. package/dist/utils/volumeProvider.js.map +1 -1
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.js +1 -1
  127. package/package.json +3 -2
  128. package/dist/utils/addLibsamplerateModule.d.ts.map +0 -1
  129. package/dist/utils/addLibsamplerateModule.js.map +0 -1
  130. package/dist/utils/audioConcatProcessor.generated.d.ts.map +0 -1
  131. package/dist/utils/audioConcatProcessor.generated.js.map +0 -1
  132. package/dist/utils/compatibility.d.ts.map +0 -1
  133. package/dist/utils/compatibility.js.map +0 -1
  134. package/dist/utils/createWorkletModuleLoader.d.ts.map +0 -1
  135. package/dist/utils/createWorkletModuleLoader.js.map +0 -1
  136. package/dist/utils/input.d.ts.map +0 -1
  137. package/dist/utils/input.js.map +0 -1
  138. package/dist/utils/output.d.ts.map +0 -1
  139. package/dist/utils/output.js.map +0 -1
  140. package/dist/utils/rawAudioProcessor.generated.d.ts.map +0 -1
  141. package/dist/utils/rawAudioProcessor.generated.js.map +0 -1
  142. package/dist/utils/scribeAudioProcessor.generated.d.ts.map +0 -1
  143. package/dist/utils/scribeAudioProcessor.generated.js.map +0 -1
  144. /package/dist/{utils → platform/web}/addLibsamplerateModule.d.ts +0 -0
  145. /package/dist/{utils → platform/web}/addLibsamplerateModule.js +0 -0
  146. /package/dist/{utils → platform/web}/audioConcatProcessor.generated.d.ts +0 -0
  147. /package/dist/{utils → platform/web}/audioConcatProcessor.generated.js +0 -0
  148. /package/dist/{utils → platform/web}/compatibility.d.ts +0 -0
  149. /package/dist/{utils → platform/web}/compatibility.js +0 -0
  150. /package/dist/{utils → platform/web}/createWorkletModuleLoader.d.ts +0 -0
  151. /package/dist/{utils → platform/web}/createWorkletModuleLoader.js +0 -0
  152. /package/dist/{utils → platform/web}/input.js +0 -0
  153. /package/dist/{utils → platform/web}/output.js +0 -0
  154. /package/dist/{utils → platform/web}/rawAudioProcessor.generated.d.ts +0 -0
  155. /package/dist/{utils → platform/web}/rawAudioProcessor.generated.js +0 -0
  156. /package/dist/{utils → platform/web}/scribeAudioProcessor.generated.d.ts +0 -0
  157. /package/dist/{utils → platform/web}/scribeAudioProcessor.generated.js +0 -0
@@ -2,8 +2,8 @@ import { Callbacks, Mode, Status } from "./types.js";
2
2
  import type { BaseConnection, SessionConfig, FormatConfig } from "./utils/BaseConnection.js";
3
3
  import type { Conversation } from "./index.js";
4
4
  import type { AgentAudioEvent, AgentChatResponsePartEvent, AgentResponseEvent, AgentResponseCorrectionEvent, ClientToolCallEvent, InternalTentativeAgentResponseEvent, InterruptionEvent, UserTranscriptionEvent, VadScoreEvent, MCPToolCallClientEvent, AgentToolResponseEvent, AgentToolResponseFullPayloadEvent, ConversationMetadataEvent, AsrInitiationMetadataEvent, MCPConnectionStatusEvent, ErrorMessageEvent, AgentToolRequestEvent, GuardrailTriggeredEvent } from "./utils/events.js";
5
- import type { InputConfig } from "./utils/input.js";
6
- import type { OutputConfig } from "./utils/output.js";
5
+ import type { InputConfig } from "./InputController.js";
6
+ import type { OutputConfig } from "./OutputController.js";
7
7
  export type { Role, Mode, Status, Callbacks } from "./types.js";
8
8
  export { CALLBACK_KEYS } from "./types.js";
9
9
  /** Allows self-hosting the worklets to avoid whitelisting blob: and data: in the CSP script-src */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseConversation.d.ts","sourceRoot":"","sources":["../src/BaseConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseConversation.d.ts","sourceRoot":"","sources":["../src/BaseConversation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
+ import { assertJsonObject } from "./utils/assert.js";
1
2
  import { extractApiErrorMessage } from "./utils/errors.js";
2
3
  const HTTPS_API_ORIGIN = "https://api.elevenlabs.io";
4
+ const END_CALL_DETAILS = {
5
+ reason: "agent",
6
+ context: { type: "end_call", reason: "Agent ended the call" },
7
+ };
3
8
  export { CALLBACK_KEYS } from "./types.js";
4
9
  export function isTextOnly(options) {
5
10
  const { textOnly: textOnlyOverride } = options.overrides?.conversation ?? {};
@@ -215,25 +220,19 @@ export class BaseConversation {
215
220
  }
216
221
  handleAgentToolResponse(event) {
217
222
  if (event.agent_tool_response.tool_name === "end_call") {
218
- this.endSessionWithDetails({
219
- reason: "agent",
220
- context: new CloseEvent("end_call", { reason: "Agent ended the call" }),
223
+ void this.endSessionWithDetails(END_CALL_DETAILS).catch(error => {
224
+ this.onError("Failed to end session after agent end_call", error);
221
225
  });
222
226
  }
223
- if (this.options.onAgentToolResponse) {
224
- this.options.onAgentToolResponse(event.agent_tool_response);
225
- }
227
+ this.options.onAgentToolResponse?.(event.agent_tool_response);
226
228
  }
227
229
  handleAgentToolResponseFullPayload(event) {
228
230
  if (event.agent_tool_response_full_payload.tool_name === "end_call") {
229
- this.endSessionWithDetails({
230
- reason: "agent",
231
- context: new CloseEvent("end_call", { reason: "Agent ended the call" }),
231
+ void this.endSessionWithDetails(END_CALL_DETAILS).catch(error => {
232
+ this.onError("Failed to end session after agent end_call", error);
232
233
  });
233
234
  }
234
- if (this.options.onAgentToolResponse) {
235
- this.options.onAgentToolResponse(event.agent_tool_response_full_payload);
236
- }
235
+ this.options.onAgentToolResponse?.(event.agent_tool_response_full_payload);
237
236
  }
238
237
  handleConversationMetadata(event) {
239
238
  if (this.options.onConversationMetadata) {
@@ -259,10 +258,12 @@ export class BaseConversation {
259
258
  const errorType = event.error_event.error_type;
260
259
  const message = event.error_event.message || event.error_event.reason || "Unknown error";
261
260
  if (errorType === "max_duration_exceeded") {
262
- this.endSessionWithDetails({
261
+ void this.endSessionWithDetails({
263
262
  reason: "error",
264
263
  message: message,
265
- context: new Event("max_duration_exceeded"),
264
+ context: { type: "max_duration_exceeded" },
265
+ }).catch(error => {
266
+ this.onError("Failed to end session after max_duration_exceeded", error);
266
267
  });
267
268
  return;
268
269
  }
@@ -449,7 +450,9 @@ export class BaseConversation {
449
450
  const message = await extractApiErrorMessage(response);
450
451
  throw new Error(`Upload failed: ${response.status} ${message}`);
451
452
  }
452
- const { file_id } = await response.json();
453
+ const result = await response.json();
454
+ assertJsonObject(result, "Upload response is not a JSON object");
455
+ const { file_id } = result;
453
456
  if (typeof file_id !== "string" || !file_id) {
454
457
  throw new Error("Upload response is missing a valid file_id");
455
458
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseConversation.js","sourceRoot":"","sources":["../src/BaseConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseConversation.js","sourceRoot":"","sources":["../src/BaseConversation.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,15 @@ export type InputDeviceConfig = {
3
3
  inputDeviceId?: string;
4
4
  preferHeadphonesForIosDevices?: boolean;
5
5
  };
6
+ export type InputConfig = InputDeviceConfig & {
7
+ onError?(message: string, context?: unknown): void;
8
+ };
9
+ export type InputMessageEvent = MessageEvent<[Uint8Array, number]>;
10
+ export type InputListener = (event: InputMessageEvent) => void;
11
+ export type InputEventTarget = {
12
+ addListener(listener: InputListener): void;
13
+ removeListener(listener: InputListener): void;
14
+ };
6
15
  export interface InputController {
7
16
  close(): Promise<void>;
8
17
  setDevice(config?: Partial<FormatConfig> & InputDeviceConfig): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"InputController.d.ts","sourceRoot":"","sources":["../src/InputController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,IAAI,YAAY,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,SAAS,IAAI,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"InputController.d.ts","sourceRoot":"","sources":["../src/InputController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,IAAI,YAAY,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,SAAS,IAAI,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D"}
@@ -2,6 +2,24 @@ import type { FormatConfig } from "./utils/BaseConnection.js";
2
2
  export type OutputDeviceConfig = {
3
3
  outputDeviceId?: string;
4
4
  };
5
+ export type OutputConfig = OutputDeviceConfig;
6
+ export type OutputAudioEvent = {
7
+ audio_base_64: string;
8
+ };
9
+ export type OutputListener = (event: OutputAudioEvent) => void;
10
+ export type OutputEventTarget = {
11
+ addListener(listener: OutputListener): void;
12
+ removeListener(listener: OutputListener): void;
13
+ };
14
+ export type PlaybackStateEvent = MessageEvent<{
15
+ type: "process";
16
+ finished: boolean;
17
+ }>;
18
+ export type PlaybackListener = (event: PlaybackStateEvent) => void;
19
+ export type PlaybackEventTarget = {
20
+ addListener(listener: PlaybackListener): void;
21
+ removeListener(listener: PlaybackListener): void;
22
+ };
5
23
  export interface OutputController {
6
24
  close(): Promise<void>;
7
25
  setDevice(config?: Partial<FormatConfig> & OutputDeviceConfig): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"OutputController.d.ts","sourceRoot":"","sources":["../src/OutputController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,WAAW,IAAI,YAAY,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,SAAS,IAAI,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"OutputController.d.ts","sourceRoot":"","sources":["../src/OutputController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAG9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAChD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,WAAW,IAAI,YAAY,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,SAAS,IAAI,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D"}
@@ -1,5 +1,5 @@
1
1
  import { createConnection } from "./utils/ConnectionFactory.js";
2
- import { applyDelay } from "./utils/applyDelay.js";
2
+ import { applyDelay, resolveDelay } from "./utils/applyDelay.js";
3
3
  import { BaseConversation } from "./BaseConversation.js";
4
4
  const EMPTY_FREQUENCY_DATA = new Uint8Array(0);
5
5
  export class TextConversation extends BaseConversation {
@@ -39,7 +39,7 @@ export class TextConversation extends BaseConversation {
39
39
  let connection = null;
40
40
  let conversation = null;
41
41
  try {
42
- await applyDelay(fullOptions.connectionDelay);
42
+ await applyDelay(resolveDelay(fullOptions.connectionDelay));
43
43
  connection = await createConnection(fullOptions);
44
44
  conversation = new TextConversation(fullOptions, connection);
45
45
  fullOptions.onConversationCreated?.(conversation);
@@ -1 +1 @@
1
- {"version":3,"file":"TextConversation.js","sourceRoot":"","sources":["../src/TextConversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAC;AAE9E,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAC3C,IAAI,GAAG,MAAM,CAAC;IAEhB,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAEM,yBAAyB;QAC9B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,0BAA0B;QAC/B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,cAAc;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,OAAuB;QAEvB,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;YACxC,WAAW,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;YACxC,WAAW,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,IAAI,YAAY,GAA4B,IAAI,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC9C,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjD,YAAY,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC7D,WAAW,CAAC,qBAAqB,EAAE,CAAC,YAAY,CAAC,CAAC;YAClD,YAAY,CAAC,aAAa,EAAE,CAAC;YAC7B,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBACzD,UAAU,EAAE,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"TextConversation.js","sourceRoot":"","sources":["../src/TextConversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAC;AAE9E,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAC3C,IAAI,GAAG,MAAM,CAAC;IAEhB,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAEM,yBAAyB;QAC9B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,0BAA0B;QAC/B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,cAAc;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,OAAuB;QAEvB,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;YACxC,WAAW,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;YACxC,WAAW,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,IAAI,YAAY,GAA4B,IAAI,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YAC5D,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjD,YAAY,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC7D,WAAW,CAAC,qBAAqB,EAAE,CAAC,YAAY,CAAC,CAAC;YAClD,YAAY,CAAC,aAAa,EAAE,CAAC;YAC7B,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBACzD,UAAU,EAAE,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import type { InputConfig } from "./utils/input.js";
2
- import type { OutputConfig, PlaybackEventTarget } from "./utils/output.js";
1
+ import type { InputConfig } from "./InputController.js";
2
+ import type { OutputConfig, PlaybackEventTarget } from "./OutputController.js";
3
3
  import type { BaseConnection, FormatConfig } from "./utils/BaseConnection.js";
4
4
  import type { AgentAudioEvent, InterruptionEvent } from "./utils/events.js";
5
5
  import { BaseConversation, type Options, type PartialOptions } from "./BaseConversation.js";
@@ -10,15 +10,12 @@ export declare class VoiceConversation extends BaseConversation {
10
10
  private output;
11
11
  private playbackEventTarget;
12
12
  private cleanUp;
13
- private wakeLock;
14
13
  readonly type = "voice";
15
- private static requestWakeLock;
16
14
  static startSession(options: PartialOptions): Promise<VoiceConversation>;
17
15
  private inputFrequencyData?;
18
16
  private outputFrequencyData?;
19
- private visibilityChangeHandler;
20
17
  private handlePlaybackEvent;
21
- protected constructor(options: Options, connection: BaseConnection, input: InputController, output: OutputController, playbackEventTarget: PlaybackEventTarget | null, cleanUp: () => void, wakeLock: WakeLockSentinel | null);
18
+ protected constructor(options: Options, connection: BaseConnection, input: InputController, output: OutputController, playbackEventTarget: PlaybackEventTarget | null, cleanUp: () => Promise<void>);
22
19
  protected handleEndSession(): Promise<void>;
23
20
  protected handleInterruption(event: InterruptionEvent): void;
24
21
  protected handleAudio(event: AgentAudioEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceConversation.d.ts","sourceRoot":"","sources":["../src/VoiceConversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EACL,gBAAgB,EAChB,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,qBAAa,iBAAkB,SAAQ,gBAAgB;IAsGnD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAzGlB,QAAQ,CAAC,IAAI,WAAW;mBAEH,eAAe;WAYhB,YAAY,CAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAwE7B,OAAO,CAAC,kBAAkB,CAAC,CAA0B;IACrD,OAAO,CAAC,mBAAmB,CAAC,CAA0B;IACtD,OAAO,CAAC,uBAAuB,CAA6B;IAE5D,OAAO,CAAC,mBAAmB,CAIzB;IAEF,SAAS,aACP,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,cAAc,EAClB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,EAC/C,OAAO,EAAE,MAAM,IAAI,EACnB,QAAQ,EAAE,gBAAgB,GAAG,IAAI;cAuBlB,gBAAgB;cAsBtB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB;cAM3C,WAAW,CAAC,KAAK,EAAE,eAAe;IAoBrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAE5C,WAAW,CAAC,OAAO,EAAE,OAAO;IAM5B,yBAAyB,IAAI,UAAU,CAAC,WAAW,CAAC;IAQpD,0BAA0B,IAAI,UAAU,CAAC,WAAW,CAAC;IAQrD,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAInB,iBAAiB,CAAC,EAC7B,UAAU,EACV,MAAM,EACN,6BAA6B,EAC7B,aAAa,GACd,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAczC,kBAAkB,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,cAAc,GACf,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD,SAAS,GAAI,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,UAShD;CACH"}
1
+ {"version":3,"file":"VoiceConversation.d.ts","sourceRoot":"","sources":["../src/VoiceConversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,qBAAa,iBAAkB,SAAQ,gBAAgB;IAqEnD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,OAAO;IAvEjB,QAAQ,CAAC,IAAI,WAAW;WAEJ,YAAY,CAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAoD7B,OAAO,CAAC,kBAAkB,CAAC,CAA0B;IACrD,OAAO,CAAC,mBAAmB,CAAC,CAA0B;IAEtD,OAAO,CAAC,mBAAmB,CAIzB;IAEF,SAAS,aACP,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,cAAc,EAClB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,EAC/C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;cAOb,gBAAgB;cAStB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB;cAM3C,WAAW,CAAC,KAAK,EAAE,eAAe;IAoBrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAE5C,WAAW,CAAC,OAAO,EAAE,OAAO;IAM5B,yBAAyB,IAAI,UAAU,CAAC,WAAW,CAAC;IAQpD,0BAA0B,IAAI,UAAU,CAAC,WAAW,CAAC;IAQrD,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAInB,iBAAiB,CAAC,EAC7B,UAAU,EACV,MAAM,EACN,6BAA6B,EAC7B,aAAa,GACd,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAczC,kBAAkB,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,cAAc,GACf,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD,SAAS,GAAI,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,UAShD;CACH"}
@@ -1,4 +1,3 @@
1
- import { applyDelay } from "./utils/applyDelay.js";
2
1
  import { BaseConversation, } from "./BaseConversation.js";
3
2
  import { setupStrategy } from "./platform/VoiceSessionSetup.js";
4
3
  export class VoiceConversation extends BaseConversation {
@@ -6,20 +5,7 @@ export class VoiceConversation extends BaseConversation {
6
5
  output;
7
6
  playbackEventTarget;
8
7
  cleanUp;
9
- wakeLock;
10
8
  type = "voice";
11
- static async requestWakeLock() {
12
- if ("wakeLock" in navigator) {
13
- // unavailable without HTTPS, including localhost in dev
14
- try {
15
- return await navigator.wakeLock.request("screen");
16
- }
17
- catch (_e) {
18
- // Wake Lock is not required for the conversation to work
19
- }
20
- }
21
- return null;
22
- }
23
9
  static async startSession(options) {
24
10
  const fullOptions = BaseConversation.getFullOptions(options);
25
11
  if (fullOptions.onStatusChange) {
@@ -28,31 +14,17 @@ export class VoiceConversation extends BaseConversation {
28
14
  if (fullOptions.onCanSendFeedbackChange) {
29
15
  fullOptions.onCanSendFeedbackChange({ canSendFeedback: false });
30
16
  }
31
- let preliminaryInputStream = null;
32
17
  let conversation = null;
33
- const useWakeLock = options.useWakeLock ?? true;
34
- let wakeLock = null;
35
- if (useWakeLock) {
36
- wakeLock = await VoiceConversation.requestWakeLock();
37
- }
18
+ let sessionSetup = null;
38
19
  try {
39
- // some browsers won't allow calling getSupportedConstraints or enumerateDevices
40
- // before getting approval for microphone access
41
- preliminaryInputStream = await navigator.mediaDevices.getUserMedia({
42
- audio: true,
43
- });
44
- await applyDelay(fullOptions.connectionDelay);
45
- // Platform-specific strategy creates the connection and sets up input/output
46
- const sessionSetup = await setupStrategy(fullOptions);
47
- // Stop the preliminary stream after setting up the session.
48
- // Its only purpose was triggering the browser's microphone permission
49
- // prompt; it must remain alive until the strategy finishes because
50
- // MediaDeviceInput.create (WebSocket path) needs mic access granted.
51
- preliminaryInputStream?.getTracks().forEach(track => {
52
- track.stop();
53
- });
54
- preliminaryInputStream = null;
55
- conversation = new VoiceConversation(fullOptions, sessionSetup.connection, sessionSetup.input, sessionSetup.output, sessionSetup.playbackEventTarget, sessionSetup.detach, wakeLock);
20
+ // Platform-specific strategy handles wake lock, mic permission,
21
+ // delay, connection creation, and input/output setup.
22
+ if (!setupStrategy) {
23
+ throw new Error("No voice session setup strategy registered. " +
24
+ 'Import the platform-specific entry point (e.g. @elevenlabs/client via the "browser" export).');
25
+ }
26
+ sessionSetup = await setupStrategy(fullOptions);
27
+ conversation = new VoiceConversation(fullOptions, sessionSetup.connection, sessionSetup.input, sessionSetup.output, sessionSetup.playbackEventTarget, sessionSetup.detach);
56
28
  fullOptions.onConversationCreated?.(conversation);
57
29
  conversation.markConnected();
58
30
  fullOptions.onConnect?.({
@@ -61,65 +33,39 @@ export class VoiceConversation extends BaseConversation {
61
33
  return conversation;
62
34
  }
63
35
  catch (error) {
64
- preliminaryInputStream?.getTracks().forEach(track => {
65
- track.stop();
66
- });
67
36
  if (conversation) {
68
37
  await conversation.endSession().catch(() => { });
69
38
  }
70
39
  else {
40
+ // Strategy returned but conversation wasn't created — clean up
41
+ if (sessionSetup) {
42
+ await sessionSetup.detach().catch(() => { });
43
+ }
71
44
  fullOptions.onStatusChange?.({ status: "disconnected" });
72
45
  }
73
- try {
74
- await wakeLock?.release();
75
- wakeLock = null;
76
- }
77
- catch (_e) { }
78
46
  throw error;
79
47
  }
80
48
  }
81
49
  inputFrequencyData;
82
50
  outputFrequencyData;
83
- visibilityChangeHandler = null;
84
51
  handlePlaybackEvent = event => {
85
52
  if (event.data.type === "process") {
86
53
  this.updateMode(event.data.finished ? "listening" : "speaking");
87
54
  }
88
55
  };
89
- constructor(options, connection, input, output, playbackEventTarget, cleanUp, wakeLock) {
56
+ constructor(options, connection, input, output, playbackEventTarget, cleanUp) {
90
57
  super(options, connection);
91
58
  this.input = input;
92
59
  this.output = output;
93
60
  this.playbackEventTarget = playbackEventTarget;
94
61
  this.cleanUp = cleanUp;
95
- this.wakeLock = wakeLock;
96
62
  playbackEventTarget?.addListener(this.handlePlaybackEvent);
97
- if (wakeLock) {
98
- // Wake locks are automatically released when a page is hidden like when switching tabs
99
- // so attempt to re-acquire lock when page becomes visible again
100
- this.visibilityChangeHandler = () => {
101
- if (document.visibilityState === "visible" && this.wakeLock?.released) {
102
- VoiceConversation.requestWakeLock().then(lock => {
103
- this.wakeLock = lock;
104
- });
105
- }
106
- };
107
- document.addEventListener("visibilitychange", this.visibilityChangeHandler);
108
- }
109
63
  }
110
64
  async handleEndSession() {
111
- this.cleanUp();
112
65
  this.playbackEventTarget?.removeListener(this.handlePlaybackEvent);
113
66
  this.playbackEventTarget = null;
67
+ await this.cleanUp();
114
68
  await super.handleEndSession();
115
- if (this.visibilityChangeHandler) {
116
- document.removeEventListener("visibilitychange", this.visibilityChangeHandler);
117
- }
118
- try {
119
- await this.wakeLock?.release();
120
- this.wakeLock = null;
121
- }
122
- catch (_e) { }
123
69
  await this.input.close();
124
70
  await this.output.close();
125
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceConversation.js","sourceRoot":"","sources":["../src/VoiceConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VoiceConversation.js","sourceRoot":"","sources":["../src/VoiceConversation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { RemoteAudioTrack } from "livekit-client";
2
+ import type { FormatConfig } from "./utils/BaseConnection.js";
3
+ import type { VolumeProvider } from "./utils/volumeProvider.js";
4
+ /**
5
+ * Result of setting up volume analysis (input or output).
6
+ */
7
+ export type AnalysisResult = {
8
+ volumeProvider: VolumeProvider;
9
+ /** AnalyserNode on web; undefined on other platforms. */
10
+ analyser?: unknown;
11
+ };
12
+ /**
13
+ * Abstracts platform-specific audio behaviour used by WebRTCConnection.
14
+ *
15
+ * - **Web:** AudioContext, HTMLAudioElement, AudioWorkletNode
16
+ * - **React Native:** no-op (LiveKit handles playback natively;
17
+ * volume comes from `setInputVolumeProvider`/`setOutputVolumeProvider`)
18
+ * - **Default (no adapter):** NO_VOLUME, no playback setup
19
+ */
20
+ export interface WebRTCAudioAdapter {
21
+ /**
22
+ * Attach a remote audio track for playback.
23
+ * Web: creates HTMLAudioElement via `track.attach()` and appends to DOM.
24
+ */
25
+ attachRemoteTrack(track: RemoteAudioTrack, outputDeviceId: string | null): Promise<void>;
26
+ /**
27
+ * Set up input volume analysis from the local mic MediaStreamTrack.
28
+ * Called once after mic is enabled and again after input device switches.
29
+ * Implementations must clean up previous resources on re-call.
30
+ */
31
+ setupInputAnalysis(mediaStreamTrack: MediaStreamTrack): AnalysisResult;
32
+ /**
33
+ * Set up output volume analysis and raw audio capture from a remote track.
34
+ * @param onAudioData Called with captured audio data for the `onAudio` callback.
35
+ */
36
+ setupOutputAnalysis(track: RemoteAudioTrack, format: FormatConfig, onAudioData: (audioData: ArrayBuffer, maxVolume: number) => void): Promise<AnalysisResult>;
37
+ /** Set playback volume (0-1) for all managed audio elements. */
38
+ setVolume(volume: number): void;
39
+ /** Route audio output to the specified device. */
40
+ setOutputDevice(deviceId: string): Promise<void>;
41
+ /** Release all resources (AudioContexts, audio elements, etc.). */
42
+ cleanup(): void;
43
+ }
44
+ /**
45
+ * Register a factory that creates a {@link WebRTCAudioAdapter} for each
46
+ * new WebRTC connection. Called by platform-specific entrypoints
47
+ * (e.g. `platform/web/index.ts`).
48
+ */
49
+ export declare function setWebRTCAudioAdapterFactory(factory: () => WebRTCAudioAdapter): void;
50
+ /** @internal Create an adapter using the registered factory, or null. */
51
+ export declare function createAudioAdapter(): WebRTCAudioAdapter | null;
52
+ //# sourceMappingURL=WebRTCAudioAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCAudioAdapter.d.ts","sourceRoot":"","sources":["../src/WebRTCAudioAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,iBAAiB,CACf,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,cAAc,CAAC;IAEvE;;;OAGG;IACH,mBAAmB,CACjB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAC/D,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,gEAAgE;IAChE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,kDAAkD;IAClD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,mEAAmE;IACnE,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,kBAAkB,GAChC,IAAI,CAEN;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,kBAAkB,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,17 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Module-level factory for platform injection
3
+ // ---------------------------------------------------------------------------
4
+ let audioAdapterFactory;
5
+ /**
6
+ * Register a factory that creates a {@link WebRTCAudioAdapter} for each
7
+ * new WebRTC connection. Called by platform-specific entrypoints
8
+ * (e.g. `platform/web/index.ts`).
9
+ */
10
+ export function setWebRTCAudioAdapterFactory(factory) {
11
+ audioAdapterFactory = factory;
12
+ }
13
+ /** @internal Create an adapter using the registered factory, or null. */
14
+ export function createAudioAdapter() {
15
+ return audioAdapterFactory?.() ?? null;
16
+ }
17
+ //# sourceMappingURL=WebRTCAudioAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCAudioAdapter.js","sourceRoot":"","sources":["../src/WebRTCAudioAdapter.ts"],"names":[],"mappings":"AA0DA,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E,IAAI,mBAA2D,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAiC;IAEjC,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,kBAAkB;IAChC,OAAO,mBAAmB,EAAE,EAAE,IAAI,IAAI,CAAC;AACzC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,12 +2,10 @@ import { type PartialOptions } from "./BaseConversation.js";
2
2
  import { TextConversation } from "./TextConversation.js";
3
3
  import { VoiceConversation } from "./VoiceConversation.js";
4
4
  export type { Mode, Role, Options, PartialOptions, ClientToolsConfig, Callbacks, Status, AudioWorkletConfig, MultimodalMessageInput, UploadFileResult, ConversationCreatedCallback, ConversationLifecycleOptions, ContextualUpdateOptions, } from "./BaseConversation.js";
5
- export type { InputController, InputDeviceConfig } from "./InputController.js";
6
- export type { OutputController, OutputDeviceConfig, } from "./OutputController.js";
7
- export type { InputConfig } from "./utils/input.js";
8
- export type { OutputConfig } from "./utils/output.js";
5
+ export type { InputController, InputDeviceConfig, InputConfig, } from "./InputController.js";
6
+ export type { OutputController, OutputDeviceConfig, OutputConfig, } from "./OutputController.js";
9
7
  export type { IncomingSocketEvent, VadScoreEvent, AudioAlignmentEvent, } from "./utils/events.js";
10
- export type { SessionConfig, BaseSessionConfig, DisconnectionDetails, Language, ConnectionType, FormatConfig, } from "./utils/BaseConnection.js";
8
+ export type { SessionConfig, BaseSessionConfig, DisconnectionContext, DisconnectionDetails, Language, ConnectionType, FormatConfig, } from "./utils/BaseConnection.js";
11
9
  export { createConnection } from "./utils/ConnectionFactory.js";
12
10
  export { WebSocketConnection } from "./utils/WebSocketConnection.js";
13
11
  export { WebRTCConnection } from "./utils/WebRTCConnection.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,YAAY,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,wCAAwC,EACxC,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,mCAAmC,EACnC,0CAA0C,EAC1C,mCAAmC,EACnC,2CAA2C,GAC5C,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEhE,UAAU,qBAAqB;IAC7B,YAAY,CAAC,CAAC,SAAS,cAAc,EACnC,OAAO,EAAE,CAAC,GACT,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAC3B,OAAO,CAAC,gBAAgB,CAAC,GACzB,CAAC,SAAS;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,GAC3B,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,YAAY,EAAE,qBAMD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,wCAAwC,EACxC,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,mCAAmC,EACnC,0CAA0C,EAC1C,mCAAmC,EACnC,2CAA2C,GAC5C,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEhE,UAAU,qBAAqB;IAC7B,YAAY,CAAC,CAAC,SAAS,cAAc,EACnC,OAAO,EAAE,CAAC,GACT,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAC3B,OAAO,CAAC,gBAAgB,CAAC,GACzB,CAAC,SAAS;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,GAC3B,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,YAAY,EAAE,qBAOD,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { isTextOnly } from "./BaseConversation.js";
2
+ import { assertRuntimeCompatibility } from "./runtime.js";
2
3
  import { TextConversation } from "./TextConversation.js";
3
4
  import { VoiceConversation } from "./VoiceConversation.js";
4
5
  export { createConnection } from "./utils/ConnectionFactory.js";
@@ -11,7 +12,8 @@ export { TextConversation } from "./TextConversation.js";
11
12
  // Scribe exports
12
13
  export { Scribe, AudioFormat, CommitStrategy, RealtimeEvents, RealtimeConnection, } from "./scribe/index.js";
13
14
  export const Conversation = {
14
- startSession(options) {
15
+ async startSession(options) {
16
+ assertRuntimeCompatibility();
15
17
  return isTextOnly(options)
16
18
  ? TextConversation.startSession(options)
17
19
  : VoiceConversation.startSession(options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAqC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAmC3B,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,YAAY,CAAC,OAAuB;QAClC,OAAO,UAAU,CAAC,OAAO,CAAC;YACxB,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAyC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAmC3B,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,KAAK,CAAC,YAAY,CAAC,OAAuB;QACxC,0BAA0B,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,OAAO,CAAC;YACxB,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACuB,CAAC"}
@@ -3,8 +3,13 @@ export { mergeOptions } from "./utils/mergeOptions.js";
3
3
  export { parseLocation, getOriginForLocation, getLivekitUrlForLocation, } from "./utils/location.js";
4
4
  export { sourceInfo, setSourceInfo } from "./sourceInfo.js";
5
5
  export type { SourceInfo } from "./sourceInfo.js";
6
- export { setSetupStrategy, webSessionSetup, } from "./platform/VoiceSessionSetup.js";
6
+ export { setSetupStrategy, setupWebRTCSession, } from "./platform/VoiceSessionSetup.js";
7
7
  export type { VoiceSessionSetupStrategy, VoiceSessionSetupResult, } from "./platform/VoiceSessionSetup.js";
8
+ export { createConnection } from "./utils/ConnectionFactory.js";
8
9
  export { MIN_VOICE_FREQUENCY, MAX_VOICE_FREQUENCY, } from "./utils/volumeProvider.js";
10
+ export { setWebRTCAudioAdapterFactory } from "./WebRTCAudioAdapter.js";
11
+ export type { WebRTCAudioAdapter, AnalysisResult, } from "./WebRTCAudioAdapter.js";
12
+ export { setScribeMicrophoneSetup } from "./scribe/microphone.js";
13
+ export type { ScribeMicrophoneSetup, ScribeMicrophoneConfig, ScribeMicrophoneResult, } from "./scribe/microphone.js";
9
14
  export type { ConversationCreatedCallback, ConversationLifecycleOptions, } from "./BaseConversation.js";
10
15
  //# sourceMappingURL=internal.d.ts.map