diff --git a/Dockerfile b/Dockerfile index ad08bd37c6..2e93dbef0a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,4 +36,4 @@ ENV NODE_ENV=production # This reduces the attack surface by preventing container escape via root privileges USER node -CMD ["node", "dist/index.js"] +CMD ["node", "dist/index.mjs"] diff --git a/apps/macos/Sources/OpenClaw/CommandResolver.swift b/apps/macos/Sources/OpenClaw/CommandResolver.swift index c17f64e30e..c8398961e4 100644 --- a/apps/macos/Sources/OpenClaw/CommandResolver.swift +++ b/apps/macos/Sources/OpenClaw/CommandResolver.swift @@ -5,7 +5,7 @@ enum CommandResolver { private static let helperName = "openclaw" static func gatewayEntrypoint(in root: URL) -> String? { - let distEntry = root.appendingPathComponent("dist/index.js").path + let distEntry = root.appendingPathComponent("dist/index.mjs").path if FileManager().isReadableFile(atPath: distEntry) { return distEntry } let openclawEntry = root.appendingPathComponent("openclaw.mjs").path if FileManager().isReadableFile(atPath: openclawEntry) { return openclawEntry } @@ -271,7 +271,7 @@ enum CommandResolver { } let missingEntry = """ - openclaw entrypoint missing (looked for dist/index.js or openclaw.mjs); run pnpm build. + openclaw entrypoint missing (looked for dist/index.mjs or openclaw.mjs); run pnpm build. """ return self.errorCommand(with: missingEntry) @@ -360,10 +360,10 @@ enum CommandResolver { if command -v openclaw >/dev/null 2>&1; then CLI="$(command -v openclaw)" openclaw \(quotedArgs); - elif [ -n "${PRJ:-}" ] && [ -f "$PRJ/dist/index.js" ]; then + elif [ -n "${PRJ:-}" ] && [ -f "$PRJ/dist/index.mjs" ]; then if command -v node >/dev/null 2>&1; then - CLI="node $PRJ/dist/index.js" - node "$PRJ/dist/index.js" \(quotedArgs); + CLI="node $PRJ/dist/index.mjs" + node "$PRJ/dist/index.mjs" \(quotedArgs); else echo "Node >=22 required on remote host"; exit 127; fi diff --git a/apps/macos/Tests/OpenClawIPCTests/UtilitiesTests.swift b/apps/macos/Tests/OpenClawIPCTests/UtilitiesTests.swift index ddeef38dc1..12f5c07218 100644 --- a/apps/macos/Tests/OpenClawIPCTests/UtilitiesTests.swift +++ b/apps/macos/Tests/OpenClawIPCTests/UtilitiesTests.swift @@ -45,7 +45,7 @@ import Testing @Test func gatewayEntrypointPrefersDistOverBin() throws { let tmp = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true) .appendingPathComponent(UUID().uuidString, isDirectory: true) - let dist = tmp.appendingPathComponent("dist/index.js") + let dist = tmp.appendingPathComponent("dist/index.mjs") let bin = tmp.appendingPathComponent("bin/openclaw.js") try FileManager().createDirectory(at: dist.deletingLastPathComponent(), withIntermediateDirectories: true) try FileManager().createDirectory(at: bin.deletingLastPathComponent(), withIntermediateDirectories: true) diff --git a/docker-compose.yml b/docker-compose.yml index 5933d051ee..28aadf1040 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,7 +19,7 @@ services: command: [ "node", - "dist/index.js", + "dist/index.mjs", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND:-lan}", @@ -42,4 +42,4 @@ services: stdin_open: true tty: true init: true - entrypoint: ["node", "dist/index.js"] + entrypoint: ["node", "dist/index.mjs"] diff --git a/docker-setup.sh b/docker-setup.sh index 0395d20f42..9a65fb788c 100755 --- a/docker-setup.sh +++ b/docker-setup.sh @@ -211,4 +211,4 @@ echo "Token: $OPENCLAW_GATEWAY_TOKEN" echo "" echo "Commands:" echo " ${COMPOSE_HINT} logs -f openclaw-gateway" -echo " ${COMPOSE_HINT} exec openclaw-gateway node dist/index.js health --token \"$OPENCLAW_GATEWAY_TOKEN\"" +echo " ${COMPOSE_HINT} exec openclaw-gateway node dist/index.mjs health --token \"$OPENCLAW_GATEWAY_TOKEN\"" diff --git a/docs/install/docker.md b/docs/install/docker.md index f7097b12d8..11e2f5a523 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -163,7 +163,7 @@ RUN pnpm ui:build ENV NODE_ENV=production -CMD ["node","dist/index.js"] +CMD ["node","dist/index.mjs"] ``` ### Channel setup (optional) @@ -190,7 +190,7 @@ Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord]( ### Health check ```bash -docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLAW_GATEWAY_TOKEN" +docker compose exec openclaw-gateway node dist/index.mjs health --token "$OPENCLAW_GATEWAY_TOKEN" ``` ### E2E smoke test (Docker) diff --git a/docs/platforms/fly.md b/docs/platforms/fly.md index 227ab47fe1..4fa3c3a1ec 100644 --- a/docs/platforms/fly.md +++ b/docs/platforms/fly.md @@ -57,7 +57,7 @@ primary_region = "iad" NODE_OPTIONS = "--max-old-space-size=1536" [processes] - app = "node dist/index.js gateway --allow-unconfigured --port 3000 --bind lan" + app = "node dist/index.mjs gateway --allow-unconfigured --port 3000 --bind lan" [http_service] internal_port = 3000 @@ -332,10 +332,10 @@ If you need to change the startup command without a full redeploy: fly machines list # Update command -fly machine update --command "node dist/index.js gateway --port 3000 --bind lan" -y +fly machine update --command "node dist/index.mjs gateway --port 3000 --bind lan" -y # Or with memory increase -fly machine update --vm-memory 2048 --command "node dist/index.js gateway --port 3000 --bind lan" -y +fly machine update --vm-memory 2048 --command "node dist/index.mjs gateway --port 3000 --bind lan" -y ``` **Note:** After `fly deploy`, the machine command may reset to what's in `fly.toml`. If you made manual changes, re-apply them after deploy. diff --git a/docs/platforms/gcp.md b/docs/platforms/gcp.md index 10b110c778..c82c59a18d 100644 --- a/docs/platforms/gcp.md +++ b/docs/platforms/gcp.md @@ -271,7 +271,7 @@ services: command: [ "node", - "dist/index.js", + "dist/index.mjs", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND}", @@ -338,7 +338,7 @@ RUN pnpm ui:build ENV NODE_ENV=production -CMD ["node","dist/index.js"] +CMD ["node","dist/index.mjs"] ``` --- diff --git a/docs/platforms/hetzner.md b/docs/platforms/hetzner.md index f8932ab26e..0c9ffdc8e6 100644 --- a/docs/platforms/hetzner.md +++ b/docs/platforms/hetzner.md @@ -183,7 +183,7 @@ services: command: [ "node", - "dist/index.js", + "dist/index.mjs", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND}", @@ -250,7 +250,7 @@ RUN pnpm ui:build ENV NODE_ENV=production -CMD ["node","dist/index.js"] +CMD ["node","dist/index.mjs"] ``` --- diff --git a/docs/plugin.md b/docs/plugin.md index 383eedc493..ec0ec2e029 100644 --- a/docs/plugin.md +++ b/docs/plugin.md @@ -635,4 +635,4 @@ Plugins run in-process with the Gateway. Treat them as trusted code: Plugins can (and should) ship tests: - In-repo plugins can keep Vitest tests under `src/**` (example: `src/plugins/voice-call.plugin.test.ts`). -- Separately published plugins should run their own CI (lint/build/test) and validate `openclaw.extensions` points at the built entrypoint (`dist/index.js`). +- Separately published plugins should run their own CI (lint/build/test) and validate `openclaw.extensions` points at the built entrypoint (`dist/index.mjs`). diff --git a/fly.private.toml b/fly.private.toml index 8725a59164..ee37e7d344 100644 --- a/fly.private.toml +++ b/fly.private.toml @@ -22,7 +22,7 @@ primary_region = "iad" # change to your closest region NODE_OPTIONS = "--max-old-space-size=1536" [processes] - app = "node dist/index.js gateway --allow-unconfigured --port 3000 --bind lan" + app = "node dist/index.mjs gateway --allow-unconfigured --port 3000 --bind lan" # NOTE: No [http_service] block = no public ingress allocated. # The gateway will only be accessible via: diff --git a/fly.toml b/fly.toml index 6f49a97b21..73a250f95a 100644 --- a/fly.toml +++ b/fly.toml @@ -15,7 +15,7 @@ primary_region = "iad" # change to your closest region NODE_OPTIONS = "--max-old-space-size=1536" [processes] - app = "node dist/index.js gateway --allow-unconfigured --port 3000 --bind lan" + app = "node dist/index.mjs gateway --allow-unconfigured --port 3000 --bind lan" [http_service] internal_port = 3000 diff --git a/package.json b/package.json index 0945a64806..d7d579c7f5 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "version": "2026.1.29", "description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent", "type": "module", - "main": "dist/index.js", + "main": "dist/index.mjs", "exports": { - ".": "./dist/index.js", + ".": "./dist/index.mjs", "./plugin-sdk": "./dist/plugin-sdk/index.js", "./plugin-sdk/*": "./dist/plugin-sdk/*", "./cli-entry": "./openclaw.mjs" @@ -85,7 +85,7 @@ "docs:bin": "node scripts/build-docs-list.mjs", "docs:dev": "cd docs && mint dev", "docs:build": "cd docs && pnpm dlx --reporter append-only mint broken-links", - "build": "pnpm canvas:a2ui:bundle && tsc -p tsconfig.json && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts", + "build": "pnpm canvas:a2ui:bundle && tsdown && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts", "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts", "release:check": "node --import tsx scripts/release-check.ts", "ui:install": "node scripts/ui.js install", @@ -208,7 +208,7 @@ "yaml": "^2.8.2", "zod": "^4.3.6" }, - "optionalDependencies": { + "peerDependencies": { "@napi-rs/canvas": "^0.1.89", "node-llama-cpp": "3.15.1" }, @@ -236,6 +236,7 @@ "quicktype-core": "^23.2.6", "rolldown": "1.0.0-rc.2", "signal-utils": "^0.21.1", + "tsdown": "^0.20.1", "tsx": "^4.21.0", "typescript": "^5.9.3", "vitest": "^4.0.18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a98a9c9f2..967eafebdd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,6 +55,9 @@ importers: '@mozilla/readability': specifier: ^0.6.0 version: 0.6.0 + '@napi-rs/canvas': + specifier: ^0.1.89 + version: 0.1.89 '@sinclair/typebox': specifier: 0.34.47 version: 0.34.47 @@ -133,6 +136,9 @@ importers: node-edge-tts: specifier: ^1.2.9 version: 1.2.9 + node-llama-cpp: + specifier: 3.15.1 + version: 3.15.1(typescript@5.9.3) osc-progress: specifier: ^0.3.0 version: 0.3.0 @@ -242,6 +248,9 @@ importers: signal-utils: specifier: ^0.21.1 version: 0.21.1(signal-polyfill@0.2.2) + tsdown: + specifier: ^0.20.1 + version: 0.20.1(@typescript/native-preview@7.0.0-dev.20260130.1)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -254,13 +263,6 @@ importers: wireit: specifier: ^0.14.12 version: 0.14.12 - optionalDependencies: - '@napi-rs/canvas': - specifier: ^0.1.89 - version: 0.1.89 - node-llama-cpp: - specifier: 3.15.1 - version: 3.15.1(typescript@5.9.3) extensions/bluebubbles: {} @@ -699,19 +701,36 @@ packages: resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0-beta.4': + resolution: {integrity: sha512-5xRfRZk6wx1BRu2XnTE8cTh2mx1ixrZ3/vpn7p/RCJpgctL6pexVVHE3eqtwlYvHhPAuOYCAlnsAyXpBdmfh5Q==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@8.0.0-beta.4': + resolution: {integrity: sha512-FGwbdQ/I2nJXXfyxa7dT0Fr/zPWwgX7m+hNVj0HrIHYJtyLxSQeQY1Kd8QkAYviQJV3OWFlRLuGd5epF03bdQg==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-beta.4': + resolution: {integrity: sha512-6t0IaUEzlinbLmsGIvBZIHEJGjuchx+cMj+FbS78zL17tucYervgbwO07V5/CgBenVraontpmyMCTVyqCfxhFQ==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/parser@7.28.6': resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@8.0.0-beta.4': + resolution: {integrity: sha512-fBcUqUN3eenLyg25QFkOwY1lmV6L0RdG92g6gxyS2CVCY8kHdibkQz1+zV3bLzxcvNnfHoi3i9n5Dci+g93acg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + '@babel/runtime@7.28.6': resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} @@ -720,6 +739,10 @@ packages: resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} engines: {node: '>=6.9.0'} + '@babel/types@8.0.0-beta.4': + resolution: {integrity: sha512-xjk2xqYp25ePzAs0I08hN2lrbUDDQFfCjwq6MIEa8HwHa0WK8NfNtdvtXod8Ku2CbE1iui7qwWojGvjQiyrQeA==} + engines: {node: ^20.19.0 || >=22.12.0} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -1163,6 +1186,9 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -1854,6 +1880,9 @@ packages: resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} engines: {node: '>=14'} + '@oxc-project/types@0.110.0': + resolution: {integrity: sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==} + '@oxc-project/types@0.111.0': resolution: {integrity: sha512-bh54LJMafgRGl2cPQ/QM+tI5rWaShm/wK9KywEj/w36MhiPKXYM67H2y3q+9pr4YO7ufwg2AKdBAZkhHBD8ClA==} @@ -2015,6 +2044,9 @@ packages: engines: {node: '>=18'} hasBin: true + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@reflink/reflink-darwin-arm64@0.1.19': resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==} engines: {node: '>= 10'} @@ -2067,83 +2099,163 @@ packages: resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==} engines: {node: '>= 10'} + '@rolldown/binding-android-arm64@1.0.0-rc.1': + resolution: {integrity: sha512-He6ZoCfv5D7dlRbrhNBkuMVIHd0GDnjJwbICE1OWpG7G3S2gmJ+eXkcNLJjzjNDpeI2aRy56ou39AJM9AD8YFA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@rolldown/binding-android-arm64@1.0.0-rc.2': resolution: {integrity: sha512-AGV80viZ4Hil4C16GFH+PSwq10jclV9oyRFhD+5HdowPOCJ+G+99N5AClQvMkUMIahTY8cX0SQpKEEWcCg6fSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@rolldown/binding-darwin-arm64@1.0.0-rc.1': + resolution: {integrity: sha512-YzJdn08kSOXnj85ghHauH2iHpOJ6eSmstdRTLyaziDcUxe9SyQJgGyx/5jDIhDvtOcNvMm2Ju7m19+S/Rm1jFg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-arm64@1.0.0-rc.2': resolution: {integrity: sha512-PYR+PQu1mMmQiiKHN2JiOctvH32Xc/Mf+Su2RSmWtC9BbIqlqsVWjbulnShk0imjRim0IsbkMMCN5vYQwiuqaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-x64@1.0.0-rc.1': + resolution: {integrity: sha512-cIvAbqM+ZVV6lBSKSBtlNqH5iCiW933t1q8j0H66B3sjbe8AxIRetVqfGgcHcJtMzBIkIALlL9fcDrElWLJQcQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.0.0-rc.2': resolution: {integrity: sha512-X2G36Z6oh5ynoYpE2JAyG+uQ4kO/3N7XydM/I98FNk8VVgDKjajFF+v7TXJ2FMq6xa7Xm0UIUKHW2MRQroqoUA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@rolldown/binding-freebsd-x64@1.0.0-rc.1': + resolution: {integrity: sha512-rVt+B1B/qmKwCl1XD02wKfgh3vQPXRXdB/TicV2w6g7RVAM1+cZcpigwhLarqiVCxDObFZ7UgXCxPC7tpDoRog==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-freebsd-x64@1.0.0-rc.2': resolution: {integrity: sha512-XpiFTsl9qjiDfrmJF6CE3dgj1nmSbxUIT+p2HIbXV6WOj/32btO8FKkWSsOphUwVinEt3R8HVkVrcLtFNruMMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.1': + resolution: {integrity: sha512-69YKwJJBOFprQa1GktPgbuBOfnn+EGxu8sBJ1TjPER+zhSpYeaU4N07uqmyBiksOLGXsMegymuecLobfz03h8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.2': resolution: {integrity: sha512-zjYZ99e47Wlygs4hW+sQ+kshlO8ake9OoY2ecnJ9cwpDGiiIB9rQ3LgP3kt8j6IeVyMSksu//VEhc8Mrd1lRIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.1': + resolution: {integrity: sha512-9JDhHUf3WcLfnViFWm+TyorqUtnSAHaCzlSNmMOq824prVuuzDOK91K0Hl8DUcEb9M5x2O+d2/jmBMsetRIn3g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.2': resolution: {integrity: sha512-Piso04EZ9IHV1aZSsLQVMOPTiCq4Ps2UPL3pchjNXHGJGFiB9U42s22LubPaEBFS+i6tCawS5EarIwex1zC4BA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.1': + resolution: {integrity: sha512-UvApLEGholmxw/HIwmUnLq3CwdydbhaHHllvWiCTNbyGom7wTwOtz5OAQbAKZYyiEOeIXZNPkM7nA4Dtng7CLw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.2': resolution: {integrity: sha512-OwJCeMZlmjKsN9pfJfTmqYpe3JC+L6RO87+hu9ajRLr1Lh6cM2FRQ8e48DLRyRDww8Ti695XQvqEANEMmsuzLw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.1': + resolution: {integrity: sha512-uVctNgZHiGnJx5Fij7wHLhgw4uyZBVi6mykeWKOqE7bVy9Hcxn0fM/IuqdMwk6hXlaf9fFShDTFz2+YejP+x0A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.2': resolution: {integrity: sha512-uQqBmA8dTWbKvfqbeSsXNUssRGfdgQCc0hkGfhQN7Pf85wG2h0Fd/z2d+ykyT4YbcsjQdgEGxBNsg3v4ekOuEA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] + '@rolldown/binding-linux-x64-musl@1.0.0-rc.1': + resolution: {integrity: sha512-T6Eg0xWwcxd/MzBcuv4Z37YVbUbJxy5cMNnbIt/Yr99wFwli30O4BPlY8hKeGyn6lWNtU0QioBS46lVzDN38bg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + '@rolldown/binding-linux-x64-musl@1.0.0-rc.2': resolution: {integrity: sha512-ItZabVsICCYWHbP+jcAgNzjPAYg5GIVQp/NpqT6iOgWctaMYtobClc5m0kNtxwqfNrLXoyt998xUey4AvcxnGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] + '@rolldown/binding-openharmony-arm64@1.0.0-rc.1': + resolution: {integrity: sha512-PuGZVS2xNJyLADeh2F04b+Cz4NwvpglbtWACgrDOa5YDTEHKwmiTDjoD5eZ9/ptXtcpeFrMqD2H4Zn33KAh1Eg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-openharmony-arm64@1.0.0-rc.2': resolution: {integrity: sha512-U4UYANwafcMXSUC0VqdrqTAgCo2v8T7SiuTYwVFXgia0KOl8jiv3okwCFqeZNuw/G6EWDiqhT8kK1DLgyLsxow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@rolldown/binding-wasm32-wasi@1.0.0-rc.1': + resolution: {integrity: sha512-2mOxY562ihHlz9lEXuaGEIDCZ1vI+zyFdtsoa3M62xsEunDXQE+DVPO4S4x5MPK9tKulG/aFcA/IH5eVN257Cw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@rolldown/binding-wasm32-wasi@1.0.0-rc.2': resolution: {integrity: sha512-ZIWCjQsMon4tqRoao0Vzowjwx0cmFT3kublh2nNlgeasIJMWlIGHtr0d4fPypm57Rqx4o1h4L8SweoK2q6sMGA==} engines: {node: '>=14.0.0'} cpu: [wasm32] + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.1': + resolution: {integrity: sha512-oQVOP5cfAWZwRD0Q3nGn/cA9FW3KhMMuQ0NIndALAe6obqjLhqYVYDiGGRGrxvnjJsVbpLwR14gIUYnpIcHR1g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.2': resolution: {integrity: sha512-NIo7vwRUPEzZ4MuZGr5YbDdjJ84xdiG+YYf8ZBfTgvIsk9wM0sZamJPEXvaLkzVIHpOw5uqEHXS85Gqqb7aaqQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.1': + resolution: {integrity: sha512-Ydsxxx++FNOuov3wCBPaYjZrEvKOOGq3k+BF4BPridhg2pENfitSRD2TEuQ8i33bp5VptuNdC9IzxRKU031z5A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.2': resolution: {integrity: sha512-bLKzyLFbvngeNPZocuLo3LILrKwCrkyMxmRXs6fZYDrvh7cyZRw9v56maDL9ipPas0OOmQK1kAKYwvTs30G21Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@rolldown/pluginutils@1.0.0-rc.1': + resolution: {integrity: sha512-UTBjtTxVOhodhzFVp/ayITaTETRHPUPYZPXQe0WU0wOgxghMojXxYjOiPOauKIYNWJAWS2fd7gJgGQK8GU8vDA==} + '@rolldown/pluginutils@1.0.0-rc.2': resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} @@ -2603,6 +2715,9 @@ packages: '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/jsonwebtoken@9.0.10': resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} @@ -2888,6 +3003,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -2932,6 +3051,10 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@3.0.0-beta.1: + resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} + engines: {node: '>=20.19.0'} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -3051,6 +3174,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} @@ -3107,6 +3233,10 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + cacheable@2.3.2: resolution: {integrity: sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==} @@ -3351,6 +3481,9 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} @@ -3413,6 +3546,15 @@ packages: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -3438,6 +3580,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} @@ -3827,6 +3973,9 @@ packages: resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==} engines: {node: '>=16.9.0'} + hookable@6.0.1: + resolution: {integrity: sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==} + hookified@1.15.0: resolution: {integrity: sha512-51w+ZZGt7Zw5q7rM3nC4t3aLn/xvKDETsXqMczndvwyVQhAHfUmUuFBRFcos8Iyebtk7OAE9dL26wFNzZVVOkw==} @@ -3893,6 +4042,10 @@ packages: import-in-the-middle@2.0.6: resolution: {integrity: sha512-3vZV3jX0XRFW3EJDTwzWoZa+RH1b8eTTx6YOCjglrLyPuepwoBti1k3L2dKwdCUrnVEfc5CuRuGstaC/uQJJaw==} + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4032,6 +4185,11 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} @@ -4914,6 +5072,9 @@ packages: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -5022,6 +5183,30 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true + rolldown-plugin-dts@0.21.8: + resolution: {integrity: sha512-czOQoe6eZpRKCv9P+ijO/v4A2TwQjASAV7qezUxRZSua06Yb2REPIZv/mbfXiZDP1ZfI7Ez7re7qfK9F9u0Epw==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-beta.57 + typescript: ^5.0.0 + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-rc.1: + resolution: {integrity: sha512-M3AeZjYE6UclblEf531Hch0WfVC/NOL43Cc+WdF3J50kk5/fvouHhDumSGTh0oRjbZ8C4faaVr5r6Nx1xMqDGg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rolldown@1.0.0-rc.2: resolution: {integrity: sha512-1g/8Us9J8sgJGn3hZfBecX1z4U3y5KO7V/aV2U1M/9UUzLNqHA8RfFQ/NPT7HLxOIldyIgrcjaYTRvA81KhJIg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5383,9 +5568,38 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} + tsdown@0.20.1: + resolution: {integrity: sha512-Wo1BzqNQVZ6SFQV8rjQBwMmNubO+yV3F+vp2WNTjEaS4S5CT1C1dHtUbeFMrCEasZpGy5w6TshpehNnfTe8QBQ==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -5445,6 +5659,9 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} + unconfig-core@7.4.2: + resolution: {integrity: sha512-VgPCvLWugINbXvMQDf8Jh0mlbvNjNC6eSUziHsBCMpxR05OPrNrvDnyatdMjRgcHaaNsCqz+wjNXxNw1kRLHUg==} + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -5475,6 +5692,16 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unrun@0.2.26: + resolution: {integrity: sha512-A3DQLBcDyTui4Hlaoojkldg+8x+CIR+tcSHY0wzW+CgB4X/DNyH58jJpXp1B/EkE+yG6tU8iH1mWsLtwFU3IQg==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -6221,14 +6448,31 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/generator@8.0.0-beta.4': + dependencies: + '@babel/parser': 8.0.0-beta.4 + '@babel/types': 8.0.0-beta.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@8.0.0-beta.4': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@8.0.0-beta.4': {} + '@babel/parser@7.28.6': dependencies: '@babel/types': 7.28.6 + '@babel/parser@8.0.0-beta.4': + dependencies: + '@babel/types': 8.0.0-beta.4 + '@babel/runtime@7.28.6': {} '@babel/types@7.28.6': @@ -6236,6 +6480,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@8.0.0-beta.4': + dependencies: + '@babel/helper-string-parser': 8.0.0-beta.4 + '@babel/helper-validator-identifier': 8.0.0-beta.4 + '@bcoe/v8-coverage@1.0.2': {} '@borewit/text-codec@0.2.1': {} @@ -6508,8 +6757,7 @@ snapshots: hono: 4.11.4 optional: true - '@huggingface/jinja@0.5.4': - optional: true + '@huggingface/jinja@0.5.4': {} '@img/colour@1.0.0': {} @@ -6626,6 +6874,11 @@ snapshots: dependencies: minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.5': {} @@ -6650,10 +6903,8 @@ snapshots: debug: 4.4.3 transitivePeerDependencies: - supports-color - optional: true - '@kwsites/promise-deferred@1.1.1': - optional: true + '@kwsites/promise-deferred@1.1.1': {} '@lancedb/lancedb-darwin-arm64@0.23.0': optional: true @@ -6969,7 +7220,6 @@ snapshots: '@napi-rs/canvas-linux-x64-musl': 0.1.89 '@napi-rs/canvas-win32-arm64-msvc': 0.1.89 '@napi-rs/canvas-win32-x64-msvc': 0.1.89 - optional: true '@napi-rs/wasm-runtime@1.1.1': dependencies: @@ -7048,7 +7298,6 @@ snapshots: '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) '@octokit/types': 16.0.0 '@octokit/webhooks': 14.2.0 - optional: true '@octokit/auth-app@8.1.2': dependencies: @@ -7060,7 +7309,6 @@ snapshots: toad-cache: 3.7.0 universal-github-app-jwt: 2.2.2 universal-user-agent: 7.0.3 - optional: true '@octokit/auth-oauth-app@9.0.3': dependencies: @@ -7069,7 +7317,6 @@ snapshots: '@octokit/request': 10.0.7 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/auth-oauth-device@8.0.3': dependencies: @@ -7077,7 +7324,6 @@ snapshots: '@octokit/request': 10.0.7 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/auth-oauth-user@6.0.2': dependencies: @@ -7086,16 +7332,13 @@ snapshots: '@octokit/request': 10.0.7 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 - optional: true - '@octokit/auth-token@6.0.0': - optional: true + '@octokit/auth-token@6.0.0': {} '@octokit/auth-unauthenticated@7.0.3': dependencies: '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 - optional: true '@octokit/core@7.0.6': dependencies: @@ -7106,20 +7349,17 @@ snapshots: '@octokit/types': 16.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/endpoint@11.0.2': dependencies: '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/graphql@9.0.3': dependencies: '@octokit/request': 10.0.7 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/oauth-app@8.0.3': dependencies: @@ -7131,10 +7371,8 @@ snapshots: '@octokit/oauth-methods': 6.0.2 '@types/aws-lambda': 8.10.160 universal-user-agent: 7.0.3 - optional: true - '@octokit/oauth-authorization-url@8.0.0': - optional: true + '@octokit/oauth-authorization-url@8.0.0': {} '@octokit/oauth-methods@6.0.2': dependencies: @@ -7142,30 +7380,24 @@ snapshots: '@octokit/request': 10.0.7 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 - optional: true - '@octokit/openapi-types@27.0.0': - optional: true + '@octokit/openapi-types@27.0.0': {} - '@octokit/openapi-webhooks-types@12.1.0': - optional: true + '@octokit/openapi-webhooks-types@12.1.0': {} '@octokit/plugin-paginate-graphql@6.0.0(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 - optional: true '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 '@octokit/types': 16.0.0 - optional: true '@octokit/plugin-rest-endpoint-methods@17.0.0(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 '@octokit/types': 16.0.0 - optional: true '@octokit/plugin-retry@8.0.3(@octokit/core@7.0.6)': dependencies: @@ -7173,19 +7405,16 @@ snapshots: '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 bottleneck: 2.19.5 - optional: true '@octokit/plugin-throttling@11.0.3(@octokit/core@7.0.6)': dependencies: '@octokit/core': 7.0.6 '@octokit/types': 16.0.0 bottleneck: 2.19.5 - optional: true '@octokit/request-error@7.1.0': dependencies: '@octokit/types': 16.0.0 - optional: true '@octokit/request@10.0.7': dependencies: @@ -7194,22 +7423,18 @@ snapshots: '@octokit/types': 16.0.0 fast-content-type-parse: 3.0.0 universal-user-agent: 7.0.3 - optional: true '@octokit/types@16.0.0': dependencies: '@octokit/openapi-types': 27.0.0 - optional: true - '@octokit/webhooks-methods@6.0.0': - optional: true + '@octokit/webhooks-methods@6.0.0': {} '@octokit/webhooks@14.2.0': dependencies: '@octokit/openapi-webhooks-types': 12.1.0 '@octokit/request-error': 7.1.0 '@octokit/webhooks-methods': 6.0.0 - optional: true '@opentelemetry/api-logs@0.211.0': dependencies: @@ -7446,6 +7671,8 @@ snapshots: '@opentelemetry/semantic-conventions@1.39.0': {} + '@oxc-project/types@0.110.0': {} + '@oxc-project/types@0.111.0': {} '@oxfmt/darwin-arm64@0.27.0': @@ -7561,6 +7788,10 @@ snapshots: - react-native-b4a - supports-color + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@reflink/reflink-darwin-arm64@0.1.19': optional: true @@ -7597,47 +7828,90 @@ snapshots: '@reflink/reflink-win32-x64-msvc': 0.1.19 optional: true + '@rolldown/binding-android-arm64@1.0.0-rc.1': + optional: true + '@rolldown/binding-android-arm64@1.0.0-rc.2': optional: true + '@rolldown/binding-darwin-arm64@1.0.0-rc.1': + optional: true + '@rolldown/binding-darwin-arm64@1.0.0-rc.2': optional: true + '@rolldown/binding-darwin-x64@1.0.0-rc.1': + optional: true + '@rolldown/binding-darwin-x64@1.0.0-rc.2': optional: true + '@rolldown/binding-freebsd-x64@1.0.0-rc.1': + optional: true + '@rolldown/binding-freebsd-x64@1.0.0-rc.2': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.1': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.2': optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.1': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.2': optional: true + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.1': + optional: true + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.2': optional: true + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.1': + optional: true + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.2': optional: true + '@rolldown/binding-linux-x64-musl@1.0.0-rc.1': + optional: true + '@rolldown/binding-linux-x64-musl@1.0.0-rc.2': optional: true + '@rolldown/binding-openharmony-arm64@1.0.0-rc.1': + optional: true + '@rolldown/binding-openharmony-arm64@1.0.0-rc.2': optional: true + '@rolldown/binding-wasm32-wasi@1.0.0-rc.1': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + '@rolldown/binding-wasm32-wasi@1.0.0-rc.2': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.1': + optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.2': optional: true + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.1': + optional: true + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.2': optional: true + '@rolldown/pluginutils@1.0.0-rc.1': {} + '@rolldown/pluginutils@1.0.0-rc.2': {} '@rollup/rollup-android-arm-eabi@4.57.1': @@ -8120,8 +8394,7 @@ snapshots: '@thi.ng/errors@2.6.2': optional: true - '@tinyhttp/content-disposition@2.2.3': - optional: true + '@tinyhttp/content-disposition@2.2.3': {} '@tokenizer/inflate@0.4.1': dependencies: @@ -8190,8 +8463,7 @@ snapshots: tslib: 2.8.1 optional: true - '@types/aws-lambda@8.10.160': - optional: true + '@types/aws-lambda@8.10.160': {} '@types/body-parser@1.19.6': dependencies: @@ -8251,6 +8523,8 @@ snapshots: '@types/http-errors@2.0.5': {} + '@types/jsesc@2.5.1': {} + '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 @@ -8593,8 +8867,7 @@ snapshots: another-json@0.2.0: {} - ansi-escapes@6.2.1: - optional: true + ansi-escapes@6.2.1: {} ansi-regex@5.0.1: {} @@ -8606,6 +8879,8 @@ snapshots: ansi-styles@6.2.3: {} + ansis@4.2.0: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -8625,14 +8900,12 @@ snapshots: json-bignum: 0.0.3 tslib: 2.8.1 - aproba@2.1.0: - optional: true + aproba@2.1.0: {} are-we-there-yet@3.0.1: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - optional: true argparse@2.0.1: {} @@ -8650,6 +8923,12 @@ snapshots: assertion-error@2.0.1: {} + ast-kit@3.0.0-beta.1: + dependencies: + '@babel/parser': 8.0.0-beta.4 + estree-walker: 3.0.3 + pathe: 2.0.3 + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -8669,7 +8948,6 @@ snapshots: async-retry@1.3.3: dependencies: retry: 0.13.1 - optional: true asynckit@0.4.0: {} @@ -8760,13 +9038,14 @@ snapshots: dependencies: tweetnacl: 0.14.5 - before-after-hook@4.0.0: - optional: true + before-after-hook@4.0.0: {} bignumber.js@9.3.1: {} binary-extensions@2.3.0: {} + birpc@4.0.0: {} + bluebird@3.7.2: {} body-parser@1.20.4: @@ -8840,6 +9119,8 @@ snapshots: bytes@3.1.2: {} + cac@6.7.14: {} + cacheable@2.3.2: dependencies: '@cacheable/memory': 2.0.7 @@ -8875,8 +9156,7 @@ snapshots: chalk@5.6.2: {} - chmodrp@1.0.2: - optional: true + chmodrp@1.0.2: {} chokidar@3.6.0: dependencies: @@ -8917,8 +9197,7 @@ snapshots: - typescript - utf-8-validate - ci-info@4.4.0: - optional: true + ci-info@4.4.0: {} cjs-module-lexer@2.2.0: {} @@ -8929,7 +9208,6 @@ snapshots: cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 - optional: true cli-highlight@2.1.11: dependencies: @@ -8940,8 +9218,7 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 yargs: 16.2.0 - cli-spinners@2.9.2: - optional: true + cli-spinners@2.9.2: {} cliui@7.0.4: dependencies: @@ -8973,7 +9250,6 @@ snapshots: yargs: 17.7.2 transitivePeerDependencies: - supports-color - optional: true codec-parser@2.5.0: optional: true @@ -8986,8 +9262,7 @@ snapshots: color-name@1.1.4: {} - color-support@1.1.3: - optional: true + color-support@1.1.3: {} combined-stream@1.0.8: dependencies: @@ -9007,15 +9282,13 @@ snapshots: table-layout: 4.1.1 typical: 7.3.0 - commander@10.0.1: - optional: true + commander@10.0.1: {} commander@14.0.3: {} commander@8.3.0: {} - console-control-strings@1.1.0: - optional: true + console-control-strings@1.1.0: {} content-disposition@0.5.4: dependencies: @@ -9090,11 +9363,12 @@ snapshots: dependencies: ms: 2.1.3 - deep-extend@0.6.0: - optional: true + deep-extend@0.6.0: {} deepmerge@4.3.1: {} + defu@6.1.4: {} + degenerator@5.0.1: dependencies: ast-types: 0.13.4 @@ -9103,8 +9377,7 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: - optional: true + delegates@1.0.0: {} depd@2.0.0: {} @@ -9150,6 +9423,8 @@ snapshots: dotenv@17.2.3: {} + dts-resolver@2.1.3: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -9169,13 +9444,14 @@ snapshots: ee-first@1.1.1: {} - emoji-regex@10.6.0: - optional: true + emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + empathic@2.0.0: {} + encodeurl@2.0.0: {} end-of-stream@1.4.5: @@ -9188,8 +9464,7 @@ snapshots: env-paths@2.2.1: {} - env-var@7.5.0: - optional: true + env-var@7.5.0: {} error-ex@1.3.4: dependencies: @@ -9366,8 +9641,7 @@ snapshots: extsprintf@1.3.0: {} - fast-content-type-parse@3.0.0: - optional: true + fast-content-type-parse@3.0.0: {} fast-deep-equal@3.1.3: {} @@ -9415,13 +9689,11 @@ snapshots: transitivePeerDependencies: - supports-color - filename-reserved-regex@3.0.0: - optional: true + filename-reserved-regex@3.0.0: {} filenamify@6.0.0: dependencies: filename-reserved-regex: 3.0.0 - optional: true fill-range@7.1.1: dependencies: @@ -9505,7 +9777,6 @@ snapshots: graceful-fs: 4.2.11 jsonfile: 6.2.0 universalify: 2.0.1 - optional: true fsevents@2.3.2: optional: true @@ -9525,7 +9796,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - optional: true gaxios@7.1.3: dependencies: @@ -9660,8 +9930,7 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: - optional: true + has-unicode@2.0.1: {} hash.js@1.1.7: dependencies: @@ -9682,6 +9951,8 @@ snapshots: hono@4.11.4: {} + hookable@6.0.1: {} + hookified@1.15.0: {} html-escaper@2.0.2: {} @@ -9768,10 +10039,11 @@ snapshots: cjs-module-lexer: 2.2.0 module-details-from-path: 1.0.4 + import-without-cache@0.2.5: {} + inherits@2.0.4: {} - ini@1.3.8: - optional: true + ini@1.3.8: {} ip-address@10.1.0: {} @@ -9800,7 +10072,6 @@ snapshots: strip-ansi: 7.1.2 optionalDependencies: '@reflink/reflink': 0.1.19 - optional: true ircv3@0.33.0: dependencies: @@ -9830,14 +10101,12 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: get-east-asian-width: 1.4.0 - optional: true is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-interactive@2.0.0: - optional: true + is-interactive@2.0.0: {} is-number@7.0.0: {} @@ -9851,11 +10120,9 @@ snapshots: is-typedarray@1.0.0: {} - is-unicode-supported@1.3.0: - optional: true + is-unicode-supported@1.3.0: {} - is-unicode-supported@2.1.0: - optional: true + is-unicode-supported@2.1.0: {} is-url@1.2.4: {} @@ -9863,8 +10130,7 @@ snapshots: isexe@2.0.0: {} - isexe@3.1.1: - optional: true + isexe@3.1.1: {} isstream@0.1.2: {} @@ -9907,6 +10173,8 @@ snapshots: jsbn@0.1.1: {} + jsesc@3.1.0: {} + json-bigint@1.0.0: dependencies: bignumber.js: 9.3.1 @@ -9937,7 +10205,6 @@ snapshots: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - optional: true jsonwebtoken@9.0.3: dependencies: @@ -10003,11 +10270,9 @@ snapshots: dependencies: immediate: 3.0.6 - lifecycle-utils@2.1.0: - optional: true + lifecycle-utils@2.1.0: {} - lifecycle-utils@3.0.1: - optional: true + lifecycle-utils@3.0.1: {} lightningcss-android-arm64@1.30.2: optional: true @@ -10095,8 +10360,7 @@ snapshots: lodash.clonedeep@4.5.0: {} - lodash.debounce@4.0.8: - optional: true + lodash.debounce@4.0.8: {} lodash.includes@4.3.0: {} @@ -10118,13 +10382,11 @@ snapshots: dependencies: chalk: 5.6.2 is-unicode-supported: 1.3.0 - optional: true log-symbols@7.0.1: dependencies: is-unicode-supported: 2.1.0 yoctocolors: 2.1.2 - optional: true long@4.0.0: {} @@ -10141,7 +10403,6 @@ snapshots: lowdb@7.0.1: dependencies: steno: 4.0.2 - optional: true lru-cache@10.4.3: {} @@ -10202,7 +10463,6 @@ snapshots: memory-stream@1.0.0: dependencies: readable-stream: 3.6.2 - optional: true merge-descriptors@1.0.3: {} @@ -10231,8 +10491,7 @@ snapshots: mime@1.6.0: {} - mimic-function@5.0.1: - optional: true + mimic-function@5.0.1: {} minimalistic-assert@1.0.1: {} @@ -10244,8 +10503,7 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimist@1.2.8: - optional: true + minimist@1.2.8: {} minipass@7.1.2: {} @@ -10303,8 +10561,7 @@ snapshots: nanoid@3.3.11: {} - nanoid@5.1.6: - optional: true + nanoid@5.1.6: {} negotiator@0.6.3: {} @@ -10312,11 +10569,9 @@ snapshots: netmask@2.0.2: {} - node-addon-api@8.5.0: - optional: true + node-addon-api@8.5.0: {} - node-api-headers@1.8.0: - optional: true + node-api-headers@1.8.0: {} node-domexception@1.0.0: {} @@ -10390,7 +10645,6 @@ snapshots: typescript: 5.9.3 transitivePeerDependencies: - supports-color - optional: true node-wav@0.0.2: optional: true @@ -10417,7 +10671,6 @@ snapshots: console-control-strings: 1.1.0 gauge: 4.0.4 set-blocking: 2.0.0 - optional: true nth-check@2.1.1: dependencies: @@ -10446,7 +10699,6 @@ snapshots: '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 '@octokit/webhooks': 14.2.0 - optional: true ogg-opus-decoder@1.7.3: dependencies: @@ -10479,7 +10731,6 @@ snapshots: onetime@7.0.0: dependencies: mimic-function: 5.0.1 - optional: true openai@6.10.0(ws@8.19.0)(zod@4.3.6): optionalDependencies: @@ -10507,7 +10758,6 @@ snapshots: stdin-discarder: 0.2.2 string-width: 7.2.0 strip-ansi: 7.1.2 - optional: true osc-progress@0.3.0: {} @@ -10603,11 +10853,9 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-ms@3.0.0: - optional: true + parse-ms@3.0.0: {} - parse-ms@4.0.0: - optional: true + parse-ms@4.0.0: {} parse-srcset@1.0.2: {} @@ -10708,18 +10956,15 @@ snapshots: postgres@3.4.8: {} - pretty-bytes@6.1.1: - optional: true + pretty-bytes@6.1.1: {} pretty-ms@8.0.0: dependencies: parse-ms: 3.0.0 - optional: true pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 - optional: true prism-media@1.3.5: optional: true @@ -10868,6 +11113,8 @@ snapshots: qs@6.5.3: {} + quansync@1.0.0: {} + queue-microtask@1.2.3: {} quick-format-unescaped@4.0.4: {} @@ -10913,7 +11160,6 @@ snapshots: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - optional: true readable-stream@2.3.8: dependencies: @@ -10930,7 +11176,6 @@ snapshots: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - optional: true readable-stream@4.5.2: dependencies: @@ -11005,7 +11250,6 @@ snapshots: dependencies: onetime: 7.0.0 signal-exit: 4.1.0 - optional: true retry@0.12.0: {} @@ -11017,6 +11261,42 @@ snapshots: dependencies: glob: 10.5.0 + rolldown-plugin-dts@0.21.8(@typescript/native-preview@7.0.0-dev.20260130.1)(rolldown@1.0.0-rc.1)(typescript@5.9.3): + dependencies: + '@babel/generator': 8.0.0-beta.4 + '@babel/parser': 8.0.0-beta.4 + '@babel/types': 8.0.0-beta.4 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.13.1 + obug: 2.1.1 + rolldown: 1.0.0-rc.1 + optionalDependencies: + '@typescript/native-preview': 7.0.0-dev.20260130.1 + typescript: 5.9.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.0.0-rc.1: + dependencies: + '@oxc-project/types': 0.110.0 + '@rolldown/pluginutils': 1.0.0-rc.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-rc.1 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.1 + '@rolldown/binding-darwin-x64': 1.0.0-rc.1 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.1 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.1 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.1 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.1 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.1 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.1 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.1 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.1 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.1 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.1 + rolldown@1.0.0-rc.2: dependencies: '@oxc-project/types': 0.111.0 @@ -11156,8 +11436,7 @@ snapshots: transitivePeerDependencies: - supports-color - set-blocking@2.0.0: - optional: true + set-blocking@2.0.0: {} setimmediate@1.0.5: {} @@ -11247,7 +11526,6 @@ snapshots: debug: 4.4.3 transitivePeerDependencies: - supports-color - optional: true simple-yenc@1.0.4: optional: true @@ -11260,14 +11538,12 @@ snapshots: sisteransi@1.0.5: {} - sleep-promise@9.1.0: - optional: true + sleep-promise@9.1.0: {} slice-ansi@7.1.2: dependencies: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 - optional: true smart-buffer@4.2.0: {} @@ -11340,8 +11616,7 @@ snapshots: std-env@3.10.0: {} - stdin-discarder@0.2.2: - optional: true + stdin-discarder@0.2.2: {} stdout-update@4.0.1: dependencies: @@ -11349,7 +11624,6 @@ snapshots: ansi-styles: 6.2.3 string-width: 7.2.0 strip-ansi: 7.1.2 - optional: true stealthy-require@1.1.1: {} @@ -11357,8 +11631,7 @@ snapshots: dependencies: graceful-fs: 4.2.11 - steno@4.0.2: - optional: true + steno@4.0.2: {} streamx@2.23.0: dependencies: @@ -11386,7 +11659,6 @@ snapshots: emoji-regex: 10.6.0 get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 - optional: true string_decoder@1.1.1: dependencies: @@ -11404,8 +11676,7 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-json-comments@2.0.1: - optional: true + strip-json-comments@2.0.1: {} strnum@2.1.2: {} @@ -11498,8 +11769,7 @@ snapshots: dependencies: is-number: 7.0.0 - toad-cache@3.7.0: - optional: true + toad-cache@3.7.0: {} toidentifier@1.0.1: {} @@ -11518,8 +11788,37 @@ snapshots: tr46@0.0.3: {} + tree-kill@1.2.2: {} + ts-algebra@2.0.0: {} + tsdown@0.20.1(@typescript/native-preview@7.0.0-dev.20260130.1)(typescript@5.9.3): + dependencies: + ansis: 4.2.0 + cac: 6.7.14 + defu: 6.1.4 + empathic: 2.0.0 + hookable: 6.0.1 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.3 + rolldown: 1.0.0-rc.1 + rolldown-plugin-dts: 0.21.8(@typescript/native-preview@7.0.0-dev.20260130.1)(rolldown@1.0.0-rc.1)(typescript@5.9.3) + semver: 7.7.3 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig-core: 7.4.2 + unrun: 0.2.26 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit + - vue-tsc + tslib@2.8.1: {} tslog@4.10.2: {} @@ -11568,6 +11867,11 @@ snapshots: uint8array-extras@1.5.0: {} + unconfig-core@7.4.2: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + undici-types@6.21.0: {} undici-types@7.16.0: {} @@ -11584,25 +11888,25 @@ snapshots: pako: 0.2.9 tiny-inflate: 1.0.3 - universal-github-app-jwt@2.2.2: - optional: true + universal-github-app-jwt@2.2.2: {} - universal-user-agent@7.0.3: - optional: true + universal-user-agent@7.0.3: {} - universalify@2.0.1: - optional: true + universalify@2.0.1: {} unpipe@1.0.0: {} + unrun@0.2.26: + dependencies: + rolldown: 1.0.0-rc.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 urijs@1.19.11: {} - url-join@4.0.1: - optional: true + url-join@4.0.1: {} util-deprecate@1.0.2: {} @@ -11614,8 +11918,7 @@ snapshots: uuid@8.3.2: {} - validate-npm-package-name@6.0.2: - optional: true + validate-npm-package-name@6.0.2: {} vary@1.1.2: {} @@ -11700,7 +12003,6 @@ snapshots: which@5.0.0: dependencies: isexe: 3.1.1 - optional: true why-is-node-running@2.3.0: dependencies: @@ -11710,7 +12012,6 @@ snapshots: wide-align@1.1.5: dependencies: string-width: 4.2.3 - optional: true win-guid@0.2.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index acf898add8..2b9450ff10 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -12,3 +12,4 @@ onlyBuiltDependencies: - esbuild - protobufjs - sharp + - '@napi-rs/canvas' diff --git a/scripts/e2e/gateway-network-docker.sh b/scripts/e2e/gateway-network-docker.sh index e0faf0115e..d24c456126 100644 --- a/scripts/e2e/gateway-network-docker.sh +++ b/scripts/e2e/gateway-network-docker.sh @@ -31,7 +31,7 @@ echo "Starting gateway container..." -e "OPENCLAW_SKIP_CRON=1" \ -e "OPENCLAW_SKIP_CANVAS_HOST=1" \ "$IMAGE_NAME" \ - bash -lc "node dist/index.js gateway --port $PORT --bind lan --allow-unconfigured > /tmp/gateway-net-e2e.log 2>&1" + bash -lc "node dist/index.mjs gateway --port $PORT --bind lan --allow-unconfigured > /tmp/gateway-net-e2e.log 2>&1" echo "Waiting for gateway to come up..." for _ in $(seq 1 20); do diff --git a/scripts/e2e/onboard-docker.sh b/scripts/e2e/onboard-docker.sh index 6e9a74ced6..8cbf8f9c95 100755 --- a/scripts/e2e/onboard-docker.sh +++ b/scripts/e2e/onboard-docker.sh @@ -83,7 +83,7 @@ TRASH } start_gateway() { - node dist/index.js gateway --port 18789 --bind loopback --allow-unconfigured > /tmp/gateway-e2e.log 2>&1 & + node dist/index.mjs gateway --port 18789 --bind loopback --allow-unconfigured > /tmp/gateway-e2e.log 2>&1 & GATEWAY_PID="$!" } @@ -185,7 +185,7 @@ TRASH local validate_fn="${4:-}" # Default onboarding command wrapper. - run_wizard_cmd "$case_name" "$home_dir" "node dist/index.js onboard $ONBOARD_FLAGS" "$send_fn" true "$validate_fn" + run_wizard_cmd "$case_name" "$home_dir" "node dist/index.mjs onboard $ONBOARD_FLAGS" "$send_fn" true "$validate_fn" } make_home() { @@ -268,7 +268,7 @@ TRASH home_dir="$(make_home local-basic)" export HOME="$home_dir" mkdir -p "$HOME" - node dist/index.js onboard \ + node dist/index.mjs onboard \ --non-interactive \ --accept-risk \ --flow quickstart \ @@ -345,7 +345,7 @@ NODE export HOME="$home_dir" mkdir -p "$HOME" # Smoke test non-interactive remote config write. - node dist/index.js onboard --non-interactive --accept-risk \ + node dist/index.mjs onboard --non-interactive --accept-risk \ --mode remote \ --remote-url ws://gateway.local:18789 \ --remote-token remote-token \ @@ -398,7 +398,7 @@ NODE } JSON - node dist/index.js onboard \ + node dist/index.mjs onboard \ --non-interactive \ --accept-risk \ --flow quickstart \ @@ -441,7 +441,7 @@ NODE local home_dir home_dir="$(make_home channels)" # Channels-only configure flow. - run_wizard_cmd channels "$home_dir" "node dist/index.js configure --section channels" send_channels_flow + run_wizard_cmd channels "$home_dir" "node dist/index.mjs configure --section channels" send_channels_flow config_path="$HOME/.openclaw/openclaw.json" assert_file "$config_path" @@ -492,7 +492,7 @@ NODE } JSON - run_wizard_cmd skills "$home_dir" "node dist/index.js configure --section skills" send_skills_flow + run_wizard_cmd skills "$home_dir" "node dist/index.mjs configure --section skills" send_skills_flow config_path="$HOME/.openclaw/openclaw.json" assert_file "$config_path" diff --git a/scripts/e2e/plugins-docker.sh b/scripts/e2e/plugins-docker.sh index 5b0a9c5ae4..6668b5951a 100755 --- a/scripts/e2e/plugins-docker.sh +++ b/scripts/e2e/plugins-docker.sh @@ -29,7 +29,7 @@ module.exports = { }; JS - node dist/index.js plugins list --json > /tmp/plugins.json + node dist/index.mjs plugins list --json > /tmp/plugins.json node - <<'"'"'NODE'"'"' const fs = require("node:fs"); @@ -81,8 +81,8 @@ module.exports = { JS tar -czf /tmp/demo-plugin-tgz.tgz -C "$pack_dir" package - node dist/index.js plugins install /tmp/demo-plugin-tgz.tgz - node dist/index.js plugins list --json > /tmp/plugins2.json + node dist/index.mjs plugins install /tmp/demo-plugin-tgz.tgz + node dist/index.mjs plugins list --json > /tmp/plugins2.json node - <<'"'"'NODE'"'"' const fs = require("node:fs"); @@ -118,8 +118,8 @@ module.exports = { }; JS - node dist/index.js plugins install "$dir_plugin" - node dist/index.js plugins list --json > /tmp/plugins3.json + node dist/index.mjs plugins install "$dir_plugin" + node dist/index.mjs plugins list --json > /tmp/plugins3.json node - <<'"'"'NODE'"'"' const fs = require("node:fs"); @@ -156,8 +156,8 @@ module.exports = { }; JS - node dist/index.js plugins install "file:$file_pack_dir/package" - node dist/index.js plugins list --json > /tmp/plugins4.json + node dist/index.mjs plugins install "file:$file_pack_dir/package" + node dist/index.mjs plugins list --json > /tmp/plugins4.json node - <<'"'"'NODE'"'"' const fs = require("node:fs"); diff --git a/src/agents/skills/refresh.test.ts b/src/agents/skills/refresh.test.ts index 51b86e7f79..555641159f 100644 --- a/src/agents/skills/refresh.test.ts +++ b/src/agents/skills/refresh.test.ts @@ -24,7 +24,7 @@ describe("ensureSkillsWatcher", () => { expect(ignored.some((re) => re.test("/tmp/workspace/skills/node_modules/pkg/index.js"))).toBe( true, ); - expect(ignored.some((re) => re.test("/tmp/workspace/skills/dist/index.js"))).toBe(true); + expect(ignored.some((re) => re.test("/tmp/workspace/skills/dist/index.mjs"))).toBe(true); expect(ignored.some((re) => re.test("/tmp/workspace/skills/.git/config"))).toBe(true); expect(ignored.some((re) => re.test("/tmp/.hidden/skills/index.md"))).toBe(false); }); diff --git a/src/daemon/program-args.test.ts b/src/daemon/program-args.test.ts index 68dc4edb71..c5c8742b5f 100644 --- a/src/daemon/program-args.test.ts +++ b/src/daemon/program-args.test.ts @@ -67,7 +67,7 @@ describe("resolveGatewayProgramArguments", () => { it("falls back to node_modules package dist when .bin path is not resolved", async () => { const argv1 = path.resolve("/tmp/.npm/_npx/63c3/node_modules/.bin/openclaw"); - const indexPath = path.resolve("/tmp/.npm/_npx/63c3/node_modules/openclaw/dist/index.js"); + const indexPath = path.resolve("/tmp/.npm/_npx/63c3/node_modules/openclaw/dist/index.mjs"); process.argv = ["node", argv1]; fsMocks.realpath.mockRejectedValue(new Error("no realpath")); fsMocks.access.mockImplementation(async (target: string) => { diff --git a/src/infra/gateway-lock.ts b/src/infra/gateway-lock.ts index 6d707ff683..e328f982d5 100644 --- a/src/infra/gateway-lock.ts +++ b/src/infra/gateway-lock.ts @@ -69,7 +69,7 @@ function isGatewayArgv(args: string[]): boolean { if (!normalized.includes("gateway")) return false; const entryCandidates = [ - "dist/index.js", + "dist/index.mjs", "dist/index.mjs", "dist/entry.js", "openclaw.mjs", diff --git a/src/infra/is-main.test.ts b/src/infra/is-main.test.ts index 5a0eaaab04..97233ae8f7 100644 --- a/src/infra/is-main.test.ts +++ b/src/infra/is-main.test.ts @@ -6,8 +6,8 @@ describe("isMainModule", () => { it("returns true when argv[1] matches current file", () => { expect( isMainModule({ - currentFile: "/repo/dist/index.js", - argv: ["node", "/repo/dist/index.js"], + currentFile: "/repo/dist/index.mjs", + argv: ["node", "/repo/dist/index.mjs"], cwd: "/repo", env: {}, }), @@ -17,10 +17,10 @@ describe("isMainModule", () => { it("returns true under PM2 when pm_exec_path matches current file", () => { expect( isMainModule({ - currentFile: "/repo/dist/index.js", + currentFile: "/repo/dist/index.mjs", argv: ["node", "/pm2/lib/ProcessContainerFork.js"], cwd: "/repo", - env: { pm_exec_path: "/repo/dist/index.js", pm_id: "0" }, + env: { pm_exec_path: "/repo/dist/index.mjs", pm_id: "0" }, }), ).toBe(true); }); @@ -28,7 +28,7 @@ describe("isMainModule", () => { it("returns false when running under PM2 but this module is imported", () => { expect( isMainModule({ - currentFile: "/repo/node_modules/openclaw/dist/index.js", + currentFile: "/repo/node_modules/openclaw/dist/index.mjs", argv: ["node", "/repo/app.js"], cwd: "/repo", env: { pm_exec_path: "/repo/app.js", pm_id: "0" }, diff --git a/src/plugins/install.test.ts b/src/plugins/install.test.ts index a20baab747..7abbaac496 100644 --- a/src/plugins/install.test.ts +++ b/src/plugins/install.test.ts @@ -98,7 +98,7 @@ describe("installPluginFromArchive", () => { JSON.stringify({ name: "@openclaw/voice-call", version: "0.0.1", - openclaw: { extensions: ["./dist/index.js"] }, + openclaw: { extensions: ["./dist/index.mjs"] }, }), "utf-8", ); @@ -112,7 +112,10 @@ describe("installPluginFromArchive", () => { const extensionsDir = path.join(stateDir, "extensions"); const { installPluginFromArchive } = await import("./install.js"); - const result = await installPluginFromArchive({ archivePath, extensionsDir }); + const result = await installPluginFromArchive({ + archivePath, + extensionsDir, + }); expect(result.ok).toBe(true); if (!result.ok) return; expect(result.pluginId).toBe("voice-call"); @@ -131,7 +134,7 @@ describe("installPluginFromArchive", () => { JSON.stringify({ name: "@openclaw/voice-call", version: "0.0.1", - openclaw: { extensions: ["./dist/index.js"] }, + openclaw: { extensions: ["./dist/index.mjs"] }, }), "utf-8", ); @@ -145,8 +148,14 @@ describe("installPluginFromArchive", () => { const extensionsDir = path.join(stateDir, "extensions"); const { installPluginFromArchive } = await import("./install.js"); - const first = await installPluginFromArchive({ archivePath, extensionsDir }); - const second = await installPluginFromArchive({ archivePath, extensionsDir }); + const first = await installPluginFromArchive({ + archivePath, + extensionsDir, + }); + const second = await installPluginFromArchive({ + archivePath, + extensionsDir, + }); expect(first.ok).toBe(true); expect(second.ok).toBe(false); @@ -165,16 +174,19 @@ describe("installPluginFromArchive", () => { JSON.stringify({ name: "@openclaw/zipper", version: "0.0.1", - openclaw: { extensions: ["./dist/index.js"] }, + openclaw: { extensions: ["./dist/index.mjs"] }, }), ); - zip.file("package/dist/index.js", "export {};"); + zip.file("package/dist/index.mjs", "export {};"); const buffer = await zip.generateAsync({ type: "nodebuffer" }); fs.writeFileSync(archivePath, buffer); const extensionsDir = path.join(stateDir, "extensions"); const { installPluginFromArchive } = await import("./install.js"); - const result = await installPluginFromArchive({ archivePath, extensionsDir }); + const result = await installPluginFromArchive({ + archivePath, + extensionsDir, + }); expect(result.ok).toBe(true); if (!result.ok) return; @@ -194,7 +206,7 @@ describe("installPluginFromArchive", () => { JSON.stringify({ name: "@openclaw/voice-call", version: "0.0.1", - openclaw: { extensions: ["./dist/index.js"] }, + openclaw: { extensions: ["./dist/index.mjs"] }, }), "utf-8", ); @@ -212,7 +224,7 @@ describe("installPluginFromArchive", () => { JSON.stringify({ name: "@openclaw/voice-call", version: "0.0.2", - openclaw: { extensions: ["./dist/index.js"] }, + openclaw: { extensions: ["./dist/index.mjs"] }, }), "utf-8", ); @@ -263,7 +275,10 @@ describe("installPluginFromArchive", () => { const extensionsDir = path.join(stateDir, "extensions"); const { installPluginFromArchive } = await import("./install.js"); - const result = await installPluginFromArchive({ archivePath, extensionsDir }); + const result = await installPluginFromArchive({ + archivePath, + extensionsDir, + }); expect(result.ok).toBe(false); if (result.ok) return; expect(result.error).toContain("openclaw.extensions"); diff --git a/test/gateway.multi.e2e.test.ts b/test/gateway.multi.e2e.test.ts index 76da865a84..13e600bf12 100644 --- a/test/gateway.multi.e2e.test.ts +++ b/test/gateway.multi.e2e.test.ts @@ -114,7 +114,7 @@ const spawnGatewayInstance = async (name: string): Promise => { child = spawn( "node", [ - "dist/index.js", + "dist/index.mjs", "gateway", "--port", String(port), @@ -199,7 +199,7 @@ const stopGatewayInstance = async (inst: GatewayInstance) => { const runCliJson = async (args: string[], env: NodeJS.ProcessEnv): Promise => { const stdout: string[] = []; const stderr: string[] = []; - const child = spawn("node", ["dist/index.js", ...args], { + const child = spawn("node", ["dist/index.mjs", ...args], { cwd: process.cwd(), env: { ...process.env, ...env }, stdio: ["ignore", "pipe", "pipe"], diff --git a/tsconfig.json b/tsconfig.json index 8f82c611d2..db19b371ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,18 @@ { "compilerOptions": { - "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "outDir": "dist", - "rootDir": "src", - "strict": true, + "allowSyntheticDefaultImports": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "skipLibCheck": true, - "resolveJsonModule": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": true, "noEmitOnError": true, - "allowSyntheticDefaultImports": true + "outDir": "dist", + "resolveJsonModule": true, + "rootDir": "src", + "skipLibCheck": true, + "strict": true, + "target": "ES2022" }, "include": ["src/**/*"], "exclude": [