@livekit/agents 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +40 -0
  3. package/dist/audio.d.ts +1 -4
  4. package/dist/audio.d.ts.map +1 -1
  5. package/dist/audio.js +30 -12
  6. package/dist/audio.js.map +1 -1
  7. package/dist/cli.d.ts +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +41 -17
  10. package/dist/cli.js.map +1 -1
  11. package/dist/generator.d.ts +5 -0
  12. package/dist/generator.d.ts.map +1 -1
  13. package/dist/generator.js +11 -0
  14. package/dist/generator.js.map +1 -1
  15. package/dist/http_server.d.ts +1 -0
  16. package/dist/http_server.d.ts.map +1 -1
  17. package/dist/http_server.js +13 -0
  18. package/dist/http_server.js.map +1 -1
  19. package/dist/index.d.ts +3 -1
  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/ipc/job_main.js +9 -1
  24. package/dist/ipc/job_main.js.map +1 -1
  25. package/dist/ipc/proc_pool.d.ts.map +1 -1
  26. package/dist/ipc/proc_pool.js +1 -0
  27. package/dist/ipc/proc_pool.js.map +1 -1
  28. package/dist/job.d.ts +1 -0
  29. package/dist/job.d.ts.map +1 -1
  30. package/dist/job.js +30 -1
  31. package/dist/job.js.map +1 -1
  32. package/dist/multimodal/agent_playout.d.ts +34 -0
  33. package/dist/multimodal/agent_playout.d.ts.map +1 -0
  34. package/dist/multimodal/agent_playout.js +221 -0
  35. package/dist/multimodal/agent_playout.js.map +1 -0
  36. package/dist/multimodal/index.d.ts +3 -0
  37. package/dist/multimodal/index.d.ts.map +1 -0
  38. package/dist/multimodal/index.js +6 -0
  39. package/dist/multimodal/index.js.map +1 -0
  40. package/dist/multimodal/multimodal_agent.d.ts +47 -0
  41. package/dist/multimodal/multimodal_agent.d.ts.map +1 -0
  42. package/dist/multimodal/multimodal_agent.js +329 -0
  43. package/dist/multimodal/multimodal_agent.js.map +1 -0
  44. package/dist/transcription.d.ts +22 -0
  45. package/dist/transcription.d.ts.map +1 -0
  46. package/dist/transcription.js +112 -0
  47. package/dist/transcription.js.map +1 -0
  48. package/dist/utils.d.ts +29 -1
  49. package/dist/utils.d.ts.map +1 -1
  50. package/dist/utils.js +117 -15
  51. package/dist/utils.js.map +1 -1
  52. package/dist/worker.d.ts +3 -1
  53. package/dist/worker.d.ts.map +1 -1
  54. package/dist/worker.js +49 -9
  55. package/dist/worker.js.map +1 -1
  56. package/package.json +6 -4
  57. package/src/audio.ts +21 -20
  58. package/src/cli.ts +42 -17
  59. package/src/generator.ts +14 -0
  60. package/src/http_server.ts +6 -0
  61. package/src/index.ts +3 -1
  62. package/src/ipc/job_main.ts +9 -2
  63. package/src/ipc/proc_pool.ts +1 -0
  64. package/src/job.ts +37 -1
  65. package/src/multimodal/agent_playout.ts +254 -0
  66. package/src/multimodal/index.ts +5 -0
  67. package/src/multimodal/multimodal_agent.ts +426 -0
  68. package/src/transcription.ts +129 -0
  69. package/src/utils.ts +151 -12
  70. package/src/worker.ts +60 -14
  71. package/tsconfig.json +1 -1
@@ -1,4 +1,4 @@
1
1
 
