Daily Bluesky bot for AT Mot. Invites players and congratulates yesterday's solvers.
0

Configure Feed

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

feat: scaffold atmot-bot with frozen puzzle config

+3040
+5
.gitignore
··· 1 + node_modules/ 2 + .wrangler/ 3 + dist/ 4 + .dev.vars 5 + *.log
+2904
package-lock.json
··· 1 + { 2 + "name": "atmot-bot", 3 + "version": "1.0.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "atmot-bot", 9 + "version": "1.0.0", 10 + "dependencies": { 11 + "@atcute/client": "^5.1.0", 12 + "@atcute/identity-resolver": "^2.0.0" 13 + }, 14 + "devDependencies": { 15 + "@cloudflare/workers-types": "^4.20240000.0", 16 + "typescript": "^6.0.3", 17 + "vitest": "^4.1.9", 18 + "wrangler": "^4.103.0" 19 + } 20 + }, 21 + "node_modules/@atcute/client": { 22 + "version": "5.1.0", 23 + "resolved": "https://registry.npmjs.org/@atcute/client/-/client-5.1.0.tgz", 24 + "integrity": "sha512-l2LYCY43QvrOsvS+q1d959x0yVeXQ5F7haloCB8MLzrTKT3s9fc4S3Kr+8JkgjPtdapgOPIeEdhWcrzP5WNLRg==", 25 + "license": "0BSD", 26 + "dependencies": { 27 + "@atcute/identity": "^2.0.0", 28 + "@atcute/lexicons": "^2.0.0" 29 + }, 30 + "peerDependencies": { 31 + "@atcute/lexicons": "^2.0.0" 32 + } 33 + }, 34 + "node_modules/@atcute/identity": { 35 + "version": "2.0.0", 36 + "resolved": "https://registry.npmjs.org/@atcute/identity/-/identity-2.0.0.tgz", 37 + "integrity": "sha512-YXFsggO7eJYifqkN85+kUXJE2a1iI9AyuzPTDjtS/4WE1Zs1/XiPkWmwZlAgtp+pYhVtjm3mJqy/h/mZ0OnIVw==", 38 + "license": "0BSD", 39 + "dependencies": { 40 + "@atcute/lexicons": "^2.0.0", 41 + "valibot": "^1.4.0" 42 + }, 43 + "peerDependencies": { 44 + "@atcute/lexicons": "^2.0.0" 45 + } 46 + }, 47 + "node_modules/@atcute/identity-resolver": { 48 + "version": "2.0.0", 49 + "resolved": "https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-2.0.0.tgz", 50 + "integrity": "sha512-IKg1BDQAF2bIdN10DL6KAXmTjK+3enTU2IRbuani9TsFahBwGZ7O5FiVmTiL6QlGfauGNW5S0xNCOxWXWMoR2Q==", 51 + "license": "0BSD", 52 + "dependencies": { 53 + "@atcute/lexicons": "^2.0.0", 54 + "@atcute/util-fetch": "^2.0.0", 55 + "valibot": "^1.4.0" 56 + }, 57 + "peerDependencies": { 58 + "@atcute/identity": "^2.0.0", 59 + "@atcute/lexicons": "^2.0.0" 60 + } 61 + }, 62 + "node_modules/@atcute/lexicons": { 63 + "version": "2.0.1", 64 + "resolved": "https://registry.npmjs.org/@atcute/lexicons/-/lexicons-2.0.1.tgz", 65 + "integrity": "sha512-MsgGYgZ7bXcXWg/CzAQX+d+/u4YrelQYnxtX6NW3Bc+6eOyzxozBPRWVFzfsR9OCT10Qzqmuujul/8bRYNCZ6w==", 66 + "license": "0BSD", 67 + "dependencies": { 68 + "@atcute/uint8array": "^1.1.2", 69 + "@atcute/util-text": "^1.3.1", 70 + "@standard-schema/spec": "^1.1.0", 71 + "esm-env": "^1.2.2" 72 + } 73 + }, 74 + "node_modules/@atcute/uint8array": { 75 + "version": "1.1.2", 76 + "resolved": "https://registry.npmjs.org/@atcute/uint8array/-/uint8array-1.1.2.tgz", 77 + "integrity": "sha512-n+lutnbN9mKzSjSVdfsYfzJ40u2971H+iLSL46D6d7zcrA4delxusf/ftGFvj5oGW03OioaFgQOy3Lqa3JmTeA==", 78 + "license": "0BSD" 79 + }, 80 + "node_modules/@atcute/util-fetch": { 81 + "version": "2.0.0", 82 + "resolved": "https://registry.npmjs.org/@atcute/util-fetch/-/util-fetch-2.0.0.tgz", 83 + "integrity": "sha512-v+4aFQ/tuBqTV+URDJaFgm3mASWdglKXiPaGutJ1bs7QtQKmPZeesPY5MzW/a+MtI8GWCEJk8X9wOfalPOFSlg==", 84 + "license": "0BSD", 85 + "dependencies": { 86 + "valibot": "^1.4.0" 87 + } 88 + }, 89 + "node_modules/@atcute/util-text": { 90 + "version": "1.3.1", 91 + "resolved": "https://registry.npmjs.org/@atcute/util-text/-/util-text-1.3.1.tgz", 92 + "integrity": "sha512-MRgJXkx67znuBXuoAYCJkBZyd3OApL7zZlNf5kXhuoCXcdiu1nblRDycYTADSkym4epBSQWxh26kmI9sewaq6A==", 93 + "license": "0BSD", 94 + "dependencies": { 95 + "unicode-segmenter": "^0.14.5" 96 + } 97 + }, 98 + "node_modules/@cloudflare/kv-asset-handler": { 99 + "version": "0.5.0", 100 + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.5.0.tgz", 101 + "integrity": "sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==", 102 + "dev": true, 103 + "license": "MIT OR Apache-2.0", 104 + "engines": { 105 + "node": ">=22.0.0" 106 + } 107 + }, 108 + "node_modules/@cloudflare/unenv-preset": { 109 + "version": "2.16.1", 110 + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.16.1.tgz", 111 + "integrity": "sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==", 112 + "dev": true, 113 + "license": "MIT OR Apache-2.0", 114 + "peerDependencies": { 115 + "unenv": "2.0.0-rc.24", 116 + "workerd": ">1.20260305.0 <2.0.0-0" 117 + }, 118 + "peerDependenciesMeta": { 119 + "workerd": { 120 + "optional": true 121 + } 122 + } 123 + }, 124 + "node_modules/@cloudflare/workerd-darwin-64": { 125 + "version": "1.20260623.1", 126 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260623.1.tgz", 127 + "integrity": "sha512-MvDoIsRTsUJRzAl1/4hDXL839piyyjCeYatBHWgMc12Go7nHxkgbRih+1GJImEiKACSentu410bOupcutqFbpg==", 128 + "cpu": [ 129 + "x64" 130 + ], 131 + "dev": true, 132 + "license": "Apache-2.0", 133 + "optional": true, 134 + "os": [ 135 + "darwin" 136 + ], 137 + "engines": { 138 + "node": ">=16" 139 + } 140 + }, 141 + "node_modules/@cloudflare/workerd-darwin-arm64": { 142 + "version": "1.20260623.1", 143 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260623.1.tgz", 144 + "integrity": "sha512-sNqHQvHPMOj5/BJOadtEZekRPSG5qQ0/ulC30ZRHRLnmx6tj5O4Wb3Nf0oznnI0pmjXhbv6b7+TOpDkaFMjbBg==", 145 + "cpu": [ 146 + "arm64" 147 + ], 148 + "dev": true, 149 + "license": "Apache-2.0", 150 + "optional": true, 151 + "os": [ 152 + "darwin" 153 + ], 154 + "engines": { 155 + "node": ">=16" 156 + } 157 + }, 158 + "node_modules/@cloudflare/workerd-linux-64": { 159 + "version": "1.20260623.1", 160 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260623.1.tgz", 161 + "integrity": "sha512-XYTWqTlZlCXqG+Po6awjXtlxw73hb3C39B/PP0sb4H9NI3V0eynq8Q7rXNe7DHJs2pWRfDJihQzpayQvpwf5wQ==", 162 + "cpu": [ 163 + "x64" 164 + ], 165 + "dev": true, 166 + "license": "Apache-2.0", 167 + "optional": true, 168 + "os": [ 169 + "linux" 170 + ], 171 + "engines": { 172 + "node": ">=16" 173 + } 174 + }, 175 + "node_modules/@cloudflare/workerd-linux-arm64": { 176 + "version": "1.20260623.1", 177 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260623.1.tgz", 178 + "integrity": "sha512-PC5UDKA8oQB3Gek/Y+ysovdHNjp55CihOQZd7F9xPwpkv9qTBB0mhyHnfoG2YHtW1bb9CNhuwiThaNxegpE4mg==", 179 + "cpu": [ 180 + "arm64" 181 + ], 182 + "dev": true, 183 + "license": "Apache-2.0", 184 + "optional": true, 185 + "os": [ 186 + "linux" 187 + ], 188 + "engines": { 189 + "node": ">=16" 190 + } 191 + }, 192 + "node_modules/@cloudflare/workerd-windows-64": { 193 + "version": "1.20260623.1", 194 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260623.1.tgz", 195 + "integrity": "sha512-OTHLCVYyN0pEfrajpjjnrGg5zA1GDnpNYmMz3x2ESFtH/oXRODsUQBllP7oJpJvMURF3rXSYwAhMojaftGry8w==", 196 + "cpu": [ 197 + "x64" 198 + ], 199 + "dev": true, 200 + "license": "Apache-2.0", 201 + "optional": true, 202 + "os": [ 203 + "win32" 204 + ], 205 + "engines": { 206 + "node": ">=16" 207 + } 208 + }, 209 + "node_modules/@cloudflare/workers-types": { 210 + "version": "4.20260625.1", 211 + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20260625.1.tgz", 212 + "integrity": "sha512-asH0RhPHiNu/IUSssyiOJYAcGqysy0DJpO9fihC6KATaayD9CE1E9bgNQozTLUraxrCT2qkM4CBOIcV0M5NPJw==", 213 + "dev": true, 214 + "license": "MIT OR Apache-2.0" 215 + }, 216 + "node_modules/@cspotcode/source-map-support": { 217 + "version": "0.8.1", 218 + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 219 + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 220 + "dev": true, 221 + "license": "MIT", 222 + "dependencies": { 223 + "@jridgewell/trace-mapping": "0.3.9" 224 + }, 225 + "engines": { 226 + "node": ">=12" 227 + } 228 + }, 229 + "node_modules/@emnapi/core": { 230 + "version": "1.11.1", 231 + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", 232 + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", 233 + "dev": true, 234 + "license": "MIT", 235 + "optional": true, 236 + "dependencies": { 237 + "@emnapi/wasi-threads": "1.2.2", 238 + "tslib": "^2.4.0" 239 + } 240 + }, 241 + "node_modules/@emnapi/runtime": { 242 + "version": "1.11.1", 243 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", 244 + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", 245 + "dev": true, 246 + "license": "MIT", 247 + "optional": true, 248 + "dependencies": { 249 + "tslib": "^2.4.0" 250 + } 251 + }, 252 + "node_modules/@emnapi/wasi-threads": { 253 + "version": "1.2.2", 254 + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", 255 + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", 256 + "dev": true, 257 + "license": "MIT", 258 + "optional": true, 259 + "dependencies": { 260 + "tslib": "^2.4.0" 261 + } 262 + }, 263 + "node_modules/@esbuild/aix-ppc64": { 264 + "version": "0.28.1", 265 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", 266 + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", 267 + "cpu": [ 268 + "ppc64" 269 + ], 270 + "dev": true, 271 + "license": "MIT", 272 + "optional": true, 273 + "os": [ 274 + "aix" 275 + ], 276 + "engines": { 277 + "node": ">=18" 278 + } 279 + }, 280 + "node_modules/@esbuild/android-arm": { 281 + "version": "0.28.1", 282 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", 283 + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", 284 + "cpu": [ 285 + "arm" 286 + ], 287 + "dev": true, 288 + "license": "MIT", 289 + "optional": true, 290 + "os": [ 291 + "android" 292 + ], 293 + "engines": { 294 + "node": ">=18" 295 + } 296 + }, 297 + "node_modules/@esbuild/android-arm64": { 298 + "version": "0.28.1", 299 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", 300 + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", 301 + "cpu": [ 302 + "arm64" 303 + ], 304 + "dev": true, 305 + "license": "MIT", 306 + "optional": true, 307 + "os": [ 308 + "android" 309 + ], 310 + "engines": { 311 + "node": ">=18" 312 + } 313 + }, 314 + "node_modules/@esbuild/android-x64": { 315 + "version": "0.28.1", 316 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", 317 + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", 318 + "cpu": [ 319 + "x64" 320 + ], 321 + "dev": true, 322 + "license": "MIT", 323 + "optional": true, 324 + "os": [ 325 + "android" 326 + ], 327 + "engines": { 328 + "node": ">=18" 329 + } 330 + }, 331 + "node_modules/@esbuild/darwin-arm64": { 332 + "version": "0.28.1", 333 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", 334 + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", 335 + "cpu": [ 336 + "arm64" 337 + ], 338 + "dev": true, 339 + "license": "MIT", 340 + "optional": true, 341 + "os": [ 342 + "darwin" 343 + ], 344 + "engines": { 345 + "node": ">=18" 346 + } 347 + }, 348 + "node_modules/@esbuild/darwin-x64": { 349 + "version": "0.28.1", 350 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", 351 + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", 352 + "cpu": [ 353 + "x64" 354 + ], 355 + "dev": true, 356 + "license": "MIT", 357 + "optional": true, 358 + "os": [ 359 + "darwin" 360 + ], 361 + "engines": { 362 + "node": ">=18" 363 + } 364 + }, 365 + "node_modules/@esbuild/freebsd-arm64": { 366 + "version": "0.28.1", 367 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", 368 + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", 369 + "cpu": [ 370 + "arm64" 371 + ], 372 + "dev": true, 373 + "license": "MIT", 374 + "optional": true, 375 + "os": [ 376 + "freebsd" 377 + ], 378 + "engines": { 379 + "node": ">=18" 380 + } 381 + }, 382 + "node_modules/@esbuild/freebsd-x64": { 383 + "version": "0.28.1", 384 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", 385 + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", 386 + "cpu": [ 387 + "x64" 388 + ], 389 + "dev": true, 390 + "license": "MIT", 391 + "optional": true, 392 + "os": [ 393 + "freebsd" 394 + ], 395 + "engines": { 396 + "node": ">=18" 397 + } 398 + }, 399 + "node_modules/@esbuild/linux-arm": { 400 + "version": "0.28.1", 401 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", 402 + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", 403 + "cpu": [ 404 + "arm" 405 + ], 406 + "dev": true, 407 + "license": "MIT", 408 + "optional": true, 409 + "os": [ 410 + "linux" 411 + ], 412 + "engines": { 413 + "node": ">=18" 414 + } 415 + }, 416 + "node_modules/@esbuild/linux-arm64": { 417 + "version": "0.28.1", 418 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", 419 + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", 420 + "cpu": [ 421 + "arm64" 422 + ], 423 + "dev": true, 424 + "license": "MIT", 425 + "optional": true, 426 + "os": [ 427 + "linux" 428 + ], 429 + "engines": { 430 + "node": ">=18" 431 + } 432 + }, 433 + "node_modules/@esbuild/linux-ia32": { 434 + "version": "0.28.1", 435 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", 436 + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", 437 + "cpu": [ 438 + "ia32" 439 + ], 440 + "dev": true, 441 + "license": "MIT", 442 + "optional": true, 443 + "os": [ 444 + "linux" 445 + ], 446 + "engines": { 447 + "node": ">=18" 448 + } 449 + }, 450 + "node_modules/@esbuild/linux-loong64": { 451 + "version": "0.28.1", 452 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", 453 + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", 454 + "cpu": [ 455 + "loong64" 456 + ], 457 + "dev": true, 458 + "license": "MIT", 459 + "optional": true, 460 + "os": [ 461 + "linux" 462 + ], 463 + "engines": { 464 + "node": ">=18" 465 + } 466 + }, 467 + "node_modules/@esbuild/linux-mips64el": { 468 + "version": "0.28.1", 469 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", 470 + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", 471 + "cpu": [ 472 + "mips64el" 473 + ], 474 + "dev": true, 475 + "license": "MIT", 476 + "optional": true, 477 + "os": [ 478 + "linux" 479 + ], 480 + "engines": { 481 + "node": ">=18" 482 + } 483 + }, 484 + "node_modules/@esbuild/linux-ppc64": { 485 + "version": "0.28.1", 486 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", 487 + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", 488 + "cpu": [ 489 + "ppc64" 490 + ], 491 + "dev": true, 492 + "license": "MIT", 493 + "optional": true, 494 + "os": [ 495 + "linux" 496 + ], 497 + "engines": { 498 + "node": ">=18" 499 + } 500 + }, 501 + "node_modules/@esbuild/linux-riscv64": { 502 + "version": "0.28.1", 503 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", 504 + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", 505 + "cpu": [ 506 + "riscv64" 507 + ], 508 + "dev": true, 509 + "license": "MIT", 510 + "optional": true, 511 + "os": [ 512 + "linux" 513 + ], 514 + "engines": { 515 + "node": ">=18" 516 + } 517 + }, 518 + "node_modules/@esbuild/linux-s390x": { 519 + "version": "0.28.1", 520 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", 521 + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", 522 + "cpu": [ 523 + "s390x" 524 + ], 525 + "dev": true, 526 + "license": "MIT", 527 + "optional": true, 528 + "os": [ 529 + "linux" 530 + ], 531 + "engines": { 532 + "node": ">=18" 533 + } 534 + }, 535 + "node_modules/@esbuild/linux-x64": { 536 + "version": "0.28.1", 537 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", 538 + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", 539 + "cpu": [ 540 + "x64" 541 + ], 542 + "dev": true, 543 + "license": "MIT", 544 + "optional": true, 545 + "os": [ 546 + "linux" 547 + ], 548 + "engines": { 549 + "node": ">=18" 550 + } 551 + }, 552 + "node_modules/@esbuild/netbsd-arm64": { 553 + "version": "0.28.1", 554 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", 555 + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", 556 + "cpu": [ 557 + "arm64" 558 + ], 559 + "dev": true, 560 + "license": "MIT", 561 + "optional": true, 562 + "os": [ 563 + "netbsd" 564 + ], 565 + "engines": { 566 + "node": ">=18" 567 + } 568 + }, 569 + "node_modules/@esbuild/netbsd-x64": { 570 + "version": "0.28.1", 571 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", 572 + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", 573 + "cpu": [ 574 + "x64" 575 + ], 576 + "dev": true, 577 + "license": "MIT", 578 + "optional": true, 579 + "os": [ 580 + "netbsd" 581 + ], 582 + "engines": { 583 + "node": ">=18" 584 + } 585 + }, 586 + "node_modules/@esbuild/openbsd-arm64": { 587 + "version": "0.28.1", 588 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", 589 + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", 590 + "cpu": [ 591 + "arm64" 592 + ], 593 + "dev": true, 594 + "license": "MIT", 595 + "optional": true, 596 + "os": [ 597 + "openbsd" 598 + ], 599 + "engines": { 600 + "node": ">=18" 601 + } 602 + }, 603 + "node_modules/@esbuild/openbsd-x64": { 604 + "version": "0.28.1", 605 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", 606 + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", 607 + "cpu": [ 608 + "x64" 609 + ], 610 + "dev": true, 611 + "license": "MIT", 612 + "optional": true, 613 + "os": [ 614 + "openbsd" 615 + ], 616 + "engines": { 617 + "node": ">=18" 618 + } 619 + }, 620 + "node_modules/@esbuild/openharmony-arm64": { 621 + "version": "0.28.1", 622 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", 623 + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", 624 + "cpu": [ 625 + "arm64" 626 + ], 627 + "dev": true, 628 + "license": "MIT", 629 + "optional": true, 630 + "os": [ 631 + "openharmony" 632 + ], 633 + "engines": { 634 + "node": ">=18" 635 + } 636 + }, 637 + "node_modules/@esbuild/sunos-x64": { 638 + "version": "0.28.1", 639 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", 640 + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", 641 + "cpu": [ 642 + "x64" 643 + ], 644 + "dev": true, 645 + "license": "MIT", 646 + "optional": true, 647 + "os": [ 648 + "sunos" 649 + ], 650 + "engines": { 651 + "node": ">=18" 652 + } 653 + }, 654 + "node_modules/@esbuild/win32-arm64": { 655 + "version": "0.28.1", 656 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", 657 + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", 658 + "cpu": [ 659 + "arm64" 660 + ], 661 + "dev": true, 662 + "license": "MIT", 663 + "optional": true, 664 + "os": [ 665 + "win32" 666 + ], 667 + "engines": { 668 + "node": ">=18" 669 + } 670 + }, 671 + "node_modules/@esbuild/win32-ia32": { 672 + "version": "0.28.1", 673 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", 674 + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", 675 + "cpu": [ 676 + "ia32" 677 + ], 678 + "dev": true, 679 + "license": "MIT", 680 + "optional": true, 681 + "os": [ 682 + "win32" 683 + ], 684 + "engines": { 685 + "node": ">=18" 686 + } 687 + }, 688 + "node_modules/@esbuild/win32-x64": { 689 + "version": "0.28.1", 690 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", 691 + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", 692 + "cpu": [ 693 + "x64" 694 + ], 695 + "dev": true, 696 + "license": "MIT", 697 + "optional": true, 698 + "os": [ 699 + "win32" 700 + ], 701 + "engines": { 702 + "node": ">=18" 703 + } 704 + }, 705 + "node_modules/@img/colour": { 706 + "version": "1.1.0", 707 + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", 708 + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", 709 + "dev": true, 710 + "license": "MIT", 711 + "engines": { 712 + "node": ">=18" 713 + } 714 + }, 715 + "node_modules/@img/sharp-darwin-arm64": { 716 + "version": "0.34.5", 717 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", 718 + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", 719 + "cpu": [ 720 + "arm64" 721 + ], 722 + "dev": true, 723 + "license": "Apache-2.0", 724 + "optional": true, 725 + "os": [ 726 + "darwin" 727 + ], 728 + "engines": { 729 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 730 + }, 731 + "funding": { 732 + "url": "https://opencollective.com/libvips" 733 + }, 734 + "optionalDependencies": { 735 + "@img/sharp-libvips-darwin-arm64": "1.2.4" 736 + } 737 + }, 738 + "node_modules/@img/sharp-darwin-x64": { 739 + "version": "0.34.5", 740 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", 741 + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", 742 + "cpu": [ 743 + "x64" 744 + ], 745 + "dev": true, 746 + "license": "Apache-2.0", 747 + "optional": true, 748 + "os": [ 749 + "darwin" 750 + ], 751 + "engines": { 752 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 753 + }, 754 + "funding": { 755 + "url": "https://opencollective.com/libvips" 756 + }, 757 + "optionalDependencies": { 758 + "@img/sharp-libvips-darwin-x64": "1.2.4" 759 + } 760 + }, 761 + "node_modules/@img/sharp-libvips-darwin-arm64": { 762 + "version": "1.2.4", 763 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", 764 + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", 765 + "cpu": [ 766 + "arm64" 767 + ], 768 + "dev": true, 769 + "license": "LGPL-3.0-or-later", 770 + "optional": true, 771 + "os": [ 772 + "darwin" 773 + ], 774 + "funding": { 775 + "url": "https://opencollective.com/libvips" 776 + } 777 + }, 778 + "node_modules/@img/sharp-libvips-darwin-x64": { 779 + "version": "1.2.4", 780 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", 781 + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", 782 + "cpu": [ 783 + "x64" 784 + ], 785 + "dev": true, 786 + "license": "LGPL-3.0-or-later", 787 + "optional": true, 788 + "os": [ 789 + "darwin" 790 + ], 791 + "funding": { 792 + "url": "https://opencollective.com/libvips" 793 + } 794 + }, 795 + "node_modules/@img/sharp-libvips-linux-arm": { 796 + "version": "1.2.4", 797 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", 798 + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", 799 + "cpu": [ 800 + "arm" 801 + ], 802 + "dev": true, 803 + "libc": [ 804 + "glibc" 805 + ], 806 + "license": "LGPL-3.0-or-later", 807 + "optional": true, 808 + "os": [ 809 + "linux" 810 + ], 811 + "funding": { 812 + "url": "https://opencollective.com/libvips" 813 + } 814 + }, 815 + "node_modules/@img/sharp-libvips-linux-arm64": { 816 + "version": "1.2.4", 817 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", 818 + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", 819 + "cpu": [ 820 + "arm64" 821 + ], 822 + "dev": true, 823 + "libc": [ 824 + "glibc" 825 + ], 826 + "license": "LGPL-3.0-or-later", 827 + "optional": true, 828 + "os": [ 829 + "linux" 830 + ], 831 + "funding": { 832 + "url": "https://opencollective.com/libvips" 833 + } 834 + }, 835 + "node_modules/@img/sharp-libvips-linux-ppc64": { 836 + "version": "1.2.4", 837 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", 838 + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", 839 + "cpu": [ 840 + "ppc64" 841 + ], 842 + "dev": true, 843 + "libc": [ 844 + "glibc" 845 + ], 846 + "license": "LGPL-3.0-or-later", 847 + "optional": true, 848 + "os": [ 849 + "linux" 850 + ], 851 + "funding": { 852 + "url": "https://opencollective.com/libvips" 853 + } 854 + }, 855 + "node_modules/@img/sharp-libvips-linux-riscv64": { 856 + "version": "1.2.4", 857 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", 858 + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", 859 + "cpu": [ 860 + "riscv64" 861 + ], 862 + "dev": true, 863 + "libc": [ 864 + "glibc" 865 + ], 866 + "license": "LGPL-3.0-or-later", 867 + "optional": true, 868 + "os": [ 869 + "linux" 870 + ], 871 + "funding": { 872 + "url": "https://opencollective.com/libvips" 873 + } 874 + }, 875 + "node_modules/@img/sharp-libvips-linux-s390x": { 876 + "version": "1.2.4", 877 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", 878 + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", 879 + "cpu": [ 880 + "s390x" 881 + ], 882 + "dev": true, 883 + "libc": [ 884 + "glibc" 885 + ], 886 + "license": "LGPL-3.0-or-later", 887 + "optional": true, 888 + "os": [ 889 + "linux" 890 + ], 891 + "funding": { 892 + "url": "https://opencollective.com/libvips" 893 + } 894 + }, 895 + "node_modules/@img/sharp-libvips-linux-x64": { 896 + "version": "1.2.4", 897 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", 898 + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", 899 + "cpu": [ 900 + "x64" 901 + ], 902 + "dev": true, 903 + "libc": [ 904 + "glibc" 905 + ], 906 + "license": "LGPL-3.0-or-later", 907 + "optional": true, 908 + "os": [ 909 + "linux" 910 + ], 911 + "funding": { 912 + "url": "https://opencollective.com/libvips" 913 + } 914 + }, 915 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 916 + "version": "1.2.4", 917 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", 918 + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", 919 + "cpu": [ 920 + "arm64" 921 + ], 922 + "dev": true, 923 + "libc": [ 924 + "musl" 925 + ], 926 + "license": "LGPL-3.0-or-later", 927 + "optional": true, 928 + "os": [ 929 + "linux" 930 + ], 931 + "funding": { 932 + "url": "https://opencollective.com/libvips" 933 + } 934 + }, 935 + "node_modules/@img/sharp-libvips-linuxmusl-x64": { 936 + "version": "1.2.4", 937 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", 938 + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", 939 + "cpu": [ 940 + "x64" 941 + ], 942 + "dev": true, 943 + "libc": [ 944 + "musl" 945 + ], 946 + "license": "LGPL-3.0-or-later", 947 + "optional": true, 948 + "os": [ 949 + "linux" 950 + ], 951 + "funding": { 952 + "url": "https://opencollective.com/libvips" 953 + } 954 + }, 955 + "node_modules/@img/sharp-linux-arm": { 956 + "version": "0.34.5", 957 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", 958 + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", 959 + "cpu": [ 960 + "arm" 961 + ], 962 + "dev": true, 963 + "libc": [ 964 + "glibc" 965 + ], 966 + "license": "Apache-2.0", 967 + "optional": true, 968 + "os": [ 969 + "linux" 970 + ], 971 + "engines": { 972 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 973 + }, 974 + "funding": { 975 + "url": "https://opencollective.com/libvips" 976 + }, 977 + "optionalDependencies": { 978 + "@img/sharp-libvips-linux-arm": "1.2.4" 979 + } 980 + }, 981 + "node_modules/@img/sharp-linux-arm64": { 982 + "version": "0.34.5", 983 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", 984 + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", 985 + "cpu": [ 986 + "arm64" 987 + ], 988 + "dev": true, 989 + "libc": [ 990 + "glibc" 991 + ], 992 + "license": "Apache-2.0", 993 + "optional": true, 994 + "os": [ 995 + "linux" 996 + ], 997 + "engines": { 998 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 999 + }, 1000 + "funding": { 1001 + "url": "https://opencollective.com/libvips" 1002 + }, 1003 + "optionalDependencies": { 1004 + "@img/sharp-libvips-linux-arm64": "1.2.4" 1005 + } 1006 + }, 1007 + "node_modules/@img/sharp-linux-ppc64": { 1008 + "version": "0.34.5", 1009 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", 1010 + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", 1011 + "cpu": [ 1012 + "ppc64" 1013 + ], 1014 + "dev": true, 1015 + "libc": [ 1016 + "glibc" 1017 + ], 1018 + "license": "Apache-2.0", 1019 + "optional": true, 1020 + "os": [ 1021 + "linux" 1022 + ], 1023 + "engines": { 1024 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1025 + }, 1026 + "funding": { 1027 + "url": "https://opencollective.com/libvips" 1028 + }, 1029 + "optionalDependencies": { 1030 + "@img/sharp-libvips-linux-ppc64": "1.2.4" 1031 + } 1032 + }, 1033 + "node_modules/@img/sharp-linux-riscv64": { 1034 + "version": "0.34.5", 1035 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", 1036 + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", 1037 + "cpu": [ 1038 + "riscv64" 1039 + ], 1040 + "dev": true, 1041 + "libc": [ 1042 + "glibc" 1043 + ], 1044 + "license": "Apache-2.0", 1045 + "optional": true, 1046 + "os": [ 1047 + "linux" 1048 + ], 1049 + "engines": { 1050 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1051 + }, 1052 + "funding": { 1053 + "url": "https://opencollective.com/libvips" 1054 + }, 1055 + "optionalDependencies": { 1056 + "@img/sharp-libvips-linux-riscv64": "1.2.4" 1057 + } 1058 + }, 1059 + "node_modules/@img/sharp-linux-s390x": { 1060 + "version": "0.34.5", 1061 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", 1062 + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", 1063 + "cpu": [ 1064 + "s390x" 1065 + ], 1066 + "dev": true, 1067 + "libc": [ 1068 + "glibc" 1069 + ], 1070 + "license": "Apache-2.0", 1071 + "optional": true, 1072 + "os": [ 1073 + "linux" 1074 + ], 1075 + "engines": { 1076 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1077 + }, 1078 + "funding": { 1079 + "url": "https://opencollective.com/libvips" 1080 + }, 1081 + "optionalDependencies": { 1082 + "@img/sharp-libvips-linux-s390x": "1.2.4" 1083 + } 1084 + }, 1085 + "node_modules/@img/sharp-linux-x64": { 1086 + "version": "0.34.5", 1087 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", 1088 + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", 1089 + "cpu": [ 1090 + "x64" 1091 + ], 1092 + "dev": true, 1093 + "libc": [ 1094 + "glibc" 1095 + ], 1096 + "license": "Apache-2.0", 1097 + "optional": true, 1098 + "os": [ 1099 + "linux" 1100 + ], 1101 + "engines": { 1102 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1103 + }, 1104 + "funding": { 1105 + "url": "https://opencollective.com/libvips" 1106 + }, 1107 + "optionalDependencies": { 1108 + "@img/sharp-libvips-linux-x64": "1.2.4" 1109 + } 1110 + }, 1111 + "node_modules/@img/sharp-linuxmusl-arm64": { 1112 + "version": "0.34.5", 1113 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", 1114 + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", 1115 + "cpu": [ 1116 + "arm64" 1117 + ], 1118 + "dev": true, 1119 + "libc": [ 1120 + "musl" 1121 + ], 1122 + "license": "Apache-2.0", 1123 + "optional": true, 1124 + "os": [ 1125 + "linux" 1126 + ], 1127 + "engines": { 1128 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1129 + }, 1130 + "funding": { 1131 + "url": "https://opencollective.com/libvips" 1132 + }, 1133 + "optionalDependencies": { 1134 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" 1135 + } 1136 + }, 1137 + "node_modules/@img/sharp-linuxmusl-x64": { 1138 + "version": "0.34.5", 1139 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", 1140 + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", 1141 + "cpu": [ 1142 + "x64" 1143 + ], 1144 + "dev": true, 1145 + "libc": [ 1146 + "musl" 1147 + ], 1148 + "license": "Apache-2.0", 1149 + "optional": true, 1150 + "os": [ 1151 + "linux" 1152 + ], 1153 + "engines": { 1154 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1155 + }, 1156 + "funding": { 1157 + "url": "https://opencollective.com/libvips" 1158 + }, 1159 + "optionalDependencies": { 1160 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" 1161 + } 1162 + }, 1163 + "node_modules/@img/sharp-wasm32": { 1164 + "version": "0.34.5", 1165 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", 1166 + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", 1167 + "cpu": [ 1168 + "wasm32" 1169 + ], 1170 + "dev": true, 1171 + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", 1172 + "optional": true, 1173 + "dependencies": { 1174 + "@emnapi/runtime": "^1.7.0" 1175 + }, 1176 + "engines": { 1177 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1178 + }, 1179 + "funding": { 1180 + "url": "https://opencollective.com/libvips" 1181 + } 1182 + }, 1183 + "node_modules/@img/sharp-win32-arm64": { 1184 + "version": "0.34.5", 1185 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", 1186 + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", 1187 + "cpu": [ 1188 + "arm64" 1189 + ], 1190 + "dev": true, 1191 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 1192 + "optional": true, 1193 + "os": [ 1194 + "win32" 1195 + ], 1196 + "engines": { 1197 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1198 + }, 1199 + "funding": { 1200 + "url": "https://opencollective.com/libvips" 1201 + } 1202 + }, 1203 + "node_modules/@img/sharp-win32-ia32": { 1204 + "version": "0.34.5", 1205 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", 1206 + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", 1207 + "cpu": [ 1208 + "ia32" 1209 + ], 1210 + "dev": true, 1211 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 1212 + "optional": true, 1213 + "os": [ 1214 + "win32" 1215 + ], 1216 + "engines": { 1217 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1218 + }, 1219 + "funding": { 1220 + "url": "https://opencollective.com/libvips" 1221 + } 1222 + }, 1223 + "node_modules/@img/sharp-win32-x64": { 1224 + "version": "0.34.5", 1225 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", 1226 + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", 1227 + "cpu": [ 1228 + "x64" 1229 + ], 1230 + "dev": true, 1231 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 1232 + "optional": true, 1233 + "os": [ 1234 + "win32" 1235 + ], 1236 + "engines": { 1237 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1238 + }, 1239 + "funding": { 1240 + "url": "https://opencollective.com/libvips" 1241 + } 1242 + }, 1243 + "node_modules/@jridgewell/resolve-uri": { 1244 + "version": "3.1.2", 1245 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1246 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1247 + "dev": true, 1248 + "license": "MIT", 1249 + "engines": { 1250 + "node": ">=6.0.0" 1251 + } 1252 + }, 1253 + "node_modules/@jridgewell/sourcemap-codec": { 1254 + "version": "1.5.5", 1255 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 1256 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 1257 + "dev": true, 1258 + "license": "MIT" 1259 + }, 1260 + "node_modules/@jridgewell/trace-mapping": { 1261 + "version": "0.3.9", 1262 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 1263 + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 1264 + "dev": true, 1265 + "license": "MIT", 1266 + "dependencies": { 1267 + "@jridgewell/resolve-uri": "^3.0.3", 1268 + "@jridgewell/sourcemap-codec": "^1.4.10" 1269 + } 1270 + }, 1271 + "node_modules/@napi-rs/wasm-runtime": { 1272 + "version": "1.1.6", 1273 + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", 1274 + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", 1275 + "dev": true, 1276 + "license": "MIT", 1277 + "optional": true, 1278 + "dependencies": { 1279 + "@tybys/wasm-util": "^0.10.3" 1280 + }, 1281 + "funding": { 1282 + "type": "github", 1283 + "url": "https://github.com/sponsors/Brooooooklyn" 1284 + }, 1285 + "peerDependencies": { 1286 + "@emnapi/core": "^1.7.1", 1287 + "@emnapi/runtime": "^1.7.1" 1288 + } 1289 + }, 1290 + "node_modules/@oxc-project/types": { 1291 + "version": "0.137.0", 1292 + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", 1293 + "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", 1294 + "dev": true, 1295 + "license": "MIT", 1296 + "funding": { 1297 + "url": "https://github.com/sponsors/Boshen" 1298 + } 1299 + }, 1300 + "node_modules/@poppinss/colors": { 1301 + "version": "4.1.6", 1302 + "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz", 1303 + "integrity": "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==", 1304 + "dev": true, 1305 + "license": "MIT", 1306 + "dependencies": { 1307 + "kleur": "^4.1.5" 1308 + } 1309 + }, 1310 + "node_modules/@poppinss/dumper": { 1311 + "version": "0.6.5", 1312 + "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.5.tgz", 1313 + "integrity": "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==", 1314 + "dev": true, 1315 + "license": "MIT", 1316 + "dependencies": { 1317 + "@poppinss/colors": "^4.1.5", 1318 + "@sindresorhus/is": "^7.0.2", 1319 + "supports-color": "^10.0.0" 1320 + } 1321 + }, 1322 + "node_modules/@poppinss/exception": { 1323 + "version": "1.2.3", 1324 + "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.3.tgz", 1325 + "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==", 1326 + "dev": true, 1327 + "license": "MIT" 1328 + }, 1329 + "node_modules/@rolldown/binding-android-arm64": { 1330 + "version": "1.1.3", 1331 + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", 1332 + "integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==", 1333 + "cpu": [ 1334 + "arm64" 1335 + ], 1336 + "dev": true, 1337 + "license": "MIT", 1338 + "optional": true, 1339 + "os": [ 1340 + "android" 1341 + ], 1342 + "engines": { 1343 + "node": "^20.19.0 || >=22.12.0" 1344 + } 1345 + }, 1346 + "node_modules/@rolldown/binding-darwin-arm64": { 1347 + "version": "1.1.3", 1348 + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz", 1349 + "integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==", 1350 + "cpu": [ 1351 + "arm64" 1352 + ], 1353 + "dev": true, 1354 + "license": "MIT", 1355 + "optional": true, 1356 + "os": [ 1357 + "darwin" 1358 + ], 1359 + "engines": { 1360 + "node": "^20.19.0 || >=22.12.0" 1361 + } 1362 + }, 1363 + "node_modules/@rolldown/binding-darwin-x64": { 1364 + "version": "1.1.3", 1365 + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz", 1366 + "integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==", 1367 + "cpu": [ 1368 + "x64" 1369 + ], 1370 + "dev": true, 1371 + "license": "MIT", 1372 + "optional": true, 1373 + "os": [ 1374 + "darwin" 1375 + ], 1376 + "engines": { 1377 + "node": "^20.19.0 || >=22.12.0" 1378 + } 1379 + }, 1380 + "node_modules/@rolldown/binding-freebsd-x64": { 1381 + "version": "1.1.3", 1382 + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz", 1383 + "integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==", 1384 + "cpu": [ 1385 + "x64" 1386 + ], 1387 + "dev": true, 1388 + "license": "MIT", 1389 + "optional": true, 1390 + "os": [ 1391 + "freebsd" 1392 + ], 1393 + "engines": { 1394 + "node": "^20.19.0 || >=22.12.0" 1395 + } 1396 + }, 1397 + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { 1398 + "version": "1.1.3", 1399 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.3.tgz", 1400 + "integrity": "sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==", 1401 + "cpu": [ 1402 + "arm" 1403 + ], 1404 + "dev": true, 1405 + "license": "MIT", 1406 + "optional": true, 1407 + "os": [ 1408 + "linux" 1409 + ], 1410 + "engines": { 1411 + "node": "^20.19.0 || >=22.12.0" 1412 + } 1413 + }, 1414 + "node_modules/@rolldown/binding-linux-arm64-gnu": { 1415 + "version": "1.1.3", 1416 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.3.tgz", 1417 + "integrity": "sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==", 1418 + "cpu": [ 1419 + "arm64" 1420 + ], 1421 + "dev": true, 1422 + "libc": [ 1423 + "glibc" 1424 + ], 1425 + "license": "MIT", 1426 + "optional": true, 1427 + "os": [ 1428 + "linux" 1429 + ], 1430 + "engines": { 1431 + "node": "^20.19.0 || >=22.12.0" 1432 + } 1433 + }, 1434 + "node_modules/@rolldown/binding-linux-arm64-musl": { 1435 + "version": "1.1.3", 1436 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.3.tgz", 1437 + "integrity": "sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==", 1438 + "cpu": [ 1439 + "arm64" 1440 + ], 1441 + "dev": true, 1442 + "libc": [ 1443 + "musl" 1444 + ], 1445 + "license": "MIT", 1446 + "optional": true, 1447 + "os": [ 1448 + "linux" 1449 + ], 1450 + "engines": { 1451 + "node": "^20.19.0 || >=22.12.0" 1452 + } 1453 + }, 1454 + "node_modules/@rolldown/binding-linux-ppc64-gnu": { 1455 + "version": "1.1.3", 1456 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.3.tgz", 1457 + "integrity": "sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==", 1458 + "cpu": [ 1459 + "ppc64" 1460 + ], 1461 + "dev": true, 1462 + "libc": [ 1463 + "glibc" 1464 + ], 1465 + "license": "MIT", 1466 + "optional": true, 1467 + "os": [ 1468 + "linux" 1469 + ], 1470 + "engines": { 1471 + "node": "^20.19.0 || >=22.12.0" 1472 + } 1473 + }, 1474 + "node_modules/@rolldown/binding-linux-s390x-gnu": { 1475 + "version": "1.1.3", 1476 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.3.tgz", 1477 + "integrity": "sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==", 1478 + "cpu": [ 1479 + "s390x" 1480 + ], 1481 + "dev": true, 1482 + "libc": [ 1483 + "glibc" 1484 + ], 1485 + "license": "MIT", 1486 + "optional": true, 1487 + "os": [ 1488 + "linux" 1489 + ], 1490 + "engines": { 1491 + "node": "^20.19.0 || >=22.12.0" 1492 + } 1493 + }, 1494 + "node_modules/@rolldown/binding-linux-x64-gnu": { 1495 + "version": "1.1.3", 1496 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.3.tgz", 1497 + "integrity": "sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==", 1498 + "cpu": [ 1499 + "x64" 1500 + ], 1501 + "dev": true, 1502 + "libc": [ 1503 + "glibc" 1504 + ], 1505 + "license": "MIT", 1506 + "optional": true, 1507 + "os": [ 1508 + "linux" 1509 + ], 1510 + "engines": { 1511 + "node": "^20.19.0 || >=22.12.0" 1512 + } 1513 + }, 1514 + "node_modules/@rolldown/binding-linux-x64-musl": { 1515 + "version": "1.1.3", 1516 + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.3.tgz", 1517 + "integrity": "sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==", 1518 + "cpu": [ 1519 + "x64" 1520 + ], 1521 + "dev": true, 1522 + "libc": [ 1523 + "musl" 1524 + ], 1525 + "license": "MIT", 1526 + "optional": true, 1527 + "os": [ 1528 + "linux" 1529 + ], 1530 + "engines": { 1531 + "node": "^20.19.0 || >=22.12.0" 1532 + } 1533 + }, 1534 + "node_modules/@rolldown/binding-openharmony-arm64": { 1535 + "version": "1.1.3", 1536 + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.3.tgz", 1537 + "integrity": "sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==", 1538 + "cpu": [ 1539 + "arm64" 1540 + ], 1541 + "dev": true, 1542 + "license": "MIT", 1543 + "optional": true, 1544 + "os": [ 1545 + "openharmony" 1546 + ], 1547 + "engines": { 1548 + "node": "^20.19.0 || >=22.12.0" 1549 + } 1550 + }, 1551 + "node_modules/@rolldown/binding-wasm32-wasi": { 1552 + "version": "1.1.3", 1553 + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.3.tgz", 1554 + "integrity": "sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==", 1555 + "cpu": [ 1556 + "wasm32" 1557 + ], 1558 + "dev": true, 1559 + "license": "MIT", 1560 + "optional": true, 1561 + "dependencies": { 1562 + "@emnapi/core": "1.11.1", 1563 + "@emnapi/runtime": "1.11.1", 1564 + "@napi-rs/wasm-runtime": "^1.1.6" 1565 + }, 1566 + "engines": { 1567 + "node": "^20.19.0 || >=22.12.0" 1568 + } 1569 + }, 1570 + "node_modules/@rolldown/binding-win32-arm64-msvc": { 1571 + "version": "1.1.3", 1572 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.3.tgz", 1573 + "integrity": "sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==", 1574 + "cpu": [ 1575 + "arm64" 1576 + ], 1577 + "dev": true, 1578 + "license": "MIT", 1579 + "optional": true, 1580 + "os": [ 1581 + "win32" 1582 + ], 1583 + "engines": { 1584 + "node": "^20.19.0 || >=22.12.0" 1585 + } 1586 + }, 1587 + "node_modules/@rolldown/binding-win32-x64-msvc": { 1588 + "version": "1.1.3", 1589 + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.3.tgz", 1590 + "integrity": "sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==", 1591 + "cpu": [ 1592 + "x64" 1593 + ], 1594 + "dev": true, 1595 + "license": "MIT", 1596 + "optional": true, 1597 + "os": [ 1598 + "win32" 1599 + ], 1600 + "engines": { 1601 + "node": "^20.19.0 || >=22.12.0" 1602 + } 1603 + }, 1604 + "node_modules/@rolldown/pluginutils": { 1605 + "version": "1.0.1", 1606 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", 1607 + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", 1608 + "dev": true, 1609 + "license": "MIT" 1610 + }, 1611 + "node_modules/@sindresorhus/is": { 1612 + "version": "7.2.0", 1613 + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", 1614 + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", 1615 + "dev": true, 1616 + "license": "MIT", 1617 + "engines": { 1618 + "node": ">=18" 1619 + }, 1620 + "funding": { 1621 + "url": "https://github.com/sindresorhus/is?sponsor=1" 1622 + } 1623 + }, 1624 + "node_modules/@speed-highlight/core": { 1625 + "version": "1.2.17", 1626 + "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.17.tgz", 1627 + "integrity": "sha512-Z92FwKpCtfaW1V0jTU/fh3QzYEZN8wDwrzRIBoADCJfn4mJCNcJN/XegifX7BDrQ8/h9Xh/JnbyMchL0FqXrkg==", 1628 + "dev": true, 1629 + "license": "CC0-1.0" 1630 + }, 1631 + "node_modules/@standard-schema/spec": { 1632 + "version": "1.1.0", 1633 + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", 1634 + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", 1635 + "license": "MIT" 1636 + }, 1637 + "node_modules/@tybys/wasm-util": { 1638 + "version": "0.10.3", 1639 + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", 1640 + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", 1641 + "dev": true, 1642 + "license": "MIT", 1643 + "optional": true, 1644 + "dependencies": { 1645 + "tslib": "^2.4.0" 1646 + } 1647 + }, 1648 + "node_modules/@types/chai": { 1649 + "version": "5.2.3", 1650 + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", 1651 + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", 1652 + "dev": true, 1653 + "license": "MIT", 1654 + "dependencies": { 1655 + "@types/deep-eql": "*", 1656 + "assertion-error": "^2.0.1" 1657 + } 1658 + }, 1659 + "node_modules/@types/deep-eql": { 1660 + "version": "4.0.2", 1661 + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", 1662 + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", 1663 + "dev": true, 1664 + "license": "MIT" 1665 + }, 1666 + "node_modules/@types/estree": { 1667 + "version": "1.0.9", 1668 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", 1669 + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", 1670 + "dev": true, 1671 + "license": "MIT" 1672 + }, 1673 + "node_modules/@vitest/expect": { 1674 + "version": "4.1.9", 1675 + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", 1676 + "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", 1677 + "dev": true, 1678 + "license": "MIT", 1679 + "dependencies": { 1680 + "@standard-schema/spec": "^1.1.0", 1681 + "@types/chai": "^5.2.2", 1682 + "@vitest/spy": "4.1.9", 1683 + "@vitest/utils": "4.1.9", 1684 + "chai": "^6.2.2", 1685 + "tinyrainbow": "^3.1.0" 1686 + }, 1687 + "funding": { 1688 + "url": "https://opencollective.com/vitest" 1689 + } 1690 + }, 1691 + "node_modules/@vitest/mocker": { 1692 + "version": "4.1.9", 1693 + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", 1694 + "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", 1695 + "dev": true, 1696 + "license": "MIT", 1697 + "dependencies": { 1698 + "@vitest/spy": "4.1.9", 1699 + "estree-walker": "^3.0.3", 1700 + "magic-string": "^0.30.21" 1701 + }, 1702 + "funding": { 1703 + "url": "https://opencollective.com/vitest" 1704 + }, 1705 + "peerDependencies": { 1706 + "msw": "^2.4.9", 1707 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 1708 + }, 1709 + "peerDependenciesMeta": { 1710 + "msw": { 1711 + "optional": true 1712 + }, 1713 + "vite": { 1714 + "optional": true 1715 + } 1716 + } 1717 + }, 1718 + "node_modules/@vitest/pretty-format": { 1719 + "version": "4.1.9", 1720 + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", 1721 + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", 1722 + "dev": true, 1723 + "license": "MIT", 1724 + "dependencies": { 1725 + "tinyrainbow": "^3.1.0" 1726 + }, 1727 + "funding": { 1728 + "url": "https://opencollective.com/vitest" 1729 + } 1730 + }, 1731 + "node_modules/@vitest/runner": { 1732 + "version": "4.1.9", 1733 + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", 1734 + "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", 1735 + "dev": true, 1736 + "license": "MIT", 1737 + "dependencies": { 1738 + "@vitest/utils": "4.1.9", 1739 + "pathe": "^2.0.3" 1740 + }, 1741 + "funding": { 1742 + "url": "https://opencollective.com/vitest" 1743 + } 1744 + }, 1745 + "node_modules/@vitest/snapshot": { 1746 + "version": "4.1.9", 1747 + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", 1748 + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", 1749 + "dev": true, 1750 + "license": "MIT", 1751 + "dependencies": { 1752 + "@vitest/pretty-format": "4.1.9", 1753 + "@vitest/utils": "4.1.9", 1754 + "magic-string": "^0.30.21", 1755 + "pathe": "^2.0.3" 1756 + }, 1757 + "funding": { 1758 + "url": "https://opencollective.com/vitest" 1759 + } 1760 + }, 1761 + "node_modules/@vitest/spy": { 1762 + "version": "4.1.9", 1763 + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", 1764 + "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", 1765 + "dev": true, 1766 + "license": "MIT", 1767 + "funding": { 1768 + "url": "https://opencollective.com/vitest" 1769 + } 1770 + }, 1771 + "node_modules/@vitest/utils": { 1772 + "version": "4.1.9", 1773 + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", 1774 + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", 1775 + "dev": true, 1776 + "license": "MIT", 1777 + "dependencies": { 1778 + "@vitest/pretty-format": "4.1.9", 1779 + "convert-source-map": "^2.0.0", 1780 + "tinyrainbow": "^3.1.0" 1781 + }, 1782 + "funding": { 1783 + "url": "https://opencollective.com/vitest" 1784 + } 1785 + }, 1786 + "node_modules/assertion-error": { 1787 + "version": "2.0.1", 1788 + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", 1789 + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", 1790 + "dev": true, 1791 + "license": "MIT", 1792 + "engines": { 1793 + "node": ">=12" 1794 + } 1795 + }, 1796 + "node_modules/blake3-wasm": { 1797 + "version": "2.1.5", 1798 + "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", 1799 + "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", 1800 + "dev": true, 1801 + "license": "MIT" 1802 + }, 1803 + "node_modules/chai": { 1804 + "version": "6.2.2", 1805 + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", 1806 + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", 1807 + "dev": true, 1808 + "license": "MIT", 1809 + "engines": { 1810 + "node": ">=18" 1811 + } 1812 + }, 1813 + "node_modules/convert-source-map": { 1814 + "version": "2.0.0", 1815 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1816 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1817 + "dev": true, 1818 + "license": "MIT" 1819 + }, 1820 + "node_modules/cookie": { 1821 + "version": "1.1.1", 1822 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", 1823 + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", 1824 + "dev": true, 1825 + "license": "MIT", 1826 + "engines": { 1827 + "node": ">=18" 1828 + }, 1829 + "funding": { 1830 + "type": "opencollective", 1831 + "url": "https://opencollective.com/express" 1832 + } 1833 + }, 1834 + "node_modules/detect-libc": { 1835 + "version": "2.1.2", 1836 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 1837 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 1838 + "dev": true, 1839 + "license": "Apache-2.0", 1840 + "engines": { 1841 + "node": ">=8" 1842 + } 1843 + }, 1844 + "node_modules/error-stack-parser-es": { 1845 + "version": "1.0.5", 1846 + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", 1847 + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", 1848 + "dev": true, 1849 + "license": "MIT", 1850 + "funding": { 1851 + "url": "https://github.com/sponsors/antfu" 1852 + } 1853 + }, 1854 + "node_modules/es-module-lexer": { 1855 + "version": "2.1.0", 1856 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", 1857 + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", 1858 + "dev": true, 1859 + "license": "MIT" 1860 + }, 1861 + "node_modules/esbuild": { 1862 + "version": "0.28.1", 1863 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", 1864 + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", 1865 + "dev": true, 1866 + "hasInstallScript": true, 1867 + "license": "MIT", 1868 + "bin": { 1869 + "esbuild": "bin/esbuild" 1870 + }, 1871 + "engines": { 1872 + "node": ">=18" 1873 + }, 1874 + "optionalDependencies": { 1875 + "@esbuild/aix-ppc64": "0.28.1", 1876 + "@esbuild/android-arm": "0.28.1", 1877 + "@esbuild/android-arm64": "0.28.1", 1878 + "@esbuild/android-x64": "0.28.1", 1879 + "@esbuild/darwin-arm64": "0.28.1", 1880 + "@esbuild/darwin-x64": "0.28.1", 1881 + "@esbuild/freebsd-arm64": "0.28.1", 1882 + "@esbuild/freebsd-x64": "0.28.1", 1883 + "@esbuild/linux-arm": "0.28.1", 1884 + "@esbuild/linux-arm64": "0.28.1", 1885 + "@esbuild/linux-ia32": "0.28.1", 1886 + "@esbuild/linux-loong64": "0.28.1", 1887 + "@esbuild/linux-mips64el": "0.28.1", 1888 + "@esbuild/linux-ppc64": "0.28.1", 1889 + "@esbuild/linux-riscv64": "0.28.1", 1890 + "@esbuild/linux-s390x": "0.28.1", 1891 + "@esbuild/linux-x64": "0.28.1", 1892 + "@esbuild/netbsd-arm64": "0.28.1", 1893 + "@esbuild/netbsd-x64": "0.28.1", 1894 + "@esbuild/openbsd-arm64": "0.28.1", 1895 + "@esbuild/openbsd-x64": "0.28.1", 1896 + "@esbuild/openharmony-arm64": "0.28.1", 1897 + "@esbuild/sunos-x64": "0.28.1", 1898 + "@esbuild/win32-arm64": "0.28.1", 1899 + "@esbuild/win32-ia32": "0.28.1", 1900 + "@esbuild/win32-x64": "0.28.1" 1901 + } 1902 + }, 1903 + "node_modules/esm-env": { 1904 + "version": "1.2.2", 1905 + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", 1906 + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", 1907 + "license": "MIT" 1908 + }, 1909 + "node_modules/estree-walker": { 1910 + "version": "3.0.3", 1911 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 1912 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 1913 + "dev": true, 1914 + "license": "MIT", 1915 + "dependencies": { 1916 + "@types/estree": "^1.0.0" 1917 + } 1918 + }, 1919 + "node_modules/expect-type": { 1920 + "version": "1.3.0", 1921 + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", 1922 + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", 1923 + "dev": true, 1924 + "license": "Apache-2.0", 1925 + "engines": { 1926 + "node": ">=12.0.0" 1927 + } 1928 + }, 1929 + "node_modules/fdir": { 1930 + "version": "6.5.0", 1931 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 1932 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 1933 + "dev": true, 1934 + "license": "MIT", 1935 + "engines": { 1936 + "node": ">=12.0.0" 1937 + }, 1938 + "peerDependencies": { 1939 + "picomatch": "^3 || ^4" 1940 + }, 1941 + "peerDependenciesMeta": { 1942 + "picomatch": { 1943 + "optional": true 1944 + } 1945 + } 1946 + }, 1947 + "node_modules/fsevents": { 1948 + "version": "2.3.3", 1949 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1950 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1951 + "dev": true, 1952 + "hasInstallScript": true, 1953 + "license": "MIT", 1954 + "optional": true, 1955 + "os": [ 1956 + "darwin" 1957 + ], 1958 + "engines": { 1959 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1960 + } 1961 + }, 1962 + "node_modules/kleur": { 1963 + "version": "4.1.5", 1964 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 1965 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 1966 + "dev": true, 1967 + "license": "MIT", 1968 + "engines": { 1969 + "node": ">=6" 1970 + } 1971 + }, 1972 + "node_modules/lightningcss": { 1973 + "version": "1.32.0", 1974 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", 1975 + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", 1976 + "dev": true, 1977 + "license": "MPL-2.0", 1978 + "dependencies": { 1979 + "detect-libc": "^2.0.3" 1980 + }, 1981 + "engines": { 1982 + "node": ">= 12.0.0" 1983 + }, 1984 + "funding": { 1985 + "type": "opencollective", 1986 + "url": "https://opencollective.com/parcel" 1987 + }, 1988 + "optionalDependencies": { 1989 + "lightningcss-android-arm64": "1.32.0", 1990 + "lightningcss-darwin-arm64": "1.32.0", 1991 + "lightningcss-darwin-x64": "1.32.0", 1992 + "lightningcss-freebsd-x64": "1.32.0", 1993 + "lightningcss-linux-arm-gnueabihf": "1.32.0", 1994 + "lightningcss-linux-arm64-gnu": "1.32.0", 1995 + "lightningcss-linux-arm64-musl": "1.32.0", 1996 + "lightningcss-linux-x64-gnu": "1.32.0", 1997 + "lightningcss-linux-x64-musl": "1.32.0", 1998 + "lightningcss-win32-arm64-msvc": "1.32.0", 1999 + "lightningcss-win32-x64-msvc": "1.32.0" 2000 + } 2001 + }, 2002 + "node_modules/lightningcss-android-arm64": { 2003 + "version": "1.32.0", 2004 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", 2005 + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", 2006 + "cpu": [ 2007 + "arm64" 2008 + ], 2009 + "dev": true, 2010 + "license": "MPL-2.0", 2011 + "optional": true, 2012 + "os": [ 2013 + "android" 2014 + ], 2015 + "engines": { 2016 + "node": ">= 12.0.0" 2017 + }, 2018 + "funding": { 2019 + "type": "opencollective", 2020 + "url": "https://opencollective.com/parcel" 2021 + } 2022 + }, 2023 + "node_modules/lightningcss-darwin-arm64": { 2024 + "version": "1.32.0", 2025 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", 2026 + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", 2027 + "cpu": [ 2028 + "arm64" 2029 + ], 2030 + "dev": true, 2031 + "license": "MPL-2.0", 2032 + "optional": true, 2033 + "os": [ 2034 + "darwin" 2035 + ], 2036 + "engines": { 2037 + "node": ">= 12.0.0" 2038 + }, 2039 + "funding": { 2040 + "type": "opencollective", 2041 + "url": "https://opencollective.com/parcel" 2042 + } 2043 + }, 2044 + "node_modules/lightningcss-darwin-x64": { 2045 + "version": "1.32.0", 2046 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", 2047 + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", 2048 + "cpu": [ 2049 + "x64" 2050 + ], 2051 + "dev": true, 2052 + "license": "MPL-2.0", 2053 + "optional": true, 2054 + "os": [ 2055 + "darwin" 2056 + ], 2057 + "engines": { 2058 + "node": ">= 12.0.0" 2059 + }, 2060 + "funding": { 2061 + "type": "opencollective", 2062 + "url": "https://opencollective.com/parcel" 2063 + } 2064 + }, 2065 + "node_modules/lightningcss-freebsd-x64": { 2066 + "version": "1.32.0", 2067 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", 2068 + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", 2069 + "cpu": [ 2070 + "x64" 2071 + ], 2072 + "dev": true, 2073 + "license": "MPL-2.0", 2074 + "optional": true, 2075 + "os": [ 2076 + "freebsd" 2077 + ], 2078 + "engines": { 2079 + "node": ">= 12.0.0" 2080 + }, 2081 + "funding": { 2082 + "type": "opencollective", 2083 + "url": "https://opencollective.com/parcel" 2084 + } 2085 + }, 2086 + "node_modules/lightningcss-linux-arm-gnueabihf": { 2087 + "version": "1.32.0", 2088 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", 2089 + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", 2090 + "cpu": [ 2091 + "arm" 2092 + ], 2093 + "dev": true, 2094 + "license": "MPL-2.0", 2095 + "optional": true, 2096 + "os": [ 2097 + "linux" 2098 + ], 2099 + "engines": { 2100 + "node": ">= 12.0.0" 2101 + }, 2102 + "funding": { 2103 + "type": "opencollective", 2104 + "url": "https://opencollective.com/parcel" 2105 + } 2106 + }, 2107 + "node_modules/lightningcss-linux-arm64-gnu": { 2108 + "version": "1.32.0", 2109 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", 2110 + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", 2111 + "cpu": [ 2112 + "arm64" 2113 + ], 2114 + "dev": true, 2115 + "libc": [ 2116 + "glibc" 2117 + ], 2118 + "license": "MPL-2.0", 2119 + "optional": true, 2120 + "os": [ 2121 + "linux" 2122 + ], 2123 + "engines": { 2124 + "node": ">= 12.0.0" 2125 + }, 2126 + "funding": { 2127 + "type": "opencollective", 2128 + "url": "https://opencollective.com/parcel" 2129 + } 2130 + }, 2131 + "node_modules/lightningcss-linux-arm64-musl": { 2132 + "version": "1.32.0", 2133 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", 2134 + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", 2135 + "cpu": [ 2136 + "arm64" 2137 + ], 2138 + "dev": true, 2139 + "libc": [ 2140 + "musl" 2141 + ], 2142 + "license": "MPL-2.0", 2143 + "optional": true, 2144 + "os": [ 2145 + "linux" 2146 + ], 2147 + "engines": { 2148 + "node": ">= 12.0.0" 2149 + }, 2150 + "funding": { 2151 + "type": "opencollective", 2152 + "url": "https://opencollective.com/parcel" 2153 + } 2154 + }, 2155 + "node_modules/lightningcss-linux-x64-gnu": { 2156 + "version": "1.32.0", 2157 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", 2158 + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", 2159 + "cpu": [ 2160 + "x64" 2161 + ], 2162 + "dev": true, 2163 + "libc": [ 2164 + "glibc" 2165 + ], 2166 + "license": "MPL-2.0", 2167 + "optional": true, 2168 + "os": [ 2169 + "linux" 2170 + ], 2171 + "engines": { 2172 + "node": ">= 12.0.0" 2173 + }, 2174 + "funding": { 2175 + "type": "opencollective", 2176 + "url": "https://opencollective.com/parcel" 2177 + } 2178 + }, 2179 + "node_modules/lightningcss-linux-x64-musl": { 2180 + "version": "1.32.0", 2181 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", 2182 + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", 2183 + "cpu": [ 2184 + "x64" 2185 + ], 2186 + "dev": true, 2187 + "libc": [ 2188 + "musl" 2189 + ], 2190 + "license": "MPL-2.0", 2191 + "optional": true, 2192 + "os": [ 2193 + "linux" 2194 + ], 2195 + "engines": { 2196 + "node": ">= 12.0.0" 2197 + }, 2198 + "funding": { 2199 + "type": "opencollective", 2200 + "url": "https://opencollective.com/parcel" 2201 + } 2202 + }, 2203 + "node_modules/lightningcss-win32-arm64-msvc": { 2204 + "version": "1.32.0", 2205 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", 2206 + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", 2207 + "cpu": [ 2208 + "arm64" 2209 + ], 2210 + "dev": true, 2211 + "license": "MPL-2.0", 2212 + "optional": true, 2213 + "os": [ 2214 + "win32" 2215 + ], 2216 + "engines": { 2217 + "node": ">= 12.0.0" 2218 + }, 2219 + "funding": { 2220 + "type": "opencollective", 2221 + "url": "https://opencollective.com/parcel" 2222 + } 2223 + }, 2224 + "node_modules/lightningcss-win32-x64-msvc": { 2225 + "version": "1.32.0", 2226 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", 2227 + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", 2228 + "cpu": [ 2229 + "x64" 2230 + ], 2231 + "dev": true, 2232 + "license": "MPL-2.0", 2233 + "optional": true, 2234 + "os": [ 2235 + "win32" 2236 + ], 2237 + "engines": { 2238 + "node": ">= 12.0.0" 2239 + }, 2240 + "funding": { 2241 + "type": "opencollective", 2242 + "url": "https://opencollective.com/parcel" 2243 + } 2244 + }, 2245 + "node_modules/magic-string": { 2246 + "version": "0.30.21", 2247 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 2248 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 2249 + "dev": true, 2250 + "license": "MIT", 2251 + "dependencies": { 2252 + "@jridgewell/sourcemap-codec": "^1.5.5" 2253 + } 2254 + }, 2255 + "node_modules/miniflare": { 2256 + "version": "4.20260623.0", 2257 + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260623.0.tgz", 2258 + "integrity": "sha512-p2YTeH01jMiMOjO4v9hb/+GJndja5LCxecGOWCaT9F414PRXgdddLDsK6MnqhGBB5tlU/WoBYIG1XZte5pQzOQ==", 2259 + "dev": true, 2260 + "license": "MIT", 2261 + "dependencies": { 2262 + "@cspotcode/source-map-support": "0.8.1", 2263 + "sharp": "0.34.5", 2264 + "undici": "7.28.0", 2265 + "workerd": "1.20260623.1", 2266 + "ws": "8.21.0", 2267 + "youch": "4.1.0-beta.10" 2268 + }, 2269 + "bin": { 2270 + "miniflare": "bootstrap.js" 2271 + }, 2272 + "engines": { 2273 + "node": ">=22.0.0" 2274 + } 2275 + }, 2276 + "node_modules/nanoid": { 2277 + "version": "3.3.15", 2278 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", 2279 + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", 2280 + "dev": true, 2281 + "funding": [ 2282 + { 2283 + "type": "github", 2284 + "url": "https://github.com/sponsors/ai" 2285 + } 2286 + ], 2287 + "license": "MIT", 2288 + "bin": { 2289 + "nanoid": "bin/nanoid.cjs" 2290 + }, 2291 + "engines": { 2292 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2293 + } 2294 + }, 2295 + "node_modules/obug": { 2296 + "version": "2.1.3", 2297 + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", 2298 + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", 2299 + "dev": true, 2300 + "funding": [ 2301 + "https://github.com/sponsors/sxzz", 2302 + "https://opencollective.com/debug" 2303 + ], 2304 + "license": "MIT", 2305 + "engines": { 2306 + "node": ">=12.20.0" 2307 + } 2308 + }, 2309 + "node_modules/path-to-regexp": { 2310 + "version": "6.3.0", 2311 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", 2312 + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", 2313 + "dev": true, 2314 + "license": "MIT" 2315 + }, 2316 + "node_modules/pathe": { 2317 + "version": "2.0.3", 2318 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 2319 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 2320 + "dev": true, 2321 + "license": "MIT" 2322 + }, 2323 + "node_modules/picocolors": { 2324 + "version": "1.1.1", 2325 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2326 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2327 + "dev": true, 2328 + "license": "ISC" 2329 + }, 2330 + "node_modules/picomatch": { 2331 + "version": "4.0.4", 2332 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", 2333 + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", 2334 + "dev": true, 2335 + "license": "MIT", 2336 + "engines": { 2337 + "node": ">=12" 2338 + }, 2339 + "funding": { 2340 + "url": "https://github.com/sponsors/jonschlinkert" 2341 + } 2342 + }, 2343 + "node_modules/postcss": { 2344 + "version": "8.5.15", 2345 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", 2346 + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", 2347 + "dev": true, 2348 + "funding": [ 2349 + { 2350 + "type": "opencollective", 2351 + "url": "https://opencollective.com/postcss/" 2352 + }, 2353 + { 2354 + "type": "tidelift", 2355 + "url": "https://tidelift.com/funding/github/npm/postcss" 2356 + }, 2357 + { 2358 + "type": "github", 2359 + "url": "https://github.com/sponsors/ai" 2360 + } 2361 + ], 2362 + "license": "MIT", 2363 + "dependencies": { 2364 + "nanoid": "^3.3.12", 2365 + "picocolors": "^1.1.1", 2366 + "source-map-js": "^1.2.1" 2367 + }, 2368 + "engines": { 2369 + "node": "^10 || ^12 || >=14" 2370 + } 2371 + }, 2372 + "node_modules/rolldown": { 2373 + "version": "1.1.3", 2374 + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.3.tgz", 2375 + "integrity": "sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==", 2376 + "dev": true, 2377 + "license": "MIT", 2378 + "dependencies": { 2379 + "@oxc-project/types": "=0.137.0", 2380 + "@rolldown/pluginutils": "^1.0.0" 2381 + }, 2382 + "bin": { 2383 + "rolldown": "bin/cli.mjs" 2384 + }, 2385 + "engines": { 2386 + "node": "^20.19.0 || >=22.12.0" 2387 + }, 2388 + "optionalDependencies": { 2389 + "@rolldown/binding-android-arm64": "1.1.3", 2390 + "@rolldown/binding-darwin-arm64": "1.1.3", 2391 + "@rolldown/binding-darwin-x64": "1.1.3", 2392 + "@rolldown/binding-freebsd-x64": "1.1.3", 2393 + "@rolldown/binding-linux-arm-gnueabihf": "1.1.3", 2394 + "@rolldown/binding-linux-arm64-gnu": "1.1.3", 2395 + "@rolldown/binding-linux-arm64-musl": "1.1.3", 2396 + "@rolldown/binding-linux-ppc64-gnu": "1.1.3", 2397 + "@rolldown/binding-linux-s390x-gnu": "1.1.3", 2398 + "@rolldown/binding-linux-x64-gnu": "1.1.3", 2399 + "@rolldown/binding-linux-x64-musl": "1.1.3", 2400 + "@rolldown/binding-openharmony-arm64": "1.1.3", 2401 + "@rolldown/binding-wasm32-wasi": "1.1.3", 2402 + "@rolldown/binding-win32-arm64-msvc": "1.1.3", 2403 + "@rolldown/binding-win32-x64-msvc": "1.1.3" 2404 + } 2405 + }, 2406 + "node_modules/semver": { 2407 + "version": "7.8.5", 2408 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", 2409 + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", 2410 + "dev": true, 2411 + "license": "ISC", 2412 + "bin": { 2413 + "semver": "bin/semver.js" 2414 + }, 2415 + "engines": { 2416 + "node": ">=10" 2417 + } 2418 + }, 2419 + "node_modules/sharp": { 2420 + "version": "0.34.5", 2421 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", 2422 + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", 2423 + "dev": true, 2424 + "hasInstallScript": true, 2425 + "license": "Apache-2.0", 2426 + "dependencies": { 2427 + "@img/colour": "^1.0.0", 2428 + "detect-libc": "^2.1.2", 2429 + "semver": "^7.7.3" 2430 + }, 2431 + "engines": { 2432 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 2433 + }, 2434 + "funding": { 2435 + "url": "https://opencollective.com/libvips" 2436 + }, 2437 + "optionalDependencies": { 2438 + "@img/sharp-darwin-arm64": "0.34.5", 2439 + "@img/sharp-darwin-x64": "0.34.5", 2440 + "@img/sharp-libvips-darwin-arm64": "1.2.4", 2441 + "@img/sharp-libvips-darwin-x64": "1.2.4", 2442 + "@img/sharp-libvips-linux-arm": "1.2.4", 2443 + "@img/sharp-libvips-linux-arm64": "1.2.4", 2444 + "@img/sharp-libvips-linux-ppc64": "1.2.4", 2445 + "@img/sharp-libvips-linux-riscv64": "1.2.4", 2446 + "@img/sharp-libvips-linux-s390x": "1.2.4", 2447 + "@img/sharp-libvips-linux-x64": "1.2.4", 2448 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", 2449 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", 2450 + "@img/sharp-linux-arm": "0.34.5", 2451 + "@img/sharp-linux-arm64": "0.34.5", 2452 + "@img/sharp-linux-ppc64": "0.34.5", 2453 + "@img/sharp-linux-riscv64": "0.34.5", 2454 + "@img/sharp-linux-s390x": "0.34.5", 2455 + "@img/sharp-linux-x64": "0.34.5", 2456 + "@img/sharp-linuxmusl-arm64": "0.34.5", 2457 + "@img/sharp-linuxmusl-x64": "0.34.5", 2458 + "@img/sharp-wasm32": "0.34.5", 2459 + "@img/sharp-win32-arm64": "0.34.5", 2460 + "@img/sharp-win32-ia32": "0.34.5", 2461 + "@img/sharp-win32-x64": "0.34.5" 2462 + } 2463 + }, 2464 + "node_modules/siginfo": { 2465 + "version": "2.0.0", 2466 + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 2467 + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 2468 + "dev": true, 2469 + "license": "ISC" 2470 + }, 2471 + "node_modules/source-map-js": { 2472 + "version": "1.2.1", 2473 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2474 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 2475 + "dev": true, 2476 + "license": "BSD-3-Clause", 2477 + "engines": { 2478 + "node": ">=0.10.0" 2479 + } 2480 + }, 2481 + "node_modules/stackback": { 2482 + "version": "0.0.2", 2483 + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 2484 + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 2485 + "dev": true, 2486 + "license": "MIT" 2487 + }, 2488 + "node_modules/std-env": { 2489 + "version": "4.1.0", 2490 + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", 2491 + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", 2492 + "dev": true, 2493 + "license": "MIT" 2494 + }, 2495 + "node_modules/supports-color": { 2496 + "version": "10.2.2", 2497 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", 2498 + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", 2499 + "dev": true, 2500 + "license": "MIT", 2501 + "engines": { 2502 + "node": ">=18" 2503 + }, 2504 + "funding": { 2505 + "url": "https://github.com/chalk/supports-color?sponsor=1" 2506 + } 2507 + }, 2508 + "node_modules/tinybench": { 2509 + "version": "2.9.0", 2510 + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", 2511 + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", 2512 + "dev": true, 2513 + "license": "MIT" 2514 + }, 2515 + "node_modules/tinyexec": { 2516 + "version": "1.2.4", 2517 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", 2518 + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", 2519 + "dev": true, 2520 + "license": "MIT", 2521 + "engines": { 2522 + "node": ">=18" 2523 + } 2524 + }, 2525 + "node_modules/tinyglobby": { 2526 + "version": "0.2.17", 2527 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", 2528 + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", 2529 + "dev": true, 2530 + "license": "MIT", 2531 + "dependencies": { 2532 + "fdir": "^6.5.0", 2533 + "picomatch": "^4.0.4" 2534 + }, 2535 + "engines": { 2536 + "node": ">=12.0.0" 2537 + }, 2538 + "funding": { 2539 + "url": "https://github.com/sponsors/SuperchupuDev" 2540 + } 2541 + }, 2542 + "node_modules/tinyrainbow": { 2543 + "version": "3.1.0", 2544 + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", 2545 + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", 2546 + "dev": true, 2547 + "license": "MIT", 2548 + "engines": { 2549 + "node": ">=14.0.0" 2550 + } 2551 + }, 2552 + "node_modules/tslib": { 2553 + "version": "2.8.1", 2554 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 2555 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 2556 + "dev": true, 2557 + "license": "0BSD", 2558 + "optional": true 2559 + }, 2560 + "node_modules/typescript": { 2561 + "version": "6.0.3", 2562 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", 2563 + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", 2564 + "devOptional": true, 2565 + "license": "Apache-2.0", 2566 + "bin": { 2567 + "tsc": "bin/tsc", 2568 + "tsserver": "bin/tsserver" 2569 + }, 2570 + "engines": { 2571 + "node": ">=14.17" 2572 + } 2573 + }, 2574 + "node_modules/undici": { 2575 + "version": "7.28.0", 2576 + "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", 2577 + "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==", 2578 + "dev": true, 2579 + "license": "MIT", 2580 + "engines": { 2581 + "node": ">=20.18.1" 2582 + } 2583 + }, 2584 + "node_modules/unenv": { 2585 + "version": "2.0.0-rc.24", 2586 + "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.24.tgz", 2587 + "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==", 2588 + "dev": true, 2589 + "license": "MIT", 2590 + "dependencies": { 2591 + "pathe": "^2.0.3" 2592 + } 2593 + }, 2594 + "node_modules/unicode-segmenter": { 2595 + "version": "0.14.5", 2596 + "resolved": "https://registry.npmjs.org/unicode-segmenter/-/unicode-segmenter-0.14.5.tgz", 2597 + "integrity": "sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==", 2598 + "license": "MIT" 2599 + }, 2600 + "node_modules/valibot": { 2601 + "version": "1.4.1", 2602 + "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.4.1.tgz", 2603 + "integrity": "sha512-klCmFTz2jeDluy9RwX+F884TCiogtdBJ/YaxSx1EOBYXa3NXNWj8kR1jjN8rzluwojJVWWaHJ4r1U5LfICnM3g==", 2604 + "license": "MIT", 2605 + "peerDependencies": { 2606 + "typescript": ">=5" 2607 + }, 2608 + "peerDependenciesMeta": { 2609 + "typescript": { 2610 + "optional": true 2611 + } 2612 + } 2613 + }, 2614 + "node_modules/vite": { 2615 + "version": "8.1.0", 2616 + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz", 2617 + "integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==", 2618 + "dev": true, 2619 + "license": "MIT", 2620 + "dependencies": { 2621 + "lightningcss": "^1.32.0", 2622 + "picomatch": "^4.0.4", 2623 + "postcss": "^8.5.15", 2624 + "rolldown": "~1.1.2", 2625 + "tinyglobby": "^0.2.17" 2626 + }, 2627 + "bin": { 2628 + "vite": "bin/vite.js" 2629 + }, 2630 + "engines": { 2631 + "node": "^20.19.0 || >=22.12.0" 2632 + }, 2633 + "funding": { 2634 + "url": "https://github.com/vitejs/vite?sponsor=1" 2635 + }, 2636 + "optionalDependencies": { 2637 + "fsevents": "~2.3.3" 2638 + }, 2639 + "peerDependencies": { 2640 + "@types/node": "^20.19.0 || >=22.12.0", 2641 + "@vitejs/devtools": "^0.3.0", 2642 + "esbuild": "^0.27.0 || ^0.28.0", 2643 + "jiti": ">=1.21.0", 2644 + "less": "^4.0.0", 2645 + "sass": "^1.70.0", 2646 + "sass-embedded": "^1.70.0", 2647 + "stylus": ">=0.54.8", 2648 + "sugarss": "^5.0.0", 2649 + "terser": "^5.16.0", 2650 + "tsx": "^4.8.1", 2651 + "yaml": "^2.4.2" 2652 + }, 2653 + "peerDependenciesMeta": { 2654 + "@types/node": { 2655 + "optional": true 2656 + }, 2657 + "@vitejs/devtools": { 2658 + "optional": true 2659 + }, 2660 + "esbuild": { 2661 + "optional": true 2662 + }, 2663 + "jiti": { 2664 + "optional": true 2665 + }, 2666 + "less": { 2667 + "optional": true 2668 + }, 2669 + "sass": { 2670 + "optional": true 2671 + }, 2672 + "sass-embedded": { 2673 + "optional": true 2674 + }, 2675 + "stylus": { 2676 + "optional": true 2677 + }, 2678 + "sugarss": { 2679 + "optional": true 2680 + }, 2681 + "terser": { 2682 + "optional": true 2683 + }, 2684 + "tsx": { 2685 + "optional": true 2686 + }, 2687 + "yaml": { 2688 + "optional": true 2689 + } 2690 + } 2691 + }, 2692 + "node_modules/vitest": { 2693 + "version": "4.1.9", 2694 + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", 2695 + "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", 2696 + "dev": true, 2697 + "license": "MIT", 2698 + "dependencies": { 2699 + "@vitest/expect": "4.1.9", 2700 + "@vitest/mocker": "4.1.9", 2701 + "@vitest/pretty-format": "4.1.9", 2702 + "@vitest/runner": "4.1.9", 2703 + "@vitest/snapshot": "4.1.9", 2704 + "@vitest/spy": "4.1.9", 2705 + "@vitest/utils": "4.1.9", 2706 + "es-module-lexer": "^2.0.0", 2707 + "expect-type": "^1.3.0", 2708 + "magic-string": "^0.30.21", 2709 + "obug": "^2.1.1", 2710 + "pathe": "^2.0.3", 2711 + "picomatch": "^4.0.3", 2712 + "std-env": "^4.0.0-rc.1", 2713 + "tinybench": "^2.9.0", 2714 + "tinyexec": "^1.0.2", 2715 + "tinyglobby": "^0.2.15", 2716 + "tinyrainbow": "^3.1.0", 2717 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", 2718 + "why-is-node-running": "^2.3.0" 2719 + }, 2720 + "bin": { 2721 + "vitest": "vitest.mjs" 2722 + }, 2723 + "engines": { 2724 + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" 2725 + }, 2726 + "funding": { 2727 + "url": "https://opencollective.com/vitest" 2728 + }, 2729 + "peerDependencies": { 2730 + "@edge-runtime/vm": "*", 2731 + "@opentelemetry/api": "^1.9.0", 2732 + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", 2733 + "@vitest/browser-playwright": "4.1.9", 2734 + "@vitest/browser-preview": "4.1.9", 2735 + "@vitest/browser-webdriverio": "4.1.9", 2736 + "@vitest/coverage-istanbul": "4.1.9", 2737 + "@vitest/coverage-v8": "4.1.9", 2738 + "@vitest/ui": "4.1.9", 2739 + "happy-dom": "*", 2740 + "jsdom": "*", 2741 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 2742 + }, 2743 + "peerDependenciesMeta": { 2744 + "@edge-runtime/vm": { 2745 + "optional": true 2746 + }, 2747 + "@opentelemetry/api": { 2748 + "optional": true 2749 + }, 2750 + "@types/node": { 2751 + "optional": true 2752 + }, 2753 + "@vitest/browser-playwright": { 2754 + "optional": true 2755 + }, 2756 + "@vitest/browser-preview": { 2757 + "optional": true 2758 + }, 2759 + "@vitest/browser-webdriverio": { 2760 + "optional": true 2761 + }, 2762 + "@vitest/coverage-istanbul": { 2763 + "optional": true 2764 + }, 2765 + "@vitest/coverage-v8": { 2766 + "optional": true 2767 + }, 2768 + "@vitest/ui": { 2769 + "optional": true 2770 + }, 2771 + "happy-dom": { 2772 + "optional": true 2773 + }, 2774 + "jsdom": { 2775 + "optional": true 2776 + }, 2777 + "vite": { 2778 + "optional": false 2779 + } 2780 + } 2781 + }, 2782 + "node_modules/why-is-node-running": { 2783 + "version": "2.3.0", 2784 + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", 2785 + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", 2786 + "dev": true, 2787 + "license": "MIT", 2788 + "dependencies": { 2789 + "siginfo": "^2.0.0", 2790 + "stackback": "0.0.2" 2791 + }, 2792 + "bin": { 2793 + "why-is-node-running": "cli.js" 2794 + }, 2795 + "engines": { 2796 + "node": ">=8" 2797 + } 2798 + }, 2799 + "node_modules/workerd": { 2800 + "version": "1.20260623.1", 2801 + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260623.1.tgz", 2802 + "integrity": "sha512-9SJsdTSsehhqc26TUJIzyi1XgyYeqFym4hinZnWoAP1BkhEoMQ5Ygz7Xw9T+2ecU+y409JBEScBgWTdZ06mBrg==", 2803 + "dev": true, 2804 + "hasInstallScript": true, 2805 + "license": "Apache-2.0", 2806 + "bin": { 2807 + "workerd": "bin/workerd" 2808 + }, 2809 + "engines": { 2810 + "node": ">=16" 2811 + }, 2812 + "optionalDependencies": { 2813 + "@cloudflare/workerd-darwin-64": "1.20260623.1", 2814 + "@cloudflare/workerd-darwin-arm64": "1.20260623.1", 2815 + "@cloudflare/workerd-linux-64": "1.20260623.1", 2816 + "@cloudflare/workerd-linux-arm64": "1.20260623.1", 2817 + "@cloudflare/workerd-windows-64": "1.20260623.1" 2818 + } 2819 + }, 2820 + "node_modules/wrangler": { 2821 + "version": "4.104.0", 2822 + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.104.0.tgz", 2823 + "integrity": "sha512-xCfbg2Oj93Bc7EMryFaSeRGDgV96dzrWoaK5q2q5XLEvumO4mysNP/1MDue0GUozEJAI6Z6vrGyYPLmfET/0sg==", 2824 + "dev": true, 2825 + "license": "MIT OR Apache-2.0", 2826 + "dependencies": { 2827 + "@cloudflare/kv-asset-handler": "0.5.0", 2828 + "@cloudflare/unenv-preset": "2.16.1", 2829 + "blake3-wasm": "2.1.5", 2830 + "esbuild": "0.28.1", 2831 + "miniflare": "4.20260623.0", 2832 + "path-to-regexp": "6.3.0", 2833 + "unenv": "2.0.0-rc.24", 2834 + "workerd": "1.20260623.1" 2835 + }, 2836 + "bin": { 2837 + "cf-wrangler": "bin/cf-wrangler.js", 2838 + "wrangler": "bin/wrangler.js", 2839 + "wrangler2": "bin/wrangler.js" 2840 + }, 2841 + "engines": { 2842 + "node": ">=22.0.0" 2843 + }, 2844 + "optionalDependencies": { 2845 + "fsevents": "2.3.3" 2846 + }, 2847 + "peerDependencies": { 2848 + "@cloudflare/workers-types": "^4.20260623.1" 2849 + }, 2850 + "peerDependenciesMeta": { 2851 + "@cloudflare/workers-types": { 2852 + "optional": true 2853 + } 2854 + } 2855 + }, 2856 + "node_modules/ws": { 2857 + "version": "8.21.0", 2858 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", 2859 + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", 2860 + "dev": true, 2861 + "license": "MIT", 2862 + "engines": { 2863 + "node": ">=10.0.0" 2864 + }, 2865 + "peerDependencies": { 2866 + "bufferutil": "^4.0.1", 2867 + "utf-8-validate": ">=5.0.2" 2868 + }, 2869 + "peerDependenciesMeta": { 2870 + "bufferutil": { 2871 + "optional": true 2872 + }, 2873 + "utf-8-validate": { 2874 + "optional": true 2875 + } 2876 + } 2877 + }, 2878 + "node_modules/youch": { 2879 + "version": "4.1.0-beta.10", 2880 + "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz", 2881 + "integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==", 2882 + "dev": true, 2883 + "license": "MIT", 2884 + "dependencies": { 2885 + "@poppinss/colors": "^4.1.5", 2886 + "@poppinss/dumper": "^0.6.4", 2887 + "@speed-highlight/core": "^1.2.7", 2888 + "cookie": "^1.0.2", 2889 + "youch-core": "^0.3.3" 2890 + } 2891 + }, 2892 + "node_modules/youch-core": { 2893 + "version": "0.3.3", 2894 + "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz", 2895 + "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==", 2896 + "dev": true, 2897 + "license": "MIT", 2898 + "dependencies": { 2899 + "@poppinss/exception": "^1.2.2", 2900 + "error-stack-parser-es": "^1.0.5" 2901 + } 2902 + } 2903 + } 2904 + }
+23
package.json
··· 1 + { 2 + "name": "atmot-bot", 3 + "version": "1.0.0", 4 + "description": "Daily Bluesky bot for AT Mot — invites players and congratulates yesterday's solvers.", 5 + "private": true, 6 + "type": "module", 7 + "scripts": { 8 + "test": "vitest run", 9 + "typecheck": "tsc --noEmit", 10 + "dev": "wrangler dev --test-scheduled", 11 + "deploy": "wrangler deploy" 12 + }, 13 + "dependencies": { 14 + "@atcute/client": "^5.1.0", 15 + "@atcute/identity-resolver": "^2.0.0" 16 + }, 17 + "devDependencies": { 18 + "@cloudflare/workers-types": "^4.20240000.0", 19 + "typescript": "^6.0.3", 20 + "vitest": "^4.1.9", 21 + "wrangler": "^4.103.0" 22 + } 23 + }
+63
src/config.ts
··· 1 + /** 2 + * Frozen constants and puzzle math, duplicated from the AT Mot app. 3 + * Every value here is immutable post-launch (it indexes historical data), 4 + * so duplicating it into the bot carries no divergence risk. 5 + */ 6 + 7 + export const LANGS = ['en', 'fr'] as const; 8 + export type Lang = (typeof LANGS)[number]; 9 + 10 + export const DOMAIN = 'atmot.herve.bzh'; 11 + export const ORIGIN = `https://${DOMAIN}`; 12 + 13 + export const NSID_AUTHORITY = 'bzh.herve.atmot'; 14 + export const COLLECTION = { result: `${NSID_AUTHORITY}.result` } as const; 15 + 16 + /** Epoch: 2026-06-23 (UTC) midnight. Launch day = puzzle #1. (Month is 0-indexed: 5 = June.) */ 17 + export const EPOCH_UTC_MS = Date.UTC(2026, 5, 23); 18 + 19 + const MS_PER_DAY = 86_400_000; 20 + 21 + /** Whole UTC days from the epoch to `at` (epoch day = 0). */ 22 + export function daysSinceEpoch(at: number = Date.now()): number { 23 + const utcMidnight = Math.floor(at / MS_PER_DAY) * MS_PER_DAY; 24 + return Math.floor((utcMidnight - EPOCH_UTC_MS) / MS_PER_DAY); 25 + } 26 + 27 + /** Puzzle number for a UTC day. Epoch = 1; days before the epoch are < 1. */ 28 + export function puzzleNumberFor(at: number = Date.now()): number { 29 + return daysSinceEpoch(at) + 1; 30 + } 31 + 32 + /** Canonical, frozen leaderboard target. Constellation compares this literally. */ 33 + export function puzzleTarget(lang: Lang, puzzleNumber: number): string { 34 + return `${ORIGIN}/p/${lang}/${puzzleNumber}`; 35 + } 36 + 37 + export const CONSTELLATION_BASE = 'https://constellation.microcosm.blue'; 38 + export const APPVIEW_URL = 'https://public.api.bsky.app'; 39 + export const USER_AGENT = `atmot-bot/1.0 (+${ORIGIN}; daily word game bot)`; 40 + 41 + /** Free Workers plan: keep ~2 subrequests/record under the 50/invocation cap. */ 42 + export const SOLVER_SAMPLE_CAP = 20; 43 + 44 + /** The result record shape we read from each player's PDS (colours only; subset we use). */ 45 + export interface ResultRecord { 46 + $type: 'bzh.herve.atmot.result'; 47 + lang: string; 48 + puzzleNumber: number; 49 + solved: boolean; 50 + guessCount?: number; 51 + puzzleTarget: string; 52 + createdAt: string; 53 + } 54 + 55 + /** Yesterday's aggregate, produced by counts.ts and consumed by compose.ts. */ 56 + export interface YesterdayCounts { 57 + /** Distinct players who recorded a result (wins + losses); null if Constellation was unreachable. */ 58 + players: number | null; 59 + /** Players who solved, counted from the sampled records (≤ SOLVER_SAMPLE_CAP). */ 60 + solvers: number; 61 + /** True if the sample hit the cap (more results may exist than were counted). */ 62 + sampled: boolean; 63 + }
+29
test/config.test.ts
··· 1 + import { describe, it, expect } from 'vitest'; 2 + import { EPOCH_UTC_MS, puzzleNumberFor, daysSinceEpoch, puzzleTarget } from '../src/config.js'; 3 + 4 + describe('puzzle numbering', () => { 5 + it('epoch day is puzzle #1', () => { 6 + expect(puzzleNumberFor(EPOCH_UTC_MS)).toBe(1); 7 + expect(daysSinceEpoch(EPOCH_UTC_MS)).toBe(0); 8 + }); 9 + 10 + it('four days after epoch is puzzle #5', () => { 11 + expect(puzzleNumberFor(Date.UTC(2026, 5, 27))).toBe(5); 12 + }); 13 + 14 + it('only changes at UTC midnight, not mid-day', () => { 15 + const lateInEpochDay = EPOCH_UTC_MS + 23 * 3_600_000; 16 + expect(puzzleNumberFor(lateInEpochDay)).toBe(1); 17 + }); 18 + 19 + it('days before the epoch are < 1 (no puzzle yet)', () => { 20 + expect(puzzleNumberFor(Date.UTC(2026, 5, 22))).toBe(0); 21 + }); 22 + }); 23 + 24 + describe('puzzleTarget format (frozen)', () => { 25 + it('builds the canonical permalink', () => { 26 + expect(puzzleTarget('en', 5)).toBe('https://atmot.herve.bzh/p/en/5'); 27 + expect(puzzleTarget('fr', 12)).toBe('https://atmot.herve.bzh/p/fr/12'); 28 + }); 29 + });
+16
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "target": "ES2022", 4 + "module": "ESNext", 5 + "moduleResolution": "Bundler", 6 + "lib": ["ES2022"], 7 + "types": ["@cloudflare/workers-types"], 8 + "strict": true, 9 + "noEmit": true, 10 + "skipLibCheck": true, 11 + "esModuleInterop": true, 12 + "verbatimModuleSyntax": true, 13 + "noUncheckedIndexedAccess": true 14 + }, 15 + "include": ["src", "test"] 16 + }