cxs is a local-first CLI for searching Codex session logs. It is designed for progressive retrieval: find the right session first, then read
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(release): 收敛为 npm 发布

cat 336829f6 3caab2ce

+2651 -590
+1 -1
.agents/skills/cxs/SKILL.md
··· 9 9 10 10 ## 安装(两步) 11 11 12 - **1. 装 cxs CLI 二进制**(本 skill 不带 binary,只是 agent 工作流): 12 + **1. 装 cxs CLI**(本 skill 不带 CLI 包,只是 agent 工作流): 13 13 14 14 详见 README 的 [CLI Install Guide](https://github.com/catoncat/cxs#cli-install-guide)。安装后做一次 sanity: 15 15
+9 -5
.github/workflows/ci.yml
··· 13 13 - name: Checkout 14 14 uses: actions/checkout@v4 15 15 16 - - name: Setup Bun 17 - uses: oven-sh/setup-bun@v2 16 + - name: Setup Node 17 + uses: actions/setup-node@v4 18 18 with: 19 - bun-version: latest 19 + node-version: "22" 20 + cache: npm 20 21 21 22 - name: Install dependencies 22 - run: bun install --frozen-lockfile 23 + run: npm ci 23 24 24 25 - name: Run tests 25 - run: bun run check 26 + run: npm run check 27 + 28 + - name: Build package 29 + run: npm run build
+7 -94
.github/workflows/release.yml
··· 5 5 tags: 6 6 - "v*" 7 7 workflow_dispatch: 8 - inputs: 9 - tag: 10 - description: "Release tag (e.g. v0.1.0). Required when triggered manually." 11 - required: true 12 8 13 9 permissions: 14 - contents: write 10 + contents: read 15 11 16 12 jobs: 17 - build: 18 - name: build ${{ matrix.target }} 19 - runs-on: ubuntu-latest 20 - strategy: 21 - fail-fast: false 22 - matrix: 23 - include: 24 - - target: bun-darwin-arm64 25 - asset: cxs-darwin-arm64 26 - - target: bun-darwin-x64 27 - asset: cxs-darwin-x64 28 - - target: bun-linux-x64 29 - asset: cxs-linux-x64 30 - - target: bun-linux-arm64 31 - asset: cxs-linux-arm64 32 - steps: 33 - - name: Checkout 34 - uses: actions/checkout@v4 35 - 36 - - name: Setup Bun 37 - uses: oven-sh/setup-bun@v2 38 - with: 39 - bun-version: latest 40 - 41 - - name: Install dependencies 42 - run: bun install --frozen-lockfile 43 - 44 - - name: Build standalone binary 45 - run: | 46 - mkdir -p dist 47 - bun build ./cli.ts \ 48 - --compile \ 49 - --target=${{ matrix.target }} \ 50 - --outfile dist/${{ matrix.asset }} 51 - 52 - - name: Upload artifact 53 - uses: actions/upload-artifact@v4 54 - with: 55 - name: ${{ matrix.asset }} 56 - path: dist/${{ matrix.asset }} 57 - if-no-files-found: error 58 - 59 - release: 60 - name: publish release 61 - needs: build 62 - runs-on: ubuntu-latest 63 - steps: 64 - - name: Checkout 65 - uses: actions/checkout@v4 66 - 67 - - name: Resolve tag 68 - id: tag 69 - run: | 70 - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then 71 - echo "tag=${{ inputs.tag }}" >> "$GITHUB_OUTPUT" 72 - else 73 - echo "tag=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT" 74 - fi 75 - 76 - - name: Download all artifacts 77 - uses: actions/download-artifact@v4 78 - with: 79 - path: dist 80 - merge-multiple: true 81 - 82 - - name: List artifacts 83 - run: ls -la dist 84 - 85 - - name: Create or update release 86 - uses: softprops/action-gh-release@v2 87 - with: 88 - tag_name: ${{ steps.tag.outputs.tag }} 89 - name: ${{ steps.tag.outputs.tag }} 90 - generate_release_notes: true 91 - files: dist/cxs-* 92 - fail_on_unmatched_files: true 93 - 94 13 publish-npm: 95 - name: publish to npm 14 + name: publish npm package 96 15 runs-on: ubuntu-latest 97 - # Decoupled from binary build: npm publish has its own prepublishOnly 98 - # build (esbuild bundle) and runs in parallel. NPM_TOKEN must be a 99 - # granular access token with "Allow publishing without 2FA" enabled. 100 16 steps: 101 17 - name: Checkout 102 18 uses: actions/checkout@v4 103 19 104 - # setup-node before setup-bun so that node + the .npmrc with the auth 105 - # token win on PATH for `npm publish`. 106 20 - name: Setup Node 107 21 uses: actions/setup-node@v4 108 22 with: 109 23 node-version: "22" 110 24 registry-url: "https://registry.npmjs.org" 111 - 112 - - name: Setup Bun 113 - uses: oven-sh/setup-bun@v2 114 - with: 115 - bun-version: latest 25 + cache: npm 116 26 117 27 - name: Install dependencies 118 - run: bun install --frozen-lockfile 28 + run: npm ci 29 + 30 + - name: Run checks 31 + run: npm run check 119 32 120 33 - name: Publish 121 34 run: npm publish
+2 -2
AGENTS.md
··· 66 66 67 67 涉及实现或文档真相变更时,至少做与改动直接相关的验证: 68 68 69 - - `bun test` 70 - - 必要时补一条 CLI 烟测,例如 `./bin/cxs stats --json` 或 `./bin/cxs find "<query>" --json` 69 + - `npm run check` 70 + - 必要时补一条 CLI 烟测,例如 `npm run cxs -- stats --json` 或 `npm run cxs -- find "<query>" --json` 71 71 72 72 没有验证证据,不要声称“已对齐”“已完成”“文档正确”。 73 73
+7 -7
CONTRIBUTING.md
··· 2 2 3 3 ## 开发环境 4 4 5 - - Bun `>= 1.3` 5 + - Node.js `>= 22` 6 6 - macOS 或其他能读取本机 Codex session 数据的环境 7 7 8 8 安装依赖: 9 9 10 10 ```bash 11 - bun install 11 + npm install 12 12 ``` 13 13 14 14 ## 常用命令 ··· 16 16 运行测试: 17 17 18 18 ```bash 19 - bun run check 19 + npm run check 20 20 ``` 21 21 22 22 跑手工评测导出: 23 23 24 24 ```bash 25 - bun run eval:manual 25 + npm run eval:manual 26 26 ``` 27 27 28 28 对比两次评测批次: 29 29 30 30 ```bash 31 - bun run ./eval/compare-eval-batches.ts data/cxs-eval/<before-batch> data/cxs-eval/<after-batch> 31 + npm run eval:compare -- data/cxs-eval/<before-batch> data/cxs-eval/<after-batch> 32 32 ``` 33 33 34 34 ## 贡献边界 ··· 43 43 至少运行: 44 44 45 45 ```bash 46 - bun run check 46 + npm run check 47 47 ``` 48 48 49 49 如果改动涉及查询、排序、评测语义,建议补一次: 50 50 51 51 ```bash 52 - ./bin/cxs stats --json 52 + cxs stats --json 53 53 ``` 54 54 55 55 以及相关 CLI 烟测。
+29 -32
README.md
··· 34 34 35 35 > **平台支持**:**macOS / Linux only**(`darwin-arm64` / `darwin-x64` / `linux-x64` / `linux-arm64`)。Windows 走 WSL,我们没原生测过 Windows path。 36 36 37 - ### 一行安装(推荐:零依赖) 38 - 39 - 从 GitHub Release 拉对应平台的 standalone binary,自动放到 `~/.local/bin/cxs`,**不需要预装 Bun 或 Node**: 37 + ### npm 全局安装(推荐,需要 Node 22+) 40 38 41 39 ```bash 42 - curl -fsSL https://raw.githubusercontent.com/catoncat/cxs/main/scripts/install.sh | bash 40 + npm i -g @act0r/cxs 43 41 ``` 44 42 45 - 如果 `~/.local/bin` 不在 PATH,脚本会提示;或先 `export CXS_INSTALL_DIR=/usr/local/bin` 再跑。 43 + 装出来的命令是 `cxs`。当前唯一发布形态是 Node.js npm 包,不再发布 standalone binary。 46 44 47 - ### npm 全局安装(需要 Node 22+) 45 + 也可以一次性用 npx: 48 46 49 47 ```bash 50 - npm i -g @act0r/cxs 48 + npx @act0r/cxs --help 51 49 ``` 52 - 53 - 装出来的命令是 `cxs`。约 13 MB,不含 runtime,启动快。CI / 容器场景以及已有 Node 工具链的用户首选。 54 50 55 51 > 包名是 scoped 的,因为 npm 上 `cxs` 已被 css-in-js 库占用。 56 52 ··· 59 55 ```bash 60 56 git clone https://github.com/catoncat/cxs.git 61 57 cd cxs 62 - bun install # Bun 是主开发 runtime 63 - bun run cxs --version # 通过 tsx 直接跑 cli.ts 58 + npm install 59 + npm run cxs -- --version # 通过 tsx 直接跑 cli.ts 64 60 ``` 65 61 66 - 完整工程命令:`bun run check`(tsc + vitest)、`npm run build`(esbuild bundle 出 `dist/cli.js`)、`npm run eval:perf`(真实大库基准)。 62 + 完整工程命令:`npm run check`(tsc + vitest)、`npm run build`(esbuild bundle 出 `dist/cli.js`)、`npm run eval:perf`(真实大库基准)。 67 63 68 64 ### 首次使用建立索引 69 65 ··· 94 90 ### 要求 95 91 96 92 - 本机可读 `~/.codex/sessions` 97 - - 三种安装路径:standalone binary 无运行时依赖;`npm i -g` 需 Node `>= 22`;源码开发需 Bun `>= 1.3` 93 + - Node.js `>= 22` 98 94 99 95 ## 用法 100 96 ··· 107 103 先建立索引: 108 104 109 105 ```bash 110 - ./bin/cxs sync 106 + cxs sync 111 107 ``` 112 108 113 109 `sync` 默认是严格模式:任一文件解析或写库失败都会带着 per-file 诊断非零退出,并且不会提交半截索引。只有显式传 `--best-effort` 时,才会继续写入成功部分。 ··· 115 111 搜索会话: 116 112 117 113 ```bash 118 - ./bin/cxs find "health check" 114 + cxs find "health check" 119 115 ``` 120 116 121 117 `find` 会返回标题、派生的 session summary,以及当前锚点 snippet,方便先做轻量筛选再决定是否 `read-range`。如果命中只来自 session-level title/summary/compact/reasoning summary,结果会标为 `matchSource = "session"`,这时先用 `read-page` 浏览整场会话。 ··· 123 119 围绕命中点读取局部上下文: 124 120 125 121 ```bash 126 - ./bin/cxs read-range <sessionUuid> --seq 12 127 - ./bin/cxs read-range <sessionUuid> --query "health check" 122 + cxs read-range <sessionUuid> --seq 12 123 + cxs read-range <sessionUuid> --query "health check" 128 124 ``` 129 125 130 126 分页读取整场会话: 131 127 132 128 ```bash 133 - ./bin/cxs read-page <sessionUuid> --offset 0 --limit 20 129 + cxs read-page <sessionUuid> --offset 0 --limit 20 134 130 ``` 135 131 136 132 列出已索引 session(不做全文检索): 137 133 138 134 ```bash 139 - ./bin/cxs list --limit 20 140 - ./bin/cxs list --cwd hammerspoon --since 2026-04-01 --sort ended 135 + cxs list --limit 20 136 + cxs list --cwd hammerspoon --since 2026-04-01 --sort ended 141 137 ``` 142 138 143 139 索引状态: 144 140 145 141 ```bash 146 - ./bin/cxs stats 142 + cxs stats 147 143 ``` 148 144 149 145 ## 快速开始 150 146 147 + 下面以已安装的 `cxs` 命令为例;源码 checkout 中可把 `cxs` 替换成 `npm run cxs --`。 148 + 151 149 首次使用建议按下面顺序: 152 150 153 151 ```bash 154 - bun install 155 - ./bin/cxs sync 156 - ./bin/cxs find "health check" 157 - ./bin/cxs read-range <sessionUuid> --seq <matchSeq> 152 + cxs sync 153 + cxs find "health check" 154 + cxs read-range <sessionUuid> --seq <matchSeq> 158 155 ``` 159 156 160 157 如果你已经知道当前项目路径,也可以先缩范围: 161 158 162 159 ```bash 163 - ./bin/cxs list --cwd /Users/you/work/project --sort ended -n 10 160 + cxs list --cwd /Users/you/work/project --sort ended -n 10 164 161 ``` 165 162 166 163 ## 当前实现边界 ··· 193 190 先看索引时间: 194 191 195 192 ```bash 196 - ./bin/cxs stats --json 193 + cxs stats --json 197 194 ``` 198 195 199 196 如果 `lastSyncAt` 很旧,先重新同步: 200 197 201 198 ```bash 202 - ./bin/cxs sync 199 + cxs sync 203 200 ``` 204 201 205 202 ### 为什么有些中文短 query 命中不稳定? ··· 215 212 运行测试: 216 213 217 214 ```bash 218 - bun run check 215 + npm run check 219 216 ``` 220 217 221 218 跑手工评测: 222 219 223 220 ```bash 224 - bun run eval:manual 221 + npm run eval:manual 225 222 ``` 226 223 227 224 `eval:manual` 的 pass 判定现在采用 “Top-K 窗口内所有已配置 predicate 都必须命中” 的语义,并会把 predicate 级别结果写进导出 README/scorecard,避免单个弱命中把整条 query 误记为通过。 ··· 229 226 对比两次评测批次的 Top1 变化: 230 227 231 228 ```bash 232 - bun run ./eval/compare-eval-batches.ts data/cxs-eval/<before-batch> data/cxs-eval/<after-batch> 229 + npm run eval:compare -- data/cxs-eval/<before-batch> data/cxs-eval/<after-batch> 233 230 ``` 234 231 235 232 ## 开源协作 236 233 237 234 - 项目规则见 [AGENTS.md](AGENTS.md) 238 235 - 协作说明见 [CONTRIBUTING.md](CONTRIBUTING.md) 239 - - 当前公开目标是“可接手、可验证、可继续演进”的源码仓库,不承诺 npm 发布流程稳定 236 + - 当前公开目标是“可接手、可验证、可继续演进”的源码仓库;发布流程以 npm 包为唯一分发面 240 237 241 238 ## 配套 Skill 242 239
-373
bun.lock
··· 1 - { 2 - "lockfileVersion": 1, 3 - "configVersion": 1, 4 - "workspaces": { 5 - "": { 6 - "name": "cxs", 7 - "dependencies": { 8 - "better-sqlite3": "^12.9.0", 9 - "chalk": "^5.6.2", 10 - "commander": "^14.0.3", 11 - }, 12 - "devDependencies": { 13 - "@types/better-sqlite3": "^7.6.13", 14 - "@types/node": "^25.6.0", 15 - "esbuild": "^0.28.0", 16 - "tsx": "^4.21.0", 17 - "typescript": "^6.0.3", 18 - "vitest": "^4.1.5", 19 - }, 20 - }, 21 - }, 22 - "packages": { 23 - "@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="], 24 - 25 - "@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="], 26 - 27 - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="], 28 - 29 - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA=="], 30 - 31 - "@esbuild/android-arm": ["@esbuild/android-arm@0.28.0", "", { "os": "android", "cpu": "arm" }, "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ=="], 32 - 33 - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.0", "", { "os": "android", "cpu": "arm64" }, "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw=="], 34 - 35 - "@esbuild/android-x64": ["@esbuild/android-x64@0.28.0", "", { "os": "android", "cpu": "x64" }, "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA=="], 36 - 37 - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q=="], 38 - 39 - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ=="], 40 - 41 - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q=="], 42 - 43 - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw=="], 44 - 45 - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.0", "", { "os": "linux", "cpu": "arm" }, "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw=="], 46 - 47 - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A=="], 48 - 49 - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ=="], 50 - 51 - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.0", "", { "os": "linux", "cpu": "none" }, "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg=="], 52 - 53 - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.0", "", { "os": "linux", "cpu": "none" }, "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w=="], 54 - 55 - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg=="], 56 - 57 - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.0", "", { "os": "linux", "cpu": "none" }, "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ=="], 58 - 59 - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q=="], 60 - 61 - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.0", "", { "os": "linux", "cpu": "x64" }, "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ=="], 62 - 63 - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.0", "", { "os": "none", "cpu": "arm64" }, "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw=="], 64 - 65 - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.0", "", { "os": "none", "cpu": "x64" }, "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw=="], 66 - 67 - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.0", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g=="], 68 - 69 - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA=="], 70 - 71 - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.0", "", { "os": "none", "cpu": "arm64" }, "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w=="], 72 - 73 - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.0", "", { "os": "sunos", "cpu": "x64" }, "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw=="], 74 - 75 - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA=="], 76 - 77 - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA=="], 78 - 79 - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.0", "", { "os": "win32", "cpu": "x64" }, "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw=="], 80 - 81 - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], 82 - 83 - "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="], 84 - 85 - "@oxc-project/types": ["@oxc-project/types@0.127.0", "", {}, "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ=="], 86 - 87 - "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.17", "", { "os": "android", "cpu": "arm64" }, "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ=="], 88 - 89 - "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.17", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw=="], 90 - 91 - "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.17", "", { "os": "darwin", "cpu": "x64" }, "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw=="], 92 - 93 - "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.17", "", { "os": "freebsd", "cpu": "x64" }, "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw=="], 94 - 95 - "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17", "", { "os": "linux", "cpu": "arm" }, "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ=="], 96 - 97 - "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17", "", { "os": "linux", "cpu": "arm64" }, "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q=="], 98 - 99 - "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.17", "", { "os": "linux", "cpu": "arm64" }, "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg=="], 100 - 101 - "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17", "", { "os": "linux", "cpu": "ppc64" }, "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA=="], 102 - 103 - "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17", "", { "os": "linux", "cpu": "s390x" }, "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA=="], 104 - 105 - "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.17", "", { "os": "linux", "cpu": "x64" }, "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA=="], 106 - 107 - "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.17", "", { "os": "linux", "cpu": "x64" }, "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw=="], 108 - 109 - "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.17", "", { "os": "none", "cpu": "arm64" }, "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA=="], 110 - 111 - "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.17", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA=="], 112 - 113 - "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17", "", { "os": "win32", "cpu": "arm64" }, "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA=="], 114 - 115 - "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.17", "", { "os": "win32", "cpu": "x64" }, "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg=="], 116 - 117 - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.17", "", {}, "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg=="], 118 - 119 - "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], 120 - 121 - "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], 122 - 123 - "@types/better-sqlite3": ["@types/better-sqlite3@7.6.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA=="], 124 - 125 - "@types/chai": ["@types/chai@5.2.3", "", { "dependencies": { "@types/deep-eql": "*", "assertion-error": "^2.0.1" } }, "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA=="], 126 - 127 - "@types/deep-eql": ["@types/deep-eql@4.0.2", "", {}, "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw=="], 128 - 129 - "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], 130 - 131 - "@types/node": ["@types/node@25.6.0", "", { "dependencies": { "undici-types": "~7.19.0" } }, "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ=="], 132 - 133 - "@vitest/expect": ["@vitest/expect@4.1.5", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.1.5", "@vitest/utils": "4.1.5", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" } }, "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw=="], 134 - 135 - "@vitest/mocker": ["@vitest/mocker@4.1.5", "", { "dependencies": { "@vitest/spy": "4.1.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["msw", "vite"] }, "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw=="], 136 - 137 - "@vitest/pretty-format": ["@vitest/pretty-format@4.1.5", "", { "dependencies": { "tinyrainbow": "^3.1.0" } }, "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g=="], 138 - 139 - "@vitest/runner": ["@vitest/runner@4.1.5", "", { "dependencies": { "@vitest/utils": "4.1.5", "pathe": "^2.0.3" } }, "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ=="], 140 - 141 - "@vitest/snapshot": ["@vitest/snapshot@4.1.5", "", { "dependencies": { "@vitest/pretty-format": "4.1.5", "@vitest/utils": "4.1.5", "magic-string": "^0.30.21", "pathe": "^2.0.3" } }, "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ=="], 142 - 143 - "@vitest/spy": ["@vitest/spy@4.1.5", "", {}, "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ=="], 144 - 145 - "@vitest/utils": ["@vitest/utils@4.1.5", "", { "dependencies": { "@vitest/pretty-format": "4.1.5", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" } }, "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug=="], 146 - 147 - "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], 148 - 149 - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], 150 - 151 - "better-sqlite3": ["better-sqlite3@12.9.0", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ=="], 152 - 153 - "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], 154 - 155 - "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], 156 - 157 - "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], 158 - 159 - "chai": ["chai@6.2.2", "", {}, "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg=="], 160 - 161 - "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], 162 - 163 - "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], 164 - 165 - "commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="], 166 - 167 - "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], 168 - 169 - "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], 170 - 171 - "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], 172 - 173 - "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], 174 - 175 - "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], 176 - 177 - "es-module-lexer": ["es-module-lexer@2.1.0", "", {}, "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ=="], 178 - 179 - "esbuild": ["esbuild@0.28.0", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.0", "@esbuild/android-arm": "0.28.0", "@esbuild/android-arm64": "0.28.0", "@esbuild/android-x64": "0.28.0", "@esbuild/darwin-arm64": "0.28.0", "@esbuild/darwin-x64": "0.28.0", "@esbuild/freebsd-arm64": "0.28.0", "@esbuild/freebsd-x64": "0.28.0", "@esbuild/linux-arm": "0.28.0", "@esbuild/linux-arm64": "0.28.0", "@esbuild/linux-ia32": "0.28.0", "@esbuild/linux-loong64": "0.28.0", "@esbuild/linux-mips64el": "0.28.0", "@esbuild/linux-ppc64": "0.28.0", "@esbuild/linux-riscv64": "0.28.0", "@esbuild/linux-s390x": "0.28.0", "@esbuild/linux-x64": "0.28.0", "@esbuild/netbsd-arm64": "0.28.0", "@esbuild/netbsd-x64": "0.28.0", "@esbuild/openbsd-arm64": "0.28.0", "@esbuild/openbsd-x64": "0.28.0", "@esbuild/openharmony-arm64": "0.28.0", "@esbuild/sunos-x64": "0.28.0", "@esbuild/win32-arm64": "0.28.0", "@esbuild/win32-ia32": "0.28.0", "@esbuild/win32-x64": "0.28.0" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw=="], 180 - 181 - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], 182 - 183 - "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], 184 - 185 - "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="], 186 - 187 - "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], 188 - 189 - "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="], 190 - 191 - "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], 192 - 193 - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], 194 - 195 - "get-tsconfig": ["get-tsconfig@4.14.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA=="], 196 - 197 - "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], 198 - 199 - "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], 200 - 201 - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], 202 - 203 - "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], 204 - 205 - "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], 206 - 207 - "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], 208 - 209 - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], 210 - 211 - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], 212 - 213 - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], 214 - 215 - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], 216 - 217 - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], 218 - 219 - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], 220 - 221 - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], 222 - 223 - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], 224 - 225 - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], 226 - 227 - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], 228 - 229 - "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], 230 - 231 - "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], 232 - 233 - "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], 234 - 235 - "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], 236 - 237 - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], 238 - 239 - "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="], 240 - 241 - "node-abi": ["node-abi@3.89.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA=="], 242 - 243 - "obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="], 244 - 245 - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], 246 - 247 - "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], 248 - 249 - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], 250 - 251 - "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], 252 - 253 - "postcss": ["postcss@8.5.12", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA=="], 254 - 255 - "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="], 256 - 257 - "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], 258 - 259 - "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], 260 - 261 - "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=="], 262 - 263 - "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], 264 - 265 - "rolldown": ["rolldown@1.0.0-rc.17", "", { "dependencies": { "@oxc-project/types": "=0.127.0", "@rolldown/pluginutils": "1.0.0-rc.17" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-x64": "1.0.0-rc.17", "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA=="], 266 - 267 - "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], 268 - 269 - "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], 270 - 271 - "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], 272 - 273 - "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="], 274 - 275 - "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="], 276 - 277 - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], 278 - 279 - "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], 280 - 281 - "std-env": ["std-env@4.1.0", "", {}, "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ=="], 282 - 283 - "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], 284 - 285 - "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], 286 - 287 - "tar-fs": ["tar-fs@2.1.4", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="], 288 - 289 - "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], 290 - 291 - "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], 292 - 293 - "tinyexec": ["tinyexec@1.1.1", "", {}, "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg=="], 294 - 295 - "tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="], 296 - 297 - "tinyrainbow": ["tinyrainbow@3.1.0", "", {}, "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw=="], 298 - 299 - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], 300 - 301 - "tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="], 302 - 303 - "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], 304 - 305 - "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], 306 - 307 - "undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="], 308 - 309 - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], 310 - 311 - "vite": ["vite@8.0.10", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.10", "rolldown": "1.0.0-rc.17", "tinyglobby": "^0.2.16" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw=="], 312 - 313 - "vitest": ["vitest@4.1.5", "", { "dependencies": { "@vitest/expect": "4.1.5", "@vitest/mocker": "4.1.5", "@vitest/pretty-format": "4.1.5", "@vitest/runner": "4.1.5", "@vitest/snapshot": "4.1.5", "@vitest/spy": "4.1.5", "@vitest/utils": "4.1.5", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.1.0", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", "@vitest/browser-playwright": "4.1.5", "@vitest/browser-preview": "4.1.5", "@vitest/browser-webdriverio": "4.1.5", "@vitest/coverage-istanbul": "4.1.5", "@vitest/coverage-v8": "4.1.5", "@vitest/ui": "4.1.5", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@opentelemetry/api", "@types/node", "@vitest/browser-playwright", "@vitest/browser-preview", "@vitest/browser-webdriverio", "@vitest/coverage-istanbul", "@vitest/coverage-v8", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg=="], 314 - 315 - "why-is-node-running": ["why-is-node-running@2.3.0", "", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": { "why-is-node-running": "cli.js" } }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], 316 - 317 - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], 318 - 319 - "tsx/esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="], 320 - 321 - "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="], 322 - 323 - "tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="], 324 - 325 - "tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="], 326 - 327 - "tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="], 328 - 329 - "tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="], 330 - 331 - "tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="], 332 - 333 - "tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="], 334 - 335 - "tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="], 336 - 337 - "tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="], 338 - 339 - "tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="], 340 - 341 - "tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="], 342 - 343 - "tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="], 344 - 345 - "tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="], 346 - 347 - "tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="], 348 - 349 - "tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="], 350 - 351 - "tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="], 352 - 353 - "tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="], 354 - 355 - "tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="], 356 - 357 - "tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="], 358 - 359 - "tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="], 360 - 361 - "tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="], 362 - 363 - "tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="], 364 - 365 - "tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="], 366 - 367 - "tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="], 368 - 369 - "tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="], 370 - 371 - "tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="], 372 - } 373 - }
-2
cli.ts
··· 1 - #!/usr/bin/env bun 2 - 3 1 import { existsSync } from "node:fs"; 4 2 import { Command } from "commander"; 5 3 import packageJson from "./package.json" with { type: "json" };
+4 -4
docs/CODE_QUALITY_REVIEW_2026-04-27.md
··· 23 23 验证命令: 24 24 25 25 ```bash 26 - bun run check 26 + npm run check 27 27 ``` 28 28 29 29 结果: ··· 88 88 89 89 > 状态:已在 commit `be75d87 chore: add TypeScript check` 修复(写本报告之后)。`tsconfig.json` 已就绪、`check` 后续已对齐为 `tsc --noEmit && vitest run`。 90 90 91 - 原文(保留作为背景):`package.json` 中 `check` 当前只是 `bun test`,没有 `tsc --noEmit`。Bun 可以执行 TypeScript,但不等于有完整类型检查。 91 + 原文(保留作为背景):`package.json` 中 `check` 当时只是 runner 测试,没有 `tsc --noEmit`。执行 TypeScript 不等于有完整类型检查。 92 92 93 93 当前类型已经开始变复杂,例如: 94 94 ··· 99 99 建议补: 100 100 101 101 - `tsconfig.json` 102 - - `bunx tsc --noEmit` 102 + - `npx tsc --noEmit` 103 103 - 把 `check` 改成 `tsc --noEmit && vitest run` 104 104 105 105 ### P0-2:DB 连接在异常路径上可能泄漏 ··· 130 130 131 131 ### P0-3:sync lock stale 清理存在竞争窗口 ⚠️ best-effort mitigation 132 132 133 - > 状态:已在 commit `187c5d9` 部分缓解 — 引入 `tryRemoveStaleLock` 在删除前二次比对 `pid + createdAt`。但这是 best-effort,**不是原子 TOCTOU 修复**:在二次读取与 path-based `rmSync` 之间仍有残余 race 窗口,另一个进程可能在该窗口内删除并替换 lock,导致当前进程仍可能 `rmSync` 别人的新 lock。Node/Bun 无 inode-pinned unlink,要做真正原子需引入 OS-level flock(native bindings)。 133 + > 状态:已在 commit `187c5d9` 部分缓解 — 引入 `tryRemoveStaleLock` 在删除前二次比对 `pid + createdAt`。但这是 best-effort,**不是原子 TOCTOU 修复**:在二次读取与 path-based `rmSync` 之间仍有残余 race 窗口,另一个进程可能在该窗口内删除并替换 lock,导致当前进程仍可能 `rmSync` 别人的新 lock。Node 层没有 inode-pinned unlink,要做真正原子需引入 OS-level flock(native bindings)。 134 134 > 135 135 > 工程决策:cxs 的 sync 是低并发异常路径,残余 race 窗口极窄,接受 best-effort 表述并在 `sync-lock.ts:tryRemoveStaleLock` 注释里明确标注。如未来观察到锁损坏,再考虑引入 flock 或换 rename-based 抓取。 136 136
+2 -2
docs/ROADMAP.md
··· 26 26 - `read-range` 是否给出有用上下文 27 27 - 是否命中关键 message / key phrase 28 28 - 继续复用现有: 29 - - `bun run eval:manual` 30 - - `bun run ./eval/compare-eval-batches.ts <before> <after>` 29 + - `npm run eval:manual` 30 + - `npm run eval:compare -- <before> <after>` 31 31 32 32 ### P1: 已补 session-level 字段召回 33 33
+1 -3
eval/compare-eval-batches.ts
··· 1 - #!/usr/bin/env bun 2 - 3 1 import { resolve } from "node:path"; 4 2 import { compareEvalBatches } from "./compare"; 5 3 ··· 7 5 const afterDir = process.argv[3]; 8 6 9 7 if (!beforeDir || !afterDir) { 10 - console.error("usage: bun run ./eval/compare-eval-batches.ts <beforeDir> <afterDir>"); 8 + console.error("usage: npm run eval:compare -- <beforeDir> <afterDir>"); 11 9 process.exit(1); 12 10 } 13 11
+1 -1
eval/perf-bench.ts
··· 63 63 } else if (a === "--json-only") { 64 64 jsonOnly = true; 65 65 } else if (a === "--help" || a === "-h") { 66 - console.log("Usage: bun run eval:perf [--root <dir>] [--db <path>] [--json-only]"); 66 + console.log("Usage: npm run eval:perf -- [--root <dir>] [--db <path>] [--json-only]"); 67 67 process.exit(0); 68 68 } 69 69 }
+2585
package-lock.json
··· 1 + { 2 + "name": "@act0r/cxs", 3 + "version": "0.2.3", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "@act0r/cxs", 9 + "version": "0.2.3", 10 + "license": "MIT", 11 + "os": [ 12 + "darwin", 13 + "linux" 14 + ], 15 + "dependencies": { 16 + "better-sqlite3": "^12.9.0", 17 + "chalk": "^5.6.2", 18 + "commander": "^14.0.3" 19 + }, 20 + "bin": { 21 + "cxs": "dist/cli.js" 22 + }, 23 + "devDependencies": { 24 + "@types/better-sqlite3": "^7.6.13", 25 + "@types/node": "^25.6.0", 26 + "esbuild": "^0.28.0", 27 + "tsx": "^4.21.0", 28 + "typescript": "^6.0.3", 29 + "vitest": "^4.1.5" 30 + }, 31 + "engines": { 32 + "node": ">=22" 33 + } 34 + }, 35 + "node_modules/@emnapi/wasi-threads": { 36 + "version": "1.2.1", 37 + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", 38 + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", 39 + "dev": true, 40 + "license": "MIT", 41 + "optional": true, 42 + "dependencies": { 43 + "tslib": "^2.4.0" 44 + } 45 + }, 46 + "node_modules/@esbuild/aix-ppc64": { 47 + "version": "0.28.0", 48 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", 49 + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", 50 + "cpu": [ 51 + "ppc64" 52 + ], 53 + "dev": true, 54 + "license": "MIT", 55 + "optional": true, 56 + "os": [ 57 + "aix" 58 + ], 59 + "engines": { 60 + "node": ">=18" 61 + } 62 + }, 63 + "node_modules/@esbuild/android-arm": { 64 + "version": "0.28.0", 65 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", 66 + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", 67 + "cpu": [ 68 + "arm" 69 + ], 70 + "dev": true, 71 + "license": "MIT", 72 + "optional": true, 73 + "os": [ 74 + "android" 75 + ], 76 + "engines": { 77 + "node": ">=18" 78 + } 79 + }, 80 + "node_modules/@esbuild/android-arm64": { 81 + "version": "0.28.0", 82 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", 83 + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", 84 + "cpu": [ 85 + "arm64" 86 + ], 87 + "dev": true, 88 + "license": "MIT", 89 + "optional": true, 90 + "os": [ 91 + "android" 92 + ], 93 + "engines": { 94 + "node": ">=18" 95 + } 96 + }, 97 + "node_modules/@esbuild/android-x64": { 98 + "version": "0.28.0", 99 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", 100 + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", 101 + "cpu": [ 102 + "x64" 103 + ], 104 + "dev": true, 105 + "license": "MIT", 106 + "optional": true, 107 + "os": [ 108 + "android" 109 + ], 110 + "engines": { 111 + "node": ">=18" 112 + } 113 + }, 114 + "node_modules/@esbuild/darwin-arm64": { 115 + "version": "0.28.0", 116 + "cpu": [ 117 + "arm64" 118 + ], 119 + "dev": true, 120 + "license": "MIT", 121 + "optional": true, 122 + "os": [ 123 + "darwin" 124 + ], 125 + "engines": { 126 + "node": ">=18" 127 + } 128 + }, 129 + "node_modules/@esbuild/darwin-x64": { 130 + "version": "0.28.0", 131 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", 132 + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", 133 + "cpu": [ 134 + "x64" 135 + ], 136 + "dev": true, 137 + "license": "MIT", 138 + "optional": true, 139 + "os": [ 140 + "darwin" 141 + ], 142 + "engines": { 143 + "node": ">=18" 144 + } 145 + }, 146 + "node_modules/@esbuild/freebsd-arm64": { 147 + "version": "0.28.0", 148 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", 149 + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", 150 + "cpu": [ 151 + "arm64" 152 + ], 153 + "dev": true, 154 + "license": "MIT", 155 + "optional": true, 156 + "os": [ 157 + "freebsd" 158 + ], 159 + "engines": { 160 + "node": ">=18" 161 + } 162 + }, 163 + "node_modules/@esbuild/freebsd-x64": { 164 + "version": "0.28.0", 165 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", 166 + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", 167 + "cpu": [ 168 + "x64" 169 + ], 170 + "dev": true, 171 + "license": "MIT", 172 + "optional": true, 173 + "os": [ 174 + "freebsd" 175 + ], 176 + "engines": { 177 + "node": ">=18" 178 + } 179 + }, 180 + "node_modules/@esbuild/linux-arm": { 181 + "version": "0.28.0", 182 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", 183 + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", 184 + "cpu": [ 185 + "arm" 186 + ], 187 + "dev": true, 188 + "license": "MIT", 189 + "optional": true, 190 + "os": [ 191 + "linux" 192 + ], 193 + "engines": { 194 + "node": ">=18" 195 + } 196 + }, 197 + "node_modules/@esbuild/linux-arm64": { 198 + "version": "0.28.0", 199 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", 200 + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", 201 + "cpu": [ 202 + "arm64" 203 + ], 204 + "dev": true, 205 + "license": "MIT", 206 + "optional": true, 207 + "os": [ 208 + "linux" 209 + ], 210 + "engines": { 211 + "node": ">=18" 212 + } 213 + }, 214 + "node_modules/@esbuild/linux-ia32": { 215 + "version": "0.28.0", 216 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", 217 + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", 218 + "cpu": [ 219 + "ia32" 220 + ], 221 + "dev": true, 222 + "license": "MIT", 223 + "optional": true, 224 + "os": [ 225 + "linux" 226 + ], 227 + "engines": { 228 + "node": ">=18" 229 + } 230 + }, 231 + "node_modules/@esbuild/linux-loong64": { 232 + "version": "0.28.0", 233 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", 234 + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", 235 + "cpu": [ 236 + "loong64" 237 + ], 238 + "dev": true, 239 + "license": "MIT", 240 + "optional": true, 241 + "os": [ 242 + "linux" 243 + ], 244 + "engines": { 245 + "node": ">=18" 246 + } 247 + }, 248 + "node_modules/@esbuild/linux-mips64el": { 249 + "version": "0.28.0", 250 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", 251 + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", 252 + "cpu": [ 253 + "mips64el" 254 + ], 255 + "dev": true, 256 + "license": "MIT", 257 + "optional": true, 258 + "os": [ 259 + "linux" 260 + ], 261 + "engines": { 262 + "node": ">=18" 263 + } 264 + }, 265 + "node_modules/@esbuild/linux-ppc64": { 266 + "version": "0.28.0", 267 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", 268 + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", 269 + "cpu": [ 270 + "ppc64" 271 + ], 272 + "dev": true, 273 + "license": "MIT", 274 + "optional": true, 275 + "os": [ 276 + "linux" 277 + ], 278 + "engines": { 279 + "node": ">=18" 280 + } 281 + }, 282 + "node_modules/@esbuild/linux-riscv64": { 283 + "version": "0.28.0", 284 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", 285 + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", 286 + "cpu": [ 287 + "riscv64" 288 + ], 289 + "dev": true, 290 + "license": "MIT", 291 + "optional": true, 292 + "os": [ 293 + "linux" 294 + ], 295 + "engines": { 296 + "node": ">=18" 297 + } 298 + }, 299 + "node_modules/@esbuild/linux-s390x": { 300 + "version": "0.28.0", 301 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", 302 + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", 303 + "cpu": [ 304 + "s390x" 305 + ], 306 + "dev": true, 307 + "license": "MIT", 308 + "optional": true, 309 + "os": [ 310 + "linux" 311 + ], 312 + "engines": { 313 + "node": ">=18" 314 + } 315 + }, 316 + "node_modules/@esbuild/linux-x64": { 317 + "version": "0.28.0", 318 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", 319 + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", 320 + "cpu": [ 321 + "x64" 322 + ], 323 + "dev": true, 324 + "license": "MIT", 325 + "optional": true, 326 + "os": [ 327 + "linux" 328 + ], 329 + "engines": { 330 + "node": ">=18" 331 + } 332 + }, 333 + "node_modules/@esbuild/netbsd-arm64": { 334 + "version": "0.28.0", 335 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", 336 + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", 337 + "cpu": [ 338 + "arm64" 339 + ], 340 + "dev": true, 341 + "license": "MIT", 342 + "optional": true, 343 + "os": [ 344 + "netbsd" 345 + ], 346 + "engines": { 347 + "node": ">=18" 348 + } 349 + }, 350 + "node_modules/@esbuild/netbsd-x64": { 351 + "version": "0.28.0", 352 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", 353 + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", 354 + "cpu": [ 355 + "x64" 356 + ], 357 + "dev": true, 358 + "license": "MIT", 359 + "optional": true, 360 + "os": [ 361 + "netbsd" 362 + ], 363 + "engines": { 364 + "node": ">=18" 365 + } 366 + }, 367 + "node_modules/@esbuild/openbsd-arm64": { 368 + "version": "0.28.0", 369 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", 370 + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", 371 + "cpu": [ 372 + "arm64" 373 + ], 374 + "dev": true, 375 + "license": "MIT", 376 + "optional": true, 377 + "os": [ 378 + "openbsd" 379 + ], 380 + "engines": { 381 + "node": ">=18" 382 + } 383 + }, 384 + "node_modules/@esbuild/openbsd-x64": { 385 + "version": "0.28.0", 386 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", 387 + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", 388 + "cpu": [ 389 + "x64" 390 + ], 391 + "dev": true, 392 + "license": "MIT", 393 + "optional": true, 394 + "os": [ 395 + "openbsd" 396 + ], 397 + "engines": { 398 + "node": ">=18" 399 + } 400 + }, 401 + "node_modules/@esbuild/openharmony-arm64": { 402 + "version": "0.28.0", 403 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", 404 + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", 405 + "cpu": [ 406 + "arm64" 407 + ], 408 + "dev": true, 409 + "license": "MIT", 410 + "optional": true, 411 + "os": [ 412 + "openharmony" 413 + ], 414 + "engines": { 415 + "node": ">=18" 416 + } 417 + }, 418 + "node_modules/@esbuild/sunos-x64": { 419 + "version": "0.28.0", 420 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", 421 + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", 422 + "cpu": [ 423 + "x64" 424 + ], 425 + "dev": true, 426 + "license": "MIT", 427 + "optional": true, 428 + "os": [ 429 + "sunos" 430 + ], 431 + "engines": { 432 + "node": ">=18" 433 + } 434 + }, 435 + "node_modules/@esbuild/win32-arm64": { 436 + "version": "0.28.0", 437 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", 438 + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", 439 + "cpu": [ 440 + "arm64" 441 + ], 442 + "dev": true, 443 + "license": "MIT", 444 + "optional": true, 445 + "os": [ 446 + "win32" 447 + ], 448 + "engines": { 449 + "node": ">=18" 450 + } 451 + }, 452 + "node_modules/@esbuild/win32-ia32": { 453 + "version": "0.28.0", 454 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", 455 + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", 456 + "cpu": [ 457 + "ia32" 458 + ], 459 + "dev": true, 460 + "license": "MIT", 461 + "optional": true, 462 + "os": [ 463 + "win32" 464 + ], 465 + "engines": { 466 + "node": ">=18" 467 + } 468 + }, 469 + "node_modules/@esbuild/win32-x64": { 470 + "version": "0.28.0", 471 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", 472 + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", 473 + "cpu": [ 474 + "x64" 475 + ], 476 + "dev": true, 477 + "license": "MIT", 478 + "optional": true, 479 + "os": [ 480 + "win32" 481 + ], 482 + "engines": { 483 + "node": ">=18" 484 + } 485 + }, 486 + "node_modules/@jridgewell/sourcemap-codec": { 487 + "version": "1.5.5", 488 + "dev": true, 489 + "license": "MIT" 490 + }, 491 + "node_modules/@napi-rs/wasm-runtime": { 492 + "version": "1.1.4", 493 + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", 494 + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", 495 + "dev": true, 496 + "license": "MIT", 497 + "optional": true, 498 + "dependencies": { 499 + "@tybys/wasm-util": "^0.10.1" 500 + }, 501 + "funding": { 502 + "type": "github", 503 + "url": "https://github.com/sponsors/Brooooooklyn" 504 + }, 505 + "peerDependencies": { 506 + "@emnapi/core": "^1.7.1", 507 + "@emnapi/runtime": "^1.7.1" 508 + } 509 + }, 510 + "node_modules/@oxc-project/types": { 511 + "version": "0.127.0", 512 + "dev": true, 513 + "license": "MIT", 514 + "funding": { 515 + "url": "https://github.com/sponsors/Boshen" 516 + } 517 + }, 518 + "node_modules/@rolldown/binding-android-arm64": { 519 + "version": "1.0.0-rc.17", 520 + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", 521 + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", 522 + "cpu": [ 523 + "arm64" 524 + ], 525 + "dev": true, 526 + "license": "MIT", 527 + "optional": true, 528 + "os": [ 529 + "android" 530 + ], 531 + "engines": { 532 + "node": "^20.19.0 || >=22.12.0" 533 + } 534 + }, 535 + "node_modules/@rolldown/binding-darwin-arm64": { 536 + "version": "1.0.0-rc.17", 537 + "cpu": [ 538 + "arm64" 539 + ], 540 + "dev": true, 541 + "license": "MIT", 542 + "optional": true, 543 + "os": [ 544 + "darwin" 545 + ], 546 + "engines": { 547 + "node": "^20.19.0 || >=22.12.0" 548 + } 549 + }, 550 + "node_modules/@rolldown/binding-darwin-x64": { 551 + "version": "1.0.0-rc.17", 552 + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", 553 + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", 554 + "cpu": [ 555 + "x64" 556 + ], 557 + "dev": true, 558 + "license": "MIT", 559 + "optional": true, 560 + "os": [ 561 + "darwin" 562 + ], 563 + "engines": { 564 + "node": "^20.19.0 || >=22.12.0" 565 + } 566 + }, 567 + "node_modules/@rolldown/binding-freebsd-x64": { 568 + "version": "1.0.0-rc.17", 569 + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", 570 + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", 571 + "cpu": [ 572 + "x64" 573 + ], 574 + "dev": true, 575 + "license": "MIT", 576 + "optional": true, 577 + "os": [ 578 + "freebsd" 579 + ], 580 + "engines": { 581 + "node": "^20.19.0 || >=22.12.0" 582 + } 583 + }, 584 + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { 585 + "version": "1.0.0-rc.17", 586 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", 587 + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", 588 + "cpu": [ 589 + "arm" 590 + ], 591 + "dev": true, 592 + "license": "MIT", 593 + "optional": true, 594 + "os": [ 595 + "linux" 596 + ], 597 + "engines": { 598 + "node": "^20.19.0 || >=22.12.0" 599 + } 600 + }, 601 + "node_modules/@rolldown/binding-linux-arm64-gnu": { 602 + "version": "1.0.0-rc.17", 603 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", 604 + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", 605 + "cpu": [ 606 + "arm64" 607 + ], 608 + "dev": true, 609 + "license": "MIT", 610 + "optional": true, 611 + "os": [ 612 + "linux" 613 + ], 614 + "engines": { 615 + "node": "^20.19.0 || >=22.12.0" 616 + } 617 + }, 618 + "node_modules/@rolldown/binding-linux-arm64-musl": { 619 + "version": "1.0.0-rc.17", 620 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", 621 + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", 622 + "cpu": [ 623 + "arm64" 624 + ], 625 + "dev": true, 626 + "license": "MIT", 627 + "optional": true, 628 + "os": [ 629 + "linux" 630 + ], 631 + "engines": { 632 + "node": "^20.19.0 || >=22.12.0" 633 + } 634 + }, 635 + "node_modules/@rolldown/binding-linux-ppc64-gnu": { 636 + "version": "1.0.0-rc.17", 637 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", 638 + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", 639 + "cpu": [ 640 + "ppc64" 641 + ], 642 + "dev": true, 643 + "license": "MIT", 644 + "optional": true, 645 + "os": [ 646 + "linux" 647 + ], 648 + "engines": { 649 + "node": "^20.19.0 || >=22.12.0" 650 + } 651 + }, 652 + "node_modules/@rolldown/binding-linux-s390x-gnu": { 653 + "version": "1.0.0-rc.17", 654 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", 655 + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", 656 + "cpu": [ 657 + "s390x" 658 + ], 659 + "dev": true, 660 + "license": "MIT", 661 + "optional": true, 662 + "os": [ 663 + "linux" 664 + ], 665 + "engines": { 666 + "node": "^20.19.0 || >=22.12.0" 667 + } 668 + }, 669 + "node_modules/@rolldown/binding-linux-x64-gnu": { 670 + "version": "1.0.0-rc.17", 671 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", 672 + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", 673 + "cpu": [ 674 + "x64" 675 + ], 676 + "dev": true, 677 + "license": "MIT", 678 + "optional": true, 679 + "os": [ 680 + "linux" 681 + ], 682 + "engines": { 683 + "node": "^20.19.0 || >=22.12.0" 684 + } 685 + }, 686 + "node_modules/@rolldown/binding-linux-x64-musl": { 687 + "version": "1.0.0-rc.17", 688 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", 689 + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", 690 + "cpu": [ 691 + "x64" 692 + ], 693 + "dev": true, 694 + "license": "MIT", 695 + "optional": true, 696 + "os": [ 697 + "linux" 698 + ], 699 + "engines": { 700 + "node": "^20.19.0 || >=22.12.0" 701 + } 702 + }, 703 + "node_modules/@rolldown/binding-openharmony-arm64": { 704 + "version": "1.0.0-rc.17", 705 + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", 706 + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", 707 + "cpu": [ 708 + "arm64" 709 + ], 710 + "dev": true, 711 + "license": "MIT", 712 + "optional": true, 713 + "os": [ 714 + "openharmony" 715 + ], 716 + "engines": { 717 + "node": "^20.19.0 || >=22.12.0" 718 + } 719 + }, 720 + "node_modules/@rolldown/binding-wasm32-wasi": { 721 + "version": "1.0.0-rc.17", 722 + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", 723 + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", 724 + "cpu": [ 725 + "wasm32" 726 + ], 727 + "dev": true, 728 + "license": "MIT", 729 + "optional": true, 730 + "dependencies": { 731 + "@emnapi/core": "1.10.0", 732 + "@emnapi/runtime": "1.10.0", 733 + "@napi-rs/wasm-runtime": "^1.1.4" 734 + }, 735 + "engines": { 736 + "node": "^20.19.0 || >=22.12.0" 737 + } 738 + }, 739 + "node_modules/@rolldown/binding-win32-arm64-msvc": { 740 + "version": "1.0.0-rc.17", 741 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", 742 + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", 743 + "cpu": [ 744 + "arm64" 745 + ], 746 + "dev": true, 747 + "license": "MIT", 748 + "optional": true, 749 + "os": [ 750 + "win32" 751 + ], 752 + "engines": { 753 + "node": "^20.19.0 || >=22.12.0" 754 + } 755 + }, 756 + "node_modules/@rolldown/binding-win32-x64-msvc": { 757 + "version": "1.0.0-rc.17", 758 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", 759 + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", 760 + "cpu": [ 761 + "x64" 762 + ], 763 + "dev": true, 764 + "license": "MIT", 765 + "optional": true, 766 + "os": [ 767 + "win32" 768 + ], 769 + "engines": { 770 + "node": "^20.19.0 || >=22.12.0" 771 + } 772 + }, 773 + "node_modules/@rolldown/pluginutils": { 774 + "version": "1.0.0-rc.17", 775 + "dev": true, 776 + "license": "MIT" 777 + }, 778 + "node_modules/@standard-schema/spec": { 779 + "version": "1.1.0", 780 + "dev": true, 781 + "license": "MIT" 782 + }, 783 + "node_modules/@tybys/wasm-util": { 784 + "version": "0.10.1", 785 + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", 786 + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", 787 + "dev": true, 788 + "license": "MIT", 789 + "optional": true, 790 + "dependencies": { 791 + "tslib": "^2.4.0" 792 + } 793 + }, 794 + "node_modules/@types/better-sqlite3": { 795 + "version": "7.6.13", 796 + "dev": true, 797 + "license": "MIT", 798 + "dependencies": { 799 + "@types/node": "*" 800 + } 801 + }, 802 + "node_modules/@types/chai": { 803 + "version": "5.2.3", 804 + "dev": true, 805 + "license": "MIT", 806 + "dependencies": { 807 + "@types/deep-eql": "*", 808 + "assertion-error": "^2.0.1" 809 + } 810 + }, 811 + "node_modules/@types/deep-eql": { 812 + "version": "4.0.2", 813 + "dev": true, 814 + "license": "MIT" 815 + }, 816 + "node_modules/@types/estree": { 817 + "version": "1.0.8", 818 + "dev": true, 819 + "license": "MIT" 820 + }, 821 + "node_modules/@types/node": { 822 + "version": "25.6.0", 823 + "dev": true, 824 + "license": "MIT", 825 + "dependencies": { 826 + "undici-types": "~7.19.0" 827 + } 828 + }, 829 + "node_modules/@vitest/expect": { 830 + "version": "4.1.5", 831 + "dev": true, 832 + "license": "MIT", 833 + "dependencies": { 834 + "@standard-schema/spec": "^1.1.0", 835 + "@types/chai": "^5.2.2", 836 + "@vitest/spy": "4.1.5", 837 + "@vitest/utils": "4.1.5", 838 + "chai": "^6.2.2", 839 + "tinyrainbow": "^3.1.0" 840 + }, 841 + "funding": { 842 + "url": "https://opencollective.com/vitest" 843 + } 844 + }, 845 + "node_modules/@vitest/mocker": { 846 + "version": "4.1.5", 847 + "dev": true, 848 + "license": "MIT", 849 + "dependencies": { 850 + "@vitest/spy": "4.1.5", 851 + "estree-walker": "^3.0.3", 852 + "magic-string": "^0.30.21" 853 + }, 854 + "funding": { 855 + "url": "https://opencollective.com/vitest" 856 + }, 857 + "peerDependencies": { 858 + "msw": "^2.4.9", 859 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 860 + }, 861 + "peerDependenciesMeta": { 862 + "msw": { 863 + "optional": true 864 + }, 865 + "vite": { 866 + "optional": true 867 + } 868 + } 869 + }, 870 + "node_modules/@vitest/pretty-format": { 871 + "version": "4.1.5", 872 + "dev": true, 873 + "license": "MIT", 874 + "dependencies": { 875 + "tinyrainbow": "^3.1.0" 876 + }, 877 + "funding": { 878 + "url": "https://opencollective.com/vitest" 879 + } 880 + }, 881 + "node_modules/@vitest/runner": { 882 + "version": "4.1.5", 883 + "dev": true, 884 + "license": "MIT", 885 + "dependencies": { 886 + "@vitest/utils": "4.1.5", 887 + "pathe": "^2.0.3" 888 + }, 889 + "funding": { 890 + "url": "https://opencollective.com/vitest" 891 + } 892 + }, 893 + "node_modules/@vitest/snapshot": { 894 + "version": "4.1.5", 895 + "dev": true, 896 + "license": "MIT", 897 + "dependencies": { 898 + "@vitest/pretty-format": "4.1.5", 899 + "@vitest/utils": "4.1.5", 900 + "magic-string": "^0.30.21", 901 + "pathe": "^2.0.3" 902 + }, 903 + "funding": { 904 + "url": "https://opencollective.com/vitest" 905 + } 906 + }, 907 + "node_modules/@vitest/spy": { 908 + "version": "4.1.5", 909 + "dev": true, 910 + "license": "MIT", 911 + "funding": { 912 + "url": "https://opencollective.com/vitest" 913 + } 914 + }, 915 + "node_modules/@vitest/utils": { 916 + "version": "4.1.5", 917 + "dev": true, 918 + "license": "MIT", 919 + "dependencies": { 920 + "@vitest/pretty-format": "4.1.5", 921 + "convert-source-map": "^2.0.0", 922 + "tinyrainbow": "^3.1.0" 923 + }, 924 + "funding": { 925 + "url": "https://opencollective.com/vitest" 926 + } 927 + }, 928 + "node_modules/assertion-error": { 929 + "version": "2.0.1", 930 + "dev": true, 931 + "license": "MIT", 932 + "engines": { 933 + "node": ">=12" 934 + } 935 + }, 936 + "node_modules/base64-js": { 937 + "version": "1.5.1", 938 + "funding": [ 939 + { 940 + "type": "github", 941 + "url": "https://github.com/sponsors/feross" 942 + }, 943 + { 944 + "type": "patreon", 945 + "url": "https://www.patreon.com/feross" 946 + }, 947 + { 948 + "type": "consulting", 949 + "url": "https://feross.org/support" 950 + } 951 + ], 952 + "license": "MIT" 953 + }, 954 + "node_modules/better-sqlite3": { 955 + "version": "12.9.0", 956 + "hasInstallScript": true, 957 + "license": "MIT", 958 + "dependencies": { 959 + "bindings": "^1.5.0", 960 + "prebuild-install": "^7.1.1" 961 + }, 962 + "engines": { 963 + "node": "20.x || 22.x || 23.x || 24.x || 25.x" 964 + } 965 + }, 966 + "node_modules/bindings": { 967 + "version": "1.5.0", 968 + "license": "MIT", 969 + "dependencies": { 970 + "file-uri-to-path": "1.0.0" 971 + } 972 + }, 973 + "node_modules/bl": { 974 + "version": "4.1.0", 975 + "license": "MIT", 976 + "dependencies": { 977 + "buffer": "^5.5.0", 978 + "inherits": "^2.0.4", 979 + "readable-stream": "^3.4.0" 980 + } 981 + }, 982 + "node_modules/buffer": { 983 + "version": "5.7.1", 984 + "funding": [ 985 + { 986 + "type": "github", 987 + "url": "https://github.com/sponsors/feross" 988 + }, 989 + { 990 + "type": "patreon", 991 + "url": "https://www.patreon.com/feross" 992 + }, 993 + { 994 + "type": "consulting", 995 + "url": "https://feross.org/support" 996 + } 997 + ], 998 + "license": "MIT", 999 + "dependencies": { 1000 + "base64-js": "^1.3.1", 1001 + "ieee754": "^1.1.13" 1002 + } 1003 + }, 1004 + "node_modules/chai": { 1005 + "version": "6.2.2", 1006 + "dev": true, 1007 + "license": "MIT", 1008 + "engines": { 1009 + "node": ">=18" 1010 + } 1011 + }, 1012 + "node_modules/chalk": { 1013 + "version": "5.6.2", 1014 + "license": "MIT", 1015 + "engines": { 1016 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 1017 + }, 1018 + "funding": { 1019 + "url": "https://github.com/chalk/chalk?sponsor=1" 1020 + } 1021 + }, 1022 + "node_modules/chownr": { 1023 + "version": "1.1.4", 1024 + "license": "ISC" 1025 + }, 1026 + "node_modules/commander": { 1027 + "version": "14.0.3", 1028 + "license": "MIT", 1029 + "engines": { 1030 + "node": ">=20" 1031 + } 1032 + }, 1033 + "node_modules/convert-source-map": { 1034 + "version": "2.0.0", 1035 + "dev": true, 1036 + "license": "MIT" 1037 + }, 1038 + "node_modules/decompress-response": { 1039 + "version": "6.0.0", 1040 + "license": "MIT", 1041 + "dependencies": { 1042 + "mimic-response": "^3.1.0" 1043 + }, 1044 + "engines": { 1045 + "node": ">=10" 1046 + }, 1047 + "funding": { 1048 + "url": "https://github.com/sponsors/sindresorhus" 1049 + } 1050 + }, 1051 + "node_modules/deep-extend": { 1052 + "version": "0.6.0", 1053 + "license": "MIT", 1054 + "engines": { 1055 + "node": ">=4.0.0" 1056 + } 1057 + }, 1058 + "node_modules/detect-libc": { 1059 + "version": "2.1.2", 1060 + "license": "Apache-2.0", 1061 + "engines": { 1062 + "node": ">=8" 1063 + } 1064 + }, 1065 + "node_modules/end-of-stream": { 1066 + "version": "1.4.5", 1067 + "license": "MIT", 1068 + "dependencies": { 1069 + "once": "^1.4.0" 1070 + } 1071 + }, 1072 + "node_modules/es-module-lexer": { 1073 + "version": "2.1.0", 1074 + "dev": true, 1075 + "license": "MIT" 1076 + }, 1077 + "node_modules/esbuild": { 1078 + "version": "0.28.0", 1079 + "dev": true, 1080 + "hasInstallScript": true, 1081 + "license": "MIT", 1082 + "peer": true, 1083 + "bin": { 1084 + "esbuild": "bin/esbuild" 1085 + }, 1086 + "engines": { 1087 + "node": ">=18" 1088 + }, 1089 + "optionalDependencies": { 1090 + "@esbuild/aix-ppc64": "0.28.0", 1091 + "@esbuild/android-arm": "0.28.0", 1092 + "@esbuild/android-arm64": "0.28.0", 1093 + "@esbuild/android-x64": "0.28.0", 1094 + "@esbuild/darwin-arm64": "0.28.0", 1095 + "@esbuild/darwin-x64": "0.28.0", 1096 + "@esbuild/freebsd-arm64": "0.28.0", 1097 + "@esbuild/freebsd-x64": "0.28.0", 1098 + "@esbuild/linux-arm": "0.28.0", 1099 + "@esbuild/linux-arm64": "0.28.0", 1100 + "@esbuild/linux-ia32": "0.28.0", 1101 + "@esbuild/linux-loong64": "0.28.0", 1102 + "@esbuild/linux-mips64el": "0.28.0", 1103 + "@esbuild/linux-ppc64": "0.28.0", 1104 + "@esbuild/linux-riscv64": "0.28.0", 1105 + "@esbuild/linux-s390x": "0.28.0", 1106 + "@esbuild/linux-x64": "0.28.0", 1107 + "@esbuild/netbsd-arm64": "0.28.0", 1108 + "@esbuild/netbsd-x64": "0.28.0", 1109 + "@esbuild/openbsd-arm64": "0.28.0", 1110 + "@esbuild/openbsd-x64": "0.28.0", 1111 + "@esbuild/openharmony-arm64": "0.28.0", 1112 + "@esbuild/sunos-x64": "0.28.0", 1113 + "@esbuild/win32-arm64": "0.28.0", 1114 + "@esbuild/win32-ia32": "0.28.0", 1115 + "@esbuild/win32-x64": "0.28.0" 1116 + } 1117 + }, 1118 + "node_modules/estree-walker": { 1119 + "version": "3.0.3", 1120 + "dev": true, 1121 + "license": "MIT", 1122 + "dependencies": { 1123 + "@types/estree": "^1.0.0" 1124 + } 1125 + }, 1126 + "node_modules/expand-template": { 1127 + "version": "2.0.3", 1128 + "license": "(MIT OR WTFPL)", 1129 + "engines": { 1130 + "node": ">=6" 1131 + } 1132 + }, 1133 + "node_modules/expect-type": { 1134 + "version": "1.3.0", 1135 + "dev": true, 1136 + "license": "Apache-2.0", 1137 + "engines": { 1138 + "node": ">=12.0.0" 1139 + } 1140 + }, 1141 + "node_modules/fdir": { 1142 + "version": "6.5.0", 1143 + "dev": true, 1144 + "license": "MIT", 1145 + "engines": { 1146 + "node": ">=12.0.0" 1147 + }, 1148 + "peerDependencies": { 1149 + "picomatch": "^3 || ^4" 1150 + }, 1151 + "peerDependenciesMeta": { 1152 + "picomatch": { 1153 + "optional": true 1154 + } 1155 + } 1156 + }, 1157 + "node_modules/file-uri-to-path": { 1158 + "version": "1.0.0", 1159 + "license": "MIT" 1160 + }, 1161 + "node_modules/fs-constants": { 1162 + "version": "1.0.0", 1163 + "license": "MIT" 1164 + }, 1165 + "node_modules/fsevents": { 1166 + "version": "2.3.3", 1167 + "dev": true, 1168 + "license": "MIT", 1169 + "optional": true, 1170 + "os": [ 1171 + "darwin" 1172 + ], 1173 + "engines": { 1174 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1175 + } 1176 + }, 1177 + "node_modules/get-tsconfig": { 1178 + "version": "4.14.0", 1179 + "dev": true, 1180 + "license": "MIT", 1181 + "dependencies": { 1182 + "resolve-pkg-maps": "^1.0.0" 1183 + }, 1184 + "funding": { 1185 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 1186 + } 1187 + }, 1188 + "node_modules/github-from-package": { 1189 + "version": "0.0.0", 1190 + "license": "MIT" 1191 + }, 1192 + "node_modules/ieee754": { 1193 + "version": "1.2.1", 1194 + "funding": [ 1195 + { 1196 + "type": "github", 1197 + "url": "https://github.com/sponsors/feross" 1198 + }, 1199 + { 1200 + "type": "patreon", 1201 + "url": "https://www.patreon.com/feross" 1202 + }, 1203 + { 1204 + "type": "consulting", 1205 + "url": "https://feross.org/support" 1206 + } 1207 + ], 1208 + "license": "BSD-3-Clause" 1209 + }, 1210 + "node_modules/inherits": { 1211 + "version": "2.0.4", 1212 + "license": "ISC" 1213 + }, 1214 + "node_modules/ini": { 1215 + "version": "1.3.8", 1216 + "license": "ISC" 1217 + }, 1218 + "node_modules/lightningcss": { 1219 + "version": "1.32.0", 1220 + "dev": true, 1221 + "license": "MPL-2.0", 1222 + "dependencies": { 1223 + "detect-libc": "^2.0.3" 1224 + }, 1225 + "engines": { 1226 + "node": ">= 12.0.0" 1227 + }, 1228 + "funding": { 1229 + "type": "opencollective", 1230 + "url": "https://opencollective.com/parcel" 1231 + }, 1232 + "optionalDependencies": { 1233 + "lightningcss-android-arm64": "1.32.0", 1234 + "lightningcss-darwin-arm64": "1.32.0", 1235 + "lightningcss-darwin-x64": "1.32.0", 1236 + "lightningcss-freebsd-x64": "1.32.0", 1237 + "lightningcss-linux-arm-gnueabihf": "1.32.0", 1238 + "lightningcss-linux-arm64-gnu": "1.32.0", 1239 + "lightningcss-linux-arm64-musl": "1.32.0", 1240 + "lightningcss-linux-x64-gnu": "1.32.0", 1241 + "lightningcss-linux-x64-musl": "1.32.0", 1242 + "lightningcss-win32-arm64-msvc": "1.32.0", 1243 + "lightningcss-win32-x64-msvc": "1.32.0" 1244 + } 1245 + }, 1246 + "node_modules/lightningcss-android-arm64": { 1247 + "version": "1.32.0", 1248 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", 1249 + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", 1250 + "cpu": [ 1251 + "arm64" 1252 + ], 1253 + "dev": true, 1254 + "license": "MPL-2.0", 1255 + "optional": true, 1256 + "os": [ 1257 + "android" 1258 + ], 1259 + "engines": { 1260 + "node": ">= 12.0.0" 1261 + }, 1262 + "funding": { 1263 + "type": "opencollective", 1264 + "url": "https://opencollective.com/parcel" 1265 + } 1266 + }, 1267 + "node_modules/lightningcss-darwin-arm64": { 1268 + "version": "1.32.0", 1269 + "cpu": [ 1270 + "arm64" 1271 + ], 1272 + "dev": true, 1273 + "license": "MPL-2.0", 1274 + "optional": true, 1275 + "os": [ 1276 + "darwin" 1277 + ], 1278 + "engines": { 1279 + "node": ">= 12.0.0" 1280 + }, 1281 + "funding": { 1282 + "type": "opencollective", 1283 + "url": "https://opencollective.com/parcel" 1284 + } 1285 + }, 1286 + "node_modules/lightningcss-darwin-x64": { 1287 + "version": "1.32.0", 1288 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", 1289 + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", 1290 + "cpu": [ 1291 + "x64" 1292 + ], 1293 + "dev": true, 1294 + "license": "MPL-2.0", 1295 + "optional": true, 1296 + "os": [ 1297 + "darwin" 1298 + ], 1299 + "engines": { 1300 + "node": ">= 12.0.0" 1301 + }, 1302 + "funding": { 1303 + "type": "opencollective", 1304 + "url": "https://opencollective.com/parcel" 1305 + } 1306 + }, 1307 + "node_modules/lightningcss-freebsd-x64": { 1308 + "version": "1.32.0", 1309 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", 1310 + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", 1311 + "cpu": [ 1312 + "x64" 1313 + ], 1314 + "dev": true, 1315 + "license": "MPL-2.0", 1316 + "optional": true, 1317 + "os": [ 1318 + "freebsd" 1319 + ], 1320 + "engines": { 1321 + "node": ">= 12.0.0" 1322 + }, 1323 + "funding": { 1324 + "type": "opencollective", 1325 + "url": "https://opencollective.com/parcel" 1326 + } 1327 + }, 1328 + "node_modules/lightningcss-linux-arm-gnueabihf": { 1329 + "version": "1.32.0", 1330 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", 1331 + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", 1332 + "cpu": [ 1333 + "arm" 1334 + ], 1335 + "dev": true, 1336 + "license": "MPL-2.0", 1337 + "optional": true, 1338 + "os": [ 1339 + "linux" 1340 + ], 1341 + "engines": { 1342 + "node": ">= 12.0.0" 1343 + }, 1344 + "funding": { 1345 + "type": "opencollective", 1346 + "url": "https://opencollective.com/parcel" 1347 + } 1348 + }, 1349 + "node_modules/lightningcss-linux-arm64-gnu": { 1350 + "version": "1.32.0", 1351 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", 1352 + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", 1353 + "cpu": [ 1354 + "arm64" 1355 + ], 1356 + "dev": true, 1357 + "license": "MPL-2.0", 1358 + "optional": true, 1359 + "os": [ 1360 + "linux" 1361 + ], 1362 + "engines": { 1363 + "node": ">= 12.0.0" 1364 + }, 1365 + "funding": { 1366 + "type": "opencollective", 1367 + "url": "https://opencollective.com/parcel" 1368 + } 1369 + }, 1370 + "node_modules/lightningcss-linux-arm64-musl": { 1371 + "version": "1.32.0", 1372 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", 1373 + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", 1374 + "cpu": [ 1375 + "arm64" 1376 + ], 1377 + "dev": true, 1378 + "license": "MPL-2.0", 1379 + "optional": true, 1380 + "os": [ 1381 + "linux" 1382 + ], 1383 + "engines": { 1384 + "node": ">= 12.0.0" 1385 + }, 1386 + "funding": { 1387 + "type": "opencollective", 1388 + "url": "https://opencollective.com/parcel" 1389 + } 1390 + }, 1391 + "node_modules/lightningcss-linux-x64-gnu": { 1392 + "version": "1.32.0", 1393 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", 1394 + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", 1395 + "cpu": [ 1396 + "x64" 1397 + ], 1398 + "dev": true, 1399 + "license": "MPL-2.0", 1400 + "optional": true, 1401 + "os": [ 1402 + "linux" 1403 + ], 1404 + "engines": { 1405 + "node": ">= 12.0.0" 1406 + }, 1407 + "funding": { 1408 + "type": "opencollective", 1409 + "url": "https://opencollective.com/parcel" 1410 + } 1411 + }, 1412 + "node_modules/lightningcss-linux-x64-musl": { 1413 + "version": "1.32.0", 1414 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", 1415 + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", 1416 + "cpu": [ 1417 + "x64" 1418 + ], 1419 + "dev": true, 1420 + "license": "MPL-2.0", 1421 + "optional": true, 1422 + "os": [ 1423 + "linux" 1424 + ], 1425 + "engines": { 1426 + "node": ">= 12.0.0" 1427 + }, 1428 + "funding": { 1429 + "type": "opencollective", 1430 + "url": "https://opencollective.com/parcel" 1431 + } 1432 + }, 1433 + "node_modules/lightningcss-win32-arm64-msvc": { 1434 + "version": "1.32.0", 1435 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", 1436 + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", 1437 + "cpu": [ 1438 + "arm64" 1439 + ], 1440 + "dev": true, 1441 + "license": "MPL-2.0", 1442 + "optional": true, 1443 + "os": [ 1444 + "win32" 1445 + ], 1446 + "engines": { 1447 + "node": ">= 12.0.0" 1448 + }, 1449 + "funding": { 1450 + "type": "opencollective", 1451 + "url": "https://opencollective.com/parcel" 1452 + } 1453 + }, 1454 + "node_modules/lightningcss-win32-x64-msvc": { 1455 + "version": "1.32.0", 1456 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", 1457 + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", 1458 + "cpu": [ 1459 + "x64" 1460 + ], 1461 + "dev": true, 1462 + "license": "MPL-2.0", 1463 + "optional": true, 1464 + "os": [ 1465 + "win32" 1466 + ], 1467 + "engines": { 1468 + "node": ">= 12.0.0" 1469 + }, 1470 + "funding": { 1471 + "type": "opencollective", 1472 + "url": "https://opencollective.com/parcel" 1473 + } 1474 + }, 1475 + "node_modules/magic-string": { 1476 + "version": "0.30.21", 1477 + "dev": true, 1478 + "license": "MIT", 1479 + "dependencies": { 1480 + "@jridgewell/sourcemap-codec": "^1.5.5" 1481 + } 1482 + }, 1483 + "node_modules/mimic-response": { 1484 + "version": "3.1.0", 1485 + "license": "MIT", 1486 + "engines": { 1487 + "node": ">=10" 1488 + }, 1489 + "funding": { 1490 + "url": "https://github.com/sponsors/sindresorhus" 1491 + } 1492 + }, 1493 + "node_modules/minimist": { 1494 + "version": "1.2.8", 1495 + "license": "MIT", 1496 + "funding": { 1497 + "url": "https://github.com/sponsors/ljharb" 1498 + } 1499 + }, 1500 + "node_modules/mkdirp-classic": { 1501 + "version": "0.5.3", 1502 + "license": "MIT" 1503 + }, 1504 + "node_modules/nanoid": { 1505 + "version": "3.3.11", 1506 + "dev": true, 1507 + "funding": [ 1508 + { 1509 + "type": "github", 1510 + "url": "https://github.com/sponsors/ai" 1511 + } 1512 + ], 1513 + "license": "MIT", 1514 + "bin": { 1515 + "nanoid": "bin/nanoid.cjs" 1516 + }, 1517 + "engines": { 1518 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1519 + } 1520 + }, 1521 + "node_modules/napi-build-utils": { 1522 + "version": "2.0.0", 1523 + "license": "MIT" 1524 + }, 1525 + "node_modules/node-abi": { 1526 + "version": "3.89.0", 1527 + "license": "MIT", 1528 + "dependencies": { 1529 + "semver": "^7.3.5" 1530 + }, 1531 + "engines": { 1532 + "node": ">=10" 1533 + } 1534 + }, 1535 + "node_modules/obug": { 1536 + "version": "2.1.1", 1537 + "dev": true, 1538 + "funding": [ 1539 + "https://github.com/sponsors/sxzz", 1540 + "https://opencollective.com/debug" 1541 + ], 1542 + "license": "MIT" 1543 + }, 1544 + "node_modules/once": { 1545 + "version": "1.4.0", 1546 + "license": "ISC", 1547 + "dependencies": { 1548 + "wrappy": "1" 1549 + } 1550 + }, 1551 + "node_modules/pathe": { 1552 + "version": "2.0.3", 1553 + "dev": true, 1554 + "license": "MIT" 1555 + }, 1556 + "node_modules/picocolors": { 1557 + "version": "1.1.1", 1558 + "dev": true, 1559 + "license": "ISC" 1560 + }, 1561 + "node_modules/picomatch": { 1562 + "version": "4.0.4", 1563 + "dev": true, 1564 + "license": "MIT", 1565 + "peer": true, 1566 + "engines": { 1567 + "node": ">=12" 1568 + }, 1569 + "funding": { 1570 + "url": "https://github.com/sponsors/jonschlinkert" 1571 + } 1572 + }, 1573 + "node_modules/postcss": { 1574 + "version": "8.5.12", 1575 + "dev": true, 1576 + "funding": [ 1577 + { 1578 + "type": "opencollective", 1579 + "url": "https://opencollective.com/postcss/" 1580 + }, 1581 + { 1582 + "type": "tidelift", 1583 + "url": "https://tidelift.com/funding/github/npm/postcss" 1584 + }, 1585 + { 1586 + "type": "github", 1587 + "url": "https://github.com/sponsors/ai" 1588 + } 1589 + ], 1590 + "license": "MIT", 1591 + "dependencies": { 1592 + "nanoid": "^3.3.11", 1593 + "picocolors": "^1.1.1", 1594 + "source-map-js": "^1.2.1" 1595 + }, 1596 + "engines": { 1597 + "node": "^10 || ^12 || >=14" 1598 + } 1599 + }, 1600 + "node_modules/prebuild-install": { 1601 + "version": "7.1.3", 1602 + "license": "MIT", 1603 + "dependencies": { 1604 + "detect-libc": "^2.0.0", 1605 + "expand-template": "^2.0.3", 1606 + "github-from-package": "0.0.0", 1607 + "minimist": "^1.2.3", 1608 + "mkdirp-classic": "^0.5.3", 1609 + "napi-build-utils": "^2.0.0", 1610 + "node-abi": "^3.3.0", 1611 + "pump": "^3.0.0", 1612 + "rc": "^1.2.7", 1613 + "simple-get": "^4.0.0", 1614 + "tar-fs": "^2.0.0", 1615 + "tunnel-agent": "^0.6.0" 1616 + }, 1617 + "bin": { 1618 + "prebuild-install": "bin.js" 1619 + }, 1620 + "engines": { 1621 + "node": ">=10" 1622 + } 1623 + }, 1624 + "node_modules/pump": { 1625 + "version": "3.0.4", 1626 + "license": "MIT", 1627 + "dependencies": { 1628 + "end-of-stream": "^1.1.0", 1629 + "once": "^1.3.1" 1630 + } 1631 + }, 1632 + "node_modules/rc": { 1633 + "version": "1.2.8", 1634 + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 1635 + "dependencies": { 1636 + "deep-extend": "^0.6.0", 1637 + "ini": "~1.3.0", 1638 + "minimist": "^1.2.0", 1639 + "strip-json-comments": "~2.0.1" 1640 + }, 1641 + "bin": { 1642 + "rc": "cli.js" 1643 + } 1644 + }, 1645 + "node_modules/readable-stream": { 1646 + "version": "3.6.2", 1647 + "license": "MIT", 1648 + "dependencies": { 1649 + "inherits": "^2.0.3", 1650 + "string_decoder": "^1.1.1", 1651 + "util-deprecate": "^1.0.1" 1652 + }, 1653 + "engines": { 1654 + "node": ">= 6" 1655 + } 1656 + }, 1657 + "node_modules/resolve-pkg-maps": { 1658 + "version": "1.0.0", 1659 + "dev": true, 1660 + "license": "MIT", 1661 + "funding": { 1662 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 1663 + } 1664 + }, 1665 + "node_modules/rolldown": { 1666 + "version": "1.0.0-rc.17", 1667 + "dev": true, 1668 + "license": "MIT", 1669 + "dependencies": { 1670 + "@oxc-project/types": "=0.127.0", 1671 + "@rolldown/pluginutils": "1.0.0-rc.17" 1672 + }, 1673 + "bin": { 1674 + "rolldown": "bin/cli.mjs" 1675 + }, 1676 + "engines": { 1677 + "node": "^20.19.0 || >=22.12.0" 1678 + }, 1679 + "optionalDependencies": { 1680 + "@rolldown/binding-android-arm64": "1.0.0-rc.17", 1681 + "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", 1682 + "@rolldown/binding-darwin-x64": "1.0.0-rc.17", 1683 + "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", 1684 + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", 1685 + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", 1686 + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", 1687 + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", 1688 + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", 1689 + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", 1690 + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", 1691 + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", 1692 + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", 1693 + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", 1694 + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" 1695 + } 1696 + }, 1697 + "node_modules/safe-buffer": { 1698 + "version": "5.2.1", 1699 + "funding": [ 1700 + { 1701 + "type": "github", 1702 + "url": "https://github.com/sponsors/feross" 1703 + }, 1704 + { 1705 + "type": "patreon", 1706 + "url": "https://www.patreon.com/feross" 1707 + }, 1708 + { 1709 + "type": "consulting", 1710 + "url": "https://feross.org/support" 1711 + } 1712 + ], 1713 + "license": "MIT" 1714 + }, 1715 + "node_modules/semver": { 1716 + "version": "7.7.4", 1717 + "license": "ISC", 1718 + "bin": { 1719 + "semver": "bin/semver.js" 1720 + }, 1721 + "engines": { 1722 + "node": ">=10" 1723 + } 1724 + }, 1725 + "node_modules/siginfo": { 1726 + "version": "2.0.0", 1727 + "dev": true, 1728 + "license": "ISC" 1729 + }, 1730 + "node_modules/simple-concat": { 1731 + "version": "1.0.1", 1732 + "funding": [ 1733 + { 1734 + "type": "github", 1735 + "url": "https://github.com/sponsors/feross" 1736 + }, 1737 + { 1738 + "type": "patreon", 1739 + "url": "https://www.patreon.com/feross" 1740 + }, 1741 + { 1742 + "type": "consulting", 1743 + "url": "https://feross.org/support" 1744 + } 1745 + ], 1746 + "license": "MIT" 1747 + }, 1748 + "node_modules/simple-get": { 1749 + "version": "4.0.1", 1750 + "funding": [ 1751 + { 1752 + "type": "github", 1753 + "url": "https://github.com/sponsors/feross" 1754 + }, 1755 + { 1756 + "type": "patreon", 1757 + "url": "https://www.patreon.com/feross" 1758 + }, 1759 + { 1760 + "type": "consulting", 1761 + "url": "https://feross.org/support" 1762 + } 1763 + ], 1764 + "license": "MIT", 1765 + "dependencies": { 1766 + "decompress-response": "^6.0.0", 1767 + "once": "^1.3.1", 1768 + "simple-concat": "^1.0.0" 1769 + } 1770 + }, 1771 + "node_modules/source-map-js": { 1772 + "version": "1.2.1", 1773 + "dev": true, 1774 + "license": "BSD-3-Clause", 1775 + "engines": { 1776 + "node": ">=0.10.0" 1777 + } 1778 + }, 1779 + "node_modules/stackback": { 1780 + "version": "0.0.2", 1781 + "dev": true, 1782 + "license": "MIT" 1783 + }, 1784 + "node_modules/std-env": { 1785 + "version": "4.1.0", 1786 + "dev": true, 1787 + "license": "MIT" 1788 + }, 1789 + "node_modules/string_decoder": { 1790 + "version": "1.3.0", 1791 + "license": "MIT", 1792 + "dependencies": { 1793 + "safe-buffer": "~5.2.0" 1794 + } 1795 + }, 1796 + "node_modules/strip-json-comments": { 1797 + "version": "2.0.1", 1798 + "license": "MIT", 1799 + "engines": { 1800 + "node": ">=0.10.0" 1801 + } 1802 + }, 1803 + "node_modules/tar-fs": { 1804 + "version": "2.1.4", 1805 + "license": "MIT", 1806 + "dependencies": { 1807 + "chownr": "^1.1.1", 1808 + "mkdirp-classic": "^0.5.2", 1809 + "pump": "^3.0.0", 1810 + "tar-stream": "^2.1.4" 1811 + } 1812 + }, 1813 + "node_modules/tar-stream": { 1814 + "version": "2.2.0", 1815 + "license": "MIT", 1816 + "dependencies": { 1817 + "bl": "^4.0.3", 1818 + "end-of-stream": "^1.4.1", 1819 + "fs-constants": "^1.0.0", 1820 + "inherits": "^2.0.3", 1821 + "readable-stream": "^3.1.1" 1822 + }, 1823 + "engines": { 1824 + "node": ">=6" 1825 + } 1826 + }, 1827 + "node_modules/tinybench": { 1828 + "version": "2.9.0", 1829 + "dev": true, 1830 + "license": "MIT" 1831 + }, 1832 + "node_modules/tinyexec": { 1833 + "version": "1.1.1", 1834 + "dev": true, 1835 + "license": "MIT", 1836 + "engines": { 1837 + "node": ">=18" 1838 + } 1839 + }, 1840 + "node_modules/tinyglobby": { 1841 + "version": "0.2.16", 1842 + "dev": true, 1843 + "license": "MIT", 1844 + "dependencies": { 1845 + "fdir": "^6.5.0", 1846 + "picomatch": "^4.0.4" 1847 + }, 1848 + "engines": { 1849 + "node": ">=12.0.0" 1850 + }, 1851 + "funding": { 1852 + "url": "https://github.com/sponsors/SuperchupuDev" 1853 + } 1854 + }, 1855 + "node_modules/tinyrainbow": { 1856 + "version": "3.1.0", 1857 + "dev": true, 1858 + "license": "MIT", 1859 + "engines": { 1860 + "node": ">=14.0.0" 1861 + } 1862 + }, 1863 + "node_modules/tslib": { 1864 + "version": "2.8.1", 1865 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 1866 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 1867 + "dev": true, 1868 + "license": "0BSD", 1869 + "optional": true 1870 + }, 1871 + "node_modules/tsx": { 1872 + "version": "4.21.0", 1873 + "dev": true, 1874 + "license": "MIT", 1875 + "dependencies": { 1876 + "esbuild": "~0.27.0", 1877 + "get-tsconfig": "^4.7.5" 1878 + }, 1879 + "bin": { 1880 + "tsx": "dist/cli.mjs" 1881 + }, 1882 + "engines": { 1883 + "node": ">=18.0.0" 1884 + }, 1885 + "optionalDependencies": { 1886 + "fsevents": "~2.3.3" 1887 + } 1888 + }, 1889 + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { 1890 + "version": "0.27.7", 1891 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", 1892 + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", 1893 + "cpu": [ 1894 + "ppc64" 1895 + ], 1896 + "dev": true, 1897 + "license": "MIT", 1898 + "optional": true, 1899 + "os": [ 1900 + "aix" 1901 + ], 1902 + "engines": { 1903 + "node": ">=18" 1904 + } 1905 + }, 1906 + "node_modules/tsx/node_modules/@esbuild/android-arm": { 1907 + "version": "0.27.7", 1908 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", 1909 + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", 1910 + "cpu": [ 1911 + "arm" 1912 + ], 1913 + "dev": true, 1914 + "license": "MIT", 1915 + "optional": true, 1916 + "os": [ 1917 + "android" 1918 + ], 1919 + "engines": { 1920 + "node": ">=18" 1921 + } 1922 + }, 1923 + "node_modules/tsx/node_modules/@esbuild/android-arm64": { 1924 + "version": "0.27.7", 1925 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", 1926 + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", 1927 + "cpu": [ 1928 + "arm64" 1929 + ], 1930 + "dev": true, 1931 + "license": "MIT", 1932 + "optional": true, 1933 + "os": [ 1934 + "android" 1935 + ], 1936 + "engines": { 1937 + "node": ">=18" 1938 + } 1939 + }, 1940 + "node_modules/tsx/node_modules/@esbuild/android-x64": { 1941 + "version": "0.27.7", 1942 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", 1943 + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", 1944 + "cpu": [ 1945 + "x64" 1946 + ], 1947 + "dev": true, 1948 + "license": "MIT", 1949 + "optional": true, 1950 + "os": [ 1951 + "android" 1952 + ], 1953 + "engines": { 1954 + "node": ">=18" 1955 + } 1956 + }, 1957 + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { 1958 + "version": "0.27.7", 1959 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", 1960 + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", 1961 + "cpu": [ 1962 + "x64" 1963 + ], 1964 + "dev": true, 1965 + "license": "MIT", 1966 + "optional": true, 1967 + "os": [ 1968 + "darwin" 1969 + ], 1970 + "engines": { 1971 + "node": ">=18" 1972 + } 1973 + }, 1974 + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { 1975 + "version": "0.27.7", 1976 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", 1977 + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", 1978 + "cpu": [ 1979 + "arm64" 1980 + ], 1981 + "dev": true, 1982 + "license": "MIT", 1983 + "optional": true, 1984 + "os": [ 1985 + "freebsd" 1986 + ], 1987 + "engines": { 1988 + "node": ">=18" 1989 + } 1990 + }, 1991 + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { 1992 + "version": "0.27.7", 1993 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", 1994 + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", 1995 + "cpu": [ 1996 + "x64" 1997 + ], 1998 + "dev": true, 1999 + "license": "MIT", 2000 + "optional": true, 2001 + "os": [ 2002 + "freebsd" 2003 + ], 2004 + "engines": { 2005 + "node": ">=18" 2006 + } 2007 + }, 2008 + "node_modules/tsx/node_modules/@esbuild/linux-arm": { 2009 + "version": "0.27.7", 2010 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", 2011 + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", 2012 + "cpu": [ 2013 + "arm" 2014 + ], 2015 + "dev": true, 2016 + "license": "MIT", 2017 + "optional": true, 2018 + "os": [ 2019 + "linux" 2020 + ], 2021 + "engines": { 2022 + "node": ">=18" 2023 + } 2024 + }, 2025 + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { 2026 + "version": "0.27.7", 2027 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", 2028 + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", 2029 + "cpu": [ 2030 + "arm64" 2031 + ], 2032 + "dev": true, 2033 + "license": "MIT", 2034 + "optional": true, 2035 + "os": [ 2036 + "linux" 2037 + ], 2038 + "engines": { 2039 + "node": ">=18" 2040 + } 2041 + }, 2042 + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { 2043 + "version": "0.27.7", 2044 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", 2045 + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", 2046 + "cpu": [ 2047 + "ia32" 2048 + ], 2049 + "dev": true, 2050 + "license": "MIT", 2051 + "optional": true, 2052 + "os": [ 2053 + "linux" 2054 + ], 2055 + "engines": { 2056 + "node": ">=18" 2057 + } 2058 + }, 2059 + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { 2060 + "version": "0.27.7", 2061 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", 2062 + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", 2063 + "cpu": [ 2064 + "loong64" 2065 + ], 2066 + "dev": true, 2067 + "license": "MIT", 2068 + "optional": true, 2069 + "os": [ 2070 + "linux" 2071 + ], 2072 + "engines": { 2073 + "node": ">=18" 2074 + } 2075 + }, 2076 + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { 2077 + "version": "0.27.7", 2078 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", 2079 + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", 2080 + "cpu": [ 2081 + "mips64el" 2082 + ], 2083 + "dev": true, 2084 + "license": "MIT", 2085 + "optional": true, 2086 + "os": [ 2087 + "linux" 2088 + ], 2089 + "engines": { 2090 + "node": ">=18" 2091 + } 2092 + }, 2093 + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { 2094 + "version": "0.27.7", 2095 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", 2096 + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", 2097 + "cpu": [ 2098 + "ppc64" 2099 + ], 2100 + "dev": true, 2101 + "license": "MIT", 2102 + "optional": true, 2103 + "os": [ 2104 + "linux" 2105 + ], 2106 + "engines": { 2107 + "node": ">=18" 2108 + } 2109 + }, 2110 + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { 2111 + "version": "0.27.7", 2112 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", 2113 + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", 2114 + "cpu": [ 2115 + "riscv64" 2116 + ], 2117 + "dev": true, 2118 + "license": "MIT", 2119 + "optional": true, 2120 + "os": [ 2121 + "linux" 2122 + ], 2123 + "engines": { 2124 + "node": ">=18" 2125 + } 2126 + }, 2127 + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { 2128 + "version": "0.27.7", 2129 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", 2130 + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", 2131 + "cpu": [ 2132 + "s390x" 2133 + ], 2134 + "dev": true, 2135 + "license": "MIT", 2136 + "optional": true, 2137 + "os": [ 2138 + "linux" 2139 + ], 2140 + "engines": { 2141 + "node": ">=18" 2142 + } 2143 + }, 2144 + "node_modules/tsx/node_modules/@esbuild/linux-x64": { 2145 + "version": "0.27.7", 2146 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", 2147 + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", 2148 + "cpu": [ 2149 + "x64" 2150 + ], 2151 + "dev": true, 2152 + "license": "MIT", 2153 + "optional": true, 2154 + "os": [ 2155 + "linux" 2156 + ], 2157 + "engines": { 2158 + "node": ">=18" 2159 + } 2160 + }, 2161 + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { 2162 + "version": "0.27.7", 2163 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", 2164 + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", 2165 + "cpu": [ 2166 + "arm64" 2167 + ], 2168 + "dev": true, 2169 + "license": "MIT", 2170 + "optional": true, 2171 + "os": [ 2172 + "netbsd" 2173 + ], 2174 + "engines": { 2175 + "node": ">=18" 2176 + } 2177 + }, 2178 + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { 2179 + "version": "0.27.7", 2180 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", 2181 + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", 2182 + "cpu": [ 2183 + "x64" 2184 + ], 2185 + "dev": true, 2186 + "license": "MIT", 2187 + "optional": true, 2188 + "os": [ 2189 + "netbsd" 2190 + ], 2191 + "engines": { 2192 + "node": ">=18" 2193 + } 2194 + }, 2195 + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { 2196 + "version": "0.27.7", 2197 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", 2198 + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", 2199 + "cpu": [ 2200 + "arm64" 2201 + ], 2202 + "dev": true, 2203 + "license": "MIT", 2204 + "optional": true, 2205 + "os": [ 2206 + "openbsd" 2207 + ], 2208 + "engines": { 2209 + "node": ">=18" 2210 + } 2211 + }, 2212 + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { 2213 + "version": "0.27.7", 2214 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", 2215 + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", 2216 + "cpu": [ 2217 + "x64" 2218 + ], 2219 + "dev": true, 2220 + "license": "MIT", 2221 + "optional": true, 2222 + "os": [ 2223 + "openbsd" 2224 + ], 2225 + "engines": { 2226 + "node": ">=18" 2227 + } 2228 + }, 2229 + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { 2230 + "version": "0.27.7", 2231 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", 2232 + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", 2233 + "cpu": [ 2234 + "arm64" 2235 + ], 2236 + "dev": true, 2237 + "license": "MIT", 2238 + "optional": true, 2239 + "os": [ 2240 + "openharmony" 2241 + ], 2242 + "engines": { 2243 + "node": ">=18" 2244 + } 2245 + }, 2246 + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { 2247 + "version": "0.27.7", 2248 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", 2249 + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", 2250 + "cpu": [ 2251 + "x64" 2252 + ], 2253 + "dev": true, 2254 + "license": "MIT", 2255 + "optional": true, 2256 + "os": [ 2257 + "sunos" 2258 + ], 2259 + "engines": { 2260 + "node": ">=18" 2261 + } 2262 + }, 2263 + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { 2264 + "version": "0.27.7", 2265 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", 2266 + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", 2267 + "cpu": [ 2268 + "arm64" 2269 + ], 2270 + "dev": true, 2271 + "license": "MIT", 2272 + "optional": true, 2273 + "os": [ 2274 + "win32" 2275 + ], 2276 + "engines": { 2277 + "node": ">=18" 2278 + } 2279 + }, 2280 + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { 2281 + "version": "0.27.7", 2282 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", 2283 + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", 2284 + "cpu": [ 2285 + "ia32" 2286 + ], 2287 + "dev": true, 2288 + "license": "MIT", 2289 + "optional": true, 2290 + "os": [ 2291 + "win32" 2292 + ], 2293 + "engines": { 2294 + "node": ">=18" 2295 + } 2296 + }, 2297 + "node_modules/tsx/node_modules/@esbuild/win32-x64": { 2298 + "version": "0.27.7", 2299 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", 2300 + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", 2301 + "cpu": [ 2302 + "x64" 2303 + ], 2304 + "dev": true, 2305 + "license": "MIT", 2306 + "optional": true, 2307 + "os": [ 2308 + "win32" 2309 + ], 2310 + "engines": { 2311 + "node": ">=18" 2312 + } 2313 + }, 2314 + "node_modules/tsx/node_modules/esbuild": { 2315 + "version": "0.27.7", 2316 + "dev": true, 2317 + "hasInstallScript": true, 2318 + "license": "MIT", 2319 + "bin": { 2320 + "esbuild": "bin/esbuild" 2321 + }, 2322 + "engines": { 2323 + "node": ">=18" 2324 + }, 2325 + "optionalDependencies": { 2326 + "@esbuild/aix-ppc64": "0.27.7", 2327 + "@esbuild/android-arm": "0.27.7", 2328 + "@esbuild/android-arm64": "0.27.7", 2329 + "@esbuild/android-x64": "0.27.7", 2330 + "@esbuild/darwin-arm64": "0.27.7", 2331 + "@esbuild/darwin-x64": "0.27.7", 2332 + "@esbuild/freebsd-arm64": "0.27.7", 2333 + "@esbuild/freebsd-x64": "0.27.7", 2334 + "@esbuild/linux-arm": "0.27.7", 2335 + "@esbuild/linux-arm64": "0.27.7", 2336 + "@esbuild/linux-ia32": "0.27.7", 2337 + "@esbuild/linux-loong64": "0.27.7", 2338 + "@esbuild/linux-mips64el": "0.27.7", 2339 + "@esbuild/linux-ppc64": "0.27.7", 2340 + "@esbuild/linux-riscv64": "0.27.7", 2341 + "@esbuild/linux-s390x": "0.27.7", 2342 + "@esbuild/linux-x64": "0.27.7", 2343 + "@esbuild/netbsd-arm64": "0.27.7", 2344 + "@esbuild/netbsd-x64": "0.27.7", 2345 + "@esbuild/openbsd-arm64": "0.27.7", 2346 + "@esbuild/openbsd-x64": "0.27.7", 2347 + "@esbuild/openharmony-arm64": "0.27.7", 2348 + "@esbuild/sunos-x64": "0.27.7", 2349 + "@esbuild/win32-arm64": "0.27.7", 2350 + "@esbuild/win32-ia32": "0.27.7", 2351 + "@esbuild/win32-x64": "0.27.7" 2352 + } 2353 + }, 2354 + "node_modules/tsx/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { 2355 + "version": "0.27.7", 2356 + "cpu": [ 2357 + "arm64" 2358 + ], 2359 + "dev": true, 2360 + "license": "MIT", 2361 + "optional": true, 2362 + "os": [ 2363 + "darwin" 2364 + ], 2365 + "engines": { 2366 + "node": ">=18" 2367 + } 2368 + }, 2369 + "node_modules/tunnel-agent": { 2370 + "version": "0.6.0", 2371 + "license": "Apache-2.0", 2372 + "dependencies": { 2373 + "safe-buffer": "^5.0.1" 2374 + }, 2375 + "engines": { 2376 + "node": "*" 2377 + } 2378 + }, 2379 + "node_modules/typescript": { 2380 + "version": "6.0.3", 2381 + "dev": true, 2382 + "license": "Apache-2.0", 2383 + "bin": { 2384 + "tsc": "bin/tsc", 2385 + "tsserver": "bin/tsserver" 2386 + }, 2387 + "engines": { 2388 + "node": ">=14.17" 2389 + } 2390 + }, 2391 + "node_modules/undici-types": { 2392 + "version": "7.19.2", 2393 + "dev": true, 2394 + "license": "MIT" 2395 + }, 2396 + "node_modules/util-deprecate": { 2397 + "version": "1.0.2", 2398 + "license": "MIT" 2399 + }, 2400 + "node_modules/vite": { 2401 + "version": "8.0.10", 2402 + "dev": true, 2403 + "license": "MIT", 2404 + "peer": true, 2405 + "dependencies": { 2406 + "lightningcss": "^1.32.0", 2407 + "picomatch": "^4.0.4", 2408 + "postcss": "^8.5.10", 2409 + "rolldown": "1.0.0-rc.17", 2410 + "tinyglobby": "^0.2.16" 2411 + }, 2412 + "bin": { 2413 + "vite": "bin/vite.js" 2414 + }, 2415 + "engines": { 2416 + "node": "^20.19.0 || >=22.12.0" 2417 + }, 2418 + "funding": { 2419 + "url": "https://github.com/vitejs/vite?sponsor=1" 2420 + }, 2421 + "optionalDependencies": { 2422 + "fsevents": "~2.3.3" 2423 + }, 2424 + "peerDependencies": { 2425 + "@types/node": "^20.19.0 || >=22.12.0", 2426 + "@vitejs/devtools": "^0.1.0", 2427 + "esbuild": "^0.27.0 || ^0.28.0", 2428 + "jiti": ">=1.21.0", 2429 + "less": "^4.0.0", 2430 + "sass": "^1.70.0", 2431 + "sass-embedded": "^1.70.0", 2432 + "stylus": ">=0.54.8", 2433 + "sugarss": "^5.0.0", 2434 + "terser": "^5.16.0", 2435 + "tsx": "^4.8.1", 2436 + "yaml": "^2.4.2" 2437 + }, 2438 + "peerDependenciesMeta": { 2439 + "@types/node": { 2440 + "optional": true 2441 + }, 2442 + "@vitejs/devtools": { 2443 + "optional": true 2444 + }, 2445 + "esbuild": { 2446 + "optional": true 2447 + }, 2448 + "jiti": { 2449 + "optional": true 2450 + }, 2451 + "less": { 2452 + "optional": true 2453 + }, 2454 + "sass": { 2455 + "optional": true 2456 + }, 2457 + "sass-embedded": { 2458 + "optional": true 2459 + }, 2460 + "stylus": { 2461 + "optional": true 2462 + }, 2463 + "sugarss": { 2464 + "optional": true 2465 + }, 2466 + "terser": { 2467 + "optional": true 2468 + }, 2469 + "tsx": { 2470 + "optional": true 2471 + }, 2472 + "yaml": { 2473 + "optional": true 2474 + } 2475 + } 2476 + }, 2477 + "node_modules/vitest": { 2478 + "version": "4.1.5", 2479 + "dev": true, 2480 + "license": "MIT", 2481 + "dependencies": { 2482 + "@vitest/expect": "4.1.5", 2483 + "@vitest/mocker": "4.1.5", 2484 + "@vitest/pretty-format": "4.1.5", 2485 + "@vitest/runner": "4.1.5", 2486 + "@vitest/snapshot": "4.1.5", 2487 + "@vitest/spy": "4.1.5", 2488 + "@vitest/utils": "4.1.5", 2489 + "es-module-lexer": "^2.0.0", 2490 + "expect-type": "^1.3.0", 2491 + "magic-string": "^0.30.21", 2492 + "obug": "^2.1.1", 2493 + "pathe": "^2.0.3", 2494 + "picomatch": "^4.0.3", 2495 + "std-env": "^4.0.0-rc.1", 2496 + "tinybench": "^2.9.0", 2497 + "tinyexec": "^1.0.2", 2498 + "tinyglobby": "^0.2.15", 2499 + "tinyrainbow": "^3.1.0", 2500 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", 2501 + "why-is-node-running": "^2.3.0" 2502 + }, 2503 + "bin": { 2504 + "vitest": "vitest.mjs" 2505 + }, 2506 + "engines": { 2507 + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" 2508 + }, 2509 + "funding": { 2510 + "url": "https://opencollective.com/vitest" 2511 + }, 2512 + "peerDependencies": { 2513 + "@edge-runtime/vm": "*", 2514 + "@opentelemetry/api": "^1.9.0", 2515 + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", 2516 + "@vitest/browser-playwright": "4.1.5", 2517 + "@vitest/browser-preview": "4.1.5", 2518 + "@vitest/browser-webdriverio": "4.1.5", 2519 + "@vitest/coverage-istanbul": "4.1.5", 2520 + "@vitest/coverage-v8": "4.1.5", 2521 + "@vitest/ui": "4.1.5", 2522 + "happy-dom": "*", 2523 + "jsdom": "*", 2524 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 2525 + }, 2526 + "peerDependenciesMeta": { 2527 + "@edge-runtime/vm": { 2528 + "optional": true 2529 + }, 2530 + "@opentelemetry/api": { 2531 + "optional": true 2532 + }, 2533 + "@types/node": { 2534 + "optional": true 2535 + }, 2536 + "@vitest/browser-playwright": { 2537 + "optional": true 2538 + }, 2539 + "@vitest/browser-preview": { 2540 + "optional": true 2541 + }, 2542 + "@vitest/browser-webdriverio": { 2543 + "optional": true 2544 + }, 2545 + "@vitest/coverage-istanbul": { 2546 + "optional": true 2547 + }, 2548 + "@vitest/coverage-v8": { 2549 + "optional": true 2550 + }, 2551 + "@vitest/ui": { 2552 + "optional": true 2553 + }, 2554 + "happy-dom": { 2555 + "optional": true 2556 + }, 2557 + "jsdom": { 2558 + "optional": true 2559 + }, 2560 + "vite": { 2561 + "optional": false 2562 + } 2563 + } 2564 + }, 2565 + "node_modules/why-is-node-running": { 2566 + "version": "2.3.0", 2567 + "dev": true, 2568 + "license": "MIT", 2569 + "dependencies": { 2570 + "siginfo": "^2.0.0", 2571 + "stackback": "0.0.2" 2572 + }, 2573 + "bin": { 2574 + "why-is-node-running": "cli.js" 2575 + }, 2576 + "engines": { 2577 + "node": ">=8" 2578 + } 2579 + }, 2580 + "node_modules/wrappy": { 2581 + "version": "1.0.2", 2582 + "license": "ISC" 2583 + } 2584 + } 2585 + }
+2 -1
package.json
··· 1 1 { 2 2 "name": "@act0r/cxs", 3 - "version": "0.2.2", 3 + "version": "0.2.3", 4 4 "type": "module", 5 5 "description": "Progressive search CLI for local Codex session logs", 6 6 "license": "MIT", ··· 42 42 "check": "tsc --noEmit && vitest run", 43 43 "cxs": "tsx ./cli.ts", 44 44 "eval:manual": "tsx ./eval/run-manual-eval.ts", 45 + "eval:compare": "tsx ./eval/compare-eval-batches.ts", 45 46 "eval:perf": "tsx ./eval/perf-bench.ts" 46 47 }, 47 48 "dependencies": {
-62
scripts/install.sh
··· 1 - #!/usr/bin/env bash 2 - # Install the cxs CLI from a GitHub Release binary. 3 - # 4 - # Usage: 5 - # curl -fsSL https://raw.githubusercontent.com/catoncat/cxs/main/scripts/install.sh | bash 6 - # 7 - # Override the destination with CXS_INSTALL_DIR (default: ~/.local/bin). 8 - 9 - set -euo pipefail 10 - 11 - OWNER="catoncat" 12 - REPO="cxs" 13 - INSTALL_DIR="${CXS_INSTALL_DIR:-$HOME/.local/bin}" 14 - 15 - OS="$(uname -s | tr '[:upper:]' '[:lower:]')" 16 - ARCH_RAW="$(uname -m)" 17 - 18 - case "$ARCH_RAW" in 19 - arm64|aarch64) ARCH="arm64" ;; 20 - x86_64|amd64) ARCH="x64" ;; 21 - *) echo "unsupported arch: $ARCH_RAW" >&2; exit 1 ;; 22 - esac 23 - 24 - case "$OS" in 25 - darwin) PLATFORM="darwin-$ARCH" ;; 26 - linux) PLATFORM="linux-$ARCH" ;; 27 - *) 28 - echo "unsupported OS: $OS" >&2 29 - echo "cxs supports macOS and Linux only. Windows users: please run under WSL." >&2 30 - exit 1 31 - ;; 32 - esac 33 - 34 - ASSET="cxs-${PLATFORM}" 35 - URL="https://github.com/${OWNER}/${REPO}/releases/latest/download/${ASSET}" 36 - 37 - mkdir -p "$INSTALL_DIR" 38 - TARGET="$INSTALL_DIR/cxs" 39 - 40 - echo "downloading $ASSET from $URL" 41 - curl -fsSL --proto '=https' --tlsv1.2 -o "$TARGET" "$URL" 42 - chmod +x "$TARGET" 43 - 44 - echo 45 - echo "installed: $TARGET" 46 - echo 47 - "$TARGET" --version || { 48 - echo "warning: just-installed binary failed to run; remove $TARGET and retry" >&2 49 - exit 1 50 - } 51 - 52 - case ":$PATH:" in 53 - *":$INSTALL_DIR:"*) 54 - echo 55 - echo "ready: cxs --help" 56 - ;; 57 - *) 58 - echo 59 - echo "tip: $INSTALL_DIR is not in PATH yet; add to your shell rc:" 60 - echo " export PATH=\"$INSTALL_DIR:\$PATH\"" 61 - ;; 62 - esac
+1 -1
scripts/post-build.mjs
··· 13 13 const SHEBANG = "#!/usr/bin/env node\n"; 14 14 const original = readFileSync(distCli, "utf8"); 15 15 16 - // Source file may carry its own shebang (e.g. #!/usr/bin/env bun for dev). 16 + // Source file may carry its own shebang in development. 17 17 // Always normalize to node for the published artifact. 18 18 const stripped = original.startsWith("#!") ? original.slice(original.indexOf("\n") + 1) : original; 19 19 writeFileSync(distCli, SHEBANG + stripped);