@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 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "name": "@livekit/agents",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "LiveKit Node Agents",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "author": "aoife cassidy <aoife@cassidy.sh>",
7
+ "author": "aoife cassidy <aoife@livekit.io>",
8
8
  "type": "module",
9
9
  "devDependencies": {
10
10
  "@microsoft/api-extractor": "^7.35.0",
11
- "@types/ws": "^8.5.10"
12
- },
13
- "peerDependencies": {
11
+ "@types/node": "^22.5.5",
12
+ "@types/ws": "^8.5.10",
14
13
  "typescript": "^5.0.0"
15
14
  },
16
15
  "dependencies": {
17
- "@livekit/rtc-node": "^0.1.0",
18
- "@livekit/protocol": "^1.13.0",
16
+ "@livekit/protocol": "^1.21.0",
17
+ "@livekit/rtc-node": "^0.8.1",
19
18
  "commander": "^12.0.0",
20
- "livekit-server-sdk": "^2.1.2",
19
+ "livekit-server-sdk": "^2.6.1",
21
20
  "pino": "^8.19.0",
22
21
  "pino-pretty": "^11.0.0",
23
- "ws": "^8.16.0"
22
+ "ws": "^8.16.0",
23
+ "zod": "^3.23.8"
24
24
  },
25
25
  "scripts": {
26
26
  "build": "tsc",
package/src/audio.ts ADDED
@@ -0,0 +1,62 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import { AudioFrame } from '@livekit/rtc-node';
5
+ import { log } from './log.js';
6
+
7
+ /** AudioByteStream translates between LiveKit AudioFrame packets and raw byte data. */
8
+ export class AudioByteStream {
9
+ private sampleRate: number;
10
+ private numChannels: number;
11
+ private bytesPerFrame: number;
12
+ private buf: Int8Array;
13
+
14
+ constructor(sampleRate: number, numChannels: number, samplesPerChannel: number | null = null) {
15
+ this.sampleRate = sampleRate;
16
+ this.numChannels = numChannels;
17
+
18
+ if (samplesPerChannel === null) {
19
+ samplesPerChannel = Math.floor(sampleRate / 50); // 20ms by default
20
+ }
21
+
22
+ this.bytesPerFrame = numChannels * samplesPerChannel * 2; // 2 bytes per sample (Int16)
23
+ this.buf = new Int8Array();
24
+ }
25
+
26
+ write(data: ArrayBuffer): AudioFrame[] {
27
+ this.buf = new Int8Array([...this.buf, ...new Int8Array(data)]);
28
+
29
+ const frames: AudioFrame[] = [];
30
+ while (this.buf.length >= this.bytesPerFrame) {
31
+ const frameData = this.buf.slice(0, this.bytesPerFrame);
32
+ this.buf = this.buf.slice(this.bytesPerFrame);
33
+
34
+ frames.push(
35
+ new AudioFrame(
36
+ new Int16Array(frameData.buffer),
37
+ this.sampleRate,
38
+ this.numChannels,
39
+ frameData.length / 2,
40
+ ),
41
+ );
42
+ }
43
+
44
+ return frames;
45
+ }
46
+
47
+ flush(): AudioFrame[] {
48
+ if (this.buf.length % (2 * this.numChannels) !== 0) {
49
+ log().warn('AudioByteStream: incomplete frame during flush, dropping');
50
+ return [];
51
+ }
52
+
53
+ return [
54
+ new AudioFrame(
55
+ new Int16Array(this.buf.buffer),
56
+ this.sampleRate,
57
+ this.numChannels,
58
+ this.buf.length / 2,
59
+ ),
60
+ ];
61
+ }
62
+ }
package/src/cli.ts CHANGED
@@ -3,36 +3,63 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import { Command, Option } from 'commander';
5
5
  import type { EventEmitter } from 'events';
6
- import { log } from './log.js';
6
+ import { initializeLogger, log } from './log.js';
7
7
  import { version } from './version.js';
8
8
  import { Worker, type WorkerOptions } from './worker.js';
9
9
 
10
10
  type CliArgs = {
11
11
  opts: WorkerOptions;
12
- logLevel: string;
13
12
  production: boolean;
14
13
  watch: boolean;
15
14
  event?: EventEmitter;
15
+ room?: string;
16
+ participantIdentity?: string;
16
17
  };
17
18
 
18
19
  const runWorker = async (args: CliArgs) => {
19
- log.level = args.logLevel;
20
+ initializeLogger({ pretty: !args.production, level: args.opts.logLevel });
20
21
  const worker = new Worker(args.opts);
21
22
 
22
- process.on('SIGINT', async () => {
23
+ if (args.room) {
24
+ worker.event.once('worker_registered', () => {
25
+ log().info(`connecting to room ${args.room}`);
26
+ worker.simulateJob(args.room!, args.participantIdentity);
27
+ });
28
+ }
29
+
30
+ process.once('SIGINT', async () => {
31
+ // allow C-c C-c for force interrupt
32
+ process.once('SIGINT', () => {
33
+ log().info('worker closed forcefully');
34
+ process.exit(130); // SIGINT exit code
35
+ });
36
+ if (args.production) {
37
+ await worker.drain();
38
+ }
23
39
  await worker.close();
24
- log.info('worker closed');
40
+ log().info('worker closed');
25
41
  process.exit(130); // SIGINT exit code
26
42
  });
27
43
 
28
44
  try {
29
45
  await worker.run();
30
46
  } catch {
31
- log.fatal('worker failed');
47
+ log().fatal('worker failed');
32
48
  process.exit(1);
33
49
  }
34
50
  };
35
51
 
52
+ /**
53
+ * Exposes a CLI for creating a new worker, in development or production mode.
54
+ *
55
+ * @param opts - Options to launch the worker with
56
+ * @example
57
+ * ```
58
+ * if (process.argv[1] === fileURLToPath(import.meta.url)) {
59
+ * cli.runApp(new WorkerOptions({ agent: import.meta.filename }));
60
+ * }
61
+ * ```
62
+ */
36
63
  export const runApp = (opts: WorkerOptions) => {
37
64
  const program = new Command()
38
65
  .name('agents')
@@ -41,7 +68,8 @@ export const runApp = (opts: WorkerOptions) => {
41
68
  .addOption(
42
69
  new Option('--log-level <level>', 'Set the logging level')
43
70
  .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
44
- .default('trace'),
71
+ .default('info')
72
+ .env('LOG_LEVEL'),
45
73
  )
46
74
  .addOption(
47
75
  new Option('--url <string>', 'LiveKit server or Cloud project websocket URL')
@@ -67,11 +95,47 @@ export const runApp = (opts: WorkerOptions) => {
67
95
  opts.wsURL = options.url || opts.wsURL;
68
96
  opts.apiKey = options.apiKey || opts.apiKey;
69
97
  opts.apiSecret = options.apiSecret || opts.apiSecret;
98
+ opts.logLevel = options.logLevel || opts.logLevel;
70
99
  runWorker({
71
100
  opts,
72
101
  production: true,
73
102
  watch: false,
74
- logLevel: options.logLevel,
103
+ });
104
+ });
105
+
106
+ program
107
+ .command('dev')
108
+ .description('Start the worker in development mode')
109
+ .action(() => {
110
+ const options = program.optsWithGlobals();
111
+ opts.wsURL = options.url || opts.wsURL;
112
+ opts.apiKey = options.apiKey || opts.apiKey;
113
+ opts.apiSecret = options.apiSecret || opts.apiSecret;
114
+ opts.logLevel = options.logLevel || opts.logLevel;
115
+ runWorker({
116
+ opts,
117
+ production: false,
118
+ watch: false,
119
+ });
120
+ });
121
+
122
+ program
123
+ .command('connect')
124
+ .description('Connect to a specific room')
125
+ .requiredOption('--room <string>', 'Room name to connect to')
126
+ .option('--participant-identity <string>', 'Participant identitiy to connect as')
127
+ .action((...[, command]) => {
128
+ const options = command.optsWithGlobals();
129
+ opts.wsURL = options.url || opts.wsURL;
130
+ opts.apiKey = options.apiKey || opts.apiKey;
131
+ opts.apiSecret = options.apiSecret || opts.apiSecret;
132
+ opts.logLevel = options.logLevel || opts.logLevel;
133
+ runWorker({
134
+ opts,
135
+ production: false,
136
+ watch: false,
137
+ room: options.room,
138
+ participantIdentity: options.participantIdentity,
75
139
  });
76
140
  });
77
141
 
package/src/generator.ts CHANGED
@@ -1,18 +1,24 @@
1
1
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import type { JobContext } from './job_context.js';
5
-
6
- type entryFunction = (job: JobContext) => Promise<void>;
4
+ import type { JobContext, JobProcess } from './job.js';
7
5
 
6
+ /** @see {@link defineAgent} */
8
7
  export interface Agent {
9
- entry: entryFunction;
8
+ entry: (ctx: JobContext) => Promise<void>;
9
+ prewarm?: (proc: JobProcess) => unknown;
10
10
  }
11
11
 
12
12
  /**
13
13
  * Helper to define an agent according to the required interface.
14
- * @example `export default defineAgent(myAgent);`
14
+ * @example A basic agent with entry and prewarm functions
15
+ * ```
16
+ * export default defineAgent({
17
+ * entry: async (ctx: JobContext) => { ... },
18
+ * prewarm: (proc: JobProcess) => { ... },
19
+ * })
20
+ * ```
15
21
  */
16
- export function defineAgent(entry: entryFunction): Agent {
17
- return { entry };
22
+ export function defineAgent(agent: Agent): Agent {
23
+ return agent;
18
24
  }
package/src/index.ts CHANGED
@@ -1,18 +1,28 @@
1
1
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
+
5
+ /**
6
+ * LiveKit Agents is a framework for building realtime programmable participants that run on
7
+ * servers.
8
+ *
9
+ * @see {@link https://docs.livekit.io/agents/overview | LiveKit Agents documentation}
10
+ * @packageDocumentation
11
+ */
4
12
  import * as cli from './cli.js';
13
+ import * as llm from './llm/index.js';
5
14
  import * as stt from './stt/index.js';
6
15
  import * as tts from './tts/index.js';
7
16
 
8
17
  export * from './vad.js';
9
18
  export * from './plugin.js';
10
19
  export * from './version.js';
11
- export * from './job_context.js';
12
- export * from './job_request.js';
20
+ export * from './job.js';
13
21
  export * from './worker.js';
14
22
  export * from './utils.js';
15
23
  export * from './log.js';
16
24
  export * from './generator.js';
25
+ export * from './tokenize.js';
26
+ export * from './audio.js';
17
27
 
18
- export { cli, stt, tts };
28
+ export { cli, stt, tts, llm };
@@ -0,0 +1,25 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import type { RunningJobInfo } from '../job.js';
5
+
6
+ export interface ProcOpts {
7
+ agent: string;
8
+ initializeTimeout: number;
9
+ closeTimeout: number;
10
+ }
11
+
12
+ export abstract class JobExecutor {
13
+ PING_INTERVAL = 2.5 * 1000;
14
+ PING_TIMEOUT = 90 * 1000;
15
+ HIGH_PING_THRESHOLD = 0.5 * 1000;
16
+
17
+ abstract get started(): boolean;
18
+ abstract get runningJob(): RunningJobInfo | undefined;
19
+
20
+ abstract start(): Promise<void>;
21
+ abstract join(): Promise<void>;
22
+ abstract initialize(): Promise<void>;
23
+ abstract close(): Promise<void>;
24
+ abstract launchJob(info: RunningJobInfo): Promise<void>;
25
+ }
@@ -1,83 +1,156 @@
1
1
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import { type JobAssignment, ServerMessage } from '@livekit/protocol';
5
- import { Room } from '@livekit/rtc-node';
6
- import { type ChildProcess, fork } from 'child_process';
4
+ import { Room, RoomEvent } from '@livekit/rtc-node';
5
+ import type { ChildProcess } from 'child_process';
6
+ import { fork } from 'child_process';
7
7
  import { EventEmitter, once } from 'events';
8
- import { JobContext } from '../job_context.js';
9
- import { log } from '../log.js';
10
- import { IPC_MESSAGE, type JobMainArgs, type Message, type Ping } from './protocol.js';
8
+ import type { Logger } from 'pino';
9
+ import { fileURLToPath } from 'url';
10
+ import type { Agent } from '../generator.js';
11
+ import type { RunningJobInfo } from '../job.js';
12
+ import { JobContext } from '../job.js';
13
+ import { JobProcess } from '../job.js';
14
+ import { initializeLogger, log } from '../log.js';
15
+ import { defaultInitializeProcessFunc } from '../worker.js';
16
+ import type { IPCMessage } from './message.js';
11
17
 
12
- export const runJob = (args: JobMainArgs): ChildProcess => {
13
- return fork(import.meta.filename, [args.raw, args.entry, args.fallbackURL]);
18
+ const ORPHANED_TIMEOUT = 15 * 1000;
19
+
20
+ type StartArgs = {
21
+ agentFile: string;
22
+ // userArguments: unknown;
23
+ };
24
+
25
+ type JobTask = {
26
+ ctx: JobContext;
27
+ task: Promise<void>;
28
+ };
29
+
30
+ export const runProcess = (args: StartArgs): ChildProcess => {
31
+ return fork(fileURLToPath(import.meta.url), [args.agentFile]);
32
+ };
33
+
34
+ const startJob = (
35
+ proc: JobProcess,
36
+ func: (ctx: JobContext) => Promise<void>,
37
+ info: RunningJobInfo,
38
+ closeEvent: EventEmitter,
39
+ logger: Logger,
40
+ ): JobTask => {
41
+ let connect = false;
42
+ let shutdown = false;
43
+
44
+ const room = new Room();
45
+ room.on(RoomEvent.Disconnected, () => {
46
+ closeEvent.emit('close', false);
47
+ });
48
+
49
+ const onConnect = () => {
50
+ connect = true;
51
+ };
52
+ const onShutdown = (reason: string) => {
53
+ shutdown = true;
54
+ closeEvent.emit('close', true, reason);
55
+ };
56
+
57
+ const ctx = new JobContext(proc, info, room, onConnect, onShutdown);
58
+
59
+ const task = new Promise<void>(async () => {
60
+ const unconnectedTimeout = setTimeout(() => {
61
+ if (!(connect || shutdown)) {
62
+ logger.warn(
63
+ 'room not connect after job_entry was called after 10 seconds, ',
64
+ 'did you forget to call ctx.connect()?',
65
+ );
66
+ }
67
+ }, 10000);
68
+ func(ctx).finally(() => clearTimeout(unconnectedTimeout));
69
+
70
+ await once(closeEvent, 'close').then((close) => {
71
+ logger.debug('shutting down');
72
+ process.send!({ case: 'exiting', value: { reason: close[1] } });
73
+ });
74
+
75
+ await room.disconnect();
76
+ logger.debug('disconnected from room');
77
+
78
+ const shutdownTasks = [];
79
+ for (const callback of ctx.shutdownCallbacks) {
80
+ shutdownTasks.push(callback());
81
+ }
82
+ await Promise.all(shutdownTasks).catch(() => logger.error('error while shutting down the job'));
83
+
84
+ process.send!({ case: 'done' });
85
+ process.exit();
86
+ });
87
+
88
+ return { ctx, task };
14
89
  };
15
90
 
16
91
  if (process.send) {
17
92
  // process.argv:
18
93
  // [0] `node'
19
94
  // [1] import.meta.filename
20
- // [2] proto.JobAssignment, serialized to JSON string
21
- // [3] import.meta.filename of function containing entry file
22
- // [4] fallback URL in case JobAssignment.url is empty
95
+ // [2] import.meta.filename of function containing entry file
96
+ const agent: Agent = await import(process.argv[2]).then((agent) => agent.default);
97
+ if (!agent.prewarm) {
98
+ agent.prewarm = defaultInitializeProcessFunc;
99
+ }
23
100
 
24
- const msg = new ServerMessage();
25
- msg.fromJsonString(process.argv[2]);
26
- const args = msg.message.value as JobAssignment;
101
+ // don't do anything on C-c
102
+ // this is handled in cli, triggering a termination of all child processes at once.
103
+ process.on('SIGINT', () => {});
27
104
 
28
- const room = new Room();
29
- const closeEvent = new EventEmitter();
30
- let shuttingDown = false;
31
- let closed = false;
32
-
33
- process.on('message', (msg: Message) => {
34
- if (msg.type === IPC_MESSAGE.ShutdownRequest) {
35
- shuttingDown = true;
36
- closed = true;
37
- closeEvent.emit('close');
38
- } else if (msg.type === IPC_MESSAGE.Ping) {
39
- process.send!({
40
- type: IPC_MESSAGE.Pong,
41
- lastTimestamp: (msg as Ping).timestamp,
42
- timestamp: Date.now(),
43
- });
105
+ await once(process, 'message').then(([msg]: IPCMessage[]) => {
106
+ if (msg.case !== 'initializeRequest') {
107
+ throw new Error('first message must be InitializeRequest');
44
108
  }
109
+ initializeLogger(msg.value.loggerOptions);
45
110
  });
111
+ const proc = new JobProcess();
112
+ let logger = log().child({ pid: proc.pid });
46
113
 
47
- // don't do anything on C-c
48
- process.on('SIGINT', () => {});
114
+ logger.debug('initializing job runner');
115
+ agent.prewarm(proc);
116
+ logger.debug('job runner initialized');
117
+ process.send({ case: 'initializeResponse' });
49
118
 
50
- const conn = room.connect(args.url || process.argv[4], args.token);
119
+ let job: JobTask | undefined = undefined;
120
+ const closeEvent = new EventEmitter();
51
121
 
52
- const start = () => {
53
- if (room.isConnected && !closed) {
54
- process.send!({ type: IPC_MESSAGE.StartJobResponse });
122
+ const orphanedTimeout = setTimeout(() => {
123
+ logger.warn('process orphaned, shutting down');
124
+ process.exit();
125
+ }, ORPHANED_TIMEOUT);
55
126
 
56
- // here we import the file containing the exported entry function, and call it.
57
- // the file must export default an Agent, usually using defineAgent().
58
- import(process.argv[3]).then((agent) => {
59
- agent.default.entry(new JobContext(closeEvent, args.job!, room));
60
- });
61
- }
62
- };
127
+ process.on('message', (msg: IPCMessage) => {
128
+ switch (msg.case) {
129
+ case 'pingRequest': {
130
+ orphanedTimeout.refresh();
131
+ process.send!({
132
+ case: 'pongResponse',
133
+ value: { lastTimestamp: msg.value.timestamp, timestamp: Date.now() },
134
+ });
135
+ break;
136
+ }
137
+ case 'startJobRequest': {
138
+ if (job) {
139
+ throw new Error('job task already running');
140
+ }
63
141
 
64
- new Promise(() => {
65
- conn
66
- .then(() => {
67
- if (!closed) start();
68
- })
69
- .catch((err) => {
70
- if (!closed) process.send!({ type: IPC_MESSAGE.StartJobResponse, err });
71
- });
72
- });
142
+ logger = logger.child({ jobID: msg.value.runningJob.job.id });
73
143
 
74
- await once(closeEvent, 'close');
75
- log.debug('disconnecting from room');
76
- await room.disconnect();
77
- if (shuttingDown) {
78
- process.send({ type: IPC_MESSAGE.ShutdownResponse });
79
- } else {
80
- process.send({ type: IPC_MESSAGE.UserExit });
81
- }
82
- process.exit();
144
+ job = startJob(proc, agent.entry, msg.value.runningJob, closeEvent, logger);
145
+ logger.debug('job started');
146
+ break;
147
+ }
148
+ case 'shutdownRequest': {
149
+ if (!job) {
150
+ break;
151
+ }
152
+ closeEvent.emit('close', '');
153
+ }
154
+ }
155
+ });
83
156
  }
@@ -0,0 +1,39 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import type { RunningJobInfo } from '../job.js';
5
+ import type { LoggerOptions } from '../log.js';
6
+
7
+ export type IPCMessage =
8
+ | {
9
+ case: 'initializeRequest';
10
+ value: { loggerOptions: LoggerOptions };
11
+ }
12
+ | {
13
+ case: 'initializeResponse';
14
+ value: undefined;
15
+ }
16
+ | {
17
+ case: 'pingRequest';
18
+ value: { timestamp: number };
19
+ }
20
+ | {
21
+ case: 'pongResponse';
22
+ value: { lastTimestamp: number; timestamp: number };
23
+ }
24
+ | {
25
+ case: 'startJobRequest';
26
+ value: { runningJob: RunningJobInfo };
27
+ }
28
+ | {
29
+ case: 'shutdownRequest';
30
+ value: { reason?: string };
31
+ }
32
+ | {
33
+ case: 'exiting';
34
+ value: { reason?: string };
35
+ }
36
+ | {
37
+ case: 'done';
38
+ value: undefined;
39
+ };