@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
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Platform-agnostic microphone streaming interface for Scribe.
3
+ *
4
+ * The web implementation (`platform/web/scribeMicrophone.ts`) provides the
5
+ * actual AudioContext + getUserMedia pipeline; other platforms can supply
6
+ * their own implementation via `setScribeMicrophoneSetup`.
7
+ */
8
+ export interface ScribeMicrophoneConfig {
9
+ deviceId?: MediaDeviceConstraint;
10
+ echoCancellation?: boolean;
11
+ noiseSuppression?: boolean;
12
+ autoGainControl?: boolean;
13
+ channelCount?: number;
14
+ }
15
+ export interface ScribeMicrophoneResult {
16
+ /** Track reference so the connection can toggle `track.enabled` for mute/unmute. */
17
+ mediaStreamTrack: MediaStreamTrack;
18
+ /** Tear down the audio pipeline and release hardware. */
19
+ cleanup: () => void;
20
+ }
21
+ /**
22
+ * Sets up microphone capture and streams PCM audio to the provided callback.
23
+ *
24
+ * @param config - Microphone constraints
25
+ * @param onAudioData - Called with base64-encoded PCM16 chunks
26
+ * @returns A result containing the track and cleanup function
27
+ */
28
+ export type ScribeMicrophoneSetup = (config: ScribeMicrophoneConfig, onAudioData: (base64Audio: string) => void) => Promise<ScribeMicrophoneResult>;
29
+ export declare function setScribeMicrophoneSetup(setup: ScribeMicrophoneSetup): void;
30
+ export declare function getScribeMicrophoneSetup(): ScribeMicrophoneSetup;
31
+ //# sourceMappingURL=microphone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microphone.d.ts","sourceRoot":"","sources":["../../src/scribe/microphone.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,yDAAyD;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,sBAAsB,EAC9B,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,KACvC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAQrC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAE3E;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAShE"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Platform-agnostic microphone streaming interface for Scribe.
3
+ *
4
+ * The web implementation (`platform/web/scribeMicrophone.ts`) provides the
5
+ * actual AudioContext + getUserMedia pipeline; other platforms can supply
6
+ * their own implementation via `setScribeMicrophoneSetup`.
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Injectable factory
10
+ // ---------------------------------------------------------------------------
11
+ let microphoneSetup = null;
12
+ export function setScribeMicrophoneSetup(setup) {
13
+ microphoneSetup = setup;
14
+ }
15
+ export function getScribeMicrophoneSetup() {
16
+ if (!microphoneSetup) {
17
+ throw new Error("No Scribe microphone implementation registered. " +
18
+ "Import '@elevenlabs/client/platform/web' or provide a custom " +
19
+ "implementation via setScribeMicrophoneSetup().");
20
+ }
21
+ return microphoneSetup;
22
+ }
23
+ //# sourceMappingURL=microphone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microphone.js","sourceRoot":"","sources":["../../src/scribe/microphone.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,IAAI,eAAe,GAAiC,IAAI,CAAC;AAEzD,MAAM,UAAU,wBAAwB,CAAC,KAA4B;IACnE,eAAe,GAAG,KAAK,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,+DAA+D;YAC/D,gDAAgD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -83,7 +83,7 @@ export interface AudioOptions extends BaseOptions {
83
83
  */
