diff --git a/.changeset/migrate-monorepo-to-bun.md b/.changeset/migrate-monorepo-to-bun.md new file mode 100644 index 000000000..3fc201f1a --- /dev/null +++ b/.changeset/migrate-monorepo-to-bun.md @@ -0,0 +1,13 @@ +--- +"@sei-js/precompiles": major +"@sei-js/registry": major +"@sei-js/sei-global-wallet": major +"@sei-js/mcp-server": major +"@sei-js/create-sei": major +--- + +Migrate the monorepo to Bun and publish ESM-only packages. + +**Breaking:** all packages drop CommonJS (`require`) entry points and flatten `dist/`. Consumers must use ESM `import`. `@sei-js/precompiles` now ships an `exports` map with working `./ethers`, `./viem`, and `./precompiles` subpaths. `@sei-js/sei-global-wallet` keeps the `./solana` entrypoint. + +Install, build, and test with Bun (`bun install`, `bun run build`, `bun run test`). `@sei-js/mcp-server` now requires Node.js 20 or newer. The MCP server and precompiles development toolchain pin Viem to `2.37.2`, the last compatible release that includes `seiDevnet`. Generated apps target the new `@sei-js/precompiles` major. Packages continue to publish to npm via Changesets. diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 41af514e8..8d129d892 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -1,6 +1,13 @@ name: Checks -on: [push] +on: + push: + branches: [main] + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: build: @@ -9,27 +16,32 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 0 # Fetch the full history instead of a shallow clone + fetch-depth: 0 submodules: recursive - - uses: actions/setup-node@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - - name: Install pnpm - uses: pnpm/action-setup@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.14' - name: Install system dependencies run: sudo apt-get update && sudo apt-get install -y rsync - name: Install dependencies - run: pnpm install --frozen-lockfile + run: bun install --frozen-lockfile + + - name: Lint, Format & Type Check + run: bun run check - name: Build All Packages - run: pnpm build:all + run: bun run build - name: Test - run: pnpm test:all + run: bun run test - name: Validate Published Packages - run: pnpm lint:pack:all + run: bun run lint:pack:all diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 7817f9ad3..aaad0d649 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -2,49 +2,53 @@ name: Run & Upload Test Coverage on: push: - branches: - - main + branches: [main] pull_request: - branches: - - main - - feature/** jobs: run-tests: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - package: precompiles + flag: precompiles + - package: registry + flag: registry + - package: sei-global-wallet + flag: sei-global-wallet + - package: mcp-server + flag: mcp-server steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: 0 # Fetch the full history instead of a shallow clone + fetch-depth: 0 submodules: recursive - - name: Use Node.js + + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - - uses: browser-actions/setup-chrome@v1 - - run: chrome --version - - - name: Install pnpm - uses: pnpm/action-setup@v4 - - - name: Install system dependencies - run: sudo apt-get update && sudo apt-get install -y rsync + - uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.14' - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Build packages - run: pnpm build:all + run: bun install --frozen-lockfile - - name: Run Jest tests - run: pnpm test:coverage + - name: Run ${{ matrix.package }} tests with coverage + run: bun test --isolate --coverage --coverage-reporter=lcov --coverage-dir=coverage/${{ matrix.flag }} packages/${{ matrix.package }}/src - - name: Upload coverage reports to Codecov + - name: Upload ${{ matrix.package }} coverage to Codecov uses: codecov/codecov-action@v4 with: - files: '**/coverage-final.json' + files: coverage/${{ matrix.flag }}/lcov.info + flags: ${{ matrix.flag }} + name: ${{ matrix.flag }} + disable_search: true token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b0e55af93..85835f0ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,29 +26,29 @@ jobs: - name: Setup Node.js (for npm OIDC publishing) uses: actions/setup-node@v4 with: - node-version: '24' + node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - - name: Install pnpm - uses: pnpm/action-setup@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.14' - name: Install system dependencies run: sudo apt-get update && sudo apt-get install -y rsync - name: Install Dependencies - run: pnpm install --frozen-lockfile + run: bun install --frozen-lockfile - name: Build Packages - run: pnpm build:all + run: bun run build - name: Validate Published Packages - run: pnpm lint:pack:all + run: bun run lint:pack:all - name: Create Release Pull Request or Publish to npm id: changesets uses: changesets/action@v1 with: - # Release builds the packages and calls changeset publish - publish: pnpm release + publish: bun run release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 974a2afc3..c6b3d0687 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # testing packages/*/coverage +packages/*/coverage.json examples/ diff --git a/.nvmrc b/.nvmrc index 9a2a0e219..a45fd52cc 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20 +24 diff --git a/README.md b/README.md index 32652a2da..65d1d5dee 100644 --- a/README.md +++ b/README.md @@ -6,31 +6,39 @@ SeiJS is a monorepo that contains multiple NPM libraries for writing application SeiJS consists of smaller NPM packages within the @sei-js namespace. See the package READMEs below for usage details. -| Package | Description | -|---------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------| -| [@sei-js/precompiles](packages/precompiles) | Typescript library containing helper functions for interacting with Sei's precompile contracts. | -| [@sei-js/create-sei](packages/create-sei) | CLI Tool used to quickly spin up Sei Projects and dApps in either the cosmos or EVM ecosystem | -| [@sei-js/mcp-server](packages/mcp-server) | MCP server for interacting with Sei via LLM's and agents | -| [@sei-js/sei-global-wallet](packages/sei-global-wallet) | A global wallet conforming to EIP-6963 allowing for AA across dApps. | +| Package | Description | +| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | +| [@sei-js/precompiles](packages/precompiles) | Typescript library containing helper functions for interacting with Sei's precompile contracts. | +| [@sei-js/create-sei](packages/create-sei) | CLI Tool used to quickly spin up Sei Projects and dApps in either the cosmos or EVM ecosystem | +| [@sei-js/mcp-server](packages/mcp-server) | MCP server for interacting with Sei via LLM's and agents | +| [@sei-js/sei-global-wallet](packages/sei-global-wallet) | A global wallet conforming to EIP-6963 allowing for AA across dApps. | +| [@sei-js/registry](packages/registry) | TypeScript library for Sei chain constants and assets. | ## Development +This project uses [Bun](https://bun.sh) for package management, tests, and scripts. Packages are still published to npm as ESM-only libraries. + ### Prerequisites -This project uses Yarn 4.7.0 with Corepack for package management. To get started: +Install Bun 1.3.14: https://bun.sh/docs/installation + +Node.js 24 is pinned in `.nvmrc` for npm package validation and OIDC publishing; Bun remains the workspace package manager and test runner. + +### Install, build, test -1. **Enable Corepack** (if not already enabled): - ```bash - corepack enable - ``` +```bash +git submodule update --init --recursive +bun install +bun run build +bun run test +``` -2. **Install dependencies**: - ```bash - yarn install - ``` +Lint and format with Biome: -The correct Yarn version will be automatically used thanks to the `packageManager` field in `package.json` and Corepack. +```bash +bun run check +``` -### Building +### Publishing -To build all packages, run `pnpm install` then `pnpm build:all` +Releases still go through Changesets and publish to npm (OIDC). Merging to `main` opens a Version Packages PR; merging that publishes. diff --git a/REVIEW.md b/REVIEW.md index 22e4e8d8d..97c7cc6e4 100644 --- a/REVIEW.md +++ b/REVIEW.md @@ -1,7 +1,7 @@ # Review guidelines for AI agents Repo-specific conventions for automated PR review (Codex, Cursor, Claude, and -any other AI reviewer). This is a pnpm workspace that publishes five +any other AI reviewer). This is a Bun workspace that publishes five independently versioned `@sei-js/*` packages to npm, so a defect ships to every downstream dApp that upgrades rather than to a single deployment we control. Calibrate accordingly: a wrong precompile address or a weakened wallet guard is @@ -59,10 +59,9 @@ the code without releasing it, which is the common miss on this repo. Ask for a changeset when a published package's behaviour, types, or dependencies change. Docs-only, CI-only, and changes confined to `packages/create-sei/templates/**` generally don't need one, though the repo -has deliberately added patch changesets across all six packages for -release-note visibility (the `@asyncapi` pinning in `pnpm.overrides` is the -precedent). Absence of a changeset on that kind of PR is a question, not a -defect. +has deliberately added patch changesets across all five packages for +release-note visibility. Absence of a changeset on that kind of PR is a +question, not a defect. ## 4. Known non-issues — do not flag these @@ -88,22 +87,22 @@ defect. `submodules: recursive`; local source builds must initialize them explicitly. Their JSON is vendored upstream — review the TypeScript wrappers, not the data. -- **Biome findings are not enforced anywhere.** `biome.json` configures tabs, - 160-column lines, single quotes and no trailing commas, but no package - defines a `biome` script and `.github/workflows/checks.yml` runs only - `pnpm build:all` and `pnpm test:all`. Match the surrounding style; do not - file formatting-only findings as blocking. +- **Biome is enforced in CI.** `bun run check` runs in `.github/workflows/checks.yml` + with tabs, 160-column lines, single quotes and no trailing commas. Match that + style; formatting-only findings that `biome check` already catches do not + need a separate review comment. - **Test file naming is inconsistent across packages.** `mcp-server` and `create-sei` use `*.test.ts`; `precompiles`, `registry` and `sei-global-wallet` use `*.spec.ts` under `__tests__/`. Follow the convention of the package being changed rather than proposing a repo-wide rename. -- **`mcp-server` has no Codecov target.** `codecov.yml` defines 80% project - targets for the other four packages only. Thin coverage on an mcp-server PR - is worth mentioning on its merits, but it does not fail a gate. +- **`mcp-server` and `create-sei` have no Codecov target.** `codecov.yml` + defines 80% project targets for the three library packages with meaningful + source coverage. Thin coverage elsewhere is worth mentioning on its merits, + but it does not fail a gate. - **`noImplicitAny: false` in `tsconfig.base.json`.** This is a deliberate repo-wide setting. Flag an untyped value when it actually causes an unsound path, not because the compiler permitted it. -- **The `create-sei` templates are excluded from the root Biome config** and - carry their own toolchain. Do not apply root formatting rules to anything - under `packages/create-sei/templates/`. +- **The `create-sei` templates and extensions are excluded from the root Biome + config** and carry their own toolchain. Do not apply root formatting rules to + scaffold sources under `packages/create-sei/{templates,extensions}/`. diff --git a/biome.json b/biome.json index cd801888b..0f6e3e01f 100644 --- a/biome.json +++ b/biome.json @@ -1,26 +1,33 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "$schema": "https://biomejs.dev/schemas/2.5.8/schema.json", "vcs": { - "enabled": false, + "enabled": true, "clientKind": "git", - "useIgnoreFile": false + "useIgnoreFile": true }, "files": { "ignoreUnknown": false, - "ignore": ["*/coverage/*", "*/dist/*", "packages/create-sei/templates/**"] + "includes": [ + "**", + "!**/coverage", + "!**/dist", + "!**/node_modules", + "!**/bun.lock", + "!packages/create-sei/templates", + "!packages/create-sei/extensions", + "!packages/registry/chain-registry", + "!packages/registry/community-assetlist" + ] }, "formatter": { "enabled": true, "indentStyle": "tab", "lineWidth": 160 }, - "organizeImports": { - "enabled": true - }, "linter": { "enabled": true, "rules": { - "recommended": true, + "preset": "recommended", "correctness": { "useExhaustiveDependencies": "off" }, @@ -35,5 +42,32 @@ "jsxQuoteStyle": "double", "trailingCommas": "none" } - } + }, + "assist": { + "actions": { + "source": { + "organizeImports": "on" + } + } + }, + "overrides": [ + { + "includes": ["**/*.test.ts", "**/*.spec.ts", "**/__tests__/**", "**/tests/**"], + "linter": { + "rules": { + "suspicious": { + "noExplicitAny": "off" + }, + "style": { + "noNonNullAssertion": "off" + }, + "correctness": { + "noUnusedFunctionParameters": "off", + "noUnusedImports": "off", + "noUnusedVariables": "off" + } + } + } + } + ] } diff --git a/bun-test.d.ts b/bun-test.d.ts new file mode 100644 index 000000000..2d05212cf --- /dev/null +++ b/bun-test.d.ts @@ -0,0 +1,29 @@ +/// + +type BunTestFunction = (...args: never[]) => unknown; +type BunTestClass = abstract new (...args: never[]) => object; + +declare module 'bun:test' { + namespace jest { + type MockedFunction = Mock; + type MockedClass = T & Mock<(...args: ConstructorParameters) => InstanceType>; + type SpyInstance = Mock; + function mock(id: string, factory?: () => unknown): void | Promise; + } +} + +declare const test: typeof import('bun:test').test; +declare const it: typeof import('bun:test').it; +declare const describe: typeof import('bun:test').describe; +declare const expect: typeof import('bun:test').expect; +declare const beforeAll: typeof import('bun:test').beforeAll; +declare const beforeEach: typeof import('bun:test').beforeEach; +declare const afterEach: typeof import('bun:test').afterEach; +declare const afterAll: typeof import('bun:test').afterAll; +declare const jest: typeof import('bun:test').jest; + +declare namespace jest { + type Mock = import('bun:test').Mock; + type MockedFunction = import('bun:test').Mock; + type SpyInstance = import('bun:test').Mock; +} diff --git a/bun.lock b/bun.lock new file mode 100644 index 000000000..5f9294119 --- /dev/null +++ b/bun.lock @@ -0,0 +1,1439 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "sei-js", + "devDependencies": { + "@arethetypeswrong/cli": "0.18.5", + "@biomejs/biome": "^2.5.8", + "@changesets/cli": "^2.28.1", + "@types/bun": "^1.3.0", + "@types/node": "^22.13.13", + "esbuild": "^0.28.2", + "publint": "0.3.23", + "typescript": "^5.8.2", + }, + }, + "packages/create-sei": { + "name": "@sei-js/create-sei", + "version": "1.0.1", + "bin": "./dist/main.js", + "dependencies": { + "boxen": "^7.1.1", + "commander": "^12.1.0", + "inquirer": "^9.2.15", + }, + "devDependencies": { + "@types/node": "^20.14.10", + "typescript": "^5.5.3", + }, + }, + "packages/mcp-server": { + "name": "@sei-js/mcp-server", + "version": "0.3.3", + "bin": "./bin/mcp-server.js", + "dependencies": { + "@modelcontextprotocol/sdk": "^1.17.5", + "@noble/hashes": "^1.8.0", + "commander": "^14.0.0", + "cors": "^2.8.5", + "dotenv": "^16.5.0", + "express": "^4.21.2", + "viem": "2.37.2", + "zod": "^3.24.2", + }, + "devDependencies": { + "@types/cors": "^2.8.17", + "@types/express": "^5.0.0", + "typescript": "^5.8.3", + }, + }, + "packages/precompiles": { + "name": "@sei-js/precompiles", + "version": "2.1.3", + "devDependencies": { + "esbuild": "^0.28.2", + "ethers": "^6.0.0", + "typescript": "^5.8.2", + "viem": "2.37.2", + }, + "peerDependencies": { + "ethers": "^6.0.0", + "viem": "2.x", + }, + }, + "packages/registry": { + "name": "@sei-js/registry", + "version": "1.0.4", + "devDependencies": { + "esbuild": "^0.28.2", + "typescript": "^5.8.2", + }, + }, + "packages/sei-global-wallet": { + "name": "@sei-js/sei-global-wallet", + "version": "1.4.1", + "dependencies": { + "@dynamic-labs/global-wallet-client": "^4.60.1", + "@wallet-standard/wallet": "^1.1.0", + }, + "devDependencies": { + "@solana/wallet-standard-features": "^1.2.0", + "@solana/web3.js": "^1.92.1", + "typescript": "^5.7.3", + }, + "peerDependencies": { + "@dynamic-labs/ethereum-aa": "^4.15.0", + "@solana/wallet-standard-features": "^1.2.0", + "@solana/web3.js": "^1.92.1", + "@wallet-standard/base": "^1.0.1", + "@wallet-standard/features": "^1.0.3", + "@wallet-standard/wallet": "^1.1.0", + "@zerodev/sdk": "5.4.36", + "viem": "^2.7.12", + }, + "optionalPeers": [ + "@dynamic-labs/ethereum-aa", + "@solana/wallet-standard-features", + "@solana/web3.js", + "@wallet-standard/base", + "@wallet-standard/features", + "@wallet-standard/wallet", + "@zerodev/sdk", + "viem", + ], + }, + }, + "packages": { + "@ably/msgpack-js": ["@ably/msgpack-js@0.4.1", "", { "dependencies": { "bops": "^1.0.1" } }, "sha512-Sjxj6SOr17hExAVrsycN7u6oV4PhZcK7Z2S8dM71CH/butgO47cSo/TL6FJPCXUyDAzKkOWjMUpJGyZkEpyu4Q=="], + + "@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.11.1", "", {}, "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ=="], + + "@andrewbranch/untar.js": ["@andrewbranch/untar.js@1.0.4", "", {}, "sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw=="], + + "@arethetypeswrong/cli": ["@arethetypeswrong/cli@0.18.5", "", { "dependencies": { "@arethetypeswrong/core": "0.18.5", "chalk": "^4.1.2", "cli-table3": "^0.6.3", "commander": "^10.0.1", "marked": "^9.1.2", "marked-terminal": "^7.1.0", "semver": "^7.5.4" }, "bin": { "attw": "./dist/index.js" } }, "sha512-gM+8vRsQOD/Uc7EnBedUhkG5OCsDWE4uoak5QvomGpMpaky0Eh41p04nIMgrWb8EOmqZUJGc6zz9hsP6E56R7g=="], + + "@arethetypeswrong/core": ["@arethetypeswrong/core@0.18.5", "", { "dependencies": { "@andrewbranch/untar.js": "^1.0.3", "@loaderkit/resolve": "^1.0.2", "cjs-module-lexer": "^1.2.3", "fflate": "^0.8.3", "lru-cache": "^11.0.1", "semver": "^7.5.4", "typescript": "5.6.1-rc", "validate-npm-package-name": "^5.0.0" } }, "sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ=="], + + "@babel/runtime": ["@babel/runtime@7.29.7", "", {}, "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw=="], + + "@biomejs/biome": ["@biomejs/biome@2.5.8", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.5.8", "@biomejs/cli-darwin-x64": "2.5.8", "@biomejs/cli-linux-arm64": "2.5.8", "@biomejs/cli-linux-arm64-musl": "2.5.8", "@biomejs/cli-linux-x64": "2.5.8", "@biomejs/cli-linux-x64-musl": "2.5.8", "@biomejs/cli-win32-arm64": "2.5.8", "@biomejs/cli-win32-x64": "2.5.8" }, "bin": { "biome": "bin/biome" } }, "sha512-aeAeeJB9fSDc7Gq+2GqpQxA0qBj6gj1k2R6L1cYqGePKP/baIq1WX8y6B+D+nRsO5ViQL22K/8IwbqERW0q1nw=="], + + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.5.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-mk1QON9PHllvvLN5gU3f4rMxeh4syK5p9OvKyWH6/W8ueh04uaC8TUXXByhGufWf/y5mQc03ZLM45zU+cmqMjA=="], + + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.5.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-bsGwFMBNyHPyiLSsQcZJxdoRrg1V4JL+d7wEsvUBczlP9U9lwM+7mzQHxI4o1mhBsTmdOBbAb6fHU3Z3snN45w=="], + + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.5.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-XmFiA0WPYFC+uiUDC8WRFzAIH9bo7vwQLav38Uoq4ETC+T/+uBi0TsYGJECkugY3r8USl3jc+Ae2/irAF6F2lQ=="], + + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.5.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-VcJNbstduTHx83NGAdhp78/JOcP45BZHXL7yNsfI1uGzdUgegAz2s+mSoT7wK6PBNzLoqG0zDOXaz/RQYVtSiw=="], + + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.5.8", "", { "os": "linux", "cpu": "x64" }, "sha512-S5wcm9OBDvLHodD4PUaN488hCpco9QD/9ZxuYJiw4euWtr/oQvLR72z2ixItH8Wd5BCm6FZaeb+YNvOoM1xHtQ=="], + + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.5.8", "", { "os": "linux", "cpu": "x64" }, "sha512-kKmiyokeISRGq2FLwvr+TzsgBusfxaZ0FZNLcOYOpCK/78tRrEjeEBLvq3xLZMpqbANgJdRPI7vZX8ZL37u9/w=="], + + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.5.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-nILH0mzm3Hi3iEdd7o7GpB8kBR/mSQwfQG/tyBqyNrY2GFtcgwfV9nV8xLmbtUpMNY/Oi0Ml1XgfR4flOdq+AA=="], + + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.5.8", "", { "os": "win32", "cpu": "x64" }, "sha512-I2czzXTY61f3nFJxXoMDq80t7MivxDEnCjE+8sDKoFfcKMaoQdkqhIFQ3KyY0XLzeSpUBYeNAXgD+iOV/BU0VA=="], + + "@braidai/lang": ["@braidai/lang@1.1.2", "", {}, "sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA=="], + + "@changesets/apply-release-plan": ["@changesets/apply-release-plan@7.1.1", "", { "dependencies": { "@changesets/config": "^3.1.4", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.4", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "fs-extra": "^7.0.1", "lodash.startcase": "^4.4.0", "outdent": "^0.5.0", "prettier": "^2.7.1", "resolve-from": "^5.0.0", "semver": "^7.5.3" } }, "sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA=="], + + "@changesets/assemble-release-plan": ["@changesets/assemble-release-plan@6.0.10", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.4", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" } }, "sha512-rSDcqdJ9KbVyjpBIuCidhvZNIiVt1XaIYp73ycVQRIA5n/j6wQaEk0ChRLMUQ1vkxZe51PTQ9OIhbg6HQMW45A=="], + + "@changesets/changelog-git": ["@changesets/changelog-git@0.2.1", "", { "dependencies": { "@changesets/types": "^6.1.0" } }, "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q=="], + + "@changesets/cli": ["@changesets/cli@2.31.1", "", { "dependencies": { "@changesets/apply-release-plan": "^7.1.1", "@changesets/assemble-release-plan": "^6.0.10", "@changesets/changelog-git": "^0.2.1", "@changesets/config": "^3.1.4", "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.4", "@changesets/get-release-plan": "^4.0.16", "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.7", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@changesets/write": "^0.4.0", "@inquirer/external-editor": "^1.0.2", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "enquirer": "^2.4.1", "fs-extra": "^7.0.1", "mri": "^1.2.0", "package-manager-detector": "^0.2.0", "picocolors": "^1.1.0", "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^3.0.1", "term-size": "^2.1.0" }, "bin": { "changeset": "bin.js" } }, "sha512-uO05WTcRBwuVOJVSW8Cmpqw6q0WDL53ajGCMyszutvOe5toOnunbpM4jZzf+qxBOz7i0AzopZ8diBuewjmF40w=="], + + "@changesets/config": ["@changesets/config@3.1.4", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.4", "@changesets/logger": "^0.1.1", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", "micromatch": "^4.0.8" } }, "sha512-pf0bvD/v6WI2cRlZ6hzpjtZdSlXDXMAJ+Iz7xfFzV4ZxJ8OGGAON+1qYc99ZPrijnt4xp3VGG7eNvAOGS24V1Q=="], + + "@changesets/errors": ["@changesets/errors@0.2.0", "", { "dependencies": { "extendable-error": "^0.1.5" } }, "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow=="], + + "@changesets/get-dependents-graph": ["@changesets/get-dependents-graph@2.1.4", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" } }, "sha512-ZsS00x6WvmHq3sQv8oCMwL0f/z3wbXCVuSVTJwCnnmbC/iBdNJGFx1EcbMG4PC6sXRyH69liM4A2WKXzn/kRPg=="], + + "@changesets/get-release-plan": ["@changesets/get-release-plan@4.0.16", "", { "dependencies": { "@changesets/assemble-release-plan": "^6.0.10", "@changesets/config": "^3.1.4", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.7", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-2K5Om6CrMPm45rtvckfzWo7e9jOVCKLCnXia5eUPaURH7/LWzri7pK1TycdzAuAtehLkW7VPbWLCSExTHmiI6g=="], + + "@changesets/get-version-range-type": ["@changesets/get-version-range-type@0.4.0", "", {}, "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ=="], + + "@changesets/git": ["@changesets/git@3.0.4", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@manypkg/get-packages": "^1.1.3", "is-subdir": "^1.1.1", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" } }, "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw=="], + + "@changesets/logger": ["@changesets/logger@0.1.1", "", { "dependencies": { "picocolors": "^1.1.0" } }, "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg=="], + + "@changesets/parse": ["@changesets/parse@0.4.3", "", { "dependencies": { "@changesets/types": "^6.1.0", "js-yaml": "^4.1.1" } }, "sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A=="], + + "@changesets/pre": ["@changesets/pre@2.0.2", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1" } }, "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug=="], + + "@changesets/read": ["@changesets/read@0.6.7", "", { "dependencies": { "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/parse": "^0.4.3", "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0", "picocolors": "^1.1.0" } }, "sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA=="], + + "@changesets/should-skip-package": ["@changesets/should-skip-package@0.1.2", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw=="], + + "@changesets/types": ["@changesets/types@6.1.0", "", {}, "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA=="], + + "@changesets/write": ["@changesets/write@0.4.0", "", { "dependencies": { "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "human-id": "^4.1.1", "prettier": "^2.7.1" } }, "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q=="], + + "@colors/colors": ["@colors/colors@1.5.0", "", {}, "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="], + + "@dynamic-labs-sdk/assert-package-version": ["@dynamic-labs-sdk/assert-package-version@1.20.0", "", {}, "sha512-mde7Cc4P/fSDlvFMqD9D0uTToJeQzRxAq4N0ph94QSGVppAO4hL/tlE8StySVIXZlN2Ku1L+7DKDurMaHnzmSg=="], + + "@dynamic-labs-sdk/client": ["@dynamic-labs-sdk/client@1.20.0", "", { "dependencies": { "@dynamic-labs-sdk/assert-package-version": "1.20.0", "@dynamic-labs-wallet/browser-wallet-client": "1.0.70", "@dynamic-labs-wallet/forward-mpc-client": "1.0.1", "@dynamic-labs/sdk-api-core": "0.0.1074", "@simplewebauthn/browser": "13.1.0", "ably": "2.17.1", "buffer": "6.0.3", "eventemitter3": "5.0.1", "zod": "4.0.5" }, "peerDependencies": { "@react-native-async-storage/async-storage": "^2.2.0", "react-native": ">=0.73.6", "react-native-inappbrowser-reborn": "^3.7.0", "react-native-keychain": "^10.0.0", "react-native-passkey": ">=3.3.2" }, "optionalPeers": ["@react-native-async-storage/async-storage", "react-native", "react-native-inappbrowser-reborn", "react-native-keychain", "react-native-passkey"] }, "sha512-D5yEBgY5NaBQdz9OnpWd2Kxu8QnXDTAqvxoRorIdF35KIZje3ily+tqEZUYP44cirWKKxyakIcyu6AO3y3chMg=="], + + "@dynamic-labs-wallet/browser-wallet-client": ["@dynamic-labs-wallet/browser-wallet-client@1.0.92", "", { "dependencies": { "@dynamic-labs-wallet/core": "1.0.92", "@dynamic-labs/logger": "^4.81.0", "@dynamic-labs/message-transport": "^4.81.0" } }, "sha512-9jKkTl5PnQ482lAf642PTC+hI10Zyq2yJyjFkSOjfekVNYLXLhmBk5mZn3x3QlLW+jmk6bVAejQ5xpZJU4lJAQ=="], + + "@dynamic-labs-wallet/core": ["@dynamic-labs-wallet/core@1.0.92", "", { "dependencies": { "@dynamic-labs-wallet/primitives": "1.0.92", "@dynamic-labs/sdk-api-core": "^0.0.1093", "axios": "1.16.0", "uuid": "11.1.0" }, "peerDependencies": { "@dynamic-labs-wallet/forward-mpc-client": "1.0.1" } }, "sha512-TxiRkW7bBetb+TVWrBSPxFrGIpy1yqpfjaAzLD6lOMD5G49kv+f2FPvPfLTXcuG12zzG3JOTL3g7LwhhNOCG3Q=="], + + "@dynamic-labs-wallet/forward-mpc-client": ["@dynamic-labs-wallet/forward-mpc-client@1.0.1", "", { "dependencies": { "@dynamic-labs-wallet/forward-mpc-shared": "0.7.1", "@evervault/wasm-attestation-bindings": "^0.3.1", "@noble/hashes": "^2.0.0", "eventemitter3": "^5.0.1", "fp-ts": "^2.16.11", "isows": "^1.0.7", "ws": "^8.18.3" }, "peerDependencies": { "@dynamic-labs-wallet/primitives": ">=0.0.336 || 0.0.1" } }, "sha512-G4o5PAIAqXQrDo0uV6Q2GTtwdMpNv0RaHlJ0eSqtrrhHb3Hl3ZZzYDJLM3EAdzD1RXh/kzVu+c/bzANApJL3pQ=="], + + "@dynamic-labs-wallet/forward-mpc-shared": ["@dynamic-labs-wallet/forward-mpc-shared@0.7.1", "", { "dependencies": { "@noble/ciphers": "^0.4.1", "@noble/hashes": "^2.0.0", "@noble/post-quantum": "^0.5.1", "fp-ts": "^2.16.11", "io-ts": "^2.2.22" }, "peerDependencies": { "@dynamic-labs-wallet/primitives": ">=0.0.336 || 0.0.1" } }, "sha512-GPTYQ55z0nj18bkEAJEgvodH0l8phE03hY3VDOz1J4U91bFL+BKh6tjJQU6uycAhP/DouZggPYr0qKi/RBBdbA=="], + + "@dynamic-labs-wallet/primitives": ["@dynamic-labs-wallet/primitives@1.0.92", "", {}, "sha512-/v2ZNA4rxoMf9hoo2CVzTG9BceS/UVfkKPNmXUqsjqEkl/KQAA0p0fTCeba8FGLjUtub/U1UmmU9SpNlCU8/+Q=="], + + "@dynamic-labs/assert-package-version": ["@dynamic-labs/assert-package-version@4.96.1", "", { "dependencies": { "@dynamic-labs/logger": "4.96.1" } }, "sha512-h3MGktUfvVCPs6T5x35jiORRTEX7/1TZjYGlgg+gH4FvTItzdksujQc7vUOMkwGVwxMSiDo8vPzqk5OKX8BREQ=="], + + "@dynamic-labs/ethereum-aa-core": ["@dynamic-labs/ethereum-aa-core@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/ethereum-core": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093", "@dynamic-labs/types": "4.96.1", "@dynamic-labs/utils": "4.96.1", "@dynamic-labs/wallet-book": "4.96.1", "@dynamic-labs/wallet-connector-core": "4.96.1" }, "peerDependencies": { "viem": "^2.45.3" } }, "sha512-nj1zkPKdY7IE9g1UxCGwsUaT3A+ZDojW+AW9MSl+KW9uvOkqJTXXR9NoZvXKWjDn/+XzP0+V9coFz5vwxPmzMg=="], + + "@dynamic-labs/ethereum-aa-zksync": ["@dynamic-labs/ethereum-aa-zksync@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/ethereum-aa-core": "4.96.1", "@dynamic-labs/ethereum-core": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093", "@dynamic-labs/types": "4.96.1", "@dynamic-labs/utils": "4.96.1", "@dynamic-labs/wallet-book": "4.96.1", "@dynamic-labs/wallet-connector-core": "4.96.1", "zksync-sso": "0.2.0" }, "peerDependencies": { "viem": "^2.45.3" } }, "sha512-P5rtWY4nxyLTBufwjfdevApBA0w+3zuJxkjZamFqHWRovfKi2E/JBhpOssVzW7PkbQTCjAHDARWAR9czARUs5w=="], + + "@dynamic-labs/ethereum-core": ["@dynamic-labs/ethereum-core@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/rpc-providers": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093", "@dynamic-labs/types": "4.96.1", "@dynamic-labs/utils": "4.96.1", "@dynamic-labs/wallet-book": "4.96.1", "@dynamic-labs/wallet-connector-core": "4.96.1" }, "peerDependencies": { "viem": "^2.45.3" } }, "sha512-fXjWHi/COfkYl8nr5cAVj02qsGredC7vYW2YOoR83qnFWwXEQipK4/AxxIxrmCLSeeBER9sUzjfXESKcYnmoDA=="], + + "@dynamic-labs/global-wallet-client": ["@dynamic-labs/global-wallet-client@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/ethereum-aa-zksync": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/message-transport": "4.96.1", "@dynamic-labs/store": "4.96.1", "@dynamic-labs/types": "4.96.1", "@dynamic-labs/utils": "4.96.1", "eventemitter3": "5.0.1" }, "peerDependencies": { "@dynamic-labs/ethereum-aa": "4.96.1", "@solana/wallet-standard-features": "^1.2.0", "@solana/web3.js": "1.98.1", "@wallet-standard/base": "^1.0.1", "@wallet-standard/features": "^1.0.3", "@wallet-standard/wallet": "^1.1.0", "@zerodev/sdk": "5.5.7", "viem": "^2.45.3", "zksync-sso": "0.2.0" }, "optionalPeers": ["@dynamic-labs/ethereum-aa", "@solana/wallet-standard-features", "@solana/web3.js", "@wallet-standard/base", "@wallet-standard/features", "@wallet-standard/wallet", "@zerodev/sdk", "viem", "zksync-sso"] }, "sha512-vWM5ohYSRXXwJZLqC3Vv8VABNlRomMkfug08f6P8pJ5V8PPYFVx/WBie79WogSRp8zLi2dQTAEFDJuSxsJVVTw=="], + + "@dynamic-labs/iconic": ["@dynamic-labs/iconic@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1", "sharp": "0.35.0", "url": "0.11.0" }, "peerDependencies": { "react": ">=18.0.0 <20.0.0", "react-dom": ">=18.0.0 <20.0.0" } }, "sha512-eGspUTCASO+MgGo+8UImKHJBBbaSby2hUTLi1Bqy9s6H/El9PhNek9TeYWrez8VrGgKZLOAvcq9YEEH3FxAYLA=="], + + "@dynamic-labs/logger": ["@dynamic-labs/logger@4.96.1", "", { "dependencies": { "eventemitter3": "5.0.1" } }, "sha512-O/9VUliqsiWWB79VZKsbA+mUI/5oppdCOYzEyB/wZ4EF5HamIqY98NBdEl/isUdCCVbOL7DA/bK7Hf0ThBocmg=="], + + "@dynamic-labs/message-transport": ["@dynamic-labs/message-transport@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/utils": "4.96.1", "@vue/reactivity": "^3.4.21", "eventemitter3": "5.0.1" } }, "sha512-fFwbrzfTZGKrz+F+8g0Hsaf3fWxvaUopqqyVNHZ17COnS0N87O9ZfRKgKNy1oXQ7pwRnq4HLdrOawpWRFNcRqw=="], + + "@dynamic-labs/rpc-providers": ["@dynamic-labs/rpc-providers@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/types": "4.96.1" } }, "sha512-5smNTPDUGqNQmePkUlbNpGxhYqITL8fRktpCe1kuZQ+K5qh4zMwF0BQS81ReUkXDfQajnpMGuhV+bqUlTqtoAw=="], + + "@dynamic-labs/sdk-api-core": ["@dynamic-labs/sdk-api-core@0.0.1093", "", {}, "sha512-NdtIGe5XlgY4ohvy//RHjokUiMJ/1BHA+IV12awIDwPfeR9+dp0gMKurlTIbnOqn0P95pbUQKdpbtxZmtCWDRw=="], + + "@dynamic-labs/store": ["@dynamic-labs/store@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1" } }, "sha512-MiRhvov++gA1jZ7RG/WzgYFoL/0dVNbbAe8Y8moEvyUOOyt3RQLpYAOadPoZH3WdvE/VDCnFDOAMNebMlDnYQQ=="], + + "@dynamic-labs/types": ["@dynamic-labs/types@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093" } }, "sha512-Vio1KRMVsPy0hiUorQoJ+tDlKJIkPi+zXd4gZBZABVMjTGiVuOdEZRap6SxACwfSjKh7amsyn6Aw2Md1fORwUw=="], + + "@dynamic-labs/utils": ["@dynamic-labs/utils@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093", "@dynamic-labs/types": "4.96.1", "buffer": "6.0.3", "eventemitter3": "5.0.1", "tldts": "6.0.16" } }, "sha512-yCqhsyF2Ob9CpB2nHo7ThWggOHeC9xK53v+XKZ1EJ3pHauoLu9DpS3OySEZWz53vfHoFF4U+QYehYjWk840w1g=="], + + "@dynamic-labs/wallet-book": ["@dynamic-labs/wallet-book@4.96.1", "", { "dependencies": { "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/iconic": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/utils": "4.96.1", "eventemitter3": "5.0.1", "util": "0.12.5", "zod": "4.0.5" }, "peerDependencies": { "react": ">=18.0.0 <20.0.0", "react-dom": ">=18.0.0 <20.0.0" } }, "sha512-EWwqA+WDEfOyuMPzGjlujA1Twl0ucnxOvQTNpeHj8YONU09m/KkprFZq5DqHpCFFGe6xCA64DU+GEcJjKgX1Rg=="], + + "@dynamic-labs/wallet-connector-core": ["@dynamic-labs/wallet-connector-core@4.96.1", "", { "dependencies": { "@dynamic-labs-sdk/client": "1.20.0", "@dynamic-labs-wallet/browser-wallet-client": "1.0.92", "@dynamic-labs-wallet/forward-mpc-client": "1.0.1", "@dynamic-labs/assert-package-version": "4.96.1", "@dynamic-labs/logger": "4.96.1", "@dynamic-labs/rpc-providers": "4.96.1", "@dynamic-labs/sdk-api-core": "0.0.1093", "@dynamic-labs/types": "4.96.1", "@dynamic-labs/utils": "4.96.1", "@dynamic-labs/wallet-book": "4.96.1", "eventemitter3": "5.0.1" } }, "sha512-w6J6xCE49PE6qPNQX6spcCRnGIWy9FTrbMNC/9awe2WjjlGELiqfFpSjh0euyDEfcHMUvKJwZ5DoWGyGi4xU8Q=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.11.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.28.2", "", { "os": "android", "cpu": "arm" }, "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.2", "", { "os": "android", "cpu": "arm64" }, "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.28.2", "", { "os": "android", "cpu": "x64" }, "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.2", "", { "os": "linux", "cpu": "arm" }, "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.2", "", { "os": "linux", "cpu": "none" }, "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.2", "", { "os": "linux", "cpu": "none" }, "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.2", "", { "os": "linux", "cpu": "none" }, "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.2", "", { "os": "linux", "cpu": "x64" }, "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.2", "", { "os": "none", "cpu": "arm64" }, "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.2", "", { "os": "none", "cpu": "x64" }, "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.2", "", { "os": "none", "cpu": "arm64" }, "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g=="], + + "@evervault/wasm-attestation-bindings": ["@evervault/wasm-attestation-bindings@0.3.1", "", {}, "sha512-pJsbax/pEPdRXSnFKahzGZeq2CNTZ0skAPWpnEZK/8vdcvlan7LE7wMSOVr+Z+MqTBnVEnS7O80TKpXKU5Rsbw=="], + + "@hexagon/base64": ["@hexagon/base64@1.1.28", "", {}, "sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw=="], + + "@hono/node-server": ["@hono/node-server@2.1.0", "", { "peerDependencies": { "hono": "^4" } }, "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg=="], + + "@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.3.0" }, "os": "darwin", "cpu": "arm64" }, "sha512-ZgaYEwaj+lx/5n4W8GmZ2IYz0PQHjN5eqRcfijWGB+2Aq7ZInZGa0qJyAn6DEtyLuWHRSrmWOqT9q3qqTBvmUQ=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.3.0" }, "os": "darwin", "cpu": "x64" }, "sha512-c1z9LFpKB0slQW3RchwBE8iSVzGp70TNjUUO9k4BZwwW4HH7JBGHeIy4b+kk4n/kcBASb9evKCE3/7Slmslgiw=="], + + "@img/sharp-freebsd-wasm32": ["@img/sharp-freebsd-wasm32@0.35.0", "", { "dependencies": { "@img/sharp-wasm32": "0.35.0" }, "os": "freebsd" }, "sha512-Li2KTev0H90kEtnJHkI9xQojXt1AqWmFBMXiPw5kqd1jQgP7gi5HVK/qC5Rmh/59NuAwUuPzzPITmX22NomYYQ=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.3.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-EKbmBKtyTH+GPFDRw2TgK2oV6hyxxlJVIar4hoTYSNmIwipgMFdxPQqR392GmfdsPGWga0mCFN1cCKjRb9cljw=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-Pl2OmOvrJ42adUllESxBsG54PfXLo1OYg9i3c5/5Ln/qJ0gZuTM9YMhQJPIbXqwidLRc/c2zuHt4RsrymmNv7A=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.3.0", "", { "os": "linux", "cpu": "arm" }, "sha512-A8UpHoUDW4DwnXoV6+q3C1s7QLRAHtPDEjWuNZjwHMyoCNZnm0GeNN8ls9f/bsEYTRQRW96C/n34XJQHJ2fT7A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-C0SqjoFKnszqa44EQ7xoaT48nnO0lOyXEULfXMWi8krrjOPGYkeK30Okzla6ATbBYsyZ0ySinK0FVkpv3DwzfQ=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.3.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WOpkVxAjFd369iaIzEgNRreFD+gWdUMIGD5zplhNKNeqS6mm5dac3q2AFyCBmzYoAdouzZvRBgxy4z8QHZb4/A=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.3.0", "", { "os": "linux", "cpu": "none" }, "sha512-DRWw0mOHusrCCuw2rqP87oLg6PGlkomVDFqw2hIwsSfwWpu4k3XLcBPaKKl6ct/GtL/cwNkgwjV/tc0Mqht3VA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.3.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-9APy+nFWhHS+kzLgWZfLcyrUd7YqnAQVa4BPOo4xkoHpdoktOAPG4cEr9+Jpl0TtqfVmcMJimNL5qNTyyOHZNA=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-y9RNUYDe2A1UAdhLyfeOodGRszQdaEoe4nfOpp/sNVPl2CWIcUyFaDoCh4vPLPxu19803j2naLqZup2WxDXCLA=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-cC1wkC0Mlucd0KSiGrLkJnB/ZqPvZCntc/Lk7ZnYO5ZSbF2euNek4Xvxafojq+wN1q/W0eprdpUIjUr/EV2PBg=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-LiYMhUZicB1QG//+RvmYZpXJO8fYRENfp+MZUCnG9aw+AKvGAy9gPaCnuwsPcBFs8EV66M0NNxj9VHcNklE8zw=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.3.0" }, "os": "linux", "cpu": "arm" }, "sha512-VVlpEWwizEFIOom0zdoeKuO5nuTswzVE5uHcBNvHzmeHUpNFajY3HFfbQ+zIH4E2kVaZ/yVxmsShW56TtEy4uA=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.3.0" }, "os": "linux", "cpu": "arm64" }, "sha512-4+4XHLNT5wDT0roYlHTEmH9lDKt0acf9Tv+3hM3iceOirkxrR404/3WjAYZ9F9CkHrxeRcGLJXbi4vluMZ9O+A=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.3.0" }, "os": "linux", "cpu": "ppc64" }, "sha512-N3hzbEpUTJC8pWpPVJvgzGxM+so/MAXc8O2s/53B0LL9ZGpfXpME7Wizkc5d/8fRBlBtkDjzoZGDCqqNDHqLEw=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.3.0" }, "os": "linux", "cpu": "none" }, "sha512-l6vmKVPnbS0RhVMbyxP5meAARsbhCnBN4fy31qz0+3a6Rv4jEqfzDrT89y6ZPkCi0AJGnwp2En528yXo401Hpw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.3.0" }, "os": "linux", "cpu": "s390x" }, "sha512-MYlMiPFiv/EKPAHnp3yNZ9AAWFsxga9c5Bkc6wkar6bqzHLlkGVJHRm0u1ei+VXnZxp3Mz9MG9ZIsI8vSOf3sQ=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.3.0" }, "os": "linux", "cpu": "x64" }, "sha512-TYaItB5oj1ioXjhyn2xrR208vf+YuIIcHptQWRRaBmFhvIvL9D72DXN8w75xup0KXA8UdEAhQ9Qb2S49FD/9Cw=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.3.0" }, "os": "linux", "cpu": "arm64" }, "sha512-DSTb6ijQzqe6DdAaOBVqJ/SYf1vO8EW5bK6X6LRXufEBebf2722VCdvBUtZ3rtV0x2ApfPNDy/p7LrrjaWjiyQ=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.35.0", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.3.0" }, "os": "linux", "cpu": "x64" }, "sha512-K7ykQ+26Rt6+4BTU80AuGgTPIYX86UxiAKT4rcXX/WNTo7k1ZxpKz+TguHnwVpCqQK3B5PK0vZ0ZBe6nz/ib1w=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.35.0", "", { "dependencies": { "@emnapi/runtime": "^1.11.0" } }, "sha512-9woLIFORERCr+6cWu87dQ22J34EExkhc73U1kZW0c+RclQqWetoodByp4dWZ/hN8/KVmTRAx2HOnUwib8AwZdA=="], + + "@img/sharp-webcontainers-wasm32": ["@img/sharp-webcontainers-wasm32@0.35.0", "", { "dependencies": { "@img/sharp-wasm32": "0.35.0" }, "cpu": "none" }, "sha512-t+kie1TOyaDM6Dho+f+y0VqIUNhYQaKCUahuZVi0E0frgdiaOaPsDxDW3wfKacUdaNBCnK/ZDBMg33ydvHj8uA=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.35.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-M5eKxug0dabbaWgFKvPa3odNs2OpaP+81NASfGKkt4GcYXpNhSu7CaeYxWkLNV6vHmUp4hnCxnxrUyhUJhXbKA=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.35.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-z0+pZ03QCDvdVN0Ez9IX/yjWC19ikMlXrmdYMwYNLTh2BLPx3hXWPvyqWfquZ0BTO9O6GVOjIVoTcyyacMnWlQ=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.35.0", "", { "os": "win32", "cpu": "x64" }, "sha512-feNnlz5ZHKr0MY1LPHvZQyJeBkbo4ctsn0D8FvA53VTw5TC63rfEL2UrWbkSBR19htSE7Mw78xYVwdJqoMWVHw=="], + + "@inquirer/external-editor": ["@inquirer/external-editor@1.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA=="], + + "@inquirer/figures": ["@inquirer/figures@1.0.15", "", {}, "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g=="], + + "@juanelas/base64": ["@juanelas/base64@1.1.5", "", {}, "sha512-mjAF27LzwfYobdwqnxZgeucbKT5wRRNvILg3h5OvCWK+3F7mw/A1tnjHnNiTYtLmTvT/bM1jA5AX7eQawDGs1w=="], + + "@levischuck/tiny-cbor": ["@levischuck/tiny-cbor@0.2.11", "", {}, "sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow=="], + + "@loaderkit/resolve": ["@loaderkit/resolve@1.0.6", "", { "dependencies": { "@braidai/lang": "^1.0.0" } }, "sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg=="], + + "@manypkg/find-root": ["@manypkg/find-root@1.1.0", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", "find-up": "^4.1.0", "fs-extra": "^8.1.0" } }, "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA=="], + + "@manypkg/get-packages": ["@manypkg/get-packages@1.1.3", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", "@manypkg/find-root": "^1.1.0", "fs-extra": "^8.1.0", "globby": "^11.0.0", "read-yaml-file": "^1.1.0" } }, "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A=="], + + "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.30.0", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA=="], + + "@noble/ciphers": ["@noble/ciphers@1.3.0", "", {}, "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw=="], + + "@noble/curves": ["@noble/curves@1.9.1", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA=="], + + "@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="], + + "@noble/post-quantum": ["@noble/post-quantum@0.5.4", "", { "dependencies": { "@noble/curves": "~2.0.0", "@noble/hashes": "~2.0.0" } }, "sha512-leww0zzIirrvwaYMPI9fj6aRIlA/c6Y0/lifQQ1YOOyHEr0MNH3yYpjXeiVG+tWdPps4XxGclFWX2INPO3Yo5w=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@peculiar/asn1-android": ["@peculiar/asn1-android@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-skLbS+IOGv1lUgDqtChr8xvtvEr3HMse/JGBaL2r1J1o/n7a8wqOrovMtlRq/UXLhxvmLaONP67hwtshgzwfzA=="], + + "@peculiar/asn1-cms": ["@peculiar/asn1-cms@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "@peculiar/asn1-x509-attr": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-NgekZOrSJFSBFLFoLfwePguAWAx7z1+f2TEsWFUMyiqqfntZ4+S/S5hzqME3q4pCA0iOsFKdwiQ35dwY24eVqA=="], + + "@peculiar/asn1-csr": ["@peculiar/asn1-csr@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-akbF8+uvleHs8sejNPQxwmVFuInAg6FMNHOwMILXfP518YfFJwdR3jr6oNUPOaEJfuEhn/vkNOCIT6ASUd4mbg=="], + + "@peculiar/asn1-ecc": ["@peculiar/asn1-ecc@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-ohwlk+u9Rv2NOAY1c6MfHj45ATVF8R1DUN/WCgABiRtLi2ZftlZWZX7KvpAbU8v9xPcmoILfELeEABj/rn18AQ=="], + + "@peculiar/asn1-pfx": ["@peculiar/asn1-pfx@2.8.0", "", { "dependencies": { "@peculiar/asn1-cms": "^2.8.0", "@peculiar/asn1-pkcs8": "^2.8.0", "@peculiar/asn1-rsa": "^2.8.0", "@peculiar/asn1-schema": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-5yof1ytoB++RQtaFbqSUJ8pxDJtZT6vbVqZ8XoJ61ph7UjNVvfFwAilnCodqkNsAodpy13gDhoxZXw00pghnyg=="], + + "@peculiar/asn1-pkcs8": ["@peculiar/asn1-pkcs8@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-qAKXtLpBEw9LqhKpjw3ajZSXlBur+ipW+y2ivVBQAG6F6qRx94yO+1ZR4mvw+YaCfKSaOzLeYEzsPaBp4SJELA=="], + + "@peculiar/asn1-pkcs9": ["@peculiar/asn1-pkcs9@2.8.0", "", { "dependencies": { "@peculiar/asn1-cms": "^2.8.0", "@peculiar/asn1-pfx": "^2.8.0", "@peculiar/asn1-pkcs8": "^2.8.0", "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "@peculiar/asn1-x509-attr": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-b5nDWCnkV60+cQ141D6sVVwK9nz64R5n3zSVnklGd+ECdkW2Ol3U1a6yYFlalpSOaD557yuJB64A+q42jG7lUQ=="], + + "@peculiar/asn1-rsa": ["@peculiar/asn1-rsa@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-zHEUlCqB2mk7x2lxDwHHJy7hWZOPdGHVlsmITWKB5/PbQo61atbu9PJ/0r9dQNMwFzbKPXZ8uK8/91eUhRznSg=="], + + "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.8.0", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q=="], + + "@peculiar/asn1-x509": ["@peculiar/asn1-x509@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-N0CMuhWUzsWEVq6F1q9X6+VKUnWzSW+cSVg+aPaGGwDdbFoFWTYgin5MHwXgpWd6y9COMBxnfy/Qc+Xc7F0Zwg=="], + + "@peculiar/asn1-x509-attr": ["@peculiar/asn1-x509-attr@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-tHjkfS/qhMnmrlB2J9NhflQlQ7In3khO3CfmVrriOlpTeErY9ZIKOso1hQ5JQiyrJ7ShvqVPk7E5fQmbclkSKA=="], + + "@peculiar/utils": ["@peculiar/utils@2.0.3", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ=="], + + "@peculiar/x509": ["@peculiar/x509@1.14.3", "", { "dependencies": { "@peculiar/asn1-cms": "^2.6.0", "@peculiar/asn1-csr": "^2.6.0", "@peculiar/asn1-ecc": "^2.6.0", "@peculiar/asn1-pkcs9": "^2.6.0", "@peculiar/asn1-rsa": "^2.6.0", "@peculiar/asn1-schema": "^2.6.0", "@peculiar/asn1-x509": "^2.6.0", "pvtsutils": "^1.3.6", "reflect-metadata": "^0.2.2", "tslib": "^2.8.1", "tsyringe": "^4.10.0" } }, "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA=="], + + "@publint/pack": ["@publint/pack@0.1.6", "", { "dependencies": { "tinyexec": "^1.2.4" } }, "sha512-3uVNyGcVplhPZSLVyeIpL7+cIRn1YCSNHLG/rUIlBQMVH8YuN9++YF+5+UDIIO9RW98dujiUoTltO7RDB5bFJA=="], + + "@scure/base": ["@scure/base@1.2.6", "", {}, "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg=="], + + "@scure/bip32": ["@scure/bip32@1.7.0", "", { "dependencies": { "@noble/curves": "~1.9.0", "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw=="], + + "@scure/bip39": ["@scure/bip39@1.6.0", "", { "dependencies": { "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A=="], + + "@sei-js/create-sei": ["@sei-js/create-sei@workspace:packages/create-sei"], + + "@sei-js/mcp-server": ["@sei-js/mcp-server@workspace:packages/mcp-server"], + + "@sei-js/precompiles": ["@sei-js/precompiles@workspace:packages/precompiles"], + + "@sei-js/registry": ["@sei-js/registry@workspace:packages/registry"], + + "@sei-js/sei-global-wallet": ["@sei-js/sei-global-wallet@workspace:packages/sei-global-wallet"], + + "@simplewebauthn/browser": ["@simplewebauthn/browser@13.1.0", "", {}, "sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg=="], + + "@simplewebauthn/server": ["@simplewebauthn/server@13.3.2", "", { "dependencies": { "@hexagon/base64": "^1.1.27", "@levischuck/tiny-cbor": "^0.2.2", "@peculiar/asn1-android": "^2.6.0", "@peculiar/asn1-ecc": "^2.6.1", "@peculiar/asn1-rsa": "^2.6.1", "@peculiar/asn1-schema": "^2.6.0", "@peculiar/asn1-x509": "^2.6.1", "@peculiar/x509": "^1.14.3" } }, "sha512-KEDhfcGP1PAKRVSDjA3npTQFqS2b/srm+ipoNBNHdkzrHAlaRQUTE+a5f4ywsx6thxAw1NU2rYcLEY1949RGbQ=="], + + "@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="], + + "@solana/buffer-layout": ["@solana/buffer-layout@4.0.1", "", { "dependencies": { "buffer": "~6.0.3" } }, "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA=="], + + "@solana/codecs-core": ["@solana/codecs-core@2.3.0", "", { "dependencies": { "@solana/errors": "2.3.0" }, "peerDependencies": { "typescript": ">=5.3.3" } }, "sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw=="], + + "@solana/codecs-numbers": ["@solana/codecs-numbers@2.3.0", "", { "dependencies": { "@solana/codecs-core": "2.3.0", "@solana/errors": "2.3.0" }, "peerDependencies": { "typescript": ">=5.3.3" } }, "sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg=="], + + "@solana/errors": ["@solana/errors@2.3.0", "", { "dependencies": { "chalk": "^5.4.1", "commander": "^14.0.0" }, "peerDependencies": { "typescript": ">=5.3.3" }, "bin": { "errors": "bin/cli.mjs" } }, "sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ=="], + + "@solana/wallet-standard-features": ["@solana/wallet-standard-features@1.4.0", "", { "dependencies": { "@wallet-standard/base": "^1.1.0", "@wallet-standard/features": "^1.1.0" } }, "sha512-f0tAdqwM2aL6CiFbIgt9h5zKFp+mgY/iNGwoxPMTj9VSTeQj7d1GGSmWhZw0XWoZ4N/1tnKTKmYFq+Dyq08jRw=="], + + "@solana/web3.js": ["@solana/web3.js@1.98.4", "", { "dependencies": { "@babel/runtime": "^7.25.0", "@noble/curves": "^1.4.2", "@noble/hashes": "^1.4.0", "@solana/buffer-layout": "^4.0.1", "@solana/codecs-numbers": "^2.1.0", "agentkeepalive": "^4.5.0", "bn.js": "^5.2.1", "borsh": "^0.7.0", "bs58": "^4.0.1", "buffer": "6.0.3", "fast-stable-stringify": "^1.0.0", "jayson": "^4.1.1", "node-fetch": "^2.7.0", "rpc-websockets": "^9.0.2", "superstruct": "^2.0.2" } }, "sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw=="], + + "@swc/helpers": ["@swc/helpers@0.5.23", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw=="], + + "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="], + + "@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="], + + "@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], + + "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="], + + "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], + + "@types/cors": ["@types/cors@2.8.19", "", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="], + + "@types/express": ["@types/express@5.0.6", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "^2" } }, "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA=="], + + "@types/express-serve-static-core": ["@types/express-serve-static-core@5.1.3", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw=="], + + "@types/http-cache-semantics": ["@types/http-cache-semantics@4.2.0", "", {}, "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q=="], + + "@types/http-errors": ["@types/http-errors@2.0.5", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="], + + "@types/keyv": ["@types/keyv@3.1.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="], + + "@types/node": ["@types/node@22.20.1", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q=="], + + "@types/qs": ["@types/qs@6.15.1", "", {}, "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw=="], + + "@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="], + + "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw=="], + + "@types/send": ["@types/send@1.2.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ=="], + + "@types/serve-static": ["@types/serve-static@2.2.0", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*" } }, "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ=="], + + "@types/ws": ["@types/ws@7.4.7", "", { "dependencies": { "@types/node": "*" } }, "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww=="], + + "@vue/reactivity": ["@vue/reactivity@3.5.41", "", { "dependencies": { "@vue/shared": "3.5.41" } }, "sha512-rznsqKM0np0x18EjzF8x88MpEhdNsffbvFbckLL5+oUKz1BxAImEmO7J1ArRYSyo6aQaVoBDp7jEkT91OOxydA=="], + + "@vue/shared": ["@vue/shared@3.5.41", "", {}, "sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA=="], + + "@wagmi/core": ["@wagmi/core@2.22.1", "", { "dependencies": { "eventemitter3": "5.0.1", "mipd": "0.0.7", "zustand": "5.0.0" }, "peerDependencies": { "@tanstack/query-core": ">=5.0.0", "typescript": ">=5.0.4", "viem": "2.x" }, "optionalPeers": ["@tanstack/query-core", "typescript"] }, "sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg=="], + + "@wallet-standard/base": ["@wallet-standard/base@1.1.1", "", {}, "sha512-gggIHTtxicF9XFMQ12DkfS6NAG92Ak795JeSA7f2whAQ6Y3AkMWWuCMxSZXG2NIPN42kEaZSNVjqMsJRaJRxMQ=="], + + "@wallet-standard/features": ["@wallet-standard/features@1.1.1", "", { "dependencies": { "@wallet-standard/base": "^1.1.1" } }, "sha512-aCWYmVeSCGViyEU5k7GMoW8zxE4Gs+C1s1Pp2XLesvSNlnZ4PMES9HUnTB3hl0b3RVj7C61yze3IWyrncqg4MA=="], + + "@wallet-standard/wallet": ["@wallet-standard/wallet@1.1.1", "", { "dependencies": { "@wallet-standard/base": "^1.1.1" } }, "sha512-8WiRPaKk/wNNRZhB2eVhpR/JW7/aqTCMoZhgVUCujuzDmxxmGvsosMxdCG4NAdYkoyozAHCX8/xLtlWUn5mNdQ=="], + + "abitype": ["abitype@1.1.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A=="], + + "ably": ["ably@2.17.1", "", { "dependencies": { "@ably/msgpack-js": "^0.4.0", "dequal": "^2.0.3", "fastestsmallesttextencoderdecoder": "^1.0.22", "got": "^11.8.5", "ulid": "^2.3.0", "ws": "^8.17.1" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" }, "optionalPeers": ["react", "react-dom"] }, "sha512-70yfXHoM7JtJD/8FCtPD1gkWW0f+AJqbJp0PsqDAqiyxFB8cPFY+FuKHgNTYb8eRHKXq8hT1xiDphUcY0+GHnA=="], + + "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], + + "aes-js": ["aes-js@4.0.0-beta.5", "", {}, "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q=="], + + "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="], + + "ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + + "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], + + "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], + + "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], + + "ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="], + + "ansi-regex": ["ansi-regex@6.3.0", "", {}, "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], + + "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="], + + "asn1js": ["asn1js@3.0.10", "", { "dependencies": { "pvtsutils": "^1.3.6", "pvutils": "^1.1.5", "tslib": "^2.8.1" } }, "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg=="], + + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], + + "axios": ["axios@1.16.0", "", { "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.5", "proxy-from-env": "^2.1.0" } }, "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w=="], + + "base-x": ["base-x@3.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "better-path-resolve": ["better-path-resolve@1.0.0", "", { "dependencies": { "is-windows": "^1.0.0" } }, "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g=="], + + "bigint-conversion": ["bigint-conversion@2.4.3", "", { "dependencies": { "@juanelas/base64": "^1.1.2" } }, "sha512-eM76IXlhXQD6HAoE6A7QLQ3jdC04EJdjH3zrlU1Jtt4/jj+O/pMGjGR5FY8/55FOIBsK25kly0RoG4GA4iKdvg=="], + + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + + "bn.js": ["bn.js@5.2.5", "", {}, "sha512-Vq886eXykuP5E6HcKSSStP3bJgrE6In5WKxVUvJ8XGpWWYs2xZHWqUwzCtGgEtBcxyd57KBFDPFoUfNzdaHCNg=="], + + "body-parser": ["body-parser@1.20.6", "", { "dependencies": { "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "~1.2.0", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g=="], + + "bops": ["bops@1.0.1", "", { "dependencies": { "base64-js": "1.0.2", "to-utf8": "0.0.1" } }, "sha512-qCMBuZKP36tELrrgXpAfM+gHzqa0nLsWZ+L37ncsb8txYlnAoxOPpVp+g7fK0sGkMXfA0wl8uQkESqw3v4HNag=="], + + "borsh": ["borsh@0.7.0", "", { "dependencies": { "bn.js": "^5.2.0", "bs58": "^4.0.0", "text-encoding-utf-8": "^1.0.2" } }, "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA=="], + + "boxen": ["boxen@7.1.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^7.0.1", "chalk": "^5.2.0", "cli-boxes": "^3.0.0", "string-width": "^5.1.2", "type-fest": "^2.13.0", "widest-line": "^4.0.1", "wrap-ansi": "^8.1.0" } }, "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "bs58": ["bs58@4.0.1", "", { "dependencies": { "base-x": "^3.0.2" } }, "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw=="], + + "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], + + "bufferutil": ["bufferutil@4.1.0", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw=="], + + "bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "cacheable-lookup": ["cacheable-lookup@5.0.4", "", {}, "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="], + + "cacheable-request": ["cacheable-request@7.0.4", "", { "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="], + + "call-bind": ["call-bind@1.0.9", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" } }, "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "camelcase": ["camelcase@7.0.1", "", {}, "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], + + "chardet": ["chardet@2.2.0", "", {}, "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA=="], + + "cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="], + + "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], + + "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], + + "cli-highlight": ["cli-highlight@2.1.11", "", { "dependencies": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", "yargs": "^16.0.0" }, "bin": { "highlight": "bin/highlight" } }, "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg=="], + + "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], + + "cli-table3": ["cli-table3@0.6.5", "", { "dependencies": { "string-width": "^4.2.0" }, "optionalDependencies": { "@colors/colors": "1.5.0" } }, "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ=="], + + "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], + + "cliui": ["cliui@7.0.4", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="], + + "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], + + "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], + + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="], + + "cors": ["cors@2.8.6", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + + "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], + + "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="], + + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], + + "delay": ["delay@5.0.0", "", {}, "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw=="], + + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], + + "detect-indent": ["detect-indent@6.1.0", "", {}, "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], + + "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "emojilib": ["emojilib@2.4.0", "", {}, "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw=="], + + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + + "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="], + + "environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + + "es6-promise": ["es6-promise@4.2.8", "", {}, "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="], + + "es6-promisify": ["es6-promisify@5.0.0", "", { "dependencies": { "es6-promise": "^4.0.3" } }, "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ=="], + + "esbuild": ["esbuild@0.28.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.2", "@esbuild/android-arm": "0.28.2", "@esbuild/android-arm64": "0.28.2", "@esbuild/android-x64": "0.28.2", "@esbuild/darwin-arm64": "0.28.2", "@esbuild/darwin-x64": "0.28.2", "@esbuild/freebsd-arm64": "0.28.2", "@esbuild/freebsd-x64": "0.28.2", "@esbuild/linux-arm": "0.28.2", "@esbuild/linux-arm64": "0.28.2", "@esbuild/linux-ia32": "0.28.2", "@esbuild/linux-loong64": "0.28.2", "@esbuild/linux-mips64el": "0.28.2", "@esbuild/linux-ppc64": "0.28.2", "@esbuild/linux-riscv64": "0.28.2", "@esbuild/linux-s390x": "0.28.2", "@esbuild/linux-x64": "0.28.2", "@esbuild/netbsd-arm64": "0.28.2", "@esbuild/netbsd-x64": "0.28.2", "@esbuild/openbsd-arm64": "0.28.2", "@esbuild/openbsd-x64": "0.28.2", "@esbuild/openharmony-arm64": "0.28.2", "@esbuild/sunos-x64": "0.28.2", "@esbuild/win32-arm64": "0.28.2", "@esbuild/win32-ia32": "0.28.2", "@esbuild/win32-x64": "0.28.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "ethers": ["ethers@6.17.0", "", { "dependencies": { "@adraffy/ens-normalize": "1.11.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.2", "@types/node": "22.7.5", "aes-js": "4.0.0-beta.5", "tslib": "2.7.0", "ws": "8.21.0" } }, "sha512-BpyrpIPJ3ydEVow8zGaz1DuPS7YU8DcWxuBnY9a0UA/lvAPwrMr+EPXsfrul628SRaekPNeIM4UFh/91GWZang=="], + + "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + + "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], + + "eventsource-parser": ["eventsource-parser@3.1.1", "", {}, "sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ=="], + + "express": ["express@4.22.2", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.5", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.15.1", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q=="], + + "express-rate-limit": ["express-rate-limit@8.6.2", "", { "dependencies": { "debug": "^4.4.3", "ip-address": "^10.2.0" }, "peerDependencies": { "express": ">= 4.11" } }, "sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A=="], + + "extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="], + + "eyes": ["eyes@0.1.8", "", {}, "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-stable-stringify": ["fast-stable-stringify@1.0.0", "", {}, "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag=="], + + "fast-uri": ["fast-uri@3.1.5", "", {}, "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw=="], + + "fastestsmallesttextencoderdecoder": ["fastestsmallesttextencoderdecoder@1.0.22", "", {}, "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw=="], + + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], + + "fflate": ["fflate@0.8.3", "", {}, "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "finalhandler": ["finalhandler@1.3.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="], + + "find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + + "follow-redirects": ["follow-redirects@1.16.0", "", { "peerDependencies": { "debug": "*" }, "optionalPeers": ["debug"] }, "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw=="], + + "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], + + "form-data": ["form-data@4.0.6", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.4", "mime-types": "^2.1.35" } }, "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ=="], + + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fp-ts": ["fp-ts@2.16.11", "", {}, "sha512-LaI+KaX2NFkfn1ZGHoKCmcfv7yrZsC3b8NtWsTVQeHkq4F27vI5igUuO53sxqDEa2gNQMHFPmpojDw/1zmUK7w=="], + + "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], + + "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], + + "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "globby": ["globby@11.1.0", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "got": ["got@11.8.6", "", { "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" } }, "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], + + "highlight.js": ["highlight.js@10.7.3", "", {}, "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A=="], + + "hono": ["hono@4.13.2", "", {}, "sha512-JydRilDRkYBQMt9qR9U92mXxmbGqsqSn/IKOrh4e7/gEbn+0zSr8igTu0obwJoNGN4sez28DIql7FBHWydoJpA=="], + + "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], + + "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], + + "http2-wrapper": ["http2-wrapper@1.0.3", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="], + + "human-id": ["human-id@4.2.0", "", { "bin": { "human-id": "dist/cli.js" } }, "sha512-K3GbkIWqyvvlpfhBPlbEvD97TtqBpAYA4kt+cn2lD2x2HuohzZCibcA2nOlnJT6exqvJLggoB5nv2dNf192nEA=="], + + "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="], + + "iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "inquirer": ["inquirer@9.3.8", "", { "dependencies": { "@inquirer/external-editor": "^1.0.2", "@inquirer/figures": "^1.0.3", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "1.0.0", "ora": "^5.4.1", "run-async": "^3.0.0", "rxjs": "^7.8.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" } }, "sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w=="], + + "io-ts": ["io-ts@2.2.22", "", { "peerDependencies": { "fp-ts": "^2.5.0" } }, "sha512-FHCCztTkHoV9mdBsHpocLpdTAfh956ZQcIkWQxxS0U5HT53vtrcuYdQneEJKH6xILaLNzXVl2Cvwtoy8XNN0AA=="], + + "ip-address": ["ip-address@10.5.0", "", {}, "sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-arguments": ["is-arguments@1.2.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA=="], + + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], + + "is-subdir": ["is-subdir@1.2.0", "", { "dependencies": { "better-path-resolve": "1.0.0" } }, "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw=="], + + "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], + + "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], + + "is-windows": ["is-windows@1.0.2", "", {}, "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "isomorphic-ws": ["isomorphic-ws@4.0.1", "", { "peerDependencies": { "ws": "*" } }, "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w=="], + + "isows": ["isows@1.0.7", "", { "peerDependencies": { "ws": "*" } }, "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg=="], + + "jayson": ["jayson@4.3.0", "", { "dependencies": { "@types/connect": "^3.4.33", "@types/node": "^12.12.54", "@types/ws": "^7.4.4", "commander": "^2.20.3", "delay": "^5.0.0", "es6-promisify": "^5.0.0", "eyes": "^0.1.8", "isomorphic-ws": "^4.0.1", "json-stringify-safe": "^5.0.1", "stream-json": "^1.9.1", "uuid": "^8.3.2", "ws": "^7.5.10" }, "bin": { "jayson": "bin/jayson.js" } }, "sha512-AauzHcUcqs8OBnCHOkJY280VaTiCm57AbuO7lqzcw7JapGj50BisE3xhksye4zlTSR1+1tAz67wLTl8tEH1obQ=="], + + "jose": ["jose@6.2.8", "", {}, "sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ=="], + + "js-yaml": ["js-yaml@4.3.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + + "json-schema-typed": ["json-schema-typed@8.0.2", "", {}, "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA=="], + + "json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="], + + "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + + "lodash.startcase": ["lodash.startcase@4.4.0", "", {}, "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg=="], + + "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], + + "lowercase-keys": ["lowercase-keys@2.0.0", "", {}, "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="], + + "lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="], + + "marked": ["marked@9.1.6", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q=="], + + "marked-terminal": ["marked-terminal@7.3.0", "", { "dependencies": { "ansi-escapes": "^7.0.0", "ansi-regex": "^6.1.0", "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "cli-table3": "^0.6.5", "node-emoji": "^2.2.0", "supports-hyperlinks": "^3.1.0" }, "peerDependencies": { "marked": ">=1 <16" } }, "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], + + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], + + "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], + + "mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="], + + "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + + "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], + + "mipd": ["mipd@0.0.7", "", { "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg=="], + + "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="], + + "ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "mute-stream": ["mute-stream@1.0.0", "", {}, "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA=="], + + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + + "negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], + + "node-emoji": ["node-emoji@2.2.0", "", { "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" } }, "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw=="], + + "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + + "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], + + "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + + "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], + + "outdent": ["outdent@0.5.0", "", {}, "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q=="], + + "ox": ["ox@0.9.3", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg=="], + + "p-cancelable": ["p-cancelable@2.1.1", "", {}, "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="], + + "p-filter": ["p-filter@2.1.0", "", { "dependencies": { "p-map": "^2.0.0" } }, "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw=="], + + "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + + "p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + + "p-map": ["p-map@2.1.0", "", {}, "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="], + + "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], + + "package-manager-detector": ["package-manager-detector@0.2.11", "", { "dependencies": { "quansync": "^0.2.7" } }, "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ=="], + + "parse5": ["parse5@5.1.1", "", {}, "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="], + + "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@6.0.1", "", { "dependencies": { "parse5": "^6.0.1" } }, "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA=="], + + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-to-regexp": ["path-to-regexp@0.1.13", "", {}, "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA=="], + + "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="], + + "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="], + + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], + + "prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "proxy-from-env": ["proxy-from-env@2.1.0", "", {}, "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA=="], + + "publint": ["publint@0.3.23", "", { "dependencies": { "@publint/pack": "^0.1.6", "package-manager-detector": "^1.7.0", "picocolors": "^1.1.1", "sade": "^1.8.1" }, "bin": { "publint": "./src/cli.js" } }, "sha512-5MQipUPcB7MWw84zLUkHrg/H/UBtk3LL+A0GngTTBSsiNJLQurMUaSIRG3edlOrRz4UFe0AOKK9TZdIWviV+jQ=="], + + "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], + + "punycode": ["punycode@1.3.2", "", {}, "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="], + + "pvtsutils": ["pvtsutils@1.3.6", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg=="], + + "pvutils": ["pvutils@1.2.0", "", {}, "sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg=="], + + "qs": ["qs@6.15.3", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A=="], + + "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], + + "querystring": ["querystring@0.2.0", "", {}, "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="], + + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="], + + "react": ["react@19.2.8", "", {}, "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw=="], + + "react-dom": ["react-dom@19.2.8", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.8" } }, "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ=="], + + "read-yaml-file": ["read-yaml-file@1.1.0", "", { "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", "pify": "^4.0.1", "strip-bom": "^3.0.0" } }, "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "reflect-metadata": ["reflect-metadata@0.2.2", "", {}, "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="], + + "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], + + "responselike": ["responselike@2.0.1", "", { "dependencies": { "lowercase-keys": "^2.0.0" } }, "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="], + + "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], + + "rpc-websockets": ["rpc-websockets@9.3.10", "", { "dependencies": { "@swc/helpers": "^0.5.11", "@types/ws": "^8.2.2", "buffer": "^6.0.3", "eventemitter3": "^5.0.1", "ws": "^8.5.0" }, "optionalDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^6.0.0" } }, "sha512-QT5PQ6LiWhA5RCS93oWwgxU4XzQltkYm8C3aTmmKEgj0HolGRo3VbdzELw7CEV35l9T7Amha8Vnr4rCfSjVP+w=="], + + "run-async": ["run-async@3.0.0", "", {}, "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], + + "sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="], + + "send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], + + "serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], + + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "sharp": ["sharp@0.35.0", "", { "dependencies": { "@img/colour": "^1.1.0", "detect-libc": "^2.1.2", "semver": "^7.8.4" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.35.0", "@img/sharp-darwin-x64": "0.35.0", "@img/sharp-freebsd-wasm32": "0.35.0", "@img/sharp-libvips-darwin-arm64": "1.3.0", "@img/sharp-libvips-darwin-x64": "1.3.0", "@img/sharp-libvips-linux-arm": "1.3.0", "@img/sharp-libvips-linux-arm64": "1.3.0", "@img/sharp-libvips-linux-ppc64": "1.3.0", "@img/sharp-libvips-linux-riscv64": "1.3.0", "@img/sharp-libvips-linux-s390x": "1.3.0", "@img/sharp-libvips-linux-x64": "1.3.0", "@img/sharp-libvips-linuxmusl-arm64": "1.3.0", "@img/sharp-libvips-linuxmusl-x64": "1.3.0", "@img/sharp-linux-arm": "0.35.0", "@img/sharp-linux-arm64": "0.35.0", "@img/sharp-linux-ppc64": "0.35.0", "@img/sharp-linux-riscv64": "0.35.0", "@img/sharp-linux-s390x": "0.35.0", "@img/sharp-linux-x64": "0.35.0", "@img/sharp-linuxmusl-arm64": "0.35.0", "@img/sharp-linuxmusl-x64": "0.35.0", "@img/sharp-webcontainers-wasm32": "0.35.0", "@img/sharp-win32-arm64": "0.35.0", "@img/sharp-win32-ia32": "0.35.0", "@img/sharp-win32-x64": "0.35.0" } }, "sha512-BqvG5XbwPZ4NV0DK90d86leEECMsoa8bO0nqnKWlBDYxri4GJ7c4EDInaF6q20lTh/mATmnDIKWJFfXnoVfH5g=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="], + + "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "skin-tone": ["skin-tone@2.0.0", "", { "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" } }, "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA=="], + + "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], + + "spawndamnit": ["spawndamnit@3.0.1", "", { "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" } }, "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "stream-chain": ["stream-chain@2.2.5", "", {}, "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA=="], + + "stream-json": ["stream-json@1.9.1", "", { "dependencies": { "stream-chain": "^2.2.5" } }, "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw=="], + + "string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], + + "superstruct": ["superstruct@2.0.2", "", {}, "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "supports-hyperlinks": ["supports-hyperlinks@3.2.0", "", { "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" } }, "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig=="], + + "term-size": ["term-size@2.2.1", "", {}, "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="], + + "text-encoding-utf-8": ["text-encoding-utf-8@1.0.2", "", {}, "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg=="], + + "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], + + "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], + + "tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="], + + "tldts": ["tldts@6.0.16", "", { "dependencies": { "tldts-core": "^6.0.16" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-TkEq38COU640mzOKPk4D1oH3FFVvwEtMaKIfw/+F/umVsy7ONWu8PPQH0c11qJ/Jq/zbcQGprXGsT8GcaDSmJg=="], + + "tldts-core": ["tldts-core@6.1.86", "", {}, "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "to-utf8": ["to-utf8@0.0.1", "", {}, "sha512-zks18/TWT1iHO3v0vFp5qLKOG27m67ycq/Y7a7cTiRuUNlc4gf3HGnkRgMv0NyhnfTamtkYBJl+YeD1/j07gBQ=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + + "tslib": ["tslib@2.7.0", "", {}, "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="], + + "tsyringe": ["tsyringe@4.10.0", "", { "dependencies": { "tslib": "^1.9.3" } }, "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw=="], + + "type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="], + + "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "ulid": ["ulid@2.4.0", "", { "bin": { "ulid": "bin/cli.js" } }, "sha512-fIRiVTJNcSRmXKPZtGzFQv9WRrZ3M9eoptl/teFJvjOzmpU+/K/JH6HZ8deBfb5vMEpicJcLn7JmvdknlMq7Zg=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "unicode-emoji-modifier-base": ["unicode-emoji-modifier-base@1.0.0", "", {}, "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g=="], + + "universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "url": ["url@0.11.0", "", { "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" } }, "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ=="], + + "utf-8-validate": ["utf-8-validate@6.0.6", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA=="], + + "util": ["util@0.12.5", "", { "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", "which-typed-array": "^1.1.2" } }, "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], + + "uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + + "validate-npm-package-name": ["validate-npm-package-name@5.0.1", "", {}, "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ=="], + + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "viem": ["viem@2.37.2", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.1.0", "isows": "1.0.7", "ox": "0.9.3", "ws": "8.18.3" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-soXSUhPEnHzXVo1sSFg2KiUUwOTCtqGNnR/NOHr+4vZcbM6sTyS62asg9EfDpaJQFNduRQituxTcflaK6OIaPA=="], + + "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], + + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + + "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "which-typed-array": ["which-typed-array@1.1.22", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw=="], + + "widest-line": ["widest-line@4.0.1", "", { "dependencies": { "string-width": "^5.0.1" } }, "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig=="], + + "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yargs": ["yargs@16.2.2", "", { "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w=="], + + "yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], + + "yoctocolors-cjs": ["yoctocolors-cjs@2.1.3", "", {}, "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw=="], + + "zksync-sso": ["zksync-sso@0.2.0", "", { "dependencies": { "@peculiar/asn1-ecc": "^2.3.13", "@peculiar/asn1-schema": "^2.3.13", "abitype": "^1.0.6", "bigint-conversion": "^2.4.3", "buffer": "^6.0.3", "ms": "^2.1.3" }, "peerDependencies": { "@simplewebauthn/browser": "13.x", "@simplewebauthn/server": "13.x", "@wagmi/core": "2.x", "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-JyxmYx2KnreTEQANyihkhzQGqA0Opa0j1qT6BLBmjP8WOwsYEiOMolbwxNK7X/KETXI77IZhGxWl8ZMKQgYl8A=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="], + + "zustand": ["zustand@5.0.0", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ=="], + + "@arethetypeswrong/cli/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], + + "@arethetypeswrong/core/typescript": ["typescript@5.6.1-rc", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ=="], + + "@dynamic-labs-sdk/client/@dynamic-labs-wallet/browser-wallet-client": ["@dynamic-labs-wallet/browser-wallet-client@1.0.70", "", { "dependencies": { "@dynamic-labs-wallet/core": "1.0.70", "@dynamic-labs/logger": "^4.81.0", "@dynamic-labs/message-transport": "^4.81.0" } }, "sha512-n0iKSn1rj9rGrfDDvgqeW3rHc09TAp7k1S481NsyNbsdWkSkACXLD8YYggVIvvXVq7w/5MfOqp6b/ZjoF4bXKg=="], + + "@dynamic-labs-sdk/client/@dynamic-labs/sdk-api-core": ["@dynamic-labs/sdk-api-core@0.0.1074", "", {}, "sha512-bUkwDnREU6vSiQk5fv4NBWKCNxJOYHXgbOgh92J5gWH/M3ey1gaINRBXgQUMFFi81wsxGdyVto7266JY7QnnWw=="], + + "@dynamic-labs-sdk/client/zod": ["zod@4.0.5", "", {}, "sha512-/5UuuRPStvHXu7RS+gmvRf4NXrNxpSllGwDnCBcJZtQsKrviYXm54yDGV2KYNLT5kq0lHGcl7lqWJLgSaG+tgA=="], + + "@dynamic-labs-wallet/core/uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], + + "@dynamic-labs-wallet/forward-mpc-client/@noble/hashes": ["@noble/hashes@2.3.0", "", {}, "sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ=="], + + "@dynamic-labs-wallet/forward-mpc-client/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "@dynamic-labs-wallet/forward-mpc-shared/@noble/ciphers": ["@noble/ciphers@0.4.1", "", {}, "sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg=="], + + "@dynamic-labs-wallet/forward-mpc-shared/@noble/hashes": ["@noble/hashes@2.3.0", "", {}, "sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ=="], + + "@dynamic-labs/ethereum-aa-core/viem": ["viem@2.55.15", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.2.3", "isows": "1.0.7", "ox": "0.14.33", "ws": "8.21.0" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-ka9SfSJ3ZfhuUEzTGmufwALRvEPVKM068tF0AwfdRZagqA3yuFa/QoXIvALzr9y47m4Wiisl3yEoYWuFQso6Ng=="], + + "@dynamic-labs/ethereum-aa-zksync/viem": ["viem@2.55.15", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.2.3", "isows": "1.0.7", "ox": "0.14.33", "ws": "8.21.0" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-ka9SfSJ3ZfhuUEzTGmufwALRvEPVKM068tF0AwfdRZagqA3yuFa/QoXIvALzr9y47m4Wiisl3yEoYWuFQso6Ng=="], + + "@dynamic-labs/ethereum-core/viem": ["viem@2.55.15", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.2.3", "isows": "1.0.7", "ox": "0.14.33", "ws": "8.21.0" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-ka9SfSJ3ZfhuUEzTGmufwALRvEPVKM068tF0AwfdRZagqA3yuFa/QoXIvALzr9y47m4Wiisl3yEoYWuFQso6Ng=="], + + "@dynamic-labs/global-wallet-client/viem": ["viem@2.55.15", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.2.3", "isows": "1.0.7", "ox": "0.14.33", "ws": "8.21.0" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-ka9SfSJ3ZfhuUEzTGmufwALRvEPVKM068tF0AwfdRZagqA3yuFa/QoXIvALzr9y47m4Wiisl3yEoYWuFQso6Ng=="], + + "@dynamic-labs/wallet-book/zod": ["zod@4.0.5", "", {}, "sha512-/5UuuRPStvHXu7RS+gmvRf4NXrNxpSllGwDnCBcJZtQsKrviYXm54yDGV2KYNLT5kq0lHGcl7lqWJLgSaG+tgA=="], + + "@emnapi/runtime/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@manypkg/find-root/@types/node": ["@types/node@12.20.55", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="], + + "@manypkg/find-root/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], + + "@manypkg/get-packages/@changesets/types": ["@changesets/types@4.1.0", "", {}, "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw=="], + + "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], + + "@modelcontextprotocol/sdk/express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="], + + "@noble/post-quantum/@noble/curves": ["@noble/curves@2.0.1", "", { "dependencies": { "@noble/hashes": "2.0.1" } }, "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw=="], + + "@noble/post-quantum/@noble/hashes": ["@noble/hashes@2.0.1", "", {}, "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw=="], + + "@peculiar/asn1-android/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-cms/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-csr/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-ecc/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-pfx/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-pkcs8/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-pkcs9/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-rsa/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-schema/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-x509/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/asn1-x509-attr/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/utils/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@peculiar/x509/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@sei-js/create-sei/@types/node": ["@types/node@20.19.43", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA=="], + + "@sei-js/mcp-server/commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="], + + "@solana/errors/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "@solana/errors/commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="], + + "@swc/helpers/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "ably/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "accepts/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], + + "asn1js/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], + + "body-parser/raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], + + "bops/base64-js": ["base64-js@1.0.2", "", {}, "sha512-ZXBDPMt/v/8fsIqn+Z5VwrhdR6jVka0bYobHdGia0Nxi7BJ9i/Uvml3AocHIBtIIBhZjBw5MR0aR4ROs/8+SNg=="], + + "boxen/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "cli-table3/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "cliui/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="], + + "ethers/@noble/curves": ["@noble/curves@1.2.0", "", { "dependencies": { "@noble/hashes": "1.3.2" } }, "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw=="], + + "ethers/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="], + + "ethers/@types/node": ["@types/node@22.7.5", "", { "dependencies": { "undici-types": "~6.19.2" } }, "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ=="], + + "ethers/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "express-rate-limit/debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" }, "peerDependencies": { "supports-color": "*" }, "optionalPeers": ["supports-color"] }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "humanize-ms/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "inquirer/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "inquirer/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], + + "jayson/@types/node": ["@types/node@12.20.55", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="], + + "jayson/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], + + "jayson/ws": ["ws@7.5.13", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA=="], + + "marked-terminal/ansi-escapes": ["ansi-escapes@7.3.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg=="], + + "marked-terminal/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "ox/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "parse5-htmlparser2-tree-adapter/parse5": ["parse5@6.0.1", "", {}, "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="], + + "publint/package-manager-detector": ["package-manager-detector@1.8.0", "", {}, "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A=="], + + "pvtsutils/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "read-yaml-file/js-yaml": ["js-yaml@3.15.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag=="], + + "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "router/debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" }, "peerDependencies": { "supports-color": "*" }, "optionalPeers": ["supports-color"] }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "router/path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="], + + "rpc-websockets/@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], + + "rpc-websockets/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "send/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "string-width/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], + + "strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "tsyringe/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "type-is/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "wrap-ansi/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], + + "yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "zksync-sso/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "zksync-sso/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "@dynamic-labs-sdk/client/@dynamic-labs-wallet/browser-wallet-client/@dynamic-labs-wallet/core": ["@dynamic-labs-wallet/core@1.0.70", "", { "dependencies": { "@dynamic-labs-wallet/primitives": "1.0.70", "@dynamic-labs/sdk-api-core": "^0.0.984", "axios": "1.16.0", "uuid": "11.1.0" }, "peerDependencies": { "@dynamic-labs-wallet/forward-mpc-client": "1.0.1" } }, "sha512-brTbTiAwS2TEhB6G2lL43dFx9Bj19wB5GPngi49yiX6veQJkQP9kkqqcxv97zYSEIUbBaPP/GndkPSewXPXYew=="], + + "@dynamic-labs/ethereum-aa-core/viem/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "@dynamic-labs/ethereum-aa-core/viem/ox": ["ox@0.14.33", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.2.3", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-rooA/4o7bBof4Ge2VH/eovfNPb/AEEYyrNj03wggc55g5HZD8Pjs/OeWhttgjic3dDcqn0r29bDuvQEdTiUemQ=="], + + "@dynamic-labs/ethereum-aa-core/viem/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "@dynamic-labs/ethereum-aa-zksync/viem/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "@dynamic-labs/ethereum-aa-zksync/viem/ox": ["ox@0.14.33", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.2.3", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-rooA/4o7bBof4Ge2VH/eovfNPb/AEEYyrNj03wggc55g5HZD8Pjs/OeWhttgjic3dDcqn0r29bDuvQEdTiUemQ=="], + + "@dynamic-labs/ethereum-aa-zksync/viem/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "@dynamic-labs/ethereum-core/viem/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "@dynamic-labs/ethereum-core/viem/ox": ["ox@0.14.33", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.2.3", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-rooA/4o7bBof4Ge2VH/eovfNPb/AEEYyrNj03wggc55g5HZD8Pjs/OeWhttgjic3dDcqn0r29bDuvQEdTiUemQ=="], + + "@dynamic-labs/ethereum-core/viem/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "@dynamic-labs/global-wallet-client/viem/abitype": ["abitype@1.2.3", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg=="], + + "@dynamic-labs/global-wallet-client/viem/ox": ["ox@0.14.33", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.2.3", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-rooA/4o7bBof4Ge2VH/eovfNPb/AEEYyrNj03wggc55g5HZD8Pjs/OeWhttgjic3dDcqn0r29bDuvQEdTiUemQ=="], + + "@dynamic-labs/global-wallet-client/viem/ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + + "@modelcontextprotocol/sdk/express/accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], + + "@modelcontextprotocol/sdk/express/body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="], + + "@modelcontextprotocol/sdk/express/content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="], + + "@modelcontextprotocol/sdk/express/cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], + + "@modelcontextprotocol/sdk/express/debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" }, "peerDependencies": { "supports-color": "*" }, "optionalPeers": ["supports-color"] }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "@modelcontextprotocol/sdk/express/finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="], + + "@modelcontextprotocol/sdk/express/fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], + + "@modelcontextprotocol/sdk/express/merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], + + "@modelcontextprotocol/sdk/express/send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="], + + "@modelcontextprotocol/sdk/express/serve-static": ["serve-static@2.2.1", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="], + + "@modelcontextprotocol/sdk/express/type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="], + + "accepts/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "ansi-align/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "cli-table3/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "cliui/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "ethers/@types/node/undici-types": ["undici-types@6.19.8", "", {}, "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="], + + "express-rate-limit/debug/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "inquirer/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "read-yaml-file/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "router/debug/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "type-is/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "yargs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "@dynamic-labs-sdk/client/@dynamic-labs-wallet/browser-wallet-client/@dynamic-labs-wallet/core/@dynamic-labs-wallet/primitives": ["@dynamic-labs-wallet/primitives@1.0.70", "", {}, "sha512-epxiBEyu5YVZPbj3jre4AkAht+yuf/9IfDzQiY5uUP4BoNGtn8ezveRAEFgTfhytyuyl1GiI78t6K7xW8Zi5LA=="], + + "@dynamic-labs-sdk/client/@dynamic-labs-wallet/browser-wallet-client/@dynamic-labs-wallet/core/@dynamic-labs/sdk-api-core": ["@dynamic-labs/sdk-api-core@0.0.984", "", {}, "sha512-smSL1nUDZ753Ldeb848GJufOzEMzkGUcDdxUVcfmfHnA8kEdmKO+c/4nfQEUeDNvaFxd9ueB9ZKTYkLC2t/uXg=="], + + "@dynamic-labs-sdk/client/@dynamic-labs-wallet/browser-wallet-client/@dynamic-labs-wallet/core/uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], + + "@modelcontextprotocol/sdk/express/accepts/negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + + "@modelcontextprotocol/sdk/express/body-parser/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], + + "@modelcontextprotocol/sdk/express/debug/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "@modelcontextprotocol/sdk/express/send/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "@modelcontextprotocol/sdk/express/type-is/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], + + "@modelcontextprotocol/sdk/express/type-is/media-typer": ["media-typer@1.1.1", "", {}, "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ=="], + } +} diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 000000000..b257dd03f --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,4 @@ +[test] +coverageSkipTestFiles = true +coverageReporter = ["text", "lcov"] +coveragePathIgnorePatterns = ["**/src/tests/**", "**/__tests__/**"] diff --git a/codecov.yml b/codecov.yml index 6071adc86..4d80e0806 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,7 +1,4 @@ flags: - create-sei: - paths: - - packages/create-sei/** precompiles: paths: - packages/precompiles/** @@ -11,13 +8,12 @@ flags: sei-global-wallet: paths: - packages/sei-global-wallet/** + mcp-server: + paths: + - packages/mcp-server/** coverage: status: project: - create-sei: - target: 80% - flags: - - create-sei precompiles: target: 80% flags: diff --git a/package.json b/package.json index 5efee0163..8de4af580 100644 --- a/package.json +++ b/package.json @@ -3,32 +3,38 @@ "version": "2.0.1", "private": true, "license": "MIT", + "workspaces": [ + "packages/*" + ], "scripts": { - "build:all": "pnpm -r run build", - "lint:pack:all": "pnpm lint:pack:publint && pnpm lint:pack:types && pnpm lint:pack:types:mcp", - "lint:pack:publint": "pnpm --recursive --filter './packages/*' exec publint --pack npm --strict --level warning", - "lint:pack:types": "pnpm --recursive --filter './packages/*' --filter '!@sei-js/create-sei' --filter '!@sei-js/mcp-server' exec attw --pack . --profile node16", - "lint:pack:types:mcp": "pnpm --filter @sei-js/mcp-server exec attw --pack . --profile esm-only", + "build": "bun run --filter '*' build", + "build:all": "bun run build", + "check": "biome check . && bun run typecheck", + "check:fix": "biome check --write .", + "format": "biome format --write .", + "lint": "biome lint .", + "lint:fix": "biome lint --write .", + "lint:pack:all": "bun run lint:pack:publint && bun run lint:pack:types && bun run lint:pack:exports && bun run lint:pack:runtime", + "lint:pack:publint": "sh -c 'for d in packages/*; do [ -f \"$d/package.json\" ] || continue; (cd \"$d\" && bun run publint --pack npm --strict --level warning) || exit 1; done'", + "lint:pack:types": "sh -c 'for d in packages/precompiles packages/registry packages/sei-global-wallet packages/mcp-server; do (cd \"$d\" && bun run attw --pack . --profile esm-only) || exit 1; done'", + "lint:pack:exports": "bun scripts/check-precompile-exports.ts", + "lint:pack:runtime": "bun scripts/check-mcp-cli.ts", "release": "changeset publish && git push --follow-tags", - "release:internal": "pnpm build:all && pnpm changeset && pnpm changeset version --snapshot internal && pnpm changeset publish --no-git-tag --snapshot --tag internal", - "test:all": "pnpm -r run test", - "test:coverage": "pnpm -r run test --coverage" - }, - "dependencies": { - "@biomejs/biome": "^1.9.4", - "@changesets/cli": "^2.28.1" + "release:internal": "bun run build && bun run changeset && bun run changeset version --snapshot internal && bun run changeset publish --no-git-tag --snapshot --tag internal", + "test": "bun run --filter '*' test", + "test:all": "bun run test", + "test:coverage": "bun test --isolate --coverage --coverage-reporter=lcov packages", + "typecheck": "tsc --project tsconfig.test.json" }, "devDependencies": { "@arethetypeswrong/cli": "0.18.5", - "@types/jest": "^29.5.14", + "@biomejs/biome": "^2.5.8", + "@changesets/cli": "^2.28.1", + "@types/bun": "^1.3.0", "@types/node": "^22.13.13", "esbuild": "^0.28.2", - "jest": "^29.7.0", "publint": "0.3.23", - "rimraf": "^3.0.2", - "ts-jest": "^29.3.0", - "ts-node": "2.1.2", "typescript": "^5.8.2" }, - "packageManager": "pnpm@9.0.0" + "packageManager": "bun@1.3.14" } diff --git a/packages/create-sei/biome.json b/packages/create-sei/biome.json deleted file mode 100644 index e8a690fe8..000000000 --- a/packages/create-sei/biome.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", - "extends": ["../../biome.json"], - "files": { - "ignoreUnknown": false, - "ignore": ["templates/**"] - } -} \ No newline at end of file diff --git a/packages/create-sei/extensions/precompiles/package.json b/packages/create-sei/extensions/precompiles/package.json index 795076e87..373f885cd 100644 --- a/packages/create-sei/extensions/precompiles/package.json +++ b/packages/create-sei/extensions/precompiles/package.json @@ -20,7 +20,7 @@ "@mantine/hooks": "^8.2.5", "@mantine/notifications": "^8.2.5", "@rainbow-me/rainbowkit": "^2.2.8", - "@sei-js/precompiles": "^2.1.2", + "@sei-js/precompiles": "^3.0.0", "@tabler/icons-react": "^3.34.1", "@tailwindcss/postcss": "^4.1.12", "@tanstack/react-query": "^5.85.3", diff --git a/packages/create-sei/extensions/precompiles/src/components/default/index.tsx b/packages/create-sei/extensions/precompiles/src/components/default/index.tsx index da4974e2f..852646090 100644 --- a/packages/create-sei/extensions/precompiles/src/components/default/index.tsx +++ b/packages/create-sei/extensions/precompiles/src/components/default/index.tsx @@ -1,21 +1,19 @@ 'use client'; -import React from 'react'; import { CodeHighlight } from '@mantine/code-highlight'; import { ActionIcon, Badge, Button, Card, Collapse, Container, Flex, Group, Paper, Stack, Text, ThemeIcon, Title } from '@mantine/core'; import { notifications } from '@mantine/notifications'; import { BANK_PRECOMPILE_ADDRESS, VIEM_BANK_PRECOMPILE_ABI } from '@sei-js/precompiles'; import { IconBulb, IconChevronDown, IconChevronUp, IconCopy, IconDatabase } from '@tabler/icons-react'; import { useState } from 'react'; -import { type ReadContractParameters, formatEther } from 'viem'; -import { useAccount, usePublicClient } from 'wagmi'; +import type { ReadContractParameters } from 'viem'; +import { usePublicClient } from 'wagmi'; function Examples() { const [supply, setSupply] = useState(''); const [showCode, setShowCode] = useState(false); const publicClient = usePublicClient(); - const { address } = useAccount(); const formatLargeSeiNumber = (num: string, decimals: number): string => { if (num.length > 10) { diff --git a/packages/create-sei/jest.config.js b/packages/create-sei/jest.config.js deleted file mode 100644 index b1823b084..000000000 --- a/packages/create-sei/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -export default { - preset: 'ts-jest', - testEnvironment: 'node', - transform: { - '^.+\\.ts$': ['ts-jest', { - useESM: true - }] - }, - extensionsToTreatAsEsm: ['.ts'], - moduleNameMapper: { - '^(\\.{1,2}/.*)\\.js$': '$1' - }, - testPathIgnorePatterns: ['/node_modules/', '/dist/', '/templates/', '/test-smart-contract-app/'] -}; diff --git a/packages/create-sei/package.json b/packages/create-sei/package.json index 864767e3d..1b8bfaec0 100644 --- a/packages/create-sei/package.json +++ b/packages/create-sei/package.json @@ -18,10 +18,16 @@ "publishConfig": { "access": "public" }, + "exports": { + ".": { + "import": "./dist/main.js", + "default": "./dist/main.js" + } + }, "scripts": { - "build": "rm -rf dist && tsc && chmod +x dist/main.js && rsync -av --exclude-from=.rsyncignore ./templates/ ./dist/templates/ && rsync -av --exclude-from=.rsyncignore ./extensions/ ./dist/extensions/", - "dev": "node --loader ts-node/esm src/main.ts", - "test": "jest" + "build": "rm -rf dist && tsc --project ./tsconfig.json && chmod +x dist/main.js && rsync -av --exclude-from=.rsyncignore ./templates/ ./dist/templates/ && rsync -av --exclude-from=.rsyncignore ./extensions/ ./dist/extensions/", + "dev": "bun src/main.ts", + "test": "bun test --isolate src" }, "dependencies": { "boxen": "^7.1.1", @@ -29,12 +35,7 @@ "inquirer": "^9.2.15" }, "devDependencies": { - "@jest/globals": "^29.7.0", - "@types/jest": "^29.5.12", "@types/node": "^20.14.10", - "jest": "^29.7.0", - "ts-jest": "^29.1.2", - "ts-node": "^10.9.2", "typescript": "^5.5.3" } } diff --git a/packages/create-sei/src/main.test.ts b/packages/create-sei/src/main.test.ts index 24c810199..61e59584c 100644 --- a/packages/create-sei/src/main.test.ts +++ b/packages/create-sei/src/main.test.ts @@ -1,10 +1,11 @@ -import { describe, test, expect, beforeEach, afterEach } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { promises as fs } from 'node:fs'; import path from 'node:path'; describe('Extension System', () => { - const testDir = path.join(process.cwd(), 'test-output'); - const extensionsDir = path.join(process.cwd(), 'extensions'); + const packageRoot = path.resolve(import.meta.dir, '..'); + const testDir = path.join(packageRoot, 'test-output'); + const extensionsDir = path.join(packageRoot, 'extensions'); beforeEach(async () => { // Clean up test directory @@ -26,7 +27,8 @@ describe('Extension System', () => { }); test('should list available extensions', async () => { - const extensionExists = await fs.access(path.join(extensionsDir, 'precompiles')) + const extensionExists = await fs + .access(path.join(extensionsDir, 'precompiles')) .then(() => true) .catch(() => false); @@ -35,4 +37,14 @@ describe('Extension System', () => { const extensionFiles = await fs.readdir(extensionsDir); expect(extensionFiles).toContain('precompiles'); }); + + test('should scaffold the new precompiles major', async () => { + const [templatePackage, extensionPackage] = await Promise.all([ + fs.readFile(path.join(packageRoot, 'templates/next-template/package.json'), 'utf8').then((contents) => JSON.parse(contents)), + fs.readFile(path.join(extensionsDir, 'precompiles/package.json'), 'utf8').then((contents) => JSON.parse(contents)) + ]); + + expect(templatePackage.dependencies['@sei-js/precompiles']).toBe('^3.0.0'); + expect(extensionPackage.dependencies['@sei-js/precompiles']).toBe('^3.0.0'); + }); }); diff --git a/packages/create-sei/src/main.ts b/packages/create-sei/src/main.ts index 297faffae..f5f85ad4d 100644 --- a/packages/create-sei/src/main.ts +++ b/packages/create-sei/src/main.ts @@ -1,12 +1,11 @@ #!/usr/bin/env node -import boxen from 'boxen'; -import inquirer from 'inquirer'; import fs from 'node:fs'; -import path from 'node:path'; -import { dirname } from 'node:path'; +import path, { dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; +import boxen from 'boxen'; import { Command } from 'commander'; +import inquirer from 'inquirer'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); @@ -77,7 +76,7 @@ async function listExtensions(): Promise { for (const ext of extensionDirs) { console.log(` - ${ext}`); } - } catch (error) { + } catch (_error) { console.log('No extensions directory found.'); } } @@ -121,14 +120,14 @@ async function runWizard(options: WizardOptions): Promise { await fs.promises.access(extensionPath); await fs.promises.cp(extensionPath, dst, { recursive: true }); console.log(`Applied extension: ${options.extension}`); - } catch (error) { + } catch (_error) { console.log(`Warning: Extension '${options.extension}' not found. Continuing with base template.`); } } const extensionText = options.extension ? ` with ${options.extension} extension` : ''; console.log(`Project setup complete! Using template ${templateName}${extensionText}\n`); - console.log(`To start your app, run: \n > cd ${dAppName} \n > pnpm \n > pnpm dev\n`); + console.log(`To start your app, run: \n > cd ${dAppName} \n > bun install \n > bun run dev\n`); } program diff --git a/packages/create-sei/templates/next-template/package.json b/packages/create-sei/templates/next-template/package.json index 503df52cc..ddf1b4ba0 100644 --- a/packages/create-sei/templates/next-template/package.json +++ b/packages/create-sei/templates/next-template/package.json @@ -21,7 +21,7 @@ "@mantine/hooks": "^8.2.5", "@mantine/notifications": "^8.2.5", "@rainbow-me/rainbowkit": "^2.2.8", - "@sei-js/precompiles": "^2.1.2", + "@sei-js/precompiles": "^3.0.0", "@tabler/icons-react": "^3.34.1", "@tailwindcss/postcss": "^4.1.12", "@tanstack/react-query": "^5.85.3", diff --git a/packages/create-sei/tsconfig.json b/packages/create-sei/tsconfig.json index 6e7560bf9..65ccc4a08 100644 --- a/packages/create-sei/tsconfig.json +++ b/packages/create-sei/tsconfig.json @@ -3,10 +3,12 @@ "exclude": ["node_modules", "dist", "test", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.js", "**/*.test.js", "**/__tests__/**/*"], "compilerOptions": { "outDir": "./dist", + "rootDir": "./src", "target": "ES2020", "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", + "module": "NodeNext", + "moduleResolution": "NodeNext", "skipLibCheck": true, "isolatedModules": true, "jsx": "react-jsx", diff --git a/packages/create-sei/yarn.lock b/packages/create-sei/yarn.lock deleted file mode 100644 index b969a68d8..000000000 --- a/packages/create-sei/yarn.lock +++ /dev/null @@ -1,4148 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/code-frame@npm:7.27.1" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.27.1" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.1.1" - checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.27.2": - version: 7.28.0 - resolution: "@babel/compat-data@npm:7.28.0" - checksum: 10c0/c4e527302bcd61052423f757355a71c3bc62362bac13f7f130de16e439716f66091ff5bdecda418e8fa0271d4c725f860f0ee23ab7bf6e769f7a8bb16dfcb531 - languageName: node - linkType: hard - -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": - version: 7.28.3 - resolution: "@babel/core@npm:7.28.3" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.3" - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-module-transforms": "npm:^7.28.3" - "@babel/helpers": "npm:^7.28.3" - "@babel/parser": "npm:^7.28.3" - "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.3" - "@babel/types": "npm:^7.28.2" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10c0/e6b3eb830c4b93f5a442b305776df1cd2bb4fafa4612355366f67c764f3e54a69d45b84def77fb2d4fd83439102667b0a92c3ea2838f678733245b748c602a7b - languageName: node - linkType: hard - -"@babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2": - version: 7.28.3 - resolution: "@babel/generator@npm:7.28.3" - dependencies: - "@babel/parser": "npm:^7.28.3" - "@babel/types": "npm:^7.28.2" - "@jridgewell/gen-mapping": "npm:^0.3.12" - "@jridgewell/trace-mapping": "npm:^0.3.28" - jsesc: "npm:^3.0.2" - checksum: 10c0/0ff58bcf04f8803dcc29479b547b43b9b0b828ec1ee0668e92d79f9e90f388c28589056637c5ff2fd7bcf8d153c990d29c448d449d852bf9d1bc64753ca462bc - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/helper-compilation-targets@npm:7.27.2" - dependencies: - "@babel/compat-data": "npm:^7.27.2" - "@babel/helper-validator-option": "npm:^7.27.1" - browserslist: "npm:^4.24.0" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 - languageName: node - linkType: hard - -"@babel/helper-globals@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/helper-globals@npm:7.28.0" - checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-module-imports@npm:7.27.1" - dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/helper-module-transforms@npm:7.28.3" - dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.3" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.27.1 - resolution: "@babel/helper-plugin-utils@npm:7.27.1" - checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-identifier@npm:7.27.1" - checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-option@npm:7.27.1" - checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/helpers@npm:7.28.3" - dependencies: - "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.2" - checksum: 10c0/03a8f94135415eec62d37be9c62c63908f2d5386c7b00e04545de4961996465775330e3eb57717ea7451e19b0e24615777ebfec408c2adb1df3b10b4df6bf1ce - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/parser@npm:7.28.3" - dependencies: - "@babel/types": "npm:^7.28.2" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/1f41eb82623b0ca0f94521b57f4790c6c457cd922b8e2597985b36bdec24114a9ccf54640286a760ceb60f11fe9102d192bf60477aee77f5d45f1029b9b72729 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.27.1 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.27.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.27.1 - resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d - languageName: node - linkType: hard - -"@babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": - version: 7.27.2 - resolution: "@babel/template@npm:7.27.2" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.2" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/traverse@npm:7.28.3" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.3" - "@babel/helper-globals": "npm:^7.28.0" - "@babel/parser": "npm:^7.28.3" - "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.2" - debug: "npm:^4.3.1" - checksum: 10c0/26e95b29a46925b7b41255e03185b7e65b2c4987e14bbee7bbf95867fb19c69181f301bbe1c7b201d4fe0cce6aa0cbea0282dad74b3a0fef3d9058f6c76fdcb3 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.28.2, @babel/types@npm:^7.3.3": - version: 7.28.2 - resolution: "@babel/types@npm:7.28.2" - dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - checksum: 10c0/24b11c9368e7e2c291fe3c1bcd1ed66f6593a3975f479cbb9dd7b8c8d8eab8a962b0d2fca616c043396ce82500ac7d23d594fbbbd013828182c01596370a0b10 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@inquirer/figures@npm:^1.0.3": - version: 1.0.3 - resolution: "@inquirer/figures@npm:1.0.3" - checksum: 10c0/099e062f000baafb4010014ece443d0cd211f562194854dc52a128bfe514611f8cc3da4cdb5092d75440956aff201dcd8e893b8a71feb104f97b0b00c6a696cf - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 - languageName: node - linkType: hard - -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" - dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c - languageName: node - linkType: hard - -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea - languageName: node - linkType: hard - -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b - languageName: node - linkType: hard - -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.13 - resolution: "@jridgewell/gen-mapping@npm:0.3.13" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.0" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.5 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" - checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": - version: 0.3.30 - resolution: "@jridgewell/trace-mapping@npm:0.3.30" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3a1516c10f44613b9ba27c37a02ff8f410893776b2b3dad20a391b51b884dd60f97bbb56936d65d2ff8fe978510a0000266654ab8426bdb9ceb5fb4585b19e23 - languageName: node - linkType: hard - -"@ljharb/through@npm:^2.3.13": - version: 2.3.13 - resolution: "@ljharb/through@npm:2.3.13" - dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/fb60b2fb2c674a674d8ebdb8972ccf52f8a62a9c1f5a2ac42557bc0273231c65d642aa2d7627cbb300766a25ae4642acd0f95fba2f8a1ff891086f0cb15807c3 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@sei-js/create-sei@workspace:.": - version: 0.0.0-use.local - resolution: "@sei-js/create-sei@workspace:." - dependencies: - "@jest/globals": "npm:^29.7.0" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^20.14.10" - boxen: "npm:^7.1.1" - commander: "npm:^12.1.0" - inquirer: "npm:^9.2.15" - jest: "npm:^29.7.0" - ts-jest: "npm:^29.1.2" - ts-node: "npm:^10.9.2" - typescript: "npm:^5.5.3" - bin: - create-sei: ./dist/main.js - languageName: unknown - linkType: soft - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" - dependencies: - type-detect: "npm:4.0.8" - checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.27.0 - resolution: "@types/babel__generator@npm:7.27.0" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd - languageName: node - linkType: hard - -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" - dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b - languageName: node - linkType: hard - -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.28.0 - resolution: "@types/babel__traverse@npm:7.28.0" - dependencies: - "@babel/types": "npm:^7.28.2" - checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 - languageName: node - linkType: hard - -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jest@npm:^29.5.12": - version: 29.5.14 - resolution: "@types/jest@npm:29.5.14" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 20.14.8 - resolution: "@types/node@npm:20.14.8" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/06d4643fa3b179b41fe19f9c75c240278ca1f7a313b3b837bc36ea119499c7ad77f06bbe72694ac04aa91ec77fe747baa09b889f4c435450c1724a26bd55f160 - languageName: node - linkType: hard - -"@types/node@npm:^20.14.10": - version: 20.19.11 - resolution: "@types/node@npm:20.19.11" - dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/9eecc4be04f1a8afbb8f8059b322fd0bbceeb02f96669bbaa52fb0b264c2e3269432a8833ada4be7b335e18d6b438b2d2c0274f5b3f54cc2081cb7c5374a6561 - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.4.1": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" - bin: - acorn: bin/acorn - checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.4 - resolution: "agent-base@npm:7.1.4" - checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe - languageName: node - linkType: hard - -"ansi-align@npm:^3.0.1": - version: 3.0.1 - resolution: "ansi-align@npm:3.0.1" - dependencies: - string-width: "npm:^4.1.0" - checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:^3.0.3": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.2.0 - resolution: "babel-preset-current-node-syntax@npm:1.2.0" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0 || ^8.0.0-0 - checksum: 10c0/94a4f81cddf9b051045d08489e4fff7336292016301664c138cfa3d9ffe3fe2ba10a24ad6ae589fd95af1ac72ba0216e1653555c187e694d7b17be0c002bea10 - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - -"boxen@npm:^7.1.1": - version: 7.1.1 - resolution: "boxen@npm:7.1.1" - dependencies: - ansi-align: "npm:^3.0.1" - camelcase: "npm:^7.0.1" - chalk: "npm:^5.2.0" - cli-boxes: "npm:^3.0.0" - string-width: "npm:^5.1.2" - type-fest: "npm:^2.13.0" - widest-line: "npm:^4.0.1" - wrap-ansi: "npm:^8.1.0" - checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.12 - resolution: "brace-expansion@npm:1.1.12" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.2 - resolution: "brace-expansion@npm:2.0.2" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf - languageName: node - linkType: hard - -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"browserslist@npm:^4.24.0": - version: 4.25.2 - resolution: "browserslist@npm:4.25.2" - dependencies: - caniuse-lite: "npm:^1.0.30001733" - electron-to-chromium: "npm:^1.5.199" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.3" - bin: - browserslist: cli.js - checksum: 10c0/3fd27c6d569125e08b476d0ded78232c756bffeb79f29cfa548961dfd62fa560f8bf60fdb52d496ba276aea0c843968dd38ed4138a724277715be3b41dac8861 - languageName: node - linkType: hard - -"bs-logger@npm:^0.2.6": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: "npm:2.x" - checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: "npm:^0.4.0" - checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"camelcase@npm:^7.0.1": - version: 7.0.1 - resolution: "camelcase@npm:7.0.1" - checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001733": - version: 1.0.30001735 - resolution: "caniuse-lite@npm:1.0.30001735" - checksum: 10c0/1cb74221f16f8835c903770c1cf88fb73a07298b8398396a2b97570136e8f691053ee5840eb589fe34b4ede14ab828c9421d893a67e43c26ef91ab052813cb8c - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"chalk@npm:^5.2.0, chalk@npm:^5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: 10c0/96e4731b9ec8050cbb56ab684e8c48d6c33f7826b755802d14e3ebfdc51c57afeece3ea39bc6b09acc359e4363525388b915e16640c1378053820f5e70d0f27d - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.4.3 - resolution: "cjs-module-lexer@npm:1.4.3" - checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be - languageName: node - linkType: hard - -"cli-boxes@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-boxes@npm:3.0.0" - checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.5.0": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 - languageName: node - linkType: hard - -"cli-width@npm:^4.1.0": - version: 4.1.0 - resolution: "cli-width@npm:4.1.0" - checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 - languageName: node - linkType: hard - -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"commander@npm:^12.1.0": - version: 12.1.0 - resolution: "commander@npm:12.1.0" - checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": - version: 4.4.1 - resolution: "debug@npm:4.4.1" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 - languageName: node - linkType: hard - -"dedent@npm:^1.0.0": - version: 1.6.0 - resolution: "dedent@npm:1.6.0" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: 10c0/671b8f5e390dd2a560862c4511dd6d2638e71911486f78cb32116551f8f2aa6fcaf50579ffffb2f866d46b5b80fd72470659ca5760ede8f967619ef7df79e8a5 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - -"defaults@npm:^1.0.3": - version: 1.0.4 - resolution: "defaults@npm:1.0.4" - dependencies: - clone: "npm:^1.0.2" - checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a - languageName: node - linkType: hard - -"define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.199": - version: 1.5.203 - resolution: "electron-to-chromium@npm:1.5.203" - checksum: 10c0/abe3ad155e5941e595e0d037ff1a26e4473edb04dd35150d6764ef424886c9b6908dadb1097f5bf1ecc3d23f6a42a287426b914a27c415d904d73a07cec7bba7 - languageName: node - linkType: hard - -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: "npm:^0.2.1" - checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.2.0": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 - languageName: node - linkType: hard - -"expect@npm:^29.0.0, expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"external-editor@npm:^3.1.0": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" - dependencies: - chardet: "npm:^0.7.0" - iconv-lite: "npm:^0.4.24" - tmp: "npm:^0.0.33" - checksum: 10c0/c98f1ba3efdfa3c561db4447ff366a6adb5c1e2581462522c56a18bf90dfe4da382f9cd1feee3e330108c3595a854b218272539f311ba1b3298f841eb0fbf339 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 - languageName: node - linkType: hard - -"fdir@npm:^6.4.4": - version: 6.5.0 - resolution: "fdir@npm:6.5.0" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:^2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"handlebars@npm:^4.7.8": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-proto@npm:^1.0.1": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 - languageName: node - linkType: hard - -"hasown@npm:^2.0.0, hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.2.0 - resolution: "http-cache-semantics@npm:4.2.0" - checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"import-local@npm:^3.0.2": - version: 3.2.0 - resolution: "import-local@npm:3.2.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"inquirer@npm:^9.2.15": - version: 9.2.23 - resolution: "inquirer@npm:9.2.23" - dependencies: - "@inquirer/figures": "npm:^1.0.3" - "@ljharb/through": "npm:^2.3.13" - ansi-escapes: "npm:^4.3.2" - chalk: "npm:^5.3.0" - cli-cursor: "npm:^3.1.0" - cli-width: "npm:^4.1.0" - external-editor: "npm:^3.1.0" - lodash: "npm:^4.17.21" - mute-stream: "npm:1.0.0" - ora: "npm:^5.4.1" - run-async: "npm:^3.0.0" - rxjs: "npm:^7.8.1" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^6.2.0" - checksum: 10c0/6adf3a6a9c666ff2baf3e8aef841f3ae266506cf0256ef445de5ec9a456aec8d6ff38180cc436ad3f9045cbb018d11dca98ed3570c28fbf8a857f1e4712eddc7 - languageName: node - linkType: hard - -"ip-address@npm:^10.0.1": - version: 10.0.1 - resolution: "ip-address@npm:10.0.1" - checksum: 10c0/1634d79dae18394004775cb6d699dc46b7c23df6d2083164025a2b15240c1164fccde53d0e08bd5ee4fc53913d033ab6b5e395a809ad4b956a940c446e948843 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.3 - resolution: "istanbul-lib-instrument@npm:6.0.3" - dependencies: - "@babel/core": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@istanbuljs/schema": "npm:^0.1.3" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3": - version: 3.2.0 - resolution: "istanbul-reports@npm:3.2.0" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d - languageName: node - linkType: hard - -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 - languageName: node - linkType: hard - -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 - languageName: node - linkType: hard - -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 - languageName: node - linkType: hard - -"jest@npm:^29.7.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b - languageName: node - linkType: hard - -"js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"jsesc@npm:^3.0.2": - version: 3.1.0 - resolution: "jsesc@npm:3.1.0" - bin: - jsesc: bin/jsesc - checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 - languageName: node - linkType: hard - -"json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d - languageName: node - linkType: hard - -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - -"lodash.memoize@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 - languageName: node - linkType: hard - -"lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: "npm:^3.0.2" - checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1, make-error@npm:^1.3.6": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minimist@npm:^1.2.5": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"mute-stream@npm:1.0.0": - version: 1.0.0 - resolution: "mute-stream@npm:1.0.0" - checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.3.0 - resolution: "node-gyp@npm:11.3.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/5f4ad5a729386f7b50096efd4934b06c071dbfbc7d7d541a66d6959a7dccd62f53ff3dc95fffb60bf99d8da1270e23769f82246fcaa6c5645a70c967ae9a3398 - languageName: node - linkType: hard - -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a - languageName: node - linkType: hard - -"node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 - languageName: node - linkType: hard - -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"picocolors@npm:^1.1.1": - version: 1.1.1 - resolution: "picocolors@npm:1.1.1" - checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.3 - resolution: "picomatch@npm:4.0.3" - checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 - languageName: node - linkType: hard - -"pirates@npm:^4.0.4": - version: 4.0.7 - resolution: "pirates@npm:4.0.7" - checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"pure-rand@npm:^6.0.0": - version: 6.1.0 - resolution: "pure-rand@npm:6.1.0" - checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 - languageName: node - linkType: hard - -"readable-stream@npm:^3.4.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - -"resolve.exports@npm:^2.0.0": - version: 2.0.3 - resolution: "resolve.exports@npm:2.0.3" - checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d - languageName: node - linkType: hard - -"resolve@npm:^1.20.0": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"run-async@npm:^3.0.0": - version: 3.0.0 - resolution: "run-async@npm:3.0.0" - checksum: 10c0/b18b562ae37c3020083dcaae29642e4cc360c824fbfb6b7d50d809a9d5227bb986152d09310255842c8dce40526e82ca768f02f00806c91ba92a8dfa6159cb85 - languageName: node - linkType: hard - -"rxjs@npm:^7.8.1": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.7.2": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.1": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.7 - resolution: "socks@npm:2.8.7" - dependencies: - ip-address: "npm:^10.0.1" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12": - version: 0.2.14 - resolution: "tinyglobby@npm:0.2.14" - dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 - languageName: node - linkType: hard - -"tmp@npm:^0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: "npm:~1.0.2" - checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 - languageName: node - linkType: hard - -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"ts-jest@npm:^29.1.2": - version: 29.4.1 - resolution: "ts-jest@npm:29.4.1" - dependencies: - bs-logger: "npm:^0.2.6" - fast-json-stable-stringify: "npm:^2.1.0" - handlebars: "npm:^4.7.8" - json5: "npm:^2.2.3" - lodash.memoize: "npm:^4.1.2" - make-error: "npm:^1.3.6" - semver: "npm:^7.7.2" - type-fest: "npm:^4.41.0" - yargs-parser: "npm:^21.1.1" - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/transform": ^29.0.0 || ^30.0.0 - "@jest/types": ^29.0.0 || ^30.0.0 - babel-jest: ^29.0.0 || ^30.0.0 - jest: ^29.0.0 || ^30.0.0 - jest-util: ^29.0.0 || ^30.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/transform": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - jest-util: - optional: true - bin: - ts-jest: cli.js - checksum: 10c0/e4881717323c9e03ba9ad2f8726872cd0bede7f3f34095754aa850688b319f50294211cfd330edad878005e70601cbbbb0bb489ed0949a9aa545491e1083e923 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tslib@npm:^2.1.0": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^2.13.0": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-fest@npm:^4.41.0": - version: 4.41.0 - resolution: "type-fest@npm:4.41.0" - checksum: 10c0/f5ca697797ed5e88d33ac8f1fec21921839871f808dc59345c9cf67345bfb958ce41bd821165dbf3ae591cedec2bf6fe8882098dfdd8dc54320b859711a2c1e4 - languageName: node - linkType: hard - -"typescript@npm:^5.5.3": - version: 5.9.2 - resolution: "typescript@npm:5.9.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/cd635d50f02d6cf98ed42de2f76289701c1ec587a363369255f01ed15aaf22be0813226bff3c53e99d971f9b540e0b3cc7583dbe05faded49b1b0bed2f638a18 - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.5.3#optional!builtin": - version: 5.9.2 - resolution: "typescript@patch:typescript@npm%3A5.9.2#optional!builtin::version=5.9.2&hash=5786d5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/34d2a8e23eb8e0d1875072064d5e1d9c102e0bdce56a10a25c0b917b8aa9001a9cf5c225df12497e99da107dc379360bc138163c66b55b95f5b105b50578067e - languageName: node - linkType: hard - -"uglify-js@npm:^3.1.4": - version: 3.19.3 - resolution: "uglify-js@npm:3.19.3" - bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.1.3": - version: 1.1.3 - resolution: "update-browserslist-db@npm:1.1.3" - dependencies: - escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.1" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.0.1": - version: 9.3.0 - resolution: "v8-to-istanbul@npm:9.3.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10c0/968bcf1c7c88c04df1ffb463c179558a2ec17aa49e49376120504958239d9e9dad5281aa05f2a78542b8557f2be0b0b4c325710262f3b838b40d703d5ed30c23 - languageName: node - linkType: hard - -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e - languageName: node - linkType: hard - -"wcwidth@npm:^1.0.1": - version: 1.0.1 - resolution: "wcwidth@npm:1.0.1" - dependencies: - defaults: "npm:^1.0.3" - checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"widest-line@npm:^4.0.1": - version: 4.0.1 - resolution: "widest-line@npm:4.0.1" - dependencies: - string-width: "npm:^5.0.1" - checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - -"yargs@npm:^17.3.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard diff --git a/packages/mcp-server/bin/mcp-server.js b/packages/mcp-server/bin/mcp-server.js index f4af01d2a..ced8741a0 100755 --- a/packages/mcp-server/bin/mcp-server.js +++ b/packages/mcp-server/bin/mcp-server.js @@ -1,2 +1,4 @@ #!/usr/bin/env node -import('../dist/esm/index.js'); +import { main } from '../dist/index.js'; + +await main(); diff --git a/packages/mcp-server/coverage.json b/packages/mcp-server/coverage.json deleted file mode 100644 index ab6b6e575..000000000 --- a/packages/mcp-server/coverage.json +++ /dev/null @@ -1,4766 +0,0 @@ -{ - "numFailedTestSuites": 0, - "numFailedTests": 0, - "numPassedTestSuites": 13, - "numPassedTests": 176, - "numPendingTestSuites": 0, - "numPendingTests": 0, - "numRuntimeErrorTestSuites": 0, - "numTodoTests": 0, - "numTotalTestSuites": 13, - "numTotalTests": 176, - "openHandles": [], - "snapshot": { - "added": 0, - "didUpdate": false, - "failure": false, - "filesAdded": 0, - "filesRemoved": 0, - "filesRemovedList": [], - "filesUnmatched": 0, - "filesUpdated": 0, - "matched": 0, - "total": 0, - "unchecked": 0, - "uncheckedKeysByFile": [], - "unmatched": 0, - "updated": 0 - }, - "startTime": 1748058916005, - "success": true, - "testResults": [ - { - "assertionResults": [ - { - "ancestorTitles": ["EVM Tools", "Network Information Tools"], - "duration": 2, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Network Information Tools get_chain_info - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 7, - "retryReasons": [], - "status": "passed", - "title": "get_chain_info - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Network Information Tools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Network Information Tools get_chain_info - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_chain_info - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Network Information Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Network Information Tools get_supported_networks - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_supported_networks - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Network Information Tools"], - "duration": 3, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Network Information Tools get_supported_networks - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_supported_networks - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Block Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Block Tools get_block_by_number - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "get_block_by_number - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Block Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Block Tools get_block_by_number - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_block_by_number - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Block Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Block Tools get_latest_block - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "get_latest_block - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Block Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Block Tools get_latest_block - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_latest_block - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_balance - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_balance - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_balance - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_balance - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_token_balance - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_token_balance - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_token_balance - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_token_balance - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_nft_balance - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_nft_balance - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_nft_balance - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_nft_balance - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_erc1155_balance - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_erc1155_balance - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Balance Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Balance Tools get_erc1155_balance - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_erc1155_balance - error path" - }, - { - "ancestorTitles": ["EVM Tools"], - "duration": 7, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools should register all expected tools", - "invocations": 1, - "location": null, - "numPassingAsserts": 18, - "retryReasons": [], - "status": "passed", - "title": "should register all expected tools" - }, - { - "ancestorTitles": ["EVM Tools", "Transaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Transaction Tools get_transaction - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_transaction - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Transaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Transaction Tools get_transaction - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_transaction - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Transaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Transaction Tools get_transaction_receipt - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_transaction_receipt - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Transaction Tools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Transaction Tools get_transaction_receipt - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_transaction_receipt - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Token Information Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Token Information Tools get_token_info - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_token_info - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Token Information Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Token Information Tools get_token_info - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_token_info - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Token Information Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Token Information Tools get_nft_info - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "get_nft_info - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Token Information Tools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Token Information Tools get_nft_info - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "get_nft_info - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools read_contract - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "read_contract - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools read_contract - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "read_contract - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools write_contract - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "write_contract - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools write_contract - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "write_contract - error path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools is_contract - success path", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "is_contract - success path" - }, - { - "ancestorTitles": ["EVM Tools", "Contract Interaction Tools"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "EVM Tools Contract Interaction Tools is_contract - error path", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "is_contract - error path" - } - ], - "endTime": 1748058916368, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/tools.integration.test.ts", - "startTime": 1748058916095, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Transfer Service", "transferSei"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferSei should transfer SEI tokens successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should transfer SEI tokens successfully" - }, - { - "ancestorTitles": ["Transfer Service", "transferSei"], - "duration": 6, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferSei should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Transfer Service", "transferSei"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferSei should throw error when wallet account is not initialized", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when wallet account is not initialized" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC20"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC20 should transfer ERC20 tokens successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should transfer ERC20 tokens successfully" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC20"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC20 should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC20"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC20 should throw error when wallet account is not initialized", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when wallet account is not initialized" - }, - { - "ancestorTitles": ["Transfer Service", "approveERC20"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service approveERC20 should approve ERC20 token spending successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should approve ERC20 token spending successfully" - }, - { - "ancestorTitles": ["Transfer Service", "approveERC20"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service approveERC20 should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Transfer Service", "approveERC20"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service approveERC20 should throw error when wallet account is not initialized", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when wallet account is not initialized" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC721"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC721 should transfer ERC721 token successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should transfer ERC721 token successfully" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC721"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC721 should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC721"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC721 should throw error when wallet account is not initialized", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when wallet account is not initialized" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC721"], - "duration": 5, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC721 should handle errors when fetching NFT metadata", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors when fetching NFT metadata" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC1155"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC1155 should transfer ERC1155 token successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should transfer ERC1155 token successfully" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC1155"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC1155 should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Transfer Service", "transferERC1155"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transfer Service transferERC1155 should throw error when wallet account is not initialized", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error when wallet account is not initialized" - } - ], - "endTime": 1748058916515, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/transfer.test.ts", - "startTime": 1748058916381, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Contract Service", "readContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service readContract should call public client readContract with correct parameters", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should call public client readContract with correct parameters" - }, - { - "ancestorTitles": ["Contract Service", "readContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service readContract should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Contract Service", "writeContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service writeContract should call wallet client writeContract with correct parameters", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should call wallet client writeContract with correct parameters" - }, - { - "ancestorTitles": ["Contract Service", "writeContract"], - "duration": 3, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service writeContract should throw error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should throw error when private key is not available" - }, - { - "ancestorTitles": ["Contract Service", "writeContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service writeContract should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Contract Service", "getLogs"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service getLogs should call public client getLogs with correct parameters", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should call public client getLogs with correct parameters" - }, - { - "ancestorTitles": ["Contract Service", "getLogs"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service getLogs should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Contract Service", "isContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service isContract should return true when address has bytecode", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should return true when address has bytecode" - }, - { - "ancestorTitles": ["Contract Service", "isContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service isContract should return false when address has no bytecode", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return false when address has no bytecode" - }, - { - "ancestorTitles": ["Contract Service", "isContract"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service isContract should return false when bytecode is undefined", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return false when bytecode is undefined" - }, - { - "ancestorTitles": ["Contract Service", "isContract"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Contract Service isContract should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - } - ], - "endTime": 1748058916628, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/contracts.test.ts", - "startTime": 1748058916525, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Transactions Service", "getTransaction"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransaction should return transaction data for a given hash", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return transaction data for a given hash" - }, - { - "ancestorTitles": ["Transactions Service", "getTransaction"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransaction should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Transactions Service", "getTransaction"], - "duration": 2, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransaction should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionReceipt"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionReceipt should return transaction receipt for a given hash", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return transaction receipt for a given hash" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionReceipt"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionReceipt should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionReceipt"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionReceipt should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionCount"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionCount should return transaction count for a given address", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return transaction count for a given address" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionCount"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionCount should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Transactions Service", "getTransactionCount"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getTransactionCount should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Transactions Service", "estimateGas"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service estimateGas should return gas estimate for given parameters", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return gas estimate for given parameters" - }, - { - "ancestorTitles": ["Transactions Service", "estimateGas"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service estimateGas should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Transactions Service", "estimateGas"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service estimateGas should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Transactions Service", "getChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getChainId should return chain ID for a given network", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return chain ID for a given network" - }, - { - "ancestorTitles": ["Transactions Service", "getChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getChainId should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Transactions Service", "getChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Transactions Service getChainId should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - } - ], - "endTime": 1748058916730, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/transactions.test.ts", - "startTime": 1748058916631, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Blocks Service", "getBlockNumber"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockNumber should return the current block number for a given network", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return the current block number for a given network" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockNumber"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockNumber should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockNumber"], - "duration": 2, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockNumber should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByNumber"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByNumber should return block data for a given block number", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return block data for a given block number" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByNumber"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByNumber should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByNumber"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByNumber should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByHash"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByHash should return block data for a given block hash", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return block data for a given block hash" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByHash"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByHash should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Blocks Service", "getBlockByHash"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getBlockByHash should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - }, - { - "ancestorTitles": ["Blocks Service", "getLatestBlock"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getLatestBlock should return the latest block for a given network", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should return the latest block for a given network" - }, - { - "ancestorTitles": ["Blocks Service", "getLatestBlock"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getLatestBlock should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Blocks Service", "getLatestBlock"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Blocks Service getLatestBlock should handle errors from client calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from client calls" - } - ], - "endTime": 1748058916841, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/blocks.test.ts", - "startTime": 1748058916732, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Balance Service", "getBalance"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service getBalance should return the native token balance", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return the native token balance" - }, - { - "ancestorTitles": ["Balance Service", "getERC20Balance"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service getERC20Balance should return the ERC20 token balance with metadata", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return the ERC20 token balance with metadata" - }, - { - "ancestorTitles": ["Balance Service", "isNFTOwner"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service isNFTOwner should return true if address owns the NFT", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return true if address owns the NFT" - }, - { - "ancestorTitles": ["Balance Service", "isNFTOwner"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service isNFTOwner should return false if address does not own the NFT", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return false if address does not own the NFT" - }, - { - "ancestorTitles": ["Balance Service", "isNFTOwner"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service isNFTOwner should return false if there is an error", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return false if there is an error" - }, - { - "ancestorTitles": ["Balance Service", "getERC721Balance"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service getERC721Balance should return the ERC721 token balance with metadata", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return the ERC721 token balance with metadata" - }, - { - "ancestorTitles": ["Balance Service", "getERC1155Balance"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Balance Service getERC1155Balance should return the balance of the ERC1155 token", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return the balance of the ERC1155 token" - } - ], - "endTime": 1748058916893, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/balance.test.ts", - "startTime": 1748058916844, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Tokens Service", "getERC20TokenInfo"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC20TokenInfo should return token information for ERC20 tokens", - "invocations": 1, - "location": null, - "numPassingAsserts": 8, - "retryReasons": [], - "status": "passed", - "title": "should return token information for ERC20 tokens" - }, - { - "ancestorTitles": ["Tokens Service", "getERC20TokenInfo"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC20TokenInfo should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Tokens Service", "getERC20TokenInfo"], - "duration": 3, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC20TokenInfo should handle errors from contract calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from contract calls" - }, - { - "ancestorTitles": ["Tokens Service", "getERC721TokenMetadata"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC721TokenMetadata should return token metadata for ERC721 tokens", - "invocations": 1, - "location": null, - "numPassingAsserts": 6, - "retryReasons": [], - "status": "passed", - "title": "should return token metadata for ERC721 tokens" - }, - { - "ancestorTitles": ["Tokens Service", "getERC721TokenMetadata"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC721TokenMetadata should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Tokens Service", "getERC721TokenMetadata"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC721TokenMetadata should handle errors from contract calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from contract calls" - }, - { - "ancestorTitles": ["Tokens Service", "getERC1155TokenURI"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC1155TokenURI should return token URI for ERC1155 tokens", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should return token URI for ERC1155 tokens" - }, - { - "ancestorTitles": ["Tokens Service", "getERC1155TokenURI"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC1155TokenURI should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Tokens Service", "getERC1155TokenURI"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Tokens Service getERC1155TokenURI should handle errors from contract calls", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle errors from contract calls" - } - ], - "endTime": 1748058916956, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/tokens.test.ts", - "startTime": 1748058916897, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants DEFAULT_NETWORK is set correctly", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "DEFAULT_NETWORK is set correctly" - }, - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants DEFAULT_RPC_URL is set correctly", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "DEFAULT_RPC_URL is set correctly" - }, - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants DEFAULT_CHAIN_ID is set correctly", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "DEFAULT_CHAIN_ID is set correctly" - }, - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants chainMap contains expected chains", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "chainMap contains expected chains" - }, - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants networkNameMap contains expected mappings", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "networkNameMap contains expected mappings" - }, - { - "ancestorTitles": ["chains module", "constants"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module constants rpcUrlMap contains expected URLs", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "rpcUrlMap contains expected URLs" - }, - { - "ancestorTitles": ["chains module", "resolveChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module resolveChainId resolves number chain IDs directly", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "resolves number chain IDs directly" - }, - { - "ancestorTitles": ["chains module", "resolveChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module resolveChainId resolves network names to chain IDs", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "resolves network names to chain IDs" - }, - { - "ancestorTitles": ["chains module", "resolveChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module resolveChainId resolves case-insensitive network names", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "resolves case-insensitive network names" - }, - { - "ancestorTitles": ["chains module", "resolveChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module resolveChainId resolves string numbers to chain IDs", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "resolves string numbers to chain IDs" - }, - { - "ancestorTitles": ["chains module", "resolveChainId"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module resolveChainId defaults to DEFAULT_CHAIN_ID for unknown network names", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "defaults to DEFAULT_CHAIN_ID for unknown network names" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns chain for numeric chain ID", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns chain for numeric chain ID" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns chain for network name", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns chain for network name" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns sei chain when network name exists but chain mapping is missing", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "returns sei chain when network name exists but chain mapping is missing" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns chain for case-insensitive network name", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns chain for case-insensitive network name" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns default chain when no parameter is provided", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "returns default chain when no parameter is provided" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain returns sei chain for unknown numeric chain ID", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "returns sei chain for unknown numeric chain ID" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 3, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain throws error for numeric string that is not in networkNameMap", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "throws error for numeric string that is not in networkNameMap" - }, - { - "ancestorTitles": ["chains module", "getChain"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getChain throws error for unknown network name", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "throws error for unknown network name" - }, - { - "ancestorTitles": ["chains module", "getRpcUrl"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getRpcUrl returns correct RPC URL for numeric chain ID", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns correct RPC URL for numeric chain ID" - }, - { - "ancestorTitles": ["chains module", "getRpcUrl"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getRpcUrl returns correct RPC URL for network name", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns correct RPC URL for network name" - }, - { - "ancestorTitles": ["chains module", "getRpcUrl"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getRpcUrl returns default RPC URL for unknown chain ID", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "returns default RPC URL for unknown chain ID" - }, - { - "ancestorTitles": ["chains module", "getRpcUrl"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getRpcUrl returns default RPC URL when no parameter is provided", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "returns default RPC URL when no parameter is provided" - }, - { - "ancestorTitles": ["chains module", "getSupportedNetworks"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "chains module getSupportedNetworks returns sorted list of supported networks", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "returns sorted list of supported networks" - } - ], - "endTime": 1748058917010, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/chains.test.ts", - "startTime": 1748058916958, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Utils Module", "parseEther"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Utils Module parseEther should convert ether to wei", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should convert ether to wei" - }, - { - "ancestorTitles": ["Utils Module", "formatJson"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Utils Module formatJson should format an object to JSON with bigint handling", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should format an object to JSON with bigint handling" - }, - { - "ancestorTitles": ["Utils Module", "formatJson"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Utils Module formatJson should handle objects without bigints", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "should handle objects without bigints" - }, - { - "ancestorTitles": ["Utils Module", "validateAddress"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Utils Module validateAddress should return the address if it is valid", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should return the address if it is valid" - }, - { - "ancestorTitles": ["Utils Module", "validateAddress"], - "duration": 2, - "failureDetails": [], - "failureMessages": [], - "fullName": "Utils Module validateAddress should throw an error if the address is invalid", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should throw an error if the address is invalid" - } - ], - "endTime": 1748058917048, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/utils.test.ts", - "startTime": 1748058917012, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["registerEVMTools"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools registers all expected tools", - "invocations": 1, - "location": null, - "numPassingAsserts": 14, - "retryReasons": [], - "status": "passed", - "title": "registers all expected tools" - }, - { - "ancestorTitles": ["registerEVMTools"], - "duration": 2, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools each registered tool has a handler function", - "invocations": 1, - "location": null, - "numPassingAsserts": 27, - "retryReasons": [], - "status": "passed", - "title": "each registered tool has a handler function" - }, - { - "ancestorTitles": ["registerEVMTools", "get_chain_info tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_chain_info tool returns chain info successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "returns chain info successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_chain_info tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_chain_info tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_supported_networks tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_supported_networks tool returns supported networks successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns supported networks successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_supported_networks tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_supported_networks tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_block_by_number tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_block_by_number tool returns block information successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns block information successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_block_by_number tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_block_by_number tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_balance tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_balance tool returns balance information successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns balance information successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_balance tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_balance tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_latest_block tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_latest_block tool returns latest block information successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns latest block information successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_latest_block tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_latest_block tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_nft_balance tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_nft_balance tool returns NFT balance successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns NFT balance successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_nft_balance tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_nft_balance tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_erc1155_balance tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_erc1155_balance tool returns ERC1155 token balance successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns ERC1155 token balance successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_erc1155_balance tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_erc1155_balance tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_token_info tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_token_info tool returns token information successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns token information successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_token_info tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_token_info tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_nft_info tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_nft_info tool returns NFT information successfully", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "returns NFT information successfully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_nft_info tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_nft_info tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - }, - { - "ancestorTitles": ["registerEVMTools", "get_address_from_private_key tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_address_from_private_key tool returns address successfully when private key is available", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns address successfully when private key is available" - }, - { - "ancestorTitles": ["registerEVMTools", "get_address_from_private_key tool"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_address_from_private_key tool returns error when private key is not available", - "invocations": 1, - "location": null, - "numPassingAsserts": 3, - "retryReasons": [], - "status": "passed", - "title": "returns error when private key is not available" - }, - { - "ancestorTitles": ["registerEVMTools", "get_address_from_private_key tool"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "registerEVMTools get_address_from_private_key tool handles errors gracefully", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "handles errors gracefully" - } - ], - "endTime": 1748058917071, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/tools.handlers.test.ts", - "startTime": 1748058917049, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Client Service", "getPublicClient"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getPublicClient should create and return a new public client when not cached", - "invocations": 1, - "location": null, - "numPassingAsserts": 5, - "retryReasons": [], - "status": "passed", - "title": "should create and return a new public client when not cached" - }, - { - "ancestorTitles": ["Client Service", "getPublicClient"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getPublicClient should return cached client for the same network", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should return cached client for the same network" - }, - { - "ancestorTitles": ["Client Service", "getPublicClient"], - "duration": 3, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getPublicClient should throw error if cache has key but client is undefined", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should throw error if cache has key but client is undefined" - }, - { - "ancestorTitles": ["Client Service", "getPublicClient"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getPublicClient should create different clients for different networks", - "invocations": 1, - "location": null, - "numPassingAsserts": 4, - "retryReasons": [], - "status": "passed", - "title": "should create different clients for different networks" - }, - { - "ancestorTitles": ["Client Service", "getPublicClient"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getPublicClient should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Client Service", "getWalletClient"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getWalletClient should create and return a wallet client", - "invocations": 1, - "location": null, - "numPassingAsserts": 6, - "retryReasons": [], - "status": "passed", - "title": "should create and return a wallet client" - }, - { - "ancestorTitles": ["Client Service", "getWalletClient"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getWalletClient should use default network when none is specified", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should use default network when none is specified" - }, - { - "ancestorTitles": ["Client Service", "getAddressFromPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Client Service getAddressFromPrivateKey should return the address derived from the private key", - "invocations": 1, - "location": null, - "numPassingAsserts": 2, - "retryReasons": [], - "status": "passed", - "title": "should return the address derived from the private key" - } - ], - "endTime": 1748058917088, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/services/clients.test.ts", - "startTime": 1748058917074, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Config Module Initialization", "formatPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization formatPrivateKey should return undefined for empty string", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return undefined for empty string" - }, - { - "ancestorTitles": ["Config Module Initialization", "formatPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization formatPrivateKey should return undefined for undefined", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return undefined for undefined" - }, - { - "ancestorTitles": ["Config Module Initialization", "formatPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization formatPrivateKey should add 0x prefix if missing", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should add 0x prefix if missing" - }, - { - "ancestorTitles": ["Config Module Initialization", "formatPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization formatPrivateKey should not modify key if 0x prefix exists", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should not modify key if 0x prefix exists" - }, - { - "ancestorTitles": ["Config Module Initialization", "initializeConfig"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization initializeConfig should set privateKey to undefined when PRIVATE_KEY is not set", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should set privateKey to undefined when PRIVATE_KEY is not set" - }, - { - "ancestorTitles": ["Config Module Initialization", "initializeConfig"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization initializeConfig should set privateKey to undefined when PRIVATE_KEY is empty", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should set privateKey to undefined when PRIVATE_KEY is empty" - }, - { - "ancestorTitles": ["Config Module Initialization", "initializeConfig"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization initializeConfig should set privateKey correctly when PRIVATE_KEY is valid without 0x prefix", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should set privateKey correctly when PRIVATE_KEY is valid without 0x prefix" - }, - { - "ancestorTitles": ["Config Module Initialization", "initializeConfig"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization initializeConfig should set privateKey correctly when PRIVATE_KEY is valid with 0x prefix", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should set privateKey correctly when PRIVATE_KEY is valid with 0x prefix" - }, - { - "ancestorTitles": ["Config Module Initialization", "initializeConfig"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization initializeConfig should handle parsing failure", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should handle parsing failure" - }, - { - "ancestorTitles": ["Config Module Initialization", "getPrivateKeyAsHex"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization getPrivateKeyAsHex should return undefined if private key is not set", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return undefined if private key is not set" - }, - { - "ancestorTitles": ["Config Module Initialization", "getPrivateKeyAsHex"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module Initialization getPrivateKeyAsHex should return private key as Hex if set", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return private key as Hex if set" - } - ], - "endTime": 1748058917102, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/config.mock.test.ts", - "startTime": 1748058917090, - "status": "passed", - "summary": "" - }, - { - "assertionResults": [ - { - "ancestorTitles": ["Config Module", "formatPrivateKey"], - "duration": 1, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module formatPrivateKey should add 0x prefix if missing", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should add 0x prefix if missing" - }, - { - "ancestorTitles": ["Config Module", "formatPrivateKey"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module formatPrivateKey should not modify key if 0x prefix exists", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should not modify key if 0x prefix exists" - }, - { - "ancestorTitles": ["Config Module", "getPrivateKeyAsHex"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module getPrivateKeyAsHex should return undefined if private key is not set", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return undefined if private key is not set" - }, - { - "ancestorTitles": ["Config Module", "getPrivateKeyAsHex"], - "duration": 0, - "failureDetails": [], - "failureMessages": [], - "fullName": "Config Module getPrivateKeyAsHex should return private key as Hex if set", - "invocations": 1, - "location": null, - "numPassingAsserts": 1, - "retryReasons": [], - "status": "passed", - "title": "should return private key as Hex if set" - } - ], - "endTime": 1748058917115, - "message": "", - "name": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/config.test.ts", - "startTime": 1748058917103, - "status": "passed", - "summary": "" - } - ], - "wasInterrupted": false, - "coverageMap": { - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/chains.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/chains.ts", - "statementMap": { - "0": { "start": { "line": 35, "column": 0 }, "end": { "line": 35, "column": 16 } }, - "1": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 16 } }, - "2": { "start": { "line": 85, "column": 0 }, "end": { "line": 85, "column": 16 } }, - "3": { "start": { "line": 95, "column": 0 }, "end": { "line": 95, "column": 16 } }, - "4": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 57 } }, - "5": { "start": { "line": 5, "column": 13 }, "end": { "line": 5, "column": 37 } }, - "6": { "start": { "line": 6, "column": 13 }, "end": { "line": 6, "column": 62 } }, - "7": { "start": { "line": 7, "column": 13 }, "end": { "line": 7, "column": 37 } }, - "8": { "start": { "line": 10, "column": 13 }, "end": { "line": 14, "column": 2 } }, - "9": { "start": { "line": 17, "column": 13 }, "end": { "line": 21, "column": 2 } }, - "10": { "start": { "line": 24, "column": 13 }, "end": { "line": 28, "column": 2 } }, - "11": { "start": { "line": 36, "column": 1 }, "end": { "line": 38, "column": 2 } }, - "12": { "start": { "line": 37, "column": 2 }, "end": { "line": 37, "column": 25 } }, - "13": { "start": { "line": 41, "column": 21 }, "end": { "line": 41, "column": 50 } }, - "14": { "start": { "line": 44, "column": 1 }, "end": { "line": 46, "column": 2 } }, - "15": { "start": { "line": 45, "column": 2 }, "end": { "line": 45, "column": 37 } }, - "16": { "start": { "line": 49, "column": 18 }, "end": { "line": 49, "column": 46 } }, - "17": { "start": { "line": 50, "column": 1 }, "end": { "line": 52, "column": 2 } }, - "18": { "start": { "line": 51, "column": 2 }, "end": { "line": 51, "column": 18 } }, - "19": { "start": { "line": 55, "column": 1 }, "end": { "line": 55, "column": 25 } }, - "20": { "start": { "line": 65, "column": 1 }, "end": { "line": 74, "column": 2 } }, - "21": { "start": { "line": 66, "column": 22 }, "end": { "line": 66, "column": 51 } }, - "22": { "start": { "line": 68, "column": 2 }, "end": { "line": 70, "column": 3 } }, - "23": { "start": { "line": 69, "column": 3 }, "end": { "line": 69, "column": 55 } }, - "24": { "start": { "line": 73, "column": 2 }, "end": { "line": 73, "column": 61 } }, - "25": { "start": { "line": 77, "column": 1 }, "end": { "line": 77, "column": 41 } }, - "26": { "start": { "line": 86, "column": 17 }, "end": { "line": 86, "column": 104 } }, - "27": { "start": { "line": 88, "column": 1 }, "end": { "line": 88, "column": 46 } }, - "28": { "start": { "line": 96, "column": 1 }, "end": { "line": 98, "column": 10 } }, - "29": { "start": { "line": 97, "column": 20 }, "end": { "line": 97, "column": 35 } } - }, - "fnMap": { - "0": { - "name": "resolveChainId", - "decl": { "start": { "line": 35, "column": 16 }, "end": { "line": 35, "column": 30 } }, - "loc": { "start": { "line": 35, "column": 63 }, "end": { "line": 56, "column": 1 } } - }, - "1": { - "name": "getChain", - "decl": { "start": { "line": 64, "column": 16 }, "end": { "line": 64, "column": 24 } }, - "loc": { "start": { "line": 64, "column": 76 }, "end": { "line": 78, "column": 1 } } - }, - "2": { - "name": "getRpcUrl", - "decl": { "start": { "line": 85, "column": 16 }, "end": { "line": 85, "column": 25 } }, - "loc": { "start": { "line": 85, "column": 77 }, "end": { "line": 89, "column": 1 } } - }, - "3": { - "name": "getSupportedNetworks", - "decl": { "start": { "line": 95, "column": 16 }, "end": { "line": 95, "column": 36 } }, - "loc": { "start": { "line": 95, "column": 36 }, "end": { "line": 99, "column": 1 } } - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 97, "column": 10 }, "end": { "line": 97, "column": 11 } }, - "loc": { "start": { "line": 97, "column": 20 }, "end": { "line": 97, "column": 35 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 36, "column": 1 }, "end": { "line": 38, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 36, "column": 1 }, "end": { "line": 38, "column": 2 } }] - }, - "1": { - "loc": { "start": { "line": 44, "column": 1 }, "end": { "line": 46, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 44, "column": 1 }, "end": { "line": 46, "column": 2 } }] - }, - "2": { - "loc": { "start": { "line": 50, "column": 1 }, "end": { "line": 52, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 50, "column": 1 }, "end": { "line": 52, "column": 2 } }] - }, - "3": { - "loc": { "start": { "line": 64, "column": 25 }, "end": { "line": 64, "column": 76 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 64, "column": 60 }, "end": { "line": 64, "column": 76 } }] - }, - "4": { - "loc": { "start": { "line": 65, "column": 1 }, "end": { "line": 74, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 65, "column": 1 }, "end": { "line": 74, "column": 2 } }] - }, - "5": { - "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 70, "column": 3 } }, - "type": "if", - "locations": [{ "start": { "line": 68, "column": 2 }, "end": { "line": 70, "column": 3 } }] - }, - "6": { - "loc": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 54 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 47 } }, - { "start": { "line": 69, "column": 51 }, "end": { "line": 69, "column": 54 } } - ] - }, - "7": { - "loc": { "start": { "line": 77, "column": 8 }, "end": { "line": 77, "column": 40 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 77, "column": 8 }, "end": { "line": 77, "column": 33 } }, - { "start": { "line": 77, "column": 37 }, "end": { "line": 77, "column": 40 } } - ] - }, - "8": { - "loc": { "start": { "line": 85, "column": 26 }, "end": { "line": 85, "column": 77 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 85, "column": 61 }, "end": { "line": 85, "column": 77 } }] - }, - "9": { - "loc": { "start": { "line": 86, "column": 17 }, "end": { "line": 86, "column": 104 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 86, "column": 55 }, "end": { "line": 86, "column": 86 } }, - { "start": { "line": 86, "column": 89 }, "end": { "line": 86, "column": 104 } } - ] - }, - "10": { - "loc": { "start": { "line": 88, "column": 8 }, "end": { "line": 88, "column": 45 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 88, "column": 8 }, "end": { "line": 88, "column": 26 } }, - { "start": { "line": 88, "column": 30 }, "end": { "line": 88, "column": 45 } } - ] - } - }, - "s": { - "0": 12, - "1": 12, - "2": 12, - "3": 12, - "4": 12, - "5": 12, - "6": 12, - "7": 12, - "8": 12, - "9": 12, - "10": 12, - "11": 16, - "12": 3, - "13": 13, - "14": 13, - "15": 9, - "16": 4, - "17": 4, - "18": 3, - "19": 1, - "20": 14, - "21": 9, - "22": 9, - "23": 7, - "24": 2, - "25": 5, - "26": 8, - "27": 8, - "28": 1, - "29": 3 - }, - "f": { "0": 16, "1": 14, "2": 8, "3": 1, "4": 3 }, - "b": { "0": [3], "1": [9], "2": [3], "3": [1], "4": [9], "5": [7], "6": [7, 1], "7": [5, 1], "8": [1], "9": [3, 5], "10": [8, 1] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/config.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/config.ts", - "statementMap": { - "0": { "start": { "line": 34, "column": 0 }, "end": { "line": 34, "column": 16 } }, - "1": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 28 } }, - "2": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 24 } }, - "3": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 16 } }, - "4": { "start": { "line": 9, "column": 18 }, "end": { "line": 11, "column": 2 } }, - "5": { "start": { "line": 14, "column": 12 }, "end": { "line": 14, "column": 44 } }, - "6": { "start": { "line": 17, "column": 25 }, "end": { "line": 22, "column": 1 } }, - "7": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 28 } }, - "8": { "start": { "line": 18, "column": 11 }, "end": { "line": 18, "column": 28 } }, - "9": { "start": { "line": 21, "column": 1 }, "end": { "line": 21, "column": 48 } }, - "10": { "start": { "line": 25, "column": 13 }, "end": { "line": 27, "column": 2 } }, - "11": { "start": { "line": 35, "column": 1 }, "end": { "line": 35, "column": 45 } } - }, - "fnMap": { - "0": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 17, "column": 25 }, "end": { "line": 17, "column": 26 } }, - "loc": { "start": { "line": 17, "column": 62 }, "end": { "line": 22, "column": 1 } } - }, - "1": { - "name": "getPrivateKeyAsHex", - "decl": { "start": { "line": 34, "column": 16 }, "end": { "line": 34, "column": 34 } }, - "loc": { "start": { "line": 34, "column": 34 }, "end": { "line": 36, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 28 } }, - "type": "if", - "locations": [{ "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 28 } }] - }, - "1": { - "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 47 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 21, "column": 31 }, "end": { "line": 21, "column": 34 } }, - { "start": { "line": 21, "column": 37 }, "end": { "line": 21, "column": 47 } } - ] - }, - "2": { - "loc": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 77 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 26, "column": 27 }, "end": { "line": 26, "column": 65 } }, - { "start": { "line": 26, "column": 68 }, "end": { "line": 26, "column": 77 } } - ] - } - }, - "s": { "0": 5, "1": 5, "2": 5, "3": 5, "4": 5, "5": 5, "6": 5, "7": 5, "8": 0, "9": 5, "10": 5, "11": 2 }, - "f": { "0": 5, "1": 2 }, - "b": { "0": [0], "1": [5, 0], "2": [5, 0] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/tools.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/tools.ts", - "statementMap": { - "0": { "start": { "line": 13, "column": 0 }, "end": { "line": 13, "column": 16 } }, - "1": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 24 } }, - "2": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 79 } }, - "3": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 49 } }, - "4": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 48 } }, - "5": { "start": { "line": 17, "column": 1 }, "end": { "line": 61, "column": 3 } }, - "6": { "start": { "line": 27, "column": 3 }, "end": { "line": 59, "column": 4 } }, - "7": { "start": { "line": 28, "column": 20 }, "end": { "line": 28, "column": 54 } }, - "8": { "start": { "line": 29, "column": 24 }, "end": { "line": 29, "column": 62 } }, - "9": { "start": { "line": 30, "column": 19 }, "end": { "line": 30, "column": 37 } }, - "10": { "start": { "line": 32, "column": 4 }, "end": { "line": 48, "column": 6 } }, - "11": { "start": { "line": 50, "column": 4 }, "end": { "line": 58, "column": 6 } }, - "12": { "start": { "line": 64, "column": 1 }, "end": { "line": 93, "column": 4 } }, - "13": { "start": { "line": 65, "column": 2 }, "end": { "line": 92, "column": 3 } }, - "14": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 42 } }, - "15": { "start": { "line": 68, "column": 3 }, "end": { "line": 81, "column": 5 } }, - "16": { "start": { "line": 83, "column": 3 }, "end": { "line": 91, "column": 5 } }, - "17": { "start": { "line": 98, "column": 1 }, "end": { "line": 129, "column": 3 } }, - "18": { "start": { "line": 106, "column": 3 }, "end": { "line": 127, "column": 4 } }, - "19": { "start": { "line": 107, "column": 18 }, "end": { "line": 107, "column": 71 } }, - "20": { "start": { "line": 109, "column": 4 }, "end": { "line": 116, "column": 6 } }, - "21": { "start": { "line": 118, "column": 4 }, "end": { "line": 126, "column": 6 } }, - "22": { "start": { "line": 132, "column": 1 }, "end": { "line": 162, "column": 3 } }, - "23": { "start": { "line": 139, "column": 3 }, "end": { "line": 160, "column": 4 } }, - "24": { "start": { "line": 140, "column": 18 }, "end": { "line": 140, "column": 56 } }, - "25": { "start": { "line": 142, "column": 4 }, "end": { "line": 149, "column": 6 } }, - "26": { "start": { "line": 151, "column": 4 }, "end": { "line": 159, "column": 6 } }, - "27": { "start": { "line": 167, "column": 1 }, "end": { "line": 210, "column": 3 } }, - "28": { "start": { "line": 178, "column": 3 }, "end": { "line": 208, "column": 4 } }, - "29": { "start": { "line": 179, "column": 20 }, "end": { "line": 179, "column": 63 } }, - "30": { "start": { "line": 181, "column": 4 }, "end": { "line": 197, "column": 6 } }, - "31": { "start": { "line": 199, "column": 4 }, "end": { "line": 207, "column": 6 } }, - "32": { "start": { "line": 213, "column": 1 }, "end": { "line": 258, "column": 3 } }, - "33": { "start": { "line": 222, "column": 3 }, "end": { "line": 256, "column": 4 } }, - "34": { "start": { "line": 223, "column": 20 }, "end": { "line": 223, "column": 104 } }, - "35": { "start": { "line": 225, "column": 4 }, "end": { "line": 245, "column": 6 } }, - "36": { "start": { "line": 247, "column": 4 }, "end": { "line": 255, "column": 6 } }, - "37": { "start": { "line": 261, "column": 1 }, "end": { "line": 308, "column": 3 } }, - "38": { "start": { "line": 273, "column": 3 }, "end": { "line": 306, "column": 4 } }, - "39": { "start": { "line": 274, "column": 20 }, "end": { "line": 274, "column": 87 } }, - "40": { "start": { "line": 276, "column": 4 }, "end": { "line": 295, "column": 6 } }, - "41": { "start": { "line": 297, "column": 4 }, "end": { "line": 305, "column": 6 } }, - "42": { "start": { "line": 313, "column": 1 }, "end": { "line": 344, "column": 3 } }, - "43": { "start": { "line": 321, "column": 3 }, "end": { "line": 342, "column": 4 } }, - "44": { "start": { "line": 322, "column": 15 }, "end": { "line": 322, "column": 69 } }, - "45": { "start": { "line": 324, "column": 4 }, "end": { "line": 331, "column": 6 } }, - "46": { "start": { "line": 333, "column": 4 }, "end": { "line": 341, "column": 6 } }, - "47": { "start": { "line": 347, "column": 1 }, "end": { "line": 378, "column": 3 } }, - "48": { "start": { "line": 355, "column": 3 }, "end": { "line": 376, "column": 4 } }, - "49": { "start": { "line": 356, "column": 20 }, "end": { "line": 356, "column": 81 } }, - "50": { "start": { "line": 358, "column": 4 }, "end": { "line": 365, "column": 6 } }, - "51": { "start": { "line": 367, "column": 4 }, "end": { "line": 375, "column": 6 } }, - "52": { "start": { "line": 381, "column": 1 }, "end": { "line": 431, "column": 3 } }, - "53": { "start": { "line": 391, "column": 3 }, "end": { "line": 429, "column": 4 } }, - "54": { "start": { "line": 392, "column": 74 }, "end": { "line": 392, "column": 95 } }, - "55": { "start": { "line": 394, "column": 4 }, "end": { "line": 396, "column": 5 } }, - "56": { "start": { "line": 395, "column": 5 }, "end": { "line": 395, "column": 55 } }, - "57": { "start": { "line": 398, "column": 4 }, "end": { "line": 400, "column": 5 } }, - "58": { "start": { "line": 399, "column": 5 }, "end": { "line": 399, "column": 41 } }, - "59": { "start": { "line": 402, "column": 16 }, "end": { "line": 402, "column": 59 } }, - "60": { "start": { "line": 404, "column": 4 }, "end": { "line": 418, "column": 6 } }, - "61": { "start": { "line": 420, "column": 4 }, "end": { "line": 428, "column": 6 } }, - "62": { "start": { "line": 436, "column": 1 }, "end": { "line": 478, "column": 3 } }, - "63": { "start": { "line": 445, "column": 3 }, "end": { "line": 476, "column": 4 } }, - "64": { "start": { "line": 446, "column": 19 }, "end": { "line": 446, "column": 66 } }, - "65": { "start": { "line": 448, "column": 4 }, "end": { "line": 465, "column": 6 } }, - "66": { "start": { "line": 467, "column": 4 }, "end": { "line": 475, "column": 6 } }, - "67": { "start": { "line": 481, "column": 1 }, "end": { "line": 526, "column": 3 } }, - "68": { "start": { "line": 491, "column": 3 }, "end": { "line": 524, "column": 4 } }, - "69": { "start": { "line": 492, "column": 19 }, "end": { "line": 492, "column": 89 } }, - "70": { "start": { "line": 494, "column": 4 }, "end": { "line": 513, "column": 6 } }, - "71": { "start": { "line": 515, "column": 4 }, "end": { "line": 523, "column": 6 } }, - "72": { "start": { "line": 529, "column": 1 }, "end": { "line": 578, "column": 3 } }, - "73": { "start": { "line": 543, "column": 3 }, "end": { "line": 576, "column": 4 } }, - "74": { "start": { "line": 544, "column": 19 }, "end": { "line": 544, "column": 93 } }, - "75": { "start": { "line": 546, "column": 4 }, "end": { "line": 565, "column": 6 } }, - "76": { "start": { "line": 567, "column": 4 }, "end": { "line": 575, "column": 6 } }, - "77": { "start": { "line": 581, "column": 1 }, "end": { "line": 630, "column": 3 } }, - "78": { "start": { "line": 594, "column": 3 }, "end": { "line": 628, "column": 4 } }, - "79": { "start": { "line": 595, "column": 19 }, "end": { "line": 595, "column": 99 } }, - "80": { "start": { "line": 597, "column": 4 }, "end": { "line": 617, "column": 6 } }, - "81": { "start": { "line": 619, "column": 4 }, "end": { "line": 627, "column": 6 } }, - "82": { "start": { "line": 633, "column": 1 }, "end": { "line": 682, "column": 3 } }, - "83": { "start": { "line": 647, "column": 3 }, "end": { "line": 680, "column": 4 } }, - "84": { "start": { "line": 648, "column": 19 }, "end": { "line": 648, "column": 108 } }, - "85": { "start": { "line": 650, "column": 4 }, "end": { "line": 669, "column": 6 } }, - "86": { "start": { "line": 671, "column": 4 }, "end": { "line": 679, "column": 6 } }, - "87": { "start": { "line": 685, "column": 1 }, "end": { "line": 733, "column": 3 } }, - "88": { "start": { "line": 698, "column": 3 }, "end": { "line": 731, "column": 4 } }, - "89": { "start": { "line": 699, "column": 19 }, "end": { "line": 699, "column": 89 } }, - "90": { "start": { "line": 701, "column": 4 }, "end": { "line": 720, "column": 6 } }, - "91": { "start": { "line": 722, "column": 4 }, "end": { "line": 730, "column": 6 } }, - "92": { "start": { "line": 738, "column": 1 }, "end": { "line": 782, "column": 3 } }, - "93": { "start": { "line": 749, "column": 3 }, "end": { "line": 780, "column": 4 } }, - "94": { "start": { "line": 751, "column": 22 }, "end": { "line": 751, "column": 69 } }, - "95": { "start": { "line": 753, "column": 19 }, "end": { "line": 758, "column": 6 } }, - "96": { "start": { "line": 760, "column": 19 }, "end": { "line": 760, "column": 63 } }, - "97": { "start": { "line": 762, "column": 4 }, "end": { "line": 769, "column": 6 } }, - "98": { "start": { "line": 771, "column": 4 }, "end": { "line": 779, "column": 6 } }, - "99": { "start": { "line": 785, "column": 1 }, "end": { "line": 839, "column": 3 } }, - "100": { "start": { "line": 796, "column": 3 }, "end": { "line": 837, "column": 4 } }, - "101": { "start": { "line": 798, "column": 22 }, "end": { "line": 798, "column": 69 } }, - "102": { "start": { "line": 800, "column": 52 }, "end": { "line": 807, "column": 6 } }, - "103": { "start": { "line": 809, "column": 19 }, "end": { "line": 809, "column": 72 } }, - "104": { "start": { "line": 811, "column": 4 }, "end": { "line": 826, "column": 6 } }, - "105": { "start": { "line": 828, "column": 4 }, "end": { "line": 836, "column": 6 } }, - "106": { "start": { "line": 842, "column": 1 }, "end": { "line": 885, "column": 3 } }, - "107": { "start": { "line": 853, "column": 3 }, "end": { "line": 883, "column": 4 } }, - "108": { "start": { "line": 854, "column": 23 }, "end": { "line": 854, "column": 66 } }, - "109": { "start": { "line": 856, "column": 4 }, "end": { "line": 872, "column": 6 } }, - "110": { "start": { "line": 874, "column": 4 }, "end": { "line": 882, "column": 6 } }, - "111": { "start": { "line": 888, "column": 1 }, "end": { "line": 927, "column": 3 } }, - "112": { "start": { "line": 896, "column": 3 }, "end": { "line": 925, "column": 4 } }, - "113": { "start": { "line": 897, "column": 22 }, "end": { "line": 897, "column": 88 } }, - "114": { "start": { "line": 899, "column": 4 }, "end": { "line": 914, "column": 6 } }, - "115": { "start": { "line": 916, "column": 4 }, "end": { "line": 924, "column": 6 } }, - "116": { "start": { "line": 930, "column": 1 }, "end": { "line": 975, "column": 3 } }, - "117": { "start": { "line": 939, "column": 3 }, "end": { "line": 973, "column": 4 } }, - "118": { "start": { "line": 940, "column": 20 }, "end": { "line": 940, "column": 104 } }, - "119": { "start": { "line": 942, "column": 4 }, "end": { "line": 962, "column": 6 } }, - "120": { "start": { "line": 964, "column": 4 }, "end": { "line": 972, "column": 6 } }, - "121": { "start": { "line": 978, "column": 1 }, "end": { "line": 1042, "column": 3 } }, - "122": { "start": { "line": 987, "column": 3 }, "end": { "line": 1040, "column": 4 } }, - "123": { "start": { "line": 988, "column": 20 }, "end": { "line": 988, "column": 108 } }, - "124": { "start": { "line": 991, "column": 38 }, "end": { "line": 991, "column": 42 } }, - "125": { "start": { "line": 992, "column": 4 }, "end": { "line": 1010, "column": 5 } }, - "126": { "start": { "line": 994, "column": 5 }, "end": { "line": 1007, "column": 8 } }, - "127": { "start": { "line": 1012, "column": 4 }, "end": { "line": 1029, "column": 6 } }, - "128": { "start": { "line": 1031, "column": 4 }, "end": { "line": 1039, "column": 6 } }, - "129": { "start": { "line": 1045, "column": 1 }, "end": { "line": 1092, "column": 3 } }, - "130": { "start": { "line": 1058, "column": 3 }, "end": { "line": 1090, "column": 4 } }, - "131": { "start": { "line": 1059, "column": 20 }, "end": { "line": 1059, "column": 99 } }, - "132": { "start": { "line": 1061, "column": 4 }, "end": { "line": 1079, "column": 6 } }, - "133": { "start": { "line": 1081, "column": 4 }, "end": { "line": 1089, "column": 6 } }, - "134": { "start": { "line": 1095, "column": 1 }, "end": { "line": 1139, "column": 3 } }, - "135": { "start": { "line": 1107, "column": 3 }, "end": { "line": 1137, "column": 4 } }, - "136": { "start": { "line": 1108, "column": 16 }, "end": { "line": 1108, "column": 100 } }, - "137": { "start": { "line": 1110, "column": 4 }, "end": { "line": 1126, "column": 6 } }, - "138": { "start": { "line": 1128, "column": 4 }, "end": { "line": 1136, "column": 6 } }, - "139": { "start": { "line": 1142, "column": 1 }, "end": { "line": 1186, "column": 3 } }, - "140": { "start": { "line": 1154, "column": 3 }, "end": { "line": 1184, "column": 4 } }, - "141": { "start": { "line": 1155, "column": 20 }, "end": { "line": 1155, "column": 110 } }, - "142": { "start": { "line": 1157, "column": 4 }, "end": { "line": 1173, "column": 6 } }, - "143": { "start": { "line": 1175, "column": 4 }, "end": { "line": 1183, "column": 6 } }, - "144": { "start": { "line": 1189, "column": 1 }, "end": { "line": 1235, "column": 3 } }, - "145": { "start": { "line": 1202, "column": 3 }, "end": { "line": 1233, "column": 4 } }, - "146": { "start": { "line": 1203, "column": 20 }, "end": { "line": 1203, "column": 128 } }, - "147": { "start": { "line": 1205, "column": 4 }, "end": { "line": 1222, "column": 6 } }, - "148": { "start": { "line": 1224, "column": 4 }, "end": { "line": 1232, "column": 6 } }, - "149": { "start": { "line": 1240, "column": 1 }, "end": { "line": 1289, "column": 3 } }, - "150": { "start": { "line": 1246, "column": 3 }, "end": { "line": 1287, "column": 4 } }, - "151": { "start": { "line": 1247, "column": 28 }, "end": { "line": 1247, "column": 48 } }, - "152": { "start": { "line": 1248, "column": 4 }, "end": { "line": 1258, "column": 5 } }, - "153": { "start": { "line": 1249, "column": 5 }, "end": { "line": 1257, "column": 7 } }, - "154": { "start": { "line": 1260, "column": 20 }, "end": { "line": 1260, "column": 70 } }, - "155": { "start": { "line": 1262, "column": 4 }, "end": { "line": 1276, "column": 6 } }, - "156": { "start": { "line": 1278, "column": 4 }, "end": { "line": 1286, "column": 6 } } - }, - "fnMap": { - "0": { - "name": "registerEVMTools", - "decl": { "start": { "line": 13, "column": 16 }, "end": { "line": 13, "column": 32 } }, - "loc": { "start": { "line": 13, "column": 50 }, "end": { "line": 1290, "column": 1 } } - }, - "1": { - "name": "(anonymous_10)", - "decl": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 7 } }, - "loc": { "start": { "line": 26, "column": 42 }, "end": { "line": 60, "column": 3 } } - }, - "2": { - "name": "(anonymous_11)", - "decl": { "start": { "line": 64, "column": 83 }, "end": { "line": 64, "column": 88 } }, - "loc": { "start": { "line": 64, "column": 94 }, "end": { "line": 93, "column": 2 } } - }, - "3": { - "name": "(anonymous_12)", - "decl": { "start": { "line": 105, "column": 2 }, "end": { "line": 105, "column": 7 } }, - "loc": { "start": { "line": 105, "column": 55 }, "end": { "line": 128, "column": 3 } } - }, - "4": { - "name": "(anonymous_13)", - "decl": { "start": { "line": 138, "column": 2 }, "end": { "line": 138, "column": 7 } }, - "loc": { "start": { "line": 138, "column": 42 }, "end": { "line": 161, "column": 3 } } - }, - "5": { - "name": "(anonymous_14)", - "decl": { "start": { "line": 177, "column": 2 }, "end": { "line": 177, "column": 7 } }, - "loc": { "start": { "line": 177, "column": 51 }, "end": { "line": 209, "column": 3 } } - }, - "6": { - "name": "(anonymous_15)", - "decl": { "start": { "line": 221, "column": 2 }, "end": { "line": 221, "column": 7 } }, - "loc": { "start": { "line": 221, "column": 65 }, "end": { "line": 257, "column": 3 } } - }, - "7": { - "name": "(anonymous_16)", - "decl": { "start": { "line": 272, "column": 2 }, "end": { "line": 272, "column": 7 } }, - "loc": { "start": { "line": 272, "column": 70 }, "end": { "line": 307, "column": 3 } } - }, - "8": { - "name": "(anonymous_17)", - "decl": { "start": { "line": 320, "column": 2 }, "end": { "line": 320, "column": 7 } }, - "loc": { "start": { "line": 320, "column": 50 }, "end": { "line": 343, "column": 3 } } - }, - "9": { - "name": "(anonymous_18)", - "decl": { "start": { "line": 354, "column": 2 }, "end": { "line": 354, "column": 7 } }, - "loc": { "start": { "line": 354, "column": 50 }, "end": { "line": 377, "column": 3 } } - }, - "10": { - "name": "(anonymous_19)", - "decl": { "start": { "line": 390, "column": 2 }, "end": { "line": 390, "column": 7 } }, - "loc": { "start": { "line": 390, "column": 59 }, "end": { "line": 430, "column": 3 } } - }, - "11": { - "name": "(anonymous_20)", - "decl": { "start": { "line": 444, "column": 2 }, "end": { "line": 444, "column": 7 } }, - "loc": { "start": { "line": 444, "column": 54 }, "end": { "line": 477, "column": 3 } } - }, - "12": { - "name": "(anonymous_21)", - "decl": { "start": { "line": 490, "column": 2 }, "end": { "line": 490, "column": 7 } }, - "loc": { "start": { "line": 490, "column": 75 }, "end": { "line": 525, "column": 3 } } - }, - "13": { - "name": "(anonymous_22)", - "decl": { "start": { "line": 542, "column": 2 }, "end": { "line": 542, "column": 7 } }, - "loc": { "start": { "line": 542, "column": 80 }, "end": { "line": 577, "column": 3 } } - }, - "14": { - "name": "(anonymous_23)", - "decl": { "start": { "line": 593, "column": 2 }, "end": { "line": 593, "column": 7 } }, - "loc": { "start": { "line": 593, "column": 76 }, "end": { "line": 629, "column": 3 } } - }, - "15": { - "name": "(anonymous_24)", - "decl": { "start": { "line": 646, "column": 2 }, "end": { "line": 646, "column": 7 } }, - "loc": { "start": { "line": 646, "column": 84 }, "end": { "line": 681, "column": 3 } } - }, - "16": { - "name": "(anonymous_25)", - "decl": { "start": { "line": 697, "column": 2 }, "end": { "line": 697, "column": 7 } }, - "loc": { "start": { "line": 697, "column": 75 }, "end": { "line": 732, "column": 3 } } - }, - "17": { - "name": "(anonymous_26)", - "decl": { "start": { "line": 748, "column": 2 }, "end": { "line": 748, "column": 7 } }, - "loc": { "start": { "line": 748, "column": 89 }, "end": { "line": 781, "column": 3 } } - }, - "18": { - "name": "(anonymous_27)", - "decl": { "start": { "line": 795, "column": 2 }, "end": { "line": 795, "column": 7 } }, - "loc": { "start": { "line": 795, "column": 84 }, "end": { "line": 838, "column": 3 } } - }, - "19": { - "name": "(anonymous_28)", - "decl": { "start": { "line": 852, "column": 2 }, "end": { "line": 852, "column": 7 } }, - "loc": { "start": { "line": 852, "column": 51 }, "end": { "line": 884, "column": 3 } } - }, - "20": { - "name": "(anonymous_29)", - "decl": { "start": { "line": 895, "column": 2 }, "end": { "line": 895, "column": 7 } }, - "loc": { "start": { "line": 895, "column": 56 }, "end": { "line": 926, "column": 3 } } - }, - "21": { - "name": "(anonymous_30)", - "decl": { "start": { "line": 938, "column": 2 }, "end": { "line": 938, "column": 7 } }, - "loc": { "start": { "line": 938, "column": 65 }, "end": { "line": 974, "column": 3 } } - }, - "22": { - "name": "(anonymous_31)", - "decl": { "start": { "line": 986, "column": 2 }, "end": { "line": 986, "column": 7 } }, - "loc": { "start": { "line": 986, "column": 65 }, "end": { "line": 1041, "column": 3 } } - }, - "23": { - "name": "(anonymous_32)", - "decl": { "start": { "line": 1057, "column": 2 }, "end": { "line": 1057, "column": 7 } }, - "loc": { "start": { "line": 1057, "column": 79 }, "end": { "line": 1091, "column": 3 } } - }, - "24": { - "name": "(anonymous_33)", - "decl": { "start": { "line": 1106, "column": 2 }, "end": { "line": 1106, "column": 7 } }, - "loc": { "start": { "line": 1106, "column": 65 }, "end": { "line": 1138, "column": 3 } } - }, - "25": { - "name": "(anonymous_34)", - "decl": { "start": { "line": 1153, "column": 2 }, "end": { "line": 1153, "column": 7 } }, - "loc": { "start": { "line": 1153, "column": 70 }, "end": { "line": 1185, "column": 3 } } - }, - "26": { - "name": "(anonymous_35)", - "decl": { "start": { "line": 1201, "column": 2 }, "end": { "line": 1201, "column": 7 } }, - "loc": { "start": { "line": 1201, "column": 79 }, "end": { "line": 1234, "column": 3 } } - }, - "27": { - "name": "(anonymous_36)", - "decl": { "start": { "line": 1244, "column": 2 }, "end": { "line": 1244, "column": 7 } }, - "loc": { "start": { "line": 1244, "column": 13 }, "end": { "line": 1288, "column": 3 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 26, "column": 11 }, "end": { "line": 26, "column": 36 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 26, "column": 21 }, "end": { "line": 26, "column": 36 } }] - }, - "1": { - "loc": { "start": { "line": 54, "column": 43 }, "end": { "line": 54, "column": 97 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 54, "column": 68 }, "end": { "line": 54, "column": 81 } }, - { "start": { "line": 54, "column": 84 }, "end": { "line": 54, "column": 97 } } - ] - }, - "2": { - "loc": { "start": { "line": 87, "column": 50 }, "end": { "line": 87, "column": 104 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 87, "column": 75 }, "end": { "line": 87, "column": 88 } }, - { "start": { "line": 87, "column": 91 }, "end": { "line": 87, "column": 104 } } - ] - }, - "3": { - "loc": { "start": { "line": 105, "column": 24 }, "end": { "line": 105, "column": 49 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 105, "column": 34 }, "end": { "line": 105, "column": 49 } }] - }, - "4": { - "loc": { "start": { "line": 122, "column": 53 }, "end": { "line": 122, "column": 107 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 122, "column": 78 }, "end": { "line": 122, "column": 91 } }, - { "start": { "line": 122, "column": 94 }, "end": { "line": 122, "column": 107 } } - ] - }, - "5": { - "loc": { "start": { "line": 138, "column": 11 }, "end": { "line": 138, "column": 36 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 138, "column": 21 }, "end": { "line": 138, "column": 36 } }] - }, - "6": { - "loc": { "start": { "line": 155, "column": 45 }, "end": { "line": 155, "column": 99 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 155, "column": 70 }, "end": { "line": 155, "column": 83 } }, - { "start": { "line": 155, "column": 86 }, "end": { "line": 155, "column": 99 } } - ] - }, - "7": { - "loc": { "start": { "line": 177, "column": 20 }, "end": { "line": 177, "column": 45 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 177, "column": 30 }, "end": { "line": 177, "column": 45 } }] - }, - "8": { - "loc": { "start": { "line": 203, "column": 40 }, "end": { "line": 203, "column": 94 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 203, "column": 65 }, "end": { "line": 203, "column": 78 } }, - { "start": { "line": 203, "column": 81 }, "end": { "line": 203, "column": 94 } } - ] - }, - "9": { - "loc": { "start": { "line": 221, "column": 34 }, "end": { "line": 221, "column": 59 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 221, "column": 44 }, "end": { "line": 221, "column": 59 } }] - }, - "10": { - "loc": { "start": { "line": 251, "column": 61 }, "end": { "line": 251, "column": 115 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 251, "column": 86 }, "end": { "line": 251, "column": 99 } }, - { "start": { "line": 251, "column": 102 }, "end": { "line": 251, "column": 115 } } - ] - }, - "11": { - "loc": { "start": { "line": 272, "column": 39 }, "end": { "line": 272, "column": 64 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 272, "column": 49 }, "end": { "line": 272, "column": 64 } }] - }, - "12": { - "loc": { "start": { "line": 301, "column": 46 }, "end": { "line": 301, "column": 100 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 301, "column": 71 }, "end": { "line": 301, "column": 84 } }, - { "start": { "line": 301, "column": 87 }, "end": { "line": 301, "column": 100 } } - ] - }, - "13": { - "loc": { "start": { "line": 320, "column": 19 }, "end": { "line": 320, "column": 44 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 320, "column": 29 }, "end": { "line": 320, "column": 44 } }] - }, - "14": { - "loc": { "start": { "line": 337, "column": 54 }, "end": { "line": 337, "column": 108 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 337, "column": 79 }, "end": { "line": 337, "column": 92 } }, - { "start": { "line": 337, "column": 95 }, "end": { "line": 337, "column": 108 } } - ] - }, - "15": { - "loc": { "start": { "line": 354, "column": 19 }, "end": { "line": 354, "column": 44 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 354, "column": 29 }, "end": { "line": 354, "column": 44 } }] - }, - "16": { - "loc": { "start": { "line": 371, "column": 62 }, "end": { "line": 371, "column": 116 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 371, "column": 87 }, "end": { "line": 371, "column": 100 } }, - { "start": { "line": 371, "column": 103 }, "end": { "line": 371, "column": 116 } } - ] - }, - "17": { - "loc": { "start": { "line": 390, "column": 28 }, "end": { "line": 390, "column": 53 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 390, "column": 38 }, "end": { "line": 390, "column": 53 } }] - }, - "18": { - "loc": { "start": { "line": 394, "column": 4 }, "end": { "line": 396, "column": 5 } }, - "type": "if", - "locations": [{ "start": { "line": 394, "column": 4 }, "end": { "line": 396, "column": 5 } }] - }, - "19": { - "loc": { "start": { "line": 398, "column": 4 }, "end": { "line": 400, "column": 5 } }, - "type": "if", - "locations": [{ "start": { "line": 398, "column": 4 }, "end": { "line": 400, "column": 5 } }] - }, - "20": { - "loc": { "start": { "line": 424, "column": 38 }, "end": { "line": 424, "column": 92 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 424, "column": 63 }, "end": { "line": 424, "column": 76 } }, - { "start": { "line": 424, "column": 79 }, "end": { "line": 424, "column": 92 } } - ] - }, - "21": { - "loc": { "start": { "line": 444, "column": 23 }, "end": { "line": 444, "column": 48 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 444, "column": 33 }, "end": { "line": 444, "column": 48 } }] - }, - "22": { - "loc": { "start": { "line": 471, "column": 40 }, "end": { "line": 471, "column": 94 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 471, "column": 65 }, "end": { "line": 471, "column": 78 } }, - { "start": { "line": 471, "column": 81 }, "end": { "line": 471, "column": 94 } } - ] - }, - "23": { - "loc": { "start": { "line": 490, "column": 44 }, "end": { "line": 490, "column": 69 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 490, "column": 54 }, "end": { "line": 490, "column": 69 } }] - }, - "24": { - "loc": { "start": { "line": 519, "column": 49 }, "end": { "line": 519, "column": 103 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 519, "column": 74 }, "end": { "line": 519, "column": 87 } }, - { "start": { "line": 519, "column": 90 }, "end": { "line": 519, "column": 103 } } - ] - }, - "25": { - "loc": { "start": { "line": 542, "column": 49 }, "end": { "line": 542, "column": 74 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 542, "column": 59 }, "end": { "line": 542, "column": 74 } }] - }, - "26": { - "loc": { "start": { "line": 571, "column": 48 }, "end": { "line": 571, "column": 102 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 571, "column": 73 }, "end": { "line": 571, "column": 86 } }, - { "start": { "line": 571, "column": 89 }, "end": { "line": 571, "column": 102 } } - ] - }, - "27": { - "loc": { "start": { "line": 593, "column": 45 }, "end": { "line": 593, "column": 70 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 593, "column": 55 }, "end": { "line": 593, "column": 70 } }] - }, - "28": { - "loc": { "start": { "line": 623, "column": 40 }, "end": { "line": 623, "column": 94 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 623, "column": 65 }, "end": { "line": 623, "column": 78 } }, - { "start": { "line": 623, "column": 81 }, "end": { "line": 623, "column": 94 } } - ] - }, - "29": { - "loc": { "start": { "line": 646, "column": 53 }, "end": { "line": 646, "column": 78 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 646, "column": 63 }, "end": { "line": 646, "column": 78 } }] - }, - "30": { - "loc": { "start": { "line": 675, "column": 51 }, "end": { "line": 675, "column": 105 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 675, "column": 76 }, "end": { "line": 675, "column": 89 } }, - { "start": { "line": 675, "column": 92 }, "end": { "line": 675, "column": 105 } } - ] - }, - "31": { - "loc": { "start": { "line": 697, "column": 44 }, "end": { "line": 697, "column": 69 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 697, "column": 54 }, "end": { "line": 697, "column": 69 } }] - }, - "32": { - "loc": { "start": { "line": 726, "column": 43 }, "end": { "line": 726, "column": 97 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 726, "column": 68 }, "end": { "line": 726, "column": 81 } }, - { "start": { "line": 726, "column": 84 }, "end": { "line": 726, "column": 97 } } - ] - }, - "33": { - "loc": { "start": { "line": 748, "column": 47 }, "end": { "line": 748, "column": 56 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 748, "column": 54 }, "end": { "line": 748, "column": 56 } }] - }, - "34": { - "loc": { "start": { "line": 748, "column": 58 }, "end": { "line": 748, "column": 83 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 748, "column": 68 }, "end": { "line": 748, "column": 83 } }] - }, - "35": { - "loc": { "start": { "line": 751, "column": 22 }, "end": { "line": 751, "column": 69 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 751, "column": 48 }, "end": { "line": 751, "column": 63 } }, - { "start": { "line": 751, "column": 66 }, "end": { "line": 751, "column": 69 } } - ] - }, - "36": { - "loc": { "start": { "line": 775, "column": 40 }, "end": { "line": 775, "column": 94 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 775, "column": 65 }, "end": { "line": 775, "column": 78 } }, - { "start": { "line": 775, "column": 81 }, "end": { "line": 775, "column": 94 } } - ] - }, - "37": { - "loc": { "start": { "line": 795, "column": 53 }, "end": { "line": 795, "column": 78 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 795, "column": 63 }, "end": { "line": 795, "column": 78 } }] - }, - "38": { - "loc": { "start": { "line": 798, "column": 22 }, "end": { "line": 798, "column": 69 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 798, "column": 48 }, "end": { "line": 798, "column": 63 } }, - { "start": { "line": 798, "column": 66 }, "end": { "line": 798, "column": 69 } } - ] - }, - "39": { - "loc": { "start": { "line": 832, "column": 43 }, "end": { "line": 832, "column": 97 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 832, "column": 68 }, "end": { "line": 832, "column": 81 } }, - { "start": { "line": 832, "column": 84 }, "end": { "line": 832, "column": 97 } } - ] - }, - "40": { - "loc": { "start": { "line": 852, "column": 20 }, "end": { "line": 852, "column": 45 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 852, "column": 30 }, "end": { "line": 852, "column": 45 } }] - }, - "41": { - "loc": { "start": { "line": 865, "column": 15 }, "end": { "line": 865, "column": 73 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 865, "column": 28 }, "end": { "line": 865, "column": 38 } }, - { "start": { "line": 865, "column": 41 }, "end": { "line": 865, "column": 73 } } - ] - }, - "42": { - "loc": { "start": { "line": 878, "column": 57 }, "end": { "line": 878, "column": 111 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 878, "column": 82 }, "end": { "line": 878, "column": 95 } }, - { "start": { "line": 878, "column": 98 }, "end": { "line": 878, "column": 111 } } - ] - }, - "43": { - "loc": { "start": { "line": 895, "column": 25 }, "end": { "line": 895, "column": 50 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 895, "column": 35 }, "end": { "line": 895, "column": 50 } }] - }, - "44": { - "loc": { "start": { "line": 920, "column": 43 }, "end": { "line": 920, "column": 97 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 920, "column": 68 }, "end": { "line": 920, "column": 81 } }, - { "start": { "line": 920, "column": 84 }, "end": { "line": 920, "column": 97 } } - ] - }, - "45": { - "loc": { "start": { "line": 938, "column": 34 }, "end": { "line": 938, "column": 59 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 938, "column": 44 }, "end": { "line": 938, "column": 59 } }] - }, - "46": { - "loc": { "start": { "line": 968, "column": 61 }, "end": { "line": 968, "column": 115 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 968, "column": 86 }, "end": { "line": 968, "column": 99 } }, - { "start": { "line": 968, "column": 102 }, "end": { "line": 968, "column": 115 } } - ] - }, - "47": { - "loc": { "start": { "line": 986, "column": 34 }, "end": { "line": 986, "column": 59 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 986, "column": 44 }, "end": { "line": 986, "column": 59 } }] - }, - "48": { - "loc": { "start": { "line": 1022, "column": 16 }, "end": { "line": 1022, "column": 34 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 1022, "column": 16 }, "end": { "line": 1022, "column": 21 } }, - { "start": { "line": 1022, "column": 25 }, "end": { "line": 1022, "column": 34 } } - ] - }, - "49": { - "loc": { "start": { "line": 1035, "column": 41 }, "end": { "line": 1035, "column": 95 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1035, "column": 66 }, "end": { "line": 1035, "column": 79 } }, - { "start": { "line": 1035, "column": 82 }, "end": { "line": 1035, "column": 95 } } - ] - }, - "50": { - "loc": { "start": { "line": 1057, "column": 48 }, "end": { "line": 1057, "column": 73 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 1057, "column": 58 }, "end": { "line": 1057, "column": 73 } }] - }, - "51": { - "loc": { "start": { "line": 1072, "column": 17 }, "end": { "line": 1072, "column": 84 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1072, "column": 27 }, "end": { "line": 1072, "column": 50 } }, - { "start": { "line": 1072, "column": 53 }, "end": { "line": 1072, "column": 84 } } - ] - }, - "52": { - "loc": { "start": { "line": 1085, "column": 46 }, "end": { "line": 1085, "column": 100 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1085, "column": 71 }, "end": { "line": 1085, "column": 84 } }, - { "start": { "line": 1085, "column": 87 }, "end": { "line": 1085, "column": 100 } } - ] - }, - "53": { - "loc": { "start": { "line": 1106, "column": 34 }, "end": { "line": 1106, "column": 59 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 1106, "column": 44 }, "end": { "line": 1106, "column": 59 } }] - }, - "54": { - "loc": { "start": { "line": 1132, "column": 50 }, "end": { "line": 1132, "column": 104 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1132, "column": 75 }, "end": { "line": 1132, "column": 88 } }, - { "start": { "line": 1132, "column": 91 }, "end": { "line": 1132, "column": 104 } } - ] - }, - "55": { - "loc": { "start": { "line": 1153, "column": 39 }, "end": { "line": 1153, "column": 64 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 1153, "column": 49 }, "end": { "line": 1153, "column": 64 } }] - }, - "56": { - "loc": { "start": { "line": 1179, "column": 44 }, "end": { "line": 1179, "column": 98 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1179, "column": 69 }, "end": { "line": 1179, "column": 82 } }, - { "start": { "line": 1179, "column": 85 }, "end": { "line": 1179, "column": 98 } } - ] - }, - "57": { - "loc": { "start": { "line": 1201, "column": 48 }, "end": { "line": 1201, "column": 73 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 1201, "column": 58 }, "end": { "line": 1201, "column": 73 } }] - }, - "58": { - "loc": { "start": { "line": 1228, "column": 54 }, "end": { "line": 1228, "column": 108 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1228, "column": 79 }, "end": { "line": 1228, "column": 92 } }, - { "start": { "line": 1228, "column": 95 }, "end": { "line": 1228, "column": 108 } } - ] - }, - "59": { - "loc": { "start": { "line": 1248, "column": 4 }, "end": { "line": 1258, "column": 5 } }, - "type": "if", - "locations": [{ "start": { "line": 1248, "column": 4 }, "end": { "line": 1258, "column": 5 } }] - }, - "60": { - "loc": { "start": { "line": 1282, "column": 57 }, "end": { "line": 1282, "column": 111 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 1282, "column": 82 }, "end": { "line": 1282, "column": 95 } }, - { "start": { "line": 1282, "column": 98 }, "end": { "line": 1282, "column": 111 } } - ] - } - }, - "s": { - "0": 2, - "1": 2, - "2": 2, - "3": 2, - "4": 2, - "5": 24, - "6": 4, - "7": 4, - "8": 2, - "9": 2, - "10": 2, - "11": 2, - "12": 24, - "13": 4, - "14": 4, - "15": 2, - "16": 2, - "17": 24, - "18": 4, - "19": 4, - "20": 2, - "21": 2, - "22": 24, - "23": 4, - "24": 4, - "25": 2, - "26": 2, - "27": 24, - "28": 4, - "29": 4, - "30": 2, - "31": 3, - "32": 24, - "33": 0, - "34": 0, - "35": 0, - "36": 0, - "37": 24, - "38": 2, - "39": 2, - "40": 1, - "41": 2, - "42": 24, - "43": 2, - "44": 2, - "45": 1, - "46": 2, - "47": 24, - "48": 2, - "49": 2, - "50": 1, - "51": 2, - "52": 24, - "53": 0, - "54": 0, - "55": 0, - "56": 0, - "57": 0, - "58": 0, - "59": 0, - "60": 0, - "61": 0, - "62": 24, - "63": 0, - "64": 0, - "65": 0, - "66": 0, - "67": 24, - "68": 0, - "69": 0, - "70": 0, - "71": 0, - "72": 24, - "73": 0, - "74": 0, - "75": 0, - "76": 0, - "77": 24, - "78": 0, - "79": 0, - "80": 0, - "81": 0, - "82": 24, - "83": 0, - "84": 0, - "85": 0, - "86": 0, - "87": 24, - "88": 0, - "89": 0, - "90": 0, - "91": 0, - "92": 24, - "93": 2, - "94": 2, - "95": 2, - "96": 2, - "97": 1, - "98": 1, - "99": 24, - "100": 2, - "101": 2, - "102": 2, - "103": 2, - "104": 1, - "105": 1, - "106": 24, - "107": 2, - "108": 2, - "109": 1, - "110": 1, - "111": 24, - "112": 4, - "113": 4, - "114": 2, - "115": 2, - "116": 24, - "117": 0, - "118": 0, - "119": 0, - "120": 0, - "121": 24, - "122": 4, - "123": 4, - "124": 2, - "125": 2, - "126": 2, - "127": 2, - "128": 2, - "129": 24, - "130": 0, - "131": 0, - "132": 0, - "133": 0, - "134": 24, - "135": 0, - "136": 0, - "137": 0, - "138": 0, - "139": 24, - "140": 4, - "141": 4, - "142": 2, - "143": 2, - "144": 24, - "145": 4, - "146": 4, - "147": 2, - "148": 2, - "149": 24, - "150": 3, - "151": 3, - "152": 3, - "153": 1, - "154": 2, - "155": 1, - "156": 1 - }, - "f": { - "0": 24, - "1": 4, - "2": 4, - "3": 4, - "4": 4, - "5": 4, - "6": 0, - "7": 2, - "8": 2, - "9": 2, - "10": 0, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 0, - "16": 0, - "17": 2, - "18": 2, - "19": 2, - "20": 4, - "21": 0, - "22": 4, - "23": 0, - "24": 0, - "25": 4, - "26": 4, - "27": 3 - }, - "b": { - "0": [0], - "1": [2, 0], - "2": [2, 0], - "3": [0], - "4": [2, 0], - "5": [0], - "6": [2, 0], - "7": [0], - "8": [3, 0], - "9": [0], - "10": [0, 0], - "11": [0], - "12": [2, 0], - "13": [0], - "14": [2, 0], - "15": [0], - "16": [2, 0], - "17": [0], - "18": [0], - "19": [0], - "20": [0, 0], - "21": [0], - "22": [0, 0], - "23": [0], - "24": [0, 0], - "25": [0], - "26": [0, 0], - "27": [0], - "28": [0, 0], - "29": [0], - "30": [0, 0], - "31": [0], - "32": [0, 0], - "33": [2], - "34": [0], - "35": [2, 0], - "36": [1, 0], - "37": [0], - "38": [2, 0], - "39": [1, 0], - "40": [0], - "41": [1, 0], - "42": [1, 0], - "43": [0], - "44": [2, 0], - "45": [0], - "46": [0, 0], - "47": [0], - "48": [2, 2], - "49": [2, 0], - "50": [0], - "51": [0, 0], - "52": [0, 0], - "53": [0], - "54": [0, 0], - "55": [0], - "56": [2, 0], - "57": [0], - "58": [2, 0], - "59": [1], - "60": [1, 0] - } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/index.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/index.ts", - "statementMap": { - "0": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 29 } }, - "1": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 29 } }, - "2": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 30 } }, - "3": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 28 } }, - "4": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 34 } }, - "5": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 31 } }, - "6": { "start": { "line": 8, "column": 0 }, "end": { "line": 8, "column": 28 } }, - "7": { "start": { "line": 9, "column": 0 }, "end": { "line": 9, "column": 9 } }, - "8": { "start": { "line": 9, "column": 9 }, "end": { "line": 9, "column": 25 } } - }, - "fnMap": { - "0": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 9, "column": 9 }, "end": { "line": 9, "column": 14 } }, - "loc": { "start": { "line": 9, "column": 9 }, "end": { "line": 9, "column": 25 } } - } - }, - "branchMap": {}, - "s": { "0": 3, "1": 3, "2": 3, "3": 3, "4": 3, "5": 3, "6": 3, "7": 3, "8": 46 }, - "f": { "0": 43 }, - "b": {} - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/clients.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/clients.ts", - "statementMap": { - "0": { "start": { "line": 11, "column": 0 }, "end": { "line": 11, "column": 16 } }, - "1": { "start": { "line": 42, "column": 0 }, "end": { "line": 42, "column": 16 } }, - "2": { "start": { "line": 59, "column": 0 }, "end": { "line": 59, "column": 16 } }, - "3": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 130 } }, - "4": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 52 } }, - "5": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 68 } }, - "6": { "start": { "line": 6, "column": 20 }, "end": { "line": 6, "column": 51 } }, - "7": { "start": { "line": 12, "column": 18 }, "end": { "line": 12, "column": 33 } }, - "8": { "start": { "line": 15, "column": 1 }, "end": { "line": 22, "column": 2 } }, - "9": { "start": { "line": 16, "column": 23 }, "end": { "line": 16, "column": 48 } }, - "10": { "start": { "line": 18, "column": 2 }, "end": { "line": 20, "column": 3 } }, - "11": { "start": { "line": 19, "column": 3 }, "end": { "line": 19, "column": 72 } }, - "12": { "start": { "line": 21, "column": 2 }, "end": { "line": 21, "column": 22 } }, - "13": { "start": { "line": 25, "column": 15 }, "end": { "line": 25, "column": 32 } }, - "14": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": 34 } }, - "15": { "start": { "line": 28, "column": 16 }, "end": { "line": 31, "column": 3 } }, - "16": { "start": { "line": 34, "column": 1 }, "end": { "line": 34, "column": 35 } }, - "17": { "start": { "line": 36, "column": 1 }, "end": { "line": 36, "column": 15 } }, - "18": { "start": { "line": 43, "column": 15 }, "end": { "line": 43, "column": 32 } }, - "19": { "start": { "line": 44, "column": 16 }, "end": { "line": 44, "column": 34 } }, - "20": { "start": { "line": 45, "column": 17 }, "end": { "line": 45, "column": 48 } }, - "21": { "start": { "line": 47, "column": 1 }, "end": { "line": 51, "column": 4 } }, - "22": { "start": { "line": 60, "column": 17 }, "end": { "line": 60, "column": 48 } }, - "23": { "start": { "line": 61, "column": 1 }, "end": { "line": 61, "column": 24 } } - }, - "fnMap": { - "0": { - "name": "getPublicClient", - "decl": { "start": { "line": 11, "column": 16 }, "end": { "line": 11, "column": 31 } }, - "loc": { "start": { "line": 11, "column": 57 }, "end": { "line": 37, "column": 1 } } - }, - "1": { - "name": "getWalletClient", - "decl": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 31 } }, - "loc": { "start": { "line": 42, "column": 74 }, "end": { "line": 52, "column": 1 } } - }, - "2": { - "name": "getAddressFromPrivateKey", - "decl": { "start": { "line": 59, "column": 16 }, "end": { "line": 59, "column": 40 } }, - "loc": { "start": { "line": 59, "column": 56 }, "end": { "line": 62, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 11, "column": 32 }, "end": { "line": 11, "column": 57 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 11, "column": 42 }, "end": { "line": 11, "column": 57 } }] - }, - "1": { - "loc": { "start": { "line": 15, "column": 1 }, "end": { "line": 22, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 15, "column": 1 }, "end": { "line": 22, "column": 2 } }] - }, - "2": { - "loc": { "start": { "line": 18, "column": 2 }, "end": { "line": 20, "column": 3 } }, - "type": "if", - "locations": [{ "start": { "line": 18, "column": 2 }, "end": { "line": 20, "column": 3 } }] - }, - "3": { - "loc": { "start": { "line": 42, "column": 49 }, "end": { "line": 42, "column": 74 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 42, "column": 59 }, "end": { "line": 42, "column": 74 } }] - } - }, - "s": { - "0": 7, - "1": 7, - "2": 7, - "3": 7, - "4": 7, - "5": 7, - "6": 7, - "7": 8, - "8": 8, - "9": 6, - "10": 6, - "11": 1, - "12": 5, - "13": 2, - "14": 2, - "15": 2, - "16": 2, - "17": 2, - "18": 2, - "19": 2, - "20": 2, - "21": 2, - "22": 1, - "23": 1 - }, - "f": { "0": 8, "1": 2, "2": 1 }, - "b": { "0": [1], "1": [6], "2": [1], "3": [1] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/balance.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/balance.ts", - "statementMap": { - "0": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 7 } }, - "1": { "start": { "line": 89, "column": 0 }, "end": { "line": 89, "column": 7 } }, - "2": { "start": { "line": 132, "column": 0 }, "end": { "line": 132, "column": 7 } }, - "3": { "start": { "line": 161, "column": 0 }, "end": { "line": 161, "column": 7 } }, - "4": { "start": { "line": 184, "column": 0 }, "end": { "line": 184, "column": 7 } }, - "5": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 75 } }, - "6": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "7": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 46 } }, - "8": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 39 } }, - "9": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 47 } }, - "10": { "start": { "line": 8, "column": 17 }, "end": { "line": 30, "column": 11 } }, - "11": { "start": { "line": 33, "column": 18 }, "end": { "line": 48, "column": 11 } }, - "12": { "start": { "line": 51, "column": 19 }, "end": { "line": 62, "column": 11 } }, - "13": { "start": { "line": 71, "column": 26 }, "end": { "line": 71, "column": 67 } }, - "14": { "start": { "line": 73, "column": 16 }, "end": { "line": 73, "column": 40 } }, - "15": { "start": { "line": 74, "column": 17 }, "end": { "line": 74, "column": 71 } }, - "16": { "start": { "line": 76, "column": 1 }, "end": { "line": 79, "column": 3 } }, - "17": { "start": { "line": 101, "column": 31 }, "end": { "line": 101, "column": 77 } }, - "18": { "start": { "line": 102, "column": 31 }, "end": { "line": 102, "column": 77 } }, - "19": { "start": { "line": 104, "column": 22 }, "end": { "line": 104, "column": 46 } }, - "20": { "start": { "line": 106, "column": 18 }, "end": { "line": 110, "column": 3 } }, - "21": { "start": { "line": 112, "column": 37 }, "end": { "line": 112, "column": 156 } }, - "22": { "start": { "line": 114, "column": 1 }, "end": { "line": 121, "column": 3 } }, - "23": { "start": { "line": 133, "column": 31 }, "end": { "line": 133, "column": 77 } }, - "24": { "start": { "line": 134, "column": 31 }, "end": { "line": 134, "column": 77 } }, - "25": { "start": { "line": 136, "column": 1 }, "end": { "line": 151, "column": 2 } }, - "26": { "start": { "line": 137, "column": 23 }, "end": { "line": 144, "column": null } }, - "27": { "start": { "line": 147, "column": 2 }, "end": { "line": 147, "column": 75 } }, - "28": { "start": { "line": 149, "column": 2 }, "end": { "line": 149, "column": 66 } }, - "29": { "start": { "line": 150, "column": 2 }, "end": { "line": 150, "column": 15 } }, - "30": { "start": { "line": 162, "column": 31 }, "end": { "line": 162, "column": 77 } }, - "31": { "start": { "line": 163, "column": 31 }, "end": { "line": 163, "column": 77 } }, - "32": { "start": { "line": 165, "column": 1 }, "end": { "line": 173, "column": 23 } }, - "33": { "start": { "line": 185, "column": 31 }, "end": { "line": 185, "column": 77 } }, - "34": { "start": { "line": 186, "column": 31 }, "end": { "line": 186, "column": 77 } }, - "35": { "start": { "line": 188, "column": 1 }, "end": { "line": 196, "column": 23 } } - }, - "fnMap": { - "0": { - "name": "getBalance", - "decl": { "start": { "line": 70, "column": 22 }, "end": { "line": 70, "column": 32 } }, - "loc": { "start": { "line": 70, "column": 75 }, "end": { "line": 80, "column": 1 } } - }, - "1": { - "name": "getERC20Balance", - "decl": { "start": { "line": 89, "column": 22 }, "end": { "line": 89, "column": 37 } }, - "loc": { "start": { "line": 92, "column": 26 }, "end": { "line": 122, "column": 1 } } - }, - "2": { - "name": "isNFTOwner", - "decl": { "start": { "line": 132, "column": 22 }, "end": { "line": 132, "column": 32 } }, - "loc": { "start": { "line": 132, "column": 119 }, "end": { "line": 152, "column": 1 } } - }, - "3": { - "name": "getERC721Balance", - "decl": { "start": { "line": 161, "column": 22 }, "end": { "line": 161, "column": 38 } }, - "loc": { "start": { "line": 161, "column": 108 }, "end": { "line": 174, "column": 1 } } - }, - "4": { - "name": "getERC1155Balance", - "decl": { "start": { "line": 184, "column": 22 }, "end": { "line": 184, "column": 39 } }, - "loc": { "start": { "line": 184, "column": 126 }, "end": { "line": 197, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 70, "column": 50 }, "end": { "line": 70, "column": 75 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 70, "column": 60 }, "end": { "line": 70, "column": 75 } }] - }, - "1": { - "loc": { "start": { "line": 92, "column": 1 }, "end": { "line": 92, "column": 26 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 92, "column": 11 }, "end": { "line": 92, "column": 26 } }] - }, - "2": { - "loc": { "start": { "line": 132, "column": 94 }, "end": { "line": 132, "column": 119 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 132, "column": 104 }, "end": { "line": 132, "column": 119 } }] - }, - "3": { - "loc": { "start": { "line": 161, "column": 83 }, "end": { "line": 161, "column": 108 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 161, "column": 93 }, "end": { "line": 161, "column": 108 } }] - }, - "4": { - "loc": { "start": { "line": 184, "column": 101 }, "end": { "line": 184, "column": 126 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 184, "column": 111 }, "end": { "line": 184, "column": 126 } }] - } - }, - "s": { - "0": 3, - "1": 3, - "2": 3, - "3": 3, - "4": 3, - "5": 3, - "6": 3, - "7": 3, - "8": 3, - "9": 3, - "10": 3, - "11": 3, - "12": 3, - "13": 1, - "14": 1, - "15": 1, - "16": 1, - "17": 1, - "18": 1, - "19": 1, - "20": 1, - "21": 1, - "22": 1, - "23": 3, - "24": 3, - "25": 3, - "26": 3, - "27": 2, - "28": 1, - "29": 1, - "30": 1, - "31": 1, - "32": 1, - "33": 1, - "34": 1, - "35": 1 - }, - "f": { "0": 1, "1": 1, "2": 3, "3": 1, "4": 1 }, - "b": { "0": [1], "1": [1], "2": [3], "3": [1], "4": [1] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/contracts.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/contracts.ts", - "statementMap": { - "0": { "start": { "line": 10, "column": 0 }, "end": { "line": 10, "column": 7 } }, - "1": { "start": { "line": 22, "column": 0 }, "end": { "line": 22, "column": 7 } }, - "2": { "start": { "line": 37, "column": 0 }, "end": { "line": 37, "column": 7 } }, - "3": { "start": { "line": 48, "column": 0 }, "end": { "line": 48, "column": 7 } }, - "4": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "5": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 50 } }, - "6": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 64 } }, - "7": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 39 } }, - "8": { "start": { "line": 11, "column": 16 }, "end": { "line": 11, "column": 40 } }, - "9": { "start": { "line": 12, "column": 1 }, "end": { "line": 12, "column": 42 } }, - "10": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 33 } }, - "11": { "start": { "line": 26, "column": 1 }, "end": { "line": 28, "column": 2 } }, - "12": { "start": { "line": 27, "column": 2 }, "end": { "line": 27, "column": 117 } }, - "13": { "start": { "line": 30, "column": 16 }, "end": { "line": 30, "column": 45 } }, - "14": { "start": { "line": 31, "column": 1 }, "end": { "line": 31, "column": 43 } }, - "15": { "start": { "line": 38, "column": 16 }, "end": { "line": 38, "column": 40 } }, - "16": { "start": { "line": 39, "column": 1 }, "end": { "line": 39, "column": 37 } }, - "17": { "start": { "line": 49, "column": 26 }, "end": { "line": 49, "column": 67 } }, - "18": { "start": { "line": 51, "column": 16 }, "end": { "line": 51, "column": 40 } }, - "19": { "start": { "line": 52, "column": 14 }, "end": { "line": 52, "column": 69 } }, - "20": { "start": { "line": 53, "column": 1 }, "end": { "line": 53, "column": 44 } } - }, - "fnMap": { - "0": { - "name": "readContract", - "decl": { "start": { "line": 10, "column": 22 }, "end": { "line": 10, "column": 34 } }, - "loc": { "start": { "line": 10, "column": 92 }, "end": { "line": 13, "column": 1 } } - }, - "1": { - "name": "writeContract", - "decl": { "start": { "line": 22, "column": 22 }, "end": { "line": 22, "column": 35 } }, - "loc": { "start": { "line": 22, "column": 94 }, "end": { "line": 32, "column": 1 } } - }, - "2": { - "name": "getLogs", - "decl": { "start": { "line": 37, "column": 22 }, "end": { "line": 37, "column": 29 } }, - "loc": { "start": { "line": 37, "column": 82 }, "end": { "line": 40, "column": 1 } } - }, - "3": { - "name": "isContract", - "decl": { "start": { "line": 48, "column": 22 }, "end": { "line": 48, "column": 32 } }, - "loc": { "start": { "line": 48, "column": 75 }, "end": { "line": 54, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 10, "column": 67 }, "end": { "line": 10, "column": 92 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 10, "column": 77 }, "end": { "line": 10, "column": 92 } }] - }, - "1": { - "loc": { "start": { "line": 22, "column": 69 }, "end": { "line": 22, "column": 94 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 22, "column": 79 }, "end": { "line": 22, "column": 94 } }] - }, - "2": { - "loc": { "start": { "line": 26, "column": 1 }, "end": { "line": 28, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 26, "column": 1 }, "end": { "line": 28, "column": 2 } }] - }, - "3": { - "loc": { "start": { "line": 37, "column": 57 }, "end": { "line": 37, "column": 82 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 37, "column": 67 }, "end": { "line": 37, "column": 82 } }] - }, - "4": { - "loc": { "start": { "line": 48, "column": 50 }, "end": { "line": 48, "column": 75 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 48, "column": 60 }, "end": { "line": 48, "column": 75 } }] - }, - "5": { - "loc": { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": 43 } }, - "type": "binary-expr", - "locations": [ - { "start": { "line": 53, "column": 8 }, "end": { "line": 53, "column": 26 } }, - { "start": { "line": 53, "column": 30 }, "end": { "line": 53, "column": 43 } } - ] - } - }, - "s": { - "0": 3, - "1": 3, - "2": 3, - "3": 3, - "4": 3, - "5": 3, - "6": 3, - "7": 3, - "8": 2, - "9": 2, - "10": 3, - "11": 3, - "12": 1, - "13": 2, - "14": 2, - "15": 2, - "16": 2, - "17": 4, - "18": 4, - "19": 4, - "20": 4 - }, - "f": { "0": 2, "1": 3, "2": 2, "3": 4 }, - "b": { "0": [1], "1": [1], "2": [1], "3": [1], "4": [1], "5": [4, 3] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/transfer.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/transfer.ts", - "statementMap": { - "0": { "start": { "line": 116, "column": 0 }, "end": { "line": 116, "column": 7 } }, - "1": { "start": { "line": 154, "column": 0 }, "end": { "line": 154, "column": 7 } }, - "2": { "start": { "line": 235, "column": 0 }, "end": { "line": 235, "column": 7 } }, - "3": { "start": { "line": 315, "column": 0 }, "end": { "line": 315, "column": 7 } }, - "4": { "start": { "line": 395, "column": 0 }, "end": { "line": 395, "column": 7 } }, - "5": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 94 } }, - "6": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "7": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 50 } }, - "8": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 64 } }, - "9": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 39 } }, - "10": { "start": { "line": 8, "column": 25 }, "end": { "line": 43, "column": 11 } }, - "11": { "start": { "line": 46, "column": 26 }, "end": { "line": 79, "column": 11 } }, - "12": { "start": { "line": 82, "column": 27 }, "end": { "line": 106, "column": 11 } }, - "13": { "start": { "line": 121, "column": 28 }, "end": { "line": 121, "column": 71 } }, - "14": { "start": { "line": 123, "column": 20 }, "end": { "line": 123, "column": 40 } }, - "15": { "start": { "line": 125, "column": 1 }, "end": { "line": 127, "column": 2 } }, - "16": { "start": { "line": 126, "column": 2 }, "end": { "line": 126, "column": 117 } }, - "17": { "start": { "line": 129, "column": 16 }, "end": { "line": 129, "column": 52 } }, - "18": { "start": { "line": 130, "column": 19 }, "end": { "line": 130, "column": 37 } }, - "19": { "start": { "line": 133, "column": 1 }, "end": { "line": 135, "column": 2 } }, - "20": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 61 } }, - "21": { "start": { "line": 137, "column": 1 }, "end": { "line": 142, "column": 4 } }, - "22": { "start": { "line": 170, "column": 31 }, "end": { "line": 170, "column": 77 } }, - "23": { "start": { "line": 171, "column": 28 }, "end": { "line": 171, "column": 71 } }, - "24": { "start": { "line": 173, "column": 20 }, "end": { "line": 173, "column": 40 } }, - "25": { "start": { "line": 175, "column": 1 }, "end": { "line": 177, "column": 2 } }, - "26": { "start": { "line": 176, "column": 2 }, "end": { "line": 176, "column": 117 } }, - "27": { "start": { "line": 179, "column": 22 }, "end": { "line": 179, "column": 46 } }, - "28": { "start": { "line": 182, "column": 18 }, "end": { "line": 186, "column": 3 } }, - "29": { "start": { "line": 189, "column": 18 }, "end": { "line": 189, "column": 48 } }, - "30": { "start": { "line": 190, "column": 16 }, "end": { "line": 190, "column": 44 } }, - "31": { "start": { "line": 193, "column": 19 }, "end": { "line": 193, "column": 47 } }, - "32": { "start": { "line": 196, "column": 22 }, "end": { "line": 196, "column": 58 } }, - "33": { "start": { "line": 199, "column": 1 }, "end": { "line": 201, "column": 2 } }, - "34": { "start": { "line": 200, "column": 2 }, "end": { "line": 200, "column": 61 } }, - "35": { "start": { "line": 204, "column": 14 }, "end": { "line": 211, "column": 3 } }, - "36": { "start": { "line": 213, "column": 1 }, "end": { "line": 223, "column": 3 } }, - "37": { "start": { "line": 251, "column": 31 }, "end": { "line": 251, "column": 77 } }, - "38": { "start": { "line": 252, "column": 33 }, "end": { "line": 252, "column": 81 } }, - "39": { "start": { "line": 255, "column": 20 }, "end": { "line": 255, "column": 40 } }, - "40": { "start": { "line": 257, "column": 1 }, "end": { "line": 259, "column": 2 } }, - "41": { "start": { "line": 258, "column": 2 }, "end": { "line": 258, "column": 117 } }, - "42": { "start": { "line": 261, "column": 22 }, "end": { "line": 261, "column": 46 } }, - "43": { "start": { "line": 262, "column": 18 }, "end": { "line": 266, "column": 3 } }, - "44": { "start": { "line": 269, "column": 18 }, "end": { "line": 269, "column": 48 } }, - "45": { "start": { "line": 270, "column": 16 }, "end": { "line": 270, "column": 44 } }, - "46": { "start": { "line": 273, "column": 19 }, "end": { "line": 273, "column": 47 } }, - "47": { "start": { "line": 276, "column": 22 }, "end": { "line": 276, "column": 58 } }, - "48": { "start": { "line": 279, "column": 1 }, "end": { "line": 281, "column": 2 } }, - "49": { "start": { "line": 280, "column": 2 }, "end": { "line": 280, "column": 61 } }, - "50": { "start": { "line": 284, "column": 14 }, "end": { "line": 291, "column": 3 } }, - "51": { "start": { "line": 293, "column": 1 }, "end": { "line": 303, "column": 3 } }, - "52": { "start": { "line": 328, "column": 31 }, "end": { "line": 328, "column": 77 } }, - "53": { "start": { "line": 329, "column": 28 }, "end": { "line": 329, "column": 71 } }, - "54": { "start": { "line": 331, "column": 20 }, "end": { "line": 331, "column": 40 } }, - "55": { "start": { "line": 333, "column": 1 }, "end": { "line": 335, "column": 2 } }, - "56": { "start": { "line": 334, "column": 2 }, "end": { "line": 334, "column": 117 } }, - "57": { "start": { "line": 338, "column": 22 }, "end": { "line": 338, "column": 58 } }, - "58": { "start": { "line": 341, "column": 1 }, "end": { "line": 343, "column": 2 } }, - "59": { "start": { "line": 342, "column": 2 }, "end": { "line": 342, "column": 61 } }, - "60": { "start": { "line": 345, "column": 21 }, "end": { "line": 345, "column": 49 } }, - "61": { "start": { "line": 348, "column": 14 }, "end": { "line": 355, "column": 3 } }, - "62": { "start": { "line": 358, "column": 22 }, "end": { "line": 358, "column": 46 } }, - "63": { "start": { "line": 359, "column": 18 }, "end": { "line": 363, "column": 3 } }, - "64": { "start": { "line": 366, "column": 12 }, "end": { "line": 366, "column": 21 } }, - "65": { "start": { "line": 367, "column": 14 }, "end": { "line": 367, "column": 19 } }, - "66": { "start": { "line": 369, "column": 1 }, "end": { "line": 373, "column": 2 } }, - "67": { "start": { "line": 370, "column": 2 }, "end": { "line": 370, "column": 85 } }, - "68": { "start": { "line": 372, "column": 2 }, "end": { "line": 372, "column": 55 } }, - "69": { "start": { "line": 375, "column": 1 }, "end": { "line": 382, "column": 3 } }, - "70": { "start": { "line": 406, "column": 31 }, "end": { "line": 406, "column": 77 } }, - "71": { "start": { "line": 407, "column": 28 }, "end": { "line": 407, "column": 71 } }, - "72": { "start": { "line": 409, "column": 20 }, "end": { "line": 409, "column": 40 } }, - "73": { "start": { "line": 411, "column": 1 }, "end": { "line": 413, "column": 2 } }, - "74": { "start": { "line": 412, "column": 2 }, "end": { "line": 412, "column": 117 } }, - "75": { "start": { "line": 416, "column": 22 }, "end": { "line": 416, "column": 58 } }, - "76": { "start": { "line": 419, "column": 1 }, "end": { "line": 421, "column": 2 } }, - "77": { "start": { "line": 420, "column": 2 }, "end": { "line": 420, "column": 61 } }, - "78": { "start": { "line": 423, "column": 21 }, "end": { "line": 423, "column": 49 } }, - "79": { "start": { "line": 426, "column": 22 }, "end": { "line": 426, "column": 36 } }, - "80": { "start": { "line": 429, "column": 14 }, "end": { "line": 436, "column": 3 } }, - "81": { "start": { "line": 438, "column": 1 }, "end": { "line": 442, "column": 3 } } - }, - "fnMap": { - "0": { - "name": "transferSei", - "decl": { "start": { "line": 116, "column": 22 }, "end": { "line": 116, "column": 33 } }, - "loc": { "start": { "line": 119, "column": 26 }, "end": { "line": 143, "column": 1 } } - }, - "1": { - "name": "transferERC20", - "decl": { "start": { "line": 154, "column": 22 }, "end": { "line": 154, "column": 35 } }, - "loc": { "start": { "line": 158, "column": 16 }, "end": { "line": 224, "column": 1 } } - }, - "2": { - "name": "approveERC20", - "decl": { "start": { "line": 235, "column": 22 }, "end": { "line": 235, "column": 34 } }, - "loc": { "start": { "line": 239, "column": 16 }, "end": { "line": 304, "column": 1 } } - }, - "3": { - "name": "transferERC721", - "decl": { "start": { "line": 315, "column": 22 }, "end": { "line": 315, "column": 36 } }, - "loc": { "start": { "line": 319, "column": 16 }, "end": { "line": 383, "column": 1 } } - }, - "4": { - "name": "transferERC1155", - "decl": { "start": { "line": 395, "column": 22 }, "end": { "line": 395, "column": 37 } }, - "loc": { "start": { "line": 400, "column": 16 }, "end": { "line": 443, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 119, "column": 1 }, "end": { "line": 119, "column": 26 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 119, "column": 11 }, "end": { "line": 119, "column": 26 } }] - }, - "1": { - "loc": { "start": { "line": 125, "column": 1 }, "end": { "line": 127, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 125, "column": 1 }, "end": { "line": 127, "column": 2 } }] - }, - "2": { - "loc": { "start": { "line": 133, "column": 1 }, "end": { "line": 135, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 133, "column": 1 }, "end": { "line": 135, "column": 2 } }] - }, - "3": { - "loc": { "start": { "line": 158, "column": 1 }, "end": { "line": 158, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 158, "column": 11 }, "end": { "line": 158, "column": 16 } }] - }, - "4": { - "loc": { "start": { "line": 175, "column": 1 }, "end": { "line": 177, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 175, "column": 1 }, "end": { "line": 177, "column": 2 } }] - }, - "5": { - "loc": { "start": { "line": 199, "column": 1 }, "end": { "line": 201, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 199, "column": 1 }, "end": { "line": 201, "column": 2 } }] - }, - "6": { - "loc": { "start": { "line": 239, "column": 1 }, "end": { "line": 239, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 239, "column": 11 }, "end": { "line": 239, "column": 16 } }] - }, - "7": { - "loc": { "start": { "line": 257, "column": 1 }, "end": { "line": 259, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 257, "column": 1 }, "end": { "line": 259, "column": 2 } }] - }, - "8": { - "loc": { "start": { "line": 279, "column": 1 }, "end": { "line": 281, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 279, "column": 1 }, "end": { "line": 281, "column": 2 } }] - }, - "9": { - "loc": { "start": { "line": 319, "column": 1 }, "end": { "line": 319, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 319, "column": 11 }, "end": { "line": 319, "column": 16 } }] - }, - "10": { - "loc": { "start": { "line": 333, "column": 1 }, "end": { "line": 335, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 333, "column": 1 }, "end": { "line": 335, "column": 2 } }] - }, - "11": { - "loc": { "start": { "line": 341, "column": 1 }, "end": { "line": 343, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 341, "column": 1 }, "end": { "line": 343, "column": 2 } }] - }, - "12": { - "loc": { "start": { "line": 400, "column": 1 }, "end": { "line": 400, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 400, "column": 11 }, "end": { "line": 400, "column": 16 } }] - }, - "13": { - "loc": { "start": { "line": 411, "column": 1 }, "end": { "line": 413, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 411, "column": 1 }, "end": { "line": 413, "column": 2 } }] - }, - "14": { - "loc": { "start": { "line": 419, "column": 1 }, "end": { "line": 421, "column": 2 } }, - "type": "if", - "locations": [{ "start": { "line": 419, "column": 1 }, "end": { "line": 421, "column": 2 } }] - } - }, - "s": { - "0": 3, - "1": 3, - "2": 3, - "3": 3, - "4": 3, - "5": 3, - "6": 3, - "7": 3, - "8": 3, - "9": 3, - "10": 3, - "11": 3, - "12": 3, - "13": 3, - "14": 3, - "15": 3, - "16": 1, - "17": 2, - "18": 2, - "19": 2, - "20": 1, - "21": 1, - "22": 3, - "23": 3, - "24": 3, - "25": 3, - "26": 1, - "27": 2, - "28": 2, - "29": 2, - "30": 2, - "31": 2, - "32": 2, - "33": 2, - "34": 1, - "35": 1, - "36": 1, - "37": 3, - "38": 3, - "39": 3, - "40": 3, - "41": 1, - "42": 2, - "43": 2, - "44": 2, - "45": 2, - "46": 2, - "47": 2, - "48": 2, - "49": 1, - "50": 1, - "51": 1, - "52": 4, - "53": 4, - "54": 4, - "55": 4, - "56": 1, - "57": 3, - "58": 3, - "59": 1, - "60": 2, - "61": 2, - "62": 2, - "63": 2, - "64": 2, - "65": 2, - "66": 2, - "67": 2, - "68": 1, - "69": 2, - "70": 3, - "71": 3, - "72": 3, - "73": 3, - "74": 1, - "75": 2, - "76": 2, - "77": 1, - "78": 1, - "79": 1, - "80": 1, - "81": 1 - }, - "f": { "0": 3, "1": 3, "2": 3, "3": 4, "4": 3 }, - "b": { - "0": [2], - "1": [1], - "2": [1], - "3": [3], - "4": [1], - "5": [1], - "6": [3], - "7": [1], - "8": [1], - "9": [4], - "10": [1], - "11": [1], - "12": [3], - "13": [1], - "14": [1] - } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/blocks.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/blocks.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 0 }, "end": { "line": 8, "column": 7 } }, - "1": { "start": { "line": 16, "column": 0 }, "end": { "line": 16, "column": 7 } }, - "2": { "start": { "line": 24, "column": 0 }, "end": { "line": 24, "column": 7 } }, - "3": { "start": { "line": 32, "column": 0 }, "end": { "line": 32, "column": 7 } }, - "4": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "5": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 47 } }, - "6": { "start": { "line": 9, "column": 16 }, "end": { "line": 9, "column": 40 } }, - "7": { "start": { "line": 10, "column": 1 }, "end": { "line": 10, "column": 38 } }, - "8": { "start": { "line": 17, "column": 16 }, "end": { "line": 17, "column": 40 } }, - "9": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 68 } }, - "10": { "start": { "line": 25, "column": 16 }, "end": { "line": 25, "column": 40 } }, - "11": { "start": { "line": 26, "column": 1 }, "end": { "line": 26, "column": 45 } }, - "12": { "start": { "line": 33, "column": 16 }, "end": { "line": 33, "column": 40 } }, - "13": { "start": { "line": 34, "column": 1 }, "end": { "line": 34, "column": 32 } } - }, - "fnMap": { - "0": { - "name": "getBlockNumber", - "decl": { "start": { "line": 8, "column": 22 }, "end": { "line": 8, "column": 36 } }, - "loc": { "start": { "line": 8, "column": 62 }, "end": { "line": 11, "column": 1 } } - }, - "1": { - "name": "getBlockByNumber", - "decl": { "start": { "line": 16, "column": 22 }, "end": { "line": 16, "column": 38 } }, - "loc": { "start": { "line": 16, "column": 85 }, "end": { "line": 19, "column": 1 } } - }, - "2": { - "name": "getBlockByHash", - "decl": { "start": { "line": 24, "column": 22 }, "end": { "line": 24, "column": 36 } }, - "loc": { "start": { "line": 24, "column": 79 }, "end": { "line": 27, "column": 1 } } - }, - "3": { - "name": "getLatestBlock", - "decl": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": 36 } }, - "loc": { "start": { "line": 32, "column": 62 }, "end": { "line": 35, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 8, "column": 37 }, "end": { "line": 8, "column": 62 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 8, "column": 47 }, "end": { "line": 8, "column": 62 } }] - }, - "1": { - "loc": { "start": { "line": 16, "column": 60 }, "end": { "line": 16, "column": 85 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 16, "column": 70 }, "end": { "line": 16, "column": 85 } }] - }, - "2": { - "loc": { "start": { "line": 24, "column": 54 }, "end": { "line": 24, "column": 79 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 24, "column": 64 }, "end": { "line": 24, "column": 79 } }] - }, - "3": { - "loc": { "start": { "line": 32, "column": 37 }, "end": { "line": 32, "column": 62 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 32, "column": 47 }, "end": { "line": 32, "column": 62 } }] - } - }, - "s": { "0": 4, "1": 4, "2": 4, "3": 4, "4": 4, "5": 4, "6": 3, "7": 3, "8": 3, "9": 3, "10": 3, "11": 3, "12": 3, "13": 3 }, - "f": { "0": 3, "1": 3, "2": 3, "3": 3 }, - "b": { "0": [2], "1": [2], "2": [2], "3": [2] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/transactions.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/transactions.ts", - "statementMap": { - "0": { "start": { "line": 8, "column": 0 }, "end": { "line": 8, "column": 7 } }, - "1": { "start": { "line": 16, "column": 0 }, "end": { "line": 16, "column": 7 } }, - "2": { "start": { "line": 24, "column": 0 }, "end": { "line": 24, "column": 7 } }, - "3": { "start": { "line": 33, "column": 0 }, "end": { "line": 33, "column": 7 } }, - "4": { "start": { "line": 41, "column": 0 }, "end": { "line": 41, "column": 7 } }, - "5": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "6": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 47 } }, - "7": { "start": { "line": 9, "column": 16 }, "end": { "line": 9, "column": 40 } }, - "8": { "start": { "line": 10, "column": 1 }, "end": { "line": 10, "column": 46 } }, - "9": { "start": { "line": 17, "column": 16 }, "end": { "line": 17, "column": 40 } }, - "10": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 53 } }, - "11": { "start": { "line": 25, "column": 16 }, "end": { "line": 25, "column": 40 } }, - "12": { "start": { "line": 26, "column": 15 }, "end": { "line": 26, "column": 60 } }, - "13": { "start": { "line": 27, "column": 1 }, "end": { "line": 27, "column": 22 } }, - "14": { "start": { "line": 34, "column": 16 }, "end": { "line": 34, "column": 40 } }, - "15": { "start": { "line": 35, "column": 1 }, "end": { "line": 35, "column": 41 } }, - "16": { "start": { "line": 42, "column": 16 }, "end": { "line": 42, "column": 40 } }, - "17": { "start": { "line": 43, "column": 17 }, "end": { "line": 43, "column": 42 } }, - "18": { "start": { "line": 44, "column": 1 }, "end": { "line": 44, "column": 24 } } - }, - "fnMap": { - "0": { - "name": "getTransaction", - "decl": { "start": { "line": 8, "column": 22 }, "end": { "line": 8, "column": 36 } }, - "loc": { "start": { "line": 8, "column": 74 }, "end": { "line": 11, "column": 1 } } - }, - "1": { - "name": "getTransactionReceipt", - "decl": { "start": { "line": 16, "column": 22 }, "end": { "line": 16, "column": 43 } }, - "loc": { "start": { "line": 16, "column": 81 }, "end": { "line": 19, "column": 1 } } - }, - "2": { - "name": "getTransactionCount", - "decl": { "start": { "line": 24, "column": 22 }, "end": { "line": 24, "column": 41 } }, - "loc": { "start": { "line": 24, "column": 85 }, "end": { "line": 28, "column": 1 } } - }, - "3": { - "name": "estimateGas", - "decl": { "start": { "line": 33, "column": 22 }, "end": { "line": 33, "column": 33 } }, - "loc": { "start": { "line": 33, "column": 90 }, "end": { "line": 36, "column": 1 } } - }, - "4": { - "name": "getChainId", - "decl": { "start": { "line": 41, "column": 22 }, "end": { "line": 41, "column": 32 } }, - "loc": { "start": { "line": 41, "column": 58 }, "end": { "line": 45, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 8, "column": 49 }, "end": { "line": 8, "column": 74 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 8, "column": 59 }, "end": { "line": 8, "column": 74 } }] - }, - "1": { - "loc": { "start": { "line": 16, "column": 56 }, "end": { "line": 16, "column": 81 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 16, "column": 66 }, "end": { "line": 16, "column": 81 } }] - }, - "2": { - "loc": { "start": { "line": 24, "column": 60 }, "end": { "line": 24, "column": 85 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 24, "column": 70 }, "end": { "line": 24, "column": 85 } }] - }, - "3": { - "loc": { "start": { "line": 33, "column": 65 }, "end": { "line": 33, "column": 90 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 33, "column": 75 }, "end": { "line": 33, "column": 90 } }] - }, - "4": { - "loc": { "start": { "line": 41, "column": 33 }, "end": { "line": 41, "column": 58 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 41, "column": 43 }, "end": { "line": 41, "column": 58 } }] - } - }, - "s": { - "0": 4, - "1": 4, - "2": 4, - "3": 4, - "4": 4, - "5": 4, - "6": 4, - "7": 3, - "8": 3, - "9": 3, - "10": 3, - "11": 3, - "12": 3, - "13": 2, - "14": 3, - "15": 3, - "16": 3, - "17": 3, - "18": 2 - }, - "f": { "0": 3, "1": 3, "2": 3, "3": 3, "4": 3 }, - "b": { "0": [2], "1": [2], "2": [2], "3": [2], "4": [2] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/tokens.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/tokens.ts", - "statementMap": { - "0": { "start": { "line": 75, "column": 0 }, "end": { "line": 75, "column": 7 } }, - "1": { "start": { "line": 112, "column": 0 }, "end": { "line": 112, "column": 7 } }, - "2": { "start": { "line": 141, "column": 0 }, "end": { "line": 141, "column": 7 } }, - "3": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 83 } }, - "4": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 47 } }, - "5": { "start": { "line": 5, "column": 17 }, "end": { "line": 34, "column": 11 } }, - "6": { "start": { "line": 37, "column": 18 }, "end": { "line": 59, "column": 11 } }, - "7": { "start": { "line": 62, "column": 19 }, "end": { "line": 70, "column": 11 } }, - "8": { "start": { "line": 85, "column": 22 }, "end": { "line": 85, "column": 46 } }, - "9": { "start": { "line": 87, "column": 18 }, "end": { "line": 91, "column": 3 } }, - "10": { "start": { "line": 93, "column": 47 }, "end": { "line": 98, "column": 3 } }, - "11": { "start": { "line": 100, "column": 1 }, "end": { "line": 106, "column": 3 } }, - "12": { "start": { "line": 121, "column": 22 }, "end": { "line": 121, "column": 46 } }, - "13": { "start": { "line": 123, "column": 18 }, "end": { "line": 127, "column": 3 } }, - "14": { "start": { "line": 129, "column": 34 }, "end": { "line": 129, "column": 134 } }, - "15": { "start": { "line": 131, "column": 1 }, "end": { "line": 135, "column": 3 } }, - "16": { "start": { "line": 142, "column": 22 }, "end": { "line": 142, "column": 46 } }, - "17": { "start": { "line": 144, "column": 18 }, "end": { "line": 148, "column": 3 } }, - "18": { "start": { "line": 150, "column": 1 }, "end": { "line": 150, "column": 37 } } - }, - "fnMap": { - "0": { - "name": "getERC20TokenInfo", - "decl": { "start": { "line": 75, "column": 22 }, "end": { "line": 75, "column": 39 } }, - "loc": { "start": { "line": 77, "column": 16 }, "end": { "line": 107, "column": 1 } } - }, - "1": { - "name": "getERC721TokenMetadata", - "decl": { "start": { "line": 112, "column": 22 }, "end": { "line": 112, "column": 44 } }, - "loc": { "start": { "line": 115, "column": 16 }, "end": { "line": 136, "column": 1 } } - }, - "2": { - "name": "getERC1155TokenURI", - "decl": { "start": { "line": 141, "column": 22 }, "end": { "line": 141, "column": 40 } }, - "loc": { "start": { "line": 141, "column": 96 }, "end": { "line": 151, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 77, "column": 1 }, "end": { "line": 77, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 77, "column": 11 }, "end": { "line": 77, "column": 16 } }] - }, - "1": { - "loc": { "start": { "line": 115, "column": 1 }, "end": { "line": 115, "column": 16 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 115, "column": 11 }, "end": { "line": 115, "column": 16 } }] - }, - "2": { - "loc": { "start": { "line": 141, "column": 81 }, "end": { "line": 141, "column": 96 } }, - "type": "default-arg", - "locations": [{ "start": { "line": 141, "column": 91 }, "end": { "line": 141, "column": 96 } }] - } - }, - "s": { - "0": 4, - "1": 4, - "2": 4, - "3": 4, - "4": 4, - "5": 4, - "6": 4, - "7": 4, - "8": 3, - "9": 3, - "10": 3, - "11": 2, - "12": 3, - "13": 3, - "14": 3, - "15": 2, - "16": 3, - "17": 3, - "18": 3 - }, - "f": { "0": 3, "1": 3, "2": 3 }, - "b": { "0": [2], "1": [2], "2": [2] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/utils.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/core/services/utils.ts", - "statementMap": { - "0": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 48 } }, - "1": { "start": { "line": 6, "column": 13 }, "end": { "line": 21, "column": 2 } }, - "2": { "start": { "line": 11, "column": 39 }, "end": { "line": 11, "column": 131 } }, - "3": { "start": { "line": 11, "column": 74 }, "end": { "line": 11, "column": 126 } }, - "4": { "start": { "line": 15, "column": 2 }, "end": { "line": 17, "column": 3 } }, - "5": { "start": { "line": 16, "column": 3 }, "end": { "line": 16, "column": 29 } }, - "6": { "start": { "line": 19, "column": 2 }, "end": { "line": 19, "column": 49 } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 11, "column": 13 }, "end": { "line": 11, "column": 14 } }, - "loc": { "start": { "line": 11, "column": 39 }, "end": { "line": 11, "column": 131 } } - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 11, "column": 59 }, "end": { "line": 11, "column": 60 } }, - "loc": { "start": { "line": 11, "column": 74 }, "end": { "line": 11, "column": 126 } } - }, - "2": { - "name": "(anonymous_2)", - "decl": { "start": { "line": 13, "column": 18 }, "end": { "line": 13, "column": 19 } }, - "loc": { "start": { "line": 13, "column": 47 }, "end": { "line": 20, "column": 2 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 11, "column": 74 }, "end": { "line": 11, "column": 126 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 11, "column": 102 }, "end": { "line": 11, "column": 118 } }, - { "start": { "line": 11, "column": 121 }, "end": { "line": 11, "column": 126 } } - ] - }, - "1": { - "loc": { "start": { "line": 15, "column": 2 }, "end": { "line": 17, "column": 3 } }, - "type": "if", - "locations": [{ "start": { "line": 15, "column": 2 }, "end": { "line": 17, "column": 3 } }] - } - }, - "s": { "0": 3, "1": 3, "2": 2, "3": 10, "4": 35, "5": 31, "6": 4 }, - "f": { "0": 2, "1": 10, "2": 35 }, - "b": { "0": [2, 8], "1": [31] } - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts", - "statementMap": { - "0": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 16 } }, - "1": { "start": { "line": 88, "column": 0 }, "end": { "line": 88, "column": 7 } }, - "2": { "start": { "line": 100, "column": 0 }, "end": { "line": 100, "column": 7 } }, - "3": { "start": { "line": 117, "column": 0 }, "end": { "line": 117, "column": 16 } }, - "4": { "start": { "line": 132, "column": 0 }, "end": { "line": 132, "column": 16 } }, - "5": { "start": { "line": 143, "column": 0 }, "end": { "line": 143, "column": 16 } }, - "6": { "start": { "line": 168, "column": 0 }, "end": { "line": 168, "column": 16 } }, - "7": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 37 } }, - "8": { "start": { "line": 71, "column": 26 }, "end": { "line": 71, "column": 49 } }, - "9": { "start": { "line": 73, "column": 17 }, "end": { "line": 77, "column": 28 } }, - "10": { "start": { "line": 75, "column": 6 }, "end": { "line": 75, "column": 72 } }, - "11": { "start": { "line": 79, "column": 2 }, "end": { "line": 79, "column": 37 } }, - "12": { "start": { "line": 89, "column": 2 }, "end": { "line": 89, "column": 52 } }, - "13": { "start": { "line": 106, "column": 2 }, "end": { "line": 108, "column": 5 } }, - "14": { "start": { "line": 107, "column": 4 }, "end": { "line": 107, "column": 16 } }, - "15": { "start": { "line": 109, "column": 2 }, "end": { "line": 109, "column": 52 } }, - "16": { "start": { "line": 118, "column": 2 }, "end": { "line": 118, "column": 45 } }, - "17": { "start": { "line": 119, "column": 2 }, "end": { "line": 119, "column": 49 } }, - "18": { "start": { "line": 120, "column": 2 }, "end": { "line": 120, "column": 61 } }, - "19": { "start": { "line": 123, "column": 23 }, "end": { "line": 123, "column": 59 } }, - "20": { "start": { "line": 124, "column": 2 }, "end": { "line": 124, "column": 45 } }, - "21": { "start": { "line": 133, "column": 2 }, "end": { "line": 133, "column": 45 } }, - "22": { "start": { "line": 134, "column": 2 }, "end": { "line": 134, "column": 49 } }, - "23": { "start": { "line": 135, "column": 2 }, "end": { "line": 135, "column": 61 } }, - "24": { "start": { "line": 136, "column": 2 }, "end": { "line": 136, "column": 59 } }, - "25": { "start": { "line": 137, "column": 2 }, "end": { "line": 137, "column": 51 } }, - "26": { "start": { "line": 145, "column": 22 }, "end": { "line": 145, "column": 92 } }, - "27": { "start": { "line": 147, "column": 24 }, "end": { "line": 151, "column": 37 } }, - "28": { "start": { "line": 153, "column": 22 }, "end": { "line": 156, "column": 35 } }, - "29": { "start": { "line": 158, "column": 2 }, "end": { "line": 162, "column": 4 } }, - "30": { "start": { "line": 169, "column": 19 }, "end": { "line": 169, "column": 95 } }, - "31": { "start": { "line": 171, "column": 2 }, "end": { "line": 196, "column": 4 } } - }, - "fnMap": { - "0": { - "name": "createMockServer", - "decl": { "start": { "line": 70, "column": 16 }, "end": { "line": 70, "column": 32 } }, - "loc": { "start": { "line": 70, "column": 32 }, "end": { "line": 80, "column": 1 } } - }, - "1": { - "name": "(anonymous_1)", - "decl": { "start": { "line": 74, "column": 18 }, "end": { "line": 74, "column": 19 } }, - "loc": { "start": { "line": 74, "column": 98 }, "end": { "line": 76, "column": 5 } } - }, - "2": { - "name": "testToolSuccess", - "decl": { "start": { "line": 88, "column": 22 }, "end": { "line": 88, "column": 37 } }, - "loc": { "start": { "line": 88, "column": 81 }, "end": { "line": 90, "column": 1 } } - }, - "3": { - "name": "testToolError", - "decl": { "start": { "line": 100, "column": 22 }, "end": { "line": 100, "column": 35 } }, - "loc": { "start": { "line": 104, "column": 14 }, "end": { "line": 110, "column": 1 } } - }, - "4": { - "name": "(anonymous_4)", - "decl": { "start": { "line": 106, "column": 32 }, "end": { "line": 106, "column": 35 } }, - "loc": { "start": { "line": 106, "column": 37 }, "end": { "line": 108, "column": 3 } } - }, - "5": { - "name": "verifySuccessResponse", - "decl": { "start": { "line": 117, "column": 16 }, "end": { "line": 117, "column": 37 } }, - "loc": { "start": { "line": 117, "column": 99 }, "end": { "line": 125, "column": 1 } } - }, - "6": { - "name": "verifyErrorResponse", - "decl": { "start": { "line": 132, "column": 16 }, "end": { "line": 132, "column": 35 } }, - "loc": { "start": { "line": 132, "column": 80 }, "end": { "line": 138, "column": 1 } } - }, - "7": { - "name": "setupBalanceMocks", - "decl": { "start": { "line": 143, "column": 16 }, "end": { "line": 143, "column": 33 } }, - "loc": { "start": { "line": 143, "column": 33 }, "end": { "line": 163, "column": 1 } } - }, - "8": { - "name": "setupTransactionMocks", - "decl": { "start": { "line": 168, "column": 16 }, "end": { "line": 168, "column": 37 } }, - "loc": { "start": { "line": 168, "column": 37 }, "end": { "line": 197, "column": 1 } } - } - }, - "branchMap": {}, - "s": { - "0": 1, - "1": 1, - "2": 1, - "3": 1, - "4": 1, - "5": 1, - "6": 1, - "7": 1, - "8": 1, - "9": 1, - "10": 27, - "11": 1, - "12": 15, - "13": 15, - "14": 15, - "15": 15, - "16": 2, - "17": 2, - "18": 2, - "19": 2, - "20": 2, - "21": 15, - "22": 15, - "23": 15, - "24": 15, - "25": 15, - "26": 2, - "27": 2, - "28": 2, - "29": 2, - "30": 1, - "31": 1 - }, - "f": { "0": 1, "1": 27, "2": 15, "3": 15, "4": 15, "5": 2, "6": 15, "7": 2, "8": 1 }, - "b": {} - }, - "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/config.mock.ts": { - "path": "/Users/carson/Development/Sei/sei-js/packages/mcp-server/src/tests/core/config.mock.ts", - "statementMap": { - "0": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 16 } }, - "1": { "start": { "line": 29, "column": 0 }, "end": { "line": 29, "column": 16 } }, - "2": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 24 } }, - "3": { "start": { "line": 5, "column": 18 }, "end": { "line": 7, "column": 2 } }, - "4": { "start": { "line": 10, "column": 32 }, "end": { "line": 15, "column": 1 } }, - "5": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 28 } }, - "6": { "start": { "line": 11, "column": 11 }, "end": { "line": 11, "column": 28 } }, - "7": { "start": { "line": 14, "column": 1 }, "end": { "line": 14, "column": 48 } }, - "8": { "start": { "line": 10, "column": 13 }, "end": { "line": 10, "column": 32 } }, - "9": { "start": { "line": 20, "column": 13 }, "end": { "line": 20, "column": 41 } }, - "10": { "start": { "line": 23, "column": 1 }, "end": { "line": 25, "column": 3 } }, - "11": { "start": { "line": 30, "column": 1 }, "end": { "line": 30, "column": 45 } } - }, - "fnMap": { - "0": { - "name": "(anonymous_0)", - "decl": { "start": { "line": 10, "column": 32 }, "end": { "line": 10, "column": 33 } }, - "loc": { "start": { "line": 10, "column": 69 }, "end": { "line": 15, "column": 1 } } - }, - "1": { - "name": "initializeConfig", - "decl": { "start": { "line": 18, "column": 16 }, "end": { "line": 18, "column": 32 } }, - "loc": { "start": { "line": 18, "column": 76 }, "end": { "line": 26, "column": 1 } } - }, - "2": { - "name": "getPrivateKeyAsHex", - "decl": { "start": { "line": 29, "column": 16 }, "end": { "line": 29, "column": 34 } }, - "loc": { "start": { "line": 29, "column": 66 }, "end": { "line": 31, "column": 1 } } - } - }, - "branchMap": { - "0": { - "loc": { "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 28 } }, - "type": "if", - "locations": [{ "start": { "line": 11, "column": 1 }, "end": { "line": 11, "column": 28 } }] - }, - "1": { - "loc": { "start": { "line": 14, "column": 8 }, "end": { "line": 14, "column": 47 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 14, "column": 31 }, "end": { "line": 14, "column": 34 } }, - { "start": { "line": 14, "column": 37 }, "end": { "line": 14, "column": 47 } } - ] - }, - "2": { - "loc": { "start": { "line": 24, "column": 14 }, "end": { "line": 24, "column": 78 } }, - "type": "cond-expr", - "locations": [ - { "start": { "line": 24, "column": 28 }, "end": { "line": 24, "column": 66 } }, - { "start": { "line": 24, "column": 69 }, "end": { "line": 24, "column": 78 } } - ] - } - }, - "s": { "0": 1, "1": 1, "2": 1, "3": 1, "4": 1, "5": 8, "6": 4, "7": 4, "8": 1, "9": 5, "10": 5, "11": 2 }, - "f": { "0": 8, "1": 5, "2": 2 }, - "b": { "0": [4], "1": [2, 2], "2": [4, 1] } - } - } -} diff --git a/packages/mcp-server/jest.config.js b/packages/mcp-server/jest.config.js deleted file mode 100644 index 8c77a41e9..000000000 --- a/packages/mcp-server/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -export default { - preset: 'ts-jest', - testEnvironment: 'node', - extensionsToTreatAsEsm: ['.ts'], - transform: { - '^.+\\.ts$': [ - 'ts-jest', - { - useESM: true, - tsconfig: 'tsconfig.test.json' - } - ] - }, - moduleNameMapper: { - '^(\\.{1,2}/.*)\\.js$': '$1' - }, - testMatch: ['**/*.test.ts'], - collectCoverageFrom: [ - 'src/**/*.ts', - '!src/**/*.test.ts', - '!src/tests/**/*' - ], - clearMocks: true, - resetMocks: true -}; diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 3eb3be338..a3a6020ce 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -4,26 +4,30 @@ "type": "module", "version": "0.3.3", "bin": "./bin/mcp-server.js", - "main": "./dist/esm/index.js", - "module": "./dist/esm/index.js", - "types": "./dist/types/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "files": [ "dist", "bin" ], "scripts": { - "build": "rm -rf dist && pnpm run build:esm && pnpm run build:types", - "build:esm": "tsc --project ./tsconfig.build.json", - "build:types": "tsc --project ./tsconfig.declaration.json", - "start": "node dist/esm/index.js", - "start:http": "node dist/esm/index.js --streamable-http", - "start:http-sse": "node dist/esm/index.js --http-sse", + "build": "rm -rf dist && tsc --project ./tsconfig.json", + "start": "node dist/index.js", + "start:http": "node dist/index.js --streamable-http", + "start:http-sse": "node dist/index.js --http-sse", "inspect": "npx -y @modelcontextprotocol/inspector", - "dev": "tsx watch src/index.ts", - "test": "jest" + "dev": "bun --watch src/index.ts", + "test": "bun test --isolate src" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } }, "devDependencies": { - "@jest/globals": "^30.0.3", "@types/cors": "^2.8.17", "@types/express": "^5.0.0", "typescript": "^5.8.3" @@ -35,9 +39,7 @@ "cors": "^2.8.5", "dotenv": "^16.5.0", "express": "^4.21.2", - "jest": "^30.0.3", - "tsx": "^4.20.3", - "viem": "^2.30.5", + "viem": "2.37.2", "zod": "^3.24.2" }, "keywords": [ @@ -54,7 +56,7 @@ "author": "@codebycarson", "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "repository": { "type": "git", diff --git a/packages/mcp-server/src/core/chains.ts b/packages/mcp-server/src/core/chains.ts index 34c75ac9b..117a7d9f8 100644 --- a/packages/mcp-server/src/core/chains.ts +++ b/packages/mcp-server/src/core/chains.ts @@ -46,9 +46,11 @@ export function resolveChainId(chainIdentifier: number | string): number { } // Try parsing as a number - const parsedId = Number.parseInt(networkName); - if (!Number.isNaN(parsedId)) { - return parsedId; + if (/^(?:\d+|0x[0-9a-f]+)$/i.test(networkName)) { + const parsedId = Number(networkName); + if (Number.isSafeInteger(parsedId) && parsedId >= 0) { + return parsedId; + } } // Default to mainnet if not found diff --git a/packages/mcp-server/src/core/config.ts b/packages/mcp-server/src/core/config.ts index d1462422f..57aca60bc 100644 --- a/packages/mcp-server/src/core/config.ts +++ b/packages/mcp-server/src/core/config.ts @@ -15,9 +15,6 @@ const envSchema = z.object({ WALLET_API_KEY: z.string().optional() // Used for wallet providers }); -// Parse and validate environment variables -const env = envSchema.safeParse(process.env); - // Format private key with 0x prefix if it exists export const formatPrivateKey = (key?: string): string | undefined => { if (!key) return undefined; @@ -26,13 +23,25 @@ export const formatPrivateKey = (key?: string): string | undefined => { return key.startsWith('0x') ? key : `0x${key}`; }; -// Export validated environment variables with formatted private key -export const config = { - privateKey: env.success ? formatPrivateKey(env.data.PRIVATE_KEY) : undefined, - walletMode: (env.success ? env.data.WALLET_MODE : 'disabled') as WalletMode, - walletApiKey: env.success ? env.data.WALLET_API_KEY : undefined +export interface AppConfig { + privateKey: string | undefined; + walletMode: WalletMode; + walletApiKey: string | undefined; +} + +export const loadConfig = (environment: Record = process.env): AppConfig => { + const env = envSchema.safeParse(environment); + + return { + privateKey: env.success ? formatPrivateKey(env.data.PRIVATE_KEY) : undefined, + walletMode: (env.success ? env.data.WALLET_MODE : 'disabled') as WalletMode, + walletApiKey: env.success ? env.data.WALLET_API_KEY : undefined + }; }; +// Export validated environment variables with formatted private key +export const config = loadConfig(); + /** * Get the private key from environment variable as a Hex type for viem. * Returns undefined if the PRIVATE_KEY environment variable is not set. diff --git a/packages/mcp-server/src/core/prompts.ts b/packages/mcp-server/src/core/prompts.ts index 16fd33450..4d4919b34 100644 --- a/packages/mcp-server/src/core/prompts.ts +++ b/packages/mcp-server/src/core/prompts.ts @@ -72,8 +72,6 @@ function registerReadOnlyPrompts(server: McpServer) { }) ); - - // Address analysis prompt server.prompt( 'analyze_address', diff --git a/packages/mcp-server/src/core/resources.ts b/packages/mcp-server/src/core/resources.ts index 959f4d330..c7918e207 100644 --- a/packages/mcp-server/src/core/resources.ts +++ b/packages/mcp-server/src/core/resources.ts @@ -3,6 +3,17 @@ import type { Address, Hash } from 'viem'; import { DEFAULT_NETWORK, getRpcUrl, getSupportedNetworks } from './chains.js'; import * as services from './services/index.js'; +export function parseBlockNumber(blockNumber: string): number { + if (!/^(?:\d+|0x[0-9a-f]+)$/i.test(blockNumber)) { + throw new Error(`Invalid block number: ${blockNumber}`); + } + const parsed = Number(blockNumber); + if (!Number.isSafeInteger(parsed) || parsed < 0) { + throw new Error(`Invalid block number: ${blockNumber}`); + } + return parsed; +} + /** * Register all EVM-related resources * @param server The MCP server instance @@ -87,7 +98,7 @@ export function registerEVMResources(server: McpServer) { try { const network = params.network as string; const blockNumber = params.blockNumber as string; - const block = await services.getBlockByNumber(Number.parseInt(blockNumber), network); + const block = await services.getBlockByNumber(parseBlockNumber(blockNumber), network); return { contents: [ @@ -541,7 +552,7 @@ export function registerEVMResources(server: McpServer) { if (isOwner) { owner = params.address as string; } - } catch (e) { + } catch (_e) { // Owner info not available } diff --git a/packages/mcp-server/src/core/services/clients.ts b/packages/mcp-server/src/core/services/clients.ts index 609585394..b35ab43e7 100644 --- a/packages/mcp-server/src/core/services/clients.ts +++ b/packages/mcp-server/src/core/services/clients.ts @@ -1,11 +1,14 @@ -import { http, type Address, type Hex, type PublicClient, type WalletClient, createPublicClient, createWalletClient } from 'viem'; -import { privateKeyToAccount } from 'viem/accounts'; +import { type Address, createPublicClient, http, type PublicClient, type WalletClient } from 'viem'; import { DEFAULT_NETWORK, getChain, getRpcUrl } from '../chains.js'; import { getWalletProvider } from '../wallet/index.js'; // Cache for clients to avoid recreating them for each request const clientCache = new Map(); +export function resetPublicClientCache(): void { + clientCache.clear(); +} + /** * Get a public client for a specific network */ diff --git a/packages/mcp-server/src/core/services/contracts.ts b/packages/mcp-server/src/core/services/contracts.ts index 85130a002..509815037 100644 --- a/packages/mcp-server/src/core/services/contracts.ts +++ b/packages/mcp-server/src/core/services/contracts.ts @@ -1,4 +1,4 @@ -import type { GetLogsParameters, Hash, Hex, Log, ReadContractParameters, WriteContractParameters } from 'viem'; +import type { Abi, GetLogsParameters, Hash, Hex, Log, ReadContractParameters } from 'viem'; import { DEFAULT_NETWORK } from '../chains.js'; import { getPrivateKeyAsHex } from '../config.js'; import { getPublicClient, getWalletClientFromProvider } from './clients.js'; @@ -19,7 +19,7 @@ export async function readContract(params: ReadContractParameters, network = DEF * @returns Transaction hash * @throws Error if no private key is available */ -export async function writeContract(params: Record, network = DEFAULT_NETWORK): Promise { +export async function writeContract(params: Record, network = DEFAULT_NETWORK): Promise { // Get private key from environment const key = getPrivateKeyAsHex(); @@ -28,7 +28,7 @@ export async function writeContract(params: Record, network = DEFAU } const client = await getWalletClientFromProvider(network); - return await client.writeContract(params as any); + return await client.writeContract(params as unknown as Parameters[0]); } /** @@ -64,8 +64,8 @@ export async function isContract(address: string, network = DEFAULT_NETWORK): Pr */ export async function deployContract( bytecode: Hex, - abi: any[], - args?: any[], + abi: Abi, + args?: readonly unknown[], network = DEFAULT_NETWORK ): Promise<{ address: Hash; transactionHash: Hash }> { // Get private key from environment @@ -76,30 +76,31 @@ export async function deployContract( } const client = await getWalletClientFromProvider(network); - + if (!client.account) { throw new Error('Wallet client account not available for contract deployment.'); } - + // Deploy the contract - const hash = await client.deployContract({ + const deployment = { abi, bytecode, args: args || [], account: client.account, - chain: client.chain, - }); + chain: client.chain + } as unknown as Parameters[0]; + const hash = await client.deployContract(deployment); // Wait for the transaction to be mined and get the contract address const publicClient = getPublicClient(network); const receipt = await publicClient.waitForTransactionReceipt({ hash }); - + if (!receipt.contractAddress) { throw new Error('Contract deployment failed - no contract address returned'); } return { address: receipt.contractAddress, - transactionHash: hash, + transactionHash: hash }; } diff --git a/packages/mcp-server/src/core/services/index.ts b/packages/mcp-server/src/core/services/index.ts index 699eb98af..3c54239c6 100644 --- a/packages/mcp-server/src/core/services/index.ts +++ b/packages/mcp-server/src/core/services/index.ts @@ -1,19 +1,19 @@ // Export all services -export * from './clients.js'; -export * from './balance.js'; -export * from './transfer.js'; -export * from './blocks.js'; -export * from './transactions.js'; -export * from './contracts.js'; -export * from './tokens.js'; -export { utils as helpers } from './utils.js'; // Re-export common types for convenience export type { Address, + Block, Hash, Hex, - Block, - TransactionReceipt, - Log + Log, + TransactionReceipt } from 'viem'; +export * from './balance.js'; +export * from './blocks.js'; +export * from './clients.js'; +export * from './contracts.js'; +export * from './tokens.js'; +export * from './transactions.js'; +export * from './transfer.js'; +export { utils as helpers } from './utils.js'; diff --git a/packages/mcp-server/src/core/services/tokens.ts b/packages/mcp-server/src/core/services/tokens.ts index e67b8f535..359930fcb 100644 --- a/packages/mcp-server/src/core/services/tokens.ts +++ b/packages/mcp-server/src/core/services/tokens.ts @@ -1,4 +1,4 @@ -import { type Address, type Hash, type Hex, formatUnits, getContract } from 'viem'; +import { type Address, formatUnits, getContract } from 'viem'; import { getPublicClient } from './clients.js'; // Standard ERC20 ABI (minimal for reading) diff --git a/packages/mcp-server/src/core/services/transfer.ts b/packages/mcp-server/src/core/services/transfer.ts index 6675bc4a8..e4817973e 100644 --- a/packages/mcp-server/src/core/services/transfer.ts +++ b/packages/mcp-server/src/core/services/transfer.ts @@ -1,4 +1,4 @@ -import { type Address, type Hash, getContract, parseEther, parseUnits } from 'viem'; +import { type Address, getContract, type Hash, parseEther, parseUnits } from 'viem'; import { DEFAULT_NETWORK } from '../chains.js'; import { getPublicClient, getWalletClientFromProvider } from './clients.js'; import * as services from './index.js'; diff --git a/packages/mcp-server/src/core/tools.ts b/packages/mcp-server/src/core/tools.ts index eaf868ee3..527ce495f 100644 --- a/packages/mcp-server/src/core/tools.ts +++ b/packages/mcp-server/src/core/tools.ts @@ -3,8 +3,8 @@ import type { Address, Hash, Hex } from 'viem'; import { z } from 'zod'; import { DEFAULT_NETWORK, getRpcUrl, getSupportedNetworks } from './chains.js'; import { isWalletEnabled } from './config.js'; -import { getWalletProvider } from './wallet/index.js'; import * as services from './services/index.js'; +import { getWalletProvider } from './wallet/index.js'; /** * Register all EVM-related tools with the MCP server @@ -1079,7 +1079,7 @@ function registerWalletTools(server: McpServer) { functionName: 'ownerOf', args: [BigInt(tokenId)] }); - } catch (e) { + } catch (_e) { // Ownership info not available } diff --git a/packages/mcp-server/src/core/wallet/index.ts b/packages/mcp-server/src/core/wallet/index.ts index c0a278e45..6743e29d0 100644 --- a/packages/mcp-server/src/core/wallet/index.ts +++ b/packages/mcp-server/src/core/wallet/index.ts @@ -37,7 +37,7 @@ export function resetWalletProvider(): void { walletProviderInstance = null; } +export { DisabledWalletProvider } from './providers/disabled.js'; +export { PrivateKeyWalletProvider } from './providers/private-key.js'; // Export types and classes export * from './types.js'; -export { PrivateKeyWalletProvider } from './providers/private-key.js'; -export { DisabledWalletProvider } from './providers/disabled.js'; diff --git a/packages/mcp-server/src/core/wallet/providers/disabled.ts b/packages/mcp-server/src/core/wallet/providers/disabled.ts index cd6e2838b..08f99e51e 100644 --- a/packages/mcp-server/src/core/wallet/providers/disabled.ts +++ b/packages/mcp-server/src/core/wallet/providers/disabled.ts @@ -12,27 +12,15 @@ export class DisabledWalletProvider implements WalletProvider { } async getAddress(): Promise
{ - throw new WalletProviderError( - 'Wallet functionality is disabled. Enable wallet functionality to use this feature.', - 'disabled', - 'WALLET_DISABLED' - ); + throw new WalletProviderError('Wallet functionality is disabled. Enable wallet functionality to use this feature.', 'disabled', 'WALLET_DISABLED'); } - async signTransaction(tx: TransactionRequest): Promise { - throw new WalletProviderError( - 'Wallet functionality is disabled. Enable wallet functionality to sign transactions.', - 'disabled', - 'WALLET_DISABLED' - ); + async signTransaction(_tx: TransactionRequest): Promise { + throw new WalletProviderError('Wallet functionality is disabled. Enable wallet functionality to sign transactions.', 'disabled', 'WALLET_DISABLED'); } - async getWalletClient(network: string): Promise { - throw new WalletProviderError( - 'Wallet functionality is disabled. Enable wallet functionality to create wallet clients.', - 'disabled', - 'WALLET_DISABLED' - ); + async getWalletClient(_network: string): Promise { + throw new WalletProviderError('Wallet functionality is disabled. Enable wallet functionality to create wallet clients.', 'disabled', 'WALLET_DISABLED'); } getName(): string { diff --git a/packages/mcp-server/src/core/wallet/providers/private-key.ts b/packages/mcp-server/src/core/wallet/providers/private-key.ts index 24ba8d232..d1df9ef1e 100644 --- a/packages/mcp-server/src/core/wallet/providers/private-key.ts +++ b/packages/mcp-server/src/core/wallet/providers/private-key.ts @@ -23,41 +23,25 @@ export class PrivateKeyWalletProvider implements WalletProvider { async getAddress(): Promise
{ if (!this.privateKey) { - throw new WalletProviderError( - 'Private key not configured. Set PRIVATE_KEY environment variable.', - 'private-key', - 'MISSING_PRIVATE_KEY' - ); + throw new WalletProviderError('Private key not configured. Set PRIVATE_KEY environment variable.', 'private-key', 'MISSING_PRIVATE_KEY'); } const account = privateKeyToAccount(this.privateKey as `0x${string}`); return account.address; } - async signTransaction(tx: TransactionRequest): Promise { + async signTransaction(_tx: TransactionRequest): Promise { if (!this.privateKey) { - throw new WalletProviderError( - 'Private key not configured. Cannot sign transaction.', - 'private-key', - 'MISSING_PRIVATE_KEY' - ); + throw new WalletProviderError('Private key not configured. Cannot sign transaction.', 'private-key', 'MISSING_PRIVATE_KEY'); } // For now, return a placeholder - full implementation would involve actual signing - throw new WalletProviderError( - 'Direct transaction signing not implemented for private key provider.', - 'private-key', - 'NOT_IMPLEMENTED' - ); + throw new WalletProviderError('Direct transaction signing not implemented for private key provider.', 'private-key', 'NOT_IMPLEMENTED'); } async getWalletClient(network: string): Promise { if (!this.privateKey) { - throw new WalletProviderError( - 'Private key not configured. Cannot create wallet client.', - 'private-key', - 'MISSING_PRIVATE_KEY' - ); + throw new WalletProviderError('Private key not configured. Cannot create wallet client.', 'private-key', 'MISSING_PRIVATE_KEY'); } const chain = getChain(network); diff --git a/packages/mcp-server/src/index.ts b/packages/mcp-server/src/index.ts index c6df58bb3..6cf73d5fa 100755 --- a/packages/mcp-server/src/index.ts +++ b/packages/mcp-server/src/index.ts @@ -1,7 +1,9 @@ -import { getServer } from './server/server.js'; -import { createTransport } from './server/transport/index.js'; +import { realpathSync } from 'node:fs'; +import { pathToFileURL } from 'node:url'; import { isWalletEnabled } from './core/config.js'; import { parseArgs } from './server/args.js'; +import { getServer } from './server/server.js'; +import { createTransport } from './server/transport/index.js'; export const main = async () => { try { @@ -17,4 +19,15 @@ export const main = async () => { } }; -main(); +export const isDirectExecution = (moduleUrl: string, entrypoint = process.argv[1]): boolean => { + if (!entrypoint) return false; + try { + return moduleUrl === pathToFileURL(realpathSync(entrypoint)).href; + } catch { + return false; + } +}; + +if (isDirectExecution(import.meta.url)) { + await main(); +} diff --git a/packages/mcp-server/src/server/args.ts b/packages/mcp-server/src/server/args.ts index 6074f662f..fecd42c9b 100644 --- a/packages/mcp-server/src/server/args.ts +++ b/packages/mcp-server/src/server/args.ts @@ -32,11 +32,11 @@ const loadConfig = () => { // Parse numeric values const port = Number.parseInt(getEnvValue('SERVER_PORT', DEFAULT_CONFIG.server.port.toString()), 10); - + // Normalize path to ensure it starts with / const rawPath = getEnvValue('SERVER_PATH', DEFAULT_CONFIG.server.path); const normalizedPath = rawPath.startsWith('/') ? rawPath : `/${rawPath}`; - + const config = { server: { port: Number.isNaN(port) ? DEFAULT_CONFIG.server.port : port, @@ -54,7 +54,7 @@ const loadConfig = () => { devnet: getEnvValue('DEVNET_RPC_URL', DEFAULT_CONFIG.rpc.devnet) } }; - + return config; }; @@ -65,14 +65,14 @@ const validateConfig = (config: ReturnType) => { console.error(`Error: Invalid wallet mode '${config.wallet.mode}'. Valid modes are: ${validWalletModes.join(', ')}`); process.exit(1); } - + // Validate transport mode const validTransportModes = ['stdio', 'streamable-http', 'http-sse']; if (!validTransportModes.includes(config.server.transport)) { console.error(`Error: Invalid transport mode '${config.server.transport}'. Valid modes are: ${validTransportModes.join(', ')}`); process.exit(1); } - + // Validate port if (config.server.port < 1 || config.server.port > 65535) { console.error(`Error: Invalid port '${config.server.port}'. Port must be a number between 1 and 65535.`); @@ -86,7 +86,9 @@ export const parseArgs = (): TransportConfig => { .name(packageInfo.name) .description(packageInfo.description) .version(packageInfo.version) - .addHelpText('after', ` + .addHelpText( + 'after', + ` Examples: Default (STDIO transport): $ npx ${packageInfo.name} @@ -114,18 +116,19 @@ Environment Variables: Security Note: Wallet mode is only supported with stdio transport. HTTP transports block wallet mode to prevent cross-origin attacks from malicious websites. -`); +` + ); program.parse(); - + const config = loadConfig(); - + validateConfig(config); - return { - mode: config.server.transport, - port: config.server.port, - host: config.server.host, + return { + mode: config.server.transport, + port: config.server.port, + host: config.server.host, path: config.server.path, walletMode: config.wallet.mode }; diff --git a/packages/mcp-server/src/server/package-info.ts b/packages/mcp-server/src/server/package-info.ts index 3f45b1300..7db4df065 100644 --- a/packages/mcp-server/src/server/package-info.ts +++ b/packages/mcp-server/src/server/package-info.ts @@ -1,5 +1,5 @@ import { readFileSync } from 'node:fs'; -import { join, dirname } from 'node:path'; +import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; const __filename = fileURLToPath(import.meta.url); @@ -19,10 +19,10 @@ export const getPackageInfo = (): PackageInfo => { } try { - // When compiled, we're in dist/esm/core/, so we need to go up 3 levels to reach package.json - const packageJsonPath = join(__dirname, '../../../package.json'); + // Both src/server/ and dist/server/ are two levels below the package root. + const packageJsonPath = join(__dirname, '../../package.json'); const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8')); - + cachedPackageInfo = { name: packageJson.name || 'sei-mcp-server', version: packageJson.version || '0.0.0', diff --git a/packages/mcp-server/src/server/server.ts b/packages/mcp-server/src/server/server.ts index 6efb919a2..62093d322 100644 --- a/packages/mcp-server/src/server/server.ts +++ b/packages/mcp-server/src/server/server.ts @@ -1,10 +1,10 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; -import { registerEVMTools } from '../core/tools.js'; -import { registerEVMResources } from '../core/resources.js'; +import { getSupportedNetworks } from '../core/chains.js'; import { registerEVMPrompts } from '../core/prompts.js'; +import { registerEVMResources } from '../core/resources.js'; +import { registerEVMTools } from '../core/tools.js'; import { createDocsSearchTool } from '../docs/index.js'; import { getPackageInfo } from './package-info.js'; -import { getSupportedNetworks } from '../core/chains.js'; export const getServer = async () => { try { diff --git a/packages/mcp-server/src/server/transport/factory.ts b/packages/mcp-server/src/server/transport/factory.ts index ca1841757..05ea72af7 100644 --- a/packages/mcp-server/src/server/transport/factory.ts +++ b/packages/mcp-server/src/server/transport/factory.ts @@ -1,19 +1,19 @@ -import type { McpTransport, TransportConfig } from './types.js'; +import { HttpSseTransport } from './http-sse.js'; import { StdioTransport } from './stdio.js'; import { StreamableHttpTransport } from './streamable-http.js'; -import { HttpSseTransport } from './http-sse.js'; +import type { McpTransport, TransportConfig } from './types.js'; export const createTransport = (config: TransportConfig): McpTransport => { switch (config.mode) { case 'stdio': return new StdioTransport(); - + case 'streamable-http': return new StreamableHttpTransport(config.port, config.host, config.path, config.walletMode); - + case 'http-sse': return new HttpSseTransport(config.port, config.host, config.path, config.walletMode); - + default: throw new Error(`Unsupported transport mode: ${config.mode}`); } diff --git a/packages/mcp-server/src/server/transport/http-sse.ts b/packages/mcp-server/src/server/transport/http-sse.ts index 16042c509..73c1bef55 100644 --- a/packages/mcp-server/src/server/transport/http-sse.ts +++ b/packages/mcp-server/src/server/transport/http-sse.ts @@ -1,9 +1,9 @@ +import type { Server } from 'node:http'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; import express, { type Request, type Response } from 'express'; -import type { Server } from 'node:http'; -import type { McpTransport, WalletMode } from './types.js'; import { createCorsMiddleware, validateSecurityConfig } from './security.js'; +import type { McpTransport, WalletMode } from './types.js'; export class HttpSseTransport implements McpTransport { readonly mode = 'http-sse' as const; @@ -27,14 +27,14 @@ export class HttpSseTransport implements McpTransport { private setupMiddleware() { this.app.use(express.json()); - + // Secure CORS - no cross-origin allowed by default this.app.use(createCorsMiddleware()); } private setupRoutes() { // Health check endpoint - this.app.get('/health', (req: Request, res: Response) => { + this.app.get('/health', (_req: Request, res: Response) => { res.json({ status: 'ok', timestamp: new Date().toISOString() }); }); @@ -43,7 +43,7 @@ export class HttpSseTransport implements McpTransport { // Create SSE transport - it will handle headers automatically const transport = new SSEServerTransport(`${this.path}/message`, res); - const sessionId = transport.sessionId + const sessionId = transport.sessionId; this.connections.set(sessionId, transport); // Connect transport to MCP server diff --git a/packages/mcp-server/src/server/transport/index.ts b/packages/mcp-server/src/server/transport/index.ts index bb006bdaa..026d28696 100644 --- a/packages/mcp-server/src/server/transport/index.ts +++ b/packages/mcp-server/src/server/transport/index.ts @@ -1,4 +1,4 @@ -export * from './types.js'; export * from './factory.js'; export * from './stdio.js'; export * from './streamable-http.js'; +export * from './types.js'; diff --git a/packages/mcp-server/src/server/transport/security.ts b/packages/mcp-server/src/server/transport/security.ts index 9c3355344..231024c00 100644 --- a/packages/mcp-server/src/server/transport/security.ts +++ b/packages/mcp-server/src/server/transport/security.ts @@ -1,4 +1,4 @@ -import type { Request, Response, NextFunction, RequestHandler } from 'express'; +import type { NextFunction, Request, RequestHandler, Response } from 'express'; import type { TransportMode, WalletMode } from './types.js'; /** @@ -19,10 +19,7 @@ export function createCorsMiddleware(): RequestHandler { * Validates that wallet mode is not used with HTTP transports * Exits the process if unsafe configuration detected */ -export function validateSecurityConfig( - transportMode: TransportMode, - walletMode: WalletMode -): void { +export function validateSecurityConfig(transportMode: TransportMode, walletMode: WalletMode): void { const isHttpTransport = transportMode === 'streamable-http' || transportMode === 'http-sse'; const isWalletEnabled = walletMode !== 'disabled'; diff --git a/packages/mcp-server/src/server/transport/stdio.ts b/packages/mcp-server/src/server/transport/stdio.ts index de04a9438..105300789 100644 --- a/packages/mcp-server/src/server/transport/stdio.ts +++ b/packages/mcp-server/src/server/transport/stdio.ts @@ -1,5 +1,5 @@ -import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; +import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import type { McpTransport, TransportMode } from './types.js'; export class StdioTransport implements McpTransport { diff --git a/packages/mcp-server/src/server/transport/streamable-http.ts b/packages/mcp-server/src/server/transport/streamable-http.ts index 2e362a822..1fda89807 100644 --- a/packages/mcp-server/src/server/transport/streamable-http.ts +++ b/packages/mcp-server/src/server/transport/streamable-http.ts @@ -1,10 +1,10 @@ -import express, { type Request, type Response } from 'express'; import type { Server } from 'node:http'; -import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; -import type { McpTransport, TransportMode, WalletMode } from './types.js'; -import { createCorsMiddleware, validateSecurityConfig } from './security.js'; +import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; +import express, { type Request, type Response } from 'express'; import { getServer } from '../server.js'; +import { createCorsMiddleware, validateSecurityConfig } from './security.js'; +import type { McpTransport, TransportMode, WalletMode } from './types.js'; export class StreamableHttpTransport implements McpTransport { public readonly mode: TransportMode = 'streamable-http'; @@ -30,7 +30,7 @@ export class StreamableHttpTransport implements McpTransport { this.app = express(); this.app.use(express.json()); - + // Secure CORS - no cross-origin allowed by default this.app.use(createCorsMiddleware()); @@ -43,7 +43,7 @@ export class StreamableHttpTransport implements McpTransport { try { // Create fresh MCP server for this request (stateless design) const mcpServer = await getServer(); - + const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined // For stateless servers }); diff --git a/packages/mcp-server/src/tests/core/chains.test.ts b/packages/mcp-server/src/tests/core/chains.test.ts index 573f736c4..70dd6060d 100644 --- a/packages/mcp-server/src/tests/core/chains.test.ts +++ b/packages/mcp-server/src/tests/core/chains.test.ts @@ -1,11 +1,11 @@ -import { describe, expect, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Chain } from 'viem'; import { sei, seiDevnet, seiTestnet } from 'viem/chains'; import { + chainMap, DEFAULT_CHAIN_ID, DEFAULT_NETWORK, DEFAULT_RPC_URL, - chainMap, getChain, getRpcUrl, getSupportedNetworks, @@ -74,8 +74,16 @@ describe('chains module', () => { expect(resolveChainId('713715')).toBe(713715); }); + test('resolves hex-encoded chain IDs', () => { + expect(resolveChainId('0x531')).toBe(1329); + expect(resolveChainId('0x530')).toBe(1328); + }); + test('defaults to DEFAULT_CHAIN_ID for unknown network names', () => { expect(resolveChainId('unknown-network')).toBe(DEFAULT_CHAIN_ID); + expect(resolveChainId('')).toBe(DEFAULT_CHAIN_ID); + expect(resolveChainId(' ')).toBe(DEFAULT_CHAIN_ID); + expect(resolveChainId('1e3')).toBe(DEFAULT_CHAIN_ID); }); }); @@ -95,8 +103,6 @@ describe('chains module', () => { test('returns sei chain when network name exists but chain mapping is missing', () => { // Create a temporary entry in networkNameMap for a non-existent chain ID - const originalNetworkNameMap = { ...networkNameMap }; - // @ts-ignore - Intentionally modifying for test networkNameMap['test-network'] = 9999; try { @@ -104,10 +110,8 @@ describe('chains module', () => { expect(getChain('test-network')).toBe(sei); } finally { // Restore the original map - // @ts-ignore - Restoring original state for (const key of Object.keys(networkNameMap)) { if (key !== 'sei' && key !== 'sei-testnet' && key !== 'sei-devnet') { - // @ts-ignore - Cleanup delete networkNameMap[key]; } } diff --git a/packages/mcp-server/src/tests/core/config.test.ts b/packages/mcp-server/src/tests/core/config.test.ts index 599a0374f..3a1aad1de 100644 --- a/packages/mcp-server/src/tests/core/config.test.ts +++ b/packages/mcp-server/src/tests/core/config.test.ts @@ -1,163 +1,93 @@ -import { afterEach, beforeEach, describe, expect, test } from '@jest/globals'; -import { config, formatPrivateKey, getPrivateKeyAsHex } from '../../core/config.js'; - -/** - * This file contains tests for both the actual config implementation and the mock config implementation. - * - * The first part tests the actual config.ts implementation. - * The second part tests the mock implementation in config.mock.ts which is used in other tests - * to avoid dependencies on environment variables. - */ - -// Mock dotenv to control environment variables -jest.mock('dotenv', () => ({ - config: jest.fn() -})); +import { afterEach, beforeEach, describe, expect, test } from 'bun:test'; +import { config, formatPrivateKey, getPrivateKeyAsHex, getWalletMode, isWalletEnabled, loadConfig } from '../../core/config.js'; describe('Config Module - Actual Implementation', () => { - // Store original environment - const originalEnv = { ...process.env }; - - // Reset environment before each test - beforeEach(() => { - // Clear any environment variables that might affect tests - process.env.PRIVATE_KEY = undefined; - // Reset config between tests - // @ts-ignore - Accessing private implementation - config.privateKey = undefined; - }); - - // Restore original environment after each test - afterEach(() => { - process.env = { ...originalEnv }; - }); - - describe('formatPrivateKey', () => { - test('should return undefined if key is not provided', () => { - const result = formatPrivateKey(undefined); - expect(result).toBeUndefined(); - }); - - test('should add 0x prefix if missing', () => { - const result = formatPrivateKey('abcdef1234567890'); - expect(result).toBe('0xabcdef1234567890'); - }); - - test('should not modify key if 0x prefix exists', () => { - const result = formatPrivateKey('0xabcdef1234567890'); - expect(result).toBe('0xabcdef1234567890'); - }); - - test('should handle empty string', () => { - const result = formatPrivateKey(''); - // In the actual implementation, empty string is treated as falsy and returns undefined - expect(result).toBeUndefined(); - }); - }); - - describe('config initialization', () => { - test('should set privateKey when env parsing succeeds', () => { - // Set up environment for successful parsing - process.env.PRIVATE_KEY = 'abcdef1234567890'; - - // Force re-evaluation of config - jest.resetModules(); - const { config } = require('../../core/config.js'); - - // Check that config has the expected value - expect(config.privateKey).toBe('0xabcdef1234567890'); - }); - - test('should set privateKey to undefined when env parsing fails', () => { - // Force environment parsing to fail by making PRIVATE_KEY a non-string - // @ts-ignore - Intentionally setting to a non-string value - process.env.PRIVATE_KEY = 123; - - // Force re-evaluation of config - jest.resetModules(); - const { config } = require('../../core/config.js'); - - // Check that config has privateKey as undefined - expect(config.privateKey).toBeUndefined(); - }); - }); - - describe('getPrivateKeyAsHex', () => { - test('should return undefined if private key is not set', () => { - // Ensure private key is not set - // @ts-ignore - Accessing private implementation - config.privateKey = undefined; - - // Check that getPrivateKeyAsHex returns undefined - expect(getPrivateKeyAsHex()).toBeUndefined(); - }); - - test('should return private key as Hex if set', () => { - // Set private key - // @ts-ignore - Accessing private implementation - config.privateKey = '0xabcdef1234567890'; - - // Check that getPrivateKeyAsHex returns the key - expect(getPrivateKeyAsHex()).toBe('0xabcdef1234567890'); - }); - }); - - describe('isWalletEnabled', () => { - test('should return true when wallet mode is private-key', () => { - // Set environment variable for private-key mode - process.env.WALLET_MODE = 'private-key'; - - // Force re-evaluation of config module - jest.resetModules(); - const { isWalletEnabled } = require('../../core/config.js'); - - expect(isWalletEnabled()).toBe(true); - }); - - test('should return false when wallet mode is disabled', () => { - // Set environment variable for disabled mode - process.env.WALLET_MODE = 'disabled'; - - // Force re-evaluation of config module - jest.resetModules(); - const { isWalletEnabled } = require('../../core/config.js'); - - expect(isWalletEnabled()).toBe(false); - }); - - test('should return false when wallet mode is not set (defaults to disabled)', () => { - // Remove wallet mode env var to test default - delete process.env.WALLET_MODE; - - // Force re-evaluation of config module - jest.resetModules(); - const { isWalletEnabled } = require('../../core/config.js'); - - expect(isWalletEnabled()).toBe(false); - }); - }); - - describe('getWalletMode', () => { - test('should return the configured wallet mode', () => { - // Set environment variable - process.env.WALLET_MODE = 'private-key'; - - // Force re-evaluation of config module - jest.resetModules(); - const { getWalletMode } = require('../../core/config.js'); - - expect(getWalletMode()).toBe('private-key'); - }); - - test('should return disabled as default when not set', () => { - // Remove wallet mode env var to test default - delete process.env.WALLET_MODE; - - // Force re-evaluation of config module - jest.resetModules(); - const { getWalletMode } = require('../../core/config.js'); - - expect(getWalletMode()).toBe('disabled'); - }); - }); + const originalConfig = { ...config }; + + beforeEach(() => { + Object.assign(config, { + privateKey: undefined, + walletMode: 'disabled', + walletApiKey: undefined + }); + }); + + afterEach(() => { + Object.assign(config, originalConfig); + }); + + describe('formatPrivateKey', () => { + test('should return undefined if key is not provided', () => { + const result = formatPrivateKey(undefined); + expect(result).toBeUndefined(); + }); + + test('should add 0x prefix if missing', () => { + const result = formatPrivateKey('abcdef1234567890'); + expect(result).toBe('0xabcdef1234567890'); + }); + + test('should not modify key if 0x prefix exists', () => { + const result = formatPrivateKey('0xabcdef1234567890'); + expect(result).toBe('0xabcdef1234567890'); + }); + + test('should handle empty string', () => { + const result = formatPrivateKey(''); + expect(result).toBeUndefined(); + }); + }); + + describe('configuration parsing', () => { + test('should set privateKey when env parsing succeeds', () => { + const freshConfig = loadConfig({ PRIVATE_KEY: 'abcdef1234567890' }); + expect(freshConfig.privateKey).toBe('0xabcdef1234567890'); + }); + + test('should fall back to a disabled wallet when env parsing fails', () => { + const freshConfig = loadConfig({ PRIVATE_KEY: 123, WALLET_MODE: 'private-key' }); + expect(freshConfig.privateKey).toBeUndefined(); + expect(freshConfig.walletMode).toBe('disabled'); + }); + }); + + describe('getPrivateKeyAsHex', () => { + test('should return undefined if private key is not set', () => { + config.privateKey = undefined; + expect(getPrivateKeyAsHex()).toBeUndefined(); + }); + + test('should return private key as Hex if set', () => { + config.privateKey = '0xabcdef1234567890'; + expect(getPrivateKeyAsHex()).toBe('0xabcdef1234567890'); + }); + }); + + describe('isWalletEnabled', () => { + test('should return true when wallet mode is private-key', () => { + config.walletMode = 'private-key'; + expect(isWalletEnabled()).toBe(true); + }); + + test('should return false when wallet mode is disabled', () => { + config.walletMode = 'disabled'; + expect(isWalletEnabled()).toBe(false); + }); + + test('should default to disabled when wallet mode is not set', () => { + expect(loadConfig({}).walletMode).toBe('disabled'); + }); + }); + + describe('getWalletMode', () => { + test('should return the configured wallet mode', () => { + config.walletMode = 'private-key'; + expect(getWalletMode()).toBe('private-key'); + }); + + test('should return disabled as default when not set', () => { + config.walletMode = 'disabled'; + expect(getWalletMode()).toBe('disabled'); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts b/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts index d279adec3..e75888e7f 100644 --- a/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts +++ b/packages/mcp-server/src/tests/core/helpers/tool-test-helpers.ts @@ -1,4 +1,4 @@ -import { jest } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import type { Address, Hash } from 'viem'; @@ -7,59 +7,59 @@ type ToolSchema = Record; type ToolHandler = (params: Record) => Promise; export interface Tool { - name: string; - description: string; - schema: ToolSchema; - handler: ToolHandler; + name: string; + description: string; + schema: ToolSchema; + handler: ToolHandler; } interface ToolResponse { - content: Array<{type: string; text: string}>; - isError?: boolean; + content: Array<{ type: string; text: string }>; + isError?: boolean; } interface TokenInfo { - name: string; - symbol: string; - decimals: number; + name: string; + symbol: string; + decimals: number; } interface NftInfo { - name: string; - symbol: string; + name: string; + symbol: string; } interface MockBalance { - mockBalance: jest.Mock; - mockTokenInfo: jest.Mock; - mockNftInfo: jest.Mock; + mockBalance: jest.Mock; + mockTokenInfo: jest.Mock; + mockNftInfo: jest.Mock; } interface Transaction { - hash: string; - blockNumber: number; - from: string; - to: string; - value: bigint; - data: string; - nonce: number; - gasLimit: bigint; + hash: string; + blockNumber: number; + from: string; + to: string; + value: bigint; + data: string; + nonce: number; + gasLimit: bigint; } interface TransactionReceipt { - transactionHash: string; - blockNumber: number; - status: string; - gasUsed: bigint; - effectiveGasPrice: bigint; - logs: unknown[]; + transactionHash: string; + blockNumber: number; + status: string; + gasUsed: bigint; + effectiveGasPrice: bigint; + logs: unknown[]; } interface MockTransaction { - mockHash: Hash; - mockTxReceipt: Record; - mockTransaction: Transaction; - mockTransactionReceipt: TransactionReceipt; + mockHash: Hash; + mockTxReceipt: Record; + mockTransaction: Transaction; + mockTransactionReceipt: TransactionReceipt; } /** @@ -67,18 +67,18 @@ interface MockTransaction { * @returns A mock MCP server object with the tool method */ export function createMockServer(): { server: McpServer; registeredTools: Map } { - const registeredTools = new Map(); - - const server = { - server: { - onclose: undefined as (() => void) | undefined - }, - tool: jest.fn((name: string, description: string, schema: ToolSchema, handler: ToolHandler) => { - registeredTools.set(name, { name, description, schema, handler }); - }) - } as unknown as McpServer; - - return { server, registeredTools }; + const registeredTools = new Map(); + + const server = { + server: { + onclose: undefined as (() => void) | undefined + }, + tool: jest.fn((name: string, description: string, schema: ToolSchema, handler: ToolHandler) => { + registeredTools.set(name, { name, description, schema, handler }); + }) + } as unknown as McpServer; + + return { server, registeredTools }; } /** @@ -88,7 +88,7 @@ export function createMockServer(): { server: McpServer; registeredTools: Map): Promise { - return await tool.handler(params); + return await tool.handler(params); } /** @@ -99,16 +99,11 @@ export async function testToolSuccess(tool: Tool, params: Record, - mockFn: jest.Mock, - error: Error -): Promise { - mockFn.mockImplementationOnce(() => { - throw error; - }); - return await tool.handler(params); +export async function testToolError(tool: Tool, params: Record, mockFn: jest.Mock, error: Error): Promise { + mockFn.mockImplementationOnce(() => { + throw error; + }); + return await tool.handler(params); } /** @@ -117,13 +112,13 @@ export async function testToolError( * @param expectedData The expected data in the response */ export function verifySuccessResponse(response: ToolResponse, expectedData: Record): void { - expect(response).toHaveProperty('content'); - expect(response.content).toBeInstanceOf(Array); - expect(response.content[0]).toHaveProperty('type', 'text'); - - // Parse the JSON response - const responseData = JSON.parse(response.content[0].text); - expect(responseData).toEqual(expectedData); + expect(response).toHaveProperty('content'); + expect(response.content).toBeInstanceOf(Array); + expect(response.content[0]).toHaveProperty('type', 'text'); + + // Parse the JSON response + const responseData = JSON.parse(response.content[0].text); + expect(responseData).toEqual(expectedData); } /** @@ -132,67 +127,67 @@ export function verifySuccessResponse(response: ToolResponse, expectedData: Reco * @param errorMessage The expected error message */ export function verifyErrorResponse(response: ToolResponse, errorMessage: string): void { - expect(response).toHaveProperty('content'); - expect(response.content).toBeInstanceOf(Array); - expect(response.content[0]).toHaveProperty('type', 'text'); - expect(response.content[0].text).toContain(errorMessage); - expect(response).toHaveProperty('isError', true); + expect(response).toHaveProperty('content'); + expect(response.content).toBeInstanceOf(Array); + expect(response.content[0]).toHaveProperty('type', 'text'); + expect(response.content[0].text).toContain(errorMessage); + expect(response).toHaveProperty('isError', true); } /** * Common mock setup for balance-related tests */ export function setupBalanceMocks(): MockBalance { - const mockBalance = jest.fn().mockResolvedValue(BigInt(100) as never); - - const mockTokenInfo = jest.fn().mockResolvedValue({ - name: 'Test Token', - symbol: 'TEST', - decimals: 18 - } as never); - - const mockNftInfo = jest.fn().mockResolvedValue({ - name: 'Test NFT', - symbol: 'TNFT' - } as never); - - return { - mockBalance, - mockTokenInfo, - mockNftInfo - }; + const mockBalance = jest.fn().mockResolvedValue(BigInt(100) as never); + + const mockTokenInfo = jest.fn().mockResolvedValue({ + name: 'Test Token', + symbol: 'TEST', + decimals: 18 + } as never); + + const mockNftInfo = jest.fn().mockResolvedValue({ + name: 'Test NFT', + symbol: 'TNFT' + } as never); + + return { + mockBalance, + mockTokenInfo, + mockNftInfo + }; } /** * Common mock setup for transaction-related tests */ export function setupTransactionMocks(): MockTransaction { - const mockHash = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' as Hash; - - return { - mockHash, - mockTxReceipt: { - transactionHash: mockHash, - blockNumber: 12345678, - status: 'success' - }, - mockTransaction: { - hash: mockHash, - blockNumber: 12345678, - from: '0x1234567890abcdef1234567890abcdef12345678', - to: '0x1234567890abcdef1234567890abcdef12345679', - value: BigInt(1000000000000000000), - data: '0x', - nonce: 1, - gasLimit: BigInt(21000) - } as Transaction, - mockTransactionReceipt: { - transactionHash: mockHash, - blockNumber: 12345678, - status: 'success', - gasUsed: BigInt(21000), - effectiveGasPrice: BigInt(1000000000), - logs: [] - } as TransactionReceipt - }; + const mockHash = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' as Hash; + + return { + mockHash, + mockTxReceipt: { + transactionHash: mockHash, + blockNumber: 12345678, + status: 'success' + }, + mockTransaction: { + hash: mockHash, + blockNumber: 12345678, + from: '0x1234567890abcdef1234567890abcdef12345678', + to: '0x1234567890abcdef1234567890abcdef12345679', + value: BigInt(1000000000000000000), + data: '0x', + nonce: 1, + gasLimit: BigInt(21000) + } as Transaction, + mockTransactionReceipt: { + transactionHash: mockHash, + blockNumber: 12345678, + status: 'success', + gasUsed: BigInt(21000), + effectiveGasPrice: BigInt(1000000000), + logs: [] + } as TransactionReceipt + }; } diff --git a/packages/mcp-server/src/tests/core/resources.test.ts b/packages/mcp-server/src/tests/core/resources.test.ts new file mode 100644 index 000000000..31551b168 --- /dev/null +++ b/packages/mcp-server/src/tests/core/resources.test.ts @@ -0,0 +1,13 @@ +import { describe, expect, it } from 'bun:test'; +import { parseBlockNumber } from '../../core/resources.js'; + +describe('parseBlockNumber', () => { + it('accepts decimal and hexadecimal block numbers', () => { + expect(parseBlockNumber('6699')).toBe(6699); + expect(parseBlockNumber('0x1a2b')).toBe(6699); + }); + + it.each(['', ' ', '1e3', 'abc', '-1', '1.5', '9007199254740992'])('rejects invalid block number %s', (value) => { + expect(() => parseBlockNumber(value)).toThrow(`Invalid block number: ${value}`); + }); +}); diff --git a/packages/mcp-server/src/tests/core/services/balance.test.ts b/packages/mcp-server/src/tests/core/services/balance.test.ts index ba2dd8115..50bf45f45 100644 --- a/packages/mcp-server/src/tests/core/services/balance.test.ts +++ b/packages/mcp-server/src/tests/core/services/balance.test.ts @@ -1,4 +1,4 @@ -import { afterEach, describe, expect, jest, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { getBalance, getERC20Balance, getERC721Balance, getERC1155Balance, isNFTOwner } from '../../../core/services'; // Create valid test addresses with proper type assertions diff --git a/packages/mcp-server/src/tests/core/services/blocks.test.ts b/packages/mcp-server/src/tests/core/services/blocks.test.ts index 0831885a4..135dd733f 100644 --- a/packages/mcp-server/src/tests/core/services/blocks.test.ts +++ b/packages/mcp-server/src/tests/core/services/blocks.test.ts @@ -1,10 +1,14 @@ -import { beforeEach, describe, expect, jest, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Hash } from 'viem'; import { getBlockByHash, getBlockByNumber, getBlockNumber, getLatestBlock } from '../../../core/services/blocks.js'; import { getPublicClient } from '../../../core/services/clients.js'; // Mock dependencies -jest.mock('../../../core/services/clients.js'); +jest.mock('../../../core/services/clients.js', () => ({ + getPublicClient: jest.fn(), + getWalletClientFromProvider: jest.fn(), + getAddressFromProvider: jest.fn() +})); describe('Blocks Service', () => { // Mock values @@ -13,7 +17,7 @@ describe('Blocks Service', () => { const mockNetwork = 'sei'; // Create a simplified mock block response - const mockBlockResponse = { hash: mockBlockHash, number: mockBlockNumber }; + const mockBlockResponse = { hash: mockBlockHash, number: mockBlockNumber } as unknown as Awaited>; // Mock public client const mockPublicClient = { diff --git a/packages/mcp-server/src/tests/core/services/clients.test.ts b/packages/mcp-server/src/tests/core/services/clients.test.ts index fe3d05100..c9f519496 100644 --- a/packages/mcp-server/src/tests/core/services/clients.test.ts +++ b/packages/mcp-server/src/tests/core/services/clients.test.ts @@ -1,193 +1,180 @@ -import { describe, test, expect, jest, beforeEach, afterEach } from '@jest/globals'; -import { getPublicClient, getAddressFromPrivateKey, getWalletClientFromProvider, getAddressFromProvider } from '../../../core/services/clients.js'; -import { createPublicClient, createWalletClient, http } from 'viem'; -import { privateKeyToAccount } from 'viem/accounts'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; +import { createPublicClient, http, type PublicClient, type WalletClient } from 'viem'; import { getChain, getRpcUrl } from '../../../core/chains.js'; +import { getAddressFromProvider, getPublicClient, getWalletClientFromProvider, resetPublicClientCache } from '../../../core/services/clients.js'; import { getWalletProvider } from '../../../core/wallet/index.js'; // Mock dependencies jest.mock('viem', () => { - // Instead of spreading the original module, which causes TypeScript errors, - // we'll just mock the specific functions we need - return { - createPublicClient: jest.fn(), - createWalletClient: jest.fn(), - http: jest.fn() - }; + // Instead of spreading the original module, which causes TypeScript errors, + // we'll just mock the specific functions we need + return { + createPublicClient: jest.fn(), + http: jest.fn() + }; }); -jest.mock('viem/accounts', () => ({ - privateKeyToAccount: jest.fn() -})); - jest.mock('../../../core/chains.js', () => ({ - DEFAULT_NETWORK: 'sei', - getChain: jest.fn(), - getRpcUrl: jest.fn() + DEFAULT_NETWORK: 'sei', + getChain: jest.fn(), + getRpcUrl: jest.fn() })); jest.mock('../../../core/wallet/index.js', () => ({ - getWalletProvider: jest.fn() + getWalletProvider: jest.fn() })); describe('Client Service', () => { - const mockChain = { id: 1, name: 'Sei' }; - const mockRpcUrl = 'https://rpc.sei.io'; - const mockHttpTransport = {} as ReturnType; - const mockPublicClient = { readContract: jest.fn() }; - const mockWalletClient = { writeContract: jest.fn() }; - const mockAccount = { address: '0x1234567890123456789012345678901234567890' }; - const mockPrivateKey = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'; - - beforeEach(() => { - // Reset all mocks - jest.resetAllMocks(); - - // Setup default mock implementations - (getChain as jest.Mock).mockReturnValue(mockChain); - (getRpcUrl as jest.Mock).mockReturnValue(mockRpcUrl); - (http as jest.Mock).mockReturnValue(mockHttpTransport); - (createPublicClient as jest.Mock).mockReturnValue(mockPublicClient); - (createWalletClient as jest.Mock).mockReturnValue(mockWalletClient); - (privateKeyToAccount as jest.Mock).mockReturnValue(mockAccount); - }); - - describe('getPublicClient', () => { - test('should create and return a new public client when not cached', () => { - const client = getPublicClient('sei'); - - expect(getChain).toHaveBeenCalledWith('sei'); - expect(getRpcUrl).toHaveBeenCalledWith('sei'); - expect(http).toHaveBeenCalledWith(mockRpcUrl); - expect(createPublicClient).toHaveBeenCalledWith({ - chain: mockChain, - transport: mockHttpTransport - }); - expect(client).toBe(mockPublicClient); - }); - - test('should return cached client for the same network', () => { - // First call should create a new client - const client1 = getPublicClient('sei'); - - // Reset mocks to verify they aren't called again - jest.clearAllMocks(); - - // Second call should return cached client - const client2 = getPublicClient('sei'); - - expect(createPublicClient).not.toHaveBeenCalled(); - expect(client2).toBe(client1); - }); - - test('should throw error if cache has key but client is undefined', () => { - // We need to access the private clientCache to simulate this edge case - // First, get a reference to the client - getPublicClient('sei'); - - // Use Object.getOwnPropertyDescriptor to access the module's private variable - // @ts-ignore - Accessing private implementation for testing - const clientCacheMap = new Map([['sei', undefined]]); - - // Replace the Map.prototype.get method temporarily to simulate the edge case - const originalMapGet = Map.prototype.get; - Map.prototype.get = function(key) { - if (key === 'sei') return undefined; - return originalMapGet.call(this, key); - }; - - // Replace the Map.prototype.has method temporarily to return true for 'sei' - const originalMapHas = Map.prototype.has; - Map.prototype.has = function(key) { - if (key === 'sei') return true; - return originalMapHas.call(this, key); - }; - - try { - // This should throw an error - expect(() => getPublicClient('sei')).toThrow('Client cache inconsistency for network sei'); - } finally { - // Restore the original methods - Map.prototype.get = originalMapGet; - Map.prototype.has = originalMapHas; - } - }); - - test('should create different clients for different networks', () => { - // First call for 'sei' network - const seiClient = getPublicClient('sei'); - - // Setup mocks for 'ethereum' network - const ethereumChain = { id: 1, name: 'Ethereum' }; - const ethereumRpcUrl = 'https://rpc.ethereum.io'; - const ethereumPublicClient = { readContract: jest.fn() }; - - (getChain as jest.Mock).mockReturnValue(ethereumChain); - (getRpcUrl as jest.Mock).mockReturnValue(ethereumRpcUrl); - (createPublicClient as jest.Mock).mockReturnValue(ethereumPublicClient); - - // Call for 'ethereum' network - const ethereumClient = getPublicClient('ethereum'); - - expect(getChain).toHaveBeenCalledWith('ethereum'); - expect(getRpcUrl).toHaveBeenCalledWith('ethereum'); - expect(ethereumClient).toBe(ethereumPublicClient); - expect(ethereumClient).not.toBe(seiClient); - }); - - // This test verifies that getPublicClient works with no network parameter - test('should use default network when none is specified', () => { - // Since we're mocking the module and can't easily test the default parameter, - // we'll just verify that calling the function without a parameter returns the expected client - const client = getPublicClient(); - expect(client).toBe(mockPublicClient); - }); - }); - - describe('getWalletClientFromProvider', () => { - const mockWalletProvider = { - getWalletClient: jest.fn() - }; - - beforeEach(() => { - (getWalletProvider as jest.Mock).mockReturnValue(mockWalletProvider); - mockWalletProvider.getWalletClient.mockResolvedValue(mockWalletClient); - }); - - test('should get wallet client from provider with default network', async () => { - const client = await getWalletClientFromProvider(); - - expect(getWalletProvider).toHaveBeenCalled(); - expect(mockWalletProvider.getWalletClient).toHaveBeenCalledWith('sei'); - expect(client).toBe(mockWalletClient); - }); - - test('should get wallet client from provider with specified network', async () => { - const client = await getWalletClientFromProvider('sei-testnet'); - - expect(getWalletProvider).toHaveBeenCalled(); - expect(mockWalletProvider.getWalletClient).toHaveBeenCalledWith('sei-testnet'); - expect(client).toBe(mockWalletClient); - }); - }); - - describe('getAddressFromProvider', () => { - const mockWalletProvider = { - getAddress: jest.fn() - }; - const mockAddress = '0x1234567890123456789012345678901234567890'; - - beforeEach(() => { - (getWalletProvider as jest.Mock).mockReturnValue(mockWalletProvider); - mockWalletProvider.getAddress.mockResolvedValue(mockAddress); - }); - - test('should get address from provider', async () => { - const address = await getAddressFromProvider(); - - expect(getWalletProvider).toHaveBeenCalled(); - expect(mockWalletProvider.getAddress).toHaveBeenCalled(); - expect(address).toBe(mockAddress); - }); - }); + const mockChain = { id: 1, name: 'Sei' }; + const mockRpcUrl = 'https://rpc.sei.io'; + const mockHttpTransport = {} as ReturnType; + const mockPublicClient = { readContract: jest.fn() } as unknown as PublicClient; + const mockWalletClient = { writeContract: jest.fn() } as unknown as WalletClient; + + beforeEach(() => { + // Reset all mocks + jest.resetAllMocks(); + resetPublicClientCache(); + + // Setup default mock implementations + (getChain as jest.Mock).mockReturnValue(mockChain); + (getRpcUrl as jest.Mock).mockReturnValue(mockRpcUrl); + (http as jest.Mock).mockReturnValue(mockHttpTransport); + (createPublicClient as jest.Mock).mockReturnValue(mockPublicClient); + }); + + describe('getPublicClient', () => { + test('should create and return a new public client when not cached', () => { + const client = getPublicClient('sei'); + + expect(getChain).toHaveBeenCalledWith('sei'); + expect(getRpcUrl).toHaveBeenCalledWith('sei'); + expect(http).toHaveBeenCalledWith(mockRpcUrl); + expect(createPublicClient).toHaveBeenCalledWith({ + chain: mockChain, + transport: mockHttpTransport + }); + expect(client).toBe(mockPublicClient); + }); + + test('should return cached client for the same network', () => { + // First call should create a new client + const client1 = getPublicClient('sei'); + + // Reset mocks to verify they aren't called again + jest.clearAllMocks(); + + // Second call should return cached client + const client2 = getPublicClient('sei'); + + expect(createPublicClient).not.toHaveBeenCalled(); + expect(client2).toBe(client1); + }); + + test('should throw error if cache has key but client is undefined', () => { + // We need to access the private clientCache to simulate this edge case + // First, get a reference to the client + getPublicClient('sei'); + + // Replace the Map.prototype.get method temporarily to simulate the edge case + const originalMapGet = Map.prototype.get; + Map.prototype.get = function (key) { + if (key === 'sei') return undefined; + return originalMapGet.call(this, key); + }; + + // Replace the Map.prototype.has method temporarily to return true for 'sei' + const originalMapHas = Map.prototype.has; + Map.prototype.has = function (key) { + if (key === 'sei') return true; + return originalMapHas.call(this, key); + }; + + try { + // This should throw an error + expect(() => getPublicClient('sei')).toThrow('Client cache inconsistency for network sei'); + } finally { + // Restore the original methods + Map.prototype.get = originalMapGet; + Map.prototype.has = originalMapHas; + } + }); + + test('should create different clients for different networks', () => { + // First call for 'sei' network + const seiClient = getPublicClient('sei'); + + // Setup mocks for 'ethereum' network + const ethereumChain = { id: 1, name: 'Ethereum' }; + const ethereumRpcUrl = 'https://rpc.ethereum.io'; + const ethereumPublicClient = { readContract: jest.fn() } as unknown as PublicClient; + + (getChain as jest.Mock).mockReturnValue(ethereumChain); + (getRpcUrl as jest.Mock).mockReturnValue(ethereumRpcUrl); + (createPublicClient as jest.Mock).mockReturnValue(ethereumPublicClient); + + // Call for 'ethereum' network + const ethereumClient = getPublicClient('ethereum'); + + expect(getChain).toHaveBeenCalledWith('ethereum'); + expect(getRpcUrl).toHaveBeenCalledWith('ethereum'); + expect(ethereumClient).toBe(ethereumPublicClient); + expect(ethereumClient).not.toBe(seiClient); + }); + + // This test verifies that getPublicClient works with no network parameter + test('should use default network when none is specified', () => { + // Since we're mocking the module and can't easily test the default parameter, + // we'll just verify that calling the function without a parameter returns the expected client + const client = getPublicClient(); + expect(client).toBe(mockPublicClient); + }); + }); + + describe('getWalletClientFromProvider', () => { + const mockWalletProvider = { + getWalletClient: jest.fn() + }; + + beforeEach(() => { + (getWalletProvider as jest.Mock).mockReturnValue(mockWalletProvider); + mockWalletProvider.getWalletClient.mockResolvedValue(mockWalletClient); + }); + + test('should get wallet client from provider with default network', async () => { + const client = await getWalletClientFromProvider(); + + expect(getWalletProvider).toHaveBeenCalled(); + expect(mockWalletProvider.getWalletClient).toHaveBeenCalledWith('sei'); + expect(client).toBe(mockWalletClient); + }); + + test('should get wallet client from provider with specified network', async () => { + const client = await getWalletClientFromProvider('sei-testnet'); + + expect(getWalletProvider).toHaveBeenCalled(); + expect(mockWalletProvider.getWalletClient).toHaveBeenCalledWith('sei-testnet'); + expect(client).toBe(mockWalletClient); + }); + }); + + describe('getAddressFromProvider', () => { + const mockWalletProvider = { + getAddress: jest.fn() + }; + const mockAddress = '0x1234567890123456789012345678901234567890'; + + beforeEach(() => { + (getWalletProvider as jest.Mock).mockReturnValue(mockWalletProvider); + mockWalletProvider.getAddress.mockResolvedValue(mockAddress); + }); + + test('should get address from provider', async () => { + const address = await getAddressFromProvider(); + + expect(getWalletProvider).toHaveBeenCalled(); + expect(mockWalletProvider.getAddress).toHaveBeenCalled(); + expect(address).toBe(mockAddress); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/services/contracts.test.ts b/packages/mcp-server/src/tests/core/services/contracts.test.ts index 627c2fa2b..b71190a78 100644 --- a/packages/mcp-server/src/tests/core/services/contracts.test.ts +++ b/packages/mcp-server/src/tests/core/services/contracts.test.ts @@ -1,305 +1,319 @@ -import { describe, test, expect, jest, beforeEach } from '@jest/globals'; -import { readContract, writeContract, getLogs, isContract, deployContract } from '../../../core/services/contracts.js'; -import { getPublicClient, getWalletClientFromProvider } from '../../../core/services/clients.js'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; +import type { Abi, Address, GetLogsParameters, Hash, ReadContractParameters, WriteContractParameters } from 'viem'; import { getPrivateKeyAsHex } from '../../../core/config.js'; -import type { Hash, Abi, Address, GetLogsParameters, ReadContractParameters, WriteContractParameters } from 'viem'; import * as services from '../../../core/services'; +import { getPublicClient, getWalletClientFromProvider } from '../../../core/services/clients.js'; +import { deployContract, getLogs, isContract, readContract, writeContract } from '../../../core/services/contracts.js'; // Mock dependencies -jest.mock('../../../core/services/clients.js'); -jest.mock('../../../core/config.js'); +jest.mock('../../../core/services/clients.js', () => ({ + getPublicClient: jest.fn(), + getWalletClientFromProvider: jest.fn(), + getAddressFromProvider: jest.fn() +})); +jest.mock('../../../core/config.js', () => ({ + getPrivateKeyAsHex: jest.fn(), + isWalletEnabled: jest.fn(), + getWalletMode: jest.fn(), + formatPrivateKey: jest.fn(), + config: {} +})); jest.mock('../../../core/services/index.js', () => ({ - helpers: { - validateAddress: jest.fn((address) => address) - } + helpers: { + validateAddress: jest.fn((address) => address) + } })); describe('Contract Service', () => { - const mockPublicClient = { - readContract: jest.fn(), - getLogs: jest.fn(), - getBytecode: jest.fn(), - waitForTransactionReceipt: jest.fn() - }; - - const mockWalletClient = { - writeContract: jest.fn(), - deployContract: jest.fn(), - account: '0x1234567890123456789012345678901234567890' as Address, - chain: { id: 1, name: 'Sei' } - }; - - const mockPrivateKey = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'; - const mockHash = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' as Hash; - const mockAddress = '0x1234567890123456789012345678901234567890' as Address; - const mockAbi = [] as unknown as Abi; - - beforeEach(() => { - // Reset all mocks - jest.resetAllMocks(); - - // Setup default mock implementations - (getPublicClient as jest.Mock).mockReturnValue(mockPublicClient); - (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClient)); - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - // Use mockImplementation instead of mockResolvedValue to properly type the return values - mockPublicClient.readContract.mockImplementation(() => Promise.resolve('mockContractData')); - mockPublicClient.getLogs.mockImplementation(() => Promise.resolve(['mockLog1', 'mockLog2'])); - mockWalletClient.writeContract.mockImplementation(() => Promise.resolve(mockHash)); - - // Setup validateAddress mock to return the input address - (services.helpers.validateAddress as jest.Mock).mockImplementation((address) => address); - }); - - describe('readContract', () => { - test('should call public client readContract with correct parameters', async () => { - const params = { address: mockAddress, abi: mockAbi, functionName: 'balanceOf' } as ReadContractParameters; - const result = await readContract(params, 'sei'); - - expect(getPublicClient).toHaveBeenCalledWith('sei'); - expect(mockPublicClient.readContract).toHaveBeenCalledWith(params); - expect(result).toBe('mockContractData'); - }); - - test('should use default network when none is specified', async () => { - const params = { address: mockAddress, abi: mockAbi, functionName: 'balanceOf' } as ReadContractParameters; - await readContract(params); - - expect(getPublicClient).toHaveBeenCalledWith('sei'); - }); - }); - - describe('writeContract', () => { - test('should call wallet client writeContract with correct parameters', async () => { - const params = { - address: mockAddress, - abi: mockAbi, - functionName: 'transfer', - account: mockAddress, - chain: { id: 1, name: 'Sei' } - } as unknown as WriteContractParameters; - - const result = await writeContract(params, 'sei'); - - expect(getPrivateKeyAsHex).toHaveBeenCalled(); - expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); - expect(mockWalletClient.writeContract).toHaveBeenCalledWith(params); - expect(result).toBe(mockHash); - }); - - test('should throw error when private key is not available', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(null); - const params = { - address: mockAddress, - abi: mockAbi, - functionName: 'transfer', - account: mockAddress, - chain: { id: 1, name: 'Sei' } - } as unknown as WriteContractParameters; - - await expect(writeContract(params, 'sei')).rejects.toThrow('Private key not available'); - expect(getWalletClientFromProvider).not.toHaveBeenCalled(); - }); - - test('should use default network when none is specified', async () => { - const params = { - address: mockAddress, - abi: mockAbi, - functionName: 'transfer', - account: mockAddress, - chain: { id: 1, name: 'Sei' } - } as unknown as WriteContractParameters; - - await writeContract(params); - - expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); - }); - }); - - describe('getLogs', () => { - test('should call public client getLogs with correct parameters', async () => { - const params = { - address: mockAddress, - fromBlock: 1000n, - toBlock: 2000n - } as unknown as GetLogsParameters; - - const result = await getLogs(params, 'sei'); - - expect(getPublicClient).toHaveBeenCalledWith('sei'); - expect(mockPublicClient.getLogs).toHaveBeenCalledWith(params); - expect(result).toEqual(['mockLog1', 'mockLog2']); - }); - - test('should use default network when none is specified', async () => { - const params = { - address: mockAddress, - fromBlock: 1000n, - toBlock: 2000n - } as unknown as GetLogsParameters; - - await getLogs(params); - - expect(getPublicClient).toHaveBeenCalledWith('sei'); - }); - }); - - describe('isContract', () => { - test('should return true when address has bytecode', async () => { - // Type the mock return value to avoid type errors - mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x1234' as `0x${string}`)); - - const result = await isContract(mockAddress, 'sei'); - - expect(services.helpers.validateAddress).toHaveBeenCalledWith(mockAddress); - expect(getPublicClient).toHaveBeenCalledWith('sei'); - expect(mockPublicClient.getBytecode).toHaveBeenCalledWith({ address: mockAddress }); - expect(result).toBe(true); - }); - - test('should return false when address has no bytecode', async () => { - // Type the mock return value to avoid type errors - mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x' as `0x${string}`)); - - const result = await isContract(mockAddress, 'sei'); - - expect(result).toBe(false); - }); - - test('should return false when bytecode is undefined', async () => { - // Type the mock return value to avoid type errors - mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve(undefined)); - - const result = await isContract(mockAddress, 'sei'); - - expect(result).toBe(false); - }); - - test('should use default network when none is specified', async () => { - // Type the mock return value to avoid type errors - mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x1234' as `0x${string}`)); - - await isContract(mockAddress); - - expect(getPublicClient).toHaveBeenCalledWith('sei'); - }); - }); - - describe('deployContract', () => { - const mockBytecode = '0x608060405234801561001057600080fd5b50' as Hash; - const mockAbi = [ - { - inputs: [{ name: 'name', type: 'string' }, { name: 'symbol', type: 'string' }], - stateMutability: 'nonpayable', - type: 'constructor' - } - ]; - const mockArgs = ['TestToken', 'TTK']; - const mockContractAddress = '0x9876543210987654321098765432109876543210' as Address; - const mockTransactionHash = '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890' as Hash; - - beforeEach(() => { - // Setup successful deployment mocks - mockWalletClient.deployContract.mockImplementation(() => Promise.resolve(mockTransactionHash)); - mockPublicClient.waitForTransactionReceipt.mockImplementation(() => Promise.resolve({ - contractAddress: mockContractAddress, - transactionHash: mockTransactionHash, - status: 'success' - })); - }); - - test('should deploy contract successfully with all parameters', async () => { - const result = await deployContract(mockBytecode, mockAbi, mockArgs, 'sei'); - - expect(getPrivateKeyAsHex).toHaveBeenCalled(); - expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); - expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ - abi: mockAbi, - bytecode: mockBytecode, - args: mockArgs, - account: mockWalletClient.account, - chain: mockWalletClient.chain - }); - expect(getPublicClient).toHaveBeenCalledWith('sei'); - expect(mockPublicClient.waitForTransactionReceipt).toHaveBeenCalledWith({ hash: mockTransactionHash }); - expect(result).toEqual({ - address: mockContractAddress, - transactionHash: mockTransactionHash - }); - }); - - test('should deploy contract successfully without constructor arguments', async () => { - const result = await deployContract(mockBytecode, mockAbi, undefined, 'sei'); - - expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ - abi: mockAbi, - bytecode: mockBytecode, - args: [], - account: mockWalletClient.account, - chain: mockWalletClient.chain - }); - expect(result).toEqual({ - address: mockContractAddress, - transactionHash: mockTransactionHash - }); - }); - - test('should use default network when none is specified', async () => { - await deployContract(mockBytecode, mockAbi, mockArgs); - - expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); - expect(getPublicClient).toHaveBeenCalledWith('sei'); - }); - - test('should throw error when private key is not available', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(null); - - await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow( - 'Private key not available. Set the PRIVATE_KEY environment variable and restart the MCP server.' - ); - expect(getWalletClientFromProvider).not.toHaveBeenCalled(); - }); - - test('should throw error when wallet client account is not available', async () => { - const mockWalletClientWithoutAccount = { - ...mockWalletClient, - account: undefined - }; - (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); - - await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow( - 'Wallet client account not available for contract deployment.' - ); - expect(mockWalletClientWithoutAccount.deployContract).not.toHaveBeenCalled(); - }); - - test('should throw error when contract deployment fails - no contract address returned', async () => { - mockPublicClient.waitForTransactionReceipt.mockImplementation(() => Promise.resolve({ - contractAddress: null, - transactionHash: mockTransactionHash, - status: 'success' - })); - - await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow( - 'Contract deployment failed - no contract address returned' - ); - }); - - test('should handle deployment with empty args array', async () => { - const result = await deployContract(mockBytecode, mockAbi, [], 'sei'); - - expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ - abi: mockAbi, - bytecode: mockBytecode, - args: [], - account: mockWalletClient.account, - chain: mockWalletClient.chain - }); - expect(result).toEqual({ - address: mockContractAddress, - transactionHash: mockTransactionHash - }); - }); - }); + const mockPublicClient = { + readContract: jest.fn(), + getLogs: jest.fn(), + getBytecode: jest.fn(), + waitForTransactionReceipt: jest.fn() + }; + + const mockWalletClient = { + writeContract: jest.fn(), + deployContract: jest.fn(), + account: '0x1234567890123456789012345678901234567890' as Address, + chain: { id: 1, name: 'Sei' } + }; + + const mockPrivateKey = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'; + const mockHash = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' as Hash; + const mockAddress = '0x1234567890123456789012345678901234567890' as Address; + const mockAbi = [] as unknown as Abi; + const mockLogs = ['mockLog1', 'mockLog2'] as unknown as Awaited>; + + beforeEach(() => { + // Reset all mocks + jest.resetAllMocks(); + + // Setup default mock implementations + (getPublicClient as jest.Mock).mockReturnValue(mockPublicClient); + (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClient)); + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + // Use mockImplementation instead of mockResolvedValue to properly type the return values + mockPublicClient.readContract.mockImplementation(() => Promise.resolve('mockContractData')); + mockPublicClient.getLogs.mockImplementation(() => Promise.resolve(mockLogs)); + mockWalletClient.writeContract.mockImplementation(() => Promise.resolve(mockHash)); + + // Setup validateAddress mock to return the input address + (services.helpers.validateAddress as jest.Mock).mockImplementation((address) => address); + }); + + describe('readContract', () => { + test('should call public client readContract with correct parameters', async () => { + const params = { address: mockAddress, abi: mockAbi, functionName: 'balanceOf' } as ReadContractParameters; + const result = await readContract(params, 'sei'); + + expect(getPublicClient).toHaveBeenCalledWith('sei'); + expect(mockPublicClient.readContract).toHaveBeenCalledWith(params); + expect(result).toBe('mockContractData'); + }); + + test('should use default network when none is specified', async () => { + const params = { address: mockAddress, abi: mockAbi, functionName: 'balanceOf' } as ReadContractParameters; + await readContract(params); + + expect(getPublicClient).toHaveBeenCalledWith('sei'); + }); + }); + + describe('writeContract', () => { + test('should call wallet client writeContract with correct parameters', async () => { + const params = { + address: mockAddress, + abi: mockAbi, + functionName: 'transfer', + account: mockAddress, + chain: { id: 1, name: 'Sei' } + } as unknown as WriteContractParameters; + + const result = await writeContract(params, 'sei'); + + expect(getPrivateKeyAsHex).toHaveBeenCalled(); + expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); + expect(mockWalletClient.writeContract).toHaveBeenCalledWith(params); + expect(result).toBe(mockHash); + }); + + test('should throw error when private key is not available', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(null); + const params = { + address: mockAddress, + abi: mockAbi, + functionName: 'transfer', + account: mockAddress, + chain: { id: 1, name: 'Sei' } + } as unknown as WriteContractParameters; + + await expect(writeContract(params, 'sei')).rejects.toThrow('Private key not available'); + expect(getWalletClientFromProvider).not.toHaveBeenCalled(); + }); + + test('should use default network when none is specified', async () => { + const params = { + address: mockAddress, + abi: mockAbi, + functionName: 'transfer', + account: mockAddress, + chain: { id: 1, name: 'Sei' } + } as unknown as WriteContractParameters; + + await writeContract(params); + + expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); + }); + }); + + describe('getLogs', () => { + test('should call public client getLogs with correct parameters', async () => { + const params = { + address: mockAddress, + fromBlock: 1000n, + toBlock: 2000n + } as unknown as GetLogsParameters; + + const result = await getLogs(params, 'sei'); + + expect(getPublicClient).toHaveBeenCalledWith('sei'); + expect(mockPublicClient.getLogs).toHaveBeenCalledWith(params); + expect(result).toEqual(mockLogs); + }); + + test('should use default network when none is specified', async () => { + const params = { + address: mockAddress, + fromBlock: 1000n, + toBlock: 2000n + } as unknown as GetLogsParameters; + + await getLogs(params); + + expect(getPublicClient).toHaveBeenCalledWith('sei'); + }); + }); + + describe('isContract', () => { + test('should return true when address has bytecode', async () => { + // Type the mock return value to avoid type errors + mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x1234' as `0x${string}`)); + + const result = await isContract(mockAddress, 'sei'); + + expect(services.helpers.validateAddress).toHaveBeenCalledWith(mockAddress); + expect(getPublicClient).toHaveBeenCalledWith('sei'); + expect(mockPublicClient.getBytecode).toHaveBeenCalledWith({ address: mockAddress }); + expect(result).toBe(true); + }); + + test('should return false when address has no bytecode', async () => { + // Type the mock return value to avoid type errors + mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x' as `0x${string}`)); + + const result = await isContract(mockAddress, 'sei'); + + expect(result).toBe(false); + }); + + test('should return false when bytecode is undefined', async () => { + // Type the mock return value to avoid type errors + mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve(undefined)); + + const result = await isContract(mockAddress, 'sei'); + + expect(result).toBe(false); + }); + + test('should use default network when none is specified', async () => { + // Type the mock return value to avoid type errors + mockPublicClient.getBytecode.mockImplementation(() => Promise.resolve('0x1234' as `0x${string}`)); + + await isContract(mockAddress); + + expect(getPublicClient).toHaveBeenCalledWith('sei'); + }); + }); + + describe('deployContract', () => { + const mockBytecode = '0x608060405234801561001057600080fd5b50' as Hash; + const mockAbi = [ + { + inputs: [ + { name: 'name', type: 'string' }, + { name: 'symbol', type: 'string' } + ], + stateMutability: 'nonpayable', + type: 'constructor' + } + ] as const satisfies Abi; + const mockArgs = ['TestToken', 'TTK']; + const mockContractAddress = '0x9876543210987654321098765432109876543210' as Address; + const mockTransactionHash = '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890' as Hash; + + beforeEach(() => { + // Setup successful deployment mocks + mockWalletClient.deployContract.mockImplementation(() => Promise.resolve(mockTransactionHash)); + mockPublicClient.waitForTransactionReceipt.mockImplementation(() => + Promise.resolve({ + contractAddress: mockContractAddress, + transactionHash: mockTransactionHash, + status: 'success' + }) + ); + }); + + test('should deploy contract successfully with all parameters', async () => { + const result = await deployContract(mockBytecode, mockAbi, mockArgs, 'sei'); + + expect(getPrivateKeyAsHex).toHaveBeenCalled(); + expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); + expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ + abi: mockAbi, + bytecode: mockBytecode, + args: mockArgs, + account: mockWalletClient.account, + chain: mockWalletClient.chain + }); + expect(getPublicClient).toHaveBeenCalledWith('sei'); + expect(mockPublicClient.waitForTransactionReceipt).toHaveBeenCalledWith({ hash: mockTransactionHash }); + expect(result).toEqual({ + address: mockContractAddress, + transactionHash: mockTransactionHash + }); + }); + + test('should deploy contract successfully without constructor arguments', async () => { + const result = await deployContract(mockBytecode, mockAbi, undefined, 'sei'); + + expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ + abi: mockAbi, + bytecode: mockBytecode, + args: [], + account: mockWalletClient.account, + chain: mockWalletClient.chain + }); + expect(result).toEqual({ + address: mockContractAddress, + transactionHash: mockTransactionHash + }); + }); + + test('should use default network when none is specified', async () => { + await deployContract(mockBytecode, mockAbi, mockArgs); + + expect(getWalletClientFromProvider).toHaveBeenCalledWith('sei'); + expect(getPublicClient).toHaveBeenCalledWith('sei'); + }); + + test('should throw error when private key is not available', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(null); + + await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow( + 'Private key not available. Set the PRIVATE_KEY environment variable and restart the MCP server.' + ); + expect(getWalletClientFromProvider).not.toHaveBeenCalled(); + }); + + test('should throw error when wallet client account is not available', async () => { + const mockWalletClientWithoutAccount = { + ...mockWalletClient, + account: undefined + }; + (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); + + await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow('Wallet client account not available for contract deployment.'); + expect(mockWalletClientWithoutAccount.deployContract).not.toHaveBeenCalled(); + }); + + test('should throw error when contract deployment fails - no contract address returned', async () => { + mockPublicClient.waitForTransactionReceipt.mockImplementation(() => + Promise.resolve({ + contractAddress: null, + transactionHash: mockTransactionHash, + status: 'success' + }) + ); + + await expect(deployContract(mockBytecode, mockAbi, mockArgs, 'sei')).rejects.toThrow('Contract deployment failed - no contract address returned'); + }); + + test('should handle deployment with empty args array', async () => { + const result = await deployContract(mockBytecode, mockAbi, [], 'sei'); + + expect(mockWalletClient.deployContract).toHaveBeenCalledWith({ + abi: mockAbi, + bytecode: mockBytecode, + args: [], + account: mockWalletClient.account, + chain: mockWalletClient.chain + }); + expect(result).toEqual({ + address: mockContractAddress, + transactionHash: mockTransactionHash + }); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/services/tokens.test.ts b/packages/mcp-server/src/tests/core/services/tokens.test.ts index 8f90dc0cf..801dceba7 100644 --- a/packages/mcp-server/src/tests/core/services/tokens.test.ts +++ b/packages/mcp-server/src/tests/core/services/tokens.test.ts @@ -1,11 +1,15 @@ -import { beforeEach, describe, expect, jest, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Address } from 'viem'; import { formatUnits, getContract } from 'viem'; import { getPublicClient } from '../../../core/services/clients.js'; import { getERC20TokenInfo, getERC721TokenMetadata, getERC1155TokenURI } from '../../../core/services/tokens.js'; // Only mock the clients service -jest.mock('../../../core/services/clients.js'); +jest.mock('../../../core/services/clients.js', () => ({ + getPublicClient: jest.fn(), + getWalletClientFromProvider: jest.fn(), + getAddressFromProvider: jest.fn() +})); // Mock viem module jest.mock('viem', () => ({ diff --git a/packages/mcp-server/src/tests/core/services/transactions.test.ts b/packages/mcp-server/src/tests/core/services/transactions.test.ts index d7eab6223..5c19bc4fd 100644 --- a/packages/mcp-server/src/tests/core/services/transactions.test.ts +++ b/packages/mcp-server/src/tests/core/services/transactions.test.ts @@ -1,10 +1,14 @@ -import { beforeEach, describe, expect, jest, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Address, EstimateGasParameters, Hash, TransactionReceipt } from 'viem'; import { getPublicClient } from '../../../core/services/clients.js'; import { estimateGas, getChainId, getTransaction, getTransactionCount, getTransactionReceipt } from '../../../core/services/transactions.js'; // Mock dependencies -jest.mock('../../../core/services/clients.js'); +jest.mock('../../../core/services/clients.js', () => ({ + getPublicClient: jest.fn(), + getWalletClientFromProvider: jest.fn(), + getAddressFromProvider: jest.fn() +})); describe('Transactions Service', () => { // Mock values @@ -18,7 +22,7 @@ describe('Transactions Service', () => { from: mockAddress, to: '0x0987654321098765432109876543210987654321' as Address, value: 1000000000000000000n - }; + } as unknown as Awaited>; // Mock transaction receipt const mockReceipt: TransactionReceipt = { diff --git a/packages/mcp-server/src/tests/core/services/transfer.test.ts b/packages/mcp-server/src/tests/core/services/transfer.test.ts index eda53c704..14c386416 100644 --- a/packages/mcp-server/src/tests/core/services/transfer.test.ts +++ b/packages/mcp-server/src/tests/core/services/transfer.test.ts @@ -1,11 +1,29 @@ -import { describe, test, expect, beforeEach, jest } from '@jest/globals'; -import { getPublicClient, getWalletClientFromProvider, transferSei, transferERC20, approveERC20, transferERC721, transferERC1155 } from '../../../core/services'; -import { getPrivateKeyAsHex } from '../../../core/config.js'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Hash } from 'viem'; +import { getPrivateKeyAsHex } from '../../../core/config.js'; +import { + approveERC20, + getPublicClient, + getWalletClientFromProvider, + transferERC20, + transferERC721, + transferERC1155, + transferSei +} from '../../../core/services'; // Mock the dependencies -jest.mock('../../../core/services/clients.js'); -jest.mock('../../../core/config.js'); +jest.mock('../../../core/services/clients.js', () => ({ + getPublicClient: jest.fn(), + getWalletClientFromProvider: jest.fn(), + getAddressFromProvider: jest.fn() +})); +jest.mock('../../../core/config.js', () => ({ + getPrivateKeyAsHex: jest.fn(), + isWalletEnabled: jest.fn(), + getWalletMode: jest.fn(), + formatPrivateKey: jest.fn(), + config: {} +})); describe('Transfer Service', () => { const mockPublicClient = { @@ -30,15 +48,21 @@ describe('Transfer Service', () => { }; beforeEach(() => { - // Reset all mocks before each test - jest.resetAllMocks(); - - // Setup default mock implementations with type assertions - (getPublicClient as jest.Mock).mockReturnValue(mockPublicClient); - (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClient)); - (getPrivateKeyAsHex as jest.MockedFunction).mockReturnValue( - '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' - ); + jest.clearAllMocks(); + (getPublicClient as jest.Mock).mockReset().mockReturnValue(mockPublicClient); + (getWalletClientFromProvider as jest.Mock).mockReset().mockReturnValue(Promise.resolve(mockWalletClient)); + (getPrivateKeyAsHex as jest.MockedFunction) + .mockReset() + .mockReturnValue('0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'); + mockPublicClient.readContract.mockReset().mockImplementation((params: { functionName: string }) => { + if (params && typeof params === 'object' && 'functionName' in params && params.functionName === 'decimals') return 18; + if (params && typeof params === 'object' && 'functionName' in params && params.functionName === 'symbol') return 'TEST'; + if (params && typeof params === 'object' && 'functionName' in params && params.functionName === 'name') return 'Test NFT'; + return null; + }); + mockPublicClient.getContract.mockReset(); + mockWalletClient.sendTransaction.mockReset().mockImplementation(() => Promise.resolve(defaultMockHash)); + mockWalletClient.writeContract.mockReset().mockImplementation(() => Promise.resolve(defaultMockHash)); }); describe('transferSei', () => { @@ -107,7 +131,9 @@ describe('Transfer Service', () => { test('should throw error when wallet provider fails', async () => { (getWalletClientFromProvider as jest.Mock).mockRejectedValue(new Error('Wallet provider unavailable')); - await expect(transferERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow('Wallet provider unavailable'); + await expect(transferERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow( + 'Wallet provider unavailable' + ); }); test('should throw error when wallet account is not initialized', async () => { @@ -118,7 +144,9 @@ describe('Transfer Service', () => { }; (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); - await expect(transferERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow('Wallet account not initialized properly'); + await expect(transferERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow( + 'Wallet account not initialized properly' + ); }); }); @@ -154,7 +182,9 @@ describe('Transfer Service', () => { test('should throw error when wallet provider fails', async () => { (getWalletClientFromProvider as jest.Mock).mockRejectedValue(new Error('Wallet provider unavailable')); - await expect(approveERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow('Wallet provider unavailable'); + await expect(approveERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow( + 'Wallet provider unavailable' + ); }); test('should throw error when wallet account is not initialized', async () => { @@ -165,7 +195,9 @@ describe('Transfer Service', () => { }; (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); - await expect(approveERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow('Wallet account not initialized properly'); + await expect(approveERC20('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', '1.0')).rejects.toThrow( + 'Wallet account not initialized properly' + ); }); }); @@ -198,7 +230,9 @@ describe('Transfer Service', () => { test('should throw error when wallet provider fails', async () => { (getWalletClientFromProvider as jest.Mock).mockRejectedValue(new Error('Wallet provider unavailable')); - await expect(transferERC721('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n)).rejects.toThrow('Wallet provider unavailable'); + await expect(transferERC721('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n)).rejects.toThrow( + 'Wallet provider unavailable' + ); }); test('should throw error when wallet account is not initialized', async () => { @@ -209,15 +243,17 @@ describe('Transfer Service', () => { }; (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); - await expect(transferERC721('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n)).rejects.toThrow('Wallet account not initialized properly'); + await expect(transferERC721('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n)).rejects.toThrow( + 'Wallet account not initialized properly' + ); }); test('should handle errors when fetching NFT metadata', async () => { const mockHash = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' as Hash; - + // Mock successful transaction but failed metadata fetch (mockWalletClient.writeContract as jest.Mock).mockImplementation(() => Promise.resolve(mockHash)); - + // Mock read contract to throw error for metadata (mockPublicClient.readContract as jest.Mock).mockImplementation(() => { throw new Error('Failed to fetch metadata'); @@ -257,7 +293,9 @@ describe('Transfer Service', () => { test('should throw error when wallet provider fails', async () => { (getWalletClientFromProvider as jest.Mock).mockRejectedValue(new Error('Wallet provider unavailable')); - await expect(transferERC1155('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n, '1')).rejects.toThrow('Wallet provider unavailable'); + await expect(transferERC1155('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n, '1')).rejects.toThrow( + 'Wallet provider unavailable' + ); }); test('should throw error when wallet account is not initialized', async () => { @@ -268,7 +306,9 @@ describe('Transfer Service', () => { }; (getWalletClientFromProvider as jest.Mock).mockReturnValue(Promise.resolve(mockWalletClientWithoutAccount)); - await expect(transferERC1155('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n, '1')).rejects.toThrow('Wallet account not initialized properly'); + await expect(transferERC1155('0x1234567890123456789012345678901234567890', '0x0987654321098765432109876543210987654321', 1n, '1')).rejects.toThrow( + 'Wallet account not initialized properly' + ); }); }); }); diff --git a/packages/mcp-server/src/tests/core/services/utils.test.ts b/packages/mcp-server/src/tests/core/services/utils.test.ts index d11513553..06942157e 100644 --- a/packages/mcp-server/src/tests/core/services/utils.test.ts +++ b/packages/mcp-server/src/tests/core/services/utils.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { utils } from '../../../core/services/utils.js'; describe('Utils Module', () => { diff --git a/packages/mcp-server/src/tests/core/tools.test.ts b/packages/mcp-server/src/tests/core/tools.test.ts index c04e33d52..88e7e7ed8 100644 --- a/packages/mcp-server/src/tests/core/tools.test.ts +++ b/packages/mcp-server/src/tests/core/tools.test.ts @@ -1,4 +1,5 @@ -import { afterEach, beforeEach, describe, expect, jest, test } from '@jest/globals'; +import { afterAll, afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; + /** * Integration Tests for MCP Tools * @@ -13,29 +14,50 @@ import { afterEach, beforeEach, describe, expect, jest, test } from '@jest/globa * - Verifies proper integration between tools and the MCP server */ -import type { Address } from 'viem'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; -import { getRpcUrl, getSupportedNetworks } from '../../core/chains.js'; -import { getPrivateKeyAsHex, isWalletEnabled, getWalletMode } from '../../core/config.js'; -import { registerEVMTools } from '../../core/tools.js'; +import type { Address } from 'viem'; +import * as chains from '../../core/chains.js'; +import * as config from '../../core/config.js'; import * as services from '../../core/services/index.js'; -import { getWalletProvider } from '../../core/wallet/index.js'; +import { registerEVMTools } from '../../core/tools.js'; +import * as wallet from '../../core/wallet/index.js'; import { createMockServer, setupBalanceMocks, setupTransactionMocks, + type Tool, testToolError, testToolSuccess, verifyErrorResponse, - verifySuccessResponse, - type Tool + verifySuccessResponse } from './helpers/tool-test-helpers.js'; -// Mock all service functions -jest.mock('../../core/services/index.js'); -jest.mock('../../core/chains.js'); -jest.mock('../../core/config.js'); -jest.mock('../../core/wallet/index.js'); +const spyFunctions = (mod: object) => { + for (const [key, value] of Object.entries(mod)) { + if (typeof value === 'function') { + (jest.spyOn(mod as Record, key) as jest.Mock).mockImplementation(() => undefined); + } + } +}; + +const spiedModules = [chains, config, services, wallet]; +for (const module of spiedModules) { + spyFunctions(module); +} + +const resetSpiedFunctions = (mod: object) => { + for (const value of Object.values(mod)) { + if (typeof value === 'function') { + const mock = value as jest.Mock; + mock.mockReset(); + mock.mockImplementation(() => undefined); + } + } +}; + +const { getRpcUrl, getSupportedNetworks } = chains; +const { getPrivateKeyAsHex, getWalletMode, isWalletEnabled } = config; +const { getWalletProvider } = wallet; describe('EVM Tools', () => { // Common test variables @@ -50,6 +72,10 @@ describe('EVM Tools', () => { let registeredTools: Map; beforeEach(async () => { + for (const module of spiedModules) { + resetSpiedFunctions(module); + } + // Create fresh mock server for each test const mockServerResult = createMockServer(); server = mockServerResult.server; @@ -79,28 +105,33 @@ describe('EVM Tools', () => { // Register tools after mocks are set up registerEVMTools(server); - // Mock formatJson function - // Create a type for the helpers object to avoid read-only property error - type ServiceHelpers = typeof services.helpers; - const helpersObj: ServiceHelpers = { - formatJson: jest.fn().mockImplementation((data: unknown) => JSON.stringify(data)) as unknown as (obj: unknown) => string, - parseEther: jest.fn() as unknown as (ether: string, unit?: 'wei' | 'gwei') => bigint, - validateAddress: jest.fn() as unknown as (address: string) => `0x${string}` - }; - - // Use Object.assign to avoid the read-only property error - Object.assign(services, { helpers: helpersObj }); + jest + .spyOn(services.helpers, 'formatJson') + .mockReset() + .mockImplementation((data: unknown) => JSON.stringify(data)); + jest + .spyOn(services.helpers, 'parseEther') + .mockReset() + .mockImplementation(() => undefined as never); + jest + .spyOn(services.helpers, 'validateAddress') + .mockReset() + .mockImplementation((address: string) => address as `0x${string}`); }); afterEach(() => { jest.clearAllMocks(); }); + afterAll(() => { + jest.restoreAllMocks(); + }); + // Helper function to check if a tool exists const checkToolExists = (toolName: string) => { const tool = registeredTools.get(toolName); if (!tool) { - console.log(`Tool '${toolName}' not found. Available tools: ${Array.from(registeredTools.keys()).join(', ')}`); + throw new Error(`Tool '${toolName}' not found. Available tools: ${Array.from(registeredTools.keys()).join(', ')}`); } return tool; }; @@ -644,7 +675,8 @@ describe('EVM Tools', () => { const tokenId = 'abc'; const response = await tool.handler({ tokenAddress, tokenId, ownerAddress: address, network: mockNetwork }); - verifyErrorResponse(response, 'Error fetching ERC1155 token balance: Cannot convert abc to a BigInt'); + verifyErrorResponse(response, 'Error fetching ERC1155 token balance:'); + expect(response.content[0].text).toMatch(/BigInt/i); }); test('get_erc1155_balance - success path with default network', async () => { diff --git a/packages/mcp-server/src/tests/core/wallet/index.test.ts b/packages/mcp-server/src/tests/core/wallet/index.test.ts index c9fa01d68..42308bab2 100644 --- a/packages/mcp-server/src/tests/core/wallet/index.test.ts +++ b/packages/mcp-server/src/tests/core/wallet/index.test.ts @@ -1,124 +1,135 @@ -import { describe, test, expect, jest, beforeEach } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { getWalletProvider, resetWalletProvider } from '../../../core/wallet/index.js'; -import { PrivateKeyWalletProvider } from '../../../core/wallet/providers/private-key.js'; import { DisabledWalletProvider } from '../../../core/wallet/providers/disabled.js'; +import { PrivateKeyWalletProvider } from '../../../core/wallet/providers/private-key.js'; +import type { WalletProvider } from '../../../core/wallet/types.js'; // Mock dependencies jest.mock('../../../core/config.js', () => ({ - getWalletMode: jest.fn() + getWalletMode: jest.fn() })); jest.mock('../../../core/wallet/providers/private-key.js', () => ({ - PrivateKeyWalletProvider: jest.fn() + PrivateKeyWalletProvider: jest.fn() })); jest.mock('../../../core/wallet/providers/disabled.js', () => ({ - DisabledWalletProvider: jest.fn() + DisabledWalletProvider: jest.fn() })); import { getWalletMode } from '../../../core/config.js'; describe('Wallet Provider', () => { - const mockPrivateKeyProvider = { - getName: () => 'private-key', - isAvailable: () => true - }; - - const mockDisabledProvider = { - getName: () => 'disabled', - isAvailable: () => false - }; - - beforeEach(() => { - // Reset wallet provider instance before each test - resetWalletProvider(); - - // Reset all mocks - jest.resetAllMocks(); - - // Setup default mock implementations - (PrivateKeyWalletProvider as jest.Mock).mockImplementation(() => mockPrivateKeyProvider); - (DisabledWalletProvider as jest.Mock).mockImplementation(() => mockDisabledProvider); - }); - - describe('getWalletProvider', () => { - test('should create and return PrivateKeyWalletProvider for private-key mode', () => { - (getWalletMode as jest.Mock).mockReturnValue('private-key'); - - const provider = getWalletProvider(); - - expect(getWalletMode).toHaveBeenCalled(); - expect(PrivateKeyWalletProvider).toHaveBeenCalled(); - expect(provider).toBe(mockPrivateKeyProvider); - }); - - test('should create and return DisabledWalletProvider for disabled mode', () => { - (getWalletMode as jest.Mock).mockReturnValue('disabled'); - - const provider = getWalletProvider(); - - expect(getWalletMode).toHaveBeenCalled(); - expect(DisabledWalletProvider).toHaveBeenCalled(); - expect(provider).toBe(mockDisabledProvider); - }); - - test('should return cached provider on subsequent calls', () => { - (getWalletMode as jest.Mock).mockReturnValue('private-key'); - - // First call - const provider1 = getWalletProvider(); - - // Reset mocks to verify they aren't called again - jest.clearAllMocks(); - - // Second call should return cached provider - const provider2 = getWalletProvider(); - - expect(getWalletMode).not.toHaveBeenCalled(); - expect(PrivateKeyWalletProvider).not.toHaveBeenCalled(); - expect(provider2).toBe(provider1); - }); - - test('should throw error for unknown wallet mode', () => { - (getWalletMode as jest.Mock).mockReturnValue('unknown-mode'); - - expect(() => getWalletProvider()).toThrow('Unknown wallet mode: unknown-mode'); - }); - }); - - describe('resetWalletProvider', () => { - test('should reset the wallet provider instance', () => { - (getWalletMode as jest.Mock).mockReturnValue('private-key'); - - // Create separate mock instances for each call - const mockProvider1 = { - getName: () => 'private-key', - isAvailable: () => true - }; - const mockProvider2 = { - getName: () => 'private-key', - isAvailable: () => true - }; - - // Mock constructor to return different instances on each call - (PrivateKeyWalletProvider as jest.Mock) - .mockImplementationOnce(() => mockProvider1) - .mockImplementationOnce(() => mockProvider2); - - // Create provider instance - const provider1 = getWalletProvider(); - expect(provider1).toBe(mockProvider1); - - // Reset the provider - resetWalletProvider(); - - // Create new provider instance - const provider2 = getWalletProvider(); - expect(provider2).toBe(mockProvider2); - - // Should have created a new instance - expect(PrivateKeyWalletProvider).toHaveBeenCalledTimes(2); - expect(provider2).not.toBe(provider1); - }); - }); + const mockPrivateKeyProvider: WalletProvider = { + getName: () => 'private-key', + isAvailable: () => true, + getAddress: jest.fn(), + signTransaction: jest.fn(), + getWalletClient: jest.fn() + }; + + const mockDisabledProvider: WalletProvider = { + getName: () => 'disabled', + isAvailable: () => false, + getAddress: jest.fn(), + signTransaction: jest.fn(), + getWalletClient: jest.fn() + }; + + beforeEach(() => { + // Reset wallet provider instance before each test + resetWalletProvider(); + + // Reset all mocks + jest.resetAllMocks(); + + // Setup default mock implementations + (PrivateKeyWalletProvider as unknown as jest.Mock).mockImplementation(() => mockPrivateKeyProvider); + (DisabledWalletProvider as unknown as jest.Mock).mockImplementation(() => mockDisabledProvider); + }); + + describe('getWalletProvider', () => { + test('should create and return PrivateKeyWalletProvider for private-key mode', () => { + (getWalletMode as jest.Mock).mockReturnValue('private-key'); + + const provider = getWalletProvider(); + + expect(getWalletMode).toHaveBeenCalled(); + expect(PrivateKeyWalletProvider).toHaveBeenCalled(); + expect(provider).toBe(mockPrivateKeyProvider); + }); + + test('should create and return DisabledWalletProvider for disabled mode', () => { + (getWalletMode as jest.Mock).mockReturnValue('disabled'); + + const provider = getWalletProvider(); + + expect(getWalletMode).toHaveBeenCalled(); + expect(DisabledWalletProvider).toHaveBeenCalled(); + expect(provider).toBe(mockDisabledProvider); + }); + + test('should return cached provider on subsequent calls', () => { + (getWalletMode as jest.Mock).mockReturnValue('private-key'); + + // First call + const provider1 = getWalletProvider(); + + // Reset mocks to verify they aren't called again + jest.clearAllMocks(); + + // Second call should return cached provider + const provider2 = getWalletProvider(); + + expect(getWalletMode).not.toHaveBeenCalled(); + expect(PrivateKeyWalletProvider).not.toHaveBeenCalled(); + expect(provider2).toBe(provider1); + }); + + test('should throw error for unknown wallet mode', () => { + (getWalletMode as jest.Mock).mockReturnValue('unknown-mode'); + + expect(() => getWalletProvider()).toThrow('Unknown wallet mode: unknown-mode'); + }); + }); + + describe('resetWalletProvider', () => { + test('should reset the wallet provider instance', () => { + (getWalletMode as jest.Mock).mockReturnValue('private-key'); + + // Create separate mock instances for each call + const mockProvider1: WalletProvider = { + getName: () => 'private-key', + isAvailable: () => true, + getAddress: jest.fn(), + signTransaction: jest.fn(), + getWalletClient: jest.fn() + }; + const mockProvider2: WalletProvider = { + getName: () => 'private-key', + isAvailable: () => true, + getAddress: jest.fn(), + signTransaction: jest.fn(), + getWalletClient: jest.fn() + }; + + // Mock constructor to return different instances on each call + (PrivateKeyWalletProvider as unknown as jest.Mock).mockImplementationOnce(() => mockProvider1).mockImplementationOnce(() => mockProvider2); + + // Create provider instance + const provider1 = getWalletProvider(); + expect(provider1).toBe(mockProvider1); + + // Reset the provider + resetWalletProvider(); + + // Create new provider instance + const provider2 = getWalletProvider(); + expect(provider2).toBe(mockProvider2); + + // Should have created a new instance + expect(PrivateKeyWalletProvider).toHaveBeenCalledTimes(2); + expect(provider2).not.toBe(provider1); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/wallet/providers/disabled.test.ts b/packages/mcp-server/src/tests/core/wallet/providers/disabled.test.ts index 06dd07c7e..d0c2d764c 100644 --- a/packages/mcp-server/src/tests/core/wallet/providers/disabled.test.ts +++ b/packages/mcp-server/src/tests/core/wallet/providers/disabled.test.ts @@ -1,46 +1,46 @@ -import { describe, test, expect } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { DisabledWalletProvider } from '../../../../core/wallet/providers/disabled.js'; -import { WalletProviderError } from '../../../../core/wallet/types.js'; +import { type TransactionRequest, WalletProviderError } from '../../../../core/wallet/types.js'; describe('DisabledWalletProvider', () => { - let provider: DisabledWalletProvider; - - beforeEach(() => { - provider = new DisabledWalletProvider(); - }); - - describe('isAvailable', () => { - test('should return false', () => { - expect(provider.isAvailable()).toBe(false); - }); - }); - - describe('getName', () => { - test('should return "disabled"', () => { - expect(provider.getName()).toBe('disabled'); - }); - }); - - describe('getAddress', () => { - test('should throw WalletProviderError', async () => { - await expect(provider.getAddress()).rejects.toThrow(WalletProviderError); - await expect(provider.getAddress()).rejects.toThrow('Wallet functionality is disabled'); - }); - }); - - describe('signTransaction', () => { - test('should throw WalletProviderError', async () => { - const mockTx = { to: '0x123', value: '0x1' }; - - await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); - await expect(provider.signTransaction(mockTx)).rejects.toThrow('Wallet functionality is disabled'); - }); - }); - - describe('getWalletClient', () => { - test('should throw WalletProviderError', async () => { - await expect(provider.getWalletClient('sei')).rejects.toThrow(WalletProviderError); - await expect(provider.getWalletClient('sei')).rejects.toThrow('Wallet functionality is disabled'); - }); - }); + let provider: DisabledWalletProvider; + + beforeEach(() => { + provider = new DisabledWalletProvider(); + }); + + describe('isAvailable', () => { + test('should return false', () => { + expect(provider.isAvailable()).toBe(false); + }); + }); + + describe('getName', () => { + test('should return "disabled"', () => { + expect(provider.getName()).toBe('disabled'); + }); + }); + + describe('getAddress', () => { + test('should throw WalletProviderError', async () => { + await expect(provider.getAddress()).rejects.toThrow(WalletProviderError); + await expect(provider.getAddress()).rejects.toThrow('Wallet functionality is disabled'); + }); + }); + + describe('signTransaction', () => { + test('should throw WalletProviderError', async () => { + const mockTx: TransactionRequest = { to: '0x1234567890123456789012345678901234567890', value: 1n }; + + await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); + await expect(provider.signTransaction(mockTx)).rejects.toThrow('Wallet functionality is disabled'); + }); + }); + + describe('getWalletClient', () => { + test('should throw WalletProviderError', async () => { + await expect(provider.getWalletClient('sei')).rejects.toThrow(WalletProviderError); + await expect(provider.getWalletClient('sei')).rejects.toThrow('Wallet functionality is disabled'); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/wallet/providers/private-key.test.ts b/packages/mcp-server/src/tests/core/wallet/providers/private-key.test.ts index 71a20f2a3..247646f4e 100644 --- a/packages/mcp-server/src/tests/core/wallet/providers/private-key.test.ts +++ b/packages/mcp-server/src/tests/core/wallet/providers/private-key.test.ts @@ -1,149 +1,149 @@ -import { describe, test, expect, jest, beforeEach } from '@jest/globals'; -import { PrivateKeyWalletProvider } from '../../../../core/wallet/providers/private-key.js'; -import { WalletProviderError } from '../../../../core/wallet/types.js'; -import { createWalletClient, http } from 'viem'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; +import { createWalletClient, http, type WalletClient } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; +import { PrivateKeyWalletProvider } from '../../../../core/wallet/providers/private-key.js'; +import { type TransactionRequest, WalletProviderError } from '../../../../core/wallet/types.js'; // Mock dependencies jest.mock('../../../../core/config.js', () => ({ - getPrivateKeyAsHex: jest.fn() + getPrivateKeyAsHex: jest.fn() })); jest.mock('../../../../core/chains.js', () => ({ - getChain: jest.fn(), - getRpcUrl: jest.fn() + getChain: jest.fn(), + getRpcUrl: jest.fn() })); jest.mock('viem', () => ({ - createWalletClient: jest.fn(), - http: jest.fn() + createWalletClient: jest.fn(), + http: jest.fn() })); jest.mock('viem/accounts', () => ({ - privateKeyToAccount: jest.fn() + privateKeyToAccount: jest.fn() })); -import { getPrivateKeyAsHex } from '../../../../core/config.js'; import { getChain, getRpcUrl } from '../../../../core/chains.js'; +import { getPrivateKeyAsHex } from '../../../../core/config.js'; describe('PrivateKeyWalletProvider', () => { - const mockPrivateKey = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'; - const mockAddress = '0x1234567890123456789012345678901234567890'; - const mockAccount = { address: mockAddress }; - const mockChain = { id: 1, name: 'Sei' }; - const mockRpcUrl = 'https://rpc.sei.io'; - const mockTransport = {}; - const mockWalletClient = { account: mockAccount, chain: mockChain }; - - beforeEach(() => { - jest.resetAllMocks(); - - // Setup default mocks - (getChain as jest.Mock).mockReturnValue(mockChain); - (getRpcUrl as jest.Mock).mockReturnValue(mockRpcUrl); - (http as jest.Mock).mockReturnValue(mockTransport); - (privateKeyToAccount as jest.Mock).mockReturnValue(mockAccount); - (createWalletClient as jest.Mock).mockReturnValue(mockWalletClient); - }); - - describe('constructor and isAvailable', () => { - test('should be available when private key is configured', () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - const provider = new PrivateKeyWalletProvider(); - - expect(provider.isAvailable()).toBe(true); - expect(getPrivateKeyAsHex).toHaveBeenCalled(); - }); - - test('should not be available when private key is not configured', () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); - - const provider = new PrivateKeyWalletProvider(); - - expect(provider.isAvailable()).toBe(false); - }); - }); - - describe('getName', () => { - test('should return "private-key"', () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - const provider = new PrivateKeyWalletProvider(); - - expect(provider.getName()).toBe('private-key'); - }); - }); - - describe('getAddress', () => { - test('should return address when private key is configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - const provider = new PrivateKeyWalletProvider(); - const address = await provider.getAddress(); - - expect(privateKeyToAccount).toHaveBeenCalledWith(mockPrivateKey); - expect(address).toBe(mockAddress); - }); - - test('should throw WalletProviderError when private key is not configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); - - const provider = new PrivateKeyWalletProvider(); - - await expect(provider.getAddress()).rejects.toThrow(WalletProviderError); - await expect(provider.getAddress()).rejects.toThrow('Private key not configured'); - }); - }); - - describe('signTransaction', () => { - test('should throw not implemented error when private key is configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - const provider = new PrivateKeyWalletProvider(); - const mockTx = { to: '0x123', value: '0x1' }; - - await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); - await expect(provider.signTransaction(mockTx)).rejects.toThrow('Direct transaction signing not implemented'); - }); - - test('should throw private key error when private key is not configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); - - const provider = new PrivateKeyWalletProvider(); - const mockTx = { to: '0x123', value: '0x1' }; - - await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); - await expect(provider.signTransaction(mockTx)).rejects.toThrow('Private key not configured'); - }); - }); - - describe('getWalletClient', () => { - test('should create and return wallet client when private key is configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); - - const provider = new PrivateKeyWalletProvider(); - const client = await provider.getWalletClient('sei'); - - expect(getChain).toHaveBeenCalledWith('sei'); - expect(getRpcUrl).toHaveBeenCalledWith('sei'); - expect(http).toHaveBeenCalledWith(mockRpcUrl); - expect(privateKeyToAccount).toHaveBeenCalledWith(mockPrivateKey); - expect(createWalletClient).toHaveBeenCalledWith({ - account: mockAccount, - chain: mockChain, - transport: mockTransport - }); - expect(client).toBe(mockWalletClient); - }); + const mockPrivateKey = '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'; + const mockAddress = '0x1234567890123456789012345678901234567890'; + const mockAccount = { address: mockAddress }; + const mockChain = { id: 1, name: 'Sei' }; + const mockRpcUrl = 'https://rpc.sei.io'; + const mockTransport = {}; + const mockWalletClient = { account: mockAccount, chain: mockChain } as unknown as WalletClient; + + beforeEach(() => { + jest.resetAllMocks(); + + // Setup default mocks + (getChain as jest.Mock).mockReturnValue(mockChain); + (getRpcUrl as jest.Mock).mockReturnValue(mockRpcUrl); + (http as jest.Mock).mockReturnValue(mockTransport); + (privateKeyToAccount as jest.Mock).mockReturnValue(mockAccount); + (createWalletClient as jest.Mock).mockReturnValue(mockWalletClient); + }); + + describe('constructor and isAvailable', () => { + test('should be available when private key is configured', () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + const provider = new PrivateKeyWalletProvider(); + + expect(provider.isAvailable()).toBe(true); + expect(getPrivateKeyAsHex).toHaveBeenCalled(); + }); + + test('should not be available when private key is not configured', () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); + + const provider = new PrivateKeyWalletProvider(); + + expect(provider.isAvailable()).toBe(false); + }); + }); + + describe('getName', () => { + test('should return "private-key"', () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + const provider = new PrivateKeyWalletProvider(); + + expect(provider.getName()).toBe('private-key'); + }); + }); + + describe('getAddress', () => { + test('should return address when private key is configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + const provider = new PrivateKeyWalletProvider(); + const address = await provider.getAddress(); + + expect(privateKeyToAccount).toHaveBeenCalledWith(mockPrivateKey); + expect(address).toBe(mockAddress); + }); + + test('should throw WalletProviderError when private key is not configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); + + const provider = new PrivateKeyWalletProvider(); + + await expect(provider.getAddress()).rejects.toThrow(WalletProviderError); + await expect(provider.getAddress()).rejects.toThrow('Private key not configured'); + }); + }); + + describe('signTransaction', () => { + test('should throw not implemented error when private key is configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + const provider = new PrivateKeyWalletProvider(); + const mockTx: TransactionRequest = { to: '0x1234567890123456789012345678901234567890', value: 1n }; + + await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); + await expect(provider.signTransaction(mockTx)).rejects.toThrow('Direct transaction signing not implemented'); + }); + + test('should throw private key error when private key is not configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); + + const provider = new PrivateKeyWalletProvider(); + const mockTx: TransactionRequest = { to: '0x1234567890123456789012345678901234567890', value: 1n }; + + await expect(provider.signTransaction(mockTx)).rejects.toThrow(WalletProviderError); + await expect(provider.signTransaction(mockTx)).rejects.toThrow('Private key not configured'); + }); + }); + + describe('getWalletClient', () => { + test('should create and return wallet client when private key is configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(mockPrivateKey); + + const provider = new PrivateKeyWalletProvider(); + const client = await provider.getWalletClient('sei'); + + expect(getChain).toHaveBeenCalledWith('sei'); + expect(getRpcUrl).toHaveBeenCalledWith('sei'); + expect(http).toHaveBeenCalledWith(mockRpcUrl); + expect(privateKeyToAccount).toHaveBeenCalledWith(mockPrivateKey); + expect(createWalletClient).toHaveBeenCalledWith({ + account: mockAccount, + chain: mockChain, + transport: mockTransport + }); + expect(client).toBe(mockWalletClient); + }); - test('should throw WalletProviderError when private key is not configured', async () => { - (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); + test('should throw WalletProviderError when private key is not configured', async () => { + (getPrivateKeyAsHex as jest.Mock).mockReturnValue(undefined); - const provider = new PrivateKeyWalletProvider(); + const provider = new PrivateKeyWalletProvider(); - await expect(provider.getWalletClient('sei')).rejects.toThrow(WalletProviderError); - await expect(provider.getWalletClient('sei')).rejects.toThrow('Private key not configured'); - }); - }); + await expect(provider.getWalletClient('sei')).rejects.toThrow(WalletProviderError); + await expect(provider.getWalletClient('sei')).rejects.toThrow('Private key not configured'); + }); + }); }); diff --git a/packages/mcp-server/src/tests/core/wallet/types.test.ts b/packages/mcp-server/src/tests/core/wallet/types.test.ts index 0ad7eedf0..76359fd76 100644 --- a/packages/mcp-server/src/tests/core/wallet/types.test.ts +++ b/packages/mcp-server/src/tests/core/wallet/types.test.ts @@ -1,46 +1,46 @@ -import { describe, test, expect } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { WalletProviderError } from '../../../core/wallet/types.js'; describe('WalletProviderError', () => { - test('should create error with message, provider, and code properties', () => { - const message = 'Test error message'; - const provider = 'test-provider'; - const code = 'TEST_CODE'; - - const error = new WalletProviderError(message, provider, code); - - expect(error).toBeInstanceOf(Error); - expect(error).toBeInstanceOf(WalletProviderError); - expect(error.message).toBe(message); - expect(error.provider).toBe(provider); - expect(error.code).toBe(code); - expect(error.name).toBe('WalletProviderError'); - }); - - test('should have correct error name', () => { - const error = new WalletProviderError('Test message', 'test-provider', 'TEST_CODE'); - - expect(error.name).toBe('WalletProviderError'); - }); - - test('should be throwable and catchable', () => { - const message = 'Test error'; - const provider = 'test-provider'; - const code = 'TEST_CODE'; - - expect(() => { - throw new WalletProviderError(message, provider, code); - }).toThrow(WalletProviderError); - - try { - throw new WalletProviderError(message, provider, code); - } catch (error) { - expect(error).toBeInstanceOf(WalletProviderError); - if (error instanceof WalletProviderError) { - expect(error.message).toBe(message); - expect(error.provider).toBe(provider); - expect(error.code).toBe(code); - } - } - }); + test('should create error with message, provider, and code properties', () => { + const message = 'Test error message'; + const provider = 'test-provider'; + const code = 'TEST_CODE'; + + const error = new WalletProviderError(message, provider, code); + + expect(error).toBeInstanceOf(Error); + expect(error).toBeInstanceOf(WalletProviderError); + expect(error.message).toBe(message); + expect(error.provider).toBe(provider); + expect(error.code).toBe(code); + expect(error.name).toBe('WalletProviderError'); + }); + + test('should have correct error name', () => { + const error = new WalletProviderError('Test message', 'test-provider', 'TEST_CODE'); + + expect(error.name).toBe('WalletProviderError'); + }); + + test('should be throwable and catchable', () => { + const message = 'Test error'; + const provider = 'test-provider'; + const code = 'TEST_CODE'; + + expect(() => { + throw new WalletProviderError(message, provider, code); + }).toThrow(WalletProviderError); + + try { + throw new WalletProviderError(message, provider, code); + } catch (error) { + expect(error).toBeInstanceOf(WalletProviderError); + if (error instanceof WalletProviderError) { + expect(error.message).toBe(message); + expect(error.provider).toBe(provider); + expect(error.code).toBe(code); + } + } + }); }); diff --git a/packages/mcp-server/src/tests/docs/server.test.ts b/packages/mcp-server/src/tests/docs/server.test.ts index 880f6405b..cdd2b848f 100644 --- a/packages/mcp-server/src/tests/docs/server.test.ts +++ b/packages/mcp-server/src/tests/docs/server.test.ts @@ -1,9 +1,9 @@ -import { describe, expect, it, jest } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StreamableHTTPClientTransport, StreamableHTTPError } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js'; -import { createDocsSearchTool, DOCS_MCP_URL, MAX_DOCS_RESPONSE_CHARS, type DocsMcpClientFactory } from '../../docs/server.js'; +import { createDocsSearchTool, DOCS_MCP_URL, type DocsMcpClientFactory, MAX_DOCS_RESPONSE_CHARS } from '../../docs/server.js'; import { createMockServer } from '../core/helpers/tool-test-helpers.js'; const docsClientInfo = { name: '@sei-js/mcp-server', version: '0.3.3' }; @@ -74,8 +74,8 @@ describe('documentation search', () => { undefined, { timeout: 30_000 } ); - expect(firstResult).toEqual(remoteResult); - expect(secondResult).toEqual(remoteResult); + expect(firstResult).toEqual(remoteResult as unknown as typeof firstResult); + expect(secondResult).toEqual(remoteResult as unknown as typeof secondResult); expect(close).not.toHaveBeenCalled(); }); diff --git a/packages/mcp-server/src/tests/index.test.ts b/packages/mcp-server/src/tests/index.test.ts index 9f93bee71..113d357c8 100644 --- a/packages/mcp-server/src/tests/index.test.ts +++ b/packages/mcp-server/src/tests/index.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect, jest, beforeEach } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; // Mock all dependencies jest.mock('../server/server.js', () => ({ @@ -66,6 +66,11 @@ describe('index', () => { processExitSpy.mockRestore(); }); + it('does not execute a stale or missing entrypoint path', async () => { + const indexModule = await import('../index.js'); + expect(indexModule.isDirectExecution(import.meta.url, '/__sei_js_missing_entrypoint__')).toBe(false); + }); + it('should start server successfully with wallet enabled', async () => { // Import and call the main function const indexModule = await import('../index.js'); @@ -85,9 +90,7 @@ describe('index', () => { const indexModule = await import('../index.js'); await indexModule.main(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - 'Wallet functionality is disabled. Wallet-dependent tools will not be available.' - ); + expect(consoleErrorSpy).toHaveBeenCalledWith('Wallet functionality is disabled. Wallet-dependent tools will not be available.'); }); it('should handle server startup errors', async () => { @@ -95,7 +98,7 @@ describe('index', () => { mockGetServer.mockRejectedValue(testError); const indexModule = await import('../index.js'); - + try { await indexModule.main(); } catch (error) { @@ -114,7 +117,7 @@ describe('index', () => { }); const indexModule = await import('../index.js'); - + try { await indexModule.main(); } catch (error) { @@ -131,7 +134,7 @@ describe('index', () => { mockTransport.start.mockRejectedValue(testError); const indexModule = await import('../index.js'); - + try { await indexModule.main(); } catch (error) { @@ -142,6 +145,4 @@ describe('index', () => { expect(consoleErrorSpy).toHaveBeenCalledWith('Error starting MCP server:', testError); expect(processExitSpy).toHaveBeenCalledWith(1); }); - - }); diff --git a/packages/mcp-server/src/tests/server/args.test.ts b/packages/mcp-server/src/tests/server/args.test.ts index 99fb3e8a4..63ead2dd6 100644 --- a/packages/mcp-server/src/tests/server/args.test.ts +++ b/packages/mcp-server/src/tests/server/args.test.ts @@ -1,4 +1,4 @@ -import { jest } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; // Mock dependencies jest.mock('commander', () => ({ @@ -66,8 +66,8 @@ describe('Args Module', () => { }); // Spy on console.error and process.exit - consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(); - processExitSpy = jest.spyOn(process, 'exit').mockImplementation(); + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + processExitSpy = jest.spyOn(process, 'exit').mockImplementation(() => undefined as never); // Import the function after mocks are set up const argsModule = await import('../../server/args.js'); @@ -84,9 +84,9 @@ describe('Args Module', () => { describe('getEnvValue (helper)', () => { it('should return environment variable value when set', () => { process.env.TEST_VAR = 'test-value'; - + const result = parseArgs(); - + // Indirectly test getEnvValue through parseArgs behavior expect(mockDotenvConfig).toHaveBeenCalled(); }); @@ -94,7 +94,7 @@ describe('Args Module', () => { it('should return default value when environment variable not set', () => { // Test through loadConfig defaults const result = parseArgs(); - + expect(result.mode).toBe('stdio'); // Default transport expect(result.port).toBe(8080); // Default port expect(result.host).toBe('localhost'); // Default host @@ -206,9 +206,7 @@ describe('Args Module', () => { parseArgs(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - "Error: Invalid wallet mode 'invalid-mode'. Valid modes are: private-key, disabled" - ); + expect(consoleErrorSpy).toHaveBeenCalledWith("Error: Invalid wallet mode 'invalid-mode'. Valid modes are: private-key, disabled"); expect(processExitSpy).toHaveBeenCalledWith(1); }); @@ -217,9 +215,7 @@ describe('Args Module', () => { parseArgs(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - "Error: Invalid transport mode 'invalid-transport'. Valid modes are: stdio, streamable-http, http-sse" - ); + expect(consoleErrorSpy).toHaveBeenCalledWith("Error: Invalid transport mode 'invalid-transport'. Valid modes are: stdio, streamable-http, http-sse"); expect(processExitSpy).toHaveBeenCalledWith(1); }); @@ -228,9 +224,7 @@ describe('Args Module', () => { parseArgs(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - "Error: Invalid port '0'. Port must be a number between 1 and 65535." - ); + expect(consoleErrorSpy).toHaveBeenCalledWith("Error: Invalid port '0'. Port must be a number between 1 and 65535."); expect(processExitSpy).toHaveBeenCalledWith(1); }); @@ -239,9 +233,7 @@ describe('Args Module', () => { parseArgs(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - "Error: Invalid port '65536'. Port must be a number between 1 and 65535." - ); + expect(consoleErrorSpy).toHaveBeenCalledWith("Error: Invalid port '65536'. Port must be a number between 1 and 65535."); expect(processExitSpy).toHaveBeenCalledWith(1); }); diff --git a/packages/mcp-server/src/tests/server/package-info.test.ts b/packages/mcp-server/src/tests/server/package-info.test.ts new file mode 100644 index 000000000..d63600266 --- /dev/null +++ b/packages/mcp-server/src/tests/server/package-info.test.ts @@ -0,0 +1,21 @@ +import { afterEach, describe, expect, it, jest } from 'bun:test'; +import { getPackageInfo } from '../../server/package-info.js'; + +describe('getPackageInfo', () => { + const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + + afterEach(() => { + consoleErrorSpy.mockClear(); + }); + + it('reads metadata from the package root', async () => { + const packageJson = await Bun.file(new URL('../../../package.json', import.meta.url)).json(); + + expect(getPackageInfo()).toEqual({ + name: packageJson.name, + version: packageJson.version, + description: packageJson.description + }); + expect(consoleErrorSpy).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/mcp-server/src/tests/server/server.test.ts b/packages/mcp-server/src/tests/server/server.test.ts index 132dc1437..68b577d9e 100644 --- a/packages/mcp-server/src/tests/server/server.test.ts +++ b/packages/mcp-server/src/tests/server/server.test.ts @@ -1,4 +1,4 @@ -import { jest, describe, it, expect, beforeEach, afterEach } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; // Mock all dependencies @@ -47,7 +47,6 @@ describe('Server Module', () => { beforeEach(async () => { jest.clearAllMocks(); - jest.resetModules(); // Create mock server instance mockServerInstance = { diff --git a/packages/mcp-server/src/tests/server/transport/factory.test.ts b/packages/mcp-server/src/tests/server/transport/factory.test.ts index db788acff..79b80c06e 100644 --- a/packages/mcp-server/src/tests/server/transport/factory.test.ts +++ b/packages/mcp-server/src/tests/server/transport/factory.test.ts @@ -1,4 +1,4 @@ -import { jest } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { TransportConfig } from '../../../server/transport/types.js'; // Mock transport classes @@ -31,6 +31,9 @@ describe('Transport Factory', () => { StdioTransport = stdioModule.StdioTransport as jest.MockedClass; StreamableHttpTransport = streamableHttpModule.StreamableHttpTransport as jest.MockedClass; HttpSseTransport = httpSseModule.HttpSseTransport as jest.MockedClass; + StdioTransport.mockReset().mockImplementation(() => undefined); + StreamableHttpTransport.mockReset().mockImplementation(() => undefined); + HttpSseTransport.mockReset().mockImplementation(() => undefined); // Import factory after mocks are set up const factoryModule = await import('../../../server/transport/factory.js'); @@ -99,7 +102,7 @@ describe('Transport Factory', () => { port: 3000, host: 'localhost', path: '/mcp' - } as TransportConfig; + } as unknown as TransportConfig; expect(() => createTransport(config)).toThrow('Unsupported transport mode: unsupported-mode'); }); @@ -250,17 +253,13 @@ describe('Transport Factory', () => { { mode: 'http-sse', walletMode: 'disabled', port: 9000, host: '127.0.0.1', path: '/sse' } ]; - const mockInstances = [ - { mode: 'stdio' }, - { mode: 'streamable-http' }, - { mode: 'http-sse' } - ]; + const mockInstances = [{ mode: 'stdio' }, { mode: 'streamable-http' }, { mode: 'http-sse' }]; StdioTransport.mockImplementation(() => mockInstances[0]); StreamableHttpTransport.mockImplementation(() => mockInstances[1]); HttpSseTransport.mockImplementation(() => mockInstances[2]); - const transports = configs.map(config => createTransport(config)); + const transports = configs.map((config) => createTransport(config)); expect(transports).toHaveLength(3); expect(StdioTransport).toHaveBeenCalledTimes(1); @@ -287,8 +286,7 @@ describe('Transport Factory', () => { { mode: 'streamable-http', id: 3 } ]; - StreamableHttpTransport - .mockImplementationOnce(() => mockInstances[0]) + StreamableHttpTransport.mockImplementationOnce(() => mockInstances[0]) .mockImplementationOnce(() => mockInstances[1]) .mockImplementationOnce(() => mockInstances[2]); diff --git a/packages/mcp-server/src/tests/server/transport/http-sse.test.ts b/packages/mcp-server/src/tests/server/transport/http-sse.test.ts index 4861b58d8..7ca8b4e22 100644 --- a/packages/mcp-server/src/tests/server/transport/http-sse.test.ts +++ b/packages/mcp-server/src/tests/server/transport/http-sse.test.ts @@ -1,6 +1,6 @@ -import { jest } from '@jest/globals'; -import type { Request, Response } from 'express'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Server } from 'node:http'; +import type { Request, Response } from 'express'; // Mock dependencies jest.mock('express', () => { @@ -13,7 +13,7 @@ jest.mock('express', () => { }; const express = jest.fn(() => mockApp); (express as any).json = jest.fn(); - return express; + return { default: express }; }); jest.mock('../../../server/transport/security.js', () => ({ @@ -45,10 +45,10 @@ describe('HttpSseTransport', () => { const securityModule = await import('../../../server/transport/security.js'); const { SSEServerTransport } = await import('@modelcontextprotocol/sdk/server/sse.js'); - mockExpress = expressModule.default as jest.MockedFunction; + mockExpress = (expressModule.default ?? expressModule) as unknown as jest.MockedFunction; mockCreateCorsMiddleware = securityModule.createCorsMiddleware as jest.MockedFunction; mockValidateSecurityConfig = securityModule.validateSecurityConfig as jest.MockedFunction; - mockSSEServerTransport = SSEServerTransport as jest.MockedFunction; + mockSSEServerTransport = SSEServerTransport as unknown as jest.MockedFunction; // Setup mock objects mockApp = { @@ -84,7 +84,7 @@ describe('HttpSseTransport', () => { HttpSseTransport = ImportedHttpSseTransport; // Spy on console.error - consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(); + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); }); afterEach(() => { @@ -99,7 +99,7 @@ describe('HttpSseTransport', () => { it('should create express app and setup middleware and routes', () => { new HttpSseTransport(3000, 'localhost', '/sse'); - + expect(mockExpress).toHaveBeenCalled(); expect(mockApp.use).toHaveBeenCalledWith('json-middleware'); expect(mockCreateCorsMiddleware).toHaveBeenCalled(); @@ -115,11 +115,11 @@ describe('HttpSseTransport', () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); const mockReq = {}; const mockRes = { json: jest.fn() }; - + // Get the health endpoint handler - const healthHandler = mockApp.get.mock.calls.find(call => call[0] === '/health')[1]; + const healthHandler = mockApp.get.mock.calls.find((call) => call[0] === '/health')[1]; healthHandler(mockReq, mockRes); - + expect(mockRes.json).toHaveBeenCalledWith({ status: 'ok', timestamp: expect.any(String) @@ -141,7 +141,7 @@ describe('HttpSseTransport', () => { const mockRes = {}; // Get the SSE endpoint handler - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq, mockRes); expect(consoleErrorSpy).toHaveBeenCalledWith('SSE connection from 127.0.0.1'); @@ -159,7 +159,7 @@ describe('HttpSseTransport', () => { const mockRes = {}; // Get the SSE endpoint handler - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq, mockRes); expect(consoleErrorSpy).toHaveBeenCalledWith('SSE connection from 127.0.0.1'); @@ -176,16 +176,14 @@ describe('HttpSseTransport', () => { const mockRes = {}; // Get the SSE endpoint handler - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq, mockRes); // Get the close handler - const closeHandler = mockReq.on.mock.calls.find(call => call[0] === 'close')[1]; + const closeHandler = mockReq.on.mock.calls.find((call) => call[0] === 'close')![1]; closeHandler(); - expect(consoleErrorSpy).toHaveBeenCalledWith( - `SSE connection closed for session ${mockTransport.sessionId}` - ); + expect(consoleErrorSpy).toHaveBeenCalledWith(`SSE connection closed for session ${mockTransport.sessionId}`); }); it('should use the transport sessionId as the connections key', () => { @@ -194,7 +192,7 @@ describe('HttpSseTransport', () => { const mockReq = { ip: '127.0.0.1', on: jest.fn() }; const mockRes = {}; - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq, mockRes); expect(mockSSEServerTransport).toHaveBeenCalledWith('/sse/message', mockRes); @@ -204,9 +202,7 @@ describe('HttpSseTransport', () => { it('should assign unique session IDs to concurrent connections', () => { const mockTransport1 = { handleMessage: jest.fn(), sessionId: 'session-id-1' }; const mockTransport2 = { handleMessage: jest.fn(), sessionId: 'session-id-2' }; - mockSSEServerTransport - .mockImplementationOnce(() => mockTransport1) - .mockImplementationOnce(() => mockTransport2); + mockSSEServerTransport.mockImplementationOnce(() => mockTransport1).mockImplementationOnce(() => mockTransport2); const transport = new HttpSseTransport(3000, 'localhost', '/sse'); (transport as any).mcpServer = mockMcpServer; @@ -214,7 +210,7 @@ describe('HttpSseTransport', () => { const mockReq1 = { ip: '127.0.0.1', on: jest.fn() }; const mockReq2 = { ip: '127.0.0.2', on: jest.fn() }; - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq1, {}); sseHandler(mockReq2, {}); @@ -239,7 +235,7 @@ describe('HttpSseTransport', () => { }; // Get the message endpoint handler - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockTransport.handleMessage).toHaveBeenCalledWith({ test: 'message' }); @@ -257,7 +253,7 @@ describe('HttpSseTransport', () => { }; // Get the message endpoint handler - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockRes.status).toHaveBeenCalledWith(400); @@ -275,7 +271,7 @@ describe('HttpSseTransport', () => { }; // Get the message endpoint handler - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockRes.status).toHaveBeenCalledWith(404); @@ -299,7 +295,7 @@ describe('HttpSseTransport', () => { }; // Get the message endpoint handler - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockTransportB.handleMessage).toHaveBeenCalledWith({ jsonrpc: '2.0', method: 'ping', id: 1 }); @@ -318,7 +314,7 @@ describe('HttpSseTransport', () => { json: jest.fn() }; - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockRes.status).toHaveBeenCalledWith(400); @@ -339,7 +335,7 @@ describe('HttpSseTransport', () => { }; // Get the message endpoint handler - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(consoleErrorSpy).toHaveBeenCalledWith('Error handling message:', expect.any(Error)); @@ -351,15 +347,15 @@ describe('HttpSseTransport', () => { describe('start', () => { it('should start server and resolve on success', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - + // Mock successful server start mockApp.listen.mockImplementation((port, host, callback) => { callback(); return mockServer; }); - + await transport.start(mockMcpServer); - + expect(mockApp.listen).toHaveBeenCalledWith(3000, 'localhost', expect.any(Function)); expect(consoleErrorSpy).toHaveBeenCalledWith('MCP Server ready (http-sse transport on localhost:3000/sse)'); expect(mockServer.on).toHaveBeenCalledWith('error', expect.any(Function)); @@ -368,85 +364,85 @@ describe('HttpSseTransport', () => { it('should reject on server error', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); const testError = new Error('Server start error'); - + // Mock server error during start mockApp.listen.mockImplementation(() => { return mockServer; }); - + const startPromise = transport.start(mockMcpServer); - + // Trigger the error handler - const errorHandler = mockServer.on.mock.calls.find(call => call[0] === 'error')[1]; + const errorHandler = mockServer.on.mock.calls.find((call) => call[0] === 'error')[1]; errorHandler(testError); - + await expect(startPromise).rejects.toThrow('Server start error'); expect(consoleErrorSpy).toHaveBeenCalledWith('Error starting server:', testError); }); it('should setup process signal handlers', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - const processOnSpy = jest.spyOn(process, 'on').mockImplementation(); - + const processOnSpy = jest.spyOn(process, 'on').mockImplementation(() => process); + mockApp.listen.mockImplementation((port, host, callback) => { callback(); return mockServer; }); - + await transport.start(mockMcpServer); - + expect(processOnSpy).toHaveBeenCalledWith('SIGINT', expect.any(Function)); expect(processOnSpy).toHaveBeenCalledWith('SIGTERM', expect.any(Function)); - + processOnSpy.mockRestore(); }); it('should handle cleanup on SIGINT', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - const processOnSpy = jest.spyOn(process, 'on').mockImplementation(); - + const processOnSpy = jest.spyOn(process, 'on').mockImplementation(() => process); + mockApp.listen.mockImplementation((port, host, callback) => { callback(); return mockServer; }); - + await transport.start(mockMcpServer); - + // Get the SIGINT handler - const sigintHandler = processOnSpy.mock.calls.find(call => call[0] === 'SIGINT')[1]; + const sigintHandler = processOnSpy.mock.calls.find((call) => call[0] === 'SIGINT')![1]; sigintHandler(); - + expect(consoleErrorSpy).toHaveBeenCalledWith('Shutting down HTTP SSE server...'); expect(mockServer.close).toHaveBeenCalled(); - + processOnSpy.mockRestore(); }); it('should handle cleanup when httpServer is null', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - const processOnSpy = jest.spyOn(process, 'on').mockImplementation(); - + const processOnSpy = jest.spyOn(process, 'on').mockImplementation(() => process); + // Don't start the server, so httpServer remains null - + // Get the SIGINT handler by calling start but without actually starting mockApp.listen.mockImplementation((port, host, callback) => { callback(); return mockServer; }); - + await transport.start(mockMcpServer); - + // Manually set httpServer to null to test the branch (transport as any).httpServer = null; - + // Get the SIGINT handler - const sigintHandler = processOnSpy.mock.calls.find(call => call[0] === 'SIGINT')[1]; + const sigintHandler = processOnSpy.mock.calls.find((call) => call[0] === 'SIGINT')![1]; sigintHandler(); - + expect(consoleErrorSpy).toHaveBeenCalledWith('Shutting down HTTP SSE server...'); // Should not attempt to close server when it's null expect(mockServer.close).not.toHaveBeenCalled(); - + processOnSpy.mockRestore(); }); }); @@ -454,43 +450,43 @@ describe('HttpSseTransport', () => { describe('stop', () => { it('should close server and resolve', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - + // Set up server (transport as any).httpServer = mockServer; mockServer.close.mockImplementation((callback) => { callback(); }); - + await transport.stop(); - + expect(mockServer.close).toHaveBeenCalledWith(expect.any(Function)); expect(consoleErrorSpy).toHaveBeenCalledWith('HTTP SSE server stopped'); }); it('should resolve immediately if no server', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - + await transport.stop(); - + expect(mockServer.close).not.toHaveBeenCalled(); }); it('should handle server close without callback', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - + // Set up server that doesn't call callback (transport as any).httpServer = mockServer; mockServer.close.mockImplementation(() => { // Don't call callback }); - + // This should still resolve due to the promise structure const stopPromise = transport.stop(); - + // Manually trigger callback to test the path const closeCallback = mockServer.close.mock.calls[0][0]; closeCallback(); - + await stopPromise; expect(consoleErrorSpy).toHaveBeenCalledWith('HTTP SSE server stopped'); }); @@ -499,7 +495,7 @@ describe('HttpSseTransport', () => { describe('integration scenarios', () => { it('should handle complete start-stop lifecycle', async () => { const transport = new HttpSseTransport(3000, 'localhost', '/sse'); - + // Mock successful server start mockApp.listen.mockImplementation((port, host, callback) => { callback(); @@ -508,10 +504,10 @@ describe('HttpSseTransport', () => { mockServer.close.mockImplementation((callback) => { callback(); }); - + await transport.start(mockMcpServer); await transport.stop(); - + expect(mockApp.listen).toHaveBeenCalled(); expect(mockServer.close).toHaveBeenCalled(); }); @@ -519,9 +515,7 @@ describe('HttpSseTransport', () => { it('should handle multiple connections and cleanup', () => { const mockTransport1 = { handleMessage: jest.fn(), sessionId: 'session-id-1' }; const mockTransport2 = { handleMessage: jest.fn(), sessionId: 'session-id-2' }; - mockSSEServerTransport - .mockImplementationOnce(() => mockTransport1) - .mockImplementationOnce(() => mockTransport2); + mockSSEServerTransport.mockImplementationOnce(() => mockTransport1).mockImplementationOnce(() => mockTransport2); const transport = new HttpSseTransport(3000, 'localhost', '/sse'); (transport as any).mcpServer = mockMcpServer; @@ -530,14 +524,14 @@ describe('HttpSseTransport', () => { const mockReq1 = { ip: '127.0.0.1', on: jest.fn() }; const mockReq2 = { ip: '127.0.0.2', on: jest.fn() }; - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler(mockReq1, {}); sseHandler(mockReq2, {}); expect((transport as any).connections.size).toBe(2); // Close first connection - const closeHandler1 = mockReq1.on.mock.calls.find(call => call[0] === 'close')[1]; + const closeHandler1 = mockReq1.on.mock.calls.find((call) => call[0] === 'close')![1]; closeHandler1(); expect((transport as any).connections.size).toBe(1); @@ -547,14 +541,12 @@ describe('HttpSseTransport', () => { it('should not route a message to the first connected client when the request targets a second client', async () => { const mockTransport1 = { handleMessage: jest.fn(), sessionId: 'session-id-1' }; const mockTransport2 = { handleMessage: jest.fn(), sessionId: 'session-id-2' }; - mockSSEServerTransport - .mockImplementationOnce(() => mockTransport1) - .mockImplementationOnce(() => mockTransport2); + mockSSEServerTransport.mockImplementationOnce(() => mockTransport1).mockImplementationOnce(() => mockTransport2); const transport = new HttpSseTransport(3000, 'localhost', '/sse'); (transport as any).mcpServer = mockMcpServer; - const sseHandler = mockApp.get.mock.calls.find(call => call[0] === '/sse')[1]; + const sseHandler = mockApp.get.mock.calls.find((call) => call[0] === '/sse')[1]; sseHandler({ ip: '127.0.0.1', on: jest.fn() }, {}); sseHandler({ ip: '127.0.0.2', on: jest.fn() }, {}); @@ -562,7 +554,7 @@ describe('HttpSseTransport', () => { const mockReq = { body: { jsonrpc: '2.0', method: 'tools/call', id: 99 }, query: { sessionId: 'session-id-2' } }; const mockRes = { status: jest.fn().mockReturnThis(), end: jest.fn(), json: jest.fn() }; - const messageHandler = mockApp.post.mock.calls.find(call => call[0] === '/sse/message')[1]; + const messageHandler = mockApp.post.mock.calls.find((call) => call[0] === '/sse/message')[1]; await messageHandler(mockReq, mockRes); expect(mockTransport2.handleMessage).toHaveBeenCalledWith({ jsonrpc: '2.0', method: 'tools/call', id: 99 }); diff --git a/packages/mcp-server/src/tests/server/transport/security.test.ts b/packages/mcp-server/src/tests/server/transport/security.test.ts index 24c4cbbfc..8bd3ad661 100644 --- a/packages/mcp-server/src/tests/server/transport/security.test.ts +++ b/packages/mcp-server/src/tests/server/transport/security.test.ts @@ -1,5 +1,5 @@ -import { jest } from '@jest/globals'; -import type { Request, Response, NextFunction } from 'express'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; +import type { NextFunction, Request, Response } from 'express'; describe('Security Module', () => { let createCorsMiddleware: typeof import('../../../server/transport/security.js').createCorsMiddleware; @@ -9,10 +9,10 @@ describe('Security Module', () => { beforeEach(async () => { jest.clearAllMocks(); - + // Spy on console.error - consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(); - + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + // Spy on process.exit to prevent actual exit processExitSpy = jest.spyOn(process, 'exit').mockImplementation((code?: number | string | null | undefined) => { throw new Error(`process.exit called with code ${code}`); @@ -37,7 +37,7 @@ describe('Security Module', () => { it('should return 204 for OPTIONS preflight requests', () => { const middleware = createCorsMiddleware(); - + const mockReq = { method: 'OPTIONS' } as Request; const mockRes = { sendStatus: jest.fn().mockReturnThis() @@ -52,7 +52,7 @@ describe('Security Module', () => { it('should call next() for non-OPTIONS requests', () => { const middleware = createCorsMiddleware(); - + const mockReq = { method: 'POST' } as Request; const mockRes = { sendStatus: jest.fn() @@ -67,7 +67,7 @@ describe('Security Module', () => { it('should call next() for GET requests', () => { const middleware = createCorsMiddleware(); - + const mockReq = { method: 'GET' } as Request; const mockRes = {} as Response; const mockNext = jest.fn() as NextFunction; @@ -172,4 +172,3 @@ describe('Security Module', () => { }); }); }); - diff --git a/packages/mcp-server/src/tests/server/transport/stdio.test.ts b/packages/mcp-server/src/tests/server/transport/stdio.test.ts index f068fcf4d..0469603ca 100644 --- a/packages/mcp-server/src/tests/server/transport/stdio.test.ts +++ b/packages/mcp-server/src/tests/server/transport/stdio.test.ts @@ -1,4 +1,4 @@ -import { jest } from '@jest/globals'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; // Mock dependencies jest.mock('@modelcontextprotocol/sdk/server/stdio.js', () => ({ @@ -28,7 +28,7 @@ describe('StdioTransport', () => { }; // Spy on console - consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(); + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); }); afterEach(() => { @@ -75,7 +75,7 @@ describe('StdioTransport', () => { it('should handle server connection errors', async () => { const mockTransportInstance = {}; mockStdioServerTransport.mockImplementation(() => mockTransportInstance); - + const connectionError = new Error('Connection failed'); mockServer.connect.mockRejectedValue(connectionError); @@ -102,12 +102,12 @@ describe('StdioTransport', () => { describe('stop', () => { it('should set transport to undefined', async () => { const transport = new StdioTransport(); - + // Set up transport first const mockTransportInstance = {}; mockStdioServerTransport.mockImplementation(() => mockTransportInstance); await transport.start(mockServer); - + // Verify transport is set expect((transport as any).transport).toBe(mockTransportInstance); @@ -119,7 +119,7 @@ describe('StdioTransport', () => { it('should resolve immediately if no transport exists', async () => { const transport = new StdioTransport(); - + // Don't start transport, just stop await expect(transport.stop()).resolves.toBeUndefined(); expect((transport as any).transport).toBeUndefined(); @@ -127,12 +127,12 @@ describe('StdioTransport', () => { it('should not throw errors during stop', async () => { const transport = new StdioTransport(); - + // Start and then stop multiple times const mockTransportInstance = {}; mockStdioServerTransport.mockImplementation(() => mockTransportInstance); await transport.start(mockServer); - + await expect(transport.stop()).resolves.toBeUndefined(); await expect(transport.stop()).resolves.toBeUndefined(); await expect(transport.stop()).resolves.toBeUndefined(); @@ -143,7 +143,7 @@ describe('StdioTransport', () => { it('should always return stdio', () => { const transport = new StdioTransport(); expect(transport.mode).toBe('stdio'); - + // Verify it's readonly - TypeScript prevents assignment but doesn't throw at runtime // The readonly modifier is enforced at compile time, not runtime expect(transport.mode).toBe('stdio'); @@ -171,7 +171,7 @@ describe('StdioTransport', () => { it('should handle multiple start calls', async () => { const mockTransportInstance1 = { id: 1 }; const mockTransportInstance2 = { id: 2 }; - + let callCount = 0; mockStdioServerTransport.mockImplementation(() => { callCount++; diff --git a/packages/mcp-server/src/tests/server/transport/streamable-http.test.ts b/packages/mcp-server/src/tests/server/transport/streamable-http.test.ts index a4ebe4062..c6f30be22 100644 --- a/packages/mcp-server/src/tests/server/transport/streamable-http.test.ts +++ b/packages/mcp-server/src/tests/server/transport/streamable-http.test.ts @@ -1,6 +1,6 @@ -import { jest } from '@jest/globals'; -import type { Request, Response } from 'express'; +import { afterEach, beforeEach, describe, expect, it, jest, test } from 'bun:test'; import type { Server } from 'node:http'; +import type { Request, Response } from 'express'; // Mock dependencies jest.mock('express', () => { @@ -10,9 +10,11 @@ jest.mock('express', () => { post: jest.fn(), listen: jest.fn() }; - const express = jest.fn(() => mockApp); - express.json = jest.fn(); - return express; + const express = Object.assign( + jest.fn(() => mockApp), + { json: jest.fn() } + ); + return { default: express }; }); jest.mock('../../../server/transport/security.js', () => ({ @@ -30,7 +32,7 @@ jest.mock('../../../server/server.js', () => ({ describe('StreamableHttpTransport', () => { let StreamableHttpTransport: any; - let mockExpress: jest.MockedFunction; + let mockExpress: jest.MockedFunction & { json: jest.Mock }; let mockApp: any; let mockServer: any; let mockGetServer: jest.MockedFunction<() => Promise>; @@ -47,7 +49,7 @@ describe('StreamableHttpTransport', () => { const serverModule = await import('../../../server/server.js'); const { StreamableHTTPServerTransport } = await import('@modelcontextprotocol/sdk/server/streamableHttp.js'); - mockExpress = expressModule.default as jest.MockedFunction; + mockExpress = (expressModule.default ?? expressModule) as unknown as typeof mockExpress; mockGetServer = serverModule.getServer as jest.MockedFunction<() => Promise>; // Setup mock objects @@ -80,7 +82,7 @@ describe('StreamableHttpTransport', () => { mockExpress.json = jest.fn().mockReturnValue('json-middleware'); mockApp.listen.mockReturnValue(mockServer); mockGetServer.mockResolvedValue(mockMcpServer); - (StreamableHTTPServerTransport as jest.Mock).mockImplementation(() => mockStreamableTransport); + (StreamableHTTPServerTransport as unknown as jest.Mock).mockImplementation(() => mockStreamableTransport); // Setup spies consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); @@ -144,7 +146,7 @@ describe('StreamableHttpTransport', () => { it('should call validateSecurityConfig on start', async () => { const securityModule = await import('../../../server/transport/security.js'); const mockValidateSecurityConfig = securityModule.validateSecurityConfig as jest.MockedFunction; - + const transport = new StreamableHttpTransport(8080, 'localhost', '/mcp', 'disabled'); await transport.start({ mock: 'server' }); @@ -164,9 +166,7 @@ describe('StreamableHttpTransport', () => { await transport.start({ mock: 'server' }); // Get the health endpoint handler - const healthHandler = mockApp.get.mock.calls.find( - (call: any[]) => call[0] === '/health' - )?.[1]; + const healthHandler = mockApp.get.mock.calls.find((call: any[]) => call[0] === '/health')?.[1]; expect(healthHandler).toBeDefined(); const mockReq = {}; @@ -188,12 +188,12 @@ describe('StreamableHttpTransport', () => { const postHandler = mockApp.post.mock.calls[0][1]; const mockReq = { body: { test: 'data' } } as Request; - const mockRes = { + const mockRes = { on: jest.fn(), - headersSent: false - } as any as Response; + headersSent: false + }; - await postHandler(mockReq, mockRes); + await postHandler(mockReq, mockRes as unknown as Response); expect(mockGetServer).toHaveBeenCalled(); expect(mockMcpServer.connect).toHaveBeenCalledWith(mockStreamableTransport); @@ -206,19 +206,19 @@ describe('StreamableHttpTransport', () => { const postHandler = mockApp.post.mock.calls[0][1]; const mockReq = { body: {} } as Request; - const mockRes = { + const mockRes = { on: jest.fn(), - headersSent: false - } as any as Response; + headersSent: false + }; - await postHandler(mockReq, mockRes); + await postHandler(mockReq, mockRes as unknown as Response); // Get the close event handler - const closeHandler = mockRes.on.mock.calls.find(call => call[0] === 'close')?.[1]; + const closeHandler = mockRes.on.mock.calls.find((call) => call[0] === 'close')?.[1]; expect(closeHandler).toBeDefined(); // Trigger close event - closeHandler(); + closeHandler!(); expect(consoleLogSpy).toHaveBeenCalledWith('Request closed'); expect(mockStreamableTransport.close).toHaveBeenCalled(); @@ -234,7 +234,7 @@ describe('StreamableHttpTransport', () => { const postHandler = mockApp.post.mock.calls[0][1]; const mockReq = { body: {} } as Request; - const mockRes = { + const mockRes = { on: jest.fn(), headersSent: false, status: jest.fn().mockReturnThis(), @@ -264,7 +264,7 @@ describe('StreamableHttpTransport', () => { const postHandler = mockApp.post.mock.calls[0][1]; const mockReq = { body: {} } as Request; - const mockRes = { + const mockRes = { on: jest.fn(), headersSent: true, status: jest.fn(), @@ -279,7 +279,7 @@ describe('StreamableHttpTransport', () => { }); it('should log server ready message', () => { - const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(); + const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); // Mock the listen method to accept a callback as the third parameter mockApp.listen.mockImplementation((port, host, callback) => { @@ -300,7 +300,7 @@ describe('StreamableHttpTransport', () => { await transport.start({ mock: 'server' }); // Get the error handler - const errorHandler = mockServer.on.mock.calls.find(call => call[0] === 'error')?.[1]; + const errorHandler = mockServer.on.mock.calls.find((call) => call[0] === 'error')?.[1]; const testError = new Error('Server startup error'); errorHandler(testError); @@ -339,7 +339,7 @@ describe('StreamableHttpTransport', () => { it('should handle server becoming null during stop process', async () => { const transport = new StreamableHttpTransport(); transport.start(); - + // Mock the server to become null after the outer if check but before inner if check const originalServer = (transport as any).server; let callCount = 0; diff --git a/packages/mcp-server/tsconfig.build.json b/packages/mcp-server/tsconfig.build.json deleted file mode 100644 index 44b1aaf51..000000000 --- a/packages/mcp-server/tsconfig.build.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["node_modules", "dist", "src/tests/**/*", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.js", "**/*.test.js", "**/__tests__/**/*"] -} diff --git a/packages/mcp-server/tsconfig.declaration.json b/packages/mcp-server/tsconfig.declaration.json deleted file mode 100644 index 0675dec66..000000000 --- a/packages/mcp-server/tsconfig.declaration.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist/types", - "declaration": true, - "emitDeclarationOnly": true, - "isolatedModules": false, - "preserveConstEnums": false - } -} diff --git a/packages/mcp-server/tsconfig.json b/packages/mcp-server/tsconfig.json index 6f10e7629..bbf34e0ff 100644 --- a/packages/mcp-server/tsconfig.json +++ b/packages/mcp-server/tsconfig.json @@ -4,9 +4,10 @@ "exclude": ["node_modules", "dist", "src/tests/**/*", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.js", "**/*.test.js", "**/__tests__/**/*"], "compilerOptions": { "rootDir": "./src", - "outDir": "./dist/esm", + "outDir": "./dist", "moduleResolution": "Node16", "module": "Node16", - "target": "ES2020" + "target": "ES2020", + "declaration": true } } diff --git a/packages/mcp-server/tsconfig.test.json b/packages/mcp-server/tsconfig.test.json deleted file mode 100644 index e9c18f23e..000000000 --- a/packages/mcp-server/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "types": ["jest", "node"], - "isolatedModules": true, - "resolveJsonModule": true, - "module": "ES2020", - "moduleResolution": "Bundler" - }, - "exclude": ["node_modules", "dist"], - "include": ["src/tests/**/*.test.ts"] -} diff --git a/packages/precompiles/.npmignore b/packages/precompiles/.npmignore index 624b2e576..1e05423c9 100644 --- a/packages/precompiles/.npmignore +++ b/packages/precompiles/.npmignore @@ -3,5 +3,4 @@ node_modules docs coverage/ -jest.config.ts tsconfig.json diff --git a/packages/precompiles/jest.config.js b/packages/precompiles/jest.config.js deleted file mode 100644 index 20d2ea60f..000000000 --- a/packages/precompiles/jest.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node' -}; diff --git a/packages/precompiles/package.json b/packages/precompiles/package.json index 19959958c..3721c111f 100644 --- a/packages/precompiles/package.json +++ b/packages/precompiles/package.json @@ -2,19 +2,54 @@ "name": "@sei-js/precompiles", "version": "2.1.3", "description": "TypeScript library for EVM interactions on the Sei blockchain", - "main": "./dist/cjs/index.js", - "module": "./dist/esm/index.mjs", - "types": "./dist/types/index.d.ts", + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "sideEffects": false, "files": [ "dist" ], "scripts": { - "build": "rimraf dist && pnpm run build:types && pnpm run build:cjs && pnpm run build:esm", - "build:cjs": "tsc --outDir dist/cjs --module commonjs", - "build:esm": "esbuild src/index.ts --bundle --format=esm --platform=neutral --packages=external --target=es2020 --outfile=dist/esm/index.mjs", - "build:types": "tsc --project ./tsconfig.declaration.json", - "test": "jest --passWithNoTests" + "build": "rm -rf dist && bun run build:types && bun run build:esm", + "build:types": "tsc --project ./tsconfig.json && bun ../../scripts/fix-dts-extensions.ts dist", + "build:esm": "esbuild src/index.ts src/ethers/index.ts src/viem/index.ts src/precompiles/index.ts --bundle --splitting --format=esm --platform=neutral --packages=external --target=es2020 --outdir=dist --outbase=src --chunk-names=chunks/[name]-[hash]", + "test": "bun test --isolate src" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + }, + "./ethers": { + "types": "./dist/ethers/index.d.ts", + "import": "./dist/ethers/index.js", + "default": "./dist/ethers/index.js" + }, + "./viem": { + "types": "./dist/viem/index.d.ts", + "import": "./dist/viem/index.js", + "default": "./dist/viem/index.js" + }, + "./precompiles": { + "types": "./dist/precompiles/index.d.ts", + "import": "./dist/precompiles/index.js", + "default": "./dist/precompiles/index.js" + } + }, + "typesVersions": { + "*": { + "ethers": [ + "./dist/ethers/index.d.ts" + ], + "viem": [ + "./dist/viem/index.d.ts" + ], + "precompiles": [ + "./dist/precompiles/index.d.ts" + ] + } }, "homepage": "https://github.com/sei-protocol/sei-js#readme", "keywords": [ @@ -38,7 +73,9 @@ "viem": "2.x" }, "devDependencies": { + "esbuild": "^0.28.2", "ethers": "^6.0.0", - "viem": "2.x" + "typescript": "^5.8.2", + "viem": "2.37.2" } } diff --git a/packages/precompiles/src/ethers/__tests__/ethersPrecompiles.spec.ts b/packages/precompiles/src/ethers/__tests__/ethersPrecompiles.spec.ts index 3b45dbb43..aeaaf47b3 100644 --- a/packages/precompiles/src/ethers/__tests__/ethersPrecompiles.spec.ts +++ b/packages/precompiles/src/ethers/__tests__/ethersPrecompiles.spec.ts @@ -1,13 +1,34 @@ import { Contract, type ContractRunner, type InterfaceAbi } from 'ethers'; - +import { + ADDRESS_PRECOMPILE_ABI, + ADDRESS_PRECOMPILE_ADDRESS, + BANK_PRECOMPILE_ABI, + BANK_PRECOMPILE_ADDRESS, + DISTRIBUTION_PRECOMPILE_ABI, + DISTRIBUTION_PRECOMPILE_ADDRESS, + GOVERNANCE_PRECOMPILE_ABI, + GOVERNANCE_PRECOMPILE_ADDRESS, + JSON_PRECOMPILE_ABI, + JSON_PRECOMPILE_ADDRESS, + POINTER_PRECOMPILE_ABI, + POINTER_PRECOMPILE_ADDRESS, + POINTERVIEW_PRECOMPILE_ABI, + POINTERVIEW_PRECOMPILE_ADDRESS, + SOLO_PRECOMPILE_ABI, + SOLO_PRECOMPILE_ADDRESS, + STAKING_PRECOMPILE_ABI, + STAKING_PRECOMPILE_ADDRESS, + WASM_PRECOMPILE_ABI, + WASM_PRECOMPILE_ADDRESS +} from '../../precompiles'; import { ETHERS_ADDRESS_PRECOMPILE_ABI, ETHERS_BANK_PRECOMPILE_ABI, ETHERS_DISTRIBUTION_PRECOMPILE_ABI, ETHERS_GOVERNANCE_PRECOMPILE_ABI, ETHERS_JSON_PRECOMPILE_ABI, - ETHERS_POINTERVIEW_PRECOMPILE_ABI, ETHERS_POINTER_PRECOMPILE_ABI, + ETHERS_POINTERVIEW_PRECOMPILE_ABI, ETHERS_SOLO_PRECOMPILE_ABI, ETHERS_STAKING_PRECOMPILE_ABI, ETHERS_WASM_PRECOMPILE_ABI, @@ -23,29 +44,6 @@ import { getWasmPrecompileEthersV6Contract } from '../'; -import { - ADDRESS_PRECOMPILE_ABI, - ADDRESS_PRECOMPILE_ADDRESS, - BANK_PRECOMPILE_ABI, - BANK_PRECOMPILE_ADDRESS, - DISTRIBUTION_PRECOMPILE_ABI, - DISTRIBUTION_PRECOMPILE_ADDRESS, - GOVERNANCE_PRECOMPILE_ABI, - GOVERNANCE_PRECOMPILE_ADDRESS, - JSON_PRECOMPILE_ABI, - JSON_PRECOMPILE_ADDRESS, - POINTERVIEW_PRECOMPILE_ABI, - POINTERVIEW_PRECOMPILE_ADDRESS, - POINTER_PRECOMPILE_ABI, - POINTER_PRECOMPILE_ADDRESS, - SOLO_PRECOMPILE_ABI, - SOLO_PRECOMPILE_ADDRESS, - STAKING_PRECOMPILE_ABI, - STAKING_PRECOMPILE_ADDRESS, - WASM_PRECOMPILE_ABI, - WASM_PRECOMPILE_ADDRESS -} from '../../precompiles'; - const FACTORIES: [string, string, InterfaceAbi, unknown, (runner: ContractRunner) => Contract][] = [ ['ADDRESS', ADDRESS_PRECOMPILE_ADDRESS, ADDRESS_PRECOMPILE_ABI, ETHERS_ADDRESS_PRECOMPILE_ABI, getAddressPrecompileEthersV6Contract], ['BANK', BANK_PRECOMPILE_ADDRESS, BANK_PRECOMPILE_ABI, ETHERS_BANK_PRECOMPILE_ABI, getBankPrecompileEthersV6Contract], diff --git a/packages/precompiles/src/viem/__tests__/viemPrecompiles.spec.ts b/packages/precompiles/src/viem/__tests__/viemPrecompiles.spec.ts index c3614bcb7..12d7d0acb 100644 --- a/packages/precompiles/src/viem/__tests__/viemPrecompiles.spec.ts +++ b/packages/precompiles/src/viem/__tests__/viemPrecompiles.spec.ts @@ -5,8 +5,8 @@ import { DISTRIBUTION_PRECOMPILE_ABI, GOVERNANCE_PRECOMPILE_ABI, JSON_PRECOMPILE_ABI, - POINTERVIEW_PRECOMPILE_ABI, POINTER_PRECOMPILE_ABI, + POINTERVIEW_PRECOMPILE_ABI, SOLO_PRECOMPILE_ABI, STAKING_PRECOMPILE_ABI, WASM_PRECOMPILE_ABI @@ -18,8 +18,8 @@ import { VIEM_DISTRIBUTION_PRECOMPILE_ABI, VIEM_GOVERNANCE_PRECOMPILE_ABI, VIEM_JSON_PRECOMPILE_ABI, - VIEM_POINTERVIEW_PRECOMPILE_ABI, VIEM_POINTER_PRECOMPILE_ABI, + VIEM_POINTERVIEW_PRECOMPILE_ABI, VIEM_SOLO_PRECOMPILE_ABI, VIEM_STAKING_PRECOMPILE_ABI, VIEM_WASM_PRECOMPILE_ABI diff --git a/packages/precompiles/src/viem/index.ts b/packages/precompiles/src/viem/index.ts index 1529954c6..6bd6cf615 100644 --- a/packages/precompiles/src/viem/index.ts +++ b/packages/precompiles/src/viem/index.ts @@ -1,5 +1,6 @@ export * from './addressPrecompile'; export * from './bankPrecompile'; +export * from './chain'; export * from './distributionPrecompile'; export * from './governancePrecompile'; export * from './jsonPrecompile'; @@ -8,5 +9,3 @@ export * from './pointerviewPrecompile'; export * from './soloPrecompile'; export * from './stakingPrecompile'; export * from './wasmPrecompile'; - -export * from './chain'; diff --git a/packages/precompiles/tsconfig.declaration.json b/packages/precompiles/tsconfig.declaration.json deleted file mode 100644 index 09ad589e5..000000000 --- a/packages/precompiles/tsconfig.declaration.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./dist/types", - "declaration": true, - "emitDeclarationOnly": true, - "isolatedModules": false, - "preserveConstEnums": false - } -} diff --git a/packages/precompiles/tsconfig.json b/packages/precompiles/tsconfig.json index db69f30f0..3ff424701 100644 --- a/packages/precompiles/tsconfig.json +++ b/packages/precompiles/tsconfig.json @@ -1,7 +1,11 @@ { "extends": "../../tsconfig.base.json", "include": ["src"], + "exclude": ["src/**/__tests__", "src/**/*.spec.ts", "src/**/*.test.ts"], "compilerOptions": { - "outDir": "./dist/types" + "outDir": "./dist", + "rootDir": "./src", + "declaration": true, + "emitDeclarationOnly": true } } diff --git a/packages/registry/README.md b/packages/registry/README.md index 33f11e5c1..f5815c6de 100644 --- a/packages/registry/README.md +++ b/packages/registry/README.md @@ -3,7 +3,7 @@ This package contains TypeScript typed exports for the Sei registry repository a ## Installation ```bash -yarn add @sei-js/registry +bun add @sei-js/registry ``` ## Usage diff --git a/packages/registry/jest.config.js b/packages/registry/jest.config.js deleted file mode 100644 index 20d2ea60f..000000000 --- a/packages/registry/jest.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node' -}; diff --git a/packages/registry/package.json b/packages/registry/package.json index 9ac43a0c9..f88501384 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -2,19 +2,26 @@ "name": "@sei-js/registry", "version": "1.0.4", "description": "TypeScript library for Sei chain constants and assets", - "main": "./dist/cjs/src/index.js", - "module": "./dist/esm/src/index.mjs", - "types": "./dist/types/src/index.d.ts", + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "sideEffects": false, "files": [ "dist" ], "scripts": { - "build": "rimraf dist && pnpm run build:cjs && pnpm run build:esm && pnpm run build:types", - "build:cjs": "tsc --outDir dist/cjs --module commonjs", - "build:esm": "esbuild src/index.ts --bundle --format=esm --platform=neutral --packages=external --target=es2020 --outfile=dist/esm/src/index.mjs", - "build:types": "tsc --project ./tsconfig.declaration.json", - "test": "jest" + "build": "rm -rf dist && bun run build:types && bun run build:esm", + "build:types": "tsc --project ./tsconfig.json && printf \"export * from './src/index.js';\\n\" > dist/index.d.ts && bun ../../scripts/fix-dts-extensions.ts dist", + "build:esm": "esbuild src/index.ts --bundle --format=esm --platform=neutral --packages=external --target=es2020 --outfile=dist/index.js", + "test": "bun test --isolate src" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } }, "homepage": "https://github.com/sei-protocol/sei-js#readme", "keywords": [ @@ -31,5 +38,9 @@ "license": "MIT", "publishConfig": { "access": "public" + }, + "devDependencies": { + "esbuild": "^0.28.2", + "typescript": "^5.8.2" } } diff --git a/packages/registry/src/index.ts b/packages/registry/src/index.ts index 4c9dae3fe..33cff832a 100644 --- a/packages/registry/src/index.ts +++ b/packages/registry/src/index.ts @@ -1,8 +1,8 @@ -export * from './tokens'; export * from './chain-info'; export * from './gas'; -export * from './networks'; export * from './ibc'; +export * from './networks'; +export * from './tokens'; /** * A TypeScript type representing the official Sei network chain identifiers. diff --git a/packages/registry/tsconfig.declaration.json b/packages/registry/tsconfig.declaration.json deleted file mode 100644 index 09ad589e5..000000000 --- a/packages/registry/tsconfig.declaration.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./dist/types", - "declaration": true, - "emitDeclarationOnly": true, - "isolatedModules": false, - "preserveConstEnums": false - } -} diff --git a/packages/registry/tsconfig.json b/packages/registry/tsconfig.json index e6fb86c89..59ee94cd4 100644 --- a/packages/registry/tsconfig.json +++ b/packages/registry/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.base.json", "include": ["./src/**/*", "./chain-registry/**/*", "./community-assetlist/**/*"], + "exclude": ["src/**/__tests__", "src/**/*.spec.ts", "src/**/*.test.ts"], "compilerOptions": { - "outDir": "./dist/types", - "rootDir": "./" + "outDir": "./dist", + "rootDir": "./", + "declaration": true, + "emitDeclarationOnly": true } } diff --git a/packages/sei-global-wallet/jest.config.mjs b/packages/sei-global-wallet/jest.config.mjs deleted file mode 100644 index dc1d1ce23..000000000 --- a/packages/sei-global-wallet/jest.config.mjs +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import('jest').Config} */ -export default { - preset: 'ts-jest/presets/default-esm', - testEnvironment: 'node', - transform: { - '^.+\\.ts$': ['ts-jest', { useESM: true }] - }, - extensionsToTreatAsEsm: ['.ts'], - moduleNameMapper: { - '^(\\.{1,2}/.*)\\.js$': '$1' - } -}; diff --git a/packages/sei-global-wallet/package.json b/packages/sei-global-wallet/package.json index 6b90aa97b..7c09f948e 100644 --- a/packages/sei-global-wallet/package.json +++ b/packages/sei-global-wallet/package.json @@ -8,10 +8,9 @@ "directory": "packages/sei-global-wallet" }, "type": "module", - "main": "dist/cjs/index.js", - "module": "dist/esm/index.js", - "types": "dist/types/index.d.ts", - "typings": "./dist/types/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "license": "ISC", "files": [ "dist" @@ -20,18 +19,16 @@ "access": "public" }, "scripts": { - "build": "rimraf dist && pnpm run build:types && pnpm run build:cjs && pnpm run build:esm && node ./scripts/finalize-package.mjs", - "build:cjs": "tsc --outDir dist/cjs --module commonjs", - "build:esm": "tsc --outDir dist/esm --module esnext", - "build:types": "tsc --project ./tsconfig.declaration.json", - "test": "jest" + "build": "rm -rf dist && tsc --project ./tsconfig.json", + "test": "bun test --isolate src" }, "dependencies": { "@dynamic-labs/global-wallet-client": "^4.60.1", "@wallet-standard/wallet": "^1.1.0" }, "devDependencies": { - "tsc-alias": "^1.8.10", + "@solana/wallet-standard-features": "^1.2.0", + "@solana/web3.js": "^1.92.1", "typescript": "^5.7.3" }, "peerDependencies": { @@ -73,69 +70,44 @@ "typesVersions": { "*": { "eip6963": [ - "./dist/types/eip6963.d.ts" + "./dist/eip6963.d.ts" ], "ethereum": [ - "./dist/types/ethereum.d.ts" + "./dist/ethereum.d.ts" ], "solana": [ - "./dist/types/solana.d.ts" + "./dist/solana.d.ts" ], "zerodev": [ - "./dist/types/zerodev.d.ts" + "./dist/zerodev.d.ts" ] } }, "exports": { ".": { - "import": { - "types": "./dist/types/index.d.ts", - "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/types-cjs/index.d.ts", - "default": "./dist/cjs/index.js" - } + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" }, "./eip6963": { - "import": { - "types": "./dist/types/eip6963.d.ts", - "default": "./dist/esm/eip6963.js" - }, - "require": { - "types": "./dist/types-cjs/eip6963.d.ts", - "default": "./dist/cjs/eip6963.js" - } + "types": "./dist/eip6963.d.ts", + "import": "./dist/eip6963.js", + "default": "./dist/eip6963.js" }, "./ethereum": { - "import": { - "types": "./dist/types/ethereum.d.ts", - "default": "./dist/esm/ethereum.js" - }, - "require": { - "types": "./dist/types-cjs/ethereum.d.ts", - "default": "./dist/cjs/ethereum.js" - } + "types": "./dist/ethereum.d.ts", + "import": "./dist/ethereum.js", + "default": "./dist/ethereum.js" }, "./solana": { - "import": { - "types": "./dist/types/solana.d.ts", - "default": "./dist/esm/solana.js" - }, - "require": { - "types": "./dist/types-cjs/solana.d.ts", - "default": "./dist/cjs/solana.js" - } + "types": "./dist/solana.d.ts", + "import": "./dist/solana.js", + "default": "./dist/solana.js" }, "./zerodev": { - "import": { - "types": "./dist/types/zerodev.d.ts", - "default": "./dist/esm/zerodev.js" - }, - "require": { - "types": "./dist/types-cjs/zerodev.d.ts", - "default": "./dist/cjs/zerodev.js" - } + "types": "./dist/zerodev.d.ts", + "import": "./dist/zerodev.js", + "default": "./dist/zerodev.js" } } } diff --git a/packages/sei-global-wallet/scripts/finalize-package.mjs b/packages/sei-global-wallet/scripts/finalize-package.mjs deleted file mode 100644 index 86902e78a..000000000 --- a/packages/sei-global-wallet/scripts/finalize-package.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import { cp, writeFile } from 'node:fs/promises'; -import { join } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const packageRoot = fileURLToPath(new URL('..', import.meta.url)); -const typesDirectory = join(packageRoot, 'dist/types'); -const commonJsTypesDirectory = join(packageRoot, 'dist/types-cjs'); - -await writeFile(join(packageRoot, 'dist/cjs/package.json'), '{"type":"commonjs"}\n'); -await cp(typesDirectory, commonJsTypesDirectory, { recursive: true }); -await writeFile(join(commonJsTypesDirectory, 'package.json'), '{"type":"commonjs"}\n'); diff --git a/packages/sei-global-wallet/src/lib/__tests__/EIP6963Emitter.spec.ts b/packages/sei-global-wallet/src/lib/__tests__/EIP6963Emitter.spec.ts index b5062c477..ce8267478 100644 --- a/packages/sei-global-wallet/src/lib/__tests__/EIP6963Emitter.spec.ts +++ b/packages/sei-global-wallet/src/lib/__tests__/EIP6963Emitter.spec.ts @@ -22,7 +22,7 @@ jest.mock('../config', () => ({ describe('EIP6963Emitter', () => { it('should announce the provider with correct config and provider instance', () => { const mockProvider = { foo: 'bar' }; - (createEIP1193Provider as jest.Mock).mockReturnValue(mockProvider); + (createEIP1193Provider as unknown as jest.Mock).mockReturnValue(mockProvider); EIP6963Emitter(); diff --git a/packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.ts b/packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.spec.ts similarity index 91% rename from packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.ts rename to packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.spec.ts index bb72f6378..a61960c87 100644 --- a/packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.ts +++ b/packages/sei-global-wallet/src/lib/__tests__/registerSolanaStandard.spec.ts @@ -18,7 +18,7 @@ jest.mock('../config', () => ({ describe('registerSolanaStandard', () => { it('calls createSolanaWallet and registers it', () => { const mockWalletObject = { id: 'sei' }; - (createSolanaWallet as jest.Mock).mockReturnValue(mockWalletObject); + (createSolanaWallet as unknown as jest.Mock).mockReturnValue(mockWalletObject); registerSolanaStandard(); diff --git a/packages/sei-global-wallet/src/lib/wallet.ts b/packages/sei-global-wallet/src/lib/wallet.ts index 7196f7293..ebc142a56 100644 --- a/packages/sei-global-wallet/src/lib/wallet.ts +++ b/packages/sei-global-wallet/src/lib/wallet.ts @@ -1,4 +1,4 @@ -import { type GlobalWalletClient, createGlobalWalletClient } from '@dynamic-labs/global-wallet-client'; +import { createGlobalWalletClient, type GlobalWalletClient } from '@dynamic-labs/global-wallet-client'; import { config } from './config.js'; const Wallet: GlobalWalletClient = createGlobalWalletClient({ diff --git a/packages/sei-global-wallet/tsconfig.declaration.json b/packages/sei-global-wallet/tsconfig.declaration.json deleted file mode 100644 index 09ad589e5..000000000 --- a/packages/sei-global-wallet/tsconfig.declaration.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./dist/types", - "declaration": true, - "emitDeclarationOnly": true, - "isolatedModules": false, - "preserveConstEnums": false - } -} diff --git a/packages/sei-global-wallet/tsconfig.json b/packages/sei-global-wallet/tsconfig.json index db69f30f0..2bc744cbf 100644 --- a/packages/sei-global-wallet/tsconfig.json +++ b/packages/sei-global-wallet/tsconfig.json @@ -1,7 +1,12 @@ { "extends": "../../tsconfig.base.json", "include": ["src"], + "exclude": ["src/**/__tests__", "src/**/*.spec.ts", "src/**/*.test.ts"], "compilerOptions": { - "outDir": "./dist/types" + "outDir": "./dist", + "rootDir": "./src", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "declaration": true } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 5423b571f..000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,10169 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@biomejs/biome': - specifier: ^1.9.4 - version: 1.9.4 - '@changesets/cli': - specifier: ^2.28.1 - version: 2.29.6(@types/node@22.18.0) - devDependencies: - '@arethetypeswrong/cli': - specifier: 0.18.5 - version: 0.18.5 - '@types/jest': - specifier: ^29.5.14 - version: 29.5.14 - '@types/node': - specifier: ^22.13.13 - version: 22.18.0 - esbuild: - specifier: ^0.28.2 - version: 0.28.2 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - publint: - specifier: 0.3.23 - version: 0.3.23 - rimraf: - specifier: ^3.0.2 - version: 3.0.2 - ts-jest: - specifier: ^29.3.0 - version: 29.4.1(@babel/core@7.28.3)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.3))(esbuild@0.28.2)(jest-util@30.2.0)(jest@29.7.0(@types/node@22.18.0)(ts-node@2.1.2))(typescript@5.9.2) - ts-node: - specifier: 2.1.2 - version: 2.1.2 - typescript: - specifier: ^5.8.2 - version: 5.9.2 - - packages/create-sei: - dependencies: - boxen: - specifier: ^7.1.1 - version: 7.1.1 - commander: - specifier: ^12.1.0 - version: 12.1.0 - inquirer: - specifier: ^9.2.15 - version: 9.3.7 - devDependencies: - '@jest/globals': - specifier: ^29.7.0 - version: 29.7.0 - '@types/jest': - specifier: ^29.5.12 - version: 29.5.14 - '@types/node': - specifier: ^20.14.10 - version: 20.19.12 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - ts-jest: - specifier: ^29.1.2 - version: 29.4.1(@babel/core@7.28.3)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.3))(esbuild@0.28.2)(jest-util@30.2.0)(jest@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)))(typescript@5.9.2) - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@20.19.12)(typescript@5.9.2) - typescript: - specifier: ^5.5.3 - version: 5.9.2 - - packages/mcp-server: - dependencies: - '@modelcontextprotocol/sdk': - specifier: ^1.17.5 - version: 1.17.5 - '@noble/hashes': - specifier: ^1.8.0 - version: 1.8.0 - commander: - specifier: ^14.0.0 - version: 14.0.0 - cors: - specifier: ^2.8.5 - version: 2.8.5 - dotenv: - specifier: ^16.5.0 - version: 16.6.1 - express: - specifier: ^4.21.2 - version: 4.21.2 - jest: - specifier: ^30.0.3 - version: 30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - tsx: - specifier: ^4.20.3 - version: 4.20.5 - viem: - specifier: ^2.30.5 - version: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@6.0.6)(zod@3.25.76) - zod: - specifier: ^3.24.2 - version: 3.25.76 - devDependencies: - '@jest/globals': - specifier: ^30.0.3 - version: 30.1.2 - '@types/cors': - specifier: ^2.8.17 - version: 2.8.19 - '@types/express': - specifier: ^5.0.0 - version: 5.0.3 - typescript: - specifier: ^5.8.3 - version: 5.9.2 - - packages/precompiles: - devDependencies: - ethers: - specifier: ^6.0.0 - version: 6.15.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) - viem: - specifier: 2.x - version: 2.37.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.25.76) - - packages/registry: {} - - packages/sei-global-wallet: - dependencies: - '@dynamic-labs/ethereum-aa': - specifier: ^4.15.0 - version: 4.60.1(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/global-wallet-client': - specifier: ^4.60.1 - version: 4.60.1(@dynamic-labs/ethereum-aa@4.60.1(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@solana/wallet-standard-features@1.3.0)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10))(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@wallet-standard/base@1.1.0)(@wallet-standard/features@1.1.0)(@wallet-standard/wallet@1.1.0)(@zerodev/sdk@5.4.36(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.2)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))(zksync-sso@0.4.3(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76))(zod@3.25.76) - '@solana/wallet-standard-features': - specifier: ^1.2.0 - version: 1.3.0 - '@solana/web3.js': - specifier: ^1.92.1 - version: 1.98.4(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10) - '@wallet-standard/base': - specifier: ^1.0.1 - version: 1.1.0 - '@wallet-standard/features': - specifier: ^1.0.3 - version: 1.1.0 - '@wallet-standard/wallet': - specifier: ^1.1.0 - version: 1.1.0 - '@zerodev/sdk': - specifier: 5.4.36 - version: 5.4.36(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - viem: - specifier: ^2.7.12 - version: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - devDependencies: - tsc-alias: - specifier: ^1.8.10 - version: 1.8.16 - typescript: - specifier: ^5.7.3 - version: 5.9.2 - -packages: - - '@adraffy/ens-normalize@1.10.1': - resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - - '@adraffy/ens-normalize@1.11.0': - resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==} - - '@adraffy/ens-normalize@1.11.1': - resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@andrewbranch/untar.js@1.0.4': - resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} - - '@arethetypeswrong/cli@0.18.5': - resolution: {integrity: sha512-gM+8vRsQOD/Uc7EnBedUhkG5OCsDWE4uoak5QvomGpMpaky0Eh41p04nIMgrWb8EOmqZUJGc6zz9hsP6E56R7g==} - engines: {node: '>=20'} - hasBin: true - - '@arethetypeswrong/core@0.18.5': - resolution: {integrity: sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ==} - engines: {node: '>=20'} - - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.3': - resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.28.3': - resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.28.3': - resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.28.6': - resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime@7.28.3': - resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.3': - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@biomejs/biome@1.9.4': - resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} - engines: {node: '>=14.21.3'} - hasBin: true - - '@biomejs/cli-darwin-arm64@1.9.4': - resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@1.9.4': - resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@1.9.4': - resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-arm64@1.9.4': - resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-x64-musl@1.9.4': - resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-linux-x64@1.9.4': - resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-win32-arm64@1.9.4': - resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] - - '@biomejs/cli-win32-x64@1.9.4': - resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] - - '@braidai/lang@1.1.2': - resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} - - '@changesets/apply-release-plan@7.0.12': - resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - - '@changesets/assemble-release-plan@6.0.9': - resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - - '@changesets/changelog-git@0.2.1': - resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - - '@changesets/cli@2.29.6': - resolution: {integrity: sha512-6qCcVsIG1KQLhpQ5zE8N0PckIx4+9QlHK3z6/lwKnw7Tir71Bjw8BeOZaxA/4Jt00pcgCnCSWZnyuZf5Il05QQ==} - hasBin: true - - '@changesets/config@3.1.1': - resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} - - '@changesets/errors@0.2.0': - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - - '@changesets/get-release-plan@4.0.13': - resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} - - '@changesets/get-version-range-type@0.4.0': - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - - '@changesets/git@3.0.4': - resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - - '@changesets/logger@0.1.1': - resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - - '@changesets/parse@0.4.1': - resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} - - '@changesets/pre@2.0.2': - resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - - '@changesets/read@0.6.5': - resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} - - '@changesets/should-skip-package@0.1.2': - resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - - '@changesets/types@4.1.0': - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - - '@changesets/types@6.1.0': - resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - - '@changesets/write@0.4.0': - resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - - '@dynamic-labs-wallet/browser-wallet-client@0.0.260': - resolution: {integrity: sha512-CHUlALCZ6hRViUN/CpvDogu54hXLlc3NqeKW3Wu3DG2fFfWtkdTB4uUPnrTOd8f5uUAgAP55XSKnBAl+V6R2Gg==} - - '@dynamic-labs-wallet/browser@0.0.167': - resolution: {integrity: sha512-HDmUetnJ1iz6kGd5PB1kJzeLI7ZJmwxlJ1QGtUqSQHDdBkhLwaDPlccB2IviC5iPfU5PR/IQ1BYEqpoTWx2sBA==} - - '@dynamic-labs-wallet/browser@0.0.203': - resolution: {integrity: sha512-Vwi4CFMjSiLsPF4VUlYV4F87xaQrgnmUVUVx3b5F0I5DbFsGLafiSl2T/dlsOeNuRAhbpDMU4MEB4oOxzR0kYQ==} - - '@dynamic-labs-wallet/core@0.0.167': - resolution: {integrity: sha512-jEHD/mDfnqx2/ML/MezY725uPPrKGsGoR3BaS1JNITGIitai1gPEgaEMqbXIhzId/m+Xieb8ZrLDiaYYJcXcyQ==} - - '@dynamic-labs-wallet/core@0.0.203': - resolution: {integrity: sha512-1ykOANTDCPPaIpajpKqRxfISGYrmiMs7WMZQzdzRkTLftpnatgycYjdZrX9adhE1kY9BMrPdhfYaaE5B9wbFbQ==} - - '@dynamic-labs-wallet/core@0.0.260': - resolution: {integrity: sha512-3cJJfBhWUyNh2n8tlFIx0cnu5IFQF8jJGnm5A9Zyy7xmVbgP/zjTw67cLEKgsnjQUNVjIub9n0CMfbqxOoihKQ==} - - '@dynamic-labs-wallet/forward-mpc-client@0.1.3': - resolution: {integrity: sha512-riZesfU41fMvetaxJ3bO48/9P8ikRPgoVJgWh8m8i0oRyYN7uUz+Iesp+52U12DCtcvSTXljxrKtrV3yqNAYRw==} - - '@dynamic-labs-wallet/forward-mpc-client@0.2.0': - resolution: {integrity: sha512-zkn5eYPPkjOFRi8POHXM+rl2lW+0AKjqiKPdNYmJieegI8PuXqq9Q0UzVWISwzpqmMX4/nQmK+9cqbPDW9Lu6A==} - - '@dynamic-labs-wallet/forward-mpc-shared@0.1.0': - resolution: {integrity: sha512-xRpMri4+ZuClonwf04RcnT/BCG8oA36ononD7s0MA5wSqd8kOuHjzNTSoM6lWnPiCmlpECyPARJ1CEO02Sfq9Q==} - - '@dynamic-labs-wallet/forward-mpc-shared@0.2.0': - resolution: {integrity: sha512-2I8NoCBVT9/09o4+M78S2wyY9jVXAb6RKt5Bnh1fhvikuB11NBeswtfZLns3wAFQxayApe31Jhamd4D2GR+mtw==} - - '@dynamic-labs/assert-package-version@4.60.1': - resolution: {integrity: sha512-Ze5NPgHsMaB9OvmMHtFQL7BTzTJjVeVBEPgZCIgpwnzDBLcgJAC5ltWVKa6xngRtfNfSLBCxvdQKyZ3jGjhRNg==} - - '@dynamic-labs/ethereum-aa-core@4.60.1': - resolution: {integrity: sha512-/cLkhb4t8X3tXhIpwJBFqttvoHv9zrO/RYT6uCWsPRHUl6GQllfHyqJ/cpYHRxgEE5jnI22DWiEg7U+iPLLWBg==} - peerDependencies: - viem: ^2.28.4 - - '@dynamic-labs/ethereum-aa-zksync@4.60.1': - resolution: {integrity: sha512-kuc92eHn8RreN23zTxVsmrVZt/kqSE2YagD6GcfPvKOtuBoinZrxYwTEoUxjp8SKT+6arQ07jGqS5h6099PnYA==} - peerDependencies: - viem: ^2.28.4 - - '@dynamic-labs/ethereum-aa@4.60.1': - resolution: {integrity: sha512-Q9WuJGriUfne2S2tG5f9HpLeosg4rxStxe11GrmDmKHhb3E7eUC8j1MQojnVvIz/6zGn4slB9HZgH+iEhXkpeg==} - peerDependencies: - viem: ^2.28.4 - - '@dynamic-labs/ethereum-core@4.60.1': - resolution: {integrity: sha512-ocvk8g7mA6iwYMLs4vzJKXB2Y1wF/v/iZ+4tk3tlFXDo5FRa17ZrkU3vV3uDDQITDeShSyR5zqlcXlkQe6n3Uw==} - peerDependencies: - viem: ^2.28.4 - - '@dynamic-labs/global-wallet-client@4.60.1': - resolution: {integrity: sha512-8Qn0kZioVCLUCr4Wjx3xNTKUgsYnVcKjmUC9KQAbpTx3ZRT9esTGpadbN10kybdztfk8bmFPbSHF5gThcDuSlw==} - peerDependencies: - '@dynamic-labs/ethereum-aa': 4.60.1 - '@solana/wallet-standard-features': ^1.2.0 - '@solana/web3.js': 1.98.1 - '@wallet-standard/base': ^1.0.1 - '@wallet-standard/features': ^1.0.3 - '@wallet-standard/wallet': ^1.1.0 - '@zerodev/sdk': 5.5.7 - viem: ^2.28.4 - zksync-sso: 0.2.0 - peerDependenciesMeta: - '@dynamic-labs/ethereum-aa': - optional: true - '@solana/wallet-standard-features': - optional: true - '@solana/web3.js': - optional: true - '@wallet-standard/base': - optional: true - '@wallet-standard/features': - optional: true - '@wallet-standard/wallet': - optional: true - '@zerodev/sdk': - optional: true - viem: - optional: true - zksync-sso: - optional: true - - '@dynamic-labs/iconic@4.60.1': - resolution: {integrity: sha512-1OKKkajMITAuHkrDWN4TPKG+WIWWbxeHrwbOqQcVMmxNuS5xvlfWidv5CoAOPT+FB136RKYvXIEHWqzKDIWnIg==} - peerDependencies: - react: '>=18.0.0 <20.0.0' - react-dom: '>=18.0.0 <20.0.0' - - '@dynamic-labs/logger@4.60.1': - resolution: {integrity: sha512-VrfHIkTQQFYhQQklsn9/JkH9lfT9vE0EumRtPnT4ZlyghE27srhZHIsUGKZuSg5IDoRxmHdgjVk+KKI8/+ZXmg==} - - '@dynamic-labs/message-transport@4.60.1': - resolution: {integrity: sha512-c6TEcyJEckV2uDd2p3+ZLKz1BZavXWgUjBeQt8AB94FRQBdAYcO7OTdbcQHqeHWYZziI2n3V/DG2YQ5iPogfvw==} - - '@dynamic-labs/rpc-providers@4.60.1': - resolution: {integrity: sha512-GySmKU5E1RwtzuyYneDv7qDv36UGZwSFHH3m3/SRRYgJTrFET2yf7A4Cd4CCuT61N0xUo7r0RtYpcce2DWZvQw==} - - '@dynamic-labs/sdk-api-core@0.0.764': - resolution: {integrity: sha512-79JptJTTClLc9qhioThtwMuzTHJ+mrj8sTEglb7Mcx3lJub9YbXqNdzS9mLRxZsr2et3aqqpzymXdUBzSEaMng==} - - '@dynamic-labs/sdk-api-core@0.0.818': - resolution: {integrity: sha512-s0iq+kS15gbBk7HtFEVkuzHHUc8Xt0afA1el31+c8HBLIV0Bz1O4WaMTKdpvC/Rb5RS5GDCOmxeR6LvDzZBw+A==} - - '@dynamic-labs/sdk-api-core@0.0.864': - resolution: {integrity: sha512-XChDKxbbJtZgFsJ1g9N35ALE2O/CCmT+tB50LpbnbXWkt1gRjYoPNB+UVzNQeDXD4skwJUy6i849WmTUPRNReg==} - - '@dynamic-labs/store@4.60.1': - resolution: {integrity: sha512-pmkjo5GLQ6A9th081STSMoFZwFso2CubZ4gPJKrGkpbumtBYRQTjYCISQY7acpwgXQU+VsrjzhLuA4OcPCxs8Q==} - - '@dynamic-labs/types@4.60.1': - resolution: {integrity: sha512-FHYvPEmHi5MSS9mKpMebHAIEGt2rTi4rJIJ4rQKC7CKRV88z0qyWTSBkZ1El2BTYh/pW2Ha8R+kEIkwKIC16Lw==} - - '@dynamic-labs/utils@4.60.1': - resolution: {integrity: sha512-RRPKUoqWIoeNtlbLUtuEQghnPRiMNJl6g/3F7rA80wnqmdkD8NN7XDxZyKhtqY/cjDLK8nC1FoV0lEnqox1Y9g==} - - '@dynamic-labs/wallet-book@4.60.1': - resolution: {integrity: sha512-AbP98qduTx2g9CNxXWUXkVstNrTwjzgCDu5urlSxlnDU5qidQcXxVasM9pc8gsQNiEV8i3+83PpKcXolz3zUjA==} - peerDependencies: - react: '>=18.0.0 <20.0.0' - react-dom: '>=18.0.0 <20.0.0' - - '@dynamic-labs/wallet-connector-core@4.60.1': - resolution: {integrity: sha512-191ppTe+Bzt6RGy1A2ZJsB42M1g/aY02MqhjaoC078wRuFOlPHmaUOj70+YtG4X0vlUe7lokrLeOCCX3RcLMeQ==} - - '@emnapi/core@1.5.0': - resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} - - '@emnapi/runtime@1.5.0': - resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} - - '@emnapi/runtime@1.8.1': - resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - - '@emnapi/wasi-threads@1.1.0': - resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} - - '@esbuild/aix-ppc64@0.25.9': - resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.28.2': - resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.25.9': - resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.28.2': - resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.25.9': - resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.28.2': - resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.25.9': - resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.28.2': - resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.25.9': - resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.28.2': - resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.9': - resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.28.2': - resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.25.9': - resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.28.2': - resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.9': - resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.28.2': - resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.25.9': - resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.28.2': - resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.25.9': - resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.28.2': - resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.25.9': - resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.28.2': - resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.25.9': - resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.28.2': - resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.25.9': - resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.28.2': - resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.25.9': - resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.28.2': - resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.9': - resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.28.2': - resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.25.9': - resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.28.2': - resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.25.9': - resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.28.2': - resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.25.9': - resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.28.2': - resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.9': - resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.28.2': - resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.25.9': - resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.28.2': - resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.9': - resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.28.2': - resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.25.9': - resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.28.2': - resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.25.9': - resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.28.2': - resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.25.9': - resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.28.2': - resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.25.9': - resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.28.2': - resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.25.9': - resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.28.2': - resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@ethereumjs/rlp@4.0.1': - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} - hasBin: true - - '@ethereumjs/util@8.1.0': - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} - - '@evervault/wasm-attestation-bindings@0.3.1': - resolution: {integrity: sha512-pJsbax/pEPdRXSnFKahzGZeq2CNTZ0skAPWpnEZK/8vdcvlan7LE7wMSOVr+Z+MqTBnVEnS7O80TKpXKU5Rsbw==} - - '@hexagon/base64@1.1.28': - resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} - - '@img/sharp-darwin-arm64@0.33.5': - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - - '@img/sharp-darwin-x64@0.33.5': - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-darwin-arm64@1.0.4': - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} - cpu: [arm64] - os: [darwin] - - '@img/sharp-libvips-darwin-x64@1.0.4': - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-linux-arm64@1.0.4': - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linux-arm@1.0.5': - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} - cpu: [arm] - os: [linux] - - '@img/sharp-libvips-linux-s390x@1.0.4': - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} - cpu: [s390x] - os: [linux] - - '@img/sharp-libvips-linux-x64@1.0.4': - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} - cpu: [x64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-x64@1.0.4': - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} - cpu: [x64] - os: [linux] - - '@img/sharp-linux-arm64@0.33.5': - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linux-arm@0.33.5': - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - - '@img/sharp-linux-s390x@0.33.5': - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - - '@img/sharp-linux-x64@0.33.5': - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-linuxmusl-arm64@0.33.5': - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linuxmusl-x64@0.33.5': - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-wasm32@0.33.5': - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - - '@img/sharp-win32-ia32@0.33.5': - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - - '@img/sharp-win32-x64@0.33.5': - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - - '@inquirer/external-editor@1.0.1': - resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} - engines: {node: '>=18'} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@29.7.0': - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/console@30.1.2': - resolution: {integrity: sha512-BGMAxj8VRmoD0MoA/jo9alMXSRoqW8KPeqOfEo1ncxnRLatTBCpRoOwlwlEMdudp68Q6WSGwYrrLtTGOh8fLzw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/core@29.7.0': - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/core@30.1.3': - resolution: {integrity: sha512-LIQz7NEDDO1+eyOA2ZmkiAyYvZuo6s1UxD/e2IHldR6D7UYogVq3arTmli07MkENLq6/3JEQjp0mA8rrHHJ8KQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/diff-sequences@30.0.1': - resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/environment@30.1.2': - resolution: {integrity: sha512-N8t1Ytw4/mr9uN28OnVf0SYE2dGhaIxOVYcwsf9IInBKjvofAjbFRvedvBBlyTYk2knbJTiEjEJ2PyyDIBnd9w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect-utils@30.1.2': - resolution: {integrity: sha512-HXy1qT/bfdjCv7iC336ExbqqYtZvljrV8odNdso7dWK9bSeHtLlvwWWC3YSybSPL03Gg5rug6WLCZAZFH72m0A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/expect@29.7.0': - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect@30.1.2': - resolution: {integrity: sha512-tyaIExOwQRCxPCGNC05lIjWJztDwk2gPDNSDGg1zitXJJ8dC3++G/CRjE5mb2wQsf89+lsgAgqxxNpDLiCViTA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@30.1.2': - resolution: {integrity: sha512-Beljfv9AYkr9K+ETX9tvV61rJTY706BhBUtiaepQHeEGfe0DbpvUA5Z3fomwc5Xkhns6NWrcFDZn+72fLieUnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/get-type@30.1.0': - resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/globals@29.7.0': - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/globals@30.1.2': - resolution: {integrity: sha512-teNTPZ8yZe3ahbYnvnVRDeOjr+3pu2uiAtNtrEsiMjVPPj+cXd5E/fr8BL7v/T7F31vYdEHrI5cC/2OoO/vM9A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/pattern@30.0.1': - resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/reporters@29.7.0': - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/reporters@30.1.3': - resolution: {integrity: sha512-VWEQmJWfXMOrzdFEOyGjUEOuVXllgZsoPtEHZzfdNz18RmzJ5nlR6kp8hDdY8dDS1yGOXAY7DHT+AOHIPSBV0w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/schemas@30.0.5': - resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/snapshot-utils@30.1.2': - resolution: {integrity: sha512-vHoMTpimcPSR7OxS2S0V1Cpg8eKDRxucHjoWl5u4RQcnxqQrV3avETiFpl8etn4dqxEGarBeHbIBety/f8mLXw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/source-map@29.6.3': - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/source-map@30.0.1': - resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-result@29.7.0': - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-result@30.1.3': - resolution: {integrity: sha512-P9IV8T24D43cNRANPPokn7tZh0FAFnYS2HIfi5vK18CjRkTDR9Y3e1BoEcAJnl4ghZZF4Ecda4M/k41QkvurEQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-sequencer@29.7.0': - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-sequencer@30.1.3': - resolution: {integrity: sha512-82J+hzC0qeQIiiZDThh+YUadvshdBswi5nuyXlEmXzrhw5ZQSRHeQ5LpVMD/xc8B3wPePvs6VMzHnntxL+4E3w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/transform@30.1.2': - resolution: {integrity: sha512-UYYFGifSgfjujf1Cbd3iU/IQoSd6uwsj8XHj5DSDf5ERDcWMdJOPTkHWXj4U+Z/uMagyOQZ6Vne8C4nRIrCxqA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/transform@30.2.0': - resolution: {integrity: sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@30.0.5': - resolution: {integrity: sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/types@30.2.0': - resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} - - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - - '@juanelas/base64@1.1.5': - resolution: {integrity: sha512-mjAF27LzwfYobdwqnxZgeucbKT5wRRNvILg3h5OvCWK+3F7mw/A1tnjHnNiTYtLmTvT/bM1jA5AX7eQawDGs1w==} - - '@levischuck/tiny-cbor@0.2.11': - resolution: {integrity: sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==} - - '@loaderkit/resolve@1.0.6': - resolution: {integrity: sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg==} - - '@manypkg/find-root@1.1.0': - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} - - '@manypkg/get-packages@1.1.3': - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - - '@modelcontextprotocol/sdk@1.17.5': - resolution: {integrity: sha512-QakrKIGniGuRVfWBdMsDea/dx1PNE739QJ7gCM41s9q+qaCYTHCdsIBXQVVXry3mfWAiaM9kT22Hyz53Uw8mfg==} - engines: {node: '>=18'} - - '@napi-rs/wasm-runtime@0.2.12': - resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - - '@noble/ciphers@0.4.1': - resolution: {integrity: sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg==} - - '@noble/ciphers@1.3.0': - resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@1.2.0': - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} - - '@noble/curves@1.4.2': - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - - '@noble/curves@1.9.1': - resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@1.9.7': - resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@2.0.1': - resolution: {integrity: sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==} - engines: {node: '>= 20.19.0'} - - '@noble/hashes@1.3.2': - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} - - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - - '@noble/hashes@1.7.1': - resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@1.8.0': - resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@2.0.1': - resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} - engines: {node: '>= 20.19.0'} - - '@noble/post-quantum@0.5.4': - resolution: {integrity: sha512-leww0zzIirrvwaYMPI9fj6aRIlA/c6Y0/lifQQ1YOOyHEr0MNH3yYpjXeiVG+tWdPps4XxGclFWX2INPO3Yo5w==} - engines: {node: '>= 20.19.0'} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@peculiar/asn1-android@2.6.0': - resolution: {integrity: sha512-cBRCKtYPF7vJGN76/yG8VbxRcHLPF3HnkoHhKOZeHpoVtbMYfY9ROKtH3DtYUY9m8uI1Mh47PRhHf2hSK3xcSQ==} - - '@peculiar/asn1-cms@2.6.0': - resolution: {integrity: sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==} - - '@peculiar/asn1-csr@2.6.0': - resolution: {integrity: sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==} - - '@peculiar/asn1-ecc@2.6.0': - resolution: {integrity: sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==} - - '@peculiar/asn1-pfx@2.6.0': - resolution: {integrity: sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==} - - '@peculiar/asn1-pkcs8@2.6.0': - resolution: {integrity: sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==} - - '@peculiar/asn1-pkcs9@2.6.0': - resolution: {integrity: sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==} - - '@peculiar/asn1-rsa@2.6.0': - resolution: {integrity: sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==} - - '@peculiar/asn1-schema@2.6.0': - resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==} - - '@peculiar/asn1-x509-attr@2.6.0': - resolution: {integrity: sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==} - - '@peculiar/asn1-x509@2.6.0': - resolution: {integrity: sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==} - - '@peculiar/x509@1.14.3': - resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} - engines: {node: '>=20.0.0'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.2.9': - resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@publint/pack@0.1.6': - resolution: {integrity: sha512-3uVNyGcVplhPZSLVyeIpL7+cIRn1YCSNHLG/rUIlBQMVH8YuN9++YF+5+UDIIO9RW98dujiUoTltO7RDB5bFJA==} - engines: {node: '>=18'} - - '@scure/base@1.1.9': - resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} - - '@scure/base@1.2.6': - resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - - '@scure/bip32@1.4.0': - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - - '@scure/bip32@1.7.0': - resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} - - '@scure/bip39@1.3.0': - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - - '@scure/bip39@1.6.0': - resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} - - '@simplewebauthn/browser@13.2.2': - resolution: {integrity: sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==} - - '@simplewebauthn/browser@8.3.7': - resolution: {integrity: sha512-ZtRf+pUEgOCvjrYsbMsJfiHOdKcrSZt2zrAnIIpfmA06r0FxBovFYq0rJ171soZbe13KmWzAoLKjSxVW7KxCdQ==} - - '@simplewebauthn/browser@9.0.1': - resolution: {integrity: sha512-wD2WpbkaEP4170s13/HUxPcAV5y4ZXaKo1TfNklS5zDefPinIgXOpgz1kpEvobAsaLPa2KeH7AKKX/od1mrBJw==} - - '@simplewebauthn/server@13.2.2': - resolution: {integrity: sha512-HcWLW28yTMGXpwE9VLx9J+N2KEUaELadLrkPEEI9tpI5la70xNEVEsu/C+m3u7uoq4FulLqZQhgBCzR9IZhFpA==} - engines: {node: '>=20.0.0'} - - '@simplewebauthn/types@12.0.0': - resolution: {integrity: sha512-q6y8MkoV8V8jB4zzp18Uyj2I7oFp2/ONL8c3j8uT06AOWu3cIChc1au71QYHrP2b+xDapkGTiv+9lX7xkTlAsA==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@simplewebauthn/types@9.0.1': - resolution: {integrity: sha512-tGSRP1QvsAvsJmnOlRQyw/mvK9gnPtjEc5fg2+m8n+QUa+D7rvrKkOYyfpy42GTs90X3RDOnqJgfHt+qO67/+w==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@simplewebauthn/typescript-types@8.3.4': - resolution: {integrity: sha512-38xtca0OqfRVNloKBrFB5LEM6PN5vzFbJG6rAutPVrtGHFYxPdiV3btYWq0eAZAZmP+dqFPYJxJWeJrGfmYHng==} - deprecated: This package has been renamed to @simplewebauthn/types. Please install @simplewebauthn/types instead to ensure you receive future updates. - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sinclair/typebox@0.34.41': - resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@sinonjs/fake-timers@13.0.5': - resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - - '@solana/buffer-layout@4.0.1': - resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} - engines: {node: '>=5.10'} - - '@solana/codecs-core@2.3.0': - resolution: {integrity: sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: '>=5.3.3' - - '@solana/codecs-numbers@2.3.0': - resolution: {integrity: sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: '>=5.3.3' - - '@solana/errors@2.3.0': - resolution: {integrity: sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==} - engines: {node: '>=20.18.0'} - hasBin: true - peerDependencies: - typescript: '>=5.3.3' - - '@solana/wallet-standard-features@1.3.0': - resolution: {integrity: sha512-ZhpZtD+4VArf6RPitsVExvgkF+nGghd1rzPjd97GmBximpnt1rsUxMOEyoIEuH3XBxPyNB6Us7ha7RHWQR+abg==} - engines: {node: '>=16'} - - '@solana/web3.js@1.98.4': - resolution: {integrity: sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==} - - '@swc/helpers@0.5.17': - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - '@tybys/wasm-util@0.10.0': - resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - - '@types/body-parser@1.19.6': - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - - '@types/cors@2.8.19': - resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} - - '@types/express-serve-static-core@5.0.7': - resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} - - '@types/express@5.0.3': - resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/jest@29.5.14': - resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} - - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - - '@types/node@12.20.55': - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - - '@types/node@20.19.12': - resolution: {integrity: sha512-lSOjyS6vdO2G2g2CWrETTV3Jz2zlCXHpu1rcubLKpz9oj+z/1CceHlj+yq53W+9zgb98nSov/wjEKYDNauD+Hw==} - - '@types/node@22.18.0': - resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} - - '@types/node@22.19.11': - resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} - - '@types/node@22.7.5': - resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} - - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/react@19.2.13': - resolution: {integrity: sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==} - - '@types/send@0.17.5': - resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} - - '@types/serve-static@1.15.8': - resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/uuid@8.3.4': - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} - - '@types/ws@7.4.7': - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} - - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - - '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - deprecated: Potential CWE-502 - Update to 1.3.1 or higher - - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} - cpu: [arm] - os: [android] - - '@unrs/resolver-binding-android-arm64@1.11.1': - resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} - cpu: [arm64] - os: [android] - - '@unrs/resolver-binding-darwin-arm64@1.11.1': - resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} - cpu: [arm64] - os: [darwin] - - '@unrs/resolver-binding-darwin-x64@1.11.1': - resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} - cpu: [x64] - os: [darwin] - - '@unrs/resolver-binding-freebsd-x64@1.11.1': - resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} - cpu: [x64] - os: [freebsd] - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} - cpu: [arm64] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} - cpu: [arm64] - os: [linux] - - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} - cpu: [ppc64] - os: [linux] - - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} - cpu: [riscv64] - os: [linux] - - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} - cpu: [riscv64] - os: [linux] - - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} - cpu: [s390x] - os: [linux] - - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} - cpu: [x64] - os: [linux] - - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} - cpu: [x64] - os: [linux] - - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} - cpu: [arm64] - os: [win32] - - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} - cpu: [ia32] - os: [win32] - - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} - cpu: [x64] - os: [win32] - - '@vue/reactivity@3.5.28': - resolution: {integrity: sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==} - - '@vue/shared@3.5.28': - resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==} - - '@wagmi/core@3.3.2': - resolution: {integrity: sha512-e4aefdzEki657u7P6miuBijp0WKmtSsuY2/NT9e3zfJxr+QX5Edr5EcFF0Cg5OMMQ1y32x+g8ogMDppD9aX3kw==} - peerDependencies: - '@tanstack/query-core': '>=5.0.0' - ox: '>=0.11.1' - typescript: '>=5.7.3' - viem: 2.x - peerDependenciesMeta: - '@tanstack/query-core': - optional: true - ox: - optional: true - typescript: - optional: true - - '@wallet-standard/base@1.1.0': - resolution: {integrity: sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==} - engines: {node: '>=16'} - - '@wallet-standard/features@1.1.0': - resolution: {integrity: sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg==} - engines: {node: '>=16'} - - '@wallet-standard/wallet@1.1.0': - resolution: {integrity: sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg==} - engines: {node: '>=16'} - - '@zerodev/ecdsa-validator@5.4.9': - resolution: {integrity: sha512-9NVE8/sQIKRo42UOoYKkNdmmHJY8VlT4t+2MHD2ipLg21cpbY9fS17TGZh61+Bl3qlqc8pP23I6f89z9im7kuA==} - peerDependencies: - '@zerodev/sdk': ^5.4.13 - viem: ^2.28.0 - - '@zerodev/multi-chain-ecdsa-validator@5.4.5': - resolution: {integrity: sha512-cmQcsl5WbjnyQuhAS76BUqsHGtUOfWqdkMlm60s75kmRKzF5PiKzRpWIZyeISVmJV0F4P5u1keo1xYONEFiw1w==} - peerDependencies: - '@zerodev/sdk': ^5.4.0 - '@zerodev/webauthn-key': ^5.4.0 - viem: ^2.28.0 - - '@zerodev/sdk@5.4.36': - resolution: {integrity: sha512-8ewwlijbzWA16AZ03w7zqvTVXFdaUqGOJmbcAZPIIuz52bsdBsKYiF37RZ05KJ24hfdYsIHjE8pwocfjrtMcng==} - peerDependencies: - viem: ^2.28.0 - - '@zerodev/sdk@5.5.7': - resolution: {integrity: sha512-Sf4G13yi131H8ujun64obvXIpk1UWn64GiGJjfvGx8aIKg+OWTRz9AZHgGKK+bE/evAmqIg4nchuSvKPhOau1w==} - peerDependencies: - viem: ^2.28.0 - - '@zerodev/webauthn-key@5.5.0': - resolution: {integrity: sha512-AbD2d/qrsX7AWxJMEfwxnLbp1TjiUjc1V4ne3Q40UJxKe+lW64Td+y8OD0qSFMqgN6rQxJZ0aOAXmat8H6xluA==} - peerDependencies: - viem: ^2.28.0 - - abitype@1.1.0: - resolution: {integrity: sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.2.3: - resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} - - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - - aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - - agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-escapes@7.3.0: - resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} - engines: {node: '>=18'} - - ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.2.0: - resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} - engines: {node: '>=12'} - - ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - - argon2id@1.0.1: - resolution: {integrity: sha512-rsiD3lX+0L0CsiZARp3bf9EGxprtuWAT7PpiJd+Fk53URV0/USOQkBIP1dLTV8t6aui0ECbymQ9W9YCcTd6XgA==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - - asn1js@3.0.7: - resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==} - engines: {node: '>=12.0.0'} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - axios@1.13.2: - resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} - - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} - - babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-jest@30.1.2: - resolution: {integrity: sha512-IQCus1rt9kaSh7PQxLYRY5NmkNrNlU2TpabzwV7T2jljnpdHOcmnYYv8QmE04Li4S3a2Lj8/yXyET5pBarPr6g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - - babel-jest@30.2.0: - resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-0 - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-istanbul@7.0.0: - resolution: {integrity: sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==} - engines: {node: '>=12'} - - babel-plugin-istanbul@7.0.1: - resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} - engines: {node: '>=12'} - - babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - babel-plugin-jest-hoist@30.0.1: - resolution: {integrity: sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - babel-plugin-jest-hoist@30.2.0: - resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - babel-preset-current-node-syntax@1.2.0: - resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} - peerDependencies: - '@babel/core': ^7.0.0 || ^8.0.0-0 - - babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@30.0.1: - resolution: {integrity: sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - - babel-preset-jest@30.2.0: - resolution: {integrity: sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-beta.1 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base-x@3.0.11: - resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - baseline-browser-mapping@2.9.19: - resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} - hasBin: true - - better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} - - bigint-conversion@2.4.3: - resolution: {integrity: sha512-eM76IXlhXQD6HAoE6A7QLQ3jdC04EJdjH3zrlU1Jtt4/jj+O/pMGjGR5FY8/55FOIBsK25kly0RoG4GA4iKdvg==} - - bignumber.js@9.3.1: - resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} - - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} - - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} - - borsh@0.7.0: - resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} - - boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} - - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.25.4: - resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - - bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer-reverse@1.0.1: - resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - - bufferutil@4.1.0: - resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} - engines: {node: '>=6.14.2'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - - caniuse-lite@1.0.30001739: - resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==} - - caniuse-lite@1.0.30001769: - resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==} - - chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.6.0: - resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chardet@2.1.0: - resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - ci-info@4.3.0: - resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} - engines: {node: '>=8'} - - ci-info@4.4.0: - resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} - engines: {node: '>=8'} - - cjs-module-lexer@1.4.3: - resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} - - cjs-module-lexer@2.1.0: - resolution: {integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==} - - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-highlight@2.1.11: - resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - hasBin: true - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - - commander@14.0.0: - resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} - engines: {node: '>=20'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} - - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - - create-jest@29.7.0: - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - deprecated: Active development of CryptoJS has been discontinued. This library is no longer maintained. - - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - dedent@1.6.0: - resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} - engines: {node: '>=10'} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - diff@3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dotenv@16.6.1: - resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} - engines: {node: '>=12'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.213: - resolution: {integrity: sha512-xr9eRzSLNa4neDO0xVFrkXu3vyIzG4Ay08dApecw42Z1NbmCt+keEpXdvlYGVe0wtvY5dhW0Ay0lY0IOfsCg0Q==} - - electron-to-chromium@1.5.286: - resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - - es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - - esbuild@0.25.9: - resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.28.2: - resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - ethereum-bloom-filters@1.2.0: - resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} - - ethereum-cryptography@2.2.1: - resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} - - ethers@6.15.0: - resolution: {integrity: sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==} - engines: {node: '>=14.0.0'} - - ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.7: - resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} - engines: {node: '>=18.0.0'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - exit-x@0.2.2: - resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} - engines: {node: '>= 0.8.0'} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - expect@30.1.2: - resolution: {integrity: sha512-xvHszRavo28ejws8FpemjhwswGj4w/BetHIL8cU49u4sGyXDw2+p3YbeDbj6xzlxi6kWTjIRSTJ+9sNXPnF0Zg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - express-rate-limit@7.5.1: - resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} - engines: {node: '>= 16'} - peerDependencies: - express: '>= 4.11' - - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} - engines: {node: '>= 0.10.0'} - - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} - - extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - eyes@0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-stable-stringify@1.0.0: - resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fflate@0.8.3: - resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} - engines: {node: '>= 0.8'} - - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} - - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fp-ts@2.16.11: - resolution: {integrity: sha512-LaI+KaX2NFkfn1ZGHoKCmcfv7yrZsC3b8NtWsTVQeHkq4F27vI5igUuO53sxqDEa2gNQMHFPmpojDw/1zmUK7w==} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - generator-function@2.0.1: - resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} - engines: {node: '>= 0.4'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - human-id@4.1.1: - resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} - hasBin: true - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - immer@11.1.4: - resolution: {integrity: sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==} - - import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - inquirer@9.3.7: - resolution: {integrity: sha512-LJKFHCSeIRq9hanN14IlOtPSTe3lNES7TYDTE2xxdAy1LS5rYphajK1qtwvj3YmQXvvk0U2Vbmcni8P9EIQW9w==} - engines: {node: '>=18'} - - io-ts@2.2.22: - resolution: {integrity: sha512-FHCCztTkHoV9mdBsHpocLpdTAfh956ZQcIkWQxxS0U5HT53vtrcuYdQneEJKH6xILaLNzXVl2Cvwtoy8XNN0AA==} - peerDependencies: - fp-ts: ^2.5.0 - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-generator-function@1.1.2: - resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isomorphic-ws@4.0.1: - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' - - isows@1.0.7: - resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} - peerDependencies: - ws: '*' - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.3: - resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} - engines: {node: '>=10'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - - istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - jayson@4.2.0: - resolution: {integrity: sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==} - engines: {node: '>=8'} - hasBin: true - - jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-changed-files@30.0.5: - resolution: {integrity: sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-circus@30.1.3: - resolution: {integrity: sha512-Yf3dnhRON2GJT4RYzM89t/EXIWNxKTpWTL9BfF3+geFetWP4XSvJjiU1vrWplOiUkmq8cHLiwuhz+XuUp9DscA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-cli@29.7.0: - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-cli@30.1.3: - resolution: {integrity: sha512-G8E2Ol3OKch1DEeIBl41NP7OiC6LBhfg25Btv+idcusmoUSpqUkbrneMqbW9lVpI/rCKb/uETidb7DNteheuAQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@29.7.0: - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - - jest-config@30.1.3: - resolution: {integrity: sha512-M/f7gqdQEPgZNA181Myz+GXCe8jXcJsGjCMXUzRj22FIXsZOyHNte84e0exntOvdPaeh9tA0w+B8qlP2fAezfw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/node': '*' - esbuild-register: '>=3.4.0' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - esbuild-register: - optional: true - ts-node: - optional: true - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-diff@30.1.2: - resolution: {integrity: sha512-4+prq+9J61mOVXCa4Qp8ZjavdxzrWQXrI80GNxP8f4tkI2syPuPrJgdRPZRrfUTRvIoUwcmNLbqEJy9W800+NQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-docblock@30.0.1: - resolution: {integrity: sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-each@30.1.0: - resolution: {integrity: sha512-A+9FKzxPluqogNahpCv04UJvcZ9B3HamqpDNWNKDjtxVRYB8xbZLFuCr8JAJFpNp83CA0anGQFlpQna9Me+/tQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-environment-node@30.1.2: - resolution: {integrity: sha512-w8qBiXtqGWJ9xpJIA98M0EIoq079GOQRQUyse5qg1plShUCQ0Ek1VTTcczqKrn3f24TFAgFtT+4q3aOXvjbsuA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@30.1.0: - resolution: {integrity: sha512-JLeM84kNjpRkggcGpQLsV7B8W4LNUWz7oDNVnY1Vjj22b5/fAb3kk3htiD+4Na8bmJmjJR7rBtS2Rmq/NEcADg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-haste-map@30.2.0: - resolution: {integrity: sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-leak-detector@30.1.0: - resolution: {integrity: sha512-AoFvJzwxK+4KohH60vRuHaqXfWmeBATFZpzpmzNmYTtmRMiyGPVhkXpBqxUQunw+dQB48bDf4NpUs6ivVbRv1g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@30.1.2: - resolution: {integrity: sha512-7ai16hy4rSbDjvPTuUhuV8nyPBd6EX34HkBsBcBX2lENCuAQ0qKCPb/+lt8OSWUa9WWmGYLy41PrEzkwRwoGZQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@30.1.0: - resolution: {integrity: sha512-HizKDGG98cYkWmaLUHChq4iN+oCENohQLb7Z5guBPumYs+/etonmNFlg1Ps6yN9LTPyZn+M+b/9BbnHx3WTMDg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@30.0.5: - resolution: {integrity: sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-regex-util@30.0.1: - resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve-dependencies@30.1.3: - resolution: {integrity: sha512-DNfq3WGmuRyHRHfEet+Zm3QOmVFtIarUOQHHryKPc0YL9ROfgWZxl4+aZq/VAzok2SS3gZdniP+dO4zgo59hBg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve@30.1.3: - resolution: {integrity: sha512-DI4PtTqzw9GwELFS41sdMK32Ajp3XZQ8iygeDMWkxlRhm7uUTOFSZFVZABFuxr0jvspn8MAYy54NxZCsuCTSOw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runner@30.1.3: - resolution: {integrity: sha512-dd1ORcxQraW44Uz029TtXj85W11yvLpDuIzNOlofrC8GN+SgDlgY4BvyxJiVeuabA1t6idjNbX59jLd2oplOGQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runtime@30.1.3: - resolution: {integrity: sha512-WS8xgjuNSphdIGnleQcJ3AKE4tBKOVP+tKhCD0u+Tb2sBmsU8DxfbBpZX7//+XOz81zVs4eFpJQwBNji2Y07DA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-snapshot@30.1.2: - resolution: {integrity: sha512-4q4+6+1c8B6Cy5pGgFvjDy/Pa6VYRiGu0yQafKkJ9u6wQx4G5PqI2QR6nxTl43yy7IWsINwz6oT4o6tD12a8Dg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@30.0.5: - resolution: {integrity: sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-util@30.2.0: - resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@30.1.0: - resolution: {integrity: sha512-7P3ZlCFW/vhfQ8pE7zW6Oi4EzvuB4sgR72Q1INfW9m0FGo0GADYlPwIkf4CyPq7wq85g+kPMtPOHNAdWHeBOaA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-watcher@30.1.3: - resolution: {integrity: sha512-6jQUZCP1BTL2gvG9E4YF06Ytq4yMb4If6YoQGRR6PpjtqOXSP3sKe2kqwB6SQ+H9DezOfZaSLnmka1NtGm3fCQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@30.1.0: - resolution: {integrity: sha512-uvWcSjlwAAgIu133Tt77A05H7RIk3Ho8tZL50bQM2AkvLdluw9NG48lRCl3Dt+MOH719n/0nnb5YxUwcuJiKRA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-worker@30.2.0: - resolution: {integrity: sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest@29.7.0: - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest@30.1.3: - resolution: {integrity: sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@11.5.2: - resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} - engines: {node: 20 || >=22} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - marked-terminal@7.3.0: - resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} - engines: {node: '>=16.0.0'} - peerDependencies: - marked: '>=1 <16' - - marked@9.1.6: - resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} - engines: {node: '>= 16'} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - merkletreejs@0.3.11: - resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} - engines: {node: '>= 7.6.0'} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - mipd@0.0.7: - resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - mylas@2.1.13: - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} - engines: {node: '>=12.0.0'} - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - napi-postinstall@0.3.3: - resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} - hasBin: true - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - - ox@0.12.0: - resolution: {integrity: sha512-68ZJdl8woJYThN/E7GKJ9d8RCzPFm49BhrPFpSBPO1CGljupFzKhQopVkrmcudh/Cki7nEqAAR2w6xdizCNs3Q==} - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true - - ox@0.9.3: - resolution: {integrity: sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==} - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true - - p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - package-manager-detector@0.2.11: - resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - - package-manager-detector@1.8.0: - resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - - parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - - path-to-regexp@8.3.0: - resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - - pkce-challenge@5.0.0: - resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} - engines: {node: '>=16.20.0'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} - - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} - - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - pretty-format@30.0.5: - resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - publint@0.3.23: - resolution: {integrity: sha512-5MQipUPcB7MWw84zLUkHrg/H/UBtk3LL+A0GngTTBSsiNJLQurMUaSIRG3edlOrRz4UFe0AOKK9TZdIWviV+jQ==} - engines: {node: '>=18'} - hasBin: true - - punycode@1.3.2: - resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - - pure-rand@7.0.1: - resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} - - pvtsutils@1.3.6: - resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} - - pvutils@1.1.5: - resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} - engines: {node: '>=16.0.0'} - - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} - engines: {node: '>=0.6'} - - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - - quansync@0.2.11: - resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} - - querystring@0.2.0: - resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - - queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} - - react-dom@19.2.4: - resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} - peerDependencies: - react: ^19.2.4 - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - react@19.2.4: - resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} - engines: {node: '>=0.10.0'} - - read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve.exports@2.0.3: - resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} - engines: {node: '>=10'} - - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - - rpc-websockets@9.1.3: - resolution: {integrity: sha512-I+kNjW0udB4Fetr3vvtRuYZJS0PcSPyyvBcH5sDdoV8DFs5E4W2pTr7aiMlKfPxANTClP9RlqCPolj9dd5MsEA==} - - run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true - - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} - hasBin: true - - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} - - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - sharp@0.33.5: - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - source-map-support@0.4.18: - resolution: {integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==} - - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - spawndamnit@3.0.1: - resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - stream-chain@2.2.5: - resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} - - stream-json@1.9.1: - resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - superstruct@2.0.2: - resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} - engines: {node: '>=14.0.0'} - - supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-hyperlinks@3.2.0: - resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} - engines: {node: '>=14.18'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - synckit@0.11.11: - resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} - engines: {node: ^14.18.0 || >=16.0.0} - - term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - text-encoding-utf-8@1.0.2: - resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - tinyexec@1.3.0: - resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} - engines: {node: '>=18'} - - tldts-core@6.1.86: - resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - - tldts@6.0.16: - resolution: {integrity: sha512-TkEq38COU640mzOKPk4D1oH3FFVvwEtMaKIfw/+F/umVsy7ONWu8PPQH0c11qJ/Jq/zbcQGprXGsT8GcaDSmJg==} - hasBin: true - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - treeify@1.1.0: - resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} - engines: {node: '>=0.6'} - - ts-jest@29.4.1: - resolution: {integrity: sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 || ^30.0.0 - '@jest/types': ^29.0.0 || ^30.0.0 - babel-jest: ^29.0.0 || ^30.0.0 - esbuild: '*' - jest: ^29.0.0 || ^30.0.0 - jest-util: ^29.0.0 || ^30.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - jest-util: - optional: true - - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - - ts-node@2.1.2: - resolution: {integrity: sha512-vUZ/qMzK3zPt2pAMEM93bPWReBSjhh5A4ZFF7wpKvTVzK9A4d80T7GVFLKkZue1NKYyQVei5I37GT6JziUGLPQ==} - hasBin: true - - tsc-alias@1.8.16: - resolution: {integrity: sha512-QjCyu55NFyRSBAl6+MTFwplpFcnm2Pq01rR/uxfqJoLMm6X3O14KEGtaSDZpJYaE1bJBGDjD0eSuiIWPe2T58g==} - engines: {node: '>=16.20.2'} - hasBin: true - - tsconfig@6.0.0: - resolution: {integrity: sha512-n3i8c4BOozElBHYMVkEyF9AudHRvvq6NTc6sVRVmLBQM2A02JKjLoICxRtKkoGu3gROOnRZ85KxiTAcmhWgR0w==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsx@4.20.5: - resolution: {integrity: sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==} - engines: {node: '>=18.0.0'} - hasBin: true - - tsyringe@4.10.0: - resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} - engines: {node: '>= 6.0.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - - typescript@5.6.1-rc: - resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - unrs-resolver@1.11.1: - resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} - - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url@0.11.0: - resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} - - user-home@1.1.1: - resolution: {integrity: sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - - utf-8-validate@5.0.10: - resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} - engines: {node: '>=6.14.2'} - - utf-8-validate@6.0.6: - resolution: {integrity: sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==} - engines: {node: '>=6.14.2'} - - utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@11.1.0: - resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - v8-to-istanbul@9.3.0: - resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} - engines: {node: '>=10.12.0'} - - v8flags@2.1.1: - resolution: {integrity: sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==} - engines: {node: '>= 0.10.0'} - - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - viem@2.37.2: - resolution: {integrity: sha512-soXSUhPEnHzXVo1sSFg2KiUUwOTCtqGNnR/NOHr+4vZcbM6sTyS62asg9EfDpaJQFNduRQituxTcflaK6OIaPA==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} - engines: {node: '>= 0.4'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@16.2.2: - resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} - engines: {node: '>=10'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yn@1.3.0: - resolution: {integrity: sha512-cUr+6jz1CH+E9wIGgFW5lyMMOHLbCe/UCOVqV/TTnf5XMe0NBC3TS7pR9ZpDsb84iCWKBd6ETPRBqQjssDKsIA==} - engines: {node: '>=0.10.0'} - - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yoctocolors-cjs@2.1.3: - resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} - engines: {node: '>=18'} - - zksync-sso@0.2.0: - resolution: {integrity: sha512-JyxmYx2KnreTEQANyihkhzQGqA0Opa0j1qT6BLBmjP8WOwsYEiOMolbwxNK7X/KETXI77IZhGxWl8ZMKQgYl8A==} - peerDependencies: - '@simplewebauthn/browser': 13.x - '@simplewebauthn/server': 13.x - '@wagmi/core': 2.x - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - zksync-sso@0.4.3: - resolution: {integrity: sha512-6v0AZj36FMPP2jUY75gUCRmGqKmaKkZ7fNA6CcCQVaLAC4CKHv1TvSHTjUvN8pSiOrvOeT4SWlFVPs/GjHTYvA==} - peerDependencies: - '@simplewebauthn/browser': 13.x - '@simplewebauthn/server': 13.x - '@wagmi/core': 2.x - typescript: '*' - peerDependenciesMeta: - '@simplewebauthn/browser': - optional: true - '@simplewebauthn/server': - optional: true - '@wagmi/core': - optional: true - typescript: - optional: true - - zod-to-json-schema@3.24.6: - resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} - peerDependencies: - zod: ^3.24.1 - - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - - zod@4.0.5: - resolution: {integrity: sha512-/5UuuRPStvHXu7RS+gmvRf4NXrNxpSllGwDnCBcJZtQsKrviYXm54yDGV2KYNLT5kq0lHGcl7lqWJLgSaG+tgA==} - - zustand@5.0.0: - resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true - -snapshots: - - '@adraffy/ens-normalize@1.10.1': {} - - '@adraffy/ens-normalize@1.11.0': {} - - '@adraffy/ens-normalize@1.11.1': - optional: true - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - - '@andrewbranch/untar.js@1.0.4': {} - - '@arethetypeswrong/cli@0.18.5': - dependencies: - '@arethetypeswrong/core': 0.18.5 - chalk: 4.1.2 - cli-table3: 0.6.5 - commander: 10.0.1 - marked: 9.1.6 - marked-terminal: 7.3.0(marked@9.1.6) - semver: 7.7.4 - - '@arethetypeswrong/core@0.18.5': - dependencies: - '@andrewbranch/untar.js': 1.0.4 - '@loaderkit/resolve': 1.0.6 - cjs-module-lexer: 1.4.3 - fflate: 0.8.3 - lru-cache: 11.5.2 - semver: 7.7.4 - typescript: 5.6.1-rc - validate-npm-package-name: 5.0.1 - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - optional: true - - '@babel/compat-data@7.28.0': {} - - '@babel/compat-data@7.29.0': - optional: true - - '@babel/core@7.28.3': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helpers': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 - convert-source-map: 2.0.0 - debug: 4.4.1 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.28.6 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/generator@7.28.3': - dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - jsesc: 3.1.0 - - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - optional: true - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.4 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.28.6': - dependencies: - '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - optional: true - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-plugin-utils@7.28.6': - optional: true - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': - optional: true - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helpers@7.28.3': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - - '@babel/helpers@7.28.6': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - optional: true - - '@babel/parser@7.28.3': - dependencies: - '@babel/types': 7.28.2 - - '@babel/parser@7.29.0': - dependencies: - '@babel/types': 7.29.0 - optional: true - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/runtime@7.28.3': {} - - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - optional: true - - '@babel/traverse@7.28.3': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.3 - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/types@7.28.2': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - optional: true - - '@bcoe/v8-coverage@0.2.3': {} - - '@biomejs/biome@1.9.4': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.9.4 - '@biomejs/cli-darwin-x64': 1.9.4 - '@biomejs/cli-linux-arm64': 1.9.4 - '@biomejs/cli-linux-arm64-musl': 1.9.4 - '@biomejs/cli-linux-x64': 1.9.4 - '@biomejs/cli-linux-x64-musl': 1.9.4 - '@biomejs/cli-win32-arm64': 1.9.4 - '@biomejs/cli-win32-x64': 1.9.4 - - '@biomejs/cli-darwin-arm64@1.9.4': - optional: true - - '@biomejs/cli-darwin-x64@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64@1.9.4': - optional: true - - '@biomejs/cli-linux-x64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-x64@1.9.4': - optional: true - - '@biomejs/cli-win32-arm64@1.9.4': - optional: true - - '@biomejs/cli-win32-x64@1.9.4': - optional: true - - '@braidai/lang@1.1.2': {} - - '@changesets/apply-release-plan@7.0.12': - dependencies: - '@changesets/config': 3.1.1 - '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.4 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.8 - resolve-from: 5.0.0 - semver: 7.7.4 - - '@changesets/assemble-release-plan@6.0.9': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - semver: 7.7.4 - - '@changesets/changelog-git@0.2.1': - dependencies: - '@changesets/types': 6.1.0 - - '@changesets/cli@2.29.6(@types/node@22.18.0)': - dependencies: - '@changesets/apply-release-plan': 7.0.12 - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.1 - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.13 - '@changesets/git': 3.0.4 - '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.5 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.1(@types/node@22.18.0) - '@manypkg/get-packages': 1.1.3 - ansi-colors: 4.1.3 - ci-info: 3.9.0 - enquirer: 2.4.1 - fs-extra: 7.0.1 - mri: 1.2.0 - p-limit: 2.3.0 - package-manager-detector: 0.2.11 - picocolors: 1.1.1 - resolve-from: 5.0.0 - semver: 7.7.2 - spawndamnit: 3.0.1 - term-size: 2.2.1 - transitivePeerDependencies: - - '@types/node' - - '@changesets/config@3.1.1': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/logger': 0.1.1 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.8 - - '@changesets/errors@0.2.0': - dependencies: - extendable-error: 0.1.7 - - '@changesets/get-dependents-graph@2.1.3': - dependencies: - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.1 - semver: 7.7.4 - - '@changesets/get-release-plan@4.0.13': - dependencies: - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/config': 3.1.1 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.5 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/get-version-range-type@0.4.0': {} - - '@changesets/git@3.0.4': - dependencies: - '@changesets/errors': 0.2.0 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.8 - spawndamnit: 3.0.1 - - '@changesets/logger@0.1.1': - dependencies: - picocolors: 1.1.1 - - '@changesets/parse@0.4.1': - dependencies: - '@changesets/types': 6.1.0 - js-yaml: 3.14.1 - - '@changesets/pre@2.0.2': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - - '@changesets/read@0.6.5': - dependencies: - '@changesets/git': 3.0.4 - '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.1 - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - p-filter: 2.1.0 - picocolors: 1.1.1 - - '@changesets/should-skip-package@0.1.2': - dependencies: - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/types@4.1.0': {} - - '@changesets/types@6.1.0': {} - - '@changesets/write@0.4.0': - dependencies: - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - human-id: 4.1.1 - prettier: 2.8.8 - - '@colors/colors@1.5.0': - optional: true - - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - - '@dynamic-labs-wallet/browser-wallet-client@0.0.260(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/core': 0.0.260(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/message-transport': 4.60.1 - uuid: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/browser@0.0.167': - dependencies: - '@dynamic-labs-wallet/core': 0.0.167 - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.764 - '@noble/hashes': 1.7.1 - argon2id: 1.0.1 - axios: 1.9.0 - http-errors: 2.0.0 - semver: 7.7.4 - uuid: 11.1.0 - transitivePeerDependencies: - - debug - - '@dynamic-labs-wallet/browser@0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/core': 0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.818 - '@noble/hashes': 1.7.1 - argon2id: 1.0.1 - axios: 1.13.2 - http-errors: 2.0.0 - semver: 7.7.4 - uuid: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/core@0.0.167': - dependencies: - '@dynamic-labs/sdk-api-core': 0.0.764 - axios: 1.9.0 - uuid: 11.1.0 - transitivePeerDependencies: - - debug - - '@dynamic-labs-wallet/core@0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/forward-mpc-client': 0.1.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.818 - axios: 1.13.2 - http-errors: 2.0.0 - uuid: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/core@0.0.260(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/forward-mpc-client': 0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - axios: 1.13.2 - http-errors: 2.0.0 - uuid: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/forward-mpc-client@0.1.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/core': 0.0.167 - '@dynamic-labs-wallet/forward-mpc-shared': 0.1.0 - '@evervault/wasm-attestation-bindings': 0.3.1 - '@noble/hashes': 2.0.1 - '@noble/post-quantum': 0.5.4 - eventemitter3: 5.0.4 - fp-ts: 2.16.11 - ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/forward-mpc-client@0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/core': 0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs-wallet/forward-mpc-shared': 0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@evervault/wasm-attestation-bindings': 0.3.1 - '@noble/hashes': 2.0.1 - '@noble/post-quantum': 0.5.4 - eventemitter3: 5.0.4 - fp-ts: 2.16.11 - ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs-wallet/forward-mpc-shared@0.1.0': - dependencies: - '@dynamic-labs-wallet/browser': 0.0.167 - '@dynamic-labs-wallet/core': 0.0.167 - '@noble/ciphers': 0.4.1 - '@noble/hashes': 2.0.1 - '@noble/post-quantum': 0.5.4 - fp-ts: 2.16.11 - io-ts: 2.2.22(fp-ts@2.16.11) - transitivePeerDependencies: - - debug - - '@dynamic-labs-wallet/forward-mpc-shared@0.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/browser': 0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs-wallet/core': 0.0.203(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@noble/ciphers': 0.4.1 - '@noble/hashes': 2.0.1 - '@noble/post-quantum': 0.5.4 - fp-ts: 2.16.11 - io-ts: 2.2.22(fp-ts@2.16.11) - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - - '@dynamic-labs/assert-package-version@4.60.1': - dependencies: - '@dynamic-labs/logger': 4.60.1 - - '@dynamic-labs/ethereum-aa-core@4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/ethereum-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@dynamic-labs/wallet-book': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@dynamic-labs/wallet-connector-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - bufferutil - - debug - - react - - react-dom - - utf-8-validate - - '@dynamic-labs/ethereum-aa-zksync@4.60.1(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.2)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/ethereum-aa-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/ethereum-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@dynamic-labs/wallet-book': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@dynamic-labs/wallet-connector-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - zksync-sso: 0.2.0(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76) - transitivePeerDependencies: - - '@simplewebauthn/browser' - - '@simplewebauthn/server' - - '@wagmi/core' - - bufferutil - - debug - - react - - react-dom - - typescript - - utf-8-validate - - zod - - '@dynamic-labs/ethereum-aa@4.60.1(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/ethereum-aa-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/ethereum-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@dynamic-labs/wallet-book': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@dynamic-labs/wallet-connector-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10) - '@zerodev/ecdsa-validator': 5.4.9(@zerodev/sdk@5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@zerodev/multi-chain-ecdsa-validator': 5.4.5(@zerodev/sdk@5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@zerodev/sdk': 5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@zerodev/webauthn-key' - - bufferutil - - debug - - react - - react-dom - - utf-8-validate - - '@dynamic-labs/ethereum-core@4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/rpc-providers': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@dynamic-labs/wallet-book': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@dynamic-labs/wallet-connector-core': 4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - bufferutil - - debug - - react - - react-dom - - utf-8-validate - - ? '@dynamic-labs/global-wallet-client@4.60.1(@dynamic-labs/ethereum-aa@4.60.1(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@solana/wallet-standard-features@1.3.0)(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10))(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@wallet-standard/base@1.1.0)(@wallet-standard/features@1.1.0)(@wallet-standard/wallet@1.1.0)(@zerodev/sdk@5.4.36(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.2)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))(zksync-sso@0.4.3(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76))(zod@3.25.76)' - : dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/ethereum-aa-zksync': 4.60.1(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.2)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/message-transport': 4.60.1 - '@dynamic-labs/store': 4.60.1 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - eventemitter3: 5.0.1 - optionalDependencies: - '@dynamic-labs/ethereum-aa': 4.60.1(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@solana/wallet-standard-features': 1.3.0 - '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10) - '@wallet-standard/base': 1.1.0 - '@wallet-standard/features': 1.1.0 - '@wallet-standard/wallet': 1.1.0 - '@zerodev/sdk': 5.4.36(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - zksync-sso: 0.4.3(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76) - transitivePeerDependencies: - - '@simplewebauthn/browser' - - '@simplewebauthn/server' - - '@wagmi/core' - - bufferutil - - debug - - react - - react-dom - - typescript - - utf-8-validate - - zod - - '@dynamic-labs/iconic@4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - sharp: 0.33.5 - url: 0.11.0 - - '@dynamic-labs/logger@4.60.1': - dependencies: - eventemitter3: 5.0.1 - - '@dynamic-labs/message-transport@4.60.1': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@vue/reactivity': 3.5.28 - eventemitter3: 5.0.1 - - '@dynamic-labs/rpc-providers@4.60.1': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/types': 4.60.1 - - '@dynamic-labs/sdk-api-core@0.0.764': {} - - '@dynamic-labs/sdk-api-core@0.0.818': {} - - '@dynamic-labs/sdk-api-core@0.0.864': {} - - '@dynamic-labs/store@4.60.1': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - - '@dynamic-labs/types@4.60.1': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - - '@dynamic-labs/utils@4.60.1': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - buffer: 6.0.3 - eventemitter3: 5.0.1 - tldts: 6.0.16 - - '@dynamic-labs/wallet-book@4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/iconic': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - eventemitter3: 5.0.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - util: 0.12.5 - zod: 4.0.5 - - '@dynamic-labs/wallet-connector-core@4.60.1(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(utf-8-validate@5.0.10)': - dependencies: - '@dynamic-labs-wallet/browser-wallet-client': 0.0.260(bufferutil@4.1.0)(utf-8-validate@5.0.10) - '@dynamic-labs/assert-package-version': 4.60.1 - '@dynamic-labs/logger': 4.60.1 - '@dynamic-labs/rpc-providers': 4.60.1 - '@dynamic-labs/sdk-api-core': 0.0.864 - '@dynamic-labs/types': 4.60.1 - '@dynamic-labs/utils': 4.60.1 - '@dynamic-labs/wallet-book': 4.60.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - eventemitter3: 5.0.1 - transitivePeerDependencies: - - bufferutil - - debug - - react - - react-dom - - utf-8-validate - - '@emnapi/core@1.5.0': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.5.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.8.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.1.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@esbuild/aix-ppc64@0.25.9': - optional: true - - '@esbuild/aix-ppc64@0.28.2': - optional: true - - '@esbuild/android-arm64@0.25.9': - optional: true - - '@esbuild/android-arm64@0.28.2': - optional: true - - '@esbuild/android-arm@0.25.9': - optional: true - - '@esbuild/android-arm@0.28.2': - optional: true - - '@esbuild/android-x64@0.25.9': - optional: true - - '@esbuild/android-x64@0.28.2': - optional: true - - '@esbuild/darwin-arm64@0.25.9': - optional: true - - '@esbuild/darwin-arm64@0.28.2': - optional: true - - '@esbuild/darwin-x64@0.25.9': - optional: true - - '@esbuild/darwin-x64@0.28.2': - optional: true - - '@esbuild/freebsd-arm64@0.25.9': - optional: true - - '@esbuild/freebsd-arm64@0.28.2': - optional: true - - '@esbuild/freebsd-x64@0.25.9': - optional: true - - '@esbuild/freebsd-x64@0.28.2': - optional: true - - '@esbuild/linux-arm64@0.25.9': - optional: true - - '@esbuild/linux-arm64@0.28.2': - optional: true - - '@esbuild/linux-arm@0.25.9': - optional: true - - '@esbuild/linux-arm@0.28.2': - optional: true - - '@esbuild/linux-ia32@0.25.9': - optional: true - - '@esbuild/linux-ia32@0.28.2': - optional: true - - '@esbuild/linux-loong64@0.25.9': - optional: true - - '@esbuild/linux-loong64@0.28.2': - optional: true - - '@esbuild/linux-mips64el@0.25.9': - optional: true - - '@esbuild/linux-mips64el@0.28.2': - optional: true - - '@esbuild/linux-ppc64@0.25.9': - optional: true - - '@esbuild/linux-ppc64@0.28.2': - optional: true - - '@esbuild/linux-riscv64@0.25.9': - optional: true - - '@esbuild/linux-riscv64@0.28.2': - optional: true - - '@esbuild/linux-s390x@0.25.9': - optional: true - - '@esbuild/linux-s390x@0.28.2': - optional: true - - '@esbuild/linux-x64@0.25.9': - optional: true - - '@esbuild/linux-x64@0.28.2': - optional: true - - '@esbuild/netbsd-arm64@0.25.9': - optional: true - - '@esbuild/netbsd-arm64@0.28.2': - optional: true - - '@esbuild/netbsd-x64@0.25.9': - optional: true - - '@esbuild/netbsd-x64@0.28.2': - optional: true - - '@esbuild/openbsd-arm64@0.25.9': - optional: true - - '@esbuild/openbsd-arm64@0.28.2': - optional: true - - '@esbuild/openbsd-x64@0.25.9': - optional: true - - '@esbuild/openbsd-x64@0.28.2': - optional: true - - '@esbuild/openharmony-arm64@0.25.9': - optional: true - - '@esbuild/openharmony-arm64@0.28.2': - optional: true - - '@esbuild/sunos-x64@0.25.9': - optional: true - - '@esbuild/sunos-x64@0.28.2': - optional: true - - '@esbuild/win32-arm64@0.25.9': - optional: true - - '@esbuild/win32-arm64@0.28.2': - optional: true - - '@esbuild/win32-ia32@0.25.9': - optional: true - - '@esbuild/win32-ia32@0.28.2': - optional: true - - '@esbuild/win32-x64@0.25.9': - optional: true - - '@esbuild/win32-x64@0.28.2': - optional: true - - '@ethereumjs/rlp@4.0.1': {} - - '@ethereumjs/util@8.1.0': - dependencies: - '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.2.1 - micro-ftch: 0.3.1 - - '@evervault/wasm-attestation-bindings@0.3.1': {} - - '@hexagon/base64@1.1.28': {} - - '@img/sharp-darwin-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.4 - optional: true - - '@img/sharp-darwin-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.4 - optional: true - - '@img/sharp-libvips-darwin-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-darwin-x64@1.0.4': - optional: true - - '@img/sharp-libvips-linux-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-linux-arm@1.0.5': - optional: true - - '@img/sharp-libvips-linux-s390x@1.0.4': - optional: true - - '@img/sharp-libvips-linux-x64@1.0.4': - optional: true - - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': - optional: true - - '@img/sharp-libvips-linuxmusl-x64@1.0.4': - optional: true - - '@img/sharp-linux-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.4 - optional: true - - '@img/sharp-linux-arm@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.5 - optional: true - - '@img/sharp-linux-s390x@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.0.4 - optional: true - - '@img/sharp-linux-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.4 - optional: true - - '@img/sharp-linuxmusl-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - optional: true - - '@img/sharp-linuxmusl-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - optional: true - - '@img/sharp-wasm32@0.33.5': - dependencies: - '@emnapi/runtime': 1.8.1 - optional: true - - '@img/sharp-win32-ia32@0.33.5': - optional: true - - '@img/sharp-win32-x64@0.33.5': - optional: true - - '@inquirer/external-editor@1.0.1(@types/node@22.18.0)': - dependencies: - chardet: 2.1.0 - iconv-lite: 0.6.3 - optionalDependencies: - '@types/node': 22.18.0 - - '@inquirer/figures@1.0.13': {} - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.3': {} - - '@jest/console@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - - '@jest/console@30.1.2': - dependencies: - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - chalk: 4.1.2 - jest-message-util: 30.1.0 - jest-util: 30.0.5 - slash: 3.0.0 - - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - - '@jest/core@29.7.0(ts-node@2.1.2)': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.12)(ts-node@2.1.2) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - - '@jest/core@30.1.3(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))': - dependencies: - '@jest/console': 30.1.2 - '@jest/pattern': 30.0.1 - '@jest/reporters': 30.1.3 - '@jest/test-result': 30.1.3 - '@jest/transform': 30.1.2 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 4.3.0 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-changed-files: 30.0.5 - jest-config: 30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - jest-haste-map: 30.1.0 - jest-message-util: 30.1.0 - jest-regex-util: 30.0.1 - jest-resolve: 30.1.3 - jest-resolve-dependencies: 30.1.3 - jest-runner: 30.1.3 - jest-runtime: 30.1.3 - jest-snapshot: 30.1.2 - jest-util: 30.0.5 - jest-validate: 30.1.0 - jest-watcher: 30.1.3 - micromatch: 4.0.8 - pretty-format: 30.0.5 - slash: 3.0.0 - transitivePeerDependencies: - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - - '@jest/diff-sequences@30.0.1': {} - - '@jest/environment@29.7.0': - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - jest-mock: 29.7.0 - - '@jest/environment@30.1.2': - dependencies: - '@jest/fake-timers': 30.1.2 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - jest-mock: 30.0.5 - - '@jest/expect-utils@29.7.0': - dependencies: - jest-get-type: 29.6.3 - - '@jest/expect-utils@30.1.2': - dependencies: - '@jest/get-type': 30.1.0 - - '@jest/expect@29.7.0': - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/expect@30.1.2': - dependencies: - expect: 30.1.2 - jest-snapshot: 30.1.2 - transitivePeerDependencies: - - supports-color - - '@jest/fake-timers@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.19.12 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - '@jest/fake-timers@30.1.2': - dependencies: - '@jest/types': 30.0.5 - '@sinonjs/fake-timers': 13.0.5 - '@types/node': 22.18.0 - jest-message-util: 30.1.0 - jest-mock: 30.0.5 - jest-util: 30.0.5 - - '@jest/get-type@30.1.0': {} - - '@jest/globals@29.7.0': - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/globals@30.1.2': - dependencies: - '@jest/environment': 30.1.2 - '@jest/expect': 30.1.2 - '@jest/types': 30.0.5 - jest-mock: 30.0.5 - transitivePeerDependencies: - - supports-color - - '@jest/pattern@30.0.1': - dependencies: - '@types/node': 22.18.0 - jest-regex-util: 30.0.1 - - '@jest/reporters@29.7.0': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.30 - '@types/node': 20.19.12 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.2.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color - - '@jest/reporters@30.1.3': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.1.2 - '@jest/test-result': 30.1.3 - '@jest/transform': 30.1.2 - '@jest/types': 30.0.5 - '@jridgewell/trace-mapping': 0.3.30 - '@types/node': 22.18.0 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit-x: 0.2.2 - glob: 10.4.5 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.2.0 - jest-message-util: 30.1.0 - jest-util: 30.0.5 - jest-worker: 30.1.0 - slash: 3.0.0 - string-length: 4.0.2 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/schemas@30.0.5': - dependencies: - '@sinclair/typebox': 0.34.41 - - '@jest/snapshot-utils@30.1.2': - dependencies: - '@jest/types': 30.0.5 - chalk: 4.1.2 - graceful-fs: 4.2.11 - natural-compare: 1.4.0 - - '@jest/source-map@29.6.3': - dependencies: - '@jridgewell/trace-mapping': 0.3.30 - callsites: 3.1.0 - graceful-fs: 4.2.11 - - '@jest/source-map@30.0.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.30 - callsites: 3.1.0 - graceful-fs: 4.2.11 - - '@jest/test-result@29.7.0': - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - - '@jest/test-result@30.1.3': - dependencies: - '@jest/console': 30.1.2 - '@jest/types': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - - '@jest/test-sequencer@29.7.0': - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - - '@jest/test-sequencer@30.1.3': - dependencies: - '@jest/test-result': 30.1.3 - graceful-fs: 4.2.11 - jest-haste-map: 30.1.0 - slash: 3.0.0 - - '@jest/transform@29.7.0': - dependencies: - '@babel/core': 7.28.3 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.30 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.8 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - - '@jest/transform@30.1.2': - dependencies: - '@babel/core': 7.28.3 - '@jest/types': 30.0.5 - '@jridgewell/trace-mapping': 0.3.30 - babel-plugin-istanbul: 7.0.0 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.1.0 - jest-regex-util: 30.0.1 - jest-util: 30.0.5 - micromatch: 4.0.8 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color - - '@jest/transform@30.2.0': - dependencies: - '@babel/core': 7.29.0 - '@jest/types': 30.2.0 - '@jridgewell/trace-mapping': 0.3.31 - babel-plugin-istanbul: 7.0.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.2.0 - jest-regex-util: 30.0.1 - jest-util: 30.2.0 - micromatch: 4.0.8 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.18.0 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - - '@jest/types@30.0.5': - dependencies: - '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.18.0 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - - '@jest/types@30.2.0': - dependencies: - '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.19.11 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - optional: true - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - optional: true - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.30': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - optional: true - - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@juanelas/base64@1.1.5': {} - - '@levischuck/tiny-cbor@0.2.11': {} - - '@loaderkit/resolve@1.0.6': - dependencies: - '@braidai/lang': 1.1.2 - - '@manypkg/find-root@1.1.0': - dependencies: - '@babel/runtime': 7.28.3 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 - - '@manypkg/get-packages@1.1.3': - dependencies: - '@babel/runtime': 7.28.3 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 - - '@modelcontextprotocol/sdk@1.17.5': - dependencies: - ajv: 6.12.6 - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.1(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) - transitivePeerDependencies: - - supports-color - - '@napi-rs/wasm-runtime@0.2.12': - dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 - '@tybys/wasm-util': 0.10.0 - optional: true - - '@noble/ciphers@0.4.1': {} - - '@noble/ciphers@1.3.0': {} - - '@noble/curves@1.2.0': - dependencies: - '@noble/hashes': 1.3.2 - - '@noble/curves@1.4.2': - dependencies: - '@noble/hashes': 1.4.0 - - '@noble/curves@1.9.1': - dependencies: - '@noble/hashes': 1.8.0 - - '@noble/curves@1.9.7': - dependencies: - '@noble/hashes': 1.8.0 - - '@noble/curves@2.0.1': - dependencies: - '@noble/hashes': 2.0.1 - - '@noble/hashes@1.3.2': {} - - '@noble/hashes@1.4.0': {} - - '@noble/hashes@1.7.1': {} - - '@noble/hashes@1.8.0': {} - - '@noble/hashes@2.0.1': {} - - '@noble/post-quantum@0.5.4': - dependencies: - '@noble/curves': 2.0.1 - '@noble/hashes': 2.0.1 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@peculiar/asn1-android@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-cms@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - '@peculiar/asn1-x509-attr': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-csr@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-ecc@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-pfx@2.6.0': - dependencies: - '@peculiar/asn1-cms': 2.6.0 - '@peculiar/asn1-pkcs8': 2.6.0 - '@peculiar/asn1-rsa': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs8@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs9@2.6.0': - dependencies: - '@peculiar/asn1-cms': 2.6.0 - '@peculiar/asn1-pfx': 2.6.0 - '@peculiar/asn1-pkcs8': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - '@peculiar/asn1-x509-attr': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-rsa@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-schema@2.6.0': - dependencies: - asn1js: 3.0.7 - pvtsutils: 1.3.6 - tslib: 2.8.1 - - '@peculiar/asn1-x509-attr@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 - - '@peculiar/asn1-x509@2.6.0': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - asn1js: 3.0.7 - pvtsutils: 1.3.6 - tslib: 2.8.1 - - '@peculiar/x509@1.14.3': - dependencies: - '@peculiar/asn1-cms': 2.6.0 - '@peculiar/asn1-csr': 2.6.0 - '@peculiar/asn1-ecc': 2.6.0 - '@peculiar/asn1-pkcs9': 2.6.0 - '@peculiar/asn1-rsa': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - pvtsutils: 1.3.6 - reflect-metadata: 0.2.2 - tslib: 2.8.1 - tsyringe: 4.10.0 - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@pkgr/core@0.2.9': {} - - '@publint/pack@0.1.6': - dependencies: - tinyexec: 1.3.0 - - '@scure/base@1.1.9': {} - - '@scure/base@1.2.6': {} - - '@scure/bip32@1.4.0': - dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.9 - - '@scure/bip32@1.7.0': - dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - - '@scure/bip39@1.3.0': - dependencies: - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.9 - - '@scure/bip39@1.6.0': - dependencies: - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - - '@simplewebauthn/browser@13.2.2': {} - - '@simplewebauthn/browser@8.3.7': - dependencies: - '@simplewebauthn/typescript-types': 8.3.4 - - '@simplewebauthn/browser@9.0.1': - dependencies: - '@simplewebauthn/types': 9.0.1 - - '@simplewebauthn/server@13.2.2': - dependencies: - '@hexagon/base64': 1.1.28 - '@levischuck/tiny-cbor': 0.2.11 - '@peculiar/asn1-android': 2.6.0 - '@peculiar/asn1-ecc': 2.6.0 - '@peculiar/asn1-rsa': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.0 - '@peculiar/x509': 1.14.3 - - '@simplewebauthn/types@12.0.0': {} - - '@simplewebauthn/types@9.0.1': {} - - '@simplewebauthn/typescript-types@8.3.4': {} - - '@sinclair/typebox@0.27.8': {} - - '@sinclair/typebox@0.34.41': {} - - '@sindresorhus/is@4.6.0': {} - - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@sinonjs/fake-timers@13.0.5': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@solana/buffer-layout@4.0.1': - dependencies: - buffer: 6.0.3 - - '@solana/codecs-core@2.3.0(typescript@5.9.2)': - dependencies: - '@solana/errors': 2.3.0(typescript@5.9.2) - typescript: 5.9.2 - - '@solana/codecs-numbers@2.3.0(typescript@5.9.2)': - dependencies: - '@solana/codecs-core': 2.3.0(typescript@5.9.2) - '@solana/errors': 2.3.0(typescript@5.9.2) - typescript: 5.9.2 - - '@solana/errors@2.3.0(typescript@5.9.2)': - dependencies: - chalk: 5.6.2 - commander: 14.0.0 - typescript: 5.9.2 - - '@solana/wallet-standard-features@1.3.0': - dependencies: - '@wallet-standard/base': 1.1.0 - '@wallet-standard/features': 1.1.0 - - '@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)': - dependencies: - '@babel/runtime': 7.28.3 - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@solana/buffer-layout': 4.0.1 - '@solana/codecs-numbers': 2.3.0(typescript@5.9.2) - agentkeepalive: 4.6.0 - bn.js: 5.2.2 - borsh: 0.7.0 - bs58: 4.0.1 - buffer: 6.0.3 - fast-stable-stringify: 1.0.0 - jayson: 4.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - node-fetch: 2.7.0 - rpc-websockets: 9.1.3 - superstruct: 2.0.2 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - '@swc/helpers@0.5.17': - dependencies: - tslib: 2.8.1 - - '@tsconfig/node10@1.0.11': {} - - '@tsconfig/node12@1.0.11': {} - - '@tsconfig/node14@1.0.3': {} - - '@tsconfig/node16@1.0.4': {} - - '@tybys/wasm-util@0.10.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.28.0 - - '@types/babel__generator@7.27.0': - dependencies: - '@babel/types': 7.28.2 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - - '@types/babel__traverse@7.28.0': - dependencies: - '@babel/types': 7.28.2 - - '@types/body-parser@1.19.6': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 22.18.0 - - '@types/connect@3.4.38': - dependencies: - '@types/node': 22.18.0 - - '@types/cors@2.8.19': - dependencies: - '@types/node': 22.18.0 - - '@types/express-serve-static-core@5.0.7': - dependencies: - '@types/node': 22.18.0 - '@types/qs': 6.14.0 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.5 - - '@types/express@5.0.3': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 5.0.7 - '@types/serve-static': 1.15.8 - - '@types/graceful-fs@4.1.9': - dependencies: - '@types/node': 20.19.12 - - '@types/http-errors@2.0.5': {} - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/jest@29.5.14': - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - - '@types/mime@1.3.5': {} - - '@types/node@12.20.55': {} - - '@types/node@20.19.12': - dependencies: - undici-types: 6.21.0 - - '@types/node@22.18.0': - dependencies: - undici-types: 6.21.0 - - '@types/node@22.19.11': - dependencies: - undici-types: 6.21.0 - - '@types/node@22.7.5': - dependencies: - undici-types: 6.19.8 - - '@types/qs@6.14.0': {} - - '@types/range-parser@1.2.7': {} - - '@types/react@19.2.13': - dependencies: - csstype: 3.2.3 - optional: true - - '@types/send@0.17.5': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 22.18.0 - - '@types/serve-static@1.15.8': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 22.18.0 - '@types/send': 0.17.5 - - '@types/stack-utils@2.0.3': {} - - '@types/uuid@8.3.4': {} - - '@types/ws@7.4.7': - dependencies: - '@types/node': 12.20.55 - - '@types/ws@8.18.1': - dependencies: - '@types/node': 22.19.11 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.33': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@types/yargs@17.0.35': - dependencies: - '@types/yargs-parser': 21.0.3 - optional: true - - '@ungap/structured-clone@1.3.0': {} - - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - optional: true - - '@unrs/resolver-binding-android-arm64@1.11.1': - optional: true - - '@unrs/resolver-binding-darwin-arm64@1.11.1': - optional: true - - '@unrs/resolver-binding-darwin-x64@1.11.1': - optional: true - - '@unrs/resolver-binding-freebsd-x64@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - optional: true - - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - optional: true - - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - dependencies: - '@napi-rs/wasm-runtime': 0.2.12 - optional: true - - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - optional: true - - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - optional: true - - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - optional: true - - '@vue/reactivity@3.5.28': - dependencies: - '@vue/shared': 3.5.28 - - '@vue/shared@3.5.28': {} - - '@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - eventemitter3: 5.0.1 - mipd: 0.0.7(typescript@5.9.2) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - zustand: 5.0.0(@types/react@19.2.13)(immer@11.1.4)(react@19.2.4) - optionalDependencies: - ox: 0.12.0(typescript@5.9.2)(zod@3.25.76) - typescript: 5.9.2 - transitivePeerDependencies: - - '@types/react' - - immer - - react - - use-sync-external-store - - '@wallet-standard/base@1.1.0': {} - - '@wallet-standard/features@1.1.0': - dependencies: - '@wallet-standard/base': 1.1.0 - - '@wallet-standard/wallet@1.1.0': - dependencies: - '@wallet-standard/base': 1.1.0 - - '@zerodev/ecdsa-validator@5.4.9(@zerodev/sdk@5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@zerodev/sdk': 5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - - '@zerodev/multi-chain-ecdsa-validator@5.4.5(@zerodev/sdk@5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@simplewebauthn/browser': 9.0.1 - '@simplewebauthn/typescript-types': 8.3.4 - '@zerodev/sdk': 5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@zerodev/webauthn-key': 5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - merkletreejs: 0.3.11 - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - - '@zerodev/sdk@5.4.36(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - semver: 7.7.4 - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - - '@zerodev/sdk@5.5.7(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - semver: 7.7.4 - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - - '@zerodev/webauthn-key@5.5.0(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@noble/curves': 1.9.7 - '@simplewebauthn/browser': 8.3.7 - '@simplewebauthn/types': 12.0.0 - viem: 2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) - - abitype@1.1.0(typescript@5.9.2)(zod@3.25.76): - optionalDependencies: - typescript: 5.9.2 - zod: 3.25.76 - - abitype@1.1.0(typescript@5.9.3)(zod@3.25.76): - optionalDependencies: - typescript: 5.9.3 - zod: 3.25.76 - - abitype@1.2.3(typescript@5.9.2)(zod@3.25.76): - optionalDependencies: - typescript: 5.9.2 - zod: 3.25.76 - - abitype@1.2.3(typescript@5.9.3)(zod@3.25.76): - optionalDependencies: - typescript: 5.9.3 - zod: 3.25.76 - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - accepts@2.0.0: - dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 - - acorn-walk@8.3.4: - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} - - aes-js@4.0.0-beta.5: {} - - agentkeepalive@4.6.0: - dependencies: - humanize-ms: 1.2.1 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-colors@4.1.3: {} - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-escapes@7.3.0: - dependencies: - environment: 1.1.0 - - ansi-regex@2.1.1: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.0: {} - - ansi-styles@2.2.1: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - ansi-styles@6.2.1: {} - - any-promise@1.3.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - arg@4.1.3: {} - - argon2id@1.0.1: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - array-flatten@1.1.1: {} - - array-union@2.1.0: {} - - arrify@1.0.1: {} - - asn1js@3.0.7: - dependencies: - pvtsutils: 1.3.6 - pvutils: 1.1.5 - tslib: 2.8.1 - - asynckit@0.4.0: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.1.0 - - axios@1.13.2: - dependencies: - follow-redirects: 1.15.11 - form-data: 4.0.5 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - axios@1.9.0: - dependencies: - follow-redirects: 1.15.11 - form-data: 4.0.5 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - babel-jest@29.7.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.28.3) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-jest@30.1.2(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@jest/transform': 30.1.2 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 7.0.0 - babel-preset-jest: 30.0.1(@babel/core@7.28.3) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-jest@30.2.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@jest/transform': 30.2.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.2.0(@babel/core@7.28.3) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.27.1 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-istanbul@7.0.0: - dependencies: - '@babel/helper-plugin-utils': 7.27.1 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 6.0.3 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-istanbul@7.0.1: - dependencies: - '@babel/helper-plugin-utils': 7.28.6 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 6.0.3 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-jest-hoist@29.6.3: - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.28.0 - - babel-plugin-jest-hoist@30.0.1: - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - '@types/babel__core': 7.20.5 - - babel-plugin-jest-hoist@30.2.0: - dependencies: - '@types/babel__core': 7.20.5 - optional: true - - babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) - - babel-preset-jest@29.6.3(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) - - babel-preset-jest@30.0.1(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - babel-plugin-jest-hoist: 30.0.1 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) - - babel-preset-jest@30.2.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - babel-plugin-jest-hoist: 30.2.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) - optional: true - - balanced-match@1.0.2: {} - - base-x@3.0.11: - dependencies: - safe-buffer: 5.2.1 - - base64-js@1.5.1: {} - - baseline-browser-mapping@2.9.19: - optional: true - - better-path-resolve@1.0.0: - dependencies: - is-windows: 1.0.2 - - bigint-conversion@2.4.3: - dependencies: - '@juanelas/base64': 1.1.5 - - bignumber.js@9.3.1: {} - - binary-extensions@2.3.0: {} - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - bn.js@4.11.6: {} - - bn.js@5.2.2: {} - - body-parser@1.20.3: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.1 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - - borsh@0.7.0: - dependencies: - bn.js: 5.2.2 - bs58: 4.0.1 - text-encoding-utf-8: 1.0.2 - - boxen@7.1.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.6.0 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - brace-expansion@1.1.12: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.2: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.25.4: - dependencies: - caniuse-lite: 1.0.30001739 - electron-to-chromium: 1.5.213 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.4) - - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001769 - electron-to-chromium: 1.5.286 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) - optional: true - - bs-logger@0.2.6: - dependencies: - fast-json-stable-stringify: 2.1.0 - - bs58@4.0.1: - dependencies: - base-x: 3.0.11 - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - - buffer-from@1.1.2: {} - - buffer-reverse@1.0.1: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - bufferutil@4.1.0: - dependencies: - node-gyp-build: 4.8.4 - optional: true - - bytes@3.1.2: {} - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - callsites@3.1.0: {} - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - camelcase@7.0.1: {} - - caniuse-lite@1.0.30001739: {} - - caniuse-lite@1.0.30001769: - optional: true - - chalk@1.1.3: - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.6.0: {} - - chalk@5.6.2: {} - - char-regex@1.0.2: {} - - chardet@0.7.0: {} - - chardet@2.1.0: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - ci-info@3.9.0: {} - - ci-info@4.3.0: {} - - ci-info@4.4.0: - optional: true - - cjs-module-lexer@1.4.3: {} - - cjs-module-lexer@2.1.0: {} - - cli-boxes@3.0.0: {} - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-highlight@2.1.11: - dependencies: - chalk: 4.1.2 - highlight.js: 10.7.3 - mz: 2.7.0 - parse5: 5.1.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.2 - - cli-spinners@2.9.2: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - cli-width@4.1.0: {} - - cliui@7.0.4: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - clone@1.0.4: {} - - co@4.6.0: {} - - collect-v8-coverage@1.0.2: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - commander@10.0.1: {} - - commander@12.1.0: {} - - commander@14.0.0: {} - - commander@2.20.3: {} - - commander@9.5.0: {} - - concat-map@0.0.1: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - convert-source-map@2.0.0: {} - - cookie-signature@1.0.6: {} - - cookie-signature@1.2.2: {} - - cookie@0.7.1: {} - - cookie@0.7.2: {} - - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - - create-jest@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - create-jest@29.7.0(@types/node@22.18.0)(ts-node@2.1.2): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - create-require@1.1.1: {} - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-js@4.2.0: {} - - csstype@3.2.3: - optional: true - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.4.1: - dependencies: - ms: 2.1.3 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - optional: true - - dedent@1.6.0: {} - - deepmerge@4.3.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - delay@5.0.0: {} - - delayed-stream@1.0.0: {} - - depd@2.0.0: {} - - destroy@1.2.0: {} - - detect-indent@6.1.0: {} - - detect-libc@2.1.2: {} - - detect-newline@3.1.0: {} - - diff-sequences@29.6.3: {} - - diff@3.5.0: {} - - diff@4.0.2: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dotenv@16.6.1: {} - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - eastasianwidth@0.2.0: {} - - ee-first@1.1.1: {} - - electron-to-chromium@1.5.213: {} - - electron-to-chromium@1.5.286: - optional: true - - emittery@0.13.1: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - encodeurl@1.0.2: {} - - encodeurl@2.0.0: {} - - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - - environment@1.1.0: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es6-promise@4.2.8: {} - - es6-promisify@5.0.0: - dependencies: - es6-promise: 4.2.8 - - esbuild@0.25.9: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.9 - '@esbuild/android-arm': 0.25.9 - '@esbuild/android-arm64': 0.25.9 - '@esbuild/android-x64': 0.25.9 - '@esbuild/darwin-arm64': 0.25.9 - '@esbuild/darwin-x64': 0.25.9 - '@esbuild/freebsd-arm64': 0.25.9 - '@esbuild/freebsd-x64': 0.25.9 - '@esbuild/linux-arm': 0.25.9 - '@esbuild/linux-arm64': 0.25.9 - '@esbuild/linux-ia32': 0.25.9 - '@esbuild/linux-loong64': 0.25.9 - '@esbuild/linux-mips64el': 0.25.9 - '@esbuild/linux-ppc64': 0.25.9 - '@esbuild/linux-riscv64': 0.25.9 - '@esbuild/linux-s390x': 0.25.9 - '@esbuild/linux-x64': 0.25.9 - '@esbuild/netbsd-arm64': 0.25.9 - '@esbuild/netbsd-x64': 0.25.9 - '@esbuild/openbsd-arm64': 0.25.9 - '@esbuild/openbsd-x64': 0.25.9 - '@esbuild/openharmony-arm64': 0.25.9 - '@esbuild/sunos-x64': 0.25.9 - '@esbuild/win32-arm64': 0.25.9 - '@esbuild/win32-ia32': 0.25.9 - '@esbuild/win32-x64': 0.25.9 - - esbuild@0.28.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.28.2 - '@esbuild/android-arm': 0.28.2 - '@esbuild/android-arm64': 0.28.2 - '@esbuild/android-x64': 0.28.2 - '@esbuild/darwin-arm64': 0.28.2 - '@esbuild/darwin-x64': 0.28.2 - '@esbuild/freebsd-arm64': 0.28.2 - '@esbuild/freebsd-x64': 0.28.2 - '@esbuild/linux-arm': 0.28.2 - '@esbuild/linux-arm64': 0.28.2 - '@esbuild/linux-ia32': 0.28.2 - '@esbuild/linux-loong64': 0.28.2 - '@esbuild/linux-mips64el': 0.28.2 - '@esbuild/linux-ppc64': 0.28.2 - '@esbuild/linux-riscv64': 0.28.2 - '@esbuild/linux-s390x': 0.28.2 - '@esbuild/linux-x64': 0.28.2 - '@esbuild/netbsd-arm64': 0.28.2 - '@esbuild/netbsd-x64': 0.28.2 - '@esbuild/openbsd-arm64': 0.28.2 - '@esbuild/openbsd-x64': 0.28.2 - '@esbuild/openharmony-arm64': 0.28.2 - '@esbuild/sunos-x64': 0.28.2 - '@esbuild/win32-arm64': 0.28.2 - '@esbuild/win32-ia32': 0.28.2 - '@esbuild/win32-x64': 0.28.2 - - escalade@3.2.0: {} - - escape-html@1.0.3: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - esprima@4.0.1: {} - - etag@1.8.1: {} - - ethereum-bloom-filters@1.2.0: - dependencies: - '@noble/hashes': 1.8.0 - - ethereum-cryptography@2.2.1: - dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 - - ethers@6.15.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): - dependencies: - '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@types/node': 22.7.5 - aes-js: 4.0.0-beta.5 - tslib: 2.7.0 - ws: 8.17.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - ethjs-unit@0.1.6: - dependencies: - bn.js: 4.11.6 - number-to-bn: 1.7.0 - - eventemitter3@5.0.1: {} - - eventemitter3@5.0.4: {} - - eventsource-parser@3.0.6: {} - - eventsource@3.0.7: - dependencies: - eventsource-parser: 3.0.6 - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - exit-x@0.2.2: {} - - exit@0.1.2: {} - - expect@29.7.0: - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - - expect@30.1.2: - dependencies: - '@jest/expect-utils': 30.1.2 - '@jest/get-type': 30.1.0 - jest-matcher-utils: 30.1.2 - jest-message-util: 30.1.0 - jest-mock: 30.0.5 - jest-util: 30.0.5 - - express-rate-limit@7.5.1(express@5.1.0): - dependencies: - express: 5.1.0 - - express@4.21.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.3 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.1 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.12 - proxy-addr: 2.0.7 - qs: 6.13.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.2 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.1 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.2 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - extendable-error@0.1.7: {} - - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - eyes@0.1.8: {} - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-stable-stringify@1.0.0: {} - - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - - fflate@0.8.3: {} - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - finalhandler@1.3.1: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - finalhandler@2.1.0: - dependencies: - debug: 4.4.1 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - follow-redirects@1.15.11: {} - - for-each@0.3.5: - dependencies: - is-callable: 1.2.7 - - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - form-data@4.0.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - - forwarded@0.2.0: {} - - fp-ts@2.16.11: {} - - fresh@0.5.2: {} - - fresh@2.0.0: {} - - fs-extra@7.0.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs-extra@8.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - generator-function@2.0.1: {} - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-package-type@0.1.0: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-stream@6.0.1: {} - - get-tsconfig@4.10.1: - dependencies: - resolve-pkg-maps: 1.0.0 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob@10.4.5: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - gopd@1.2.0: {} - - graceful-fs@4.2.11: {} - - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - - has-ansi@2.0.0: - dependencies: - ansi-regex: 2.1.1 - - has-flag@4.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - highlight.js@10.7.3: {} - - html-escaper@2.0.2: {} - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - human-id@4.1.1: {} - - human-signals@2.1.0: {} - - humanize-ms@1.2.1: - dependencies: - ms: 2.1.3 - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - - ieee754@1.2.1: {} - - ignore@5.3.2: {} - - immer@11.1.4: - optional: true - - import-local@3.2.0: - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - - imurmurhash@0.1.4: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - inquirer@9.3.7: - dependencies: - '@inquirer/figures': 1.0.13 - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - external-editor: 3.1.0 - mute-stream: 1.0.0 - ora: 5.4.1 - run-async: 3.0.0 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - - io-ts@2.2.22(fp-ts@2.16.11): - dependencies: - fp-ts: 2.16.11 - - ipaddr.js@1.9.1: {} - - is-arguments@1.2.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-arrayish@0.2.1: {} - - is-arrayish@0.3.2: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-callable@1.2.7: {} - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-generator-fn@2.1.0: {} - - is-generator-function@1.1.2: - dependencies: - call-bound: 1.0.4 - generator-function: 2.0.1 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-hex-prefixed@1.0.0: {} - - is-interactive@1.0.0: {} - - is-number@7.0.0: {} - - is-promise@4.0.0: {} - - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - is-stream@2.0.1: {} - - is-subdir@1.2.0: - dependencies: - better-path-resolve: 1.0.0 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.20 - - is-unicode-supported@0.1.0: {} - - is-windows@1.0.2: {} - - isexe@2.0.0: {} - - isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10)): - dependencies: - ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10) - - isows@1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)): - dependencies: - ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) - - isows@1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)): - dependencies: - ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) - - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-instrument@5.2.1: - dependencies: - '@babel/core': 7.28.3 - '@babel/parser': 7.28.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-instrument@6.0.3: - dependencies: - '@babel/core': 7.28.3 - '@babel/parser': 7.28.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.7.4 - transitivePeerDependencies: - - supports-color - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@4.0.1: - dependencies: - debug: 4.4.1 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.30 - debug: 4.4.1 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jayson@4.2.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): - dependencies: - '@types/connect': 3.4.38 - '@types/node': 12.20.55 - '@types/ws': 7.4.7 - commander: 2.20.3 - delay: 5.0.0 - es6-promisify: 5.0.0 - eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - json-stringify-safe: 5.0.1 - stream-json: 1.9.1 - uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - jest-changed-files@29.7.0: - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - - jest-changed-files@30.0.5: - dependencies: - execa: 5.1.1 - jest-util: 30.0.5 - p-limit: 3.1.0 - - jest-circus@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.6.0 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.1.0 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-circus@30.1.3: - dependencies: - '@jest/environment': 30.1.2 - '@jest/expect': 30.1.2 - '@jest/test-result': 30.1.3 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.6.0 - is-generator-fn: 2.1.0 - jest-each: 30.1.0 - jest-matcher-utils: 30.1.2 - jest-message-util: 30.1.0 - jest-runtime: 30.1.3 - jest-snapshot: 30.1.2 - jest-util: 30.0.5 - p-limit: 3.1.0 - pretty-format: 30.0.5 - pure-rand: 7.0.1 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-cli@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-cli@29.7.0(@types/node@22.18.0)(ts-node@2.1.2): - dependencies: - '@jest/core': 29.7.0(ts-node@2.1.2) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-cli@30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): - dependencies: - '@jest/core': 30.1.3(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - '@jest/test-result': 30.1.3 - '@jest/types': 30.0.5 - chalk: 4.1.2 - exit-x: 0.2.2 - import-local: 3.2.0 - jest-config: 30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - jest-util: 30.0.5 - jest-validate: 30.1.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - - jest-config@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)): - dependencies: - '@babel/core': 7.28.3 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.28.3) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.19.12 - ts-node: 10.9.2(@types/node@20.19.12)(typescript@5.9.2) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-config@29.7.0(@types/node@20.19.12)(ts-node@2.1.2): - dependencies: - '@babel/core': 7.28.3 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.28.3) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.19.12 - ts-node: 2.1.2 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-config@29.7.0(@types/node@22.18.0)(ts-node@2.1.2): - dependencies: - '@babel/core': 7.28.3 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.28.3) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 22.18.0 - ts-node: 2.1.2 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-config@30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): - dependencies: - '@babel/core': 7.28.3 - '@jest/get-type': 30.1.0 - '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.1.3 - '@jest/types': 30.0.5 - babel-jest: 30.1.2(@babel/core@7.28.3) - chalk: 4.1.2 - ci-info: 4.3.0 - deepmerge: 4.3.1 - glob: 10.4.5 - graceful-fs: 4.2.11 - jest-circus: 30.1.3 - jest-docblock: 30.0.1 - jest-environment-node: 30.1.2 - jest-regex-util: 30.0.1 - jest-resolve: 30.1.3 - jest-runner: 30.1.3 - jest-util: 30.0.5 - jest-validate: 30.1.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 30.0.5 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 22.18.0 - ts-node: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-diff@29.7.0: - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-diff@30.1.2: - dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - pretty-format: 30.0.5 - - jest-docblock@29.7.0: - dependencies: - detect-newline: 3.1.0 - - jest-docblock@30.0.1: - dependencies: - detect-newline: 3.1.0 - - jest-each@29.7.0: - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 - - jest-each@30.1.0: - dependencies: - '@jest/get-type': 30.1.0 - '@jest/types': 30.0.5 - chalk: 4.1.2 - jest-util: 30.0.5 - pretty-format: 30.0.5 - - jest-environment-node@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - jest-environment-node@30.1.2: - dependencies: - '@jest/environment': 30.1.2 - '@jest/fake-timers': 30.1.2 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - jest-mock: 30.0.5 - jest-util: 30.0.5 - jest-validate: 30.1.0 - - jest-get-type@29.6.3: {} - - jest-haste-map@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 - '@types/node': 20.19.12 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - - jest-haste-map@30.1.0: - dependencies: - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.0.5 - jest-worker: 30.1.0 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - - jest-haste-map@30.2.0: - dependencies: - '@jest/types': 30.2.0 - '@types/node': 22.19.11 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.2.0 - jest-worker: 30.2.0 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - optional: true - - jest-leak-detector@29.7.0: - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-leak-detector@30.1.0: - dependencies: - '@jest/get-type': 30.1.0 - pretty-format: 30.0.5 - - jest-matcher-utils@29.7.0: - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-matcher-utils@30.1.2: - dependencies: - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - jest-diff: 30.1.2 - pretty-format: 30.0.5 - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-message-util@30.1.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 30.0.5 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 30.0.5 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.19.12 - jest-util: 29.7.0 - - jest-mock@30.0.5: - dependencies: - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - jest-util: 30.0.5 - - jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - optionalDependencies: - jest-resolve: 29.7.0 - - jest-pnp-resolver@1.2.3(jest-resolve@30.1.3): - optionalDependencies: - jest-resolve: 30.1.3 - - jest-regex-util@29.6.3: {} - - jest-regex-util@30.0.1: {} - - jest-resolve-dependencies@29.7.0: - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - jest-resolve-dependencies@30.1.3: - dependencies: - jest-regex-util: 30.0.1 - jest-snapshot: 30.1.2 - transitivePeerDependencies: - - supports-color - - jest-resolve@29.7.0: - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.10 - resolve.exports: 2.0.3 - slash: 3.0.0 - - jest-resolve@30.1.3: - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 30.1.0 - jest-pnp-resolver: 1.2.3(jest-resolve@30.1.3) - jest-util: 30.0.5 - jest-validate: 30.1.0 - slash: 3.0.0 - unrs-resolver: 1.11.1 - - jest-runner@29.7.0: - dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - - jest-runner@30.1.3: - dependencies: - '@jest/console': 30.1.2 - '@jest/environment': 30.1.2 - '@jest/test-result': 30.1.3 - '@jest/transform': 30.1.2 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - chalk: 4.1.2 - emittery: 0.13.1 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-docblock: 30.0.1 - jest-environment-node: 30.1.2 - jest-haste-map: 30.1.0 - jest-leak-detector: 30.1.0 - jest-message-util: 30.1.0 - jest-resolve: 30.1.3 - jest-runtime: 30.1.3 - jest-util: 30.0.5 - jest-watcher: 30.1.3 - jest-worker: 30.1.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - - jest-runtime@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - chalk: 4.1.2 - cjs-module-lexer: 1.4.3 - collect-v8-coverage: 1.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-runtime@30.1.3: - dependencies: - '@jest/environment': 30.1.2 - '@jest/fake-timers': 30.1.2 - '@jest/globals': 30.1.2 - '@jest/source-map': 30.0.1 - '@jest/test-result': 30.1.3 - '@jest/transform': 30.1.2 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - chalk: 4.1.2 - cjs-module-lexer: 2.1.0 - collect-v8-coverage: 1.0.2 - glob: 10.4.5 - graceful-fs: 4.2.11 - jest-haste-map: 30.1.0 - jest-message-util: 30.1.0 - jest-mock: 30.0.5 - jest-regex-util: 30.0.1 - jest-resolve: 30.1.3 - jest-snapshot: 30.1.2 - jest-util: 30.0.5 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-snapshot@29.7.0: - dependencies: - '@babel/core': 7.28.3 - '@babel/generator': 7.28.3 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) - '@babel/types': 7.28.2 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) - chalk: 4.1.2 - expect: 29.7.0 - graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - natural-compare: 1.4.0 - pretty-format: 29.7.0 - semver: 7.7.4 - transitivePeerDependencies: - - supports-color - - jest-snapshot@30.1.2: - dependencies: - '@babel/core': 7.28.3 - '@babel/generator': 7.28.3 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) - '@babel/types': 7.28.2 - '@jest/expect-utils': 30.1.2 - '@jest/get-type': 30.1.0 - '@jest/snapshot-utils': 30.1.2 - '@jest/transform': 30.1.2 - '@jest/types': 30.0.5 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) - chalk: 4.1.2 - expect: 30.1.2 - graceful-fs: 4.2.11 - jest-diff: 30.1.2 - jest-matcher-utils: 30.1.2 - jest-message-util: 30.1.0 - jest-util: 30.0.5 - pretty-format: 30.0.5 - semver: 7.7.4 - synckit: 0.11.11 - transitivePeerDependencies: - - supports-color - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-util@30.0.5: - dependencies: - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - chalk: 4.1.2 - ci-info: 4.3.0 - graceful-fs: 4.2.11 - picomatch: 4.0.3 - - jest-util@30.2.0: - dependencies: - '@jest/types': 30.2.0 - '@types/node': 22.19.11 - chalk: 4.1.2 - ci-info: 4.4.0 - graceful-fs: 4.2.11 - picomatch: 4.0.3 - optional: true - - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - - jest-validate@30.1.0: - dependencies: - '@jest/get-type': 30.1.0 - '@jest/types': 30.0.5 - camelcase: 6.3.0 - chalk: 4.1.2 - leven: 3.1.0 - pretty-format: 30.0.5 - - jest-watcher@29.7.0: - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 - - jest-watcher@30.1.3: - dependencies: - '@jest/test-result': 30.1.3 - '@jest/types': 30.0.5 - '@types/node': 22.18.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 30.0.5 - string-length: 4.0.2 - - jest-worker@29.7.0: - dependencies: - '@types/node': 22.18.0 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest-worker@30.1.0: - dependencies: - '@types/node': 22.18.0 - '@ungap/structured-clone': 1.3.0 - jest-util: 30.0.5 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest-worker@30.2.0: - dependencies: - '@types/node': 22.19.11 - '@ungap/structured-clone': 1.3.0 - jest-util: 30.2.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - optional: true - - jest@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest@29.7.0(@types/node@22.18.0)(ts-node@2.1.2): - dependencies: - '@jest/core': 29.7.0(ts-node@2.1.2) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest@30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): - dependencies: - '@jest/core': 30.1.3(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - '@jest/types': 30.0.5 - import-local: 3.2.0 - jest-cli: 30.1.3(@types/node@22.18.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - jsesc@3.1.0: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-stringify-safe@5.0.1: {} - - json5@2.2.3: {} - - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - - kleur@3.0.3: {} - - leven@3.1.0: {} - - lines-and-columns@1.2.4: {} - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - lodash.memoize@4.1.2: {} - - lodash.startcase@4.4.0: {} - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - lru-cache@10.4.3: {} - - lru-cache@11.5.2: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@4.0.0: - dependencies: - semver: 7.7.4 - - make-error@1.3.6: {} - - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - - marked-terminal@7.3.0(marked@9.1.6): - dependencies: - ansi-escapes: 7.3.0 - ansi-regex: 6.2.0 - chalk: 5.6.2 - cli-highlight: 2.1.11 - cli-table3: 0.6.5 - marked: 9.1.6 - node-emoji: 2.2.0 - supports-hyperlinks: 3.2.0 - - marked@9.1.6: {} - - math-intrinsics@1.1.0: {} - - media-typer@0.3.0: {} - - media-typer@1.1.0: {} - - merge-descriptors@1.0.3: {} - - merge-descriptors@2.0.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - merkletreejs@0.3.11: - dependencies: - bignumber.js: 9.3.1 - buffer-reverse: 1.0.1 - crypto-js: 4.2.0 - treeify: 1.1.0 - web3-utils: 1.10.4 - - methods@1.1.2: {} - - micro-ftch@0.3.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-db@1.54.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - - mime@1.6.0: {} - - mimic-fn@2.1.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.12 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.2 - - minimist@1.2.8: {} - - minipass@7.1.2: {} - - mipd@0.0.7(typescript@5.9.2): - optionalDependencies: - typescript: 5.9.2 - - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - - mri@1.2.0: {} - - ms@2.0.0: {} - - ms@2.1.3: {} - - mute-stream@1.0.0: {} - - mylas@2.1.13: {} - - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - - napi-postinstall@0.3.3: {} - - natural-compare@1.4.0: {} - - negotiator@0.6.3: {} - - negotiator@1.0.0: {} - - neo-async@2.6.2: {} - - node-emoji@2.2.0: - dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-gyp-build@4.8.4: - optional: true - - node-int64@0.4.0: {} - - node-releases@2.0.19: {} - - node-releases@2.0.27: - optional: true - - normalize-path@3.0.0: {} - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - number-to-bn@1.7.0: - dependencies: - bn.js: 4.11.6 - strip-hex-prefix: 1.0.0 - - object-assign@4.1.1: {} - - object-inspect@1.13.4: {} - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - os-tmpdir@1.0.2: {} - - outdent@0.5.0: {} - - ox@0.12.0(typescript@5.9.2)(zod@3.25.76): - dependencies: - '@adraffy/ens-normalize': 1.11.1 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3(typescript@5.9.2)(zod@3.25.76) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - zod - optional: true - - ox@0.9.3(typescript@5.9.2)(zod@3.25.76): - dependencies: - '@adraffy/ens-normalize': 1.11.0 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3(typescript@5.9.2)(zod@3.25.76) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - zod - - ox@0.9.3(typescript@5.9.3)(zod@3.25.76): - dependencies: - '@adraffy/ens-normalize': 1.11.0 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3(typescript@5.9.3)(zod@3.25.76) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - zod - - p-filter@2.1.0: - dependencies: - p-map: 2.1.0 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-map@2.1.0: {} - - p-try@2.2.0: {} - - package-json-from-dist@1.0.1: {} - - package-manager-detector@0.2.11: - dependencies: - quansync: 0.2.11 - - package-manager-detector@1.8.0: {} - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse5-htmlparser2-tree-adapter@6.0.1: - dependencies: - parse5: 6.0.1 - - parse5@5.1.1: {} - - parse5@6.0.1: {} - - parseurl@1.3.3: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - - path-to-regexp@0.1.12: {} - - path-to-regexp@8.3.0: {} - - path-type@4.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.3: {} - - pify@4.0.1: {} - - pinkie@2.0.4: {} - - pirates@4.0.7: {} - - pkce-challenge@5.0.0: {} - - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - - plimit-lit@1.6.1: - dependencies: - queue-lit: 1.5.2 - - possible-typed-array-names@1.1.0: {} - - prettier@2.8.8: {} - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - pretty-format@30.0.5: - dependencies: - '@jest/schemas': 30.0.5 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - - proxy-from-env@1.1.0: {} - - publint@0.3.23: - dependencies: - '@publint/pack': 0.1.6 - package-manager-detector: 1.8.0 - picocolors: 1.1.1 - sade: 1.8.1 - - punycode@1.3.2: {} - - punycode@2.3.1: {} - - pure-rand@6.1.0: {} - - pure-rand@7.0.1: {} - - pvtsutils@1.3.6: - dependencies: - tslib: 2.8.1 - - pvutils@1.1.5: {} - - qs@6.13.0: - dependencies: - side-channel: 1.1.0 - - qs@6.14.0: - dependencies: - side-channel: 1.1.0 - - quansync@0.2.11: {} - - querystring@0.2.0: {} - - queue-lit@1.5.2: {} - - queue-microtask@1.2.3: {} - - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - range-parser@1.2.1: {} - - raw-body@2.5.2: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - - react-dom@19.2.4(react@19.2.4): - dependencies: - react: 19.2.4 - scheduler: 0.27.0 - - react-is@18.3.1: {} - - react@19.2.4: {} - - read-yaml-file@1.1.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - reflect-metadata@0.2.2: {} - - require-directory@2.1.1: {} - - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - - resolve-from@5.0.0: {} - - resolve-pkg-maps@1.0.0: {} - - resolve.exports@2.0.3: {} - - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - reusify@1.1.0: {} - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - router@2.2.0: - dependencies: - debug: 4.4.1 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.3.0 - transitivePeerDependencies: - - supports-color - - rpc-websockets@9.1.3: - dependencies: - '@swc/helpers': 0.5.17 - '@types/uuid': 8.3.4 - '@types/ws': 8.18.1 - buffer: 6.0.3 - eventemitter3: 5.0.4 - uuid: 8.3.2 - ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 5.0.10 - - run-async@3.0.0: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - rxjs@7.8.2: - dependencies: - tslib: 2.8.1 - - sade@1.8.1: - dependencies: - mri: 1.2.0 - - safe-buffer@5.2.1: {} - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - - safer-buffer@2.1.2: {} - - scheduler@0.27.0: {} - - semver@6.3.1: {} - - semver@7.7.2: {} - - semver@7.7.4: {} - - send@0.19.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - send@1.2.0: - dependencies: - debug: 4.4.1 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - - serve-static@1.16.2: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color - - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - - setprototypeof@1.2.0: {} - - sharp@0.33.5: - dependencies: - color: 4.2.3 - detect-libc: 2.1.2 - semver: 7.7.4 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.5 - '@img/sharp-darwin-x64': 0.33.5 - '@img/sharp-libvips-darwin-arm64': 1.0.4 - '@img/sharp-libvips-darwin-x64': 1.0.4 - '@img/sharp-libvips-linux-arm': 1.0.5 - '@img/sharp-libvips-linux-arm64': 1.0.4 - '@img/sharp-libvips-linux-s390x': 1.0.4 - '@img/sharp-libvips-linux-x64': 1.0.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - '@img/sharp-linux-arm': 0.33.5 - '@img/sharp-linux-arm64': 0.33.5 - '@img/sharp-linux-s390x': 0.33.5 - '@img/sharp-linux-x64': 0.33.5 - '@img/sharp-linuxmusl-arm64': 0.33.5 - '@img/sharp-linuxmusl-x64': 0.33.5 - '@img/sharp-wasm32': 0.33.5 - '@img/sharp-win32-ia32': 0.33.5 - '@img/sharp-win32-x64': 0.33.5 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - - sisteransi@1.0.5: {} - - skin-tone@2.0.0: - dependencies: - unicode-emoji-modifier-base: 1.0.0 - - slash@3.0.0: {} - - source-map-support@0.4.18: - dependencies: - source-map: 0.5.7 - - source-map-support@0.5.13: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.5.7: {} - - source-map@0.6.1: {} - - spawndamnit@3.0.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - sprintf-js@1.0.3: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - statuses@2.0.1: {} - - statuses@2.0.2: {} - - stream-chain@2.2.5: {} - - stream-json@1.9.1: - dependencies: - stream-chain: 2.2.5 - - string-length@4.0.2: - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - strip-ansi@3.0.1: - dependencies: - ansi-regex: 2.1.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.2.0 - - strip-bom@3.0.0: {} - - strip-bom@4.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-hex-prefix@1.0.0: - dependencies: - is-hex-prefixed: 1.0.0 - - strip-json-comments@2.0.1: {} - - strip-json-comments@3.1.1: {} - - superstruct@2.0.2: {} - - supports-color@2.0.0: {} - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-hyperlinks@3.2.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - synckit@0.11.11: - dependencies: - '@pkgr/core': 0.2.9 - - term-size@2.2.1: {} - - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - - text-encoding-utf-8@1.0.2: {} - - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - - tinyexec@1.3.0: {} - - tldts-core@6.1.86: {} - - tldts@6.0.16: - dependencies: - tldts-core: 6.1.86 - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - tmpl@1.0.5: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - toidentifier@1.0.1: {} - - tr46@0.0.3: {} - - treeify@1.1.0: {} - - ts-jest@29.4.1(@babel/core@7.28.3)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.3))(esbuild@0.28.2)(jest-util@30.2.0)(jest@29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)))(typescript@5.9.2): - dependencies: - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - handlebars: 4.7.8 - jest: 29.7.0(@types/node@20.19.12)(ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2)) - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.7.2 - type-fest: 4.41.0 - typescript: 5.9.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.28.3 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.3) - esbuild: 0.28.2 - jest-util: 30.2.0 - - ts-jest@29.4.1(@babel/core@7.28.3)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.3))(esbuild@0.28.2)(jest-util@30.2.0)(jest@29.7.0(@types/node@22.18.0)(ts-node@2.1.2))(typescript@5.9.2): - dependencies: - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - handlebars: 4.7.8 - jest: 29.7.0(@types/node@22.18.0)(ts-node@2.1.2) - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.7.2 - type-fest: 4.41.0 - typescript: 5.9.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.28.3 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.3) - esbuild: 0.28.2 - jest-util: 30.2.0 - - ts-node@10.9.2(@types/node@20.19.12)(typescript@5.9.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.12 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 22.18.0 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - - ts-node@2.1.2: - dependencies: - arrify: 1.0.1 - chalk: 1.1.3 - diff: 3.5.0 - make-error: 1.3.6 - minimist: 1.2.8 - mkdirp: 0.5.6 - pinkie: 2.0.4 - source-map-support: 0.4.18 - tsconfig: 6.0.0 - v8flags: 2.1.1 - xtend: 4.0.2 - yn: 1.3.0 - - tsc-alias@1.8.16: - dependencies: - chokidar: 3.6.0 - commander: 9.5.0 - get-tsconfig: 4.10.1 - globby: 11.1.0 - mylas: 2.1.13 - normalize-path: 3.0.0 - plimit-lit: 1.6.1 - - tsconfig@6.0.0: - dependencies: - strip-bom: 3.0.0 - strip-json-comments: 2.0.1 - - tslib@1.14.1: {} - - tslib@2.7.0: {} - - tslib@2.8.1: {} - - tsx@4.20.5: - dependencies: - esbuild: 0.25.9 - get-tsconfig: 4.10.1 - optionalDependencies: - fsevents: 2.3.3 - - tsyringe@4.10.0: - dependencies: - tslib: 1.14.1 - - type-detect@4.0.8: {} - - type-fest@0.21.3: {} - - type-fest@2.19.0: {} - - type-fest@4.41.0: {} - - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 - - typescript@5.6.1-rc: {} - - typescript@5.9.2: {} - - typescript@5.9.3: - optional: true - - uglify-js@3.19.3: - optional: true - - undici-types@6.19.8: {} - - undici-types@6.21.0: {} - - unicode-emoji-modifier-base@1.0.0: {} - - universalify@0.1.2: {} - - unpipe@1.0.0: {} - - unrs-resolver@1.11.1: - dependencies: - napi-postinstall: 0.3.3 - optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.11.1 - '@unrs/resolver-binding-android-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-x64': 1.11.1 - '@unrs/resolver-binding-freebsd-x64': 1.11.1 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 - '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-musl': 1.11.1 - '@unrs/resolver-binding-wasm32-wasi': 1.11.1 - '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 - '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 - '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - - update-browserslist-db@1.1.3(browserslist@4.25.4): - dependencies: - browserslist: 4.25.4 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.2.3(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 - escalade: 3.2.0 - picocolors: 1.1.1 - optional: true - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - url@0.11.0: - dependencies: - punycode: 1.3.2 - querystring: 0.2.0 - - user-home@1.1.1: {} - - utf-8-validate@5.0.10: - dependencies: - node-gyp-build: 4.8.4 - optional: true - - utf-8-validate@6.0.6: - dependencies: - node-gyp-build: 4.8.4 - optional: true - - utf8@3.0.0: {} - - util-deprecate@1.0.2: {} - - util@0.12.5: - dependencies: - inherits: 2.0.4 - is-arguments: 1.2.0 - is-generator-function: 1.1.2 - is-typed-array: 1.1.15 - which-typed-array: 1.1.20 - - utils-merge@1.0.1: {} - - uuid@11.1.0: {} - - uuid@8.3.2: {} - - v8-compile-cache-lib@3.0.1: {} - - v8-to-istanbul@9.3.0: - dependencies: - '@jridgewell/trace-mapping': 0.3.30 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - - v8flags@2.1.1: - dependencies: - user-home: 1.1.1 - - validate-npm-package-name@5.0.1: {} - - vary@1.1.2: {} - - viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76): - dependencies: - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.2)(zod@3.25.76) - isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)) - ox: 0.9.3(typescript@5.9.2)(zod@3.25.76) - ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10) - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@6.0.6)(zod@3.25.76): - dependencies: - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.2)(zod@3.25.76) - isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - ox: 0.9.3(typescript@5.9.2)(zod@3.25.76) - ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@3.25.76): - dependencies: - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.3)(zod@3.25.76) - isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)) - ox: 0.9.3(typescript@5.9.3)(zod@3.25.76) - ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - web3-utils@1.10.4: - dependencies: - '@ethereumjs/util': 8.1.0 - bn.js: 5.2.2 - ethereum-bloom-filters: 1.2.0 - ethereum-cryptography: 2.2.1 - ethjs-unit: 0.1.6 - number-to-bn: 1.7.0 - randombytes: 2.1.0 - utf8: 3.0.0 - - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - - which-typed-array@1.1.20: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - - wordwrap@1.0.0: {} - - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} - - write-file-atomic@4.0.2: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - - write-file-atomic@5.0.1: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 4.1.0 - - ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 5.0.10 - - ws@8.17.1(bufferutil@4.1.0)(utf-8-validate@6.0.6): - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 6.0.6 - - ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 5.0.10 - - ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6): - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 6.0.6 - - ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.1.0 - utf-8-validate: 5.0.10 - - xtend@4.0.2: {} - - y18n@5.0.8: {} - - yallist@3.1.1: {} - - yargs-parser@20.2.9: {} - - yargs-parser@21.1.1: {} - - yargs@16.2.2: - dependencies: - cliui: 7.0.4 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yn@1.3.0: - dependencies: - object-assign: 4.1.1 - - yn@3.1.1: {} - - yocto-queue@0.1.0: {} - - yoctocolors-cjs@2.1.3: {} - - zksync-sso@0.2.0(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76): - dependencies: - '@peculiar/asn1-ecc': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - '@simplewebauthn/browser': 13.2.2 - '@simplewebauthn/server': 13.2.2 - '@wagmi/core': 3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - abitype: 1.2.3(typescript@5.9.2)(zod@3.25.76) - bigint-conversion: 2.4.3 - buffer: 6.0.3 - ms: 2.1.3 - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - zod - - zksync-sso@0.4.3(@simplewebauthn/browser@13.2.2)(@simplewebauthn/server@13.2.2)(@wagmi/core@3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)))(typescript@5.9.2)(zod@3.25.76): - dependencies: - '@peculiar/asn1-ecc': 2.6.0 - '@peculiar/asn1-schema': 2.6.0 - abitype: 1.2.3(typescript@5.9.2)(zod@3.25.76) - bigint-conversion: 2.4.3 - buffer: 6.0.3 - ms: 2.1.3 - optionalDependencies: - '@simplewebauthn/browser': 13.2.2 - '@simplewebauthn/server': 13.2.2 - '@wagmi/core': 3.3.2(@types/react@19.2.13)(immer@11.1.4)(ox@0.12.0(typescript@5.9.2)(zod@3.25.76))(react@19.2.4)(typescript@5.9.2)(viem@2.37.2(bufferutil@4.1.0)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)) - typescript: 5.9.2 - transitivePeerDependencies: - - zod - optional: true - - zod-to-json-schema@3.24.6(zod@3.25.76): - dependencies: - zod: 3.25.76 - - zod@3.25.76: {} - - zod@4.0.5: {} - - zustand@5.0.0(@types/react@19.2.13)(immer@11.1.4)(react@19.2.4): - optionalDependencies: - '@types/react': 19.2.13 - immer: 11.1.4 - react: 19.2.4 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 17583ead3..000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - - 'packages/*' - # Exclude templates to avoid nested workspace conflicts - - '!packages/create-sei/templates/*' diff --git a/scripts/check-mcp-cli.ts b/scripts/check-mcp-cli.ts new file mode 100644 index 000000000..f26fff2e3 --- /dev/null +++ b/scripts/check-mcp-cli.ts @@ -0,0 +1,26 @@ +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const root = join(dirname(fileURLToPath(import.meta.url)), '..'); +const packageDir = join(root, 'packages/mcp-server'); +const packageJson = await Bun.file(join(packageDir, 'package.json')).json(); + +const checkVersion = async (entrypoint: string) => { + const process = Bun.spawn(['node', entrypoint, '--version'], { + cwd: root, + stdout: 'pipe', + stderr: 'pipe' + }); + const [exitCode, stdout, stderr] = await Promise.all([process.exited, new Response(process.stdout).text(), new Response(process.stderr).text()]); + + if (exitCode !== 0 || stdout.trim() !== packageJson.version || stderr.trim()) { + throw new Error( + `MCP CLI check failed for ${entrypoint}: exit=${exitCode}, stdout=${JSON.stringify(stdout.trim())}, stderr=${JSON.stringify(stderr.trim())}` + ); + } +}; + +await checkVersion(join(packageDir, 'bin/mcp-server.js')); +await checkVersion(join(packageDir, 'dist/index.js')); + +console.log(`MCP CLI version OK: ${packageJson.version}`); diff --git a/scripts/check-precompile-exports.ts b/scripts/check-precompile-exports.ts new file mode 100644 index 000000000..00c462525 --- /dev/null +++ b/scripts/check-precompile-exports.ts @@ -0,0 +1,65 @@ +/** + * Smoke-check that documented @sei-js/precompiles subpath exports resolve + * from the built output. Run after `bun run build`. + */ +import { existsSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const root = join(dirname(fileURLToPath(import.meta.url)), '..'); +const pkgDir = join(root, 'packages/precompiles'); +const pkg = await Bun.file(join(pkgDir, 'package.json')).json(); + +const required = ['.', './ethers', './viem', './precompiles'] as const; +const missing: string[] = []; + +for (const subpath of required) { + const entry = pkg.exports?.[subpath]; + if (!entry) { + missing.push(`${subpath} (missing from exports map)`); + continue; + } + + for (const cond of ['types', 'import', 'default'] as const) { + const rel = entry[cond]; + if (typeof rel !== 'string') { + missing.push(`${subpath} [${cond}]`); + continue; + } + const abs = join(pkgDir, rel); + if (!existsSync(abs)) { + missing.push(`${subpath} [${cond}] -> ${rel}`); + } + } +} + +const rootModule = await import(join(pkgDir, 'dist/index.js')); +const ethersModule = await import(join(pkgDir, 'dist/ethers/index.js')); +const viemModule = await import(join(pkgDir, 'dist/viem/index.js')); +const precompilesModule = await import(join(pkgDir, 'dist/precompiles/index.js')); + +if (typeof ethersModule.getBankPrecompileEthersV6Contract !== 'function') { + missing.push('getBankPrecompileEthersV6Contract is not a function'); +} +if (!viemModule.seiLocal?.id) { + missing.push('seiLocal chain export missing'); +} +if (!precompilesModule.BANK_PRECOMPILE_ADDRESS) { + missing.push('BANK_PRECOMPILE_ADDRESS missing'); +} +if (rootModule.BANK_PRECOMPILE_ABI !== precompilesModule.BANK_PRECOMPILE_ABI) { + missing.push('root and precompiles subpaths do not share ABI identity'); +} +if (rootModule.VIEM_BANK_PRECOMPILE_ABI !== viemModule.VIEM_BANK_PRECOMPILE_ABI) { + missing.push('root and viem subpaths do not share ABI identity'); +} +if (rootModule.getBankPrecompileEthersV6Contract !== ethersModule.getBankPrecompileEthersV6Contract) { + missing.push('root and ethers subpaths do not share factory identity'); +} + +if (missing.length > 0) { + console.error('Precompile export check failed:\n', missing.map((m) => ` - ${m}`).join('\n')); + process.exit(1); +} + +console.log('Precompile subpath exports OK:', required.join(', ')); diff --git a/scripts/fix-dts-extensions.ts b/scripts/fix-dts-extensions.ts new file mode 100644 index 000000000..21d56deaa --- /dev/null +++ b/scripts/fix-dts-extensions.ts @@ -0,0 +1,37 @@ +import { existsSync } from 'node:fs'; +import { readdir, readFile, writeFile } from 'node:fs/promises'; +import { dirname, join } from 'node:path'; + +const root = process.argv[2] ?? 'dist'; + +const walk = async (dir: string): Promise => { + const entries = await readdir(dir, { withFileTypes: true }); + const files: string[] = []; + for (const entry of entries) { + const path = join(dir, entry.name); + if (entry.isDirectory()) { + files.push(...(await walk(path))); + } else if (entry.name.endsWith('.d.ts')) { + files.push(path); + } + } + return files; +}; + +const relativeImport = /(from\s+|import\s*\()\s*(['"])(\.[^'"]+)\2/g; + +for (const file of await walk(root)) { + const text = await readFile(file, 'utf8'); + const next = text.replace(relativeImport, (full, prefix: string, quote: string, spec: string) => { + if (/\.(js|mjs|cjs|json)$/.test(spec)) { + return full; + } + if (existsSync(join(dirname(file), spec, 'index.d.ts'))) { + return `${prefix}${quote}${spec}/index.js${quote}`; + } + return `${prefix}${quote}${spec}.js${quote}`; + }); + if (next !== text) { + await writeFile(file, next); + } +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 97281aa7a..ca83bf67e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -3,7 +3,7 @@ "target": "ES2020", "module": "ES2020", "strict": true, - "moduleResolution": "Node", + "moduleResolution": "Bundler", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "skipLibCheck": true, @@ -11,7 +11,8 @@ "lib": ["ES2022"], "resolveJsonModule": true, "forceConsistentCasingInFileNames": true, - "declaration": false + "declaration": false, + "isolatedModules": true }, - "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.js", "**/*.test.js", "**/__tests__/**/*"] + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.js", "**/*.test.js", "**/__tests__/**/*", "**/tests/**"] } diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 000000000..0d154e31c --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "noEmit": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["bun"], + "lib": ["ES2022", "DOM", "DOM.Iterable"] + }, + "include": ["bun-test.d.ts", "packages/**/*.test.ts", "packages/**/*.spec.ts", "packages/**/__tests__/**/*.ts"], + "exclude": ["node_modules", "dist", "packages/create-sei/templates"] +}