A simple BlueSky profile labeler that can be ran on Cloudflare Workers github.com/SocksTheWolf/SimpleBSkyLabeler
cf bsky profile label bluesky cloudflare workers
1
fork

Configure Feed

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

update deps

+715 -1434
+183 -1380
package-lock.json
··· 15 15 "uint8arrays": "^5.1.0" 16 16 }, 17 17 "devDependencies": { 18 - "@skyware/labeler": "^0.2.0", 19 - "@types/node": "^25.0.2", 18 + "@types/node": "^25.5.0", 20 19 "run-p": "^0.0.0", 21 20 "typescript": "^5.9.3", 22 - "wrangler": "^4.59.1" 23 - } 24 - }, 25 - "node_modules/@atcute/bluesky": { 26 - "version": "1.0.15", 27 - "resolved": "https://registry.npmjs.org/@atcute/bluesky/-/bluesky-1.0.15.tgz", 28 - "integrity": "sha512-+EFiybmKQ97aBAgtaD+cKRJER5AMn3cZMkEwEg/pDdWyzxYJ9m1UgemmLdTgI8VrxPufKqdXS2nl7uO7TY6BPA==", 29 - "dev": true, 30 - "license": "MIT", 31 - "peerDependencies": { 32 - "@atcute/client": "^1.0.0 || ^2.0.0" 21 + "wrangler": "^4.73.0" 33 22 } 34 23 }, 35 24 "node_modules/@atcute/cbor": { ··· 59 48 "license": "MIT" 60 49 }, 61 50 "node_modules/@atcute/multibase": { 62 - "version": "1.1.6", 63 - "resolved": "https://registry.npmjs.org/@atcute/multibase/-/multibase-1.1.6.tgz", 64 - "integrity": "sha512-HBxuCgYLKPPxETV0Rot4VP9e24vKl8JdzGCZOVsDaOXJgbRZoRIF67Lp0H/OgnJeH/Xpva8Z5ReoTNJE5dn3kg==", 51 + "version": "1.1.8", 52 + "resolved": "https://registry.npmjs.org/@atcute/multibase/-/multibase-1.1.8.tgz", 53 + "integrity": "sha512-pJgtImMZKCjqwRbu+2GzB+4xQjKBXDwdZOzeqe0u97zYKRGftpGYGvYv3+pMe2xXe+msDyu7Nv8iJp+U14otTA==", 65 54 "license": "0BSD", 66 55 "dependencies": { 67 - "@atcute/uint8array": "^1.0.5" 68 - } 69 - }, 70 - "node_modules/@atcute/ozone": { 71 - "version": "1.0.12", 72 - "resolved": "https://registry.npmjs.org/@atcute/ozone/-/ozone-1.0.12.tgz", 73 - "integrity": "sha512-eogx/FCF6X3WTwAPxgG8RcrziuOUcJvMu+qHodeVcLSQ7QJvw2H/Q5V0HpnZegUOY5aRGKb5RvLk2SeZq3LCeA==", 74 - "dev": true, 75 - "license": "MIT", 76 - "peerDependencies": { 77 - "@atcute/bluesky": "^1.0.0", 78 - "@atcute/client": "^1.0.0 || ^2.0.0" 56 + "@atcute/uint8array": "^1.1.1" 79 57 } 80 58 }, 81 59 "node_modules/@atcute/uint8array": { 82 - "version": "1.0.6", 83 - "resolved": "https://registry.npmjs.org/@atcute/uint8array/-/uint8array-1.0.6.tgz", 84 - "integrity": "sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A==", 60 + "version": "1.1.1", 61 + "resolved": "https://registry.npmjs.org/@atcute/uint8array/-/uint8array-1.1.1.tgz", 62 + "integrity": "sha512-3LsC8XB8TKe9q/5hOA5sFuzGaIFdJZJNewC5OKa3o/eU6+K7JR6see9Zy2JbQERNVnRl11EzbNov1efgLMAs4g==", 85 63 "license": "0BSD" 86 64 }, 87 65 "node_modules/@atcute/varint": { 88 - "version": "1.0.3", 89 - "resolved": "https://registry.npmjs.org/@atcute/varint/-/varint-1.0.3.tgz", 90 - "integrity": "sha512-fdvMPyBB+McDT+Ai5e9RwEbwYV4yjZ60S2Dn5PTjGqUyxvoCH1z42viuheDZRUDkmfQehXJTZ5az7dSozVNtog==", 66 + "version": "1.0.4", 67 + "resolved": "https://registry.npmjs.org/@atcute/varint/-/varint-1.0.4.tgz", 68 + "integrity": "sha512-0nGBaRyJLoxVvCHTSLGwPZKs64PPi/0lDA4viF3I5zxsRmVPsXaE92J8VQj3KoZfk0+Z+liXklG1Onw7G9S4oQ==", 91 69 "license": "0BSD" 92 70 }, 93 71 "node_modules/@cloudflare/kv-asset-handler": { 94 - "version": "0.4.1", 95 - "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.1.tgz", 96 - "integrity": "sha512-Nu8ahitGFFJztxUml9oD/DLb7Z28C8cd8F46IVQ7y5Btz575pvMY8AqZsXkX7Gds29eCKdMgIHjIvzskHgPSFg==", 72 + "version": "0.4.2", 73 + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.2.tgz", 74 + "integrity": "sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==", 97 75 "dev": true, 98 76 "license": "MIT OR Apache-2.0", 99 - "dependencies": { 100 - "mime": "^3.0.0" 101 - }, 102 77 "engines": { 103 78 "node": ">=18.0.0" 104 79 } 105 80 }, 106 81 "node_modules/@cloudflare/unenv-preset": { 107 - "version": "2.9.0", 108 - "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.9.0.tgz", 109 - "integrity": "sha512-99nEvuOTCGGGRNaIat8UVVXJ27aZK+U09SYDp0kVjQLwC9wyxcrQ28IqLwrQq2DjWLmBI1+UalGJzdPqYgPlRw==", 82 + "version": "2.15.0", 83 + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.15.0.tgz", 84 + "integrity": "sha512-EGYmJaGZKWl+X8tXxcnx4v2bOZSjQeNI5dWFeXivgX9+YCT69AkzHHwlNbVpqtEUTbew8eQurpyOpeN8fg00nw==", 110 85 "dev": true, 111 86 "license": "MIT OR Apache-2.0", 112 87 "peerDependencies": { 113 88 "unenv": "2.0.0-rc.24", 114 - "workerd": "^1.20251202.0" 89 + "workerd": "1.20260301.1 || ~1.20260302.1 || ~1.20260303.1 || ~1.20260304.1 || >1.20260305.0 <2.0.0-0" 115 90 }, 116 91 "peerDependenciesMeta": { 117 92 "workerd": { ··· 120 95 } 121 96 }, 122 97 "node_modules/@cloudflare/workerd-darwin-64": { 123 - "version": "1.20260111.0", 124 - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260111.0.tgz", 125 - "integrity": "sha512-UGAjrGLev2/CMLZy7b+v1NIXA4Hupc/QJBFlJwMqldywMcJ/iEqvuUYYuVI2wZXuXeWkgmgFP87oFDQsg78YTQ==", 98 + "version": "1.20260312.1", 99 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260312.1.tgz", 100 + "integrity": "sha512-HUAtDWaqUduS6yasV6+NgsK7qBpP1qGU49ow/Wb117IHjYp+PZPUGReDYocpB4GOMRoQlvdd4L487iFxzdARpw==", 126 101 "cpu": [ 127 102 "x64" 128 103 ], ··· 137 112 } 138 113 }, 139 114 "node_modules/@cloudflare/workerd-darwin-arm64": { 140 - "version": "1.20260111.0", 141 - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260111.0.tgz", 142 - "integrity": "sha512-YFAZwidLCQVa6rKCCaiWrhA+eh87a7MUhyd9lat3KSbLBAGpYM+ORpyTXpi2Gjm3j6Mp1e/wtzcFTSeMIy2UqA==", 115 + "version": "1.20260312.1", 116 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260312.1.tgz", 117 + "integrity": "sha512-DOn7TPTHSxJYfi4m4NYga/j32wOTqvJf/pY4Txz5SDKWIZHSTXFyGz2K4B+thoPWLop/KZxGoyTv7db0mk/qyw==", 143 118 "cpu": [ 144 119 "arm64" 145 120 ], ··· 154 129 } 155 130 }, 156 131 "node_modules/@cloudflare/workerd-linux-64": { 157 - "version": "1.20260111.0", 158 - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260111.0.tgz", 159 - "integrity": "sha512-zx1GW6FwfOBjCV7QUCRzGRkViUtn3Is/zaaVPmm57xyy9sjtInx6/SdeBr2Y45tx9AnOP1CnaOFFdmH1P7VIEg==", 132 + "version": "1.20260312.1", 133 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260312.1.tgz", 134 + "integrity": "sha512-TdkIh3WzPXYHuvz7phAtFEEvAxvFd30tHrm4gsgpw0R0F5b8PtoM3hfL2uY7EcBBWVYUBtkY2ahDYFfufnXw/g==", 160 135 "cpu": [ 161 136 "x64" 162 137 ], ··· 171 146 } 172 147 }, 173 148 "node_modules/@cloudflare/workerd-linux-arm64": { 174 - "version": "1.20260111.0", 175 - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260111.0.tgz", 176 - "integrity": "sha512-wFVKxNvCyjRaAcgiSnJNJAmIos3p3Vv6Uhf4pFUZ9JIxr69GNlLWlm9SdCPvtwNFAjzSoDaKzDwjj5xqpuCS6Q==", 149 + "version": "1.20260312.1", 150 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260312.1.tgz", 151 + "integrity": "sha512-kNauZhL569Iy94t844OMwa1zP6zKFiL3xiJ4tGLS+TFTEfZ3pZsRH6lWWOtkXkjTyCmBEOog0HSEKjIV4oAffw==", 177 152 "cpu": [ 178 153 "arm64" 179 154 ], ··· 188 163 } 189 164 }, 190 165 "node_modules/@cloudflare/workerd-windows-64": { 191 - "version": "1.20260111.0", 192 - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260111.0.tgz", 193 - "integrity": "sha512-zWgd77L7OI1BxgBbG+2gybDahIMgPX5iNo6e3LqcEz1Xm3KfiqgnDyMBcxeQ7xDrj7fHUGAlc//QnKvDchuUoQ==", 166 + "version": "1.20260312.1", 167 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260312.1.tgz", 168 + "integrity": "sha512-5dBrlSK+nMsZy5bYQpj8t9iiQNvCRlkm9GGvswJa9vVU/1BNO4BhJMlqOLWT24EmFyApZ+kaBiPJMV8847NDTg==", 194 169 "cpu": [ 195 170 "x64" 196 171 ], ··· 218 193 } 219 194 }, 220 195 "node_modules/@emnapi/runtime": { 221 - "version": "1.8.1", 222 - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", 223 - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", 196 + "version": "1.9.0", 197 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", 198 + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", 224 199 "dev": true, 225 200 "license": "MIT", 226 201 "optional": true, ··· 229 204 } 230 205 }, 231 206 "node_modules/@esbuild/aix-ppc64": { 232 - "version": "0.27.0", 233 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.0.tgz", 234 - "integrity": "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==", 207 + "version": "0.27.3", 208 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", 209 + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", 235 210 "cpu": [ 236 211 "ppc64" 237 212 ], ··· 246 221 } 247 222 }, 248 223 "node_modules/@esbuild/android-arm": { 249 - "version": "0.27.0", 250 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.0.tgz", 251 - "integrity": "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==", 224 + "version": "0.27.3", 225 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", 226 + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", 252 227 "cpu": [ 253 228 "arm" 254 229 ], ··· 263 238 } 264 239 }, 265 240 "node_modules/@esbuild/android-arm64": { 266 - "version": "0.27.0", 267 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.0.tgz", 268 - "integrity": "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==", 241 + "version": "0.27.3", 242 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", 243 + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", 269 244 "cpu": [ 270 245 "arm64" 271 246 ], ··· 280 255 } 281 256 }, 282 257 "node_modules/@esbuild/android-x64": { 283 - "version": "0.27.0", 284 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.0.tgz", 285 - "integrity": "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==", 258 + "version": "0.27.3", 259 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", 260 + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", 286 261 "cpu": [ 287 262 "x64" 288 263 ], ··· 297 272 } 298 273 }, 299 274 "node_modules/@esbuild/darwin-arm64": { 300 - "version": "0.27.0", 301 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.0.tgz", 302 - "integrity": "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==", 275 + "version": "0.27.3", 276 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", 277 + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", 303 278 "cpu": [ 304 279 "arm64" 305 280 ], ··· 314 289 } 315 290 }, 316 291 "node_modules/@esbuild/darwin-x64": { 317 - "version": "0.27.0", 318 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.0.tgz", 319 - "integrity": "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==", 292 + "version": "0.27.3", 293 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", 294 + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", 320 295 "cpu": [ 321 296 "x64" 322 297 ], ··· 331 306 } 332 307 }, 333 308 "node_modules/@esbuild/freebsd-arm64": { 334 - "version": "0.27.0", 335 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.0.tgz", 336 - "integrity": "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==", 309 + "version": "0.27.3", 310 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", 311 + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", 337 312 "cpu": [ 338 313 "arm64" 339 314 ], ··· 348 323 } 349 324 }, 350 325 "node_modules/@esbuild/freebsd-x64": { 351 - "version": "0.27.0", 352 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.0.tgz", 353 - "integrity": "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==", 326 + "version": "0.27.3", 327 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", 328 + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", 354 329 "cpu": [ 355 330 "x64" 356 331 ], ··· 365 340 } 366 341 }, 367 342 "node_modules/@esbuild/linux-arm": { 368 - "version": "0.27.0", 369 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.0.tgz", 370 - "integrity": "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==", 343 + "version": "0.27.3", 344 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", 345 + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", 371 346 "cpu": [ 372 347 "arm" 373 348 ], ··· 382 357 } 383 358 }, 384 359 "node_modules/@esbuild/linux-arm64": { 385 - "version": "0.27.0", 386 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.0.tgz", 387 - "integrity": "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==", 360 + "version": "0.27.3", 361 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", 362 + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", 388 363 "cpu": [ 389 364 "arm64" 390 365 ], ··· 399 374 } 400 375 }, 401 376 "node_modules/@esbuild/linux-ia32": { 402 - "version": "0.27.0", 403 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.0.tgz", 404 - "integrity": "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==", 377 + "version": "0.27.3", 378 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", 379 + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", 405 380 "cpu": [ 406 381 "ia32" 407 382 ], ··· 416 391 } 417 392 }, 418 393 "node_modules/@esbuild/linux-loong64": { 419 - "version": "0.27.0", 420 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.0.tgz", 421 - "integrity": "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==", 394 + "version": "0.27.3", 395 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", 396 + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", 422 397 "cpu": [ 423 398 "loong64" 424 399 ], ··· 433 408 } 434 409 }, 435 410 "node_modules/@esbuild/linux-mips64el": { 436 - "version": "0.27.0", 437 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.0.tgz", 438 - "integrity": "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==", 411 + "version": "0.27.3", 412 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", 413 + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", 439 414 "cpu": [ 440 415 "mips64el" 441 416 ], ··· 450 425 } 451 426 }, 452 427 "node_modules/@esbuild/linux-ppc64": { 453 - "version": "0.27.0", 454 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.0.tgz", 455 - "integrity": "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==", 428 + "version": "0.27.3", 429 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", 430 + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", 456 431 "cpu": [ 457 432 "ppc64" 458 433 ], ··· 467 442 } 468 443 }, 469 444 "node_modules/@esbuild/linux-riscv64": { 470 - "version": "0.27.0", 471 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.0.tgz", 472 - "integrity": "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==", 445 + "version": "0.27.3", 446 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", 447 + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", 473 448 "cpu": [ 474 449 "riscv64" 475 450 ], ··· 484 459 } 485 460 }, 486 461 "node_modules/@esbuild/linux-s390x": { 487 - "version": "0.27.0", 488 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.0.tgz", 489 - "integrity": "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==", 462 + "version": "0.27.3", 463 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", 464 + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", 490 465 "cpu": [ 491 466 "s390x" 492 467 ], ··· 501 476 } 502 477 }, 503 478 "node_modules/@esbuild/linux-x64": { 504 - "version": "0.27.0", 505 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.0.tgz", 506 - "integrity": "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==", 479 + "version": "0.27.3", 480 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", 481 + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", 507 482 "cpu": [ 508 483 "x64" 509 484 ], ··· 518 493 } 519 494 }, 520 495 "node_modules/@esbuild/netbsd-arm64": { 521 - "version": "0.27.0", 522 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.0.tgz", 523 - "integrity": "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==", 496 + "version": "0.27.3", 497 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", 498 + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", 524 499 "cpu": [ 525 500 "arm64" 526 501 ], ··· 535 510 } 536 511 }, 537 512 "node_modules/@esbuild/netbsd-x64": { 538 - "version": "0.27.0", 539 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.0.tgz", 540 - "integrity": "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==", 513 + "version": "0.27.3", 514 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", 515 + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", 541 516 "cpu": [ 542 517 "x64" 543 518 ], ··· 552 527 } 553 528 }, 554 529 "node_modules/@esbuild/openbsd-arm64": { 555 - "version": "0.27.0", 556 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.0.tgz", 557 - "integrity": "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==", 530 + "version": "0.27.3", 531 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", 532 + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", 558 533 "cpu": [ 559 534 "arm64" 560 535 ], ··· 569 544 } 570 545 }, 571 546 "node_modules/@esbuild/openbsd-x64": { 572 - "version": "0.27.0", 573 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.0.tgz", 574 - "integrity": "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==", 547 + "version": "0.27.3", 548 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", 549 + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", 575 550 "cpu": [ 576 551 "x64" 577 552 ], ··· 586 561 } 587 562 }, 588 563 "node_modules/@esbuild/openharmony-arm64": { 589 - "version": "0.27.0", 590 - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.0.tgz", 591 - "integrity": "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==", 564 + "version": "0.27.3", 565 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", 566 + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", 592 567 "cpu": [ 593 568 "arm64" 594 569 ], ··· 603 578 } 604 579 }, 605 580 "node_modules/@esbuild/sunos-x64": { 606 - "version": "0.27.0", 607 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.0.tgz", 608 - "integrity": "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==", 581 + "version": "0.27.3", 582 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", 583 + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", 609 584 "cpu": [ 610 585 "x64" 611 586 ], ··· 620 595 } 621 596 }, 622 597 "node_modules/@esbuild/win32-arm64": { 623 - "version": "0.27.0", 624 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.0.tgz", 625 - "integrity": "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==", 598 + "version": "0.27.3", 599 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", 600 + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", 626 601 "cpu": [ 627 602 "arm64" 628 603 ], ··· 637 612 } 638 613 }, 639 614 "node_modules/@esbuild/win32-ia32": { 640 - "version": "0.27.0", 641 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.0.tgz", 642 - "integrity": "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==", 615 + "version": "0.27.3", 616 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", 617 + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", 643 618 "cpu": [ 644 619 "ia32" 645 620 ], ··· 654 629 } 655 630 }, 656 631 "node_modules/@esbuild/win32-x64": { 657 - "version": "0.27.0", 658 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.0.tgz", 659 - "integrity": "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==", 632 + "version": "0.27.3", 633 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", 634 + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", 660 635 "cpu": [ 661 636 "x64" 662 637 ], ··· 670 645 "node": ">=18" 671 646 } 672 647 }, 673 - "node_modules/@fastify/ajv-compiler": { 674 - "version": "3.6.0", 675 - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.6.0.tgz", 676 - "integrity": "sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==", 677 - "dev": true, 678 - "license": "MIT", 679 - "dependencies": { 680 - "ajv": "^8.11.0", 681 - "ajv-formats": "^2.1.1", 682 - "fast-uri": "^2.0.0" 683 - } 684 - }, 685 - "node_modules/@fastify/error": { 686 - "version": "3.4.1", 687 - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", 688 - "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==", 689 - "dev": true, 690 - "license": "MIT" 691 - }, 692 - "node_modules/@fastify/fast-json-stringify-compiler": { 693 - "version": "4.3.0", 694 - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", 695 - "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", 696 - "dev": true, 697 - "license": "MIT", 698 - "dependencies": { 699 - "fast-json-stringify": "^5.7.0" 700 - } 701 - }, 702 - "node_modules/@fastify/merge-json-schemas": { 703 - "version": "0.1.1", 704 - "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", 705 - "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", 706 - "dev": true, 707 - "license": "MIT", 708 - "dependencies": { 709 - "fast-deep-equal": "^3.1.3" 710 - } 711 - }, 712 - "node_modules/@fastify/websocket": { 713 - "version": "10.0.1", 714 - "resolved": "https://registry.npmjs.org/@fastify/websocket/-/websocket-10.0.1.tgz", 715 - "integrity": "sha512-8/pQIxTPRD8U94aILTeJ+2O3el/r19+Ej5z1O1mXlqplsUH7KzCjAI0sgd5DM/NoPjAi5qLFNIjgM5+9/rGSNw==", 716 - "dev": true, 717 - "license": "MIT", 718 - "dependencies": { 719 - "duplexify": "^4.1.2", 720 - "fastify-plugin": "^4.0.0", 721 - "ws": "^8.0.0" 722 - } 723 - }, 724 648 "node_modules/@img/colour": { 725 - "version": "1.0.0", 726 - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", 727 - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", 649 + "version": "1.1.0", 650 + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", 651 + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", 728 652 "dev": true, 729 653 "license": "MIT", 730 654 "engines": { ··· 1239 1163 "@jridgewell/sourcemap-codec": "^1.4.10" 1240 1164 } 1241 1165 }, 1242 - "node_modules/@libsql/client": { 1243 - "version": "0.14.0", 1244 - "resolved": "https://registry.npmjs.org/@libsql/client/-/client-0.14.0.tgz", 1245 - "integrity": "sha512-/9HEKfn6fwXB5aTEEoMeFh4CtG0ZzbncBb1e++OCdVpgKZ/xyMsIVYXm0w7Pv4RUel803vE6LwniB3PqD72R0Q==", 1246 - "dev": true, 1247 - "license": "MIT", 1248 - "dependencies": { 1249 - "@libsql/core": "^0.14.0", 1250 - "@libsql/hrana-client": "^0.7.0", 1251 - "js-base64": "^3.7.5", 1252 - "libsql": "^0.4.4", 1253 - "promise-limit": "^2.7.0" 1254 - } 1255 - }, 1256 - "node_modules/@libsql/core": { 1257 - "version": "0.14.0", 1258 - "resolved": "https://registry.npmjs.org/@libsql/core/-/core-0.14.0.tgz", 1259 - "integrity": "sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==", 1260 - "dev": true, 1261 - "license": "MIT", 1262 - "dependencies": { 1263 - "js-base64": "^3.7.5" 1264 - } 1265 - }, 1266 - "node_modules/@libsql/darwin-arm64": { 1267 - "version": "0.4.7", 1268 - "resolved": "https://registry.npmjs.org/@libsql/darwin-arm64/-/darwin-arm64-0.4.7.tgz", 1269 - "integrity": "sha512-yOL742IfWUlUevnI5PdnIT4fryY3LYTdLm56bnY0wXBw7dhFcnjuA7jrH3oSVz2mjZTHujxoITgAE7V6Z+eAbg==", 1270 - "cpu": [ 1271 - "arm64" 1272 - ], 1273 - "dev": true, 1274 - "license": "MIT", 1275 - "optional": true, 1276 - "os": [ 1277 - "darwin" 1278 - ] 1279 - }, 1280 - "node_modules/@libsql/darwin-x64": { 1281 - "version": "0.4.7", 1282 - "resolved": "https://registry.npmjs.org/@libsql/darwin-x64/-/darwin-x64-0.4.7.tgz", 1283 - "integrity": "sha512-ezc7V75+eoyyH07BO9tIyJdqXXcRfZMbKcLCeF8+qWK5nP8wWuMcfOVywecsXGRbT99zc5eNra4NEx6z5PkSsA==", 1284 - "cpu": [ 1285 - "x64" 1286 - ], 1287 - "dev": true, 1288 - "license": "MIT", 1289 - "optional": true, 1290 - "os": [ 1291 - "darwin" 1292 - ] 1293 - }, 1294 - "node_modules/@libsql/hrana-client": { 1295 - "version": "0.7.0", 1296 - "resolved": "https://registry.npmjs.org/@libsql/hrana-client/-/hrana-client-0.7.0.tgz", 1297 - "integrity": "sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==", 1298 - "dev": true, 1299 - "license": "MIT", 1300 - "dependencies": { 1301 - "@libsql/isomorphic-fetch": "^0.3.1", 1302 - "@libsql/isomorphic-ws": "^0.1.5", 1303 - "js-base64": "^3.7.5", 1304 - "node-fetch": "^3.3.2" 1305 - } 1306 - }, 1307 - "node_modules/@libsql/isomorphic-fetch": { 1308 - "version": "0.3.1", 1309 - "resolved": "https://registry.npmjs.org/@libsql/isomorphic-fetch/-/isomorphic-fetch-0.3.1.tgz", 1310 - "integrity": "sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==", 1311 - "dev": true, 1312 - "license": "MIT", 1313 - "engines": { 1314 - "node": ">=18.0.0" 1315 - } 1316 - }, 1317 - "node_modules/@libsql/isomorphic-ws": { 1318 - "version": "0.1.5", 1319 - "resolved": "https://registry.npmjs.org/@libsql/isomorphic-ws/-/isomorphic-ws-0.1.5.tgz", 1320 - "integrity": "sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==", 1321 - "dev": true, 1322 - "license": "MIT", 1323 - "dependencies": { 1324 - "@types/ws": "^8.5.4", 1325 - "ws": "^8.13.0" 1326 - } 1327 - }, 1328 - "node_modules/@libsql/linux-arm64-gnu": { 1329 - "version": "0.4.7", 1330 - "resolved": "https://registry.npmjs.org/@libsql/linux-arm64-gnu/-/linux-arm64-gnu-0.4.7.tgz", 1331 - "integrity": "sha512-WlX2VYB5diM4kFfNaYcyhw5y+UJAI3xcMkEUJZPtRDEIu85SsSFrQ+gvoKfcVh76B//ztSeEX2wl9yrjF7BBCA==", 1332 - "cpu": [ 1333 - "arm64" 1334 - ], 1335 - "dev": true, 1336 - "license": "MIT", 1337 - "optional": true, 1338 - "os": [ 1339 - "linux" 1340 - ] 1341 - }, 1342 - "node_modules/@libsql/linux-arm64-musl": { 1343 - "version": "0.4.7", 1344 - "resolved": "https://registry.npmjs.org/@libsql/linux-arm64-musl/-/linux-arm64-musl-0.4.7.tgz", 1345 - "integrity": "sha512-6kK9xAArVRlTCpWeqnNMCoXW1pe7WITI378n4NpvU5EJ0Ok3aNTIC2nRPRjhro90QcnmLL1jPcrVwO4WD1U0xw==", 1346 - "cpu": [ 1347 - "arm64" 1348 - ], 1349 - "dev": true, 1350 - "license": "MIT", 1351 - "optional": true, 1352 - "os": [ 1353 - "linux" 1354 - ] 1355 - }, 1356 - "node_modules/@libsql/linux-x64-gnu": { 1357 - "version": "0.4.7", 1358 - "resolved": "https://registry.npmjs.org/@libsql/linux-x64-gnu/-/linux-x64-gnu-0.4.7.tgz", 1359 - "integrity": "sha512-CMnNRCmlWQqqzlTw6NeaZXzLWI8bydaXDke63JTUCvu8R+fj/ENsLrVBtPDlxQ0wGsYdXGlrUCH8Qi9gJep0yQ==", 1360 - "cpu": [ 1361 - "x64" 1362 - ], 1363 - "dev": true, 1364 - "license": "MIT", 1365 - "optional": true, 1366 - "os": [ 1367 - "linux" 1368 - ] 1369 - }, 1370 - "node_modules/@libsql/linux-x64-musl": { 1371 - "version": "0.4.7", 1372 - "resolved": "https://registry.npmjs.org/@libsql/linux-x64-musl/-/linux-x64-musl-0.4.7.tgz", 1373 - "integrity": "sha512-nI6tpS1t6WzGAt1Kx1n1HsvtBbZ+jHn0m7ogNNT6pQHZQj7AFFTIMeDQw/i/Nt5H38np1GVRNsFe99eSIMs9XA==", 1374 - "cpu": [ 1375 - "x64" 1376 - ], 1377 - "dev": true, 1378 - "license": "MIT", 1379 - "optional": true, 1380 - "os": [ 1381 - "linux" 1382 - ] 1383 - }, 1384 - "node_modules/@libsql/win32-x64-msvc": { 1385 - "version": "0.4.7", 1386 - "resolved": "https://registry.npmjs.org/@libsql/win32-x64-msvc/-/win32-x64-msvc-0.4.7.tgz", 1387 - "integrity": "sha512-7pJzOWzPm6oJUxml+PCDRzYQ4A1hTMHAciTAHfFK4fkbDZX33nWPVG7Y3vqdKtslcwAzwmrNDc6sXy2nwWnbiw==", 1388 - "cpu": [ 1389 - "x64" 1390 - ], 1391 - "dev": true, 1392 - "license": "MIT", 1393 - "optional": true, 1394 - "os": [ 1395 - "win32" 1396 - ] 1397 - }, 1398 - "node_modules/@neon-rs/load": { 1399 - "version": "0.0.4", 1400 - "resolved": "https://registry.npmjs.org/@neon-rs/load/-/load-0.0.4.tgz", 1401 - "integrity": "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==", 1402 - "dev": true, 1403 - "license": "MIT" 1404 - }, 1405 - "node_modules/@noble/curves": { 1406 - "version": "1.9.7", 1407 - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", 1408 - "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", 1409 - "dev": true, 1410 - "license": "MIT", 1411 - "dependencies": { 1412 - "@noble/hashes": "1.8.0" 1413 - }, 1414 - "engines": { 1415 - "node": "^14.21.3 || >=16" 1416 - }, 1417 - "funding": { 1418 - "url": "https://paulmillr.com/funding/" 1419 - } 1420 - }, 1421 - "node_modules/@noble/hashes": { 1422 - "version": "1.8.0", 1423 - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", 1424 - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", 1425 - "dev": true, 1426 - "license": "MIT", 1427 - "engines": { 1428 - "node": "^14.21.3 || >=16" 1429 - }, 1430 - "funding": { 1431 - "url": "https://paulmillr.com/funding/" 1432 - } 1433 - }, 1434 - "node_modules/@pinojs/redact": { 1435 - "version": "0.4.0", 1436 - "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz", 1437 - "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==", 1438 - "dev": true, 1439 - "license": "MIT" 1440 - }, 1441 1166 "node_modules/@poppinss/colors": { 1442 1167 "version": "4.1.6", 1443 1168 "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz", ··· 1490 1215 "url": "https://github.com/sindresorhus/is?sponsor=1" 1491 1216 } 1492 1217 }, 1493 - "node_modules/@skyware/labeler": { 1494 - "version": "0.2.0", 1495 - "resolved": "https://registry.npmjs.org/@skyware/labeler/-/labeler-0.2.0.tgz", 1496 - "integrity": "sha512-5Xsjly8Crvi+vILmFkObNs5y/FeNj/mIztcm1qfNafUzwv9n9B7O5MQmmg3aZfnalmQWsYfs2BgVlaBBBni5bw==", 1497 - "dev": true, 1498 - "license": "MPL-2.0", 1499 - "dependencies": { 1500 - "@atcute/bluesky": "^1.0.7", 1501 - "@atcute/cbor": "^1.0.2", 1502 - "@atcute/client": "^2.0.3", 1503 - "@atcute/ozone": "^1.0.4", 1504 - "@fastify/websocket": "^10.0.1", 1505 - "@libsql/client": "^0.14.0", 1506 - "@noble/curves": "^1.6.0", 1507 - "@noble/hashes": "^1.5.0", 1508 - "fastify": "^4.28.1", 1509 - "prompts": "^2.4.2", 1510 - "uint8arrays": "^5.1.0" 1511 - }, 1512 - "bin": { 1513 - "labeler": "dist/bin.js" 1514 - } 1515 - }, 1516 1218 "node_modules/@speed-highlight/core": { 1517 1219 "version": "1.2.14", 1518 1220 "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.14.tgz", ··· 1521 1223 "license": "CC0-1.0" 1522 1224 }, 1523 1225 "node_modules/@types/node": { 1524 - "version": "25.0.3", 1525 - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz", 1526 - "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", 1527 - "dev": true, 1528 - "license": "MIT", 1529 - "dependencies": { 1530 - "undici-types": "~7.16.0" 1531 - } 1532 - }, 1533 - "node_modules/@types/ws": { 1534 - "version": "8.18.1", 1535 - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", 1536 - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", 1226 + "version": "25.5.0", 1227 + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", 1228 + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", 1537 1229 "dev": true, 1538 1230 "license": "MIT", 1539 1231 "dependencies": { 1540 - "@types/node": "*" 1541 - } 1542 - }, 1543 - "node_modules/abstract-logging": { 1544 - "version": "2.0.1", 1545 - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", 1546 - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", 1547 - "dev": true, 1548 - "license": "MIT" 1549 - }, 1550 - "node_modules/acorn": { 1551 - "version": "8.14.0", 1552 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 1553 - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 1554 - "dev": true, 1555 - "license": "MIT", 1556 - "bin": { 1557 - "acorn": "bin/acorn" 1558 - }, 1559 - "engines": { 1560 - "node": ">=0.4.0" 1561 - } 1562 - }, 1563 - "node_modules/acorn-walk": { 1564 - "version": "8.3.2", 1565 - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", 1566 - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", 1567 - "dev": true, 1568 - "license": "MIT", 1569 - "engines": { 1570 - "node": ">=0.4.0" 1571 - } 1572 - }, 1573 - "node_modules/ajv": { 1574 - "version": "8.17.1", 1575 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 1576 - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 1577 - "dev": true, 1578 - "license": "MIT", 1579 - "dependencies": { 1580 - "fast-deep-equal": "^3.1.3", 1581 - "fast-uri": "^3.0.1", 1582 - "json-schema-traverse": "^1.0.0", 1583 - "require-from-string": "^2.0.2" 1584 - }, 1585 - "funding": { 1586 - "type": "github", 1587 - "url": "https://github.com/sponsors/epoberezkin" 1588 - } 1589 - }, 1590 - "node_modules/ajv-formats": { 1591 - "version": "2.1.1", 1592 - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", 1593 - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", 1594 - "dev": true, 1595 - "license": "MIT", 1596 - "dependencies": { 1597 - "ajv": "^8.0.0" 1598 - }, 1599 - "peerDependencies": { 1600 - "ajv": "^8.0.0" 1601 - }, 1602 - "peerDependenciesMeta": { 1603 - "ajv": { 1604 - "optional": true 1605 - } 1606 - } 1607 - }, 1608 - "node_modules/ajv/node_modules/fast-uri": { 1609 - "version": "3.1.0", 1610 - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", 1611 - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", 1612 - "dev": true, 1613 - "funding": [ 1614 - { 1615 - "type": "github", 1616 - "url": "https://github.com/sponsors/fastify" 1617 - }, 1618 - { 1619 - "type": "opencollective", 1620 - "url": "https://opencollective.com/fastify" 1621 - } 1622 - ], 1623 - "license": "BSD-3-Clause" 1624 - }, 1625 - "node_modules/atomic-sleep": { 1626 - "version": "1.0.0", 1627 - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", 1628 - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", 1629 - "dev": true, 1630 - "license": "MIT", 1631 - "engines": { 1632 - "node": ">=8.0.0" 1633 - } 1634 - }, 1635 - "node_modules/avvio": { 1636 - "version": "8.4.0", 1637 - "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.4.0.tgz", 1638 - "integrity": "sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==", 1639 - "dev": true, 1640 - "license": "MIT", 1641 - "dependencies": { 1642 - "@fastify/error": "^3.3.0", 1643 - "fastq": "^1.17.1" 1232 + "undici-types": "~7.18.0" 1644 1233 } 1645 1234 }, 1646 1235 "node_modules/blake3-wasm": { ··· 1650 1239 "dev": true, 1651 1240 "license": "MIT" 1652 1241 }, 1653 - "node_modules/cookie": { 1654 - "version": "0.7.2", 1655 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 1656 - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 1657 - "dev": true, 1658 - "license": "MIT", 1659 - "engines": { 1660 - "node": ">= 0.6" 1661 - } 1662 - }, 1663 - "node_modules/data-uri-to-buffer": { 1664 - "version": "4.0.1", 1665 - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", 1666 - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", 1667 - "dev": true, 1668 - "license": "MIT", 1669 - "engines": { 1670 - "node": ">= 12" 1671 - } 1672 - }, 1673 - "node_modules/detect-libc": { 1674 - "version": "2.0.2", 1675 - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", 1676 - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", 1677 - "dev": true, 1678 - "license": "Apache-2.0", 1679 - "engines": { 1680 - "node": ">=8" 1681 - } 1682 - }, 1683 - "node_modules/duplexify": { 1684 - "version": "4.1.3", 1685 - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", 1686 - "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", 1687 - "dev": true, 1688 - "license": "MIT", 1689 - "dependencies": { 1690 - "end-of-stream": "^1.4.1", 1691 - "inherits": "^2.0.3", 1692 - "readable-stream": "^3.1.1", 1693 - "stream-shift": "^1.0.2" 1694 - } 1695 - }, 1696 - "node_modules/end-of-stream": { 1697 - "version": "1.4.5", 1698 - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 1699 - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 1700 - "dev": true, 1701 - "license": "MIT", 1702 - "dependencies": { 1703 - "once": "^1.4.0" 1704 - } 1705 - }, 1706 1242 "node_modules/error-stack-parser-es": { 1707 1243 "version": "1.0.5", 1708 1244 "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", ··· 1714 1250 } 1715 1251 }, 1716 1252 "node_modules/esbuild": { 1717 - "version": "0.27.0", 1718 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.0.tgz", 1719 - "integrity": "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==", 1253 + "version": "0.27.3", 1254 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", 1255 + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", 1720 1256 "dev": true, 1721 1257 "hasInstallScript": true, 1722 1258 "license": "MIT", ··· 1727 1263 "node": ">=18" 1728 1264 }, 1729 1265 "optionalDependencies": { 1730 - "@esbuild/aix-ppc64": "0.27.0", 1731 - "@esbuild/android-arm": "0.27.0", 1732 - "@esbuild/android-arm64": "0.27.0", 1733 - "@esbuild/android-x64": "0.27.0", 1734 - "@esbuild/darwin-arm64": "0.27.0", 1735 - "@esbuild/darwin-x64": "0.27.0", 1736 - "@esbuild/freebsd-arm64": "0.27.0", 1737 - "@esbuild/freebsd-x64": "0.27.0", 1738 - "@esbuild/linux-arm": "0.27.0", 1739 - "@esbuild/linux-arm64": "0.27.0", 1740 - "@esbuild/linux-ia32": "0.27.0", 1741 - "@esbuild/linux-loong64": "0.27.0", 1742 - "@esbuild/linux-mips64el": "0.27.0", 1743 - "@esbuild/linux-ppc64": "0.27.0", 1744 - "@esbuild/linux-riscv64": "0.27.0", 1745 - "@esbuild/linux-s390x": "0.27.0", 1746 - "@esbuild/linux-x64": "0.27.0", 1747 - "@esbuild/netbsd-arm64": "0.27.0", 1748 - "@esbuild/netbsd-x64": "0.27.0", 1749 - "@esbuild/openbsd-arm64": "0.27.0", 1750 - "@esbuild/openbsd-x64": "0.27.0", 1751 - "@esbuild/openharmony-arm64": "0.27.0", 1752 - "@esbuild/sunos-x64": "0.27.0", 1753 - "@esbuild/win32-arm64": "0.27.0", 1754 - "@esbuild/win32-ia32": "0.27.0", 1755 - "@esbuild/win32-x64": "0.27.0" 1756 - } 1757 - }, 1758 - "node_modules/exit-hook": { 1759 - "version": "2.2.1", 1760 - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 1761 - "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 1762 - "dev": true, 1763 - "license": "MIT", 1764 - "engines": { 1765 - "node": ">=6" 1766 - }, 1767 - "funding": { 1768 - "url": "https://github.com/sponsors/sindresorhus" 1769 - } 1770 - }, 1771 - "node_modules/fast-content-type-parse": { 1772 - "version": "1.1.0", 1773 - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", 1774 - "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==", 1775 - "dev": true, 1776 - "license": "MIT" 1777 - }, 1778 - "node_modules/fast-decode-uri-component": { 1779 - "version": "1.0.1", 1780 - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", 1781 - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", 1782 - "dev": true, 1783 - "license": "MIT" 1784 - }, 1785 - "node_modules/fast-deep-equal": { 1786 - "version": "3.1.3", 1787 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1788 - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1789 - "dev": true, 1790 - "license": "MIT" 1791 - }, 1792 - "node_modules/fast-json-stringify": { 1793 - "version": "5.16.1", 1794 - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.16.1.tgz", 1795 - "integrity": "sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==", 1796 - "dev": true, 1797 - "license": "MIT", 1798 - "dependencies": { 1799 - "@fastify/merge-json-schemas": "^0.1.0", 1800 - "ajv": "^8.10.0", 1801 - "ajv-formats": "^3.0.1", 1802 - "fast-deep-equal": "^3.1.3", 1803 - "fast-uri": "^2.1.0", 1804 - "json-schema-ref-resolver": "^1.0.1", 1805 - "rfdc": "^1.2.0" 1806 - } 1807 - }, 1808 - "node_modules/fast-json-stringify/node_modules/ajv-formats": { 1809 - "version": "3.0.1", 1810 - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", 1811 - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", 1812 - "dev": true, 1813 - "license": "MIT", 1814 - "dependencies": { 1815 - "ajv": "^8.0.0" 1816 - }, 1817 - "peerDependencies": { 1818 - "ajv": "^8.0.0" 1819 - }, 1820 - "peerDependenciesMeta": { 1821 - "ajv": { 1822 - "optional": true 1823 - } 1824 - } 1825 - }, 1826 - "node_modules/fast-querystring": { 1827 - "version": "1.1.2", 1828 - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", 1829 - "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", 1830 - "dev": true, 1831 - "license": "MIT", 1832 - "dependencies": { 1833 - "fast-decode-uri-component": "^1.0.1" 1834 - } 1835 - }, 1836 - "node_modules/fast-uri": { 1837 - "version": "2.4.0", 1838 - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", 1839 - "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", 1840 - "dev": true, 1841 - "license": "MIT" 1842 - }, 1843 - "node_modules/fastify": { 1844 - "version": "4.29.1", 1845 - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", 1846 - "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", 1847 - "dev": true, 1848 - "funding": [ 1849 - { 1850 - "type": "github", 1851 - "url": "https://github.com/sponsors/fastify" 1852 - }, 1853 - { 1854 - "type": "opencollective", 1855 - "url": "https://opencollective.com/fastify" 1856 - } 1857 - ], 1858 - "license": "MIT", 1859 - "dependencies": { 1860 - "@fastify/ajv-compiler": "^3.5.0", 1861 - "@fastify/error": "^3.4.0", 1862 - "@fastify/fast-json-stringify-compiler": "^4.3.0", 1863 - "abstract-logging": "^2.0.1", 1864 - "avvio": "^8.3.0", 1865 - "fast-content-type-parse": "^1.1.0", 1866 - "fast-json-stringify": "^5.8.0", 1867 - "find-my-way": "^8.0.0", 1868 - "light-my-request": "^5.11.0", 1869 - "pino": "^9.0.0", 1870 - "process-warning": "^3.0.0", 1871 - "proxy-addr": "^2.0.7", 1872 - "rfdc": "^1.3.0", 1873 - "secure-json-parse": "^2.7.0", 1874 - "semver": "^7.5.4", 1875 - "toad-cache": "^3.3.0" 1876 - } 1877 - }, 1878 - "node_modules/fastify-plugin": { 1879 - "version": "4.5.1", 1880 - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", 1881 - "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==", 1882 - "dev": true, 1883 - "license": "MIT" 1884 - }, 1885 - "node_modules/fastq": { 1886 - "version": "1.19.1", 1887 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 1888 - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 1889 - "dev": true, 1890 - "license": "ISC", 1891 - "dependencies": { 1892 - "reusify": "^1.0.4" 1893 - } 1894 - }, 1895 - "node_modules/fetch-blob": { 1896 - "version": "3.2.0", 1897 - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", 1898 - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", 1899 - "dev": true, 1900 - "funding": [ 1901 - { 1902 - "type": "github", 1903 - "url": "https://github.com/sponsors/jimmywarting" 1904 - }, 1905 - { 1906 - "type": "paypal", 1907 - "url": "https://paypal.me/jimmywarting" 1908 - } 1909 - ], 1910 - "license": "MIT", 1911 - "dependencies": { 1912 - "node-domexception": "^1.0.0", 1913 - "web-streams-polyfill": "^3.0.3" 1914 - }, 1915 - "engines": { 1916 - "node": "^12.20 || >= 14.13" 1917 - } 1918 - }, 1919 - "node_modules/find-my-way": { 1920 - "version": "8.2.2", 1921 - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", 1922 - "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", 1923 - "dev": true, 1924 - "license": "MIT", 1925 - "dependencies": { 1926 - "fast-deep-equal": "^3.1.3", 1927 - "fast-querystring": "^1.0.0", 1928 - "safe-regex2": "^3.1.0" 1929 - }, 1930 - "engines": { 1931 - "node": ">=14" 1932 - } 1933 - }, 1934 - "node_modules/formdata-polyfill": { 1935 - "version": "4.0.10", 1936 - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", 1937 - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", 1938 - "dev": true, 1939 - "license": "MIT", 1940 - "dependencies": { 1941 - "fetch-blob": "^3.1.2" 1942 - }, 1943 - "engines": { 1944 - "node": ">=12.20.0" 1945 - } 1946 - }, 1947 - "node_modules/forwarded": { 1948 - "version": "0.2.0", 1949 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 1950 - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 1951 - "dev": true, 1952 - "license": "MIT", 1953 - "engines": { 1954 - "node": ">= 0.6" 1266 + "@esbuild/aix-ppc64": "0.27.3", 1267 + "@esbuild/android-arm": "0.27.3", 1268 + "@esbuild/android-arm64": "0.27.3", 1269 + "@esbuild/android-x64": "0.27.3", 1270 + "@esbuild/darwin-arm64": "0.27.3", 1271 + "@esbuild/darwin-x64": "0.27.3", 1272 + "@esbuild/freebsd-arm64": "0.27.3", 1273 + "@esbuild/freebsd-x64": "0.27.3", 1274 + "@esbuild/linux-arm": "0.27.3", 1275 + "@esbuild/linux-arm64": "0.27.3", 1276 + "@esbuild/linux-ia32": "0.27.3", 1277 + "@esbuild/linux-loong64": "0.27.3", 1278 + "@esbuild/linux-mips64el": "0.27.3", 1279 + "@esbuild/linux-ppc64": "0.27.3", 1280 + "@esbuild/linux-riscv64": "0.27.3", 1281 + "@esbuild/linux-s390x": "0.27.3", 1282 + "@esbuild/linux-x64": "0.27.3", 1283 + "@esbuild/netbsd-arm64": "0.27.3", 1284 + "@esbuild/netbsd-x64": "0.27.3", 1285 + "@esbuild/openbsd-arm64": "0.27.3", 1286 + "@esbuild/openbsd-x64": "0.27.3", 1287 + "@esbuild/openharmony-arm64": "0.27.3", 1288 + "@esbuild/sunos-x64": "0.27.3", 1289 + "@esbuild/win32-arm64": "0.27.3", 1290 + "@esbuild/win32-ia32": "0.27.3", 1291 + "@esbuild/win32-x64": "0.27.3" 1955 1292 } 1956 1293 }, 1957 1294 "node_modules/fsevents": { ··· 1969 1306 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1970 1307 } 1971 1308 }, 1972 - "node_modules/glob-to-regexp": { 1973 - "version": "0.4.1", 1974 - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1975 - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 1976 - "dev": true, 1977 - "license": "BSD-2-Clause" 1978 - }, 1979 - "node_modules/inherits": { 1980 - "version": "2.0.4", 1981 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1982 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1983 - "dev": true, 1984 - "license": "ISC" 1985 - }, 1986 - "node_modules/ipaddr.js": { 1987 - "version": "1.9.1", 1988 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1989 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 1990 - "dev": true, 1991 - "license": "MIT", 1992 - "engines": { 1993 - "node": ">= 0.10" 1994 - } 1995 - }, 1996 - "node_modules/js-base64": { 1997 - "version": "3.7.8", 1998 - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz", 1999 - "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", 2000 - "dev": true, 2001 - "license": "BSD-3-Clause" 2002 - }, 2003 - "node_modules/json-schema-ref-resolver": { 2004 - "version": "1.0.1", 2005 - "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", 2006 - "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", 2007 - "dev": true, 2008 - "license": "MIT", 2009 - "dependencies": { 2010 - "fast-deep-equal": "^3.1.3" 2011 - } 2012 - }, 2013 - "node_modules/json-schema-traverse": { 2014 - "version": "1.0.0", 2015 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 2016 - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 2017 - "dev": true, 2018 - "license": "MIT" 2019 - }, 2020 1309 "node_modules/just-has": { 2021 1310 "version": "2.3.0", 2022 1311 "resolved": "https://registry.npmjs.org/just-has/-/just-has-2.3.0.tgz", ··· 2029 1318 "integrity": "sha512-tYzMAz72bJXRBFKhWnEZrVdBbBqV4/vwNGv6O96LqZv+BjtmUGUBtBkFr+vqGlgHOVIcRalUNdJlumvXSAbuaQ==", 2030 1319 "license": "MIT" 2031 1320 }, 2032 - "node_modules/kleur": { 2033 - "version": "3.0.3", 2034 - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 2035 - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 2036 - "dev": true, 2037 - "license": "MIT", 2038 - "engines": { 2039 - "node": ">=6" 2040 - } 2041 - }, 2042 - "node_modules/libsql": { 2043 - "version": "0.4.7", 2044 - "resolved": "https://registry.npmjs.org/libsql/-/libsql-0.4.7.tgz", 2045 - "integrity": "sha512-T9eIRCs6b0J1SHKYIvD8+KCJMcWZ900iZyxdnSCdqxN12Z1ijzT+jY5nrk72Jw4B0HGzms2NgpryArlJqvc3Lw==", 2046 - "cpu": [ 2047 - "x64", 2048 - "arm64", 2049 - "wasm32" 2050 - ], 2051 - "dev": true, 2052 - "license": "MIT", 2053 - "os": [ 2054 - "darwin", 2055 - "linux", 2056 - "win32" 2057 - ], 2058 - "dependencies": { 2059 - "@neon-rs/load": "^0.0.4", 2060 - "detect-libc": "2.0.2" 2061 - }, 2062 - "optionalDependencies": { 2063 - "@libsql/darwin-arm64": "0.4.7", 2064 - "@libsql/darwin-x64": "0.4.7", 2065 - "@libsql/linux-arm64-gnu": "0.4.7", 2066 - "@libsql/linux-arm64-musl": "0.4.7", 2067 - "@libsql/linux-x64-gnu": "0.4.7", 2068 - "@libsql/linux-x64-musl": "0.4.7", 2069 - "@libsql/win32-x64-msvc": "0.4.7" 2070 - } 2071 - }, 2072 - "node_modules/light-my-request": { 2073 - "version": "5.14.0", 2074 - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", 2075 - "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", 2076 - "dev": true, 2077 - "license": "BSD-3-Clause", 2078 - "dependencies": { 2079 - "cookie": "^0.7.0", 2080 - "process-warning": "^3.0.0", 2081 - "set-cookie-parser": "^2.4.1" 2082 - } 2083 - }, 2084 - "node_modules/mime": { 2085 - "version": "3.0.0", 2086 - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 2087 - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 2088 - "dev": true, 2089 - "license": "MIT", 2090 - "bin": { 2091 - "mime": "cli.js" 2092 - }, 2093 - "engines": { 2094 - "node": ">=10.0.0" 2095 - } 2096 - }, 2097 1321 "node_modules/miniflare": { 2098 - "version": "4.20260111.0", 2099 - "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260111.0.tgz", 2100 - "integrity": "sha512-pUsbDlumPaTzliA+J9HMAM74nLR8wqpCQNOESximab51jAfvL7ZaP5Npzh4PWNV0Jfq28tlqazakuJcw6w5qlA==", 1322 + "version": "4.20260312.0", 1323 + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260312.0.tgz", 1324 + "integrity": "sha512-pieP2rfXynPT6VRINYaiHe/tfMJ4c5OIhqRlIdLF6iZ9g5xgpEmvimvIgMpgAdDJuFlrLcwDUi8MfAo2R6dt/w==", 2101 1325 "dev": true, 2102 1326 "license": "MIT", 2103 1327 "dependencies": { 2104 1328 "@cspotcode/source-map-support": "0.8.1", 2105 - "acorn": "8.14.0", 2106 - "acorn-walk": "8.3.2", 2107 - "exit-hook": "2.2.1", 2108 - "glob-to-regexp": "0.4.1", 2109 1329 "sharp": "^0.34.5", 2110 - "stoppable": "1.1.0", 2111 - "undici": "7.14.0", 2112 - "workerd": "1.20260111.0", 1330 + "undici": "7.18.2", 1331 + "workerd": "1.20260312.1", 2113 1332 "ws": "8.18.0", 2114 - "youch": "4.1.0-beta.10", 2115 - "zod": "^3.25.76" 1333 + "youch": "4.1.0-beta.10" 2116 1334 }, 2117 1335 "bin": { 2118 1336 "miniflare": "bootstrap.js" ··· 2149 1367 "integrity": "sha512-eh6eHCrRi1+POZ3dA+Dq1C6jhP1GNtr9CRINMb67OKzqW9I5DUuZM/3jLPlzhgpGeiNUlEGEbkCYChXMCc/8DQ==", 2150 1368 "license": "Apache-2.0 OR MIT" 2151 1369 }, 2152 - "node_modules/node-domexception": { 2153 - "version": "1.0.0", 2154 - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", 2155 - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", 2156 - "deprecated": "Use your platform's native DOMException instead", 2157 - "dev": true, 2158 - "funding": [ 2159 - { 2160 - "type": "github", 2161 - "url": "https://github.com/sponsors/jimmywarting" 2162 - }, 2163 - { 2164 - "type": "github", 2165 - "url": "https://paypal.me/jimmywarting" 2166 - } 2167 - ], 2168 - "license": "MIT", 2169 - "engines": { 2170 - "node": ">=10.5.0" 2171 - } 2172 - }, 2173 - "node_modules/node-fetch": { 2174 - "version": "3.3.2", 2175 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", 2176 - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", 2177 - "dev": true, 2178 - "license": "MIT", 2179 - "dependencies": { 2180 - "data-uri-to-buffer": "^4.0.0", 2181 - "fetch-blob": "^3.1.4", 2182 - "formdata-polyfill": "^4.0.10" 2183 - }, 2184 - "engines": { 2185 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2186 - }, 2187 - "funding": { 2188 - "type": "opencollective", 2189 - "url": "https://opencollective.com/node-fetch" 2190 - } 2191 - }, 2192 - "node_modules/on-exit-leak-free": { 2193 - "version": "2.1.2", 2194 - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", 2195 - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", 2196 - "dev": true, 2197 - "license": "MIT", 2198 - "engines": { 2199 - "node": ">=14.0.0" 2200 - } 2201 - }, 2202 - "node_modules/once": { 2203 - "version": "1.4.0", 2204 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2205 - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2206 - "dev": true, 2207 - "license": "ISC", 2208 - "dependencies": { 2209 - "wrappy": "1" 2210 - } 2211 - }, 2212 1370 "node_modules/path-to-regexp": { 2213 1371 "version": "6.3.0", 2214 1372 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", ··· 2223 1381 "dev": true, 2224 1382 "license": "MIT" 2225 1383 }, 2226 - "node_modules/pino": { 2227 - "version": "9.14.0", 2228 - "resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz", 2229 - "integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==", 2230 - "dev": true, 2231 - "license": "MIT", 2232 - "dependencies": { 2233 - "@pinojs/redact": "^0.4.0", 2234 - "atomic-sleep": "^1.0.0", 2235 - "on-exit-leak-free": "^2.1.0", 2236 - "pino-abstract-transport": "^2.0.0", 2237 - "pino-std-serializers": "^7.0.0", 2238 - "process-warning": "^5.0.0", 2239 - "quick-format-unescaped": "^4.0.3", 2240 - "real-require": "^0.2.0", 2241 - "safe-stable-stringify": "^2.3.1", 2242 - "sonic-boom": "^4.0.1", 2243 - "thread-stream": "^3.0.0" 2244 - }, 2245 - "bin": { 2246 - "pino": "bin.js" 2247 - } 2248 - }, 2249 - "node_modules/pino-abstract-transport": { 2250 - "version": "2.0.0", 2251 - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", 2252 - "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", 2253 - "dev": true, 2254 - "license": "MIT", 2255 - "dependencies": { 2256 - "split2": "^4.0.0" 2257 - } 2258 - }, 2259 - "node_modules/pino-std-serializers": { 2260 - "version": "7.0.0", 2261 - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", 2262 - "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", 2263 - "dev": true, 2264 - "license": "MIT" 2265 - }, 2266 - "node_modules/pino/node_modules/process-warning": { 2267 - "version": "5.0.0", 2268 - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", 2269 - "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", 2270 - "dev": true, 2271 - "funding": [ 2272 - { 2273 - "type": "github", 2274 - "url": "https://github.com/sponsors/fastify" 2275 - }, 2276 - { 2277 - "type": "opencollective", 2278 - "url": "https://opencollective.com/fastify" 2279 - } 2280 - ], 2281 - "license": "MIT" 2282 - }, 2283 - "node_modules/process-warning": { 2284 - "version": "3.0.0", 2285 - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", 2286 - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", 2287 - "dev": true, 2288 - "license": "MIT" 2289 - }, 2290 - "node_modules/promise-limit": { 2291 - "version": "2.7.0", 2292 - "resolved": "https://registry.npmjs.org/promise-limit/-/promise-limit-2.7.0.tgz", 2293 - "integrity": "sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==", 2294 - "dev": true, 2295 - "license": "ISC" 2296 - }, 2297 - "node_modules/prompts": { 2298 - "version": "2.4.2", 2299 - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 2300 - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 2301 - "dev": true, 2302 - "license": "MIT", 2303 - "dependencies": { 2304 - "kleur": "^3.0.3", 2305 - "sisteransi": "^1.0.5" 2306 - }, 2307 - "engines": { 2308 - "node": ">= 6" 2309 - } 2310 - }, 2311 - "node_modules/proxy-addr": { 2312 - "version": "2.0.7", 2313 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 2314 - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 2315 - "dev": true, 2316 - "license": "MIT", 2317 - "dependencies": { 2318 - "forwarded": "0.2.0", 2319 - "ipaddr.js": "1.9.1" 2320 - }, 2321 - "engines": { 2322 - "node": ">= 0.10" 2323 - } 2324 - }, 2325 - "node_modules/quick-format-unescaped": { 2326 - "version": "4.0.4", 2327 - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", 2328 - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", 2329 - "dev": true, 2330 - "license": "MIT" 2331 - }, 2332 - "node_modules/readable-stream": { 2333 - "version": "3.6.2", 2334 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 2335 - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 2336 - "dev": true, 2337 - "license": "MIT", 2338 - "dependencies": { 2339 - "inherits": "^2.0.3", 2340 - "string_decoder": "^1.1.1", 2341 - "util-deprecate": "^1.0.1" 2342 - }, 2343 - "engines": { 2344 - "node": ">= 6" 2345 - } 2346 - }, 2347 - "node_modules/real-require": { 2348 - "version": "0.2.0", 2349 - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", 2350 - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", 2351 - "dev": true, 2352 - "license": "MIT", 2353 - "engines": { 2354 - "node": ">= 12.13.0" 2355 - } 2356 - }, 2357 - "node_modules/require-from-string": { 2358 - "version": "2.0.2", 2359 - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 2360 - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 2361 - "dev": true, 2362 - "license": "MIT", 2363 - "engines": { 2364 - "node": ">=0.10.0" 2365 - } 2366 - }, 2367 - "node_modules/ret": { 2368 - "version": "0.4.3", 2369 - "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", 2370 - "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", 2371 - "dev": true, 2372 - "license": "MIT", 2373 - "engines": { 2374 - "node": ">=10" 2375 - } 2376 - }, 2377 - "node_modules/reusify": { 2378 - "version": "1.1.0", 2379 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 2380 - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 2381 - "dev": true, 2382 - "license": "MIT", 2383 - "engines": { 2384 - "iojs": ">=1.0.0", 2385 - "node": ">=0.10.0" 2386 - } 2387 - }, 2388 - "node_modules/rfdc": { 2389 - "version": "1.4.1", 2390 - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", 2391 - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", 2392 - "dev": true, 2393 - "license": "MIT" 2394 - }, 2395 1384 "node_modules/run-p": { 2396 1385 "version": "0.0.0", 2397 1386 "resolved": "https://registry.npmjs.org/run-p/-/run-p-0.0.0.tgz", ··· 2399 1388 "dev": true, 2400 1389 "license": "MIT" 2401 1390 }, 2402 - "node_modules/safe-buffer": { 2403 - "version": "5.2.1", 2404 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2405 - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2406 - "dev": true, 2407 - "funding": [ 2408 - { 2409 - "type": "github", 2410 - "url": "https://github.com/sponsors/feross" 2411 - }, 2412 - { 2413 - "type": "patreon", 2414 - "url": "https://www.patreon.com/feross" 2415 - }, 2416 - { 2417 - "type": "consulting", 2418 - "url": "https://feross.org/support" 2419 - } 2420 - ], 2421 - "license": "MIT" 2422 - }, 2423 - "node_modules/safe-regex2": { 2424 - "version": "3.1.0", 2425 - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", 2426 - "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", 2427 - "dev": true, 2428 - "license": "MIT", 2429 - "dependencies": { 2430 - "ret": "~0.4.0" 2431 - } 2432 - }, 2433 - "node_modules/safe-stable-stringify": { 2434 - "version": "2.5.0", 2435 - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", 2436 - "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", 2437 - "dev": true, 2438 - "license": "MIT", 2439 - "engines": { 2440 - "node": ">=10" 2441 - } 2442 - }, 2443 - "node_modules/secure-json-parse": { 2444 - "version": "2.7.0", 2445 - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", 2446 - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", 2447 - "dev": true, 2448 - "license": "BSD-3-Clause" 2449 - }, 2450 1391 "node_modules/semver": { 2451 - "version": "7.7.3", 2452 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", 2453 - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", 1392 + "version": "7.7.4", 1393 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", 1394 + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", 2454 1395 "dev": true, 2455 1396 "license": "ISC", 2456 1397 "bin": { ··· 2459 1400 "engines": { 2460 1401 "node": ">=10" 2461 1402 } 2462 - }, 2463 - "node_modules/set-cookie-parser": { 2464 - "version": "2.7.2", 2465 - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", 2466 - "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", 2467 - "dev": true, 2468 - "license": "MIT" 2469 1403 }, 2470 1404 "node_modules/sharp": { 2471 1405 "version": "0.34.5", ··· 2522 1456 "node": ">=8" 2523 1457 } 2524 1458 }, 2525 - "node_modules/sisteransi": { 2526 - "version": "1.0.5", 2527 - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 2528 - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 2529 - "dev": true, 2530 - "license": "MIT" 2531 - }, 2532 - "node_modules/sonic-boom": { 2533 - "version": "4.2.0", 2534 - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", 2535 - "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", 2536 - "dev": true, 2537 - "license": "MIT", 2538 - "dependencies": { 2539 - "atomic-sleep": "^1.0.0" 2540 - } 2541 - }, 2542 - "node_modules/split2": { 2543 - "version": "4.2.0", 2544 - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", 2545 - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", 2546 - "dev": true, 2547 - "license": "ISC", 2548 - "engines": { 2549 - "node": ">= 10.x" 2550 - } 2551 - }, 2552 - "node_modules/stoppable": { 2553 - "version": "1.1.0", 2554 - "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", 2555 - "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", 2556 - "dev": true, 2557 - "license": "MIT", 2558 - "engines": { 2559 - "node": ">=4", 2560 - "npm": ">=6" 2561 - } 2562 - }, 2563 - "node_modules/stream-shift": { 2564 - "version": "1.0.3", 2565 - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", 2566 - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", 2567 - "dev": true, 2568 - "license": "MIT" 2569 - }, 2570 - "node_modules/string_decoder": { 2571 - "version": "1.3.0", 2572 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2573 - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2574 - "dev": true, 2575 - "license": "MIT", 2576 - "dependencies": { 2577 - "safe-buffer": "~5.2.0" 2578 - } 2579 - }, 2580 1459 "node_modules/supports-color": { 2581 1460 "version": "10.2.2", 2582 1461 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", ··· 2590 1469 "url": "https://github.com/chalk/supports-color?sponsor=1" 2591 1470 } 2592 1471 }, 2593 - "node_modules/thread-stream": { 2594 - "version": "3.1.0", 2595 - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", 2596 - "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", 2597 - "dev": true, 2598 - "license": "MIT", 2599 - "dependencies": { 2600 - "real-require": "^0.2.0" 2601 - } 2602 - }, 2603 - "node_modules/toad-cache": { 2604 - "version": "3.7.0", 2605 - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", 2606 - "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", 2607 - "dev": true, 2608 - "license": "MIT", 2609 - "engines": { 2610 - "node": ">=12" 2611 - } 2612 - }, 2613 1472 "node_modules/tslib": { 2614 1473 "version": "2.8.1", 2615 1474 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", ··· 2642 1501 } 2643 1502 }, 2644 1503 "node_modules/undici": { 2645 - "version": "7.14.0", 2646 - "resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz", 2647 - "integrity": "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==", 1504 + "version": "7.24.0", 1505 + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.0.tgz", 1506 + "integrity": "sha512-jxytwMHhsbdpBXxLAcuu0fzlQeXCNnWdDyRHpvWsUl8vd98UwYdl9YTyn8/HcpcJPC3pwUveefsa3zTxyD/ERg==", 2648 1507 "dev": true, 2649 1508 "license": "MIT", 2650 1509 "engines": { ··· 2652 1511 } 2653 1512 }, 2654 1513 "node_modules/undici-types": { 2655 - "version": "7.16.0", 2656 - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", 2657 - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", 1514 + "version": "7.18.2", 1515 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", 1516 + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", 2658 1517 "dev": true, 2659 1518 "license": "MIT" 2660 1519 }, ··· 2668 1527 "pathe": "^2.0.3" 2669 1528 } 2670 1529 }, 2671 - "node_modules/util-deprecate": { 2672 - "version": "1.0.2", 2673 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2674 - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2675 - "dev": true, 2676 - "license": "MIT" 2677 - }, 2678 - "node_modules/web-streams-polyfill": { 2679 - "version": "3.3.3", 2680 - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", 2681 - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", 2682 - "dev": true, 2683 - "license": "MIT", 2684 - "engines": { 2685 - "node": ">= 8" 2686 - } 2687 - }, 2688 1530 "node_modules/workerd": { 2689 - "version": "1.20260111.0", 2690 - "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260111.0.tgz", 2691 - "integrity": "sha512-ov6Pt4k6d/ALfJja/EIHohT9IrY/f6GAa0arWEPat2qekp78xHbVM7jSxNWAMbaE7ZmnQQIFEGD1ZhAWZmQKIg==", 1531 + "version": "1.20260312.1", 1532 + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260312.1.tgz", 1533 + "integrity": "sha512-nNpPkw9jaqo79B+iBCOiksx+N62xC+ETIfyzofUEdY3cSOHJg6oNnVSHm7vHevzVblfV76c8Gr0cXHEapYMBEg==", 2692 1534 "dev": true, 2693 1535 "hasInstallScript": true, 2694 1536 "license": "Apache-2.0", ··· 2699 1541 "node": ">=16" 2700 1542 }, 2701 1543 "optionalDependencies": { 2702 - "@cloudflare/workerd-darwin-64": "1.20260111.0", 2703 - "@cloudflare/workerd-darwin-arm64": "1.20260111.0", 2704 - "@cloudflare/workerd-linux-64": "1.20260111.0", 2705 - "@cloudflare/workerd-linux-arm64": "1.20260111.0", 2706 - "@cloudflare/workerd-windows-64": "1.20260111.0" 1544 + "@cloudflare/workerd-darwin-64": "1.20260312.1", 1545 + "@cloudflare/workerd-darwin-arm64": "1.20260312.1", 1546 + "@cloudflare/workerd-linux-64": "1.20260312.1", 1547 + "@cloudflare/workerd-linux-arm64": "1.20260312.1", 1548 + "@cloudflare/workerd-windows-64": "1.20260312.1" 2707 1549 } 2708 1550 }, 2709 1551 "node_modules/wrangler": { 2710 - "version": "4.59.1", 2711 - "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.59.1.tgz", 2712 - "integrity": "sha512-5DddGSNxHd6dOjREWTDQdovQlZ1Lh80NNRXZFQ4/CrK3fNyVIBj9tqCs9pmXMNrKQ/AnKNeYzEs/l1kr8rHhOg==", 1552 + "version": "4.73.0", 1553 + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.73.0.tgz", 1554 + "integrity": "sha512-VJXsqKDFCp6OtFEHXITSOR5kh95JOknwPY8m7RyQuWJQguSybJy43m4vhoCSt42prutTef7eeuw7L4V4xiynGw==", 2713 1555 "dev": true, 2714 1556 "license": "MIT OR Apache-2.0", 2715 1557 "dependencies": { 2716 - "@cloudflare/kv-asset-handler": "0.4.1", 2717 - "@cloudflare/unenv-preset": "2.9.0", 1558 + "@cloudflare/kv-asset-handler": "0.4.2", 1559 + "@cloudflare/unenv-preset": "2.15.0", 2718 1560 "blake3-wasm": "2.1.5", 2719 - "esbuild": "0.27.0", 2720 - "miniflare": "4.20260111.0", 1561 + "esbuild": "0.27.3", 1562 + "miniflare": "4.20260312.0", 2721 1563 "path-to-regexp": "6.3.0", 2722 1564 "unenv": "2.0.0-rc.24", 2723 - "workerd": "1.20260111.0" 1565 + "workerd": "1.20260312.1" 2724 1566 }, 2725 1567 "bin": { 2726 1568 "wrangler": "bin/wrangler.js", ··· 2733 1575 "fsevents": "~2.3.2" 2734 1576 }, 2735 1577 "peerDependencies": { 2736 - "@cloudflare/workers-types": "^4.20260111.0" 1578 + "@cloudflare/workers-types": "^4.20260312.1" 2737 1579 }, 2738 1580 "peerDependenciesMeta": { 2739 1581 "@cloudflare/workers-types": { ··· 2741 1583 } 2742 1584 } 2743 1585 }, 2744 - "node_modules/wrappy": { 2745 - "version": "1.0.2", 2746 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2747 - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2748 - "dev": true, 2749 - "license": "ISC" 2750 - }, 2751 - "node_modules/ws": { 2752 - "version": "8.18.3", 2753 - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", 2754 - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", 2755 - "dev": true, 2756 - "license": "MIT", 2757 - "engines": { 2758 - "node": ">=10.0.0" 2759 - }, 2760 - "peerDependencies": { 2761 - "bufferutil": "^4.0.1", 2762 - "utf-8-validate": ">=5.0.2" 2763 - }, 2764 - "peerDependenciesMeta": { 2765 - "bufferutil": { 2766 - "optional": true 2767 - }, 2768 - "utf-8-validate": { 2769 - "optional": true 2770 - } 2771 - } 2772 - }, 2773 1586 "node_modules/youch": { 2774 1587 "version": "4.1.0-beta.10", 2775 1588 "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz", ··· 2807 1620 "funding": { 2808 1621 "type": "opencollective", 2809 1622 "url": "https://opencollective.com/express" 2810 - } 2811 - }, 2812 - "node_modules/zod": { 2813 - "version": "3.25.76", 2814 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 2815 - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 2816 - "dev": true, 2817 - "license": "MIT", 2818 - "funding": { 2819 - "url": "https://github.com/sponsors/colinhacks" 2820 1623 } 2821 1624 } 2822 1625 }
+7 -3
package.json
··· 13 13 "setup:types": "npm run types" 14 14 }, 15 15 "devDependencies": { 16 - "@skyware/labeler": "^0.2.0", 17 - "@types/node": "^25.0.2", 16 + "@types/node": "^25.5.0", 18 17 "run-p": "^0.0.0", 19 18 "typescript": "^5.9.3", 20 - "wrangler": "^4.59.1" 19 + "wrangler": "^4.73.0" 21 20 }, 22 21 "dependencies": { 23 22 "@atcute/cbor": "^1.0.7", ··· 25 24 "just-has": "^2.3.0", 26 25 "just-template": "^2.2.0", 27 26 "uint8arrays": "^5.1.0" 27 + }, 28 + "overrides": { 29 + "miniflare": { 30 + "undici": "7.24.0" 31 + } 28 32 } 29 33 }
+525 -51
worker-configuration.d.ts
··· 1 1 /* eslint-disable */ 2 - // Generated by Wrangler by running `wrangler types` (hash: 44572f7b124b6c35d3bb99f0d597537e) 3 - // Runtime types generated with workerd@1.20251210.0 2024-12-18 nodejs_compat 2 + // Generated by Wrangler by running `wrangler types` (hash: a3a025b6baf0beefc4d917e42f0f0b05) 3 + // Runtime types generated with workerd@1.20260312.1 2024-12-18 nodejs_compat 4 4 declare namespace Cloudflare { 5 5 interface GlobalProps { 6 6 mainModule: typeof import("./src/index"); 7 7 } 8 8 interface Env { 9 + DB: D1Database; 10 + ASSETS: Fetcher; 9 11 COUNT_CACHE_HOUR: "4"; 10 12 SITE_TITLE: "Simple BSky Labeler"; 11 13 SITE_DESCRIPTION: "Allow people to obtain a bsky label you provide"; 12 14 SITE_SHORTNAME: "SBL"; 13 15 LABEL_SRC: ""; 14 16 LABEL_VAL: ""; 15 - DB: D1Database; 16 - ASSETS: Fetcher; 17 17 } 18 18 } 19 19 interface Env extends Cloudflare.Env {} ··· 438 438 passThroughOnException(): void; 439 439 readonly props: Props; 440 440 } 441 - type ExportedHandlerFetchHandler<Env = unknown, CfHostMetadata = unknown> = (request: Request<CfHostMetadata, IncomingRequestCfProperties<CfHostMetadata>>, env: Env, ctx: ExecutionContext) => Response | Promise<Response>; 442 - type ExportedHandlerTailHandler<Env = unknown> = (events: TraceItem[], env: Env, ctx: ExecutionContext) => void | Promise<void>; 443 - type ExportedHandlerTraceHandler<Env = unknown> = (traces: TraceItem[], env: Env, ctx: ExecutionContext) => void | Promise<void>; 444 - type ExportedHandlerTailStreamHandler<Env = unknown> = (event: TailStream.TailEvent<TailStream.Onset>, env: Env, ctx: ExecutionContext) => TailStream.TailEventHandlerType | Promise<TailStream.TailEventHandlerType>; 445 - type ExportedHandlerScheduledHandler<Env = unknown> = (controller: ScheduledController, env: Env, ctx: ExecutionContext) => void | Promise<void>; 446 - type ExportedHandlerQueueHandler<Env = unknown, Message = unknown> = (batch: MessageBatch<Message>, env: Env, ctx: ExecutionContext) => void | Promise<void>; 447 - type ExportedHandlerTestHandler<Env = unknown> = (controller: TestController, env: Env, ctx: ExecutionContext) => void | Promise<void>; 448 - interface ExportedHandler<Env = unknown, QueueHandlerMessage = unknown, CfHostMetadata = unknown> { 449 - fetch?: ExportedHandlerFetchHandler<Env, CfHostMetadata>; 450 - tail?: ExportedHandlerTailHandler<Env>; 451 - trace?: ExportedHandlerTraceHandler<Env>; 452 - tailStream?: ExportedHandlerTailStreamHandler<Env>; 453 - scheduled?: ExportedHandlerScheduledHandler<Env>; 454 - test?: ExportedHandlerTestHandler<Env>; 455 - email?: EmailExportedHandler<Env>; 456 - queue?: ExportedHandlerQueueHandler<Env, QueueHandlerMessage>; 441 + type ExportedHandlerFetchHandler<Env = unknown, CfHostMetadata = unknown, Props = unknown> = (request: Request<CfHostMetadata, IncomingRequestCfProperties<CfHostMetadata>>, env: Env, ctx: ExecutionContext<Props>) => Response | Promise<Response>; 442 + type ExportedHandlerTailHandler<Env = unknown, Props = unknown> = (events: TraceItem[], env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 443 + type ExportedHandlerTraceHandler<Env = unknown, Props = unknown> = (traces: TraceItem[], env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 444 + type ExportedHandlerTailStreamHandler<Env = unknown, Props = unknown> = (event: TailStream.TailEvent<TailStream.Onset>, env: Env, ctx: ExecutionContext<Props>) => TailStream.TailEventHandlerType | Promise<TailStream.TailEventHandlerType>; 445 + type ExportedHandlerScheduledHandler<Env = unknown, Props = unknown> = (controller: ScheduledController, env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 446 + type ExportedHandlerQueueHandler<Env = unknown, Message = unknown, Props = unknown> = (batch: MessageBatch<Message>, env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 447 + type ExportedHandlerTestHandler<Env = unknown, Props = unknown> = (controller: TestController, env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 448 + interface ExportedHandler<Env = unknown, QueueHandlerMessage = unknown, CfHostMetadata = unknown, Props = unknown> { 449 + fetch?: ExportedHandlerFetchHandler<Env, CfHostMetadata, Props>; 450 + tail?: ExportedHandlerTailHandler<Env, Props>; 451 + trace?: ExportedHandlerTraceHandler<Env, Props>; 452 + tailStream?: ExportedHandlerTailStreamHandler<Env, Props>; 453 + scheduled?: ExportedHandlerScheduledHandler<Env, Props>; 454 + test?: ExportedHandlerTestHandler<Env, Props>; 455 + email?: EmailExportedHandler<Env, Props>; 456 + queue?: ExportedHandlerQueueHandler<Env, QueueHandlerMessage, Props>; 457 457 } 458 458 interface StructuredSerializeOptions { 459 459 transfer?: any[]; ··· 499 499 jurisdiction?: DurableObjectJurisdiction; 500 500 } 501 501 type DurableObjectLocationHint = "wnam" | "enam" | "sam" | "weur" | "eeur" | "apac" | "oc" | "afr" | "me"; 502 + type DurableObjectRoutingMode = "primary-only"; 502 503 interface DurableObjectNamespaceGetDurableObjectOptions { 503 504 locationHint?: DurableObjectLocationHint; 505 + routingMode?: DurableObjectRoutingMode; 504 506 } 505 507 interface DurableObjectClass<_T extends Rpc.DurableObjectBranded | undefined = undefined> { 506 508 } ··· 1392 1394 * 1393 1395 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/append) 1394 1396 */ 1397 + append(name: string, value: string | Blob): void; 1398 + /** 1399 + * The **`append()`** method of the FormData interface appends a new value onto an existing key inside a `FormData` object, or adds the key if it does not already exist. 1400 + * 1401 + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/append) 1402 + */ 1395 1403 append(name: string, value: string): void; 1396 1404 /** 1397 1405 * The **`append()`** method of the FormData interface appends a new value onto an existing key inside a `FormData` object, or adds the key if it does not already exist. ··· 1423 1431 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/has) 1424 1432 */ 1425 1433 has(name: string): boolean; 1434 + /** 1435 + * The **`set()`** method of the FormData interface sets a new value for an existing key inside a `FormData` object, or adds the key/value if it does not already exist. 1436 + * 1437 + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/set) 1438 + */ 1439 + set(name: string, value: string | Blob): void; 1426 1440 /** 1427 1441 * The **`set()`** method of the FormData interface sets a new value for an existing key inside a `FormData` object, or adds the key/value if it does not already exist. 1428 1442 * ··· 1749 1763 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/signal) 1750 1764 */ 1751 1765 signal: AbortSignal; 1752 - cf: Cf | undefined; 1766 + cf?: Cf; 1753 1767 /** 1754 1768 * The **`integrity`** read-only property of the Request interface contains the subresource integrity value of the request. 1755 1769 * ··· 2084 2098 expectedLength?: number; 2085 2099 } 2086 2100 interface StreamPipeOptions { 2101 + preventAbort?: boolean; 2102 + preventCancel?: boolean; 2087 2103 /** 2088 2104 * Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered. 2089 2105 * ··· 2102 2118 * The signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set. 2103 2119 */ 2104 2120 preventClose?: boolean; 2105 - preventAbort?: boolean; 2106 - preventCancel?: boolean; 2107 2121 signal?: AbortSignal; 2108 2122 } 2109 2123 type ReadableStreamReadResult<R = any> = { ··· 2378 2392 terminate(): void; 2379 2393 } 2380 2394 interface ReadableWritablePair<R = any, W = any> { 2395 + readable: ReadableStream<R>; 2381 2396 /** 2382 2397 * Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use. 2383 2398 * 2384 2399 * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader. 2385 2400 */ 2386 2401 writable: WritableStream<W>; 2387 - readable: ReadableStream<R>; 2388 2402 } 2389 2403 /** 2390 2404 * The **`WritableStream`** interface of the Streams API provides a standard abstraction for writing streaming data to a destination, known as a sink. ··· 3031 3045 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket) 3032 3046 */ 3033 3047 interface WebSocket extends EventTarget<WebSocketEventMap> { 3034 - accept(): void; 3048 + accept(options?: WebSocketAcceptOptions): void; 3035 3049 /** 3036 3050 * The **`WebSocket.send()`** method enqueues the specified data to be transmitted to the server over the WebSocket connection, increasing the value of `bufferedAmount` by the number of bytes needed to contain the data. 3037 3051 * ··· 3070 3084 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/extensions) 3071 3085 */ 3072 3086 extensions: string | null; 3087 + /** 3088 + * The **`WebSocket.binaryType`** property controls the type of binary data being received over the WebSocket connection. 3089 + * 3090 + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/binaryType) 3091 + */ 3092 + binaryType: "blob" | "arraybuffer"; 3093 + } 3094 + interface WebSocketAcceptOptions { 3095 + /** 3096 + * When set to `true`, receiving a server-initiated WebSocket Close frame will not 3097 + * automatically send a reciprocal Close frame, leaving the connection in a half-open 3098 + * state. This is useful for proxying scenarios where you need to coordinate closing 3099 + * both sides independently. Defaults to `false` when the 3100 + * `no_web_socket_half_open_by_default` compatibility flag is enabled. 3101 + */ 3102 + allowHalfOpen?: boolean; 3073 3103 } 3074 3104 declare const WebSocketPair: { 3075 3105 new (): { ··· 3188 3218 signal(signo: number): void; 3189 3219 getTcpPort(port: number): Fetcher; 3190 3220 setInactivityTimeout(durationMs: number | bigint): Promise<void>; 3221 + interceptOutboundHttp(addr: string, binding: Fetcher): Promise<void>; 3222 + interceptAllOutboundHttp(binding: Fetcher): Promise<void>; 3191 3223 } 3192 3224 interface ContainerStartupOptions { 3193 3225 entrypoint?: string[]; ··· 3200 3232 * 3201 3233 * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort) 3202 3234 */ 3203 - interface MessagePort extends EventTarget { 3235 + declare abstract class MessagePort extends EventTarget { 3204 3236 /** 3205 3237 * The **`postMessage()`** method of the transfers ownership of objects to other browsing contexts. 3206 3238 * ··· 3293 3325 get timeOrigin(): number; 3294 3326 /* [Cloudflare Docs Reference](https://developers.cloudflare.com/workers/runtime-apis/performance/#performancenow) */ 3295 3327 now(): number; 3328 + /** 3329 + * The **`toJSON()`** method of the Performance interface is a Serialization; it returns a JSON representation of the Performance object. 3330 + * 3331 + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/toJSON) 3332 + */ 3333 + toJSON(): object; 3334 + } 3335 + // AI Search V2 API Error Interfaces 3336 + interface AiSearchInternalError extends Error { 3337 + } 3338 + interface AiSearchNotFoundError extends Error { 3339 + } 3340 + interface AiSearchNameNotSetError extends Error { 3341 + } 3342 + // AI Search V2 Request Types 3343 + type AiSearchSearchRequest = { 3344 + messages: Array<{ 3345 + role: 'system' | 'developer' | 'user' | 'assistant' | 'tool'; 3346 + content: string | null; 3347 + }>; 3348 + ai_search_options?: { 3349 + retrieval?: { 3350 + retrieval_type?: 'vector' | 'keyword' | 'hybrid'; 3351 + /** Match threshold (0-1, default 0.4) */ 3352 + match_threshold?: number; 3353 + /** Maximum number of results (1-50, default 10) */ 3354 + max_num_results?: number; 3355 + filters?: VectorizeVectorMetadataFilter; 3356 + /** Context expansion (0-3, default 0) */ 3357 + context_expansion?: number; 3358 + [key: string]: unknown; 3359 + }; 3360 + query_rewrite?: { 3361 + enabled?: boolean; 3362 + model?: string; 3363 + rewrite_prompt?: string; 3364 + [key: string]: unknown; 3365 + }; 3366 + reranking?: { 3367 + /** Enable reranking (default false) */ 3368 + enabled?: boolean; 3369 + model?: '@cf/baai/bge-reranker-base' | ''; 3370 + /** Match threshold (0-1, default 0.4) */ 3371 + match_threshold?: number; 3372 + [key: string]: unknown; 3373 + }; 3374 + [key: string]: unknown; 3375 + }; 3376 + }; 3377 + type AiSearchChatCompletionsRequest = { 3378 + messages: Array<{ 3379 + role: 'system' | 'developer' | 'user' | 'assistant' | 'tool'; 3380 + content: string | null; 3381 + }>; 3382 + model?: string; 3383 + stream?: boolean; 3384 + ai_search_options?: { 3385 + retrieval?: { 3386 + retrieval_type?: 'vector' | 'keyword' | 'hybrid'; 3387 + match_threshold?: number; 3388 + max_num_results?: number; 3389 + filters?: VectorizeVectorMetadataFilter; 3390 + context_expansion?: number; 3391 + [key: string]: unknown; 3392 + }; 3393 + query_rewrite?: { 3394 + enabled?: boolean; 3395 + model?: string; 3396 + rewrite_prompt?: string; 3397 + [key: string]: unknown; 3398 + }; 3399 + reranking?: { 3400 + enabled?: boolean; 3401 + model?: '@cf/baai/bge-reranker-base' | ''; 3402 + match_threshold?: number; 3403 + [key: string]: unknown; 3404 + }; 3405 + [key: string]: unknown; 3406 + }; 3407 + [key: string]: unknown; 3408 + }; 3409 + // AI Search V2 Response Types 3410 + type AiSearchSearchResponse = { 3411 + search_query: string; 3412 + chunks: Array<{ 3413 + id: string; 3414 + type: string; 3415 + /** Match score (0-1) */ 3416 + score: number; 3417 + text: string; 3418 + item: { 3419 + timestamp?: number; 3420 + key: string; 3421 + metadata?: Record<string, unknown>; 3422 + }; 3423 + scoring_details?: { 3424 + /** Keyword match score (0-1) */ 3425 + keyword_score?: number; 3426 + /** Vector similarity score (0-1) */ 3427 + vector_score?: number; 3428 + }; 3429 + }>; 3430 + }; 3431 + type AiSearchListResponse = Array<{ 3432 + id: string; 3433 + internal_id?: string; 3434 + account_id?: string; 3435 + account_tag?: string; 3436 + /** Whether the instance is enabled (default true) */ 3437 + enable?: boolean; 3438 + type?: 'r2' | 'web-crawler'; 3439 + source?: string; 3440 + [key: string]: unknown; 3441 + }>; 3442 + type AiSearchConfig = { 3443 + /** Instance ID (1-32 chars, pattern: ^[a-z0-9_]+(?:-[a-z0-9_]+)*$) */ 3444 + id: string; 3445 + type: 'r2' | 'web-crawler'; 3446 + source: string; 3447 + source_params?: object; 3448 + /** Token ID (UUID format) */ 3449 + token_id?: string; 3450 + ai_gateway_id?: string; 3451 + /** Enable query rewriting (default false) */ 3452 + rewrite_query?: boolean; 3453 + /** Enable reranking (default false) */ 3454 + reranking?: boolean; 3455 + embedding_model?: string; 3456 + ai_search_model?: string; 3457 + }; 3458 + type AiSearchInstance = { 3459 + id: string; 3460 + enable?: boolean; 3461 + type?: 'r2' | 'web-crawler'; 3462 + source?: string; 3463 + [key: string]: unknown; 3464 + }; 3465 + // AI Search Instance Service - Instance-level operations 3466 + declare abstract class AiSearchInstanceService { 3467 + /** 3468 + * Search the AI Search instance for relevant chunks. 3469 + * @param params Search request with messages and AI search options 3470 + * @returns Search response with matching chunks 3471 + */ 3472 + search(params: AiSearchSearchRequest): Promise<AiSearchSearchResponse>; 3473 + /** 3474 + * Generate chat completions with AI Search context. 3475 + * @param params Chat completions request with optional streaming 3476 + * @returns Response object (if streaming) or chat completion result 3477 + */ 3478 + chatCompletions(params: AiSearchChatCompletionsRequest): Promise<Response | object>; 3479 + /** 3480 + * Delete this AI Search instance. 3481 + */ 3482 + delete(): Promise<void>; 3483 + } 3484 + // AI Search Account Service - Account-level operations 3485 + declare abstract class AiSearchAccountService { 3486 + /** 3487 + * List all AI Search instances in the account. 3488 + * @returns Array of AI Search instances 3489 + */ 3490 + list(): Promise<AiSearchListResponse>; 3491 + /** 3492 + * Get an AI Search instance by ID. 3493 + * @param name Instance ID 3494 + * @returns Instance service for performing operations 3495 + */ 3496 + get(name: string): AiSearchInstanceService; 3497 + /** 3498 + * Create a new AI Search instance. 3499 + * @param config Instance configuration 3500 + * @returns Instance service for performing operations 3501 + */ 3502 + create(config: AiSearchConfig): Promise<AiSearchInstanceService>; 3296 3503 } 3297 3504 type AiImageClassificationInput = { 3298 3505 image: number[]; ··· 5482 5689 }; 5483 5690 })[]; 5484 5691 /** 5485 - * JSON schema that should be fufilled for the response. 5692 + * JSON schema that should be fulfilled for the response. 5486 5693 */ 5487 5694 guided_json?: object; 5488 5695 /** ··· 5748 5955 }; 5749 5956 })[]; 5750 5957 /** 5751 - * JSON schema that should be fufilled for the response. 5958 + * JSON schema that should be fulfilled for the response. 5752 5959 */ 5753 5960 guided_json?: object; 5754 5961 /** ··· 5839 6046 */ 5840 6047 prompt: string; 5841 6048 /** 5842 - * JSON schema that should be fufilled for the response. 6049 + * JSON schema that should be fulfilled for the response. 5843 6050 */ 5844 6051 guided_json?: object; 5845 6052 /** ··· 5998 6205 }; 5999 6206 })[]; 6000 6207 /** 6001 - * JSON schema that should be fufilled for the response. 6208 + * JSON schema that should be fulfilled for the response. 6002 6209 */ 6003 6210 guided_json?: object; 6004 6211 /** ··· 6270 6477 })[]; 6271 6478 response_format?: Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_JSON_Mode; 6272 6479 /** 6273 - * JSON schema that should be fufilled for the response. 6480 + * JSON schema that should be fulfilled for the response. 6274 6481 */ 6275 6482 guided_json?: object; 6276 6483 /** ··· 6500 6707 })[]; 6501 6708 response_format?: Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_JSON_Mode; 6502 6709 /** 6503 - * JSON schema that should be fufilled for the response. 6710 + * JSON schema that should be fulfilled for the response. 6504 6711 */ 6505 6712 guided_json?: object; 6506 6713 /** ··· 7550 7757 */ 7551 7758 text: string | string[]; 7552 7759 /** 7553 - * Target langauge to translate to 7760 + * Target language to translate to 7554 7761 */ 7555 7762 target_language: "asm_Beng" | "awa_Deva" | "ben_Beng" | "bho_Deva" | "brx_Deva" | "doi_Deva" | "eng_Latn" | "gom_Deva" | "gon_Deva" | "guj_Gujr" | "hin_Deva" | "hne_Deva" | "kan_Knda" | "kas_Arab" | "kas_Deva" | "kha_Latn" | "lus_Latn" | "mag_Deva" | "mai_Deva" | "mal_Mlym" | "mar_Deva" | "mni_Beng" | "mni_Mtei" | "npi_Deva" | "ory_Orya" | "pan_Guru" | "san_Deva" | "sat_Olck" | "snd_Arab" | "snd_Deva" | "tam_Taml" | "tel_Telu" | "urd_Arab" | "unr_Deva"; 7556 7763 } ··· 8481 8688 declare abstract class Ai<AiModelList extends AiModelListType = AiModels> { 8482 8689 aiGatewayLogId: string | null; 8483 8690 gateway(gatewayId: string): AiGateway; 8691 + /** 8692 + * Access the AI Search API for managing AI-powered search instances. 8693 + * 8694 + * This is the new API that replaces AutoRAG with better namespace separation: 8695 + * - Account-level operations: `list()`, `create()` 8696 + * - Instance-level operations: `get(id).search()`, `get(id).chatCompletions()`, `get(id).delete()` 8697 + * 8698 + * @example 8699 + * ```typescript 8700 + * // List all AI Search instances 8701 + * const instances = await env.AI.aiSearch.list(); 8702 + * 8703 + * // Search an instance 8704 + * const results = await env.AI.aiSearch.get('my-search').search({ 8705 + * messages: [{ role: 'user', content: 'What is the policy?' }], 8706 + * ai_search_options: { 8707 + * retrieval: { max_num_results: 10 } 8708 + * } 8709 + * }); 8710 + * 8711 + * // Generate chat completions with AI Search context 8712 + * const response = await env.AI.aiSearch.get('my-search').chatCompletions({ 8713 + * messages: [{ role: 'user', content: 'What is the policy?' }], 8714 + * model: '@cf/meta/llama-3.3-70b-instruct-fp8-fast' 8715 + * }); 8716 + * ``` 8717 + */ 8718 + aiSearch(): AiSearchAccountService; 8719 + /** 8720 + * @deprecated AutoRAG has been replaced by AI Search. 8721 + * Use `env.AI.aiSearch` instead for better API design and new features. 8722 + * 8723 + * Migration guide: 8724 + * - `env.AI.autorag().list()` → `env.AI.aiSearch.list()` 8725 + * - `env.AI.autorag('id').search({ query: '...' })` → `env.AI.aiSearch.get('id').search({ messages: [{ role: 'user', content: '...' }] })` 8726 + * - `env.AI.autorag('id').aiSearch(...)` → `env.AI.aiSearch.get('id').chatCompletions(...)` 8727 + * 8728 + * Note: The old API continues to work for backwards compatibility, but new projects should use AI Search. 8729 + * 8730 + * @see AiSearchAccountService 8731 + * @param autoragId Optional instance ID (omit for account-level operations) 8732 + */ 8484 8733 autorag(autoragId: string): AutoRAG; 8485 8734 run<Name extends keyof AiModelList, Options extends AiOptions, InputOptions extends AiModelList[Name]["inputs"]>(model: Name, inputs: InputOptions, options?: Options): Promise<Options extends { 8486 8735 returnRawResponse: true; ··· 8589 8838 }): Promise<Response>; 8590 8839 getUrl(provider?: AIGatewayProviders | string): Promise<string>; // eslint-disable-line 8591 8840 } 8841 + /** 8842 + * @deprecated AutoRAG has been replaced by AI Search. Use AiSearchInternalError instead. 8843 + * @see AiSearchInternalError 8844 + */ 8592 8845 interface AutoRAGInternalError extends Error { 8593 8846 } 8847 + /** 8848 + * @deprecated AutoRAG has been replaced by AI Search. Use AiSearchNotFoundError instead. 8849 + * @see AiSearchNotFoundError 8850 + */ 8594 8851 interface AutoRAGNotFoundError extends Error { 8595 8852 } 8853 + /** 8854 + * @deprecated This error type is no longer used in the AI Search API. 8855 + */ 8596 8856 interface AutoRAGUnauthorizedError extends Error { 8597 8857 } 8858 + /** 8859 + * @deprecated AutoRAG has been replaced by AI Search. Use AiSearchNameNotSetError instead. 8860 + * @see AiSearchNameNotSetError 8861 + */ 8598 8862 interface AutoRAGNameNotSetError extends Error { 8599 8863 } 8600 8864 type ComparisonFilter = { ··· 8606 8870 type: 'and' | 'or'; 8607 8871 filters: ComparisonFilter[]; 8608 8872 }; 8873 + /** 8874 + * @deprecated AutoRAG has been replaced by AI Search. 8875 + * Use AiSearchSearchRequest with the new API instead. 8876 + * @see AiSearchSearchRequest 8877 + */ 8609 8878 type AutoRagSearchRequest = { 8610 8879 query: string; 8611 8880 filters?: CompoundFilter | ComparisonFilter; ··· 8620 8889 }; 8621 8890 rewrite_query?: boolean; 8622 8891 }; 8892 + /** 8893 + * @deprecated AutoRAG has been replaced by AI Search. 8894 + * Use AiSearchChatCompletionsRequest with the new API instead. 8895 + * @see AiSearchChatCompletionsRequest 8896 + */ 8623 8897 type AutoRagAiSearchRequest = AutoRagSearchRequest & { 8624 8898 stream?: boolean; 8625 8899 system_prompt?: string; 8626 8900 }; 8901 + /** 8902 + * @deprecated AutoRAG has been replaced by AI Search. 8903 + * Use AiSearchChatCompletionsRequest with stream: true instead. 8904 + * @see AiSearchChatCompletionsRequest 8905 + */ 8627 8906 type AutoRagAiSearchRequestStreaming = Omit<AutoRagAiSearchRequest, 'stream'> & { 8628 8907 stream: true; 8629 8908 }; 8909 + /** 8910 + * @deprecated AutoRAG has been replaced by AI Search. 8911 + * Use AiSearchSearchResponse with the new API instead. 8912 + * @see AiSearchSearchResponse 8913 + */ 8630 8914 type AutoRagSearchResponse = { 8631 8915 object: 'vector_store.search_results.page'; 8632 8916 search_query: string; ··· 8643 8927 has_more: boolean; 8644 8928 next_page: string | null; 8645 8929 }; 8930 + /** 8931 + * @deprecated AutoRAG has been replaced by AI Search. 8932 + * Use AiSearchListResponse with the new API instead. 8933 + * @see AiSearchListResponse 8934 + */ 8646 8935 type AutoRagListResponse = { 8647 8936 id: string; 8648 8937 enable: boolean; ··· 8652 8941 paused: boolean; 8653 8942 status: string; 8654 8943 }[]; 8944 + /** 8945 + * @deprecated AutoRAG has been replaced by AI Search. 8946 + * The new API returns different response formats for chat completions. 8947 + */ 8655 8948 type AutoRagAiSearchResponse = AutoRagSearchResponse & { 8656 8949 response: string; 8657 8950 }; 8951 + /** 8952 + * @deprecated AutoRAG has been replaced by AI Search. 8953 + * Use the new AI Search API instead: `env.AI.aiSearch` 8954 + * 8955 + * Migration guide: 8956 + * - `env.AI.autorag().list()` → `env.AI.aiSearch.list()` 8957 + * - `env.AI.autorag('id').search(...)` → `env.AI.aiSearch.get('id').search(...)` 8958 + * - `env.AI.autorag('id').aiSearch(...)` → `env.AI.aiSearch.get('id').chatCompletions(...)` 8959 + * 8960 + * @see AiSearchAccountService 8961 + * @see AiSearchInstanceService 8962 + */ 8658 8963 declare abstract class AutoRAG { 8964 + /** 8965 + * @deprecated Use `env.AI.aiSearch.list()` instead. 8966 + * @see AiSearchAccountService.list 8967 + */ 8659 8968 list(): Promise<AutoRagListResponse>; 8969 + /** 8970 + * @deprecated Use `env.AI.aiSearch.get(id).search(...)` instead. 8971 + * Note: The new API uses a messages array instead of a query string. 8972 + * @see AiSearchInstanceService.search 8973 + */ 8660 8974 search(params: AutoRagSearchRequest): Promise<AutoRagSearchResponse>; 8975 + /** 8976 + * @deprecated Use `env.AI.aiSearch.get(id).chatCompletions(...)` instead. 8977 + * @see AiSearchInstanceService.chatCompletions 8978 + */ 8661 8979 aiSearch(params: AutoRagAiSearchRequestStreaming): Promise<Response>; 8980 + /** 8981 + * @deprecated Use `env.AI.aiSearch.get(id).chatCompletions(...)` instead. 8982 + * @see AiSearchInstanceService.chatCompletions 8983 + */ 8662 8984 aiSearch(params: AutoRagAiSearchRequest): Promise<AutoRagAiSearchResponse>; 8985 + /** 8986 + * @deprecated Use `env.AI.aiSearch.get(id).chatCompletions(...)` instead. 8987 + * @see AiSearchInstanceService.chatCompletions 8988 + */ 8663 8989 aiSearch(params: AutoRagAiSearchRequest): Promise<AutoRagAiSearchResponse | Response>; 8664 8990 } 8665 8991 interface BasicImageTransformations { ··· 9411 9737 */ 9412 9738 served_by_region?: string; 9413 9739 /** 9740 + * The three letters airport code of the colo that executed the query. 9741 + */ 9742 + served_by_colo?: string; 9743 + /** 9414 9744 * True if-and-only-if the database instance that executed the query was the primary. 9415 9745 */ 9416 9746 served_by_primary?: boolean; ··· 9499 9829 interface Disposable { 9500 9830 } 9501 9831 /** 9832 + * The returned data after sending an email 9833 + */ 9834 + interface EmailSendResult { 9835 + /** 9836 + * The Email Message ID 9837 + */ 9838 + messageId: string; 9839 + } 9840 + /** 9502 9841 * An email message that can be sent from a Worker. 9503 9842 */ 9504 9843 interface EmailMessage { ··· 9539 9878 * @param headers A [Headers object](https://developer.mozilla.org/en-US/docs/Web/API/Headers). 9540 9879 * @returns A promise that resolves when the email message is forwarded. 9541 9880 */ 9542 - forward(rcptTo: string, headers?: Headers): Promise<void>; 9881 + forward(rcptTo: string, headers?: Headers): Promise<EmailSendResult>; 9543 9882 /** 9544 9883 * Reply to the sender of this email message with a new EmailMessage object. 9545 9884 * @param message The reply message. 9546 9885 * @returns A promise that resolves when the email message is replied. 9547 9886 */ 9548 - reply(message: EmailMessage): Promise<void>; 9887 + reply(message: EmailMessage): Promise<EmailSendResult>; 9888 + } 9889 + /** A file attachment for an email message */ 9890 + type EmailAttachment = { 9891 + disposition: 'inline'; 9892 + contentId: string; 9893 + filename: string; 9894 + type: string; 9895 + content: string | ArrayBuffer | ArrayBufferView; 9896 + } | { 9897 + disposition: 'attachment'; 9898 + contentId?: undefined; 9899 + filename: string; 9900 + type: string; 9901 + content: string | ArrayBuffer | ArrayBufferView; 9902 + }; 9903 + /** An Email Address */ 9904 + interface EmailAddress { 9905 + name: string; 9906 + email: string; 9549 9907 } 9550 9908 /** 9551 9909 * A binding that allows a Worker to send email messages. 9552 9910 */ 9553 9911 interface SendEmail { 9554 - send(message: EmailMessage): Promise<void>; 9912 + send(message: EmailMessage): Promise<EmailSendResult>; 9913 + send(builder: { 9914 + from: string | EmailAddress; 9915 + to: string | string[]; 9916 + subject: string; 9917 + replyTo?: string | EmailAddress; 9918 + cc?: string | string[]; 9919 + bcc?: string | string[]; 9920 + headers?: Record<string, string>; 9921 + text?: string; 9922 + html?: string; 9923 + attachments?: EmailAttachment[]; 9924 + }): Promise<EmailSendResult>; 9555 9925 } 9556 9926 declare abstract class EmailEvent extends ExtendableEvent { 9557 9927 readonly message: ForwardableEmailMessage; 9558 9928 } 9559 - declare type EmailExportedHandler<Env = unknown> = (message: ForwardableEmailMessage, env: Env, ctx: ExecutionContext) => void | Promise<void>; 9929 + declare type EmailExportedHandler<Env = unknown, Props = unknown> = (message: ForwardableEmailMessage, env: Env, ctx: ExecutionContext<Props>) => void | Promise<void>; 9560 9930 declare module "cloudflare:email" { 9561 9931 let _EmailMessage: { 9562 9932 prototype: EmailMessage; ··· 9584 9954 /** 9585 9955 * Connect directly to Hyperdrive as if it's your database, returning a TCP socket. 9586 9956 * 9587 - * Calling this method returns an idential socket to if you call 9957 + * Calling this method returns an identical socket to if you call 9588 9958 * `connect("host:port")` using the `host` and `port` fields from this object. 9589 9959 * Pick whichever approach works better with your preferred DB client library. 9590 9960 * ··· 9697 10067 background?: string; 9698 10068 anim?: boolean; 9699 10069 }; 10070 + interface ImageMetadata { 10071 + id: string; 10072 + filename?: string; 10073 + uploaded?: string; 10074 + requireSignedURLs: boolean; 10075 + meta?: Record<string, unknown>; 10076 + variants: string[]; 10077 + draft?: boolean; 10078 + creator?: string; 10079 + } 10080 + interface ImageUploadOptions { 10081 + id?: string; 10082 + filename?: string; 10083 + requireSignedURLs?: boolean; 10084 + metadata?: Record<string, unknown>; 10085 + creator?: string; 10086 + encoding?: 'base64'; 10087 + } 10088 + interface ImageUpdateOptions { 10089 + requireSignedURLs?: boolean; 10090 + metadata?: Record<string, unknown>; 10091 + creator?: string; 10092 + } 10093 + interface ImageListOptions { 10094 + limit?: number; 10095 + cursor?: string; 10096 + sortOrder?: 'asc' | 'desc'; 10097 + creator?: string; 10098 + } 10099 + interface ImageList { 10100 + images: ImageMetadata[]; 10101 + cursor?: string; 10102 + listComplete: boolean; 10103 + } 10104 + interface HostedImagesBinding { 10105 + /** 10106 + * Get detailed metadata for a hosted image 10107 + * @param imageId The ID of the image (UUID or custom ID) 10108 + * @returns Image metadata, or null if not found 10109 + */ 10110 + details(imageId: string): Promise<ImageMetadata | null>; 10111 + /** 10112 + * Get the raw image data for a hosted image 10113 + * @param imageId The ID of the image (UUID or custom ID) 10114 + * @returns ReadableStream of image bytes, or null if not found 10115 + */ 10116 + image(imageId: string): Promise<ReadableStream<Uint8Array> | null>; 10117 + /** 10118 + * Upload a new hosted image 10119 + * @param image The image file to upload 10120 + * @param options Upload configuration 10121 + * @returns Metadata for the uploaded image 10122 + * @throws {@link ImagesError} if upload fails 10123 + */ 10124 + upload(image: ReadableStream<Uint8Array> | ArrayBuffer, options?: ImageUploadOptions): Promise<ImageMetadata>; 10125 + /** 10126 + * Update hosted image metadata 10127 + * @param imageId The ID of the image 10128 + * @param options Properties to update 10129 + * @returns Updated image metadata 10130 + * @throws {@link ImagesError} if update fails 10131 + */ 10132 + update(imageId: string, options: ImageUpdateOptions): Promise<ImageMetadata>; 10133 + /** 10134 + * Delete a hosted image 10135 + * @param imageId The ID of the image 10136 + * @returns True if deleted, false if not found 10137 + */ 10138 + delete(imageId: string): Promise<boolean>; 10139 + /** 10140 + * List hosted images with pagination 10141 + * @param options List configuration 10142 + * @returns List of images with pagination info 10143 + * @throws {@link ImagesError} if list fails 10144 + */ 10145 + list(options?: ImageListOptions): Promise<ImageList>; 10146 + } 9700 10147 interface ImagesBinding { 9701 10148 /** 9702 10149 * Get image metadata (type, width and height) ··· 9710 10157 * @returns A transform handle 9711 10158 */ 9712 10159 input(stream: ReadableStream<Uint8Array>, options?: ImageInputOptions): ImageTransformer; 10160 + /** 10161 + * Access hosted images CRUD operations 10162 + */ 10163 + readonly hosted: HostedImagesBinding; 9713 10164 } 9714 10165 interface ImageTransformer { 9715 10166 /** ··· 9776 10227 * @param transform - Configuration for how the media should be transformed 9777 10228 * @returns A generator for producing the transformed media output 9778 10229 */ 9779 - transform(transform: MediaTransformationInputOptions): MediaTransformationGenerator; 10230 + transform(transform?: MediaTransformationInputOptions): MediaTransformationGenerator; 10231 + /** 10232 + * Generates the final media output with specified options. 10233 + * @param output - Configuration for the output format and parameters 10234 + * @returns The final transformation result containing the transformed media 10235 + */ 10236 + output(output?: MediaTransformationOutputOptions): MediaTransformationResult; 9780 10237 } 9781 10238 /** 9782 10239 * Generator for producing media transformation results. ··· 9788 10245 * @param output - Configuration for the output format and parameters 9789 10246 * @returns The final transformation result containing the transformed media 9790 10247 */ 9791 - output(output: MediaTransformationOutputOptions): MediaTransformationResult; 10248 + output(output?: MediaTransformationOutputOptions): MediaTransformationResult; 9792 10249 } 9793 10250 /** 9794 10251 * Result of a media transformation operation. ··· 9797 10254 interface MediaTransformationResult { 9798 10255 /** 9799 10256 * Returns the transformed media as a readable stream of bytes. 9800 - * @returns A stream containing the transformed media data 10257 + * @returns A promise containing a readable stream with the transformed media 9801 10258 */ 9802 - media(): ReadableStream<Uint8Array>; 10259 + media(): Promise<ReadableStream<Uint8Array>>; 9803 10260 /** 9804 10261 * Returns the transformed media as an HTTP response object. 9805 - * @returns The transformed media as a Response, ready to store in cache or return to users 10262 + * @returns The transformed media as a Promise<Response>, ready to store in cache or return to users 9806 10263 */ 9807 - response(): Response; 10264 + response(): Promise<Response>; 9808 10265 /** 9809 10266 * Returns the MIME type of the transformed media. 9810 - * @returns The content type string (e.g., 'image/jpeg', 'video/mp4') 10267 + * @returns A promise containing the content type string (e.g., 'image/jpeg', 'video/mp4') 9811 10268 */ 9812 - contentType(): string; 10269 + contentType(): Promise<string>; 9813 10270 } 9814 10271 /** 9815 10272 * Configuration options for transforming media input. ··· 9917 10374 protected ctx: ExecutionContext; 9918 10375 constructor(ctx: ExecutionContext, env: Env); 9919 10376 /** 9920 - * run recieves an array of PipelineRecord which can be 10377 + * run receives an array of PipelineRecord which can be 9921 10378 * transformed and returned to the pipeline 9922 10379 * @param records Incoming records from the pipeline to be transformed 9923 10380 * @param metadata Information about the specific pipeline calling the transformation entrypoint ··· 10188 10645 timestamp: Date; 10189 10646 type: string; 10190 10647 }; 10648 + export type WorkflowStepContext = { 10649 + attempt: number; 10650 + }; 10191 10651 export abstract class WorkflowStep { 10192 - do<T extends Rpc.Serializable<T>>(name: string, callback: () => Promise<T>): Promise<T>; 10193 - do<T extends Rpc.Serializable<T>>(name: string, config: WorkflowStepConfig, callback: () => Promise<T>): Promise<T>; 10652 + do<T extends Rpc.Serializable<T>>(name: string, callback: (ctx: WorkflowStepContext) => Promise<T>): Promise<T>; 10653 + do<T extends Rpc.Serializable<T>>(name: string, config: WorkflowStepConfig, callback: (ctx: WorkflowStepContext) => Promise<T>): Promise<T>; 10194 10654 sleep: (name: string, duration: WorkflowSleepDuration) => Promise<void>; 10195 10655 sleepUntil: (name: string, timestamp: Date | number) => Promise<void>; 10196 10656 waitForEvent<T extends Rpc.Serializable<T>>(name: string, options: { ··· 10198 10658 timeout?: WorkflowTimeoutDuration | number; 10199 10659 }): Promise<WorkflowStepEvent<T>>; 10200 10660 } 10661 + export type WorkflowInstanceStatus = 'queued' | 'running' | 'paused' | 'errored' | 'terminated' | 'complete' | 'waiting' | 'waitingForPause' | 'unknown'; 10201 10662 export abstract class WorkflowEntrypoint<Env = unknown, T extends Rpc.Serializable<T> | unknown = unknown> implements Rpc.WorkflowEntrypointBranded { 10202 10663 [Rpc.__WORKFLOW_ENTRYPOINT_BRAND]: never; 10203 10664 protected ctx: ExecutionContext; ··· 10231 10692 blob: Blob; 10232 10693 }; 10233 10694 type ConversionResponse = { 10695 + id: string; 10234 10696 name: string; 10235 10697 mimeType: string; 10236 10698 format: 'markdown'; 10237 10699 tokens: number; 10238 10700 data: string; 10239 10701 } | { 10702 + id: string; 10240 10703 name: string; 10241 10704 mimeType: string; 10242 10705 format: 'error'; ··· 10254 10717 images?: EmbeddedImageConversionOptions & { 10255 10718 convertOGImage?: boolean; 10256 10719 }; 10720 + hostname?: string; 10721 + cssSelector?: string; 10257 10722 }; 10258 10723 docx?: { 10259 10724 images?: EmbeddedImageConversionOptions; ··· 10391 10856 readonly level: "debug" | "error" | "info" | "log" | "warn"; 10392 10857 readonly message: object; 10393 10858 } 10859 + interface DroppedEventsDiagnostic { 10860 + readonly diagnosticsType: "droppedEvents"; 10861 + readonly count: number; 10862 + } 10863 + interface StreamDiagnostic { 10864 + readonly type: 'streamDiagnostic'; 10865 + // To add new diagnostic types, define a new interface and add it to this union type. 10866 + readonly diagnostic: DroppedEventsDiagnostic; 10867 + } 10394 10868 // This marks the worker handler return information. 10395 10869 // This is separate from Outcome because the worker invocation can live for a long time after 10396 10870 // returning. For example - Websockets that return an http upgrade response but then continue ··· 10407 10881 readonly type: "attributes"; 10408 10882 readonly info: Attribute[]; 10409 10883 } 10410 - type EventType = Onset | Outcome | SpanOpen | SpanClose | DiagnosticChannelEvent | Exception | Log | Return | Attributes; 10884 + type EventType = Onset | Outcome | SpanOpen | SpanClose | DiagnosticChannelEvent | Exception | Log | StreamDiagnostic | Return | Attributes; 10411 10885 // Context in which this trace event lives. 10412 10886 interface SpanContext { 10413 10887 // Single id for the entire top-level invocation ··· 10421 10895 // For Hibernate and Mark this would be the span under which they were emitted. 10422 10896 // spanId is not set ONLY if: 10423 10897 // 1. This is an Onset event 10424 - // 2. We are not inherting any SpanContext. (e.g. this is a cross-account service binding or a new top-level invocation) 10898 + // 2. We are not inheriting any SpanContext. (e.g. this is a cross-account service binding or a new top-level invocation) 10425 10899 readonly spanId?: string; 10426 10900 } 10427 10901 interface TailEvent<Event extends EventType> {