84
84
  export interface MicrophoneOptions extends BaseOptions {
85
85
  microphone?: {
86
- deviceId?: ConstrainDOMString;
86
+ deviceId?: MediaDeviceConstraint;
87
87
  echoCancellation?: boolean;
88
88
  noiseSuppression?: boolean;
89
89
  autoGainControl?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"scribe.d.ts","sourceRoot":"","sources":["../../src/scribe/scribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,UAAU,WAAW;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;;GAGG;AAGH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAErE,OAAO,CAAC,MAAM,CAAC,eAAe;IAM9B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiFhC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACW,OAAO,CACnB,OAAO,EAAE,YAAY,GAAG,iBAAiB,GACxC,kBAAkB;mBAgCA,oBAAoB;CAyF1C"}
1
+ {"version":3,"file":"scribe.d.ts","sourceRoot":"","sources":["../../src/scribe/scribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,UAAU,WAAW;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;;GAGG;AAGH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAErE,OAAO,CAAC,MAAM,CAAC,eAAe;IAM9B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiFhC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACW,OAAO,CACnB,OAAO,EAAE,YAAY,GAAG,iBAAiB,GACxC,kBAAkB;mBAgCA,oBAAoB;CAiB1C"}
@@ -1,5 +1,5 @@
1
1
  import { RealtimeConnection } from "./connection.js";
2
- import { loadScribeAudioProcessor } from "../utils/scribeAudioProcessor.generated.js";
2
+ import { getScribeMicrophoneSetup } from "./microphone.js";
3
3
  export var AudioFormat;
4
4
  (function (AudioFormat) {
5
5
  AudioFormat["PCM_8000"] = "pcm_8000";
@@ -131,69 +131,13 @@ export class ScribeRealtime {
131
131
  return connection;
132
132
  }
133
133
  static async streamFromMicrophone(options, connection) {
134
- const TARGET_SAMPLE_RATE = 16000;
135
134
  try {
136
- // Get microphone access
137
- const stream = await navigator.mediaDevices.getUserMedia({
138
- audio: {
139
- deviceId: options.microphone?.deviceId,
140
- echoCancellation: options.microphone?.echoCancellation ?? true,
141
- noiseSuppression: options.microphone?.noiseSuppression ?? true,
142
- autoGainControl: options.microphone?.autoGainControl ?? true,
143
- channelCount: options.microphone?.channelCount ?? 1,
144
- sampleRate: { ideal: TARGET_SAMPLE_RATE },
145
- },
146
- });
147
- // Get the actual sample rate from the stream - the ideal may not have been honored
148
- const trackSettings = stream.getAudioTracks()[0]?.getSettings();
149
- const streamSampleRate = trackSettings?.sampleRate;
150
- // Create audio context matching the stream's sample rate to avoid Firefox errors
151
- // Firefox requires the AudioContext to match the microphone's native sample rate
152
- const audioContext = new AudioContext(streamSampleRate ? { sampleRate: streamSampleRate } : {});
153
- // Load scribe worklet
154
- await loadScribeAudioProcessor(audioContext.audioWorklet);
155
- // Set up audio pipeline
156
- const source = audioContext.createMediaStreamSource(stream);
157
- const scribeNode = new AudioWorkletNode(audioContext, "scribeAudioProcessor");
158
- // Configure the worklet with sample rate info for resampling
159
- // (only needed when AudioContext sample rate differs from target)
160
- if (audioContext.sampleRate !== TARGET_SAMPLE_RATE) {
161
- scribeNode.port.postMessage({
162
- type: "configure",
163
- inputSampleRate: audioContext.sampleRate,
164
- outputSampleRate: TARGET_SAMPLE_RATE,
165
- });
166
- }
167
- // Store the track so mute()/unmute() can toggle track.enabled.
168
- const [audioTrack] = stream.getAudioTracks();
169
- connection._mediaStreamTrack = audioTrack;
170
- // Handle audio data from worklet
171
- scribeNode.port.onmessage = event => {
172
- const { audioData } = event.data;
173
- // Convert ArrayBuffer to base64
174
- const bytes = new Uint8Array(audioData);
175
- let binary = "";
176
- for (let i = 0; i < bytes.length; i++) {
177
- binary += String.fromCharCode(bytes[i]);
178
- }
179
- const base64Audio = btoa(binary);
135
+ const setup = getScribeMicrophoneSetup();
136
+ const result = await setup(options.microphone ?? {}, base64Audio => {
180
137
  connection.send({ audioBase64: base64Audio });
181
- };
182
- // Connect audio pipeline
183
- source.connect(scribeNode);
184
- // Resume audio context if needed
185
- if (audioContext.state === "suspended") {
186
- await audioContext.resume();
187
- }
188
- // Store cleanup function
189
- connection._audioCleanup = () => {
190
- stream.getTracks().forEach(track => {
191
- track.stop();
192
- });
193
- source.disconnect();
194
- scribeNode.disconnect();
195
- audioContext.close();
196
- };
138
+ });
139
+ connection._mediaStreamTrack = result.mediaStreamTrack;
140
+ connection._audioCleanup = result.cleanup;
197
141
  }
198
142
  catch (error) {
199
143
  console.error("Failed to start microphone streaming:", error);
@@ -1 +1 @@
1
- {"version":3,"file":"scribe.js","sourceRoot":"","sources":["../../src/scribe/scribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scribe.js","sourceRoot":"","sources":["../../src/scribe/scribe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import type { AudioEventAlignment, ClientToolCallClientEvent, McpToolCallClientEvent, McpConnectionStatusClientEvent, AgentToolRequestClientEvent, AgentToolResponseClientEvent, AgentToolResponseFullPayloadClientEvent, ConversationMetadata, AsrInitiationMetadataEvent, Interruption, AgentResponseCorrection, AgentChatResponsePartClientEvent } from "@elevenlabs/types";
2
+ /**
3
+ * Role in the conversation
4
+ */
5
+ export type Role = "user" | "agent";
6
+ export type AudioAlignmentEvent = AudioEventAlignment;
7
+ /**
8
+ * Current mode of the conversation
9
+ */
10
+ export type Mode = "speaking" | "listening";
11
+ /**
12
+ * Connection status of the conversation
13
+ */
14
+ export type Status = "disconnected" | "connecting" | "connected" | "disconnecting";
15
+ /**
16
+ * Platform-agnostic representation of the event that triggered a disconnection.
17
+ * Replaces the former `Event` / `CloseEvent` DOM constructors which are
18
+ * not available on React Native.
19
+ */
20
+ export type DisconnectionContext = {
21
+ type: string;
22
+ reason?: string;
23
+ code?: number;
24
+ };
25
+ /**
26
+ * Reason for the disconnection
27
+ */
28
+ export type DisconnectionDetails = {
29
+ reason: "error";
30
+ message: string;
31
+ context: DisconnectionContext;
32
+ closeCode?: number;
33
+ closeReason?: string;
34
+ } | {
35
+ reason: "agent";
36
+ context?: DisconnectionContext;
37
+ closeCode?: number;
38
+ closeReason?: string;
39
+ } | {
40
+ reason: "user";
41
+ };
42
+ export interface MessagePayload {
43
+ message: string;
44
+ event_id?: number;
45
+ /**
46
+ * @deprecated use {@link role} instead.
47
+ */
48
+ source: "user" | "ai";
49
+ role: Role;
50
+ }
51
+ /**
52
+ * Shared Callbacks, ensures all callbacks are implemented across all SDKs
53
+ */
54
+ export type Callbacks = {
55
+ onConnect?: (props: {
56
+ conversationId: string;
57
+ }) => void;
58
+ onDisconnect?: (details: DisconnectionDetails) => void;
59
+ onError?: (message: string, context?: any) => void;
60
+ onMessage?: (props: MessagePayload) => void;
61
+ onAudio?: (base64Audio: string) => void;
62
+ onModeChange?: (prop: {
63
+ mode: Mode;
64
+ }) => void;
65
+ onStatusChange?: (prop: {
66
+ status: Status;
67
+ }) => void;
68
+ onCanSendFeedbackChange?: (prop: {
69
+ canSendFeedback: boolean;
70
+ }) => void;
71
+ onUnhandledClientToolCall?: (params: ClientToolCallClientEvent["client_tool_call"]) => void;
72
+ onVadScore?: (props: {
73
+ vadScore: number;
74
+ }) => void;
75
+ onMCPToolCall?: (props: McpToolCallClientEvent["mcp_tool_call"]) => void;
76
+ onMCPConnectionStatus?: (props: McpConnectionStatusClientEvent["mcp_connection_status"]) => void;
77
+ onAgentToolRequest?: (props: AgentToolRequestClientEvent["agent_tool_request"]) => void;
78
+ onAgentToolResponse?: (props: AgentToolResponseClientEvent["agent_tool_response"] | AgentToolResponseFullPayloadClientEvent["agent_tool_response_full_payload"]) => void;
79
+ onConversationMetadata?: (props: ConversationMetadata["conversation_initiation_metadata_event"]) => void;
80
+ onAsrInitiationMetadata?: (props: AsrInitiationMetadataEvent["asr_initiation_metadata_event"]) => void;
81
+ onInterruption?: (props: Interruption["interruption_event"]) => void;
82
+ onAgentResponseCorrection?: (props: AgentResponseCorrection["agent_response_correction_event"]) => void;
83
+ onAgentChatResponsePart?: (props: AgentChatResponsePartClientEvent["text_response_part"]) => void;
84
+ onGuardrailTriggered?: () => void;
85
+ onAudioAlignment?: (props: AudioAlignmentEvent) => void;
86
+ onDebug?: (props: any) => void;
87
+ };
88
+ /**
89
+ * Runtime array of all keys in `Callbacks`, kept in sync with the type above.
90
+ * Used by the React SDK to pre-initialize listener maps for callback composition.
91
+ */
92
+ export declare const CALLBACK_KEYS: readonly ["onConnect", "onDisconnect", "onError", "onMessage", "onAudio", "onModeChange", "onStatusChange", "onCanSendFeedbackChange", "onUnhandledClientToolCall", "onVadScore", "onMCPToolCall", "onMCPConnectionStatus", "onAgentToolRequest", "onAgentToolResponse", "onConversationMetadata", "onAsrInitiationMetadata", "onInterruption", "onAgentResponseCorrection", "onAgentChatResponsePart", "onAudioAlignment", "onGuardrailTriggered", "onDebug"];
93
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Runtime array of all keys in `Callbacks`, kept in sync with the type above.
3
+ * Used by the React SDK to pre-initialize listener maps for callback composition.
4
+ */
5
+ export const CALLBACK_KEYS = [
6
+ "onConnect",
7
+ "onDisconnect",
8
+ "onError",
9
+ "onMessage",
10
+ "onAudio",
11
+ "onModeChange",
12
+ "onStatusChange",
13
+ "onCanSendFeedbackChange",
14
+ "onUnhandledClientToolCall",
15
+ "onVadScore",
16
+ "onMCPToolCall",
17
+ "onMCPConnectionStatus",
18
+ "onAgentToolRequest",
19
+ "onAgentToolResponse",
20
+ "onConversationMetadata",
21
+ "onAsrInitiationMetadata",
22
+ "onInterruption",
23
+ "onAgentResponseCorrection",
24
+ "onAgentChatResponsePart",
25
+ "onAudioAlignment",
26
+ "onGuardrailTriggered",
27
+ "onDebug",
28
+ ];
29
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6HA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW;IACX,cAAc;IACd,SAAS;IACT,WAAW;IACX,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,yBAAyB;IACzB,2BAA2B;IAC3B,YAAY;IACZ,eAAe;IACf,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,gBAAgB;IAChB,2BAA2B;IAC3B,yBAAyB;IACzB,kBAAkB;IAClB,sBAAsB;IACtB,SAAS;CACsC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import type { IncomingSocketEvent, OutgoingSocketEvent } from "./events.js";
2
2
  import type { Mode } from "../BaseConversation.js";
3
- import type { ConversationConfigOverrideAgentPrompt, DisconnectionDetails, ConversationConfigOverrideAgentLanguage as Language } from "@elevenlabs/types";
4
- export type { ConversationConfigOverrideAgentPrompt, DisconnectionDetails, ConversationConfigOverrideAgentLanguage as Language, } from "@elevenlabs/types";
3
+ import type { ConversationConfigOverrideAgentPrompt, ConversationConfigOverrideAgentLanguage as Language } from "@elevenlabs/types";
4
+ import type { DisconnectionDetails } from "../types.js";
5
+ export type { ConversationConfigOverrideAgentPrompt, ConversationConfigOverrideAgentLanguage as Language, } from "@elevenlabs/types";
6
+ export type { DisconnectionContext, DisconnectionDetails } from "../types.js";
5
7
  export type DelayConfig = {
6
8
  default: number;
7
9
  android?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../src/utils/BaseConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../src/utils/BaseConnection.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,9 @@ export declare class WebRTCConnection extends BaseConnection {
14
14
  private room;
15
15
  private isConnected;
16
16
  private audioEventId;
17
- private audioCaptureContext;
18
- private audioElements;
19
17
  private outputDeviceId;
18
+ private audioAdapter;
20
19
  private inputAnalyser;
21
- private inputAudioContext;
22
20
  private inputVolumeProvider;
23
21
  private outputAnalyser;
24
22
  private outputVolumeProvider;
@@ -32,10 +30,9 @@ export declare class WebRTCConnection extends BaseConnection {
32
30
  sendMessage(message: OutgoingSocketEvent): Promise<void>;
33
31
  getRoom(): Room;
34
32
  /**
35
- * (Re-)creates an AudioContext + AnalyserNode from the given track and
36
- * installs the corresponding VolumeProvider. Called once during create()
37
- * and again after an input device switch so the analyser follows the
38
- * active mic track.
33
+ * Delegates input volume analysis to the audio adapter (if present).
34
+ * Called once during create() and again after an input device switch
35
+ * so the analyser follows the active mic track.
39
36
  */
40
37
  private setupInputAnalyser;
41
38
  setInputVolumeProvider(provider: VolumeProvider): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WebRTCConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,IAAI,EAKL,MAAM,gBAAgB,CAAC;AAaxB,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAU7B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,cAAc;IAC3C,cAAc,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,mBAAmB,CAA6B;IAExD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,oBAAoB,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAS;IAGzB,SAAgB,KAAK,EAAE,eAAe,CA+FpC;IAGF,SAAgB,MAAM,EAAE,gBAAgB,CAkCtC;IAEF,OAAO;WAgBa,MAAM,CACxB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAkI5B,OAAO,CAAC,uBAAuB;IA0HxB,KAAK;IA4CC,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAgC9C,OAAO,IAAI,IAAI;IAItB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA+BnB,sBAAsB,CAAC,QAAQ,EAAE,cAAc;IAI/C,uBAAuB,CAAC,QAAQ,EAAE,cAAc;YAIzC,iBAAiB;IAuExB,cAAc,CAAC,MAAM,EAAE,MAAM;IAMvB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwDlE"}
1
+ {"version":3,"file":"WebRTCConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,IAAI,EAKL,MAAM,gBAAgB,CAAC;AAYxB,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,qBAAqB,CAAC;AAerE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,cAAc;IAC3C,cAAc,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,mBAAmB,CAA6B;IAExD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,oBAAoB,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAS;IAGzB,SAAgB,KAAK,EAAE,eAAe,CAgGpC;IAGF,SAAgB,MAAM,EAAE,gBAAgB,CAmCtC;IAEF,OAAO;WAiBa,MAAM,CACxB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IA0I5B,OAAO,CAAC,uBAAuB;IAuGxB,KAAK;IA0BC,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAgC9C,OAAO,IAAI,IAAI;IAItB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiBnB,sBAAsB,CAAC,QAAQ,EAAE,cAAc;IAI/C,uBAAuB,CAAC,QAAQ,EAAE,cAAc;YAIzC,iBAAiB;IAqCxB,cAAc,CAAC,MAAM,EAAE,MAAM;IAIvB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqDlE"}