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

Compare changes

Choose any two refs to compare.

Changed files
+84 -1168
src
deactivated
+62 -1163
package-lock.json
··· 134 134 "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", 135 135 "dev": true, 136 136 "license": "MIT", 137 - "peer": true, 138 137 "dependencies": { 139 138 "@ampproject/remapping": "^2.2.0", 140 139 "@babel/code-frame": "^7.27.1", ··· 450 449 "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", 451 450 "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", 452 451 "license": "MIT", 453 - "peer": true, 454 452 "dependencies": { 455 453 "@babel/runtime": "^7.18.3", 456 454 "@emotion/babel-plugin": "^11.13.5", ··· 494 492 "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", 495 493 "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", 496 494 "license": "MIT", 497 - "peer": true, 498 495 "dependencies": { 499 496 "@babel/runtime": "^7.18.3", 500 497 "@emotion/babel-plugin": "^11.13.5", ··· 966 963 } 967 964 }, 968 965 "node_modules/@eslint-community/eslint-utils": { 969 - "version": "4.7.0", 970 - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 971 - "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==", 972 969 "dev": true, 973 970 "license": "MIT", 974 971 "dependencies": { ··· 1008 1005 } 1009 1006 }, 1010 1007 "node_modules/@eslint/config-array": { 1011 - "version": "0.20.0", 1012 - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", 1013 - "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==", 1014 1011 "dev": true, 1015 1012 "license": "Apache-2.0", 1016 1013 "dependencies": { 1017 - "@eslint/object-schema": "^2.1.6", 1014 + "@eslint/object-schema": "^2.1.7", 1018 1015 "debug": "^4.3.1", 1019 1016 "minimatch": "^3.1.2" 1020 1017 }, ··· 1023 1020 } 1024 1021 }, 1025 1022 "node_modules/@eslint/config-helpers": { 1026 - "version": "0.2.2", 1027 - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", 1028 - "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==", 1029 1026 "dev": true, 1030 1027 "license": "Apache-2.0", 1028 + "dependencies": { 1029 + "@eslint/core": "^0.17.0" 1030 + }, 1031 1031 "engines": { 1032 1032 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1033 1033 } 1034 1034 }, 1035 1035 "node_modules/@eslint/core": { 1036 - "version": "0.13.0", 1037 - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", 1038 - "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==", 1039 1039 "dev": true, 1040 1040 "license": "Apache-2.0", 1041 1041 "dependencies": { ··· 1083 1083 } 1084 1084 }, 1085 1085 "node_modules/@eslint/js": { 1086 - "version": "9.26.0", 1087 - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", 1088 - "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==", 1089 1089 "dev": true, 1090 1090 "license": "MIT", 1091 1091 "engines": { 1092 1092 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1093 + }, 1094 + "funding": { 1095 + "url": "https://eslint.org/donate" 1093 1096 } 1094 1097 }, 1095 1098 "node_modules/@eslint/object-schema": { 1096 - "version": "2.1.6", 1097 - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 1098 - "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==", 1099 1102 "dev": true, 1100 1103 "license": "Apache-2.0", 1101 1104 "engines": { ··· 1103 1106 } 1104 1107 }, 1105 1108 "node_modules/@eslint/plugin-kit": { 1106 - "version": "0.2.8", 1107 - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", 1108 - "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==", 1109 1112 "dev": true, 1110 1113 "license": "Apache-2.0", 1111 1114 "dependencies": { 1112 - "@eslint/core": "^0.13.0", 1115 + "@eslint/core": "^0.17.0", 1113 1116 "levn": "^0.4.1" 1114 1117 }, 1115 1118 "engines": { 1116 1119 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1117 - } 1118 - }, 1119 - "node_modules/@hono/node-server": { 1120 - "version": "1.19.7", 1121 - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.7.tgz", 1122 - "integrity": "sha512-vUcD0uauS7EU2caukW8z5lJKtoGMokxNbJtBiwHgpqxEXokaHCBkQUmCHhjFB1VUTWdqj25QoMkMKzgjq+uhrw==", 1123 - "dev": true, 1124 - "license": "MIT", 1125 - "engines": { 1126 - "node": ">=18.14.1" 1127 - }, 1128 - "peerDependencies": { 1129 - "hono": "^4" 1130 1120 } 1131 1121 }, 1132 1122 "node_modules/@humanfs/core": { ··· 1243 1233 "@jridgewell/sourcemap-codec": "^1.4.14" 1244 1234 } 1245 1235 }, 1246 - "node_modules/@modelcontextprotocol/sdk": { 1247 - "version": "1.25.1", 1248 - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.1.tgz", 1249 - "integrity": "sha512-yO28oVFFC7EBoiKdAn+VqRm+plcfv4v0xp6osG/VsCB0NlPZWi87ajbCZZ8f/RvOFLEu7//rSRmuZZ7lMoe3gQ==", 1250 - "dev": true, 1251 - "license": "MIT", 1252 - "dependencies": { 1253 - "@hono/node-server": "^1.19.7", 1254 - "ajv": "^8.17.1", 1255 - "ajv-formats": "^3.0.1", 1256 - "content-type": "^1.0.5", 1257 - "cors": "^2.8.5", 1258 - "cross-spawn": "^7.0.5", 1259 - "eventsource": "^3.0.2", 1260 - "eventsource-parser": "^3.0.0", 1261 - "express": "^5.0.1", 1262 - "express-rate-limit": "^7.5.0", 1263 - "jose": "^6.1.1", 1264 - "json-schema-typed": "^8.0.2", 1265 - "pkce-challenge": "^5.0.0", 1266 - "raw-body": "^3.0.0", 1267 - "zod": "^3.25 || ^4.0", 1268 - "zod-to-json-schema": "^3.25.0" 1269 - }, 1270 - "engines": { 1271 - "node": ">=18" 1272 - }, 1273 - "peerDependencies": { 1274 - "@cfworker/json-schema": "^4.1.1", 1275 - "zod": "^3.25 || ^4.0" 1276 - }, 1277 - "peerDependenciesMeta": { 1278 - "@cfworker/json-schema": { 1279 - "optional": true 1280 - }, 1281 - "zod": { 1282 - "optional": false 1283 - } 1284 - } 1285 - }, 1286 - "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { 1287 - "version": "8.17.1", 1288 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 1289 - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 1290 - "dev": true, 1291 - "license": "MIT", 1292 - "dependencies": { 1293 - "fast-deep-equal": "^3.1.3", 1294 - "fast-uri": "^3.0.1", 1295 - "json-schema-traverse": "^1.0.0", 1296 - "require-from-string": "^2.0.2" 1297 - }, 1298 - "funding": { 1299 - "type": "github", 1300 - "url": "https://github.com/sponsors/epoberezkin" 1301 - } 1302 - }, 1303 - "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { 1304 - "version": "1.0.0", 1305 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1306 - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 1307 - "dev": true, 1308 - "license": "MIT" 1309 - }, 1310 - "node_modules/@modelcontextprotocol/sdk/node_modules/zod": { 1311 - "version": "4.2.1", 1312 - "resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz", 1313 - "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==", 1314 - "dev": true, 1315 - "license": "MIT", 1316 - "peer": true, 1317 - "funding": { 1318 - "url": "https://github.com/sponsors/colinhacks" 1319 - } 1320 - }, 1321 - "node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema": { 1322 - "version": "3.25.0", 1323 - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.0.tgz", 1324 - "integrity": "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==", 1325 - "dev": true, 1326 - "license": "ISC", 1327 - "peerDependencies": { 1328 - "zod": "^3.25 || ^4" 1329 - } 1330 - }, 1331 1236 "node_modules/@mui/core-downloads-tracker": { 1332 1237 "version": "7.1.0", 1333 1238 "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.0.tgz", ··· 1343 1248 "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.1.0.tgz", 1344 1249 "integrity": "sha512-ahUJdrhEv+mCp4XHW+tHIEYzZMSRLg8z4AjUOsj44QpD1ZaMxQoVOG2xiHvLFdcsIPbgSRx1bg1eQSheHBgvtg==", 1345 1250 "license": "MIT", 1346 - "peer": true, 1347 1251 "dependencies": { 1348 1252 "@babel/runtime": "^7.27.1", 1349 1253 "@mui/core-downloads-tracker": "^7.1.0", ··· 1454 1358 "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.1.0.tgz", 1455 1359 "integrity": "sha512-iedAWgRJMCxeMHvkEhsDlbvkK+qKf9me6ofsf7twk/jfT4P1ImVf7Rwb5VubEA0sikrVL+1SkoZM41M4+LNAVA==", 1456 1360 "license": "MIT", 1457 - "peer": true, 1458 1361 "dependencies": { 1459 1362 "@babel/runtime": "^7.27.1", 1460 1363 "@mui/private-theming": "^7.1.0", ··· 2102 2005 "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.4.tgz", 2103 2006 "integrity": "sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==", 2104 2007 "license": "MIT", 2105 - "peer": true, 2106 2008 "dependencies": { 2107 2009 "csstype": "^3.0.2" 2108 2010 } ··· 2172 2074 "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==", 2173 2075 "dev": true, 2174 2076 "license": "MIT", 2175 - "peer": true, 2176 2077 "dependencies": { 2177 2078 "@typescript-eslint/scope-manager": "8.32.1", 2178 2079 "@typescript-eslint/types": "8.32.1", ··· 2276 2177 } 2277 2178 }, 2278 2179 "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 2279 - "version": "2.0.1", 2280 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2281 - "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==", 2282 2183 "dev": true, 2283 2184 "license": "MIT", 2284 2185 "dependencies": { ··· 2376 2277 "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" 2377 2278 } 2378 2279 }, 2379 - "node_modules/accepts": { 2380 - "version": "2.0.0", 2381 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", 2382 - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", 2383 - "dev": true, 2384 - "license": "MIT", 2385 - "dependencies": { 2386 - "mime-types": "^3.0.0", 2387 - "negotiator": "^1.0.0" 2388 - }, 2389 - "engines": { 2390 - "node": ">= 0.6" 2391 - } 2392 - }, 2393 2280 "node_modules/acorn": { 2394 - "version": "8.14.1", 2395 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", 2396 - "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==", 2397 2284 "dev": true, 2398 2285 "license": "MIT", 2399 - "peer": true, 2400 2286 "bin": { 2401 2287 "acorn": "bin/acorn" 2402 2288 }, ··· 2431 2317 "url": "https://github.com/sponsors/epoberezkin" 2432 2318 } 2433 2319 }, 2434 - "node_modules/ajv-formats": { 2435 - "version": "3.0.1", 2436 - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", 2437 - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", 2438 - "dev": true, 2439 - "license": "MIT", 2440 - "dependencies": { 2441 - "ajv": "^8.0.0" 2442 - }, 2443 - "peerDependencies": { 2444 - "ajv": "^8.0.0" 2445 - }, 2446 - "peerDependenciesMeta": { 2447 - "ajv": { 2448 - "optional": true 2449 - } 2450 - } 2451 - }, 2452 - "node_modules/ajv-formats/node_modules/ajv": { 2453 - "version": "8.17.1", 2454 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 2455 - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 2456 - "dev": true, 2457 - "license": "MIT", 2458 - "dependencies": { 2459 - "fast-deep-equal": "^3.1.3", 2460 - "fast-uri": "^3.0.1", 2461 - "json-schema-traverse": "^1.0.0", 2462 - "require-from-string": "^2.0.2" 2463 - }, 2464 - "funding": { 2465 - "type": "github", 2466 - "url": "https://github.com/sponsors/epoberezkin" 2467 - } 2468 - }, 2469 - "node_modules/ajv-formats/node_modules/json-schema-traverse": { 2470 - "version": "1.0.0", 2471 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 2472 - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 2473 - "dev": true, 2474 - "license": "MIT" 2475 - }, 2476 2320 "node_modules/ansi-styles": { 2477 2321 "version": "4.3.0", 2478 2322 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ··· 2524 2368 "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", 2525 2369 "license": "MIT" 2526 2370 }, 2527 - "node_modules/body-parser": { 2528 - "version": "2.2.0", 2529 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", 2530 - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", 2531 - "dev": true, 2532 - "license": "MIT", 2533 - "dependencies": { 2534 - "bytes": "^3.1.2", 2535 - "content-type": "^1.0.5", 2536 - "debug": "^4.4.0", 2537 - "http-errors": "^2.0.0", 2538 - "iconv-lite": "^0.6.3", 2539 - "on-finished": "^2.4.1", 2540 - "qs": "^6.14.0", 2541 - "raw-body": "^3.0.0", 2542 - "type-is": "^2.0.0" 2543 - }, 2544 - "engines": { 2545 - "node": ">=18" 2546 - } 2547 - }, 2548 2371 "node_modules/brace-expansion": { 2549 - "version": "1.1.11", 2550 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2551 - "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==", 2552 2375 "dev": true, 2553 2376 "license": "MIT", 2554 2377 "dependencies": { ··· 2589 2412 } 2590 2413 ], 2591 2414 "license": "MIT", 2592 - "peer": true, 2593 2415 "dependencies": { 2594 2416 "caniuse-lite": "^1.0.30001716", 2595 2417 "electron-to-chromium": "^1.5.149", ··· 2603 2425 "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2604 2426 } 2605 2427 }, 2606 - "node_modules/bytes": { 2607 - "version": "3.1.2", 2608 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 2609 - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 2610 - "dev": true, 2611 - "license": "MIT", 2612 - "engines": { 2613 - "node": ">= 0.8" 2614 - } 2615 - }, 2616 - "node_modules/call-bind-apply-helpers": { 2617 - "version": "1.0.2", 2618 - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 2619 - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 2620 - "dev": true, 2621 - "license": "MIT", 2622 - "dependencies": { 2623 - "es-errors": "^1.3.0", 2624 - "function-bind": "^1.1.2" 2625 - }, 2626 - "engines": { 2627 - "node": ">= 0.4" 2628 - } 2629 - }, 2630 - "node_modules/call-bound": { 2631 - "version": "1.0.4", 2632 - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 2633 - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 2634 - "dev": true, 2635 - "license": "MIT", 2636 - "dependencies": { 2637 - "call-bind-apply-helpers": "^1.0.2", 2638 - "get-intrinsic": "^1.3.0" 2639 - }, 2640 - "engines": { 2641 - "node": ">= 0.4" 2642 - }, 2643 - "funding": { 2644 - "url": "https://github.com/sponsors/ljharb" 2645 - } 2646 - }, 2647 2428 "node_modules/callsites": { 2648 2429 "version": "3.1.0", 2649 2430 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", ··· 2727 2508 "dev": true, 2728 2509 "license": "MIT" 2729 2510 }, 2730 - "node_modules/content-disposition": { 2731 - "version": "1.0.0", 2732 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", 2733 - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", 2734 - "dev": true, 2735 - "license": "MIT", 2736 - "dependencies": { 2737 - "safe-buffer": "5.2.1" 2738 - }, 2739 - "engines": { 2740 - "node": ">= 0.6" 2741 - } 2742 - }, 2743 - "node_modules/content-type": { 2744 - "version": "1.0.5", 2745 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 2746 - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 2747 - "dev": true, 2748 - "license": "MIT", 2749 - "engines": { 2750 - "node": ">= 0.6" 2751 - } 2752 - }, 2753 2511 "node_modules/convert-source-map": { 2754 2512 "version": "2.0.0", 2755 2513 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 2756 2514 "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 2757 2515 "dev": true, 2758 2516 "license": "MIT" 2759 - }, 2760 - "node_modules/cookie": { 2761 - "version": "0.7.2", 2762 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 2763 - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 2764 - "dev": true, 2765 - "license": "MIT", 2766 - "engines": { 2767 - "node": ">= 0.6" 2768 - } 2769 - }, 2770 - "node_modules/cookie-signature": { 2771 - "version": "1.2.2", 2772 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", 2773 - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", 2774 - "dev": true, 2775 - "license": "MIT", 2776 - "engines": { 2777 - "node": ">=6.6.0" 2778 - } 2779 - }, 2780 - "node_modules/cors": { 2781 - "version": "2.8.5", 2782 - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 2783 - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 2784 - "dev": true, 2785 - "license": "MIT", 2786 - "dependencies": { 2787 - "object-assign": "^4", 2788 - "vary": "^1" 2789 - }, 2790 - "engines": { 2791 - "node": ">= 0.10" 2792 - } 2793 2517 }, 2794 2518 "node_modules/cosmiconfig": { 2795 2519 "version": "7.1.0", ··· 2994 2718 "robust-predicates": "^3.0.2" 2995 2719 } 2996 2720 }, 2997 - "node_modules/depd": { 2998 - "version": "2.0.0", 2999 - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 3000 - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 3001 - "dev": true, 3002 - "license": "MIT", 3003 - "engines": { 3004 - "node": ">= 0.8" 3005 - } 3006 - }, 3007 2721 "node_modules/dom-helpers": { 3008 2722 "version": "5.2.1", 3009 2723 "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", ··· 3013 2727 "@babel/runtime": "^7.8.7", 3014 2728 "csstype": "^3.0.2" 3015 2729 } 3016 - }, 3017 - "node_modules/dunder-proto": { 3018 - "version": "1.0.1", 3019 - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 3020 - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 3021 - "dev": true, 3022 - "license": "MIT", 3023 - "dependencies": { 3024 - "call-bind-apply-helpers": "^1.0.1", 3025 - "es-errors": "^1.3.0", 3026 - "gopd": "^1.2.0" 3027 - }, 3028 - "engines": { 3029 - "node": ">= 0.4" 3030 - } 3031 - }, 3032 - "node_modules/ee-first": { 3033 - "version": "1.1.1", 3034 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 3035 - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", 3036 - "dev": true, 3037 - "license": "MIT" 3038 2730 }, 3039 2731 "node_modules/electron-to-chromium": { 3040 2732 "version": "1.5.155", ··· 3043 2735 "dev": true, 3044 2736 "license": "ISC" 3045 2737 }, 3046 - "node_modules/encodeurl": { 3047 - "version": "2.0.0", 3048 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", 3049 - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", 3050 - "dev": true, 3051 - "license": "MIT", 3052 - "engines": { 3053 - "node": ">= 0.8" 3054 - } 3055 - }, 3056 2738 "node_modules/error-ex": { 3057 2739 "version": "1.3.2", 3058 2740 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", ··· 3062 2744 "is-arrayish": "^0.2.1" 3063 2745 } 3064 2746 }, 3065 - "node_modules/es-define-property": { 3066 - "version": "1.0.1", 3067 - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 3068 - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 3069 - "dev": true, 3070 - "license": "MIT", 3071 - "engines": { 3072 - "node": ">= 0.4" 3073 - } 3074 - }, 3075 - "node_modules/es-errors": { 3076 - "version": "1.3.0", 3077 - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 3078 - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 3079 - "dev": true, 3080 - "license": "MIT", 3081 - "engines": { 3082 - "node": ">= 0.4" 3083 - } 3084 - }, 3085 - "node_modules/es-object-atoms": { 3086 - "version": "1.1.1", 3087 - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 3088 - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 3089 - "dev": true, 3090 - "license": "MIT", 3091 - "dependencies": { 3092 - "es-errors": "^1.3.0" 3093 - }, 3094 - "engines": { 3095 - "node": ">= 0.4" 3096 - } 3097 - }, 3098 2747 "node_modules/esbuild": { 3099 2748 "version": "0.25.4", 3100 2749 "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", ··· 3146 2795 "node": ">=6" 3147 2796 } 3148 2797 }, 3149 - "node_modules/escape-html": { 3150 - "version": "1.0.3", 3151 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 3152 - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", 3153 - "dev": true, 3154 - "license": "MIT" 3155 - }, 3156 2798 "node_modules/escape-string-regexp": { 3157 2799 "version": "4.0.0", 3158 2800 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", ··· 3166 2808 } 3167 2809 }, 3168 2810 "node_modules/eslint": { 3169 - "version": "9.26.0", 3170 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", 3171 - "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==", 3172 2814 "dev": true, 3173 2815 "license": "MIT", 3174 - "peer": true, 3175 2816 "dependencies": { 3176 - "@eslint-community/eslint-utils": "^4.2.0", 2817 + "@eslint-community/eslint-utils": "^4.8.0", 3177 2818 "@eslint-community/regexpp": "^4.12.1", 3178 - "@eslint/config-array": "^0.20.0", 3179 - "@eslint/config-helpers": "^0.2.1", 3180 - "@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", 3181 2822 "@eslint/eslintrc": "^3.3.1", 3182 - "@eslint/js": "9.26.0", 3183 - "@eslint/plugin-kit": "^0.2.8", 2823 + "@eslint/js": "9.39.2", 2824 + "@eslint/plugin-kit": "^0.4.1", 3184 2825 "@humanfs/node": "^0.16.6", 3185 2826 "@humanwhocodes/module-importer": "^1.0.1", 3186 2827 "@humanwhocodes/retry": "^0.4.2", 3187 - "@modelcontextprotocol/sdk": "^1.8.0", 3188 2828 "@types/estree": "^1.0.6", 3189 - "@types/json-schema": "^7.0.15", 3190 2829 "ajv": "^6.12.4", 3191 2830 "chalk": "^4.0.0", 3192 2831 "cross-spawn": "^7.0.6", 3193 2832 "debug": "^4.3.2", 3194 2833 "escape-string-regexp": "^4.0.0", 3195 - "eslint-scope": "^8.3.0", 3196 - "eslint-visitor-keys": "^4.2.0", 3197 - "espree": "^10.3.0", 2834 + "eslint-scope": "^8.4.0", 2835 + "eslint-visitor-keys": "^4.2.1", 2836 + "espree": "^10.4.0", 3198 2837 "esquery": "^1.5.0", 3199 2838 "esutils": "^2.0.2", 3200 2839 "fast-deep-equal": "^3.1.3", ··· 3208 2847 "lodash.merge": "^4.6.2", 3209 2848 "minimatch": "^3.1.2", 3210 2849 "natural-compare": "^1.4.0", 3211 - "optionator": "^0.9.3", 3212 - "zod": "^3.24.2" 2850 + "optionator": "^0.9.3" 3213 2851 }, 3214 2852 "bin": { 3215 2853 "eslint": "bin/eslint.js" ··· 3253 2891 } 3254 2892 }, 3255 2893 "node_modules/eslint-scope": { 3256 - "version": "8.3.0", 3257 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", 3258 - "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==", 3259 2897 "dev": true, 3260 2898 "license": "BSD-2-Clause", 3261 2899 "dependencies": { ··· 3270 2908 } 3271 2909 }, 3272 2910 "node_modules/eslint-visitor-keys": { 3273 - "version": "4.2.0", 3274 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 3275 - "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==", 3276 2914 "dev": true, 3277 2915 "license": "Apache-2.0", 3278 2916 "engines": { ··· 3283 2921 } 3284 2922 }, 3285 2923 "node_modules/espree": { 3286 - "version": "10.3.0", 3287 - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 3288 - "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==", 3289 2927 "dev": true, 3290 2928 "license": "BSD-2-Clause", 3291 2929 "dependencies": { 3292 - "acorn": "^8.14.0", 2930 + "acorn": "^8.15.0", 3293 2931 "acorn-jsx": "^5.3.2", 3294 - "eslint-visitor-keys": "^4.2.0" 2932 + "eslint-visitor-keys": "^4.2.1" 3295 2933 }, 3296 2934 "engines": { 3297 2935 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" ··· 3346 2984 "node": ">=0.10.0" 3347 2985 } 3348 2986 }, 3349 - "node_modules/etag": { 3350 - "version": "1.8.1", 3351 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 3352 - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 3353 - "dev": true, 3354 - "license": "MIT", 3355 - "engines": { 3356 - "node": ">= 0.6" 3357 - } 3358 - }, 3359 - "node_modules/eventsource": { 3360 - "version": "3.0.7", 3361 - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", 3362 - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", 3363 - "dev": true, 3364 - "license": "MIT", 3365 - "dependencies": { 3366 - "eventsource-parser": "^3.0.1" 3367 - }, 3368 - "engines": { 3369 - "node": ">=18.0.0" 3370 - } 3371 - }, 3372 - "node_modules/eventsource-parser": { 3373 - "version": "3.0.2", 3374 - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.2.tgz", 3375 - "integrity": "sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==", 3376 - "dev": true, 3377 - "license": "MIT", 3378 - "engines": { 3379 - "node": ">=18.0.0" 3380 - } 3381 - }, 3382 - "node_modules/express": { 3383 - "version": "5.1.0", 3384 - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", 3385 - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", 3386 - "dev": true, 3387 - "license": "MIT", 3388 - "peer": true, 3389 - "dependencies": { 3390 - "accepts": "^2.0.0", 3391 - "body-parser": "^2.2.0", 3392 - "content-disposition": "^1.0.0", 3393 - "content-type": "^1.0.5", 3394 - "cookie": "^0.7.1", 3395 - "cookie-signature": "^1.2.1", 3396 - "debug": "^4.4.0", 3397 - "encodeurl": "^2.0.0", 3398 - "escape-html": "^1.0.3", 3399 - "etag": "^1.8.1", 3400 - "finalhandler": "^2.1.0", 3401 - "fresh": "^2.0.0", 3402 - "http-errors": "^2.0.0", 3403 - "merge-descriptors": "^2.0.0", 3404 - "mime-types": "^3.0.0", 3405 - "on-finished": "^2.4.1", 3406 - "once": "^1.4.0", 3407 - "parseurl": "^1.3.3", 3408 - "proxy-addr": "^2.0.7", 3409 - "qs": "^6.14.0", 3410 - "range-parser": "^1.2.1", 3411 - "router": "^2.2.0", 3412 - "send": "^1.1.0", 3413 - "serve-static": "^2.2.0", 3414 - "statuses": "^2.0.1", 3415 - "type-is": "^2.0.1", 3416 - "vary": "^1.1.2" 3417 - }, 3418 - "engines": { 3419 - "node": ">= 18" 3420 - }, 3421 - "funding": { 3422 - "type": "opencollective", 3423 - "url": "https://opencollective.com/express" 3424 - } 3425 - }, 3426 - "node_modules/express-rate-limit": { 3427 - "version": "7.5.0", 3428 - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", 3429 - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", 3430 - "dev": true, 3431 - "license": "MIT", 3432 - "engines": { 3433 - "node": ">= 16" 3434 - }, 3435 - "funding": { 3436 - "url": "https://github.com/sponsors/express-rate-limit" 3437 - }, 3438 - "peerDependencies": { 3439 - "express": "^4.11 || 5 || ^5.0.0-beta.1" 3440 - } 3441 - }, 3442 2987 "node_modules/fast-deep-equal": { 3443 2988 "version": "3.1.3", 3444 2989 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", ··· 3490 3035 "dev": true, 3491 3036 "license": "MIT" 3492 3037 }, 3493 - "node_modules/fast-uri": { 3494 - "version": "3.1.0", 3495 - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", 3496 - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", 3497 - "dev": true, 3498 - "funding": [ 3499 - { 3500 - "type": "github", 3501 - "url": "https://github.com/sponsors/fastify" 3502 - }, 3503 - { 3504 - "type": "opencollective", 3505 - "url": "https://opencollective.com/fastify" 3506 - } 3507 - ], 3508 - "license": "BSD-3-Clause" 3509 - }, 3510 3038 "node_modules/fastq": { 3511 3039 "version": "1.19.1", 3512 3040 "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", ··· 3543 3071 "node": ">=8" 3544 3072 } 3545 3073 }, 3546 - "node_modules/finalhandler": { 3547 - "version": "2.1.0", 3548 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", 3549 - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", 3550 - "dev": true, 3551 - "license": "MIT", 3552 - "dependencies": { 3553 - "debug": "^4.4.0", 3554 - "encodeurl": "^2.0.0", 3555 - "escape-html": "^1.0.3", 3556 - "on-finished": "^2.4.1", 3557 - "parseurl": "^1.3.3", 3558 - "statuses": "^2.0.1" 3559 - }, 3560 - "engines": { 3561 - "node": ">= 0.8" 3562 - } 3563 - }, 3564 3074 "node_modules/find-root": { 3565 3075 "version": "1.1.0", 3566 3076 "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", ··· 3605 3115 "dev": true, 3606 3116 "license": "ISC" 3607 3117 }, 3608 - "node_modules/forwarded": { 3609 - "version": "0.2.0", 3610 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 3611 - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 3612 - "dev": true, 3613 - "license": "MIT", 3614 - "engines": { 3615 - "node": ">= 0.6" 3616 - } 3617 - }, 3618 - "node_modules/fresh": { 3619 - "version": "2.0.0", 3620 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", 3621 - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", 3622 - "dev": true, 3623 - "license": "MIT", 3624 - "engines": { 3625 - "node": ">= 0.8" 3626 - } 3627 - }, 3628 3118 "node_modules/fsevents": { 3629 3119 "version": "2.3.3", 3630 3120 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ··· 3659 3149 "node": ">=6.9.0" 3660 3150 } 3661 3151 }, 3662 - "node_modules/get-intrinsic": { 3663 - "version": "1.3.0", 3664 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 3665 - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 3666 - "dev": true, 3667 - "license": "MIT", 3668 - "dependencies": { 3669 - "call-bind-apply-helpers": "^1.0.2", 3670 - "es-define-property": "^1.0.1", 3671 - "es-errors": "^1.3.0", 3672 - "es-object-atoms": "^1.1.1", 3673 - "function-bind": "^1.1.2", 3674 - "get-proto": "^1.0.1", 3675 - "gopd": "^1.2.0", 3676 - "has-symbols": "^1.1.0", 3677 - "hasown": "^2.0.2", 3678 - "math-intrinsics": "^1.1.0" 3679 - }, 3680 - "engines": { 3681 - "node": ">= 0.4" 3682 - }, 3683 - "funding": { 3684 - "url": "https://github.com/sponsors/ljharb" 3685 - } 3686 - }, 3687 - "node_modules/get-proto": { 3688 - "version": "1.0.1", 3689 - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 3690 - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 3691 - "dev": true, 3692 - "license": "MIT", 3693 - "dependencies": { 3694 - "dunder-proto": "^1.0.1", 3695 - "es-object-atoms": "^1.0.0" 3696 - }, 3697 - "engines": { 3698 - "node": ">= 0.4" 3699 - } 3700 - }, 3701 3152 "node_modules/glob-parent": { 3702 3153 "version": "6.0.2", 3703 3154 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", ··· 3724 3175 "url": "https://github.com/sponsors/sindresorhus" 3725 3176 } 3726 3177 }, 3727 - "node_modules/gopd": { 3728 - "version": "1.2.0", 3729 - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 3730 - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 3731 - "dev": true, 3732 - "license": "MIT", 3733 - "engines": { 3734 - "node": ">= 0.4" 3735 - }, 3736 - "funding": { 3737 - "url": "https://github.com/sponsors/ljharb" 3738 - } 3739 - }, 3740 3178 "node_modules/graphemer": { 3741 3179 "version": "1.4.0", 3742 3180 "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", ··· 3754 3192 "node": ">=8" 3755 3193 } 3756 3194 }, 3757 - "node_modules/has-symbols": { 3758 - "version": "1.1.0", 3759 - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 3760 - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 3761 - "dev": true, 3762 - "license": "MIT", 3763 - "engines": { 3764 - "node": ">= 0.4" 3765 - }, 3766 - "funding": { 3767 - "url": "https://github.com/sponsors/ljharb" 3768 - } 3769 - }, 3770 3195 "node_modules/hasown": { 3771 3196 "version": "2.0.2", 3772 3197 "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", ··· 3794 3219 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 3795 3220 "license": "MIT" 3796 3221 }, 3797 - "node_modules/hono": { 3798 - "version": "4.11.1", 3799 - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.1.tgz", 3800 - "integrity": "sha512-KsFcH0xxHes0J4zaQgWbYwmz3UPOOskdqZmItstUG93+Wk1ePBLkLGwbP9zlmh1BFUiL8Qp+Xfu9P7feJWpGNg==", 3801 - "dev": true, 3802 - "license": "MIT", 3803 - "peer": true, 3804 - "engines": { 3805 - "node": ">=16.9.0" 3806 - } 3807 - }, 3808 - "node_modules/http-errors": { 3809 - "version": "2.0.0", 3810 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 3811 - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 3812 - "dev": true, 3813 - "license": "MIT", 3814 - "dependencies": { 3815 - "depd": "2.0.0", 3816 - "inherits": "2.0.4", 3817 - "setprototypeof": "1.2.0", 3818 - "statuses": "2.0.1", 3819 - "toidentifier": "1.0.1" 3820 - }, 3821 - "engines": { 3822 - "node": ">= 0.8" 3823 - } 3824 - }, 3825 - "node_modules/iconv-lite": { 3826 - "version": "0.6.3", 3827 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3828 - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3829 - "dev": true, 3830 - "license": "MIT", 3831 - "dependencies": { 3832 - "safer-buffer": ">= 2.1.2 < 3.0.0" 3833 - }, 3834 - "engines": { 3835 - "node": ">=0.10.0" 3836 - } 3837 - }, 3838 3222 "node_modules/ignore": { 3839 3223 "version": "5.3.2", 3840 3224 "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", ··· 3870 3254 "engines": { 3871 3255 "node": ">=0.8.19" 3872 3256 } 3873 - }, 3874 - "node_modules/inherits": { 3875 - "version": "2.0.4", 3876 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3877 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3878 - "dev": true, 3879 - "license": "ISC" 3880 3257 }, 3881 3258 "node_modules/internmap": { 3882 3259 "version": "2.0.3", ··· 3887 3264 "node": ">=12" 3888 3265 } 3889 3266 }, 3890 - "node_modules/ipaddr.js": { 3891 - "version": "1.9.1", 3892 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 3893 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 3894 - "dev": true, 3895 - "license": "MIT", 3896 - "engines": { 3897 - "node": ">= 0.10" 3898 - } 3899 - }, 3900 3267 "node_modules/is-arrayish": { 3901 3268 "version": "0.2.1", 3902 3269 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", ··· 3951 3318 "node": ">=0.12.0" 3952 3319 } 3953 3320 }, 3954 - "node_modules/is-promise": { 3955 - "version": "4.0.0", 3956 - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", 3957 - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", 3958 - "dev": true, 3959 - "license": "MIT" 3960 - }, 3961 3321 "node_modules/isexe": { 3962 3322 "version": "2.0.0", 3963 3323 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ··· 3965 3325 "dev": true, 3966 3326 "license": "ISC" 3967 3327 }, 3968 - "node_modules/jose": { 3969 - "version": "6.1.3", 3970 - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", 3971 - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", 3972 - "dev": true, 3973 - "license": "MIT", 3974 - "funding": { 3975 - "url": "https://github.com/sponsors/panva" 3976 - } 3977 - }, 3978 3328 "node_modules/js-tokens": { 3979 3329 "version": "4.0.0", 3980 3330 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", ··· 4025 3375 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 4026 3376 "dev": true, 4027 3377 "license": "MIT" 4028 - }, 4029 - "node_modules/json-schema-typed": { 4030 - "version": "8.0.2", 4031 - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", 4032 - "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", 4033 - "dev": true, 4034 - "license": "BSD-2-Clause" 4035 3378 }, 4036 3379 "node_modules/json-stable-stringify-without-jsonify": { 4037 3380 "version": "1.0.1", ··· 4128 3471 "yallist": "^3.0.2" 4129 3472 } 4130 3473 }, 4131 - "node_modules/math-intrinsics": { 4132 - "version": "1.1.0", 4133 - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 4134 - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 4135 - "dev": true, 4136 - "license": "MIT", 4137 - "engines": { 4138 - "node": ">= 0.4" 4139 - } 4140 - }, 4141 - "node_modules/media-typer": { 4142 - "version": "1.1.0", 4143 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", 4144 - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", 4145 - "dev": true, 4146 - "license": "MIT", 4147 - "engines": { 4148 - "node": ">= 0.8" 4149 - } 4150 - }, 4151 - "node_modules/merge-descriptors": { 4152 - "version": "2.0.0", 4153 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", 4154 - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", 4155 - "dev": true, 4156 - "license": "MIT", 4157 - "engines": { 4158 - "node": ">=18" 4159 - }, 4160 - "funding": { 4161 - "url": "https://github.com/sponsors/sindresorhus" 4162 - } 4163 - }, 4164 3474 "node_modules/merge2": { 4165 3475 "version": "1.4.1", 4166 3476 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ··· 4185 3495 "node": ">=8.6" 4186 3496 } 4187 3497 }, 4188 - "node_modules/mime-db": { 4189 - "version": "1.54.0", 4190 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", 4191 - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", 4192 - "dev": true, 4193 - "license": "MIT", 4194 - "engines": { 4195 - "node": ">= 0.6" 4196 - } 4197 - }, 4198 - "node_modules/mime-types": { 4199 - "version": "3.0.1", 4200 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", 4201 - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", 4202 - "dev": true, 4203 - "license": "MIT", 4204 - "dependencies": { 4205 - "mime-db": "^1.54.0" 4206 - }, 4207 - "engines": { 4208 - "node": ">= 0.6" 4209 - } 4210 - }, 4211 3498 "node_modules/minimatch": { 4212 3499 "version": "3.1.2", 4213 3500 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", ··· 4262 3549 "dev": true, 4263 3550 "license": "MIT" 4264 3551 }, 4265 - "node_modules/negotiator": { 4266 - "version": "1.0.0", 4267 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", 4268 - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", 4269 - "dev": true, 4270 - "license": "MIT", 4271 - "engines": { 4272 - "node": ">= 0.6" 4273 - } 4274 - }, 4275 3552 "node_modules/node-releases": { 4276 3553 "version": "2.0.19", 4277 3554 "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", ··· 4288 3565 "node": ">=0.10.0" 4289 3566 } 4290 3567 }, 4291 - "node_modules/object-inspect": { 4292 - "version": "1.13.4", 4293 - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 4294 - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 4295 - "dev": true, 4296 - "license": "MIT", 4297 - "engines": { 4298 - "node": ">= 0.4" 4299 - }, 4300 - "funding": { 4301 - "url": "https://github.com/sponsors/ljharb" 4302 - } 4303 - }, 4304 - "node_modules/on-finished": { 4305 - "version": "2.4.1", 4306 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 4307 - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 4308 - "dev": true, 4309 - "license": "MIT", 4310 - "dependencies": { 4311 - "ee-first": "1.1.1" 4312 - }, 4313 - "engines": { 4314 - "node": ">= 0.8" 4315 - } 4316 - }, 4317 - "node_modules/once": { 4318 - "version": "1.4.0", 4319 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4320 - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 4321 - "dev": true, 4322 - "license": "ISC", 4323 - "dependencies": { 4324 - "wrappy": "1" 4325 - } 4326 - }, 4327 3568 "node_modules/optionator": { 4328 3569 "version": "0.9.4", 4329 3570 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", ··· 4404 3645 "url": "https://github.com/sponsors/sindresorhus" 4405 3646 } 4406 3647 }, 4407 - "node_modules/parseurl": { 4408 - "version": "1.3.3", 4409 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 4410 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 4411 - "dev": true, 4412 - "license": "MIT", 4413 - "engines": { 4414 - "node": ">= 0.8" 4415 - } 4416 - }, 4417 3648 "node_modules/path-exists": { 4418 3649 "version": "4.0.0", 4419 3650 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ··· 4440 3671 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4441 3672 "license": "MIT" 4442 3673 }, 4443 - "node_modules/path-to-regexp": { 4444 - "version": "8.2.0", 4445 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", 4446 - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", 4447 - "dev": true, 4448 - "license": "MIT", 4449 - "engines": { 4450 - "node": ">=16" 4451 - } 4452 - }, 4453 3674 "node_modules/path-type": { 4454 3675 "version": "4.0.0", 4455 3676 "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", ··· 4476 3697 }, 4477 3698 "funding": { 4478 3699 "url": "https://github.com/sponsors/jonschlinkert" 4479 - } 4480 - }, 4481 - "node_modules/pkce-challenge": { 4482 - "version": "5.0.0", 4483 - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", 4484 - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", 4485 - "dev": true, 4486 - "license": "MIT", 4487 - "engines": { 4488 - "node": ">=16.20.0" 4489 3700 } 4490 3701 }, 4491 3702 "node_modules/postcss": { ··· 4544 3755 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 4545 3756 "license": "MIT" 4546 3757 }, 4547 - "node_modules/proxy-addr": { 4548 - "version": "2.0.7", 4549 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 4550 - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 4551 - "dev": true, 4552 - "license": "MIT", 4553 - "dependencies": { 4554 - "forwarded": "0.2.0", 4555 - "ipaddr.js": "1.9.1" 4556 - }, 4557 - "engines": { 4558 - "node": ">= 0.10" 4559 - } 4560 - }, 4561 3758 "node_modules/punycode": { 4562 3759 "version": "2.3.1", 4563 3760 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", ··· 4568 3765 "node": ">=6" 4569 3766 } 4570 3767 }, 4571 - "node_modules/qs": { 4572 - "version": "6.14.0", 4573 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", 4574 - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", 4575 - "dev": true, 4576 - "license": "BSD-3-Clause", 4577 - "dependencies": { 4578 - "side-channel": "^1.1.0" 4579 - }, 4580 - "engines": { 4581 - "node": ">=0.6" 4582 - }, 4583 - "funding": { 4584 - "url": "https://github.com/sponsors/ljharb" 4585 - } 4586 - }, 4587 3768 "node_modules/queue-microtask": { 4588 3769 "version": "1.2.3", 4589 3770 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", ··· 4605 3786 ], 4606 3787 "license": "MIT" 4607 3788 }, 4608 - "node_modules/range-parser": { 4609 - "version": "1.2.1", 4610 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 4611 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 4612 - "dev": true, 4613 - "license": "MIT", 4614 - "engines": { 4615 - "node": ">= 0.6" 4616 - } 4617 - }, 4618 - "node_modules/raw-body": { 4619 - "version": "3.0.0", 4620 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", 4621 - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", 4622 - "dev": true, 4623 - "license": "MIT", 4624 - "dependencies": { 4625 - "bytes": "3.1.2", 4626 - "http-errors": "2.0.0", 4627 - "iconv-lite": "0.6.3", 4628 - "unpipe": "1.0.0" 4629 - }, 4630 - "engines": { 4631 - "node": ">= 0.8" 4632 - } 4633 - }, 4634 3789 "node_modules/react": { 4635 3790 "version": "19.1.0", 4636 3791 "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", 4637 3792 "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", 4638 3793 "license": "MIT", 4639 - "peer": true, 4640 3794 "engines": { 4641 3795 "node": ">=0.10.0" 4642 3796 } ··· 4646 3800 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", 4647 3801 "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", 4648 3802 "license": "MIT", 4649 - "peer": true, 4650 3803 "dependencies": { 4651 3804 "scheduler": "^0.26.0" 4652 3805 }, ··· 4684 3837 "peerDependencies": { 4685 3838 "react": ">=16.6.0", 4686 3839 "react-dom": ">=16.6.0" 4687 - } 4688 - }, 4689 - "node_modules/require-from-string": { 4690 - "version": "2.0.2", 4691 - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 4692 - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 4693 - "dev": true, 4694 - "license": "MIT", 4695 - "engines": { 4696 - "node": ">=0.10.0" 4697 3840 } 4698 3841 }, 4699 3842 "node_modules/reselect": { ··· 4788 3931 "fsevents": "~2.3.2" 4789 3932 } 4790 3933 }, 4791 - "node_modules/router": { 4792 - "version": "2.2.0", 4793 - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", 4794 - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", 4795 - "dev": true, 4796 - "license": "MIT", 4797 - "dependencies": { 4798 - "debug": "^4.4.0", 4799 - "depd": "^2.0.0", 4800 - "is-promise": "^4.0.0", 4801 - "parseurl": "^1.3.3", 4802 - "path-to-regexp": "^8.0.0" 4803 - }, 4804 - "engines": { 4805 - "node": ">= 18" 4806 - } 4807 - }, 4808 3934 "node_modules/run-parallel": { 4809 3935 "version": "1.2.0", 4810 3936 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", ··· 4829 3955 "queue-microtask": "^1.2.2" 4830 3956 } 4831 3957 }, 4832 - "node_modules/safe-buffer": { 4833 - "version": "5.2.1", 4834 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 4835 - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 4836 - "dev": true, 4837 - "funding": [ 4838 - { 4839 - "type": "github", 4840 - "url": "https://github.com/sponsors/feross" 4841 - }, 4842 - { 4843 - "type": "patreon", 4844 - "url": "https://www.patreon.com/feross" 4845 - }, 4846 - { 4847 - "type": "consulting", 4848 - "url": "https://feross.org/support" 4849 - } 4850 - ], 4851 - "license": "MIT" 4852 - }, 4853 - "node_modules/safer-buffer": { 4854 - "version": "2.1.2", 4855 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4856 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4857 - "dev": true, 4858 - "license": "MIT" 4859 - }, 4860 3958 "node_modules/scheduler": { 4861 3959 "version": "0.26.0", 4862 3960 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", ··· 4872 3970 "bin": { 4873 3971 "semver": "bin/semver.js" 4874 3972 } 4875 - }, 4876 - "node_modules/send": { 4877 - "version": "1.2.0", 4878 - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", 4879 - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", 4880 - "dev": true, 4881 - "license": "MIT", 4882 - "dependencies": { 4883 - "debug": "^4.3.5", 4884 - "encodeurl": "^2.0.0", 4885 - "escape-html": "^1.0.3", 4886 - "etag": "^1.8.1", 4887 - "fresh": "^2.0.0", 4888 - "http-errors": "^2.0.0", 4889 - "mime-types": "^3.0.1", 4890 - "ms": "^2.1.3", 4891 - "on-finished": "^2.4.1", 4892 - "range-parser": "^1.2.1", 4893 - "statuses": "^2.0.1" 4894 - }, 4895 - "engines": { 4896 - "node": ">= 18" 4897 - } 4898 - }, 4899 - "node_modules/serve-static": { 4900 - "version": "2.2.0", 4901 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", 4902 - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", 4903 - "dev": true, 4904 - "license": "MIT", 4905 - "dependencies": { 4906 - "encodeurl": "^2.0.0", 4907 - "escape-html": "^1.0.3", 4908 - "parseurl": "^1.3.3", 4909 - "send": "^1.2.0" 4910 - }, 4911 - "engines": { 4912 - "node": ">= 18" 4913 - } 4914 - }, 4915 - "node_modules/setprototypeof": { 4916 - "version": "1.2.0", 4917 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 4918 - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 4919 - "dev": true, 4920 - "license": "ISC" 4921 3973 }, 4922 3974 "node_modules/shebang-command": { 4923 3975 "version": "2.0.0", ··· 4942 3994 "node": ">=8" 4943 3995 } 4944 3996 }, 4945 - "node_modules/side-channel": { 4946 - "version": "1.1.0", 4947 - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 4948 - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 4949 - "dev": true, 4950 - "license": "MIT", 4951 - "dependencies": { 4952 - "es-errors": "^1.3.0", 4953 - "object-inspect": "^1.13.3", 4954 - "side-channel-list": "^1.0.0", 4955 - "side-channel-map": "^1.0.1", 4956 - "side-channel-weakmap": "^1.0.2" 4957 - }, 4958 - "engines": { 4959 - "node": ">= 0.4" 4960 - }, 4961 - "funding": { 4962 - "url": "https://github.com/sponsors/ljharb" 4963 - } 4964 - }, 4965 - "node_modules/side-channel-list": { 4966 - "version": "1.0.0", 4967 - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 4968 - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 4969 - "dev": true, 4970 - "license": "MIT", 4971 - "dependencies": { 4972 - "es-errors": "^1.3.0", 4973 - "object-inspect": "^1.13.3" 4974 - }, 4975 - "engines": { 4976 - "node": ">= 0.4" 4977 - }, 4978 - "funding": { 4979 - "url": "https://github.com/sponsors/ljharb" 4980 - } 4981 - }, 4982 - "node_modules/side-channel-map": { 4983 - "version": "1.0.1", 4984 - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 4985 - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 4986 - "dev": true, 4987 - "license": "MIT", 4988 - "dependencies": { 4989 - "call-bound": "^1.0.2", 4990 - "es-errors": "^1.3.0", 4991 - "get-intrinsic": "^1.2.5", 4992 - "object-inspect": "^1.13.3" 4993 - }, 4994 - "engines": { 4995 - "node": ">= 0.4" 4996 - }, 4997 - "funding": { 4998 - "url": "https://github.com/sponsors/ljharb" 4999 - } 5000 - }, 5001 - "node_modules/side-channel-weakmap": { 5002 - "version": "1.0.2", 5003 - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 5004 - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 5005 - "dev": true, 5006 - "license": "MIT", 5007 - "dependencies": { 5008 - "call-bound": "^1.0.2", 5009 - "es-errors": "^1.3.0", 5010 - "get-intrinsic": "^1.2.5", 5011 - "object-inspect": "^1.13.3", 5012 - "side-channel-map": "^1.0.1" 5013 - }, 5014 - "engines": { 5015 - "node": ">= 0.4" 5016 - }, 5017 - "funding": { 5018 - "url": "https://github.com/sponsors/ljharb" 5019 - } 5020 - }, 5021 3997 "node_modules/source-map": { 5022 3998 "version": "0.5.7", 5023 3999 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ··· 5037 4013 "node": ">=0.10.0" 5038 4014 } 5039 4015 }, 5040 - "node_modules/statuses": { 5041 - "version": "2.0.1", 5042 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 5043 - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 5044 - "dev": true, 5045 - "license": "MIT", 5046 - "engines": { 5047 - "node": ">= 0.8" 5048 - } 5049 - }, 5050 4016 "node_modules/strip-json-comments": { 5051 4017 "version": "3.1.1", 5052 4018 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", ··· 5129 4095 "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 5130 4096 "dev": true, 5131 4097 "license": "MIT", 5132 - "peer": true, 5133 4098 "engines": { 5134 4099 "node": ">=12" 5135 4100 }, ··· 5150 4115 "node": ">=8.0" 5151 4116 } 5152 4117 }, 5153 - "node_modules/toidentifier": { 5154 - "version": "1.0.1", 5155 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 5156 - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 5157 - "dev": true, 5158 - "license": "MIT", 5159 - "engines": { 5160 - "node": ">=0.6" 5161 - } 5162 - }, 5163 4118 "node_modules/ts-api-utils": { 5164 4119 "version": "2.1.0", 5165 4120 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", ··· 5186 4141 "node": ">= 0.8.0" 5187 4142 } 5188 4143 }, 5189 - "node_modules/type-is": { 5190 - "version": "2.0.1", 5191 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", 5192 - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", 5193 - "dev": true, 5194 - "license": "MIT", 5195 - "dependencies": { 5196 - "content-type": "^1.0.5", 5197 - "media-typer": "^1.1.0", 5198 - "mime-types": "^3.0.0" 5199 - }, 5200 - "engines": { 5201 - "node": ">= 0.6" 5202 - } 5203 - }, 5204 4144 "node_modules/typescript": { 5205 4145 "version": "5.8.3", 5206 4146 "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 5207 4147 "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 5208 4148 "dev": true, 5209 4149 "license": "Apache-2.0", 5210 - "peer": true, 5211 4150 "bin": { 5212 4151 "tsc": "bin/tsc", 5213 4152 "tsserver": "bin/tsserver" ··· 5239 4178 "typescript": ">=4.8.4 <5.9.0" 5240 4179 } 5241 4180 }, 5242 - "node_modules/unpipe": { 5243 - "version": "1.0.0", 5244 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 5245 - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 5246 - "dev": true, 5247 - "license": "MIT", 5248 - "engines": { 5249 - "node": ">= 0.8" 5250 - } 5251 - }, 5252 4181 "node_modules/update-browserslist-db": { 5253 4182 "version": "1.1.3", 5254 4183 "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", ··· 5299 4228 "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 5300 4229 } 5301 4230 }, 5302 - "node_modules/vary": { 5303 - "version": "1.1.2", 5304 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 5305 - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 5306 - "dev": true, 5307 - "license": "MIT", 5308 - "engines": { 5309 - "node": ">= 0.8" 5310 - } 5311 - }, 5312 4231 "node_modules/vite": { 5313 4232 "version": "6.4.1", 5314 4233 "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", 5315 4234 "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", 5316 4235 "dev": true, 5317 4236 "license": "MIT", 5318 - "peer": true, 5319 4237 "dependencies": { 5320 4238 "esbuild": "^0.25.0", 5321 4239 "fdir": "^6.4.4", ··· 5406 4324 "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 5407 4325 "dev": true, 5408 4326 "license": "MIT", 5409 - "peer": true, 5410 4327 "engines": { 5411 4328 "node": ">=12" 5412 4329 }, ··· 5440 4357 "node": ">=0.10.0" 5441 4358 } 5442 4359 }, 5443 - "node_modules/wrappy": { 5444 - "version": "1.0.2", 5445 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 5446 - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 5447 - "dev": true, 5448 - "license": "ISC" 5449 - }, 5450 4360 "node_modules/yallist": { 5451 4361 "version": "3.1.1", 5452 4362 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", ··· 5465 4375 }, 5466 4376 "funding": { 5467 4377 "url": "https://github.com/sponsors/sindresorhus" 5468 - } 5469 - }, 5470 - "node_modules/zod": { 5471 - "version": "3.24.4", 5472 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", 5473 - "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", 5474 - "dev": true, 5475 - "license": "MIT", 5476 - "peer": true, 5477 - "funding": { 5478 - "url": "https://github.com/sponsors/colinhacks" 5479 4378 } 5480 4379 } 5481 4380 }
+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 }