@livekit/agents 0.1.0 → 0.2.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 (133) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +21 -0
  3. package/LICENSE +201 -0
  4. package/dist/audio.d.ts +12 -0
  5. package/dist/audio.d.ts.map +1 -0
  6. package/dist/audio.js +37 -0
  7. package/dist/audio.js.map +1 -0
  8. package/dist/cli.d.ts +11 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +68 -8
  11. package/dist/cli.js.map +1 -1
  12. package/dist/generator.d.ts +12 -6
  13. package/dist/generator.d.ts.map +1 -1
  14. package/dist/generator.js +9 -3
  15. package/dist/generator.js.map +1 -1
  16. package/dist/http_server.d.ts +1 -1
  17. package/dist/http_server.js +0 -3
  18. package/dist/http_server.js.map +1 -1
  19. package/dist/index.d.ts +12 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +12 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/ipc/job_executor.d.ts +19 -0
  24. package/dist/ipc/job_executor.d.ts.map +1 -0
  25. package/dist/ipc/job_executor.js +8 -0
  26. package/dist/ipc/job_executor.js.map +1 -0
  27. package/dist/ipc/job_main.d.ts +7 -4
  28. package/dist/ipc/job_main.d.ts.map +1 -1
  29. package/dist/ipc/job_main.js +96 -61
  30. package/dist/ipc/job_main.js.map +1 -1
  31. package/dist/ipc/message.d.ts +41 -0
  32. package/dist/ipc/message.d.ts.map +1 -0
  33. package/dist/ipc/message.js +2 -0
  34. package/dist/ipc/message.js.map +1 -0
  35. package/dist/ipc/proc_job_executor.d.ts +15 -0
  36. package/dist/ipc/proc_job_executor.d.ts.map +1 -0
  37. package/dist/ipc/proc_job_executor.js +150 -0
  38. package/dist/ipc/proc_job_executor.js.map +1 -0
  39. package/dist/ipc/proc_pool.d.ts +26 -0
  40. package/dist/ipc/proc_pool.d.ts.map +1 -0
  41. package/dist/ipc/proc_pool.js +82 -0
  42. package/dist/ipc/proc_pool.js.map +1 -0
  43. package/dist/job.d.ts +99 -0
  44. package/dist/job.d.ts.map +1 -0
  45. package/dist/job.js +197 -0
  46. package/dist/job.js.map +1 -0
  47. package/dist/llm/function_context.d.ts +20 -0
  48. package/dist/llm/function_context.d.ts.map +1 -0
  49. package/dist/llm/function_context.js +37 -0
  50. package/dist/llm/function_context.js.map +1 -0
  51. package/dist/llm/index.d.ts +3 -0
  52. package/dist/llm/index.d.ts.map +1 -0
  53. package/dist/llm/index.js +6 -0
  54. package/dist/llm/index.js.map +1 -0
  55. package/dist/log.d.ts +12 -1
  56. package/dist/log.d.ts.map +1 -1
  57. package/dist/log.js +28 -11
  58. package/dist/log.js.map +1 -1
  59. package/dist/plugin.js +20 -7
  60. package/dist/plugin.js.map +1 -1
  61. package/dist/stt/index.d.ts +1 -1
  62. package/dist/stt/index.d.ts.map +1 -1
  63. package/dist/stt/index.js.map +1 -1
  64. package/dist/stt/stream_adapter.d.ts +2 -11
  65. package/dist/stt/stream_adapter.d.ts.map +1 -1
  66. package/dist/stt/stream_adapter.js +47 -33
  67. package/dist/stt/stream_adapter.js.map +1 -1
  68. package/dist/stt/stt.d.ts +27 -0
  69. package/dist/stt/stt.d.ts.map +1 -1
  70. package/dist/stt/stt.js +32 -5
  71. package/dist/stt/stt.js.map +1 -1
  72. package/dist/tts/stream_adapter.d.ts +4 -11
  73. package/dist/tts/stream_adapter.d.ts.map +1 -1
  74. package/dist/tts/stream_adapter.js +66 -32
  75. package/dist/tts/stream_adapter.js.map +1 -1
  76. package/dist/tts/tts.d.ts +10 -0
  77. package/dist/tts/tts.d.ts.map +1 -1
  78. package/dist/tts/tts.js +48 -7
  79. package/dist/tts/tts.js.map +1 -1
  80. package/dist/utils.d.ts +32 -0
  81. package/dist/utils.d.ts.map +1 -1
  82. package/dist/utils.js +114 -6
  83. package/dist/utils.js.map +1 -1
  84. package/dist/vad.d.ts +29 -0
  85. package/dist/vad.d.ts.map +1 -1
  86. package/dist/vad.js.map +1 -1
  87. package/dist/worker.d.ts +67 -50
  88. package/dist/worker.d.ts.map +1 -1
  89. package/dist/worker.js +379 -214
  90. package/dist/worker.js.map +1 -1
  91. package/package.json +9 -9
  92. package/src/audio.ts +62 -0
  93. package/src/cli.ts +72 -8
  94. package/src/generator.ts +13 -7
  95. package/src/index.ts +13 -3
  96. package/src/ipc/job_executor.ts +25 -0
  97. package/src/ipc/job_main.ts +134 -61
  98. package/src/ipc/message.ts +39 -0
  99. package/src/ipc/proc_job_executor.ts +162 -0
  100. package/src/ipc/proc_pool.ts +108 -0
  101. package/src/job.ts +258 -0
  102. package/src/llm/function_context.ts +61 -0
  103. package/src/llm/index.ts +11 -0
  104. package/src/log.ts +40 -8
  105. package/src/stt/index.ts +1 -1
  106. package/src/stt/stream_adapter.ts +32 -32
  107. package/src/stt/stt.ts +27 -0
  108. package/src/tts/stream_adapter.ts +32 -31
  109. package/src/tts/tts.ts +10 -0
  110. package/src/utils.ts +125 -3
  111. package/src/vad.ts +29 -0
  112. package/src/worker.ts +419 -170
  113. package/tsconfig.json +6 -0
  114. package/dist/ipc/job_process.d.ts +0 -22
  115. package/dist/ipc/job_process.d.ts.map +0 -1
  116. package/dist/ipc/job_process.js +0 -73
  117. package/dist/ipc/job_process.js.map +0 -1
  118. package/dist/ipc/protocol.d.ts +0 -40
  119. package/dist/ipc/protocol.d.ts.map +0 -1
  120. package/dist/ipc/protocol.js +0 -14
  121. package/dist/ipc/protocol.js.map +0 -1
  122. package/dist/job_context.d.ts +0 -16
  123. package/dist/job_context.d.ts.map +0 -1
  124. package/dist/job_context.js +0 -31
  125. package/dist/job_context.js.map +0 -1
  126. package/dist/job_request.d.ts +0 -42
  127. package/dist/job_request.d.ts.map +0 -1
  128. package/dist/job_request.js +0 -79
  129. package/dist/job_request.js.map +0 -1
  130. package/src/ipc/job_process.ts +0 -96
  131. package/src/ipc/protocol.ts +0 -51
  132. package/src/job_context.ts +0 -49
  133. package/src/job_request.ts +0 -118