2
- > @livekit/agents@0.2.0 build /home/runner/work/agents-js/agents-js/agents
2
+ > @livekit/agents@0.3.1 build /home/runner/work/agents-js/agents-js/agents
3
3
  > tsc
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @livekit/agents
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - standardize logging - [#78](https://github.com/livekit/agents-js/pull/78) ([@nbsp](https://github.com/nbsp))
8
+
9
+ - audit uses of ! - [#77](https://github.com/livekit/agents-js/pull/77) ([@nbsp](https://github.com/nbsp))
10
+
11
+ - Fix the done property on Future - [#83](https://github.com/livekit/agents-js/pull/83) ([@bcherry](https://github.com/bcherry))
12
+
13
+ - make sure rejects return errors, not string - [#84](https://github.com/livekit/agents-js/pull/84) ([@nbsp](https://github.com/nbsp))
14
+
15
+ - multimodal: reject on start if already started - [#82](https://github.com/livekit/agents-js/pull/82) ([@nbsp](https://github.com/nbsp))
16
+
17
+ ## 0.3.0
18
+
19
+ ### Minor Changes
20
+
21
+ - Rename to MultimodalAgent, move to main package - [#74](https://github.com/livekit/agents-js/pull/74) ([@bcherry](https://github.com/bcherry))
22
+
23
+ - add waitForParticipant - [#73](https://github.com/livekit/agents-js/pull/73) ([@nbsp](https://github.com/nbsp))
24
+
25
+ - omniassistant overhaul - [#65](https://github.com/livekit/agents-js/pull/65) ([@nbsp](https://github.com/nbsp))
26
+
27
+ ### Patch Changes
28
+
29
+ - update rtc-node to 0.9.0 - [#73](https://github.com/livekit/agents-js/pull/73) ([@nbsp](https://github.com/nbsp))
30
+
31
+ - improve dev mode default parameters - [#70](https://github.com/livekit/agents-js/pull/70) ([@nbsp](https://github.com/nbsp))
32
+
33
+ - throw friendly error on --participant-identity err - [#61](https://github.com/livekit/agents-js/pull/61) ([@nbsp](https://github.com/nbsp))
34
+
35
+ - shut everything down correctly - [#62](https://github.com/livekit/agents-js/pull/62) ([@nbsp](https://github.com/nbsp))
36
+
37
+ - Maximize self-import compatibility - [#69](https://github.com/livekit/agents-js/pull/69) ([@bcherry](https://github.com/bcherry))
38
+
39
+ - automatically no-op on CLI if executor is job_main - [#64](https://github.com/livekit/agents-js/pull/64) ([@nbsp](https://github.com/nbsp))
40
+
41
+ - Allow passing required params in WorkerOptions - [#68](https://github.com/livekit/agents-js/pull/68) ([@bcherry](https://github.com/bcherry))
42
+
3
43
  ## 0.2.0
4
44
 
5
45
  ### Minor Changes
package/dist/audio.d.ts CHANGED
@@ -1,10 +1,7 @@
1
1
  import { AudioFrame } from '@livekit/rtc-node';
2
2
  /** AudioByteStream translates between LiveKit AudioFrame packets and raw byte data. */
3
3
  export declare class AudioByteStream {
4
- private sampleRate;
5
- private numChannels;
6
- private bytesPerFrame;
7
- private buf;
4
+ #private;
8
5
  constructor(sampleRate: number, numChannels: number, samplesPerChannel?: number | null);
9
6
  write(data: ArrayBuffer): AudioFrame[];
10
7
  flush(): AudioFrame[];
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,uFAAuF;AACvF,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,GAAG,CAAY;gBAEX,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAE,MAAM,GAAG,IAAW;IAY5F,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,EAAE;IAqBtC,KAAK,IAAI,UAAU,EAAE;CAetB"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,uFAAuF;AACvF,qBAAa,eAAe;;gBAOd,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAE,MAAM,GAAG,IAAW;IAY5F,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,EAAE;IAqBtC,KAAK,IAAI,UAAU,EAAE;CAetB"}
package/dist/audio.js CHANGED
@@ -1,3 +1,15 @@
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 _AudioByteStream_sampleRate, _AudioByteStream_numChannels, _AudioByteStream_bytesPerFrame, _AudioByteStream_buf, _AudioByteStream_logger;
1
13
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
14
  //
3
15
  // SPDX-License-Identifier: Apache-2.0
@@ -6,32 +18,38 @@ import { log } from './log.js';
6
18
  /** AudioByteStream translates between LiveKit AudioFrame packets and raw byte data. */
7
19
  export class AudioByteStream {
8
20
  constructor(sampleRate, numChannels, samplesPerChannel = null) {
9
- this.sampleRate = sampleRate;
10
- this.numChannels = numChannels;
21
+ _AudioByteStream_sampleRate.set(this, void 0);
22
+ _AudioByteStream_numChannels.set(this, void 0);
23
+ _AudioByteStream_bytesPerFrame.set(this, void 0);
24
+ _AudioByteStream_buf.set(this, void 0);
25
+ _AudioByteStream_logger.set(this, log());
26
+ __classPrivateFieldSet(this, _AudioByteStream_sampleRate, sampleRate, "f");
27
+ __classPrivateFieldSet(this, _AudioByteStream_numChannels, numChannels, "f");
11
28
  if (samplesPerChannel === null) {
12
29
  samplesPerChannel = Math.floor(sampleRate / 50); // 20ms by default
13
30
  }
14
- this.bytesPerFrame = numChannels * samplesPerChannel * 2; // 2 bytes per sample (Int16)
15
- this.buf = new Int8Array();
31
+ __classPrivateFieldSet(this, _AudioByteStream_bytesPerFrame, numChannels * samplesPerChannel * 2, "f"); // 2 bytes per sample (Int16)
32
+ __classPrivateFieldSet(this, _AudioByteStream_buf, new Int8Array(), "f");
16
33
  }
17
34
  write(data) {
18
- this.buf = new Int8Array([...this.buf, ...new Int8Array(data)]);
35
+ __classPrivateFieldSet(this, _AudioByteStream_buf, new Int8Array([...__classPrivateFieldGet(this, _AudioByteStream_buf, "f"), ...new Int8Array(data)]), "f");
19
36
  const frames = [];
20
- while (this.buf.length >= this.bytesPerFrame) {
21
- const frameData = this.buf.slice(0, this.bytesPerFrame);
22
- this.buf = this.buf.slice(this.bytesPerFrame);
23
- frames.push(new AudioFrame(new Int16Array(frameData.buffer), this.sampleRate, this.numChannels, frameData.length / 2));
37
+ while (__classPrivateFieldGet(this, _AudioByteStream_buf, "f").length >= __classPrivateFieldGet(this, _AudioByteStream_bytesPerFrame, "f")) {
38
+ const frameData = __classPrivateFieldGet(this, _AudioByteStream_buf, "f").slice(0, __classPrivateFieldGet(this, _AudioByteStream_bytesPerFrame, "f"));
39
+ __classPrivateFieldSet(this, _AudioByteStream_buf, __classPrivateFieldGet(this, _AudioByteStream_buf, "f").slice(__classPrivateFieldGet(this, _AudioByteStream_bytesPerFrame, "f")), "f");
40
+ frames.push(new AudioFrame(new Int16Array(frameData.buffer), __classPrivateFieldGet(this, _AudioByteStream_sampleRate, "f"), __classPrivateFieldGet(this, _AudioByteStream_numChannels, "f"), frameData.length / 2));
24
41
  }
25
42
  return frames;
26
43
  }
27
44
  flush() {
28
- if (this.buf.length % (2 * this.numChannels) !== 0) {
29
- log().warn('AudioByteStream: incomplete frame during flush, dropping');
45
+ if (__classPrivateFieldGet(this, _AudioByteStream_buf, "f").length % (2 * __classPrivateFieldGet(this, _AudioByteStream_numChannels, "f")) !== 0) {
46
+ __classPrivateFieldGet(this, _AudioByteStream_logger, "f").warn('AudioByteStream: incomplete frame during flush, dropping');
30
47
  return [];
31
48
  }
32
49
  return [
33
- new AudioFrame(new Int16Array(this.buf.buffer), this.sampleRate, this.numChannels, this.buf.length / 2),
50
+ new AudioFrame(new Int16Array(__classPrivateFieldGet(this, _AudioByteStream_buf, "f").buffer), __classPrivateFieldGet(this, _AudioByteStream_sampleRate, "f"), __classPrivateFieldGet(this, _AudioByteStream_numChannels, "f"), __classPrivateFieldGet(this, _AudioByteStream_buf, "f").length / 2),
34
51
  ];
35
52
  }
36
53
  }
54
+ _AudioByteStream_sampleRate = new WeakMap(), _AudioByteStream_numChannels = new WeakMap(), _AudioByteStream_bytesPerFrame = new WeakMap(), _AudioByteStream_buf = new WeakMap(), _AudioByteStream_logger = new WeakMap();
37
55
  //# sourceMappingURL=audio.js.map
package/dist/audio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,uFAAuF;AACvF,MAAM,OAAO,eAAe;IAM1B,YAAY,UAAkB,EAAE,WAAmB,EAAE,oBAAmC,IAAI;QAC1F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACrE,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,WAAW,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,6BAA6B;QACvF,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAiB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE9C,MAAM,CAAC,IAAI,CACT,IAAI,UAAU,CACZ,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAChC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,SAAS,CAAC,MAAM,GAAG,CAAC,CACrB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,GAAG,EAAE,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL,IAAI,UAAU,CACZ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAC/B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CACpB;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,uFAAuF;AACvF,MAAM,OAAO,eAAe;IAO1B,YAAY,UAAkB,EAAE,WAAmB,EAAE,oBAAmC,IAAI;QAN5F,8CAAoB;QACpB,+CAAqB;QACrB,iDAAuB;QACvB,uCAAgB;QAChB,kCAAU,GAAG,EAAE,EAAC;QAGd,uBAAA,IAAI,+BAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,gCAAgB,WAAW,MAAA,CAAC;QAEhC,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACrE,CAAC;QAED,uBAAA,IAAI,kCAAkB,WAAW,GAAG,iBAAiB,GAAG,CAAC,MAAA,CAAC,CAAC,6BAA6B;QACxF,uBAAA,IAAI,wBAAQ,IAAI,SAAS,EAAE,MAAA,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAiB;QACrB,uBAAA,IAAI,wBAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,uBAAA,IAAI,4BAAK,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAA,CAAC;QAElE,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,OAAO,uBAAA,IAAI,4BAAK,CAAC,MAAM,IAAI,uBAAA,IAAI,sCAAe,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,uBAAA,IAAI,4BAAK,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAA,IAAI,sCAAe,CAAC,CAAC;YAC1D,uBAAA,IAAI,wBAAQ,uBAAA,IAAI,4BAAK,CAAC,KAAK,CAAC,uBAAA,IAAI,sCAAe,CAAC,MAAA,CAAC;YAEjD,MAAM,CAAC,IAAI,CACT,IAAI,UAAU,CACZ,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAChC,uBAAA,IAAI,mCAAY,EAChB,uBAAA,IAAI,oCAAa,EACjB,SAAS,CAAC,MAAM,GAAG,CAAC,CACrB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,uBAAA,IAAI,4BAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,uBAAA,IAAI,oCAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,uBAAA,IAAI,+BAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL,IAAI,UAAU,CACZ,IAAI,UAAU,CAAC,uBAAA,IAAI,4BAAK,CAAC,MAAM,CAAC,EAChC,uBAAA,IAAI,mCAAY,EAChB,uBAAA,IAAI,oCAAa,EACjB,uBAAA,IAAI,4BAAK,CAAC,MAAM,GAAG,CAAC,CACrB;SACF,CAAC;IACJ,CAAC;CACF"}
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type WorkerOptions } from './worker.js';
1
+ import { WorkerOptions } from './worker.js';
2
2
  /**
3
3
  * Exposes a CLI for creating a new worker, in development or production mode.
4
4
  *
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AA4CzD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,SAAU,aAAa,SAgFzC,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,aAAa,EAAE,MAAM,aAAa,CAAC;AAgDpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,SAAU,aAAa,SAqGzC,CAAC"}
package/dist/cli.js CHANGED
@@ -1,37 +1,51 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
13
  //
3
14
  // SPDX-License-Identifier: Apache-2.0
4
15
  import { Command, Option } from 'commander';
5
16
  import { initializeLogger, log } from './log.js';
6
17
  import { version } from './version.js';
7
- import { Worker } from './worker.js';
18
+ import { Worker, WorkerOptions } from './worker.js';
8
19
  const runWorker = async (args) => {
9
20
  initializeLogger({ pretty: !args.production, level: args.opts.logLevel });
10
- const worker = new Worker(args.opts);
21
+ const logger = log();
22
+ // though `production` is defined in WorkerOptions, it will always be overriddden by CLI.
23
+ const _a = args.opts, { production: _ } = _a, opts = __rest(_a, ["production"]); // eslint-disable-line @typescript-eslint/no-unused-vars
24
+ const worker = new Worker(new WorkerOptions(Object.assign({ production: args.production }, opts)));
11
25
  if (args.room) {
12
26
  worker.event.once('worker_registered', () => {
13
- log().info(`connecting to room ${args.room}`);
27
+ logger.info(`connecting to room ${args.room}`);
14
28
  worker.simulateJob(args.room, args.participantIdentity);
15
29
  });
16
30
  }
17
31
  process.once('SIGINT', async () => {
18
32
  // allow C-c C-c for force interrupt
19
33
  process.once('SIGINT', () => {
20
- log().info('worker closed forcefully');
34
+ logger.info('worker closed forcefully');
21
35
  process.exit(130); // SIGINT exit code
22
36
  });
23
37
  if (args.production) {
24
38
  await worker.drain();
25
39
  }
26
40
  await worker.close();
27
- log().info('worker closed');
41
+ logger.info('worker closed');
28
42
  process.exit(130); // SIGINT exit code
29
43
  });
30
44
  try {
31
45
  await worker.run();
32
46
  }
33
- catch (_a) {
34
- log().fatal('worker failed');
47
+ catch (_b) {
48
+ logger.fatal('worker failed');
35
49
  process.exit(1);
36
50
  }
37
51
  };
@@ -55,15 +69,17 @@ export const runApp = (opts) => {
55
69
  .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
56
70
  .default('info')
57
71
  .env('LOG_LEVEL'))
58
- .addOption(new Option('--url <string>', 'LiveKit server or Cloud project websocket URL')
59
- .makeOptionMandatory(true)
60
- .env('LIVEKIT_URL'))
61
- .addOption(new Option('--api-key <string>', "LiveKit server or Cloud project's API key")
62
- .makeOptionMandatory(true)
63
- .env('LIVEKIT_API_KEY'))
64
- .addOption(new Option('--api-secret <string>', "LiveKit server or Cloud project's API secret")
65
- .makeOptionMandatory(true)
66
- .env('LIVEKIT_API_SECRET'));
72
+ .addOption(new Option('--url <string>', 'LiveKit server or Cloud project websocket URL').env('LIVEKIT_URL'))
73
+ .addOption(new Option('--api-key <string>', "LiveKit server or Cloud project's API key").env('LIVEKIT_API_KEY'))
74
+ .addOption(new Option('--api-secret <string>', "LiveKit server or Cloud project's API secret").env('LIVEKIT_API_SECRET'))
75
+ .action(() => {
76
+ if (
77
+ // do not run CLI if origin file is agents/ipc/job_main.js
78
+ process.argv[1] !== new URL('ipc/job_main.js', import.meta.url).pathname ||
79
+ process.argv.length < 3) {
80
+ program.help();
81
+ }
82
+ });
67
83
  program
68
84
  .command('start')
69
85
  .description('Start the worker in production mode')
@@ -82,6 +98,10 @@ export const runApp = (opts) => {
82
98
  program
83
99
  .command('dev')
84
100
  .description('Start the worker in development mode')
101
+ .addOption(new Option('--log-level <level>', 'Set the logging level')
102
+ .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
103
+ .default('debug')
104
+ .env('LOG_LEVEL'))
85
105
  .action(() => {
86
106
  const options = program.optsWithGlobals();
87
107
  opts.wsURL = options.url || opts.wsURL;
@@ -98,7 +118,11 @@ export const runApp = (opts) => {
98
118
  .command('connect')
99
119
  .description('Connect to a specific room')
100
120
  .requiredOption('--room <string>', 'Room name to connect to')
101
- .option('--participant-identity <string>', 'Participant identitiy to connect as')
121
+ .option('--participant-identity <string>', 'Identity of user to listen to')
122
+ .addOption(new Option('--log-level <level>', 'Set the logging level')
123
+ .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
124
+ .default('debug')
125
+ .env('LOG_LEVEL'))
102
126
  .action((...[, command]) => {
103
127
  const options = command.optsWithGlobals();
104
128
  opts.wsURL = options.url || opts.wsURL;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@ export interface Agent {
4
4
  entry: (ctx: JobContext) => Promise<void>;
5
5
  prewarm?: (proc: JobProcess) => unknown;
6
6
  }
7
+ /** Helper to check if an object is an agent before running it.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function isAgent(obj: unknown): obj is Agent;
7
12
  /**
8
13
  * Helper to define an agent according to the required interface.
9
14
  * @example A basic agent with entry and prewarm functions
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD,+BAA+B;AAC/B,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE/C"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD,+BAA+B;AAC/B,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,CAQlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE/C"}
package/dist/generator.js CHANGED
@@ -1,3 +1,14 @@
1
+ /** Helper to check if an object is an agent before running it.
2
+ *
3
+ * @internal
4
+ */
5
+ export function isAgent(obj) {
6
+ return (typeof obj === 'object' &&
7
+ obj !== null &&
8
+ 'entry' in obj &&
9
+ typeof obj.entry === 'function' &&
10
+ (('prewarm' in obj && typeof obj.prewarm === 'function') || !('prewarm' in obj)));
11
+ }
1
12
  /**
2
13
  * Helper to define an agent according to the required interface.
3
14
  * @example A basic agent with entry and prewarm functions
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAY;IAClC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,OAAO,IAAI,GAAG;QACd,OAAQ,GAAa,CAAC,KAAK,KAAK,UAAU;QAC1C,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,OAAQ,GAAa,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { type Server } from 'http';
3
3
  export declare class HTTPServer {
4
+ #private;
4
5
  host: string;
5
6
  port: number;
6
7
  app: Server;
@@ -1 +1 @@
1
- {"version":3,"file":"http_server.d.ts","sourceRoot":"","sources":["../src/http_server.ts"],"names":[],"mappings":";AAGA,OAAO,EAAwB,KAAK,MAAM,EAAqC,MAAM,MAAM,CAAC;AAO5F,qBAAa,UAAU;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAchC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IASpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
1
+ {"version":3,"file":"http_server.d.ts","sourceRoot":"","sources":["../src/http_server.ts"],"names":[],"mappings":";AAGA,OAAO,EAAwB,KAAK,MAAM,EAAqC,MAAM,MAAM,CAAC;AAQ5F,qBAAa,UAAU;;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;gBAGA,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAchC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAapB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
@@ -1,13 +1,21 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ 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");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _HTTPServer_logger;
1
7
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
8
  //
3
9
  // SPDX-License-Identifier: Apache-2.0
4
10
  import { createServer } from 'http';
11
+ import { log } from './log.js';
5
12
  const healthCheck = async (res) => {
6
13
  res.writeHead(200);
7
14
  res.end('OK');
8
15
  };
9
16
  export class HTTPServer {
10
17
  constructor(host, port) {
18
+ _HTTPServer_logger.set(this, log());
11
19
  this.host = host;
12
20
  this.port = port;
13
21
  this.app = createServer((req, res) => {
@@ -25,6 +33,10 @@ export class HTTPServer {
25
33
  this.app.listen(this.port, this.host, (err) => {
26
34
  if (err)
27
35
  reject(err);
36
+ const address = this.app.address();
37
+ if (typeof address !== 'string') {
38
+ __classPrivateFieldGet(this, _HTTPServer_logger, "f").info(`Server is listening on port ${address.port}`);
39
+ }
28
40
  resolve();
29
41
  });
30
42
  });
@@ -39,4 +51,5 @@ export class HTTPServer {
39
51
  });
40
52
  }
41
53
  }
54
+ _HTTPServer_logger = new WeakMap();
42
55
  //# sourceMappingURL=http_server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http_server.js","sourceRoot":"","sources":["../src/http_server.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAA0D,YAAY,EAAE,MAAM,MAAM,CAAC;AAE5F,MAAM,WAAW,GAAG,KAAK,EAAE,GAAmB,EAAE,EAAE;IAChD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,OAAO,UAAU;IAKrB,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACpE,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;gBACpD,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC7B,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"http_server.js","sourceRoot":"","sources":["../src/http_server.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAA0D,YAAY,EAAE,MAAM,MAAM,CAAC;AAC5F,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,WAAW,GAAG,KAAK,EAAE,GAAmB,EAAE,EAAE;IAChD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,OAAO,UAAU;IAMrB,YAAY,IAAY,EAAE,IAAY;QAFtC,6BAAU,GAAG,EAAE,EAAC;QAGd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACpE,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;gBACpD,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,OAAO,OAAQ,KAAK,QAAQ,EAAE,CAAC;oBACjC,uBAAA,IAAI,0BAAQ,CAAC,IAAI,CAAC,+BAA+B,OAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC7B,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import * as cli from './cli.js';
9
9
  import * as llm from './llm/index.js';
10
+ import * as multimodal from './multimodal/index.js';
10
11
  import * as stt from './stt/index.js';
11
12
  import * as tts from './tts/index.js';
12
13
  export * from './vad.js';
@@ -19,5 +20,6 @@ export * from './log.js';
19
20
  export * from './generator.js';
20
21
  export * from './tokenize.js';
21
22
  export * from './audio.js';
22
- export { cli, stt, tts, llm };
23
+ export * from './transcription.js';
24
+ export { cli, stt, tts, llm, multimodal };
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAEtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAEtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import * as cli from './cli.js';
12
12
  import * as llm from './llm/index.js';
13
+ import * as multimodal from './multimodal/index.js';
13
14
  import * as stt from './stt/index.js';
14
15
  import * as tts from './tts/index.js';
15
16
  export * from './vad.js';
@@ -22,5 +23,6 @@ export * from './log.js';
22
23
  export * from './generator.js';
23
24
  export * from './tokenize.js';
24
25
  export * from './audio.js';
25
- export { cli, stt, tts, llm };
26
+ export * from './transcription.js';
27
+ export { cli, stt, tts, llm, multimodal };
26
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AAEtC;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAEtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AAEtC;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAEtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC"}
@@ -5,6 +5,7 @@ import { Room, RoomEvent } from '@livekit/rtc-node';
5
5
  import { fork } from 'child_process';
6
6
  import { EventEmitter, once } from 'events';
7
7
  import { fileURLToPath } from 'url';
8
+ import { isAgent } from '../generator.js';
8
9
  import { JobContext } from '../job.js';
9
10
  import { JobProcess } from '../job.js';
10
11
  import { initializeLogger, log } from '../log.js';
@@ -56,7 +57,14 @@ if (process.send) {
56
57
  // [0] `node'
57
58
  // [1] import.meta.filename
58
59
  // [2] import.meta.filename of function containing entry file
59
- const agent = await import(process.argv[2]).then((agent) => agent.default);
60
+ const moduleFile = process.argv[2];
61
+ const agent = await import(moduleFile).then((module) => {
62
+ const agent = module.default;
63
+ if (agent === undefined || !isAgent(agent)) {
64
+ throw new Error(`Unable to load agent: Missing or invalid default export in ${moduleFile}`);
65
+ }
66
+ return agent;
67
+ });
60
68
  if (!agent.prewarm) {
61
69
  agent.prewarm = defaultInitializeProcessFunc;
62
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job_main.js","sourceRoot":"","sources":["../../src/ipc/job_main.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAG5D,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAYnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAe,EAAgB,EAAE;IAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CACf,IAAgB,EAChB,IAAwC,EACxC,IAAoB,EACpB,UAAwB,EACxB,MAAc,EACL,EAAE;IACX,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE;QACnC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE;QACpC,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAEpE,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,KAAK,IAAI,EAAE;QACxC,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,gEAAgE,EAChE,uCAAuC,CACxC,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAE1D,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAEhG,OAAO,CAAC,IAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,gBAAgB;IAChB,eAAe;IACf,6BAA6B;IAC7B,+DAA+D;IAC/D,MAAM,KAAK,GAAU,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,GAAG,4BAA4B,CAAC;IAC/C,CAAC;IAED,2BAA2B;IAC3B,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE/B,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAe,EAAE,EAAE;QAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAE7C,IAAI,GAAG,GAAwB,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IAEtC,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAErB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAe,EAAE,EAAE;QACxC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAK,CAAC;oBACZ,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;iBACrE,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9C,CAAC;gBAED,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE9D,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM;gBACR,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"job_main.js","sourceRoot":"","sources":["../../src/ipc/job_main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proc_pool.d.ts","sourceRoot":"","sources":["../../src/ipc/proc_pool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,QAAQ;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,EAAE,CAAM;IAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IAC5B,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,UAAU,kBAAyB;IACnC,SAAS,QAAe;IACxB,SAAS,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,qBAA4B;gBAGzC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,MAAM;IAQtB,IAAI,SAAS,IAAI,WAAW,EAAE,CAE7B;IAED,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,EAAE,cAAc;IAS9B,aAAa;IA6BnB,KAAK;IASC,GAAG,CAAC,MAAM,EAAE,WAAW;IASvB,KAAK;CASZ"}
1
+ {"version":3,"file":"proc_pool.d.ts","sourceRoot":"","sources":["../../src/ipc/proc_pool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,QAAQ;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,EAAE,CAAM;IAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IAC5B,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,UAAU,kBAAyB;IACnC,SAAS,QAAe;IACxB,SAAS,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,qBAA4B;gBAGzC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,MAAM;IAQtB,IAAI,SAAS,IAAI,WAAW,EAAE,CAE7B;IAED,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIpC,SAAS,CAAC,IAAI,EAAE,cAAc;IAS9B,aAAa;IA6BnB,KAAK;IASC,GAAG,CAAC,MAAM,EAAE,WAAW;IASvB,KAAK;CAUZ"}
@@ -75,6 +75,7 @@ export class ProcPool {
75
75
  }
76
76
  this.closed = true;
77
77
  this.controller.abort();
78
+ this.warmedProcQueue.items.forEach((e) => e.close());
78
79
  this.executors.forEach((e) => e.close());
79
80
  await Promise.allSettled(this.tasks);
80
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proc_pool.js","sourceRoot":"","sources":["../../src/ipc/proc_pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc_pool.js","sourceRoot":"","sources":["../../src/ipc/proc_pool.ts"],"names":[],"mappings":"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"}
package/dist/job.d.ts CHANGED
@@ -36,6 +36,7 @@ export declare class JobContext {
36
36
  get agent(): LocalParticipant | undefined;
37
37
  /** Adds a promise to be awaited when {@link JobContext.shutdown | shutdown} is called. */
38
38
  addShutdownCallback(callback: () => Promise<void>): void;
39
+ waitForParticipant(identity?: string): Promise<RemoteParticipant>;
39
40
  /**
40
41
  * Connects the agent to the room.
41
42
  *
package/dist/job.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
package/dist/job.js CHANGED
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _JobContext_proc, _JobContext_info, _JobContext_room, _JobContext_onConnect, _JobContext_onShutdown, _JobContext_participantEntrypoints, _JobContext_participantTasks, _JobContext_logger, _JobProcess_pid, _JobProcess_userData, _JobRequest_job, _JobRequest_onReject, _JobRequest_onAccept;
13
- import { RoomEvent, TrackKind } from '@livekit/rtc-node';
13
+ import { ParticipantKind, RoomEvent, TrackKind } from '@livekit/rtc-node';
14
14
  import { log } from './log.js';
15
15
  /** Which tracks, if any, should the agent automatically subscribe to? */
16
16
  export var AutoSubscribe;
@@ -67,6 +67,35 @@ export class JobContext {
67
67
  addShutdownCallback(callback) {
68
68
  this.shutdownCallbacks.push(callback);
69
69
  }
70
+ async waitForParticipant(identity) {
71
+ if (!__classPrivateFieldGet(this, _JobContext_room, "f").isConnected) {
72
+ throw new Error('room is not connected');
73
+ }
74
+ for (const p of __classPrivateFieldGet(this, _JobContext_room, "f").remoteParticipants.values()) {
75
+ if ((!identity || p.identity === identity) && p.info.kind != ParticipantKind.AGENT) {
76
+ return p;
77
+ }
78
+ }
79
+ return new Promise((resolve, reject) => {
80
+ const onParticipantConnected = (participant) => {
81
+ if ((!identity || participant.identity === identity) &&
82
+ participant.info.kind != ParticipantKind.AGENT) {
83
+ clearHandlers();
84
+ resolve(participant);
85
+ }
86
+ };
87
+ const onDisconnected = () => {
88
+ clearHandlers();
89
+ reject(new Error('Room disconnected while waiting for participant'));
90
+ };
91
+ const clearHandlers = () => {
92
+ __classPrivateFieldGet(this, _JobContext_room, "f").off(RoomEvent.ParticipantConnected, onParticipantConnected);
93
+ __classPrivateFieldGet(this, _JobContext_room, "f").off(RoomEvent.Disconnected, onDisconnected);
94
+ };
95
+ __classPrivateFieldGet(this, _JobContext_room, "f").on(RoomEvent.ParticipantConnected, onParticipantConnected);
96
+ __classPrivateFieldGet(this, _JobContext_room, "f").on(RoomEvent.Disconnected, onDisconnected);
97
+ });
98
+ }
70
99
  /**
71
100
  * Connects the agent to the room.
72
101
  *