From 310a7472d450149b83f9dbd5dee6b2c3fb772b92 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 21 Nov 2024 16:03:06 +0200 Subject: [PATCH 01/16] chore(treewide): native CommonJS this still doesn't work. also the example i've been testing with, multimodal_agent.js, doesn't compile right, and needs tsx to run. pnpm exec tsx src/multimodal_agent.ts dev --log-level debug see that even though there are debug logs and plain console logs, none of them show up, and something gets stuck there. perhaps an unresolvable promise detection that exits with 13 without telling us? unsure. --- agents/package.json | 5 +- agents/src/ipc/job_main.ts | 131 ++-- examples/package.json | 4 +- examples/src/multimodal_agent.ts | 12 +- package.json | 8 +- plugins/deepgram/package.json | 5 +- plugins/elevenlabs/package.json | 5 +- plugins/openai/package.json | 5 +- plugins/silero/package.json | 5 +- pnpm-lock.yaml | 1072 ++++++++++++++++++++++++++++-- 10 files changed, 1097 insertions(+), 155 deletions(-) diff --git a/agents/package.json b/agents/package.json index 59cb53c4..45c6d7ba 100644 --- a/agents/package.json +++ b/agents/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsc", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.ts\"", @@ -21,10 +21,11 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../node_modules/typescript --verbose" }, "devDependencies": { - "@microsoft/api-extractor": "^7.35.0", "@livekit/rtc-node": "^0.11.1", + "@microsoft/api-extractor": "^7.35.0", "@types/node": "^22.5.5", "@types/ws": "^8.5.10", + "tsup": "^8.3.5", "typescript": "^5.0.0" }, "dependencies": { diff --git a/agents/src/ipc/job_main.ts b/agents/src/ipc/job_main.ts index d8774398..f986d17e 100644 --- a/agents/src/ipc/job_main.ts +++ b/agents/src/ipc/job_main.ts @@ -88,77 +88,80 @@ const startJob = ( return { ctx, task }; }; -if (process.send) { - // process.argv: - // [0] `node' - // [1] import.meta.filename - // [2] import.meta.filename of function containing entry file - const moduleFile = process.argv[2]; - const agent: Agent = await import(pathToFileURL(moduleFile!).href).then((module) => { - const agent = module.default; - if (agent === undefined || !isAgent(agent)) { - throw new Error(`Unable to load agent: Missing or invalid default export in ${moduleFile}`); - } - return agent; - }); - if (!agent.prewarm) { - agent.prewarm = defaultInitializeProcessFunc; - } - - // don't do anything on C-c - // this is handled in cli, triggering a termination of all child processes at once. - process.on('SIGINT', () => {}); - - await once(process, 'message').then(([msg]: IPCMessage[]) => { - msg = msg!; - if (msg.case !== 'initializeRequest') { - throw new Error('first message must be InitializeRequest'); +(async () => { + if (process.send) { + console.log("AAAAAAAAAAAAAA") + // process.argv: + // [0] `node' + // [1] import.meta.filename + // [2] import.meta.filename of function containing entry file + const moduleFile = process.argv[2]; + const agent: Agent = await import(pathToFileURL(moduleFile!).href).then((module) => { + const agent = module.default; + if (agent === undefined || !isAgent(agent)) { + throw new Error(`Unable to load agent: Missing or invalid default export in ${moduleFile}`); + } + return agent; + }); + if (!agent.prewarm) { + agent.prewarm = defaultInitializeProcessFunc; } - initializeLogger(msg.value.loggerOptions); - }); - const proc = new JobProcess(); - let logger = log().child({ pid: proc.pid }); - - logger.debug('initializing job runner'); - agent.prewarm(proc); - logger.debug('job runner initialized'); - process.send({ case: 'initializeResponse' }); - let job: JobTask | undefined = undefined; - const closeEvent = new EventEmitter(); + // don't do anything on C-c + // this is handled in cli, triggering a termination of all child processes at once. + process.on('SIGINT', () => {}); - const orphanedTimeout = setTimeout(() => { - logger.warn('process orphaned, shutting down'); - process.exit(); - }, ORPHANED_TIMEOUT); - - process.on('message', (msg: IPCMessage) => { - switch (msg.case) { - case 'pingRequest': { - orphanedTimeout.refresh(); - process.send!({ - case: 'pongResponse', - value: { lastTimestamp: msg.value.timestamp, timestamp: Date.now() }, - }); - break; + await once(process, 'message').then(([msg]: IPCMessage[]) => { + msg = msg!; + if (msg.case !== 'initializeRequest') { + throw new Error('first message must be InitializeRequest'); } - case 'startJobRequest': { - if (job) { - throw new Error('job task already running'); + initializeLogger(msg.value.loggerOptions); + }); + const proc = new JobProcess(); + let logger = log().child({ pid: proc.pid }); + + logger.debug('initializing job runner'); + agent.prewarm(proc); + logger.debug('job runner initialized'); + process.send({ case: 'initializeResponse' }); + + let job: JobTask | undefined = undefined; + const closeEvent = new EventEmitter(); + + const orphanedTimeout = setTimeout(() => { + logger.warn('process orphaned, shutting down'); + process.exit(); + }, ORPHANED_TIMEOUT); + + process.on('message', (msg: IPCMessage) => { + switch (msg.case) { + case 'pingRequest': { + orphanedTimeout.refresh(); + process.send!({ + case: 'pongResponse', + value: { lastTimestamp: msg.value.timestamp, timestamp: Date.now() }, + }); + break; } + case 'startJobRequest': { + if (job) { + throw new Error('job task already running'); + } - logger = logger.child({ jobID: msg.value.runningJob.job.id }); + logger = logger.child({ jobID: msg.value.runningJob.job.id }); - job = startJob(proc, agent.entry, msg.value.runningJob, closeEvent, logger); - logger.debug('job started'); - break; - } - case 'shutdownRequest': { - if (!job) { + job = startJob(proc, agent.entry, msg.value.runningJob, closeEvent, logger); + logger.debug('job started'); break; } - closeEvent.emit('close', ''); + case 'shutdownRequest': { + if (!job) { + break; + } + closeEvent.emit('close', ''); + } } - } - }); -} + }); + } +})(); diff --git a/examples/package.json b/examples/package.json index 75b4af62..cb870553 100644 --- a/examples/package.json +++ b/examples/package.json @@ -1,7 +1,6 @@ { "private": true, "name": "livekit-agents-examples", - "type": "module", "scripts": { "build": "tsc", "clean": "rm -rf dist", @@ -10,14 +9,15 @@ "minimal": "pnpm exec tsx src/minimal_assistant.ts" }, "devDependencies": { + "tsx": "^4.19.2", "typescript": "^5.0.0" }, "dependencies": { "@livekit/agents": "workspace:*", "@livekit/agents-plugin-deepgram": "workspace:*", "@livekit/agents-plugin-elevenlabs": "workspace:*", - "@livekit/agents-plugin-silero": "workspace:*", "@livekit/agents-plugin-openai": "workspace:*", + "@livekit/agents-plugin-silero": "workspace:*", "@livekit/rtc-node": "^0.11.1", "zod": "^3.23.8" }, diff --git a/examples/src/multimodal_agent.ts b/examples/src/multimodal_agent.ts index 4eee02fb..1da73996 100644 --- a/examples/src/multimodal_agent.ts +++ b/examples/src/multimodal_agent.ts @@ -1,13 +1,13 @@ // SPDX-FileCopyrightText: 2024 LiveKit, Inc. // // SPDX-License-Identifier: Apache-2.0 -import { type JobContext, WorkerOptions, cli, defineAgent, llm, multimodal } from '@livekit/agents'; -import * as openai from '@livekit/agents-plugin-openai'; -import { fileURLToPath } from 'node:url'; -import { z } from 'zod'; +const { JobContext, WorkerOptions, cli, defineAgent, llm, multimodal } = require('@livekit/agents'); +const openai = require('@livekit/agents-plugin-openai'); +const { fileURLToPath } = require('node:url'); +const { z } = require('zod'); export default defineAgent({ - entry: async (ctx: JobContext) => { + entry: async (ctx: typeof JobContext) => { await ctx.connect(); console.log('waiting for participant'); @@ -67,4 +67,4 @@ export default defineAgent({ }, }); -cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); +cli.runApp(new WorkerOptions({ agent: __filename })); diff --git a/package.json b/package.json index 45557861..5801ce0a 100644 --- a/package.json +++ b/package.json @@ -44,5 +44,11 @@ "typescript": "^5.4.5", "vitest": "^1.6.0" }, - "packageManager": "pnpm@9.7.0" + "packageManager": "pnpm@9.7.0", + "pnpm": { + "overrides": { + "@livekit/protocol": "file:/home/nbsp/src/@livekit/protocol/packages/javascript", + "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc" + } + } } diff --git a/plugins/deepgram/package.json b/plugins/deepgram/package.json index 681cecf6..79efdaa5 100644 --- a/plugins/deepgram/package.json +++ b/plugins/deepgram/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsc", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.{ts,js}\"", @@ -21,10 +21,11 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../../node_modules/typescript --verbose" }, "devDependencies": { - "@microsoft/api-extractor": "^7.35.0", "@livekit/agents": "workspace:^", "@livekit/rtc-node": "^0.11.1", + "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", + "tsup": "^8.3.5", "typescript": "^5.0.0" }, "dependencies": { diff --git a/plugins/elevenlabs/package.json b/plugins/elevenlabs/package.json index 77a2dbc1..8d66dc79 100644 --- a/plugins/elevenlabs/package.json +++ b/plugins/elevenlabs/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsc", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.{ts,js}\"", @@ -21,10 +21,11 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../../node_modules/typescript --verbose" }, "devDependencies": { - "@microsoft/api-extractor": "^7.35.0", "@livekit/agents": "workspace:^", "@livekit/rtc-node": "^0.11.1", + "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", + "tsup": "^8.3.5", "typescript": "^5.0.0" }, "dependencies": { diff --git a/plugins/openai/package.json b/plugins/openai/package.json index 3dd049dc..7005f0f7 100644 --- a/plugins/openai/package.json +++ b/plugins/openai/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsc -b tsconfig.json", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.{ts,js}\"", @@ -21,10 +21,11 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../../node_modules/typescript --verbose" }, "devDependencies": { - "@microsoft/api-extractor": "^7.35.0", "@livekit/agents": "workspace:^", "@livekit/rtc-node": "^0.11.1", + "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", + "tsup": "^8.3.5", "typescript": "^5.0.0" }, "dependencies": { diff --git a/plugins/silero/package.json b/plugins/silero/package.json index 2d522ece..685bea76 100644 --- a/plugins/silero/package.json +++ b/plugins/silero/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsc && cp src/*.onnx dist/", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.{ts,js}\"", @@ -21,11 +21,12 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../../node_modules/typescript --verbose" }, "devDependencies": { - "@microsoft/api-extractor": "^7.35.0", "@livekit/agents": "workspace:^", "@livekit/rtc-node": "^0.11.1", + "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", "onnxruntime-common": "^1.19.2", + "tsup": "^8.3.5", "typescript": "^5.0.0" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 515adc06..50ddfe28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,10 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@livekit/protocol': file:/home/nbsp/src/@livekit/protocol/packages/javascript + '@livekit/rtc-node': file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + importers: .: @@ -81,8 +85,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 '@livekit/protocol': - specifier: ^1.27.1 - version: 1.27.1 + specifier: file:/home/nbsp/src/@livekit/protocol/packages/javascript + version: file:../protocol/packages/javascript '@livekit/typed-emitter': specifier: ^3.0.0 version: 3.0.0 @@ -106,8 +110,8 @@ importers: version: 3.23.8 devDependencies: '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -117,6 +121,9 @@ importers: '@types/ws': specifier: ^8.5.10 version: 8.5.10 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5) typescript: specifier: ^5.0.0 version: 5.4.5 @@ -139,12 +146,15 @@ importers: specifier: workspace:* version: link:../plugins/silero '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc zod: specifier: ^3.23.8 version: 3.23.8 devDependencies: + tsx: + specifier: ^4.19.2 + version: 4.19.2 typescript: specifier: ^5.0.0 version: 5.4.5 @@ -159,14 +169,17 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) '@types/ws': specifier: ^8.5.10 version: 8.5.10 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5) typescript: specifier: ^5.0.0 version: 5.4.5 @@ -181,14 +194,17 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) '@types/ws': specifier: ^8.5.10 version: 8.5.10 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5) typescript: specifier: ^5.0.0 version: 5.4.5 @@ -209,14 +225,17 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) '@types/ws': specifier: ^8.5.10 version: 8.5.10 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5) typescript: specifier: ^5.0.0 version: 5.4.5 @@ -234,8 +253,8 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: ^0.11.1 - version: 0.11.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + version: file:../node-sdks/packages/livekit-rtc '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -245,6 +264,9 @@ importers: onnxruntime-common: specifier: ^1.19.2 version: 1.19.2 + tsup: + specifier: ^8.3.5 + version: 8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5) typescript: specifier: ^5.0.0 version: 5.4.5 @@ -389,138 +411,426 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -693,41 +1003,11 @@ packages: '@livekit/mutex@1.1.0': resolution: {integrity: sha512-XRLG+z/0uoyDioupjUiskjI06Y51U/IXVPJn7qJ+R3J75XX01irYVBM9MpxeJahpVoe9QhU4moIEolX+HO9U9g==} - '@livekit/protocol@1.27.1': - resolution: {integrity: sha512-ISEp7uWdV82mtCR1eyHFTzdRZTVbe2+ZztjmjiMPzR/KPrI1Ma/u5kLh87NNuY3Rn8wv1VlEvGHHsFjQ+dKVUw==} - - '@livekit/rtc-node-darwin-arm64@0.11.1': - resolution: {integrity: sha512-M+Ui87H06ae19GGI7r937dS6hI84MBBTQAkkNlL7qd+pvdCAk25u0FYa8r4SOElKJ0VR3AbzeDoXTihLgpvjMg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@livekit/rtc-node-darwin-x64@0.11.1': - resolution: {integrity: sha512-7G92fyuK2p+jdTH2cUJTNeAmtknTGsXuy0xbI727V7VzQvHFDXULCExRlgwn4t9TxvNlIjUpiltiQ6RCSai6zw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@livekit/rtc-node-linux-arm64-gnu@0.11.1': - resolution: {integrity: sha512-vqZN9+87Pvxit7auYVW69M+GvUPnf+EwipIJ92GgCJA3Ir1Tcceu5ud5/Ic+0FzSoV0cotVVlQNm74F0tQvyCg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@livekit/rtc-node-linux-x64-gnu@0.11.1': - resolution: {integrity: sha512-smHZUMfgILQh6/eoauYNe/VlKwQCp4/4jWxiIADHY+mtDtVSvQ9zB6y4GP8FrpohRwFWesKCUpvPBypU0Icrng==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@livekit/rtc-node-win32-x64-msvc@0.11.1': - resolution: {integrity: sha512-bTWVtb+UiRPFjiuhrqq40gt5vs5mMPTa1e+kd2jGQPTOlKZPLArQ0WgFcep2TAy1zmcpOgfeM1XRPVFhZl7G1A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] + '@livekit/protocol@file:../protocol/packages/javascript': + resolution: {directory: ../protocol/packages/javascript, type: directory} - '@livekit/rtc-node@0.11.1': - resolution: {integrity: sha512-EFw+giPll12fcXATZpN2zKkE3umYJAdHvfjW+Yu0aBjwfxbUBXu8rz6le2CzDNvGmRwR888DSZXFZfYikwZgiw==} + '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': + resolution: {directory: ../node-sdks/packages/livekit-rtc, type: directory} engines: {node: '>= 18'} '@livekit/typed-emitter@3.0.0': @@ -780,81 +1060,171 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.27.3': + resolution: {integrity: sha512-EzxVSkIvCFxUd4Mgm4xR9YXrcp976qVaHnqom/Tgm+vU79k4vV4eYTjmRvGfeoW8m9LVcsAy/lGjcgVegKEhLQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.17.2': resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.27.3': + resolution: {integrity: sha512-LJc5pDf1wjlt9o/Giaw9Ofl+k/vLUaYsE2zeQGH85giX2F+wn/Cg8b3c5CDP3qmVmeO5NzwVUzQQxwZvC2eQKw==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.17.2': resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.27.3': + resolution: {integrity: sha512-OuRysZ1Mt7wpWJ+aYKblVbJWtVn3Cy52h8nLuNSzTqSesYw1EuN6wKp5NW/4eSre3mp12gqFRXOKTcN3AI3LqA==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.17.2': resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.27.3': + resolution: {integrity: sha512-xW//zjJMlJs2sOrCmXdB4d0uiilZsOdlGQIC/jjmMWT47lkLLoB1nsNhPUcnoqyi5YR6I4h+FjBpILxbEy8JRg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.27.3': + resolution: {integrity: sha512-58E0tIcwZ+12nK1WiLzHOD8I0d0kdrY/+o7yFVPRHuVGY3twBwzwDdTIBGRxLmyjciMYl1B/U515GJy+yn46qw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.27.3': + resolution: {integrity: sha512-78fohrpcVwTLxg1ZzBMlwEimoAJmY6B+5TsyAZ3Vok7YabRBUvjYTsRXPTjGEvv/mfgVBepbW28OlMEz4w8wGA==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.27.3': + resolution: {integrity: sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.17.2': resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.27.3': + resolution: {integrity: sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.17.2': resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.27.3': + resolution: {integrity: sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.17.2': resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.27.3': + resolution: {integrity: sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.27.3': + resolution: {integrity: sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.17.2': resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.27.3': + resolution: {integrity: sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.17.2': resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.27.3': + resolution: {integrity: sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.17.2': resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.27.3': + resolution: {integrity: sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.17.2': resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.27.3': + resolution: {integrity: sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.17.2': resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.27.3': + resolution: {integrity: sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.17.2': resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.27.3': + resolution: {integrity: sha512-ecE36ZBMLINqiTtSNQ1vzWc5pXLQHlf/oqGp/bSbi7iedcjcNb6QbCBNG73Euyy2C+l/fn8qKWEwxr+0SSfs3w==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.17.2': resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.27.3': + resolution: {integrity: sha512-vliZLrDmYKyaUoMzEbMTg2JkerfBjn03KmAw9CykO0Zzkzoyd7o3iZNam/TpyWNjNT+Cz2iO3P9Smv2wgrR+Eg==} + cpu: [x64] + os: [win32] + '@rushstack/eslint-patch@1.10.3': resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} @@ -915,6 +1285,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1080,6 +1453,9 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1188,6 +1564,12 @@ packages: builtins@5.1.0: resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + bundle-require@5.0.0: + resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -1234,6 +1616,10 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -1284,6 +1670,10 @@ packages: resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} engines: {node: '>=18'} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -1294,6 +1684,10 @@ packages: confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -1352,6 +1746,15 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -1477,6 +1880,16 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -1719,6 +2132,14 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2182,6 +2603,10 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -2189,6 +2614,10 @@ packages: resolution: {integrity: sha512-l8egXU10jPuRJM2Df9Gk/KPEk6tBV0JEGG19cD5QeQtyIMgqULCCd/5yyG2FRvcWRf7pEyZZMXi63zDn7uaKHQ==} engines: {node: '>=19'} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -2214,6 +2643,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -2340,6 +2772,12 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2517,10 +2955,17 @@ packages: picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -2539,6 +2984,10 @@ packages: resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} hasBin: true + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -2550,6 +2999,24 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -2636,6 +3103,10 @@ packages: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -2702,6 +3173,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.27.3: + resolution: {integrity: sha512-SLsCOnlmGt9VoZ9Ek8yBK8tAdmPHeppkw+Xa7yDlCEhDTvwYei03JlWo1fdc7YTfLZ4tD8riJCUyAgTbszk1fQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2824,6 +3300,10 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} @@ -2912,6 +3392,11 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -2951,12 +3436,26 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thread-stream@2.7.0: resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} tinybench@2.8.0: resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + tinypool@0.8.4: resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} @@ -2980,6 +3479,13 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -2993,12 +3499,39 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tsup@8.3.5: + resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} @@ -3203,9 +3736,15 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -3577,72 +4116,216 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/aix-ppc64@0.24.0': + optional: true + '@esbuild/android-arm64@0.20.2': optional: true + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.24.0': + optional: true + '@esbuild/android-arm@0.20.2': optional: true + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-arm@0.24.0': + optional: true + '@esbuild/android-x64@0.20.2': optional: true + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/android-x64@0.24.0': + optional: true + '@esbuild/darwin-arm64@0.20.2': optional: true + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.24.0': + optional: true + '@esbuild/darwin-x64@0.20.2': optional: true + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.24.0': + optional: true + '@esbuild/freebsd-arm64@0.20.2': optional: true + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.24.0': + optional: true + '@esbuild/freebsd-x64@0.20.2': optional: true + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.24.0': + optional: true + '@esbuild/linux-arm64@0.20.2': optional: true + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.24.0': + optional: true + '@esbuild/linux-arm@0.20.2': optional: true + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-arm@0.24.0': + optional: true + '@esbuild/linux-ia32@0.20.2': optional: true + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.24.0': + optional: true + '@esbuild/linux-loong64@0.20.2': optional: true + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.24.0': + optional: true + '@esbuild/linux-mips64el@0.20.2': optional: true + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.24.0': + optional: true + '@esbuild/linux-ppc64@0.20.2': optional: true + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.24.0': + optional: true + '@esbuild/linux-riscv64@0.20.2': optional: true + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.24.0': + optional: true + '@esbuild/linux-s390x@0.20.2': optional: true + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.24.0': + optional: true + '@esbuild/linux-x64@0.20.2': optional: true + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/linux-x64@0.24.0': + optional: true + '@esbuild/netbsd-x64@0.20.2': optional: true + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.24.0': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.24.0': + optional: true + '@esbuild/openbsd-x64@0.20.2': optional: true + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.24.0': + optional: true + '@esbuild/sunos-x64@0.20.2': optional: true + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.24.0': + optional: true + '@esbuild/win32-arm64@0.20.2': optional: true + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.24.0': + optional: true + '@esbuild/win32-ia32@0.20.2': optional: true + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.24.0': + optional: true + '@esbuild/win32-x64@0.20.2': optional: true + '@esbuild/win32-x64@0.23.1': + optional: true + + '@esbuild/win32-x64@0.24.0': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: eslint: 8.57.0 @@ -3797,36 +4480,15 @@ snapshots: '@livekit/mutex@1.1.0': {} - '@livekit/protocol@1.27.1': + '@livekit/protocol@file:../protocol/packages/javascript': dependencies: '@bufbuild/protobuf': 1.10.0 - '@livekit/rtc-node-darwin-arm64@0.11.1': - optional: true - - '@livekit/rtc-node-darwin-x64@0.11.1': - optional: true - - '@livekit/rtc-node-linux-arm64-gnu@0.11.1': - optional: true - - '@livekit/rtc-node-linux-x64-gnu@0.11.1': - optional: true - - '@livekit/rtc-node-win32-x64-msvc@0.11.1': - optional: true - - '@livekit/rtc-node@0.11.1': + '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': dependencies: '@bufbuild/protobuf': 2.2.1 '@livekit/mutex': 1.1.0 '@livekit/typed-emitter': 3.0.0 - optionalDependencies: - '@livekit/rtc-node-darwin-arm64': 0.11.1 - '@livekit/rtc-node-darwin-x64': 0.11.1 - '@livekit/rtc-node-linux-arm64-gnu': 0.11.1 - '@livekit/rtc-node-linux-x64-gnu': 0.11.1 - '@livekit/rtc-node-win32-x64-msvc': 0.11.1 '@livekit/typed-emitter@3.0.0': {} @@ -3905,51 +4567,105 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.17.2': optional: true + '@rollup/rollup-android-arm-eabi@4.27.3': + optional: true + '@rollup/rollup-android-arm64@4.17.2': optional: true + '@rollup/rollup-android-arm64@4.27.3': + optional: true + '@rollup/rollup-darwin-arm64@4.17.2': optional: true + '@rollup/rollup-darwin-arm64@4.27.3': + optional: true + '@rollup/rollup-darwin-x64@4.17.2': optional: true + '@rollup/rollup-darwin-x64@4.27.3': + optional: true + + '@rollup/rollup-freebsd-arm64@4.27.3': + optional: true + + '@rollup/rollup-freebsd-x64@4.27.3': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.27.3': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.17.2': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.27.3': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.17.2': optional: true + '@rollup/rollup-linux-arm64-gnu@4.27.3': + optional: true + '@rollup/rollup-linux-arm64-musl@4.17.2': optional: true + '@rollup/rollup-linux-arm64-musl@4.27.3': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.27.3': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.17.2': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.27.3': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.17.2': optional: true + '@rollup/rollup-linux-s390x-gnu@4.27.3': + optional: true + '@rollup/rollup-linux-x64-gnu@4.17.2': optional: true + '@rollup/rollup-linux-x64-gnu@4.27.3': + optional: true + '@rollup/rollup-linux-x64-musl@4.17.2': optional: true + '@rollup/rollup-linux-x64-musl@4.27.3': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.17.2': optional: true + '@rollup/rollup-win32-arm64-msvc@4.27.3': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.17.2': optional: true + '@rollup/rollup-win32-ia32-msvc@4.27.3': + optional: true + '@rollup/rollup-win32-x64-msvc@4.17.2': optional: true + '@rollup/rollup-win32-x64-msvc@4.27.3': + optional: true + '@rushstack/eslint-patch@1.10.3': {} '@rushstack/heft-config-file@0.14.19(@types/node@22.5.5)': @@ -4036,6 +4752,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -4227,6 +4945,8 @@ snapshots: ansi-styles@6.2.1: {} + any-promise@1.3.0: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -4367,6 +5087,11 @@ snapshots: dependencies: semver: 7.6.0 + bundle-require@5.0.0(esbuild@0.24.0): + dependencies: + esbuild: 0.24.0 + load-tsconfig: 0.2.5 + cac@6.7.14: {} call-bind@1.0.7: @@ -4423,6 +5148,10 @@ snapshots: dependencies: get-func-name: 2.0.2 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + chownr@3.0.0: {} ci-info@3.9.0: {} @@ -4471,6 +5200,8 @@ snapshots: commander@12.0.0: {} + commander@4.1.1: {} + commander@9.5.0: optional: true @@ -4478,6 +5209,8 @@ snapshots: confbox@0.1.7: {} + consola@3.2.3: {} + cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 @@ -4535,6 +5268,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -4732,6 +5469,60 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + esbuild@0.24.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -5059,6 +5850,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -5492,14 +6287,18 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lilconfig@3.1.2: {} + lines-and-columns@1.2.4: {} livekit-server-sdk@2.8.1: dependencies: - '@livekit/protocol': 1.27.1 + '@livekit/protocol': file:../protocol/packages/javascript camelcase-keys: 9.1.3 jose: 5.2.4 + load-tsconfig@0.2.5: {} + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 @@ -5526,6 +6325,8 @@ snapshots: lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + lodash.startcase@4.4.0: {} lodash@4.17.21: {} @@ -5642,6 +6443,14 @@ snapshots: ms@2.1.2: {} + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.7: {} natural-compare@1.4.0: {} @@ -5813,8 +6622,12 @@ snapshots: picocolors@1.0.1: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@4.0.1: {} pino-abstract-transport@1.2.0: @@ -5855,6 +6668,8 @@ snapshots: sonic-boom: 3.8.1 thread-stream: 2.7.0 + pirates@4.0.6: {} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 @@ -5867,6 +6682,13 @@ snapshots: possible-typed-array-names@1.0.0: {} + postcss-load-config@6.0.1(postcss@8.4.38)(tsx@4.19.2): + dependencies: + lilconfig: 3.1.2 + optionalDependencies: + postcss: 8.4.38 + tsx: 4.19.2 + postcss@8.4.38: dependencies: nanoid: 3.3.7 @@ -5955,6 +6777,8 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 + readdirp@4.0.2: {} + real-require@0.2.0: {} redent@3.0.0: @@ -6040,6 +6864,30 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 + rollup@4.27.3: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.27.3 + '@rollup/rollup-android-arm64': 4.27.3 + '@rollup/rollup-darwin-arm64': 4.27.3 + '@rollup/rollup-darwin-x64': 4.27.3 + '@rollup/rollup-freebsd-arm64': 4.27.3 + '@rollup/rollup-freebsd-x64': 4.27.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.3 + '@rollup/rollup-linux-arm-musleabihf': 4.27.3 + '@rollup/rollup-linux-arm64-gnu': 4.27.3 + '@rollup/rollup-linux-arm64-musl': 4.27.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.3 + '@rollup/rollup-linux-riscv64-gnu': 4.27.3 + '@rollup/rollup-linux-s390x-gnu': 4.27.3 + '@rollup/rollup-linux-x64-gnu': 4.27.3 + '@rollup/rollup-linux-x64-musl': 4.27.3 + '@rollup/rollup-win32-arm64-msvc': 4.27.3 + '@rollup/rollup-win32-ia32-msvc': 4.27.3 + '@rollup/rollup-win32-x64-msvc': 4.27.3 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -6180,6 +7028,10 @@ snapshots: source-map@0.6.1: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 @@ -6285,6 +7137,16 @@ snapshots: dependencies: js-tokens: 9.0.0 + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -6321,12 +7183,27 @@ snapshots: text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + thread-stream@2.7.0: dependencies: real-require: 0.2.0 tinybench@2.8.0: {} + tinyexec@0.3.1: {} + + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@0.8.4: {} tinyspy@2.2.1: {} @@ -6343,6 +7220,12 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + trim-newlines@3.0.1: {} true-case-path@2.2.1: {} @@ -6351,6 +7234,8 @@ snapshots: dependencies: typescript: 5.4.5 + ts-interface-checker@0.1.13: {} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -6360,6 +7245,41 @@ snapshots: tslib@2.6.2: {} + tsup@8.3.5(@microsoft/api-extractor@7.43.7(@types/node@22.5.5))(postcss@8.4.38)(tsx@4.19.2)(typescript@5.4.5): + dependencies: + bundle-require: 5.0.0(esbuild@0.24.0) + cac: 6.7.14 + chokidar: 4.0.1 + consola: 3.2.3 + debug: 4.3.7 + esbuild: 0.24.0 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.4.38)(tsx@4.19.2) + resolve-from: 5.0.0 + rollup: 4.27.3 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.1 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + '@microsoft/api-extractor': 7.43.7(@types/node@22.5.5) + postcss: 8.4.38 + typescript: 5.4.5 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + tty-table@4.2.3: dependencies: chalk: 4.1.2 @@ -6559,11 +7479,19 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 From 327974e76ae723dc61038ac66338762bbe1e1056 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 21 Nov 2024 16:07:50 +0200 Subject: [PATCH 02/16] add tsup files --- agents/tsup.config.ts | 9 +++++++++ plugins/deepgram/tsup.config.ts | 7 +++++++ plugins/elevenlabs/tsup.config.ts | 7 +++++++ plugins/openai/tsup.config.ts | 7 +++++++ plugins/silero/tsup.config.ts | 7 +++++++ tsup.config.ts | 18 ++++++++++++++++++ 6 files changed, 55 insertions(+) create mode 100644 agents/tsup.config.ts create mode 100644 plugins/deepgram/tsup.config.ts create mode 100644 plugins/elevenlabs/tsup.config.ts create mode 100644 plugins/openai/tsup.config.ts create mode 100644 plugins/silero/tsup.config.ts create mode 100644 tsup.config.ts diff --git a/agents/tsup.config.ts b/agents/tsup.config.ts new file mode 100644 index 00000000..a870589a --- /dev/null +++ b/agents/tsup.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from 'tsup'; + +import defaults from '../tsup.config'; + +export default defineConfig({ + ...defaults, + shims: true, +}); + diff --git a/plugins/deepgram/tsup.config.ts b/plugins/deepgram/tsup.config.ts new file mode 100644 index 00000000..8ca20961 --- /dev/null +++ b/plugins/deepgram/tsup.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'tsup'; + +import defaults from '../../tsup.config'; + +export default defineConfig({ + ...defaults, +}); diff --git a/plugins/elevenlabs/tsup.config.ts b/plugins/elevenlabs/tsup.config.ts new file mode 100644 index 00000000..8ca20961 --- /dev/null +++ b/plugins/elevenlabs/tsup.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'tsup'; + +import defaults from '../../tsup.config'; + +export default defineConfig({ + ...defaults, +}); diff --git a/plugins/openai/tsup.config.ts b/plugins/openai/tsup.config.ts new file mode 100644 index 00000000..8ca20961 --- /dev/null +++ b/plugins/openai/tsup.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'tsup'; + +import defaults from '../../tsup.config'; + +export default defineConfig({ + ...defaults, +}); diff --git a/plugins/silero/tsup.config.ts b/plugins/silero/tsup.config.ts new file mode 100644 index 00000000..8ca20961 --- /dev/null +++ b/plugins/silero/tsup.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'tsup'; + +import defaults from '../../tsup.config'; + +export default defineConfig({ + ...defaults, +}); diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 00000000..0ddde494 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,18 @@ +import { Options } from 'tsup'; + +const defaultOptions: Options = { + entry: ['src/index.ts'], + format: ['cjs', 'esm'], + splitting: false, + sourcemap: true, + // for the type maps to work, we use tsc's declaration-only command + dts: false, + clean: true, + target: 'node16', + esbuildOptions: (options, context) => { + if (context.format === 'esm') { + options.packages = 'external'; + } + }, +}; +export default defaultOptions; From c8e4a69bcb732f00b6c5ba72a8d0364fef71037a Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 21 Nov 2024 16:47:40 +0200 Subject: [PATCH 03/16] fix IIFE --- agents/package.json | 2 +- agents/src/ipc/job_main.ts | 1 - examples/package.json | 1 + examples/src/multimodal_agent.ts | 1 - pnpm-lock.yaml | 3 +++ 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/agents/package.json b/agents/package.json index 45c6d7ba..2ef1b072 100644 --- a/agents/package.json +++ b/agents/package.json @@ -13,7 +13,7 @@ "src" ], "scripts": { - "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", + "build": "tsup --splitting true --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.ts\"", diff --git a/agents/src/ipc/job_main.ts b/agents/src/ipc/job_main.ts index f986d17e..3f298ce7 100644 --- a/agents/src/ipc/job_main.ts +++ b/agents/src/ipc/job_main.ts @@ -90,7 +90,6 @@ const startJob = ( (async () => { if (process.send) { - console.log("AAAAAAAAAAAAAA") // process.argv: // [0] `node' // [1] import.meta.filename diff --git a/examples/package.json b/examples/package.json index cb870553..1e94c0c1 100644 --- a/examples/package.json +++ b/examples/package.json @@ -9,6 +9,7 @@ "minimal": "pnpm exec tsx src/minimal_assistant.ts" }, "devDependencies": { + "@types/node": "^22.5.5", "tsx": "^4.19.2", "typescript": "^5.0.0" }, diff --git a/examples/src/multimodal_agent.ts b/examples/src/multimodal_agent.ts index 1da73996..b6edd027 100644 --- a/examples/src/multimodal_agent.ts +++ b/examples/src/multimodal_agent.ts @@ -3,7 +3,6 @@ // SPDX-License-Identifier: Apache-2.0 const { JobContext, WorkerOptions, cli, defineAgent, llm, multimodal } = require('@livekit/agents'); const openai = require('@livekit/agents-plugin-openai'); -const { fileURLToPath } = require('node:url'); const { z } = require('zod'); export default defineAgent({ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50ddfe28..41f4aa23 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,6 +152,9 @@ importers: specifier: ^3.23.8 version: 3.23.8 devDependencies: + '@types/node': + specifier: ^22.5.5 + version: 22.5.5 tsx: specifier: ^4.19.2 version: 4.19.2 From 69b396823f62a394677e815a6a728857eee638d0 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Fri, 22 Nov 2024 03:36:45 +0200 Subject: [PATCH 04/16] make it work a bit more --- agents/package.json | 10 +++- examples/src/multimodal_agent.ts | 20 ++++---- examples/src/pipeline_voice_agent.ts | 70 ---------------------------- examples/src/stt.ts | 44 ----------------- examples/src/tts.ts | 50 -------------------- examples/tsconfig.json | 3 +- package.json | 4 +- plugins/deepgram/package.json | 8 ++++ plugins/elevenlabs/package.json | 8 ++++ plugins/openai/package.json | 8 ++++ plugins/silero/package.json | 8 ++++ pnpm-lock.yaml | 24 +++++----- tsup.config.ts | 25 +++++++++- 13 files changed, 93 insertions(+), 189 deletions(-) delete mode 100644 examples/src/pipeline_voice_agent.ts delete mode 100644 examples/src/stt.ts delete mode 100644 examples/src/tts.ts diff --git a/agents/package.json b/agents/package.json index 2ef1b072..4de86516 100644 --- a/agents/package.json +++ b/agents/package.json @@ -3,7 +3,15 @@ "version": "0.4.6", "description": "LiveKit Agents - Node.js", "main": "dist/index.js", + "require": "dist/index.cjs", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, "author": "LiveKit", "type": "module", "repository": "git@github.com:livekit/agents-js.git", @@ -13,7 +21,7 @@ "src" ], "scripts": { - "build": "tsup --splitting true --onSuccess \"tsc --declaration --emitDeclarationOnly\"", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.ts\"", diff --git a/examples/src/multimodal_agent.ts b/examples/src/multimodal_agent.ts index b6edd027..50c414c0 100644 --- a/examples/src/multimodal_agent.ts +++ b/examples/src/multimodal_agent.ts @@ -1,12 +1,12 @@ // SPDX-FileCopyrightText: 2024 LiveKit, Inc. // // SPDX-License-Identifier: Apache-2.0 -const { JobContext, WorkerOptions, cli, defineAgent, llm, multimodal } = require('@livekit/agents'); -const openai = require('@livekit/agents-plugin-openai'); -const { z } = require('zod'); +import agents = require('@livekit/agents'); +import openai = require('@livekit/agents-plugin-openai'); +import z = require('zod'); -export default defineAgent({ - entry: async (ctx: typeof JobContext) => { +module.exports = agents.defineAgent({ + entry: async (ctx: agents.JobContext) => { await ctx.connect(); console.log('waiting for participant'); @@ -29,7 +29,7 @@ export default defineAgent({ }); } - const fncCtx: llm.FunctionContext = { + const fncCtx: agents.llm.FunctionContext = { weather: { description: 'Get the weather in a location', parameters: z.object({ @@ -47,7 +47,7 @@ export default defineAgent({ }, }; - const agent = new multimodal.MultimodalAgent({ + const agent = new agents.multimodal.MultimodalAgent({ model, fncCtx, }); @@ -57,8 +57,8 @@ export default defineAgent({ .then((session) => session as openai.realtime.RealtimeSession); session.conversation.item.create( - llm.ChatMessage.create({ - role: llm.ChatRole.USER, + agents.llm.ChatMessage.create({ + role: agents.llm.ChatRole.USER, text: 'Say "How can I help you today?"', }), ); @@ -66,4 +66,4 @@ export default defineAgent({ }, }); -cli.runApp(new WorkerOptions({ agent: __filename })); +agents.cli.runApp(new agents.WorkerOptions({ agent: __filename })); diff --git a/examples/src/pipeline_voice_agent.ts b/examples/src/pipeline_voice_agent.ts deleted file mode 100644 index 07e527af..00000000 --- a/examples/src/pipeline_voice_agent.ts +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-FileCopyrightText: 2024 LiveKit, Inc. -// -// SPDX-License-Identifier: Apache-2.0 -import type { JobProcess } from '@livekit/agents'; -import { - AutoSubscribe, - type JobContext, - WorkerOptions, - cli, - defineAgent, - llm, - pipeline, -} from '@livekit/agents'; -import * as deepgram from '@livekit/agents-plugin-deepgram'; -import * as openai from '@livekit/agents-plugin-openai'; -import * as silero from '@livekit/agents-plugin-silero'; -import { fileURLToPath } from 'node:url'; -import { z } from 'zod'; - -export default defineAgent({ - prewarm: async (proc: JobProcess) => { - proc.userData.vad = await silero.VAD.load(); - }, - entry: async (ctx: JobContext) => { - const vad = ctx.proc.userData.vad! as silero.VAD; - const initialContext = new llm.ChatContext().append({ - role: llm.ChatRole.SYSTEM, - text: - 'You are a voice assistant created by LiveKit. Your interface with users will be voice. ' + - 'You should use short and concise responses, and avoiding usage of unpronounceable ' + - 'punctuation.', - }); - - await ctx.connect(undefined, AutoSubscribe.AUDIO_ONLY); - console.log('waiting for participant'); - const participant = await ctx.waitForParticipant(); - console.log(`starting assistant example agent for ${participant.identity}`); - - const fncCtx: llm.FunctionContext = { - weather: { - description: 'Get the weather in a location', - parameters: z.object({ - location: z.string().describe('The location to get the weather for'), - }), - execute: async ({ location }) => { - console.debug(`executing weather function for ${location}`); - const response = await fetch(`https://wttr.in/${location}?format=%C+%t`); - if (!response.ok) { - throw new Error(`Weather API returned status: ${response.status}`); - } - const weather = await response.text(); - return `The weather in ${location} right now is ${weather}.`; - }, - }, - }; - - const agent = new pipeline.VoicePipelineAgent( - vad, - new deepgram.STT(), - new openai.LLM(), - new openai.TTS(), - { chatCtx: initialContext, fncCtx }, - ); - agent.start(ctx.room, participant); - - await agent.say('Hey, how can I help you today', true); - }, -}); - -cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/src/stt.ts b/examples/src/stt.ts deleted file mode 100644 index 87ab4456..00000000 --- a/examples/src/stt.ts +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-FileCopyrightText: 2024 LiveKit, Inc. -// -// SPDX-License-Identifier: Apache-2.0 -import { type JobContext, WorkerOptions, cli, defineAgent, stt } from '@livekit/agents'; -import { STT } from '@livekit/agents-plugin-deepgram'; -import type { Track } from '@livekit/rtc-node'; -import { AudioStream, RoomEvent, TrackKind } from '@livekit/rtc-node'; -import { fileURLToPath } from 'node:url'; - -export default defineAgent({ - entry: async (ctx: JobContext) => { - await ctx.connect(); - console.log('starting STT example agent'); - - const transcribeTrack = async (track: Track) => { - const audioStream = new AudioStream(track); - const sttStream = new STT({ sampleRate: 48000 }).stream(); - - const sendTask = async () => { - for await (const event of audioStream) { - sttStream.pushFrame(event); - } - }; - - const recvTask = async () => { - for await (const event of sttStream) { - if (event.type === stt.SpeechEventType.FINAL_TRANSCRIPT) { - console.log(event.alternatives![0].text); - } - } - }; - - Promise.all([sendTask(), recvTask()]); - }; - - ctx.room.on(RoomEvent.TrackSubscribed, async (track: Track) => { - if (track.kind === TrackKind.KIND_AUDIO) { - transcribeTrack(track); - } - }); - }, -}); - -cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/src/tts.ts b/examples/src/tts.ts deleted file mode 100644 index 20b21097..00000000 --- a/examples/src/tts.ts +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-FileCopyrightText: 2024 LiveKit, Inc. -// -// SPDX-License-Identifier: Apache-2.0 -import { type JobContext, WorkerOptions, cli, defineAgent } from '@livekit/agents'; -import { SynthesizeStream, TTS } from '@livekit/agents-plugin-elevenlabs'; -import { - AudioSource, - LocalAudioTrack, - RoomEvent, - TrackPublishOptions, - TrackSource, -} from '@livekit/rtc-node'; -import { fileURLToPath } from 'node:url'; - -export default defineAgent({ - entry: async (ctx: JobContext) => { - await ctx.connect(); - - console.log('starting TTS example agent'); - - const source = new AudioSource(22050, 1); - const track = LocalAudioTrack.createAudioTrack('agent-mic', source); - const options = new TrackPublishOptions(); - options.source = TrackSource.SOURCE_MICROPHONE; - - await ctx.room.localParticipant?.publishTrack(track, options); - const stream = new TTS().stream(); - - ctx.room.on(RoomEvent.LocalTrackSubscribed, async () => { - console.log('speaking "Hello!"'); - stream.pushText('Hello!'); - stream.flush(); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - console.log('speaking "Goodbye!"'); - stream.pushText('Goodbye!'); - stream.flush(); - stream.endInput(); - }); - - for await (const audio of stream) { - if (audio !== SynthesizeStream.END_OF_STREAM) { - await source.captureFrame(audio.frame); - } - } - }, -}); - -cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/tsconfig.json b/examples/tsconfig.json index eb44cef9..ff743e82 100644 --- a/examples/tsconfig.json +++ b/examples/tsconfig.json @@ -5,6 +5,7 @@ // match output dir to input dir. e.g. dist/index instead of dist/src/index "rootDir": "./src", "declarationDir": "./dist", - "outDir": "./dist" + "outDir": "./dist", + "module": "commonjs" } } diff --git a/package.json b/package.json index 5801ce0a..e74ec8e6 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,9 @@ "pnpm": { "overrides": { "@livekit/protocol": "file:/home/nbsp/src/@livekit/protocol/packages/javascript", - "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc" + "@livekit/mutex": "file:/home/nbsp/src/@livekit/ts-mutex", + "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc", + "livekit-server-sdk": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk" } } } diff --git a/plugins/deepgram/package.json b/plugins/deepgram/package.json index 79efdaa5..6195d7e2 100644 --- a/plugins/deepgram/package.json +++ b/plugins/deepgram/package.json @@ -3,7 +3,15 @@ "version": "0.4.6", "description": "Deepgram plugin for LiveKit Agents for Node.js", "main": "dist/index.js", + "require": "dist/index.cjs", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, "author": "LiveKit", "type": "module", "repository": "git@github.com:livekit/agents-js.git", diff --git a/plugins/elevenlabs/package.json b/plugins/elevenlabs/package.json index 8d66dc79..a88fc50a 100644 --- a/plugins/elevenlabs/package.json +++ b/plugins/elevenlabs/package.json @@ -3,7 +3,15 @@ "version": "0.4.6", "description": "ElevenLabs plugin for LiveKit Node Agents", "main": "dist/index.js", + "require": "dist/index.cjs", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, "author": "LiveKit", "type": "module", "repository": "git@github.com:livekit/agents-js.git", diff --git a/plugins/openai/package.json b/plugins/openai/package.json index 7005f0f7..3f7c42ca 100644 --- a/plugins/openai/package.json +++ b/plugins/openai/package.json @@ -3,7 +3,15 @@ "version": "0.6.1", "description": "OpenAI plugin for LiveKit Node Agents", "main": "dist/index.js", + "require": "dist/index.cjs", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, "author": "LiveKit", "type": "module", "repository": "git@github.com:livekit/agents-js.git", diff --git a/plugins/silero/package.json b/plugins/silero/package.json index 685bea76..940cf4e7 100644 --- a/plugins/silero/package.json +++ b/plugins/silero/package.json @@ -3,7 +3,15 @@ "version": "0.4.6", "description": "Silero voice activity detection LiveKit Node Agents", "main": "dist/index.js", + "require": "dist/index.cjs", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, "author": "LiveKit", "type": "module", "repository": "git@github.com:livekit/agents-js.git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 41f4aa23..85956704 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,9 @@ settings: overrides: '@livekit/protocol': file:/home/nbsp/src/@livekit/protocol/packages/javascript + '@livekit/mutex': file:/home/nbsp/src/@livekit/ts-mutex '@livekit/rtc-node': file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc + livekit-server-sdk: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk importers: @@ -82,8 +84,8 @@ importers: agents: dependencies: '@livekit/mutex': - specifier: ^1.1.0 - version: 1.1.0 + specifier: file:/home/nbsp/src/@livekit/ts-mutex + version: file:../ts-mutex '@livekit/protocol': specifier: file:/home/nbsp/src/@livekit/protocol/packages/javascript version: file:../protocol/packages/javascript @@ -94,8 +96,8 @@ importers: specifier: ^12.0.0 version: 12.0.0 livekit-server-sdk: - specifier: ^2.8.1 - version: 2.8.1 + specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk + version: file:../node-sdks/packages/livekit-server-sdk pino: specifier: ^8.19.0 version: 8.21.0 @@ -1003,8 +1005,8 @@ packages: '@livekit/changesets-changelog-github@0.0.4': resolution: {integrity: sha512-MXaiLYwgkYciZb8G2wkVtZ1pJJzZmVx5cM30Q+ClslrIYyAqQhRbPmZDM79/5CGxb1MTemR/tfOM25tgJgAK0g==} - '@livekit/mutex@1.1.0': - resolution: {integrity: sha512-XRLG+z/0uoyDioupjUiskjI06Y51U/IXVPJn7qJ+R3J75XX01irYVBM9MpxeJahpVoe9QhU4moIEolX+HO9U9g==} + '@livekit/mutex@file:../ts-mutex': + resolution: {directory: ../ts-mutex, type: directory} '@livekit/protocol@file:../protocol/packages/javascript': resolution: {directory: ../protocol/packages/javascript, type: directory} @@ -2613,8 +2615,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - livekit-server-sdk@2.8.1: - resolution: {integrity: sha512-l8egXU10jPuRJM2Df9Gk/KPEk6tBV0JEGG19cD5QeQtyIMgqULCCd/5yyG2FRvcWRf7pEyZZMXi63zDn7uaKHQ==} + livekit-server-sdk@file:../node-sdks/packages/livekit-server-sdk: + resolution: {directory: ../node-sdks/packages/livekit-server-sdk, type: directory} engines: {node: '>=19'} load-tsconfig@0.2.5: @@ -4481,7 +4483,7 @@ snapshots: transitivePeerDependencies: - encoding - '@livekit/mutex@1.1.0': {} + '@livekit/mutex@file:../ts-mutex': {} '@livekit/protocol@file:../protocol/packages/javascript': dependencies: @@ -4490,7 +4492,7 @@ snapshots: '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': dependencies: '@bufbuild/protobuf': 2.2.1 - '@livekit/mutex': 1.1.0 + '@livekit/mutex': file:../ts-mutex '@livekit/typed-emitter': 3.0.0 '@livekit/typed-emitter@3.0.0': {} @@ -6294,7 +6296,7 @@ snapshots: lines-and-columns@1.2.4: {} - livekit-server-sdk@2.8.1: + livekit-server-sdk@file:../node-sdks/packages/livekit-server-sdk: dependencies: '@livekit/protocol': file:../protocol/packages/javascript camelcase-keys: 9.1.3 diff --git a/tsup.config.ts b/tsup.config.ts index 0ddde494..ef804716 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,7 +1,7 @@ import { Options } from 'tsup'; const defaultOptions: Options = { - entry: ['src/index.ts'], + entry: ['src/'], format: ['cjs', 'esm'], splitting: false, sourcemap: true, @@ -9,10 +9,33 @@ const defaultOptions: Options = { dts: false, clean: true, target: 'node16', + bundle: false, esbuildOptions: (options, context) => { if (context.format === 'esm') { options.packages = 'external'; } }, + plugins: [ + { + // https://github.com/egoist/tsup/issues/953#issuecomment-2294998890 + // ensuring that all local requires/imports in `.cjs` files import from `.cjs` files. + // require('./path') → require('./path.cjs') in `.cjs` files + // require('../path') → require('../path.cjs') in `.cjs` files + // from './path' → from './path.cjs' in `.cjs` files + // from '../path' → from '../path.cjs' in `.cjs` files + name: 'fix-cjs-imports', + renderChunk(code) { + if (this.format === 'cjs') { + const regexCjs = /require\((?['"])(?\.[^'"]+)\.js['"]\)/g; + const regexEsm = /from(?[\s]*)(?['"])(?\.[^'"]+)\.js['"]/g; + return { + code: code + .replace(regexCjs, 'require($$.cjs$)') + .replace(regexEsm, 'from$$$.cjs$'), + }; + } + }, + }, + ], }; export default defaultOptions; From a34b189071d29054b8fcc08ce7731602ed08361e Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 14:44:48 +0200 Subject: [PATCH 05/16] haaaands --- agents/src/ipc/job_main.ts | 2 +- examples/package.json | 1 + examples/pipeline_voice_agent.ts | 70 ++++++++++++++++++++++++++++++++ examples/src/multimodal_agent.ts | 21 +++++----- examples/stt.ts | 44 ++++++++++++++++++++ examples/tsconfig.json | 3 +- examples/tts.ts | 50 +++++++++++++++++++++++ plugins/silero/tsup.config.ts | 1 + tsup.config.ts | 4 +- 9 files changed, 182 insertions(+), 14 deletions(-) create mode 100644 examples/pipeline_voice_agent.ts create mode 100644 examples/stt.ts create mode 100644 examples/tts.ts diff --git a/agents/src/ipc/job_main.ts b/agents/src/ipc/job_main.ts index 3f298ce7..7e8f77c5 100644 --- a/agents/src/ipc/job_main.ts +++ b/agents/src/ipc/job_main.ts @@ -95,7 +95,7 @@ const startJob = ( // [1] import.meta.filename // [2] import.meta.filename of function containing entry file const moduleFile = process.argv[2]; - const agent: Agent = await import(pathToFileURL(moduleFile!).href).then((module) => { + const agent: Agent = await import(pathToFileURL(moduleFile!).pathname).then((module) => { const agent = module.default; if (agent === undefined || !isAgent(agent)) { throw new Error(`Unable to load agent: Missing or invalid default export in ${moduleFile}`); diff --git a/examples/package.json b/examples/package.json index 1e94c0c1..9eb8ffd2 100644 --- a/examples/package.json +++ b/examples/package.json @@ -1,6 +1,7 @@ { "private": true, "name": "livekit-agents-examples", + "type": "module", "scripts": { "build": "tsc", "clean": "rm -rf dist", diff --git a/examples/pipeline_voice_agent.ts b/examples/pipeline_voice_agent.ts new file mode 100644 index 00000000..07e527af --- /dev/null +++ b/examples/pipeline_voice_agent.ts @@ -0,0 +1,70 @@ +// SPDX-FileCopyrightText: 2024 LiveKit, Inc. +// +// SPDX-License-Identifier: Apache-2.0 +import type { JobProcess } from '@livekit/agents'; +import { + AutoSubscribe, + type JobContext, + WorkerOptions, + cli, + defineAgent, + llm, + pipeline, +} from '@livekit/agents'; +import * as deepgram from '@livekit/agents-plugin-deepgram'; +import * as openai from '@livekit/agents-plugin-openai'; +import * as silero from '@livekit/agents-plugin-silero'; +import { fileURLToPath } from 'node:url'; +import { z } from 'zod'; + +export default defineAgent({ + prewarm: async (proc: JobProcess) => { + proc.userData.vad = await silero.VAD.load(); + }, + entry: async (ctx: JobContext) => { + const vad = ctx.proc.userData.vad! as silero.VAD; + const initialContext = new llm.ChatContext().append({ + role: llm.ChatRole.SYSTEM, + text: + 'You are a voice assistant created by LiveKit. Your interface with users will be voice. ' + + 'You should use short and concise responses, and avoiding usage of unpronounceable ' + + 'punctuation.', + }); + + await ctx.connect(undefined, AutoSubscribe.AUDIO_ONLY); + console.log('waiting for participant'); + const participant = await ctx.waitForParticipant(); + console.log(`starting assistant example agent for ${participant.identity}`); + + const fncCtx: llm.FunctionContext = { + weather: { + description: 'Get the weather in a location', + parameters: z.object({ + location: z.string().describe('The location to get the weather for'), + }), + execute: async ({ location }) => { + console.debug(`executing weather function for ${location}`); + const response = await fetch(`https://wttr.in/${location}?format=%C+%t`); + if (!response.ok) { + throw new Error(`Weather API returned status: ${response.status}`); + } + const weather = await response.text(); + return `The weather in ${location} right now is ${weather}.`; + }, + }, + }; + + const agent = new pipeline.VoicePipelineAgent( + vad, + new deepgram.STT(), + new openai.LLM(), + new openai.TTS(), + { chatCtx: initialContext, fncCtx }, + ); + agent.start(ctx.room, participant); + + await agent.say('Hey, how can I help you today', true); + }, +}); + +cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/src/multimodal_agent.ts b/examples/src/multimodal_agent.ts index 50c414c0..4eee02fb 100644 --- a/examples/src/multimodal_agent.ts +++ b/examples/src/multimodal_agent.ts @@ -1,12 +1,13 @@ // SPDX-FileCopyrightText: 2024 LiveKit, Inc. // // SPDX-License-Identifier: Apache-2.0 -import agents = require('@livekit/agents'); -import openai = require('@livekit/agents-plugin-openai'); -import z = require('zod'); +import { type JobContext, WorkerOptions, cli, defineAgent, llm, multimodal } from '@livekit/agents'; +import * as openai from '@livekit/agents-plugin-openai'; +import { fileURLToPath } from 'node:url'; +import { z } from 'zod'; -module.exports = agents.defineAgent({ - entry: async (ctx: agents.JobContext) => { +export default defineAgent({ + entry: async (ctx: JobContext) => { await ctx.connect(); console.log('waiting for participant'); @@ -29,7 +30,7 @@ module.exports = agents.defineAgent({ }); } - const fncCtx: agents.llm.FunctionContext = { + const fncCtx: llm.FunctionContext = { weather: { description: 'Get the weather in a location', parameters: z.object({ @@ -47,7 +48,7 @@ module.exports = agents.defineAgent({ }, }; - const agent = new agents.multimodal.MultimodalAgent({ + const agent = new multimodal.MultimodalAgent({ model, fncCtx, }); @@ -57,8 +58,8 @@ module.exports = agents.defineAgent({ .then((session) => session as openai.realtime.RealtimeSession); session.conversation.item.create( - agents.llm.ChatMessage.create({ - role: agents.llm.ChatRole.USER, + llm.ChatMessage.create({ + role: llm.ChatRole.USER, text: 'Say "How can I help you today?"', }), ); @@ -66,4 +67,4 @@ module.exports = agents.defineAgent({ }, }); -agents.cli.runApp(new agents.WorkerOptions({ agent: __filename })); +cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/stt.ts b/examples/stt.ts new file mode 100644 index 00000000..87ab4456 --- /dev/null +++ b/examples/stt.ts @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: 2024 LiveKit, Inc. +// +// SPDX-License-Identifier: Apache-2.0 +import { type JobContext, WorkerOptions, cli, defineAgent, stt } from '@livekit/agents'; +import { STT } from '@livekit/agents-plugin-deepgram'; +import type { Track } from '@livekit/rtc-node'; +import { AudioStream, RoomEvent, TrackKind } from '@livekit/rtc-node'; +import { fileURLToPath } from 'node:url'; + +export default defineAgent({ + entry: async (ctx: JobContext) => { + await ctx.connect(); + console.log('starting STT example agent'); + + const transcribeTrack = async (track: Track) => { + const audioStream = new AudioStream(track); + const sttStream = new STT({ sampleRate: 48000 }).stream(); + + const sendTask = async () => { + for await (const event of audioStream) { + sttStream.pushFrame(event); + } + }; + + const recvTask = async () => { + for await (const event of sttStream) { + if (event.type === stt.SpeechEventType.FINAL_TRANSCRIPT) { + console.log(event.alternatives![0].text); + } + } + }; + + Promise.all([sendTask(), recvTask()]); + }; + + ctx.room.on(RoomEvent.TrackSubscribed, async (track: Track) => { + if (track.kind === TrackKind.KIND_AUDIO) { + transcribeTrack(track); + } + }); + }, +}); + +cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/examples/tsconfig.json b/examples/tsconfig.json index ff743e82..eb44cef9 100644 --- a/examples/tsconfig.json +++ b/examples/tsconfig.json @@ -5,7 +5,6 @@ // match output dir to input dir. e.g. dist/index instead of dist/src/index "rootDir": "./src", "declarationDir": "./dist", - "outDir": "./dist", - "module": "commonjs" + "outDir": "./dist" } } diff --git a/examples/tts.ts b/examples/tts.ts new file mode 100644 index 00000000..20b21097 --- /dev/null +++ b/examples/tts.ts @@ -0,0 +1,50 @@ +// SPDX-FileCopyrightText: 2024 LiveKit, Inc. +// +// SPDX-License-Identifier: Apache-2.0 +import { type JobContext, WorkerOptions, cli, defineAgent } from '@livekit/agents'; +import { SynthesizeStream, TTS } from '@livekit/agents-plugin-elevenlabs'; +import { + AudioSource, + LocalAudioTrack, + RoomEvent, + TrackPublishOptions, + TrackSource, +} from '@livekit/rtc-node'; +import { fileURLToPath } from 'node:url'; + +export default defineAgent({ + entry: async (ctx: JobContext) => { + await ctx.connect(); + + console.log('starting TTS example agent'); + + const source = new AudioSource(22050, 1); + const track = LocalAudioTrack.createAudioTrack('agent-mic', source); + const options = new TrackPublishOptions(); + options.source = TrackSource.SOURCE_MICROPHONE; + + await ctx.room.localParticipant?.publishTrack(track, options); + const stream = new TTS().stream(); + + ctx.room.on(RoomEvent.LocalTrackSubscribed, async () => { + console.log('speaking "Hello!"'); + stream.pushText('Hello!'); + stream.flush(); + + await new Promise((resolve) => setTimeout(resolve, 2000)); + + console.log('speaking "Goodbye!"'); + stream.pushText('Goodbye!'); + stream.flush(); + stream.endInput(); + }); + + for await (const audio of stream) { + if (audio !== SynthesizeStream.END_OF_STREAM) { + await source.captureFrame(audio.frame); + } + } + }, +}); + +cli.runApp(new WorkerOptions({ agent: fileURLToPath(import.meta.url) })); diff --git a/plugins/silero/tsup.config.ts b/plugins/silero/tsup.config.ts index 8ca20961..0c1c5eec 100644 --- a/plugins/silero/tsup.config.ts +++ b/plugins/silero/tsup.config.ts @@ -4,4 +4,5 @@ import defaults from '../../tsup.config'; export default defineConfig({ ...defaults, + external: [/\.\/.*\.onnx/], }); diff --git a/tsup.config.ts b/tsup.config.ts index ef804716..70e65e3d 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,7 +1,7 @@ import { Options } from 'tsup'; const defaultOptions: Options = { - entry: ['src/'], + entry: ['src/**/*.ts'], format: ['cjs', 'esm'], splitting: false, sourcemap: true, @@ -27,10 +27,12 @@ const defaultOptions: Options = { renderChunk(code) { if (this.format === 'cjs') { const regexCjs = /require\((?['"])(?\.[^'"]+)\.js['"]\)/g; + const regexDynamic = /import\((?['"])(?\.[^'"]+)\.js['"]\)/g; const regexEsm = /from(?[\s]*)(?['"])(?\.[^'"]+)\.js['"]/g; return { code: code .replace(regexCjs, 'require($$.cjs$)') + .replace(regexDynamic, 'import($$.cjs$)') .replace(regexEsm, 'from$$$.cjs$'), }; } From 097023272b5ae0b6ed590eff9d41f71e9623d176 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 14:49:58 +0200 Subject: [PATCH 06/16] enable shims for all --- agents/tsup.config.ts | 1 - tsup.config.ts | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/agents/tsup.config.ts b/agents/tsup.config.ts index a870589a..a94b826b 100644 --- a/agents/tsup.config.ts +++ b/agents/tsup.config.ts @@ -4,6 +4,5 @@ import defaults from '../tsup.config'; export default defineConfig({ ...defaults, - shims: true, }); diff --git a/tsup.config.ts b/tsup.config.ts index 70e65e3d..0bec84b5 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -10,6 +10,7 @@ const defaultOptions: Options = { clean: true, target: 'node16', bundle: false, + shims: true, esbuildOptions: (options, context) => { if (context.format === 'esm') { options.packages = 'external'; From ec654469cb14bc3ef2d6392d2760b6af755a4013 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 14:51:57 +0200 Subject: [PATCH 07/16] add REUSE --- REUSE.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REUSE.toml b/REUSE.toml index 1199189f..8c4b40cf 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -21,7 +21,7 @@ SPDX-License-Identifier = "Apache-2.0" # project configuration files [[annotations]] -path = [".prettierrc", ".prettierignore", ".eslintrc", "**.json"] +path = [".prettierrc", ".prettierignore", ".eslintrc", "**.json", "**/tsup.config.ts"] SPDX-FileCopyrightText = "2024 LiveKit, Inc." SPDX-License-Identifier = "Apache-2.0" From 39ac4832b6e193727a434e2377866c7d9a778429 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 14:53:45 +0200 Subject: [PATCH 08/16] oops --- examples/{ => src}/pipeline_voice_agent.ts | 0 examples/{ => src}/stt.ts | 0 examples/{ => src}/tts.ts | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename examples/{ => src}/pipeline_voice_agent.ts (100%) rename examples/{ => src}/stt.ts (100%) rename examples/{ => src}/tts.ts (100%) diff --git a/examples/pipeline_voice_agent.ts b/examples/src/pipeline_voice_agent.ts similarity index 100% rename from examples/pipeline_voice_agent.ts rename to examples/src/pipeline_voice_agent.ts diff --git a/examples/stt.ts b/examples/src/stt.ts similarity index 100% rename from examples/stt.ts rename to examples/src/stt.ts diff --git a/examples/tts.ts b/examples/src/tts.ts similarity index 100% rename from examples/tts.ts rename to examples/src/tts.ts From 5ca24aa27dfa15caa0519e32122bdc44660d2736 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 15:03:40 +0200 Subject: [PATCH 09/16] Create eight-carrots-notice.md --- .changeset/eight-carrots-notice.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .changeset/eight-carrots-notice.md diff --git a/.changeset/eight-carrots-notice.md b/.changeset/eight-carrots-notice.md new file mode 100644 index 00000000..4216969b --- /dev/null +++ b/.changeset/eight-carrots-notice.md @@ -0,0 +1,10 @@ +--- +"@livekit/agents": patch +"@livekit/agents-plugin-deepgram": patch +"@livekit/agents-plugin-elevenlabs": patch +"@livekit/agents-plugin-openai": patch +"@livekit/agents-plugin-silero": patch +"livekit-agents-examples": patch +--- + +support native CommonJS From 0d0b672dc3d74e9af1cbeb5a644b57a37d8029fd Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Mon, 25 Nov 2024 16:25:46 +0200 Subject: [PATCH 10/16] update ts-mutex --- agents/package.json | 2 +- package.json | 1 - pnpm-lock.yaml | 13 ++++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/agents/package.json b/agents/package.json index 4de86516..2d761f81 100644 --- a/agents/package.json +++ b/agents/package.json @@ -37,7 +37,7 @@ "typescript": "^5.0.0" }, "dependencies": { - "@livekit/mutex": "^1.1.0", + "@livekit/mutex": "^1.1.1", "@livekit/protocol": "^1.27.1", "@livekit/typed-emitter": "^3.0.0", "commander": "^12.0.0", diff --git a/package.json b/package.json index e74ec8e6..8f9ed74b 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "pnpm": { "overrides": { "@livekit/protocol": "file:/home/nbsp/src/@livekit/protocol/packages/javascript", - "@livekit/mutex": "file:/home/nbsp/src/@livekit/ts-mutex", "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc", "livekit-server-sdk": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85956704..8f9fde7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,6 @@ settings: overrides: '@livekit/protocol': file:/home/nbsp/src/@livekit/protocol/packages/javascript - '@livekit/mutex': file:/home/nbsp/src/@livekit/ts-mutex '@livekit/rtc-node': file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc livekit-server-sdk: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk @@ -84,8 +83,8 @@ importers: agents: dependencies: '@livekit/mutex': - specifier: file:/home/nbsp/src/@livekit/ts-mutex - version: file:../ts-mutex + specifier: ^1.1.1 + version: 1.1.1 '@livekit/protocol': specifier: file:/home/nbsp/src/@livekit/protocol/packages/javascript version: file:../protocol/packages/javascript @@ -1005,8 +1004,8 @@ packages: '@livekit/changesets-changelog-github@0.0.4': resolution: {integrity: sha512-MXaiLYwgkYciZb8G2wkVtZ1pJJzZmVx5cM30Q+ClslrIYyAqQhRbPmZDM79/5CGxb1MTemR/tfOM25tgJgAK0g==} - '@livekit/mutex@file:../ts-mutex': - resolution: {directory: ../ts-mutex, type: directory} + '@livekit/mutex@1.1.1': + resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} '@livekit/protocol@file:../protocol/packages/javascript': resolution: {directory: ../protocol/packages/javascript, type: directory} @@ -4483,7 +4482,7 @@ snapshots: transitivePeerDependencies: - encoding - '@livekit/mutex@file:../ts-mutex': {} + '@livekit/mutex@1.1.1': {} '@livekit/protocol@file:../protocol/packages/javascript': dependencies: @@ -4492,7 +4491,7 @@ snapshots: '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': dependencies: '@bufbuild/protobuf': 2.2.1 - '@livekit/mutex': file:../ts-mutex + '@livekit/mutex': 1.1.1 '@livekit/typed-emitter': 3.0.0 '@livekit/typed-emitter@3.0.0': {} From f3836790d007fb507c0c1b011f6c18c87ec29984 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Tue, 26 Nov 2024 17:56:10 +0200 Subject: [PATCH 11/16] move to node16 --- plugins/elevenlabs/src/tts.ts | 3 +-- plugins/openai/src/tts.ts | 3 ++- plugins/silero/package.json | 2 +- plugins/silero/tsup.config.ts | 1 - tsconfig.json | 4 ++-- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/plugins/elevenlabs/src/tts.ts b/plugins/elevenlabs/src/tts.ts index 1c73976e..64f5ebed 100644 --- a/plugins/elevenlabs/src/tts.ts +++ b/plugins/elevenlabs/src/tts.ts @@ -2,7 +2,6 @@ // // SPDX-License-Identifier: Apache-2.0 import { AsyncIterableQueue, log, tokenize, tts } from '@livekit/agents'; -import type { WordStream } from '@livekit/agents/dist/tokenize/tokenizer.js'; import { AudioFrame } from '@livekit/rtc-node'; import { randomUUID } from 'node:crypto'; import { URL } from 'node:url'; @@ -141,7 +140,7 @@ export class SynthesizeStream extends tts.SynthesizeStream { } async #run() { - const segments = new AsyncIterableQueue(); + const segments = new AsyncIterableQueue(); const tokenizeInput = async () => { let stream: tokenize.WordStream | null = null; diff --git a/plugins/openai/src/tts.ts b/plugins/openai/src/tts.ts index 909784c1..6ccd928f 100644 --- a/plugins/openai/src/tts.ts +++ b/plugins/openai/src/tts.ts @@ -73,7 +73,8 @@ export class TTS extends tts.TTS { } export class ChunkedStream extends tts.ChunkedStream { - constructor(stream: Promise) { + // set Promise to any because OpenAI returns an annoying Response type + constructor(stream: Promise) { super(); this.#run(stream); } diff --git a/plugins/silero/package.json b/plugins/silero/package.json index 940cf4e7..85af16da 100644 --- a/plugins/silero/package.json +++ b/plugins/silero/package.json @@ -21,7 +21,7 @@ "src" ], "scripts": { - "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", + "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\" && cp src/silero_vad.onnx dist/", "clean": "rm -rf dist", "clean:build": "pnpm clean && pnpm build", "lint": "eslint -f unix \"src/**/*.{ts,js}\"", diff --git a/plugins/silero/tsup.config.ts b/plugins/silero/tsup.config.ts index 0c1c5eec..8ca20961 100644 --- a/plugins/silero/tsup.config.ts +++ b/plugins/silero/tsup.config.ts @@ -4,5 +4,4 @@ import defaults from '../../tsup.config'; export default defineConfig({ ...defaults, - external: [/\.\/.*\.onnx/], }); diff --git a/tsconfig.json b/tsconfig.json index bf616a22..8a49e863 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "ES2022", - "module": "ES2022", - "moduleResolution": "node", + "module": "node16", + "moduleResolution": "node16", "declaration": true, "declarationMap": true, "allowJs": false, From 2b0adc4b6bf5801e239d94a7fa6d5d91601ed4d6 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Wed, 27 Nov 2024 19:18:33 +0200 Subject: [PATCH 12/16] add READMEs to outputted files --- agents/package.json | 5 +++-- package.json | 1 - plugins/deepgram/package.json | 3 ++- plugins/elevenlabs/package.json | 3 ++- plugins/openai/package.json | 3 ++- plugins/silero/package.json | 3 ++- pnpm-lock.yaml | 13 ++++++------- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/agents/package.json b/agents/package.json index 2d761f81..5679eb29 100644 --- a/agents/package.json +++ b/agents/package.json @@ -18,7 +18,8 @@ "license": "Apache-2.0", "files": [ "dist", - "src" + "src", + "README.md" ], "scripts": { "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", @@ -38,7 +39,7 @@ }, "dependencies": { "@livekit/mutex": "^1.1.1", - "@livekit/protocol": "^1.27.1", + "@livekit/protocol": "^1.28.0", "@livekit/typed-emitter": "^3.0.0", "commander": "^12.0.0", "livekit-server-sdk": "^2.8.1", diff --git a/package.json b/package.json index 8f9ed74b..fcb84669 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "packageManager": "pnpm@9.7.0", "pnpm": { "overrides": { - "@livekit/protocol": "file:/home/nbsp/src/@livekit/protocol/packages/javascript", "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc", "livekit-server-sdk": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk" } diff --git a/plugins/deepgram/package.json b/plugins/deepgram/package.json index 6195d7e2..298f57a0 100644 --- a/plugins/deepgram/package.json +++ b/plugins/deepgram/package.json @@ -18,7 +18,8 @@ "license": "Apache-2.0", "files": [ "dist", - "src" + "src", + "README.md" ], "scripts": { "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", diff --git a/plugins/elevenlabs/package.json b/plugins/elevenlabs/package.json index a88fc50a..268009ba 100644 --- a/plugins/elevenlabs/package.json +++ b/plugins/elevenlabs/package.json @@ -18,7 +18,8 @@ "license": "Apache-2.0", "files": [ "dist", - "src" + "src", + "README.md" ], "scripts": { "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", diff --git a/plugins/openai/package.json b/plugins/openai/package.json index 3f7c42ca..3eb5ad40 100644 --- a/plugins/openai/package.json +++ b/plugins/openai/package.json @@ -18,7 +18,8 @@ "license": "Apache-2.0", "files": [ "dist", - "src" + "src", + "README.md" ], "scripts": { "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\"", diff --git a/plugins/silero/package.json b/plugins/silero/package.json index 85af16da..20e0088c 100644 --- a/plugins/silero/package.json +++ b/plugins/silero/package.json @@ -18,7 +18,8 @@ "license": "Apache-2.0", "files": [ "dist", - "src" + "src", + "README.md" ], "scripts": { "build": "tsup --onSuccess \"tsc --declaration --emitDeclarationOnly\" && cp src/silero_vad.onnx dist/", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f9fde7f..aafc7d7e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,6 @@ settings: excludeLinksFromLockfile: false overrides: - '@livekit/protocol': file:/home/nbsp/src/@livekit/protocol/packages/javascript '@livekit/rtc-node': file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc livekit-server-sdk: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk @@ -86,8 +85,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 '@livekit/protocol': - specifier: file:/home/nbsp/src/@livekit/protocol/packages/javascript - version: file:../protocol/packages/javascript + specifier: ^1.28.0 + version: 1.28.0 '@livekit/typed-emitter': specifier: ^3.0.0 version: 3.0.0 @@ -1007,8 +1006,8 @@ packages: '@livekit/mutex@1.1.1': resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} - '@livekit/protocol@file:../protocol/packages/javascript': - resolution: {directory: ../protocol/packages/javascript, type: directory} + '@livekit/protocol@1.28.0': + resolution: {integrity: sha512-j7ifbZ1TVfrLDQEuyl4M5rOAS8mRNhpgGoSKE4z03gc012hUHThx227bD1M1BfFPTqNFHzpaGCu/HYE/l09dHw==} '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': resolution: {directory: ../node-sdks/packages/livekit-rtc, type: directory} @@ -4484,7 +4483,7 @@ snapshots: '@livekit/mutex@1.1.1': {} - '@livekit/protocol@file:../protocol/packages/javascript': + '@livekit/protocol@1.28.0': dependencies: '@bufbuild/protobuf': 1.10.0 @@ -6297,7 +6296,7 @@ snapshots: livekit-server-sdk@file:../node-sdks/packages/livekit-server-sdk: dependencies: - '@livekit/protocol': file:../protocol/packages/javascript + '@livekit/protocol': 1.28.0 camelcase-keys: 9.1.3 jose: 5.2.4 From ae867b586e22408d48858ae93b1805617b7ac166 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 28 Nov 2024 13:32:10 +0200 Subject: [PATCH 13/16] minor --- .changeset/eight-carrots-notice.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.changeset/eight-carrots-notice.md b/.changeset/eight-carrots-notice.md index 4216969b..32abf7db 100644 --- a/.changeset/eight-carrots-notice.md +++ b/.changeset/eight-carrots-notice.md @@ -1,10 +1,9 @@ --- -"@livekit/agents": patch -"@livekit/agents-plugin-deepgram": patch -"@livekit/agents-plugin-elevenlabs": patch -"@livekit/agents-plugin-openai": patch -"@livekit/agents-plugin-silero": patch -"livekit-agents-examples": patch +"@livekit/agents": minor +"@livekit/agents-plugin-deepgram": minor +"@livekit/agents-plugin-elevenlabs": minor +"@livekit/agents-plugin-openai": minor +"@livekit/agents-plugin-silero": minor --- support native CommonJS From ce0ae81533906a449a5fe5992e6dd02735f26f99 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 28 Nov 2024 13:36:51 +0200 Subject: [PATCH 14/16] update packages --- agents/package.json | 8 +-- examples/package.json | 2 +- package.json | 8 +-- plugins/deepgram/package.json | 4 +- plugins/elevenlabs/package.json | 4 +- plugins/openai/package.json | 4 +- plugins/silero/package.json | 4 +- pnpm-lock.yaml | 107 +++++++++++++++++++++++--------- 8 files changed, 91 insertions(+), 50 deletions(-) diff --git a/agents/package.json b/agents/package.json index 5679eb29..09775366 100644 --- a/agents/package.json +++ b/agents/package.json @@ -30,7 +30,7 @@ "api:update": "api-extractor run --local --typescript-compiler-folder ../node_modules/typescript --verbose" }, "devDependencies": { - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "@microsoft/api-extractor": "^7.35.0", "@types/node": "^22.5.5", "@types/ws": "^8.5.10", @@ -39,16 +39,16 @@ }, "dependencies": { "@livekit/mutex": "^1.1.1", - "@livekit/protocol": "^1.28.0", + "@livekit/protocol": "^1.28.1", "@livekit/typed-emitter": "^3.0.0", "commander": "^12.0.0", - "livekit-server-sdk": "^2.8.1", + "livekit-server-sdk": "^2.9.1", "pino": "^8.19.0", "pino-pretty": "^11.0.0", "ws": "^8.16.0", "zod": "^3.23.8" }, "peerDependencies": { - "@livekit/rtc-node": "^0.11.1" + "@livekit/rtc-node": "^0.12.1" } } diff --git a/examples/package.json b/examples/package.json index 9eb8ffd2..3bb34c59 100644 --- a/examples/package.json +++ b/examples/package.json @@ -20,7 +20,7 @@ "@livekit/agents-plugin-elevenlabs": "workspace:*", "@livekit/agents-plugin-openai": "workspace:*", "@livekit/agents-plugin-silero": "workspace:*", - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "zod": "^3.23.8" }, "version": null diff --git a/package.json b/package.json index fcb84669..45557861 100644 --- a/package.json +++ b/package.json @@ -44,11 +44,5 @@ "typescript": "^5.4.5", "vitest": "^1.6.0" }, - "packageManager": "pnpm@9.7.0", - "pnpm": { - "overrides": { - "@livekit/rtc-node": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc", - "livekit-server-sdk": "file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk" - } - } + "packageManager": "pnpm@9.7.0" } diff --git a/plugins/deepgram/package.json b/plugins/deepgram/package.json index 298f57a0..dde413de 100644 --- a/plugins/deepgram/package.json +++ b/plugins/deepgram/package.json @@ -31,7 +31,7 @@ }, "devDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", "tsup": "^8.3.5", @@ -42,6 +42,6 @@ }, "peerDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1" + "@livekit/rtc-node": "^0.12.1" } } diff --git a/plugins/elevenlabs/package.json b/plugins/elevenlabs/package.json index 268009ba..779cf15d 100644 --- a/plugins/elevenlabs/package.json +++ b/plugins/elevenlabs/package.json @@ -31,7 +31,7 @@ }, "devDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", "tsup": "^8.3.5", @@ -42,6 +42,6 @@ }, "peerDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1" + "@livekit/rtc-node": "^0.12.1" } } diff --git a/plugins/openai/package.json b/plugins/openai/package.json index 3eb5ad40..a615b39e 100644 --- a/plugins/openai/package.json +++ b/plugins/openai/package.json @@ -31,7 +31,7 @@ }, "devDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", "tsup": "^8.3.5", @@ -44,6 +44,6 @@ }, "peerDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1" + "@livekit/rtc-node": "^0.12.1" } } diff --git a/plugins/silero/package.json b/plugins/silero/package.json index 20e0088c..0d1a291e 100644 --- a/plugins/silero/package.json +++ b/plugins/silero/package.json @@ -31,7 +31,7 @@ }, "devDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1", + "@livekit/rtc-node": "^0.12.1", "@microsoft/api-extractor": "^7.35.0", "@types/ws": "^8.5.10", "onnxruntime-common": "^1.19.2", @@ -44,6 +44,6 @@ }, "peerDependencies": { "@livekit/agents": "workspace:^", - "@livekit/rtc-node": "^0.11.1" + "@livekit/rtc-node": "^0.12.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aafc7d7e..af676f9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@livekit/rtc-node': file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - livekit-server-sdk: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk - importers: .: @@ -85,8 +81,8 @@ importers: specifier: ^1.1.1 version: 1.1.1 '@livekit/protocol': - specifier: ^1.28.0 - version: 1.28.0 + specifier: ^1.28.1 + version: 1.29.1 '@livekit/typed-emitter': specifier: ^3.0.0 version: 3.0.0 @@ -94,8 +90,8 @@ importers: specifier: ^12.0.0 version: 12.0.0 livekit-server-sdk: - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-server-sdk - version: file:../node-sdks/packages/livekit-server-sdk + specifier: ^2.9.1 + version: 2.9.1 pino: specifier: ^8.19.0 version: 8.21.0 @@ -110,8 +106,8 @@ importers: version: 3.23.8 devDependencies: '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -146,8 +142,8 @@ importers: specifier: workspace:* version: link:../plugins/silero '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 zod: specifier: ^3.23.8 version: 3.23.8 @@ -172,8 +168,8 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -197,8 +193,8 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -228,8 +224,8 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -256,8 +252,8 @@ importers: specifier: workspace:^ version: link:../../agents '@livekit/rtc-node': - specifier: file:/home/nbsp/src/@livekit/node-sdks/packages/livekit-rtc - version: file:../node-sdks/packages/livekit-rtc + specifier: ^0.12.1 + version: 0.12.1 '@microsoft/api-extractor': specifier: ^7.35.0 version: 7.43.7(@types/node@22.5.5) @@ -1006,11 +1002,41 @@ packages: '@livekit/mutex@1.1.1': resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} - '@livekit/protocol@1.28.0': - resolution: {integrity: sha512-j7ifbZ1TVfrLDQEuyl4M5rOAS8mRNhpgGoSKE4z03gc012hUHThx227bD1M1BfFPTqNFHzpaGCu/HYE/l09dHw==} + '@livekit/protocol@1.29.1': + resolution: {integrity: sha512-OhxXTZlyM5f4ydnAq1p5azzzOtKWmIoCSVtyVj9rgE42zQI5JM1rR9pubVRZovouGSvEDSJx9yL4Js2IlIyM1Q==} + + '@livekit/rtc-node-darwin-arm64@0.12.1': + resolution: {integrity: sha512-GF+QnRp7yBK4AyeG3eZiuAzbQOH4+bkLSyTgb5A1CzGEca2XD5CSgKUeGtIgIglq0XmYzN6bvl260xUWPl0WCQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@livekit/rtc-node-darwin-x64@0.12.1': + resolution: {integrity: sha512-uORO+/W5jvCfuFcmzQ4q5WCgJX5EW7eUxgfUHSaIuzcwgxBxG4yagWDl9WkK6MY9V1j6fhAiNlJ3hPl8cYGUjA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@livekit/rtc-node-linux-arm64-gnu@0.12.1': + resolution: {integrity: sha512-8LIHq0nSwCjUMVPNfrohupH2ynhEFcYmidYa1KmHLkVlW+gyXBfy+QE7voAbXhTSbLZLDX58N5KGCQa61LSVAA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': - resolution: {directory: ../node-sdks/packages/livekit-rtc, type: directory} + '@livekit/rtc-node-linux-x64-gnu@0.12.1': + resolution: {integrity: sha512-8x5IKzcTmwGyy0I0CU5vzealCl7c0Fp4KMBakq/uUOavbh/Rs1nAsjT8flrXC09F4njXD1E9uYN6CMTN9uZeKw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@livekit/rtc-node-win32-x64-msvc@0.12.1': + resolution: {integrity: sha512-zPbvUnpHdDlkEW3AN8wIqa3Wwae26MV/gQmqmP+3AjZRog8hMZy9Fe48lJgZR6VobjFjw99wSgIytYZCdIOUqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@livekit/rtc-node@0.12.1': + resolution: {integrity: sha512-VNRobdI/CmZ8mVUV105uqFOH7BMDmK8VsNq4GrpWAdXKnQMVKoAjLmvFU2LVQMKP4qE9BG3aTi59BGYt/PCLiA==} engines: {node: '>= 18'} '@livekit/typed-emitter@3.0.0': @@ -2613,8 +2639,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - livekit-server-sdk@file:../node-sdks/packages/livekit-server-sdk: - resolution: {directory: ../node-sdks/packages/livekit-server-sdk, type: directory} + livekit-server-sdk@2.9.1: + resolution: {integrity: sha512-o+7aGhS6mqayo5+EJhaXLFNlgpr4TskBlLTld0SU3RPSnfO2jmMx30FqKHJiMfmEZSkepi0jsUT3YQbaRQ5/tQ==} engines: {node: '>=19'} load-tsconfig@0.2.5: @@ -4483,15 +4509,36 @@ snapshots: '@livekit/mutex@1.1.1': {} - '@livekit/protocol@1.28.0': + '@livekit/protocol@1.29.1': dependencies: '@bufbuild/protobuf': 1.10.0 - '@livekit/rtc-node@file:../node-sdks/packages/livekit-rtc': + '@livekit/rtc-node-darwin-arm64@0.12.1': + optional: true + + '@livekit/rtc-node-darwin-x64@0.12.1': + optional: true + + '@livekit/rtc-node-linux-arm64-gnu@0.12.1': + optional: true + + '@livekit/rtc-node-linux-x64-gnu@0.12.1': + optional: true + + '@livekit/rtc-node-win32-x64-msvc@0.12.1': + optional: true + + '@livekit/rtc-node@0.12.1': dependencies: '@bufbuild/protobuf': 2.2.1 '@livekit/mutex': 1.1.1 '@livekit/typed-emitter': 3.0.0 + optionalDependencies: + '@livekit/rtc-node-darwin-arm64': 0.12.1 + '@livekit/rtc-node-darwin-x64': 0.12.1 + '@livekit/rtc-node-linux-arm64-gnu': 0.12.1 + '@livekit/rtc-node-linux-x64-gnu': 0.12.1 + '@livekit/rtc-node-win32-x64-msvc': 0.12.1 '@livekit/typed-emitter@3.0.0': {} @@ -6294,9 +6341,9 @@ snapshots: lines-and-columns@1.2.4: {} - livekit-server-sdk@file:../node-sdks/packages/livekit-server-sdk: + livekit-server-sdk@2.9.1: dependencies: - '@livekit/protocol': 1.28.0 + '@livekit/protocol': 1.29.1 camelcase-keys: 9.1.3 jose: 5.2.4 From 451463ec2ac0c2724fbbccdca8876859528105dd Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Thu, 28 Nov 2024 23:35:49 +0200 Subject: [PATCH 15/16] remove comment from README --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 07973ded..9d08dda5 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,6 @@ originally written in Python. -> [!WARNING] -> We are aware of a bug concerning users of tsx under certain conditions. See [this -> issue](https://github.com/livekit/agents-js/issues/147) for more details and a fix. - ## ✨ [NEW] OpenAI Realtime API support We're partnering with OpenAI on a new MultimodalAgent API in the Agents framework. This class From 0b5a6b3eb5f9fa04f4fc684de314cbe5211ef00d Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Fri, 29 Nov 2024 10:09:22 +0200 Subject: [PATCH 16/16] update versions --- agents/package.json | 4 ++-- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/agents/package.json b/agents/package.json index 09775366..fa764740 100644 --- a/agents/package.json +++ b/agents/package.json @@ -39,10 +39,10 @@ }, "dependencies": { "@livekit/mutex": "^1.1.1", - "@livekit/protocol": "^1.28.1", + "@livekit/protocol": "^1.29.1", "@livekit/typed-emitter": "^3.0.0", "commander": "^12.0.0", - "livekit-server-sdk": "^2.9.1", + "livekit-server-sdk": "^2.9.2", "pino": "^8.19.0", "pino-pretty": "^11.0.0", "ws": "^8.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af676f9c..83cac5b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,7 +81,7 @@ importers: specifier: ^1.1.1 version: 1.1.1 '@livekit/protocol': - specifier: ^1.28.1 + specifier: ^1.29.1 version: 1.29.1 '@livekit/typed-emitter': specifier: ^3.0.0 @@ -90,8 +90,8 @@ importers: specifier: ^12.0.0 version: 12.0.0 livekit-server-sdk: - specifier: ^2.9.1 - version: 2.9.1 + specifier: ^2.9.2 + version: 2.9.2 pino: specifier: ^8.19.0 version: 8.21.0 @@ -2639,8 +2639,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - livekit-server-sdk@2.9.1: - resolution: {integrity: sha512-o+7aGhS6mqayo5+EJhaXLFNlgpr4TskBlLTld0SU3RPSnfO2jmMx30FqKHJiMfmEZSkepi0jsUT3YQbaRQ5/tQ==} + livekit-server-sdk@2.9.2: + resolution: {integrity: sha512-0ptNwSnuBDy1cPMEs2ylOlLcRYwoQ/7Ph2Ibq83jl9Pgr7Aa+30Lc6WkM0dYFsfrF607lyIxg0rU+CEz79q4gw==} engines: {node: '>=19'} load-tsconfig@0.2.5: @@ -6341,7 +6341,7 @@ snapshots: lines-and-columns@1.2.4: {} - livekit-server-sdk@2.9.1: + livekit-server-sdk@2.9.2: dependencies: '@livekit/protocol': 1.29.1 camelcase-keys: 9.1.3