@@ -1,61 +1,73 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _StreamAdapterWrapper_closed, _StreamAdapterWrapper_stt, _StreamAdapterWrapper_vadStream, _StreamAdapterWrapper_eventQueue, _StreamAdapterWrapper_language, _StreamAdapterWrapper_task, _StreamAdapter_stt, _StreamAdapter_vadStream;
1
13
  import { mergeFrames } from '../utils.js';
2
14
  import { VADEventType } from '../vad.js';
3
15
  import { STT, SpeechEvent, SpeechEventType, SpeechStream } from './stt.js';
4
16
  export class StreamAdapterWrapper extends SpeechStream {
5
- closed;
6
- stt;
7
- vadStream;
8
- eventQueue;
9
- language;
10
- task;
11
17
  constructor(stt, vadStream, language = undefined) {
12
18
  super();
13
- this.closed = false;
14
- this.stt = stt;
15
- this.vadStream = vadStream;
16
- this.eventQueue = [];
17
- this.language = language;
18
- this.task = {
19
+ _StreamAdapterWrapper_closed.set(this, void 0);
20
+ _StreamAdapterWrapper_stt.set(this, void 0);
21
+ _StreamAdapterWrapper_vadStream.set(this, void 0);
22
+ _StreamAdapterWrapper_eventQueue.set(this, void 0);
23
+ _StreamAdapterWrapper_language.set(this, void 0);
24
+ _StreamAdapterWrapper_task.set(this, void 0);
25
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_closed, false, "f");
26
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_stt, stt, "f");
27
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_vadStream, vadStream, "f");
28
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_eventQueue, [], "f");
29
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_language, language, "f");
30
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_task, {
19
31
  run: new Promise((_, reject) => {
20
32
  this.run(reject);
21
33
  }),
22
34
  cancel: () => { },
23
- };
35
+ }, "f");
24
36
  }
25
37
  async run(reject) {
26
- this.task.cancel = () => {
27
- this.closed = true;
38
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").cancel = () => {
39
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_closed, true, "f");
28
40
  reject(new Error('cancelled'));
29
41
  };
30
- for (const event of this.vadStream) {
42
+ for (const event of __classPrivateFieldGet(this, _StreamAdapterWrapper_vadStream, "f")) {
31
43
  if (event.type == VADEventType.START_OF_SPEECH) {
32
44
  const startEvent = new SpeechEvent(SpeechEventType.START_OF_SPEECH);
33
- this.eventQueue.push(startEvent);
45
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(startEvent);
34
46
  }
35
47
  else if (event.type == VADEventType.END_OF_SPEECH) {
36
48
  const mergedFrames = mergeFrames(event.speech);
37
- const endEvent = await this.stt.recognize(mergedFrames, this.language);
38
- this.eventQueue.push(endEvent);
49
+ const endEvent = await __classPrivateFieldGet(this, _StreamAdapterWrapper_stt, "f").recognize(mergedFrames, __classPrivateFieldGet(this, _StreamAdapterWrapper_language, "f"));
50
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(endEvent);
39
51
  }
40
52
  }
41
- this.eventQueue.push(undefined);
53
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(undefined);
42
54
  }
43
55
  pushFrame(frame) {
44
- if (this.closed) {
56
+ if (__classPrivateFieldGet(this, _StreamAdapterWrapper_closed, "f")) {
45
57
  throw new TypeError('cannot push frame to closed stream');
46
58
  }
47
- this.vadStream.pushFrame(frame);
59
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_vadStream, "f").pushFrame(frame);
48
60
  }
