My personal site cherry.computer
htmx tailwind axum askama

chore: bump versions

cherry.computer 8b331bfd 6aa4ec8a

verified
+1039 -926
+3 -3
Dockerfile
··· 1 - FROM node:22 AS build-js 2 3 WORKDIR /usr/src/myivo 4 ··· 13 14 RUN npm run build:production 15 16 - FROM rust:1.85 AS builder-rs 17 18 WORKDIR /usr/src/myivo-server 19 COPY server . ··· 23 RUN cargo install --profile release --locked --path . 24 25 # run on different image 26 - FROM debian:bookworm-slim 27 28 RUN apt-get update \ 29 && apt-get install -y openssl ca-certificates \
··· 1 + FROM node:24 AS build-js 2 3 WORKDIR /usr/src/myivo 4 ··· 13 14 RUN npm run build:production 15 16 + FROM rust:1.89 AS builder-rs 17 18 WORKDIR /usr/src/myivo-server 19 COPY server . ··· 23 RUN cargo install --profile release --locked --path . 24 25 # run on different image 26 + FROM debian:trixie-slim 27 28 RUN apt-get update \ 29 && apt-get install -y openssl ca-certificates \
+2 -2
frontend/esbuild.js
··· 37 child_process.fork(tailwindBin, [...tailwindArgs, "-w"]); 38 39 const context = await esbuild.context(devOptions); 40 - const { host, port } = await context.serve({ servedir: "." }); 41 42 const proxyPort = 3000; 43 console.log(`serving at http://localhost:${proxyPort}`); ··· 52 const route = 53 url.pathname === "/" || url.pathname === "/scrobbles" 54 ? { hostname: "127.0.0.1", port: 8080 } 55 - : { hostname: host, port }; 56 const routedOptions = { ...options, ...route }; 57 58 const proxyReq = http.request(routedOptions, (proxyRes) => {
··· 37 child_process.fork(tailwindBin, [...tailwindArgs, "-w"]); 38 39 const context = await esbuild.context(devOptions); 40 + const { hosts, port } = await context.serve({ servedir: "." }); 41 42 const proxyPort = 3000; 43 console.log(`serving at http://localhost:${proxyPort}`); ··· 52 const route = 53 url.pathname === "/" || url.pathname === "/scrobbles" 54 ? { hostname: "127.0.0.1", port: 8080 } 55 + : { hostname: hosts[0], port }; 56 const routedOptions = { ...options, ...route }; 57 58 const proxyReq = http.request(routedOptions, (proxyRes) => {
+773 -724
frontend/package-lock.json
··· 9 "version": "1.0.0", 10 "license": "MIT", 11 "dependencies": { 12 - "htmx.org": "^2.0.4", 13 "tailwindcss": "^4.1.12" 14 }, 15 "devDependencies": { 16 - "@eslint/js": "^9.17.0", 17 "@tailwindcss/cli": "^4.1.12", 18 - "@types/node": "^22.10.5", 19 - "browserslist": "^4.24.4", 20 - "esbuild": "^0.24.2", 21 - "esbuild-plugin-browserslist": "^0.15.0", 22 - "eslint": "^9.17.0", 23 - "eslint-config-prettier": "^9.1.0", 24 - "globals": "^15.14.0", 25 "minimist": "^1.2.8", 26 - "prettier": "^3.4.2", 27 - "typescript": "^5.7.3", 28 - "typescript-eslint": "^8.19.1" 29 } 30 }, 31 "../esbuild-plugin-postcss": { ··· 53 } 54 }, 55 "node_modules/@esbuild/aix-ppc64": { 56 - "version": "0.24.2", 57 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", 58 - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", 59 "cpu": [ 60 "ppc64" 61 ], ··· 70 } 71 }, 72 "node_modules/@esbuild/android-arm": { 73 - "version": "0.24.2", 74 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", 75 - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", 76 "cpu": [ 77 "arm" 78 ], ··· 87 } 88 }, 89 "node_modules/@esbuild/android-arm64": { 90 - "version": "0.24.2", 91 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", 92 - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", 93 "cpu": [ 94 "arm64" 95 ], ··· 104 } 105 }, 106 "node_modules/@esbuild/android-x64": { 107 - "version": "0.24.2", 108 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", 109 - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", 110 "cpu": [ 111 "x64" 112 ], ··· 121 } 122 }, 123 "node_modules/@esbuild/darwin-arm64": { 124 - "version": "0.24.2", 125 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", 126 - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", 127 "cpu": [ 128 "arm64" 129 ], ··· 138 } 139 }, 140 "node_modules/@esbuild/darwin-x64": { 141 - "version": "0.24.2", 142 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", 143 - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", 144 "cpu": [ 145 "x64" 146 ], ··· 155 } 156 }, 157 "node_modules/@esbuild/freebsd-arm64": { 158 - "version": "0.24.2", 159 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", 160 - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", 161 "cpu": [ 162 "arm64" 163 ], ··· 172 } 173 }, 174 "node_modules/@esbuild/freebsd-x64": { 175 - "version": "0.24.2", 176 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", 177 - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", 178 "cpu": [ 179 "x64" 180 ], ··· 189 } 190 }, 191 "node_modules/@esbuild/linux-arm": { 192 - "version": "0.24.2", 193 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", 194 - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", 195 "cpu": [ 196 "arm" 197 ], ··· 206 } 207 }, 208 "node_modules/@esbuild/linux-arm64": { 209 - "version": "0.24.2", 210 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", 211 - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", 212 "cpu": [ 213 "arm64" 214 ], ··· 223 } 224 }, 225 "node_modules/@esbuild/linux-ia32": { 226 - "version": "0.24.2", 227 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", 228 - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", 229 "cpu": [ 230 "ia32" 231 ], ··· 240 } 241 }, 242 "node_modules/@esbuild/linux-loong64": { 243 - "version": "0.24.2", 244 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", 245 - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", 246 "cpu": [ 247 "loong64" 248 ], ··· 257 } 258 }, 259 "node_modules/@esbuild/linux-mips64el": { 260 - "version": "0.24.2", 261 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", 262 - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", 263 "cpu": [ 264 "mips64el" 265 ], ··· 274 } 275 }, 276 "node_modules/@esbuild/linux-ppc64": { 277 - "version": "0.24.2", 278 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", 279 - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", 280 "cpu": [ 281 "ppc64" 282 ], ··· 291 } 292 }, 293 "node_modules/@esbuild/linux-riscv64": { 294 - "version": "0.24.2", 295 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", 296 - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", 297 "cpu": [ 298 "riscv64" 299 ], ··· 308 } 309 }, 310 "node_modules/@esbuild/linux-s390x": { 311 - "version": "0.24.2", 312 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", 313 - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", 314 "cpu": [ 315 "s390x" 316 ], ··· 325 } 326 }, 327 "node_modules/@esbuild/linux-x64": { 328 - "version": "0.24.2", 329 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", 330 - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", 331 "cpu": [ 332 "x64" 333 ], ··· 342 } 343 }, 344 "node_modules/@esbuild/netbsd-arm64": { 345 - "version": "0.24.2", 346 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", 347 - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", 348 "cpu": [ 349 "arm64" 350 ], ··· 359 } 360 }, 361 "node_modules/@esbuild/netbsd-x64": { 362 - "version": "0.24.2", 363 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", 364 - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", 365 "cpu": [ 366 "x64" 367 ], ··· 376 } 377 }, 378 "node_modules/@esbuild/openbsd-arm64": { 379 - "version": "0.24.2", 380 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", 381 - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", 382 "cpu": [ 383 "arm64" 384 ], ··· 393 } 394 }, 395 "node_modules/@esbuild/openbsd-x64": { 396 - "version": "0.24.2", 397 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", 398 - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", 399 "cpu": [ 400 "x64" 401 ], ··· 409 "node": ">=18" 410 } 411 }, 412 "node_modules/@esbuild/sunos-x64": { 413 - "version": "0.24.2", 414 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", 415 - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", 416 "cpu": [ 417 "x64" 418 ], ··· 427 } 428 }, 429 "node_modules/@esbuild/win32-arm64": { 430 - "version": "0.24.2", 431 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", 432 - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", 433 "cpu": [ 434 "arm64" 435 ], ··· 444 } 445 }, 446 "node_modules/@esbuild/win32-ia32": { 447 - "version": "0.24.2", 448 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", 449 - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", 450 "cpu": [ 451 "ia32" 452 ], ··· 461 } 462 }, 463 "node_modules/@esbuild/win32-x64": { 464 - "version": "0.24.2", 465 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", 466 - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", 467 "cpu": [ 468 "x64" 469 ], ··· 478 } 479 }, 480 "node_modules/@eslint-community/eslint-utils": { 481 - "version": "4.4.1", 482 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", 483 - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", 484 "dev": true, 485 "license": "MIT", 486 "dependencies": { ··· 507 } 508 }, 509 "node_modules/@eslint/config-array": { 510 - "version": "0.19.1", 511 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", 512 - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", 513 "dev": true, 514 "license": "Apache-2.0", 515 "dependencies": { 516 - "@eslint/object-schema": "^2.1.5", 517 "debug": "^4.3.1", 518 "minimatch": "^3.1.2" 519 }, ··· 521 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 522 } 523 }, 524 - "node_modules/@eslint/config-array/node_modules/brace-expansion": { 525 - "version": "1.1.11", 526 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 527 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 528 - "dev": true, 529 - "license": "MIT", 530 - "dependencies": { 531 - "balanced-match": "^1.0.0", 532 - "concat-map": "0.0.1" 533 - } 534 - }, 535 - "node_modules/@eslint/config-array/node_modules/minimatch": { 536 - "version": "3.1.2", 537 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 538 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 539 "dev": true, 540 - "license": "ISC", 541 - "dependencies": { 542 - "brace-expansion": "^1.1.7" 543 - }, 544 "engines": { 545 - "node": "*" 546 } 547 }, 548 "node_modules/@eslint/core": { 549 - "version": "0.9.1", 550 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", 551 - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", 552 "dev": true, 553 "license": "Apache-2.0", 554 "dependencies": { ··· 559 } 560 }, 561 "node_modules/@eslint/eslintrc": { 562 - "version": "3.2.0", 563 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", 564 - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", 565 "dev": true, 566 "license": "MIT", 567 "dependencies": { ··· 582 "url": "https://opencollective.com/eslint" 583 } 584 }, 585 - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { 586 - "version": "1.1.11", 587 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 588 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 589 - "dev": true, 590 - "license": "MIT", 591 - "dependencies": { 592 - "balanced-match": "^1.0.0", 593 - "concat-map": "0.0.1" 594 - } 595 - }, 596 "node_modules/@eslint/eslintrc/node_modules/globals": { 597 "version": "14.0.0", 598 "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", ··· 606 "url": "https://github.com/sponsors/sindresorhus" 607 } 608 }, 609 - "node_modules/@eslint/eslintrc/node_modules/minimatch": { 610 - "version": "3.1.2", 611 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 612 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 613 - "dev": true, 614 - "license": "ISC", 615 - "dependencies": { 616 - "brace-expansion": "^1.1.7" 617 - }, 618 - "engines": { 619 - "node": "*" 620 - } 621 - }, 622 "node_modules/@eslint/js": { 623 - "version": "9.17.0", 624 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", 625 - "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", 626 "dev": true, 627 "license": "MIT", 628 "engines": { 629 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 630 } 631 }, 632 "node_modules/@eslint/object-schema": { 633 - "version": "2.1.5", 634 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", 635 - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", 636 "dev": true, 637 "license": "Apache-2.0", 638 "engines": { ··· 640 } 641 }, 642 "node_modules/@eslint/plugin-kit": { 643 - "version": "0.2.4", 644 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", 645 - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", 646 "dev": true, 647 "license": "Apache-2.0", 648 "dependencies": { 649 "levn": "^0.4.1" 650 }, 651 "engines": { ··· 705 } 706 }, 707 "node_modules/@humanwhocodes/retry": { 708 - "version": "0.4.1", 709 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", 710 - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", 711 "dev": true, 712 "license": "Apache-2.0", 713 "engines": { ··· 1434 "license": "MIT" 1435 }, 1436 "node_modules/@types/node": { 1437 - "version": "22.10.5", 1438 - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", 1439 - "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", 1440 "dev": true, 1441 "license": "MIT", 1442 "dependencies": { 1443 - "undici-types": "~6.20.0" 1444 } 1445 }, 1446 "node_modules/@typescript-eslint/eslint-plugin": { 1447 - "version": "8.19.1", 1448 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", 1449 - "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", 1450 "dev": true, 1451 "license": "MIT", 1452 "dependencies": { 1453 "@eslint-community/regexpp": "^4.10.0", 1454 - "@typescript-eslint/scope-manager": "8.19.1", 1455 - "@typescript-eslint/type-utils": "8.19.1", 1456 - "@typescript-eslint/utils": "8.19.1", 1457 - "@typescript-eslint/visitor-keys": "8.19.1", 1458 "graphemer": "^1.4.0", 1459 - "ignore": "^5.3.1", 1460 "natural-compare": "^1.4.0", 1461 - "ts-api-utils": "^2.0.0" 1462 }, 1463 "engines": { 1464 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1468 "url": "https://opencollective.com/typescript-eslint" 1469 }, 1470 "peerDependencies": { 1471 - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", 1472 "eslint": "^8.57.0 || ^9.0.0", 1473 - "typescript": ">=4.8.4 <5.8.0" 1474 } 1475 }, 1476 "node_modules/@typescript-eslint/parser": { 1477 - "version": "8.19.1", 1478 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", 1479 - "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", 1480 "dev": true, 1481 "license": "MIT", 1482 "dependencies": { 1483 - "@typescript-eslint/scope-manager": "8.19.1", 1484 - "@typescript-eslint/types": "8.19.1", 1485 - "@typescript-eslint/typescript-estree": "8.19.1", 1486 - "@typescript-eslint/visitor-keys": "8.19.1", 1487 "debug": "^4.3.4" 1488 }, 1489 "engines": { ··· 1495 }, 1496 "peerDependencies": { 1497 "eslint": "^8.57.0 || ^9.0.0", 1498 - "typescript": ">=4.8.4 <5.8.0" 1499 } 1500 }, 1501 "node_modules/@typescript-eslint/scope-manager": { 1502 - "version": "8.19.1", 1503 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", 1504 - "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", 1505 "dev": true, 1506 "license": "MIT", 1507 "dependencies": { 1508 - "@typescript-eslint/types": "8.19.1", 1509 - "@typescript-eslint/visitor-keys": "8.19.1" 1510 }, 1511 "engines": { 1512 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1516 "url": "https://opencollective.com/typescript-eslint" 1517 } 1518 }, 1519 "node_modules/@typescript-eslint/type-utils": { 1520 - "version": "8.19.1", 1521 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", 1522 - "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", 1523 "dev": true, 1524 "license": "MIT", 1525 "dependencies": { 1526 - "@typescript-eslint/typescript-estree": "8.19.1", 1527 - "@typescript-eslint/utils": "8.19.1", 1528 "debug": "^4.3.4", 1529 - "ts-api-utils": "^2.0.0" 1530 }, 1531 "engines": { 1532 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1537 }, 1538 "peerDependencies": { 1539 "eslint": "^8.57.0 || ^9.0.0", 1540 - "typescript": ">=4.8.4 <5.8.0" 1541 } 1542 }, 1543 "node_modules/@typescript-eslint/types": { 1544 - "version": "8.19.1", 1545 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", 1546 - "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", 1547 "dev": true, 1548 "license": "MIT", 1549 "engines": { ··· 1555 } 1556 }, 1557 "node_modules/@typescript-eslint/typescript-estree": { 1558 - "version": "8.19.1", 1559 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", 1560 - "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", 1561 "dev": true, 1562 "license": "MIT", 1563 "dependencies": { 1564 - "@typescript-eslint/types": "8.19.1", 1565 - "@typescript-eslint/visitor-keys": "8.19.1", 1566 "debug": "^4.3.4", 1567 "fast-glob": "^3.3.2", 1568 "is-glob": "^4.0.3", 1569 "minimatch": "^9.0.4", 1570 "semver": "^7.6.0", 1571 - "ts-api-utils": "^2.0.0" 1572 }, 1573 "engines": { 1574 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1578 "url": "https://opencollective.com/typescript-eslint" 1579 }, 1580 "peerDependencies": { 1581 - "typescript": ">=4.8.4 <5.8.0" 1582 } 1583 }, 1584 "node_modules/@typescript-eslint/utils": { 1585 - "version": "8.19.1", 1586 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", 1587 - "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", 1588 "dev": true, 1589 "license": "MIT", 1590 "dependencies": { 1591 - "@eslint-community/eslint-utils": "^4.4.0", 1592 - "@typescript-eslint/scope-manager": "8.19.1", 1593 - "@typescript-eslint/types": "8.19.1", 1594 - "@typescript-eslint/typescript-estree": "8.19.1" 1595 }, 1596 "engines": { 1597 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1602 }, 1603 "peerDependencies": { 1604 "eslint": "^8.57.0 || ^9.0.0", 1605 - "typescript": ">=4.8.4 <5.8.0" 1606 } 1607 }, 1608 "node_modules/@typescript-eslint/visitor-keys": { 1609 - "version": "8.19.1", 1610 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", 1611 - "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", 1612 "dev": true, 1613 "license": "MIT", 1614 "dependencies": { 1615 - "@typescript-eslint/types": "8.19.1", 1616 - "eslint-visitor-keys": "^4.2.0" 1617 }, 1618 "engines": { 1619 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1624 } 1625 }, 1626 "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { 1627 - "version": "4.2.0", 1628 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 1629 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 1630 "dev": true, 1631 "license": "Apache-2.0", 1632 "engines": { ··· 1637 } 1638 }, 1639 "node_modules/acorn": { 1640 - "version": "8.14.0", 1641 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 1642 - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 1643 "dev": true, 1644 "license": "MIT", 1645 "bin": { ··· 1706 "license": "MIT" 1707 }, 1708 "node_modules/brace-expansion": { 1709 - "version": "2.0.1", 1710 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1711 - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1712 "dev": true, 1713 "license": "MIT", 1714 "dependencies": { 1715 - "balanced-match": "^1.0.0" 1716 } 1717 }, 1718 "node_modules/braces": { ··· 1729 } 1730 }, 1731 "node_modules/browserslist": { 1732 - "version": "4.24.4", 1733 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", 1734 - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", 1735 "dev": true, 1736 "funding": [ 1737 { ··· 1749 ], 1750 "license": "MIT", 1751 "dependencies": { 1752 - "caniuse-lite": "^1.0.30001688", 1753 - "electron-to-chromium": "^1.5.73", 1754 "node-releases": "^2.0.19", 1755 - "update-browserslist-db": "^1.1.1" 1756 }, 1757 "bin": { 1758 "browserslist": "cli.js" ··· 1772 } 1773 }, 1774 "node_modules/caniuse-lite": { 1775 - "version": "1.0.30001690", 1776 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", 1777 - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", 1778 "dev": true, 1779 "funding": [ 1780 { ··· 1859 } 1860 }, 1861 "node_modules/debug": { 1862 - "version": "4.4.0", 1863 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", 1864 - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", 1865 "dev": true, 1866 "license": "MIT", 1867 "dependencies": { ··· 1897 } 1898 }, 1899 "node_modules/electron-to-chromium": { 1900 - "version": "1.5.79", 1901 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", 1902 - "integrity": "sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==", 1903 "dev": true, 1904 "license": "ISC" 1905 }, ··· 1918 } 1919 }, 1920 "node_modules/esbuild": { 1921 - "version": "0.24.2", 1922 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", 1923 - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", 1924 "dev": true, 1925 "hasInstallScript": true, 1926 "license": "MIT", ··· 1931 "node": ">=18" 1932 }, 1933 "optionalDependencies": { 1934 - "@esbuild/aix-ppc64": "0.24.2", 1935 - "@esbuild/android-arm": "0.24.2", 1936 - "@esbuild/android-arm64": "0.24.2", 1937 - "@esbuild/android-x64": "0.24.2", 1938 - "@esbuild/darwin-arm64": "0.24.2", 1939 - "@esbuild/darwin-x64": "0.24.2", 1940 - "@esbuild/freebsd-arm64": "0.24.2", 1941 - "@esbuild/freebsd-x64": "0.24.2", 1942 - "@esbuild/linux-arm": "0.24.2", 1943 - "@esbuild/linux-arm64": "0.24.2", 1944 - "@esbuild/linux-ia32": "0.24.2", 1945 - "@esbuild/linux-loong64": "0.24.2", 1946 - "@esbuild/linux-mips64el": "0.24.2", 1947 - "@esbuild/linux-ppc64": "0.24.2", 1948 - "@esbuild/linux-riscv64": "0.24.2", 1949 - "@esbuild/linux-s390x": "0.24.2", 1950 - "@esbuild/linux-x64": "0.24.2", 1951 - "@esbuild/netbsd-arm64": "0.24.2", 1952 - "@esbuild/netbsd-x64": "0.24.2", 1953 - "@esbuild/openbsd-arm64": "0.24.2", 1954 - "@esbuild/openbsd-x64": "0.24.2", 1955 - "@esbuild/sunos-x64": "0.24.2", 1956 - "@esbuild/win32-arm64": "0.24.2", 1957 - "@esbuild/win32-ia32": "0.24.2", 1958 - "@esbuild/win32-x64": "0.24.2" 1959 } 1960 }, 1961 "node_modules/esbuild-plugin-browserslist": { 1962 - "version": "0.15.0", 1963 - "resolved": "https://registry.npmjs.org/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.15.0.tgz", 1964 - "integrity": "sha512-nZeEev2eIVLFWYcwp0iKv+lk85Yq2YIDhzCkJ5Dm5s7DxKANfjqUTyE1NRY2mEmwEW7SeAWraQEQdJP+5gV1RA==", 1965 "dev": true, 1966 "license": "MIT", 1967 "dependencies": { 1968 - "debug": "^4.3.7", 1969 - "zod": "^3.23.8" 1970 }, 1971 "engines": { 1972 - "node": ">=18" 1973 }, 1974 "peerDependencies": { 1975 "browserslist": "^4.21.8", 1976 - "esbuild": "~0.24.0" 1977 } 1978 }, 1979 "node_modules/escalade": { ··· 1999 } 2000 }, 2001 "node_modules/eslint": { 2002 - "version": "9.17.0", 2003 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", 2004 - "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", 2005 "dev": true, 2006 "license": "MIT", 2007 "dependencies": { 2008 "@eslint-community/eslint-utils": "^4.2.0", 2009 "@eslint-community/regexpp": "^4.12.1", 2010 - "@eslint/config-array": "^0.19.0", 2011 - "@eslint/core": "^0.9.0", 2012 - "@eslint/eslintrc": "^3.2.0", 2013 - "@eslint/js": "9.17.0", 2014 - "@eslint/plugin-kit": "^0.2.3", 2015 "@humanfs/node": "^0.16.6", 2016 "@humanwhocodes/module-importer": "^1.0.1", 2017 - "@humanwhocodes/retry": "^0.4.1", 2018 "@types/estree": "^1.0.6", 2019 "@types/json-schema": "^7.0.15", 2020 "ajv": "^6.12.4", ··· 2022 "cross-spawn": "^7.0.6", 2023 "debug": "^4.3.2", 2024 "escape-string-regexp": "^4.0.0", 2025 - "eslint-scope": "^8.2.0", 2026 - "eslint-visitor-keys": "^4.2.0", 2027 - "espree": "^10.3.0", 2028 "esquery": "^1.5.0", 2029 "esutils": "^2.0.2", 2030 "fast-deep-equal": "^3.1.3", ··· 2059 } 2060 }, 2061 "node_modules/eslint-config-prettier": { 2062 - "version": "9.1.0", 2063 - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", 2064 - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", 2065 "dev": true, 2066 "license": "MIT", 2067 "bin": { 2068 "eslint-config-prettier": "bin/cli.js" 2069 }, 2070 "peerDependencies": { 2071 "eslint": ">=7.0.0" 2072 } 2073 }, 2074 "node_modules/eslint-scope": { 2075 - "version": "8.2.0", 2076 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", 2077 - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", 2078 "dev": true, 2079 "license": "BSD-2-Clause", 2080 "dependencies": { ··· 2101 "url": "https://opencollective.com/eslint" 2102 } 2103 }, 2104 - "node_modules/eslint/node_modules/brace-expansion": { 2105 - "version": "1.1.11", 2106 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2107 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2108 - "dev": true, 2109 - "license": "MIT", 2110 - "dependencies": { 2111 - "balanced-match": "^1.0.0", 2112 - "concat-map": "0.0.1" 2113 - } 2114 - }, 2115 "node_modules/eslint/node_modules/eslint-visitor-keys": { 2116 - "version": "4.2.0", 2117 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 2118 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 2119 "dev": true, 2120 "license": "Apache-2.0", 2121 "engines": { ··· 2137 "node": ">=10.13.0" 2138 } 2139 }, 2140 - "node_modules/eslint/node_modules/minimatch": { 2141 - "version": "3.1.2", 2142 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2143 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2144 - "dev": true, 2145 - "license": "ISC", 2146 - "dependencies": { 2147 - "brace-expansion": "^1.1.7" 2148 - }, 2149 - "engines": { 2150 - "node": "*" 2151 - } 2152 - }, 2153 "node_modules/espree": { 2154 - "version": "10.3.0", 2155 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 2156 - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 2157 "dev": true, 2158 "license": "BSD-2-Clause", 2159 "dependencies": { 2160 - "acorn": "^8.14.0", 2161 "acorn-jsx": "^5.3.2", 2162 - "eslint-visitor-keys": "^4.2.0" 2163 }, 2164 "engines": { 2165 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 2169 } 2170 }, 2171 "node_modules/espree/node_modules/eslint-visitor-keys": { 2172 - "version": "4.2.0", 2173 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 2174 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 2175 "dev": true, 2176 "license": "Apache-2.0", 2177 "engines": { ··· 2266 "license": "MIT" 2267 }, 2268 "node_modules/fastq": { 2269 - "version": "1.18.0", 2270 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", 2271 - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", 2272 "dev": true, 2273 "license": "ISC", 2274 "dependencies": { ··· 2353 } 2354 }, 2355 "node_modules/globals": { 2356 - "version": "15.14.0", 2357 - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", 2358 - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", 2359 "dev": true, 2360 "license": "MIT", 2361 "engines": { ··· 2389 } 2390 }, 2391 "node_modules/htmx.org": { 2392 - "version": "2.0.4", 2393 - "resolved": "https://registry.npmjs.org/htmx.org/-/htmx.org-2.0.4.tgz", 2394 - "integrity": "sha512-HLxMCdfXDOJirs3vBZl/ZLoY+c7PfM4Ahr2Ad4YXh6d22T5ltbTXFFkpx9Tgb2vvmWFMbIc3LqN2ToNkZJvyYQ==", 2395 "license": "0BSD" 2396 }, 2397 "node_modules/ignore": { ··· 2405 } 2406 }, 2407 "node_modules/import-fresh": { 2408 - "version": "3.3.0", 2409 - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2410 - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2411 "dev": true, 2412 "license": "MIT", 2413 "dependencies": { ··· 2841 } 2842 }, 2843 "node_modules/minimatch": { 2844 - "version": "9.0.5", 2845 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 2846 - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 2847 "dev": true, 2848 "license": "ISC", 2849 "dependencies": { 2850 - "brace-expansion": "^2.0.1" 2851 }, 2852 "engines": { 2853 - "node": ">=16 || 14 >=14.17" 2854 - }, 2855 - "funding": { 2856 - "url": "https://github.com/sponsors/isaacs" 2857 } 2858 }, 2859 "node_modules/minimist": { ··· 3056 } 3057 }, 3058 "node_modules/prettier": { 3059 - "version": "3.4.2", 3060 - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", 3061 - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", 3062 "dev": true, 3063 "license": "MIT", 3064 "bin": { ··· 3113 } 3114 }, 3115 "node_modules/reusify": { 3116 - "version": "1.0.4", 3117 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3118 - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3119 "dev": true, 3120 "license": "MIT", 3121 "engines": { ··· 3148 } 3149 }, 3150 "node_modules/semver": { 3151 - "version": "7.6.3", 3152 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 3153 - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 3154 "dev": true, 3155 "license": "ISC", 3156 "bin": { ··· 3270 } 3271 }, 3272 "node_modules/ts-api-utils": { 3273 - "version": "2.0.0", 3274 - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", 3275 - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", 3276 "dev": true, 3277 "license": "MIT", 3278 "engines": { ··· 3296 } 3297 }, 3298 "node_modules/typescript": { 3299 - "version": "5.7.3", 3300 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", 3301 - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", 3302 "dev": true, 3303 "license": "Apache-2.0", 3304 "bin": { ··· 3310 } 3311 }, 3312 "node_modules/typescript-eslint": { 3313 - "version": "8.19.1", 3314 - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", 3315 - "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", 3316 "dev": true, 3317 "license": "MIT", 3318 "dependencies": { 3319 - "@typescript-eslint/eslint-plugin": "8.19.1", 3320 - "@typescript-eslint/parser": "8.19.1", 3321 - "@typescript-eslint/utils": "8.19.1" 3322 }, 3323 "engines": { 3324 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 3329 }, 3330 "peerDependencies": { 3331 "eslint": "^8.57.0 || ^9.0.0", 3332 - "typescript": ">=4.8.4 <5.8.0" 3333 } 3334 }, 3335 "node_modules/undici-types": { 3336 - "version": "6.20.0", 3337 - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", 3338 - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", 3339 "dev": true, 3340 "license": "MIT" 3341 }, 3342 "node_modules/update-browserslist-db": { 3343 - "version": "1.1.1", 3344 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 3345 - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 3346 "dev": true, 3347 "funding": [ 3348 { ··· 3361 "license": "MIT", 3362 "dependencies": { 3363 "escalade": "^3.2.0", 3364 - "picocolors": "^1.1.0" 3365 }, 3366 "bin": { 3367 "update-browserslist-db": "cli.js" ··· 3430 } 3431 }, 3432 "node_modules/zod": { 3433 - "version": "3.24.1", 3434 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", 3435 - "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", 3436 "dev": true, 3437 "license": "MIT", 3438 "funding": { ··· 3442 }, 3443 "dependencies": { 3444 "@esbuild/aix-ppc64": { 3445 - "version": "0.24.2", 3446 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", 3447 - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", 3448 "dev": true, 3449 "optional": true 3450 }, 3451 "@esbuild/android-arm": { 3452 - "version": "0.24.2", 3453 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", 3454 - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", 3455 "dev": true, 3456 "optional": true 3457 }, 3458 "@esbuild/android-arm64": { 3459 - "version": "0.24.2", 3460 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", 3461 - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", 3462 "dev": true, 3463 "optional": true 3464 }, 3465 "@esbuild/android-x64": { 3466 - "version": "0.24.2", 3467 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", 3468 - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", 3469 "dev": true, 3470 "optional": true 3471 }, 3472 "@esbuild/darwin-arm64": { 3473 - "version": "0.24.2", 3474 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", 3475 - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", 3476 "dev": true, 3477 "optional": true 3478 }, 3479 "@esbuild/darwin-x64": { 3480 - "version": "0.24.2", 3481 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", 3482 - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", 3483 "dev": true, 3484 "optional": true 3485 }, 3486 "@esbuild/freebsd-arm64": { 3487 - "version": "0.24.2", 3488 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", 3489 - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", 3490 "dev": true, 3491 "optional": true 3492 }, 3493 "@esbuild/freebsd-x64": { 3494 - "version": "0.24.2", 3495 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", 3496 - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", 3497 "dev": true, 3498 "optional": true 3499 }, 3500 "@esbuild/linux-arm": { 3501 - "version": "0.24.2", 3502 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", 3503 - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", 3504 "dev": true, 3505 "optional": true 3506 }, 3507 "@esbuild/linux-arm64": { 3508 - "version": "0.24.2", 3509 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", 3510 - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", 3511 "dev": true, 3512 "optional": true 3513 }, 3514 "@esbuild/linux-ia32": { 3515 - "version": "0.24.2", 3516 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", 3517 - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", 3518 "dev": true, 3519 "optional": true 3520 }, 3521 "@esbuild/linux-loong64": { 3522 - "version": "0.24.2", 3523 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", 3524 - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", 3525 "dev": true, 3526 "optional": true 3527 }, 3528 "@esbuild/linux-mips64el": { 3529 - "version": "0.24.2", 3530 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", 3531 - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", 3532 "dev": true, 3533 "optional": true 3534 }, 3535 "@esbuild/linux-ppc64": { 3536 - "version": "0.24.2", 3537 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", 3538 - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", 3539 "dev": true, 3540 "optional": true 3541 }, 3542 "@esbuild/linux-riscv64": { 3543 - "version": "0.24.2", 3544 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", 3545 - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", 3546 "dev": true, 3547 "optional": true 3548 }, 3549 "@esbuild/linux-s390x": { 3550 - "version": "0.24.2", 3551 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", 3552 - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", 3553 "dev": true, 3554 "optional": true 3555 }, 3556 "@esbuild/linux-x64": { 3557 - "version": "0.24.2", 3558 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", 3559 - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", 3560 "dev": true, 3561 "optional": true 3562 }, 3563 "@esbuild/netbsd-arm64": { 3564 - "version": "0.24.2", 3565 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", 3566 - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", 3567 "dev": true, 3568 "optional": true 3569 }, 3570 "@esbuild/netbsd-x64": { 3571 - "version": "0.24.2", 3572 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", 3573 - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", 3574 "dev": true, 3575 "optional": true 3576 }, 3577 "@esbuild/openbsd-arm64": { 3578 - "version": "0.24.2", 3579 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", 3580 - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", 3581 "dev": true, 3582 "optional": true 3583 }, 3584 "@esbuild/openbsd-x64": { 3585 - "version": "0.24.2", 3586 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", 3587 - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", 3588 "dev": true, 3589 "optional": true 3590 }, 3591 "@esbuild/sunos-x64": { 3592 - "version": "0.24.2", 3593 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", 3594 - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", 3595 "dev": true, 3596 "optional": true 3597 }, 3598 "@esbuild/win32-arm64": { 3599 - "version": "0.24.2", 3600 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", 3601 - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", 3602 "dev": true, 3603 "optional": true 3604 }, 3605 "@esbuild/win32-ia32": { 3606 - "version": "0.24.2", 3607 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", 3608 - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", 3609 "dev": true, 3610 "optional": true 3611 }, 3612 "@esbuild/win32-x64": { 3613 - "version": "0.24.2", 3614 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", 3615 - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", 3616 "dev": true, 3617 "optional": true 3618 }, 3619 "@eslint-community/eslint-utils": { 3620 - "version": "4.4.1", 3621 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", 3622 - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", 3623 "dev": true, 3624 "requires": { 3625 "eslint-visitor-keys": "^3.4.3" ··· 3632 "dev": true 3633 }, 3634 "@eslint/config-array": { 3635 - "version": "0.19.1", 3636 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", 3637 - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", 3638 "dev": true, 3639 "requires": { 3640 - "@eslint/object-schema": "^2.1.5", 3641 "debug": "^4.3.1", 3642 "minimatch": "^3.1.2" 3643 - }, 3644 - "dependencies": { 3645 - "brace-expansion": { 3646 - "version": "1.1.11", 3647 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3648 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 3649 - "dev": true, 3650 - "requires": { 3651 - "balanced-match": "^1.0.0", 3652 - "concat-map": "0.0.1" 3653 - } 3654 - }, 3655 - "minimatch": { 3656 - "version": "3.1.2", 3657 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3658 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3659 - "dev": true, 3660 - "requires": { 3661 - "brace-expansion": "^1.1.7" 3662 - } 3663 - } 3664 } 3665 }, 3666 "@eslint/core": { 3667 - "version": "0.9.1", 3668 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", 3669 - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", 3670 "dev": true, 3671 "requires": { 3672 "@types/json-schema": "^7.0.15" 3673 } 3674 }, 3675 "@eslint/eslintrc": { 3676 - "version": "3.2.0", 3677 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", 3678 - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", 3679 "dev": true, 3680 "requires": { 3681 "ajv": "^6.12.4", ··· 3689 "strip-json-comments": "^3.1.1" 3690 }, 3691 "dependencies": { 3692 - "brace-expansion": { 3693 - "version": "1.1.11", 3694 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3695 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 3696 - "dev": true, 3697 - "requires": { 3698 - "balanced-match": "^1.0.0", 3699 - "concat-map": "0.0.1" 3700 - } 3701 - }, 3702 "globals": { 3703 "version": "14.0.0", 3704 "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 3705 "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 3706 "dev": true 3707 - }, 3708 - "minimatch": { 3709 - "version": "3.1.2", 3710 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3711 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3712 - "dev": true, 3713 - "requires": { 3714 - "brace-expansion": "^1.1.7" 3715 - } 3716 } 3717 } 3718 }, 3719 "@eslint/js": { 3720 - "version": "9.17.0", 3721 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", 3722 - "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", 3723 "dev": true 3724 }, 3725 "@eslint/object-schema": { 3726 - "version": "2.1.5", 3727 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", 3728 - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", 3729 "dev": true 3730 }, 3731 "@eslint/plugin-kit": { 3732 - "version": "0.2.4", 3733 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", 3734 - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", 3735 "dev": true, 3736 "requires": { 3737 "levn": "^0.4.1" 3738 } 3739 }, ··· 3768 "dev": true 3769 }, 3770 "@humanwhocodes/retry": { 3771 - "version": "0.4.1", 3772 - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", 3773 - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", 3774 "dev": true 3775 }, 3776 "@isaacs/fs-minipass": { ··· 4131 "dev": true 4132 }, 4133 "@types/node": { 4134 - "version": "22.10.5", 4135 - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", 4136 - "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", 4137 "dev": true, 4138 "requires": { 4139 - "undici-types": "~6.20.0" 4140 } 4141 }, 4142 "@typescript-eslint/eslint-plugin": { 4143 - "version": "8.19.1", 4144 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", 4145 - "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", 4146 "dev": true, 4147 "requires": { 4148 "@eslint-community/regexpp": "^4.10.0", 4149 - "@typescript-eslint/scope-manager": "8.19.1", 4150 - "@typescript-eslint/type-utils": "8.19.1", 4151 - "@typescript-eslint/utils": "8.19.1", 4152 - "@typescript-eslint/visitor-keys": "8.19.1", 4153 "graphemer": "^1.4.0", 4154 - "ignore": "^5.3.1", 4155 "natural-compare": "^1.4.0", 4156 - "ts-api-utils": "^2.0.0" 4157 } 4158 }, 4159 "@typescript-eslint/parser": { 4160 - "version": "8.19.1", 4161 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", 4162 - "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", 4163 "dev": true, 4164 "requires": { 4165 - "@typescript-eslint/scope-manager": "8.19.1", 4166 - "@typescript-eslint/types": "8.19.1", 4167 - "@typescript-eslint/typescript-estree": "8.19.1", 4168 - "@typescript-eslint/visitor-keys": "8.19.1", 4169 "debug": "^4.3.4" 4170 } 4171 }, 4172 "@typescript-eslint/scope-manager": { 4173 - "version": "8.19.1", 4174 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", 4175 - "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", 4176 "dev": true, 4177 "requires": { 4178 - "@typescript-eslint/types": "8.19.1", 4179 - "@typescript-eslint/visitor-keys": "8.19.1" 4180 } 4181 }, 4182 "@typescript-eslint/type-utils": { 4183 - "version": "8.19.1", 4184 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", 4185 - "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", 4186 "dev": true, 4187 "requires": { 4188 - "@typescript-eslint/typescript-estree": "8.19.1", 4189 - "@typescript-eslint/utils": "8.19.1", 4190 "debug": "^4.3.4", 4191 - "ts-api-utils": "^2.0.0" 4192 } 4193 }, 4194 "@typescript-eslint/types": { 4195 - "version": "8.19.1", 4196 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", 4197 - "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", 4198 "dev": true 4199 }, 4200 "@typescript-eslint/typescript-estree": { 4201 - "version": "8.19.1", 4202 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", 4203 - "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", 4204 "dev": true, 4205 "requires": { 4206 - "@typescript-eslint/types": "8.19.1", 4207 - "@typescript-eslint/visitor-keys": "8.19.1", 4208 "debug": "^4.3.4", 4209 "fast-glob": "^3.3.2", 4210 "is-glob": "^4.0.3", 4211 "minimatch": "^9.0.4", 4212 "semver": "^7.6.0", 4213 - "ts-api-utils": "^2.0.0" 4214 } 4215 }, 4216 "@typescript-eslint/utils": { 4217 - "version": "8.19.1", 4218 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", 4219 - "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", 4220 "dev": true, 4221 "requires": { 4222 - "@eslint-community/eslint-utils": "^4.4.0", 4223 - "@typescript-eslint/scope-manager": "8.19.1", 4224 - "@typescript-eslint/types": "8.19.1", 4225 - "@typescript-eslint/typescript-estree": "8.19.1" 4226 } 4227 }, 4228 "@typescript-eslint/visitor-keys": { 4229 - "version": "8.19.1", 4230 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", 4231 - "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", 4232 "dev": true, 4233 "requires": { 4234 - "@typescript-eslint/types": "8.19.1", 4235 - "eslint-visitor-keys": "^4.2.0" 4236 }, 4237 "dependencies": { 4238 "eslint-visitor-keys": { 4239 - "version": "4.2.0", 4240 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 4241 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 4242 "dev": true 4243 } 4244 } 4245 }, 4246 "acorn": { 4247 - "version": "8.14.0", 4248 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 4249 - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 4250 "dev": true 4251 }, 4252 "acorn-jsx": { ··· 4290 "dev": true 4291 }, 4292 "brace-expansion": { 4293 - "version": "2.0.1", 4294 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 4295 - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 4296 "dev": true, 4297 "requires": { 4298 - "balanced-match": "^1.0.0" 4299 } 4300 }, 4301 "braces": { ··· 4308 } 4309 }, 4310 "browserslist": { 4311 - "version": "4.24.4", 4312 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", 4313 - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", 4314 "dev": true, 4315 "requires": { 4316 - "caniuse-lite": "^1.0.30001688", 4317 - "electron-to-chromium": "^1.5.73", 4318 "node-releases": "^2.0.19", 4319 - "update-browserslist-db": "^1.1.1" 4320 } 4321 }, 4322 "callsites": { ··· 4326 "dev": true 4327 }, 4328 "caniuse-lite": { 4329 - "version": "1.0.30001690", 4330 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", 4331 - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", 4332 "dev": true 4333 }, 4334 "chalk": { ··· 4380 } 4381 }, 4382 "debug": { 4383 - "version": "4.4.0", 4384 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", 4385 - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", 4386 "dev": true, 4387 "requires": { 4388 "ms": "^2.1.3" ··· 4401 "dev": true 4402 }, 4403 "electron-to-chromium": { 4404 - "version": "1.5.79", 4405 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", 4406 - "integrity": "sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==", 4407 "dev": true 4408 }, 4409 "enhanced-resolve": { ··· 4417 } 4418 }, 4419 "esbuild": { 4420 - "version": "0.24.2", 4421 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", 4422 - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", 4423 "dev": true, 4424 "requires": { 4425 - "@esbuild/aix-ppc64": "0.24.2", 4426 - "@esbuild/android-arm": "0.24.2", 4427 - "@esbuild/android-arm64": "0.24.2", 4428 - "@esbuild/android-x64": "0.24.2", 4429 - "@esbuild/darwin-arm64": "0.24.2", 4430 - "@esbuild/darwin-x64": "0.24.2", 4431 - "@esbuild/freebsd-arm64": "0.24.2", 4432 - "@esbuild/freebsd-x64": "0.24.2", 4433 - "@esbuild/linux-arm": "0.24.2", 4434 - "@esbuild/linux-arm64": "0.24.2", 4435 - "@esbuild/linux-ia32": "0.24.2", 4436 - "@esbuild/linux-loong64": "0.24.2", 4437 - "@esbuild/linux-mips64el": "0.24.2", 4438 - "@esbuild/linux-ppc64": "0.24.2", 4439 - "@esbuild/linux-riscv64": "0.24.2", 4440 - "@esbuild/linux-s390x": "0.24.2", 4441 - "@esbuild/linux-x64": "0.24.2", 4442 - "@esbuild/netbsd-arm64": "0.24.2", 4443 - "@esbuild/netbsd-x64": "0.24.2", 4444 - "@esbuild/openbsd-arm64": "0.24.2", 4445 - "@esbuild/openbsd-x64": "0.24.2", 4446 - "@esbuild/sunos-x64": "0.24.2", 4447 - "@esbuild/win32-arm64": "0.24.2", 4448 - "@esbuild/win32-ia32": "0.24.2", 4449 - "@esbuild/win32-x64": "0.24.2" 4450 } 4451 }, 4452 "esbuild-plugin-browserslist": { 4453 - "version": "0.15.0", 4454 - "resolved": "https://registry.npmjs.org/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.15.0.tgz", 4455 - "integrity": "sha512-nZeEev2eIVLFWYcwp0iKv+lk85Yq2YIDhzCkJ5Dm5s7DxKANfjqUTyE1NRY2mEmwEW7SeAWraQEQdJP+5gV1RA==", 4456 "dev": true, 4457 "requires": { 4458 - "debug": "^4.3.7", 4459 - "zod": "^3.23.8" 4460 } 4461 }, 4462 "escalade": { ··· 4472 "dev": true 4473 }, 4474 "eslint": { 4475 - "version": "9.17.0", 4476 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", 4477 - "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", 4478 "dev": true, 4479 "requires": { 4480 "@eslint-community/eslint-utils": "^4.2.0", 4481 "@eslint-community/regexpp": "^4.12.1", 4482 - "@eslint/config-array": "^0.19.0", 4483 - "@eslint/core": "^0.9.0", 4484 - "@eslint/eslintrc": "^3.2.0", 4485 - "@eslint/js": "9.17.0", 4486 - "@eslint/plugin-kit": "^0.2.3", 4487 "@humanfs/node": "^0.16.6", 4488 "@humanwhocodes/module-importer": "^1.0.1", 4489 - "@humanwhocodes/retry": "^0.4.1", 4490 "@types/estree": "^1.0.6", 4491 "@types/json-schema": "^7.0.15", 4492 "ajv": "^6.12.4", ··· 4494 "cross-spawn": "^7.0.6", 4495 "debug": "^4.3.2", 4496 "escape-string-regexp": "^4.0.0", 4497 - "eslint-scope": "^8.2.0", 4498 - "eslint-visitor-keys": "^4.2.0", 4499 - "espree": "^10.3.0", 4500 "esquery": "^1.5.0", 4501 "esutils": "^2.0.2", 4502 "fast-deep-equal": "^3.1.3", ··· 4513 "optionator": "^0.9.3" 4514 }, 4515 "dependencies": { 4516 - "brace-expansion": { 4517 - "version": "1.1.11", 4518 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 4519 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 4520 - "dev": true, 4521 - "requires": { 4522 - "balanced-match": "^1.0.0", 4523 - "concat-map": "0.0.1" 4524 - } 4525 - }, 4526 "eslint-visitor-keys": { 4527 - "version": "4.2.0", 4528 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 4529 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 4530 "dev": true 4531 }, 4532 "glob-parent": { ··· 4537 "requires": { 4538 "is-glob": "^4.0.3" 4539 } 4540 - }, 4541 - "minimatch": { 4542 - "version": "3.1.2", 4543 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4544 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4545 - "dev": true, 4546 - "requires": { 4547 - "brace-expansion": "^1.1.7" 4548 - } 4549 } 4550 } 4551 }, 4552 "eslint-config-prettier": { 4553 - "version": "9.1.0", 4554 - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", 4555 - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", 4556 "dev": true, 4557 "requires": {} 4558 }, 4559 "eslint-scope": { 4560 - "version": "8.2.0", 4561 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", 4562 - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", 4563 "dev": true, 4564 "requires": { 4565 "esrecurse": "^4.3.0", ··· 4573 "dev": true 4574 }, 4575 "espree": { 4576 - "version": "10.3.0", 4577 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 4578 - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 4579 "dev": true, 4580 "requires": { 4581 - "acorn": "^8.14.0", 4582 "acorn-jsx": "^5.3.2", 4583 - "eslint-visitor-keys": "^4.2.0" 4584 }, 4585 "dependencies": { 4586 "eslint-visitor-keys": { 4587 - "version": "4.2.0", 4588 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 4589 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 4590 "dev": true 4591 } 4592 } ··· 4653 "dev": true 4654 }, 4655 "fastq": { 4656 - "version": "1.18.0", 4657 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", 4658 - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", 4659 "dev": true, 4660 "requires": { 4661 "reusify": "^1.0.4" ··· 4715 } 4716 }, 4717 "globals": { 4718 - "version": "15.14.0", 4719 - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", 4720 - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", 4721 "dev": true 4722 }, 4723 "graceful-fs": { ··· 4739 "dev": true 4740 }, 4741 "htmx.org": { 4742 - "version": "2.0.4", 4743 - "resolved": "https://registry.npmjs.org/htmx.org/-/htmx.org-2.0.4.tgz", 4744 - "integrity": "sha512-HLxMCdfXDOJirs3vBZl/ZLoY+c7PfM4Ahr2Ad4YXh6d22T5ltbTXFFkpx9Tgb2vvmWFMbIc3LqN2ToNkZJvyYQ==" 4745 }, 4746 "ignore": { 4747 "version": "5.3.2", ··· 4750 "dev": true 4751 }, 4752 "import-fresh": { 4753 - "version": "3.3.0", 4754 - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 4755 - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 4756 "dev": true, 4757 "requires": { 4758 "parent-module": "^1.0.0", ··· 4982 } 4983 }, 4984 "minimatch": { 4985 - "version": "9.0.5", 4986 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 4987 - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 4988 "dev": true, 4989 "requires": { 4990 - "brace-expansion": "^2.0.1" 4991 } 4992 }, 4993 "minimist": { ··· 5119 "dev": true 5120 }, 5121 "prettier": { 5122 - "version": "3.4.2", 5123 - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", 5124 - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", 5125 "dev": true 5126 }, 5127 "punycode": { ··· 5143 "dev": true 5144 }, 5145 "reusify": { 5146 - "version": "1.0.4", 5147 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 5148 - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 5149 "dev": true 5150 }, 5151 "run-parallel": { ··· 5158 } 5159 }, 5160 "semver": { 5161 - "version": "7.6.3", 5162 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 5163 - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 5164 "dev": true 5165 }, 5166 "shebang-command": { ··· 5234 } 5235 }, 5236 "ts-api-utils": { 5237 - "version": "2.0.0", 5238 - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", 5239 - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", 5240 "dev": true, 5241 "requires": {} 5242 }, ··· 5250 } 5251 }, 5252 "typescript": { 5253 - "version": "5.7.3", 5254 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", 5255 - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", 5256 "dev": true 5257 }, 5258 "typescript-eslint": { 5259 - "version": "8.19.1", 5260 - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", 5261 - "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", 5262 "dev": true, 5263 "requires": { 5264 - "@typescript-eslint/eslint-plugin": "8.19.1", 5265 - "@typescript-eslint/parser": "8.19.1", 5266 - "@typescript-eslint/utils": "8.19.1" 5267 } 5268 }, 5269 "undici-types": { 5270 - "version": "6.20.0", 5271 - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", 5272 - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", 5273 "dev": true 5274 }, 5275 "update-browserslist-db": { 5276 - "version": "1.1.1", 5277 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 5278 - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 5279 "dev": true, 5280 "requires": { 5281 "escalade": "^3.2.0", 5282 - "picocolors": "^1.1.0" 5283 } 5284 }, 5285 "uri-js": { ··· 5319 "dev": true 5320 }, 5321 "zod": { 5322 - "version": "3.24.1", 5323 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", 5324 - "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", 5325 "dev": true 5326 } 5327 }
··· 9 "version": "1.0.0", 10 "license": "MIT", 11 "dependencies": { 12 + "htmx.org": "^2.0.6", 13 "tailwindcss": "^4.1.12" 14 }, 15 "devDependencies": { 16 + "@eslint/js": "^9.34.0", 17 "@tailwindcss/cli": "^4.1.12", 18 + "@types/node": "^24.3.0", 19 + "browserslist": "^4.25.3", 20 + "esbuild": "^0.25.9", 21 + "esbuild-plugin-browserslist": "^1.0.1", 22 + "eslint": "^9.34.0", 23 + "eslint-config-prettier": "^10.1.8", 24 + "globals": "^16.3.0", 25 "minimist": "^1.2.8", 26 + "prettier": "^3.6.2", 27 + "typescript": "^5.9.2", 28 + "typescript-eslint": "^8.41.0" 29 } 30 }, 31 "../esbuild-plugin-postcss": { ··· 53 } 54 }, 55 "node_modules/@esbuild/aix-ppc64": { 56 + "version": "0.25.9", 57 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", 58 + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", 59 "cpu": [ 60 "ppc64" 61 ], ··· 70 } 71 }, 72 "node_modules/@esbuild/android-arm": { 73 + "version": "0.25.9", 74 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", 75 + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", 76 "cpu": [ 77 "arm" 78 ], ··· 87 } 88 }, 89 "node_modules/@esbuild/android-arm64": { 90 + "version": "0.25.9", 91 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", 92 + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", 93 "cpu": [ 94 "arm64" 95 ], ··· 104 } 105 }, 106 "node_modules/@esbuild/android-x64": { 107 + "version": "0.25.9", 108 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", 109 + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", 110 "cpu": [ 111 "x64" 112 ], ··· 121 } 122 }, 123 "node_modules/@esbuild/darwin-arm64": { 124 + "version": "0.25.9", 125 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", 126 + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", 127 "cpu": [ 128 "arm64" 129 ], ··· 138 } 139 }, 140 "node_modules/@esbuild/darwin-x64": { 141 + "version": "0.25.9", 142 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", 143 + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", 144 "cpu": [ 145 "x64" 146 ], ··· 155 } 156 }, 157 "node_modules/@esbuild/freebsd-arm64": { 158 + "version": "0.25.9", 159 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", 160 + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", 161 "cpu": [ 162 "arm64" 163 ], ··· 172 } 173 }, 174 "node_modules/@esbuild/freebsd-x64": { 175 + "version": "0.25.9", 176 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", 177 + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", 178 "cpu": [ 179 "x64" 180 ], ··· 189 } 190 }, 191 "node_modules/@esbuild/linux-arm": { 192 + "version": "0.25.9", 193 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", 194 + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", 195 "cpu": [ 196 "arm" 197 ], ··· 206 } 207 }, 208 "node_modules/@esbuild/linux-arm64": { 209 + "version": "0.25.9", 210 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", 211 + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", 212 "cpu": [ 213 "arm64" 214 ], ··· 223 } 224 }, 225 "node_modules/@esbuild/linux-ia32": { 226 + "version": "0.25.9", 227 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", 228 + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", 229 "cpu": [ 230 "ia32" 231 ], ··· 240 } 241 }, 242 "node_modules/@esbuild/linux-loong64": { 243 + "version": "0.25.9", 244 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", 245 + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", 246 "cpu": [ 247 "loong64" 248 ], ··· 257 } 258 }, 259 "node_modules/@esbuild/linux-mips64el": { 260 + "version": "0.25.9", 261 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", 262 + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", 263 "cpu": [ 264 "mips64el" 265 ], ··· 274 } 275 }, 276 "node_modules/@esbuild/linux-ppc64": { 277 + "version": "0.25.9", 278 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", 279 + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", 280 "cpu": [ 281 "ppc64" 282 ], ··· 291 } 292 }, 293 "node_modules/@esbuild/linux-riscv64": { 294 + "version": "0.25.9", 295 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", 296 + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", 297 "cpu": [ 298 "riscv64" 299 ], ··· 308 } 309 }, 310 "node_modules/@esbuild/linux-s390x": { 311 + "version": "0.25.9", 312 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", 313 + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", 314 "cpu": [ 315 "s390x" 316 ], ··· 325 } 326 }, 327 "node_modules/@esbuild/linux-x64": { 328 + "version": "0.25.9", 329 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", 330 + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", 331 "cpu": [ 332 "x64" 333 ], ··· 342 } 343 }, 344 "node_modules/@esbuild/netbsd-arm64": { 345 + "version": "0.25.9", 346 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", 347 + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", 348 "cpu": [ 349 "arm64" 350 ], ··· 359 } 360 }, 361 "node_modules/@esbuild/netbsd-x64": { 362 + "version": "0.25.9", 363 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", 364 + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", 365 "cpu": [ 366 "x64" 367 ], ··· 376 } 377 }, 378 "node_modules/@esbuild/openbsd-arm64": { 379 + "version": "0.25.9", 380 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", 381 + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", 382 "cpu": [ 383 "arm64" 384 ], ··· 393 } 394 }, 395 "node_modules/@esbuild/openbsd-x64": { 396 + "version": "0.25.9", 397 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", 398 + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", 399 "cpu": [ 400 "x64" 401 ], ··· 409 "node": ">=18" 410 } 411 }, 412 + "node_modules/@esbuild/openharmony-arm64": { 413 + "version": "0.25.9", 414 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", 415 + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", 416 + "cpu": [ 417 + "arm64" 418 + ], 419 + "dev": true, 420 + "license": "MIT", 421 + "optional": true, 422 + "os": [ 423 + "openharmony" 424 + ], 425 + "engines": { 426 + "node": ">=18" 427 + } 428 + }, 429 "node_modules/@esbuild/sunos-x64": { 430 + "version": "0.25.9", 431 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", 432 + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", 433 "cpu": [ 434 "x64" 435 ], ··· 444 } 445 }, 446 "node_modules/@esbuild/win32-arm64": { 447 + "version": "0.25.9", 448 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", 449 + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", 450 "cpu": [ 451 "arm64" 452 ], ··· 461 } 462 }, 463 "node_modules/@esbuild/win32-ia32": { 464 + "version": "0.25.9", 465 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", 466 + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", 467 "cpu": [ 468 "ia32" 469 ], ··· 478 } 479 }, 480 "node_modules/@esbuild/win32-x64": { 481 + "version": "0.25.9", 482 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", 483 + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", 484 "cpu": [ 485 "x64" 486 ], ··· 495 } 496 }, 497 "node_modules/@eslint-community/eslint-utils": { 498 + "version": "4.7.0", 499 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 500 + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 501 "dev": true, 502 "license": "MIT", 503 "dependencies": { ··· 524 } 525 }, 526 "node_modules/@eslint/config-array": { 527 + "version": "0.21.0", 528 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", 529 + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", 530 "dev": true, 531 "license": "Apache-2.0", 532 "dependencies": { 533 + "@eslint/object-schema": "^2.1.6", 534 "debug": "^4.3.1", 535 "minimatch": "^3.1.2" 536 }, ··· 538 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 539 } 540 }, 541 + "node_modules/@eslint/config-helpers": { 542 + "version": "0.3.1", 543 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", 544 + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", 545 "dev": true, 546 + "license": "Apache-2.0", 547 "engines": { 548 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 549 } 550 }, 551 "node_modules/@eslint/core": { 552 + "version": "0.15.2", 553 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", 554 + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", 555 "dev": true, 556 "license": "Apache-2.0", 557 "dependencies": { ··· 562 } 563 }, 564 "node_modules/@eslint/eslintrc": { 565 + "version": "3.3.1", 566 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 567 + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 568 "dev": true, 569 "license": "MIT", 570 "dependencies": { ··· 585 "url": "https://opencollective.com/eslint" 586 } 587 }, 588 "node_modules/@eslint/eslintrc/node_modules/globals": { 589 "version": "14.0.0", 590 "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", ··· 598 "url": "https://github.com/sponsors/sindresorhus" 599 } 600 }, 601 "node_modules/@eslint/js": { 602 + "version": "9.34.0", 603 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz", 604 + "integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==", 605 "dev": true, 606 "license": "MIT", 607 "engines": { 608 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 609 + }, 610 + "funding": { 611 + "url": "https://eslint.org/donate" 612 } 613 }, 614 "node_modules/@eslint/object-schema": { 615 + "version": "2.1.6", 616 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 617 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 618 "dev": true, 619 "license": "Apache-2.0", 620 "engines": { ··· 622 } 623 }, 624 "node_modules/@eslint/plugin-kit": { 625 + "version": "0.3.5", 626 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", 627 + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", 628 "dev": true, 629 "license": "Apache-2.0", 630 "dependencies": { 631 + "@eslint/core": "^0.15.2", 632 "levn": "^0.4.1" 633 }, 634 "engines": { ··· 688 } 689 }, 690 "node_modules/@humanwhocodes/retry": { 691 + "version": "0.4.3", 692 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 693 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 694 "dev": true, 695 "license": "Apache-2.0", 696 "engines": { ··· 1417 "license": "MIT" 1418 }, 1419 "node_modules/@types/node": { 1420 + "version": "24.3.0", 1421 + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", 1422 + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", 1423 "dev": true, 1424 "license": "MIT", 1425 "dependencies": { 1426 + "undici-types": "~7.10.0" 1427 } 1428 }, 1429 "node_modules/@typescript-eslint/eslint-plugin": { 1430 + "version": "8.41.0", 1431 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz", 1432 + "integrity": "sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==", 1433 "dev": true, 1434 "license": "MIT", 1435 "dependencies": { 1436 "@eslint-community/regexpp": "^4.10.0", 1437 + "@typescript-eslint/scope-manager": "8.41.0", 1438 + "@typescript-eslint/type-utils": "8.41.0", 1439 + "@typescript-eslint/utils": "8.41.0", 1440 + "@typescript-eslint/visitor-keys": "8.41.0", 1441 "graphemer": "^1.4.0", 1442 + "ignore": "^7.0.0", 1443 "natural-compare": "^1.4.0", 1444 + "ts-api-utils": "^2.1.0" 1445 }, 1446 "engines": { 1447 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1451 "url": "https://opencollective.com/typescript-eslint" 1452 }, 1453 "peerDependencies": { 1454 + "@typescript-eslint/parser": "^8.41.0", 1455 "eslint": "^8.57.0 || ^9.0.0", 1456 + "typescript": ">=4.8.4 <6.0.0" 1457 + } 1458 + }, 1459 + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1460 + "version": "7.0.5", 1461 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1462 + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1463 + "dev": true, 1464 + "license": "MIT", 1465 + "engines": { 1466 + "node": ">= 4" 1467 } 1468 }, 1469 "node_modules/@typescript-eslint/parser": { 1470 + "version": "8.41.0", 1471 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.41.0.tgz", 1472 + "integrity": "sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==", 1473 "dev": true, 1474 "license": "MIT", 1475 "dependencies": { 1476 + "@typescript-eslint/scope-manager": "8.41.0", 1477 + "@typescript-eslint/types": "8.41.0", 1478 + "@typescript-eslint/typescript-estree": "8.41.0", 1479 + "@typescript-eslint/visitor-keys": "8.41.0", 1480 "debug": "^4.3.4" 1481 }, 1482 "engines": { ··· 1488 }, 1489 "peerDependencies": { 1490 "eslint": "^8.57.0 || ^9.0.0", 1491 + "typescript": ">=4.8.4 <6.0.0" 1492 + } 1493 + }, 1494 + "node_modules/@typescript-eslint/project-service": { 1495 + "version": "8.41.0", 1496 + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.41.0.tgz", 1497 + "integrity": "sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==", 1498 + "dev": true, 1499 + "license": "MIT", 1500 + "dependencies": { 1501 + "@typescript-eslint/tsconfig-utils": "^8.41.0", 1502 + "@typescript-eslint/types": "^8.41.0", 1503 + "debug": "^4.3.4" 1504 + }, 1505 + "engines": { 1506 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1507 + }, 1508 + "funding": { 1509 + "type": "opencollective", 1510 + "url": "https://opencollective.com/typescript-eslint" 1511 + }, 1512 + "peerDependencies": { 1513 + "typescript": ">=4.8.4 <6.0.0" 1514 } 1515 }, 1516 "node_modules/@typescript-eslint/scope-manager": { 1517 + "version": "8.41.0", 1518 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", 1519 + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", 1520 "dev": true, 1521 "license": "MIT", 1522 "dependencies": { 1523 + "@typescript-eslint/types": "8.41.0", 1524 + "@typescript-eslint/visitor-keys": "8.41.0" 1525 }, 1526 "engines": { 1527 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1531 "url": "https://opencollective.com/typescript-eslint" 1532 } 1533 }, 1534 + "node_modules/@typescript-eslint/tsconfig-utils": { 1535 + "version": "8.41.0", 1536 + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.41.0.tgz", 1537 + "integrity": "sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==", 1538 + "dev": true, 1539 + "license": "MIT", 1540 + "engines": { 1541 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1542 + }, 1543 + "funding": { 1544 + "type": "opencollective", 1545 + "url": "https://opencollective.com/typescript-eslint" 1546 + }, 1547 + "peerDependencies": { 1548 + "typescript": ">=4.8.4 <6.0.0" 1549 + } 1550 + }, 1551 "node_modules/@typescript-eslint/type-utils": { 1552 + "version": "8.41.0", 1553 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz", 1554 + "integrity": "sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==", 1555 "dev": true, 1556 "license": "MIT", 1557 "dependencies": { 1558 + "@typescript-eslint/types": "8.41.0", 1559 + "@typescript-eslint/typescript-estree": "8.41.0", 1560 + "@typescript-eslint/utils": "8.41.0", 1561 "debug": "^4.3.4", 1562 + "ts-api-utils": "^2.1.0" 1563 }, 1564 "engines": { 1565 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1570 }, 1571 "peerDependencies": { 1572 "eslint": "^8.57.0 || ^9.0.0", 1573 + "typescript": ">=4.8.4 <6.0.0" 1574 } 1575 }, 1576 "node_modules/@typescript-eslint/types": { 1577 + "version": "8.41.0", 1578 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", 1579 + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", 1580 "dev": true, 1581 "license": "MIT", 1582 "engines": { ··· 1588 } 1589 }, 1590 "node_modules/@typescript-eslint/typescript-estree": { 1591 + "version": "8.41.0", 1592 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", 1593 + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", 1594 "dev": true, 1595 "license": "MIT", 1596 "dependencies": { 1597 + "@typescript-eslint/project-service": "8.41.0", 1598 + "@typescript-eslint/tsconfig-utils": "8.41.0", 1599 + "@typescript-eslint/types": "8.41.0", 1600 + "@typescript-eslint/visitor-keys": "8.41.0", 1601 "debug": "^4.3.4", 1602 "fast-glob": "^3.3.2", 1603 "is-glob": "^4.0.3", 1604 "minimatch": "^9.0.4", 1605 "semver": "^7.6.0", 1606 + "ts-api-utils": "^2.1.0" 1607 }, 1608 "engines": { 1609 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1613 "url": "https://opencollective.com/typescript-eslint" 1614 }, 1615 "peerDependencies": { 1616 + "typescript": ">=4.8.4 <6.0.0" 1617 + } 1618 + }, 1619 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1620 + "version": "2.0.2", 1621 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1622 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1623 + "dev": true, 1624 + "license": "MIT", 1625 + "dependencies": { 1626 + "balanced-match": "^1.0.0" 1627 + } 1628 + }, 1629 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1630 + "version": "9.0.5", 1631 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1632 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1633 + "dev": true, 1634 + "license": "ISC", 1635 + "dependencies": { 1636 + "brace-expansion": "^2.0.1" 1637 + }, 1638 + "engines": { 1639 + "node": ">=16 || 14 >=14.17" 1640 + }, 1641 + "funding": { 1642 + "url": "https://github.com/sponsors/isaacs" 1643 } 1644 }, 1645 "node_modules/@typescript-eslint/utils": { 1646 + "version": "8.41.0", 1647 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", 1648 + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", 1649 "dev": true, 1650 "license": "MIT", 1651 "dependencies": { 1652 + "@eslint-community/eslint-utils": "^4.7.0", 1653 + "@typescript-eslint/scope-manager": "8.41.0", 1654 + "@typescript-eslint/types": "8.41.0", 1655 + "@typescript-eslint/typescript-estree": "8.41.0" 1656 }, 1657 "engines": { 1658 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1663 }, 1664 "peerDependencies": { 1665 "eslint": "^8.57.0 || ^9.0.0", 1666 + "typescript": ">=4.8.4 <6.0.0" 1667 } 1668 }, 1669 "node_modules/@typescript-eslint/visitor-keys": { 1670 + "version": "8.41.0", 1671 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", 1672 + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", 1673 "dev": true, 1674 "license": "MIT", 1675 "dependencies": { 1676 + "@typescript-eslint/types": "8.41.0", 1677 + "eslint-visitor-keys": "^4.2.1" 1678 }, 1679 "engines": { 1680 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 1685 } 1686 }, 1687 "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { 1688 + "version": "4.2.1", 1689 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 1690 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 1691 "dev": true, 1692 "license": "Apache-2.0", 1693 "engines": { ··· 1698 } 1699 }, 1700 "node_modules/acorn": { 1701 + "version": "8.15.0", 1702 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 1703 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 1704 "dev": true, 1705 "license": "MIT", 1706 "bin": { ··· 1767 "license": "MIT" 1768 }, 1769 "node_modules/brace-expansion": { 1770 + "version": "1.1.12", 1771 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 1772 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 1773 "dev": true, 1774 "license": "MIT", 1775 "dependencies": { 1776 + "balanced-match": "^1.0.0", 1777 + "concat-map": "0.0.1" 1778 } 1779 }, 1780 "node_modules/braces": { ··· 1791 } 1792 }, 1793 "node_modules/browserslist": { 1794 + "version": "4.25.3", 1795 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", 1796 + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", 1797 "dev": true, 1798 "funding": [ 1799 { ··· 1811 ], 1812 "license": "MIT", 1813 "dependencies": { 1814 + "caniuse-lite": "^1.0.30001735", 1815 + "electron-to-chromium": "^1.5.204", 1816 "node-releases": "^2.0.19", 1817 + "update-browserslist-db": "^1.1.3" 1818 }, 1819 "bin": { 1820 "browserslist": "cli.js" ··· 1834 } 1835 }, 1836 "node_modules/caniuse-lite": { 1837 + "version": "1.0.30001737", 1838 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", 1839 + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", 1840 "dev": true, 1841 "funding": [ 1842 { ··· 1921 } 1922 }, 1923 "node_modules/debug": { 1924 + "version": "4.4.1", 1925 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 1926 + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 1927 "dev": true, 1928 "license": "MIT", 1929 "dependencies": { ··· 1959 } 1960 }, 1961 "node_modules/electron-to-chromium": { 1962 + "version": "1.5.209", 1963 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.209.tgz", 1964 + "integrity": "sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==", 1965 "dev": true, 1966 "license": "ISC" 1967 }, ··· 1980 } 1981 }, 1982 "node_modules/esbuild": { 1983 + "version": "0.25.9", 1984 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", 1985 + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", 1986 "dev": true, 1987 "hasInstallScript": true, 1988 "license": "MIT", ··· 1993 "node": ">=18" 1994 }, 1995 "optionalDependencies": { 1996 + "@esbuild/aix-ppc64": "0.25.9", 1997 + "@esbuild/android-arm": "0.25.9", 1998 + "@esbuild/android-arm64": "0.25.9", 1999 + "@esbuild/android-x64": "0.25.9", 2000 + "@esbuild/darwin-arm64": "0.25.9", 2001 + "@esbuild/darwin-x64": "0.25.9", 2002 + "@esbuild/freebsd-arm64": "0.25.9", 2003 + "@esbuild/freebsd-x64": "0.25.9", 2004 + "@esbuild/linux-arm": "0.25.9", 2005 + "@esbuild/linux-arm64": "0.25.9", 2006 + "@esbuild/linux-ia32": "0.25.9", 2007 + "@esbuild/linux-loong64": "0.25.9", 2008 + "@esbuild/linux-mips64el": "0.25.9", 2009 + "@esbuild/linux-ppc64": "0.25.9", 2010 + "@esbuild/linux-riscv64": "0.25.9", 2011 + "@esbuild/linux-s390x": "0.25.9", 2012 + "@esbuild/linux-x64": "0.25.9", 2013 + "@esbuild/netbsd-arm64": "0.25.9", 2014 + "@esbuild/netbsd-x64": "0.25.9", 2015 + "@esbuild/openbsd-arm64": "0.25.9", 2016 + "@esbuild/openbsd-x64": "0.25.9", 2017 + "@esbuild/openharmony-arm64": "0.25.9", 2018 + "@esbuild/sunos-x64": "0.25.9", 2019 + "@esbuild/win32-arm64": "0.25.9", 2020 + "@esbuild/win32-ia32": "0.25.9", 2021 + "@esbuild/win32-x64": "0.25.9" 2022 } 2023 }, 2024 "node_modules/esbuild-plugin-browserslist": { 2025 + "version": "1.0.1", 2026 + "resolved": "https://registry.npmjs.org/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-1.0.1.tgz", 2027 + "integrity": "sha512-p+behK+qVxzKUDADf3FyMMpeXov+hoijAB9EetX57nX5wDqTZ7+8evnUDeEcE3kaKMVSHaJGmPv4jAI/qtsdBw==", 2028 "dev": true, 2029 "license": "MIT", 2030 "dependencies": { 2031 + "debug": "^4.4.1", 2032 + "zod": "^3.25.3" 2033 }, 2034 "engines": { 2035 + "node": "^20.19.0 || ^22.12.0 || >23.0.0" 2036 }, 2037 "peerDependencies": { 2038 "browserslist": "^4.21.8", 2039 + "esbuild": "~0.25.4" 2040 } 2041 }, 2042 "node_modules/escalade": { ··· 2062 } 2063 }, 2064 "node_modules/eslint": { 2065 + "version": "9.34.0", 2066 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz", 2067 + "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", 2068 "dev": true, 2069 "license": "MIT", 2070 "dependencies": { 2071 "@eslint-community/eslint-utils": "^4.2.0", 2072 "@eslint-community/regexpp": "^4.12.1", 2073 + "@eslint/config-array": "^0.21.0", 2074 + "@eslint/config-helpers": "^0.3.1", 2075 + "@eslint/core": "^0.15.2", 2076 + "@eslint/eslintrc": "^3.3.1", 2077 + "@eslint/js": "9.34.0", 2078 + "@eslint/plugin-kit": "^0.3.5", 2079 "@humanfs/node": "^0.16.6", 2080 "@humanwhocodes/module-importer": "^1.0.1", 2081 + "@humanwhocodes/retry": "^0.4.2", 2082 "@types/estree": "^1.0.6", 2083 "@types/json-schema": "^7.0.15", 2084 "ajv": "^6.12.4", ··· 2086 "cross-spawn": "^7.0.6", 2087 "debug": "^4.3.2", 2088 "escape-string-regexp": "^4.0.0", 2089 + "eslint-scope": "^8.4.0", 2090 + "eslint-visitor-keys": "^4.2.1", 2091 + "espree": "^10.4.0", 2092 "esquery": "^1.5.0", 2093 "esutils": "^2.0.2", 2094 "fast-deep-equal": "^3.1.3", ··· 2123 } 2124 }, 2125 "node_modules/eslint-config-prettier": { 2126 + "version": "10.1.8", 2127 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", 2128 + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", 2129 "dev": true, 2130 "license": "MIT", 2131 "bin": { 2132 "eslint-config-prettier": "bin/cli.js" 2133 + }, 2134 + "funding": { 2135 + "url": "https://opencollective.com/eslint-config-prettier" 2136 }, 2137 "peerDependencies": { 2138 "eslint": ">=7.0.0" 2139 } 2140 }, 2141 "node_modules/eslint-scope": { 2142 + "version": "8.4.0", 2143 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 2144 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 2145 "dev": true, 2146 "license": "BSD-2-Clause", 2147 "dependencies": { ··· 2168 "url": "https://opencollective.com/eslint" 2169 } 2170 }, 2171 "node_modules/eslint/node_modules/eslint-visitor-keys": { 2172 + "version": "4.2.1", 2173 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 2174 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 2175 "dev": true, 2176 "license": "Apache-2.0", 2177 "engines": { ··· 2193 "node": ">=10.13.0" 2194 } 2195 }, 2196 "node_modules/espree": { 2197 + "version": "10.4.0", 2198 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 2199 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 2200 "dev": true, 2201 "license": "BSD-2-Clause", 2202 "dependencies": { 2203 + "acorn": "^8.15.0", 2204 "acorn-jsx": "^5.3.2", 2205 + "eslint-visitor-keys": "^4.2.1" 2206 }, 2207 "engines": { 2208 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 2212 } 2213 }, 2214 "node_modules/espree/node_modules/eslint-visitor-keys": { 2215 + "version": "4.2.1", 2216 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 2217 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 2218 "dev": true, 2219 "license": "Apache-2.0", 2220 "engines": { ··· 2309 "license": "MIT" 2310 }, 2311 "node_modules/fastq": { 2312 + "version": "1.19.1", 2313 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 2314 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 2315 "dev": true, 2316 "license": "ISC", 2317 "dependencies": { ··· 2396 } 2397 }, 2398 "node_modules/globals": { 2399 + "version": "16.3.0", 2400 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz", 2401 + "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==", 2402 "dev": true, 2403 "license": "MIT", 2404 "engines": { ··· 2432 } 2433 }, 2434 "node_modules/htmx.org": { 2435 + "version": "2.0.6", 2436 + "resolved": "https://registry.npmjs.org/htmx.org/-/htmx.org-2.0.6.tgz", 2437 + "integrity": "sha512-7ythjYneGSk3yCHgtCnQeaoF+D+o7U2LF37WU3O0JYv3gTZSicdEFiI/Ai/NJyC5ZpYJWMpUb11OC5Lr6AfAqA==", 2438 "license": "0BSD" 2439 }, 2440 "node_modules/ignore": { ··· 2448 } 2449 }, 2450 "node_modules/import-fresh": { 2451 + "version": "3.3.1", 2452 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 2453 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 2454 "dev": true, 2455 "license": "MIT", 2456 "dependencies": { ··· 2884 } 2885 }, 2886 "node_modules/minimatch": { 2887 + "version": "3.1.2", 2888 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2889 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2890 "dev": true, 2891 "license": "ISC", 2892 "dependencies": { 2893 + "brace-expansion": "^1.1.7" 2894 }, 2895 "engines": { 2896 + "node": "*" 2897 } 2898 }, 2899 "node_modules/minimist": { ··· 3096 } 3097 }, 3098 "node_modules/prettier": { 3099 + "version": "3.6.2", 3100 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", 3101 + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", 3102 "dev": true, 3103 "license": "MIT", 3104 "bin": { ··· 3153 } 3154 }, 3155 "node_modules/reusify": { 3156 + "version": "1.1.0", 3157 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 3158 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 3159 "dev": true, 3160 "license": "MIT", 3161 "engines": { ··· 3188 } 3189 }, 3190 "node_modules/semver": { 3191 + "version": "7.7.2", 3192 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 3193 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 3194 "dev": true, 3195 "license": "ISC", 3196 "bin": { ··· 3310 } 3311 }, 3312 "node_modules/ts-api-utils": { 3313 + "version": "2.1.0", 3314 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 3315 + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 3316 "dev": true, 3317 "license": "MIT", 3318 "engines": { ··· 3336 } 3337 }, 3338 "node_modules/typescript": { 3339 + "version": "5.9.2", 3340 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", 3341 + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", 3342 "dev": true, 3343 "license": "Apache-2.0", 3344 "bin": { ··· 3350 } 3351 }, 3352 "node_modules/typescript-eslint": { 3353 + "version": "8.41.0", 3354 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.41.0.tgz", 3355 + "integrity": "sha512-n66rzs5OBXW3SFSnZHr2T685q1i4ODm2nulFJhMZBotaTavsS8TrI3d7bDlRSs9yWo7HmyWrN9qDu14Qv7Y0Dw==", 3356 "dev": true, 3357 "license": "MIT", 3358 "dependencies": { 3359 + "@typescript-eslint/eslint-plugin": "8.41.0", 3360 + "@typescript-eslint/parser": "8.41.0", 3361 + "@typescript-eslint/typescript-estree": "8.41.0", 3362 + "@typescript-eslint/utils": "8.41.0" 3363 }, 3364 "engines": { 3365 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 3370 }, 3371 "peerDependencies": { 3372 "eslint": "^8.57.0 || ^9.0.0", 3373 + "typescript": ">=4.8.4 <6.0.0" 3374 } 3375 }, 3376 "node_modules/undici-types": { 3377 + "version": "7.10.0", 3378 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", 3379 + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", 3380 "dev": true, 3381 "license": "MIT" 3382 }, 3383 "node_modules/update-browserslist-db": { 3384 + "version": "1.1.3", 3385 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 3386 + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 3387 "dev": true, 3388 "funding": [ 3389 { ··· 3402 "license": "MIT", 3403 "dependencies": { 3404 "escalade": "^3.2.0", 3405 + "picocolors": "^1.1.1" 3406 }, 3407 "bin": { 3408 "update-browserslist-db": "cli.js" ··· 3471 } 3472 }, 3473 "node_modules/zod": { 3474 + "version": "3.25.76", 3475 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 3476 + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 3477 "dev": true, 3478 "license": "MIT", 3479 "funding": { ··· 3483 }, 3484 "dependencies": { 3485 "@esbuild/aix-ppc64": { 3486 + "version": "0.25.9", 3487 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", 3488 + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", 3489 "dev": true, 3490 "optional": true 3491 }, 3492 "@esbuild/android-arm": { 3493 + "version": "0.25.9", 3494 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", 3495 + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", 3496 "dev": true, 3497 "optional": true 3498 }, 3499 "@esbuild/android-arm64": { 3500 + "version": "0.25.9", 3501 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", 3502 + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", 3503 "dev": true, 3504 "optional": true 3505 }, 3506 "@esbuild/android-x64": { 3507 + "version": "0.25.9", 3508 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", 3509 + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", 3510 "dev": true, 3511 "optional": true 3512 }, 3513 "@esbuild/darwin-arm64": { 3514 + "version": "0.25.9", 3515 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", 3516 + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", 3517 "dev": true, 3518 "optional": true 3519 }, 3520 "@esbuild/darwin-x64": { 3521 + "version": "0.25.9", 3522 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", 3523 + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", 3524 "dev": true, 3525 "optional": true 3526 }, 3527 "@esbuild/freebsd-arm64": { 3528 + "version": "0.25.9", 3529 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", 3530 + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", 3531 "dev": true, 3532 "optional": true 3533 }, 3534 "@esbuild/freebsd-x64": { 3535 + "version": "0.25.9", 3536 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", 3537 + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", 3538 "dev": true, 3539 "optional": true 3540 }, 3541 "@esbuild/linux-arm": { 3542 + "version": "0.25.9", 3543 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", 3544 + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", 3545 "dev": true, 3546 "optional": true 3547 }, 3548 "@esbuild/linux-arm64": { 3549 + "version": "0.25.9", 3550 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", 3551 + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", 3552 "dev": true, 3553 "optional": true 3554 }, 3555 "@esbuild/linux-ia32": { 3556 + "version": "0.25.9", 3557 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", 3558 + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", 3559 "dev": true, 3560 "optional": true 3561 }, 3562 "@esbuild/linux-loong64": { 3563 + "version": "0.25.9", 3564 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", 3565 + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", 3566 "dev": true, 3567 "optional": true 3568 }, 3569 "@esbuild/linux-mips64el": { 3570 + "version": "0.25.9", 3571 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", 3572 + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", 3573 "dev": true, 3574 "optional": true 3575 }, 3576 "@esbuild/linux-ppc64": { 3577 + "version": "0.25.9", 3578 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", 3579 + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", 3580 "dev": true, 3581 "optional": true 3582 }, 3583 "@esbuild/linux-riscv64": { 3584 + "version": "0.25.9", 3585 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", 3586 + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", 3587 "dev": true, 3588 "optional": true 3589 }, 3590 "@esbuild/linux-s390x": { 3591 + "version": "0.25.9", 3592 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", 3593 + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", 3594 "dev": true, 3595 "optional": true 3596 }, 3597 "@esbuild/linux-x64": { 3598 + "version": "0.25.9", 3599 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", 3600 + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", 3601 "dev": true, 3602 "optional": true 3603 }, 3604 "@esbuild/netbsd-arm64": { 3605 + "version": "0.25.9", 3606 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", 3607 + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", 3608 "dev": true, 3609 "optional": true 3610 }, 3611 "@esbuild/netbsd-x64": { 3612 + "version": "0.25.9", 3613 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", 3614 + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", 3615 "dev": true, 3616 "optional": true 3617 }, 3618 "@esbuild/openbsd-arm64": { 3619 + "version": "0.25.9", 3620 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", 3621 + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", 3622 "dev": true, 3623 "optional": true 3624 }, 3625 "@esbuild/openbsd-x64": { 3626 + "version": "0.25.9", 3627 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", 3628 + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", 3629 + "dev": true, 3630 + "optional": true 3631 + }, 3632 + "@esbuild/openharmony-arm64": { 3633 + "version": "0.25.9", 3634 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", 3635 + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", 3636 "dev": true, 3637 "optional": true 3638 }, 3639 "@esbuild/sunos-x64": { 3640 + "version": "0.25.9", 3641 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", 3642 + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", 3643 "dev": true, 3644 "optional": true 3645 }, 3646 "@esbuild/win32-arm64": { 3647 + "version": "0.25.9", 3648 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", 3649 + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", 3650 "dev": true, 3651 "optional": true 3652 }, 3653 "@esbuild/win32-ia32": { 3654 + "version": "0.25.9", 3655 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", 3656 + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", 3657 "dev": true, 3658 "optional": true 3659 }, 3660 "@esbuild/win32-x64": { 3661 + "version": "0.25.9", 3662 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", 3663 + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", 3664 "dev": true, 3665 "optional": true 3666 }, 3667 "@eslint-community/eslint-utils": { 3668 + "version": "4.7.0", 3669 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 3670 + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 3671 "dev": true, 3672 "requires": { 3673 "eslint-visitor-keys": "^3.4.3" ··· 3680 "dev": true 3681 }, 3682 "@eslint/config-array": { 3683 + "version": "0.21.0", 3684 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", 3685 + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", 3686 "dev": true, 3687 "requires": { 3688 + "@eslint/object-schema": "^2.1.6", 3689 "debug": "^4.3.1", 3690 "minimatch": "^3.1.2" 3691 } 3692 }, 3693 + "@eslint/config-helpers": { 3694 + "version": "0.3.1", 3695 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", 3696 + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", 3697 + "dev": true 3698 + }, 3699 "@eslint/core": { 3700 + "version": "0.15.2", 3701 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", 3702 + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", 3703 "dev": true, 3704 "requires": { 3705 "@types/json-schema": "^7.0.15" 3706 } 3707 }, 3708 "@eslint/eslintrc": { 3709 + "version": "3.3.1", 3710 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 3711 + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 3712 "dev": true, 3713 "requires": { 3714 "ajv": "^6.12.4", ··· 3722 "strip-json-comments": "^3.1.1" 3723 }, 3724 "dependencies": { 3725 "globals": { 3726 "version": "14.0.0", 3727 "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 3728 "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 3729 "dev": true 3730 } 3731 } 3732 }, 3733 "@eslint/js": { 3734 + "version": "9.34.0", 3735 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz", 3736 + "integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==", 3737 "dev": true 3738 }, 3739 "@eslint/object-schema": { 3740 + "version": "2.1.6", 3741 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 3742 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 3743 "dev": true 3744 }, 3745 "@eslint/plugin-kit": { 3746 + "version": "0.3.5", 3747 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", 3748 + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", 3749 "dev": true, 3750 "requires": { 3751 + "@eslint/core": "^0.15.2", 3752 "levn": "^0.4.1" 3753 } 3754 }, ··· 3783 "dev": true 3784 }, 3785 "@humanwhocodes/retry": { 3786 + "version": "0.4.3", 3787 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 3788 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 3789 "dev": true 3790 }, 3791 "@isaacs/fs-minipass": { ··· 4146 "dev": true 4147 }, 4148 "@types/node": { 4149 + "version": "24.3.0", 4150 + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", 4151 + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", 4152 "dev": true, 4153 "requires": { 4154 + "undici-types": "~7.10.0" 4155 } 4156 }, 4157 "@typescript-eslint/eslint-plugin": { 4158 + "version": "8.41.0", 4159 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz", 4160 + "integrity": "sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==", 4161 "dev": true, 4162 "requires": { 4163 "@eslint-community/regexpp": "^4.10.0", 4164 + "@typescript-eslint/scope-manager": "8.41.0", 4165 + "@typescript-eslint/type-utils": "8.41.0", 4166 + "@typescript-eslint/utils": "8.41.0", 4167 + "@typescript-eslint/visitor-keys": "8.41.0", 4168 "graphemer": "^1.4.0", 4169 + "ignore": "^7.0.0", 4170 "natural-compare": "^1.4.0", 4171 + "ts-api-utils": "^2.1.0" 4172 + }, 4173 + "dependencies": { 4174 + "ignore": { 4175 + "version": "7.0.5", 4176 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 4177 + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 4178 + "dev": true 4179 + } 4180 } 4181 }, 4182 "@typescript-eslint/parser": { 4183 + "version": "8.41.0", 4184 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.41.0.tgz", 4185 + "integrity": "sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==", 4186 + "dev": true, 4187 + "requires": { 4188 + "@typescript-eslint/scope-manager": "8.41.0", 4189 + "@typescript-eslint/types": "8.41.0", 4190 + "@typescript-eslint/typescript-estree": "8.41.0", 4191 + "@typescript-eslint/visitor-keys": "8.41.0", 4192 + "debug": "^4.3.4" 4193 + } 4194 + }, 4195 + "@typescript-eslint/project-service": { 4196 + "version": "8.41.0", 4197 + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.41.0.tgz", 4198 + "integrity": "sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==", 4199 "dev": true, 4200 "requires": { 4201 + "@typescript-eslint/tsconfig-utils": "^8.41.0", 4202 + "@typescript-eslint/types": "^8.41.0", 4203 "debug": "^4.3.4" 4204 } 4205 }, 4206 "@typescript-eslint/scope-manager": { 4207 + "version": "8.41.0", 4208 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", 4209 + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", 4210 "dev": true, 4211 "requires": { 4212 + "@typescript-eslint/types": "8.41.0", 4213 + "@typescript-eslint/visitor-keys": "8.41.0" 4214 } 4215 }, 4216 + "@typescript-eslint/tsconfig-utils": { 4217 + "version": "8.41.0", 4218 + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.41.0.tgz", 4219 + "integrity": "sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==", 4220 + "dev": true, 4221 + "requires": {} 4222 + }, 4223 "@typescript-eslint/type-utils": { 4224 + "version": "8.41.0", 4225 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz", 4226 + "integrity": "sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==", 4227 "dev": true, 4228 "requires": { 4229 + "@typescript-eslint/types": "8.41.0", 4230 + "@typescript-eslint/typescript-estree": "8.41.0", 4231 + "@typescript-eslint/utils": "8.41.0", 4232 "debug": "^4.3.4", 4233 + "ts-api-utils": "^2.1.0" 4234 } 4235 }, 4236 "@typescript-eslint/types": { 4237 + "version": "8.41.0", 4238 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", 4239 + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", 4240 "dev": true 4241 }, 4242 "@typescript-eslint/typescript-estree": { 4243 + "version": "8.41.0", 4244 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", 4245 + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", 4246 "dev": true, 4247 "requires": { 4248 + "@typescript-eslint/project-service": "8.41.0", 4249 + "@typescript-eslint/tsconfig-utils": "8.41.0", 4250 + "@typescript-eslint/types": "8.41.0", 4251 + "@typescript-eslint/visitor-keys": "8.41.0", 4252 "debug": "^4.3.4", 4253 "fast-glob": "^3.3.2", 4254 "is-glob": "^4.0.3", 4255 "minimatch": "^9.0.4", 4256 "semver": "^7.6.0", 4257 + "ts-api-utils": "^2.1.0" 4258 + }, 4259 + "dependencies": { 4260 + "brace-expansion": { 4261 + "version": "2.0.2", 4262 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 4263 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 4264 + "dev": true, 4265 + "requires": { 4266 + "balanced-match": "^1.0.0" 4267 + } 4268 + }, 4269 + "minimatch": { 4270 + "version": "9.0.5", 4271 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 4272 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 4273 + "dev": true, 4274 + "requires": { 4275 + "brace-expansion": "^2.0.1" 4276 + } 4277 + } 4278 } 4279 }, 4280 "@typescript-eslint/utils": { 4281 + "version": "8.41.0", 4282 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", 4283 + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", 4284 "dev": true, 4285 "requires": { 4286 + "@eslint-community/eslint-utils": "^4.7.0", 4287 + "@typescript-eslint/scope-manager": "8.41.0", 4288 + "@typescript-eslint/types": "8.41.0", 4289 + "@typescript-eslint/typescript-estree": "8.41.0" 4290 } 4291 }, 4292 "@typescript-eslint/visitor-keys": { 4293 + "version": "8.41.0", 4294 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", 4295 + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", 4296 "dev": true, 4297 "requires": { 4298 + "@typescript-eslint/types": "8.41.0", 4299 + "eslint-visitor-keys": "^4.2.1" 4300 }, 4301 "dependencies": { 4302 "eslint-visitor-keys": { 4303 + "version": "4.2.1", 4304 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 4305 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 4306 "dev": true 4307 } 4308 } 4309 }, 4310 "acorn": { 4311 + "version": "8.15.0", 4312 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 4313 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 4314 "dev": true 4315 }, 4316 "acorn-jsx": { ··· 4354 "dev": true 4355 }, 4356 "brace-expansion": { 4357 + "version": "1.1.12", 4358 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 4359 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 4360 "dev": true, 4361 "requires": { 4362 + "balanced-match": "^1.0.0", 4363 + "concat-map": "0.0.1" 4364 } 4365 }, 4366 "braces": { ··· 4373 } 4374 }, 4375 "browserslist": { 4376 + "version": "4.25.3", 4377 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", 4378 + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", 4379 "dev": true, 4380 "requires": { 4381 + "caniuse-lite": "^1.0.30001735", 4382 + "electron-to-chromium": "^1.5.204", 4383 "node-releases": "^2.0.19", 4384 + "update-browserslist-db": "^1.1.3" 4385 } 4386 }, 4387 "callsites": { ··· 4391 "dev": true 4392 }, 4393 "caniuse-lite": { 4394 + "version": "1.0.30001737", 4395 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", 4396 + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", 4397 "dev": true 4398 }, 4399 "chalk": { ··· 4445 } 4446 }, 4447 "debug": { 4448 + "version": "4.4.1", 4449 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 4450 + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 4451 "dev": true, 4452 "requires": { 4453 "ms": "^2.1.3" ··· 4466 "dev": true 4467 }, 4468 "electron-to-chromium": { 4469 + "version": "1.5.209", 4470 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.209.tgz", 4471 + "integrity": "sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==", 4472 "dev": true 4473 }, 4474 "enhanced-resolve": { ··· 4482 } 4483 }, 4484 "esbuild": { 4485 + "version": "0.25.9", 4486 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", 4487 + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", 4488 "dev": true, 4489 "requires": { 4490 + "@esbuild/aix-ppc64": "0.25.9", 4491 + "@esbuild/android-arm": "0.25.9", 4492 + "@esbuild/android-arm64": "0.25.9", 4493 + "@esbuild/android-x64": "0.25.9", 4494 + "@esbuild/darwin-arm64": "0.25.9", 4495 + "@esbuild/darwin-x64": "0.25.9", 4496 + "@esbuild/freebsd-arm64": "0.25.9", 4497 + "@esbuild/freebsd-x64": "0.25.9", 4498 + "@esbuild/linux-arm": "0.25.9", 4499 + "@esbuild/linux-arm64": "0.25.9", 4500 + "@esbuild/linux-ia32": "0.25.9", 4501 + "@esbuild/linux-loong64": "0.25.9", 4502 + "@esbuild/linux-mips64el": "0.25.9", 4503 + "@esbuild/linux-ppc64": "0.25.9", 4504 + "@esbuild/linux-riscv64": "0.25.9", 4505 + "@esbuild/linux-s390x": "0.25.9", 4506 + "@esbuild/linux-x64": "0.25.9", 4507 + "@esbuild/netbsd-arm64": "0.25.9", 4508 + "@esbuild/netbsd-x64": "0.25.9", 4509 + "@esbuild/openbsd-arm64": "0.25.9", 4510 + "@esbuild/openbsd-x64": "0.25.9", 4511 + "@esbuild/openharmony-arm64": "0.25.9", 4512 + "@esbuild/sunos-x64": "0.25.9", 4513 + "@esbuild/win32-arm64": "0.25.9", 4514 + "@esbuild/win32-ia32": "0.25.9", 4515 + "@esbuild/win32-x64": "0.25.9" 4516 } 4517 }, 4518 "esbuild-plugin-browserslist": { 4519 + "version": "1.0.1", 4520 + "resolved": "https://registry.npmjs.org/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-1.0.1.tgz", 4521 + "integrity": "sha512-p+behK+qVxzKUDADf3FyMMpeXov+hoijAB9EetX57nX5wDqTZ7+8evnUDeEcE3kaKMVSHaJGmPv4jAI/qtsdBw==", 4522 "dev": true, 4523 "requires": { 4524 + "debug": "^4.4.1", 4525 + "zod": "^3.25.3" 4526 } 4527 }, 4528 "escalade": { ··· 4538 "dev": true 4539 }, 4540 "eslint": { 4541 + "version": "9.34.0", 4542 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz", 4543 + "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", 4544 "dev": true, 4545 "requires": { 4546 "@eslint-community/eslint-utils": "^4.2.0", 4547 "@eslint-community/regexpp": "^4.12.1", 4548 + "@eslint/config-array": "^0.21.0", 4549 + "@eslint/config-helpers": "^0.3.1", 4550 + "@eslint/core": "^0.15.2", 4551 + "@eslint/eslintrc": "^3.3.1", 4552 + "@eslint/js": "9.34.0", 4553 + "@eslint/plugin-kit": "^0.3.5", 4554 "@humanfs/node": "^0.16.6", 4555 "@humanwhocodes/module-importer": "^1.0.1", 4556 + "@humanwhocodes/retry": "^0.4.2", 4557 "@types/estree": "^1.0.6", 4558 "@types/json-schema": "^7.0.15", 4559 "ajv": "^6.12.4", ··· 4561 "cross-spawn": "^7.0.6", 4562 "debug": "^4.3.2", 4563 "escape-string-regexp": "^4.0.0", 4564 + "eslint-scope": "^8.4.0", 4565 + "eslint-visitor-keys": "^4.2.1", 4566 + "espree": "^10.4.0", 4567 "esquery": "^1.5.0", 4568 "esutils": "^2.0.2", 4569 "fast-deep-equal": "^3.1.3", ··· 4580 "optionator": "^0.9.3" 4581 }, 4582 "dependencies": { 4583 "eslint-visitor-keys": { 4584 + "version": "4.2.1", 4585 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 4586 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 4587 "dev": true 4588 }, 4589 "glob-parent": { ··· 4594 "requires": { 4595 "is-glob": "^4.0.3" 4596 } 4597 } 4598 } 4599 }, 4600 "eslint-config-prettier": { 4601 + "version": "10.1.8", 4602 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", 4603 + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", 4604 "dev": true, 4605 "requires": {} 4606 }, 4607 "eslint-scope": { 4608 + "version": "8.4.0", 4609 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 4610 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 4611 "dev": true, 4612 "requires": { 4613 "esrecurse": "^4.3.0", ··· 4621 "dev": true 4622 }, 4623 "espree": { 4624 + "version": "10.4.0", 4625 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 4626 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 4627 "dev": true, 4628 "requires": { 4629 + "acorn": "^8.15.0", 4630 "acorn-jsx": "^5.3.2", 4631 + "eslint-visitor-keys": "^4.2.1" 4632 }, 4633 "dependencies": { 4634 "eslint-visitor-keys": { 4635 + "version": "4.2.1", 4636 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 4637 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 4638 "dev": true 4639 } 4640 } ··· 4701 "dev": true 4702 }, 4703 "fastq": { 4704 + "version": "1.19.1", 4705 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 4706 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 4707 "dev": true, 4708 "requires": { 4709 "reusify": "^1.0.4" ··· 4763 } 4764 }, 4765 "globals": { 4766 + "version": "16.3.0", 4767 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz", 4768 + "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==", 4769 "dev": true 4770 }, 4771 "graceful-fs": { ··· 4787 "dev": true 4788 }, 4789 "htmx.org": { 4790 + "version": "2.0.6", 4791 + "resolved": "https://registry.npmjs.org/htmx.org/-/htmx.org-2.0.6.tgz", 4792 + "integrity": "sha512-7ythjYneGSk3yCHgtCnQeaoF+D+o7U2LF37WU3O0JYv3gTZSicdEFiI/Ai/NJyC5ZpYJWMpUb11OC5Lr6AfAqA==" 4793 }, 4794 "ignore": { 4795 "version": "5.3.2", ··· 4798 "dev": true 4799 }, 4800 "import-fresh": { 4801 + "version": "3.3.1", 4802 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 4803 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 4804 "dev": true, 4805 "requires": { 4806 "parent-module": "^1.0.0", ··· 5030 } 5031 }, 5032 "minimatch": { 5033 + "version": "3.1.2", 5034 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 5035 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 5036 "dev": true, 5037 "requires": { 5038 + "brace-expansion": "^1.1.7" 5039 } 5040 }, 5041 "minimist": { ··· 5167 "dev": true 5168 }, 5169 "prettier": { 5170 + "version": "3.6.2", 5171 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", 5172 + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", 5173 "dev": true 5174 }, 5175 "punycode": { ··· 5191 "dev": true 5192 }, 5193 "reusify": { 5194 + "version": "1.1.0", 5195 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 5196 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 5197 "dev": true 5198 }, 5199 "run-parallel": { ··· 5206 } 5207 }, 5208 "semver": { 5209 + "version": "7.7.2", 5210 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 5211 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 5212 "dev": true 5213 }, 5214 "shebang-command": { ··· 5282 } 5283 }, 5284 "ts-api-utils": { 5285 + "version": "2.1.0", 5286 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 5287 + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 5288 "dev": true, 5289 "requires": {} 5290 }, ··· 5298 } 5299 }, 5300 "typescript": { 5301 + "version": "5.9.2", 5302 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", 5303 + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", 5304 "dev": true 5305 }, 5306 "typescript-eslint": { 5307 + "version": "8.41.0", 5308 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.41.0.tgz", 5309 + "integrity": "sha512-n66rzs5OBXW3SFSnZHr2T685q1i4ODm2nulFJhMZBotaTavsS8TrI3d7bDlRSs9yWo7HmyWrN9qDu14Qv7Y0Dw==", 5310 "dev": true, 5311 "requires": { 5312 + "@typescript-eslint/eslint-plugin": "8.41.0", 5313 + "@typescript-eslint/parser": "8.41.0", 5314 + "@typescript-eslint/typescript-estree": "8.41.0", 5315 + "@typescript-eslint/utils": "8.41.0" 5316 } 5317 }, 5318 "undici-types": { 5319 + "version": "7.10.0", 5320 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", 5321 + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", 5322 "dev": true 5323 }, 5324 "update-browserslist-db": { 5325 + "version": "1.1.3", 5326 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 5327 + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 5328 "dev": true, 5329 "requires": { 5330 "escalade": "^3.2.0", 5331 + "picocolors": "^1.1.1" 5332 } 5333 }, 5334 "uri-js": { ··· 5368 "dev": true 5369 }, 5370 "zod": { 5371 + "version": "3.25.76", 5372 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 5373 + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 5374 "dev": true 5375 } 5376 }
+13 -13
frontend/package.json
··· 5 "main": "index.js", 6 "type": "module", 7 "devDependencies": { 8 - "@eslint/js": "^9.17.0", 9 "@tailwindcss/cli": "^4.1.12", 10 - "@types/node": "^22.10.5", 11 - "browserslist": "^4.24.4", 12 - "esbuild": "^0.24.2", 13 - "esbuild-plugin-browserslist": "^0.15.0", 14 - "eslint": "^9.17.0", 15 - "eslint-config-prettier": "^9.1.0", 16 - "globals": "^15.14.0", 17 "minimist": "^1.2.8", 18 - "prettier": "^3.4.2", 19 - "typescript": "^5.7.3", 20 - "typescript-eslint": "^8.19.1" 21 }, 22 "scripts": { 23 "check": "tsc", ··· 35 "url": "https://github.com/ivomurrell/myivo.git" 36 }, 37 "dependencies": { 38 - "htmx.org": "^2.0.4", 39 "tailwindcss": "^4.1.12" 40 }, 41 "volta": { 42 - "node": "22.13.0" 43 } 44 }
··· 5 "main": "index.js", 6 "type": "module", 7 "devDependencies": { 8 + "@eslint/js": "^9.34.0", 9 "@tailwindcss/cli": "^4.1.12", 10 + "@types/node": "^24.3.0", 11 + "browserslist": "^4.25.3", 12 + "esbuild": "^0.25.9", 13 + "esbuild-plugin-browserslist": "^1.0.1", 14 + "eslint": "^9.34.0", 15 + "eslint-config-prettier": "^10.1.8", 16 + "globals": "^16.3.0", 17 "minimist": "^1.2.8", 18 + "prettier": "^3.6.2", 19 + "typescript": "^5.9.2", 20 + "typescript-eslint": "^8.41.0" 21 }, 22 "scripts": { 23 "check": "tsc", ··· 35 "url": "https://github.com/ivomurrell/myivo.git" 36 }, 37 "dependencies": { 38 + "htmx.org": "^2.0.6", 39 "tailwindcss": "^4.1.12" 40 }, 41 "volta": { 42 + "node": "24.6.0" 43 } 44 }
+247 -183
server/Cargo.lock
··· 13 14 [[package]] 15 name = "adler2" 16 - version = "2.0.0" 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 20 [[package]] 21 name = "alloc-no-stdlib" ··· 34 35 [[package]] 36 name = "anyhow" 37 - version = "1.0.96" 38 source = "registry+https://github.com/rust-lang/crates.io-index" 39 - checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" 40 41 [[package]] 42 name = "askama" 43 - version = "0.13.0" 44 - source = "git+https://github.com/rinja-rs/askama.git#704f8f14678c0ce62920f2c8f1374fef56d21e7f" 45 dependencies = [ 46 "askama_derive", 47 - "askama_escape", 48 - "humansize", 49 - "num-traits", 50 "percent-encoding", 51 ] 52 53 [[package]] 54 name = "askama_derive" 55 - version = "0.13.0" 56 - source = "git+https://github.com/rinja-rs/askama.git#704f8f14678c0ce62920f2c8f1374fef56d21e7f" 57 dependencies = [ 58 "askama_parser", 59 "basic-toml", 60 - "mime", 61 - "mime_guess", 62 "proc-macro2", 63 "quote", 64 "serde", 65 "syn", 66 ] 67 - 68 - [[package]] 69 - name = "askama_escape" 70 - version = "0.11.0" 71 - source = "git+https://github.com/rinja-rs/askama.git#704f8f14678c0ce62920f2c8f1374fef56d21e7f" 72 73 [[package]] 74 name = "askama_parser" 75 - version = "0.3.1" 76 - source = "git+https://github.com/rinja-rs/askama.git#704f8f14678c0ce62920f2c8f1374fef56d21e7f" 77 dependencies = [ 78 - "nom", 79 ] 80 81 [[package]] 82 name = "async-compression" 83 - version = "0.4.18" 84 source = "registry+https://github.com/rust-lang/crates.io-index" 85 - checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" 86 dependencies = [ 87 "brotli", 88 "flate2", 89 "futures-core", 90 "memchr", ··· 95 ] 96 97 [[package]] 98 name = "autocfg" 99 - version = "1.4.0" 100 source = "registry+https://github.com/rust-lang/crates.io-index" 101 - checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 102 103 [[package]] 104 name = "axum" 105 - version = "0.8.1" 106 source = "registry+https://github.com/rust-lang/crates.io-index" 107 - checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8" 108 dependencies = [ 109 "axum-core", 110 "bytes", ··· 136 137 [[package]] 138 name = "axum-core" 139 - version = "0.5.0" 140 source = "registry+https://github.com/rust-lang/crates.io-index" 141 - checksum = "df1362f362fd16024ae199c1970ce98f9661bf5ef94b9808fee734bc3698b733" 142 dependencies = [ 143 "bytes", 144 - "futures-util", 145 "http", 146 "http-body", 147 "http-body-util", ··· 156 157 [[package]] 158 name = "backtrace" 159 - version = "0.3.74" 160 source = "registry+https://github.com/rust-lang/crates.io-index" 161 - checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 162 dependencies = [ 163 "addr2line", 164 "cfg-if", ··· 171 172 [[package]] 173 name = "basic-toml" 174 - version = "0.1.9" 175 source = "registry+https://github.com/rust-lang/crates.io-index" 176 - checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" 177 dependencies = [ 178 "serde", 179 ] 180 181 [[package]] 182 name = "bitflags" 183 - version = "2.8.0" 184 source = "registry+https://github.com/rust-lang/crates.io-index" 185 - checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" 186 187 [[package]] 188 name = "brotli" 189 - version = "7.0.0" 190 source = "registry+https://github.com/rust-lang/crates.io-index" 191 - checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" 192 dependencies = [ 193 "alloc-no-stdlib", 194 "alloc-stdlib", ··· 197 198 [[package]] 199 name = "brotli-decompressor" 200 - version = "4.0.2" 201 source = "registry+https://github.com/rust-lang/crates.io-index" 202 - checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" 203 dependencies = [ 204 "alloc-no-stdlib", 205 "alloc-stdlib", ··· 207 208 [[package]] 209 name = "bytes" 210 - version = "1.10.0" 211 source = "registry+https://github.com/rust-lang/crates.io-index" 212 - checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" 213 214 [[package]] 215 name = "cc" 216 - version = "1.2.14" 217 source = "registry+https://github.com/rust-lang/crates.io-index" 218 - checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" 219 dependencies = [ 220 "jobserver", 221 "libc", ··· 224 225 [[package]] 226 name = "cfg-if" 227 - version = "1.0.0" 228 source = "registry+https://github.com/rust-lang/crates.io-index" 229 - checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 230 231 [[package]] 232 name = "crc32fast" 233 - version = "1.4.2" 234 source = "registry+https://github.com/rust-lang/crates.io-index" 235 - checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 236 dependencies = [ 237 "cfg-if", 238 ] 239 240 [[package]] 241 name = "flate2" 242 - version = "1.0.35" 243 source = "registry+https://github.com/rust-lang/crates.io-index" 244 - checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" 245 dependencies = [ 246 "crc32fast", 247 "miniz_oxide", ··· 255 256 [[package]] 257 name = "form_urlencoded" 258 - version = "1.2.1" 259 source = "registry+https://github.com/rust-lang/crates.io-index" 260 - checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 261 dependencies = [ 262 "percent-encoding", 263 ] ··· 302 ] 303 304 [[package]] 305 name = "gimli" 306 version = "0.31.1" 307 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 309 310 [[package]] 311 name = "http" 312 - version = "1.2.0" 313 source = "registry+https://github.com/rust-lang/crates.io-index" 314 - checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" 315 dependencies = [ 316 "bytes", 317 "fnv", ··· 330 331 [[package]] 332 name = "http-body-util" 333 - version = "0.1.2" 334 source = "registry+https://github.com/rust-lang/crates.io-index" 335 - checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 336 dependencies = [ 337 "bytes", 338 - "futures-util", 339 "http", 340 "http-body", 341 "pin-project-lite", ··· 349 350 [[package]] 351 name = "httparse" 352 - version = "1.10.0" 353 source = "registry+https://github.com/rust-lang/crates.io-index" 354 - checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" 355 356 [[package]] 357 name = "httpdate" ··· 360 checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 361 362 [[package]] 363 - name = "humansize" 364 - version = "2.1.3" 365 - source = "registry+https://github.com/rust-lang/crates.io-index" 366 - checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" 367 - dependencies = [ 368 - "libm", 369 - ] 370 - 371 - [[package]] 372 name = "hyper" 373 - version = "1.6.0" 374 source = "registry+https://github.com/rust-lang/crates.io-index" 375 - checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" 376 dependencies = [ 377 "bytes", 378 "futures-channel", 379 - "futures-util", 380 "http", 381 "http-body", 382 "httparse", 383 "httpdate", 384 "itoa", 385 "pin-project-lite", 386 "smallvec", 387 "tokio", 388 ] 389 390 [[package]] 391 name = "hyper-util" 392 - version = "0.1.10" 393 source = "registry+https://github.com/rust-lang/crates.io-index" 394 - checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" 395 dependencies = [ 396 "bytes", 397 - "futures-util", 398 "http", 399 "http-body", 400 "hyper", ··· 404 ] 405 406 [[package]] 407 name = "itoa" 408 - version = "1.0.14" 409 source = "registry+https://github.com/rust-lang/crates.io-index" 410 - checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" 411 412 [[package]] 413 name = "jobserver" 414 - version = "0.1.32" 415 source = "registry+https://github.com/rust-lang/crates.io-index" 416 - checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" 417 dependencies = [ 418 "libc", 419 ] 420 ··· 426 427 [[package]] 428 name = "libc" 429 - version = "0.2.169" 430 - source = "registry+https://github.com/rust-lang/crates.io-index" 431 - checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" 432 - 433 - [[package]] 434 - name = "libm" 435 - version = "0.2.11" 436 source = "registry+https://github.com/rust-lang/crates.io-index" 437 - checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" 438 439 [[package]] 440 name = "lock_api" 441 - version = "0.4.12" 442 source = "registry+https://github.com/rust-lang/crates.io-index" 443 - checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 444 dependencies = [ 445 "autocfg", 446 "scopeguard", ··· 448 449 [[package]] 450 name = "log" 451 - version = "0.4.25" 452 source = "registry+https://github.com/rust-lang/crates.io-index" 453 - checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" 454 455 [[package]] 456 name = "matchit" ··· 460 461 [[package]] 462 name = "memchr" 463 - version = "2.7.4" 464 source = "registry+https://github.com/rust-lang/crates.io-index" 465 - checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 466 467 [[package]] 468 name = "mime" ··· 481 ] 482 483 [[package]] 484 - name = "minimal-lexical" 485 - version = "0.2.1" 486 - source = "registry+https://github.com/rust-lang/crates.io-index" 487 - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 488 - 489 - [[package]] 490 name = "miniz_oxide" 491 - version = "0.8.4" 492 source = "registry+https://github.com/rust-lang/crates.io-index" 493 - checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b" 494 dependencies = [ 495 "adler2", 496 ] 497 498 [[package]] 499 name = "mio" 500 - version = "1.0.3" 501 source = "registry+https://github.com/rust-lang/crates.io-index" 502 - checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 503 dependencies = [ 504 "libc", 505 - "wasi", 506 "windows-sys", 507 ] 508 ··· 521 ] 522 523 [[package]] 524 - name = "nom" 525 - version = "7.1.3" 526 - source = "registry+https://github.com/rust-lang/crates.io-index" 527 - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 528 - dependencies = [ 529 - "memchr", 530 - "minimal-lexical", 531 - ] 532 - 533 - [[package]] 534 name = "nu-ansi-term" 535 version = "0.46.0" 536 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 541 ] 542 543 [[package]] 544 - name = "num-traits" 545 - version = "0.2.19" 546 - source = "registry+https://github.com/rust-lang/crates.io-index" 547 - checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 548 - dependencies = [ 549 - "autocfg", 550 - ] 551 - 552 - [[package]] 553 name = "object" 554 version = "0.36.7" 555 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 560 561 [[package]] 562 name = "once_cell" 563 - version = "1.20.3" 564 source = "registry+https://github.com/rust-lang/crates.io-index" 565 - checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" 566 567 [[package]] 568 name = "overload" ··· 572 573 [[package]] 574 name = "parking_lot" 575 - version = "0.12.3" 576 source = "registry+https://github.com/rust-lang/crates.io-index" 577 - checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 578 dependencies = [ 579 "lock_api", 580 "parking_lot_core", ··· 582 583 [[package]] 584 name = "parking_lot_core" 585 - version = "0.9.10" 586 source = "registry+https://github.com/rust-lang/crates.io-index" 587 - checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 588 dependencies = [ 589 "cfg-if", 590 "libc", ··· 595 596 [[package]] 597 name = "percent-encoding" 598 - version = "2.3.1" 599 source = "registry+https://github.com/rust-lang/crates.io-index" 600 - checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 601 602 [[package]] 603 name = "pin-project-lite" ··· 613 614 [[package]] 615 name = "pkg-config" 616 - version = "0.3.31" 617 source = "registry+https://github.com/rust-lang/crates.io-index" 618 - checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" 619 620 [[package]] 621 name = "proc-macro2" 622 - version = "1.0.93" 623 source = "registry+https://github.com/rust-lang/crates.io-index" 624 - checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" 625 dependencies = [ 626 "unicode-ident", 627 ] 628 629 [[package]] 630 name = "quote" 631 - version = "1.0.38" 632 source = "registry+https://github.com/rust-lang/crates.io-index" 633 - checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" 634 dependencies = [ 635 "proc-macro2", 636 ] 637 638 [[package]] 639 name = "redox_syscall" 640 - version = "0.5.8" 641 source = "registry+https://github.com/rust-lang/crates.io-index" 642 - checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" 643 dependencies = [ 644 "bitflags", 645 ] 646 647 [[package]] 648 name = "rustc-demangle" 649 - version = "0.1.24" 650 source = "registry+https://github.com/rust-lang/crates.io-index" 651 - checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 652 653 [[package]] 654 name = "rustversion" 655 - version = "1.0.19" 656 source = "registry+https://github.com/rust-lang/crates.io-index" 657 - checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" 658 659 [[package]] 660 name = "ryu" 661 - version = "1.0.19" 662 source = "registry+https://github.com/rust-lang/crates.io-index" 663 - checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" 664 665 [[package]] 666 name = "scopeguard" ··· 670 671 [[package]] 672 name = "serde" 673 - version = "1.0.218" 674 source = "registry+https://github.com/rust-lang/crates.io-index" 675 - checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" 676 dependencies = [ 677 "serde_derive", 678 ] 679 680 [[package]] 681 name = "serde_derive" 682 - version = "1.0.218" 683 source = "registry+https://github.com/rust-lang/crates.io-index" 684 - checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" 685 dependencies = [ 686 "proc-macro2", 687 "quote", ··· 690 691 [[package]] 692 name = "serde_json" 693 - version = "1.0.139" 694 source = "registry+https://github.com/rust-lang/crates.io-index" 695 - checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" 696 dependencies = [ 697 "itoa", 698 "memchr", ··· 702 703 [[package]] 704 name = "serde_path_to_error" 705 - version = "0.1.16" 706 source = "registry+https://github.com/rust-lang/crates.io-index" 707 - checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" 708 dependencies = [ 709 "itoa", 710 "serde", ··· 739 740 [[package]] 741 name = "signal-hook-registry" 742 - version = "1.4.2" 743 source = "registry+https://github.com/rust-lang/crates.io-index" 744 - checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 745 dependencies = [ 746 "libc", 747 ] 748 749 [[package]] 750 name = "smallvec" 751 - version = "1.14.0" 752 source = "registry+https://github.com/rust-lang/crates.io-index" 753 - checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" 754 755 [[package]] 756 name = "socket2" 757 - version = "0.5.8" 758 source = "registry+https://github.com/rust-lang/crates.io-index" 759 - checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" 760 dependencies = [ 761 "libc", 762 "windows-sys", ··· 764 765 [[package]] 766 name = "syn" 767 - version = "2.0.98" 768 source = "registry+https://github.com/rust-lang/crates.io-index" 769 - checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" 770 dependencies = [ 771 "proc-macro2", 772 "quote", ··· 781 782 [[package]] 783 name = "thread_local" 784 - version = "1.1.8" 785 source = "registry+https://github.com/rust-lang/crates.io-index" 786 - checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 787 dependencies = [ 788 "cfg-if", 789 - "once_cell", 790 ] 791 792 [[package]] 793 name = "tokio" 794 - version = "1.43.0" 795 source = "registry+https://github.com/rust-lang/crates.io-index" 796 - checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" 797 dependencies = [ 798 "backtrace", 799 "bytes", 800 "libc", 801 "mio", 802 "parking_lot", 803 "pin-project-lite", 804 "signal-hook-registry", 805 "socket2", 806 "tokio-macros", 807 "windows-sys", ··· 820 821 [[package]] 822 name = "tokio-util" 823 - version = "0.7.13" 824 source = "registry+https://github.com/rust-lang/crates.io-index" 825 - checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" 826 dependencies = [ 827 "bytes", 828 "futures-core", ··· 849 850 [[package]] 851 name = "tower-http" 852 - version = "0.6.2" 853 source = "registry+https://github.com/rust-lang/crates.io-index" 854 - checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" 855 dependencies = [ 856 "async-compression", 857 "bitflags", ··· 900 901 [[package]] 902 name = "tracing-attributes" 903 - version = "0.1.28" 904 source = "registry+https://github.com/rust-lang/crates.io-index" 905 - checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" 906 dependencies = [ 907 "proc-macro2", 908 "quote", ··· 911 912 [[package]] 913 name = "tracing-core" 914 - version = "0.1.33" 915 source = "registry+https://github.com/rust-lang/crates.io-index" 916 - checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 917 dependencies = [ 918 "once_cell", 919 "valuable", ··· 952 953 [[package]] 954 name = "unicode-ident" 955 - version = "1.0.17" 956 source = "registry+https://github.com/rust-lang/crates.io-index" 957 - checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" 958 959 [[package]] 960 name = "valuable" ··· 964 965 [[package]] 966 name = "wasi" 967 - version = "0.11.0+wasi-snapshot-preview1" 968 source = "registry+https://github.com/rust-lang/crates.io-index" 969 - checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 970 971 [[package]] 972 name = "winapi" ··· 992 993 [[package]] 994 name = "windows-sys" 995 - version = "0.52.0" 996 source = "registry+https://github.com/rust-lang/crates.io-index" 997 - checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 998 dependencies = [ 999 "windows-targets", 1000 ] ··· 1064 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1065 1066 [[package]] 1067 name = "zstd" 1068 version = "0.13.3" 1069 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1074 1075 [[package]] 1076 name = "zstd-safe" 1077 - version = "7.2.3" 1078 source = "registry+https://github.com/rust-lang/crates.io-index" 1079 - checksum = "f3051792fbdc2e1e143244dc28c60f73d8470e93f3f9cbd0ead44da5ed802722" 1080 dependencies = [ 1081 "zstd-sys", 1082 ] 1083 1084 [[package]] 1085 name = "zstd-sys" 1086 - version = "2.0.14+zstd.1.5.7" 1087 source = "registry+https://github.com/rust-lang/crates.io-index" 1088 - checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5" 1089 dependencies = [ 1090 "cc", 1091 "pkg-config",
··· 13 14 [[package]] 15 name = "adler2" 16 + version = "2.0.1" 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 19 20 [[package]] 21 name = "alloc-no-stdlib" ··· 34 35 [[package]] 36 name = "anyhow" 37 + version = "1.0.99" 38 source = "registry+https://github.com/rust-lang/crates.io-index" 39 + checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" 40 41 [[package]] 42 name = "askama" 43 + version = "0.14.0" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "f75363874b771be265f4ffe307ca705ef6f3baa19011c149da8674a87f1b75c4" 46 dependencies = [ 47 "askama_derive", 48 + "itoa", 49 "percent-encoding", 50 + "serde", 51 + "serde_json", 52 ] 53 54 [[package]] 55 name = "askama_derive" 56 + version = "0.14.0" 57 + source = "registry+https://github.com/rust-lang/crates.io-index" 58 + checksum = "129397200fe83088e8a68407a8e2b1f826cf0086b21ccdb866a722c8bcd3a94f" 59 dependencies = [ 60 "askama_parser", 61 "basic-toml", 62 + "memchr", 63 "proc-macro2", 64 "quote", 65 + "rustc-hash", 66 "serde", 67 + "serde_derive", 68 "syn", 69 ] 70 71 [[package]] 72 name = "askama_parser" 73 + version = "0.14.0" 74 + source = "registry+https://github.com/rust-lang/crates.io-index" 75 + checksum = "d6ab5630b3d5eaf232620167977f95eb51f3432fc76852328774afbd242d4358" 76 dependencies = [ 77 + "memchr", 78 + "serde", 79 + "serde_derive", 80 + "winnow", 81 ] 82 83 [[package]] 84 name = "async-compression" 85 + version = "0.4.28" 86 source = "registry+https://github.com/rust-lang/crates.io-index" 87 + checksum = "6448dfb3960f0b038e88c781ead1e7eb7929dfc3a71a1336ec9086c00f6d1e75" 88 dependencies = [ 89 "brotli", 90 + "compression-codecs", 91 + "compression-core", 92 "flate2", 93 "futures-core", 94 "memchr", ··· 99 ] 100 101 [[package]] 102 + name = "atomic-waker" 103 + version = "1.1.2" 104 + source = "registry+https://github.com/rust-lang/crates.io-index" 105 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 106 + 107 + [[package]] 108 name = "autocfg" 109 + version = "1.5.0" 110 source = "registry+https://github.com/rust-lang/crates.io-index" 111 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 112 113 [[package]] 114 name = "axum" 115 + version = "0.8.4" 116 source = "registry+https://github.com/rust-lang/crates.io-index" 117 + checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" 118 dependencies = [ 119 "axum-core", 120 "bytes", ··· 146 147 [[package]] 148 name = "axum-core" 149 + version = "0.5.2" 150 source = "registry+https://github.com/rust-lang/crates.io-index" 151 + checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" 152 dependencies = [ 153 "bytes", 154 + "futures-core", 155 "http", 156 "http-body", 157 "http-body-util", ··· 166 167 [[package]] 168 name = "backtrace" 169 + version = "0.3.75" 170 source = "registry+https://github.com/rust-lang/crates.io-index" 171 + checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 172 dependencies = [ 173 "addr2line", 174 "cfg-if", ··· 181 182 [[package]] 183 name = "basic-toml" 184 + version = "0.1.10" 185 source = "registry+https://github.com/rust-lang/crates.io-index" 186 + checksum = "ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a" 187 dependencies = [ 188 "serde", 189 ] 190 191 [[package]] 192 name = "bitflags" 193 + version = "2.9.3" 194 source = "registry+https://github.com/rust-lang/crates.io-index" 195 + checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" 196 197 [[package]] 198 name = "brotli" 199 + version = "8.0.2" 200 source = "registry+https://github.com/rust-lang/crates.io-index" 201 + checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" 202 dependencies = [ 203 "alloc-no-stdlib", 204 "alloc-stdlib", ··· 207 208 [[package]] 209 name = "brotli-decompressor" 210 + version = "5.0.0" 211 source = "registry+https://github.com/rust-lang/crates.io-index" 212 + checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" 213 dependencies = [ 214 "alloc-no-stdlib", 215 "alloc-stdlib", ··· 217 218 [[package]] 219 name = "bytes" 220 + version = "1.10.1" 221 source = "registry+https://github.com/rust-lang/crates.io-index" 222 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 223 224 [[package]] 225 name = "cc" 226 + version = "1.2.34" 227 source = "registry+https://github.com/rust-lang/crates.io-index" 228 + checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" 229 dependencies = [ 230 "jobserver", 231 "libc", ··· 234 235 [[package]] 236 name = "cfg-if" 237 + version = "1.0.3" 238 + source = "registry+https://github.com/rust-lang/crates.io-index" 239 + checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 240 + 241 + [[package]] 242 + name = "compression-codecs" 243 + version = "0.4.28" 244 + source = "registry+https://github.com/rust-lang/crates.io-index" 245 + checksum = "46cc6539bf1c592cff488b9f253b30bc0ec50d15407c2cf45e27bd8f308d5905" 246 + dependencies = [ 247 + "brotli", 248 + "compression-core", 249 + "flate2", 250 + "futures-core", 251 + "memchr", 252 + "pin-project-lite", 253 + "zstd", 254 + "zstd-safe", 255 + ] 256 + 257 + [[package]] 258 + name = "compression-core" 259 + version = "0.4.28" 260 source = "registry+https://github.com/rust-lang/crates.io-index" 261 + checksum = "2957e823c15bde7ecf1e8b64e537aa03a6be5fda0e2334e99887669e75b12e01" 262 263 [[package]] 264 name = "crc32fast" 265 + version = "1.5.0" 266 source = "registry+https://github.com/rust-lang/crates.io-index" 267 + checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 268 dependencies = [ 269 "cfg-if", 270 ] 271 272 [[package]] 273 name = "flate2" 274 + version = "1.1.2" 275 source = "registry+https://github.com/rust-lang/crates.io-index" 276 + checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" 277 dependencies = [ 278 "crc32fast", 279 "miniz_oxide", ··· 287 288 [[package]] 289 name = "form_urlencoded" 290 + version = "1.2.2" 291 source = "registry+https://github.com/rust-lang/crates.io-index" 292 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 293 dependencies = [ 294 "percent-encoding", 295 ] ··· 334 ] 335 336 [[package]] 337 + name = "getrandom" 338 + version = "0.3.3" 339 + source = "registry+https://github.com/rust-lang/crates.io-index" 340 + checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 341 + dependencies = [ 342 + "cfg-if", 343 + "libc", 344 + "r-efi", 345 + "wasi 0.14.2+wasi-0.2.4", 346 + ] 347 + 348 + [[package]] 349 name = "gimli" 350 version = "0.31.1" 351 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 353 354 [[package]] 355 name = "http" 356 + version = "1.3.1" 357 source = "registry+https://github.com/rust-lang/crates.io-index" 358 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 359 dependencies = [ 360 "bytes", 361 "fnv", ··· 374 375 [[package]] 376 name = "http-body-util" 377 + version = "0.1.3" 378 source = "registry+https://github.com/rust-lang/crates.io-index" 379 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 380 dependencies = [ 381 "bytes", 382 + "futures-core", 383 "http", 384 "http-body", 385 "pin-project-lite", ··· 393 394 [[package]] 395 name = "httparse" 396 + version = "1.10.1" 397 source = "registry+https://github.com/rust-lang/crates.io-index" 398 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 399 400 [[package]] 401 name = "httpdate" ··· 404 checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 405 406 [[package]] 407 name = "hyper" 408 + version = "1.7.0" 409 source = "registry+https://github.com/rust-lang/crates.io-index" 410 + checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 411 dependencies = [ 412 + "atomic-waker", 413 "bytes", 414 "futures-channel", 415 + "futures-core", 416 "http", 417 "http-body", 418 "httparse", 419 "httpdate", 420 "itoa", 421 "pin-project-lite", 422 + "pin-utils", 423 "smallvec", 424 "tokio", 425 ] 426 427 [[package]] 428 name = "hyper-util" 429 + version = "0.1.16" 430 source = "registry+https://github.com/rust-lang/crates.io-index" 431 + checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" 432 dependencies = [ 433 "bytes", 434 + "futures-core", 435 "http", 436 "http-body", 437 "hyper", ··· 441 ] 442 443 [[package]] 444 + name = "io-uring" 445 + version = "0.7.10" 446 + source = "registry+https://github.com/rust-lang/crates.io-index" 447 + checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" 448 + dependencies = [ 449 + "bitflags", 450 + "cfg-if", 451 + "libc", 452 + ] 453 + 454 + [[package]] 455 name = "itoa" 456 + version = "1.0.15" 457 source = "registry+https://github.com/rust-lang/crates.io-index" 458 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 459 460 [[package]] 461 name = "jobserver" 462 + version = "0.1.34" 463 source = "registry+https://github.com/rust-lang/crates.io-index" 464 + checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" 465 dependencies = [ 466 + "getrandom", 467 "libc", 468 ] 469 ··· 475 476 [[package]] 477 name = "libc" 478 + version = "0.2.175" 479 source = "registry+https://github.com/rust-lang/crates.io-index" 480 + checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" 481 482 [[package]] 483 name = "lock_api" 484 + version = "0.4.13" 485 source = "registry+https://github.com/rust-lang/crates.io-index" 486 + checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 487 dependencies = [ 488 "autocfg", 489 "scopeguard", ··· 491 492 [[package]] 493 name = "log" 494 + version = "0.4.27" 495 source = "registry+https://github.com/rust-lang/crates.io-index" 496 + checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 497 498 [[package]] 499 name = "matchit" ··· 503 504 [[package]] 505 name = "memchr" 506 + version = "2.7.5" 507 source = "registry+https://github.com/rust-lang/crates.io-index" 508 + checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 509 510 [[package]] 511 name = "mime" ··· 524 ] 525 526 [[package]] 527 name = "miniz_oxide" 528 + version = "0.8.9" 529 source = "registry+https://github.com/rust-lang/crates.io-index" 530 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 531 dependencies = [ 532 "adler2", 533 ] 534 535 [[package]] 536 name = "mio" 537 + version = "1.0.4" 538 source = "registry+https://github.com/rust-lang/crates.io-index" 539 + checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 540 dependencies = [ 541 "libc", 542 + "wasi 0.11.1+wasi-snapshot-preview1", 543 "windows-sys", 544 ] 545 ··· 558 ] 559 560 [[package]] 561 name = "nu-ansi-term" 562 version = "0.46.0" 563 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 568 ] 569 570 [[package]] 571 name = "object" 572 version = "0.36.7" 573 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 578 579 [[package]] 580 name = "once_cell" 581 + version = "1.21.3" 582 source = "registry+https://github.com/rust-lang/crates.io-index" 583 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 584 585 [[package]] 586 name = "overload" ··· 590 591 [[package]] 592 name = "parking_lot" 593 + version = "0.12.4" 594 source = "registry+https://github.com/rust-lang/crates.io-index" 595 + checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 596 dependencies = [ 597 "lock_api", 598 "parking_lot_core", ··· 600 601 [[package]] 602 name = "parking_lot_core" 603 + version = "0.9.11" 604 source = "registry+https://github.com/rust-lang/crates.io-index" 605 + checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 606 dependencies = [ 607 "cfg-if", 608 "libc", ··· 613 614 [[package]] 615 name = "percent-encoding" 616 + version = "2.3.2" 617 source = "registry+https://github.com/rust-lang/crates.io-index" 618 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 619 620 [[package]] 621 name = "pin-project-lite" ··· 631 632 [[package]] 633 name = "pkg-config" 634 + version = "0.3.32" 635 source = "registry+https://github.com/rust-lang/crates.io-index" 636 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 637 638 [[package]] 639 name = "proc-macro2" 640 + version = "1.0.101" 641 source = "registry+https://github.com/rust-lang/crates.io-index" 642 + checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" 643 dependencies = [ 644 "unicode-ident", 645 ] 646 647 [[package]] 648 name = "quote" 649 + version = "1.0.40" 650 source = "registry+https://github.com/rust-lang/crates.io-index" 651 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 652 dependencies = [ 653 "proc-macro2", 654 ] 655 + 656 + [[package]] 657 + name = "r-efi" 658 + version = "5.3.0" 659 + source = "registry+https://github.com/rust-lang/crates.io-index" 660 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 661 662 [[package]] 663 name = "redox_syscall" 664 + version = "0.5.17" 665 source = "registry+https://github.com/rust-lang/crates.io-index" 666 + checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" 667 dependencies = [ 668 "bitflags", 669 ] 670 671 [[package]] 672 name = "rustc-demangle" 673 + version = "0.1.26" 674 source = "registry+https://github.com/rust-lang/crates.io-index" 675 + checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 676 + 677 + [[package]] 678 + name = "rustc-hash" 679 + version = "2.1.1" 680 + source = "registry+https://github.com/rust-lang/crates.io-index" 681 + checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 682 683 [[package]] 684 name = "rustversion" 685 + version = "1.0.22" 686 source = "registry+https://github.com/rust-lang/crates.io-index" 687 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 688 689 [[package]] 690 name = "ryu" 691 + version = "1.0.20" 692 source = "registry+https://github.com/rust-lang/crates.io-index" 693 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 694 695 [[package]] 696 name = "scopeguard" ··· 700 701 [[package]] 702 name = "serde" 703 + version = "1.0.219" 704 source = "registry+https://github.com/rust-lang/crates.io-index" 705 + checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 706 dependencies = [ 707 "serde_derive", 708 ] 709 710 [[package]] 711 name = "serde_derive" 712 + version = "1.0.219" 713 source = "registry+https://github.com/rust-lang/crates.io-index" 714 + checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 715 dependencies = [ 716 "proc-macro2", 717 "quote", ··· 720 721 [[package]] 722 name = "serde_json" 723 + version = "1.0.143" 724 source = "registry+https://github.com/rust-lang/crates.io-index" 725 + checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" 726 dependencies = [ 727 "itoa", 728 "memchr", ··· 732 733 [[package]] 734 name = "serde_path_to_error" 735 + version = "0.1.17" 736 source = "registry+https://github.com/rust-lang/crates.io-index" 737 + checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" 738 dependencies = [ 739 "itoa", 740 "serde", ··· 769 770 [[package]] 771 name = "signal-hook-registry" 772 + version = "1.4.6" 773 source = "registry+https://github.com/rust-lang/crates.io-index" 774 + checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" 775 dependencies = [ 776 "libc", 777 ] 778 + 779 + [[package]] 780 + name = "slab" 781 + version = "0.4.11" 782 + source = "registry+https://github.com/rust-lang/crates.io-index" 783 + checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" 784 785 [[package]] 786 name = "smallvec" 787 + version = "1.15.1" 788 source = "registry+https://github.com/rust-lang/crates.io-index" 789 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 790 791 [[package]] 792 name = "socket2" 793 + version = "0.6.0" 794 source = "registry+https://github.com/rust-lang/crates.io-index" 795 + checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 796 dependencies = [ 797 "libc", 798 "windows-sys", ··· 800 801 [[package]] 802 name = "syn" 803 + version = "2.0.106" 804 source = "registry+https://github.com/rust-lang/crates.io-index" 805 + checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" 806 dependencies = [ 807 "proc-macro2", 808 "quote", ··· 817 818 [[package]] 819 name = "thread_local" 820 + version = "1.1.9" 821 source = "registry+https://github.com/rust-lang/crates.io-index" 822 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 823 dependencies = [ 824 "cfg-if", 825 ] 826 827 [[package]] 828 name = "tokio" 829 + version = "1.47.1" 830 source = "registry+https://github.com/rust-lang/crates.io-index" 831 + checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 832 dependencies = [ 833 "backtrace", 834 "bytes", 835 + "io-uring", 836 "libc", 837 "mio", 838 "parking_lot", 839 "pin-project-lite", 840 "signal-hook-registry", 841 + "slab", 842 "socket2", 843 "tokio-macros", 844 "windows-sys", ··· 857 858 [[package]] 859 name = "tokio-util" 860 + version = "0.7.16" 861 source = "registry+https://github.com/rust-lang/crates.io-index" 862 + checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 863 dependencies = [ 864 "bytes", 865 "futures-core", ··· 886 887 [[package]] 888 name = "tower-http" 889 + version = "0.6.6" 890 source = "registry+https://github.com/rust-lang/crates.io-index" 891 + checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 892 dependencies = [ 893 "async-compression", 894 "bitflags", ··· 937 938 [[package]] 939 name = "tracing-attributes" 940 + version = "0.1.30" 941 source = "registry+https://github.com/rust-lang/crates.io-index" 942 + checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" 943 dependencies = [ 944 "proc-macro2", 945 "quote", ··· 948 949 [[package]] 950 name = "tracing-core" 951 + version = "0.1.34" 952 source = "registry+https://github.com/rust-lang/crates.io-index" 953 + checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 954 dependencies = [ 955 "once_cell", 956 "valuable", ··· 989 990 [[package]] 991 name = "unicode-ident" 992 + version = "1.0.18" 993 source = "registry+https://github.com/rust-lang/crates.io-index" 994 + checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 995 996 [[package]] 997 name = "valuable" ··· 1001 1002 [[package]] 1003 name = "wasi" 1004 + version = "0.11.1+wasi-snapshot-preview1" 1005 + source = "registry+https://github.com/rust-lang/crates.io-index" 1006 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 1007 + 1008 + [[package]] 1009 + name = "wasi" 1010 + version = "0.14.2+wasi-0.2.4" 1011 source = "registry+https://github.com/rust-lang/crates.io-index" 1012 + checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 1013 + dependencies = [ 1014 + "wit-bindgen-rt", 1015 + ] 1016 1017 [[package]] 1018 name = "winapi" ··· 1038 1039 [[package]] 1040 name = "windows-sys" 1041 + version = "0.59.0" 1042 source = "registry+https://github.com/rust-lang/crates.io-index" 1043 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1044 dependencies = [ 1045 "windows-targets", 1046 ] ··· 1110 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1111 1112 [[package]] 1113 + name = "winnow" 1114 + version = "0.7.13" 1115 + source = "registry+https://github.com/rust-lang/crates.io-index" 1116 + checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" 1117 + dependencies = [ 1118 + "memchr", 1119 + ] 1120 + 1121 + [[package]] 1122 + name = "wit-bindgen-rt" 1123 + version = "0.39.0" 1124 + source = "registry+https://github.com/rust-lang/crates.io-index" 1125 + checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 1126 + dependencies = [ 1127 + "bitflags", 1128 + ] 1129 + 1130 + [[package]] 1131 name = "zstd" 1132 version = "0.13.3" 1133 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1138 1139 [[package]] 1140 name = "zstd-safe" 1141 + version = "7.2.4" 1142 source = "registry+https://github.com/rust-lang/crates.io-index" 1143 + checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" 1144 dependencies = [ 1145 "zstd-sys", 1146 ] 1147 1148 [[package]] 1149 name = "zstd-sys" 1150 + version = "2.0.15+zstd.1.5.7" 1151 source = "registry+https://github.com/rust-lang/crates.io-index" 1152 + checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" 1153 dependencies = [ 1154 "cc", 1155 "pkg-config",
+1 -1
server/Cargo.toml
··· 7 8 [dependencies] 9 anyhow = "1.0.57" 10 - askama = { version = "0.13.0", git="https://github.com/rinja-rs/askama.git" } 11 axum = "0.8.1" 12 tokio = { version = "1.18.2", features = ["full"] } 13 tower = "0.5.2"
··· 7 8 [dependencies] 9 anyhow = "1.0.57" 10 + askama = "0.14.0" 11 axum = "0.8.1" 12 tokio = { version = "1.18.2", features = ["full"] } 13 tower = "0.5.2"