@livekit/agents 0.1.0 → 0.3.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 (155) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +47 -0
  3. package/LICENSE +201 -0
  4. package/dist/audio.d.ts +9 -0
  5. package/dist/audio.d.ts.map +1 -0
  6. package/dist/audio.js +54 -0
  7. package/dist/audio.js.map +1 -0
  8. package/dist/cli.d.ts +12 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +102 -19
  11. package/dist/cli.js.map +1 -1
  12. package/dist/generator.d.ts +17 -6
  13. package/dist/generator.d.ts.map +1 -1
  14. package/dist/generator.js +20 -3
  15. package/dist/generator.js.map +1 -1
  16. package/dist/http_server.d.ts +1 -1
  17. package/dist/http_server.d.ts.map +1 -1
  18. package/dist/http_server.js +5 -3
  19. package/dist/http_server.js.map +1 -1
  20. package/dist/index.d.ts +14 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +14 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/ipc/job_executor.d.ts +19 -0
  25. package/dist/ipc/job_executor.d.ts.map +1 -0
  26. package/dist/ipc/job_executor.js +8 -0
  27. package/dist/ipc/job_executor.js.map +1 -0
  28. package/dist/ipc/job_main.d.ts +7 -4
  29. package/dist/ipc/job_main.d.ts.map +1 -1
  30. package/dist/ipc/job_main.js +102 -59
  31. package/dist/ipc/job_main.js.map +1 -1
  32. package/dist/ipc/message.d.ts +41 -0
  33. package/dist/ipc/message.d.ts.map +1 -0
  34. package/dist/ipc/message.js +2 -0
  35. package/dist/ipc/message.js.map +1 -0
  36. package/dist/ipc/proc_job_executor.d.ts +15 -0
  37. package/dist/ipc/proc_job_executor.d.ts.map +1 -0
  38. package/dist/ipc/proc_job_executor.js +150 -0
  39. package/dist/ipc/proc_job_executor.js.map +1 -0
  40. package/dist/ipc/proc_pool.d.ts +26 -0
  41. package/dist/ipc/proc_pool.d.ts.map +1 -0
  42. package/dist/ipc/proc_pool.js +83 -0
  43. package/dist/ipc/proc_pool.js.map +1 -0
  44. package/dist/job.d.ts +100 -0
  45. package/dist/job.d.ts.map +1 -0
  46. package/dist/job.js +213 -0
  47. package/dist/job.js.map +1 -0
  48. package/dist/llm/function_context.d.ts +20 -0
  49. package/dist/llm/function_context.d.ts.map +1 -0
  50. package/dist/llm/function_context.js +37 -0
  51. package/dist/llm/function_context.js.map +1 -0
  52. package/dist/llm/index.d.ts +3 -0
  53. package/dist/llm/index.d.ts.map +1 -0
  54. package/dist/llm/index.js +6 -0
  55. package/dist/llm/index.js.map +1 -0
  56. package/dist/log.d.ts +12 -1
  57. package/dist/log.d.ts.map +1 -1
  58. package/dist/log.js +28 -11
  59. package/dist/log.js.map +1 -1
  60. package/dist/multimodal/agent_playout.d.ts +34 -0
  61. package/dist/multimodal/agent_playout.d.ts.map +1 -0
  62. package/dist/multimodal/agent_playout.js +221 -0
  63. package/dist/multimodal/agent_playout.js.map +1 -0
  64. package/dist/multimodal/index.d.ts +3 -0
  65. package/dist/multimodal/index.d.ts.map +1 -0
  66. package/dist/multimodal/index.js +6 -0
  67. package/dist/multimodal/index.js.map +1 -0
  68. package/dist/multimodal/multimodal_agent.d.ts +47 -0
  69. package/dist/multimodal/multimodal_agent.d.ts.map +1 -0
  70. package/dist/multimodal/multimodal_agent.js +331 -0
  71. package/dist/multimodal/multimodal_agent.js.map +1 -0
  72. package/dist/plugin.js +20 -7
  73. package/dist/plugin.js.map +1 -1
  74. package/dist/stt/index.d.ts +1 -1
  75. package/dist/stt/index.d.ts.map +1 -1
  76. package/dist/stt/index.js.map +1 -1
  77. package/dist/stt/stream_adapter.d.ts +2 -11
  78. package/dist/stt/stream_adapter.d.ts.map +1 -1
  79. package/dist/stt/stream_adapter.js +47 -33
  80. package/dist/stt/stream_adapter.js.map +1 -1
  81. package/dist/stt/stt.d.ts +27 -0
  82. package/dist/stt/stt.d.ts.map +1 -1
  83. package/dist/stt/stt.js +32 -5
  84. package/dist/stt/stt.js.map +1 -1
  85. package/dist/transcription.d.ts +22 -0
  86. package/dist/transcription.d.ts.map +1 -0
  87. package/dist/transcription.js +111 -0
  88. package/dist/transcription.js.map +1 -0
  89. package/dist/tts/stream_adapter.d.ts +4 -11
  90. package/dist/tts/stream_adapter.d.ts.map +1 -1
  91. package/dist/tts/stream_adapter.js +66 -32
  92. package/dist/tts/stream_adapter.js.map +1 -1
  93. package/dist/tts/tts.d.ts +10 -0
  94. package/dist/tts/tts.d.ts.map +1 -1
  95. package/dist/tts/tts.js +48 -7
  96. package/dist/tts/tts.js.map +1 -1
  97. package/dist/utils.d.ts +59 -0
  98. package/dist/utils.d.ts.map +1 -1
  99. package/dist/utils.js +212 -6
  100. package/dist/utils.js.map +1 -1
  101. package/dist/vad.d.ts +29 -0
  102. package/dist/vad.d.ts.map +1 -1
  103. package/dist/vad.js.map +1 -1
  104. package/dist/worker.d.ts +69 -50
  105. package/dist/worker.d.ts.map +1 -1
  106. package/dist/worker.js +414 -213
  107. package/dist/worker.js.map +1 -1
  108. package/package.json +12 -10
  109. package/src/audio.ts +62 -0
  110. package/src/cli.ts +108 -20
  111. package/src/generator.ts +27 -7
  112. package/src/http_server.ts +5 -0
  113. package/src/index.ts +15 -3
  114. package/src/ipc/job_executor.ts +25 -0
  115. package/src/ipc/job_main.ts +141 -61
  116. package/src/ipc/message.ts +39 -0
  117. package/src/ipc/proc_job_executor.ts +162 -0
  118. package/src/ipc/proc_pool.ts +109 -0
  119. package/src/job.ts +278 -0
  120. package/src/llm/function_context.ts +61 -0
  121. package/src/llm/index.ts +11 -0
  122. package/src/log.ts +40 -8
  123. package/src/multimodal/agent_playout.ts +254 -0
  124. package/src/multimodal/index.ts +5 -0
  125. package/src/multimodal/multimodal_agent.ts +428 -0
  126. package/src/stt/index.ts +1 -1
  127. package/src/stt/stream_adapter.ts +32 -32
  128. package/src/stt/stt.ts +27 -0
  129. package/src/transcription.ts +128 -0
  130. package/src/tts/stream_adapter.ts +32 -31
  131. package/src/tts/tts.ts +10 -0
  132. package/src/utils.ts +257 -3
  133. package/src/vad.ts +29 -0
  134. package/src/worker.ts +465 -172
  135. package/tsconfig.json +7 -1
  136. package/dist/ipc/job_process.d.ts +0 -22
  137. package/dist/ipc/job_process.d.ts.map +0 -1
  138. package/dist/ipc/job_process.js +0 -73
  139. package/dist/ipc/job_process.js.map +0 -1
  140. package/dist/ipc/protocol.d.ts +0 -40
  141. package/dist/ipc/protocol.d.ts.map +0 -1
  142. package/dist/ipc/protocol.js +0 -14
  143. package/dist/ipc/protocol.js.map +0 -1
  144. package/dist/job_context.d.ts +0 -16
  145. package/dist/job_context.d.ts.map +0 -1
  146. package/dist/job_context.js +0 -31
  147. package/dist/job_context.js.map +0 -1
  148. package/dist/job_request.d.ts +0 -42
  149. package/dist/job_request.d.ts.map +0 -1
  150. package/dist/job_request.js +0 -79
  151. package/dist/job_request.js.map +0 -1
  152. package/src/ipc/job_process.ts +0 -96
  153. package/src/ipc/protocol.ts +0 -51
  154. package/src/job_context.ts +0 -49
  155. 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,29 +1,31 @@