49
61
  async close(wait = true) {
50
- this.closed = true;
62
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_closed, true, "f");
51
63
  if (!wait) {
52
- this.task.cancel();
64
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").cancel();
53
65
  }
54
- await this.vadStream.close(wait);
55
- await this.task.run;
66
+ await __classPrivateFieldGet(this, _StreamAdapterWrapper_vadStream, "f").close(wait);
67
+ await __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").run;
56
68
  }
57
69
  next() {
58
- const item = this.eventQueue.shift();
70
+ const item = __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").shift();
59
71
  if (item) {
60
72
  return { done: false, value: item };
61
73
  }
@@ -64,19 +76,21 @@ export class StreamAdapterWrapper extends SpeechStream {
64
76
  }
65
77
  }
66
78
  }
79
+ _StreamAdapterWrapper_closed = new WeakMap(), _StreamAdapterWrapper_stt = new WeakMap(), _StreamAdapterWrapper_vadStream = new WeakMap(), _StreamAdapterWrapper_eventQueue = new WeakMap(), _StreamAdapterWrapper_language = new WeakMap(), _StreamAdapterWrapper_task = new WeakMap();
67
80
  export class StreamAdapter extends STT {
68
- stt;
69
- vadStream;
70
81
  constructor(stt, vadStream) {
71
82
  super(true);
72
- this.stt = stt;
73
- this.vadStream = vadStream;
83
+ _StreamAdapter_stt.set(this, void 0);
84
+ _StreamAdapter_vadStream.set(this, void 0);
85
+ __classPrivateFieldSet(this, _StreamAdapter_stt, stt, "f");
86
+ __classPrivateFieldSet(this, _StreamAdapter_vadStream, vadStream, "f");
74
87
  }
75
88
  async recognize(buffer, language = undefined) {
76
- return await this.stt.recognize(buffer, language);
89
+ return await __classPrivateFieldGet(this, _StreamAdapter_stt, "f").recognize(buffer, language);
77
90
  }
78
91
  stream(language = undefined) {
79
- return new StreamAdapterWrapper(this.stt, this.vadStream, language);
92
+ return new StreamAdapterWrapper(__classPrivateFieldGet(this, _StreamAdapter_stt, "f"), __classPrivateFieldGet(this, _StreamAdapter_vadStream, "f"), language);
80
93
  }
81
94
  }
95
+ _StreamAdapter_stt = new WeakMap(), _StreamAdapter_vadStream = new WeakMap();
82
96
  //# sourceMappingURL=stream_adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream_adapter.js","sourceRoot":"","sources":["../../src/stt/stream_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream_adapter.js","sourceRoot":"","sources":["../../src/stt/stream_adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,OAAO,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3E,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAWpD,YAAY,GAAQ,EAAE,SAAoB,EAAE,WAA+B,SAAS;QAClF,KAAK,EAAE,CAAC;QAXV,+CAAiB;QACjB,4CAAU;QACV,kDAAsB;QACtB,mDAAyC;QACzC,iDAAmB;QACnB,6CAGE;QAIA,uBAAA,IAAI,gCAAW,KAAK,MAAA,CAAC;QACrB,uBAAA,IAAI,6BAAQ,GAAG,MAAA,CAAC;QAChB,uBAAA,IAAI,mCAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,oCAAe,EAAE,MAAA,CAAC;QACtB,uBAAA,IAAI,kCAAa,QAAQ,MAAA,CAAC;QAC1B,uBAAA,IAAI,8BAAS;YACX,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACjB,MAAA,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAA4B;QACpC,uBAAA,IAAI,kCAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACvB,uBAAA,IAAI,gCAAW,IAAI,MAAA,CAAC;YACpB,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,uBAAA,IAAI,uCAAW,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACpE,uBAAA,IAAI,wCAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,iCAAK,CAAC,SAAS,CAAC,YAAY,EAAE,uBAAA,IAAI,sCAAU,CAAC,CAAC;gBACzE,uBAAA,IAAI,wCAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,uBAAA,IAAI,wCAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAiB;QACzB,IAAI,uBAAA,IAAI,oCAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QAED,uBAAA,IAAI,uCAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,IAAI;QAC9B,uBAAA,IAAI,gCAAW,IAAI,MAAA,CAAC;QAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,uBAAA,IAAI,kCAAM,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,uBAAA,IAAI,uCAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,uBAAA,IAAI,kCAAM,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,uBAAA,IAAI,wCAAY,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;;AAED,MAAM,OAAO,aAAc,SAAQ,GAAG;IAIpC,YAAY,GAAQ,EAAE,SAAoB;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC;QAJd,qCAAU;QACV,2CAAsB;QAIpB,uBAAA,IAAI,sBAAQ,GAAG,MAAA,CAAC;QAChB,uBAAA,IAAI,4BAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAmB,EACnB,WAA+B,SAAS;QAExC,OAAO,MAAM,uBAAA,IAAI,0BAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,WAA+B,SAAS;QAC7C,OAAO,IAAI,oBAAoB,CAAC,uBAAA,IAAI,0BAAK,EAAE,uBAAA,IAAI,gCAAW,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;CACF"}
package/dist/stt/stt.d.ts CHANGED
@@ -1,9 +1,25 @@
1
1
  import type { AudioFrame } from '@livekit/rtc-node';
2
2
  import type { AudioBuffer } from '../utils.js';
