A Cloudflare Worker which works in conjunction with https://github.com/indexxing/bsky-alt-text
1{
2 "name": "bluesky-alt-text-worker",
3 "version": "0.0.1",
4 "lockfileVersion": 3,
5 "requires": true,
6 "packages": {
7 "": {
8 "name": "bluesky-alt-text-worker",
9 "version": "0.0.1",
10 "dependencies": {
11 "@google/genai": "^1.4.0",
12 "chanfana": "^2.6.3",
13 "hono": "^4.6.20",
14 "zod": "^3.24.1"
15 },
16 "devDependencies": {
17 "@types/node": "22.13.0",
18 "@types/service-worker-mock": "^2.0.4",
19 "wrangler": "^4.19.1"
20 }
21 },
22 "node_modules/@asteasolutions/zod-to-openapi": {
23 "version": "7.3.3",
24 "resolved": "https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.3.tgz",
25 "integrity": "sha512-ioiw+R+gBGAUwmDp+/gJA16tedBivzDaji5wOvWej0ZYDE0CXTSSfJfXbrBIuWKh6JQhuXgNDniJdeDueKUZTA==",
26 "dependencies": {
27 "openapi3-ts": "^4.1.2"
28 },
29 "peerDependencies": {
30 "zod": "^3.20.2"
31 }
32 },
33 "node_modules/@cloudflare/kv-asset-handler": {
34 "version": "0.4.0",
35 "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz",
36 "integrity": "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==",
37 "dev": true,
38 "dependencies": {
39 "mime": "^3.0.0"
40 },
41 "engines": {
42 "node": ">=18.0.0"
43 }
44 },
45 "node_modules/@cloudflare/unenv-preset": {
46 "version": "2.3.2",
47 "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.3.2.tgz",
48 "integrity": "sha512-MtUgNl+QkQyhQvv5bbWP+BpBC1N0me4CHHuP2H4ktmOMKdB/6kkz/lo+zqiA4mEazb4y+1cwyNjVrQ2DWeE4mg==",
49 "dev": true,
50 "peerDependencies": {
51 "unenv": "2.0.0-rc.17",
52 "workerd": "^1.20250508.0"
53 },
54 "peerDependenciesMeta": {
55 "workerd": {
56 "optional": true
57 }
58 }
59 },
60 "node_modules/@cloudflare/workerd-darwin-64": {
61 "version": "1.20250525.0",
62 "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250525.0.tgz",
63 "integrity": "sha512-L5l+7sSJJT2+riR5rS3Q3PKNNySPjWfRIeaNGMVRi1dPO6QPi4lwuxfRUFNoeUdilZJUVPfSZvTtj9RedsKznQ==",
64 "cpu": [
65 "x64"
66 ],
67 "dev": true,
68 "optional": true,
69 "os": [
70 "darwin"
71 ],
72 "engines": {
73 "node": ">=16"
74 }
75 },
76 "node_modules/@cloudflare/workerd-darwin-arm64": {
77 "version": "1.20250525.0",
78 "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250525.0.tgz",
79 "integrity": "sha512-Y3IbIdrF/vJWh/WBvshwcSyUh175VAiLRW7963S1dXChrZ1N5wuKGQm9xY69cIGVtitpMJWWW3jLq7J/Xxwm0Q==",
80 "cpu": [
81 "arm64"
82 ],
83 "dev": true,
84 "optional": true,
85 "os": [
86 "darwin"
87 ],
88 "engines": {
89 "node": ">=16"
90 }
91 },
92 "node_modules/@cloudflare/workerd-linux-64": {
93 "version": "1.20250525.0",
94 "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250525.0.tgz",
95 "integrity": "sha512-KSyQPAby+c6cpENoO0ayCQlY6QIh28l/+QID7VC1SLXfiNHy+hPNsH1vVBTST6CilHVAQSsy9tCZ9O9XECB8yg==",
96 "cpu": [
97 "x64"
98 ],
99 "dev": true,
100 "optional": true,
101 "os": [
102 "linux"
103 ],
104 "engines": {
105 "node": ">=16"
106 }
107 },
108 "node_modules/@cloudflare/workerd-linux-arm64": {
109 "version": "1.20250525.0",
110 "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250525.0.tgz",
111 "integrity": "sha512-Nt0FUxS2kQhJUea4hMCNPaetkrAFDhPnNX/ntwcqVlGgnGt75iaAhupWJbU0GB+gIWlKeuClUUnDZqKbicoKyg==",
112 "cpu": [
113 "arm64"
114 ],
115 "dev": true,
116 "optional": true,
117 "os": [
118 "linux"
119 ],
120 "engines": {
121 "node": ">=16"
122 }
123 },
124 "node_modules/@cloudflare/workerd-windows-64": {
125 "version": "1.20250525.0",
126 "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250525.0.tgz",
127 "integrity": "sha512-mwTj+9f3uIa4NEXR1cOa82PjLa6dbrb3J+KCVJFYIaq7e63VxEzOchCXS4tublT2pmOhmFqkgBMXrxozxNkR2Q==",
128 "cpu": [
129 "x64"
130 ],
131 "dev": true,
132 "optional": true,
133 "os": [
134 "win32"
135 ],
136 "engines": {
137 "node": ">=16"
138 }
139 },
140 "node_modules/@cloudflare/workers-types": {
141 "version": "4.20250607.0",
142 "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20250607.0.tgz",
143 "integrity": "sha512-OYmKNzC2eQy6CNj+j0go8Ut3SezjsprCgJyEaBzJql+473WAN9ndVnNZy9lj/tTyLV6wzpQkZWmRAKGDmacvkg==",
144 "dev": true,
145 "optional": true,
146 "peer": true
147 },
148 "node_modules/@cspotcode/source-map-support": {
149 "version": "0.8.1",
150 "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
151 "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
152 "dev": true,
153 "dependencies": {
154 "@jridgewell/trace-mapping": "0.3.9"
155 },
156 "engines": {
157 "node": ">=12"
158 }
159 },
160 "node_modules/@emnapi/runtime": {
161 "version": "1.4.3",
162 "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
163 "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
164 "dev": true,
165 "optional": true,
166 "dependencies": {
167 "tslib": "^2.4.0"
168 }
169 },
170 "node_modules/@esbuild/aix-ppc64": {
171 "version": "0.25.4",
172 "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
173 "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
174 "cpu": [
175 "ppc64"
176 ],
177 "dev": true,
178 "optional": true,
179 "os": [
180 "aix"
181 ],
182 "engines": {
183 "node": ">=18"
184 }
185 },
186 "node_modules/@esbuild/android-arm": {
187 "version": "0.25.4",
188 "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
189 "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
190 "cpu": [
191 "arm"
192 ],
193 "dev": true,
194 "optional": true,
195 "os": [
196 "android"
197 ],
198 "engines": {
199 "node": ">=18"
200 }
201 },
202 "node_modules/@esbuild/android-arm64": {
203 "version": "0.25.4",
204 "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
205 "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
206 "cpu": [
207 "arm64"
208 ],
209 "dev": true,
210 "optional": true,
211 "os": [
212 "android"
213 ],
214 "engines": {
215 "node": ">=18"
216 }
217 },
218 "node_modules/@esbuild/android-x64": {
219 "version": "0.25.4",
220 "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
221 "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
222 "cpu": [
223 "x64"
224 ],
225 "dev": true,
226 "optional": true,
227 "os": [
228 "android"
229 ],
230 "engines": {
231 "node": ">=18"
232 }
233 },
234 "node_modules/@esbuild/darwin-arm64": {
235 "version": "0.25.4",
236 "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
237 "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
238 "cpu": [
239 "arm64"
240 ],
241 "dev": true,
242 "optional": true,
243 "os": [
244 "darwin"
245 ],
246 "engines": {
247 "node": ">=18"
248 }
249 },
250 "node_modules/@esbuild/darwin-x64": {
251 "version": "0.25.4",
252 "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
253 "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
254 "cpu": [
255 "x64"
256 ],
257 "dev": true,
258 "optional": true,
259 "os": [
260 "darwin"
261 ],
262 "engines": {
263 "node": ">=18"
264 }
265 },
266 "node_modules/@esbuild/freebsd-arm64": {
267 "version": "0.25.4",
268 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
269 "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
270 "cpu": [
271 "arm64"
272 ],
273 "dev": true,
274 "optional": true,
275 "os": [
276 "freebsd"
277 ],
278 "engines": {
279 "node": ">=18"
280 }
281 },
282 "node_modules/@esbuild/freebsd-x64": {
283 "version": "0.25.4",
284 "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
285 "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
286 "cpu": [
287 "x64"
288 ],
289 "dev": true,
290 "optional": true,
291 "os": [
292 "freebsd"
293 ],
294 "engines": {
295 "node": ">=18"
296 }
297 },
298 "node_modules/@esbuild/linux-arm": {
299 "version": "0.25.4",
300 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
301 "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
302 "cpu": [
303 "arm"
304 ],
305 "dev": true,
306 "optional": true,
307 "os": [
308 "linux"
309 ],
310 "engines": {
311 "node": ">=18"
312 }
313 },
314 "node_modules/@esbuild/linux-arm64": {
315 "version": "0.25.4",
316 "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
317 "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
318 "cpu": [
319 "arm64"
320 ],
321 "dev": true,
322 "optional": true,
323 "os": [
324 "linux"
325 ],
326 "engines": {
327 "node": ">=18"
328 }
329 },
330 "node_modules/@esbuild/linux-ia32": {
331 "version": "0.25.4",
332 "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
333 "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
334 "cpu": [
335 "ia32"
336 ],
337 "dev": true,
338 "optional": true,
339 "os": [
340 "linux"
341 ],
342 "engines": {
343 "node": ">=18"
344 }
345 },
346 "node_modules/@esbuild/linux-loong64": {
347 "version": "0.25.4",
348 "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
349 "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
350 "cpu": [
351 "loong64"
352 ],
353 "dev": true,
354 "optional": true,
355 "os": [
356 "linux"
357 ],
358 "engines": {
359 "node": ">=18"
360 }
361 },
362 "node_modules/@esbuild/linux-mips64el": {
363 "version": "0.25.4",
364 "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
365 "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
366 "cpu": [
367 "mips64el"
368 ],
369 "dev": true,
370 "optional": true,
371 "os": [
372 "linux"
373 ],
374 "engines": {
375 "node": ">=18"
376 }
377 },
378 "node_modules/@esbuild/linux-ppc64": {
379 "version": "0.25.4",
380 "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
381 "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
382 "cpu": [
383 "ppc64"
384 ],
385 "dev": true,
386 "optional": true,
387 "os": [
388 "linux"
389 ],
390 "engines": {
391 "node": ">=18"
392 }
393 },
394 "node_modules/@esbuild/linux-riscv64": {
395 "version": "0.25.4",
396 "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
397 "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
398 "cpu": [
399 "riscv64"
400 ],
401 "dev": true,
402 "optional": true,
403 "os": [
404 "linux"
405 ],
406 "engines": {
407 "node": ">=18"
408 }
409 },
410 "node_modules/@esbuild/linux-s390x": {
411 "version": "0.25.4",
412 "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
413 "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
414 "cpu": [
415 "s390x"
416 ],
417 "dev": true,
418 "optional": true,
419 "os": [
420 "linux"
421 ],
422 "engines": {
423 "node": ">=18"
424 }
425 },
426 "node_modules/@esbuild/linux-x64": {
427 "version": "0.25.4",
428 "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
429 "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
430 "cpu": [
431 "x64"
432 ],
433 "dev": true,
434 "optional": true,
435 "os": [
436 "linux"
437 ],
438 "engines": {
439 "node": ">=18"
440 }
441 },
442 "node_modules/@esbuild/netbsd-arm64": {
443 "version": "0.25.4",
444 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
445 "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
446 "cpu": [
447 "arm64"
448 ],
449 "dev": true,
450 "optional": true,
451 "os": [
452 "netbsd"
453 ],
454 "engines": {
455 "node": ">=18"
456 }
457 },
458 "node_modules/@esbuild/netbsd-x64": {
459 "version": "0.25.4",
460 "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
461 "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
462 "cpu": [
463 "x64"
464 ],
465 "dev": true,
466 "optional": true,
467 "os": [
468 "netbsd"
469 ],
470 "engines": {
471 "node": ">=18"
472 }
473 },
474 "node_modules/@esbuild/openbsd-arm64": {
475 "version": "0.25.4",
476 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
477 "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
478 "cpu": [
479 "arm64"
480 ],
481 "dev": true,
482 "optional": true,
483 "os": [
484 "openbsd"
485 ],
486 "engines": {
487 "node": ">=18"
488 }
489 },
490 "node_modules/@esbuild/openbsd-x64": {
491 "version": "0.25.4",
492 "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
493 "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
494 "cpu": [
495 "x64"
496 ],
497 "dev": true,
498 "optional": true,
499 "os": [
500 "openbsd"
501 ],
502 "engines": {
503 "node": ">=18"
504 }
505 },
506 "node_modules/@esbuild/sunos-x64": {
507 "version": "0.25.4",
508 "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
509 "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
510 "cpu": [
511 "x64"
512 ],
513 "dev": true,
514 "optional": true,
515 "os": [
516 "sunos"
517 ],
518 "engines": {
519 "node": ">=18"
520 }
521 },
522 "node_modules/@esbuild/win32-arm64": {
523 "version": "0.25.4",
524 "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
525 "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
526 "cpu": [
527 "arm64"
528 ],
529 "dev": true,
530 "optional": true,
531 "os": [
532 "win32"
533 ],
534 "engines": {
535 "node": ">=18"
536 }
537 },
538 "node_modules/@esbuild/win32-ia32": {
539 "version": "0.25.4",
540 "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
541 "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
542 "cpu": [
543 "ia32"
544 ],
545 "dev": true,
546 "optional": true,
547 "os": [
548 "win32"
549 ],
550 "engines": {
551 "node": ">=18"
552 }
553 },
554 "node_modules/@esbuild/win32-x64": {
555 "version": "0.25.4",
556 "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
557 "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
558 "cpu": [
559 "x64"
560 ],
561 "dev": true,
562 "optional": true,
563 "os": [
564 "win32"
565 ],
566 "engines": {
567 "node": ">=18"
568 }
569 },
570 "node_modules/@fastify/busboy": {
571 "version": "2.1.1",
572 "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
573 "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
574 "dev": true,
575 "engines": {
576 "node": ">=14"
577 }
578 },
579 "node_modules/@google/genai": {
580 "version": "1.4.0",
581 "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.4.0.tgz",
582 "integrity": "sha512-u9LQZbWBhqaaLelCcYsxMNDTeW12jzNwGkI/eqUeMG/iB1gJBu56LCxrFJ/hkHeZQgPg+j1pckBLZS/dnOh+Bw==",
583 "dependencies": {
584 "google-auth-library": "^9.14.2",
585 "ws": "^8.18.0",
586 "zod": "^3.22.4",
587 "zod-to-json-schema": "^3.22.4"
588 },
589 "engines": {
590 "node": ">=20.0.0"
591 },
592 "peerDependencies": {
593 "@modelcontextprotocol/sdk": "^1.11.0"
594 }
595 },
596 "node_modules/@img/sharp-darwin-arm64": {
597 "version": "0.33.5",
598 "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
599 "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
600 "cpu": [
601 "arm64"
602 ],
603 "dev": true,
604 "optional": true,
605 "os": [
606 "darwin"
607 ],
608 "engines": {
609 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
610 },
611 "funding": {
612 "url": "https://opencollective.com/libvips"
613 },
614 "optionalDependencies": {
615 "@img/sharp-libvips-darwin-arm64": "1.0.4"
616 }
617 },
618 "node_modules/@img/sharp-darwin-x64": {
619 "version": "0.33.5",
620 "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
621 "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
622 "cpu": [
623 "x64"
624 ],
625 "dev": true,
626 "optional": true,
627 "os": [
628 "darwin"
629 ],
630 "engines": {
631 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
632 },
633 "funding": {
634 "url": "https://opencollective.com/libvips"
635 },
636 "optionalDependencies": {
637 "@img/sharp-libvips-darwin-x64": "1.0.4"
638 }
639 },
640 "node_modules/@img/sharp-libvips-darwin-arm64": {
641 "version": "1.0.4",
642 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
643 "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
644 "cpu": [
645 "arm64"
646 ],
647 "dev": true,
648 "optional": true,
649 "os": [
650 "darwin"
651 ],
652 "funding": {
653 "url": "https://opencollective.com/libvips"
654 }
655 },
656 "node_modules/@img/sharp-libvips-darwin-x64": {
657 "version": "1.0.4",
658 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
659 "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
660 "cpu": [
661 "x64"
662 ],
663 "dev": true,
664 "optional": true,
665 "os": [
666 "darwin"
667 ],
668 "funding": {
669 "url": "https://opencollective.com/libvips"
670 }
671 },
672 "node_modules/@img/sharp-libvips-linux-arm": {
673 "version": "1.0.5",
674 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
675 "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
676 "cpu": [
677 "arm"
678 ],
679 "dev": true,
680 "optional": true,
681 "os": [
682 "linux"
683 ],
684 "funding": {
685 "url": "https://opencollective.com/libvips"
686 }
687 },
688 "node_modules/@img/sharp-libvips-linux-arm64": {
689 "version": "1.0.4",
690 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
691 "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
692 "cpu": [
693 "arm64"
694 ],
695 "dev": true,
696 "optional": true,
697 "os": [
698 "linux"
699 ],
700 "funding": {
701 "url": "https://opencollective.com/libvips"
702 }
703 },
704 "node_modules/@img/sharp-libvips-linux-s390x": {
705 "version": "1.0.4",
706 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
707 "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
708 "cpu": [
709 "s390x"
710 ],
711 "dev": true,
712 "optional": true,
713 "os": [
714 "linux"
715 ],
716 "funding": {
717 "url": "https://opencollective.com/libvips"
718 }
719 },
720 "node_modules/@img/sharp-libvips-linux-x64": {
721 "version": "1.0.4",
722 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
723 "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
724 "cpu": [
725 "x64"
726 ],
727 "dev": true,
728 "optional": true,
729 "os": [
730 "linux"
731 ],
732 "funding": {
733 "url": "https://opencollective.com/libvips"
734 }
735 },
736 "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
737 "version": "1.0.4",
738 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
739 "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
740 "cpu": [
741 "arm64"
742 ],
743 "dev": true,
744 "optional": true,
745 "os": [
746 "linux"
747 ],
748 "funding": {
749 "url": "https://opencollective.com/libvips"
750 }
751 },
752 "node_modules/@img/sharp-libvips-linuxmusl-x64": {
753 "version": "1.0.4",
754 "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
755 "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
756 "cpu": [
757 "x64"
758 ],
759 "dev": true,
760 "optional": true,
761 "os": [
762 "linux"
763 ],
764 "funding": {
765 "url": "https://opencollective.com/libvips"
766 }
767 },
768 "node_modules/@img/sharp-linux-arm": {
769 "version": "0.33.5",
770 "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
771 "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
772 "cpu": [
773 "arm"
774 ],
775 "dev": true,
776 "optional": true,
777 "os": [
778 "linux"
779 ],
780 "engines": {
781 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
782 },
783 "funding": {
784 "url": "https://opencollective.com/libvips"
785 },
786 "optionalDependencies": {
787 "@img/sharp-libvips-linux-arm": "1.0.5"
788 }
789 },
790 "node_modules/@img/sharp-linux-arm64": {
791 "version": "0.33.5",
792 "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
793 "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
794 "cpu": [
795 "arm64"
796 ],
797 "dev": true,
798 "optional": true,
799 "os": [
800 "linux"
801 ],
802 "engines": {
803 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
804 },
805 "funding": {
806 "url": "https://opencollective.com/libvips"
807 },
808 "optionalDependencies": {
809 "@img/sharp-libvips-linux-arm64": "1.0.4"
810 }
811 },
812 "node_modules/@img/sharp-linux-s390x": {
813 "version": "0.33.5",
814 "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
815 "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
816 "cpu": [
817 "s390x"
818 ],
819 "dev": true,
820 "optional": true,
821 "os": [
822 "linux"
823 ],
824 "engines": {
825 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
826 },
827 "funding": {
828 "url": "https://opencollective.com/libvips"
829 },
830 "optionalDependencies": {
831 "@img/sharp-libvips-linux-s390x": "1.0.4"
832 }
833 },
834 "node_modules/@img/sharp-linux-x64": {
835 "version": "0.33.5",
836 "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
837 "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
838 "cpu": [
839 "x64"
840 ],
841 "dev": true,
842 "optional": true,
843 "os": [
844 "linux"
845 ],
846 "engines": {
847 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
848 },
849 "funding": {
850 "url": "https://opencollective.com/libvips"
851 },
852 "optionalDependencies": {
853 "@img/sharp-libvips-linux-x64": "1.0.4"
854 }
855 },
856 "node_modules/@img/sharp-linuxmusl-arm64": {
857 "version": "0.33.5",
858 "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
859 "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
860 "cpu": [
861 "arm64"
862 ],
863 "dev": true,
864 "optional": true,
865 "os": [
866 "linux"
867 ],
868 "engines": {
869 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
870 },
871 "funding": {
872 "url": "https://opencollective.com/libvips"
873 },
874 "optionalDependencies": {
875 "@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
876 }
877 },
878 "node_modules/@img/sharp-linuxmusl-x64": {
879 "version": "0.33.5",
880 "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
881 "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
882 "cpu": [
883 "x64"
884 ],
885 "dev": true,
886 "optional": true,
887 "os": [
888 "linux"
889 ],
890 "engines": {
891 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
892 },
893 "funding": {
894 "url": "https://opencollective.com/libvips"
895 },
896 "optionalDependencies": {
897 "@img/sharp-libvips-linuxmusl-x64": "1.0.4"
898 }
899 },
900 "node_modules/@img/sharp-wasm32": {
901 "version": "0.33.5",
902 "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
903 "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
904 "cpu": [
905 "wasm32"
906 ],
907 "dev": true,
908 "optional": true,
909 "dependencies": {
910 "@emnapi/runtime": "^1.2.0"
911 },
912 "engines": {
913 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
914 },
915 "funding": {
916 "url": "https://opencollective.com/libvips"
917 }
918 },
919 "node_modules/@img/sharp-win32-ia32": {
920 "version": "0.33.5",
921 "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
922 "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
923 "cpu": [
924 "ia32"
925 ],
926 "dev": true,
927 "optional": true,
928 "os": [
929 "win32"
930 ],
931 "engines": {
932 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
933 },
934 "funding": {
935 "url": "https://opencollective.com/libvips"
936 }
937 },
938 "node_modules/@img/sharp-win32-x64": {
939 "version": "0.33.5",
940 "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
941 "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
942 "cpu": [
943 "x64"
944 ],
945 "dev": true,
946 "optional": true,
947 "os": [
948 "win32"
949 ],
950 "engines": {
951 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
952 },
953 "funding": {
954 "url": "https://opencollective.com/libvips"
955 }
956 },
957 "node_modules/@jridgewell/resolve-uri": {
958 "version": "3.1.2",
959 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
960 "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
961 "dev": true,
962 "engines": {
963 "node": ">=6.0.0"
964 }
965 },
966 "node_modules/@jridgewell/sourcemap-codec": {
967 "version": "1.5.0",
968 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
969 "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
970 "dev": true
971 },
972 "node_modules/@jridgewell/trace-mapping": {
973 "version": "0.3.9",
974 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
975 "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
976 "dev": true,
977 "dependencies": {
978 "@jridgewell/resolve-uri": "^3.0.3",
979 "@jridgewell/sourcemap-codec": "^1.4.10"
980 }
981 },
982 "node_modules/@modelcontextprotocol/sdk": {
983 "version": "1.12.1",
984 "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.12.1.tgz",
985 "integrity": "sha512-KG1CZhZfWg+u8pxeM/mByJDScJSrjjxLc8fwQqbsS8xCjBmQfMNEBTotYdNanKekepnfRI85GtgQlctLFpcYPw==",
986 "peer": true,
987 "dependencies": {
988 "ajv": "^6.12.6",
989 "content-type": "^1.0.5",
990 "cors": "^2.8.5",
991 "cross-spawn": "^7.0.5",
992 "eventsource": "^3.0.2",
993 "express": "^5.0.1",
994 "express-rate-limit": "^7.5.0",
995 "pkce-challenge": "^5.0.0",
996 "raw-body": "^3.0.0",
997 "zod": "^3.23.8",
998 "zod-to-json-schema": "^3.24.1"
999 },
1000 "engines": {
1001 "node": ">=18"
1002 }
1003 },
1004 "node_modules/@types/node": {
1005 "version": "22.13.0",
1006 "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz",
1007 "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==",
1008 "dev": true,
1009 "dependencies": {
1010 "undici-types": "~6.20.0"
1011 }
1012 },
1013 "node_modules/@types/service-worker-mock": {
1014 "version": "2.0.4",
1015 "resolved": "https://registry.npmjs.org/@types/service-worker-mock/-/service-worker-mock-2.0.4.tgz",
1016 "integrity": "sha512-MEBT2eiqYfhxjqYm/oAf2AvKLbPTPwJJAYrMdheKnGyz1yG9XBRfxCzi93h27qpSvI7jOYfXqFLVMLBXFDqo4A==",
1017 "dev": true
1018 },
1019 "node_modules/accepts": {
1020 "version": "2.0.0",
1021 "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
1022 "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
1023 "peer": true,
1024 "dependencies": {
1025 "mime-types": "^3.0.0",
1026 "negotiator": "^1.0.0"
1027 },
1028 "engines": {
1029 "node": ">= 0.6"
1030 }
1031 },
1032 "node_modules/acorn": {
1033 "version": "8.14.0",
1034 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
1035 "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
1036 "dev": true,
1037 "bin": {
1038 "acorn": "bin/acorn"
1039 },
1040 "engines": {
1041 "node": ">=0.4.0"
1042 }
1043 },
1044 "node_modules/acorn-walk": {
1045 "version": "8.3.2",
1046 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
1047 "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
1048 "dev": true,
1049 "engines": {
1050 "node": ">=0.4.0"
1051 }
1052 },
1053 "node_modules/agent-base": {
1054 "version": "7.1.3",
1055 "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
1056 "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
1057 "engines": {
1058 "node": ">= 14"
1059 }
1060 },
1061 "node_modules/ajv": {
1062 "version": "6.12.6",
1063 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1064 "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1065 "peer": true,
1066 "dependencies": {
1067 "fast-deep-equal": "^3.1.1",
1068 "fast-json-stable-stringify": "^2.0.0",
1069 "json-schema-traverse": "^0.4.1",
1070 "uri-js": "^4.2.2"
1071 },
1072 "funding": {
1073 "type": "github",
1074 "url": "https://github.com/sponsors/epoberezkin"
1075 }
1076 },
1077 "node_modules/argparse": {
1078 "version": "2.0.1",
1079 "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1080 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
1081 },
1082 "node_modules/as-table": {
1083 "version": "1.0.55",
1084 "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz",
1085 "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==",
1086 "dev": true,
1087 "dependencies": {
1088 "printable-characters": "^1.0.42"
1089 }
1090 },
1091 "node_modules/base64-js": {
1092 "version": "1.5.1",
1093 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1094 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1095 "funding": [
1096 {
1097 "type": "github",
1098 "url": "https://github.com/sponsors/feross"
1099 },
1100 {
1101 "type": "patreon",
1102 "url": "https://www.patreon.com/feross"
1103 },
1104 {
1105 "type": "consulting",
1106 "url": "https://feross.org/support"
1107 }
1108 ]
1109 },
1110 "node_modules/bignumber.js": {
1111 "version": "9.3.0",
1112 "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz",
1113 "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==",
1114 "engines": {
1115 "node": "*"
1116 }
1117 },
1118 "node_modules/blake3-wasm": {
1119 "version": "2.1.5",
1120 "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
1121 "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
1122 "dev": true
1123 },
1124 "node_modules/body-parser": {
1125 "version": "2.2.0",
1126 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
1127 "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
1128 "peer": true,
1129 "dependencies": {
1130 "bytes": "^3.1.2",
1131 "content-type": "^1.0.5",
1132 "debug": "^4.4.0",
1133 "http-errors": "^2.0.0",
1134 "iconv-lite": "^0.6.3",
1135 "on-finished": "^2.4.1",
1136 "qs": "^6.14.0",
1137 "raw-body": "^3.0.0",
1138 "type-is": "^2.0.0"
1139 },
1140 "engines": {
1141 "node": ">=18"
1142 }
1143 },
1144 "node_modules/buffer-equal-constant-time": {
1145 "version": "1.0.1",
1146 "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
1147 "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
1148 },
1149 "node_modules/bytes": {
1150 "version": "3.1.2",
1151 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1152 "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
1153 "peer": true,
1154 "engines": {
1155 "node": ">= 0.8"
1156 }
1157 },
1158 "node_modules/call-bind-apply-helpers": {
1159 "version": "1.0.2",
1160 "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
1161 "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
1162 "peer": true,
1163 "dependencies": {
1164 "es-errors": "^1.3.0",
1165 "function-bind": "^1.1.2"
1166 },
1167 "engines": {
1168 "node": ">= 0.4"
1169 }
1170 },
1171 "node_modules/call-bound": {
1172 "version": "1.0.4",
1173 "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
1174 "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
1175 "peer": true,
1176 "dependencies": {
1177 "call-bind-apply-helpers": "^1.0.2",
1178 "get-intrinsic": "^1.3.0"
1179 },
1180 "engines": {
1181 "node": ">= 0.4"
1182 },
1183 "funding": {
1184 "url": "https://github.com/sponsors/ljharb"
1185 }
1186 },
1187 "node_modules/chanfana": {
1188 "version": "2.8.0",
1189 "resolved": "https://registry.npmjs.org/chanfana/-/chanfana-2.8.0.tgz",
1190 "integrity": "sha512-R0lY+c4lBVO8jnop9J5hY6W2Vq5YS3sb9NwI4nY2oJU65E38rC6LCNNhEVEITVmcn+EhuKIQK4FLJLW93gFG4g==",
1191 "dependencies": {
1192 "@asteasolutions/zod-to-openapi": "^7.2.0",
1193 "js-yaml": "^4.1.0",
1194 "openapi3-ts": "^4.4.0",
1195 "zod": "^3.23.8"
1196 }
1197 },
1198 "node_modules/color": {
1199 "version": "4.2.3",
1200 "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
1201 "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
1202 "dev": true,
1203 "dependencies": {
1204 "color-convert": "^2.0.1",
1205 "color-string": "^1.9.0"
1206 },
1207 "engines": {
1208 "node": ">=12.5.0"
1209 }
1210 },
1211 "node_modules/color-convert": {
1212 "version": "2.0.1",
1213 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1214 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1215 "dev": true,
1216 "dependencies": {
1217 "color-name": "~1.1.4"
1218 },
1219 "engines": {
1220 "node": ">=7.0.0"
1221 }
1222 },
1223 "node_modules/color-name": {
1224 "version": "1.1.4",
1225 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1226 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1227 "dev": true
1228 },
1229 "node_modules/color-string": {
1230 "version": "1.9.1",
1231 "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
1232 "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
1233 "dev": true,
1234 "dependencies": {
1235 "color-name": "^1.0.0",
1236 "simple-swizzle": "^0.2.2"
1237 }
1238 },
1239 "node_modules/content-disposition": {
1240 "version": "1.0.0",
1241 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz",
1242 "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
1243 "peer": true,
1244 "dependencies": {
1245 "safe-buffer": "5.2.1"
1246 },
1247 "engines": {
1248 "node": ">= 0.6"
1249 }
1250 },
1251 "node_modules/content-type": {
1252 "version": "1.0.5",
1253 "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
1254 "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
1255 "peer": true,
1256 "engines": {
1257 "node": ">= 0.6"
1258 }
1259 },
1260 "node_modules/cookie": {
1261 "version": "0.7.2",
1262 "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
1263 "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
1264 "engines": {
1265 "node": ">= 0.6"
1266 }
1267 },
1268 "node_modules/cookie-signature": {
1269 "version": "1.2.2",
1270 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
1271 "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
1272 "peer": true,
1273 "engines": {
1274 "node": ">=6.6.0"
1275 }
1276 },
1277 "node_modules/cors": {
1278 "version": "2.8.5",
1279 "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
1280 "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
1281 "peer": true,
1282 "dependencies": {
1283 "object-assign": "^4",
1284 "vary": "^1"
1285 },
1286 "engines": {
1287 "node": ">= 0.10"
1288 }
1289 },
1290 "node_modules/cross-spawn": {
1291 "version": "7.0.6",
1292 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1293 "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1294 "peer": true,
1295 "dependencies": {
1296 "path-key": "^3.1.0",
1297 "shebang-command": "^2.0.0",
1298 "which": "^2.0.1"
1299 },
1300 "engines": {
1301 "node": ">= 8"
1302 }
1303 },
1304 "node_modules/data-uri-to-buffer": {
1305 "version": "2.0.2",
1306 "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz",
1307 "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==",
1308 "dev": true
1309 },
1310 "node_modules/debug": {
1311 "version": "4.4.1",
1312 "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
1313 "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
1314 "dependencies": {
1315 "ms": "^2.1.3"
1316 },
1317 "engines": {
1318 "node": ">=6.0"
1319 },
1320 "peerDependenciesMeta": {
1321 "supports-color": {
1322 "optional": true
1323 }
1324 }
1325 },
1326 "node_modules/defu": {
1327 "version": "6.1.4",
1328 "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
1329 "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
1330 "dev": true
1331 },
1332 "node_modules/depd": {
1333 "version": "2.0.0",
1334 "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
1335 "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
1336 "peer": true,
1337 "engines": {
1338 "node": ">= 0.8"
1339 }
1340 },
1341 "node_modules/detect-libc": {
1342 "version": "2.0.4",
1343 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
1344 "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
1345 "dev": true,
1346 "engines": {
1347 "node": ">=8"
1348 }
1349 },
1350 "node_modules/dunder-proto": {
1351 "version": "1.0.1",
1352 "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
1353 "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
1354 "peer": true,
1355 "dependencies": {
1356 "call-bind-apply-helpers": "^1.0.1",
1357 "es-errors": "^1.3.0",
1358 "gopd": "^1.2.0"
1359 },
1360 "engines": {
1361 "node": ">= 0.4"
1362 }
1363 },
1364 "node_modules/ecdsa-sig-formatter": {
1365 "version": "1.0.11",
1366 "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
1367 "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
1368 "dependencies": {
1369 "safe-buffer": "^5.0.1"
1370 }
1371 },
1372 "node_modules/ee-first": {
1373 "version": "1.1.1",
1374 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1375 "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
1376 "peer": true
1377 },
1378 "node_modules/encodeurl": {
1379 "version": "2.0.0",
1380 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
1381 "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
1382 "peer": true,
1383 "engines": {
1384 "node": ">= 0.8"
1385 }
1386 },
1387 "node_modules/es-define-property": {
1388 "version": "1.0.1",
1389 "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
1390 "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
1391 "peer": true,
1392 "engines": {
1393 "node": ">= 0.4"
1394 }
1395 },
1396 "node_modules/es-errors": {
1397 "version": "1.3.0",
1398 "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
1399 "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
1400 "peer": true,
1401 "engines": {
1402 "node": ">= 0.4"
1403 }
1404 },
1405 "node_modules/es-object-atoms": {
1406 "version": "1.1.1",
1407 "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
1408 "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
1409 "peer": true,
1410 "dependencies": {
1411 "es-errors": "^1.3.0"
1412 },
1413 "engines": {
1414 "node": ">= 0.4"
1415 }
1416 },
1417 "node_modules/esbuild": {
1418 "version": "0.25.4",
1419 "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
1420 "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
1421 "dev": true,
1422 "hasInstallScript": true,
1423 "bin": {
1424 "esbuild": "bin/esbuild"
1425 },
1426 "engines": {
1427 "node": ">=18"
1428 },
1429 "optionalDependencies": {
1430 "@esbuild/aix-ppc64": "0.25.4",
1431 "@esbuild/android-arm": "0.25.4",
1432 "@esbuild/android-arm64": "0.25.4",
1433 "@esbuild/android-x64": "0.25.4",
1434 "@esbuild/darwin-arm64": "0.25.4",
1435 "@esbuild/darwin-x64": "0.25.4",
1436 "@esbuild/freebsd-arm64": "0.25.4",
1437 "@esbuild/freebsd-x64": "0.25.4",
1438 "@esbuild/linux-arm": "0.25.4",
1439 "@esbuild/linux-arm64": "0.25.4",
1440 "@esbuild/linux-ia32": "0.25.4",
1441 "@esbuild/linux-loong64": "0.25.4",
1442 "@esbuild/linux-mips64el": "0.25.4",
1443 "@esbuild/linux-ppc64": "0.25.4",
1444 "@esbuild/linux-riscv64": "0.25.4",
1445 "@esbuild/linux-s390x": "0.25.4",
1446 "@esbuild/linux-x64": "0.25.4",
1447 "@esbuild/netbsd-arm64": "0.25.4",
1448 "@esbuild/netbsd-x64": "0.25.4",
1449 "@esbuild/openbsd-arm64": "0.25.4",
1450 "@esbuild/openbsd-x64": "0.25.4",
1451 "@esbuild/sunos-x64": "0.25.4",
1452 "@esbuild/win32-arm64": "0.25.4",
1453 "@esbuild/win32-ia32": "0.25.4",
1454 "@esbuild/win32-x64": "0.25.4"
1455 }
1456 },
1457 "node_modules/escape-html": {
1458 "version": "1.0.3",
1459 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1460 "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
1461 "peer": true
1462 },
1463 "node_modules/etag": {
1464 "version": "1.8.1",
1465 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1466 "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
1467 "peer": true,
1468 "engines": {
1469 "node": ">= 0.6"
1470 }
1471 },
1472 "node_modules/eventsource": {
1473 "version": "3.0.7",
1474 "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
1475 "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
1476 "peer": true,
1477 "dependencies": {
1478 "eventsource-parser": "^3.0.1"
1479 },
1480 "engines": {
1481 "node": ">=18.0.0"
1482 }
1483 },
1484 "node_modules/eventsource-parser": {
1485 "version": "3.0.2",
1486 "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.2.tgz",
1487 "integrity": "sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==",
1488 "peer": true,
1489 "engines": {
1490 "node": ">=18.0.0"
1491 }
1492 },
1493 "node_modules/exit-hook": {
1494 "version": "2.2.1",
1495 "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz",
1496 "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==",
1497 "dev": true,
1498 "engines": {
1499 "node": ">=6"
1500 },
1501 "funding": {
1502 "url": "https://github.com/sponsors/sindresorhus"
1503 }
1504 },
1505 "node_modules/express": {
1506 "version": "5.1.0",
1507 "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
1508 "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
1509 "peer": true,
1510 "dependencies": {
1511 "accepts": "^2.0.0",
1512 "body-parser": "^2.2.0",
1513 "content-disposition": "^1.0.0",
1514 "content-type": "^1.0.5",
1515 "cookie": "^0.7.1",
1516 "cookie-signature": "^1.2.1",
1517 "debug": "^4.4.0",
1518 "encodeurl": "^2.0.0",
1519 "escape-html": "^1.0.3",
1520 "etag": "^1.8.1",
1521 "finalhandler": "^2.1.0",
1522 "fresh": "^2.0.0",
1523 "http-errors": "^2.0.0",
1524 "merge-descriptors": "^2.0.0",
1525 "mime-types": "^3.0.0",
1526 "on-finished": "^2.4.1",
1527 "once": "^1.4.0",
1528 "parseurl": "^1.3.3",
1529 "proxy-addr": "^2.0.7",
1530 "qs": "^6.14.0",
1531 "range-parser": "^1.2.1",
1532 "router": "^2.2.0",
1533 "send": "^1.1.0",
1534 "serve-static": "^2.2.0",
1535 "statuses": "^2.0.1",
1536 "type-is": "^2.0.1",
1537 "vary": "^1.1.2"
1538 },
1539 "engines": {
1540 "node": ">= 18"
1541 },
1542 "funding": {
1543 "type": "opencollective",
1544 "url": "https://opencollective.com/express"
1545 }
1546 },
1547 "node_modules/express-rate-limit": {
1548 "version": "7.5.0",
1549 "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz",
1550 "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==",
1551 "peer": true,
1552 "engines": {
1553 "node": ">= 16"
1554 },
1555 "funding": {
1556 "url": "https://github.com/sponsors/express-rate-limit"
1557 },
1558 "peerDependencies": {
1559 "express": "^4.11 || 5 || ^5.0.0-beta.1"
1560 }
1561 },
1562 "node_modules/exsolve": {
1563 "version": "1.0.5",
1564 "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz",
1565 "integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==",
1566 "dev": true
1567 },
1568 "node_modules/extend": {
1569 "version": "3.0.2",
1570 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1571 "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1572 },
1573 "node_modules/fast-deep-equal": {
1574 "version": "3.1.3",
1575 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1576 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1577 "peer": true
1578 },
1579 "node_modules/fast-json-stable-stringify": {
1580 "version": "2.1.0",
1581 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1582 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1583 "peer": true
1584 },
1585 "node_modules/finalhandler": {
1586 "version": "2.1.0",
1587 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
1588 "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
1589 "peer": true,
1590 "dependencies": {
1591 "debug": "^4.4.0",
1592 "encodeurl": "^2.0.0",
1593 "escape-html": "^1.0.3",
1594 "on-finished": "^2.4.1",
1595 "parseurl": "^1.3.3",
1596 "statuses": "^2.0.1"
1597 },
1598 "engines": {
1599 "node": ">= 0.8"
1600 }
1601 },
1602 "node_modules/forwarded": {
1603 "version": "0.2.0",
1604 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1605 "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
1606 "peer": true,
1607 "engines": {
1608 "node": ">= 0.6"
1609 }
1610 },
1611 "node_modules/fresh": {
1612 "version": "2.0.0",
1613 "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
1614 "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
1615 "peer": true,
1616 "engines": {
1617 "node": ">= 0.8"
1618 }
1619 },
1620 "node_modules/fsevents": {
1621 "version": "2.3.3",
1622 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1623 "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1624 "dev": true,
1625 "hasInstallScript": true,
1626 "optional": true,
1627 "os": [
1628 "darwin"
1629 ],
1630 "engines": {
1631 "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1632 }
1633 },
1634 "node_modules/function-bind": {
1635 "version": "1.1.2",
1636 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1637 "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1638 "peer": true,
1639 "funding": {
1640 "url": "https://github.com/sponsors/ljharb"
1641 }
1642 },
1643 "node_modules/gaxios": {
1644 "version": "6.7.1",
1645 "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz",
1646 "integrity": "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==",
1647 "dependencies": {
1648 "extend": "^3.0.2",
1649 "https-proxy-agent": "^7.0.1",
1650 "is-stream": "^2.0.0",
1651 "node-fetch": "^2.6.9",
1652 "uuid": "^9.0.1"
1653 },
1654 "engines": {
1655 "node": ">=14"
1656 }
1657 },
1658 "node_modules/gcp-metadata": {
1659 "version": "6.1.1",
1660 "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.1.tgz",
1661 "integrity": "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==",
1662 "dependencies": {
1663 "gaxios": "^6.1.1",
1664 "google-logging-utils": "^0.0.2",
1665 "json-bigint": "^1.0.0"
1666 },
1667 "engines": {
1668 "node": ">=14"
1669 }
1670 },
1671 "node_modules/get-intrinsic": {
1672 "version": "1.3.0",
1673 "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
1674 "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
1675 "peer": true,
1676 "dependencies": {
1677 "call-bind-apply-helpers": "^1.0.2",
1678 "es-define-property": "^1.0.1",
1679 "es-errors": "^1.3.0",
1680 "es-object-atoms": "^1.1.1",
1681 "function-bind": "^1.1.2",
1682 "get-proto": "^1.0.1",
1683 "gopd": "^1.2.0",
1684 "has-symbols": "^1.1.0",
1685 "hasown": "^2.0.2",
1686 "math-intrinsics": "^1.1.0"
1687 },
1688 "engines": {
1689 "node": ">= 0.4"
1690 },
1691 "funding": {
1692 "url": "https://github.com/sponsors/ljharb"
1693 }
1694 },
1695 "node_modules/get-proto": {
1696 "version": "1.0.1",
1697 "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
1698 "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
1699 "peer": true,
1700 "dependencies": {
1701 "dunder-proto": "^1.0.1",
1702 "es-object-atoms": "^1.0.0"
1703 },
1704 "engines": {
1705 "node": ">= 0.4"
1706 }
1707 },
1708 "node_modules/get-source": {
1709 "version": "2.0.12",
1710 "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz",
1711 "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==",
1712 "dev": true,
1713 "dependencies": {
1714 "data-uri-to-buffer": "^2.0.0",
1715 "source-map": "^0.6.1"
1716 }
1717 },
1718 "node_modules/glob-to-regexp": {
1719 "version": "0.4.1",
1720 "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
1721 "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
1722 "dev": true
1723 },
1724 "node_modules/google-auth-library": {
1725 "version": "9.15.1",
1726 "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.1.tgz",
1727 "integrity": "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==",
1728 "dependencies": {
1729 "base64-js": "^1.3.0",
1730 "ecdsa-sig-formatter": "^1.0.11",
1731 "gaxios": "^6.1.1",
1732 "gcp-metadata": "^6.1.0",
1733 "gtoken": "^7.0.0",
1734 "jws": "^4.0.0"
1735 },
1736 "engines": {
1737 "node": ">=14"
1738 }
1739 },
1740 "node_modules/google-logging-utils": {
1741 "version": "0.0.2",
1742 "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-0.0.2.tgz",
1743 "integrity": "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==",
1744 "engines": {
1745 "node": ">=14"
1746 }
1747 },
1748 "node_modules/gopd": {
1749 "version": "1.2.0",
1750 "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
1751 "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
1752 "peer": true,
1753 "engines": {
1754 "node": ">= 0.4"
1755 },
1756 "funding": {
1757 "url": "https://github.com/sponsors/ljharb"
1758 }
1759 },
1760 "node_modules/gtoken": {
1761 "version": "7.1.0",
1762 "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz",
1763 "integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==",
1764 "dependencies": {
1765 "gaxios": "^6.0.0",
1766 "jws": "^4.0.0"
1767 },
1768 "engines": {
1769 "node": ">=14.0.0"
1770 }
1771 },
1772 "node_modules/has-symbols": {
1773 "version": "1.1.0",
1774 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
1775 "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
1776 "peer": true,
1777 "engines": {
1778 "node": ">= 0.4"
1779 },
1780 "funding": {
1781 "url": "https://github.com/sponsors/ljharb"
1782 }
1783 },
1784 "node_modules/hasown": {
1785 "version": "2.0.2",
1786 "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1787 "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1788 "peer": true,
1789 "dependencies": {
1790 "function-bind": "^1.1.2"
1791 },
1792 "engines": {
1793 "node": ">= 0.4"
1794 }
1795 },
1796 "node_modules/hono": {
1797 "version": "4.7.11",
1798 "resolved": "https://registry.npmjs.org/hono/-/hono-4.7.11.tgz",
1799 "integrity": "sha512-rv0JMwC0KALbbmwJDEnxvQCeJh+xbS3KEWW5PC9cMJ08Ur9xgatI0HmtgYZfOdOSOeYsp5LO2cOhdI8cLEbDEQ==",
1800 "engines": {
1801 "node": ">=16.9.0"
1802 }
1803 },
1804 "node_modules/http-errors": {
1805 "version": "2.0.0",
1806 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1807 "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1808 "peer": true,
1809 "dependencies": {
1810 "depd": "2.0.0",
1811 "inherits": "2.0.4",
1812 "setprototypeof": "1.2.0",
1813 "statuses": "2.0.1",
1814 "toidentifier": "1.0.1"
1815 },
1816 "engines": {
1817 "node": ">= 0.8"
1818 }
1819 },
1820 "node_modules/http-errors/node_modules/statuses": {
1821 "version": "2.0.1",
1822 "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1823 "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
1824 "peer": true,
1825 "engines": {
1826 "node": ">= 0.8"
1827 }
1828 },
1829 "node_modules/https-proxy-agent": {
1830 "version": "7.0.6",
1831 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
1832 "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
1833 "dependencies": {
1834 "agent-base": "^7.1.2",
1835 "debug": "4"
1836 },
1837 "engines": {
1838 "node": ">= 14"
1839 }
1840 },
1841 "node_modules/iconv-lite": {
1842 "version": "0.6.3",
1843 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
1844 "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
1845 "peer": true,
1846 "dependencies": {
1847 "safer-buffer": ">= 2.1.2 < 3.0.0"
1848 },
1849 "engines": {
1850 "node": ">=0.10.0"
1851 }
1852 },
1853 "node_modules/inherits": {
1854 "version": "2.0.4",
1855 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1856 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1857 "peer": true
1858 },
1859 "node_modules/ipaddr.js": {
1860 "version": "1.9.1",
1861 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1862 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
1863 "peer": true,
1864 "engines": {
1865 "node": ">= 0.10"
1866 }
1867 },
1868 "node_modules/is-arrayish": {
1869 "version": "0.3.2",
1870 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
1871 "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
1872 "dev": true
1873 },
1874 "node_modules/is-promise": {
1875 "version": "4.0.0",
1876 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
1877 "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
1878 "peer": true
1879 },
1880 "node_modules/is-stream": {
1881 "version": "2.0.1",
1882 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
1883 "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
1884 "engines": {
1885 "node": ">=8"
1886 },
1887 "funding": {
1888 "url": "https://github.com/sponsors/sindresorhus"
1889 }
1890 },
1891 "node_modules/isexe": {
1892 "version": "2.0.0",
1893 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1894 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1895 "peer": true
1896 },
1897 "node_modules/js-yaml": {
1898 "version": "4.1.0",
1899 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1900 "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1901 "dependencies": {
1902 "argparse": "^2.0.1"
1903 },
1904 "bin": {
1905 "js-yaml": "bin/js-yaml.js"
1906 }
1907 },
1908 "node_modules/json-bigint": {
1909 "version": "1.0.0",
1910 "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
1911 "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
1912 "dependencies": {
1913 "bignumber.js": "^9.0.0"
1914 }
1915 },
1916 "node_modules/json-schema-traverse": {
1917 "version": "0.4.1",
1918 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1919 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1920 "peer": true
1921 },
1922 "node_modules/jwa": {
1923 "version": "2.0.1",
1924 "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
1925 "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
1926 "dependencies": {
1927 "buffer-equal-constant-time": "^1.0.1",
1928 "ecdsa-sig-formatter": "1.0.11",
1929 "safe-buffer": "^5.0.1"
1930 }
1931 },
1932 "node_modules/jws": {
1933 "version": "4.0.0",
1934 "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
1935 "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
1936 "dependencies": {
1937 "jwa": "^2.0.0",
1938 "safe-buffer": "^5.0.1"
1939 }
1940 },
1941 "node_modules/math-intrinsics": {
1942 "version": "1.1.0",
1943 "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
1944 "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
1945 "peer": true,
1946 "engines": {
1947 "node": ">= 0.4"
1948 }
1949 },
1950 "node_modules/media-typer": {
1951 "version": "1.1.0",
1952 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
1953 "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
1954 "peer": true,
1955 "engines": {
1956 "node": ">= 0.8"
1957 }
1958 },
1959 "node_modules/merge-descriptors": {
1960 "version": "2.0.0",
1961 "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
1962 "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
1963 "peer": true,
1964 "engines": {
1965 "node": ">=18"
1966 },
1967 "funding": {
1968 "url": "https://github.com/sponsors/sindresorhus"
1969 }
1970 },
1971 "node_modules/mime": {
1972 "version": "3.0.0",
1973 "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
1974 "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
1975 "dev": true,
1976 "bin": {
1977 "mime": "cli.js"
1978 },
1979 "engines": {
1980 "node": ">=10.0.0"
1981 }
1982 },
1983 "node_modules/mime-db": {
1984 "version": "1.54.0",
1985 "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
1986 "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
1987 "peer": true,
1988 "engines": {
1989 "node": ">= 0.6"
1990 }
1991 },
1992 "node_modules/mime-types": {
1993 "version": "3.0.1",
1994 "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
1995 "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
1996 "peer": true,
1997 "dependencies": {
1998 "mime-db": "^1.54.0"
1999 },
2000 "engines": {
2001 "node": ">= 0.6"
2002 }
2003 },
2004 "node_modules/miniflare": {
2005 "version": "4.20250525.1",
2006 "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250525.1.tgz",
2007 "integrity": "sha512-4PJlT5WA+hfclFU5Q7xnpG1G1VGYTXaf/3iu6iKQ8IsbSi9QvPTA2bSZ5goCFxmJXDjV4cxttVxB0Wl1CLuQ0w==",
2008 "dev": true,
2009 "dependencies": {
2010 "@cspotcode/source-map-support": "0.8.1",
2011 "acorn": "8.14.0",
2012 "acorn-walk": "8.3.2",
2013 "exit-hook": "2.2.1",
2014 "glob-to-regexp": "0.4.1",
2015 "sharp": "^0.33.5",
2016 "stoppable": "1.1.0",
2017 "undici": "^5.28.5",
2018 "workerd": "1.20250525.0",
2019 "ws": "8.18.0",
2020 "youch": "3.3.4",
2021 "zod": "3.22.3"
2022 },
2023 "bin": {
2024 "miniflare": "bootstrap.js"
2025 },
2026 "engines": {
2027 "node": ">=18.0.0"
2028 }
2029 },
2030 "node_modules/miniflare/node_modules/zod": {
2031 "version": "3.22.3",
2032 "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz",
2033 "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==",
2034 "dev": true,
2035 "funding": {
2036 "url": "https://github.com/sponsors/colinhacks"
2037 }
2038 },
2039 "node_modules/ms": {
2040 "version": "2.1.3",
2041 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2042 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
2043 },
2044 "node_modules/mustache": {
2045 "version": "4.2.0",
2046 "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
2047 "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
2048 "dev": true,
2049 "bin": {
2050 "mustache": "bin/mustache"
2051 }
2052 },
2053 "node_modules/negotiator": {
2054 "version": "1.0.0",
2055 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
2056 "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
2057 "peer": true,
2058 "engines": {
2059 "node": ">= 0.6"
2060 }
2061 },
2062 "node_modules/node-fetch": {
2063 "version": "2.7.0",
2064 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
2065 "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
2066 "dependencies": {
2067 "whatwg-url": "^5.0.0"
2068 },
2069 "engines": {
2070 "node": "4.x || >=6.0.0"
2071 },
2072 "peerDependencies": {
2073 "encoding": "^0.1.0"
2074 },
2075 "peerDependenciesMeta": {
2076 "encoding": {
2077 "optional": true
2078 }
2079 }
2080 },
2081 "node_modules/object-assign": {
2082 "version": "4.1.1",
2083 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2084 "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
2085 "peer": true,
2086 "engines": {
2087 "node": ">=0.10.0"
2088 }
2089 },
2090 "node_modules/object-inspect": {
2091 "version": "1.13.4",
2092 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
2093 "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
2094 "peer": true,
2095 "engines": {
2096 "node": ">= 0.4"
2097 },
2098 "funding": {
2099 "url": "https://github.com/sponsors/ljharb"
2100 }
2101 },
2102 "node_modules/ohash": {
2103 "version": "2.0.11",
2104 "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
2105 "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
2106 "dev": true
2107 },
2108 "node_modules/on-finished": {
2109 "version": "2.4.1",
2110 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
2111 "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
2112 "peer": true,
2113 "dependencies": {
2114 "ee-first": "1.1.1"
2115 },
2116 "engines": {
2117 "node": ">= 0.8"
2118 }
2119 },
2120 "node_modules/once": {
2121 "version": "1.4.0",
2122 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2123 "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2124 "peer": true,
2125 "dependencies": {
2126 "wrappy": "1"
2127 }
2128 },
2129 "node_modules/openapi3-ts": {
2130 "version": "4.4.0",
2131 "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.4.0.tgz",
2132 "integrity": "sha512-9asTNB9IkKEzWMcHmVZE7Ts3kC9G7AFHfs8i7caD8HbI76gEjdkId4z/AkP83xdZsH7PLAnnbl47qZkXuxpArw==",
2133 "dependencies": {
2134 "yaml": "^2.5.0"
2135 }
2136 },
2137 "node_modules/parseurl": {
2138 "version": "1.3.3",
2139 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
2140 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
2141 "peer": true,
2142 "engines": {
2143 "node": ">= 0.8"
2144 }
2145 },
2146 "node_modules/path-key": {
2147 "version": "3.1.1",
2148 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2149 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2150 "peer": true,
2151 "engines": {
2152 "node": ">=8"
2153 }
2154 },
2155 "node_modules/path-to-regexp": {
2156 "version": "6.3.0",
2157 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
2158 "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
2159 "dev": true
2160 },
2161 "node_modules/pathe": {
2162 "version": "2.0.3",
2163 "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
2164 "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
2165 "dev": true
2166 },
2167 "node_modules/pkce-challenge": {
2168 "version": "5.0.0",
2169 "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz",
2170 "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==",
2171 "peer": true,
2172 "engines": {
2173 "node": ">=16.20.0"
2174 }
2175 },
2176 "node_modules/printable-characters": {
2177 "version": "1.0.42",
2178 "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz",
2179 "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==",
2180 "dev": true
2181 },
2182 "node_modules/proxy-addr": {
2183 "version": "2.0.7",
2184 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
2185 "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
2186 "peer": true,
2187 "dependencies": {
2188 "forwarded": "0.2.0",
2189 "ipaddr.js": "1.9.1"
2190 },
2191 "engines": {
2192 "node": ">= 0.10"
2193 }
2194 },
2195 "node_modules/punycode": {
2196 "version": "2.3.1",
2197 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
2198 "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
2199 "peer": true,
2200 "engines": {
2201 "node": ">=6"
2202 }
2203 },
2204 "node_modules/qs": {
2205 "version": "6.14.0",
2206 "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
2207 "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
2208 "peer": true,
2209 "dependencies": {
2210 "side-channel": "^1.1.0"
2211 },
2212 "engines": {
2213 "node": ">=0.6"
2214 },
2215 "funding": {
2216 "url": "https://github.com/sponsors/ljharb"
2217 }
2218 },
2219 "node_modules/range-parser": {
2220 "version": "1.2.1",
2221 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
2222 "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
2223 "peer": true,
2224 "engines": {
2225 "node": ">= 0.6"
2226 }
2227 },
2228 "node_modules/raw-body": {
2229 "version": "3.0.0",
2230 "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz",
2231 "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==",
2232 "peer": true,
2233 "dependencies": {
2234 "bytes": "3.1.2",
2235 "http-errors": "2.0.0",
2236 "iconv-lite": "0.6.3",
2237 "unpipe": "1.0.0"
2238 },
2239 "engines": {
2240 "node": ">= 0.8"
2241 }
2242 },
2243 "node_modules/router": {
2244 "version": "2.2.0",
2245 "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
2246 "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
2247 "peer": true,
2248 "dependencies": {
2249 "debug": "^4.4.0",
2250 "depd": "^2.0.0",
2251 "is-promise": "^4.0.0",
2252 "parseurl": "^1.3.3",
2253 "path-to-regexp": "^8.0.0"
2254 },
2255 "engines": {
2256 "node": ">= 18"
2257 }
2258 },
2259 "node_modules/router/node_modules/path-to-regexp": {
2260 "version": "8.2.0",
2261 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz",
2262 "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==",
2263 "peer": true,
2264 "engines": {
2265 "node": ">=16"
2266 }
2267 },
2268 "node_modules/safe-buffer": {
2269 "version": "5.2.1",
2270 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2271 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2272 "funding": [
2273 {
2274 "type": "github",
2275 "url": "https://github.com/sponsors/feross"
2276 },
2277 {
2278 "type": "patreon",
2279 "url": "https://www.patreon.com/feross"
2280 },
2281 {
2282 "type": "consulting",
2283 "url": "https://feross.org/support"
2284 }
2285 ]
2286 },
2287 "node_modules/safer-buffer": {
2288 "version": "2.1.2",
2289 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2290 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2291 "peer": true
2292 },
2293 "node_modules/semver": {
2294 "version": "7.7.2",
2295 "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
2296 "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
2297 "dev": true,
2298 "bin": {
2299 "semver": "bin/semver.js"
2300 },
2301 "engines": {
2302 "node": ">=10"
2303 }
2304 },
2305 "node_modules/send": {
2306 "version": "1.2.0",
2307 "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
2308 "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
2309 "peer": true,
2310 "dependencies": {
2311 "debug": "^4.3.5",
2312 "encodeurl": "^2.0.0",
2313 "escape-html": "^1.0.3",
2314 "etag": "^1.8.1",
2315 "fresh": "^2.0.0",
2316 "http-errors": "^2.0.0",
2317 "mime-types": "^3.0.1",
2318 "ms": "^2.1.3",
2319 "on-finished": "^2.4.1",
2320 "range-parser": "^1.2.1",
2321 "statuses": "^2.0.1"
2322 },
2323 "engines": {
2324 "node": ">= 18"
2325 }
2326 },
2327 "node_modules/serve-static": {
2328 "version": "2.2.0",
2329 "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
2330 "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
2331 "peer": true,
2332 "dependencies": {
2333 "encodeurl": "^2.0.0",
2334 "escape-html": "^1.0.3",
2335 "parseurl": "^1.3.3",
2336 "send": "^1.2.0"
2337 },
2338 "engines": {
2339 "node": ">= 18"
2340 }
2341 },
2342 "node_modules/setprototypeof": {
2343 "version": "1.2.0",
2344 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
2345 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
2346 "peer": true
2347 },
2348 "node_modules/sharp": {
2349 "version": "0.33.5",
2350 "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
2351 "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
2352 "dev": true,
2353 "hasInstallScript": true,
2354 "dependencies": {
2355 "color": "^4.2.3",
2356 "detect-libc": "^2.0.3",
2357 "semver": "^7.6.3"
2358 },
2359 "engines": {
2360 "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
2361 },
2362 "funding": {
2363 "url": "https://opencollective.com/libvips"
2364 },
2365 "optionalDependencies": {
2366 "@img/sharp-darwin-arm64": "0.33.5",
2367 "@img/sharp-darwin-x64": "0.33.5",
2368 "@img/sharp-libvips-darwin-arm64": "1.0.4",
2369 "@img/sharp-libvips-darwin-x64": "1.0.4",
2370 "@img/sharp-libvips-linux-arm": "1.0.5",
2371 "@img/sharp-libvips-linux-arm64": "1.0.4",
2372 "@img/sharp-libvips-linux-s390x": "1.0.4",
2373 "@img/sharp-libvips-linux-x64": "1.0.4",
2374 "@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
2375 "@img/sharp-libvips-linuxmusl-x64": "1.0.4",
2376 "@img/sharp-linux-arm": "0.33.5",
2377 "@img/sharp-linux-arm64": "0.33.5",
2378 "@img/sharp-linux-s390x": "0.33.5",
2379 "@img/sharp-linux-x64": "0.33.5",
2380 "@img/sharp-linuxmusl-arm64": "0.33.5",
2381 "@img/sharp-linuxmusl-x64": "0.33.5",
2382 "@img/sharp-wasm32": "0.33.5",
2383 "@img/sharp-win32-ia32": "0.33.5",
2384 "@img/sharp-win32-x64": "0.33.5"
2385 }
2386 },
2387 "node_modules/shebang-command": {
2388 "version": "2.0.0",
2389 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2390 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2391 "peer": true,
2392 "dependencies": {
2393 "shebang-regex": "^3.0.0"
2394 },
2395 "engines": {
2396 "node": ">=8"
2397 }
2398 },
2399 "node_modules/shebang-regex": {
2400 "version": "3.0.0",
2401 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2402 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2403 "peer": true,
2404 "engines": {
2405 "node": ">=8"
2406 }
2407 },
2408 "node_modules/side-channel": {
2409 "version": "1.1.0",
2410 "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
2411 "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
2412 "peer": true,
2413 "dependencies": {
2414 "es-errors": "^1.3.0",
2415 "object-inspect": "^1.13.3",
2416 "side-channel-list": "^1.0.0",
2417 "side-channel-map": "^1.0.1",
2418 "side-channel-weakmap": "^1.0.2"
2419 },
2420 "engines": {
2421 "node": ">= 0.4"
2422 },
2423 "funding": {
2424 "url": "https://github.com/sponsors/ljharb"
2425 }
2426 },
2427 "node_modules/side-channel-list": {
2428 "version": "1.0.0",
2429 "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
2430 "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
2431 "peer": true,
2432 "dependencies": {
2433 "es-errors": "^1.3.0",
2434 "object-inspect": "^1.13.3"
2435 },
2436 "engines": {
2437 "node": ">= 0.4"
2438 },
2439 "funding": {
2440 "url": "https://github.com/sponsors/ljharb"
2441 }
2442 },
2443 "node_modules/side-channel-map": {
2444 "version": "1.0.1",
2445 "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
2446 "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
2447 "peer": true,
2448 "dependencies": {
2449 "call-bound": "^1.0.2",
2450 "es-errors": "^1.3.0",
2451 "get-intrinsic": "^1.2.5",
2452 "object-inspect": "^1.13.3"
2453 },
2454 "engines": {
2455 "node": ">= 0.4"
2456 },
2457 "funding": {
2458 "url": "https://github.com/sponsors/ljharb"
2459 }
2460 },
2461 "node_modules/side-channel-weakmap": {
2462 "version": "1.0.2",
2463 "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
2464 "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
2465 "peer": true,
2466 "dependencies": {
2467 "call-bound": "^1.0.2",
2468 "es-errors": "^1.3.0",
2469 "get-intrinsic": "^1.2.5",
2470 "object-inspect": "^1.13.3",
2471 "side-channel-map": "^1.0.1"
2472 },
2473 "engines": {
2474 "node": ">= 0.4"
2475 },
2476 "funding": {
2477 "url": "https://github.com/sponsors/ljharb"
2478 }
2479 },
2480 "node_modules/simple-swizzle": {
2481 "version": "0.2.2",
2482 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
2483 "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
2484 "dev": true,
2485 "dependencies": {
2486 "is-arrayish": "^0.3.1"
2487 }
2488 },
2489 "node_modules/source-map": {
2490 "version": "0.6.1",
2491 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2492 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2493 "dev": true,
2494 "engines": {
2495 "node": ">=0.10.0"
2496 }
2497 },
2498 "node_modules/stacktracey": {
2499 "version": "2.1.8",
2500 "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz",
2501 "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==",
2502 "dev": true,
2503 "dependencies": {
2504 "as-table": "^1.0.36",
2505 "get-source": "^2.0.12"
2506 }
2507 },
2508 "node_modules/statuses": {
2509 "version": "2.0.2",
2510 "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
2511 "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
2512 "peer": true,
2513 "engines": {
2514 "node": ">= 0.8"
2515 }
2516 },
2517 "node_modules/stoppable": {
2518 "version": "1.1.0",
2519 "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
2520 "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
2521 "dev": true,
2522 "engines": {
2523 "node": ">=4",
2524 "npm": ">=6"
2525 }
2526 },
2527 "node_modules/toidentifier": {
2528 "version": "1.0.1",
2529 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
2530 "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
2531 "peer": true,
2532 "engines": {
2533 "node": ">=0.6"
2534 }
2535 },
2536 "node_modules/tr46": {
2537 "version": "0.0.3",
2538 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
2539 "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
2540 },
2541 "node_modules/tslib": {
2542 "version": "2.8.1",
2543 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
2544 "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
2545 "dev": true,
2546 "optional": true
2547 },
2548 "node_modules/type-is": {
2549 "version": "2.0.1",
2550 "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
2551 "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
2552 "peer": true,
2553 "dependencies": {
2554 "content-type": "^1.0.5",
2555 "media-typer": "^1.1.0",
2556 "mime-types": "^3.0.0"
2557 },
2558 "engines": {
2559 "node": ">= 0.6"
2560 }
2561 },
2562 "node_modules/ufo": {
2563 "version": "1.6.1",
2564 "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
2565 "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
2566 "dev": true
2567 },
2568 "node_modules/undici": {
2569 "version": "5.29.0",
2570 "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
2571 "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
2572 "dev": true,
2573 "dependencies": {
2574 "@fastify/busboy": "^2.0.0"
2575 },
2576 "engines": {
2577 "node": ">=14.0"
2578 }
2579 },
2580 "node_modules/undici-types": {
2581 "version": "6.20.0",
2582 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
2583 "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
2584 "dev": true
2585 },
2586 "node_modules/unenv": {
2587 "version": "2.0.0-rc.17",
2588 "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.17.tgz",
2589 "integrity": "sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==",
2590 "dev": true,
2591 "dependencies": {
2592 "defu": "^6.1.4",
2593 "exsolve": "^1.0.4",
2594 "ohash": "^2.0.11",
2595 "pathe": "^2.0.3",
2596 "ufo": "^1.6.1"
2597 }
2598 },
2599 "node_modules/unpipe": {
2600 "version": "1.0.0",
2601 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2602 "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
2603 "peer": true,
2604 "engines": {
2605 "node": ">= 0.8"
2606 }
2607 },
2608 "node_modules/uri-js": {
2609 "version": "4.4.1",
2610 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2611 "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2612 "peer": true,
2613 "dependencies": {
2614 "punycode": "^2.1.0"
2615 }
2616 },
2617 "node_modules/uuid": {
2618 "version": "9.0.1",
2619 "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
2620 "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
2621 "funding": [
2622 "https://github.com/sponsors/broofa",
2623 "https://github.com/sponsors/ctavan"
2624 ],
2625 "bin": {
2626 "uuid": "dist/bin/uuid"
2627 }
2628 },
2629 "node_modules/vary": {
2630 "version": "1.1.2",
2631 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2632 "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
2633 "peer": true,
2634 "engines": {
2635 "node": ">= 0.8"
2636 }
2637 },
2638 "node_modules/webidl-conversions": {
2639 "version": "3.0.1",
2640 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
2641 "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
2642 },
2643 "node_modules/whatwg-url": {
2644 "version": "5.0.0",
2645 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
2646 "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
2647 "dependencies": {
2648 "tr46": "~0.0.3",
2649 "webidl-conversions": "^3.0.0"
2650 }
2651 },
2652 "node_modules/which": {
2653 "version": "2.0.2",
2654 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2655 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2656 "peer": true,
2657 "dependencies": {
2658 "isexe": "^2.0.0"
2659 },
2660 "bin": {
2661 "node-which": "bin/node-which"
2662 },
2663 "engines": {
2664 "node": ">= 8"
2665 }
2666 },
2667 "node_modules/workerd": {
2668 "version": "1.20250525.0",
2669 "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250525.0.tgz",
2670 "integrity": "sha512-SXJgLREy/Aqw2J71Oah0Pbu+SShbqbTExjVQyRBTM1r7MG7fS5NUlknhnt6sikjA/t4cO09Bi8OJqHdTkrcnYQ==",
2671 "dev": true,
2672 "hasInstallScript": true,
2673 "bin": {
2674 "workerd": "bin/workerd"
2675 },
2676 "engines": {
2677 "node": ">=16"
2678 },
2679 "optionalDependencies": {
2680 "@cloudflare/workerd-darwin-64": "1.20250525.0",
2681 "@cloudflare/workerd-darwin-arm64": "1.20250525.0",
2682 "@cloudflare/workerd-linux-64": "1.20250525.0",
2683 "@cloudflare/workerd-linux-arm64": "1.20250525.0",
2684 "@cloudflare/workerd-windows-64": "1.20250525.0"
2685 }
2686 },
2687 "node_modules/wrangler": {
2688 "version": "4.19.1",
2689 "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.19.1.tgz",
2690 "integrity": "sha512-b+ed2SJKauHgndl4Im1wHE+FeSSlrdlEZNuvpc8q/94k4EmRxRkXnwBAsVWuicBxG3HStFLQPGGlvL8wGKTtHw==",
2691 "dev": true,
2692 "dependencies": {
2693 "@cloudflare/kv-asset-handler": "0.4.0",
2694 "@cloudflare/unenv-preset": "2.3.2",
2695 "blake3-wasm": "2.1.5",
2696 "esbuild": "0.25.4",
2697 "miniflare": "4.20250525.1",
2698 "path-to-regexp": "6.3.0",
2699 "unenv": "2.0.0-rc.17",
2700 "workerd": "1.20250525.0"
2701 },
2702 "bin": {
2703 "wrangler": "bin/wrangler.js",
2704 "wrangler2": "bin/wrangler.js"
2705 },
2706 "engines": {
2707 "node": ">=18.0.0"
2708 },
2709 "optionalDependencies": {
2710 "fsevents": "~2.3.2"
2711 },
2712 "peerDependencies": {
2713 "@cloudflare/workers-types": "^4.20250525.0"
2714 },
2715 "peerDependenciesMeta": {
2716 "@cloudflare/workers-types": {
2717 "optional": true
2718 }
2719 }
2720 },
2721 "node_modules/wrappy": {
2722 "version": "1.0.2",
2723 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2724 "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2725 "peer": true
2726 },
2727 "node_modules/ws": {
2728 "version": "8.18.0",
2729 "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
2730 "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
2731 "engines": {
2732 "node": ">=10.0.0"
2733 },
2734 "peerDependencies": {
2735 "bufferutil": "^4.0.1",
2736 "utf-8-validate": ">=5.0.2"
2737 },
2738 "peerDependenciesMeta": {
2739 "bufferutil": {
2740 "optional": true
2741 },
2742 "utf-8-validate": {
2743 "optional": true
2744 }
2745 }
2746 },
2747 "node_modules/yaml": {
2748 "version": "2.8.0",
2749 "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
2750 "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
2751 "bin": {
2752 "yaml": "bin.mjs"
2753 },
2754 "engines": {
2755 "node": ">= 14.6"
2756 }
2757 },
2758 "node_modules/youch": {
2759 "version": "3.3.4",
2760 "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz",
2761 "integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==",
2762 "dev": true,
2763 "dependencies": {
2764 "cookie": "^0.7.1",
2765 "mustache": "^4.2.0",
2766 "stacktracey": "^2.1.8"
2767 }
2768 },
2769 "node_modules/zod": {
2770 "version": "3.25.56",
2771 "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.56.tgz",
2772 "integrity": "sha512-rd6eEF3BTNvQnR2e2wwolfTmUTnp70aUTqr0oaGbHifzC3BKJsoV+Gat8vxUMR1hwOKBs6El+qWehrHbCpW6SQ==",
2773 "funding": {
2774 "url": "https://github.com/sponsors/colinhacks"
2775 }
2776 },
2777 "node_modules/zod-to-json-schema": {
2778 "version": "3.24.5",
2779 "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz",
2780 "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==",
2781 "peerDependencies": {
2782 "zod": "^3.24.1"
2783 }
2784 }
2785 }
2786}