diff --git a/.dependency-cruiser.jsonc b/.dependency-cruiser.jsonc index 55a9b248..82107ab1 100644 --- a/.dependency-cruiser.jsonc +++ b/.dependency-cruiser.jsonc @@ -13,6 +13,7 @@ "^scripts/run-node-tests[.](?:mts|ts)$", "^scripts/tooling/build/rewrite-dts-imports[.](?:mts|ts)$", "^scripts/tooling/dead-members[.]ts$", + "^scripts/tooling/pins[.]ts$", "^scripts/tooling/eslint/plugins[.]ts$", "^scripts/test/.+[.](?:mts|ts)$", "^sdk/node/test/.+[.]ts$", diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml deleted file mode 100644 index ee5b880f..00000000 --- a/.github/workflows/check.yaml +++ /dev/null @@ -1,94 +0,0 @@ -name: Check (lint, build and test) - -on: - pull_request: - push: - branches: [master] - -permissions: - contents: read - -jobs: - build: - runs-on: ubuntu-latest - outputs: - interface: ${{ steps.releases.outputs.interface }} - sdk: ${{ steps.releases.outputs.sdk }} - - steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 - with: - persist-credentials: false - # The release rule below reads the previous commit. - fetch-depth: 2 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 - with: - # The declared Node floor; the example units run the current release. - node-version: 22.19.0 - - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 - - - name: Install pinned dependencies - run: pnpm install --frozen-lockfile - - name: Run pnpm check - run: pnpm check - - # A release is a push to the default branch whose commit changes a package's version - # field. Every such push is one squash commit, so the - # previous commit is the comparison; a path absent there counts as changed. - - id: releases - if: github.event_name == 'push' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) - run: | - released() { - now=$(node -p "require('./$1/package.json').version") - before=$(git show "HEAD^:$1/package.json" 2>/dev/null | node -p "JSON.parse(require('fs').readFileSync(0, 'utf8')).version" 2>/dev/null || echo none) - if [ "$now" != "$before" ]; then echo true; else echo false; fi - } - echo "interface=$(released interface)" >> "$GITHUB_OUTPUT" - echo "sdk=$(released sdk)" >> "$GITHUB_OUTPUT" - - if: steps.releases.outputs.interface == 'true' - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 - with: - path: interface/dist - - # Deploy the bundle the gate just built; a failed run leaves the previous site live. - deploy: - needs: build - if: needs.build.outputs.interface == 'true' - runs-on: ubuntu-latest - permissions: - pages: write - id-token: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - steps: - - id: deployment - uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 - - # npm trusted publishing: the id token stands in for a registry token, and npm records - # the provenance of this run with the package. - publish: - needs: build - if: needs.build.outputs.sdk == 'true' - runs-on: ubuntu-latest - permissions: - contents: read - id-token: write - - steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 - with: - persist-credentials: false - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 - with: - node-version: 22.19.0 - - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 - - - name: Install pinned dependencies - run: pnpm install --frozen-lockfile - - name: Build the SDK - run: pnpm build - # The checkout is a detached commit, so pnpm's branch and remote checks do not apply. - - name: Publish @ickb/sdk - run: pnpm --filter @ickb/sdk publish --provenance --access public --no-git-checks diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..25da45e0 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,115 @@ +name: Check and release + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + outputs: + interface: ${{ steps.releases.outputs.interface }} + sdk: ${{ steps.releases.outputs.sdk }} + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + persist-credentials: false + # The release rule below reads the previous commit. + fetch-depth: 2 + # The image's npm installs the pnpm version package.json pins, verified by the + # registry's integrity field (npm ignores the hash in packageManager); pnpm then + # installs the Node the lockfile pins (devEngines.runtime) and runs every script on it. + - run: npm install --global pnpm@"$(node -p "require('./package.json').packageManager.split('@')[1]")" + + - name: Install pinned dependencies + run: pnpm install --frozen-lockfile + - name: Run pnpm check + run: pnpm check + # The freshness checks depend on the date, not the tree: an advisory is published, a + # dependency or Node release ages past its waiting period, an action releases. They + # gate pull requests only, so a release push cannot fail on something that appeared + # after the review; the next pull request catches it. + - if: github.event_name == 'pull_request' + run: pnpm fresh + + # A release is a push to master (the only push trigger) whose commit changes a + # package's version field. The ruleset admits only merge commits of pull requests, + # whose first parent is the previous tip, so HEAD^ is the comparison; a path absent + # there counts as changed. + - id: releases + if: github.event_name == 'push' + run: | + released() { + now=$(node -p "require('./$1/package.json').version") + before=$(git show "HEAD^:$1/package.json" 2>/dev/null | node -p "JSON.parse(require('fs').readFileSync(0, 'utf8')).version" 2>/dev/null || echo none) + if [ "$now" != "$before" ]; then echo true; else echo false; fi + } + echo "interface=$(released interface)" >> "$GITHUB_OUTPUT" + echo "sdk=$(released sdk)" >> "$GITHUB_OUTPUT" + + # The release jobs build again from a fresh checkout in which none of the gate's tooling + # has run; the interface job installs the workspace because its build bundles the SDK + # from source. A failed run leaves the previous release live. + deploy: + needs: build + if: needs.build.outputs.interface == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + persist-credentials: false + - run: npm install --global pnpm@"$(node -p "require('./package.json').packageManager.split('@')[1]")" + - run: pnpm install --frozen-lockfile + - run: pnpm --filter @ickb/interface build + - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 + with: + path: interface/dist + - id: deployment + uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 + + # npm trusted publishing: the id token stands in for a registry token, and npm records + # the provenance of this run with the package. The environment's branch policy admits + # master only, so a token minted on another branch is refused. + publish: + needs: build + if: needs.build.outputs.sdk == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + environment: npm + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + persist-credentials: false + - run: npm install --global pnpm@"$(node -p "require('./package.json').packageManager.split('@')[1]")" + # `pnpm deploy` resolves only the SDK's dependencies from the lockfile and refuses the + # package directory as its target, so its node_modules moves into place. npm runs the + # build script because `pnpm run` would first install the whole workspace + # (verifyDepsBeforeRun defaults to install). + - run: pnpm --filter @ickb/sdk deploy --frozen-lockfile /tmp/deploy && mv /tmp/deploy/node_modules sdk/node_modules + # This tree has no devEngines, so these two commands run on the image's Node, which + # may trail the floor; tsgo is a native binary and the rewrite script only edits import + # specifiers, so the artifact does not depend on it. + - run: npm run build + working-directory: sdk + # Access comes from publishConfig. The flag keeps provenance explicit: without it pnpm + # decides from the OIDC token and, when the visibility lookup fails, warns and continues + # without provenance. The checkout is a detached commit, so pnpm's branch and remote + # checks do not apply. + - name: Publish @ickb/sdk + run: pnpm --filter @ickb/sdk publish --provenance --no-git-checks diff --git a/AGENTS.md b/AGENTS.md index 67c43185..8e1f60b2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,7 +26,7 @@ For a material revision: ## The gate -Run the [whole gate](README.md#dependencies-and-checks), `CI=true pnpm check`, once per commit and check its exit code. A green result on that tree makes the commit publishable. +Run the [whole gate](README.md#dependencies-and-checks), `CI=true pnpm check`, once per commit and check its exit code. A green result on that tree makes the commit publishable. Pull requests also run `pnpm fresh`, whose result depends on the date, so run it before opening one. Keep each commit small and scoped to one concern. Its message explains the concern and what it prevents. Changes share a commit only when they share that reason to change. diff --git a/README.md b/README.md index 79307ff0..c9c93bc9 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Stack assumes user-owned cells have [locks whose signatures bind the whole trans ## Dependencies and checks -Use Node 22.19 or later and the pinned pnpm 12.4.2. From a plain checkout: +Install the pinned pnpm 12.4.2 with npm; `pnpm install` then fetches the Node the lockfile pins (`devEngines.runtime` in package.json) into `node_modules/node` and runs every script on it; a host that runs the bot from source points its units at that binary. Inside the checkout run npm as `pnpm exec npm ...`: npm 11 refuses to run on a host Node that differs from the pin, and `pnpm exec` puts the pinned one first on PATH. From a plain checkout: ```bash pnpm install --frozen-lockfile @@ -39,31 +39,24 @@ CCC is an ordinary dependency resolved through the catalog in `pnpm-workspace.ya The lockfile holds the CCC 1.23.0 set. CCC 1.23 made `mol.union` dynamic-size, so the order master pointer uses `mol.fixedUnion`, whose two variants are the same 36 bytes. The gate exercises core and the SDK paths; connector changes are only exercised by live wallet testing, so a CCC update that moves the connector is followed by one. -TypeScript stays on 6. The 7.x package ships the native compiler only, without the JavaScript compiler API that typescript-eslint and `scripts/tooling/dead-members.ts` use, and typescript-eslint declares `typescript <6.1.0`. Type checking already runs on the native preview. +TypeScript stays on 6 until typescript-eslint supports 7; the reason sits with the hold in `pnpm-workspace.yaml`. Type checking already runs on the native preview. -pnpm 12 supplies the trusted-publishing support the previous pin lacked. Its lockfile format is not backward-compatible with pnpm 10. The seven-day release age gives newly published dependencies time to be scrutinized; build-script permissions and advisory exceptions live beside their entries in [pnpm-workspace.yaml](pnpm-workspace.yaml). +pnpm 12 supplies the trusted-publishing support the previous pin lacked. Its lockfile format is not backward-compatible with pnpm 10. The release age, build-script permissions and advisory exceptions live with their reasons in [pnpm-workspace.yaml](pnpm-workspace.yaml). -`pnpm check` runs the audit, full lint suite and interface build against installed dependencies. CI first installs from the pinned lockfile, then runs the same gate on the declared Node floor. [Tooling](scripts/README.md#what-the-gate-enforces) explains the checks worth maintaining. +`pnpm check` runs the full lint suite and interface build against installed dependencies; its result is a function of the tree. `pnpm fresh` depends on the date instead: the audit fails on a newly published advisory; `pnpm outdated` fails when a dependency has a newer release past the release age, majors included, and when a pinned action has any newer release, since pnpm applies no release age to actions; the Node check, `scripts/tooling/pins.ts`, fails when the pinned major has a newer security release that is at least three days old. CI first installs from the pinned lockfile, then runs the gate on the pinned Node; pull requests also run the freshness checks, release pushes do not, so a release cannot fail on an advisory or a version that appeared after the review. pnpm itself is pinned by `packageManager` and bumped by hand. [Tooling](scripts/README.md#what-the-gate-enforces) explains the checks worth maintaining. ## Releases A push to the default branch releases a package only when its version differs from the previous commit. The reviewed version change is the release decision: - A change to `sdk/package.json` publishes `@ickb/sdk` to npm through trusted publishing, with provenance and no registry token in the workflow. -- A change to `interface/package.json` deploys the bundle that the check job built to GitHub Pages at `ickb.org`. +- A change to `interface/package.json` builds the interface again and deploys it to GitHub Pages at `ickb.org`. -Both jobs require the gate to pass. Other merges release nothing. This assumes each reviewed change lands as a squash commit, so comparing with the previous commit covers it. Tags, a manual trigger or a second confirmation environment would add another release step for the same maintainer without another reviewer. A mistaken publish still consumes a version number and needs a bump. +Both jobs require the gate to pass, then build their package again in a fresh job where none of the gate's tooling runs; the SDK job installs only the SDK's declared dependencies, resolved from the lockfile by `pnpm deploy`. Other merges release nothing. If a release job fails, rerun that run's failed jobs, unless a later release of the same package has already run: the next merge compares with its own parent and releases nothing. The ruleset admits only merge commits of pull requests, whose first parent is the previous tip, so comparing with it covers the whole change. Tags, a manual trigger or a second confirmation environment would add another release step for the same maintainer without another reviewer. A mistaken publish still consumes a version number and needs a bump. -The rewrite's versioned packages start at `9000.0.0`, above the old `@ickb/sdk` line at `1000.0.82`. The new API is not a patch of the old one, and keeping the package name avoids changing integrators' install lines. The high version preserves increasing version order; it is not a stability claim. A future lower-numbered line would need deliberate dist-tag management and would not satisfy a consumer's `^9000` range. +The rewrite's versioned packages start at `9000.0.1`, above the old `@ickb/sdk` line at `1000.0.82` (`9000.0.0` was never published: its release run failed before the settings below existed). The new API is not a patch of the old one, and keeping the package name avoids changing integrators' install lines. The high version preserves increasing version order; it is not a stability claim. A future lower-numbered line would need deliberate dist-tag management and would not satisfy a consumer's `^9000` range. -### First release setup - -The maintainer must configure the external services before the release merge: - -1. Register the npm trusted publisher for `@ickb/sdk`: organization `ickb`, repository `stack`, workflow `check.yaml`, no environment. Configure the package to require two-factor authentication and disallow tokens. -2. Enable GitHub Pages with GitHub Actions as its source. Move the `ickb.org` domain from `ickb/legacy-lumos-interface` to this repository, then archive the old repository after the new site is live. - -Whether to deprecate the old `1000.x` SDK line and its companion packages remains optional. The [workflow](.github/workflows/check.yaml) owns the release mechanics; the [interface README](interface/README.md#deployment) owns the site setup. +The publish job depends on the npm trusted publisher registered for `@ickb/sdk`: organization `ickb`, repository `stack`, workflow `ci.yaml`, environment `npm`, whose branch policy in this repository admits `master` only; the package requires two-factor authentication and disallows tokens, so no token can publish and this workflow is the only unattended path. The deploy job depends on this repository's Pages settings: source GitHub Actions, custom domain `ickb.org`. Renaming the workflow file or moving the repository breaks the release until those settings follow. The [workflow](.github/workflows/ci.yaml) owns the release mechanics. ## Live testnet validation diff --git a/eslint.config.mts b/eslint.config.mts index 7a6482fc..92bb087b 100644 --- a/eslint.config.mts +++ b/eslint.config.mts @@ -416,6 +416,11 @@ export default defineConfig( ], }, }, + { + // A config module is evaluated for the value it builds; the rule targets libraries. + files: ["**/*.config.{ts,mts}"], + rules: { "unicorn/no-top-level-side-effects": "off" }, + }, { // The oracle's independence from the SDK is a dependency-cruiser rule. files: ["testkit/src/contract_oracle.ts"], diff --git a/interface/README.md b/interface/README.md index 00515716..f3cb4027 100644 --- a/interface/README.md +++ b/interface/README.md @@ -31,7 +31,7 @@ After a transaction error, the app gives the client a new cache object. CCC's `c The interface describes conversions by when funds return: direct actions have a claim date; standing orders depend on a bot. One [estimated date](../sdk/docs/pool_maturity_estimates.md) covers the wallet's converting funds and the new request. A position list or completed-history index would add protocol bookkeeping without another action the user needs here. -Form quotes use `conversionQuote` in `src/view/formState.ts`, at the SDK's [default order fee](../sdk/src/conversion/estimate.ts). The completed preview shows the actual plan: a direct conversion, a standing order, or both. Its rounded output can differ from the form quote. The SDK chooses the [first fundable direct-first plan](../sdk/README.md#transaction-completion), not the plan with the earliest estimated completion. +Form quotes use `conversionQuote` in `src/view/formState.ts`, at the SDK's [default order fee](../sdk/src/conversion/estimate.ts). Every order from the interface therefore asks the same price, and none can buy priority: a [bot fills by price](../sdk/node/docs/policy.md#matching-makes-progress-from-available-inventory), at equal price in an order of its choosing, and only while it holds the other side, so no order is promised eventual service; an unfilled sell comes back at the age cutoff below. The intent line says "when a bot fills it" for that reason. The completed preview shows the actual plan: a direct conversion, a standing order, or both. Its rounded output can differ from the form quote. The SDK chooses the [first fundable direct-first plan](../sdk/README.md#transaction-completion), not the plan with the earliest estimated completion. Every transaction also collects fulfilled orders, receipts and matured withdrawals, subject to the SDK's batch limits. The intent line of a collection says whether a withdrawal or order stays converting after it: the button reads the same either way, and the balance row's "converting" word alone went unnoticed when a receipt was collected while its sibling order was still open. Live orders join that collection when: @@ -70,6 +70,6 @@ Views keep the order form, action, chart. Putting the chart between the form and ## Deployment -A [version-changing release](../README.md#releases) deploys the `interface/dist` bundle produced by the successful check job. A failed check leaves the previous site live. +A [version-changing release](../README.md#releases) builds `interface/dist` again in a fresh job where none of the gate's tooling runs, and deploys it. A failed check leaves the previous site live. -Before the first deployment, set this repository's Pages source to GitHub Actions and attach `ickb.org` here, detaching it from `ickb/legacy-lumos-interface`. Archive that repository after the new site is live. `public/CNAME` records the domain; `public/favicon.png` is the other static file copied to the site root. Files added under `public/` are published as-is. +The domain `ickb.org` is the repository's Pages setting; with the Actions source GitHub ignores a `CNAME` file, so none is shipped. `public/favicon.png` is the only static file copied to the site root; files added under `public/` are published as-is. diff --git a/interface/index.html b/interface/index.html index badf31b8..f6f8287a 100644 --- a/interface/index.html +++ b/interface/index.html @@ -128,7 +128,7 @@

