Relay firehose browser tools: https://compare.hose.cam

Compare changes

Choose any two refs to compare.

Changed files
+94 -1010
src
+69 -1004
package-lock.json
··· 28 28 "globals": "^16.0.0", 29 29 "typescript": "~5.8.3", 30 30 "typescript-eslint": "^8.30.1", 31 - "vite": "^6.3.6" 31 + "vite": "^6.4.1" 32 32 } 33 33 }, 34 34 "node_modules/@ampproject/remapping": { ··· 963 963 } 964 964 }, 965 965 "node_modules/@eslint-community/eslint-utils": { 966 - "version": "4.7.0", 967 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 968 - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 966 + "version": "4.9.0", 967 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", 968 + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", 969 969 "dev": true, 970 970 "license": "MIT", 971 971 "dependencies": { ··· 1005 1005 } 1006 1006 }, 1007 1007 "node_modules/@eslint/config-array": { 1008 - "version": "0.20.0", 1009 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", 1010 - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", 1008 + "version": "0.21.1", 1009 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", 1010 + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", 1011 1011 "dev": true, 1012 1012 "license": "Apache-2.0", 1013 1013 "dependencies": { 1014 - "@eslint/object-schema": "^2.1.6", 1014 + "@eslint/object-schema": "^2.1.7", 1015 1015 "debug": "^4.3.1", 1016 1016 "minimatch": "^3.1.2" 1017 1017 }, ··· 1020 1020 } 1021 1021 }, 1022 1022 "node_modules/@eslint/config-helpers": { 1023 - "version": "0.2.2", 1024 - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", 1025 - "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", 1023 + "version": "0.4.2", 1024 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", 1025 + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", 1026 1026 "dev": true, 1027 1027 "license": "Apache-2.0", 1028 + "dependencies": { 1029 + "@eslint/core": "^0.17.0" 1030 + }, 1028 1031 "engines": { 1029 1032 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1030 1033 } 1031 1034 }, 1032 1035 "node_modules/@eslint/core": { 1033 - "version": "0.13.0", 1034 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", 1035 - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", 1036 + "version": "0.17.0", 1037 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", 1038 + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", 1036 1039 "dev": true, 1037 1040 "license": "Apache-2.0", 1038 1041 "dependencies": { ··· 1080 1083 } 1081 1084 }, 1082 1085 "node_modules/@eslint/js": { 1083 - "version": "9.26.0", 1084 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", 1085 - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", 1086 + "version": "9.39.2", 1087 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", 1088 + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", 1086 1089 "dev": true, 1087 1090 "license": "MIT", 1088 1091 "engines": { 1089 1092 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1093 + }, 1094 + "funding": { 1095 + "url": "https://eslint.org/donate" 1090 1096 } 1091 1097 }, 1092 1098 "node_modules/@eslint/object-schema": { 1093 - "version": "2.1.6", 1094 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 1095 - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 1099 + "version": "2.1.7", 1100 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", 1101 + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", 1096 1102 "dev": true, 1097 1103 "license": "Apache-2.0", 1098 1104 "engines": { ··· 1100 1106 } 1101 1107 }, 1102 1108 "node_modules/@eslint/plugin-kit": { 1103 - "version": "0.2.8", 1104 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", 1105 - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", 1109 + "version": "0.4.1", 1110 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", 1111 + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", 1106 1112 "dev": true, 1107 1113 "license": "Apache-2.0", 1108 1114 "dependencies": { 1109 - "@eslint/core": "^0.13.0", 1115 + "@eslint/core": "^0.17.0", 1110 1116 "levn": "^0.4.1" 1111 1117 }, 1112 1118 "engines": { ··· 1227 1233 "@jridgewell/sourcemap-codec": "^1.4.14" 1228 1234 } 1229 1235 }, 1230 - "node_modules/@modelcontextprotocol/sdk": { 1231 - "version": "1.11.3", 1232 - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.3.tgz", 1233 - "integrity": "sha512-rmOWVRUbUJD7iSvJugjUbFZshTAuJ48MXoZ80Osx1GM0K/H1w7rSEvmw8m6vdWxNASgtaHIhAgre4H/E9GJiYQ==", 1234 - "dev": true, 1235 - "license": "MIT", 1236 - "dependencies": { 1237 - "content-type": "^1.0.5", 1238 - "cors": "^2.8.5", 1239 - "cross-spawn": "^7.0.5", 1240 - "eventsource": "^3.0.2", 1241 - "express": "^5.0.1", 1242 - "express-rate-limit": "^7.5.0", 1243 - "pkce-challenge": "^5.0.0", 1244 - "raw-body": "^3.0.0", 1245 - "zod": "^3.23.8", 1246 - "zod-to-json-schema": "^3.24.1" 1247 - }, 1248 - "engines": { 1249 - "node": ">=18" 1250 - } 1251 - }, 1252 1236 "node_modules/@mui/core-downloads-tracker": { 1253 1237 "version": "7.1.0", 1254 1238 "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.0.tgz", ··· 2193 2177 } 2194 2178 }, 2195 2179 "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 2196 - "version": "2.0.1", 2197 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2198 - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2180 + "version": "2.0.2", 2181 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 2182 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 2199 2183 "dev": true, 2200 2184 "license": "MIT", 2201 2185 "dependencies": { ··· 2293 2277 "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" 2294 2278 } 2295 2279 }, 2296 - "node_modules/accepts": { 2297 - "version": "2.0.0", 2298 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", 2299 - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", 2300 - "dev": true, 2301 - "license": "MIT", 2302 - "dependencies": { 2303 - "mime-types": "^3.0.0", 2304 - "negotiator": "^1.0.0" 2305 - }, 2306 - "engines": { 2307 - "node": ">= 0.6" 2308 - } 2309 - }, 2310 2280 "node_modules/acorn": { 2311 - "version": "8.14.1", 2312 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", 2313 - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", 2281 + "version": "8.15.0", 2282 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 2283 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 2314 2284 "dev": true, 2315 2285 "license": "MIT", 2316 2286 "bin": { ··· 2398 2368 "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", 2399 2369 "license": "MIT" 2400 2370 }, 2401 - "node_modules/body-parser": { 2402 - "version": "2.2.0", 2403 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", 2404 - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", 2405 - "dev": true, 2406 - "license": "MIT", 2407 - "dependencies": { 2408 - "bytes": "^3.1.2", 2409 - "content-type": "^1.0.5", 2410 - "debug": "^4.4.0", 2411 - "http-errors": "^2.0.0", 2412 - "iconv-lite": "^0.6.3", 2413 - "on-finished": "^2.4.1", 2414 - "qs": "^6.14.0", 2415 - "raw-body": "^3.0.0", 2416 - "type-is": "^2.0.0" 2417 - }, 2418 - "engines": { 2419 - "node": ">=18" 2420 - } 2421 - }, 2422 2371 "node_modules/brace-expansion": { 2423 - "version": "1.1.11", 2424 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2425 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2372 + "version": "1.1.12", 2373 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 2374 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 2426 2375 "dev": true, 2427 2376 "license": "MIT", 2428 2377 "dependencies": { ··· 2476 2425 "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2477 2426 } 2478 2427 }, 2479 - "node_modules/bytes": { 2480 - "version": "3.1.2", 2481 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 2482 - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 2483 - "dev": true, 2484 - "license": "MIT", 2485 - "engines": { 2486 - "node": ">= 0.8" 2487 - } 2488 - }, 2489 - "node_modules/call-bind-apply-helpers": { 2490 - "version": "1.0.2", 2491 - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 2492 - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 2493 - "dev": true, 2494 - "license": "MIT", 2495 - "dependencies": { 2496 - "es-errors": "^1.3.0", 2497 - "function-bind": "^1.1.2" 2498 - }, 2499 - "engines": { 2500 - "node": ">= 0.4" 2501 - } 2502 - }, 2503 - "node_modules/call-bound": { 2504 - "version": "1.0.4", 2505 - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 2506 - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 2507 - "dev": true, 2508 - "license": "MIT", 2509 - "dependencies": { 2510 - "call-bind-apply-helpers": "^1.0.2", 2511 - "get-intrinsic": "^1.3.0" 2512 - }, 2513 - "engines": { 2514 - "node": ">= 0.4" 2515 - }, 2516 - "funding": { 2517 - "url": "https://github.com/sponsors/ljharb" 2518 - } 2519 - }, 2520 2428 "node_modules/callsites": { 2521 2429 "version": "3.1.0", 2522 2430 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", ··· 2600 2508 "dev": true, 2601 2509 "license": "MIT" 2602 2510 }, 2603 - "node_modules/content-disposition": { 2604 - "version": "1.0.0", 2605 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", 2606 - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", 2607 - "dev": true, 2608 - "license": "MIT", 2609 - "dependencies": { 2610 - "safe-buffer": "5.2.1" 2611 - }, 2612 - "engines": { 2613 - "node": ">= 0.6" 2614 - } 2615 - }, 2616 - "node_modules/content-type": { 2617 - "version": "1.0.5", 2618 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 2619 - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 2620 - "dev": true, 2621 - "license": "MIT", 2622 - "engines": { 2623 - "node": ">= 0.6" 2624 - } 2625 - }, 2626 2511 "node_modules/convert-source-map": { 2627 2512 "version": "2.0.0", 2628 2513 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", ··· 2630 2515 "dev": true, 2631 2516 "license": "MIT" 2632 2517 }, 2633 - "node_modules/cookie": { 2634 - "version": "0.7.2", 2635 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 2636 - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 2637 - "dev": true, 2638 - "license": "MIT", 2639 - "engines": { 2640 - "node": ">= 0.6" 2641 - } 2642 - }, 2643 - "node_modules/cookie-signature": { 2644 - "version": "1.2.2", 2645 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", 2646 - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", 2647 - "dev": true, 2648 - "license": "MIT", 2649 - "engines": { 2650 - "node": ">=6.6.0" 2651 - } 2652 - }, 2653 - "node_modules/cors": { 2654 - "version": "2.8.5", 2655 - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 2656 - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 2657 - "dev": true, 2658 - "license": "MIT", 2659 - "dependencies": { 2660 - "object-assign": "^4", 2661 - "vary": "^1" 2662 - }, 2663 - "engines": { 2664 - "node": ">= 0.10" 2665 - } 2666 - }, 2667 2518 "node_modules/cosmiconfig": { 2668 2519 "version": "7.1.0", 2669 2520 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", ··· 2867 2718 "robust-predicates": "^3.0.2" 2868 2719 } 2869 2720 }, 2870 - "node_modules/depd": { 2871 - "version": "2.0.0", 2872 - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 2873 - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 2874 - "dev": true, 2875 - "license": "MIT", 2876 - "engines": { 2877 - "node": ">= 0.8" 2878 - } 2879 - }, 2880 2721 "node_modules/dom-helpers": { 2881 2722 "version": "5.2.1", 2882 2723 "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", ··· 2887 2728 "csstype": "^3.0.2" 2888 2729 } 2889 2730 }, 2890 - "node_modules/dunder-proto": { 2891 - "version": "1.0.1", 2892 - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 2893 - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 2894 - "dev": true, 2895 - "license": "MIT", 2896 - "dependencies": { 2897 - "call-bind-apply-helpers": "^1.0.1", 2898 - "es-errors": "^1.3.0", 2899 - "gopd": "^1.2.0" 2900 - }, 2901 - "engines": { 2902 - "node": ">= 0.4" 2903 - } 2904 - }, 2905 - "node_modules/ee-first": { 2906 - "version": "1.1.1", 2907 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 2908 - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", 2909 - "dev": true, 2910 - "license": "MIT" 2911 - }, 2912 2731 "node_modules/electron-to-chromium": { 2913 2732 "version": "1.5.155", 2914 2733 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.155.tgz", 2915 2734 "integrity": "sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==", 2916 2735 "dev": true, 2917 2736 "license": "ISC" 2918 - }, 2919 - "node_modules/encodeurl": { 2920 - "version": "2.0.0", 2921 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", 2922 - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", 2923 - "dev": true, 2924 - "license": "MIT", 2925 - "engines": { 2926 - "node": ">= 0.8" 2927 - } 2928 2737 }, 2929 2738 "node_modules/error-ex": { 2930 2739 "version": "1.3.2", ··· 2935 2744 "is-arrayish": "^0.2.1" 2936 2745 } 2937 2746 }, 2938 - "node_modules/es-define-property": { 2939 - "version": "1.0.1", 2940 - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 2941 - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 2942 - "dev": true, 2943 - "license": "MIT", 2944 - "engines": { 2945 - "node": ">= 0.4" 2946 - } 2947 - }, 2948 - "node_modules/es-errors": { 2949 - "version": "1.3.0", 2950 - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2951 - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2952 - "dev": true, 2953 - "license": "MIT", 2954 - "engines": { 2955 - "node": ">= 0.4" 2956 - } 2957 - }, 2958 - "node_modules/es-object-atoms": { 2959 - "version": "1.1.1", 2960 - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 2961 - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 2962 - "dev": true, 2963 - "license": "MIT", 2964 - "dependencies": { 2965 - "es-errors": "^1.3.0" 2966 - }, 2967 - "engines": { 2968 - "node": ">= 0.4" 2969 - } 2970 - }, 2971 2747 "node_modules/esbuild": { 2972 2748 "version": "0.25.4", 2973 2749 "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", ··· 3019 2795 "node": ">=6" 3020 2796 } 3021 2797 }, 3022 - "node_modules/escape-html": { 3023 - "version": "1.0.3", 3024 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 3025 - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", 3026 - "dev": true, 3027 - "license": "MIT" 3028 - }, 3029 2798 "node_modules/escape-string-regexp": { 3030 2799 "version": "4.0.0", 3031 2800 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", ··· 3039 2808 } 3040 2809 }, 3041 2810 "node_modules/eslint": { 3042 - "version": "9.26.0", 3043 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", 3044 - "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", 2811 + "version": "9.39.2", 2812 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", 2813 + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", 3045 2814 "dev": true, 3046 2815 "license": "MIT", 3047 2816 "dependencies": { 3048 - "@eslint-community/eslint-utils": "^4.2.0", 2817 + "@eslint-community/eslint-utils": "^4.8.0", 3049 2818 "@eslint-community/regexpp": "^4.12.1", 3050 - "@eslint/config-array": "^0.20.0", 3051 - "@eslint/config-helpers": "^0.2.1", 3052 - "@eslint/core": "^0.13.0", 2819 + "@eslint/config-array": "^0.21.1", 2820 + "@eslint/config-helpers": "^0.4.2", 2821 + "@eslint/core": "^0.17.0", 3053 2822 "@eslint/eslintrc": "^3.3.1", 3054 - "@eslint/js": "9.26.0", 3055 - "@eslint/plugin-kit": "^0.2.8", 2823 + "@eslint/js": "9.39.2", 2824 + "@eslint/plugin-kit": "^0.4.1", 3056 2825 "@humanfs/node": "^0.16.6", 3057 2826 "@humanwhocodes/module-importer": "^1.0.1", 3058 2827 "@humanwhocodes/retry": "^0.4.2", 3059 - "@modelcontextprotocol/sdk": "^1.8.0", 3060 2828 "@types/estree": "^1.0.6", 3061 - "@types/json-schema": "^7.0.15", 3062 2829 "ajv": "^6.12.4", 3063 2830 "chalk": "^4.0.0", 3064 2831 "cross-spawn": "^7.0.6", 3065 2832 "debug": "^4.3.2", 3066 2833 "escape-string-regexp": "^4.0.0", 3067 - "eslint-scope": "^8.3.0", 3068 - "eslint-visitor-keys": "^4.2.0", 3069 - "espree": "^10.3.0", 2834 + "eslint-scope": "^8.4.0", 2835 + "eslint-visitor-keys": "^4.2.1", 2836 + "espree": "^10.4.0", 3070 2837 "esquery": "^1.5.0", 3071 2838 "esutils": "^2.0.2", 3072 2839 "fast-deep-equal": "^3.1.3", ··· 3080 2847 "lodash.merge": "^4.6.2", 3081 2848 "minimatch": "^3.1.2", 3082 2849 "natural-compare": "^1.4.0", 3083 - "optionator": "^0.9.3", 3084 - "zod": "^3.24.2" 2850 + "optionator": "^0.9.3" 3085 2851 }, 3086 2852 "bin": { 3087 2853 "eslint": "bin/eslint.js" ··· 3125 2891 } 3126 2892 }, 3127 2893 "node_modules/eslint-scope": { 3128 - "version": "8.3.0", 3129 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", 3130 - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", 2894 + "version": "8.4.0", 2895 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 2896 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 3131 2897 "dev": true, 3132 2898 "license": "BSD-2-Clause", 3133 2899 "dependencies": { ··· 3142 2908 } 3143 2909 }, 3144 2910 "node_modules/eslint-visitor-keys": { 3145 - "version": "4.2.0", 3146 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 3147 - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 2911 + "version": "4.2.1", 2912 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 2913 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 3148 2914 "dev": true, 3149 2915 "license": "Apache-2.0", 3150 2916 "engines": { ··· 3155 2921 } 3156 2922 }, 3157 2923 "node_modules/espree": { 3158 - "version": "10.3.0", 3159 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 3160 - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 2924 + "version": "10.4.0", 2925 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 2926 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 3161 2927 "dev": true, 3162 2928 "license": "BSD-2-Clause", 3163 2929 "dependencies": { 3164 - "acorn": "^8.14.0", 2930 + "acorn": "^8.15.0", 3165 2931 "acorn-jsx": "^5.3.2", 3166 - "eslint-visitor-keys": "^4.2.0" 2932 + "eslint-visitor-keys": "^4.2.1" 3167 2933 }, 3168 2934 "engines": { 3169 2935 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 3218 2984 "node": ">=0.10.0" 3219 2985 } 3220 2986 }, 3221 - "node_modules/etag": { 3222 - "version": "1.8.1", 3223 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 3224 - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 3225 - "dev": true, 3226 - "license": "MIT", 3227 - "engines": { 3228 - "node": ">= 0.6" 3229 - } 3230 - }, 3231 - "node_modules/eventsource": { 3232 - "version": "3.0.7", 3233 - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", 3234 - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", 3235 - "dev": true, 3236 - "license": "MIT", 3237 - "dependencies": { 3238 - "eventsource-parser": "^3.0.1" 3239 - }, 3240 - "engines": { 3241 - "node": ">=18.0.0" 3242 - } 3243 - }, 3244 - "node_modules/eventsource-parser": { 3245 - "version": "3.0.2", 3246 - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.2.tgz", 3247 - "integrity": "sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==", 3248 - "dev": true, 3249 - "license": "MIT", 3250 - "engines": { 3251 - "node": ">=18.0.0" 3252 - } 3253 - }, 3254 - "node_modules/express": { 3255 - "version": "5.1.0", 3256 - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", 3257 - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", 3258 - "dev": true, 3259 - "license": "MIT", 3260 - "dependencies": { 3261 - "accepts": "^2.0.0", 3262 - "body-parser": "^2.2.0", 3263 - "content-disposition": "^1.0.0", 3264 - "content-type": "^1.0.5", 3265 - "cookie": "^0.7.1", 3266 - "cookie-signature": "^1.2.1", 3267 - "debug": "^4.4.0", 3268 - "encodeurl": "^2.0.0", 3269 - "escape-html": "^1.0.3", 3270 - "etag": "^1.8.1", 3271 - "finalhandler": "^2.1.0", 3272 - "fresh": "^2.0.0", 3273 - "http-errors": "^2.0.0", 3274 - "merge-descriptors": "^2.0.0", 3275 - "mime-types": "^3.0.0", 3276 - "on-finished": "^2.4.1", 3277 - "once": "^1.4.0", 3278 - "parseurl": "^1.3.3", 3279 - "proxy-addr": "^2.0.7", 3280 - "qs": "^6.14.0", 3281 - "range-parser": "^1.2.1", 3282 - "router": "^2.2.0", 3283 - "send": "^1.1.0", 3284 - "serve-static": "^2.2.0", 3285 - "statuses": "^2.0.1", 3286 - "type-is": "^2.0.1", 3287 - "vary": "^1.1.2" 3288 - }, 3289 - "engines": { 3290 - "node": ">= 18" 3291 - }, 3292 - "funding": { 3293 - "type": "opencollective", 3294 - "url": "https://opencollective.com/express" 3295 - } 3296 - }, 3297 - "node_modules/express-rate-limit": { 3298 - "version": "7.5.0", 3299 - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", 3300 - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", 3301 - "dev": true, 3302 - "license": "MIT", 3303 - "engines": { 3304 - "node": ">= 16" 3305 - }, 3306 - "funding": { 3307 - "url": "https://github.com/sponsors/express-rate-limit" 3308 - }, 3309 - "peerDependencies": { 3310 - "express": "^4.11 || 5 || ^5.0.0-beta.1" 3311 - } 3312 - }, 3313 2987 "node_modules/fast-deep-equal": { 3314 2988 "version": "3.1.3", 3315 2989 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", ··· 3395 3069 }, 3396 3070 "engines": { 3397 3071 "node": ">=8" 3398 - } 3399 - }, 3400 - "node_modules/finalhandler": { 3401 - "version": "2.1.0", 3402 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", 3403 - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", 3404 - "dev": true, 3405 - "license": "MIT", 3406 - "dependencies": { 3407 - "debug": "^4.4.0", 3408 - "encodeurl": "^2.0.0", 3409 - "escape-html": "^1.0.3", 3410 - "on-finished": "^2.4.1", 3411 - "parseurl": "^1.3.3", 3412 - "statuses": "^2.0.1" 3413 - }, 3414 - "engines": { 3415 - "node": ">= 0.8" 3416 3072 } 3417 3073 }, 3418 3074 "node_modules/find-root": { ··· 3459 3115 "dev": true, 3460 3116 "license": "ISC" 3461 3117 }, 3462 - "node_modules/forwarded": { 3463 - "version": "0.2.0", 3464 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 3465 - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 3466 - "dev": true, 3467 - "license": "MIT", 3468 - "engines": { 3469 - "node": ">= 0.6" 3470 - } 3471 - }, 3472 - "node_modules/fresh": { 3473 - "version": "2.0.0", 3474 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", 3475 - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", 3476 - "dev": true, 3477 - "license": "MIT", 3478 - "engines": { 3479 - "node": ">= 0.8" 3480 - } 3481 - }, 3482 3118 "node_modules/fsevents": { 3483 3119 "version": "2.3.3", 3484 3120 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ··· 3513 3149 "node": ">=6.9.0" 3514 3150 } 3515 3151 }, 3516 - "node_modules/get-intrinsic": { 3517 - "version": "1.3.0", 3518 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 3519 - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 3520 - "dev": true, 3521 - "license": "MIT", 3522 - "dependencies": { 3523 - "call-bind-apply-helpers": "^1.0.2", 3524 - "es-define-property": "^1.0.1", 3525 - "es-errors": "^1.3.0", 3526 - "es-object-atoms": "^1.1.1", 3527 - "function-bind": "^1.1.2", 3528 - "get-proto": "^1.0.1", 3529 - "gopd": "^1.2.0", 3530 - "has-symbols": "^1.1.0", 3531 - "hasown": "^2.0.2", 3532 - "math-intrinsics": "^1.1.0" 3533 - }, 3534 - "engines": { 3535 - "node": ">= 0.4" 3536 - }, 3537 - "funding": { 3538 - "url": "https://github.com/sponsors/ljharb" 3539 - } 3540 - }, 3541 - "node_modules/get-proto": { 3542 - "version": "1.0.1", 3543 - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 3544 - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 3545 - "dev": true, 3546 - "license": "MIT", 3547 - "dependencies": { 3548 - "dunder-proto": "^1.0.1", 3549 - "es-object-atoms": "^1.0.0" 3550 - }, 3551 - "engines": { 3552 - "node": ">= 0.4" 3553 - } 3554 - }, 3555 3152 "node_modules/glob-parent": { 3556 3153 "version": "6.0.2", 3557 3154 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", ··· 3578 3175 "url": "https://github.com/sponsors/sindresorhus" 3579 3176 } 3580 3177 }, 3581 - "node_modules/gopd": { 3582 - "version": "1.2.0", 3583 - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 3584 - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 3585 - "dev": true, 3586 - "license": "MIT", 3587 - "engines": { 3588 - "node": ">= 0.4" 3589 - }, 3590 - "funding": { 3591 - "url": "https://github.com/sponsors/ljharb" 3592 - } 3593 - }, 3594 3178 "node_modules/graphemer": { 3595 3179 "version": "1.4.0", 3596 3180 "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", ··· 3608 3192 "node": ">=8" 3609 3193 } 3610 3194 }, 3611 - "node_modules/has-symbols": { 3612 - "version": "1.1.0", 3613 - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 3614 - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 3615 - "dev": true, 3616 - "license": "MIT", 3617 - "engines": { 3618 - "node": ">= 0.4" 3619 - }, 3620 - "funding": { 3621 - "url": "https://github.com/sponsors/ljharb" 3622 - } 3623 - }, 3624 3195 "node_modules/hasown": { 3625 3196 "version": "2.0.2", 3626 3197 "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ··· 3648 3219 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 3649 3220 "license": "MIT" 3650 3221 }, 3651 - "node_modules/http-errors": { 3652 - "version": "2.0.0", 3653 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 3654 - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 3655 - "dev": true, 3656 - "license": "MIT", 3657 - "dependencies": { 3658 - "depd": "2.0.0", 3659 - "inherits": "2.0.4", 3660 - "setprototypeof": "1.2.0", 3661 - "statuses": "2.0.1", 3662 - "toidentifier": "1.0.1" 3663 - }, 3664 - "engines": { 3665 - "node": ">= 0.8" 3666 - } 3667 - }, 3668 - "node_modules/iconv-lite": { 3669 - "version": "0.6.3", 3670 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3671 - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3672 - "dev": true, 3673 - "license": "MIT", 3674 - "dependencies": { 3675 - "safer-buffer": ">= 2.1.2 < 3.0.0" 3676 - }, 3677 - "engines": { 3678 - "node": ">=0.10.0" 3679 - } 3680 - }, 3681 3222 "node_modules/ignore": { 3682 3223 "version": "5.3.2", 3683 3224 "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", ··· 3714 3255 "node": ">=0.8.19" 3715 3256 } 3716 3257 }, 3717 - "node_modules/inherits": { 3718 - "version": "2.0.4", 3719 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3720 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3721 - "dev": true, 3722 - "license": "ISC" 3723 - }, 3724 3258 "node_modules/internmap": { 3725 3259 "version": "2.0.3", 3726 3260 "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", ··· 3728 3262 "license": "ISC", 3729 3263 "engines": { 3730 3264 "node": ">=12" 3731 - } 3732 - }, 3733 - "node_modules/ipaddr.js": { 3734 - "version": "1.9.1", 3735 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 3736 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 3737 - "dev": true, 3738 - "license": "MIT", 3739 - "engines": { 3740 - "node": ">= 0.10" 3741 3265 } 3742 3266 }, 3743 3267 "node_modules/is-arrayish": { ··· 3794 3318 "node": ">=0.12.0" 3795 3319 } 3796 3320 }, 3797 - "node_modules/is-promise": { 3798 - "version": "4.0.0", 3799 - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", 3800 - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", 3801 - "dev": true, 3802 - "license": "MIT" 3803 - }, 3804 3321 "node_modules/isexe": { 3805 3322 "version": "2.0.0", 3806 3323 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ··· 3815 3332 "license": "MIT" 3816 3333 }, 3817 3334 "node_modules/js-yaml": { 3818 - "version": "4.1.0", 3819 - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3820 - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3335 + "version": "4.1.1", 3336 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", 3337 + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", 3821 3338 "dev": true, 3822 3339 "license": "MIT", 3823 3340 "dependencies": { ··· 3954 3471 "yallist": "^3.0.2" 3955 3472 } 3956 3473 }, 3957 - "node_modules/math-intrinsics": { 3958 - "version": "1.1.0", 3959 - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 3960 - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 3961 - "dev": true, 3962 - "license": "MIT", 3963 - "engines": { 3964 - "node": ">= 0.4" 3965 - } 3966 - }, 3967 - "node_modules/media-typer": { 3968 - "version": "1.1.0", 3969 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", 3970 - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", 3971 - "dev": true, 3972 - "license": "MIT", 3973 - "engines": { 3974 - "node": ">= 0.8" 3975 - } 3976 - }, 3977 - "node_modules/merge-descriptors": { 3978 - "version": "2.0.0", 3979 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", 3980 - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", 3981 - "dev": true, 3982 - "license": "MIT", 3983 - "engines": { 3984 - "node": ">=18" 3985 - }, 3986 - "funding": { 3987 - "url": "https://github.com/sponsors/sindresorhus" 3988 - } 3989 - }, 3990 3474 "node_modules/merge2": { 3991 3475 "version": "1.4.1", 3992 3476 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ··· 4009 3493 }, 4010 3494 "engines": { 4011 3495 "node": ">=8.6" 4012 - } 4013 - }, 4014 - "node_modules/mime-db": { 4015 - "version": "1.54.0", 4016 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", 4017 - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", 4018 - "dev": true, 4019 - "license": "MIT", 4020 - "engines": { 4021 - "node": ">= 0.6" 4022 - } 4023 - }, 4024 - "node_modules/mime-types": { 4025 - "version": "3.0.1", 4026 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", 4027 - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", 4028 - "dev": true, 4029 - "license": "MIT", 4030 - "dependencies": { 4031 - "mime-db": "^1.54.0" 4032 - }, 4033 - "engines": { 4034 - "node": ">= 0.6" 4035 3496 } 4036 3497 }, 4037 3498 "node_modules/minimatch": { ··· 4088 3549 "dev": true, 4089 3550 "license": "MIT" 4090 3551 }, 4091 - "node_modules/negotiator": { 4092 - "version": "1.0.0", 4093 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", 4094 - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", 4095 - "dev": true, 4096 - "license": "MIT", 4097 - "engines": { 4098 - "node": ">= 0.6" 4099 - } 4100 - }, 4101 3552 "node_modules/node-releases": { 4102 3553 "version": "2.0.19", 4103 3554 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", ··· 4114 3565 "node": ">=0.10.0" 4115 3566 } 4116 3567 }, 4117 - "node_modules/object-inspect": { 4118 - "version": "1.13.4", 4119 - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 4120 - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 4121 - "dev": true, 4122 - "license": "MIT", 4123 - "engines": { 4124 - "node": ">= 0.4" 4125 - }, 4126 - "funding": { 4127 - "url": "https://github.com/sponsors/ljharb" 4128 - } 4129 - }, 4130 - "node_modules/on-finished": { 4131 - "version": "2.4.1", 4132 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 4133 - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 4134 - "dev": true, 4135 - "license": "MIT", 4136 - "dependencies": { 4137 - "ee-first": "1.1.1" 4138 - }, 4139 - "engines": { 4140 - "node": ">= 0.8" 4141 - } 4142 - }, 4143 - "node_modules/once": { 4144 - "version": "1.4.0", 4145 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4146 - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 4147 - "dev": true, 4148 - "license": "ISC", 4149 - "dependencies": { 4150 - "wrappy": "1" 4151 - } 4152 - }, 4153 3568 "node_modules/optionator": { 4154 3569 "version": "0.9.4", 4155 3570 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", ··· 4230 3645 "url": "https://github.com/sponsors/sindresorhus" 4231 3646 } 4232 3647 }, 4233 - "node_modules/parseurl": { 4234 - "version": "1.3.3", 4235 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 4236 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 4237 - "dev": true, 4238 - "license": "MIT", 4239 - "engines": { 4240 - "node": ">= 0.8" 4241 - } 4242 - }, 4243 3648 "node_modules/path-exists": { 4244 3649 "version": "4.0.0", 4245 3650 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ··· 4266 3671 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4267 3672 "license": "MIT" 4268 3673 }, 4269 - "node_modules/path-to-regexp": { 4270 - "version": "8.2.0", 4271 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", 4272 - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", 4273 - "dev": true, 4274 - "license": "MIT", 4275 - "engines": { 4276 - "node": ">=16" 4277 - } 4278 - }, 4279 3674 "node_modules/path-type": { 4280 3675 "version": "4.0.0", 4281 3676 "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", ··· 4304 3699 "url": "https://github.com/sponsors/jonschlinkert" 4305 3700 } 4306 3701 }, 4307 - "node_modules/pkce-challenge": { 4308 - "version": "5.0.0", 4309 - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", 4310 - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", 4311 - "dev": true, 4312 - "license": "MIT", 4313 - "engines": { 4314 - "node": ">=16.20.0" 4315 - } 4316 - }, 4317 3702 "node_modules/postcss": { 4318 3703 "version": "8.5.3", 4319 3704 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", ··· 4370 3755 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 4371 3756 "license": "MIT" 4372 3757 }, 4373 - "node_modules/proxy-addr": { 4374 - "version": "2.0.7", 4375 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 4376 - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 4377 - "dev": true, 4378 - "license": "MIT", 4379 - "dependencies": { 4380 - "forwarded": "0.2.0", 4381 - "ipaddr.js": "1.9.1" 4382 - }, 4383 - "engines": { 4384 - "node": ">= 0.10" 4385 - } 4386 - }, 4387 3758 "node_modules/punycode": { 4388 3759 "version": "2.3.1", 4389 3760 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", ··· 4394 3765 "node": ">=6" 4395 3766 } 4396 3767 }, 4397 - "node_modules/qs": { 4398 - "version": "6.14.0", 4399 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", 4400 - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", 4401 - "dev": true, 4402 - "license": "BSD-3-Clause", 4403 - "dependencies": { 4404 - "side-channel": "^1.1.0" 4405 - }, 4406 - "engines": { 4407 - "node": ">=0.6" 4408 - }, 4409 - "funding": { 4410 - "url": "https://github.com/sponsors/ljharb" 4411 - } 4412 - }, 4413 3768 "node_modules/queue-microtask": { 4414 3769 "version": "1.2.3", 4415 3770 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", ··· 4430 3785 } 4431 3786 ], 4432 3787 "license": "MIT" 4433 - }, 4434 - "node_modules/range-parser": { 4435 - "version": "1.2.1", 4436 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 4437 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 4438 - "dev": true, 4439 - "license": "MIT", 4440 - "engines": { 4441 - "node": ">= 0.6" 4442 - } 4443 - }, 4444 - "node_modules/raw-body": { 4445 - "version": "3.0.0", 4446 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", 4447 - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", 4448 - "dev": true, 4449 - "license": "MIT", 4450 - "dependencies": { 4451 - "bytes": "3.1.2", 4452 - "http-errors": "2.0.0", 4453 - "iconv-lite": "0.6.3", 4454 - "unpipe": "1.0.0" 4455 - }, 4456 - "engines": { 4457 - "node": ">= 0.8" 4458 - } 4459 3788 }, 4460 3789 "node_modules/react": { 4461 3790 "version": "19.1.0", ··· 4602 3931 "fsevents": "~2.3.2" 4603 3932 } 4604 3933 }, 4605 - "node_modules/router": { 4606 - "version": "2.2.0", 4607 - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", 4608 - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", 4609 - "dev": true, 4610 - "license": "MIT", 4611 - "dependencies": { 4612 - "debug": "^4.4.0", 4613 - "depd": "^2.0.0", 4614 - "is-promise": "^4.0.0", 4615 - "parseurl": "^1.3.3", 4616 - "path-to-regexp": "^8.0.0" 4617 - }, 4618 - "engines": { 4619 - "node": ">= 18" 4620 - } 4621 - }, 4622 3934 "node_modules/run-parallel": { 4623 3935 "version": "1.2.0", 4624 3936 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", ··· 4643 3955 "queue-microtask": "^1.2.2" 4644 3956 } 4645 3957 }, 4646 - "node_modules/safe-buffer": { 4647 - "version": "5.2.1", 4648 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 4649 - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 4650 - "dev": true, 4651 - "funding": [ 4652 - { 4653 - "type": "github", 4654 - "url": "https://github.com/sponsors/feross" 4655 - }, 4656 - { 4657 - "type": "patreon", 4658 - "url": "https://www.patreon.com/feross" 4659 - }, 4660 - { 4661 - "type": "consulting", 4662 - "url": "https://feross.org/support" 4663 - } 4664 - ], 4665 - "license": "MIT" 4666 - }, 4667 - "node_modules/safer-buffer": { 4668 - "version": "2.1.2", 4669 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4670 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4671 - "dev": true, 4672 - "license": "MIT" 4673 - }, 4674 3958 "node_modules/scheduler": { 4675 3959 "version": "0.26.0", 4676 3960 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", ··· 4687 3971 "semver": "bin/semver.js" 4688 3972 } 4689 3973 }, 4690 - "node_modules/send": { 4691 - "version": "1.2.0", 4692 - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", 4693 - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", 4694 - "dev": true, 4695 - "license": "MIT", 4696 - "dependencies": { 4697 - "debug": "^4.3.5", 4698 - "encodeurl": "^2.0.0", 4699 - "escape-html": "^1.0.3", 4700 - "etag": "^1.8.1", 4701 - "fresh": "^2.0.0", 4702 - "http-errors": "^2.0.0", 4703 - "mime-types": "^3.0.1", 4704 - "ms": "^2.1.3", 4705 - "on-finished": "^2.4.1", 4706 - "range-parser": "^1.2.1", 4707 - "statuses": "^2.0.1" 4708 - }, 4709 - "engines": { 4710 - "node": ">= 18" 4711 - } 4712 - }, 4713 - "node_modules/serve-static": { 4714 - "version": "2.2.0", 4715 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", 4716 - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", 4717 - "dev": true, 4718 - "license": "MIT", 4719 - "dependencies": { 4720 - "encodeurl": "^2.0.0", 4721 - "escape-html": "^1.0.3", 4722 - "parseurl": "^1.3.3", 4723 - "send": "^1.2.0" 4724 - }, 4725 - "engines": { 4726 - "node": ">= 18" 4727 - } 4728 - }, 4729 - "node_modules/setprototypeof": { 4730 - "version": "1.2.0", 4731 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 4732 - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 4733 - "dev": true, 4734 - "license": "ISC" 4735 - }, 4736 3974 "node_modules/shebang-command": { 4737 3975 "version": "2.0.0", 4738 3976 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ··· 4756 3994 "node": ">=8" 4757 3995 } 4758 3996 }, 4759 - "node_modules/side-channel": { 4760 - "version": "1.1.0", 4761 - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 4762 - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 4763 - "dev": true, 4764 - "license": "MIT", 4765 - "dependencies": { 4766 - "es-errors": "^1.3.0", 4767 - "object-inspect": "^1.13.3", 4768 - "side-channel-list": "^1.0.0", 4769 - "side-channel-map": "^1.0.1", 4770 - "side-channel-weakmap": "^1.0.2" 4771 - }, 4772 - "engines": { 4773 - "node": ">= 0.4" 4774 - }, 4775 - "funding": { 4776 - "url": "https://github.com/sponsors/ljharb" 4777 - } 4778 - }, 4779 - "node_modules/side-channel-list": { 4780 - "version": "1.0.0", 4781 - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 4782 - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 4783 - "dev": true, 4784 - "license": "MIT", 4785 - "dependencies": { 4786 - "es-errors": "^1.3.0", 4787 - "object-inspect": "^1.13.3" 4788 - }, 4789 - "engines": { 4790 - "node": ">= 0.4" 4791 - }, 4792 - "funding": { 4793 - "url": "https://github.com/sponsors/ljharb" 4794 - } 4795 - }, 4796 - "node_modules/side-channel-map": { 4797 - "version": "1.0.1", 4798 - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 4799 - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 4800 - "dev": true, 4801 - "license": "MIT", 4802 - "dependencies": { 4803 - "call-bound": "^1.0.2", 4804 - "es-errors": "^1.3.0", 4805 - "get-intrinsic": "^1.2.5", 4806 - "object-inspect": "^1.13.3" 4807 - }, 4808 - "engines": { 4809 - "node": ">= 0.4" 4810 - }, 4811 - "funding": { 4812 - "url": "https://github.com/sponsors/ljharb" 4813 - } 4814 - }, 4815 - "node_modules/side-channel-weakmap": { 4816 - "version": "1.0.2", 4817 - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 4818 - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 4819 - "dev": true, 4820 - "license": "MIT", 4821 - "dependencies": { 4822 - "call-bound": "^1.0.2", 4823 - "es-errors": "^1.3.0", 4824 - "get-intrinsic": "^1.2.5", 4825 - "object-inspect": "^1.13.3", 4826 - "side-channel-map": "^1.0.1" 4827 - }, 4828 - "engines": { 4829 - "node": ">= 0.4" 4830 - }, 4831 - "funding": { 4832 - "url": "https://github.com/sponsors/ljharb" 4833 - } 4834 - }, 4835 3997 "node_modules/source-map": { 4836 3998 "version": "0.5.7", 4837 3999 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ··· 4851 4013 "node": ">=0.10.0" 4852 4014 } 4853 4015 }, 4854 - "node_modules/statuses": { 4855 - "version": "2.0.1", 4856 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 4857 - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 4858 - "dev": true, 4859 - "license": "MIT", 4860 - "engines": { 4861 - "node": ">= 0.8" 4862 - } 4863 - }, 4864 4016 "node_modules/strip-json-comments": { 4865 4017 "version": "3.1.1", 4866 4018 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", ··· 4963 4115 "node": ">=8.0" 4964 4116 } 4965 4117 }, 4966 - "node_modules/toidentifier": { 4967 - "version": "1.0.1", 4968 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 4969 - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 4970 - "dev": true, 4971 - "license": "MIT", 4972 - "engines": { 4973 - "node": ">=0.6" 4974 - } 4975 - }, 4976 4118 "node_modules/ts-api-utils": { 4977 4119 "version": "2.1.0", 4978 4120 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", ··· 4999 4141 "node": ">= 0.8.0" 5000 4142 } 5001 4143 }, 5002 - "node_modules/type-is": { 5003 - "version": "2.0.1", 5004 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", 5005 - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", 5006 - "dev": true, 5007 - "license": "MIT", 5008 - "dependencies": { 5009 - "content-type": "^1.0.5", 5010 - "media-typer": "^1.1.0", 5011 - "mime-types": "^3.0.0" 5012 - }, 5013 - "engines": { 5014 - "node": ">= 0.6" 5015 - } 5016 - }, 5017 4144 "node_modules/typescript": { 5018 4145 "version": "5.8.3", 5019 4146 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", ··· 5051 4178 "typescript": ">=4.8.4 <5.9.0" 5052 4179 } 5053 4180 }, 5054 - "node_modules/unpipe": { 5055 - "version": "1.0.0", 5056 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 5057 - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 5058 - "dev": true, 5059 - "license": "MIT", 5060 - "engines": { 5061 - "node": ">= 0.8" 5062 - } 5063 - }, 5064 4181 "node_modules/update-browserslist-db": { 5065 4182 "version": "1.1.3", 5066 4183 "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", ··· 5111 4228 "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 5112 4229 } 5113 4230 }, 5114 - "node_modules/vary": { 5115 - "version": "1.1.2", 5116 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 5117 - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 5118 - "dev": true, 5119 - "license": "MIT", 5120 - "engines": { 5121 - "node": ">= 0.8" 5122 - } 5123 - }, 5124 4231 "node_modules/vite": { 5125 - "version": "6.3.6", 5126 - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz", 5127 - "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", 4232 + "version": "6.4.1", 4233 + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", 4234 + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", 5128 4235 "dev": true, 5129 4236 "license": "MIT", 5130 4237 "dependencies": { ··· 5250 4357 "node": ">=0.10.0" 5251 4358 } 5252 4359 }, 5253 - "node_modules/wrappy": { 5254 - "version": "1.0.2", 5255 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 5256 - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 5257 - "dev": true, 5258 - "license": "ISC" 5259 - }, 5260 4360 "node_modules/yallist": { 5261 4361 "version": "3.1.1", 5262 4362 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", ··· 5264 4364 "dev": true, 5265 4365 "license": "ISC" 5266 4366 }, 5267 - "node_modules/yaml": { 5268 - "version": "2.8.0", 5269 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", 5270 - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", 5271 - "dev": true, 5272 - "license": "ISC", 5273 - "optional": true, 5274 - "peer": true, 5275 - "bin": { 5276 - "yaml": "bin.mjs" 5277 - }, 5278 - "engines": { 5279 - "node": ">= 14.6" 5280 - } 5281 - }, 5282 4367 "node_modules/yocto-queue": { 5283 4368 "version": "0.1.0", 5284 4369 "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", ··· 5290 4375 }, 5291 4376 "funding": { 5292 4377 "url": "https://github.com/sponsors/sindresorhus" 5293 - } 5294 - }, 5295 - "node_modules/zod": { 5296 - "version": "3.24.4", 5297 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", 5298 - "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", 5299 - "dev": true, 5300 - "license": "MIT", 5301 - "funding": { 5302 - "url": "https://github.com/sponsors/colinhacks" 5303 - } 5304 - }, 5305 - "node_modules/zod-to-json-schema": { 5306 - "version": "3.24.5", 5307 - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", 5308 - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", 5309 - "dev": true, 5310 - "license": "ISC", 5311 - "peerDependencies": { 5312 - "zod": "^3.24.1" 5313 4378 } 5314 4379 } 5315 4380 }
+1 -1
package.json
··· 31 31 "globals": "^16.0.0", 32 32 "typescript": "~5.8.3", 33 33 "typescript-eslint": "^8.30.1", 34 - "vite": "^6.3.6" 34 + "vite": "^6.4.1" 35 35 } 36 36 }
+2
src/deactivated/CheckFollowers.tsx
··· 9 9 'wss://relay.xero.systems', 10 10 'wss://relay1.us-east.bsky.network', 11 11 'wss://relay1.us-west.bsky.network', 12 + 'wss://relay.fire.hose.cam', 13 + 'wss://relay3.fr.hose.cam', 12 14 13 15 // these relays are ineligible for other reasons: 14 16 // 'wss://atproto.africa', // rsky-relay does not implement getRepoStatus (and doesn't have this bug)
+22 -5
src/deactivated/throttle.ts
··· 4 4 let timer = null; 5 5 let lastArgs = null; 6 6 7 + let throttleId = 0; 8 + 7 9 function throttled(...args) { 10 + // always make sure our callback args are fresh 8 11 lastArgs = args; 9 - if (timer === null) { 10 - timer = setTimeout(async () => { 11 - followUp(await callback(...lastArgs)); 12 - timer = null; 13 - }, minT); 12 + 13 + // early exit if we're waiting for the throttle still 14 + if (timer !== null) { 15 + return; 14 16 } 17 + 18 + // otherwise we're starting a timer. make sure we know who we are. 19 + let myThrottle = ++throttleId; 20 + // we immediately get a new timer id 21 + timer = setTimeout(async () => { 22 + // make sure we synchronously clear this so next throttle isn't lost 23 + timer = null; 24 + // *then* we can start the actual callback 25 + let res = await callback(...lastArgs); 26 + // but since we awaited the callback, it's now possible to be stale, so check 27 + if (myThrottle === throttleId) { 28 + followUp(res); 29 + } 30 + }, minT); 31 + 15 32 } 16 33 return throttled; 17 34 }