From 71ca0c829f09847809388c7c6439e8e3307a163b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Nov 2026 08:37:37 +0000 Subject: [PATCH 1/2] Bump the npm-dependencies group across 2 directories with 18 updates Bumps the npm-dependencies group with 7 updates in the /scw_js directory: | Package | From | To | | --- | --- | --- | | [@x402/core](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [@x402/evm](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [@x402/extensions](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [@x402/mcp](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [dotenv](https://github.com/motdotla/dotenv) | `18.0.9` | `18.0.10` | | [@fastify/cors](https://github.com/fastify/fastify-cors) | `11.3.1` | `11.4.1` | | [tsdown](https://github.com/rolldown/tsdown) | `0.23.4` | `0.23.7` | Bumps the npm-dependencies group with 12 updates in the /website directory: | Package | From | To | | --- | --- | --- | | [@x402/evm](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.105.1` | `5.107.1` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.2.0` | `6.3.0` | | [@x402/fetch](https://github.com/x402-foundation/x402) | `2.29.0` | `2.30.0` | | [wagmi](https://github.com/wevm/wagmi/tree/HEAD/packages/react) | `3.7.9` | `3.7.11` | | [@pandacss/dev](https://github.com/chakra-ui/panda/tree/HEAD/packages/dev) | `2.4.0` | `2.5.0` | | [@pandacss/preset-base](https://github.com/chakra-ui/panda/tree/HEAD/packages/preset-base) | `2.4.0` | `2.5.0` | | [@pandacss/preset-panda](https://github.com/chakra-ui/panda/tree/HEAD/packages/preset-panda) | `2.4.0` | `2.5.0` | | [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `5.0.5` | `5.1.0` | | [jsdom](https://github.com/jsdom/jsdom) | `30.1.3` | `31.0.0` | | [vike](https://github.com/vikejs/vike) | `0.4.268` | `0.4.270` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.5` | `8.3.6` | Updates `@x402/core` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/core@v2.29.0...npm-@x402/core@v2.30.0) Updates `@x402/evm` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/evm@v2.29.0...npm-@x402/evm@v2.30.0) Updates `@x402/extensions` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/extensions@v2.29.0...npm-@x402/extensions@v2.30.0) Updates `@x402/mcp` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/mcp@v2.29.0...npm-@x402/mcp@v2.30.0) Updates `dotenv` from 18.0.9 to 18.0.10 - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v18.0.9...v18.0.10) Updates `@fastify/cors` from 11.3.1 to 11.4.1 - [Release notes](https://github.com/fastify/fastify-cors/releases) - [Commits](https://github.com/fastify/fastify-cors/compare/v11.3.1...v11.4.1) Updates `tsdown` from 0.23.4 to 0.23.7 - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](https://github.com/rolldown/tsdown/compare/v0.23.4...v0.23.7) Updates `@x402/evm` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/evm@v2.29.0...npm-@x402/evm@v2.30.0) Updates `@tanstack/react-query` from 5.105.1 to 5.107.1 - [Release notes](https://github.com/TanStack/query/releases) - [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md) - [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.107.1/packages/react-query) Updates `@vitejs/plugin-react` from 6.2.0 to 6.3.0 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.3.0/packages/plugin-react) Updates `@x402/fetch` from 2.29.0 to 2.30.0 - [Commits](https://github.com/x402-foundation/x402/compare/npm-@x402/fetch@v2.29.0...npm-@x402/fetch@v2.30.0) Updates `wagmi` from 3.7.9 to 3.7.11 - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/react/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/wagmi@3.7.11/packages/react) Updates `@pandacss/dev` from 2.4.0 to 2.5.0 - [Release notes](https://github.com/chakra-ui/panda/releases) - [Changelog](https://github.com/chakra-ui/panda/blob/v2/packages/dev/CHANGELOG.md) - [Commits](https://github.com/chakra-ui/panda/commits/@pandacss/dev@2.5.0/packages/dev) Updates `@pandacss/preset-base` from 2.4.0 to 2.5.0 - [Release notes](https://github.com/chakra-ui/panda/releases) - [Changelog](https://github.com/chakra-ui/panda/blob/v2/packages/preset-base/CHANGELOG.md) - [Commits](https://github.com/chakra-ui/panda/commits/@pandacss/preset-base@2.5.0/packages/preset-base) Updates `@pandacss/preset-panda` from 2.4.0 to 2.5.0 - [Release notes](https://github.com/chakra-ui/panda/releases) - [Changelog](https://github.com/chakra-ui/panda/blob/v2/packages/preset-panda/CHANGELOG.md) - [Commits](https://github.com/chakra-ui/panda/commits/@pandacss/preset-panda@2.5.0/packages/preset-panda) Updates `@vitest/ui` from 5.0.5 to 5.1.0 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/ui) Updates `jsdom` from 30.1.3 to 31.0.0 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Commits](https://github.com/jsdom/jsdom/compare/v30.1.3...v31.0.0) Updates `vike` from 0.4.268 to 0.4.270 - [Release notes](https://github.com/vikejs/vike/releases) - [Commits](https://github.com/vikejs/vike/compare/v0.4.268...v0.4.270) Updates `vite` from 8.3.5 to 8.3.6 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.3.6/packages/vite) --- updated-dependencies: - dependency-name: "@x402/core" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@x402/evm" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@x402/extensions" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@x402/mcp" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: dotenv dependency-version: 18.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@fastify/cors" dependency-version: 11.4.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: tsdown dependency-version: 0.23.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@x402/evm" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@tanstack/react-query" dependency-version: 5.107.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@vitejs/plugin-react" dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@x402/fetch" dependency-version: 2.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: wagmi dependency-version: 3.7.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@pandacss/dev" dependency-version: 2.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@pandacss/preset-base" dependency-version: 2.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@pandacss/preset-panda" dependency-version: 2.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@vitest/ui" dependency-version: 5.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: jsdom dependency-version: 31.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-dependencies - dependency-name: vike dependency-version: 0.4.270 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: vite dependency-version: 8.3.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies ... Signed-off-by: dependabot[bot] --- scw_js/package-lock.json | 864 +++++++++++++++++++++++------------- scw_js/package.json | 4 +- website/package-lock.json | 894 +++++++++++++++----------------------- website/package.json | 24 +- 4 files changed, 921 insertions(+), 865 deletions(-) diff --git a/scw_js/package-lock.json b/scw_js/package-lock.json index 97757466b..6d60ded38 100644 --- a/scw_js/package-lock.json +++ b/scw_js/package-lock.json @@ -13,8 +13,8 @@ "@fretchen/s3-utils": "file:../shared/s3-utils", "@x402/core": "^2.23.0", "@x402/evm": "^2.23.0", - "@x402/extensions": "~2.29.0", - "@x402/mcp": "~2.29.0", + "@x402/extensions": "~2.30.0", + "@x402/mcp": "~2.30.0", "dotenv": "^18.0.1", "pino": "^10.3.1", "tsx": "^4.23.12", @@ -172,6 +172,40 @@ "keyv": "^5.6.0" } }, + "node_modules/@emnapi/core": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-2.0.0-beta.2.tgz", + "integrity": "sha512-MzCVoWtcg4Pm2B3je5mMvYMvj3MmBKw+fU7vbsJc9/iT8ip6/eYIHo/Dsm/mr+wsHB6SEyJDuxB09Yy6r/8+4A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "2.2.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-2.0.0-beta.2.tgz", + "integrity": "sha512-JcrSPzPvZuNZvJqPTF9Fw25LbOJ8avzFVlaf2grmH4Cku0oGP47tRgqPZadcfj3YoZMHkFVnCYFbQM8I+i5QEw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-2.2.0.tgz", + "integrity": "sha512-JP7OYH38Q7+pyTAe14raZHLQIK7BDKbdwji+Xi3pcd/6QkJYQH3SX4wu6EplGrGJWRepoNzedfm0G3B9Z4e9Rw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", @@ -351,9 +385,9 @@ "license": "MIT" }, "node_modules/@fastify/cors": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-11.3.1.tgz", - "integrity": "sha512-gZXNzd6FLHzOIfvoK4+Az3Wko2V6Y0MIsLxpyo4AEYl7a9q1JBPwPaxLea4nkr++8FCiJiPpYYo6E02uZW0dqw==", + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-11.4.1.tgz", + "integrity": "sha512-WuPATGGyc3YzpOfumovBJ4xC2RPBBFyDFElwldFRBCgM2G27xH9DnXTho9+nc2Ho6gLD1hKTetdOntR+G38+7A==", "dev": true, "funding": [ { @@ -861,6 +895,28 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.6.tgz", + "integrity": "sha512-mRyDmEw9/fCDXCGfL1sbgIw/GUK0PVxRW4YwgPN61F3LQ+fSyoBFarJVzgGyhF6kRzEQZ0FejDqm4WLXSeqQmw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || 2.0.0-beta.2", + "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2" + } + }, "node_modules/@noble/ciphers": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", @@ -901,9 +957,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.155.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz", - "integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==", + "version": "0.156.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz", + "integrity": "sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==", "dev": true, "license": "MIT", "funding": { @@ -1006,9 +1062,9 @@ } }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.15.tgz", - "integrity": "sha512-aLcgK9gIJ3YRvrrtfSBbRa27F5WrpiTaPulnFpsHPxpUHgFlSgnU4854MHwoRGEBhfRJDWCS2WQ7lIjskE9Olw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.16.tgz", + "integrity": "sha512-ia3DwAs0OsMGS7+IConptSiyk9pEXkOx/AbJ2n/lAGxH3QkWQus1t8d7gnAT38FCU2sQu8lUbeR6AiZFv4JxaA==", "cpu": [ "arm" ], @@ -1023,9 +1079,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.15.tgz", - "integrity": "sha512-xD7DdZCrbThKuxNg7ooQmvp07ys4J/pnSEMTG3/OdOWl6daC67m/Q4fL78sRHMxTH/N4fGUbYhcPM0MF5WFHkg==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.16.tgz", + "integrity": "sha512-kx5wBiMB6E7TEvpl2B9gjLU004BkvEm2Dr941BFjx/SontPwSzNuQUIoVKxHHoSjpFIfHMmcguyLOtyn0hObRg==", "cpu": [ "arm64" ], @@ -1040,9 +1096,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.15.tgz", - "integrity": "sha512-m2WuQ6r0B4OTYxyPpNLtXaMRbRDUbG8YQV2Q3KTdSSK8Th6KHCnC8jVCJt8bvYeSB5WivkkNbc85mKadaSdOxA==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.16.tgz", + "integrity": "sha512-qslZrXnKJU4cUpjoAmtAo/KQM9e2IRMlmpig6Zpwj+8KWxW8v+nkAf9216Bsek9lOC1jvg2yCjygCFo2f83msQ==", "cpu": [ "arm64" ], @@ -1057,9 +1113,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.15.tgz", - "integrity": "sha512-5RtnsHM36nodM9WbMy+zip0LGS/G+y5wro5RHrpOlr4ac24+1zSi9kiV2MP1myZeZ/ifEHfulQcWjnAXzc2C2A==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.16.tgz", + "integrity": "sha512-FdF+y48ND13eAyM2mQn+85kvAqNlvRWROy2rhgA463X/0Gv4vGtazZtfaF1mRBLscYvtOlh4QnLjOWiFzX69OQ==", "cpu": [ "x64" ], @@ -1074,9 +1130,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.15.tgz", - "integrity": "sha512-g3l09pyFqhu+135JKkbkwiKGQmwU5hUMUPJ4VdBADvuqR8d33L6H578rh8m7rtxbdp+VmX/+nzI7nvhSZlzpUQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.16.tgz", + "integrity": "sha512-ddjqFM5e95AgLbUPtKIS7V1KTVlA0RUgCVr5mn+/IEhsdy3pr+Vuj/HZ7nlMN2FyxIwUktOH1LEPIQXO1v9y1Q==", "cpu": [ "x64" ], @@ -1091,9 +1147,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.15.tgz", - "integrity": "sha512-nIe3VugI97nGQtspPxDqA4sXMUpeiocKIP/CqpY/u/vgbT+alX+cVxu1C/oVBPKg4feNTmYovE91v4DgXvXNwQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.16.tgz", + "integrity": "sha512-tHdKWbFkFBI687iim3LIyIvyL7j66VvQYkDPss5Stn/qyE2tWkR1YD0dXmXPFKKqT/o5ZEJVsaRsWS2meQwGOA==", "cpu": [ "arm" ], @@ -1108,9 +1164,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.15.tgz", - "integrity": "sha512-iTBjXx+B5QSvgI89lJfmqh4wTh8NabR1YZIIN3hNx4zSG0EVfVqkOvLulNpG4251pbd6/IAmZ/LefVk1Y4rPhw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.16.tgz", + "integrity": "sha512-FJiLGAblPBMlBEdbOqw6kW6QcXDWAf/oJu7gYs9ZJZwmg+K+/zjFLxPTIY9izJUzxzc24FHvmseyA0IvJSl17w==", "cpu": [ "arm64" ], @@ -1128,9 +1184,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.15.tgz", - "integrity": "sha512-uN26XOnVR7rqQupG3V9oAG2EGGatWjcJHOeDOHUFCh4TBWmP2tHTFoVN13aYbwfm0aHqJAEmcwhAu6sooIjfqQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.16.tgz", + "integrity": "sha512-hrJpblMsrQ58U9veWpbXzkhV5zStunds6HWLprqq1qauvgBr1E6P+24kLj6lSLI9vjRn/RYpjprhkHQPKGWpNg==", "cpu": [ "arm64" ], @@ -1148,9 +1204,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.15.tgz", - "integrity": "sha512-9nWkcdd+H+XhaA3fQIwpHnKIrfx/PQ6rO0pivr78Og07tXlUlctBBJoEYLPfhTmCR/QxEVdn6uPjHV5SymPhdw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.16.tgz", + "integrity": "sha512-qJd/dC6j6CwLG9/s/RP2nb1RZ0GIgj7Ioj7x/SYa3RzjVrlzrmH0fhIOpfvqQDeIsdP0loi+kHaMhJzY1PBIaA==", "cpu": [ "ppc64" ], @@ -1168,9 +1224,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.15.tgz", - "integrity": "sha512-Ggh0ciFjLwIusLSLz7LZYEaGdxOAUJXI+Qu5JCbhPJJHEt8vP+IjRATTJheiJsdzzTYgUiHUiw3X1Ea3ZpMBdA==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.16.tgz", + "integrity": "sha512-Vx7Xg5uUJuNcujJjI70OICaH0EYj80BtOLZTSN7uOYg8QOLlyKnaG0IW7Fn/J0IpJsaKzmDKMhOQv1JBM9m9vg==", "cpu": [ "s390x" ], @@ -1188,9 +1244,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.15.tgz", - "integrity": "sha512-FHg60rS6DBePAYZ9X9F67x+JObFdmgn6tupA1C/a3B+CufFmTD4mX+e8M75tCiAO3foR/6xwVBI0KQiI7sn/rw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.16.tgz", + "integrity": "sha512-TNKhgE3uJTsTzatUSSYt0Kgo+Oa2uSlSjz4r1aEIea7HX6ULBym4fAlYUhG1i6pjNf2njfCUAfKwr6C3E9Xg1w==", "cpu": [ "x64" ], @@ -1208,9 +1264,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.15.tgz", - "integrity": "sha512-/cvV/7v5VGz/moiz0XKRj2dE8DzsKyhIu1KpOvJGPjRywg3yscON889UGvAe8zfiJLHup7VLjBduoGWi3HusWQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.16.tgz", + "integrity": "sha512-7chXdpjXZ8qG0+mIxECN3cT9kvhZ3/oZhMX6Pp876P7CDrIy8nJswva6Mq357JR7eYXfuskwZxMeV1SzoZdHrA==", "cpu": [ "x64" ], @@ -1228,9 +1284,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.15.tgz", - "integrity": "sha512-MyzC5Hrv/sm+Z7TSGKP/j8001RO2xQm1zOpCNVL4j0cY/VhBZviludA2YFQ7i4lH6ZAXxQm0lcMdBzM+99mE7w==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.16.tgz", + "integrity": "sha512-Kwjt+7uNTJK5/MDkGWGVO2KQPnj8yAV75dMpfwyHZrJSXWHrniOB0aUEWlVYf3H1hOqFLIStLdM5QXq6bnKmOQ==", "cpu": [ "arm64" ], @@ -1244,10 +1300,29 @@ "node": "^20.19.0 || >=22.12.0" } }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.3.0.tgz", + "integrity": "sha512-ntK6OFor3nQtS1TenZP5wX59oPpkKEmour3AipGHB32u+Z8QXxjVdG+7vNSvgerRWIj6vjg4XpKu42slb0vlXQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "2.0.0-beta.2", + "@emnapi/runtime": "2.0.0-beta.2", + "@napi-rs/wasm-runtime": "1.2.6" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + } + }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.15.tgz", - "integrity": "sha512-+PgYiS+AH5omy6L45ZLxybasauJaj3M8buoT83D+nzPmCayXlxUV9hydhciCKVyIg0B/v0BtXPDE1uGqNwCPpg==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.16.tgz", + "integrity": "sha512-/LH6WfjDRXXJz/p5xl4TmU+jpcnwcxbKEQBW/GZE0JHfN0lGIyTtsUEGaQ/q/GikkGJ2yLKe6pwm7AnEWO8pdw==", "cpu": [ "arm64" ], @@ -1262,9 +1337,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.15.tgz", - "integrity": "sha512-HFZd2QNQYn1JbIi+Hpd7H+r/lkWxcfIu28nirZ6eCn2LafuvmExMlb/P96Sfx5tf7pPArw39IdhmCF8vmV+NhQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.16.tgz", + "integrity": "sha512-1lv1KvX0Z871zfk7vw+dnXMMnHNyDwMzWG8Kv3HxDXMOhzCX4SHc7HK319fInP0i+0p9D8brkfzL7pJOaGl+tw==", "cpu": [ "x64" ], @@ -1815,6 +1890,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/cacheable-request": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", @@ -2477,35 +2563,35 @@ } }, "node_modules/@x402/core": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/core/-/core-2.29.0.tgz", - "integrity": "sha512-fkS0JqVwHgczteDlwItLRipOlIzm28U9HWLvYnYpnNbfmepoBT/4ux7LjrR0xGD51JHoC8/r+Qo7uCfoAQYeuw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/core/-/core-2.30.0.tgz", + "integrity": "sha512-gvMxCum2QlNI6jI/3NL1jdrmOgtX9sWEWxSIOmeI67/5ndOJvYOtP7JZLSO8o8af+O+A+Vhhjza1NCda0yVppg==", "license": "Apache-2.0", "dependencies": { "zod": "^4.6.6" } }, "node_modules/@x402/evm": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/evm/-/evm-2.29.0.tgz", - "integrity": "sha512-Gk4bJ6WoRR3jeT2+vERSPMSkSr1nRL5kjtVh14uoynRm8y+fGFH8xmvlGzuwKT0liA6OLjdr9xjZtN8i0WYk9g==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/evm/-/evm-2.30.0.tgz", + "integrity": "sha512-/iaEB820OPJb1JkUqaCTq90FwjbmBB/rAFaH7ZAL2AmcesSVPO/FjdHD2wmXqBzXkEnPG9f6m1SuNpCtVlA9LQ==", "license": "Apache-2.0", "dependencies": { - "@x402/core": "~2.29.0", + "@x402/core": "~2.30.0", "viem": "^2.48.11", "zod": "^4.6.6" } }, "node_modules/@x402/extensions": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/extensions/-/extensions-2.29.0.tgz", - "integrity": "sha512-FCpjZ6QR6ZtHTRZBV7VHMt7tc66LnTrpKDERiL3atXlLu4PlmgiulHt9PWE+Ktm5iUbXr3dAYZu2e7XrVd/XgA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/extensions/-/extensions-2.30.0.tgz", + "integrity": "sha512-Lqu8hYkFAIhzarWa8V1272tyolFAW7WjHrxQ7we5P0fEZ8oMXOq1hna2X0FXQetZoOFzBDwSWBBMsrqE8ZzvcQ==", "license": "Apache-2.0", "dependencies": { "@noble/curves": "^1.9.0", "@scure/base": "^1.2.6", "@signinwithethereum/siwe": "^4.1.0", - "@x402/core": "~2.29.0", + "@x402/core": "~2.30.0", "ajv": "^8.18.0", "jose": "^5.9.6", "tweetnacl": "^1.0.3", @@ -2558,34 +2644,20 @@ "license": "Unlicense" }, "node_modules/@x402/mcp": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/mcp/-/mcp-2.29.0.tgz", - "integrity": "sha512-ueAoUILuWzugwQIvAgcTMuCf026S9QPBGUNYCNC9Tf3w4BfPn4UM2NWJT56kvM+b4M811LKpANYpJrVPBIRMeA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/mcp/-/mcp-2.30.0.tgz", + "integrity": "sha512-4aW3iKSFbTJ6X5b9/u1MyoNGDY898jcEnKcR5hzDnkd74tpCBGPTMwjbVZBnsKsmju89BzI/BXWdMgdorpKvrw==", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.32.0", - "@x402/core": "~2.29.0", + "@x402/core": "~2.30.0", "zod": "^4.6.6" } }, - "node_modules/@yuku-core/binding-android-arm64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-android-arm64/-/binding-android-arm64-0.19.0.tgz", - "integrity": "sha512-wdL2XmTiZixAOaHk9Z0JJZ8u9Qm8d333Zjpc6gaxXFX+UR5BlsfxZ7a2+2Rm71pamppsPYGUGFq2oVLbh6DISw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@yuku-core/binding-darwin-arm64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-darwin-arm64/-/binding-darwin-arm64-0.19.0.tgz", - "integrity": "sha512-7sNJa6XJhyetnTy64jw3NEi4YgUcezHk1G5GH9FSvXAuC8wIlbaOwT9lgq5qo5sspjrZJQlBR1TWflP49uRpMw==", + "node_modules/@yuku-toolchain/darwin-arm64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/darwin-arm64/-/darwin-arm64-0.27.0.tgz", + "integrity": "sha512-A3v83rNyHWlnJeeMBsWggZ+RZDP2BEMHIiMk+j23LqtVch24MXwg8veflkQgZ2GtCtZOxcG+NkztnsSUS4rWEQ==", "cpu": [ "arm64" ], @@ -2596,10 +2668,10 @@ "darwin" ] }, - "node_modules/@yuku-core/binding-darwin-x64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-darwin-x64/-/binding-darwin-x64-0.19.0.tgz", - "integrity": "sha512-pTC7dYEc59isdyizc3nsuyFNBu2LU5wMYZ1be6UMr59PY/AJNtO1aBLWV0MgL/z7C1nv/2sX4TNjGgKLoeevJw==", + "node_modules/@yuku-toolchain/darwin-x64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/darwin-x64/-/darwin-x64-0.27.0.tgz", + "integrity": "sha512-u+fcqQw0uRj5irtO5f0xu5nGazYRxfBVBNIuhiONWX6Mh2izRONSNXhCwFDaYRqHunublzw2l2aQMB0n5n1t0Q==", "cpu": [ "x64" ], @@ -2610,126 +2682,38 @@ "darwin" ] }, - "node_modules/@yuku-core/binding-freebsd-x64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-freebsd-x64/-/binding-freebsd-x64-0.19.0.tgz", - "integrity": "sha512-xrZjF6XOEwyLOiDIfrwDdRCS6ghxcJeirNC1KivQhVcUwlRonaU79S3/Uiyx3lBylPnT8qKJ3/aMT+H52nGTJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@yuku-core/binding-linux-arm-gnu": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.19.0.tgz", - "integrity": "sha512-0OyIH53C0I1CbADHn9FSdCfX5qbpeLwJhmOVhonFJNYheybOnkSJ50qGMfTJIb8y5zrwqvLs7FVBvz6Fk8maZg==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-core/binding-linux-arm-musl": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm-musl/-/binding-linux-arm-musl-0.19.0.tgz", - "integrity": "sha512-z/iPfkCOCSXE34VXNt0uP1ORSW+4mEa9b5CiJcWZeqZH08g49bFU/jRM2T04f+Wpw5mJ6HIzNBiojxeAbrHjeg==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-core/binding-linux-arm64-gnu": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.19.0.tgz", - "integrity": "sha512-jLNTi+gzaRwBJ+gwhCJ+rDb5dmx/8hEBx93UWd7hjMSqPTL1D1wvVSvXVAldV5kALvju7b0/m51EHEhs4+I1fA==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-core/binding-linux-arm64-musl": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.19.0.tgz", - "integrity": "sha512-YwyPIdW/rN2Fmv0MTFWi47FaB3F9g+2b+sJISyAw83Yd60RWH4T3Nx6XkAHHVN+uKJNBAd6So7/BVihSiFYvuQ==", + "node_modules/@yuku-toolchain/linux-arm64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/linux-arm64/-/linux-arm64-0.27.0.tgz", + "integrity": "sha512-IPB+9LSC/sf8Sa8DtqapUgU4uTL/U94Vr5mgUsfRx59u8/4BT38cze+e5b96AlQynsdtuF4tgC0FW0TmJ2B75g==", "cpu": [ "arm64" ], "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@yuku-core/binding-linux-x64-gnu": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.19.0.tgz", - "integrity": "sha512-/vskaAXVX3ESR43FiTdfiYS7z1b9uoQJwVQ/0RgUHgN2sWoAyCZs+aX4CgU7eKGIHTVfp9VFwv+c+2XchYiEtQ==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@yuku-core/binding-linux-x64-musl": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-linux-x64-musl/-/binding-linux-x64-musl-0.19.0.tgz", - "integrity": "sha512-FuXL5igeSKib9Rye02TdH+D6SQezTyGxIATMu1Qsn/QywrzwpGl35OLpS2C1x5vpGLeVE2XgiLd5mVPFHmIglQ==", + "node_modules/@yuku-toolchain/linux-x64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/linux-x64/-/linux-x64-0.27.0.tgz", + "integrity": "sha512-fe1kN04JPBODrkRZOuI06jIqKyzcyn0ykx+tpiERDwqAh9ALWOtkgfhFjVaOQSu+guhakzY/89xjQdmfY7EJ7w==", "cpu": [ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@yuku-core/binding-win32-arm64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-win32-arm64/-/binding-win32-arm64-0.19.0.tgz", - "integrity": "sha512-YuJAe7zEKT1Xa7LuHlhGJpPnYQeVtvo0rZvNjJRqkH0hQGOw4C8QeP30Tg5VKGzZfo2x8CjhjEhKt4TmLwfmdg==", + "node_modules/@yuku-toolchain/win32-arm64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/win32-arm64/-/win32-arm64-0.27.0.tgz", + "integrity": "sha512-NZmiFTF7ee45Fhnsa0BGMCpElJGg8iGYt4N3UoKj/n1vNmACcgY6NI4najNr9Jc1ulIVVvtPbo934RMlZQakrA==", "cpu": [ "arm64" ], @@ -2740,10 +2724,10 @@ "win32" ] }, - "node_modules/@yuku-core/binding-win32-x64": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-core/binding-win32-x64/-/binding-win32-x64-0.19.0.tgz", - "integrity": "sha512-o8iY/mXwlRkedp0LNTr4+TEfXTPQwoNZmv6k+1WIAd1ZXEn8xJJTBCtB0osaVvdZo/x/cNmV16UrWrrGpM5Mvw==", + "node_modules/@yuku-toolchain/win32-x64": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@yuku-toolchain/win32-x64/-/win32-x64-0.27.0.tgz", + "integrity": "sha512-7LSviI8HtHga0g7G2oT7C/SP2IoLmrg8LYPeWZkp4ljFtaWKJoTRF0Iv0cVt0dR4rehoN/+TjN4r8SoArCKvlg==", "cpu": [ "x64" ], @@ -2754,13 +2738,6 @@ "win32" ] }, - "node_modules/@yuku-toolchain/types": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.19.0.tgz", - "integrity": "sha512-tFkNbsP4WXX9UMUC5syJGdK9dPMLK0PPaIuXCcCYH75sZ8MrebfBZ2XvCILRTw8AgLivSSCfDa4R67iYBDa4Kg==", - "dev": true, - "license": "MIT" - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -4271,12 +4248,12 @@ } }, "node_modules/dotenv": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.9.tgz", - "integrity": "sha512-3fVOW4cB02R066PUSwn8O4TJyz9NckQl7F81blIbaq9jKBm2tSmOKky7ZHIXzGvkVPXCSn6jkpziBPZdGFs8Tw==", + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.10.tgz", + "integrity": "sha512-89FAA1xchzK2mxVWdr5F/0rldwiueXs6zJM86rO66EzekR1iBdiXRthyG+m5GvkJaFH3C2LESzamTkgndmLT2A==", "license": "BSD-2-Clause", "bin": { - "dotenv": "dist/index.cjs" + "dotenv": "dist/cli.cjs" }, "engines": { "node": ">=12" @@ -8252,13 +8229,13 @@ } }, "node_modules/rolldown": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.15.tgz", - "integrity": "sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.16.tgz", + "integrity": "sha512-bWvlMpFKiTfDKfnK7FC2MPgPeWCf/Kpwsq49ApdW+FQaBZb6O6dZ4MAPbPUjp7hYQrw/RobqCzn64BRrQecGHw==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.155.0", + "@oxc-project/types": "=0.156.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -8268,36 +8245,34 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.15", - "@rolldown/binding-android-arm64": "1.2.15", - "@rolldown/binding-darwin-arm64": "1.2.15", - "@rolldown/binding-darwin-x64": "1.2.15", - "@rolldown/binding-freebsd-x64": "1.2.15", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.15", - "@rolldown/binding-linux-arm64-gnu": "1.2.15", - "@rolldown/binding-linux-arm64-musl": "1.2.15", - "@rolldown/binding-linux-ppc64-gnu": "1.2.15", - "@rolldown/binding-linux-s390x-gnu": "1.2.15", - "@rolldown/binding-linux-x64-gnu": "1.2.15", - "@rolldown/binding-linux-x64-musl": "1.2.15", - "@rolldown/binding-openharmony-arm64": "1.2.15", - "@rolldown/binding-win32-arm64-msvc": "1.2.15", - "@rolldown/binding-win32-x64-msvc": "1.2.15" + "@rolldown/binding-android-arm-eabi": "1.2.16", + "@rolldown/binding-android-arm64": "1.2.16", + "@rolldown/binding-darwin-arm64": "1.2.16", + "@rolldown/binding-darwin-x64": "1.2.16", + "@rolldown/binding-freebsd-x64": "1.2.16", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.16", + "@rolldown/binding-linux-arm64-gnu": "1.2.16", + "@rolldown/binding-linux-arm64-musl": "1.2.16", + "@rolldown/binding-linux-ppc64-gnu": "1.2.16", + "@rolldown/binding-linux-s390x-gnu": "1.2.16", + "@rolldown/binding-linux-x64-gnu": "1.2.16", + "@rolldown/binding-linux-x64-musl": "1.2.16", + "@rolldown/binding-openharmony-arm64": "1.2.16", + "@rolldown/binding-win32-arm64-msvc": "1.2.16", + "@rolldown/binding-win32-x64-msvc": "1.2.16" } }, "node_modules/rolldown-plugin-dts": { - "version": "0.28.8", - "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.28.8.tgz", - "integrity": "sha512-FVhfqxorCWcc20BVT5eVRfRjzLLl6mgzjcMR4gSBf0K4oQMXT0qoHhhzfXy0L7y83fQy7Ug5ZDNk90xM3/LiCQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.30.0.tgz", + "integrity": "sha512-5FNezfYv5alHvrYw5Xoj4RNqbZ9F+/1jETFSohhYfRiama8tUN4mcVURmBqbZQba45t5hRdW7aSOnV6WYIj0MA==", "dev": true, "license": "MIT", "dependencies": { "dts-resolver": "^3.0.0", "get-tsconfig": "5.0.0-beta.6", "obug": "^3.0.0", - "yuku-ast": "^0.19.0", - "yuku-codegen": "^0.19.0", - "yuku-parser": "^0.19.0" + "yuku": "^0.27.0" }, "engines": { "node": "^22.18.0 || ^24.11.0 || >=26.0.0" @@ -8306,23 +8281,23 @@ "url": "https://github.com/sponsors/sxzz" }, "peerDependencies": { - "@typescript/native-preview": "*", "@volar/typescript": "~2.4.0", "@vue/language-core": "~3.2.0 || ~3.3.0", "rolldown": "^1.2.0", - "typescript": "^5.0.0 || ^6.0.0 || ~7.0.0", + "tsrs": "*", + "typescript": "^5.0.0 || ^6.0.0 || ~7.0.0 || ~7.1.0-0", "vue-tsc": "~3.2.0 || ~3.3.0" }, "peerDependenciesMeta": { - "@typescript/native-preview": { - "optional": true - }, "@volar/typescript": { "optional": true }, "@vue/language-core": { "optional": true }, + "tsrs": { + "optional": true + }, "typescript": { "optional": true }, @@ -9237,9 +9212,9 @@ } }, "node_modules/tsdown": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.23.4.tgz", - "integrity": "sha512-AQQ/2Y7KBnf15GL4Ynjdltc94PkbKRI+arStyrp7inSQkRmTWNiXgfv50ESsjhBEsoVtiSloCAO2VyrqojWIOQ==", + "version": "0.23.7", + "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.23.7.tgz", + "integrity": "sha512-w9nmWyEimfqQ7/HpVeKTldAeBvWGXiaWyNP7xaxSrr0GhKxsngEyTWqk1nOruRqvqRSkdpMMkpV2BcoWfLB4Uw==", "dev": true, "license": "MIT", "dependencies": { @@ -9250,8 +9225,8 @@ "import-without-cache": "^0.4.1", "obug": "^3.0.0", "picomatch": "^4.0.7", - "rolldown": "~1.2.15", - "rolldown-plugin-dts": "^0.28.8", + "rolldown": "~1.3.0", + "rolldown-plugin-dts": "^0.30.0", "tinyexec": "^1.3.1", "tinyglobby": "^0.2.17", "tinyps": "^0.5.1", @@ -9269,8 +9244,8 @@ }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", - "@tsdown/css": "0.23.4", - "@tsdown/exe": "0.23.4", + "@tsdown/css": "0.23.7", + "@tsdown/exe": "0.23.7", "@vitejs/devtools": "*", "publint": "^0.3.8", "tsx": "*", @@ -9308,6 +9283,289 @@ } } }, + "node_modules/tsdown/node_modules/@oxc-project/types": { + "version": "0.157.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.157.0.tgz", + "integrity": "sha512-95iTox1qdt6WGWce3xwNOVayByOfLaYAq+qGPpub6NWbBh9sv0GG3+zyfh9ZBCO/jVu5A0EWI+qQI7g6fevjxg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/oxc-project" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.3.0.tgz", + "integrity": "sha512-zjq+pUSE36RJG9nJXqrRfMCOxekzVhlaYMtFELHaOcRH4UqTnkWhbTbEixKEawsb0ZTVMRbn8RLYcuU4DYk8qg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-android-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.3.0.tgz", + "integrity": "sha512-HdnCiSmMGgEILGVLU1o4dcOblLGj8sMnqEFrDY/S7KRti1nTQHAqGGs2AniPspbK90AFS3pM23K/R0J3hPQXYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.3.0.tgz", + "integrity": "sha512-TkQ2JGC8/9UxoCeH5dSJj1gxuFhzw200QTJJd2YNPRXznSSM4XvpKV2Cs+RM2BcM8sa6xa4rmXNuiJ64+1993g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-darwin-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.3.0.tgz", + "integrity": "sha512-Gr+iZW50RJZo4BPUazaDh/Azx7W0Rl04sy2MkXD+H4RkxzUX5hIrjaVw1BK+XHsccKExQAmCy6DhvRLlUzaYUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.3.0.tgz", + "integrity": "sha512-RwAtx8peSqUoBf8pxE0L62xKXBNnA3BtdFV+07t13t0TQoASCtV9tnU67aKKMRZSiD06SU07chB5B8fWFdW3gQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.3.0.tgz", + "integrity": "sha512-ow8fq6kYaIx75D0EVT5GeF4DcawcEYYXJ2CvEaOzyygW1jtVDQU/9o5YYidctHBRDUgPzGaTNB6n/VMTmd1ymw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.3.0.tgz", + "integrity": "sha512-PLOWuiz+rdqSgiLgN7bxvy6DjXLj8gnJxzRS243LNnLi96VeyB7VFsC3eblcKv3Xwd3jQqJfbCWRhLijTIZyvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.3.0.tgz", + "integrity": "sha512-CQ/k85cc342j5SnZ/gT9p132NXZRGTgLRhfItdYqUg+jpvL5HYFve0GB+zQDCYGwDjtDWIoqKSOitkmZMZc/tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.3.0.tgz", + "integrity": "sha512-wk+ZG7xDP2px3cQRFoNoNp52/w1O5hTTtciHxuastreMOp8isYUTCpcG/rEYnSQBI+nycN+B9d9pBGua+qvV7w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.3.0.tgz", + "integrity": "sha512-sEgyZt72Rj7V5q6OZ7A4U2I5v4EMGEv3Fp5QmoncmKbUMTrGmpyH7MwENfERGbfUYjxdBmktw4JJLys5I1aQNQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.3.0.tgz", + "integrity": "sha512-PvL0BoBUwVugK1pFd+zyVk1L9F6ucmQ7oF2dpy8zKPHNlbW2zrU9Jst3fWYfG7z3owjxqhwAvi5G4o0AikrJMw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.3.0.tgz", + "integrity": "sha512-5N4DdzAmLtnyuh027H6ViC99BeoA4T0RwKS6qUrl6zY70AKRsNDrnEZeWnqrKmDRFxXmv8zf9yhF2DxN/SfyGQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.3.0.tgz", + "integrity": "sha512-Tz+2b+yF5eVRGX3DWebn2JIvZkNYI1gkafI+nF2fau2zeQDOpBAS8w1PxHi4ke//NIOE6+2DNYyq1veIjzAXqQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.3.0.tgz", + "integrity": "sha512-ldH38lBlOpS+b4fbSG9euQjhYXLE18PIz5hyvf6gvFfyVLodRE/Tsu4jV8UmPqjjce6lotmUUwscxPuer4lczQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/tsdown/node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.3.0.tgz", + "integrity": "sha512-HglhUzUPuXNTGFt5ZwJalSEvavhFSl+nxpQM9urkzkt+2oGI1ZSwgyytk9aGw15/0kk1TCHPc57nv3DdiG8/yQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, "node_modules/tsdown/node_modules/cac": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cac/-/cac-7.1.0.tgz", @@ -9332,6 +9590,41 @@ "node": ">=12.20.0" } }, + "node_modules/tsdown/node_modules/rolldown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.3.0.tgz", + "integrity": "sha512-7j1jdVlzWzbRat9EDMsB/QmyMcc6hOO0vbcma8LGjBTmKlpS5Hem+5fpntc/HoRV5tLrG+Qo6I1ZHV/ZuL5S8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.157.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm-eabi": "1.3.0", + "@rolldown/binding-android-arm64": "1.3.0", + "@rolldown/binding-darwin-arm64": "1.3.0", + "@rolldown/binding-darwin-x64": "1.3.0", + "@rolldown/binding-freebsd-x64": "1.3.0", + "@rolldown/binding-linux-arm-gnueabihf": "1.3.0", + "@rolldown/binding-linux-arm64-gnu": "1.3.0", + "@rolldown/binding-linux-arm64-musl": "1.3.0", + "@rolldown/binding-linux-ppc64-gnu": "1.3.0", + "@rolldown/binding-linux-s390x-gnu": "1.3.0", + "@rolldown/binding-linux-x64-gnu": "1.3.0", + "@rolldown/binding-linux-x64-musl": "1.3.0", + "@rolldown/binding-openharmony-arm64": "1.3.0", + "@rolldown/binding-wasm32-wasi": "1.3.0", + "@rolldown/binding-win32-arm64-msvc": "1.3.0", + "@rolldown/binding-win32-x64-msvc": "1.3.0" + } + }, "node_modules/tsdown/node_modules/tinyexec": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", @@ -10096,16 +10389,16 @@ } }, "node_modules/vite": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz", - "integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.6.tgz", + "integrity": "sha512-UI7dK29NnS54Fk+mmo7o+jI6U8Fp7hDl+X5Q1k45WH+d4dSlbLVUETGQ+hfkNgvLQGyoElPj837nZyv4MBc0VA==", "dev": true, "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", - "postcss": "^8.5.30", - "rolldown": "~1.2.14", + "postcss": "^8.5.32", + "rolldown": "~1.2.16", "tinyglobby": "^0.2.17" }, "bin": { @@ -10511,71 +10804,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yuku-ast": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/yuku-ast/-/yuku-ast-0.19.0.tgz", - "integrity": "sha512-PyCsiScaelhxBGzL8dyeJkLqvRZycoh78R31Vrt/WqYrm0hMFoKwIw/X7Dx5mBKLWAMlV9I9HEyBOHnj2gZVyw==", + "node_modules/yuku": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/yuku/-/yuku-0.27.0.tgz", + "integrity": "sha512-YmSD4xYlESRi8egxzC4guegQdMhAcz1G9NUsMNrTABAIV9dQxoBzDC7ZyAG/dSG18o1Oxt4xDok2irvPy9FSJQ==", "dev": true, "license": "MIT", - "dependencies": { - "@yuku-toolchain/types": "^0.19.0" - }, "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/yuku-codegen": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/yuku-codegen/-/yuku-codegen-0.19.0.tgz", - "integrity": "sha512-uymAKHjDuaP4BEpkXC/BSLz4DUEF5oArZ5AuD3888nb2miChjWSgpPdojEJxm3pjpXkgUaCRJQyNAbnMN33wHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yuku-toolchain/types": "^0.19.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/yuku-core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/yuku-core/-/yuku-core-0.19.0.tgz", - "integrity": "sha512-kYK9e1XdfirNhkipzW0wmMcSWcVF/CWnuugodfVYRCUwvoBefweL9HzB96OiKEhsx78V5WbUxbJqlizMX869Qg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yuku-toolchain/types": "^0.19.0" - }, - "engines": { - "node": ">=14.18.0" + "node": ">=16.4.0" }, "optionalDependencies": { - "@yuku-core/binding-android-arm64": "0.19.0", - "@yuku-core/binding-darwin-arm64": "0.19.0", - "@yuku-core/binding-darwin-x64": "0.19.0", - "@yuku-core/binding-freebsd-x64": "0.19.0", - "@yuku-core/binding-linux-arm-gnu": "0.19.0", - "@yuku-core/binding-linux-arm-musl": "0.19.0", - "@yuku-core/binding-linux-arm64-gnu": "0.19.0", - "@yuku-core/binding-linux-arm64-musl": "0.19.0", - "@yuku-core/binding-linux-x64-gnu": "0.19.0", - "@yuku-core/binding-linux-x64-musl": "0.19.0", - "@yuku-core/binding-win32-arm64": "0.19.0", - "@yuku-core/binding-win32-x64": "0.19.0" - } - }, - "node_modules/yuku-parser": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/yuku-parser/-/yuku-parser-0.19.0.tgz", - "integrity": "sha512-XrBh9ZiQK5mJVRxZBAvD6LwRyAYrK3MFtH3+onyuxFL5hFD44EC3QOmIC1FjTj6H2MMwq46/NAI+NZxLZPZgxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yuku-toolchain/types": "^0.19.0", - "yuku-core": "0.19.0" + "@yuku-toolchain/darwin-arm64": "0.27.0", + "@yuku-toolchain/darwin-x64": "0.27.0", + "@yuku-toolchain/linux-arm64": "0.27.0", + "@yuku-toolchain/linux-x64": "0.27.0", + "@yuku-toolchain/win32-arm64": "0.27.0", + "@yuku-toolchain/win32-x64": "0.27.0" }, - "engines": { - "node": ">=14.18.0" + "peerDependencies": { + "@yuku-toolchain/wasm": "0.27.0" + }, + "peerDependenciesMeta": { + "@yuku-toolchain/wasm": { + "optional": true + } } }, "node_modules/zod": { diff --git a/scw_js/package.json b/scw_js/package.json index ecd2f916b..5b3b0e73f 100644 --- a/scw_js/package.json +++ b/scw_js/package.json @@ -49,8 +49,8 @@ "@fretchen/s3-utils": "file:../shared/s3-utils", "@x402/core": "^2.23.0", "@x402/evm": "^2.23.0", - "@x402/extensions": "~2.29.0", - "@x402/mcp": "~2.29.0", + "@x402/extensions": "~2.30.0", + "@x402/mcp": "~2.30.0", "dotenv": "^18.0.1", "pino": "^10.3.1", "tsx": "^4.23.12", diff --git a/website/package-lock.json b/website/package-lock.json index 8b7225a0c..f81d3d166 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -12,11 +12,11 @@ "@mdx-js/mdx": "^3.1.1", "@mdx-js/react": "^3.1.1", "@mdx-js/rollup": "^3.1.1", - "@tanstack/react-query": "^5.105.1", - "@vitejs/plugin-react": "^6.2.0", + "@tanstack/react-query": "^5.107.1", + "@vitejs/plugin-react": "^6.3.0", "@walletconnect/ethereum-provider": "^2.26.0", - "@x402/evm": "^2.29.0", - "@x402/fetch": "^2.29.0", + "@x402/evm": "^2.30.0", + "@x402/fetch": "^2.30.0", "highlight.js": "^11.12.0", "katex": "^0.19.1", "react": "^19.3.1", @@ -32,14 +32,14 @@ "viem": "^2.54.2", "vike-react": "^0.6.32", "vike-react-query": "^0.1.14", - "wagmi": "^3.7.9" + "wagmi": "^3.7.11" }, "devDependencies": { "@eslint/js": "^9.38.0", "@openzeppelin/merkle-tree": "^1.0.8", - "@pandacss/dev": "^2.4.0", - "@pandacss/preset-base": "^2.4.0", - "@pandacss/preset-panda": "^2.4.0", + "@pandacss/dev": "^2.5.0", + "@pandacss/preset-base": "^2.5.0", + "@pandacss/preset-panda": "^2.5.0", "@resvg/resvg-js": "^2.6.2", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", @@ -48,19 +48,19 @@ "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitest/coverage-v8": "^5.0.0", - "@vitest/ui": "^5.0.5", + "@vitest/ui": "^5.1.0", "eslint": "^9.38.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "globals": "^17.14.0", - "jsdom": "^30.1.3", + "jsdom": "^31.0.0", "postcss": "^8.5.32", "prettier": "^3.6.2", "typescript": "^6.0.3", "typescript-eslint": "^8.71.0", - "vike": "^0.4.268", - "vite": "^8.3.5", + "vike": "^0.4.270", + "vite": "^8.3.6", "vitest": "^5.0.0" } }, @@ -98,59 +98,6 @@ "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", "license": "MIT" }, - "node_modules/@asamuzakjp/css-color": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-7.1.3.tgz", - "integrity": "sha512-1t1U8Cm3RBl9vh3RAZhjkPaduzLSvQJRToRrxpGR/eDRW99mOREleuu+mWfiFa795bUzjwht7NgphCKTs2ianQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^3.4.2", - "@csstools/css-color-parser": "^4.2.5", - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2", - "lru-cache": "^11.5.3" - }, - "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", - "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-10.0.4.tgz", - "integrity": "sha512-A6f1nKy99I6tyoK82U6kBHvQQZmdHmTmPzJYPY/0eaOW0r8/qPmEOwjGHs+hL/vCgOwQTupu4LT1XtXNUuDruA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bidi-js": "^1.1.0", - "css-tree": "^3.2.1", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.5.3" - }, - "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" - } - }, - "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", - "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", @@ -486,19 +433,6 @@ "node": ">=18" } }, - "node_modules/@bramus/specificity": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", - "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0" - }, - "bin": { - "specificity": "bin/cli.js" - } - }, "node_modules/@brillout/import": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/@brillout/import/-/import-0.2.6.tgz", @@ -518,9 +452,9 @@ "license": "ISC" }, "node_modules/@brillout/vite-plugin-server-entry": { - "version": "0.7.23", - "resolved": "https://registry.npmjs.org/@brillout/vite-plugin-server-entry/-/vite-plugin-server-entry-0.7.23.tgz", - "integrity": "sha512-tHI6zRUM+1yQxiC4CTwpPhYhU9Cdo4LkPy0JRxDiFBZSVSauzWTzZv/r7/+dKVk4/ihQmCtI1/XoegKVLMR7CQ==", + "version": "0.7.24", + "resolved": "https://registry.npmjs.org/@brillout/vite-plugin-server-entry/-/vite-plugin-server-entry-0.7.24.tgz", + "integrity": "sha512-n2kylnpZ8xPUS4OwWes1B5lk6XxeUKYg/ZC2rGMkUT/1WHrRuVKSWzxhOT3+wYWPxofttt65yn/p8wmRLi8N+Q==", "license": "MIT", "dependencies": { "@brillout/import": "^0.2.6", @@ -1630,146 +1564,6 @@ "license": "MIT", "optional": true }, - "node_modules/@csstools/color-helpers": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.2.tgz", - "integrity": "sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@csstools/css-calc": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.4.3.tgz", - "integrity": "sha512-iex20d8CHVkyvg6B7UKV7uHnI2Bqo9g+EFfT9E0y+GvTvhZ/DwONJ+9aKb1dlqm0ZiGsL5RXjp0fCoJYnkeDjA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.6.tgz", - "integrity": "sha512-iiPQ3iRWwnJkeEn6RIu6SJPr7hYrLz6XZ9s/QZl+2/LI5KQVjpl2fdmDSZKuD4xP6GMmMPgHFFXg6k1Wkz0Trg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^6.1.2", - "@csstools/css-calc": "^3.4.3" - }, - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.2.tgz", - "integrity": "sha512-40cSKyMvK+tq4qz6Awrlye2WGuOKt3FwPgtGg6KTfbHOWNw+Rk1rzbAtZnZ6IBhsY491HLRnDXwoyBAijmmILA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.2" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.15.tgz", - "integrity": "sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peerDependencies": { - "css-tree": "^3.2.1" - }, - "peerDependenciesMeta": { - "css-tree": { - "optional": true - } - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.2.tgz", - "integrity": "sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - } - }, "node_modules/@emnapi/core": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", @@ -2901,9 +2695,9 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.6.tgz", - "integrity": "sha512-mRyDmEw9/fCDXCGfL1sbgIw/GUK0PVxRW4YwgPN61F3LQ+fSyoBFarJVzgGyhF6kRzEQZ0FejDqm4WLXSeqQmw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.7.tgz", + "integrity": "sha512-zJccwplOAbgfZju95IUHazLnx9RAPtPN2YGJXI6UbrgeaR9QfPjGrQL6ERkSAtnVCA4Q+83ApGyaX5zdpCaKkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2917,8 +2711,8 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "peerDependencies": { - "@emnapi/core": "^1.7.1 || 2.0.0-beta.2", - "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2" + "@emnapi/core": "^1.7.1 || 2.0.0-beta.2 || 2.0.0-beta.3", + "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2 || 2.0.0-beta.3" } }, "node_modules/@noble/ciphers": { @@ -2972,26 +2766,26 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.155.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz", - "integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==", + "version": "0.156.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz", + "integrity": "sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/oxc-project" } }, "node_modules/@pandacss/cli": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/cli/-/cli-2.4.0.tgz", - "integrity": "sha512-eM0tAfFpRmFdm0mFf6WP+FEOXWL1zxymE5EbhW4qn7XdE8zZLonEeCCQWGTaJyyjfwMIUoFUFmjjfOQU7fA3CQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/cli/-/cli-2.5.0.tgz", + "integrity": "sha512-DQTWnn0yPENnIN0K2wSvlgdYBE+RSr9R27BfFZX0VE3jhM8A+ZhSo0Vh7mgMsu84EuG+xRMalr8e3UkTZfURDA==", "dev": true, "license": "MIT", "dependencies": { "@clack/prompts": "1.7.0", - "@pandacss/compiler": "2.4.0", - "@pandacss/compiler-shared": "2.4.0", - "@pandacss/config": "2.4.0", - "@pandacss/types": "2.4.0", + "@pandacss/compiler": "2.5.0", + "@pandacss/compiler-shared": "2.5.0", + "@pandacss/config": "2.5.0", + "@pandacss/types": "2.5.0", "@parcel/watcher": "2.5.6", "citty": "0.2.2", "fflate": "0.8.3", @@ -3007,9 +2801,9 @@ } }, "node_modules/@pandacss/cli/node_modules/ansi-regex": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", - "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.6.0.tgz", + "integrity": "sha512-XZ5apbzreCbXSKwPjJstu8R0zOi247w3XYwWxtwBXgpZrCyc1Ka7p9/xY0A9/diMewmHbEKz+FIraWaEWjlN5g==", "dev": true, "license": "MIT", "engines": { @@ -3061,35 +2855,35 @@ } }, "node_modules/@pandacss/compiler": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler/-/compiler-2.4.0.tgz", - "integrity": "sha512-3wrGSERvuZzpLKHTHR9l8Hesd40fECZzh2YTWGdHag+j2TCJ2llBX56qYgX0KuruNL/VzWTnx1sgzXth1VLT1w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler/-/compiler-2.5.0.tgz", + "integrity": "sha512-ws0gsefN9xVcPtOEJajjE1ggpCroLZo2o990hn7IEb+Z6j75q/6lfaMcvoGU0WiU8wETT1z8TQQ23PBSe7LvDw==", "dev": true, "license": "MIT", "dependencies": { "@napi-rs/wasm-runtime": "^1.1.6", - "@pandacss/compiler-shared": "2.4.0", - "@pandacss/config": "2.4.0", - "@pandacss/types": "2.4.0" + "@pandacss/compiler-shared": "2.5.0", + "@pandacss/config": "2.5.0", + "@pandacss/types": "2.5.0" }, "engines": { "node": ">=22" }, "optionalDependencies": { - "@pandacss/compiler-darwin-arm64": "2.4.0", - "@pandacss/compiler-darwin-x64": "2.4.0", - "@pandacss/compiler-linux-arm64-gnu": "2.4.0", - "@pandacss/compiler-linux-arm64-musl": "2.4.0", - "@pandacss/compiler-linux-x64-gnu": "2.4.0", - "@pandacss/compiler-linux-x64-musl": "2.4.0", - "@pandacss/compiler-win32-arm64-msvc": "2.4.0", - "@pandacss/compiler-win32-x64-msvc": "2.4.0" + "@pandacss/compiler-darwin-arm64": "2.5.0", + "@pandacss/compiler-darwin-x64": "2.5.0", + "@pandacss/compiler-linux-arm64-gnu": "2.5.0", + "@pandacss/compiler-linux-arm64-musl": "2.5.0", + "@pandacss/compiler-linux-x64-gnu": "2.5.0", + "@pandacss/compiler-linux-x64-musl": "2.5.0", + "@pandacss/compiler-win32-arm64-msvc": "2.5.0", + "@pandacss/compiler-win32-x64-msvc": "2.5.0" } }, "node_modules/@pandacss/compiler-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-darwin-arm64/-/compiler-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-w0q8Zu00LpUHpIfR0GRw9ouikV7Pm/Izy9YA2nNdLaVBe0wQmINWsFszQdSCVom3S5xhQCINiY79c7vjhojtuA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-darwin-arm64/-/compiler-darwin-arm64-2.5.0.tgz", + "integrity": "sha512-SHCu3ScXzO+Xfmptjquxnwl9hyVUam8p2iqEsQjgghnYcpsGL/ynss7obYZyk7dHAYryZ91DEoodEv9GBKx+lg==", "cpu": [ "arm64" ], @@ -3104,9 +2898,9 @@ } }, "node_modules/@pandacss/compiler-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-darwin-x64/-/compiler-darwin-x64-2.4.0.tgz", - "integrity": "sha512-CNh/9ddcrPJlFHUEbNr+n9OvjpkdUEJqxV2fmjge8UnCH1SzMJF30Tu7zpo8Il8Mz5tnoecIytE3XqM1RwPr5Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-darwin-x64/-/compiler-darwin-x64-2.5.0.tgz", + "integrity": "sha512-F/IuttDopjOkSPHRhlYfks8VXfb/lbERJQCMlh3cn/jiEeiaR0HlatSucj3S3SzH4OS0KgQ0aLYCqrY28vuyHw==", "cpu": [ "x64" ], @@ -3121,9 +2915,9 @@ } }, "node_modules/@pandacss/compiler-linux-arm64-gnu": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-arm64-gnu/-/compiler-linux-arm64-gnu-2.4.0.tgz", - "integrity": "sha512-iUbb79OYiM3mEOzH5Bg9iJw2N+Ce//XmBbHXqi0Fkh6J+pREi0HPLM5BTTEJY+p/dBPlKyKKSN8QLtWJcBQekQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-arm64-gnu/-/compiler-linux-arm64-gnu-2.5.0.tgz", + "integrity": "sha512-EO+ozFA+gW1bEenl/JCRrfjZ2af4pUl+8sHM5ja2YYzbbAqYl95MJyKl9rYgHNwT+Xu/THANUyCJuDsj5cvDaw==", "cpu": [ "arm64" ], @@ -3141,9 +2935,9 @@ } }, "node_modules/@pandacss/compiler-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-arm64-musl/-/compiler-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-uAK66iEh77aUjh+UkN4dAUCHh1whBCsSfaxHbj26qcbno+SPtmrovE8YX+0jpazMUffRgoq0AiWejvfRaY9hIw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-arm64-musl/-/compiler-linux-arm64-musl-2.5.0.tgz", + "integrity": "sha512-vjo+B3H+kQMEd53y1z/emfgZtpiCS2Jox06nutau60hyllhU2WKlKJ10KvJ4IhXLSu4RtICRPOkRhXgJm3KE7Q==", "cpu": [ "arm64" ], @@ -3161,9 +2955,9 @@ } }, "node_modules/@pandacss/compiler-linux-x64-gnu": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-x64-gnu/-/compiler-linux-x64-gnu-2.4.0.tgz", - "integrity": "sha512-qVZSp8ipgUSmqjL7vhVAmEiKkWQzOzGdJBvRbm80xPBh9i6LgJs0uqBIAM3U4QH/dcPfFve7USVLwkvRoFny7A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-x64-gnu/-/compiler-linux-x64-gnu-2.5.0.tgz", + "integrity": "sha512-8PqSTqDR2yQTjfV1dmoqenEWDigaDfQWekCM2c4sECSm9i03n8QAHiW+DWfft4+B6RhjbLqeDteQ8LKzs9WDOg==", "cpu": [ "x64" ], @@ -3181,9 +2975,9 @@ } }, "node_modules/@pandacss/compiler-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-x64-musl/-/compiler-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-6fpu93mRGwNNtQWFKiA3inPqGOXrlu7QzO4lCdqSFb7REZtCc6PzbX8yu/mn4Rcn2Z0om4xlRC5S9v9+wXPt7Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-linux-x64-musl/-/compiler-linux-x64-musl-2.5.0.tgz", + "integrity": "sha512-wEvK2X7yiAOGWdYTY/UzkO9IZUwTd2raIiJLdJP8vKCGuGnfCowQ0ExnjSp36hM0Tktb3DeNXEwbvnISEkK+gQ==", "cpu": [ "x64" ], @@ -3201,22 +2995,22 @@ } }, "node_modules/@pandacss/compiler-shared": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-shared/-/compiler-shared-2.4.0.tgz", - "integrity": "sha512-ba/XhN0eyOcbd+IclKupzOITcyz/yQ+h8TzKh0O7yp0dJFeDBnmTujWR/VtGYeeI4x2WBuQuDyzPv8lAWHYnYw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-shared/-/compiler-shared-2.5.0.tgz", + "integrity": "sha512-9u3pr9Wk4ay6+6jeSTD52ZAnyBpuQAVkBStd+ll1vro1ILgsIOmbMND5XApUW04DRY9oAjS6bkln7uk0qBGFLg==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/types": "2.4.0" + "@pandacss/types": "2.5.0" }, "engines": { "node": ">=22" } }, "node_modules/@pandacss/compiler-win32-arm64-msvc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-win32-arm64-msvc/-/compiler-win32-arm64-msvc-2.4.0.tgz", - "integrity": "sha512-ZaJa9uLvpuWSfX5HKg624day9sUf1QR4tLPoOxnbY9Z4RzsvbCmmS9957duuNGLqQGwaRbcXjjwtS/p194YC1g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-win32-arm64-msvc/-/compiler-win32-arm64-msvc-2.5.0.tgz", + "integrity": "sha512-cCSWGugoPNqpnvqbasg6QsIiiNcBZ2u25KPqQE/kJ3AGuPMcKXavZv1pQkKzw/QKtyzh/ATLtFCIOt0ZZ9LYbA==", "cpu": [ "arm64" ], @@ -3231,9 +3025,9 @@ } }, "node_modules/@pandacss/compiler-win32-x64-msvc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/compiler-win32-x64-msvc/-/compiler-win32-x64-msvc-2.4.0.tgz", - "integrity": "sha512-kDpBSezY+I6jkAesWkrDXC2hmrI+JDoMnZ809V06odnwu67xRAVMd9ck+8wItJzbidLQCAFm1sGDoTL+sWhySw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/compiler-win32-x64-msvc/-/compiler-win32-x64-msvc-2.5.0.tgz", + "integrity": "sha512-XoJZBTFWBieafwl1T5oDO/gE196r/RDo/Ud9z7K8N4EjAAGanF/qILPwY5ODRTaPKG2Ouokt7Awu5KRBCMZZng==", "cpu": [ "x64" ], @@ -3248,14 +3042,14 @@ } }, "node_modules/@pandacss/config": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/config/-/config-2.4.0.tgz", - "integrity": "sha512-pBCh7yaexdoXUIRcgTOoE6hel8BkMXU54/KIlIy5UY98NUAsaNGj6RR9llAL1QA4rYWMyNjYHFB73wjXC62jOg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/config/-/config-2.5.0.tgz", + "integrity": "sha512-bpbwvY+YpmPbt7W89cXM/HCHQTisrkT+RXzNY76NjWLCyvDPYgznB/3aea8gytF3zPXsYhnsWglmwCCtXjVcdA==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/compiler-shared": "2.4.0", - "@pandacss/types": "2.4.0", + "@pandacss/compiler-shared": "2.5.0", + "@pandacss/types": "2.5.0", "acorn": "^8.17.0", "acorn-walk": "^8.3.5", "javascript-stringify": "2.1.0", @@ -3585,17 +3379,17 @@ } }, "node_modules/@pandacss/dev": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/dev/-/dev-2.4.0.tgz", - "integrity": "sha512-owpCKMOmWSqacZxdGh50hDgASkt3Ryw4GgWQgEy5gS4u6ve80Wjq7RMaCV20VjnpPAp7b2asElQM7NVw/txBxg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/dev/-/dev-2.5.0.tgz", + "integrity": "sha512-4uGoeefnFMjrM+I0vkN0/1oMB9xeP9cIjT+FjEdJcvij64HQcMqDlbeY1XdIZo47z9ZwWrV0bN6jOWRok3w0kw==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/cli": "2.4.0", - "@pandacss/compiler": "2.4.0", - "@pandacss/config": "2.4.0", - "@pandacss/postcss": "2.4.0", - "@pandacss/types": "2.4.0" + "@pandacss/cli": "2.5.0", + "@pandacss/compiler": "2.5.0", + "@pandacss/config": "2.5.0", + "@pandacss/postcss": "2.5.0", + "@pandacss/types": "2.5.0" }, "bin": { "panda": "bin.js", @@ -3614,14 +3408,14 @@ } }, "node_modules/@pandacss/postcss": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/postcss/-/postcss-2.4.0.tgz", - "integrity": "sha512-orYDFIqqdLF2GdEQI8G0gfNZtJE2zbaGd4rtiIaVUqU/DL6auLh7OJSoM+6b0HTY2+HIob8rw0VGDO849rGSaQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/postcss/-/postcss-2.5.0.tgz", + "integrity": "sha512-ruN4sZbsTXlxgxHXAiLu9TL2aIIEDitWTUFLQrv82OxqTQTGSgxrsd4ZpDbonQjnduJhhsYEKdYQrZqTZidIXw==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/compiler": "2.4.0", - "@pandacss/compiler-shared": "2.4.0" + "@pandacss/compiler": "2.5.0", + "@pandacss/compiler-shared": "2.5.0" }, "engines": { "node": ">=22" @@ -3631,35 +3425,35 @@ } }, "node_modules/@pandacss/preset-base": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/preset-base/-/preset-base-2.4.0.tgz", - "integrity": "sha512-0tQx1ltwgD1WawROrYQMK7BnWJu8U9nnuJJxmwVq86hD+6A3uhWp9O55WiHL8YJZGC1j1dSRORYpFjYg2KVfZA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/preset-base/-/preset-base-2.5.0.tgz", + "integrity": "sha512-1g2LxmmZqyT/JPUWTeooegPfK3S5LkPqusbAKdl+ZBCjyZN0qIHMgGOvoSck4LotSD7BUwSReDaOLRMO7GCTpg==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/types": "2.4.0" + "@pandacss/types": "2.5.0" }, "engines": { "node": ">=22" } }, "node_modules/@pandacss/preset-panda": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/preset-panda/-/preset-panda-2.4.0.tgz", - "integrity": "sha512-fXG9fYUp/uAv7WUKV1EWfnYnt9yWR/V4NbRYTV5nRTRZYZvpS365bpEsE5oaJTihnOqe9nR8uBH4FWZ9+gTSqQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/preset-panda/-/preset-panda-2.5.0.tgz", + "integrity": "sha512-snArKcPnoAd3sHsTqUomaGjpar1oit2HCoS19oUJfme+FA6u0wN+7vbU3OVOdDcHfR4zN4GD00Qfw816hPM55Q==", "dev": true, "license": "MIT", "dependencies": { - "@pandacss/types": "2.4.0" + "@pandacss/types": "2.5.0" }, "engines": { "node": ">=22" } }, "node_modules/@pandacss/types": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pandacss/types/-/types-2.4.0.tgz", - "integrity": "sha512-W2ELCg6MjSyHXOa5/Z9pQ+S39jKcYWRQIC0bu3Ycg6NPDh/qOz8cc9Kr5LMO9Iskd3F8a2MdBl3BuUR+PvR6oQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pandacss/types/-/types-2.5.0.tgz", + "integrity": "sha512-p0iRlGE6+zNK34HGL4qOqIAz1wyu6He6dsGfGawj2ddU8pk6J2HmoymOELmto1KJxP79F26VvQIyOZOGv4639g==", "dev": true, "license": "MIT", "engines": { @@ -4936,9 +4730,9 @@ } }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.15.tgz", - "integrity": "sha512-aLcgK9gIJ3YRvrrtfSBbRa27F5WrpiTaPulnFpsHPxpUHgFlSgnU4854MHwoRGEBhfRJDWCS2WQ7lIjskE9Olw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.16.tgz", + "integrity": "sha512-ia3DwAs0OsMGS7+IConptSiyk9pEXkOx/AbJ2n/lAGxH3QkWQus1t8d7gnAT38FCU2sQu8lUbeR6AiZFv4JxaA==", "cpu": [ "arm" ], @@ -4952,9 +4746,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.15.tgz", - "integrity": "sha512-xD7DdZCrbThKuxNg7ooQmvp07ys4J/pnSEMTG3/OdOWl6daC67m/Q4fL78sRHMxTH/N4fGUbYhcPM0MF5WFHkg==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.16.tgz", + "integrity": "sha512-kx5wBiMB6E7TEvpl2B9gjLU004BkvEm2Dr941BFjx/SontPwSzNuQUIoVKxHHoSjpFIfHMmcguyLOtyn0hObRg==", "cpu": [ "arm64" ], @@ -4968,9 +4762,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.15.tgz", - "integrity": "sha512-m2WuQ6r0B4OTYxyPpNLtXaMRbRDUbG8YQV2Q3KTdSSK8Th6KHCnC8jVCJt8bvYeSB5WivkkNbc85mKadaSdOxA==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.16.tgz", + "integrity": "sha512-qslZrXnKJU4cUpjoAmtAo/KQM9e2IRMlmpig6Zpwj+8KWxW8v+nkAf9216Bsek9lOC1jvg2yCjygCFo2f83msQ==", "cpu": [ "arm64" ], @@ -4984,9 +4778,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.15.tgz", - "integrity": "sha512-5RtnsHM36nodM9WbMy+zip0LGS/G+y5wro5RHrpOlr4ac24+1zSi9kiV2MP1myZeZ/ifEHfulQcWjnAXzc2C2A==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.16.tgz", + "integrity": "sha512-FdF+y48ND13eAyM2mQn+85kvAqNlvRWROy2rhgA463X/0Gv4vGtazZtfaF1mRBLscYvtOlh4QnLjOWiFzX69OQ==", "cpu": [ "x64" ], @@ -5000,9 +4794,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.15.tgz", - "integrity": "sha512-g3l09pyFqhu+135JKkbkwiKGQmwU5hUMUPJ4VdBADvuqR8d33L6H578rh8m7rtxbdp+VmX/+nzI7nvhSZlzpUQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.16.tgz", + "integrity": "sha512-ddjqFM5e95AgLbUPtKIS7V1KTVlA0RUgCVr5mn+/IEhsdy3pr+Vuj/HZ7nlMN2FyxIwUktOH1LEPIQXO1v9y1Q==", "cpu": [ "x64" ], @@ -5016,9 +4810,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.15.tgz", - "integrity": "sha512-nIe3VugI97nGQtspPxDqA4sXMUpeiocKIP/CqpY/u/vgbT+alX+cVxu1C/oVBPKg4feNTmYovE91v4DgXvXNwQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.16.tgz", + "integrity": "sha512-tHdKWbFkFBI687iim3LIyIvyL7j66VvQYkDPss5Stn/qyE2tWkR1YD0dXmXPFKKqT/o5ZEJVsaRsWS2meQwGOA==", "cpu": [ "arm" ], @@ -5032,9 +4826,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.15.tgz", - "integrity": "sha512-iTBjXx+B5QSvgI89lJfmqh4wTh8NabR1YZIIN3hNx4zSG0EVfVqkOvLulNpG4251pbd6/IAmZ/LefVk1Y4rPhw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.16.tgz", + "integrity": "sha512-FJiLGAblPBMlBEdbOqw6kW6QcXDWAf/oJu7gYs9ZJZwmg+K+/zjFLxPTIY9izJUzxzc24FHvmseyA0IvJSl17w==", "cpu": [ "arm64" ], @@ -5051,9 +4845,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.15.tgz", - "integrity": "sha512-uN26XOnVR7rqQupG3V9oAG2EGGatWjcJHOeDOHUFCh4TBWmP2tHTFoVN13aYbwfm0aHqJAEmcwhAu6sooIjfqQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.16.tgz", + "integrity": "sha512-hrJpblMsrQ58U9veWpbXzkhV5zStunds6HWLprqq1qauvgBr1E6P+24kLj6lSLI9vjRn/RYpjprhkHQPKGWpNg==", "cpu": [ "arm64" ], @@ -5070,9 +4864,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.15.tgz", - "integrity": "sha512-9nWkcdd+H+XhaA3fQIwpHnKIrfx/PQ6rO0pivr78Og07tXlUlctBBJoEYLPfhTmCR/QxEVdn6uPjHV5SymPhdw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.16.tgz", + "integrity": "sha512-qJd/dC6j6CwLG9/s/RP2nb1RZ0GIgj7Ioj7x/SYa3RzjVrlzrmH0fhIOpfvqQDeIsdP0loi+kHaMhJzY1PBIaA==", "cpu": [ "ppc64" ], @@ -5089,9 +4883,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.15.tgz", - "integrity": "sha512-Ggh0ciFjLwIusLSLz7LZYEaGdxOAUJXI+Qu5JCbhPJJHEt8vP+IjRATTJheiJsdzzTYgUiHUiw3X1Ea3ZpMBdA==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.16.tgz", + "integrity": "sha512-Vx7Xg5uUJuNcujJjI70OICaH0EYj80BtOLZTSN7uOYg8QOLlyKnaG0IW7Fn/J0IpJsaKzmDKMhOQv1JBM9m9vg==", "cpu": [ "s390x" ], @@ -5108,9 +4902,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.15.tgz", - "integrity": "sha512-FHg60rS6DBePAYZ9X9F67x+JObFdmgn6tupA1C/a3B+CufFmTD4mX+e8M75tCiAO3foR/6xwVBI0KQiI7sn/rw==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.16.tgz", + "integrity": "sha512-TNKhgE3uJTsTzatUSSYt0Kgo+Oa2uSlSjz4r1aEIea7HX6ULBym4fAlYUhG1i6pjNf2njfCUAfKwr6C3E9Xg1w==", "cpu": [ "x64" ], @@ -5127,9 +4921,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.15.tgz", - "integrity": "sha512-/cvV/7v5VGz/moiz0XKRj2dE8DzsKyhIu1KpOvJGPjRywg3yscON889UGvAe8zfiJLHup7VLjBduoGWi3HusWQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.16.tgz", + "integrity": "sha512-7chXdpjXZ8qG0+mIxECN3cT9kvhZ3/oZhMX6Pp876P7CDrIy8nJswva6Mq357JR7eYXfuskwZxMeV1SzoZdHrA==", "cpu": [ "x64" ], @@ -5146,9 +4940,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.15.tgz", - "integrity": "sha512-MyzC5Hrv/sm+Z7TSGKP/j8001RO2xQm1zOpCNVL4j0cY/VhBZviludA2YFQ7i4lH6ZAXxQm0lcMdBzM+99mE7w==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.16.tgz", + "integrity": "sha512-Kwjt+7uNTJK5/MDkGWGVO2KQPnj8yAV75dMpfwyHZrJSXWHrniOB0aUEWlVYf3H1hOqFLIStLdM5QXq6bnKmOQ==", "cpu": [ "arm64" ], @@ -5162,9 +4956,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.15.tgz", - "integrity": "sha512-+PgYiS+AH5omy6L45ZLxybasauJaj3M8buoT83D+nzPmCayXlxUV9hydhciCKVyIg0B/v0BtXPDE1uGqNwCPpg==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.16.tgz", + "integrity": "sha512-/LH6WfjDRXXJz/p5xl4TmU+jpcnwcxbKEQBW/GZE0JHfN0lGIyTtsUEGaQ/q/GikkGJ2yLKe6pwm7AnEWO8pdw==", "cpu": [ "arm64" ], @@ -5178,9 +4972,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.15.tgz", - "integrity": "sha512-HFZd2QNQYn1JbIi+Hpd7H+r/lkWxcfIu28nirZ6eCn2LafuvmExMlb/P96Sfx5tf7pPArw39IdhmCF8vmV+NhQ==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.16.tgz", + "integrity": "sha512-1lv1KvX0Z871zfk7vw+dnXMMnHNyDwMzWG8Kv3HxDXMOhzCX4SHc7HK319fInP0i+0p9D8brkfzL7pJOaGl+tw==", "cpu": [ "x64" ], @@ -5647,9 +5441,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.105.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.105.1.tgz", - "integrity": "sha512-B/rNlZoZ54w1dlddiUt9oEe1SLM+37c00SKLJEg9YH+7as3Y54P81o9Fh+2ujZ36tXPnQJ5oVe7AcyEWkyFhPg==", + "version": "5.107.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.107.1.tgz", + "integrity": "sha512-PSyAik11oQBEVOiVy5hjZWHmoUqOXqK1WYy4v55mcxozEfKaQgpUMsgnXhWjuESzSht8JfzqMS1m6M/9CpNgvg==", "license": "MIT", "funding": { "type": "github", @@ -5657,12 +5451,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.105.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.105.1.tgz", - "integrity": "sha512-qcu+/+PtBOjW8qU4/0l47QVmNG7hPOWsCLzP0bTRhE1X7HYa757C4732wXTUH0QhCjTV1yedX8onsCiEwlNYrA==", + "version": "5.107.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.107.1.tgz", + "integrity": "sha512-udCOOLp3ZAheUrIHLCe+ZZge6nr2ZUrGMSWcCuXsjY1Bf2JeeE09oxst97PILiCY6N8xo/7bIo3Hvz13zh06FA==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.105.1" + "@tanstack/query-core": "5.107.1" }, "funding": { "type": "github", @@ -6292,9 +6086,9 @@ } }, "node_modules/@universal-middleware/core": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@universal-middleware/core/-/core-0.7.1.tgz", - "integrity": "sha512-SVxKEjycCfibZnVnr9voo9AMTeAOVBt0V/T2QaiDQVzBVFlgfwMBtz74jrr8CABmc1hVOUCwzTFkpa+OqbC95A==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@universal-middleware/core/-/core-0.7.2.tgz", + "integrity": "sha512-MFcAC/EzmgzkBZy+CK5I/ViKWHGLC048BHcm9KxTrAUy3czwRY2/oquNZrwvUGBiJLN+PjzoeIMQfYSub+Vefg==", "license": "MIT", "dependencies": { "regexparam": "^3.0.0", @@ -6423,9 +6217,9 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.2.0.tgz", - "integrity": "sha512-fw7aWcon3u2xOMTN/F9xYBRZ55zEOIpf3EWfWn+bYwVdT1rQfY4wnOICwR760Dx+VLw8haqtmiULb+ROeJVZqw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.3.0.tgz", + "integrity": "sha512-H9E955aVvD2F4zNHCw4eIZbIfF6xKldlh7MNu+hSU7xwQzh65lI/N+CJWqmfhi0PEjDXIt/H7T7J/4wU63KJiw==", "license": "MIT", "dependencies": { "@rolldown/pluginutils": "^1.0.1" @@ -6452,15 +6246,15 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.5.tgz", - "integrity": "sha512-4KpkGdIrSqBihx/JyP/e+S+IKB98etg1XDQiLAxksLfcShnwi1VReGeOT9NI43hLHbknosKp/1CCLn9Zgcs8mg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.1.0.tgz", + "integrity": "sha512-OY9aShBQG5KOIw2zCo9fDoCHI9RHliNHJ//nM7m6jGg41Hyke9JOGWmeMlK74xYErsxMoK8mIB3gAeEyFVA7LA==", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^1.0.2", - "@vitest/istanbul-lib-coverage": "^1.0.2", - "@vitest/istanbul-lib-report": "^1.0.2", + "@vitest/istanbul-lib-coverage": "^2.1.0", + "@vitest/istanbul-lib-report": "^2.1.0", "ast-v8-to-istanbul": "^1.0.7", "magicast": "^0.5.5", "obug": "^3.0.0", @@ -6471,8 +6265,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "5.0.5", - "vitest": "5.0.5" + "@vitest/browser": "5.1.0", + "vitest": "5.1.0" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -6481,9 +6275,9 @@ } }, "node_modules/@vitest/istanbul-lib-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.2.tgz", - "integrity": "sha512-9J/JMwOf9AoJhAywhrn7ScKTL38hsWQP/qPG60OtaAFcQ5OXPwKsxZFlbnuCKmZ61m8/lGgHYnFpdyQZUvG/iA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-coverage/-/istanbul-lib-coverage-2.1.0.tgz", + "integrity": "sha512-WOjuS+xcjSIy7ruYBQ+9BUcV7XZQ0FyVcbWbWxW9TRx/kLGx5SQaeFRIFDJxjNplb6YsT7SpKo2zuXXUo91OIQ==", "dev": true, "license": "MIT", "engines": { @@ -6491,27 +6285,27 @@ } }, "node_modules/@vitest/istanbul-lib-report": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-report/-/istanbul-lib-report-1.0.2.tgz", - "integrity": "sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-report/-/istanbul-lib-report-2.1.0.tgz", + "integrity": "sha512-+ZFta25nWtGCOBG9/IET8w1RO5Oawsd6H8Uf6AJ9EA/StFuKVtKAEJEJ6uRt84OH+T4YkI0ASmIHAhRA+0KVxw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/istanbul-lib-coverage": "1.0.2" + "@vitest/istanbul-lib-coverage": "2.1.0" }, "engines": { "node": ">=22" } }, "node_modules/@vitest/mocker": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.5.tgz", - "integrity": "sha512-xLL3lkDegJZw+MGoGaCCsFayDZthGgpAtr3Vziyfc4p7xH89K7KRPcRBBh/kEYm0Aqkt5DtTmkYpBtRV/FrHZg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.1.0.tgz", + "integrity": "sha512-5umB9/jlWcqVS6fsrFmv5Gdnpu6wAUio/lEOwAmvB7v+lFo/IW2B9FhAD0p19GCULTgMzLCdUmuCDCnAzWgppQ==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.31", - "@vitest/spy": "5.0.5", + "@vitest/spy": "5.1.0", "estree-walker": "^3.0.3", "magic-string": "^1.4.3" }, @@ -6532,9 +6326,9 @@ } }, "node_modules/@vitest/mocker/node_modules/magic-string": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", - "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.5.tgz", + "integrity": "sha512-oLLC2+YvQUfAa+vxoufE/yc1icb87M9iXIRqAoR/2EhE/8cb3SF/+Gi0c2By1B+5Vz2e2vQtUvHiu1+63Znh+w==", "dev": true, "license": "MIT", "dependencies": { @@ -6542,9 +6336,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.0.5.tgz", - "integrity": "sha512-24sSdIlMA9DVPXnYiB9siwU0bTd887Y9jX3+vabztCSsvHwo7ipvJ/a2L3Rljw8+2rK1f5fCj3h5U9I/Jsqgbw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.1.0.tgz", + "integrity": "sha512-IRx5mc30CrFzyMNni6SZKQ1r53kv049Mcvvk0WbWcD6PUz/bFjG4zYv0KosQAeonPpGp5WxqYBMqdSOfJfvVWw==", "dev": true, "license": "MIT", "dependencies": { @@ -6555,9 +6349,9 @@ } }, "node_modules/@vitest/spy": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.5.tgz", - "integrity": "sha512-lwJRExuH417257Q5wv9QYugN9IMJkoxcrKrYxGPQkBzl7wlNpTUxD/5yNX4ESKVUIShKPgkGchYPFMWOOk0wzw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.1.0.tgz", + "integrity": "sha512-2DPO5OMHWKrBngC+fCmTQqemNF0gidRhp3lxbBmRhW+M1XJrfgPpqNqWVevXtn2f2ufD5ZaR1B6B641aAlcX5A==", "dev": true, "license": "MIT", "funding": { @@ -6565,13 +6359,13 @@ } }, "node_modules/@vitest/ui": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.0.5.tgz", - "integrity": "sha512-dCoGUOdgmCaSB2g+WQ/spPCBkytAWdNUkFSXY4z+eYp2d8JEOY8v0uDRaJTG9qf/kTlTVZ4CuYMYMz/f1HS/qQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.1.0.tgz", + "integrity": "sha512-00S3x4NRmqIBUiTVWF9/xLaA9EP9KeKv0+1sBO7e2Y4luBISlW+2ttnhlk/zjbTqEvVhJWCCo7MXzu6zNbefqQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "5.0.5", + "@vitest/utils": "5.1.0", "fflate": "^0.8.3", "flatted": "^3.4.4", "pathe": "^2.0.3", @@ -6582,17 +6376,17 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "5.0.5" + "vitest": "5.1.0" } }, "node_modules/@vitest/utils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.0.5.tgz", - "integrity": "sha512-/rBu7gzLDQI/SC79Tn98b5DwOgaHU/Gt4I9OVeP3YofzNaYtbImRCOJQmT1S6vOJg9gEIlWC+r3QxKkjuSa1nQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-V+qgCwkvVw+s1t1S5TaoBHsLi5Sz/YmohCMoOu0mZ8ZQst2bKhRYARAQucWpVg8D0mv0x5MHcWXY5QdOsoiGBQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "5.0.5", + "@vitest/pretty-format": "5.1.0", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.2.0" }, @@ -6601,9 +6395,9 @@ } }, "node_modules/@wagmi/core": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-3.6.7.tgz", - "integrity": "sha512-ktXipTQanp+Xn1cefFXRe/AsuSjKgU3S2K5D2LUukOt6NvoroHx724CFfxDlyMfd+X/Qg32gXxungFWqPc6unA==", + "version": "3.6.9", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-3.6.9.tgz", + "integrity": "sha512-n9gUa8YKUJK/+ckQ3+Rm/MrZ5u7QAvKeBTfUv8NwMnS20LV9t1vprt/TzU99sTxXmHiuJoMwr6Q32IG601LKyw==", "license": "MIT", "dependencies": { "eventemitter3": "5.0.1", @@ -7133,9 +6927,9 @@ "license": "0BSD" }, "node_modules/@x402/core": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/core/-/core-2.29.0.tgz", - "integrity": "sha512-fkS0JqVwHgczteDlwItLRipOlIzm28U9HWLvYnYpnNbfmepoBT/4ux7LjrR0xGD51JHoC8/r+Qo7uCfoAQYeuw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/core/-/core-2.30.0.tgz", + "integrity": "sha512-gvMxCum2QlNI6jI/3NL1jdrmOgtX9sWEWxSIOmeI67/5ndOJvYOtP7JZLSO8o8af+O+A+Vhhjza1NCda0yVppg==", "license": "Apache-2.0", "dependencies": { "zod": "^4.6.6" @@ -7151,12 +6945,12 @@ } }, "node_modules/@x402/evm": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/evm/-/evm-2.29.0.tgz", - "integrity": "sha512-Gk4bJ6WoRR3jeT2+vERSPMSkSr1nRL5kjtVh14uoynRm8y+fGFH8xmvlGzuwKT0liA6OLjdr9xjZtN8i0WYk9g==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/evm/-/evm-2.30.0.tgz", + "integrity": "sha512-/iaEB820OPJb1JkUqaCTq90FwjbmBB/rAFaH7ZAL2AmcesSVPO/FjdHD2wmXqBzXkEnPG9f6m1SuNpCtVlA9LQ==", "license": "Apache-2.0", "dependencies": { - "@x402/core": "~2.29.0", + "@x402/core": "~2.30.0", "viem": "^2.48.11", "zod": "^4.6.6" } @@ -7171,12 +6965,12 @@ } }, "node_modules/@x402/fetch": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@x402/fetch/-/fetch-2.29.0.tgz", - "integrity": "sha512-ym/+6Cg7uUqScrE/pCV0sfmKecX46KTk5B/VKyJo579Xn1Z6dq2KiLd04rTvvO2xldLKKluU/3SqpDIgkp6T9Q==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@x402/fetch/-/fetch-2.30.0.tgz", + "integrity": "sha512-rEC8CHQN5ZFn2W9b1mZ8ZvRyEw9Zkc5LuuVXo1CBU9w3PCtQO3c7+ChS7Ht9MvF66JTicK3ja0KgUF+fpChvNA==", "license": "Apache-2.0", "dependencies": { - "@x402/core": "~2.29.0" + "@x402/core": "~2.30.0" } }, "node_modules/abitype": { @@ -7629,14 +7423,31 @@ "node": ">=6.0.0" } }, - "node_modules/bidi-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.1.0.tgz", - "integrity": "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==", + "node_modules/bcp-47": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.2.tgz", + "integrity": "sha512-wsv86UuNFuPnVieKLyECTT+CP1WSAHeoIg5P3xu2kA9Z+7fVPoKt7dxzSeEhtJel0AI+NW3fIW3KtTKQKUCngg==", "dev": true, "license": "MIT", "dependencies": { - "require-from-string": "^2.0.2" + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, "node_modules/big.js": { @@ -8086,20 +7897,6 @@ "node": "*" } }, - "node_modules/css-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", @@ -8395,6 +8192,19 @@ "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", "license": "MIT" }, + "node_modules/entities": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-9.0.0.tgz", + "integrity": "sha512-oJFNDJg3kTPwAD1cNn2+WmUq4wFoo09npc3Ydf1D7ED4smRiWrsKnaLxykrTWgyGEcusc87P5dxlAleol9kpkg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-abstract": { "version": "1.24.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", @@ -10577,58 +10387,43 @@ } }, "node_modules/jsdom": { - "version": "30.1.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-30.1.3.tgz", - "integrity": "sha512-hQMUPvRgN7KxsfIytDQji7bimuJeRQa6Qo5+iuiZQk5CafeRxLIA10/cG5YCBFNpD9RO3oqIiN4CO1Y44kxqXg==", + "version": "31.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-31.0.0.tgz", + "integrity": "sha512-xAkhD9z1eyFC5+QUi9K24CaZJgdCQ2GOGLW1GdVDoQvkp/AxEH9TQ0pAplPOlIiV92hfcgnFOADZypbjgbBT6Q==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^7.1.3", - "@asamuzakjp/dom-selector": "^10.0.3", - "@bramus/specificity": "^2.4.2", - "@csstools/css-syntax-patches-for-csstree": "^1.1.15", "@exodus/bytes": "^1.16.0", - "css-tree": "^3.2.1", + "bcp-47": "^2.1.2", + "bcp-47-match": "^2.0.3", "data-urls": "^8.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^7.0.0", "is-potential-custom-element-name": "^1.0.1", "lru-cache": "^11.5.3", - "parse5": "^8.0.1", + "parse5": "^8.1.0", + "parse5-parser-stream": "^8.1.0", "saxes": "^6.0.0", "tough-cookie": "^6.0.2", - "undici": "^8.12.1", + "undici": "^8.12.3", "w3c-xmlserializer": "^6.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^17.2.0", + "whatwg-url": "^17.3.0", "xml-name-validator": "^5.0.0" }, "engines": { "node": "^22.22.2 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "canvas": "^3.2.3" + "@napi-rs/canvas": "^1.0.13" }, "peerDependenciesMeta": { - "canvas": { + "@napi-rs/canvas": { "optional": true } } }, - "node_modules/jsdom/node_modules/entities": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", - "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20.19.0" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/jsdom/node_modules/lru-cache": { "version": "11.5.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", @@ -10640,13 +10435,13 @@ } }, "node_modules/jsdom/node_modules/parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", - "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.1.1.tgz", + "integrity": "sha512-EcR/6WDcU7b2N3vQSxKALCk9lXGtUMQxXio008OEMBE0kavu/7JLfBEeFPzi43nMqVDSbEn3QCK+BMCc9zO//w==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^8.0.0" + "entities": "^9.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -11269,13 +11064,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/micro-ftch": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", @@ -12530,6 +12318,32 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-parser-stream": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-8.1.1.tgz", + "integrity": "sha512-hMcVbbUJcQmP8rURWUdYrT1flRiBiBVjq/RYGguJpDUgIXSqdYKlE0CxthmdMWoSlBAuL5bUBa73g0pttSy7Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.1.1" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream/node_modules/parse5": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.1.1.tgz", + "integrity": "sha512-EcR/6WDcU7b2N3vQSxKALCk9lXGtUMQxXio008OEMBE0kavu/7JLfBEeFPzi43nMqVDSbEn3QCK+BMCc9zO//w==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^9.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/parse5/node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -13267,16 +13081,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -13312,12 +13116,12 @@ } }, "node_modules/rolldown": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.15.tgz", - "integrity": "sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==", + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.16.tgz", + "integrity": "sha512-bWvlMpFKiTfDKfnK7FC2MPgPeWCf/Kpwsq49ApdW+FQaBZb6O6dZ4MAPbPUjp7hYQrw/RobqCzn64BRrQecGHw==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.155.0", + "@oxc-project/types": "=0.156.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -13327,21 +13131,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.15", - "@rolldown/binding-android-arm64": "1.2.15", - "@rolldown/binding-darwin-arm64": "1.2.15", - "@rolldown/binding-darwin-x64": "1.2.15", - "@rolldown/binding-freebsd-x64": "1.2.15", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.15", - "@rolldown/binding-linux-arm64-gnu": "1.2.15", - "@rolldown/binding-linux-arm64-musl": "1.2.15", - "@rolldown/binding-linux-ppc64-gnu": "1.2.15", - "@rolldown/binding-linux-s390x-gnu": "1.2.15", - "@rolldown/binding-linux-x64-gnu": "1.2.15", - "@rolldown/binding-linux-x64-musl": "1.2.15", - "@rolldown/binding-openharmony-arm64": "1.2.15", - "@rolldown/binding-win32-arm64-msvc": "1.2.15", - "@rolldown/binding-win32-x64-msvc": "1.2.15" + "@rolldown/binding-android-arm-eabi": "1.2.16", + "@rolldown/binding-android-arm64": "1.2.16", + "@rolldown/binding-darwin-arm64": "1.2.16", + "@rolldown/binding-darwin-x64": "1.2.16", + "@rolldown/binding-freebsd-x64": "1.2.16", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.16", + "@rolldown/binding-linux-arm64-gnu": "1.2.16", + "@rolldown/binding-linux-arm64-musl": "1.2.16", + "@rolldown/binding-linux-ppc64-gnu": "1.2.16", + "@rolldown/binding-linux-s390x-gnu": "1.2.16", + "@rolldown/binding-linux-x64-gnu": "1.2.16", + "@rolldown/binding-linux-x64-musl": "1.2.16", + "@rolldown/binding-openharmony-arm64": "1.2.16", + "@rolldown/binding-win32-arm64-msvc": "1.2.16", + "@rolldown/binding-win32-x64-msvc": "1.2.16" } }, "node_modules/rollup": { @@ -13482,9 +13286,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.6.tgz", + "integrity": "sha512-9lpSSU4Mly3mrtruwLs1eLK6+gzbzqeBFwRNjIjE+9LuDpWdYctrQlQ3ej1Ilgi7gknpsTRnPoLP8DpCHqHIJw==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -14133,9 +13937,9 @@ } }, "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.9.1.tgz", + "integrity": "sha512-a4Ux9VKuIMHsOS7ENbEq6hK2ZGYIT27Rtl0E4eD9KqwxhKiQeMZE/9xb3IdYwWaSOyIBQLExhQgXDTYoiCxnWA==", "dev": true, "license": "0BSD" }, @@ -14797,9 +14601,9 @@ } }, "node_modules/vike": { - "version": "0.4.268", - "resolved": "https://registry.npmjs.org/vike/-/vike-0.4.268.tgz", - "integrity": "sha512-C/CxI/mtXrnIfM9gP8ewwpJIBn0lQvDaHB0jyA67SYGeeQF3i2WRhC7iYIjQtQZ9ngklnjKpOiysw7K0HtGfYQ==", + "version": "0.4.270", + "resolved": "https://registry.npmjs.org/vike/-/vike-0.4.270.tgz", + "integrity": "sha512-gRzXeQeIqTBYwUTx81y7UHduh8jAE4rCGaIYnJGNe9LrUMqdg1PYI6Uf3tZellGuuv9BDrUqsNURFS9mrsNzdQ==", "license": "MIT", "dependencies": { "@babel/core": "^7.28.5", @@ -14807,19 +14611,19 @@ "@brillout/import": "^0.2.6", "@brillout/json-serializer": "^0.5.27", "@brillout/picocolors": "^1.0.31", - "@brillout/vite-plugin-server-entry": "^0.7.23", + "@brillout/vite-plugin-server-entry": "^0.7.24", "@universal-deploy/store": "^0.3.0", "@universal-deploy/vite": "^0.2.2", - "@universal-middleware/core": "^0.7.0", + "@universal-middleware/core": "^0.7.2", "@universal-middleware/node": "^0.2.9", "cac": "^6.0.0", "convert-route": "^2.0.0", "es-module-lexer": "^1.0.0", "json5": "^2.0.0", - "magic-string": "^1.4.3", + "magic-string": "^1.4.5", "picomatch": "^4.0.7", "rolldown": ">=1.0.0", - "semver": "^7.8.5", + "semver": "^7.8.6", "sirv": "^3.0.2", "source-map-support": "^0.5.0", "tinyglobby": "^0.2.17", @@ -14877,9 +14681,9 @@ } }, "node_modules/vike/node_modules/magic-string": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", - "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.5.tgz", + "integrity": "sha512-oLLC2+YvQUfAa+vxoufE/yc1icb87M9iXIRqAoR/2EhE/8cb3SF/+Gi0c2By1B+5Vz2e2vQtUvHiu1+63Znh+w==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.6.0" @@ -14898,15 +14702,15 @@ } }, "node_modules/vite": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz", - "integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.6.tgz", + "integrity": "sha512-UI7dK29NnS54Fk+mmo7o+jI6U8Fp7hDl+X5Q1k45WH+d4dSlbLVUETGQ+hfkNgvLQGyoElPj837nZyv4MBc0VA==", "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", - "postcss": "^8.5.30", - "rolldown": "~1.2.14", + "postcss": "^8.5.32", + "rolldown": "~1.2.16", "tinyglobby": "^0.2.17" }, "bin": { @@ -15257,14 +15061,14 @@ } }, "node_modules/vitest": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.5.tgz", - "integrity": "sha512-cPODOMF8YnkiiYtDdHo6n4wWmBrOBBbOIYH2d33M4l3CdNn72h+qMmO6uXffUN6A5AZFXNND/d+krS9mgkXRfg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.1.0.tgz", + "integrity": "sha512-MzmNFnrwa8v8lF1bLxw3UJ4EREwVOVb75VqJZmUDRjJ6EluK/x9th7qTbaeDk41WxE1GxWqmTXcdsfobfH5sOA==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/mocker": "5.0.5", + "@vitest/mocker": "5.1.0", "chai": "^6.3.0", "es-module-lexer": "^2.3.2", "expect-type": "^1.4.0", @@ -15290,12 +15094,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "5.0.5", - "@vitest/browser-preview": "5.0.5", + "@vitest/browser-playwright": "5.1.0", + "@vitest/browser-preview": "5.1.0", "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", - "@vitest/coverage-istanbul": "5.0.5", - "@vitest/coverage-v8": "5.0.5", - "@vitest/ui": "5.0.5", + "@vitest/coverage-istanbul": "5.1.0", + "@vitest/coverage-v8": "5.1.0", + "@vitest/ui": "5.1.0", "happy-dom": "*", "jsdom": "*", "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" @@ -15383,13 +15187,13 @@ } }, "node_modules/wagmi": { - "version": "3.7.9", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-3.7.9.tgz", - "integrity": "sha512-WE+tdZsQrsHPPV6yEKgBELM1LpxPLxWtpvUv8hS9KlRZtCLA1lyJQHJtGdSZWfPy8QdjYV2xI3yIrm0XjceK5w==", + "version": "3.7.11", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-3.7.11.tgz", + "integrity": "sha512-2qyRwCXbNrDjy+Amx+HuiufaJAHM49ZiOYFNrNOiRRSS7ODyIKaWMBdllS252hklFm9lUsn/EJfzkcSNrya5fQ==", "license": "MIT", "dependencies": { - "@wagmi/connectors": "8.2.2", - "@wagmi/core": "3.6.7", + "@wagmi/connectors": "8.2.4", + "@wagmi/core": "3.6.9", "use-sync-external-store": "1.4.0" }, "funding": { @@ -15408,9 +15212,9 @@ } }, "node_modules/wagmi/node_modules/@wagmi/connectors": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-8.2.2.tgz", - "integrity": "sha512-lueq1h2hNQhBqTFjG3iT0dNpkt4+G5s7mJq6I1zavX1B8bv+lHx3wowlXCpvTuLBmtchjDQzQB85uad0pIw4aA==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-8.2.4.tgz", + "integrity": "sha512-r1HmXE2v1utz1fc9njeLfSfKbaErVzSjxL/g6vhtHP9iq6fLIo2iOqUeoDr6iJ0tP3XvShzzpnmQvOAjhU56cg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" @@ -15421,7 +15225,7 @@ "@metamask/connect-evm": "^2.1.0", "@safe-global/safe-apps-provider": "~0.18.6", "@safe-global/safe-apps-sdk": "^9.1.0", - "@wagmi/core": "3.6.7", + "@wagmi/core": "3.6.9", "@walletconnect/ethereum-provider": "^2.21.1", "accounts": "~0.18", "typescript": ">=5.9.3", @@ -15485,9 +15289,9 @@ } }, "node_modules/whatwg-url": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-17.2.0.tgz", - "integrity": "sha512-IhLIHNcBrzIixC5XXsbr4DxdjajyA5vQ5RwGZMtrUp+GbtE5Nrsge9QKau7jXrC0aTXLYGV0xiW7Tb4YS2aomw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-17.3.0.tgz", + "integrity": "sha512-KwOAJrpf+GTgBvcBQJcP38sMF0DsQKdwtG+TxM2pW44P6E5k0hDbWrDmyuJDIF0Uef0aQq0ZoJs+5oI+k8ddhg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/website/package.json b/website/package.json index 2c3930487..e60e84974 100644 --- a/website/package.json +++ b/website/package.json @@ -29,11 +29,11 @@ "@mdx-js/mdx": "^3.1.1", "@mdx-js/react": "^3.1.1", "@mdx-js/rollup": "^3.1.1", - "@tanstack/react-query": "^5.105.1", - "@vitejs/plugin-react": "^6.2.0", + "@tanstack/react-query": "^5.107.1", + "@vitejs/plugin-react": "^6.3.0", "@walletconnect/ethereum-provider": "^2.26.0", - "@x402/evm": "^2.29.0", - "@x402/fetch": "^2.29.0", + "@x402/evm": "^2.30.0", + "@x402/fetch": "^2.30.0", "highlight.js": "^11.12.0", "katex": "^0.19.1", "react": "^19.3.1", @@ -49,14 +49,14 @@ "viem": "^2.54.2", "vike-react": "^0.6.32", "vike-react-query": "^0.1.14", - "wagmi": "^3.7.9" + "wagmi": "^3.7.11" }, "devDependencies": { "@eslint/js": "^9.38.0", "@openzeppelin/merkle-tree": "^1.0.8", - "@pandacss/dev": "^2.4.0", - "@pandacss/preset-base": "^2.4.0", - "@pandacss/preset-panda": "^2.4.0", + "@pandacss/dev": "^2.5.0", + "@pandacss/preset-base": "^2.5.0", + "@pandacss/preset-panda": "^2.5.0", "@resvg/resvg-js": "^2.6.2", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", @@ -65,19 +65,19 @@ "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitest/coverage-v8": "^5.0.0", - "@vitest/ui": "^5.0.5", + "@vitest/ui": "^5.1.0", "eslint": "^9.38.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "globals": "^17.14.0", - "jsdom": "^30.1.3", + "jsdom": "^31.0.0", "postcss": "^8.5.32", "prettier": "^3.6.2", "typescript": "^6.0.3", "typescript-eslint": "^8.71.0", - "vike": "^0.4.268", - "vite": "^8.3.5", + "vike": "^0.4.270", + "vite": "^8.3.6", "vitest": "^5.0.0" }, "//overrides": "rehype-katex@7.0.1 still declares katex ^0.16.0 and would otherwise install its own nested copy. KaTeX 0.17 prefixed ~20 internal layout classes with `katex-` (.newline -> .katex-newline, plus .base, .strut, .vbox, .rule, ...), so a nested 0.16 renderer emits markup that the 0.18 katex.min.css imported by components/Post.tsx does not style -- silently, and visibly enough to drop every `\\` line break in display math. `$katex` tracks the dependency above, so future bumps stay consistent by construction.", From 897682f313ea62ef836c246a391ec7668669539c Mon Sep 17 00:00:00 2001 From: fretchen Date: Thu, 12 Nov 2026 17:33:50 +0100 Subject: [PATCH 2/2] fix --- scw_js/llm_x402_cron.ts | 68 ++++------------ scw_js/test/llm_x402_cron.test.ts | 127 +++++++++++++++--------------- 2 files changed, 81 insertions(+), 114 deletions(-) diff --git a/scw_js/llm_x402_cron.ts b/scw_js/llm_x402_cron.ts index f93742d4d..e2e796666 100644 --- a/scw_js/llm_x402_cron.ts +++ b/scw_js/llm_x402_cron.ts @@ -277,33 +277,21 @@ export async function handle( payTo: receiverAddress, }); - // Partition the idle channels and drive each one separately. `refundIdleChannels` - // (the SDK's batch entry point) selects every channel with balance != 0, builds - // `refundAmount = balance - chargedCumulativeAmount`, and aborts the whole batch on - // the first channel that fails. A fully-claimed record — the payer spent their whole - // deposit, the claim moved it out, but claims never delete records, only successful - // refunds do — therefore produces a 0-amount refund the contract always rejects with - // ZeroRefund, and that one rejection blocked every other refund behind it - // (2026-10-11, Base/EURe). Refunding each channel through the public `refund([id])` - // in its own try/catch, and deleting records the chain provably holds nothing for, - // is the whole fix. `refund([id])` applies the SDK's live-pending-request filter - // itself but NOT the idle threshold, so the idle predicate lives here now — - // `balance !== 0` and quiet past REFUND_IDLE_SECS, the same shape as the SDK's own - // getIdleChannelsForRefundFromChannels (its >= boundary differs by one millisecond; - // ours aligns with findStuckChannels below so the sweep and its post-condition can - // never disagree about which channels were due). + // The SDK batch below aborts on the first channel the facilitator rejects, so the + // records it would reject are handled here, first: fully-claimed records deleted + // (a 0-amount refund reverts ZeroRefund and stranded every refund behind it, + // 2026-10-11), anomalous ones flagged but kept — a later claim needs their + // vouchers. Refundable records are left to the batch, whose idle predicate runs a + // moment later with a hair wider boundary; the one used here stays aligned with + // findStuckChannels below. const storage = scheme.getStorage(); const channels = await storage.list(); const chainOf = new Map(synced.map((s) => [s.channelId, s])); - // The same idle threshold findStuckChannels applies below — deliberately one shape - // in two places rather than a shared helper the post-condition cannot be pointed at. const idleBefore = Date.now() - REFUND_IDLE_SECS * 1000; const idle = channels.filter( (c) => BigInt(c.balance) !== 0n && c.lastRequestTimestamp < idleBefore, ); - refunds = 0; garbageCollected = 0; - const failedChannels: Array<{ channelId: string; error: string }> = []; for (const channel of idle) { const balance = BigInt(channel.balance); const charged = BigInt(channel.chargedCumulativeAmount); @@ -316,16 +304,7 @@ export async function handle( const chainTotalClaimed = BigInt(sync?.chainTotalClaimed ?? channel.totalClaimed); if (balance > charged) { - // Unspent escrow the payer can still be refunded. One channel per call, one - // try/catch each: a failure here is logged and the sweep moves on. - try { - refunds += (await manager.refund([channel.channelId])).length; - } catch (err) { - failedChannels.push({ - channelId: channel.channelId, - error: (err as Error).message, - }); - } + // Unspent escrow the payer can still be refunded — the SDK batch below owns it. continue; } @@ -384,29 +363,14 @@ export async function handle( "Fully charged idle channels still hold escrow that no claim drained — the refund sweep cannot return what the payer has signed to us", ); } - if (failedChannels.length > 0) { - refundError = `${failedChannels.length} of ${idle.length} refund(s) failed`; - logger.error( - { - network, - asset, - failedChannels, - refunded: refunds, - garbageCollected, - idle: idle.length, - }, - "Refund sweep failed", - ); - } else { - // `idle` is the observability hook for the sweep's cost model: refund([id]) - // re-lists storage per channel (the SDK's public API), so large idle counts mean - // quadratic S3 reads — see the review notes. Watch this number before ever - // chunking the refund loop. - logger.info( - { network, asset, refunds, garbageCollected, idle: idle.length }, - "Refund sweep completed", - ); - } + // One batched call for everything the pre-pass left in place. A failure aborts + // this token's refunds for the run — no per-channel isolation is the tradeoff; the + // stuckChannels post-condition still alerts. + refunds = (await manager.refundIdleChannels({ idleSecs: REFUND_IDLE_SECS })).length; + logger.info( + { network, asset, refunds, garbageCollected, idle: idle.length }, + "Refund sweep completed", + ); } catch (err) { refundError = (err as Error).message; logger.error({ err, network, asset }, "Refund sweep failed"); diff --git a/scw_js/test/llm_x402_cron.test.ts b/scw_js/test/llm_x402_cron.test.ts index 405a0c7a2..b95983bac 100644 --- a/scw_js/test/llm_x402_cron.test.ts +++ b/scw_js/test/llm_x402_cron.test.ts @@ -12,7 +12,7 @@ const { mockLoggerError, mockResyncChannelState, mockUseEnhancedRefundRequirements, - mockRefund, + mockRefundIdleChannels, mockUpdateChannel, } = vi.hoisted(() => ({ mockCreateLLMResourceServer: vi.fn(), @@ -24,7 +24,7 @@ const { mockLoggerError: vi.fn(), mockResyncChannelState: vi.fn(), mockUseEnhancedRefundRequirements: vi.fn(), - mockRefund: vi.fn(), + mockRefundIdleChannels: vi.fn(), mockUpdateChannel: vi.fn(), })); @@ -135,13 +135,26 @@ describe("llm_x402_cron", () => { claims: [{ vouchers: 2, transaction: "0xclaimtx" }], settle: { transaction: "0xsettletx" }, }); - // The sweep refunds one channel per call, each in its own try/catch — see the SDK notes - // in llm_x402_cron.ts. Default: every attempt succeeds and refunds nothing (no channels). - mockRefund.mockResolvedValue([]); + // Mirrors the SDK batch: select idle channels with balance != 0 from storage, refund, + // delete on success. Default storage is empty; a healthy run refunds nothing. + mockRefundIdleChannels.mockImplementation(async ({ idleSecs }: { idleSecs: number }) => { + // `mockStorageList` is declared as ReturnType, which tsc does not see as + // callable — cast to the shape statefulStorage and the plain mocks give it. + const listChannels = mockStorageList as unknown as () => Promise; + const channels = (await listChannels()) as Array>; + const idleBefore = Date.now() - idleSecs * 1000; + const idle = channels.filter( + (c) => BigInt(String(c.balance)) !== 0n && (c.lastRequestTimestamp as number) <= idleBefore, + ); + for (const channel of idle) { + await mockUpdateChannel((channel as { channelId: string }).channelId, () => undefined); + } + return idle.map(() => ({ transaction: "0xrefund" })); + }); mockUpdateChannel.mockResolvedValue({ channel: undefined, status: "deleted" }); mockCreateChannelManager = vi.fn().mockReturnValue({ claimAndSettle: mockClaimAndSettle, - refund: mockRefund, + refundIdleChannels: mockRefundIdleChannels, }); // One scheme per (network, token), each owning storage that lists only that network's @@ -337,19 +350,15 @@ describe("llm_x402_cron", () => { it("sweeps idle channels for refunds on each network, after the claim", async () => { statefulStorage([idleRefundableChannel()]); - mockRefund.mockImplementation(async ([channelId]: string[]) => { - // The SDK deletes the record on a successful refund — mirrored by statefulStorage, so - // only the first (network, token) run sees the channel, exactly like production. - await mockUpdateChannel(channelId, () => undefined); - return [{ transaction: "0xrefund1" }]; - }); const res = await handle(makeEvent() as never, {}); - expect(mockRefund).toHaveBeenCalledTimes(1); - expect(mockRefund).toHaveBeenCalledWith(["0xrefundme"]); + // Called once per (network, token) run with the sweep's idle threshold; the default mock + // deletes on success, so only the first run's storage holds the channel, like production. + expect(mockRefundIdleChannels).toHaveBeenCalledTimes(RUNS.length); + expect(mockRefundIdleChannels).toHaveBeenCalledWith({ idleSecs: 21600 }); expect(mockClaimAndSettle.mock.invocationCallOrder[0]).toBeLessThan( - mockRefund.mock.invocationCallOrder[0], + mockRefundIdleChannels.mock.invocationCallOrder[0], ); const body = JSON.parse(res.body) as { results: Array<{ refunds?: number }> }; @@ -363,7 +372,7 @@ describe("llm_x402_cron", () => { return { claims: [], settle: undefined }; }); statefulStorage([idleRefundableChannel()]); - mockRefund.mockImplementation(async () => { + mockRefundIdleChannels.mockImplementation(async () => { order.push("refund"); return []; }); @@ -381,7 +390,7 @@ describe("llm_x402_cron", () => { expect(mockUseEnhancedRefundRequirements).toHaveBeenCalledTimes(RUNS.length); expect(mockUseEnhancedRefundRequirements.mock.invocationCallOrder[0]).toBeLessThan( - mockRefund.mock.invocationCallOrder[0], + mockRefundIdleChannels.mock.invocationCallOrder[0], ); expect(mockUseEnhancedRefundRequirements).toHaveBeenCalledWith( expect.anything(), @@ -411,7 +420,7 @@ describe("llm_x402_cron", () => { expect(mockResyncChannelState).toHaveBeenCalled(); expect(mockResyncChannelState.mock.invocationCallOrder[0]).toBeLessThan( - mockRefund.mock.invocationCallOrder[0], + mockRefundIdleChannels.mock.invocationCallOrder[0], ); }); @@ -428,7 +437,7 @@ describe("llm_x402_cron", () => { expect(result.statusCode).toBe(500); const body = JSON.parse(result.body); expect(body.results[0].refundError).toBe("S3 unavailable"); - expect(mockRefund).not.toHaveBeenCalled(); + expect(mockRefundIdleChannels).not.toHaveBeenCalled(); }); /** @@ -437,13 +446,12 @@ describe("llm_x402_cron", () => { * It used to return 200: `refundError` is a different key from `error`, and only `error` was * counted, so Scaleway recorded a successful invocation. That is how a refund sweep that failed * twice a day went unnoticed for weeks. The claim detail below is what must not be masked; the - * status code is what must not lie. Since the sweep went per-channel, a failing channel no - * longer aborts the loop — `refunds` is reported (as 0) rather than dropped, and `refundError` - * carries the count summary instead of the raw message. + * status code is what must not lie. The 2.30 batch aborts on the first failing channel, so + * `refunds` is dropped rather than zeroed and `refundError` carries that raw message. */ it("a failing refund sweep fails the run without masking a successful claim", async () => { statefulStorage([idleRefundableChannel()]); - mockRefund.mockRejectedValue(new Error("facilitator rejected refund")); + mockRefundIdleChannels.mockRejectedValue(new Error("facilitator rejected refund")); const res = await handle(makeEvent() as never, {}); @@ -452,8 +460,8 @@ describe("llm_x402_cron", () => { results: Array<{ claims?: number; refunds?: number; refundError?: string }>; }; expect(body.results[0].claims).toBe(1); - expect(body.results[0].refundError).toBe("1 of 1 refund(s) failed"); - expect(body.results[0].refunds).toBe(0); + expect(body.results[0].refundError).toBe("facilitator rejected refund"); + expect(body.results[0].refunds).toBeUndefined(); }); // ═══════════════════════════════════════════════════════════ @@ -491,10 +499,9 @@ describe("llm_x402_cron", () => { /** Nothing thrown, refunds reported as done — and escrow still sitting there. This is the case * no error-based check can see, and the reason the post-condition is written at all. */ it("catches stuck escrow even when the sweep reported success", async () => { - // Static list on purpose: the refund "succeeds" but the record survives, which is the lie - // the post-condition exists to catch. + // Static list on purpose: the refund "succeeds" but the record survives — the lie the + // post-condition exists to catch. mockStorageList.mockResolvedValue([stuckChannel()]); - mockRefund.mockResolvedValue([{ transaction: "0xabc" }]); const res = await handle(makeEvent() as never, {}); @@ -502,17 +509,14 @@ describe("llm_x402_cron", () => { }); // ═══════════════════════════════════════════════════════════ - // The sweep's partition: refundable / fully-claimed (garbage-collected) / anomalous - // - // The 2026-10-11 incident: a fully-claimed record lingered with balance != 0, so the SDK's - // batch sweep built a 0-amount refund for it, the contract rejected that with ZeroRefund, - // and the abort-on-first-failure batch stranded two funded channels' escrow behind it. - // The sweep now partitions and drives each channel separately. + // The sweep's pre-pass: refundable / fully-claimed (garbage-collected) / anomalous. + // The 2026-10-11 incident: a fully-claimed record with balance != 0 poisoned the batch + // with a ZeroRefund — the pre-pass deletes such records before the batch runs. // ═══════════════════════════════════════════════════════════ it("garbage-collects a fully-claimed idle channel and never refunds it", async () => { // Every atom deposited was also claimed, so the chain holds nothing for this channel — - // the record is the only thing keeping the ZeroRefund loop alive. + // the record is the only thing keeping the ZeroRefund poison alive. const fullyClaimed = idleRefundableChannel({ channelId: "0xdead", balance: "52897", @@ -526,8 +530,12 @@ describe("llm_x402_cron", () => { const res = await handle(makeEvent() as never, {}); - expect(mockRefund).not.toHaveBeenCalled(); - expect(mockUpdateChannel).toHaveBeenCalledWith("0xdead", expect.any(Function)); + // The delete must land before the batch runs — had the record reached the batch, its + // ZeroRefund would abort the sweep behind it. + expect(mockUpdateChannel).toHaveBeenCalledTimes(1); + expect(mockUpdateChannel.mock.invocationCallOrder[0]).toBeLessThan( + mockRefundIdleChannels.mock.invocationCallOrder[0], + ); // The guarded-delete contract, exercised three ways. A still-dead record deletes (the // SDK's own updater shape: undefined deletes); a record that changed since the sweep's // snapshot — a payment landed and bumped lastRequestTimestamp, or a deposit grew the @@ -554,34 +562,28 @@ describe("llm_x402_cron", () => { expect(res.statusCode).toBe(200); }); - it("one channel's refund failure no longer blocks the rest of the sweep", async () => { - // The incident regression: the SDK's batch sweep aborted on the first failure, so one - // bad channel stranded every refund behind it. The per-channel loop must attempt all. - statefulStorage([ - idleRefundableChannel({ channelId: "0xgood1" }), - idleRefundableChannel({ channelId: "0xbad" }), - idleRefundableChannel({ channelId: "0xgood2" }), - ]); - mockRefund.mockImplementation(async ([channelId]: string[]) => { - if (channelId === "0xbad") { - throw new Error("invalid_batch_settlement_evm_refund_simulation_failed"); - } - await mockUpdateChannel(channelId, () => undefined); - return [{ transaction: "0xrefund" }]; - }); + /** + * The batch aborts on the first channel the facilitator rejects (2.30 has no per-channel + * API), so a poisoned run must fail loudly: refundError from the batch, stuckChannels + * from the post-condition — nothing claims the run succeeded. + */ + it("an aborted refund batch is reported, never passed off as a swept run", async () => { + statefulStorage([idleRefundableChannel({ channelId: "0xpoison" })]); + mockRefundIdleChannels.mockRejectedValue( + new Error("Refund rejected: invalid_batch_settlement_evm_refund_simulation_failed"), + ); const res = await handle(makeEvent() as never, {}); - // All three channels attempted on the first run. The failed one is not deleted (only a - // successful refund removes a record), so each of the remaining six (network, token) runs - // retries it alone: 3 + 6 = 9 attempts in total, with the two good refunds safe on run one. - expect(mockRefund).toHaveBeenCalledTimes(9); - expect(mockRefund).toHaveBeenCalledWith(["0xbad"]); + expect(mockRefundIdleChannels).toHaveBeenCalledTimes(RUNS.length); const body = JSON.parse(res.body) as { - results: Array<{ refunds?: number; refundError?: string }>; + results: Array<{ refunds?: number; refundError?: string; stuckChannels?: string[] }>; }; - expect(body.results[0].refunds).toBe(2); - expect(body.results[0].refundError).toBe("1 of 3 refund(s) failed"); + expect(body.results[0].refunds).toBeUndefined(); + expect(body.results[0].refundError).toBe( + "Refund rejected: invalid_batch_settlement_evm_refund_simulation_failed", + ); + expect(body.results[0].stuckChannels).toEqual(["0xpoison"]); expect(res.statusCode).toBe(500); }); @@ -600,10 +602,12 @@ describe("llm_x402_cron", () => { mockResyncChannelState.mockResolvedValue([ { channelId: "0xanomaly", chainBalance: "52897", chainTotalClaimed: "0", corrected: false }, ]); + // Kept on purpose (a later claim needs the voucher), so the batch still selects it and + // aborts on its <= 0 amount — the run reports the anomaly and the abort both. + mockRefundIdleChannels.mockRejectedValue(new Error("Refund rejected: zero_refund")); const res = await handle(makeEvent() as never, {}); - expect(mockRefund).not.toHaveBeenCalled(); expect(mockUpdateChannel).not.toHaveBeenCalled(); const body = JSON.parse(res.body) as { results: Array<{ anomalousChannels?: string[]; garbageCollected?: number }>; @@ -625,7 +629,6 @@ describe("llm_x402_cron", () => { const res = await handle(makeEvent() as never, {}); - expect(mockRefund).not.toHaveBeenCalled(); expect(mockUpdateChannel).not.toHaveBeenCalled(); const body = JSON.parse(res.body) as { results: Array<{ garbageCollected?: number }> }; expect(body.results[0].garbageCollected).toBe(0);