This web app is separate from the contracts. Review its web app source code diff --git a/interface/package.json b/interface/package.json index 04520120..f6749740 100644 --- a/interface/package.json +++ b/interface/package.json @@ -1,6 +1,6 @@ { "name": "@ickb/interface", - "version": "9000.0.0", + "version": "9000.0.1", "description": "iCKB interface built on top of CCC", "keywords": [ "ickb", @@ -20,9 +20,6 @@ }, "type": "module", "private": true, - "engines": { - "node": ">=22.19.0" - }, "scripts": { "dev": "vite", "dev:testnet-wallet": "vite --mode testnet-wallet --host 127.0.0.1", @@ -38,18 +35,18 @@ "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-basic-ssl": "^2.3.0", - "@vitejs/plugin-react": "^6.1.1", - "oxc-transform-react": "^0.152.0", + "@vitejs/plugin-react": "^6.1.2", + "oxc-transform-react": "^0.155.0", "tailwindcss": "^4.3.3", "typescript": "^6.0.3", - "vite": "^8.3.2" + "vite": "^8.3.5" }, "dependencies": { "@ckb-ccc/ccc": "catalog:", "@ckb-ccc/connector-react": "catalog:", "@ickb/sdk": "workspace:*", - "@tanstack/react-query": "^5.104.0", - "react": "^19.3.0", - "react-dom": "^19.3.0" + "@tanstack/react-query": "^5.104.5", + "react": "^19.3.1", + "react-dom": "^19.3.1" } } diff --git a/interface/public/CNAME b/interface/public/CNAME deleted file mode 100644 index e2295bf7..00000000 --- a/interface/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -ickb.org diff --git a/interface/src/action/actionStatus.ts b/interface/src/action/actionStatus.ts index b128e984..c5494731 100644 --- a/interface/src/action/actionStatus.ts +++ b/interface/src/action/actionStatus.ts @@ -176,9 +176,9 @@ export function conversionIntentText( string > = { direct: "Converts at a fixed time, shown below.", - order: "Converts at a variable time, estimated below.", + order: "Converts when a bot fills it, estimated below.", "direct-plus-order": - "Part converts at a fixed time, the rest at a variable time, estimated below.", + "Part converts at a fixed time, the rest when a bot fills it, estimated below.", }; return intent[kind]; diff --git a/interface/test/action/actionStatus.ts b/interface/test/action/actionStatus.ts index 6b1f4dce..790fd862 100644 --- a/interface/test/action/actionStatus.ts +++ b/interface/test/action/actionStatus.ts @@ -88,7 +88,7 @@ describe("action status", () => { { ...flags(), hasCollectable: true }, ), ).toBe( - "Part converts at a fixed time, the rest at a variable time, estimated below. Also collects converted funds.", + "Part converts at a fixed time, the rest when a bot fills it, estimated below. Also collects converted funds.", ); expect( actionMessage(txInfo, { ...flags(), amount: undefined, amountError: "Bad amount" }), @@ -110,10 +110,10 @@ describe("action status", () => { it.each([ ["direct", "Converts at a fixed time, shown below."], - ["order", "Converts at a variable time, estimated below."], + ["order", "Converts when a bot fills it, estimated below."], [ "direct-plus-order", - "Part converts at a fixed time, the rest at a variable time, estimated below.", + "Part converts at a fixed time, the rest when a bot fills it, estimated below.", ], ] as const)("describes %s intent exactly", (kind, expected) => { expect(conversionIntentText(kind)).toBe(expected); diff --git a/interface/test/hook/appAction.tsx b/interface/test/hook/appAction.tsx index 0497cab6..29534ea5 100644 --- a/interface/test/hook/appAction.tsx +++ b/interface/test/hook/appAction.tsx @@ -454,7 +454,7 @@ function registerActionConfirmationTests(): void { expect(waiting.fee).toBe("0.00000009 CKB"); expect(waiting.maturity).toBe("in 3 minutes"); expect(waiting.message).toContain( - "Part converts at a fixed time, the rest at a variable time, estimated below.", + "Part converts at a fixed time, the rest when a bot fills it, estimated below.", ); confirmation.resolve(undefined); diff --git a/interface/vite.config.ts b/interface/vite.config.ts index 14e14a2b..08b43f0b 100644 --- a/interface/vite.config.ts +++ b/interface/vite.config.ts @@ -34,6 +34,9 @@ export default defineConfig(({ command, mode }) => { : []), ], }, + // Relative asset URLs: the bundle works at any mount point, the domain root or a + // project path such as ickb.github.io/stack/. The app has no client-side routes. + base: "./", server: { host }, // The React Compiler runs natively in the plugin over the app's JSX and TSX modules. plugins: [ diff --git a/knip.jsonc b/knip.jsonc index ba582870..40205532 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -3,7 +3,7 @@ "workspaces": { ".": { "entry": [ - "scripts/{run-node-tests,tooling/build/rewrite-dts-imports}.ts!", + "scripts/{run-node-tests,tooling/build/rewrite-dts-imports,tooling/pins}.ts!", "scripts/test/**/*.ts", "!scripts/test/**/*support.ts", ], diff --git a/package.json b/package.json index f89a3afd..c4975c05 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "type": "module", "scripts": { "build": "pnpm --filter @ickb/sdk build && node scripts/tooling/build/rewrite-dts-imports.ts --check sdk/dist", - "check": "CI=true pnpm audit && CI=true pnpm lint && CI=true pnpm --filter ./interface build", + "check": "CI=true pnpm lint && CI=true pnpm --filter ./interface build", + "fresh": "CI=true pnpm audit && pnpm -r outdated --include-github-actions && node scripts/tooling/pins.ts", "lint": "pnpm lint:typecheck && pnpm lint:format && pnpm lint:duplication && pnpm lint:knip && pnpm lint:architecture && pnpm lint:api && pnpm lint:publish && pnpm lint:coverage && pnpm lint:eslint", "lint:typecheck": "tsgo --noEmit -p tsconfig.json && pnpm --filter ./interface lint:typecheck", "lint:format": "prettier --check .", @@ -18,19 +19,16 @@ "format": "pnpm lint:eslint:files --fix && prettier --write .", "test": "vitest" }, - "engines": { - "node": ">=22.19.0" - }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1", "@eslint/js": "^10.0.1", - "@microsoft/api-extractor": "^7.59.3", + "@microsoft/api-extractor": "^7.59.4", "@types/node": "catalog:", - "@typescript/native-preview": "7.0.0-dev.20260707.2", - "@vitest/coverage-v8": "5.0.3", - "@vitest/eslint-plugin": "^1.6.27", - "dependency-cruiser": "^18.5.0", - "eslint": "^10.11.0", + "@typescript/native-preview": "catalog:", + "@vitest/coverage-v8": "5.0.5", + "@vitest/eslint-plugin": "^1.6.28", + "dependency-cruiser": "^18.7.0", + "eslint": "^10.13.0", "eslint-plugin-promise": "^7.3.0", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", @@ -38,17 +36,24 @@ "eslint-plugin-security": "^4.2.0", "eslint-plugin-sonarjs": "^4.2.2", "eslint-plugin-tsdoc": "^0.5.4", - "eslint-plugin-unicorn": "76.0.0", + "eslint-plugin-unicorn": "^78.0.0", "fast-check": "^4.10.2", - "jscpd": "^5.4.0", - "knip": "^6.39.0", - "prettier": "^3.9.9", + "jscpd": "^5.4.2", + "knip": "^6.42.1", + "prettier": "^3.9.10", "prettier-plugin-organize-imports": "^4.3.0", "prettier-plugin-tailwindcss": "^0.8.1", - "publint": "^0.3.24", + "publint": "^0.3.25", "typescript": "^6.0.3", - "typescript-eslint": "^8.71.0", - "vitest": "^5.0.3" + "typescript-eslint": "^8.72.0", + "vitest": "^5.0.5" + }, + "devEngines": { + "runtime": { + "name": "node", + "version": "26.12.1", + "onFail": "download" + } }, "packageManager": "pnpm@12.4.2+sha512.08adc6613180275c7c9edada39dcf08c9c61ad4e7eaf330a4f3461f102b0f907423454d117f98e72d47fef0616070644d7bffc973a6a57f5090a6d7c368b07c9" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b51015c1..a0122bcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,22 +174,26 @@ catalogs: specifier: ^1.23.0 version: 1.23.0 '@types/node': - specifier: ~22.20.4 - version: 22.20.4 + specifier: ~26.6.5 + version: 26.6.5 + '@typescript/native-preview': + specifier: 7.0.0-dev.20260707.2 + version: 7.0.0-dev.20260707.2 overrides: axios@>=1.0.0 <1.20.0: 1.20.0 brace-expansion@>=5.0.0 <5.0.12: 5.0.12 - esbuild@>=0.27.3 <0.28.1: 0.28.1 - fast-uri@>=3.0.0 <3.1.8: 3.1.8 + fast-uri@>=3.0.0 <3.1.9: 3.1.9 + follow-redirects@>=1.16.0 <1.16.1: 1.16.1 form-data@>=4.0.0 <4.0.6: 4.0.6 nanoid@<3.3.18: 3.3.18 shell-quote@>=1.8.4 <1.11.0: 1.11.0 smol-toml@<1.9.0: 1.9.0 source-map-js@>=1.0.0 <1.2.2: 1.2.2 ws@>=8.0.0 <8.21.1: 8.21.1 + zod@<4.6.6: 4.6.6 zod-validation-error@^3.5.0 || ^4.0.0: 4.0.2 - '@ckb-ccc/connector-react>react': 19.3.0 + '@ckb-ccc/connector-react>react': ^19.3.0 patchedDependencies: '@joyid/ckb@1.1.4': d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424 @@ -200,116 +204,119 @@ importers: devDependencies: '@eslint-community/eslint-plugin-eslint-comments': specifier: ^4.8.1 - version: 4.8.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 4.8.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 10.0.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) '@microsoft/api-extractor': - specifier: ^7.59.3 - version: 7.59.3(@types/node@22.20.4) + specifier: ^7.59.4 + version: 7.59.4(@types/node@26.6.5) '@types/node': specifier: 'catalog:' - version: 22.20.4 + version: 26.6.5 '@typescript/native-preview': - specifier: 7.0.0-dev.20260707.2 + specifier: 'catalog:' version: 7.0.0-dev.20260707.2 '@vitest/coverage-v8': - specifier: 5.0.3 - version: 5.0.3(vitest@5.0.3) + specifier: 5.0.5 + version: 5.0.5(vitest@5.0.5) '@vitest/eslint-plugin': - specifier: ^1.6.27 - version: 1.6.27(@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(vitest@5.0.3) + specifier: ^1.6.28 + version: 1.6.28(@typescript-eslint/eslint-plugin@8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(vitest@5.0.5) dependency-cruiser: - specifier: ^18.5.0 - version: 18.5.0 + specifier: ^18.7.0 + version: 18.7.0 eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + specifier: ^10.13.0 + version: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) eslint-plugin-promise: specifier: ^7.3.0 - version: 7.3.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 7.3.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) eslint-plugin-react-hooks: specifier: ^7.1.1 - version: 7.1.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) + version: 7.1.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) eslint-plugin-react-refresh: specifier: ^0.5.7 - version: 0.5.7(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 0.5.7(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) eslint-plugin-regexp: specifier: 3.3.1 - version: 3.3.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 3.3.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) eslint-plugin-security: specifier: ^4.2.0 version: 4.2.0 eslint-plugin-sonarjs: specifier: ^4.2.2 - version: 4.2.2(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + version: 4.2.2(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) eslint-plugin-tsdoc: specifier: ^0.5.4 - version: 0.5.4(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + version: 0.5.4(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) eslint-plugin-unicorn: - specifier: 76.0.0 - version: 76.0.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + specifier: ^78.0.0 + version: 78.0.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) fast-check: specifier: ^4.10.2 version: 4.10.2 jscpd: - specifier: ^5.4.0 - version: 5.4.0 + specifier: ^5.4.2 + version: 5.4.2 knip: - specifier: ^6.39.0 - version: 6.39.0 + specifier: ^6.42.1 + version: 6.42.1 + node: + specifier: runtime:26.12.1 + version: runtime:26.12.1 prettier: - specifier: ^3.9.9 - version: 3.9.9 + specifier: ^3.9.10 + version: 3.9.10 prettier-plugin-organize-imports: specifier: ^4.3.0 - version: 4.3.0(prettier@3.9.9)(typescript@6.0.3) + version: 4.3.0(prettier@3.9.10)(typescript@6.0.3) prettier-plugin-tailwindcss: specifier: ^0.8.1 - version: 0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.9)(typescript@6.0.3))(prettier@3.9.9) + version: 0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.10)(typescript@6.0.3))(prettier@3.9.10) publint: - specifier: ^0.3.24 - version: 0.3.24 + specifier: ^0.3.25 + version: 0.3.25 typescript: specifier: ^6.0.3 version: 6.0.3 typescript-eslint: - specifier: ^8.71.0 - version: 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + specifier: ^8.72.0 + version: 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) vitest: - specifier: ^5.0.3 - version: 5.0.3(@types/node@22.20.4)(@vitest/coverage-v8@5.0.3)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + specifier: ^5.0.5 + version: 5.0.5(@types/node@26.6.5)(@vitest/coverage-v8@5.0.5)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) interface: dependencies: '@ckb-ccc/ccc': specifier: 'catalog:' - version: 1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) + version: 1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) '@ckb-ccc/connector-react': specifier: 'catalog:' - version: 2.2.2(@types/react@19.3.0)(debug@4.4.3(supports-color@10.2.2))(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0)(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) + version: 2.2.2(@types/react@19.3.0)(debug@4.4.3(supports-color@10.2.2))(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1)(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) '@ickb/sdk': specifier: workspace:* version: link:../sdk '@tanstack/react-query': - specifier: ^5.104.0 - version: 5.104.0(react@19.3.0) + specifier: ^5.104.5 + version: 5.104.5(@types/react@19.3.0)(react@19.3.1) react: - specifier: ^19.3.0 - version: 19.3.0 + specifier: ^19.3.1 + version: 19.3.1 react-dom: - specifier: ^19.3.0 - version: 19.3.0(react@19.3.0) + specifier: ^19.3.1 + version: 19.3.1(react@19.3.1) devDependencies: '@ickb/testkit': specifier: workspace:* version: link:../testkit '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + version: 4.3.3(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) '@types/node': specifier: 'catalog:' - version: 22.20.4 + version: 26.6.5 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -318,13 +325,13 @@ importers: version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 - version: 2.3.0(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + version: 2.3.0(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(oxc-transform-react@0.152.0)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + specifier: ^6.1.2 + version: 6.1.2(oxc-transform-react@0.155.0)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) oxc-transform-react: - specifier: ^0.152.0 - version: 0.152.0 + specifier: ^0.155.0 + version: 0.155.0 tailwindcss: specifier: ^4.3.3 version: 4.3.3 @@ -332,41 +339,44 @@ importers: specifier: ^6.0.3 version: 6.0.3 vite: - specifier: ^8.3.2 - version: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + specifier: ^8.3.5 + version: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) sdk: dependencies: '@ckb-ccc/core': specifier: 'catalog:' - version: 1.23.0(typescript@6.0.3)(zod@4.6.5) + version: 1.23.0(typescript@6.0.3)(zod@4.6.6) devDependencies: '@ickb/testkit': specifier: workspace:* version: link:../testkit + '@typescript/native-preview': + specifier: 'catalog:' + version: 7.0.0-dev.20260707.2 sdk/node: dependencies: '@ckb-ccc/core': specifier: 'catalog:' - version: 1.23.0(typescript@6.0.3)(zod@4.6.5) + version: 1.23.0(typescript@6.0.3)(zod@4.6.6) devDependencies: '@ickb/testkit': specifier: workspace:* version: link:../../testkit '@types/node': specifier: 'catalog:' - version: 22.20.4 + version: 26.6.5 testkit: dependencies: '@ckb-ccc/core': specifier: 'catalog:' - version: 1.23.0(typescript@6.0.3)(zod@4.6.5) + version: 1.23.0(typescript@6.0.3)(zod@4.6.6) devDependencies: '@types/node': specifier: 'catalog:' - version: 22.20.4 + version: 26.6.5 packages: @@ -419,8 +429,8 @@ packages: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + '@babel/helpers@7.29.10': + resolution: {integrity: sha512-EMCx3AGZ3WfAl6ht7AyQoPm2Lh+BGYEMdc4Q6Hf7uSCDOZFuLq44qNwL+iaim8VlyYhRAo4X43+weadK8ZB4Yg==} engines: {node: '>=6.9.0'} '@babel/parser@7.29.9': @@ -428,16 +438,16 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.29.7': - resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + '@babel/runtime@7.29.10': + resolution: {integrity: sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==} engines: {node: '>=6.9.0'} '@babel/template@7.29.7': resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.8': - resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + '@babel/traverse@7.29.10': + resolution: {integrity: sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ==} engines: {node: '>=6.9.0'} '@babel/types@7.29.8': @@ -479,7 +489,7 @@ packages: resolution: {integrity: sha512-oCKX/UGeKAFNXiymCbXheW/ZG76AMQwfEacUQvFfgjQ9kIQSDfVuHN1XAVWgtfoslEJ6Rtaexy0qLStrq9m8HQ==} peerDependencies: '@types/react': '>=16' - react: 19.3.0 + react: ^19.3.0 '@ckb-ccc/connector@2.3.2': resolution: {integrity: sha512-HsNZ1g0N51Jkjj5/vTjFrbD2lIQ+BhsdZpXTVP3hqsJRMim+AArLkmW07VWoRoB78Ngj6SclTw7GrF7TftYXnw==} @@ -573,8 +583,8 @@ packages: resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/css-tree@4.1.1': - resolution: {integrity: sha512-A+s89eP+yDAPkKjnIOfjlkGifg5J7GPn01nWx14UjBVWktfkxOU4975F9ZZ13xNxkGiblNcBaAqgKhnQrW6SWA==} + '@eslint/css-tree@4.1.2': + resolution: {integrity: sha512-rVcxLmwSkEL3aWS3vAgsTRrQHoYE1b0XcgDtKHDJ92XOkyUpcbS/g0tUJKhvCtlEhYzgKBWsgDd+Z/aPhd166w==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/js@10.0.1': @@ -666,53 +676,53 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@libp2p/circuit-relay-v2@4.2.13': - resolution: {integrity: sha512-AGEzj72W7Ae5eizaM+HeDzJBR28zK4yYp4BYvUOHQViT62W97FIITo/9Gc5rlkKti+gJJAurBm3cHV4A8Wcoxw==} + '@libp2p/circuit-relay-v2@4.2.17': + resolution: {integrity: sha512-1/bXp2Q01LWe86UvyCvoMkE7Yrdr5+dnqADLkibpjsWfA3PsBj8CtYNrtZtznvImya6r6I+9IUT6uso17O+rYg==} - '@libp2p/crypto@5.1.23': - resolution: {integrity: sha512-u6XVMD1YpUJgjS5MAayrxlzi+hQcj3FHY0wS6/M/T93ntyCW13BmmRzFb2ESamk65PEuSCAChmQeSzRV2sh2rQ==} + '@libp2p/crypto@5.2.0': + resolution: {integrity: sha512-nLKTzyX6PKQoGFrb+OKds4NyFnedBcCgr50jYd5sIwFPVOEiQiCYBeQSdBbqjn9crFFca/l7dxBcFtXQ5qKiVw==} - '@libp2p/identify@4.1.14': - resolution: {integrity: sha512-c7oU0DSKzkMNsanruOQc4Zy6mSf3fq8/W+4E/I936HiHZc/LIbUuCWaxbgmQexdfKqECH1qH4q9IwaCUWmjPMQ==} + '@libp2p/identify@4.1.18': + resolution: {integrity: sha512-9uZWEj1TmNeHQO7YMjVacnOGHdG5SFejZN2PcXIQmXf6aLpI9q4CFbmAlaPWO0yfUd53AN8tRFG5QNvrRKNeJg==} - '@libp2p/interface-internal@3.1.13': - resolution: {integrity: sha512-+vjQzpQl+0uoWCyNwV5NDnv1RAK9LDeWGeMbx/Fl2ZWrndtuFUPa9LxwqHXrTly6YOhgUatSzVqZBWnrQ1PxGg==} + '@libp2p/interface-internal@3.2.2': + resolution: {integrity: sha512-TyrBtIDcqqaMsGUi44QpiVG88PpNGSP3gDEsutDPNubjXgnAYEE+nqkhzeGDITQrRFIspQJz3zVWisPe8IEVyw==} - '@libp2p/interface@3.3.0': - resolution: {integrity: sha512-SXahM/4IgpiFKTtocbXYSTA1wEUVjktmT1yBCzBbc2Vgsu1VBCg6SvsFmXo2Hbeyev3D8EU+y3uaCKDB43C/Vg==} + '@libp2p/interface@3.4.0': + resolution: {integrity: sha512-WBBw0NyLAWZz2HYfG2bXjBB2Qa0Aa6ssrQQCLZXHaMEJTdXiEagmQDojqXpy2Y6uvn1C+c4vBJkUulrgV0nfsg==} - '@libp2p/keychain@6.1.7': - resolution: {integrity: sha512-kemRM/37UXfkqmZsFFIsICX8iMX3TUShYGaRL7xXqNq3oIebm12e54DW1dtDuUnpNLctdF6zWPPelUHQm50Szg==} + '@libp2p/keychain@6.1.10': + resolution: {integrity: sha512-PRZwNYDwrutTRVlA4JzTUfzLMQ5rkDKIl+eiCLN5DevrNg3hUXTFVNc1KgDQjMt5WongNh25L2peYKj9vB82YQ==} - '@libp2p/logger@6.2.13': - resolution: {integrity: sha512-+tkZuRPoiFdh+frG//3hQ3goV1uMzRblpZ+mwtezgLXkRNqB5YKBLl+c/rtrurwAUqjCuI/yoEPJBiCizg2z6w==} + '@libp2p/logger@6.2.16': + resolution: {integrity: sha512-dnSdu7/82qZ1IsB7WlcKsZyRcZGbzGGqYfUye5e9svLQ4kO3gsfI238Iw4nbrKHz2Cfcf0f6Jv1xc0uHFwSGwQ==} - '@libp2p/multistream-select@7.0.28': - resolution: {integrity: sha512-X6rmxeAlFeTDHDc4IPujz+y9TdA8cSMFfWyGJfxdIbQpDc1PwZI/Ttt3YWp0LAT9sbSYVFaWA6cGTN9EnMWtGQ==} + '@libp2p/multistream-select@7.0.32': + resolution: {integrity: sha512-X06d9MSipJZ5hRQHp8Akrhog9NT27Qf3/KZct6hfx3JP2nTQfomDlDYgxE6w1BWoQrVOYKnMI+dlHFg/2X75rQ==} - '@libp2p/noise@17.0.3': - resolution: {integrity: sha512-dUmOjqkkeyUm9NCaFiSEqif1vsLsRFmlZXEfIeREerKXB7sLBvRLbpGiglsLNu7BlA6mrnsQk4BMjZ8aEDqzdA==} + '@libp2p/noise@17.0.7': + resolution: {integrity: sha512-PSqVKlx919Wh+D+VC/y0amUu8t6qCUZmZlzeeTdLszxDOzOOQjZ9Wievzh/b/N5vQIRI9iXEqzhWpn2QFfFvNg==} - '@libp2p/peer-collections@7.0.28': - resolution: {integrity: sha512-+evafZ5oSnGRfB7z+ycf09ehzNhCKoOZaiHgi6TpnDitpRQM5KQeN0H9Ep2uNJtzyW944HOG41BqcSaHbEHv7Q==} + '@libp2p/peer-collections@7.0.32': + resolution: {integrity: sha512-B+FegCCbDhbuUnRijCOLgLZBWFhfd7Ys1d56T47bHo2gRHdyly+j96n2J8L26N8SZoQUD33Nw/K+qQTIMAKIlw==} - '@libp2p/peer-id@6.0.15': - resolution: {integrity: sha512-aIbYJcldMNOIzmm9J57aESjZInYFdrQ9AY0ij+qn0Oam2vBxDfEIJZxJu+JzVkB2rVvT+FHDQXKWT2nAqNgB8w==} + '@libp2p/peer-id@6.0.18': + resolution: {integrity: sha512-qQNWJbU+2g5TNjvbT58tTbI3oftSCea7rtcslRjFOD7KkmVi7YgNy9KVH8XbLra0K/f3sH6XOAIYIDsxwFm3ZQ==} - '@libp2p/peer-record@9.0.16': - resolution: {integrity: sha512-J4QoPr0F1v6xqjHjAJ9KPbg4jdDlGutDk2K3Km6+o0nWzZCgCGeSEIDOO2UvPa2bFoZTL62cD73fn8tm5K06cg==} + '@libp2p/peer-record@9.0.19': + resolution: {integrity: sha512-xlF/sVQzuYF18nNH85k1kkMmNPL7J/jY7p0NhUSE5/8hNEvkF+GJLueNWP18oyU6/O63XtAryga9w4irmWg45A==} - '@libp2p/peer-store@12.0.28': - resolution: {integrity: sha512-dj4qRhN01kml/It5/4P4DVcjfEZXJ2uZVVItCrs2YBGG2HLEYfWQZYROVbTCXDOCWwZK46aJ8eSLt4orsefq7Q==} + '@libp2p/peer-store@12.0.32': + resolution: {integrity: sha512-YFg6JrtN2dEBOL4ungkrQq3qL+fSJV2IKa8+9HFgNFkmf7YjGX0xY1HJpPS0ogsEAvJLZcTII3i+tHWNud1J1Q==} - '@libp2p/utils@7.4.1': - resolution: {integrity: sha512-e9cZeop+awI0rFczG4DvAwVeHqBhuCZfTyskvgONfKQrsT7L0BSlTlTTzZoFF8Dnb+QrzHsoIpnl0PrCr0h+Hg==} + '@libp2p/utils@7.4.5': + resolution: {integrity: sha512-R8657U2WD9tBtVrISa4gnMu0rkIZUQA8quT+RqIsxNQy4OzBYhXmnKr1zSC/xqnez0XrORpI3EaUwjVPgtcWBQ==} - '@libp2p/webrtc@6.0.33': - resolution: {integrity: sha512-vnjOnmUl7+0Cuy/khNjbDY0KUk/7JZ+fyf27lGmHHZas2mXJ5wzLZOS1b63/5yIq6EtIdouF0wpSdjLh1cvA7g==} + '@libp2p/webrtc@6.1.0': + resolution: {integrity: sha512-fEwM34KUzKHB3vvLhiExSG5ZtQFY6If8zRedt9JgNS1+Tcfgy0glN2WeqlGGjxOJUVnP3tqn7xTg7xJ9ebNPvA==} - '@libp2p/websockets@10.1.21': - resolution: {integrity: sha512-2iItZGEfTlGFUEcFCghtlsIiQ+fBowopysBB/8ya0MvZkRic/6o9oSklWT5pWDmXtmqmbp1Dko/iLcBOhDOgFw==} + '@libp2p/websockets@10.1.25': + resolution: {integrity: sha512-3jeTNh8Tgz2LGPapH/hlHSnfRATJdv83qGnQ2H4YDXOJQ20iToIC4unn5MD/wQB5zjhGY5Q7rM/2HSRNIDwSlg==} '@lit-labs/ssr-dom-shim@1.6.0': resolution: {integrity: sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==} @@ -725,12 +735,12 @@ packages: '@lit/reactive-element@2.1.2': resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==} - '@microsoft/api-extractor-model@7.33.14': - resolution: {integrity: sha512-HdFzU14NGrm04SxA8CfEByX4R1S06o08qVCrGgIepb4miUgky771TwiDi2b3/ZJSQ1QKEJzq452MW09zenL19w==} + '@microsoft/api-extractor-model@7.33.15': + resolution: {integrity: sha512-UpCnItIJwu03iNTWtJVKv8Qbf0MXN7WLQZUail9cpAQmnZiIX36YPRRoRxz0pocwytzUpmJhstsLkyW5tsaHBA==} engines: {node: '>=20.9.0'} - '@microsoft/api-extractor@7.59.3': - resolution: {integrity: sha512-L1w0pe8/Af3PhjT7JDSsYZAtwFQ3l5pw7QjiNiNFpHA32nvvwYpvHWPedu8ulaJYiNWdKKq7We0FLSfZt0mbFA==} + '@microsoft/api-extractor@7.59.4': + resolution: {integrity: sha512-XqseDKIw736qlhQwS9SOpbY4veOiP2Nc7YiWmgXXBmeA3kY9qGXw+Tu7DFpU9FvXywE1z8SvLJKUVxFpcX0kig==} engines: {node: '>=20.9.0'} hasBin: true @@ -752,8 +762,8 @@ packages: '@multiformats/multiaddr@13.0.3': resolution: {integrity: sha512-mEqqJ4r3a/uuFMTpRkU316wGNIDQNhuVWpm+ebKTQeYsfv9jXbPONWM6VVnj3KGUrwfsX7GZOyp4TFqEA2SPCw==} - '@napi-rs/wasm-runtime@1.2.4': - resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==} + '@napi-rs/wasm-runtime@1.2.5': + resolution: {integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==} engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 @@ -837,133 +847,133 @@ packages: cpu: [x64] os: [win32] - '@oxc-parser/binding-android-arm-eabi@0.150.0': - resolution: {integrity: sha512-oQef2Zu4Prz1KLKznz3HqZzU9uVoA5PMoDZuuLmqms7hKmKSAPzlaMnLllJq3t+rgKmfJJ2siPrpZfFrW06btw==} + '@oxc-parser/binding-android-arm-eabi@0.154.0': + resolution: {integrity: sha512-sDdEtDl7vKdCvf54j72RJbowE3jCmyRz/+oOB6IAwQxAHZ0eI+Dcj4hvVnm0b9Dy31plUkdmfds9C+/Zt895Tg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm64@0.150.0': - resolution: {integrity: sha512-B6ofpoFiAUwIZ0MJ2IgHPvZK8FAtL4qzSZRwOkAKIfxEobE1mQC8nDdiFZj7pUaJiVUVCsfkMsBJKedzO8rZvA==} + '@oxc-parser/binding-android-arm64@0.154.0': + resolution: {integrity: sha512-UHrDPELzvWZoVkIDdSycj4bzcTMCJG3IbN++mSUgVBaUtNtWHjQ98U6Vz5bpF/1Ic3FYJyYhMr74huO5tVvpZw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-parser/binding-darwin-arm64@0.150.0': - resolution: {integrity: sha512-J+9IHKzx/bSz1JetOfD4zKXSK9sOm4/a7+0qomJODcTL6JsRXGeV/ZdkAPSIDydfFmWzYCraMlQEosSZEyBYkQ==} + '@oxc-parser/binding-darwin-arm64@0.154.0': + resolution: {integrity: sha512-mokYzajOSXxtSRDWCdHARGdntrKH+rZZ24Jzo8AtafyNzz0NARmpMm26Tc5B6qiGrr6UliWibHCOif1qRN2vaA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.150.0': - resolution: {integrity: sha512-v6IPfcAcSYrBWXV5Tce1DmxDMXLhEYpIIWiRFPJopgCVscZdLaV4MRQOUxvL3usQlw+yrwYOjBFB9IwBx+jUiQ==} + '@oxc-parser/binding-darwin-x64@0.154.0': + resolution: {integrity: sha512-WbtUBrclOVItWfLRSvs+Z/WLtXxJ2Ctv50PyuX894HzDN5/e0qzxVpTNPIVMzOerBhgKtFsSMcfxlYIAbvdVgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-parser/binding-freebsd-x64@0.150.0': - resolution: {integrity: sha512-AoR/4jD02HET0KO0yNT4nbTE+XJUxiO9jB1X/ycEjUE3WrIJ3IjV/Vf+gskhWLcqqeXfvNnkDtBR7epllAm88A==} + '@oxc-parser/binding-freebsd-x64@0.154.0': + resolution: {integrity: sha512-YooHZSLawOe2fqm+lDdG8oAaQh2NYV/RMYTYzWRLy72stm2BgE9O/8Al6kFENjkmzyyBccDLLBirGxVtpzQfrw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.150.0': - resolution: {integrity: sha512-A/hycCFjLUrCmLoL5O/vBp40ohlaXO1Ta3v5hqYZxicYFs129wZmgZJggcW4mYGYbZebQLhup+N8JjeQl8qwyw==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.154.0': + resolution: {integrity: sha512-hKOwhZbrXdTwc4bGVfbLCXl9f2swl6zWdISocLQSNX9MgPmwHE3qGzOUkCrkuGpwdCVHPnkfOwsqTuYsrP5uNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.150.0': - resolution: {integrity: sha512-pbqahg1Pkz7J4RKmXm30s/iQu99hv64ayXCu8P4p75HcEH5azOdR4eGqiB6lFGkFR3mMpzaYsSKLkS8oJbjmeQ==} + '@oxc-parser/binding-linux-arm-musleabihf@0.154.0': + resolution: {integrity: sha512-tnjiooXEU013349O/yxKbF5Cusp1CfHWQ8kYR8tGeRzR/P4sOpQGQo21fsS71M0fMD6ESLq+lbvXFWi43PuKeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.150.0': - resolution: {integrity: sha512-HV11aRbBQGwqv8bEo+K/6qr88uB4fEe1mhXncMhlVCrj+WpBSraxrUzHaPVmeQRU6x6x8v/3DuCbbo93rpp+fw==} + '@oxc-parser/binding-linux-arm64-gnu@0.154.0': + resolution: {integrity: sha512-Cao2kj+8d7BT6XJU1gV9eVQjV+Cr+e8vQm3tddDRZiM2hHrMDxwy3j6t+ofaSl0idyuPPCZ4AlpmQoj8yOT1QA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-musl@0.150.0': - resolution: {integrity: sha512-k6pVkJqALwtEuP4zukVhGRhdIy4+ofChUIUUsAHHyqDZlNsknmel3JjbggrJiWGaes6h/dIcWmEXsKW4SmK9oQ==} + '@oxc-parser/binding-linux-arm64-musl@0.154.0': + resolution: {integrity: sha512-uiwA0V3q8llWA7/8r+a9BBjk4j5YMDmi6wfOsyQfGOJMQSLHEiZ3HI8ulea766ykUa9wJFWk9XWEl4uJrZLQqw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-ppc64-gnu@0.150.0': - resolution: {integrity: sha512-tEFg39mw/rHO5n8GK2DR4ZMFfsPQZtnQIPbsIpjoQRomJc/2tRfsCSmCT6gNit+NZGoeJG5aH9ATDH5bf0WnoQ==} + '@oxc-parser/binding-linux-ppc64-gnu@0.154.0': + resolution: {integrity: sha512-LICfN0Xs4Zdko+bJy6eOAEQojDuIR26suF2JtOsMaXjgbCrpRSH7/NCvJhY13YvYBx12V6hnwrL8n0lk0rbNJQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.150.0': - resolution: {integrity: sha512-0JO7IFkoek6HqV589Menx3hJySNXi6quRhO4tq2P7kpEHKEXoDATnoPVUpn5B7gDH2KLkdo751N0uIrGJFCTCw==} + '@oxc-parser/binding-linux-riscv64-gnu@0.154.0': + resolution: {integrity: sha512-gbbSYxLF8ssRbQ2qQPy+2EhGNwNH1bAoRdkk6cnWaKHqmCikpSIPtpXjFbCCtjTi0uojqOM3ghFQwQPbDQsU0Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-musl@0.150.0': - resolution: {integrity: sha512-7XPzREnyAS5wHU9aB+49Uaqgoo1gVCklHc3DRlc3fJy2tXD/eAJFN1QFz/crj+Ulup5P1+axNREF+/RGaB/IRA==} + '@oxc-parser/binding-linux-riscv64-musl@0.154.0': + resolution: {integrity: sha512-nSnRYYDLCcRVjSQzF3g6rKqCNYwo5o+aQgnn8BBXfe+ofCgMGlGqkfRyvXm6ptZvoxNkkWtLlqM8W7Xc3j6ZnQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-s390x-gnu@0.150.0': - resolution: {integrity: sha512-7n7ZxcbRWDFaTdyj8M8p0O9OfzoMKm8O6syBAIgcSutbOALq0Bb9G52Me+XH0anMLZV+NgXc726gqgG2q39vcQ==} + '@oxc-parser/binding-linux-s390x-gnu@0.154.0': + resolution: {integrity: sha512-BxBQoJKtzRQgZEKQIt6CDUm8RGKC5T8Qo4576yDa5/xgc10X3fBDItMbRabzLtbUBfTqKLl+8AVr/H6CF7W22g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.150.0': - resolution: {integrity: sha512-Vx0GSA9ZCRTUiczoEQnIIyXkMvtEY8uc6IiwLQtMe5ci2sXPqjrry0Ek5fsPP1k2kCzkML3ow9UOOEgnEDi7Bw==} + '@oxc-parser/binding-linux-x64-gnu@0.154.0': + resolution: {integrity: sha512-/whkust2vYy+GjRUVL5cWaJmEu6jkdFfo5mkxgckyeOX61eMwo4iBoiwzeJZeMWAdzb/XOtQyLApHhFht3sOWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-musl@0.150.0': - resolution: {integrity: sha512-ii4/9m3viDLssMnfXU7/Pni/3nYplApuGayceX4qsVGaqqQJCx3tHIH9M/HWIeSty5i8LjS21zPYT6lVIkwLxw==} + '@oxc-parser/binding-linux-x64-musl@0.154.0': + resolution: {integrity: sha512-EXURTyW9riw4B/kZnnE+58emAtw6+3VEszQfXUZkRqGaKIcmWDYkZtKB+xY/blHvuZ+Qy/fDclc31nmUCgtkSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-openharmony-arm64@0.150.0': - resolution: {integrity: sha512-ZtoxX5rez36ZWkwtiEhjkCPnlTPoQ2I7lIL0IYZ1yjxMYohbvoOjBmUIZzrf9W/HouONq0omIfTeCWEY+R380w==} + '@oxc-parser/binding-openharmony-arm64@0.154.0': + resolution: {integrity: sha512-ZRFooyH3qsR6vuR4jFGlG3XM36490SvvXtNaUahBK4zHpooMdTHNaOMtGGJI0EW38m5hi4rOco9kw7ZwCIp28w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-parser/binding-win32-arm64-msvc@0.150.0': - resolution: {integrity: sha512-VqeRb5JX/bKYBrff7TUDvJyKY0914UzuCkuXIGxJS4FUmvMNfqkCbc7Sq90iMz9DlmAtlggwaBYQ9eg3h3ltiw==} + '@oxc-parser/binding-win32-arm64-msvc@0.154.0': + resolution: {integrity: sha512-U0Vp+4lvwUa/PnOCJTZOjydj1rX2+VLHz4Y2vSFqlN8/7LTiURgD7z4uQ9yNv9O/NlU3mELBnPDlu7aaSYG1zQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.150.0': - resolution: {integrity: sha512-EPqJfeZ4Pgg2BJSsCV8GozxV0FDltRzpVtGVa1r2noJu1iu+opOw3gtBWXwIo9odCT/MdFfyHxdy0/CRqs3OqA==} + '@oxc-parser/binding-win32-ia32-msvc@0.154.0': + resolution: {integrity: sha512-Hc8QgsFY5eUUP25we8TISUruibG2cDt0H4IcPG9RKdabb6odkCzIqjV6Gk9beGWGuOwMVCr81H/Su1q363LCCg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.150.0': - resolution: {integrity: sha512-n5YMzbqwPQqozbkrexi0lNZrUz5cnPHalYpFWe6Dau7AmKIWNo+y24IwzDuZEQtEdUHuKhXmMMih/MPjOI+CMw==} + '@oxc-parser/binding-win32-x64-msvc@0.154.0': + resolution: {integrity: sha512-hD7judkUMA/hZPoamvKADs6+an1smp8UTK0aMYRijkvi00K/1vl7vEtmyn2JyQ9S+vibtnfcNzxqTLGyJUZCRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxc-project/types@0.150.0': - resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} + '@oxc-project/types@0.154.0': + resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==} - '@oxc-project/types@0.152.0': - resolution: {integrity: sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==} + '@oxc-project/types@0.155.0': + resolution: {integrity: sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==} '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} @@ -1068,174 +1078,174 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform-react/binding-android-arm-eabi@0.152.0': - resolution: {integrity: sha512-HrGZlhhyJUxz5tDWnsBliNrlhSVxM9lLF468EKab1uBBUMbMzfwHdO4aOHbI8x4EbI/gIzpMXqJbtWRwBLdwZw==} + '@oxc-transform-react/binding-android-arm-eabi@0.155.0': + resolution: {integrity: sha512-X0gdaAcnVLdTUduUdsJ7pRPDpTwhiHRcq8wOC37HXMA1L5XaHbu/zQkeCmb84CChiIvRiQqHF6WkO8DLl62yeA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-transform-react/binding-android-arm64@0.152.0': - resolution: {integrity: sha512-h+LtkA/nSQsfZdCe6c3F28236gIZhpl3Bu9MjwEI7X0J+CGpEEShmZuXw5b7lwqXQnhr5l1ZIIZ4NA5tU5FW+Q==} + '@oxc-transform-react/binding-android-arm64@0.155.0': + resolution: {integrity: sha512-OtYUiF+jniic0JVMoyZPABnSckQUjDJwIyawDCjq8dM5f0bTDvURKgbDJrL7tR+Z86xvdxkvzwtqb0Xb+HlrBA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-transform-react/binding-darwin-arm64@0.152.0': - resolution: {integrity: sha512-EycvN1vJ5gjer1+AD4Czi/Z0gpD4ud/oRbiwDV3BDOiuN5PVrR5Dz0oqkoKtE+/eKK6QqygEtZrZzc8ARJkLLA==} + '@oxc-transform-react/binding-darwin-arm64@0.155.0': + resolution: {integrity: sha512-6EjLyB0XcCaXDWS8/q7QfMdmEGkeI11L9dtKu7Ju3Pl0dRKLcwXVdzdjGP3itzHy4RDbEAuVlCwO6lfFRpkiWg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-transform-react/binding-darwin-x64@0.152.0': - resolution: {integrity: sha512-5YUXuvxXi+7GmZPho95qteMlG8WgIhCbpYOug8MhyuTZzYtrr8CDBsdMzheBgiRNj9lPkFvduhQ4MK+QVQ06CQ==} + '@oxc-transform-react/binding-darwin-x64@0.155.0': + resolution: {integrity: sha512-n80yhAy3DNm3u5OqJDpNf+S7gaNpWyICSCoiTt6+oO9YC9oWkm/ywc12Qwrg7wCFtvniR64w+hWjkxKjETdscw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-transform-react/binding-freebsd-x64@0.152.0': - resolution: {integrity: sha512-HZrLNspvHfOo1umeCkeskU7UBEXWjuQSoBGidHwjUQVOhsbDNp9k3oihXenEBFgShPycLEC11wAZSD3DtiIkXA==} + '@oxc-transform-react/binding-freebsd-x64@0.155.0': + resolution: {integrity: sha512-zZH3IX7fFrQA+zmy/amDrAe1OxqJl3vBmh+yROvsfPPaUWSn8+0Z451F9tMGhQ1iL6miBcDUHChBOVjfaJXBUg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-transform-react/binding-linux-arm-gnueabihf@0.152.0': - resolution: {integrity: sha512-qfPsGd0sbaUeLtQDojSf+reHYMBHWX+4mdq1lsARkRzGjoHCvstnTr+nKb7sTtGsdPYhbSgbPINI+h1V+KSF5A==} + '@oxc-transform-react/binding-linux-arm-gnueabihf@0.155.0': + resolution: {integrity: sha512-/WnW+j/lVYwNHzaFK6uONgbC9M1S7nTWV+ONe7F9pDz3xCfvhTeWTDrqN84/vrPbxT7Xh9j3PXVnU2cw+L2NHQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-transform-react/binding-linux-arm-musleabihf@0.152.0': - resolution: {integrity: sha512-lYpuYevetblWvNsylYb3BxKbXd2t+BhUqwIoa3/98zmWeLbB+VBfxV8APdZV9gbw2W04HknXKU386pt/5duvfw==} + '@oxc-transform-react/binding-linux-arm-musleabihf@0.155.0': + resolution: {integrity: sha512-VzH6NX11/y0S4nhvYRYWP54G7VPhTy7MoHiAp1nOsRIOaGssUATn1/fLglgz2EgJmxr5AHy1SK9dDd/PUmW5iQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-transform-react/binding-linux-arm64-gnu@0.152.0': - resolution: {integrity: sha512-8eIPBuC+1WpE3Z7AiieAVhbkt6PLEbT4Rnm4SeVOMvIUKTml+s2PSzMu2qAUtFdIB4SFVshTj9SliturT3GHCg==} + '@oxc-transform-react/binding-linux-arm64-gnu@0.155.0': + resolution: {integrity: sha512-mLF5v1yiJghvDG5wUXWv9P0iEItM3EuFgSFfqdyY134fUsU5f7t5B7nxLr4T7DrEUWhs1+SwKNWZA+Mv4HSFiw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-transform-react/binding-linux-arm64-musl@0.152.0': - resolution: {integrity: sha512-rv4dvLnqhgen1tqb7eoB/fNfD5fq+Bf3RTH9YuJ+8SNdqOk2TjAXFUdve0XtjD9Wost0fQ605bVXVrStVY/IEQ==} + '@oxc-transform-react/binding-linux-arm64-musl@0.155.0': + resolution: {integrity: sha512-EkBHEZKR4kDTU7+/mdleIu6VREm0zsQwDzQXAsMvbaRsmy8RkD8tOiXPNh6vyyqtahkLhEdj4vBs9c9h9iO66A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-transform-react/binding-linux-ppc64-gnu@0.152.0': - resolution: {integrity: sha512-zP9xCGiJFyHkP6B7UtVQ99nfYXe8e7eqLqZv0C+Zr2jlhNuLMBsB77QuRczlhtRQqncRWzBI8BkQzy/Lo7GyaQ==} + '@oxc-transform-react/binding-linux-ppc64-gnu@0.155.0': + resolution: {integrity: sha512-Iz26Sm7q5tO2h+da6leks3y62raTyZp32n3FX6WydxsecbFNzKpm+rKNPoti9Syd3u03rmkYlS8q7tPQMLLjUw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-transform-react/binding-linux-riscv64-gnu@0.152.0': - resolution: {integrity: sha512-INC57B7OIgMEoUe4NquHvg77tlYL4E6aMglhKs3FY5k5oB9/+hd2y0Xg1DVco5uDtkgilnSQRM5P0Ptz7CxXPg==} + '@oxc-transform-react/binding-linux-riscv64-gnu@0.155.0': + resolution: {integrity: sha512-CvKMO4MNKLdmy8Q75r1rwBz+VBcSYDObCyQaJOLWAwJnsWXiV7I788N4p2iWUYPWPmfvUd6d0UrrRz5ma5CCnw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-transform-react/binding-linux-riscv64-musl@0.152.0': - resolution: {integrity: sha512-4oPU+QTufHexk7GOGe/JapxAfYlU5EXUsN5J0IsBC9s3SsGUTTjpmXQYiDe4dkX5/BGerE+9mYDG94jNwuk99A==} + '@oxc-transform-react/binding-linux-riscv64-musl@0.155.0': + resolution: {integrity: sha512-OfYtP9jEMZwdnjPLVrrMvy3CQSqwdQJw6Q6YU23fObDECt1lEe2o+TJ6nFgDVAKhTl7pc9dca3vGXRgNfiBfoA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-transform-react/binding-linux-s390x-gnu@0.152.0': - resolution: {integrity: sha512-xt4qy3y+9s32F/pz7ymaf1VfDRI+cKwDnW2poFID2r51dC/gln3QGGDaqv2XLaZGQT5o4uGwIry+9CQY5AHNeA==} + '@oxc-transform-react/binding-linux-s390x-gnu@0.155.0': + resolution: {integrity: sha512-u5USLM5psVaNX2KEzTwfcKlzgGI16EY7Iod/Z/7Fw9FwBQiN+DUyhC99NL63aJ/Qyq0N5HIG4Y95DIEekc+EfQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-transform-react/binding-linux-x64-gnu@0.152.0': - resolution: {integrity: sha512-6va4CIMFzejx2i8KhLAYuunai7b85vRpZSLvuBR4bK2ywuTb6V0kJDFJwiKjWHQRNzEvRjbl887+jqa1rKl8QQ==} + '@oxc-transform-react/binding-linux-x64-gnu@0.155.0': + resolution: {integrity: sha512-Kbddg5Eu/B+l6xW0CS5kaNNRK79IWu7o4NsDkn8SMz7k0N8CHV5watP0pscPIUuxcknBZkQxGqQ+b+qV7B18vA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-transform-react/binding-linux-x64-musl@0.152.0': - resolution: {integrity: sha512-l1QfEbsREILsAWIcmpEsEu9PKjmN6BKmE1Oe97QJDUjeJ3z5lBn5g2feC3nof3JJc5SsG8BiY4F+cm1yHRhmeQ==} + '@oxc-transform-react/binding-linux-x64-musl@0.155.0': + resolution: {integrity: sha512-hFZ69Mh6rZ1XeqSv4njgAB5WgKGBSTgH596EHusayzH+jtgczsMPK81k4SWlguKxrrzIqezLC8pyzhgruaNQGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-transform-react/binding-openharmony-arm64@0.152.0': - resolution: {integrity: sha512-UmdDypmnG1WSZxzQXd8GfhbZQq//XsvMu5/mm+I1uCW3v+9UwpD1J7H+jg91W4xtRY1c0qAhUoMsZi+6vB7Qug==} + '@oxc-transform-react/binding-openharmony-arm64@0.155.0': + resolution: {integrity: sha512-XikOLTZAchqLWNep6ptHZnA47EGlV0s7zpCA7iPRuiM/V9xfgqBbolryFu9/lNjoN6twmt8k0aRuW0frxSTVNQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-transform-react/binding-win32-arm64-msvc@0.152.0': - resolution: {integrity: sha512-JgETFwNiqqB0BfTKMamnVF1zBMnburMoeqnyBgWwKj+JdEqgFqO/0G/O+eWUfNW4xPryjh6HGuq9eNHZLRYrjg==} + '@oxc-transform-react/binding-win32-arm64-msvc@0.155.0': + resolution: {integrity: sha512-3aJKnNR9dBcSTfrrB3PxaYP5N1Myua8DZSHhe4SEp8M/SusvxdaK6bf9h6h801UsQB66S75fk4iTyEShLHZztA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-transform-react/binding-win32-ia32-msvc@0.152.0': - resolution: {integrity: sha512-j2oFkpEG89D38wVY43OtU1s9QUmq0C1+Dpp62PB+SDDTAMsUwU2HofnhK3h9iYTAs7wH/6YqzWOM4XjQ6g/Nmw==} + '@oxc-transform-react/binding-win32-ia32-msvc@0.155.0': + resolution: {integrity: sha512-i2ZSZ79dSgVvC+Ksxju3/4p9+6vXzbeY7iOoBreL4mNOCjQziYChdv5Z921V9AZ4E4LVnD/NoHpez6M8T0Ga3A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-transform-react/binding-win32-x64-msvc@0.152.0': - resolution: {integrity: sha512-iFxYqUqkN/8D0migw/RVZoEvVcJhZ1NzJuRBal0Fgt7V1yJed0QQIHd719kL4OrVmX5f5u2tNZxJB1UJiQ0D/Q==} + '@oxc-transform-react/binding-win32-x64-msvc@0.155.0': + resolution: {integrity: sha512-lrPIzcUHw/hB/LuT/G639+IrPCvvMlthF3xCE9grz1IbsSk+22sb5zyCxTvmpBxZR7/E1ckwZdnw7AmpAd+7Jg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@peculiar/asn1-asym-key@2.10.0': - resolution: {integrity: sha512-1R8xUTeqcUTSMLFTTCzJyFuKiq3y25EQKs9DezUetJ8qMqbJyxo3XkzykiwwT/Xzlt5/vRzS/sW4M1r+pq1FTg==} + '@peculiar/asn1-asym-key@2.11.0': + resolution: {integrity: sha512-r2957WdSZle/Zt4t9og7OMQYXNJ9/3ANXVtFwLCDJuHORlBZ4AFmDt1Qee0CzyTbHQg4ZZApBGEz5/6cFsyCRg==} engines: {node: '>=14'} - '@peculiar/asn1-cms@2.10.0': - resolution: {integrity: sha512-CkX0H4NCIOMHOU3rh2xXZywinYZ/EnJlaOlJiGI0e5L4XjFqHf4iH30LMbXWChVppdA9ljbanjtzQFOhDNfTWg==} + '@peculiar/asn1-cms@2.11.0': + resolution: {integrity: sha512-SlAiDoT/Cd8qaNmbTt78gqyaEvu2fQd6ML6KWJkdjXGrgDKnHHrusVkfQUelkfinL2p665IIADb0JBixtT8W1g==} engines: {node: '>=14'} - '@peculiar/asn1-csr@2.10.0': - resolution: {integrity: sha512-jTPTr/9rxKM+niQLMF3jiAMb0lWHUhUHIuSOhdGCIfpB4FAQYf9SoiXOgxP8bS/68IB+bj+1OHvVnDVCQfVUZw==} + '@peculiar/asn1-csr@2.11.0': + resolution: {integrity: sha512-M/ED0yJ05qMK+UADPKnIa8vhAeewOJALSxTAZB7RQ/batRHhIJZkwznCcWAbFO5saHJ1yEQ+m4lncEcG9RnQSg==} engines: {node: '>=14'} - '@peculiar/asn1-ecc@2.10.0': - resolution: {integrity: sha512-GFd3iOjFrWX+QWH2R2dO5QSJyyRGv9CIBKtRlGlPNCvb2RvmCbBDexe91MJgV76c69d998Xsa+CvuQ98seoiPg==} + '@peculiar/asn1-ecc@2.11.0': + resolution: {integrity: sha512-jj1alGEKev7/un+cI+exyVK9m31lmP7cCBMCZuCb0wkFQH2zmKmJzNiG4wqXFNzlcP8timHLnzf3lV3OxBpb/Q==} engines: {node: '>=14'} - '@peculiar/asn1-pfx@2.10.0': - resolution: {integrity: sha512-1y3QK9ZH1IPleAMmRoJlPS10eGkAWnULETW8zDFNUK1ffqpG7zmDY+kYBMYQgwlcQZ2iitLm2z2EBP0xzRXpaA==} + '@peculiar/asn1-pfx@2.11.0': + resolution: {integrity: sha512-ykSAWRu8KkmzU8LRpk9ZQC3zuLmBEtoSMjIv9XHVamD5W7amqreV5wttKqnvtjWOzzSJQxA/HVT8/tHwpEEGSQ==} engines: {node: '>=14'} - '@peculiar/asn1-pkcs8@2.10.0': - resolution: {integrity: sha512-Ri+BZT9bnwqlHWmhs7lvWjvJRxKev2hA2+4EbZajgeYWCbR8hyv0znF4DhsFouOhMj2nSDV/iGJ6DMQtwITnCw==} + '@peculiar/asn1-pkcs8@2.11.0': + resolution: {integrity: sha512-lragjkjQGnQ5luxC+sxoAfAO/jBiQ7hOEGlDKJUk7MC5zY3AzjB2DU0GyPUH1Sswdv10t7DurY0zylOYMLb88w==} engines: {node: '>=14'} - '@peculiar/asn1-pkcs9@2.10.0': - resolution: {integrity: sha512-XIXsbDQFezYk6fudczkuvawkRD4GNpISGCqfYhdkJlvcGF/RFknU+0DDJagOaJqBf+PdPzk4J9oMqDGcvfR9HQ==} + '@peculiar/asn1-pkcs9@2.11.0': + resolution: {integrity: sha512-gDdFjpqV0weJjgNUvueUVf4D8uVbpq+VbG0TsxLAY2QGljAkJyL9qwQ7avol9j0jaYSJ7Ey7v7RZp0M3GTcQSA==} engines: {node: '>=14'} - '@peculiar/asn1-rsa@2.10.0': - resolution: {integrity: sha512-4Jvmwlh3gZAhNZ4/u7JSyLuce9hofOFZ4o3PYKAccCImGnyaT5CMym/ATgvAvqpOYFNW531oPZvJlEBhJy9VfA==} + '@peculiar/asn1-rsa@2.11.0': + resolution: {integrity: sha512-S2sBJmbfI09Kzdt9cEhE6pDNjHpVTkURs+811+PxS8AvsTLxC4woMNRhxHYaIbClkkNfAVt0tZxJdINVfUmzuA==} engines: {node: '>=14'} - '@peculiar/asn1-schema@2.10.0': - resolution: {integrity: sha512-GhokD41lV4gQrrLYm3wCkHfBOnJrnhDMgt4XeMW8gzfE1UdJqIuSwsE+ggf82XBjUXRJylcm+KIGQFa4utIVLw==} + '@peculiar/asn1-schema@2.11.0': + resolution: {integrity: sha512-8xh4avo53/vXO6UEv9yaoJ83hY581geaLTygf61NPIXP5AeIZCPjJhpTaYU23IZkG+NpLN/C9FYzWp7hphIT9A==} engines: {node: '>=14'} - '@peculiar/asn1-x509-attr@2.10.0': - resolution: {integrity: sha512-/85GtKOKmgvuSJNlaFfwGWNdRSZZ+hpF02NyM01XiCdzpaZONiBltDyfluFPvFx966CR+ZHNSG1jniwpy07oGg==} + '@peculiar/asn1-x509-attr@2.11.0': + resolution: {integrity: sha512-Fgvnd9REmLxEj/4cbDP54dNUNUXkzUksXLqEHqs1mHBuSRjSTCUSPM/WQIZYSvrdG7ND9CX1AQtPoIBekhgQSA==} engines: {node: '>=14'} - '@peculiar/asn1-x509-post-quantum@2.10.0': - resolution: {integrity: sha512-cXKcZ30wKbUkRK5RK4Z3W1imewXvHAB9apEAuIqJ0OOkOQCpJrwLOuN38QlsEXqOI+3gtUv8Kf3UZohUmCbf3w==} + '@peculiar/asn1-x509-post-quantum@2.11.0': + resolution: {integrity: sha512-K6EnquTX3xJ2G+uLPFH0jVkh7W8y6eTzoCxvSoXAj0sWS5uvVB2PEvpBPdzY4+ytaedUM3x9ZVgX0AZKb316ew==} engines: {node: '>=14'} - '@peculiar/asn1-x509@2.10.0': - resolution: {integrity: sha512-ucNVg8+ANveTpMN3fy9lA2alryONdXc2A4cEG2hMniWbvQt+YOZoe8BI80YYNO8FBcuDY1qbDQ4uQGQVraHxGA==} + '@peculiar/asn1-x509@2.11.0': + resolution: {integrity: sha512-J1sHAwGNlk+8J+FeR1eLVc6Gq0T9f9ITc3HWyPYgJraoW6U8AJuQiWVJ3SCEpltfTdpOY7fHdHT5oKAsbK/jww==} engines: {node: '>=14'} '@peculiar/json-schema@1.1.12': @@ -1249,158 +1259,158 @@ packages: resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} engines: {node: '>=14.18.0'} - '@peculiar/x509@2.1.0': - resolution: {integrity: sha512-IYbg1R03CSQGWwl24kGyqrdVtixNSbRaDvBg1r5wyYjTP+VwPQkka1BzTgU5+vxiuwqg04OxdvdJ1xYYFIdUSA==} + '@peculiar/x509@2.2.0': + resolution: {integrity: sha512-adpW58ySPQMOUPv8pTKT3RIyCFqfUFt8X05ukPdtkQToXDVr8dMtxuenik1yx8tNFTbpApWsM/Hi5SzlIx48+Q==} engines: {node: '>=20.0.0'} '@publint/pack@0.1.7': resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} engines: {node: '>=18'} - '@react-native/asset-utils@0.87.1': - resolution: {integrity: sha512-FeFnbn9ENPs7IVBzZt1bBWfiRGvT4q+CsWwXGFyKVW/1ol3ylBRuTtXBGHIAmcNN4fUR60nSXsCN19pzNHkPgA==} + '@react-native/asset-utils@0.88.0': + resolution: {integrity: sha512-Bj1DxQt5f4OrjdlgSVkZT37Z3hx5hUIN5AUDSqL/e99vgtTcqj5vnm067epZL1EF/QiqsniZO8Q1GSkItOakDg==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/codegen@0.87.1': - resolution: {integrity: sha512-qbaqEdlUfj2vRgvWTpMoNgHnEqAhAYJLUrpGkb0WC9n0kdtqUvgigpz4bDktZwolM9BemXwgGFgyiAnbs3t0xw==} + '@react-native/codegen@0.88.0': + resolution: {integrity: sha512-SAGg+XfzsrPiYTscbKa9bo2/H2ei2TjyxW8RTMq2Ps661kRK3AnmpMGVfrEFshEMr3FGEbuQIvj86X98kaXlRA==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@babel/core': '*' - '@react-native/community-cli-plugin@0.87.1': - resolution: {integrity: sha512-aGBae6v+ngy8fIpU1EOaVxn/8DOgmJNphEdn5Eb0wTchUCxr8bDjpTJYNdrptyn3qI/elk8r9agQ2OBaFvrRlw==} + '@react-native/community-cli-plugin@0.88.0': + resolution: {integrity: sha512-WrQdXbjVt1gwAay8ZzYtpOi9ly99ksJ0VMYFdVcMe6nq3vtiRgqKRpHgCdN6ySIbtr5o+aJ+Vr7OTDY98ec/Ow==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@react-native-community/cli': '*' - '@react-native/metro-config': 0.87.1 + '@react-native/metro-config': 0.88.0 peerDependenciesMeta: '@react-native-community/cli': optional: true '@react-native/metro-config': optional: true - '@react-native/debugger-frontend@0.87.1': - resolution: {integrity: sha512-RNm7soJB+8YSauLnsCCylA1eVfT6JWaDTPUEF01uu9YwDyZ7remKlZbXtmVbtscbNGcp+hbI4iZUdVOpQWsHuA==} + '@react-native/debugger-frontend@0.88.0': + resolution: {integrity: sha512-v5cnBaaWhDRPcQv8EC20zj53jOAKH7u2wnzzXS4JTNu+diPC+cA2+kC7rq3eKI5vGhlAcG2kDPoViRuC0AY0oA==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/debugger-shell@0.87.1': - resolution: {integrity: sha512-eNbKjcnseJIjy5XCDwyhKOT1ngOg3Dv1fVxTDtnVFqdqjqsbfY4v9JuJG1RZJ7+mFoRRe05HE8GSQU8B7n5xwQ==} + '@react-native/debugger-shell@0.88.0': + resolution: {integrity: sha512-p82zT8ZKNx7nIm/8zf8pi55sxm5KQBm8td47kzoJysTdqHLyPsRMUvDXtvCJIWadHSv7RJ6t/yiCc+IoImLBtw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/dev-middleware@0.87.1': - resolution: {integrity: sha512-KgvAGUaVl6/XrWFAPK8e0ojDRbsdBjr4bnwyn6PC3CwxPQc5iv+i7hMoUwYS8ORSkHKfjt+cV86/mBQ4lG8yfA==} + '@react-native/dev-middleware@0.88.0': + resolution: {integrity: sha512-sHLxVHOwfkF672ZzMepNh4d3IKbrZy3qXDKWSwN5LC5VJkzzZ5FdmSPP4N/CCn2pcKJ4oSqvojXwN4De3Xk92A==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/gradle-plugin@0.87.1': - resolution: {integrity: sha512-bZ5X2BNxaSlfp2KlDtUM910QqW9G1yTIeZXghuv4ag8SAQLzm5Mf9j5GjJfT6ax2Qo2aRT15Vi3Tro/yLGJstA==} + '@react-native/gradle-plugin@0.88.0': + resolution: {integrity: sha512-4jPSKslOfJj8NKY/jv9qmWkxZYmqPyamoS3Vs0JOFxw9t4PM6L/ea0fUsjNV0LxC9zJlvWilPJOCTOf7h8wlyw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/normalize-colors@0.87.1': - resolution: {integrity: sha512-8+AutemzX+a7cuKgTUyb7JUk3sFYgLyrSnlTLrL6LuW/LKDE+FYE8lJGWYhJPJcE51Ge1D8yRzxgQEdEFZtuIw==} + '@react-native/normalize-colors@0.88.0': + resolution: {integrity: sha512-eZCu3tGAQCfvMCPQJVY4dmoMX8ZZYBvqIGHX7lwOYyzNK+Dl8e5ky7ZoXub1Rq75oSrQXNNmSP2CDjNNXXZpFQ==} - '@react-native/virtualized-lists@0.87.1': - resolution: {integrity: sha512-qSZjeX3UJrDvyfjf7yc3E68rp1XnzE+5nu8ImklhkVC0+p/XiaHPb/KGkRqDdnQyWHN55BRYSsCMEwgVI6WRNQ==} + '@react-native/virtualized-lists@0.88.0': + resolution: {integrity: sha512-zpZIOAbobdS93edwHkNUdGDzvElNeQJqukRERRPns3/ucPvuMd2G4fYpmVJSVjhxtGCcLLB1PFndLYYfwaYoBQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@types/react': ^19.2.0 react: '*' - react-native: 0.87.1 + react-native: 0.88.0 peerDependenciesMeta: '@types/react': optional: true - '@rolldown/binding-android-arm-eabi@1.2.12': - resolution: {integrity: sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==} + '@rolldown/binding-android-arm-eabi@1.2.15': + resolution: {integrity: sha512-aLcgK9gIJ3YRvrrtfSBbRa27F5WrpiTaPulnFpsHPxpUHgFlSgnU4854MHwoRGEBhfRJDWCS2WQ7lIjskE9Olw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.12': - resolution: {integrity: sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==} + '@rolldown/binding-android-arm64@1.2.15': + resolution: {integrity: sha512-xD7DdZCrbThKuxNg7ooQmvp07ys4J/pnSEMTG3/OdOWl6daC67m/Q4fL78sRHMxTH/N4fGUbYhcPM0MF5WFHkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.12': - resolution: {integrity: sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==} + '@rolldown/binding-darwin-arm64@1.2.15': + resolution: {integrity: sha512-m2WuQ6r0B4OTYxyPpNLtXaMRbRDUbG8YQV2Q3KTdSSK8Th6KHCnC8jVCJt8bvYeSB5WivkkNbc85mKadaSdOxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.12': - resolution: {integrity: sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==} + '@rolldown/binding-darwin-x64@1.2.15': + resolution: {integrity: sha512-5RtnsHM36nodM9WbMy+zip0LGS/G+y5wro5RHrpOlr4ac24+1zSi9kiV2MP1myZeZ/ifEHfulQcWjnAXzc2C2A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.12': - resolution: {integrity: sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==} + '@rolldown/binding-freebsd-x64@1.2.15': + resolution: {integrity: sha512-g3l09pyFqhu+135JKkbkwiKGQmwU5hUMUPJ4VdBADvuqR8d33L6H578rh8m7rtxbdp+VmX/+nzI7nvhSZlzpUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.12': - resolution: {integrity: sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.15': + resolution: {integrity: sha512-nIe3VugI97nGQtspPxDqA4sXMUpeiocKIP/CqpY/u/vgbT+alX+cVxu1C/oVBPKg4feNTmYovE91v4DgXvXNwQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.12': - resolution: {integrity: sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==} + '@rolldown/binding-linux-arm64-gnu@1.2.15': + resolution: {integrity: sha512-iTBjXx+B5QSvgI89lJfmqh4wTh8NabR1YZIIN3hNx4zSG0EVfVqkOvLulNpG4251pbd6/IAmZ/LefVk1Y4rPhw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.12': - resolution: {integrity: sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==} + '@rolldown/binding-linux-arm64-musl@1.2.15': + resolution: {integrity: sha512-uN26XOnVR7rqQupG3V9oAG2EGGatWjcJHOeDOHUFCh4TBWmP2tHTFoVN13aYbwfm0aHqJAEmcwhAu6sooIjfqQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.12': - resolution: {integrity: sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==} + '@rolldown/binding-linux-ppc64-gnu@1.2.15': + resolution: {integrity: sha512-9nWkcdd+H+XhaA3fQIwpHnKIrfx/PQ6rO0pivr78Og07tXlUlctBBJoEYLPfhTmCR/QxEVdn6uPjHV5SymPhdw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.12': - resolution: {integrity: sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==} + '@rolldown/binding-linux-s390x-gnu@1.2.15': + resolution: {integrity: sha512-Ggh0ciFjLwIusLSLz7LZYEaGdxOAUJXI+Qu5JCbhPJJHEt8vP+IjRATTJheiJsdzzTYgUiHUiw3X1Ea3ZpMBdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.2.12': - resolution: {integrity: sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==} + '@rolldown/binding-linux-x64-gnu@1.2.15': + resolution: {integrity: sha512-FHg60rS6DBePAYZ9X9F67x+JObFdmgn6tupA1C/a3B+CufFmTD4mX+e8M75tCiAO3foR/6xwVBI0KQiI7sn/rw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.12': - resolution: {integrity: sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==} + '@rolldown/binding-linux-x64-musl@1.2.15': + resolution: {integrity: sha512-/cvV/7v5VGz/moiz0XKRj2dE8DzsKyhIu1KpOvJGPjRywg3yscON889UGvAe8zfiJLHup7VLjBduoGWi3HusWQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.2.12': - resolution: {integrity: sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==} + '@rolldown/binding-openharmony-arm64@1.2.15': + resolution: {integrity: sha512-MyzC5Hrv/sm+Z7TSGKP/j8001RO2xQm1zOpCNVL4j0cY/VhBZviludA2YFQ7i4lH6ZAXxQm0lcMdBzM+99mE7w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.12': - resolution: {integrity: sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==} + '@rolldown/binding-win32-arm64-msvc@1.2.15': + resolution: {integrity: sha512-+PgYiS+AH5omy6L45ZLxybasauJaj3M8buoT83D+nzPmCayXlxUV9hydhciCKVyIg0B/v0BtXPDE1uGqNwCPpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.12': - resolution: {integrity: sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==} + '@rolldown/binding-win32-x64-msvc@1.2.15': + resolution: {integrity: sha512-HFZd2QNQYn1JbIi+Hpd7H+r/lkWxcfIu28nirZ6eCn2LafuvmExMlb/P96Sfx5tf7pPArw39IdhmCF8vmV+NhQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1408,8 +1418,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rushstack/node-core-library@5.25.0': - resolution: {integrity: sha512-JWd5MVInIQqTlujjqV2gO4aJi/QZvBdGCD5jQ4tF0Swcz1Ba80fP0dvxIYTaHawUujyQaCixtzzz9LM8bM26hQ==} + '@rushstack/node-core-library@5.25.1': + resolution: {integrity: sha512-ozoRDwIx3jStOYpx86rFyXH4SaUR+DVT6HubQ59avLplJkWXSm5InztYH7RrOzzq9PJXTdq9/+lKX06SfkLVsA==} engines: {node: '>=20.9.0'} peerDependencies: '@types/node': '*' @@ -1425,11 +1435,12 @@ packages: '@types/node': optional: true - '@rushstack/rig-package@0.7.3': - resolution: {integrity: sha512-aAA518n6wxxjCfnTAOjQnm7ngNE0FVHxHAw2pxKlIhxrMn0XQjGcXKF0oKWpjBgJOmsaJpVob/v+zr3zxgPWuA==} + '@rushstack/rig-package@0.7.4': + resolution: {integrity: sha512-SHZdzc9b2ptUb5uvRWALtAceD/QKZ4UAnZjcaKviTMPmHBnW14gs7XDocn6sDv2EqgnxxFPFkpV7/I3cUijCbw==} + engines: {node: '>=20.9.0'} - '@rushstack/terminal@0.24.6': - resolution: {integrity: sha512-MuSbKmMnP8CVEEBZ2kJpE22farLfxrScOrJ3pN3PoCOSaxemEhD/0H1lXZYj2PmKJxQMHb5pib5rVfIlOX/DlA==} + '@rushstack/terminal@0.24.7': + resolution: {integrity: sha512-o8J9nHOIwfYb0s0eG2WYhx7ed3YIvBXQHVFxYdXCmVdBOkTkdArJcgVzRS8ewUepmlic4nGgJPjKIVaNKSqEnA==} engines: {node: '>=20.9.0'} peerDependencies: '@types/node': '*' @@ -1437,8 +1448,8 @@ packages: '@types/node': optional: true - '@rushstack/ts-command-line@5.3.16': - resolution: {integrity: sha512-k1L7MQQEuQ1v0rsQ8pRzoZ3NRsrvSifBguWlLnl2a5iWGTTW9E0/G/B39291eAf3zF45wheybuJ2onwB/PPsfA==} + '@rushstack/ts-command-line@5.3.17': + resolution: {integrity: sha512-pIwhWawZXAT0nTXwvcE/InQ7uaVAgSeIzILMb2mBrI01Hz1yEvxrhV2+DE2Fzux8aZY9OJTdLsI+sk9kZDuAJw==} engines: {node: '>=20.9.0'} '@sinclair/typebox@0.27.12': @@ -1545,13 +1556,17 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tanstack/query-core@5.104.0': - resolution: {integrity: sha512-JrC2r/JQlXt7khBSdUpsgxNvybzOg+aITa+ARRMlP2AFo93Y8vIqz077rp+e61mJetSZ0T6AJbwW1JHer1vrPQ==} + '@tanstack/query-core@5.104.5': + resolution: {integrity: sha512-Q94gI8Opd+CbdVNOdj8ZCyV8WqLYitrDq1t96Xc8WZT6lY0r5iRnJLXYDxMex7EEf2v+mXvn4FcjaBKSxXZQ9A==} - '@tanstack/react-query@5.104.0': - resolution: {integrity: sha512-e1TZmDCQnWIfiDVryIHeA6Idj+Lfx1hORLOhXS/l5wcgvtVD4yYqbTDl378sGQKIi2cSgb0TEMC9cKK8GGoJEw==} + '@tanstack/react-query@5.104.5': + resolution: {integrity: sha512-RORgFe052U+93weaNuqg7qHq7vNVNzXN/VrXqD4bbAuQCWUqOl2lV5Ui9flWk5CVvMyL/Bh27QWhzwH0aaOx9g==} peerDependencies: + '@types/react': ^18 || ^19 react: ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true '@tybys/wasm-util@0.10.4': resolution: {integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==} @@ -1562,6 +1577,9 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -1583,14 +1601,14 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@22.20.4': - resolution: {integrity: sha512-zJRE40jpHtKqE/C4fgHrAKQLJuSpzEnP9ff9Y7YtoR3Wd2pwqzlekDeEuUQXjRd+QCYnVnNwuJYmhdk9XV8gvA==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/node@22.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} - '@types/node@26.6.3': - resolution: {integrity: sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==} + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} '@types/react-dom@19.3.0': resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} @@ -1609,16 +1627,16 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.71.0': - resolution: {integrity: sha512-pqcS9c1HxZTHt7End4nXqd0s5lJrrFzrgCkKFJrsbUnaL6M3+6oBFZaslg6Gjsl3argl2DDRFROnXARaZ2e4Nw==} + '@typescript-eslint/eslint-plugin@8.72.0': + resolution: {integrity: sha512-aysKgysPX9XOv/dk95UkvUDe++Q3n3dJPG9CEWT3RUccxfkPJ+Qn6nhKPDhZXU6Ofo9kgwGWwKyQCnZIXTgngg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.71.0 + '@typescript-eslint/parser': ^8.72.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.71.0': - resolution: {integrity: sha512-CG4nPk1f2zc8yw4pALqHsFYH2hdo+h1T9daSp21+Hnxi9LOE3GT9hAfTKJCBXVNM2GmYs1eMEP615wPoeOgk3A==} + '@typescript-eslint/parser@8.72.0': + resolution: {integrity: sha512-0O+x3ynciD6zuXb1CKSu165haQV6ey53DKhHHUnujP7U+XlltJG+/keT0Xhd1HXCze+IHf7Tvt39ovyepX/LNw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -1630,8 +1648,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.71.0': - resolution: {integrity: sha512-aABjw5rjBacYONVPaPiWOCjJu0vEF4a25iQuodlmQYL1trtLZ0X/y+2Vzl3BKI1odM4LnwLE1oUDXYp1wzx1TQ==} + '@typescript-eslint/project-service@8.72.0': + resolution: {integrity: sha512-bzHngBbmIgzj6TsTjVUCntGx6FFLgE7mPjpO0PzHycOaZHXqS43XnrkFIHRS16LLr/xO6FHSXG3GJFo/F4bSBQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -1640,8 +1658,8 @@ packages: resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.71.0': - resolution: {integrity: sha512-gWF0BhUcnjZxSpLE8ngS/59n2SB0J3YqRxvX1+2aoRJk9hNtHSLOV+TcarFiOr5ipXm3yc1QrI4c9YZc8zyCxw==} + '@typescript-eslint/scope-manager@8.72.0': + resolution: {integrity: sha512-JewPyJOYcXBSAS7PIgufscHOwZqhTGyBRiQJhhuDln66tMchxvvt7nJ90JKKIoOelmdHA3kAQbm9cEUHc4JSEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.56.1': @@ -1650,14 +1668,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.71.0': - resolution: {integrity: sha512-Z1UlWHADEK2Mlb9NpWfDeSjqoZ5EyrOv4R3eQpbkzqn/EwaIdOpXXupEA1+0ZIOSJSZZDBHG0BrQyN8zUG6Pwg==} + '@typescript-eslint/tsconfig-utils@8.72.0': + resolution: {integrity: sha512-0vbxCf7xLVPSjcOdm6eQbgViH8EDJ8xnl1laLT9yoqSz2YmcSfSg5Vdl0JUvZf6rcuJ0ZivJIuMD4edTg8obaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.71.0': - resolution: {integrity: sha512-i8uO1qbdxeKgRnS5sCRt6On3/nfo2d2DwQe3Yvjx543zLy7r8ySqRuPPiIIXAhS03U0v5NfAFx+rUgxFzKKwNw==} + '@typescript-eslint/type-utils@8.72.0': + resolution: {integrity: sha512-gEXxmmbSTSOVTC37IYYvremOM31v+UN2W772bJxmVYPhAOPSUxtacyb7wkm1EhkYKU6KzFJsdU44DCV4to0LWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -1667,8 +1685,8 @@ packages: resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.71.0': - resolution: {integrity: sha512-cJ4OoxPGWvFnBTnSZyaU+qJzGTqPTGJY+gDchj6cRyLRdmIdt4rcsE4twj+zPfrNiWuVi38wijHzShL++Z9atQ==} + '@typescript-eslint/types@8.72.0': + resolution: {integrity: sha512-Adfoy59kxNEjT5E5fnyrp7GpHYuWs8ONbdohu4ez6IU46qDq8LltG90tLmkucZB2uhYL8mqBjtXqGd8yhfjXqQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.56.1': @@ -1677,8 +1695,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.71.0': - resolution: {integrity: sha512-PEEF4G5sLLWAS5BpPrUvms4ySZkiBQQZM4z+3ReI46axK5Vqr/vXBQatJQIZZOYdGyPUAKTtsrWzpqKuU+3DEw==} + '@typescript-eslint/typescript-estree@8.72.0': + resolution: {integrity: sha512-gwLfFgWcw15tN2KXDCJvxEOQjPn+P3j/n3eSqkZ5sX4VpW9Cosodr+tWwBZRvJT3TcKx6HnPRGZMCNAiP1Xhug==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -1690,8 +1708,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.71.0': - resolution: {integrity: sha512-pKR/tEMVrXZG23UFKUn5BQf3zfmfk7KQceI2cGzywZ5nxM5Eu3hEJU1utjWzydtzBbcJAQhHN8iPCxobHpPcZQ==} + '@typescript-eslint/utils@8.72.0': + resolution: {integrity: sha512-0up3oArJZBYnzOaEXKo8DmI43QvMZyPoFEt9LWzRJcyl/RcJjfKKPebknN1VbTgXBf3M/KggUh5uUMdURLnseg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -1701,8 +1719,8 @@ packages: resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.71.0': - resolution: {integrity: sha512-8eQ9R218XORK+KLosnf4bu/QsUXvUyVwTbArg7/0NMB1Pu87OJKvj4nhFblkYE8gQV73mW1dx1ptlPCkwRGa7A==} + '@typescript-eslint/visitor-keys@8.72.0': + resolution: {integrity: sha512-E2mroviasaWecDzTGiGMtuEguuLVOeRggnrIn93CJuxYJzQBHbyymlT08aVQydbBal5538o+JkBKXh2sRuCyIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260707.2': @@ -1758,13 +1776,13 @@ packages: peerDependencies: vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 + oxc-transform-react: ^0.152.0 vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': @@ -1774,22 +1792,22 @@ packages: oxc-transform-react: optional: true - '@vitest/coverage-v8@5.0.3': - resolution: {integrity: sha512-+klsyz7BvT1vCU28Zkfzms1Ia78XD0V41U3FUtRaa3S+vOr/EXvK1O6BvVD7l1RzEjm6SONR2aybOvDDf9u0mQ==} + '@vitest/coverage-v8@5.0.5': + resolution: {integrity: sha512-4KpkGdIrSqBihx/JyP/e+S+IKB98etg1XDQiLAxksLfcShnwi1VReGeOT9NI43hLHbknosKp/1CCLn9Zgcs8mg==} peerDependencies: - '@vitest/browser': 5.0.3 - vitest: 5.0.3 + '@vitest/browser': 5.0.5 + vitest: 5.0.5 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/eslint-plugin@1.6.27': - resolution: {integrity: sha512-X1RCAfwbatG4GFbJ/1PIHP9MSZMt0JJThqbYID+vS4L783k6QGlLPe421wQE8dHXuGCcenVLsydiM4qzsYWxhg==} - engines: {node: '>=18'} + '@vitest/eslint-plugin@1.6.28': + resolution: {integrity: sha512-2QorUqhTIR7gaDkANEBTjuG2SE5MJgFaWElINyq9bIaOEJXycZUliu5xYSzG6QRLunWopYshgcRs2vW2CTRqGA==} + engines: {node: '>=22'} peerDependencies: '@typescript-eslint/eslint-plugin': '*' eslint: '>=8.57.0' - typescript: '>=5.0.0' + typescript: '>=6.0.0' vitest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -1807,10 +1825,10 @@ packages: resolution: {integrity: sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ==} engines: {node: '>=22'} - '@vitest/mocker@5.0.3': - resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} + '@vitest/mocker@5.0.5': + resolution: {integrity: sha512-xLL3lkDegJZw+MGoGaCCsFayDZthGgpAtr3Vziyfc4p7xH89K7KRPcRBBh/kEYm0Aqkt5DtTmkYpBtRV/FrHZg==} peerDependencies: - msw: ^2.4.9 + msw: ^2.4.9 || ^3.0.0 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: @@ -1818,14 +1836,14 @@ packages: vite: optional: true - '@vitest/spy@5.0.3': - resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} + '@vitest/spy@5.0.5': + resolution: {integrity: sha512-lwJRExuH417257Q5wv9QYugN9IMJkoxcrKrYxGPQkBzl7wlNpTUxD/5yNX4ESKVUIShKPgkGchYPFMWOOk0wzw==} abitype@0.8.7: resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: typescript: '>=5.0.4' - zod: ^3 >=3.19.1 + zod: 4.6.6 peerDependenciesMeta: zod: optional: true @@ -1853,8 +1871,8 @@ packages: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - acorn@8.18.0: - resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1919,8 +1937,8 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - asn1js@3.0.10: - resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + asn1js@3.1.0: + resolution: {integrity: sha512-HWYi1THkOqguCiO+vwj09ZkQFD2kKEsejYHAYCtX0D80WVdoDnvRc9IukXX/jeb0T9NRWJnRtqwdbHltnFjwXA==} engines: {node: '>=12.0.0'} assertion-error@2.0.1: @@ -1936,9 +1954,6 @@ packages: axios@1.20.0: resolution: {integrity: sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==} - babel-plugin-syntax-hermes-parser@0.36.1: - resolution: {integrity: sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==} - balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} @@ -1949,8 +1964,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.11.26: - resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} + baseline-browser-mapping@2.11.31: + resolution: {integrity: sha512-b0k7wXlWjpuL/Uxb/pYlpjY0ej5BjAmurtPUk3eRGuloI4yjK32m8TiKUQ81l1ptcLjKS/KH2+uqIolZti1x4Q==} engines: {node: '>=6.0.0'} hasBin: true @@ -1961,8 +1976,8 @@ packages: resolution: {integrity: sha512-avOnOoLOwdjw1MebWKh3bHqWOH558Q9VpqmRKUv2S63vjw0pnX7Y+yRihxIibgP55twhc7+YfC0IAH43IF5FqQ==} engines: {node: '>=18.0.0'} - bitcoinjs-lib@7.0.2: - resolution: {integrity: sha512-ugLk9SR+2gvhpNA7kqQL1eVDKyBNo/rbr+df72nrZj4OOdZvQRHDVtyogPGXAU2MLQimLL7EbUdz95QGh6Th5Q==} + bitcoinjs-lib@7.0.4: + resolution: {integrity: sha512-aAPVW36PHKDodJbLMdKQiuPAmXt50BQPBQUvyZWZRYFI8lkdg8EqcklmT1t8X6izAJ74rhaHuOOqkbVlDtJrPg==} engines: {node: '>=18.0.0'} bn.js@4.12.5: @@ -1979,8 +1994,8 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - browserslist@4.29.3: - resolution: {integrity: sha512-1R4kiYKXGViqEN0CnoDrXc1StD9niAwu+j2dukWzrD4bJgsD4lDmEp0CRbc6E/vYJIfTHwPmwyaKtVSudICdPA==} + browserslist@4.29.4: + resolution: {integrity: sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1990,8 +2005,8 @@ packages: bs58check@4.0.0: resolution: {integrity: sha512-FsGDOnFg9aVI9erdriULkd/JjEWONV/lQE5aYziB5PoBsXRind56lh8doIZIc9X4HoxT5x4bLjMWN1/NB8Zp5g==} - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.2: + resolution: {integrity: sha512-V2o8YS2EhrKMO9AumnkK0ynynfFlsajpYupwq7S46H5mhcanwxDkNTw3K67wPIcKTH1ffkA4vhMOtAc7gRmPZw==} buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2019,11 +2034,11 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001814: - resolution: {integrity: sha512-/Uaf1lAzr59XcMpW0o96WoEfr+VXK2OX4U9AgFoiSHsVJ4HppnIFUjtYzsyDH2+tgANaQb2/oxYGwCPapN1FpA==} + caniuse-lite@1.0.30001819: + resolution: {integrity: sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==} - cborg@6.1.3: - resolution: {integrity: sha512-Kb/wD/AFuVcqvVjR+HYNOjNiuhVJ2C+RWxQE2Yqq2WVlVkRjdvVLkkM6QsL3NMsBRh+rgNc+aXmcraA+X0HObQ==} + cborg@6.1.4: + resolution: {integrity: sha512-JqjDDfTuED2qUvy570NGQUXqfzC34H++AHJIZnLAmiAdHNqHJKbtzox5yViRz5rc0gM9OPSX7n7Sh+BNU263Xw==} hasBin: true chai@6.3.0: @@ -2037,13 +2052,8 @@ packages: change-case@5.4.4: resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - chrome-launcher@0.15.2: - resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} - engines: {node: '>=12.13.0'} - hasBin: true - - chromium-edge-launcher@0.3.0: - resolution: {integrity: sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} @@ -2094,12 +2104,12 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js-compat@3.50.0: - resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + core-js-compat@3.51.0: + resolution: {integrity: sha512-52r6fkXgxv4GLMjmFcMWRx7X9bw071xTTdrDcdyPGRqU2oE+9pCG0bAOMifSBdLw0JRBZKEF0q3B55qPlLuE8g==} engines: {node: '>=6.4.0'} - core-js@3.50.0: - resolution: {integrity: sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==} + core-js@3.51.0: + resolution: {integrity: sha512-7bDKx/5jm5MxzsXxc93g6Z2+4ZsuT/MddrfRmTDJNAkWsYWHU8EVNEsBiIEWnMAMCHMmRfUEjkuo3jeNBOIHRw==} cross-fetch@4.0.0: resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} @@ -2140,9 +2150,16 @@ packages: supports-color: optional: true + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + delay@7.0.0: resolution: {integrity: sha512-C3vaGs818qzZjCvVJ98GQUMVyWeg7dr5w2Nwwb2t5K8G98jOyyVO2ti2bKYk5yoYElqH3F2yA53ykuEnwD6MCg==} engines: {node: '>=20'} @@ -2155,11 +2172,15 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dependency-cruiser@18.5.0: - resolution: {integrity: sha512-LFvJOvufjQ7XTucSI40NHqse0gcQBevDGkZabLAKcGwO+VWOywTqZ5EyFRYWSokNxvLOO7v6EXyNi+9I72oWUA==} + dependency-cruiser@18.7.0: + resolution: {integrity: sha512-WexT4OswA6Gy86ms2J7SJ4FJscN43dyS+i5skpbtXlPTFQW4yWbontjFip1TOBAVnc+U+9zdH0a56YTRZX/IGw==} engines: {node: ^22||^24||>=26} hasBin: true + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -2172,6 +2193,9 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + diff@8.0.4: resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} engines: {node: '>=0.3.1'} @@ -2183,8 +2207,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.443: - resolution: {integrity: sha512-TDJG36L9A3CWWwZ97HKaE+Iz1sW80pNp6sAU0owzCIV3Zc9eVyRqZK8Vz6NKuMIU8WjP0pIkoqCa0VRf/yFD0Q==} + electron-to-chromium@1.5.463: + resolution: {integrity: sha512-nVWNU6ltFjopvOdD44J4zoBkgO0M+WZiFKKFV7EjebOH9z0KNphk6bCEjplXtJofL21ARIuuwWOCsFkBVklm6w==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -2281,11 +2305,15 @@ packages: eslint: optional: true - eslint-plugin-unicorn@76.0.0: - resolution: {integrity: sha512-3ywJrCMHKYhcBP5yFzGaOOX3dY7+iR3hvpuoS/0EnhRFgVWLejly+t4fOdJvWQxJdHZl1C+QBW7hybXPDld4Pw==} + eslint-plugin-unicorn@78.0.0: + resolution: {integrity: sha512-XTDqxcJeAmh2lhgU75TpuMDdFtPDnAU+DCW56nR5UzXTG+uOyvOGjV80O11my7kNb2bYSCPlWa8c4K8/rwlYog==} engines: {node: '>=22'} peerDependencies: eslint: '>=10.4' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true eslint-scope@9.1.2: resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} @@ -2299,8 +2327,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.11.0: - resolution: {integrity: sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==} + eslint@10.13.0: + resolution: {integrity: sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -2363,16 +2391,16 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.1.8: - resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==} + fast-uri@3.1.9: + resolution: {integrity: sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==} fb-dotslash@0.5.8: resolution: {integrity: sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==} engines: {node: '>=20'} hasBin: true - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fb-watchman@2.0.4: + resolution: {integrity: sha512-tGQtaoYisPDriJBN0mT5yZSyNETnJGA1gTYxaVRAE5KUO3LI9kPUc9WIu8JXcxaIci+faIKlzXqXyPgrmubtBQ==} fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} @@ -2414,16 +2442,24 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + flow-estree@0.327.0: + resolution: {integrity: sha512-f9vK751YUzD0qaHSpKc5/qQM6gqOlgGS+4ZRqTNcZOpVqn3mC55yEQ6dUG2K1eaVm5FbKkz9CFWe6XNvrkQFQg==} + engines: {node: '>=18'} + flow-estree@0.331.0: resolution: {integrity: sha512-FVLYkSL/ITb/QXBEQvNWPjPooRGswuUtGOwrH+puSlMDneNkxy640+FZsk/TfKL+b7Wbw/Fg9FTUv2bMQDpj2w==} engines: {node: '>=18'} + flow-parser@0.327.0: + resolution: {integrity: sha512-/MYZ5hXWf5ozpbdfUDmazMgQXviLxWEiRLH3MppEGDdW0itRVqmB5UaU7QX+SBCDNiq+gEesSVn8nlxmPDyDkw==} + engines: {node: '>=0.4.0'} + flow-parser@0.331.0: resolution: {integrity: sha512-vEZcHIlnKeN8JSVtYFczj8sWJfHIJOkz+YG00O/oul/Bete+t1ZhTi+O6JRRLFYvGW+yJkZ0YgL16iStnbkUqQ==} engines: {node: '>=0.4.0'} - follow-redirects@1.16.0: - resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + follow-redirects@1.16.1: + resolution: {integrity: sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -2435,9 +2471,9 @@ packages: resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} - formatly@0.7.1: - resolution: {integrity: sha512-ESuCEJE0SGgabl9q+zABI8LhJDmF+8nhpuqDzuM48HfJ9QTD5o6PqFJDFZY7w6f8xsh5lixuj5nJsQNvYOWvKQ==} - engines: {node: '>=18.3.0'} + formatly@0.11.4: + resolution: {integrity: sha512-TeCC10lP8KCgoX+Fe5lryILIT0/Dy+nP0OSVnsuB5CwXoLuOdqxCYlPFF1inR8S/zTy1ec7TjhS2TeRKWzzImA==} + engines: {node: '>=18.14.0'} hasBin: true fresh@0.5.2: @@ -2527,21 +2563,15 @@ packages: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} - hermes-compiler@250829098.0.17: - resolution: {integrity: sha512-qG1PXzTEtriF6oQLZF3vyHhSMxOdW5h2TqqLri0rdpstPustd2fSvRZQMVAPdlhgFwBfYnj3OUZtiO6LjYsEFw==} + hermes-compiler@260318099.0.4: + resolution: {integrity: sha512-8odcPFkPC82HlqCl0C5QI9mBN4rEAT+IAo55sJhzwKw//K3qZloiv3ex6J2O8CuBbhdmkJozfidNsset2KH25w==} hermes-estree@0.25.1: resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} - hermes-estree@0.36.1: - resolution: {integrity: sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==} - hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} - hermes-parser@0.36.1: - resolution: {integrity: sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==} - hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -2571,8 +2601,12 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.11: - resolution: {integrity: sha512-YChdK5txDjwGUvgR7oCJcLGkwi3LDh8Zx8tS7ndYciLEg/oOCL26VUBSUEtgS7EjiybcBqFxh5j0rAdDX7/bbg==} + ignore@7.0.12: + resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} + engines: {node: '>= 4'} + + ignore@7.0.13: + resolution: {integrity: sha512-2E8Q6rh+1RRSq/YdaGsNfXsEZy9FVqv6BSSrkmZJP7BnaoPnRfKL+YaofPvP+5rzdk144qSm6i4+hvPgUcbV4Q==} engines: {node: '>= 4'} import-lazy@4.0.0: @@ -2759,57 +2793,57 @@ packages: jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - jscpd-darwin-arm64@5.4.0: - resolution: {integrity: sha512-fNIDtNn9WE4YXoFoqf+3tkHb1+GaKKOeKzh77Wx61Gfa9iDxlCv5rO0Fjy7oWmGehUUKqslDaeXXtn/RoDprCg==} + jscpd-darwin-arm64@5.4.2: + resolution: {integrity: sha512-EGoPYQZqESW2kJfxKZrUYsYWhzq2Irk6sBQQWZ7VPAGj2wwk3n8HtDP2FnJOiHWZtSz55I8zQWldzIrD55B5Vw==} cpu: [arm64] os: [darwin] - jscpd-darwin-x64@5.4.0: - resolution: {integrity: sha512-bxlnCVEb69SGIsas1+PaqZyFY8iYVTVjCBxfjVD74UafX115Ysw+oO9LAlsJaGsKUnK8Zsq5bhM33kBHux6bTA==} + jscpd-darwin-x64@5.4.2: + resolution: {integrity: sha512-/bz/rgoahqeK0p5r+KjeTTS59d7bZpMxD7hQ4CaQ0qKZWBZIyu7hRdExzJ7/KrCEJ5cmRogvXX1jhFqldYLNXw==} cpu: [x64] os: [darwin] - jscpd-linux-arm64-gnu@5.4.0: - resolution: {integrity: sha512-c4hX5QjuRyzLFJ+A+jNGHRpGlDvxcx+zzs4RJmZHpl23istuTMIkelwTOWliF4gXOm0RWXDlX/ywWKr9+Lre7w==} + jscpd-linux-arm64-gnu@5.4.2: + resolution: {integrity: sha512-YW/eX+mOYZmT/A3QEARYmJQoVQNV/cfecKCobNXZcD3mE57drpKHmJnvuL9uS85z0cUKWGCM57JVkVz6Y9oxxw==} cpu: [arm64] os: [linux] libc: [glibc] - jscpd-linux-arm64-musl@5.4.0: - resolution: {integrity: sha512-p4FUCNyL8WPTlizdZqfjontFwJ/+jnERYM2+YX2miYvm0NxzsIi23MhfzPl/eUHxkiT5wethV0NRYEAkJr999Q==} + jscpd-linux-arm64-musl@5.4.2: + resolution: {integrity: sha512-jOLTO8YVRz65NaeYNeXoIf13yOPWhbM61xKXpv51DXQ2BXce6XfgPaJVeDCOM5s+8mt6aDtq0BZ8zptNeqGuIw==} cpu: [arm64] os: [linux] libc: [musl] - jscpd-linux-x64-gnu@5.4.0: - resolution: {integrity: sha512-44NXS0gtYbjBCc53Gwilgj7PPwnWv9YTF/rGc0ZfnFcpzSoOKKU11yH+qHfCVie1hHte1wHyZ1f9Kjc8nGe2/g==} + jscpd-linux-x64-gnu@5.4.2: + resolution: {integrity: sha512-eAmKLxx+pIOEX4lZ342CCCjL5bvf+a3gdmaaVHXiGIx2Zr3zKkF32YkfuN2sCvCui5I/wnely80XsRvVVFO47Q==} cpu: [x64] os: [linux] libc: [glibc] - jscpd-linux-x64-musl@5.4.0: - resolution: {integrity: sha512-m9XHj14Zwia9RjWDkHDrl6VJ3W/b7m8qjFqjhcJ668Vkxoj4Ri/qeo0bo6is+fSw+bYxYexV6xxqIKRDolc8Lg==} + jscpd-linux-x64-musl@5.4.2: + resolution: {integrity: sha512-ers9YFscD6DrmhyjBDXo/L+yBKcclHdWTFLMulYVGLcoGRKfBFhmK08MI3ajN/GMmCpJu7rkDYKL3egdfE8OIw==} cpu: [x64] os: [linux] libc: [musl] - jscpd-windows-arm64-msvc@5.4.0: - resolution: {integrity: sha512-AoP5RXyb9gIf8xmFwAc+Rgh4XJNyX1upcD+R1A6u4XjsDo2/oF+KKB4dtKnG2DbFQ+0fyFg/ClOcw+asQZJfPg==} + jscpd-windows-arm64-msvc@5.4.2: + resolution: {integrity: sha512-kOhVw4cVhN8T9jr3OVThB3pPpbff0ITHTwpJ/+4EGzMkbf0y6QtPpHDzRgiHJj7u1FSTBXTI6VhPhDUhT/os1g==} cpu: [arm64] os: [win32] - jscpd-windows-x64-msvc@5.4.0: - resolution: {integrity: sha512-dYkb5mAo5i7fjrtf2Ft6z9a/I38RJMd4JirEgJiW2BIv5pAGmfMVPDy1xEXL3hJqraXzeMIfnzqJFanefCyC6g==} + jscpd-windows-x64-msvc@5.4.2: + resolution: {integrity: sha512-BuR5DCV7F/G5ukMEIzCrz43ea5C0t0ALcP7v+opOWefoi4aiQYCEmtoRwfXMM/zjOmNYmvJBDDfeH05U9uuzEg==} cpu: [x64] os: [win32] - jscpd@5.4.0: - resolution: {integrity: sha512-6mU8OHff4rPJ3D5lIsQns82/aQhDas22gMsGurHx1wcrfXWOZDNaobi6rKhLevo+77ntWKUXOwtM6lcrkJeL7w==} + jscpd@5.4.2: + resolution: {integrity: sha512-bxZ1ObA4NyWBcM7Zh+QoGrdcMovbCxrDofFaLo2Lwgk/Axe/e45VYu8EM+mpPx2CpU/QGCoktONRnaRZl8Yq2w==} engines: {node: '>=18'} hasBin: true - jsdoc-type-pratt-parser@9.2.2: - resolution: {integrity: sha512-eFY7Rlscvv/BpY6UsVsjKwMhu1tJO/F4U/vC9g3yeRy/JqszuO1UP6Vdq+85G+3FP6fEw/sWR8a5ftPFY86csw==} + jsdoc-type-pratt-parser@9.4.0: + resolution: {integrity: sha512-orXhi2Y06rag47r4SW4JPII6WlUJbp0xe9cIcqLaSbb/8tREcEZSq99Lu3AFfra6PAlMqTYIxV+ZHxl1dFUrWw==} engines: {node: ^22.22.2 || >=24.15.0} jsesc@3.1.0: @@ -2845,8 +2879,8 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - knip@6.39.0: - resolution: {integrity: sha512-Y7g6Ve1ATMox1u1v+gx3z9LTlvzVLTJISm/LVn9TgBU4qc7OoC63AWGO8qCFPVDDdaqlYdXkDDvvO1METBfTRw==} + knip@6.42.1: + resolution: {integrity: sha512-gKJVsiT4LJQ0lfc8uSHOCzkOY8adAXNFGarIeODZbJOkBnQRVsG3e0UZFnO4LMwjA82A5tBWX/VgoeTYcjdKiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -2858,11 +2892,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libp2p@3.3.11: - resolution: {integrity: sha512-+J3Dw1RnGdcpQaPN1HD+Z6xVS3qY0vnsqE2Tu//pfoiJxabaZVkc2FBNnNQ1Sj+Th2qoloeJ11jvxuNXSa1gtA==} - - lighthouse-logger@1.4.2: - resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + libp2p@3.5.1: + resolution: {integrity: sha512-4ToV+b2Am/W5cdjON5PRx3IL5r7pqrVWkUskLYnvwc8homj0A39f9eJulz1o46iUB9WmAqzTy46bGFLItGIvAQ==} lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} @@ -3041,8 +3072,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magic-string@1.4.2: - resolution: {integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} magicast@0.5.5: resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} @@ -3050,15 +3081,12 @@ packages: main-event@1.0.5: resolution: {integrity: sha512-4l9z8r7Q446mhhVTwdHmfPksOYBwN2xa7ewEW2yxPVNQapIaAf57ORFLMB91SpMEMa4wXowect7fq3uMLjDnGA==} - marky@1.3.0: - resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdn-data@2.35.0: - resolution: {integrity: sha512-k+1+dEIm2z/BEfdvYzT/fIyAGeDBo/1AJNJI4ilFXJRYoxP/3Ds+GP8shAOIq8jYXY9N5nGB3Ag104NsagmLAA==} + mdn-data@2.37.2: + resolution: {integrity: sha512-rz9YOBGItdSbe7HcSArUbhiAv4SB/4DKRYg96CSFS2CcIYMbUvBtZlzA1NCbk2AdgbmYwMqwNblLpR441lLeiQ==} memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -3124,6 +3152,69 @@ packages: engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} hasBin: true + micromark-core-commonmark@2.0.4: + resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.1.0: + resolution: {integrity: sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-edit-map@1.0.0: + resolution: {integrity: sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.3: + resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==} + + micromark@4.0.3: + resolution: {integrity: sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -3166,11 +3257,6 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - mortice@3.3.1: resolution: {integrity: sha512-t3oESfijIPGsmsdLEKjF+grHfrbnKSXflJtgb1wY14cjxZpS6GnhHRXTxxzCAoCCnq1YYfpEPwY3gjiCPhOufQ==} @@ -3197,13 +3283,13 @@ packages: multiformats@14.0.5: resolution: {integrity: sha512-vbIm83F2yZ1pWJGS0yl0ysracIvv56LtbrIyiIQHoLdYDJOMoLfVFsXhh9DUH4SFdkdkFhucyWniihsNzVEjkQ==} - nanoid@3.3.19: - resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@6.0.1: - resolution: {integrity: sha512-3wVS3i51pE2pi1k5FFL/95BGfVS0kSsvDVuGXHOtxox/TywUmtgq+3qiTOTbs9J7KfHaXPiN171k/A6dBnaXFw==} + nanoid@6.0.2: + resolution: {integrity: sha512-hIvVOb9Qr1p/9CNNLOe0OlWvgx/ziTsVwKN/GDSsuArN2K0wDiafP3s0SWmsm7o2BdnyS8Z9Z64NFBUbn6ziBg==} engines: {node: ^22 || ^24 || >=26} hasBin: true @@ -3234,10 +3320,142 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.57: - resolution: {integrity: sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==} + node-releases@2.0.60: + resolution: {integrity: sha512-OmO8+GM1JUZqXET720VrJCwkjUCXmCMQm0Z3UDDRbfNLHS4NEAvY60j5jiFv0tkKw2PNNlqOLhahVmwJIOLDIQ==} engines: {node: '>=18'} + node@runtime:26.12.1: + resolution: + type: variations + variants: + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-DLlub0CRtke2b4EQMNXEvw0Kbm9H5B4SSBe2RMr/kcE= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-aix-ppc64.tar.gz + targets: + - cpu: ppc64 + os: aix + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-GQHVOZEsAq+hDRzBJpQ6iFWn7t6+gwEZRjRw215sWeg= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-darwin-arm64.tar.gz + targets: + - cpu: arm64 + os: darwin + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-uFwupEIK0LxKvy3Gzx9VEw7WgfHKv2DPP1JuTJ4nEv8= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-darwin-x64.tar.gz + targets: + - cpu: x64 + os: darwin + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-psAa9FndiXKrP7CO5dqBJE0muoxJRKYtW7uoxZeuFU8= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-arm64.tar.gz + targets: + - cpu: arm64 + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-lnFXnUWHMf6rAX+bGZ8hUAVKtxkQotbN81QAQoUbMnA= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-ppc64le.tar.gz + targets: + - cpu: ppc64le + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-2oK09HBZlNL5IpHjStc2IHpaa4sTm2k5OHXYEwLtedg= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-s390x.tar.gz + targets: + - cpu: s390x + os: linux + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-Q8QG48qIFItZaBoHu5Ru3HXeAF1e9IuZg1IizyyHiT0= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-x64-musl.tar.gz + targets: + - cpu: x64 + os: linux + libc: musl + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-D9Hrd3BZj1KiGZXt9u01/GkEAPpDfCOGrzKVGekUMTI= + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-x64.tar.gz + targets: + - cpu: x64 + os: linux + - resolution: + archive: zip + bin: + node: node.exe + integrity: sha256-NFZ1ge5jlns3r7a3oMxjotVQpD1dg4rbdZgtfjVvLiw= + prefix: node-v26.12.1-win-arm64 + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-win-arm64.zip + targets: + - cpu: arm64 + os: win32 + - resolution: + archive: zip + bin: + node: node.exe + integrity: sha256-s+/Vxwy6MwjtRufmmam4qsB1u8awJ/yznITDGswl4rQ= + prefix: node-v26.12.1-win-x64 + type: binary + url: https://nodejs.org/download/release/v26.12.1/node-v26.12.1-win-x64.zip + targets: + - cpu: x64 + os: win32 + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-w2lFUfbLiI/gvvtMsuE//kWwuyUo7BQefDopp9eXTRM= + type: binary + url: https://unofficial-builds.nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-arm64-musl.tar.gz + targets: + - cpu: arm64 + os: linux + libc: musl + - resolution: + archive: tarball + bin: + node: bin/node + integrity: sha256-i/nMDn+OPH7FNo3KGSQsrWUbawnTW83PKQrD+Akl6N0= + type: binary + url: https://unofficial-builds.nodejs.org/download/release/v26.12.1/node-v26.12.1-linux-x64-musl.tar.gz + targets: + - cpu: x64 + os: linux + libc: musl + version: 26.12.1 + hasBin: true + nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} @@ -3245,35 +3463,35 @@ packages: resolution: {integrity: sha512-i8iA8uij0g1YQzS8uOJPSRCgwDjO9warIHUAu1Fqj877Wc3wlfxDYBioYWgKTBF2+URVJttyDWSEpmd99nlvtQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - obug@2.2.1: - resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} engines: {node: '>=12.20.0'} on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + on-finished@2.4.2: + resolution: {integrity: sha512-ATWUv387i+nLD49EiDoOft5scf32Vsdz3ktrQJG9bi7jRFmaXTssvyvj1EmeKVVgvesbqUtvQQvaS2TpTukAZQ==} engines: {node: '>= 0.8'} - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxc-parser@0.150.0: - resolution: {integrity: sha512-zwajKw1GUa57IOdafIS7/yOObGF2NihwIfZfs5yJTRprMSkiwhWOc/k+n8bwnUPbHr2/XsjfBO8KyTPaW3VpWg==} + oxc-parser@0.154.0: + resolution: {integrity: sha512-Gr/6fkjZwi937c4Tsz8y0iO4U0FLPkZI6JSVucLAIvQyqh379px7RS8ORIc0HOORbFjXZ6zyqWLl53qxhSeofw==} engines: {node: ^20.19.0 || >=22.12.0} oxc-resolver@11.24.2: resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} - oxc-transform-react@0.152.0: - resolution: {integrity: sha512-CAx+SKDU4uSOmQnyn7daMj/v/h8tF3fnaUMi4yImKAARPnXV0BieHe/qw1LTcK4KlnIuAhpfUJfSfNKIBh8HqQ==} + oxc-transform-react@0.155.0: + resolution: {integrity: sha512-JsZb0yduU1JdSj1RrNov2Ysio68LW9VKa10vkAJehy3NsE6UZrfcjmTLrStBRVF40YKxN30I+Cq8zJxIXzLqHQ==} engines: {node: ^20.19.0 || >=22.12.0} p-defer@4.0.1: @@ -3284,6 +3502,10 @@ packages: resolution: {integrity: sha512-T629EpxCTho6yxIZz2dFZwMkyWUM5jh/0h1+u/Xo4+Fllu0DuKQF6ghqIgSWVTluIvHSXL+XBRScH+E+y9TQ0g==} engines: {node: '>=20'} + p-event@8.0.1: + resolution: {integrity: sha512-JwBMYkI+lY/e5kQYsU1JXPxHtyrVncnsAxUOL1bF5bLCarxKLjc6+NwHrRYPoKMxapFNkRT20Xhf793Df/AIIA==} + engines: {node: '>=22'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -3292,8 +3514,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-queue@9.3.3: - resolution: {integrity: sha512-NXAOdnEe5FsZJfT4oK84lE1Y5cFFdWlRuOo5tww8DyNMxyRXwn39fIkUtNLKppcPC+UYU/bXujNCUGDv01y7CA==} + p-queue@9.3.5: + resolution: {integrity: sha512-Lki/zhXFVmDhesBUn/yHRLW9Bte7mE7xoFHzTR8sIomV7a2z+LxYAPkGvdfidNiu4fKSfjtawixxSHcZci5QcQ==} engines: {node: '>=20'} p-retry@8.0.1: @@ -3308,8 +3530,11 @@ packages: resolution: {integrity: sha512-2kKzMtjS8TVcpCOU/gr3vZ4K/WIyS1AsEFXFWapM/0lERCdyTbB6ZeuCIp+cL1aeLZfQoMdZFCBTHiK4I9UtOw==} engines: {node: '>=20'} - package-manager-detector@1.8.0: - resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} + + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -3341,8 +3566,8 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - postcss@8.5.28: - resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + postcss@8.5.31: + resolution: {integrity: sha512-YUbWYCgErwnMAVkjUnYa+KlMBzGpHwiIt/DE7f0G33AuX2LH9UcTk6KgWxd3zRU+pN3u/C+Xl3EnMLM4Hea7Sg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3414,8 +3639,8 @@ packages: prettier-plugin-svelte: optional: true - prettier@3.9.9: - resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} + prettier@3.9.10: + resolution: {integrity: sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==} engines: {node: '>=14'} hasBin: true @@ -3443,8 +3668,8 @@ packages: resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} engines: {node: '>=10'} - publint@0.3.24: - resolution: {integrity: sha512-9zS56KrKBoqi5Qt8h92uMP8TTM9AYZSgnmCo4u2priMqkOZvQnTsziZ2p5LJ2ywbYkAjoCDp2jda9u4cgFefIw==} + publint@0.3.25: + resolution: {integrity: sha512-WMMbn/d7JqRlfXQL/JUI4n5skC8cJ5WVr8/wT5mmiYWkUdENkZr1I5rgs2+dQPVRgoJd+JRYtB46MTsuDylw9g==} engines: {node: '>=18'} hasBin: true @@ -3491,10 +3716,10 @@ packages: react-devtools-core@6.1.5: resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-dom@19.3.0: - resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} peerDependencies: - react: ^19.3.0 + react: ^19.3.1 react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -3504,13 +3729,13 @@ packages: peerDependencies: react-native: '>=0.60.0' - react-native@0.87.1: - resolution: {integrity: sha512-DJKG6ANoD7BtrE4z9DewiSD7/RxCX73lK5Pu49aUr85P3333Dm2roTiP0rRjQNDZdVizHSOmstWfwF/o9EjCRA==} + react-native@0.88.0: + resolution: {integrity: sha512-v/wee0nYWcammMYBnSat/e3WY/5iaf9YQOMcBrfKT/wPApPPlHp94hgZovBtwhMuthR01yc/8cGn0FpFTE/C4A==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} hasBin: true peerDependencies: '@types/react': ^19.1.1 - react: ^19.2.3 + react: ^19.3.0 peerDependenciesMeta: '@types/react': optional: true @@ -3519,8 +3744,8 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react@19.3.0: - resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} + react@19.3.1: + resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} engines: {node: '>=0.10.0'} rechoir@0.8.0: @@ -3545,8 +3770,8 @@ packages: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regjsparser@0.13.3: - resolution: {integrity: sha512-ycwFAS14Jw4mppvmK4GR/J6u3WpWpjkEApehuHtLc/8VpPNpDMbQ4WjqwplXifGeyKOzHSFLmSPqzksDQE2Sfg==} + regjsparser@0.13.4: + resolution: {integrity: sha512-EWV80YgFaVgFrjGCAsV7oybp4GOxbls5RzBg8OB0nKEVXsBJR1JlV8Di1JhCROg3MzTfe1RI8yitIm1eOs68iA==} hasBin: true require-directory@2.1.1: @@ -3564,16 +3789,16 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.12: - resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + resolve@1.22.13: + resolution: {integrity: sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==} engines: {node: '>= 0.4'} hasBin: true retimeable-signal@1.0.1: resolution: {integrity: sha512-Cy26CYfbWnYu8HMoJeDhaMpW/EYFIbne3vMf6G9RSrOyWYXbPehja/BEdzpqmM84uy2bfBD7NPZhoQ4GZEtgvg==} - rolldown@1.2.12: - resolution: {integrity: sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==} + rolldown@1.2.15: + resolution: {integrity: sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -3587,9 +3812,6 @@ packages: sanitize-filename@1.6.4: resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - scheduler@0.28.0: resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} @@ -3641,8 +3863,8 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - smol-toml@1.9.0: - resolution: {integrity: sha512-hpd+HLON7HdZXqYchMM/+LaTTbdK0AU3NngIJ4KVyWbY9bfQqdL9cD+4yf6dUoU2Ap4VsU0JkQi6FxAI1B2mXQ==} + smol-toml@1.9.1: + resolution: {integrity: sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==} engines: {node: '>= 18'} source-map-js@1.2.2: @@ -3736,8 +3958,8 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - tinybench@6.2.0: - resolution: {integrity: sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==} + tinybench@6.2.2: + resolution: {integrity: sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==} engines: {node: '>=20.0.0'} tinyexec@1.3.1: @@ -3808,8 +4030,8 @@ packages: resolution: {integrity: sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==} engines: {node: '>=16'} - typescript-eslint@8.71.0: - resolution: {integrity: sha512-fBdHYiqQ14RW6mOMXD14Svn82ZsCYAoQSzGRzyEjR59S5A2Krh/l7fGTOQ7iCr8gGy/mHVXtEF7s5fgjEdV0Pw==} + typescript-eslint@8.72.0: + resolution: {integrity: sha512-r26Fkc8As+mZvqp7SLsMmNFyYUup/6CjK7/eHBHmhOw6GH6n6YFxHVFrG0jN1c5CMpDzelLPxvgeCOzx7BjN+A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -3839,10 +4061,6 @@ packages: resolution: {integrity: sha512-sSbrZqlr04w4p8KKpHw0ME/R4JzQaadum+BWhMlk2M7LrDyXWTfJOco3d1jNMdQNxgk5DDm88R3IWYH0nR+tzQ==} engines: {node: '>=14.0.0'} - uint8array-tools@0.0.9: - resolution: {integrity: sha512-9vqDWmoSXOoi+K14zNaf6LBV51Q8MayF0/IiQs3GlygIKUYtog603e6virExkjjFosfJUBI4LhbQK1iq8IG11A==} - engines: {node: '>=14.0.0'} - uint8arraylist@2.4.9: resolution: {integrity: sha512-KxWjyEFzchzik3aoQlK66oaoxIReoMo5bQRm1fcjBUZvE8xv/tyR3CTKhjh6K/faV8VaF6hd5pjr45CzbwuwkA==} @@ -3855,8 +4073,8 @@ packages: uint8arrays@6.1.1: resolution: {integrity: sha512-iz7JN0XCSZYA111lhFG2Ui9EhFvTNekqSRHw3lvMHq+dzwWy1OQftxFQREEh4rffU0oSoXdQHsk2TiHKVm4fsA==} - unbash@4.0.12: - resolution: {integrity: sha512-PnKvRX+Fbxl/usVlTr/31tXIOVAH+8OdC9qaxUQcvurwEnoc3Vk/ipi2Ce8IjMxzK9byfSGdsUBjqqJGc1o5lw==} + unbash@6.0.1: + resolution: {integrity: sha512-0db9eS5iqybux41zLkX69nk90KTci7F7eZ+gXzEG/Q7E0tAqEBhRh5fkZvk1N7jT7QkGWqq34i8SFGPFEe1V8A==} engines: {node: '>=14'} uncrypto@0.1.3: @@ -3865,9 +4083,6 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@8.9.0: resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} @@ -3883,8 +4098,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.3.3: - resolution: {integrity: sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==} + update-browserslist-db@1.3.4: + resolution: {integrity: sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3913,14 +4128,14 @@ packages: varuint-bitcoin@2.0.1: resolution: {integrity: sha512-TTl5qSPJ3FzjuTHo0Ex9WUE3jTxnUsQHR38vIDhHApoVstzJK4gE20WqmTWOT5oo7ilvOSNejXt4CJrfDcqm5A==} - vite@8.3.2: - resolution: {integrity: sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==} + vite@8.3.5: + resolution: {integrity: sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.7.1 - esbuild: 0.28.1 + '@vitejs/devtools': ^0.7.1 || ^0.8.0 + esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 sass: ^1.70.0 @@ -3956,20 +4171,20 @@ packages: yaml: optional: true - vitest@5.0.3: - resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} + vitest@5.0.5: + resolution: {integrity: sha512-cPODOMF8YnkiiYtDdHo6n4wWmBrOBBbOIYH2d33M4l3CdNn72h+qMmO6uXffUN6A5AZFXNND/d+krS9mgkXRfg==} engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 5.0.3 - '@vitest/browser-preview': 5.0.3 + '@vitest/browser-playwright': 5.0.5 + '@vitest/browser-preview': 5.0.5 '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 - '@vitest/coverage-istanbul': 5.0.3 - '@vitest/coverage-v8': 5.0.3 - '@vitest/ui': 5.0.3 + '@vitest/coverage-istanbul': 5.0.5 + '@vitest/coverage-v8': 5.0.5 + '@vitest/ui': 5.0.5 happy-dom: '*' jsdom: '*' vite: ^6.4.0 || ^7.0.0 || ^8.0.0 @@ -4098,10 +4313,10 @@ packages: resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} engines: {node: '>=18.0.0'} peerDependencies: - zod: ^3.25.0 || ^4.0.0 + zod: 4.6.6 - zod@4.6.5: - resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + zod@4.6.6: + resolution: {integrity: sha512-4UmzQUF5fxvfcYHlbjBmejU+w+hbDnWFx4aS8kBx7nPBHcO2SqPbpAG8snbdg+Xse4pRefR98hgjFgIMCI/UhA==} snapshots: @@ -4121,10 +4336,10 @@ snapshots: '@babel/generator': 7.29.8 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) - '@babel/helpers': 7.29.7 + '@babel/helpers': 7.29.10 '@babel/parser': 7.29.9 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 @@ -4147,7 +4362,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.29.3 + browserslist: 4.29.4 lru-cache: 5.1.1 semver: 6.3.1 @@ -4155,7 +4370,7 @@ snapshots: '@babel/helper-module-imports@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color @@ -4165,7 +4380,7 @@ snapshots: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -4175,7 +4390,7 @@ snapshots: '@babel/helper-validator-option@7.29.7': {} - '@babel/helpers@7.29.7': + '@babel/helpers@7.29.10': dependencies: '@babel/template': 7.29.7 '@babel/types': 7.29.8 @@ -4184,7 +4399,7 @@ snapshots: dependencies: '@babel/types': 7.29.8 - '@babel/runtime@7.29.7': {} + '@babel/runtime@7.29.10': {} '@babel/template@7.29.7': dependencies: @@ -4192,7 +4407,7 @@ snapshots: '@babel/parser': 7.29.9 '@babel/types': 7.29.8 - '@babel/traverse@7.29.8(supports-color@10.2.2)': + '@babel/traverse@7.29.10(supports-color@10.2.2)': dependencies: '@babel/code-frame': 7.29.7 '@babel/generator': 7.29.8 @@ -4233,10 +4448,10 @@ snapshots: dependencies: '@chainsafe/as-chacha20poly1305': 0.1.0 '@chainsafe/as-sha256': 1.2.5 - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/peer-id': 6.0.15 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-id': 6.0.18 + '@libp2p/utils': 7.4.5 '@noble/ciphers': 2.4.0 '@noble/curves': 2.4.0 '@noble/hashes': 2.4.0 @@ -4247,8 +4462,8 @@ snapshots: '@chainsafe/libp2p-yamux@8.0.1': dependencies: - '@libp2p/interface': 3.3.0 - '@libp2p/utils': 7.4.1 + '@libp2p/interface': 3.4.0 + '@libp2p/utils': 7.4.5 race-signal: 2.0.2 uint8arraylist: 2.4.9 @@ -4256,17 +4471,17 @@ snapshots: dependencies: '@chainsafe/is-ip': 2.1.0 - '@ckb-ccc/ccc@1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5)': - dependencies: - '@ckb-ccc/eip6963': 1.1.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/joy-id': 1.2.6(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/nip07': 1.1.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/okx': 1.2.6(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/rei': 1.1.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/shell': 1.3.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/uni-sat': 1.2.6(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/utxo-global': 1.2.6(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/xverse': 1.2.6(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/ccc@1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6)': + dependencies: + '@ckb-ccc/eip6963': 1.1.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/joy-id': 1.2.6(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/nip07': 1.1.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/okx': 1.2.6(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/rei': 1.1.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/shell': 1.3.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/uni-sat': 1.2.6(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/utxo-global': 1.2.6(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/xverse': 1.2.6(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - debug @@ -4276,12 +4491,12 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/connector-react@2.2.2(@types/react@19.3.0)(debug@4.4.3(supports-color@10.2.2))(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0)(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/connector-react@2.2.2(@types/react@19.3.0)(debug@4.4.3(supports-color@10.2.2))(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1)(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/connector': 2.3.2(debug@4.4.3(supports-color@10.2.2))(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/connector': 2.3.2(debug@4.4.3(supports-color@10.2.2))(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) '@lit/react': 1.0.8(@types/react@19.3.0) '@types/react': 19.3.0 - react: 19.3.0 + react: 19.3.1 transitivePeerDependencies: - bufferutil - debug @@ -4292,20 +4507,20 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/connector@2.3.2(debug@4.4.3(supports-color@10.2.2))(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/connector@2.3.2(debug@4.4.3(supports-color@10.2.2))(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6)': dependencies: '@chainsafe/libp2p-noise': 17.0.0 '@chainsafe/libp2p-yamux': 8.0.1 - '@ckb-ccc/ccc': 1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/libp2p': 0.3.2(typescript@6.0.3)(zod@4.6.5) - '@libp2p/circuit-relay-v2': 4.2.13 - '@libp2p/identify': 4.1.14 - '@libp2p/interface': 3.3.0 - '@libp2p/webrtc': 6.0.33(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2) - '@libp2p/websockets': 10.1.21 + '@ckb-ccc/ccc': 1.3.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/libp2p': 0.3.2(typescript@6.0.3)(zod@4.6.6) + '@libp2p/circuit-relay-v2': 4.2.17 + '@libp2p/identify': 4.1.18 + '@libp2p/interface': 3.4.0 + '@libp2p/webrtc': 6.1.0(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2) + '@libp2p/websockets': 10.1.25 '@multiformats/multiaddr': 13.0.3 - core-js: 3.50.0 - libp2p: 3.3.11 + core-js: 3.51.0 + libp2p: 3.5.1 lit: 3.3.3 qr: 0.7.2 transitivePeerDependencies: @@ -4318,9 +4533,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/core@1.23.0(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/core@1.23.0(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@joyid/ckb': 1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.5) + '@joyid/ckb': 1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.6) '@noble/ciphers': 2.4.0 '@noble/curves': 2.4.0 '@noble/hashes': 2.4.0 @@ -4337,10 +4552,10 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/did-ckb@0.2.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/did-ckb@0.2.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/type-id': 0.1.15(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/type-id': 0.1.15(typescript@6.0.3)(zod@4.6.6) '@ipld/dag-cbor': 10.0.2 '@noble/curves': 2.4.0 transitivePeerDependencies: @@ -4350,9 +4565,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/eip6963@1.1.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/eip6963@1.1.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4360,11 +4575,11 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/joy-id@1.2.6(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/joy-id@1.2.6(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@joyid/ckb': 1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.5) - '@joyid/common': 0.2.2(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@joyid/ckb': 1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.6) + '@joyid/common': 0.2.2(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4372,12 +4587,12 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/libp2p@0.3.2(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/libp2p@0.3.2(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@libp2p/interface': 3.3.0 - '@libp2p/interface-internal': 3.1.13 - '@libp2p/utils': 7.4.1 + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@libp2p/interface': 3.4.0 + '@libp2p/interface-internal': 3.2.2 + '@libp2p/utils': 7.4.5 '@multiformats/multiaddr': 13.0.3 it-length-prefixed: 11.0.1 transitivePeerDependencies: @@ -4387,9 +4602,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/nip07@1.1.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/nip07@1.1.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4397,11 +4612,11 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/okx@1.2.6(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/okx@1.2.6(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/nip07': 1.1.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/uni-sat': 1.2.6(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/nip07': 1.1.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/uni-sat': 1.2.6(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4409,9 +4624,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/rei@1.1.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/rei@1.1.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4419,14 +4634,14 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/shell@1.3.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/shell@1.3.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/did-ckb': 0.2.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/spore': 1.6.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/ssri': 0.4.5(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/type-id': 0.1.15(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/udt': 0.2.15(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/did-ckb': 0.2.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/spore': 1.6.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/ssri': 0.4.5(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/type-id': 0.1.15(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/udt': 0.2.15(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - debug @@ -4436,9 +4651,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/spore@1.6.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/spore@1.6.15(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) axios: 1.20.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) transitivePeerDependencies: - bufferutil @@ -4449,9 +4664,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/ssri@0.4.5(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/ssri@0.4.5(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4459,9 +4674,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/type-id@0.1.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/type-id@0.1.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4469,10 +4684,10 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/udt@0.2.15(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/udt@0.2.15(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - '@ckb-ccc/ssri': 0.4.5(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + '@ckb-ccc/ssri': 0.4.5(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4480,9 +4695,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/uni-sat@1.2.6(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/uni-sat@1.2.6(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4490,9 +4705,9 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/utxo-global@1.2.6(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/utxo-global@1.2.6(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) transitivePeerDependencies: - bufferutil - encoding @@ -4500,10 +4715,10 @@ snapshots: - utf-8-validate - zod - '@ckb-ccc/xverse@1.2.6(typescript@6.0.3)(zod@4.6.5)': + '@ckb-ccc/xverse@1.2.6(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.5) - bitcoinjs-lib: 7.0.2(typescript@6.0.3) + '@ckb-ccc/core': 1.23.0(typescript@6.0.3)(zod@4.6.6) + bitcoinjs-lib: 7.0.4(typescript@6.0.3) valibot: 1.5.0(typescript@6.0.3) transitivePeerDependencies: - bufferutil @@ -4533,15 +4748,15 @@ snapshots: tslib: 2.8.1 optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.8.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))': + '@eslint-community/eslint-plugin-eslint-comments@4.8.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))': dependencies: escape-string-regexp: 4.0.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) - ignore: 7.0.11 + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) + ignore: 7.0.13 - '@eslint-community/eslint-utils@4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))': dependencies: - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -4562,14 +4777,14 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/css-tree@4.1.1': + '@eslint/css-tree@4.1.2': dependencies: - mdn-data: 2.35.0 + mdn-data: 2.37.2 source-map-js: 1.2.2 - '@eslint/js@10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))': + '@eslint/js@10.0.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))': optionalDependencies: - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) '@eslint/object-schema@3.0.5': {} @@ -4596,7 +4811,7 @@ snapshots: '@ipld/dag-cbor@10.0.2': dependencies: - cborg: 6.1.3 + cborg: 6.1.4 multiformats: 14.0.5 '@isaacs/ttlcache@1.4.1': {} @@ -4610,13 +4825,13 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.6.3 + '@types/node': 26.6.5 '@types/yargs': 17.0.35 chalk: 4.1.2 - '@joyid/ckb@1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.5)': + '@joyid/ckb@1.1.4(patch_hash=d19be4b61698e780a6eb914cf2d654b06b0f8ef49c5e78dc7c68475063355424)(typescript@6.0.3)(zod@4.6.6)': dependencies: - '@joyid/common': 0.2.2(typescript@6.0.3)(zod@4.6.5) + '@joyid/common': 0.2.2(typescript@6.0.3)(zod@4.6.6) '@nervosnetwork/ckb-sdk-utils': 0.109.5 cross-fetch: 4.0.0 uncrypto: 0.1.3 @@ -4625,9 +4840,9 @@ snapshots: - typescript - zod - '@joyid/common@0.2.2(typescript@6.0.3)(zod@4.6.5)': + '@joyid/common@0.2.2(typescript@6.0.3)(zod@4.6.6)': dependencies: - abitype: 0.8.7(typescript@6.0.3)(zod@4.6.5) + abitype: 0.8.7(typescript@6.0.3)(zod@4.6.6) type-fest: 4.6.0 transitivePeerDependencies: - typescript @@ -4667,30 +4882,30 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@libp2p/circuit-relay-v2@4.2.13': + '@libp2p/circuit-relay-v2@4.2.17': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/interface-internal': 3.1.13 - '@libp2p/peer-collections': 7.0.28 - '@libp2p/peer-id': 6.0.15 - '@libp2p/peer-record': 9.0.16 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/interface-internal': 3.2.2 + '@libp2p/peer-collections': 7.0.32 + '@libp2p/peer-id': 6.0.18 + '@libp2p/peer-record': 9.0.19 + '@libp2p/utils': 7.4.5 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 any-signal: 4.2.0 main-event: 1.0.5 multiformats: 14.0.5 - nanoid: 6.0.1 + nanoid: 6.0.2 progress-events: 1.1.0 protons-runtime: 7.1.2 retimeable-signal: 1.0.1 uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/crypto@5.1.23': + '@libp2p/crypto@5.2.0': dependencies: - '@libp2p/interface': 3.3.0 + '@libp2p/interface': 3.4.0 '@noble/curves': 2.4.0 '@noble/hashes': 2.4.0 multiformats: 14.0.5 @@ -4698,14 +4913,14 @@ snapshots: uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/identify@4.1.14': + '@libp2p/identify@4.1.18': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/interface-internal': 3.1.13 - '@libp2p/peer-id': 6.0.15 - '@libp2p/peer-record': 9.0.16 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/interface-internal': 3.2.2 + '@libp2p/peer-id': 6.0.18 + '@libp2p/peer-record': 9.0.19 + '@libp2p/utils': 7.4.5 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 it-drain: 3.0.12 @@ -4715,14 +4930,14 @@ snapshots: uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/interface-internal@3.1.13': + '@libp2p/interface-internal@3.2.2': dependencies: - '@libp2p/interface': 3.3.0 - '@libp2p/peer-collections': 7.0.28 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-collections': 7.0.32 '@multiformats/multiaddr': 13.0.3 progress-events: 1.1.0 - '@libp2p/interface@3.3.0': + '@libp2p/interface@3.4.0': dependencies: '@multiformats/dns': 1.0.15 '@multiformats/multiaddr': 13.0.3 @@ -4731,41 +4946,41 @@ snapshots: progress-events: 1.1.0 uint8arraylist: 3.0.2 - '@libp2p/keychain@6.1.7': + '@libp2p/keychain@6.1.10': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 '@noble/hashes': 2.4.0 - asn1js: 3.0.10 + asn1js: 3.1.0 interface-datastore: 10.0.1 multiformats: 14.0.5 sanitize-filename: 1.6.4 uint8arrays: 6.1.1 - '@libp2p/logger@6.2.13': + '@libp2p/logger@6.2.16': dependencies: - '@libp2p/interface': 3.3.0 + '@libp2p/interface': 3.4.0 '@multiformats/multiaddr': 13.0.3 interface-datastore: 10.0.1 multiformats: 14.0.5 weald: 1.1.3 - '@libp2p/multistream-select@7.0.28': + '@libp2p/multistream-select@7.0.32': dependencies: - '@libp2p/interface': 3.3.0 - '@libp2p/utils': 7.4.1 + '@libp2p/interface': 3.4.0 + '@libp2p/utils': 7.4.5 it-length-prefixed: 11.0.1 uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/noise@17.0.3': + '@libp2p/noise@17.0.7': dependencies: '@chainsafe/as-chacha20poly1305': 0.1.0 '@chainsafe/as-sha256': 1.2.5 - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/peer-id': 6.0.15 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-id': 6.0.18 + '@libp2p/utils': 7.4.5 '@noble/ciphers': 2.4.0 '@noble/curves': 2.4.0 '@noble/hashes': 2.4.0 @@ -4774,25 +4989,25 @@ snapshots: uint8arrays: 6.1.1 wherearewe: 2.0.1 - '@libp2p/peer-collections@7.0.28': + '@libp2p/peer-collections@7.0.32': dependencies: - '@libp2p/interface': 3.3.0 - '@libp2p/peer-id': 6.0.15 - '@libp2p/utils': 7.4.1 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-id': 6.0.18 + '@libp2p/utils': 7.4.5 multiformats: 14.0.5 - '@libp2p/peer-id@6.0.15': + '@libp2p/peer-id@6.0.18': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 multiformats: 14.0.5 uint8arrays: 6.1.1 - '@libp2p/peer-record@9.0.16': + '@libp2p/peer-record@9.0.19': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/peer-id': 6.0.15 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-id': 6.0.18 '@multiformats/multiaddr': 13.0.3 multiformats: 14.0.5 protons-runtime: 7.1.2 @@ -4800,13 +5015,13 @@ snapshots: uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/peer-store@12.0.28': + '@libp2p/peer-store@12.0.32': dependencies: - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/peer-collections': 7.0.28 - '@libp2p/peer-id': 6.0.15 - '@libp2p/peer-record': 9.0.16 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/peer-collections': 7.0.32 + '@libp2p/peer-id': 6.0.18 + '@libp2p/peer-record': 9.0.19 '@multiformats/multiaddr': 13.0.3 interface-datastore: 10.0.1 it-all: 3.0.11 @@ -4817,17 +5032,17 @@ snapshots: uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/utils@7.4.1': + '@libp2p/utils@7.4.5': dependencies: '@chainsafe/is-ip': 2.1.0 '@chainsafe/netmask': 2.0.0 - '@libp2p/interface': 3.3.0 - '@libp2p/logger': 6.2.13 + '@libp2p/interface': 3.4.0 + '@libp2p/logger': 6.2.16 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 '@sindresorhus/fnv1a': 3.1.0 any-signal: 4.2.0 - cborg: 6.1.3 + cborg: 6.1.4 delay: 7.0.0 is-loopback-addr: 2.1.0 it-length-prefixed: 11.0.1 @@ -4837,7 +5052,7 @@ snapshots: main-event: 1.0.5 netmask: 2.1.1 p-defer: 4.0.1 - p-event: 7.1.1 + p-event: 8.0.1 progress-events: 1.1.0 protons-runtime: 7.1.2 race-signal: 2.0.2 @@ -4845,20 +5060,20 @@ snapshots: uint8arraylist: 3.0.2 uint8arrays: 6.1.1 - '@libp2p/webrtc@6.0.33(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2)': + '@libp2p/webrtc@6.1.0(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: '@chainsafe/is-ip': 2.1.0 - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/interface-internal': 3.1.13 - '@libp2p/keychain': 6.1.7 - '@libp2p/noise': 17.0.3 - '@libp2p/peer-id': 6.0.15 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/interface-internal': 3.2.2 + '@libp2p/keychain': 6.1.10 + '@libp2p/noise': 17.0.7 + '@libp2p/peer-id': 6.0.18 + '@libp2p/utils': 7.4.5 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 '@peculiar/webcrypto': 1.7.1 - '@peculiar/x509': 2.1.0 + '@peculiar/x509': 2.2.0 get-port: 7.2.0 interface-datastore: 10.0.1 it-length-prefixed: 11.0.1 @@ -4875,7 +5090,7 @@ snapshots: progress-events: 1.1.0 protons-runtime: 7.1.2 race-signal: 2.0.2 - react-native-webrtc: 124.0.8(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2) + react-native-webrtc: 124.0.8(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2) reflect-metadata: 0.2.2 uint8-varint: 3.0.0 uint8arraylist: 3.0.2 @@ -4884,15 +5099,15 @@ snapshots: - react-native - supports-color - '@libp2p/websockets@10.1.21': + '@libp2p/websockets@10.1.25': dependencies: - '@libp2p/interface': 3.3.0 - '@libp2p/utils': 7.4.1 + '@libp2p/interface': 3.4.0 + '@libp2p/utils': 7.4.5 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 '@multiformats/multiaddr-to-uri': 12.0.0 main-event: 1.0.5 - p-event: 7.1.1 + p-event: 8.0.1 progress-events: 1.1.0 uint8arraylist: 3.0.2 uint8arrays: 6.1.1 @@ -4911,26 +5126,26 @@ snapshots: dependencies: '@lit-labs/ssr-dom-shim': 1.6.0 - '@microsoft/api-extractor-model@7.33.14(@types/node@22.20.4)': + '@microsoft/api-extractor-model@7.33.15(@types/node@26.6.5)': dependencies: '@microsoft/tsdoc': 0.17.1 '@microsoft/tsdoc-config': 0.18.3 - '@rushstack/node-core-library': 5.25.0(@types/node@22.20.4) + '@rushstack/node-core-library': 5.25.1(@types/node@26.6.5) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.59.3(@types/node@22.20.4)': + '@microsoft/api-extractor@7.59.4(@types/node@26.6.5)': dependencies: - '@microsoft/api-extractor-model': 7.33.14(@types/node@22.20.4) + '@microsoft/api-extractor-model': 7.33.15(@types/node@26.6.5) '@microsoft/tsdoc': 0.17.1 '@microsoft/tsdoc-config': 0.18.3 - '@rushstack/node-core-library': 5.25.0(@types/node@22.20.4) - '@rushstack/rig-package': 0.7.3 - '@rushstack/terminal': 0.24.6(@types/node@22.20.4) - '@rushstack/ts-command-line': 5.3.16(@types/node@22.20.4) + '@rushstack/node-core-library': 5.25.1(@types/node@26.6.5) + '@rushstack/rig-package': 0.7.4 + '@rushstack/terminal': 0.24.7(@types/node@26.6.5) + '@rushstack/ts-command-line': 5.3.17(@types/node@26.6.5) diff: 8.0.4 minimatch: 10.2.3 - resolve: 1.22.12 + resolve: 1.22.13 semver: 7.7.4 source-map: 0.6.1 typescript: 5.9.3 @@ -4942,16 +5157,16 @@ snapshots: '@microsoft/tsdoc': 0.17.1 ajv: 8.18.0 jju: 1.4.0 - resolve: 1.22.12 + resolve: 1.22.13 '@microsoft/tsdoc@0.17.1': {} '@multiformats/dns@1.0.15': dependencies: '@dnsquery/dns-packet': 6.1.1 - '@libp2p/interface': 3.3.0 + '@libp2p/interface': 3.4.0 hashlru: 2.3.0 - p-queue: 9.3.3 + p-queue: 9.3.5 progress-events: 1.1.0 uint8arrays: 6.1.1 @@ -4970,7 +5185,7 @@ snapshots: uint8-varint: 3.0.0 uint8arrays: 6.1.1 - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 '@emnapi/runtime': 1.11.2 @@ -5030,66 +5245,66 @@ snapshots: '@node-datachannel/win32-x64-msvc@0.33.4': optional: true - '@oxc-parser/binding-android-arm-eabi@0.150.0': + '@oxc-parser/binding-android-arm-eabi@0.154.0': optional: true - '@oxc-parser/binding-android-arm64@0.150.0': + '@oxc-parser/binding-android-arm64@0.154.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.150.0': + '@oxc-parser/binding-darwin-arm64@0.154.0': optional: true - '@oxc-parser/binding-darwin-x64@0.150.0': + '@oxc-parser/binding-darwin-x64@0.154.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.150.0': + '@oxc-parser/binding-freebsd-x64@0.154.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.150.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.154.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.150.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.154.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.150.0': + '@oxc-parser/binding-linux-arm64-gnu@0.154.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.150.0': + '@oxc-parser/binding-linux-arm64-musl@0.154.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.150.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.154.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.150.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.154.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.150.0': + '@oxc-parser/binding-linux-riscv64-musl@0.154.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.150.0': + '@oxc-parser/binding-linux-s390x-gnu@0.154.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.150.0': + '@oxc-parser/binding-linux-x64-gnu@0.154.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.150.0': + '@oxc-parser/binding-linux-x64-musl@0.154.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.150.0': + '@oxc-parser/binding-openharmony-arm64@0.154.0': optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.150.0': + '@oxc-parser/binding-win32-arm64-msvc@0.154.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.150.0': + '@oxc-parser/binding-win32-ia32-msvc@0.154.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.150.0': + '@oxc-parser/binding-win32-x64-msvc@0.154.0': optional: true - '@oxc-project/types@0.150.0': {} + '@oxc-project/types@0.154.0': {} - '@oxc-project/types@0.152.0': {} + '@oxc-project/types@0.155.0': {} '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -5143,7 +5358,7 @@ snapshots: dependencies: '@emnapi/core': 1.11.2 '@emnapi/runtime': 1.11.2 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optional: true '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': @@ -5152,153 +5367,153 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.24.2': optional: true - '@oxc-transform-react/binding-android-arm-eabi@0.152.0': + '@oxc-transform-react/binding-android-arm-eabi@0.155.0': optional: true - '@oxc-transform-react/binding-android-arm64@0.152.0': + '@oxc-transform-react/binding-android-arm64@0.155.0': optional: true - '@oxc-transform-react/binding-darwin-arm64@0.152.0': + '@oxc-transform-react/binding-darwin-arm64@0.155.0': optional: true - '@oxc-transform-react/binding-darwin-x64@0.152.0': + '@oxc-transform-react/binding-darwin-x64@0.155.0': optional: true - '@oxc-transform-react/binding-freebsd-x64@0.152.0': + '@oxc-transform-react/binding-freebsd-x64@0.155.0': optional: true - '@oxc-transform-react/binding-linux-arm-gnueabihf@0.152.0': + '@oxc-transform-react/binding-linux-arm-gnueabihf@0.155.0': optional: true - '@oxc-transform-react/binding-linux-arm-musleabihf@0.152.0': + '@oxc-transform-react/binding-linux-arm-musleabihf@0.155.0': optional: true - '@oxc-transform-react/binding-linux-arm64-gnu@0.152.0': + '@oxc-transform-react/binding-linux-arm64-gnu@0.155.0': optional: true - '@oxc-transform-react/binding-linux-arm64-musl@0.152.0': + '@oxc-transform-react/binding-linux-arm64-musl@0.155.0': optional: true - '@oxc-transform-react/binding-linux-ppc64-gnu@0.152.0': + '@oxc-transform-react/binding-linux-ppc64-gnu@0.155.0': optional: true - '@oxc-transform-react/binding-linux-riscv64-gnu@0.152.0': + '@oxc-transform-react/binding-linux-riscv64-gnu@0.155.0': optional: true - '@oxc-transform-react/binding-linux-riscv64-musl@0.152.0': + '@oxc-transform-react/binding-linux-riscv64-musl@0.155.0': optional: true - '@oxc-transform-react/binding-linux-s390x-gnu@0.152.0': + '@oxc-transform-react/binding-linux-s390x-gnu@0.155.0': optional: true - '@oxc-transform-react/binding-linux-x64-gnu@0.152.0': + '@oxc-transform-react/binding-linux-x64-gnu@0.155.0': optional: true - '@oxc-transform-react/binding-linux-x64-musl@0.152.0': + '@oxc-transform-react/binding-linux-x64-musl@0.155.0': optional: true - '@oxc-transform-react/binding-openharmony-arm64@0.152.0': + '@oxc-transform-react/binding-openharmony-arm64@0.155.0': optional: true - '@oxc-transform-react/binding-win32-arm64-msvc@0.152.0': + '@oxc-transform-react/binding-win32-arm64-msvc@0.155.0': optional: true - '@oxc-transform-react/binding-win32-ia32-msvc@0.152.0': + '@oxc-transform-react/binding-win32-ia32-msvc@0.155.0': optional: true - '@oxc-transform-react/binding-win32-x64-msvc@0.152.0': + '@oxc-transform-react/binding-win32-x64-msvc@0.155.0': optional: true - '@peculiar/asn1-asym-key@2.10.0': + '@peculiar/asn1-asym-key@2.11.0': dependencies: - '@peculiar/asn1-pkcs8': 2.10.0 - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-pkcs8': 2.11.0 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-cms@2.10.0': + '@peculiar/asn1-cms@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - '@peculiar/asn1-x509-attr': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + '@peculiar/asn1-x509-attr': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-csr@2.10.0': + '@peculiar/asn1-csr@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-ecc@2.10.0': + '@peculiar/asn1-ecc@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-pfx@2.10.0': + '@peculiar/asn1-pfx@2.11.0': dependencies: - '@peculiar/asn1-cms': 2.10.0 - '@peculiar/asn1-pkcs8': 2.10.0 - '@peculiar/asn1-rsa': 2.10.0 - '@peculiar/asn1-schema': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-cms': 2.11.0 + '@peculiar/asn1-pkcs8': 2.11.0 + '@peculiar/asn1-rsa': 2.11.0 + '@peculiar/asn1-schema': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-pkcs8@2.10.0': + '@peculiar/asn1-pkcs8@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-pkcs9@2.10.0': + '@peculiar/asn1-pkcs9@2.11.0': dependencies: - '@peculiar/asn1-cms': 2.10.0 - '@peculiar/asn1-pfx': 2.10.0 - '@peculiar/asn1-pkcs8': 2.10.0 - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - '@peculiar/asn1-x509-attr': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-cms': 2.11.0 + '@peculiar/asn1-pfx': 2.11.0 + '@peculiar/asn1-pkcs8': 2.11.0 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + '@peculiar/asn1-x509-attr': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-rsa@2.10.0': + '@peculiar/asn1-rsa@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-schema@2.10.0': + '@peculiar/asn1-schema@2.11.0': dependencies: '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-x509-attr@2.10.0': + '@peculiar/asn1-x509-attr@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-x509-post-quantum@2.10.0': + '@peculiar/asn1-x509-post-quantum@2.11.0': dependencies: - '@peculiar/asn1-asym-key': 2.10.0 - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - asn1js: 3.0.10 + '@peculiar/asn1-asym-key': 2.11.0 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + asn1js: 3.1.0 tslib: 2.8.1 - '@peculiar/asn1-x509@2.10.0': + '@peculiar/asn1-x509@2.11.0': dependencies: - '@peculiar/asn1-schema': 2.10.0 + '@peculiar/asn1-schema': 2.11.0 '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 + asn1js: 3.1.0 tslib: 2.8.1 '@peculiar/json-schema@1.1.12': @@ -5311,22 +5526,22 @@ snapshots: '@peculiar/webcrypto@1.7.1': dependencies: - '@peculiar/asn1-schema': 2.10.0 + '@peculiar/asn1-schema': 2.11.0 '@peculiar/json-schema': 1.1.12 '@peculiar/utils': 2.0.3 tslib: 2.8.1 webcrypto-core: 1.9.2 - '@peculiar/x509@2.1.0': + '@peculiar/x509@2.2.0': dependencies: - '@peculiar/asn1-cms': 2.10.0 - '@peculiar/asn1-csr': 2.10.0 - '@peculiar/asn1-ecc': 2.10.0 - '@peculiar/asn1-pkcs9': 2.10.0 - '@peculiar/asn1-rsa': 2.10.0 - '@peculiar/asn1-schema': 2.10.0 - '@peculiar/asn1-x509': 2.10.0 - '@peculiar/asn1-x509-post-quantum': 2.10.0 + '@peculiar/asn1-cms': 2.11.0 + '@peculiar/asn1-csr': 2.11.0 + '@peculiar/asn1-ecc': 2.11.0 + '@peculiar/asn1-pkcs9': 2.11.0 + '@peculiar/asn1-rsa': 2.11.0 + '@peculiar/asn1-schema': 2.11.0 + '@peculiar/asn1-x509': 2.11.0 + '@peculiar/asn1-x509-post-quantum': 2.11.0 pvtsutils: 1.3.6 tslib: 2.8.1 tsyringe: 4.10.0 @@ -5335,22 +5550,23 @@ snapshots: dependencies: tinyexec: 1.3.1 - '@react-native/asset-utils@0.87.1': {} + '@react-native/asset-utils@0.88.0': {} - '@react-native/codegen@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))': + '@react-native/codegen@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/parser': 7.29.9 - hermes-parser: 0.36.1 + flow-parser: 0.327.0 invariant: 2.2.4 nullthrows: 1.1.1 tinyglobby: 0.2.17 yargs: 17.7.3 - '@react-native/community-cli-plugin@0.87.1(supports-color@10.2.2)': + '@react-native/community-cli-plugin@0.88.0(supports-color@10.2.2)': dependencies: - '@react-native/asset-utils': 0.87.1 - '@react-native/dev-middleware': 0.87.1(supports-color@10.2.2) + '@react-native/asset-utils': 0.88.0 + '@react-native/dev-middleware': 0.88.0(supports-color@10.2.2) + commander: 12.1.0 debug: 4.4.3(supports-color@10.2.2) invariant: 2.2.4 metro: 0.87.1(supports-color@10.2.2) @@ -5360,9 +5576,9 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.87.1': {} + '@react-native/debugger-frontend@0.88.0': {} - '@react-native/debugger-shell@0.87.1(supports-color@10.2.2)': + '@react-native/debugger-shell@0.88.0(supports-color@10.2.2)': dependencies: cross-spawn: 7.0.6 debug: 4.4.3(supports-color@10.2.2) @@ -5370,18 +5586,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/dev-middleware@0.87.1(supports-color@10.2.2)': + '@react-native/dev-middleware@0.88.0(supports-color@10.2.2)': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.87.1 - '@react-native/debugger-shell': 0.87.1(supports-color@10.2.2) - chrome-launcher: 0.15.2(supports-color@10.2.2) - chromium-edge-launcher: 0.3.0(supports-color@10.2.2) + '@react-native/debugger-frontend': 0.88.0 + '@react-native/debugger-shell': 0.88.0(supports-color@10.2.2) connect: 3.7.0(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2) invariant: 2.2.4 nullthrows: 1.1.1 - open: 7.4.2 + open: 8.4.2 serve-static: 1.16.3(supports-color@10.2.2) ws: 7.5.13 transitivePeerDependencies: @@ -5389,67 +5603,67 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.87.1': {} + '@react-native/gradle-plugin@0.88.0': {} - '@react-native/normalize-colors@0.87.1': {} + '@react-native/normalize-colors@0.88.0': {} - '@react-native/virtualized-lists@0.87.1(@types/react@19.3.0)(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0)': + '@react-native/virtualized-lists@0.88.0(@types/react@19.3.0)(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 19.3.0 - react-native: 0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2) + react: 19.3.1 + react-native: 0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2) optionalDependencies: '@types/react': 19.3.0 - '@rolldown/binding-android-arm-eabi@1.2.12': + '@rolldown/binding-android-arm-eabi@1.2.15': optional: true - '@rolldown/binding-android-arm64@1.2.12': + '@rolldown/binding-android-arm64@1.2.15': optional: true - '@rolldown/binding-darwin-arm64@1.2.12': + '@rolldown/binding-darwin-arm64@1.2.15': optional: true - '@rolldown/binding-darwin-x64@1.2.12': + '@rolldown/binding-darwin-x64@1.2.15': optional: true - '@rolldown/binding-freebsd-x64@1.2.12': + '@rolldown/binding-freebsd-x64@1.2.15': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.12': + '@rolldown/binding-linux-arm-gnueabihf@1.2.15': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.12': + '@rolldown/binding-linux-arm64-gnu@1.2.15': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.12': + '@rolldown/binding-linux-arm64-musl@1.2.15': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.12': + '@rolldown/binding-linux-ppc64-gnu@1.2.15': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.12': + '@rolldown/binding-linux-s390x-gnu@1.2.15': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.12': + '@rolldown/binding-linux-x64-gnu@1.2.15': optional: true - '@rolldown/binding-linux-x64-musl@1.2.12': + '@rolldown/binding-linux-x64-musl@1.2.15': optional: true - '@rolldown/binding-openharmony-arm64@1.2.12': + '@rolldown/binding-openharmony-arm64@1.2.15': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.12': + '@rolldown/binding-win32-arm64-msvc@1.2.15': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.12': + '@rolldown/binding-win32-x64-msvc@1.2.15': optional: true '@rolldown/pluginutils@1.0.1': {} - '@rushstack/node-core-library@5.25.0(@types/node@22.20.4)': + '@rushstack/node-core-library@5.25.1(@types/node@26.6.5)': dependencies: ajv: 8.20.0 ajv-draft-04: 1.0.0(ajv@8.20.0) @@ -5457,31 +5671,31 @@ snapshots: fs-extra: 11.3.6 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.12 + resolve: 1.22.13 semver: 7.7.4 optionalDependencies: - '@types/node': 22.20.4 + '@types/node': 26.6.5 - '@rushstack/problem-matcher@0.2.1(@types/node@22.20.4)': + '@rushstack/problem-matcher@0.2.1(@types/node@26.6.5)': optionalDependencies: - '@types/node': 22.20.4 + '@types/node': 26.6.5 - '@rushstack/rig-package@0.7.3': + '@rushstack/rig-package@0.7.4': dependencies: jju: 1.4.0 - resolve: 1.22.12 + resolve: 1.22.13 - '@rushstack/terminal@0.24.6(@types/node@22.20.4)': + '@rushstack/terminal@0.24.7(@types/node@26.6.5)': dependencies: - '@rushstack/node-core-library': 5.25.0(@types/node@22.20.4) - '@rushstack/problem-matcher': 0.2.1(@types/node@22.20.4) + '@rushstack/node-core-library': 5.25.1(@types/node@26.6.5) + '@rushstack/problem-matcher': 0.2.1(@types/node@26.6.5) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.20.4 + '@types/node': 26.6.5 - '@rushstack/ts-command-line@5.3.16(@types/node@22.20.4)': + '@rushstack/ts-command-line@5.3.17(@types/node@26.6.5)': dependencies: - '@rushstack/terminal': 0.24.6(@types/node@22.20.4) + '@rushstack/terminal': 0.24.7(@types/node@26.6.5) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -5555,19 +5769,21 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + '@tailwindcss/vite@4.3.3(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) - '@tanstack/query-core@5.104.0': {} + '@tanstack/query-core@5.104.5': {} - '@tanstack/react-query@5.104.0(react@19.3.0)': + '@tanstack/react-query@5.104.5(@types/react@19.3.0)(react@19.3.1)': dependencies: - '@tanstack/query-core': 5.104.0 - react: 19.3.0 + '@tanstack/query-core': 5.104.5 + react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 '@tybys/wasm-util@0.10.4': dependencies: @@ -5581,6 +5797,10 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} '@types/esrecurse@4.3.1': {} @@ -5599,15 +5819,13 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@22.20.4': - dependencies: - undici-types: 6.21.0 + '@types/ms@2.1.0': {} '@types/node@22.7.5': dependencies: undici-types: 6.19.8 - '@types/node@26.6.3': + '@types/node@26.6.5': dependencies: undici-types: 8.9.0 @@ -5627,30 +5845,30 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/type-utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) - ignore: 7.0.11 + '@typescript-eslint/parser': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/type-utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.72.0 + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) + ignore: 7.0.13 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.72.0 debug: 4.4.3(supports-color@10.2.2) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -5664,10 +5882,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.71.0(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/project-service@8.72.0(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 debug: 4.4.3(supports-color@10.2.2) typescript: 6.0.3 transitivePeerDependencies: @@ -5678,26 +5896,26 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - '@typescript-eslint/scope-manager@8.71.0': + '@typescript-eslint/scope-manager@8.72.0': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/visitor-keys': 8.72.0 '@typescript-eslint/tsconfig-utils@8.56.1(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/tsconfig-utils@8.71.0(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.72.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) debug: 4.4.3(supports-color@10.2.2) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: @@ -5705,7 +5923,7 @@ snapshots: '@typescript-eslint/types@8.56.1': {} - '@typescript-eslint/types@8.71.0': {} + '@typescript-eslint/types@8.72.0': {} '@typescript-eslint/typescript-estree@8.56.1(supports-color@10.2.2)(typescript@6.0.3)': dependencies: @@ -5722,12 +5940,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.71.0(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.72.0(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.71.0(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/project-service': 8.72.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/visitor-keys': 8.72.0 debug: 4.4.3(supports-color@10.2.2) minimatch: 10.2.6 semver: 7.8.5 @@ -5737,24 +5955,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/utils@8.56.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(supports-color@10.2.2)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + '@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(supports-color@10.2.2)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@10.2.2)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -5764,9 +5982,9 @@ snapshots: '@typescript-eslint/types': 8.56.1 eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.71.0': + '@typescript-eslint/visitor-keys@8.72.0': dependencies: - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/types': 8.72.0 eslint-visitor-keys: 5.0.1 '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260707.2': @@ -5800,38 +6018,38 @@ snapshots: '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260707.2 '@typescript/native-preview-win32-x64': 7.0.0-dev.20260707.2 - '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: - vite: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) - '@vitejs/plugin-react@6.1.1(oxc-transform-react@0.152.0)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + '@vitejs/plugin-react@6.1.2(oxc-transform-react@0.155.0)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) optionalDependencies: - oxc-transform-react: 0.152.0 + oxc-transform-react: 0.155.0 - '@vitest/coverage-v8@5.0.3(vitest@5.0.3)': + '@vitest/coverage-v8@5.0.5(vitest@5.0.5)': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/istanbul-lib-coverage': 1.0.2 '@vitest/istanbul-lib-report': 1.0.2 ast-v8-to-istanbul: 1.0.7 magicast: 0.5.5 - obug: 2.2.1 + obug: 3.0.0 std-env: 4.3.0 tinyrainbow: 3.2.0 - vitest: 5.0.3(@types/node@22.20.4)(@vitest/coverage-v8@5.0.3)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.0.5(@types/node@26.6.5)(@vitest/coverage-v8@5.0.5)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) - '@vitest/eslint-plugin@1.6.27(@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(vitest@5.0.3)': + '@vitest/eslint-plugin@1.6.28(@typescript-eslint/eslint-plugin@8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)(vitest@5.0.5)': dependencies: - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) typescript: 6.0.3 - vitest: 5.0.3(@types/node@22.20.4)(@vitest/coverage-v8@5.0.3)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.0.5(@types/node@26.6.5)(@vitest/coverage-v8@5.0.5)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) transitivePeerDependencies: - supports-color @@ -5841,22 +6059,22 @@ snapshots: dependencies: '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/mocker@5.0.3(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': + '@vitest/mocker@5.0.5(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 + '@vitest/spy': 5.0.5 estree-walker: 3.0.3 - magic-string: 1.4.2 + magic-string: 1.4.3 optionalDependencies: - vite: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) - '@vitest/spy@5.0.3': {} + '@vitest/spy@5.0.5': {} - abitype@0.8.7(typescript@6.0.3)(zod@4.6.5): + abitype@0.8.7(typescript@6.0.3)(zod@4.6.6): dependencies: typescript: 6.0.3 optionalDependencies: - zod: 4.6.5 + zod: 4.6.6 abort-error@1.0.2: {} @@ -5867,19 +6085,19 @@ snapshots: acorn-jsx-walk@2.0.0: {} - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 acorn-loose@8.5.2: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 acorn-walk@8.3.5: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 - acorn@8.18.0: {} + acorn@8.19.0: {} aes-js@4.0.0-beta.5: {} @@ -5909,14 +6127,14 @@ snapshots: ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.8 + fast-uri: 3.1.9 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.8 + fast-uri: 3.1.9 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -5938,7 +6156,7 @@ snapshots: asap@2.0.6: {} - asn1js@3.0.10: + asn1js@3.1.0: dependencies: pvtsutils: 1.3.6 pvutils: 1.2.0 @@ -5956,7 +6174,7 @@ snapshots: axios@1.20.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2)) + follow-redirects: 1.16.1(debug@4.4.3(supports-color@10.2.2)) form-data: 4.0.6 https-proxy-agent: 5.0.1(supports-color@10.2.2) proxy-from-env: 2.1.0 @@ -5964,17 +6182,13 @@ snapshots: - debug - supports-color - babel-plugin-syntax-hermes-parser@0.36.1: - dependencies: - hermes-parser: 0.36.1 - balanced-match@4.0.4: {} base-x@5.0.1: {} base64-js@1.5.1: {} - baseline-browser-mapping@2.11.26: {} + baseline-browser-mapping@2.11.31: {} bech32@2.0.0: {} @@ -5983,13 +6197,13 @@ snapshots: uint8array-tools: 0.0.10 varuint-bitcoin: 2.0.1 - bitcoinjs-lib@7.0.2(typescript@6.0.3): + bitcoinjs-lib@7.0.4(typescript@6.0.3): dependencies: '@noble/hashes': 1.8.0 bech32: 2.0.0 bip174: 3.0.1 bs58check: 4.0.0 - uint8array-tools: 0.0.9 + uint8array-tools: 0.0.10 valibot: 1.5.0(typescript@6.0.3) varuint-bitcoin: 2.0.1 transitivePeerDependencies: @@ -6007,13 +6221,13 @@ snapshots: brorand@1.1.0: {} - browserslist@4.29.3: + browserslist@4.29.4: dependencies: - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001814 - electron-to-chromium: 1.5.443 - node-releases: 2.0.57 - update-browserslist-db: 1.3.3(browserslist@4.29.3) + baseline-browser-mapping: 2.11.31 + caniuse-lite: 1.0.30001819 + electron-to-chromium: 1.5.463 + node-releases: 2.0.60 + update-browserslist-db: 1.3.4(browserslist@4.29.4) bs58@6.0.0: dependencies: @@ -6024,7 +6238,7 @@ snapshots: '@noble/hashes': 1.8.0 bs58: 6.0.0 - bser@2.1.1: + bser@2.1.2: dependencies: node-int64: 0.4.0 @@ -6051,9 +6265,9 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001814: {} + caniuse-lite@1.0.30001819: {} - cborg@6.1.3: {} + cborg@6.1.4: {} chai@6.3.0: {} @@ -6064,24 +6278,7 @@ snapshots: change-case@5.4.4: {} - chrome-launcher@0.15.2(supports-color@10.2.2): - dependencies: - '@types/node': 26.6.3 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2(supports-color@10.2.2) - transitivePeerDependencies: - - supports-color - - chromium-edge-launcher@0.3.0(supports-color@10.2.2): - dependencies: - '@types/node': 26.6.3 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2(supports-color@10.2.2) - mkdirp: 1.0.4 - transitivePeerDependencies: - - supports-color + character-entities@2.0.2: {} ci-info@3.9.0: {} @@ -6124,11 +6321,11 @@ snapshots: convert-source-map@2.0.0: {} - core-js-compat@3.50.0: + core-js-compat@3.51.0: dependencies: - browserslist: 4.29.3 + browserslist: 4.29.4 - core-js@3.50.0: {} + core-js@3.51.0: {} cross-fetch@4.0.0: dependencies: @@ -6146,7 +6343,7 @@ snapshots: datastore-core@12.0.1: dependencies: - '@libp2p/logger': 6.2.13 + '@libp2p/logger': 6.2.16 abort-error: 1.0.2 interface-datastore: 10.0.1 interface-store: 8.0.0 @@ -6176,8 +6373,14 @@ snapshots: optionalDependencies: supports-color: 10.2.2 + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + deep-is@0.1.4: {} + define-lazy-prop@2.0.0: {} + delay@7.0.0: dependencies: random-int: 3.1.0 @@ -6187,16 +6390,16 @@ snapshots: depd@2.0.0: {} - dependency-cruiser@18.5.0: + dependency-cruiser@18.7.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) acorn-jsx-walk: 2.0.0 acorn-loose: 8.5.2 acorn-walk: 8.3.5 commander: 15.0.0 enhanced-resolve: 5.26.0 - ignore: 7.0.11 + ignore: 7.0.12 interpret: 3.1.1 is-installed-globally: 1.0.1 json5: 2.2.3 @@ -6208,12 +6411,18 @@ snapshots: tsconfig-paths-webpack-plugin: 4.2.0 watskeburt: 6.0.0 + dequal@2.0.3: {} + destroy@1.2.0: {} detect-indent@7.0.2: {} detect-libc@2.1.2: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + diff@8.0.4: {} dunder-proto@1.0.1: @@ -6224,7 +6433,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.443: {} + electron-to-chromium@1.5.463: {} elliptic@6.6.1: dependencies: @@ -6276,33 +6485,33 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-plugin-promise@7.3.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)): + eslint-plugin-promise@7.3.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) - eslint-plugin-react-hooks@7.1.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): + eslint-plugin-react-hooks@7.1.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/parser': 7.29.9 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) hermes-parser: 0.25.1 - zod: 4.6.5 - zod-validation-error: 4.0.2(zod@4.6.5) + zod: 4.6.6 + zod-validation-error: 4.0.2(zod@4.6.6) transitivePeerDependencies: - supports-color - eslint-plugin-react-refresh@0.5.7(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)): + eslint-plugin-react-refresh@0.5.7(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) - eslint-plugin-regexp@3.3.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)): + eslint-plugin-regexp@3.3.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.9 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) - jsdoc-type-pratt-parser: 9.2.2 + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) + jsdoc-type-pratt-parser: 9.4.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 @@ -6311,13 +6520,13 @@ snapshots: dependencies: safe-regex: 2.1.1 - eslint-plugin-sonarjs@4.2.2(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)): + eslint-plugin-sonarjs@4.2.2(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: '@eslint-community/regexpp': 4.12.2 '@sonarsource/analyzer-commons-configurations': 2.31.0-5284 builtin-modules: 3.3.0 bytes: 3.1.2 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) functional-red-black-tree: 1.0.1 globals: 17.13.0 jsx-ast-utils-x: 0.1.0 @@ -6329,40 +6538,46 @@ snapshots: typescript: 6.0.3 yaml: 2.9.1 - eslint-plugin-tsdoc@0.5.4(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): + eslint-plugin-tsdoc@0.5.4(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): dependencies: '@microsoft/tsdoc': 0.17.1 '@microsoft/tsdoc-config': 0.18.3 - '@typescript-eslint/utils': 8.56.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) optionalDependencies: - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-unicorn@76.0.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)): + eslint-plugin-unicorn@78.0.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) - '@eslint/css-tree': 4.1.1 - browserslist: 4.29.3 + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) + '@eslint/css-tree': 4.1.2 + browserslist: 4.29.4 change-case: 5.4.4 ci-info: 4.4.0 - core-js-compat: 3.50.0 + core-js-compat: 3.51.0 detect-indent: 7.0.2 entities: 8.1.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) find-up-simple: 1.0.1 globals: 17.13.0 identifier-regex: 1.1.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 + micromark: 4.0.3(supports-color@10.2.2) + parse5: 8.0.1 pluralize: 8.0.0 quote-js-string: 0.1.0 - regjsparser: 0.13.3 + regjsparser: 0.13.4 reserved-identifiers: 1.2.0 semver: 7.8.5 strip-indent: 4.1.1 yaml: 2.9.1 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color eslint-scope@9.1.2: dependencies: @@ -6375,9 +6590,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2): + eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5(supports-color@10.2.2) '@eslint/config-helpers': 0.7.0 @@ -6414,8 +6629,8 @@ snapshots: espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -6465,13 +6680,13 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.1.8: {} + fast-uri@3.1.9: {} fb-dotslash@0.5.8: {} - fb-watchman@2.0.2: + fb-watchman@2.0.4: dependencies: - bser: 2.1.1 + bser: 2.1.2 fd-package-json@2.0.0: dependencies: @@ -6518,13 +6733,19 @@ snapshots: flow-enums-runtime@0.0.6: {} + flow-estree@0.327.0: {} + flow-estree@0.331.0: {} + flow-parser@0.327.0: + dependencies: + flow-estree: 0.327.0 + flow-parser@0.331.0: dependencies: flow-estree: 0.331.0 - follow-redirects@1.16.0(debug@4.4.3(supports-color@10.2.2)): + follow-redirects@1.16.1(debug@4.4.3(supports-color@10.2.2)): optionalDependencies: debug: 4.4.3(supports-color@10.2.2) @@ -6536,10 +6757,10 @@ snapshots: hasown: 2.0.4 mime-types: 2.1.35 - formatly@0.7.1: + formatly@0.11.4: dependencies: fd-package-json: 2.0.0 - package-manager-detector: 1.8.0 + package-manager-detector: 1.9.0 fresh@0.5.2: {} @@ -6621,20 +6842,14 @@ snapshots: dependencies: function-bind: 1.1.2 - hermes-compiler@250829098.0.17: {} + hermes-compiler@260318099.0.4: {} hermes-estree@0.25.1: {} - hermes-estree@0.36.1: {} - hermes-parser@0.25.1: dependencies: hermes-estree: 0.25.1 - hermes-parser@0.36.1: - dependencies: - hermes-estree: 0.36.1 - hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 @@ -6673,7 +6888,9 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.11: {} + ignore@7.0.12: {} + + ignore@7.0.13: {} import-lazy@4.0.0: {} @@ -6839,7 +7056,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 26.6.3 + '@types/node': 26.6.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6856,7 +7073,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6873,45 +7090,44 @@ snapshots: jsc-safe-url@0.2.4: {} - jscpd-darwin-arm64@5.4.0: + jscpd-darwin-arm64@5.4.2: optional: true - jscpd-darwin-x64@5.4.0: + jscpd-darwin-x64@5.4.2: optional: true - jscpd-linux-arm64-gnu@5.4.0: + jscpd-linux-arm64-gnu@5.4.2: optional: true - jscpd-linux-arm64-musl@5.4.0: + jscpd-linux-arm64-musl@5.4.2: optional: true - jscpd-linux-x64-gnu@5.4.0: + jscpd-linux-x64-gnu@5.4.2: optional: true - jscpd-linux-x64-musl@5.4.0: + jscpd-linux-x64-musl@5.4.2: optional: true - jscpd-windows-arm64-msvc@5.4.0: + jscpd-windows-arm64-msvc@5.4.2: optional: true - jscpd-windows-x64-msvc@5.4.0: + jscpd-windows-x64-msvc@5.4.2: optional: true - jscpd@5.4.0: + jscpd@5.4.2: optionalDependencies: - jscpd-darwin-arm64: 5.4.0 - jscpd-darwin-x64: 5.4.0 - jscpd-linux-arm64-gnu: 5.4.0 - jscpd-linux-arm64-musl: 5.4.0 - jscpd-linux-x64-gnu: 5.4.0 - jscpd-linux-x64-musl: 5.4.0 - jscpd-windows-arm64-msvc: 5.4.0 - jscpd-windows-x64-msvc: 5.4.0 + jscpd-darwin-arm64: 5.4.2 + jscpd-darwin-x64: 5.4.2 + jscpd-linux-arm64-gnu: 5.4.2 + jscpd-linux-arm64-musl: 5.4.2 + jscpd-linux-x64-gnu: 5.4.2 + jscpd-linux-x64-musl: 5.4.2 + jscpd-windows-arm64-msvc: 5.4.2 + jscpd-windows-x64-msvc: 5.4.2 - jsdoc-type-pratt-parser@9.2.2: + jsdoc-type-pratt-parser@9.4.0: dependencies: '@types/estree': 1.0.9 - '@types/node': 26.6.3 jsesc@3.1.0: {} @@ -6937,21 +7153,20 @@ snapshots: kleur@3.0.3: {} - knip@6.39.0: + knip@6.42.1: dependencies: - fdir: 6.5.0(picomatch@4.0.7) - formatly: 0.7.1 + formatly: 0.11.4 get-tsconfig: 4.14.3 jiti: 2.7.0 - oxc-parser: 0.150.0 + oxc-parser: 0.154.0 oxc-resolver: 11.24.2 picomatch: 4.0.7 - smol-toml: 1.9.0 + smol-toml: 1.9.1 strip-json-comments: 5.0.3 tinyglobby: 0.2.17 - unbash: 4.0.12 + unbash: 6.0.1 yaml: 2.9.1 - zod: 4.6.5 + zod: 4.6.6 leven@3.1.0: {} @@ -6960,19 +7175,19 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libp2p@3.3.11: + libp2p@3.5.1: dependencies: '@chainsafe/is-ip': 2.1.0 '@chainsafe/netmask': 2.0.0 - '@libp2p/crypto': 5.1.23 - '@libp2p/interface': 3.3.0 - '@libp2p/interface-internal': 3.1.13 - '@libp2p/logger': 6.2.13 - '@libp2p/multistream-select': 7.0.28 - '@libp2p/peer-collections': 7.0.28 - '@libp2p/peer-id': 6.0.15 - '@libp2p/peer-store': 12.0.28 - '@libp2p/utils': 7.4.1 + '@libp2p/crypto': 5.2.0 + '@libp2p/interface': 3.4.0 + '@libp2p/interface-internal': 3.2.2 + '@libp2p/logger': 6.2.16 + '@libp2p/multistream-select': 7.0.32 + '@libp2p/peer-collections': 7.0.32 + '@libp2p/peer-id': 6.0.18 + '@libp2p/peer-store': 12.0.32 + '@libp2p/utils': 7.4.5 '@multiformats/dns': 1.0.15 '@multiformats/multiaddr': 13.0.3 '@multiformats/multiaddr-matcher': 3.0.2 @@ -6984,19 +7199,12 @@ snapshots: main-event: 1.0.5 multiformats: 14.0.5 p-defer: 4.0.1 - p-event: 7.1.1 + p-event: 8.0.1 p-retry: 8.0.1 progress-events: 1.1.0 race-signal: 2.0.2 uint8arrays: 6.1.1 - lighthouse-logger@1.4.2(supports-color@10.2.2): - dependencies: - debug: 2.6.9(supports-color@10.2.2) - marky: 1.3.0 - transitivePeerDependencies: - - supports-color - lightningcss-android-arm64@1.32.0: optional: true @@ -7131,7 +7339,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 - magic-string@1.4.2: + magic-string@1.4.3: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 @@ -7143,11 +7351,9 @@ snapshots: main-event@1.0.5: {} - marky@1.3.0: {} - math-intrinsics@1.1.0: {} - mdn-data@2.35.0: {} + mdn-data@2.37.2: {} memoize-one@5.2.1: {} @@ -7199,7 +7405,7 @@ snapshots: metro-file-map@0.87.1(supports-color@10.2.2): dependencies: debug: 4.4.3(supports-color@10.2.2) - fb-watchman: 2.0.2 + fb-watchman: 2.0.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 invariant: 2.2.4 @@ -7220,12 +7426,12 @@ snapshots: metro-runtime@0.87.1: dependencies: - '@babel/runtime': 7.29.7 + '@babel/runtime': 7.29.10 flow-enums-runtime: 0.0.6 metro-source-map@0.87.1(supports-color@10.2.2): dependencies: - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) '@babel/types': 7.29.8 flow-enums-runtime: 0.0.6 invariant: 2.2.4 @@ -7251,7 +7457,7 @@ snapshots: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/generator': 7.29.8 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -7284,7 +7490,7 @@ snapshots: '@babel/generator': 7.29.8 '@babel/parser': 7.29.9 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/traverse': 7.29.10(supports-color@10.2.2) '@babel/types': 7.29.8 accepts: 2.0.0 connect: 3.7.0(supports-color@10.2.2) @@ -7321,6 +7527,138 @@ snapshots: - supports-color - utf-8-validate + micromark-core-commonmark@2.0.4: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.1.0 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-edit-map: 1.0.0 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-space@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.3 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-edit-map@1.0.0: + dependencies: + micromark-util-types: 2.0.3 + + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.3 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.3: {} + + micromark@4.0.3(supports-color@10.2.2): + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3(supports-color@10.2.2) + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-edit-map: 1.0.0 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + transitivePeerDependencies: + - supports-color + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -7354,8 +7692,6 @@ snapshots: minimist@1.2.8: {} - mkdirp@1.0.4: {} - mortice@3.3.1: dependencies: abort-error: 1.0.2 @@ -7376,9 +7712,9 @@ snapshots: multiformats@14.0.5: {} - nanoid@3.3.19: {} + nanoid@3.3.20: {} - nanoid@6.0.1: {} + nanoid@6.0.2: {} natural-compare@1.4.0: {} @@ -7408,7 +7744,9 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.57: {} + node-releases@2.0.60: {} + + node@runtime:26.12.1: {} nullthrows@1.1.1: {} @@ -7416,18 +7754,19 @@ snapshots: dependencies: flow-enums-runtime: 0.0.6 - obug@2.2.1: {} + obug@3.0.0: {} on-finished@2.3.0: dependencies: ee-first: 1.1.1 - on-finished@2.4.1: + on-finished@2.4.2: dependencies: ee-first: 1.1.1 - open@7.4.2: + open@8.4.2: dependencies: + define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 @@ -7440,29 +7779,29 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxc-parser@0.150.0: + oxc-parser@0.154.0: dependencies: - '@oxc-project/types': 0.150.0 + '@oxc-project/types': 0.154.0 optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.150.0 - '@oxc-parser/binding-android-arm64': 0.150.0 - '@oxc-parser/binding-darwin-arm64': 0.150.0 - '@oxc-parser/binding-darwin-x64': 0.150.0 - '@oxc-parser/binding-freebsd-x64': 0.150.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.150.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.150.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.150.0 - '@oxc-parser/binding-linux-arm64-musl': 0.150.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.150.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.150.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.150.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.150.0 - '@oxc-parser/binding-linux-x64-gnu': 0.150.0 - '@oxc-parser/binding-linux-x64-musl': 0.150.0 - '@oxc-parser/binding-openharmony-arm64': 0.150.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.150.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.150.0 - '@oxc-parser/binding-win32-x64-msvc': 0.150.0 + '@oxc-parser/binding-android-arm-eabi': 0.154.0 + '@oxc-parser/binding-android-arm64': 0.154.0 + '@oxc-parser/binding-darwin-arm64': 0.154.0 + '@oxc-parser/binding-darwin-x64': 0.154.0 + '@oxc-parser/binding-freebsd-x64': 0.154.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.154.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.154.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.154.0 + '@oxc-parser/binding-linux-arm64-musl': 0.154.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.154.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.154.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.154.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.154.0 + '@oxc-parser/binding-linux-x64-gnu': 0.154.0 + '@oxc-parser/binding-linux-x64-musl': 0.154.0 + '@oxc-parser/binding-openharmony-arm64': 0.154.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.154.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.154.0 + '@oxc-parser/binding-win32-x64-msvc': 0.154.0 oxc-resolver@11.24.2: optionalDependencies: @@ -7486,27 +7825,27 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 - oxc-transform-react@0.152.0: + oxc-transform-react@0.155.0: optionalDependencies: - '@oxc-transform-react/binding-android-arm-eabi': 0.152.0 - '@oxc-transform-react/binding-android-arm64': 0.152.0 - '@oxc-transform-react/binding-darwin-arm64': 0.152.0 - '@oxc-transform-react/binding-darwin-x64': 0.152.0 - '@oxc-transform-react/binding-freebsd-x64': 0.152.0 - '@oxc-transform-react/binding-linux-arm-gnueabihf': 0.152.0 - '@oxc-transform-react/binding-linux-arm-musleabihf': 0.152.0 - '@oxc-transform-react/binding-linux-arm64-gnu': 0.152.0 - '@oxc-transform-react/binding-linux-arm64-musl': 0.152.0 - '@oxc-transform-react/binding-linux-ppc64-gnu': 0.152.0 - '@oxc-transform-react/binding-linux-riscv64-gnu': 0.152.0 - '@oxc-transform-react/binding-linux-riscv64-musl': 0.152.0 - '@oxc-transform-react/binding-linux-s390x-gnu': 0.152.0 - '@oxc-transform-react/binding-linux-x64-gnu': 0.152.0 - '@oxc-transform-react/binding-linux-x64-musl': 0.152.0 - '@oxc-transform-react/binding-openharmony-arm64': 0.152.0 - '@oxc-transform-react/binding-win32-arm64-msvc': 0.152.0 - '@oxc-transform-react/binding-win32-ia32-msvc': 0.152.0 - '@oxc-transform-react/binding-win32-x64-msvc': 0.152.0 + '@oxc-transform-react/binding-android-arm-eabi': 0.155.0 + '@oxc-transform-react/binding-android-arm64': 0.155.0 + '@oxc-transform-react/binding-darwin-arm64': 0.155.0 + '@oxc-transform-react/binding-darwin-x64': 0.155.0 + '@oxc-transform-react/binding-freebsd-x64': 0.155.0 + '@oxc-transform-react/binding-linux-arm-gnueabihf': 0.155.0 + '@oxc-transform-react/binding-linux-arm-musleabihf': 0.155.0 + '@oxc-transform-react/binding-linux-arm64-gnu': 0.155.0 + '@oxc-transform-react/binding-linux-arm64-musl': 0.155.0 + '@oxc-transform-react/binding-linux-ppc64-gnu': 0.155.0 + '@oxc-transform-react/binding-linux-riscv64-gnu': 0.155.0 + '@oxc-transform-react/binding-linux-riscv64-musl': 0.155.0 + '@oxc-transform-react/binding-linux-s390x-gnu': 0.155.0 + '@oxc-transform-react/binding-linux-x64-gnu': 0.155.0 + '@oxc-transform-react/binding-linux-x64-musl': 0.155.0 + '@oxc-transform-react/binding-openharmony-arm64': 0.155.0 + '@oxc-transform-react/binding-win32-arm64-msvc': 0.155.0 + '@oxc-transform-react/binding-win32-ia32-msvc': 0.155.0 + '@oxc-transform-react/binding-win32-x64-msvc': 0.155.0 p-defer@4.0.1: {} @@ -7514,6 +7853,10 @@ snapshots: dependencies: p-timeout: 7.0.2 + p-event@8.0.1: + dependencies: + p-timeout: 7.0.2 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -7522,7 +7865,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-queue@9.3.3: + p-queue@9.3.5: dependencies: eventemitter3: 5.0.4 p-timeout: 7.0.2 @@ -7535,7 +7878,11 @@ snapshots: p-wait-for@6.0.0: {} - package-manager-detector@1.8.0: {} + package-manager-detector@1.9.0: {} + + parse5@8.0.1: + dependencies: + entities: 8.1.0 parseurl@1.3.3: {} @@ -7553,26 +7900,26 @@ snapshots: pluralize@8.0.0: {} - postcss@8.5.28: + postcss@8.5.31: dependencies: - nanoid: 3.3.19 + nanoid: 3.3.20 picocolors: 1.1.1 source-map-js: 1.2.2 prelude-ls@1.2.1: {} - prettier-plugin-organize-imports@4.3.0(prettier@3.9.9)(typescript@6.0.3): + prettier-plugin-organize-imports@4.3.0(prettier@3.9.10)(typescript@6.0.3): dependencies: - prettier: 3.9.9 + prettier: 3.9.10 typescript: 6.0.3 - prettier-plugin-tailwindcss@0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.9)(typescript@6.0.3))(prettier@3.9.9): + prettier-plugin-tailwindcss@0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.10)(typescript@6.0.3))(prettier@3.9.10): dependencies: - prettier: 3.9.9 + prettier: 3.9.10 optionalDependencies: - prettier-plugin-organize-imports: 4.3.0(prettier@3.9.9)(typescript@6.0.3) + prettier-plugin-organize-imports: 4.3.0(prettier@3.9.10)(typescript@6.0.3) - prettier@3.9.9: {} + prettier@3.9.10: {} pretty-format@29.7.0: dependencies: @@ -7605,10 +7952,10 @@ snapshots: proxy-from-env@2.1.0: {} - publint@0.3.24: + publint@0.3.25: dependencies: '@publint/pack': 0.1.7 - package-manager-detector: 1.8.0 + package-manager-detector: 1.9.0 picocolors: 1.1.1 sade: 1.8.1 @@ -7648,36 +7995,35 @@ snapshots: - bufferutil - utf-8-validate - react-dom@19.3.0(react@19.3.0): + react-dom@19.3.1(react@19.3.1): dependencies: - react: 19.3.0 + react: 19.3.1 scheduler: 0.28.0 react-is@18.3.1: {} - react-native-webrtc@124.0.8(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(supports-color@10.2.2): + react-native-webrtc@124.0.8(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: base64-js: 1.5.1 debug: 4.3.4(supports-color@10.2.2) - react-native: 0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2) + react-native: 0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2) transitivePeerDependencies: - supports-color - react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2): + react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2): dependencies: - '@react-native/asset-utils': 0.87.1 - '@react-native/codegen': 0.87.1(@babel/core@7.29.7(supports-color@10.2.2)) - '@react-native/community-cli-plugin': 0.87.1(supports-color@10.2.2) - '@react-native/gradle-plugin': 0.87.1 - '@react-native/normalize-colors': 0.87.1 - '@react-native/virtualized-lists': 0.87.1(@types/react@19.3.0)(react-native@0.87.1(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0) + '@react-native/asset-utils': 0.88.0 + '@react-native/codegen': 0.88.0(@babel/core@7.29.7(supports-color@10.2.2)) + '@react-native/community-cli-plugin': 0.88.0(supports-color@10.2.2) + '@react-native/gradle-plugin': 0.88.0 + '@react-native/normalize-colors': 0.88.0 + '@react-native/virtualized-lists': 0.88.0(@types/react@19.3.0)(react-native@0.88.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1) anser: 1.4.10 ansi-regex: 5.0.1 - babel-plugin-syntax-hermes-parser: 0.36.1 base64-js: 1.5.1 - commander: 12.1.0 flow-enums-runtime: 0.0.6 - hermes-compiler: 250829098.0.17 + flow-parser: 0.327.0 + hermes-compiler: 260318099.0.4 invariant: 2.2.4 memoize-one: 5.2.1 metro-runtime: 0.87.1 @@ -7685,11 +8031,11 @@ snapshots: nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 - react: 19.3.0 + react: 19.3.1 react-devtools-core: 6.1.5 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 - scheduler: 0.27.0 + scheduler: 0.28.0 semver: 7.8.5 stacktrace-parser: 0.1.11 tinyglobby: 0.2.17 @@ -7708,11 +8054,11 @@ snapshots: react-refresh@0.14.2: {} - react@19.3.0: {} + react@19.3.1: {} rechoir@0.8.0: dependencies: - resolve: 1.22.12 + resolve: 1.22.13 refa@0.12.1: dependencies: @@ -7729,7 +8075,7 @@ snapshots: regexp-tree@0.1.27: {} - regjsparser@0.13.3: + regjsparser@0.13.4: dependencies: jsesc: 3.1.0 @@ -7741,7 +8087,7 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.12: + resolve@1.22.13: dependencies: es-errors: 1.3.0 is-core-module: 2.17.0 @@ -7750,26 +8096,26 @@ snapshots: retimeable-signal@1.0.1: {} - rolldown@1.2.12: + rolldown@1.2.15: dependencies: - '@oxc-project/types': 0.152.0 + '@oxc-project/types': 0.155.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.12 - '@rolldown/binding-android-arm64': 1.2.12 - '@rolldown/binding-darwin-arm64': 1.2.12 - '@rolldown/binding-darwin-x64': 1.2.12 - '@rolldown/binding-freebsd-x64': 1.2.12 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.12 - '@rolldown/binding-linux-arm64-gnu': 1.2.12 - '@rolldown/binding-linux-arm64-musl': 1.2.12 - '@rolldown/binding-linux-ppc64-gnu': 1.2.12 - '@rolldown/binding-linux-s390x-gnu': 1.2.12 - '@rolldown/binding-linux-x64-gnu': 1.2.12 - '@rolldown/binding-linux-x64-musl': 1.2.12 - '@rolldown/binding-openharmony-arm64': 1.2.12 - '@rolldown/binding-win32-arm64-msvc': 1.2.12 - '@rolldown/binding-win32-x64-msvc': 1.2.12 + '@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 sade@1.8.1: dependencies: @@ -7783,8 +8129,6 @@ snapshots: dependencies: truncate-utf8-bytes: 1.0.2 - scheduler@0.27.0: {} - scheduler@0.28.0: {} scslre@0.3.0: @@ -7811,7 +8155,7 @@ snapshots: http-errors: 2.0.1 mime: 1.6.0 ms: 2.1.3 - on-finished: 2.4.1 + on-finished: 2.4.2 range-parser: 1.2.1 statuses: 2.0.2 transitivePeerDependencies: @@ -7840,7 +8184,7 @@ snapshots: sisteransi@1.0.5: {} - smol-toml@1.9.0: {} + smol-toml@1.9.1: {} source-map-js@1.2.2: {} @@ -7904,13 +8248,13 @@ snapshots: terser@5.51.2: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.18.0 + acorn: 8.19.0 commander: 2.20.3 source-map-support: 0.5.21 throat@5.0.0: {} - tinybench@6.2.0: {} + tinybench@6.2.2: {} tinyexec@1.3.1: {} @@ -7970,13 +8314,13 @@ snapshots: type-fest@4.6.0: {} - typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): + typescript-eslint@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.71.0(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@10.2.2) + '@typescript-eslint/eslint-plugin': 8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/parser': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@10.2.2) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -7999,8 +8343,6 @@ snapshots: uint8array-tools@0.0.10: {} - uint8array-tools@0.0.9: {} - uint8arraylist@2.4.9: dependencies: uint8arrays: 5.1.1 @@ -8017,14 +8359,12 @@ snapshots: dependencies: multiformats: 14.0.5 - unbash@4.0.12: {} + unbash@6.0.1: {} uncrypto@0.1.3: {} undici-types@6.19.8: {} - undici-types@6.21.0: {} - undici-types@8.9.0: {} universalify@2.0.1: {} @@ -8033,9 +8373,9 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.3.3(browserslist@4.29.3): + update-browserslist-db@1.3.4(browserslist@4.29.4): dependencies: - browserslist: 4.29.3 + browserslist: 4.29.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -8057,39 +8397,39 @@ snapshots: dependencies: uint8array-tools: 0.0.10 - vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1): + vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.12 + postcss: 8.5.31 + rolldown: 1.2.15 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 22.20.4 + '@types/node': 26.6.5 fsevents: 2.3.3 jiti: 2.7.0 terser: 5.51.2 yaml: 2.9.1 - vitest@5.0.3(@types/node@22.20.4)(@vitest/coverage-v8@5.0.3)(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): + vitest@5.0.5(@types/node@26.6.5)(@vitest/coverage-v8@5.0.5)(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) + '@vitest/mocker': 5.0.5(vite@8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1)) chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 1.4.2 - obug: 2.2.1 + magic-string: 1.4.3 + obug: 3.0.0 picomatch: 4.0.7 std-env: 4.3.0 - tinybench: 6.2.0 + tinybench: 6.2.2 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 8.3.2(@types/node@22.20.4)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) + vite: 8.3.5(@types/node@26.6.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.1) why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 22.20.4 - '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) + '@types/node': 26.6.5 + '@vitest/coverage-v8': 5.0.5(vitest@5.0.5) transitivePeerDependencies: - msw @@ -8106,10 +8446,10 @@ snapshots: webcrypto-core@1.9.2: dependencies: - '@peculiar/asn1-schema': 2.10.0 + '@peculiar/asn1-schema': 2.11.0 '@peculiar/json-schema': 1.1.12 '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 + asn1js: 3.1.0 tslib: 2.8.1 webidl-conversions@3.0.1: {} @@ -8163,8 +8503,8 @@ snapshots: yocto-queue@0.1.0: {} - zod-validation-error@4.0.2(zod@4.6.5): + zod-validation-error@4.0.2(zod@4.6.6): dependencies: - zod: 4.6.5 + zod: 4.6.6 - zod@4.6.5: {} + zod@4.6.6: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1371a328..60db45c9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,60 +9,61 @@ audit: # Unpatched upstream: @joyid/ckb -> @nervosnetwork/ckb-sdk-utils -> elliptic # (CVE-2025-14505; pnpm 11+ filters by GHSA only). - GHSA-848j-6mx2-7j84 - # No patched version exists. image-size sits under Metro, React Native's build tool, - # pulled in by @ckb-ccc/connector 2.x through @libp2p/webrtc -> react-native-webrtc; it - # never runs in the browser bundle. - - GHSA-w3rx-r6r6-pgpr - - GHSA-5p2g-fcmc-qvqq - # No patched version exists. braces sits under the same React Native chain. - - GHSA-vfj7-8cjw-p6xm - # No patched version exists. sprintf-js sits under @microsoft/api-extractor's argparse, - # a build-time tool that only parses its own command line. - - GHSA-hp3w-g68c-fv3c overrides: # Security pins for vulnerable transitive ranges not yet lifted by upstreams. axios@>=1.0.0 <1.20.0: 1.20.0 brace-expansion@>=5.0.0 <5.0.12: 5.0.12 - esbuild@>=0.27.3 <0.28.1: 0.28.1 - fast-uri@>=3.0.0 <3.1.8: 3.1.8 + fast-uri@>=3.0.0 <3.1.9: 3.1.9 + follow-redirects@>=1.16.0 <1.16.1: 1.16.1 form-data@>=4.0.0 <4.0.6: 4.0.6 nanoid@<3.3.18: 3.3.18 shell-quote@>=1.8.4 <1.11.0: 1.11.0 smol-toml@<1.9.0: 1.9.0 source-map-js@>=1.0.0 <1.2.2: 1.2.2 ws@>=8.0.0 <8.21.1: 8.21.1 + zod@<4.6.6: 4.6.6 # eslint-plugin-react-hooks imports this subpath, but pnpm can otherwise pick # 3.5.4 from its union range, which does not export `zod-validation-error/v4`. zod-validation-error@^3.5.0 || ^4.0.0: 4.0.2 # Keep CCC React connector on the app's React instance; otherwise pnpm may # auto-install a second peer copy and React hooks fail at runtime. - "@ckb-ccc/connector-react>react": 19.3.0 + "@ckb-ccc/connector-react>react": ^19.3.0 + +# The one hold, which silences every typescript release, patches included: 7 ships the +# native compiler only, without the JavaScript API that typescript-eslint +# (`typescript <6.1.0`) and scripts/tooling/dead-members.ts use. Drop the entry when +# typescript-eslint supports 7. +update: + ignoreDeps: + - typescript catalog: "@ckb-ccc/ccc": ^1.3.6 "@ckb-ccc/connector-react": ^2.2.2 "@ckb-ccc/core": ^1.23.0 - "@types/node": ~22.20.4 + "@types/node": ~26.6.5 + "@typescript/native-preview": 7.0.0-dev.20260707.2 -# Seven days. A freshly published patch cannot be installed until it matures, so a -# compromised release has time to be caught (user decision 2026-09-14; the three-day -# window that applied while the stack was unpublished was restored to this before the -# rewrite merged). -minimumReleaseAge: 10080 +# Three days. A freshly published release cannot be installed until it matures, so a +# compromised one has time to be caught; the wait is also how long a fix stays +# unadopted, and three days is what a pulled or regressed release needs to show (user +# decision 2026-10-25, back from the seven days chosen on 2026-09-14). +minimumReleaseAge: 4320 minimumReleaseAgeStrict: true +# A package whose registry metadata has no publish time fails resolution instead of +# skipping the age check, which pnpm has done by default since 11. +minimumReleaseAgeIgnoreMissingTime: false patchedDependencies: # JoyID only needs a standard fetch implementation, but 1.1.4 imports # cross-fetch, which loads node-fetch@2 and Node's deprecated builtin - # punycode during native source imports. Stack requires Node 22.19+ and + # punycode during native source imports. Stack requires Node 26+ and # modern browsers, so use globalThis.fetch until JoyID publishes this fix. # pnpm still resolves JoyID's original cross-fetch dependency in the lockfile; # scripts/test/build/native-source-smoke.ts guards the runtime path so it stays dormant. "@joyid/ckb@1.1.4": patches/@joyid__ckb@1.1.4.patch -# pnpm 12 refuses unreviewed build scripts. Neither is needed: esbuild runs from its -# platform package and core-js's postinstall only prints a funding notice; both were -# ignored with a warning under pnpm 10 and the gate was green. +# pnpm 12 refuses unreviewed build scripts. core-js's postinstall only prints a funding +# notice; it was ignored with a warning under pnpm 10 and the gate was green. allowBuilds: core-js: false - esbuild: false diff --git a/scripts/README.md b/scripts/README.md index 46e69943..0f67b4d9 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -10,7 +10,7 @@ Repository tooling, run from the root by the `package.json` scripts; nothing her ## What the gate enforces -[`CI=true pnpm check`](../package.json) runs the audit, full lint suite and interface build against installed dependencies. The lint suite includes typechecking, formatting, duplication, unused code, dependency boundaries, API and package checks, coverage and ESLint. +[`CI=true pnpm check`](../package.json) runs the full lint suite and interface build against installed dependencies; `pnpm fresh`, run on pull requests, holds the date-dependent checks that the root README's [dependency policy](../README.md#dependencies-and-checks) lists. The lint suite includes typechecking, formatting, duplication, unused code, dependency boundaries, API and package checks, coverage and ESLint. The custom ESLint rules sit beside their rationale in [`eslint.config.mts`](../eslint.config.mts): compare whole script identities, use one uncached paging loop, parse untyped input at its boundary, justify type assertions and keep `@__PURE__` annotations out of class static blocks. The last rule prevents the bundler from removing codec initialization while retaining the class. Other production restrictions keep test-only dependency bags and fallback implementations out of runtime APIs. General style and test-shape checks use established presets rather than another local metrics framework. diff --git a/scripts/tooling/pins.ts b/scripts/tooling/pins.ts new file mode 100644 index 00000000..2aa5c83a --- /dev/null +++ b/scripts/tooling/pins.ts @@ -0,0 +1,78 @@ +// Fails when the pinned Node major has a newer release that the Node project flags as a +// security release and that is old enough to trust. Nothing else audits the runtime: +// pnpm outdated does not report devEngines, and the resolver applies no release age to it. +import { readFile } from "node:fs/promises"; + +// Three days: long enough for a pulled or regressed release to show (user decision 2026-10-25). +const ACCEPTANCE_AGE_MS = 3 * 24 * 60 * 60 * 1000; + +const cutoff = Date.now() - ACCEPTANCE_AGE_MS; +const problems: string[] = []; + +const isRecord = (value: unknown): value is Record => + typeof value === "object" && value !== null; + +function text(value: unknown, key: string): string { + const found = isRecord(value) ? value[key] : undefined; + if (typeof found === "string") { + return found; + } + throw new TypeError(`${key} is not a string`); +} + +const parseVersion = (version: string): number[] => + version.replace(/^v/, "").split(".").map(Number); +const newer = (a: number[], b: number[]): boolean => { + const index = a.findIndex((part, at) => part !== (b[at] ?? 0)); + return index !== -1 && (a[index] ?? 0) > (b[index] ?? 0); +}; + +async function manifest(path: string): Promise { + const parsed: unknown = JSON.parse(await readFile(path, "utf8")); + return parsed; +} + +// The published SDK's engines floor is the pin's major; private packages run on the pin itself. +const root = await manifest("package.json"); +const devEngines = isRecord(root) ? root["devEngines"] : undefined; +const nodeVersion = text( + isRecord(devEngines) ? devEngines["runtime"] : undefined, + "version", +); +const pinned = parseVersion(nodeVersion); +const sdk = await manifest("sdk/package.json"); +const floor = text(isRecord(sdk) ? sdk["engines"] : undefined, "node"); +if (floor !== `>=${String(pinned[0])}`) { + problems.push( + `sdk/package.json: engines.node is "${floor}", devEngines pins ${nodeVersion}`, + ); +} + +const response = await fetch("https://nodejs.org/dist/index.json"); +if (!response.ok) { + throw new Error(`nodejs.org index: ${String(response.status)}`); +} +const releases: unknown = await response.json(); +if (!Array.isArray(releases)) { + throw new TypeError("nodejs.org index is not an array"); +} +for (const release of releases) { + if (!isRecord(release)) { + continue; + } + const version = text(release, "version"); + const date = text(release, "date"); + if ( + parseVersion(version)[0] === pinned[0] && + newer(parseVersion(version), pinned) && + release["security"] === true && + Date.parse(date) <= cutoff + ) { + problems.push(`Node ${version} (security, ${date}) supersedes ${nodeVersion}`); + } +} + +if (problems.length > 0) { + console.error(problems.join("\n")); + process.exitCode = 1; +} diff --git a/sdk/docs/pool_maturity_estimates.md b/sdk/docs/pool_maturity_estimates.md index e94411b3..5998fba3 100644 --- a/sdk/docs/pool_maturity_estimates.md +++ b/sdk/docs/pool_maturity_estimates.md @@ -44,4 +44,5 @@ The [SDK's direct-first completion walk](../README.md#transaction-completion) ch - In a thin pool with a sitting seller, removing assumed working capital can move the date to the next claim even if a bot could fill within a turn. This accepts a conservative date rather than maintaining a list of operator balances. - A buyer-side distress signal (a fillable buyer sitting for over a turn) is not modelled; add it only when a journal shows buyers sitting. - In-flight withdrawal requests are not read as a dated supply grade; the simpler policy was preferred. +- Under sustained selling the seller's date runs optimistic in three ways, none modelled: wallet plans request surplus deposits up to three days ahead (`WALLET_LOCK_UP`) while the bot looks one hour ahead, so those deposits never reach the order book; a deposit whose window passes while the bot is down rolls a cycle and the date jumps on the next refresh; and the bot withdraws at most its iCKB beyond the retained 20,000 per claim cluster, so a cluster larger than its float waits a cycle. A model change waits for a mainnet journal showing the gap. - The pool is read by direct scans, whose cost grows with the pool. A bot-written snapshot would need an explicit format identity, a writer, a reader, freshness and fallback rules; none exists yet. diff --git a/sdk/node/README.md b/sdk/node/README.md index c2d52b33..c0d5753a 100644 --- a/sdk/node/README.md +++ b/sdk/node/README.md @@ -30,7 +30,7 @@ The process owns the CCC client and disposes it at the end of the turn so open s ## Run -From a plain checkout, run `pnpm install` from the repo root. CCC is resolved as a normal package dependency, and the app runs from TypeScript source under Node 22.19+. The key file lives outside the checkout, in a private directory: +From a plain checkout, run `pnpm install` from the repo root. CCC is resolved as a normal package dependency, and the app runs from TypeScript source on the Node that `pnpm install` placed in `node_modules/node`. The key file lives outside the checkout, in a private directory: ```bash pnpm install @@ -130,11 +130,13 @@ pnpm --filter ./sdk/node stimulus ### Alerting -Neither program carries a notification channel: a run is one turn, and anything worth an operator's attention is a run of turns, which only the journal sees. Both journals are JSON lines with `type` and `timestamp` first, so a watcher is a pipe. Consecutive `bot.turn.failed` lines, or `bot.decision.skipped` lines whose `decision.match.reason` is `unfunded_gain`, are the two conditions worth forwarding; a `stale` count above zero in the generator's `orders` is a third. Put the destination in an environment file with mode `0600` next to the key, since a Telegram or ntfy URL carries the token, and let `curl` encode the message: +Neither program carries a notification channel: a run is one turn, and anything worth an operator's attention is a run of turns, which only the journal sees. A single `bot.turn.failed` is noise: a DNS or RPC failure ends the turn and the next one rebuilds from committed state. The conditions worth forwarding are silence, a run of failed turns, hours of `bot.decision.skipped` lines whose `decision.match.reason` is `unfunded_gain` (sellers are waiting and only CKB serves them before the next anchor), and a `stale` count above zero in the generator's `orders`. Silence is the one a watcher on the same host cannot see, since it dies with the host, so check it from another machine over SSH. Put the destination in an environment file with mode `0600` next to the key, since a Telegram or ntfy URL carries the token, and let `curl` encode the message: ```bash -journalctl -f --user -u ickb-bot-testnet.service -o cat | jq -R -c 'fromjson? | select(.type == "bot.turn.failed")' \ - | while read -r line; do curl -sG --data-urlencode "text=$line" "$ALERT_URL" >/dev/null; done +# From another host: the newest bot event must be under twenty minutes old. +last=$(ssh "$HOST" journalctl --user -u ickb-bot-testnet.service -o cat -n 1 | jq -r .timestamp) +[ $(( $(date +%s) - $(date -d "$last" +%s) )) -lt 1200 ] \ + || curl -sG --data-urlencode "text=bot silent since $last" "$ALERT_URL" >/dev/null ``` ### What the journals should show @@ -160,13 +162,15 @@ jq -r '"\(.outcome) \(.draw.kind // "-") \(.draw.direction // "-") \(.skip.reaso | Empty book | Nothing live | `match.reason` `no_market_orders` | unattended | | Deposit | Under 2,000 iCKB; or the tip's ring segment thin, with two deposits of CKB spendable | `core.kind` `deposit`, `rebalance.deposit` `low_ickb` or `ring_coverage` | operator: fund or drain the bot; wait for maturity | | Withdrawal requests | Over 120,000 iCKB with ready surplus deposits | `core.kind` `withdraw`, `core.withdrawalRequests`, `rebalance.withdrawal` | operator: fund the bot with iCKB; wait for maturity | -| Anchors under stress | Spendable CKB, in hand and in flight, under one deposit | `rebalance.withdrawal.stress` `true` | operator: drain the bot's CKB | +| Anchors under stress | CKB in hand and in flight, reserve included, under one deposit's cost | `rebalance.withdrawal.stress` `true` | operator: drain the bot's CKB | | Nothing fundable | No core, match, or collection completes | skip `no_fundable_candidate`, `core.attempts` | operator: a thin bot | ## systemd Deployment The actors run as the operator's user under systemd, from an ordinary git checkout with an absolute Node path. systemd 255 and later are supported. One hand-edited unit per network owns configuration; Git owns revisions. This trades per-network user isolation and atomic updates for a stopped-checkout update procedure. A root installer, release-directory swap or template/drop-in hierarchy would add deployment concepts without changing that operating model. +The host must stay up. The bot requests a deposit only while its claim is twenty to sixty minutes out ([`BOT_LOCK_UP`](../src/dao.ts)), so every deposit whose window passes while the bot or its node is down waits a full cycle, about thirty days, and the sellers it would have served wait with it. A suspended laptop, a reboot of forty minutes, or a node outage of that length costs exactly that; the node's availability bounds the bot's. A user unit cannot order itself after the system's network target, so the first turn after boot can fail on DNS and retries a minute later, which is harmless. + ### Host isolation A mode `0600` key file excludes other users, not other processes under the same UID. The operator sets the mode; the runtime does not check it. `LoadCredential` would copy the same user's readable file without creating another boundary, and local encryption without a separate key boundary would leave both on the same disk. @@ -190,13 +194,12 @@ systemctl --user enable --now ickb-bot-testnet.service journalctl --user -u ickb-bot-testnet.service -f -o cat ``` -`ExecStart` needs the absolute path of the node binary: the user manager never sees the shell PATH, and a version manager's per-shell link vanishes at logout, so point at the versioned install itself (`readlink -f "$(command -v node)"`). A literal `%` in any value must be written `%%`. Linger keeps the user manager running without a login session, so the unit survives logout and starts at boot. A mainnet bot unit is the same file with `mainnet` values and its own key file; the generator refuses any chain but testnet. +`ExecStart` needs the absolute path of the node binary: the user manager never sees the shell PATH. Point at the checkout's `node_modules/node/bin/node`, the version the lockfile pins, which `pnpm install` keeps current. A literal `%` in any value must be written `%%`. Linger keeps the user manager running without a login session, so the unit survives logout and starts at boot. A mainnet bot unit is the same file with `mainnet` values and its own key file; the generator refuses any chain but testnet. Operate the unit as usual: ```bash systemctl --user status ickb-bot-testnet.service -systemctl --user --failed systemctl --user restart ickb-bot-testnet.service ``` diff --git a/sdk/node/docs/policy.md b/sdk/node/docs/policy.md index 65ffa2b0..5c8cee78 100644 --- a/sdk/node/docs/policy.md +++ b/sdk/node/docs/policy.md @@ -44,9 +44,9 @@ The band is expressed in [`policy.ts`](../src/bot/policy.ts) in units of the 100 The ring spreads deposit maturities over a DAO cycle. It partitions the cycle into a power-of-two number of segments, one per two deposit caps of pool iCKB, and protects one anchor per occupied segment, preferring a non-ready deposit. Unlike fixed-width windows, segments shrink as the pool grows; doubling splits each old segment into two. -The count follows pool value, not deposit count, because a deposit created without iCKB Logic running carries no iCKB, so zero-value spam would multiply the segments. Two caps per segment leave room for the bot's own fills: a covered ring holds about one cap per segment, so with one cap per segment the fills after a doubling would double the ring again. A hysteresis on the count was rejected because user withdrawal plans need the ring to be a pure function of the pool. A value threshold on deposits was rejected because deposits just above it still inflate a count. Tiny non-ready deposits can still take a segment's anchor slot; the coverage rule repairs that segment with one deposit per cycle. Zero-value deposits are neither filtered from withdrawal chains nor sorted after valued ones: withdrawing one returns its 82 CKB occupied capacity, so a flood of them costs a withdrawer only the order fee on the iCKB they displace, under an eighth of what the flood costs its sender, and a value threshold is defeated by one shannon of free capacity. +The count follows pool value, not deposit count, because a deposit created without iCKB Logic running carries no iCKB, so zero-value spam would multiply the segments. Two caps per segment leave room for the bot's own fills: a covered ring holds about one cap per segment, so with one cap per segment the fills after a doubling would double the ring again. A hysteresis on the count was rejected because user withdrawal plans need the ring to be a pure function of the pool. A value threshold on deposits was rejected because deposits just above it still inflate a count. Tiny non-ready deposits can still take a segment's anchor slot; the coverage rule repairs that segment with one deposit per cycle, once the bot has two deposits of CKB spendable, which a bot drained by sellers does not have until demand turns. Zero-value deposits are neither filtered from withdrawal chains nor sorted after valued ones: withdrawing one returns its 82 CKB occupied capacity, so a flood of them costs a withdrawer only the order fee on the iCKB they displace, under an eighth of what the flood costs its sender, and a value threshold is defeated by one shannon of free capacity. -The bot keeps one deposit's cost, receipt included, in CKB beyond the reserve, so a cap-sized seller is served at once; a larger order is served in partials, and the tail follows as anchors mature. Under stress, when spendable CKB plus the bot's own requests in flight is under that line, ready anchors may be withdrawn too, surplus first, and the next matured request restores the line. Requests in flight count because they claim within the ready window; without them a second anchor went to the same dip. Taking an anchor can cost that segment its coverage for a cycle; the ring is a heuristic, not a liquidity guarantee. +The bot keeps one deposit's cost, receipt included, in CKB, the reserve counted in, so a cap-sized seller arriving at a quiet bot is served at once but for the tail the reserve covers; a larger order is served in partials, and the tail follows as anchors mature. With a queue, matured CKB goes to the best-priced sellers in the same transaction that collects it, so the line is the trigger for stress, not a balance the bot holds. Under stress, when CKB in hand plus the bot's own requests in flight is under that line, ready anchors may be withdrawn too, surplus first, and the next matured request restores the line. Requests in flight count because they claim within the ready window; without them a second anchor went to the same dip. The line counts the reserve because a matured cap anchor returns about the deposit's capacity, under its cost by the receipt and the fees: measured beyond the reserve, no single anchor ever restored it, each dip took a second anchor, and a quiet bot settled near two deposits of CKB, the line rejected below. Taking an anchor can cost that segment its coverage for a cycle; the ring is a heuristic, not a liquidity guarantee. A coverage deposit keeps that line, so it cannot cause stress: keeping only the reserve let stress withdraw the next segment's anchor and the matured CKB re-seed that segment, with the bot's CKB pinned at the reserve. A fraction of a deposit was rejected as the line because immediate service saturates at one; more than one deposit removes a seed from every levelling cycle and raises the funding floor for a tail partials already cover. The refill keeps only the reserve: a bot with one deposit of CKB and no iCKB gets CKB only from buyers, who need its iCKB. @@ -73,5 +73,5 @@ The bot waits up to two minutes so its journal can join a send to a commit. It r ## Operating assumptions - Prefer an exclusive node with `[indexer_v2] index_tx_pool = false`. With pool indexing on, a timed-out intent can be duplicated with disjoint inputs on a later turn. A public node is acceptable when the operator accepts that risk. -- Recommended funding is about 3.2 deposits of total value plus the reserve: 1.2 deposits of iCKB before withdrawal, one deposit's worth of CKB to refill, and one deposit's worth of CKB kept for sellers. Recompute the recommendation if the thresholds change. Below two deposits of CKB the bot matches, refills and sheds surplus but never seeds the ring; below one deposit of CKB it still matches what it can but may idle at its reserve. +- Recommended funding is about 3.2 deposits of total value plus the reserve: 1.2 deposits of iCKB before withdrawal, one deposit's worth of CKB to refill, and one deposit's worth of CKB kept for sellers. The stress line counts the reserve, but a coverage deposit needs two deposits of CKB beyond it, so the reserve stays on top. Recompute the recommendation if the thresholds change. Below two deposits of CKB the bot matches, refills and sheds surplus but never seeds the ring; below one deposit of CKB it still matches what it can but may idle at its reserve. - No process state has to be cleared after a failed turn, partial collection or reorg. Recovery still depends on the available inventory, chain state and market; it is not a promise to serve every order or to make an unfunded account progress. diff --git a/sdk/node/ickb-bot-testnet.service b/sdk/node/ickb-bot-testnet.service index e40a653b..2c946a93 100644 --- a/sdk/node/ickb-bot-testnet.service +++ b/sdk/node/ickb-bot-testnet.service @@ -9,7 +9,7 @@ Description=iCKB bot testnet Type=exec WorkingDirectory=/home/user/Projects/ickb/stack # The user manager does not see the shell PATH, so name the node binary by absolute path. -ExecStart=/home/user/.local/share/fnm/node-versions/v24.18.0/installation/bin/node sdk/node/src/bot.ts +ExecStart=/home/user/Projects/ickb/stack/node_modules/node/bin/node sdk/node/src/bot.ts Environment=BOT_CHAIN=testnet # The key stays in a 0600 file: unit files, `systemctl show`, and child processes all expose Environment values. Environment=BOT_PRIVATE_KEY_FILE=/home/user/.config/ickb-bot/testnet.key diff --git a/sdk/node/ickb-stimulus-testnet.service b/sdk/node/ickb-stimulus-testnet.service index 37086f01..01bb59a3 100644 --- a/sdk/node/ickb-stimulus-testnet.service +++ b/sdk/node/ickb-stimulus-testnet.service @@ -9,7 +9,7 @@ Description=iCKB stimulus generator testnet Type=exec WorkingDirectory=/home/user/Projects/ickb/stack # The user manager does not see the shell PATH, so name the node binary by absolute path. -ExecStart=/home/user/.local/share/fnm/node-versions/v24.18.0/installation/bin/node sdk/node/src/stimulus.ts +ExecStart=/home/user/Projects/ickb/stack/node_modules/node/bin/node sdk/node/src/stimulus.ts Environment=STIMULUS_CHAIN=testnet # The key stays in a 0600 file: unit files, `systemctl show`, and child processes all expose Environment values. Environment=STIMULUS_PRIVATE_KEY_FILE=/home/user/.config/ickb-bot/stimulus-testnet.key diff --git a/sdk/node/package.json b/sdk/node/package.json index 4b28c1be..1f233078 100644 --- a/sdk/node/package.json +++ b/sdk/node/package.json @@ -4,9 +4,6 @@ "description": "iCKB bot, testnet stimulus generator, and rate sampler", "private": true, "type": "module", - "engines": { - "node": ">=22.19.0" - }, "scripts": { "bot": "node src/bot.ts", "stimulus": "node src/stimulus.ts", diff --git a/sdk/node/src/bot/policy.ts b/sdk/node/src/bot/policy.ts index da49a2da..0d819a25 100644 --- a/sdk/node/src/bot/policy.ts +++ b/sdk/node/src/bot/policy.ts @@ -57,7 +57,7 @@ export interface RebalancePlan { candidates: IckbDepositCell[]; /** iCKB the requests may consume: the balance minus the retained buffer. */ budget: bigint; - /** Anchors were admitted because the bot's CKB, in hand or in flight, is under one deposit. */ + /** Anchors were admitted because the bot's CKB, in hand or in flight, reserve included, is under one deposit's cost. */ stress: boolean; }; ring: RingSummary; @@ -65,7 +65,7 @@ export interface RebalancePlan { /** * Refill under 2,000 iCKB keeping the reserve; seed the ring keeping one deposit more, the - * line stress restores. Withdraw ready surplus while over 120,000 iCKB, keeping 20,000; + * line stress restores, measured on total CKB. Withdraw ready surplus while over 120,000 iCKB, keeping 20,000; * anchors too under stress. Rationale in node/docs/policy.md. */ export function planRebalance(input: RebalanceInput): RebalancePlan { @@ -83,7 +83,10 @@ export function planRebalance(input: RebalanceInput): RebalancePlan { if (ickb > ICKB_WITHDRAW_ABOVE) { const ready = sortByClaim(readyDeposits(poolDeposits, tip, lockUp)); const isSurplus = ringSurplusDepositFilter(poolDeposits, ready); - const stress = spendable + pendingCkb < depositCost; + // Total CKB, reserve included: a matured cap anchor returns about the deposit's + // capacity, under its cost by the receipt and the fees, so a line beyond the reserve + // was never restored by one anchor and each dip took a second. The reserve is the slack. + const stress = ckb + pendingCkb < depositCost; const candidates = [ ...ready.filter(isSurplus), ...(stress ? ready.filter((deposit) => !isSurplus(deposit)) : []), diff --git a/sdk/node/test/bot/policy.ts b/sdk/node/test/bot/policy.ts index 6804005b..ca8f5df5 100644 --- a/sdk/node/test/bot/policy.ts +++ b/sdk/node/test/bot/policy.ts @@ -22,7 +22,13 @@ import { import { BOT_TIP, readyDeposit } from "./fixtures/bot.ts"; const TIP = BOT_TIP; -const DEPOSIT_COST = ccc.fixedPointFrom(100_300); +/** A cap-sized deposit's capacity and its receipt: what a deposit costs the bot. */ +const DEPOSIT_CAPACITY = ccc.fixedPointFrom(100_082); +const RECEIPT = ccc.fixedPointFrom(218); +const DEPOSIT_COST = DEPOSIT_CAPACITY + RECEIPT; +/** What a cap-sized withdrawal request carries beyond the deposit: its owner marker. */ +const OWNER_MARKER = ccc.fixedPointFrom(98); +const FEE = ccc.fixedPointFrom(1); /** Minutes in the nominal epoch: a whole number of these out is another ring segment. */ const EPOCH_MINUTES = 240n; @@ -132,12 +138,12 @@ describe("planRebalance withdrawal", () => { }); }); - it("admits anchors after the surplus only under stress, counting CKB in flight", () => { + it("admits anchors after the surplus only under stress, measured on total CKB in hand and in flight", () => { const surplus = readyDeposit("d1", ICKB_DEPOSIT_CAP); const anchor = readyDeposit("d2", ICKB_DEPOSIT_CAP + 1n); const stressed = input({ ickb: ICKB_WITHDRAW_ABOVE + 1n, - ckb: CKB_RESERVE + DEPOSIT_COST - 1n, + ckb: DEPOSIT_COST - 1n, poolDeposits: [anchor, surplus], }); @@ -145,13 +151,34 @@ describe("planRebalance withdrawal", () => { candidates: [surplus, anchor], stress: true, }); - expect( - planRebalance({ ...stressed, ckb: CKB_RESERVE + DEPOSIT_COST }).withdrawal, - ).toMatchObject({ candidates: [surplus], stress: false }); - expect(planRebalance({ ...stressed, pendingCkb: 1n }).withdrawal).toMatchObject({ + // The line counts the reserve: one deposit's cost in total CKB clears it. + expect(planRebalance({ ...stressed, ckb: DEPOSIT_COST }).withdrawal).toMatchObject({ candidates: [surplus], stress: false, }); + + // A cap anchor requested from the floor: the marker left the liquid cells and rides in + // flight with the deposit's capacity, which is under the cost by the receipt. The + // reserve is what keeps that request on the line. + const inFlight = { + ...stressed, + ckb: CKB_RESERVE - OWNER_MARKER - FEE, + pendingCkb: DEPOSIT_CAPACITY + OWNER_MARKER, + }; + expect(planRebalance(inFlight).withdrawal).toMatchObject({ + candidates: [surplus], + stress: false, + }); + // Matured: the same CKB in hand, less the fee, still clears the line. + expect( + planRebalance({ ...stressed, ckb: CKB_RESERVE + DEPOSIT_CAPACITY - FEE }) + .withdrawal, + ).toMatchObject({ candidates: [surplus], stress: false }); + // A half-cap anchor in flight does not. + expect( + planRebalance({ ...inFlight, pendingCkb: DEPOSIT_CAPACITY / 2n + OWNER_MARKER }) + .withdrawal, + ).toMatchObject({ candidates: [surplus, anchor], stress: true }); }); it("returns both moves when coverage and excess apply, and none without ready deposits", () => { diff --git a/sdk/package.json b/sdk/package.json index b4df675f..a0a68f35 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@ickb/sdk", - "version": "9000.0.0", + "version": "9000.0.1", "description": "iCKB SDK built on top of CCC", "keywords": [ "ickb", @@ -21,7 +21,7 @@ "sideEffects": false, "type": "module", "engines": { - "node": ">=22.19.0" + "node": ">=26" }, "main": "src/index.ts", "types": "src/index.ts", @@ -42,11 +42,11 @@ "lint:publish": "publint --strict --pack pnpm" }, "files": [ - "dist" + "dist", + "src" ], "publishConfig": { "access": "public", - "provenance": true, "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { @@ -60,6 +60,7 @@ "@ckb-ccc/core": "catalog:" }, "devDependencies": { - "@ickb/testkit": "workspace:*" + "@ickb/testkit": "workspace:*", + "@typescript/native-preview": "catalog:" } } diff --git a/sdk/test/utils/utils.ts b/sdk/test/utils/utils.ts index 5b6e5bc4..633119e8 100644 --- a/sdk/test/utils/utils.ts +++ b/sdk/test/utils/utils.ts @@ -74,9 +74,9 @@ describe("findCells", () => { const fullPage = Array.from({ length: defaultCellPageSize }, () => cell); const noCache = vi .spyOn(client, "findCellsPagedNoCache") - .mockImplementation(async (_key, _order, _limit, after) => { + .mockImplementation(async (_key, _order, _limit, after = "stuck") => { await Promise.resolve(); - return { cells: fullPage, lastCursor: after ?? "stuck" }; + return { cells: fullPage, lastCursor: after }; }); await expect( diff --git a/sdk/tsconfig.build.json b/sdk/tsconfig.build.json index ca89ac28..115e8f99 100644 --- a/sdk/tsconfig.build.json +++ b/sdk/tsconfig.build.json @@ -5,9 +5,7 @@ "removeComments": false, "rewriteRelativeImportExtensions": true, "rootDir": "src", - "outDir": "dist", - "sourceRoot": "../src" + "outDir": "dist" }, - "include": ["src"], - "exclude": ["src/**/*.test.ts", "src/**/*_test_support.ts"] + "include": ["src"] } diff --git a/testkit/package.json b/testkit/package.json index 7bcc32a1..c9570ca8 100644 --- a/testkit/package.json +++ b/testkit/package.json @@ -4,9 +4,6 @@ "private": true, "sideEffects": false, "type": "module", - "engines": { - "node": ">=22.19.0" - }, "main": "src/index.ts", "types": "src/index.ts", "exports": {