3
3
  export declare enum SpeechEventType {
4
+ /**
5
+ * Indicate the start of speech.
6
+ * If the STT doesn't support this event, this will be emitted at the same time
7
+ * as the first INTERMIN_TRANSCRIPT.
8
+ */
4
9
  START_OF_SPEECH = 0,
10
+ /**
11
+ * Interim transcript, useful for real-time transcription.
12
+ */
5
13
  INTERIM_TRANSCRIPT = 1,
14
+ /**
15
+ * Final transcript, emitted when the STT is confident enough that a certain
16
+ * portion of the speech will not change.
17
+ */
6
18
  FINAL_TRANSCRIPT = 2,
19
+ /**
20
+ * Indicate the end of speech, emitted when the user stops speaking.
21
+ * The first alternative is a combination of all the previous FINAL_TRANSCRIPT events.
22
+ */
7
23
  END_OF_SPEECH = 3
8
24
  }
9
25
  export interface SpeechData {
@@ -19,7 +35,18 @@ export declare class SpeechEvent {
19
35
  constructor(type: SpeechEventType, alternatives?: SpeechData[]);
20
36
  }
21
37
  export declare abstract class SpeechStream implements IterableIterator<SpeechEvent> {
38
+ /**
39
+ * Push a frame to be recognised.
40
+ * It is recommended to push frames as soon as they are available.
41
+ */
22
42
  abstract pushFrame(token: AudioFrame): void;
43
+ /**
44
+ * Close the stream.
45
+ *
46
+ * @param wait
47
+ * Whether to wait for the STT to finish processing the remaining
48
+ * frames before closing
49
+ */
23
50
  abstract close(wait: boolean): Promise<void>;
24
51
  abstract next(): IteratorResult<SpeechEvent>;
25
52
  [Symbol.iterator](): SpeechStream;
@@ -1 +1 @@
1
- {"version":3,"file":"stt.d.ts","sourceRoot":"","sources":["../../src/stt/stt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,oBAAY,eAAe;IACzB,eAAe,IAAI;IACnB,kBAAkB,IAAI;IACtB,gBAAgB,IAAI;IACpB,aAAa,IAAI;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,UAAU,EAAE,CAAC;gBAEf,IAAI,EAAE,eAAe,EAAE,YAAY,GAAE,UAAU,EAAO;CAInE;AAED,8BAAsB,YAAa,YAAW,gBAAgB,CAAC,WAAW,CAAC;IACzE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAE3C,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,IAAI,IAAI,cAAc,CAAC,WAAW,CAAC;IAE5C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY;CAGlC;AAED,8BAAsB,GAAG;;gBAGX,kBAAkB,EAAE,OAAO;IAIvC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAEhF,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY;IAE3D,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF"}
1
+ {"version":3,"file":"stt.d.ts","sourceRoot":"","sources":["../../src/stt/stt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,oBAAY,eAAe;IACzB;;;;OAIG;IACH,eAAe,IAAI;IACnB;;OAEG;IACH,kBAAkB,IAAI;IACtB;;;OAGG;IACH,gBAAgB,IAAI;IACpB;;;OAGG;IACH,aAAa,IAAI;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,UAAU,EAAE,CAAC;gBAEf,IAAI,EAAE,eAAe,EAAE,YAAY,GAAE,UAAU,EAAO;CAInE;AAED,8BAAsB,YAAa,YAAW,gBAAgB,CAAC,WAAW,CAAC;IACzE;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAE3C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,IAAI,IAAI,cAAc,CAAC,WAAW,CAAC;IAE5C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY;CAGlC;AAED,8BAAsB,GAAG;;gBAGX,kBAAkB,EAAE,OAAO;IAIvC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAEhF,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY;IAE3D,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF"}
package/dist/stt/stt.js CHANGED
@@ -1,13 +1,39 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _STT_streamingSupported;
1
13
  export var SpeechEventType;
2
14
  (function (SpeechEventType) {
15
+ /**
16
+ * Indicate the start of speech.
17
+ * If the STT doesn't support this event, this will be emitted at the same time
18
+ * as the first INTERMIN_TRANSCRIPT.
19
+ */
3
20
  SpeechEventType[SpeechEventType["START_OF_SPEECH"] = 0] = "START_OF_SPEECH";
21
+ /**
22
+ * Interim transcript, useful for real-time transcription.
23
+ */
4
24
  SpeechEventType[SpeechEventType["INTERIM_TRANSCRIPT"] = 1] = "INTERIM_TRANSCRIPT";
25
+ /**
26
+ * Final transcript, emitted when the STT is confident enough that a certain
27
+ * portion of the speech will not change.
28
+ */
5
29
  SpeechEventType[SpeechEventType["FINAL_TRANSCRIPT"] = 2] = "FINAL_TRANSCRIPT";
30
+ /**
31
+ * Indicate the end of speech, emitted when the user stops speaking.
32
+ * The first alternative is a combination of all the previous FINAL_TRANSCRIPT events.
33
+ */
6
34
  SpeechEventType[SpeechEventType["END_OF_SPEECH"] = 3] = "END_OF_SPEECH";
7
35
  })(SpeechEventType || (SpeechEventType = {}));
8
36
  export class SpeechEvent {
9
- type;
10
- alternatives;
11
37
  constructor(type, alternatives = []) {
12
38
  this.type = type;
13
39
  this.alternatives = alternatives;
@@ -19,12 +45,13 @@ export class SpeechStream {
19
45
  }
20
46
  }
21
47
  export class STT {
22
- #streamingSupported;
23
48
  constructor(streamingSupported) {
24
- this.#streamingSupported = streamingSupported;
49
+ _STT_streamingSupported.set(this, void 0);
50
+ __classPrivateFieldSet(this, _STT_streamingSupported, streamingSupported, "f");
25
51
  }
26
52
  get streamingSupported() {
27
- return this.#streamingSupported;
53
+ return __classPrivateFieldGet(this, _STT_streamingSupported, "f");
28
54
  }
29
55
  }
56
+ _STT_streamingSupported = new WeakMap();
30
57
  //# sourceMappingURL=stt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stt.js","sourceRoot":"","sources":["../../src/stt/stt.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,2EAAmB,CAAA;IACnB,iFAAsB,CAAA;IACtB,6EAAoB,CAAA;IACpB,uEAAiB,CAAA;AACnB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAUD,MAAM,OAAO,WAAW;IACtB,IAAI,CAAkB;IACtB,YAAY,CAAe;IAE3B,YAAY,IAAqB,EAAE,eAA6B,EAAE;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAgB,YAAY;IAOhC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAgB,GAAG;IACvB,mBAAmB,CAAU;IAE7B,YAAY,kBAA2B;QACrC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,CAAC;IAMD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"stt.js","sourceRoot":"","sources":["../../src/stt/stt.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,MAAM,CAAN,IAAY,eAqBX;AArBD,WAAY,eAAe;IACzB;;;;OAIG;IACH,2EAAmB,CAAA;IACnB;;OAEG;IACH,iFAAsB,CAAA;IACtB;;;OAGG;IACH,6EAAoB,CAAA;IACpB;;;OAGG;IACH,uEAAiB,CAAA;AACnB,CAAC,EArBW,eAAe,KAAf,eAAe,QAqB1B;AAUD,MAAM,OAAO,WAAW;IAItB,YAAY,IAAqB,EAAE,eAA6B,EAAE;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAgB,YAAY;IAkBhC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAgB,GAAG;IAGvB,YAAY,kBAA2B;QAFvC,0CAA6B;QAG3B,uBAAA,IAAI,2BAAuB,kBAAkB,MAAA,CAAC;IAChD,CAAC;IAMD,IAAI,kBAAkB;QACpB,OAAO,uBAAA,IAAI,+BAAoB,CAAC;IAClC,CAAC;CACF"}
@@ -1,14 +1,8 @@
1
1
  import type { SentenceStream, SentenceTokenizer } from '../tokenize.js';
2
- import { ChunkedStream, SynthesisEvent, SynthesizeStream, TTS } from './tts.js';
2
+ import type { ChunkedStream } from './tts.js';
3
+ import { SynthesisEvent, SynthesizeStream, TTS } from './tts.js';
3
4
  export declare class StreamAdapterWrapper extends SynthesizeStream {
4
- closed: boolean;
5
- tts: TTS;
6
- sentenceStream: SentenceStream;
7
- eventQueue: (SynthesisEvent | undefined)[];
8
- task: {
9
- run: Promise<void>;
10
- cancel: () => void;
11
- };
5
+ #private;
12
6
  constructor(tts: TTS, sentenceStream: SentenceStream);
13
7
  run(reject: (arg: Error) => void): Promise<void>;
14
8
  pushText(token: string): void;
@@ -17,8 +11,7 @@ export declare class StreamAdapterWrapper extends SynthesizeStream {
17
11
  close(): Promise<void>;
18
12
  }
19
13
  export declare class StreamAdapter extends TTS {
20
- tts: TTS;
21
- tokenizer: SentenceTokenizer;
14
+ #private;
22
15
  constructor(tts: TTS, tokenizer: SentenceTokenizer);
23
16
  synthesize(text: string): Promise<ChunkedStream>;
24
17
  stream(): StreamAdapterWrapper;
@@ -1 +1 @@
1
- {"version":3,"file":"stream_adapter.d.ts","sourceRoot":"","sources":["../../src/tts/stream_adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAsB,gBAAgB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpG,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC;IAC3C,IAAI,EAAE;QACJ,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;gBAEU,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc;IAc9C,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAiBtC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAIhB,KAAK;IAIX,IAAI,IAAI,cAAc,CAAC,cAAc,CAAC;IAShC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED,qBAAa,aAAc,SAAQ,GAAG;IACpC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,iBAAiB,CAAC;gBAEjB,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB;IAMlD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhD,MAAM;CAGP"}
1
+ {"version":3,"file":"stream_adapter.d.ts","sourceRoot":"","sources":["../../src/tts/stream_adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAsB,gBAAgB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErF,qBAAa,oBAAqB,SAAQ,gBAAgB;;gBAU5C,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc;IAc9C,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAiBtC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAIhB,KAAK;IAIX,IAAI,IAAI,cAAc,CAAC,cAAc,CAAC;IAShC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED,qBAAa,aAAc,SAAQ,GAAG;;gBAIxB,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB;IAMlD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhD,MAAM;CAGP"}
@@ -1,47 +1,79 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
13
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
+ var m = o[Symbol.asyncIterator], i;
15
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
16
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
17
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
18
+ };
19
+ var _StreamAdapterWrapper_closed, _StreamAdapterWrapper_tts, _StreamAdapterWrapper_sentenceStream, _StreamAdapterWrapper_eventQueue, _StreamAdapterWrapper_task, _StreamAdapter_tts, _StreamAdapter_tokenizer;
1
20
  import { SynthesisEvent, SynthesisEventType, SynthesizeStream, TTS } from './tts.js';
2
21
  export class StreamAdapterWrapper extends SynthesizeStream {
3
- closed;
4
- tts;
5
- sentenceStream;
6
- eventQueue;
7
- task;
8
22
  constructor(tts, sentenceStream) {
9
23
  super();
10
- this.closed = false;
11
- this.tts = tts;
12
- this.sentenceStream = sentenceStream;
13
- this.eventQueue = [];
14
- this.task = {
24
+ _StreamAdapterWrapper_closed.set(this, void 0);
25
+ _StreamAdapterWrapper_tts.set(this, void 0);
26
+ _StreamAdapterWrapper_sentenceStream.set(this, void 0);
27
+ _StreamAdapterWrapper_eventQueue.set(this, void 0);
28
+ _StreamAdapterWrapper_task.set(this, void 0);
29
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_closed, false, "f");
30
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_tts, tts, "f");
31
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_sentenceStream, sentenceStream, "f");
32
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_eventQueue, [], "f");
33
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_task, {
15
34
  run: new Promise((_, reject) => {
16
35
  this.run(reject);
17
36
  }),
18
37
  cancel: () => { },
19
- };
38
+ }, "f");
20
39
  }
21
40
  async run(reject) {
22
- while (!this.closed) {
23
- this.task.cancel = () => {
24
- this.closed = true;
41
+ var _a, e_1, _b, _c;
42
+ while (!__classPrivateFieldGet(this, _StreamAdapterWrapper_closed, "f")) {
43
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").cancel = () => {
44
+ __classPrivateFieldSet(this, _StreamAdapterWrapper_closed, true, "f");
25
45
  reject(new Error('cancelled'));
26
46
  };
27
- for await (const sentence of this.sentenceStream) {
28
- const audio = await this.tts.synthesize(sentence.text).then((data) => data.next());
29
- if (!audio.done) {
30
- this.eventQueue.push(new SynthesisEvent(SynthesisEventType.STARTED));
31
- this.eventQueue.push(new SynthesisEvent(SynthesisEventType.AUDIO, audio.value));
32
- this.eventQueue.push(new SynthesisEvent(SynthesisEventType.FINISHED));
47
+ try {
48
+ for (var _d = true, _e = (e_1 = void 0, __asyncValues(__classPrivateFieldGet(this, _StreamAdapterWrapper_sentenceStream, "f"))), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
49
+ _c = _f.value;
50
+ _d = false;
51
+ const sentence = _c;
52
+ const audio = await __classPrivateFieldGet(this, _StreamAdapterWrapper_tts, "f").synthesize(sentence.text).then((data) => data.next());
53
+ if (!audio.done) {
54
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(new SynthesisEvent(SynthesisEventType.STARTED));
55
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(new SynthesisEvent(SynthesisEventType.AUDIO, audio.value));
56
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(new SynthesisEvent(SynthesisEventType.FINISHED));
57
+ }
33
58
  }
34
59
  }
60
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
61
+ finally {
62
+ try {
63
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
64
+ }
65
+ finally { if (e_1) throw e_1.error; }
66
+ }
35
67
  }
36
68
  }
37
69
  pushText(token) {
38
- this.sentenceStream.pushText(token);
70
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_sentenceStream, "f").pushText(token);
39
71
  }
40
72
  async flush() {
41
- await this.sentenceStream.flush();
73
+ await __classPrivateFieldGet(this, _StreamAdapterWrapper_sentenceStream, "f").flush();
42
74
  }
43
75
  next() {
44
- const event = this.eventQueue.shift();
76
+ const event = __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").shift();
45
77
  if (event) {
46
78
  return { done: false, value: event };
47
79
  }
@@ -50,28 +82,30 @@ export class StreamAdapterWrapper extends SynthesizeStream {
50
82
  }
51
83
  }
52
84
  async close() {
53
- this.task.cancel();
85
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").cancel();
54
86
  try {
55
- await this.task.run;
87
+ await __classPrivateFieldGet(this, _StreamAdapterWrapper_task, "f").run;
56
88
  }
57
89
  finally {
58
- this.eventQueue.push(undefined);
90
+ __classPrivateFieldGet(this, _StreamAdapterWrapper_eventQueue, "f").push(undefined);
59
91
  }
60
92
  }
61
93
  }
94
+ _StreamAdapterWrapper_closed = new WeakMap(), _StreamAdapterWrapper_tts = new WeakMap(), _StreamAdapterWrapper_sentenceStream = new WeakMap(), _StreamAdapterWrapper_eventQueue = new WeakMap(), _StreamAdapterWrapper_task = new WeakMap();
62
95
  export class StreamAdapter extends TTS {
63
- tts;
64
- tokenizer;
65
96
  constructor(tts, tokenizer) {
66
97
  super(true);
67
- this.tts = tts;
68
- this.tokenizer = tokenizer;
98
+ _StreamAdapter_tts.set(this, void 0);
99
+ _StreamAdapter_tokenizer.set(this, void 0);
100
+ __classPrivateFieldSet(this, _StreamAdapter_tts, tts, "f");
101
+ __classPrivateFieldSet(this, _StreamAdapter_tokenizer, tokenizer, "f");
69
102
  }
70
103
  synthesize(text) {
71
- return this.tts.synthesize(text);
104
+ return __classPrivateFieldGet(this, _StreamAdapter_tts, "f").synthesize(text);
72
105
  }
73
106
  stream() {
74
- return new StreamAdapterWrapper(this.tts, this.tokenizer.stream(undefined));
107
+ return new StreamAdapterWrapper(__classPrivateFieldGet(this, _StreamAdapter_tts, "f"), __classPrivateFieldGet(this, _StreamAdapter_tokenizer, "f").stream(undefined));
75
108
  }
76
109
  }
110
+ _StreamAdapter_tts = new WeakMap(), _StreamAdapter_tokenizer = new WeakMap();
77
111
  //# sourceMappingURL=stream_adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream_adapter.js","sourceRoot":"","sources":["../../src/tts/stream_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream_adapter.js","sourceRoot":"","sources":["../../src/tts/stream_adapter.ts"],"names":[],"mappings":"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"}
package/dist/tts/tts.d.ts CHANGED
@@ -4,8 +4,18 @@ export interface SynthesizedAudio {
4
4
  data: AudioFrame;
5
5
  }
6
6
  export declare enum SynthesisEventType {
7
+ /**
8
+ * Indicate the start of synthesis.
9
+ * Retriggered after FINISHED.
10
+ */
7
11
  STARTED = 0,
12
+ /**
13
+ * Indicate that audio data is available.
14
+ */
8
15
  AUDIO = 1,
16
+ /**
17
+ * Indicate the end of synthesis. Does not necessarily mean stream is done.
18
+ */
9
19
  FINISHED = 2
10
20
  }
11
21
  export declare class SynthesisEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/tts/tts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,oBAAY,kBAAkB;IAC5B,OAAO,IAAI;IACX,KAAK,IAAI;IACT,QAAQ,IAAI;CACb;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;gBAEb,IAAI,EAAE,kBAAkB,EAAE,KAAK,GAAE,gBAAgB,GAAG,SAAqB;CAItF;AAED,8BAAsB,gBAAiB,YAAW,gBAAgB,CAAC,cAAc,CAAC;IAChF,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAEvC,cAAc;IAId,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,IAAI,cAAc,CAAC,cAAc,CAAC;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;CAGtC;AAED,8BAAsB,GAAG;;gBAGX,kBAAkB,EAAE,OAAO;IAIvC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAEzD,QAAQ,CAAC,MAAM,IAAI,gBAAgB;IAEnC,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF;AAED,8BAAsB,aAAc,YAAW,qBAAqB,CAAC,gBAAgB,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAQpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAE1D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa;IAIlC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa;CAGxC"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/tts/tts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,oBAAY,kBAAkB;IAC5B;;;OAGG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,QAAQ,IAAI;CACb;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;gBAEb,IAAI,EAAE,kBAAkB,EAAE,KAAK,GAAE,gBAAgB,GAAG,SAAqB;CAItF;AAED,8BAAsB,gBAAiB,YAAW,gBAAgB,CAAC,cAAc,CAAC;IAChF,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAEvC,cAAc;IAId,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,IAAI,cAAc,CAAC,cAAc,CAAC;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;CAGtC;AAED,8BAAsB,GAAG;;gBAGX,kBAAkB,EAAE,OAAO;IAIvC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAEzD,QAAQ,CAAC,MAAM,IAAI,gBAAgB;IAEnC,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF;AAED,8BAAsB,aAAc,YAAW,qBAAqB,CAAC,gBAAgB,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAQpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAE1D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa;IAIlC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa;CAGxC"}
package/dist/tts/tts.js CHANGED
@@ -1,13 +1,40 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
13
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
+ var m = o[Symbol.asyncIterator], i;
15
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
16
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
17
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
18
+ };
19
+ var _TTS_streamingSupported;
1
20
  import { mergeFrames } from '../utils.js';
2
21
  export var SynthesisEventType;
3
22
  (function (SynthesisEventType) {
23
+ /**
24
+ * Indicate the start of synthesis.
25
+ * Retriggered after FINISHED.
26
+ */
4
27
  SynthesisEventType[SynthesisEventType["STARTED"] = 0] = "STARTED";
28
+ /**
29
+ * Indicate that audio data is available.
30
+ */
5
31
  SynthesisEventType[SynthesisEventType["AUDIO"] = 1] = "AUDIO";
32
+ /**
33
+ * Indicate the end of synthesis. Does not necessarily mean stream is done.
34
+ */
6
35
  SynthesisEventType[SynthesisEventType["FINISHED"] = 2] = "FINISHED";
7
36
  })(SynthesisEventType || (SynthesisEventType = {}));
8
37
  export class SynthesisEvent {
9
- type;
10
- audio;
11
38
  constructor(type, audio = undefined) {
12
39
  this.type = type;
13
40
  this.audio = audio;
@@ -22,19 +49,33 @@ export class SynthesizeStream {
22
49
  }
23
50
  }
24
51
  export class TTS {
25
- #streamingSupported;
26
52
  constructor(streamingSupported) {
27
- this.#streamingSupported = streamingSupported;
53
+ _TTS_streamingSupported.set(this, void 0);
54
+ __classPrivateFieldSet(this, _TTS_streamingSupported, streamingSupported, "f");
28
55
  }
29
56
  get streamingSupported() {
30
- return this.#streamingSupported;
57
+ return __classPrivateFieldGet(this, _TTS_streamingSupported, "f");
31
58
  }
32
59
  }
60
+ _TTS_streamingSupported = new WeakMap();
33
61
  export class ChunkedStream {
34
62
  async collect() {
63
+ var _a, e_1, _b, _c;
35
64
  const frames = [];
36
- for await (const ev of this) {
37
- frames.push(ev.data);
65
+ try {
66
+ for (var _d = true, _e = __asyncValues(this), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
67
+ _c = _f.value;
68
+ _d = false;
69
+ const ev = _c;
70
+ frames.push(ev.data);
71
+ }
72
+ }
73
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
74
+ finally {
75
+ try {
76
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
77
+ }
78
+ finally { if (e_1) throw e_1.error; }
38
79
  }
39
80
  return mergeFrames(frames);
40
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/tts/tts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iEAAW,CAAA;IACX,6DAAS,CAAA;IACT,mEAAY,CAAA;AACd,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,OAAO,cAAc;IACzB,IAAI,CAAqB;IACzB,KAAK,CAAoB;IAEzB,YAAY,IAAwB,EAAE,QAAsC,SAAS;QACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAgB,gBAAgB;IAGpC,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAKD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAgB,GAAG;IACvB,mBAAmB,CAAU;IAE7B,YAAY,kBAA2B;QACrC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,CAAC;IAMD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAgB,aAAa;IACjC,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAKD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/tts/tts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,CAAN,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC5B;;;OAGG;IACH,iEAAW,CAAA;IACX;;OAEG;IACH,6DAAS,CAAA;IACT;;OAEG;IACH,mEAAY,CAAA;AACd,CAAC,EAdW,kBAAkB,KAAlB,kBAAkB,QAc7B;AAED,MAAM,OAAO,cAAc;IAIzB,YAAY,IAAwB,EAAE,QAAsC,SAAS;QACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAgB,gBAAgB;IAGpC,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAKD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAgB,GAAG;IAGvB,YAAY,kBAA2B;QAFvC,0CAA6B;QAG3B,uBAAA,IAAI,2BAAuB,kBAAkB,MAAA,CAAC;IAChD,CAAC;IAMD,IAAI,kBAAkB;QACpB,OAAO,uBAAA,IAAI,+BAAoB,CAAC;IAClC,CAAC;CACF;;AAED,MAAM,OAAgB,aAAa;IACjC,KAAK,CAAC,OAAO;;QACX,MAAM,MAAM,GAAG,EAAE,CAAC;;YAClB,KAAuB,eAAA,KAAA,cAAA,IAAI,CAAA,IAAA,sDAAE,CAAC;gBAAP,cAAI;gBAAJ,WAAI;gBAAhB,MAAM,EAAE,KAAA,CAAA;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;;;;;;;;;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAKD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,36 @@
1
+ import type { Room } from '@livekit/rtc-node';
1
2
  import { AudioFrame } from '@livekit/rtc-node';
3
+ /** Union of a single and a list of {@link AudioFrame}s */
2
4
  export type AudioBuffer = AudioFrame[] | AudioFrame;
5
+ /**
6
+ * Merge one or more {@link AudioFrame}s into a single one.
7
+ *
8
+ * @param buffer Either an {@link AudioFrame} or a list thereof
9
+ * @throws
10
+ * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError
11
+ * | TypeError} if sample rate or channel count are mismatched
12
+ */
3
13
  export declare const mergeFrames: (buffer: AudioBuffer) => AudioFrame;
14
+ export declare const findMicroTrackId: (room: Room, identity: string) => string;
15
+ /** @internal */
16
+ export declare class Mutex {
17
+ #private;
18
+ constructor(limit?: number);
19
+ isLocked(): boolean;
20
+ lock(): Promise<() => void>;
21
+ }
22
+ /** @internal */
23
+ export declare class Queue<T> {
24
+ #private;
25
+ constructor(limit?: number);
26
+ get(): Promise<T>;
27
+ put(item: T): Promise<void>;
28
+ }
29
+ /** @internal */
30
+ export declare class Future {
31
+ #private;
32
+ get await(): Promise<void>;
33
+ resolve(): void;
34
+ reject(_: Error): void;
35
+ }
4
36
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;AAEpD,eAAO,MAAM,WAAW,WAAY,WAAW,KAAG,UA6BjD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,IAAI,EAEL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAG5D,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,WAAY,WAAW,KAAG,UA6BjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,IAAI,YAAY,MAAM,KAAG,MAyB/D,CAAC;AAEF,gBAAgB;AAChB,qBAAa,KAAK;;gBAKJ,KAAK,SAAI;IAMrB,QAAQ,IAAI,OAAO;IAIb,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;CAiBlC;AAED,gBAAgB;AAChB,qBAAa,KAAK,CAAC,CAAC;;gBAKN,KAAK,CAAC,EAAE,MAAM;IAIpB,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IASjB,GAAG,CAAC,IAAI,EAAE,CAAC;CAOlB;AAED,gBAAgB;AAChB,qBAAa,MAAM;;IAMjB,IAAI,KAAK,kBAER;IACD,OAAO;IACP,MAAM,CAAC,CAAC,EAAE,KAAK;CAGhB"}