diff --git a/docs/content/docs/components/PipecatAppBase.mdx b/docs/content/docs/components/PipecatAppBase.mdx index 0cceb054..9b5d364c 100644 --- a/docs/content/docs/components/PipecatAppBase.mdx +++ b/docs/content/docs/components/PipecatAppBase.mdx @@ -447,8 +447,8 @@ export default function Home() { }, transportOptions: { description: - "Optional configuration options for the transport (SmallWebRTC, Daily, WebSocket, or MoQ specific)", - type: "SmallWebRTCTransportConstructorOptions | DailyTransportConstructorOptions | WebSocketTransportConstructorOptions | MoqTransportOptions", + "Optional configuration options for the transport (SmallWebRTC, Daily, WebSocket, LiveKit, or MoQ specific)", + type: "SmallWebRTCTransportConstructorOptions | DailyTransportConstructorOptions | WebSocketTransportConstructorOptions | LiveKitTransportConstructorOptions |MoqTransportOptions", required: false, }, clientOptions: { diff --git a/package/package.json b/package/package.json index fc6ccd19..42d8b497 100644 --- a/package/package.json +++ b/package/package.json @@ -49,6 +49,7 @@ "@pipecat-ai/client-js": ">=1.13.0", "@pipecat-ai/client-react": ">=1.8.0", "@pipecat-ai/daily-transport": ">=1.6.0", + "@pipecat-ai/livekit-transport": ">=1.0.0", "@pipecat-ai/moq-transport": "^0.1.0", "@pipecat-ai/small-webrtc-transport": ">=1.9.0", "@pipecat-ai/websocket-transport": ">=1.6.2", @@ -73,6 +74,10 @@ "optional": true, "version": "^1.6.0" }, + "@pipecat-ai/livekit-transport": { + "optional": true, + "version": "^1.0.0" + }, "@pipecat-ai/moq-transport": { "optional": true, "version": "^0.1.0" @@ -126,12 +131,13 @@ "@daily-co/daily-js": "^0.85.0", "@eslint/js": "^9.36.0", "@ladle/react": "^5.0.3", - "@pipecat-ai/client-js": "^1.13.0", - "@pipecat-ai/client-react": "^1.8.0", - "@pipecat-ai/daily-transport": "^1.6.0", - "@pipecat-ai/moq-transport": "^0.1.0", - "@pipecat-ai/small-webrtc-transport": "^1.9.0", - "@pipecat-ai/websocket-transport": "^1.6.2", + "@pipecat-ai/client-js": "link:../../client/client-js", + "@pipecat-ai/client-react": "link:../../client/client-react", + "@pipecat-ai/daily-transport": "link:../../transports/transports/daily", + "@pipecat-ai/livekit-transport": "link:../../transports/transports/livekit-transport", + "@pipecat-ai/moq-transport": "link:../../transports/transports/moq-transport", + "@pipecat-ai/small-webrtc-transport": "link:../../transports/transports/small-webrtc-transport", + "@pipecat-ai/websocket-transport": "link:../../transports/transports/websocket-transport", "@tailwindcss/vite": "^4.1.13", "@types/node": "^22.18.8", "@types/react": "^19.1.16", diff --git a/package/src/components/PipecatAppBase.tsx b/package/src/components/PipecatAppBase.tsx index 870d1aa0..c347cbe7 100644 --- a/package/src/components/PipecatAppBase.tsx +++ b/package/src/components/PipecatAppBase.tsx @@ -14,6 +14,7 @@ import { } from "@pipecat-ai/client-js"; import { PipecatClientProvider } from "@pipecat-ai/client-react"; import type { DailyTransportConstructorOptions } from "@pipecat-ai/daily-transport"; +import type { LiveKitTransportConstructorOptions } from "@pipecat-ai/livekit-transport"; import type { SmallWebRTCTransport, SmallWebRTCTransportConstructorOptions, @@ -35,12 +36,13 @@ export interface PipecatBaseProps { response: TransportConnectionParams, ) => TransportConnectionParams | Promise; /** Type of transport to use for the connection */ - transportType: "smallwebrtc" | "daily" | "websocket" | "moq"; + transportType: "smallwebrtc" | "daily" | "websocket" | "livekit" | "moq"; /** Options for configuring the transport. */ transportOptions?: | SmallWebRTCTransportConstructorOptions | DailyTransportConstructorOptions | WebSocketTransportConstructorOptions + | LiveKitTransportConstructorOptions | MoqTransportOptions; /** Optional configuration options for the Pipecat client */ clientOptions?: Partial; @@ -66,7 +68,8 @@ export interface PipecatBaseProps { * @returns React.ReactNode */ children: - ((props: PipecatBaseChildProps) => React.ReactNode) | React.ReactNode; + | ((props: PipecatBaseChildProps) => React.ReactNode) + | React.ReactNode; } /** diff --git a/package/src/components/elements/SessionInfo.tsx b/package/src/components/elements/SessionInfo.tsx index 4938933d..842052c7 100644 --- a/package/src/components/elements/SessionInfo.tsx +++ b/package/src/components/elements/SessionInfo.tsx @@ -47,6 +47,8 @@ export const SessionInfo: React.FC = ({ transportTypeName = `Daily (v${Daily.version()})`; } else if (transportServiceName === "small-webrtc-transport") { transportTypeName = "Small WebRTC"; + } else if (transportServiceName === "livekit-transport") { + transportTypeName = "LiveKit"; } else if (transportServiceName === "moq-transport") { transportTypeName = "MoQ"; } diff --git a/package/src/lib/transports.ts b/package/src/lib/transports.ts index 020e10f6..27260c4b 100644 --- a/package/src/lib/transports.ts +++ b/package/src/lib/transports.ts @@ -1,6 +1,11 @@ import type { Transport } from "@pipecat-ai/client-js"; -export type TransportType = "daily" | "smallwebrtc" | "websocket" | "moq"; +export type TransportType = + | "daily" + | "smallwebrtc" + | "websocket" + | "livekit" + | "moq"; // Use the actual types from the packages without importing them at build time export type DailyTransportOptions = ConstructorParameters< @@ -12,6 +17,9 @@ export type SmallWebRTCTransportOptions = ConstructorParameters< export type WebSocketTransportOptions = ConstructorParameters< typeof import("@pipecat-ai/websocket-transport").WebSocketTransport >[0]; +export type LiveKitTransportOptions = ConstructorParameters< + typeof import("@pipecat-ai/livekit-transport").LiveKitTransport +>[0]; export type MoqTransportOptions = ConstructorParameters< typeof import("@pipecat-ai/moq-transport").MoqTransport >[0]; @@ -20,6 +28,7 @@ export interface TransportModule { DailyTransport: typeof import("@pipecat-ai/daily-transport").DailyTransport; SmallWebRTCTransport: typeof import("@pipecat-ai/small-webrtc-transport").SmallWebRTCTransport; WebSocketTransport: typeof import("@pipecat-ai/websocket-transport").WebSocketTransport; + LiveKitTransport: typeof import("@pipecat-ai/livekit-transport").LiveKitTransport; MoqTransport: typeof import("@pipecat-ai/moq-transport").MoqTransport; } @@ -46,6 +55,12 @@ export async function loadTransport(transportType: TransportType) { ); return { WebSocketTransport }; } + case "livekit": { + const { LiveKitTransport } = await import( + "@pipecat-ai/livekit-transport" + ); + return { LiveKitTransport }; + } case "moq": { const { MoqTransport } = await import("@pipecat-ai/moq-transport"); return { MoqTransport }; @@ -63,7 +78,9 @@ export async function loadTransport(transportType: TransportType) { ? "npm install @pipecat-ai/small-webrtc-transport" : transportType === "websocket" ? "npm install @pipecat-ai/websocket-transport" - : "npm install @pipecat-ai/moq-transport"; + : transportType === "livekit" + ? "npm install @pipecat-ai/livekit-transport" + : "npm install @pipecat-ai/moq-transport"; throw new Error( `Failed to load transport "${transportType}". Make sure the package is installed: ${installHint}. Original error: ${errorMessage}`, ); @@ -73,7 +90,7 @@ export async function loadTransport(transportType: TransportType) { /** * Creates a transport instance based on the transport type. * - * @param transportType - The type of transport to create ("daily", "smallwebrtc", "websocket", or "moq") + * @param transportType - The type of transport to create ("daily", "smallwebrtc", "websocket", "livekit",or "moq") * @param options - Transport-specific options * */ @@ -89,6 +106,10 @@ export async function createTransport( transportType: "websocket", options?: WebSocketTransportOptions, ): Promise; +export async function createTransport( + transportType: "livekit", + options?: LiveKitTransportOptions, +): Promise; export async function createTransport( transportType: "moq", options?: MoqTransportOptions, @@ -99,6 +120,7 @@ export async function createTransport( | DailyTransportOptions | SmallWebRTCTransportOptions | WebSocketTransportOptions + | LiveKitTransportOptions | MoqTransportOptions, ): Promise; export async function createTransport( @@ -107,6 +129,7 @@ export async function createTransport( | DailyTransportOptions | SmallWebRTCTransportOptions | WebSocketTransportOptions + | LiveKitTransportOptions | MoqTransportOptions, ): Promise { const transportModule = await loadTransport(transportType); @@ -133,6 +156,13 @@ export async function createTransport( } return new WebSocketTransport(options as WebSocketTransportOptions); } + case "livekit": { + const { LiveKitTransport } = transportModule; + if (!LiveKitTransport) { + throw new Error("LiveKitTransport not found in loaded module"); + } + return new LiveKitTransport(options as LiveKitTransportOptions); + } case "moq": { const { MoqTransport } = transportModule; if (!MoqTransport) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a497be31..252e8554 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -510,23 +510,26 @@ importers: specifier: ^5.0.3 version: 5.0.3(@types/node@22.18.8)(@types/react@19.1.16)(jiti@2.6.1)(lightningcss@1.32.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(tsx@4.20.5)(typescript@5.8.3)(yaml@2.8.3) '@pipecat-ai/client-js': - specifier: ^1.13.0 - version: 1.13.0 + specifier: link:../../client/client-js + version: link:../../client/client-js '@pipecat-ai/client-react': - specifier: ^1.8.0 - version: 1.8.0(@babel/core@7.29.7)(@babel/template@7.29.7)(@pipecat-ai/client-js@1.13.0)(@types/react@19.1.16)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: link:../../client/client-react + version: link:../../client/client-react '@pipecat-ai/daily-transport': - specifier: ^1.6.0 - version: 1.6.0(@pipecat-ai/client-js@1.13.0) + specifier: link:../../transports/transports/daily + version: link:../../transports/transports/daily + '@pipecat-ai/livekit-transport': + specifier: link:../../transports/transports/livekit-transport + version: link:../../transports/transports/livekit-transport '@pipecat-ai/moq-transport': - specifier: ^0.1.0 - version: 0.1.0(@pipecat-ai/client-js@1.13.0)(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) + specifier: link:../../transports/transports/moq-transport + version: link:../../transports/transports/moq-transport '@pipecat-ai/small-webrtc-transport': - specifier: ^1.9.0 - version: 1.9.0(@pipecat-ai/client-js@1.13.0) + specifier: link:../../transports/transports/small-webrtc-transport + version: link:../../transports/transports/small-webrtc-transport '@pipecat-ai/websocket-transport': - specifier: ^1.6.2 - version: 1.6.2(@pipecat-ai/client-js@1.13.0) + specifier: link:../../transports/transports/websocket-transport + version: link:../../transports/transports/websocket-transport '@tailwindcss/vite': specifier: ^4.1.13 version: 4.1.13(vite@7.3.5(@types/node@22.18.8)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.20.5)(yaml@2.8.3)) @@ -1173,105 +1176,89 @@ packages: resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] - libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] - libc: [glibc] '@img/sharp-linux-s390x@0.34.5': resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-wasm32@0.34.5': resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} @@ -1503,28 +1490,24 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@next/swc-linux-arm64-musl@15.5.18': resolution: {integrity: sha512-glaCczEWIrHsokFZ3pP08U4BpKxwIdnT+txdOM32OBgpL9Yw4aqx8NejmgtZQZOdstQ5f0L3CasIZudzCuD+nw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@next/swc-linux-x64-gnu@15.5.18': resolution: {integrity: sha512-oUfg2EgJmU3R0OCOWiokGFUTvZiPfXtriXiuF3YNxRoROCdgvTedHIzYoeKH34gsZxS/V7mHbfq2hpAHwhH1/A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@next/swc-linux-x64-musl@15.5.18': resolution: {integrity: sha512-JLxSP3KTd9iu/bvUMQxH7RJo9xKSHf55/6RPE4a6FTSZygGn7uvZbCej0AHXydwkggQGSD9UddSjwv6Xz5ESfA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@next/swc-win32-arm64-msvc@15.5.18': resolution: {integrity: sha512-ir1v7enP52K2HNz3tQQvwF+x7VNxBk1ciiZ18WBPvxf4C59IqdfmHPJYK3vH7rSxpuCVw/8C712wTXNAtEp+NA==} @@ -2097,42 +2080,36 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - libc: [glibc] '@rolldown/binding-linux-arm64-musl@1.1.2': resolution: {integrity: sha512-LjQP/iZLBu8o8PjIfk4x3At0/mT6h282pvz8Z5LAyhGbu/kDezyO7ea62rF5uoqmgnIYqbN/MqJ3Si3Aymi7xQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - libc: [musl] '@rolldown/binding-linux-ppc64-gnu@1.1.2': resolution: {integrity: sha512-X/7bVLWelEsbyWDUSXt7zVsTniLLPIY2n1rH58qr78l9i7MNbbxBWD8gI2vRfBWf4NUXJCUuQnfZDsp32LqsfQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - libc: [glibc] '@rolldown/binding-linux-s390x-gnu@1.1.2': resolution: {integrity: sha512-gb6dYKW/1KDorGXyy48glEBJs/sxVSC5pcVrox/pFGV4mvwSFeg2sK5L2tRkVsVlh7kueqOgg4GEcuipJcGuKg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - libc: [glibc] '@rolldown/binding-linux-x64-gnu@1.1.2': resolution: {integrity: sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - libc: [glibc] '@rolldown/binding-linux-x64-musl@1.1.2': resolution: {integrity: sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - libc: [musl] '@rolldown/binding-openharmony-arm64@1.1.2': resolution: {integrity: sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==} @@ -2197,79 +2174,66 @@ packages: resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.60.0': resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.60.0': resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.60.0': resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.60.0': resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.60.0': resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.60.0': resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.60.0': resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.60.0': resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.60.0': resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.60.0': resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.60.0': resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.60.0': resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openbsd-x64@4.60.0': resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==} @@ -2401,28 +2365,24 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [glibc] '@swc/core-linux-arm64-musl@1.13.5': resolution: {integrity: sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [musl] '@swc/core-linux-x64-gnu@1.13.5': resolution: {integrity: sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [glibc] '@swc/core-linux-x64-musl@1.13.5': resolution: {integrity: sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@swc/core-win32-arm64-msvc@1.13.5': resolution: {integrity: sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==} @@ -2531,56 +2491,48 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.1.12': resolution: {integrity: sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@tailwindcss/oxide-linux-arm64-musl@4.1.13': resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.1.12': resolution: {integrity: sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-x64-gnu@4.1.13': resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.1.12': resolution: {integrity: sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@tailwindcss/oxide-linux-x64-musl@4.1.13': resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.1.12': resolution: {integrity: sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==} @@ -2928,49 +2880,41 @@ packages: resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} cpu: [arm64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-arm64-musl@1.11.1': resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} cpu: [arm64] os: [linux] - libc: [musl] '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} cpu: [riscv64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} cpu: [riscv64] os: [linux] - libc: [musl] '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} cpu: [s390x] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-x64-gnu@1.11.1': resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} cpu: [x64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-x64-musl@1.11.1': resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} cpu: [x64] os: [linux] - libc: [musl] '@unrs/resolver-binding-wasm32-wasi@1.11.1': resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} @@ -4678,56 +4622,48 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] lightningcss-linux-arm64-gnu@1.32.0: resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] lightningcss-linux-arm64-musl@1.30.1: resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] lightningcss-linux-x64-gnu@1.30.1: resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] lightningcss-linux-x64-musl@1.30.1: resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] lightningcss-win32-arm64-msvc@1.30.1: resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} @@ -7511,22 +7447,6 @@ snapshots: - react - solid-js - '@moq/hang@0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)': - dependencies: - '@kixelated/libavjs-webcodecs-polyfill': 0.5.5 - '@libav.js/variant-opus-af': 6.9.8 - '@moq/json': 0.2.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/loc': 0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - '@svta/cml-iso-bmff': 1.0.2(@svta/cml-utils@1.5.0) - zod: 4.4.3 - transitivePeerDependencies: - - '@svta/cml-utils' - - '@types/react' - - react - - solid-js - '@moq/json@0.1.2(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/flate': 0.1.1 @@ -7538,17 +7458,6 @@ snapshots: - react - solid-js - '@moq/json@0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/flate': 0.1.1 - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react - - solid-js - '@moq/json@0.2.2(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/flate': 0.1.1 @@ -7560,17 +7469,6 @@ snapshots: - react - solid-js - '@moq/json@0.2.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/flate': 0.1.1 - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react - - solid-js - '@moq/loc@0.1.2(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/net': 0.1.9(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3) @@ -7580,15 +7478,6 @@ snapshots: - solid-js - zod - '@moq/loc@0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - transitivePeerDependencies: - - '@types/react' - - react - - solid-js - - zod - '@moq/msf@0.1.4(@types/react@19.1.11)(react@19.2.1)': dependencies: '@moq/net': 0.1.9(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3) @@ -7598,15 +7487,6 @@ snapshots: - react - solid-js - '@moq/msf@0.1.4(@types/react@19.1.16)(react@19.2.1)': - dependencies: - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react - - solid-js - '@moq/net@0.1.9(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/qmux': 0.1.3 @@ -7618,17 +7498,6 @@ snapshots: - react - solid-js - '@moq/net@0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/qmux': 0.1.3 - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - async-mutex: 0.5.0 - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react - - solid-js - '@moq/publish@0.2.17(@svta/cml-utils@1.5.0)(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/hang': 0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.11)(react@19.2.1) @@ -7642,19 +7511,6 @@ snapshots: - solid-js - zod - '@moq/publish@0.2.17(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/hang': 0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1) - '@moq/json': 0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - transitivePeerDependencies: - - '@svta/cml-utils' - - '@types/react' - - react - - solid-js - - zod - '@moq/qmux@0.1.3': dependencies: '@moq/web-socket-stream': 0.1.0 @@ -7664,11 +7520,6 @@ snapshots: '@types/react': 19.1.11 react: 19.2.1 - '@moq/signals@0.1.10(@types/react@19.1.16)(react@19.2.1)': - optionalDependencies: - '@types/react': 19.1.16 - react: 19.2.1 - '@moq/watch@0.2.19(@svta/cml-utils@1.5.0)(@types/react@19.1.11)(react@19.2.1)(zod@4.4.3)': dependencies: '@moq/hang': 0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.11)(react@19.2.1) @@ -7683,20 +7534,6 @@ snapshots: - solid-js - zod - '@moq/watch@0.2.19(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/hang': 0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1) - '@moq/json': 0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/msf': 0.1.4(@types/react@19.1.16)(react@19.2.1) - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - transitivePeerDependencies: - - '@svta/cml-utils' - - '@types/react' - - react - - solid-js - - zod - '@moq/web-socket-stream@0.1.0': {} '@mswjs/interceptors@0.39.7': @@ -7835,22 +7672,6 @@ snapshots: - solid-js - zod - '@pipecat-ai/moq-transport@0.1.0(@pipecat-ai/client-js@1.13.0)(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3)': - dependencies: - '@moq/hang': 0.2.16(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1) - '@moq/json': 0.1.2(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/net': 0.1.9(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/publish': 0.2.17(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@moq/signals': 0.1.10(@types/react@19.1.16)(react@19.2.1) - '@moq/watch': 0.2.19(@svta/cml-utils@1.5.0)(@types/react@19.1.16)(react@19.2.1)(zod@4.4.3) - '@pipecat-ai/client-js': 1.13.0 - transitivePeerDependencies: - - '@svta/cml-utils' - - '@types/react' - - react - - solid-js - - zod - '@pipecat-ai/small-webrtc-transport@1.9.0(@pipecat-ai/client-js@1.13.0)': dependencies: '@daily-co/daily-js': 0.86.0