1
1
  {
2
2
  "name": "@livekit/agents",
3
- "version": "0.1.0",
4
- "description": "LiveKit Node Agents",
3
+ "version": "0.3.0",
4
+ "description": "LiveKit Agents - Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "author": "aoife cassidy <aoife@cassidy.sh>",
7
+ "author": "LiveKit",
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.9.0",
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",
27
+ "clean": "rm -rf dist",
28
+ "clean:build": "pnpm clean && pnpm build",
27
29
  "lint": "eslint -f unix \"src/**/*.ts\"",
28
30
  "api:check": "api-extractor run --typescript-compiler-folder ../node_modules/typescript",
29
31
  "api:update": "api-extractor run --local --typescript-compiler-folder ../node_modules/typescript --verbose"
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
+ #sampleRate: number;
10
+ #numChannels: number;
11
+ #bytesPerFrame: number;
12
+ #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,66 @@
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
- import { Worker, type WorkerOptions } from './worker.js';
8
+ import { Worker, 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
- const worker = new Worker(args.opts);
20
+ initializeLogger({ pretty: !args.production, level: args.opts.logLevel });
21
21
 
22
- process.on('SIGINT', async () => {
22
+ // though `production` is defined in WorkerOptions, it will always be overriddden by CLI.
23
+ const { production: _, ...opts } = args.opts; // eslint-disable-line @typescript-eslint/no-unused-vars
24
+ const worker = new Worker(new WorkerOptions({ production: args.production, ...opts }));
25
+
26
+ if (args.room) {
27
+ worker.event.once('worker_registered', () => {
28
+ log().info(`connecting to room ${args.room}`);
29
+ worker.simulateJob(args.room!, args.participantIdentity);
30
+ });
31
+ }
32
+
33
+ process.once('SIGINT', async () => {
34
+ // allow C-c C-c for force interrupt
35
+ process.once('SIGINT', () => {
36
+ log().info('worker closed forcefully');
37
+ process.exit(130); // SIGINT exit code
38
+ });
39
+ if (args.production) {
40
+ await worker.drain();
41
+ }
23
42
  await worker.close();
24
- log.info('worker closed');
43
+ log().info('worker closed');
25
44
  process.exit(130); // SIGINT exit code
26
45
  });
27
46
 
28
47
  try {
29
48
  await worker.run();
30
49
  } catch {
31
- log.fatal('worker failed');
50
+ log().fatal('worker failed');
32
51
  process.exit(1);
33
52
  }
34
53
  };
35
54
 
55
+ /**
56
+ * Exposes a CLI for creating a new worker, in development or production mode.
57
+ *
58
+ * @param opts - Options to launch the worker with
59
+ * @example
60
+ * ```
61
+ * if (process.argv[1] === fileURLToPath(import.meta.url)) {
62
+ * cli.runApp(new WorkerOptions({ agent: import.meta.filename }));
63
+ * }
64
+ * ```
65
+ */
36
66
  export const runApp = (opts: WorkerOptions) => {
37
67
  const program = new Command()
38
68
  .name('agents')
@@ -41,23 +71,33 @@ export const runApp = (opts: WorkerOptions) => {
41
71
  .addOption(
42
72
  new Option('--log-level <level>', 'Set the logging level')
43
73
  .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
44
- .default('trace'),
74
+ .default('info')
75
+ .env('LOG_LEVEL'),
45
76
  )
46
77
  .addOption(
47
- new Option('--url <string>', 'LiveKit server or Cloud project websocket URL')
48
- .makeOptionMandatory(true)
49
- .env('LIVEKIT_URL'),
78
+ new Option('--url <string>', 'LiveKit server or Cloud project websocket URL').env(
79
+ 'LIVEKIT_URL',
80
+ ),
50
81
  )
51
82
  .addOption(
52
- new Option('--api-key <string>', "LiveKit server or Cloud project's API key")
53
- .makeOptionMandatory(true)
54
- .env('LIVEKIT_API_KEY'),
83
+ new Option('--api-key <string>', "LiveKit server or Cloud project's API key").env(
84
+ 'LIVEKIT_API_KEY',
85
+ ),
55
86
  )
56
87
  .addOption(
57
- new Option('--api-secret <string>', "LiveKit server or Cloud project's API secret")
58
- .makeOptionMandatory(true)
59
- .env('LIVEKIT_API_SECRET'),
60
- );
88
+ new Option('--api-secret <string>', "LiveKit server or Cloud project's API secret").env(
89
+ 'LIVEKIT_API_SECRET',
90
+ ),
91
+ )
92
+ .action(() => {
93
+ if (
94
+ // do not run CLI if origin file is agents/ipc/job_main.js
95
+ process.argv[1] !== new URL('ipc/job_main.js', import.meta.url).pathname ||
96
+ process.argv.length < 3
97
+ ) {
98
+ program.help();
99
+ }
100
+ });
61
101
 
62
102
  program
63
103
  .command('start')
@@ -67,11 +107,59 @@ export const runApp = (opts: WorkerOptions) => {
67
107
  opts.wsURL = options.url || opts.wsURL;
68
108
  opts.apiKey = options.apiKey || opts.apiKey;
69
109
  opts.apiSecret = options.apiSecret || opts.apiSecret;
110
+ opts.logLevel = options.logLevel || opts.logLevel;
70
111
  runWorker({
71
112
  opts,
72
113
  production: true,
73
114
  watch: false,
74
- logLevel: options.logLevel,
115
+ });
116
+ });
117
+
118
+ program
119
+ .command('dev')
120
+ .description('Start the worker in development mode')
121
+ .addOption(
122
+ new Option('--log-level <level>', 'Set the logging level')
123
+ .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
124
+ .default('debug')
125
+ .env('LOG_LEVEL'),
126
+ )
127
+ .action(() => {
128
+ const options = program.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
+ });
138
+ });
139
+
140
+ program
141
+ .command('connect')
142
+ .description('Connect to a specific room')
143
+ .requiredOption('--room <string>', 'Room name to connect to')
144
+ .option('--participant-identity <string>', 'Identity of user to listen to')
145
+ .addOption(
146
+ new Option('--log-level <level>', 'Set the logging level')
147
+ .choices(['trace', 'debug', 'info', 'warn', 'error', 'fatal'])
148
+ .default('debug')
149
+ .env('LOG_LEVEL'),
150
+ )
151
+ .action((...[, command]) => {
152
+ const options = command.optsWithGlobals();
153
+ opts.wsURL = options.url || opts.wsURL;
154
+ opts.apiKey = options.apiKey || opts.apiKey;
155
+ opts.apiSecret = options.apiSecret || opts.apiSecret;
156
+ opts.logLevel = options.logLevel || opts.logLevel;
157
+ runWorker({
158
+ opts,
159
+ production: false,
160
+ watch: false,
161
+ room: options.room,
162
+ participantIdentity: options.participantIdentity,
75
163
  });
76
164
  });
77
165
 
package/src/generator.ts CHANGED
@@ -1,18 +1,38 @@
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
+ }
11
+
12
+ /** Helper to check if an object is an agent before running it.
13
+ *
14
+ * @internal
15
+ */
16
+ export function isAgent(obj: unknown): obj is Agent {
17
+ return (
18
+ typeof obj === 'object' &&
19
+ obj !== null &&
20
+ 'entry' in obj &&
21
+ typeof (obj as Agent).entry === 'function' &&
22
+ (('prewarm' in obj && typeof (obj as Agent).prewarm === 'function') || !('prewarm' in obj))
23
+ );
10
24
  }
