@livekit/agents 0.3.0 → 0.3.2

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 (44) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/dist/audio.d.ts.map +1 -1
  4. package/dist/audio.js +4 -3
  5. package/dist/audio.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +5 -4
  8. package/dist/cli.js.map +1 -1
  9. package/dist/http_server.d.ts +1 -0
  10. package/dist/http_server.d.ts.map +1 -1
  11. package/dist/http_server.js +9 -1
  12. package/dist/http_server.js.map +1 -1
  13. package/dist/job.d.ts +2 -2
  14. package/dist/job.d.ts.map +1 -1
  15. package/dist/job.js +21 -11
  16. package/dist/job.js.map +1 -1
  17. package/dist/multimodal/agent_playout.d.ts +1 -1
  18. package/dist/multimodal/agent_playout.d.ts.map +1 -1
  19. package/dist/multimodal/agent_playout.js +11 -6
  20. package/dist/multimodal/agent_playout.js.map +1 -1
  21. package/dist/multimodal/multimodal_agent.d.ts +2 -2
  22. package/dist/multimodal/multimodal_agent.d.ts.map +1 -1
  23. package/dist/multimodal/multimodal_agent.js +15 -13
  24. package/dist/multimodal/multimodal_agent.js.map +1 -1
  25. package/dist/transcription.d.ts.map +1 -1
  26. package/dist/transcription.js +4 -3
  27. package/dist/transcription.js.map +1 -1
  28. package/dist/utils.d.ts +2 -1
  29. package/dist/utils.d.ts.map +1 -1
  30. package/dist/utils.js +12 -8
  31. package/dist/utils.js.map +1 -1
  32. package/dist/worker.d.ts.map +1 -1
  33. package/dist/worker.js +5 -1
  34. package/dist/worker.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/audio.ts +2 -1
  37. package/src/cli.ts +5 -4
  38. package/src/http_server.ts +2 -1
  39. package/src/job.ts +23 -11
  40. package/src/multimodal/agent_playout.ts +14 -6
  41. package/src/multimodal/multimodal_agent.ts +23 -25
  42. package/src/transcription.ts +2 -1
  43. package/src/utils.ts +13 -6
  44. package/src/worker.ts +6 -4
@@ -25,6 +25,7 @@ export class BasicTranscriptionForwarder implements TranscriptionForwarder {
25
25
  #charsPerSecond: number = this.#DEFAULT_CHARS_PER_SECOND;
26
26
  #messageId: string;
27
27
  #isRunning: boolean = false;
28
+ #logger = log();
28
29
  currentCharacterIndex: number = 0;
29
30
 
30
31
  constructor(room: Room, participantIdentity: string, trackSid: string, messageId: string) {
@@ -38,7 +39,7 @@ export class BasicTranscriptionForwarder implements TranscriptionForwarder {
38
39
  if (!this.#isRunning) {
39
40
  this.#isRunning = true;
40
41
  this.#startPublishingLoop().catch((error) => {
41
- log().error('Error in publishing loop:', error);
42
+ this.#logger.error('Error in publishing loop:', error);
42
43
  this.#isRunning = false;
43
44
  });
44
45
  }
package/src/utils.ts CHANGED
@@ -145,12 +145,18 @@ export class Queue<T> {
145
145
 
146
146
  /** @internal */
147
147
  export class Future {
148
- #await = new Promise<void>((resolve, reject: (_: Error) => void) => {
149
- this.resolve = resolve;
150
- this.reject = reject;
151
- });
148
+ #await: Promise<void>;
149
+ #resolvePromise!: () => void;
150
+ #rejectPromise!: (error: Error) => void;
152
151
  #done: boolean = false;
153
152
 
153
+ constructor() {
154
+ this.#await = new Promise<void>((resolve, reject) => {
155
+ this.#resolvePromise = resolve;
156
+ this.#rejectPromise = reject;
157
+ });
158
+ }
159
+
154
160
  get await() {
155
161
  return this.#await;
156
162
  }
@@ -161,11 +167,12 @@ export class Future {
161
167
 
162
168
  resolve() {
163
169
  this.#done = true;
170
+ this.#resolvePromise();
164
171
  }
165
172
 
166
- reject(_: Error) {
173
+ reject(error: Error) {
167
174
  this.#done = true;
168
- _;
175
+ this.#rejectPromise(error);
169
176
  }
170
177
  }
171
178
 
package/src/worker.ts CHANGED
@@ -323,7 +323,7 @@ export class Worker {
323
323
  await new Promise((resolve, reject) => {
324
324
  this.#session!.on('open', resolve);
325
325
  this.#session!.on('error', (error) => reject(error));
326
- this.#session!.on('close', (code) => reject(`WebSocket returned ${code}`));
326
+ this.#session!.on('close', (code) => reject(new Error(`WebSocket returned ${code}`)));
327
327
  });
328
328
 
329
329
  retries = 0;
@@ -420,7 +420,7 @@ export class Worker {
420
420
  }
421
421
  }
422
422
 
423
- this.event!.emit(
423
+ this.event.emit(
424
424
  'worker_msg',
425
425
  new WorkerMessage({
426
426
  message: {
@@ -477,19 +477,21 @@ export class Worker {
477
477
  this.event.emit(
478
478
  'worker_registered',
479
479
  msg.message.value.workerId,
480
- msg.message.value.serverInfo!,
480
+ msg.message.value.serverInfo,
481
481
  );
482
482
  this.#connecting = false;
483
483
  break;
484
484
  }
485
485
  case 'availability': {
486
+ if (!msg.message.value.job) return;
486
487
  const task = this.#availability(msg.message.value);
487
488
  this.#tasks.push(task);
488
489
  task.finally(() => this.#tasks.splice(this.#tasks.indexOf(task)));
489
490
  break;
490
491
  }
491
492
  case 'assignment': {
492
- const job = msg.message.value.job!;
493
+ if (!msg.message.value.job) return;
494
+ const job = msg.message.value.job;
493
495
  if (job.id in this.#pending) {
494
496
  const task = this.#pending[job.id];
495
497
  delete this.#pending[job.id];