11
25
 
12
26
  /**
13
27
  * Helper to define an agent according to the required interface.
14
- * @example `export default defineAgent(myAgent);`
28
+ * @example A basic agent with entry and prewarm functions
29
+ * ```
30
+ * export default defineAgent({
31
+ * entry: async (ctx: JobContext) => { ... },
32
+ * prewarm: (proc: JobProcess) => { ... },
33
+ * })
34
+ * ```
15
35
  */
16
- export function defineAgent(entry: entryFunction): Agent {
17
- return { entry };
36
+ export function defineAgent(agent: Agent): Agent {
37
+ return agent;
18
38
  }
@@ -2,6 +2,7 @@
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import { type IncomingMessage, type Server, type ServerResponse, createServer } from 'http';
5
+ import { log } from './log.js';
5
6
 
6
7
  const healthCheck = async (res: ServerResponse) => {
7
8
  res.writeHead(200);
@@ -31,6 +32,10 @@ export class HTTPServer {
31
32
  return new Promise((resolve, reject) => {
32
33
  this.app.listen(this.port, this.host, (err?: Error) => {
33
34
  if (err) reject(err);
35
+ const address = this.app.address();
36
+ if (typeof address! !== 'string') {
37
+ log().info(`Server is listening on port ${address!.port}`);
38
+ }
34
39
  resolve();
35
40
  });
36
41
  });
package/src/index.ts CHANGED
@@ -1,18 +1,30 @@
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';
14
+ import * as multimodal from './multimodal/index.js';
5
15
  import * as stt from './stt/index.js';
6
16
  import * as tts from './tts/index.js';
7
17
 
8
18
  export * from './vad.js';
9
19
  export * from './plugin.js';
10
20
  export * from './version.js';
11
- export * from './job_context.js';
12
- export * from './job_request.js';
21
+ export * from './job.js';
13
22
  export * from './worker.js';
14
23
  export * from './utils.js';
15
24
  export * from './log.js';
16
25
  export * from './generator.js';
26
+ export * from './tokenize.js';
27
+ export * from './audio.js';
28
+ export * from './transcription.js';
17
29
 
18
- export { cli, stt, tts };
30
+ export { cli, stt, tts, llm, multimodal };
@@ -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
+ }