personal web client for Bluesky
typescript solidjs bluesky atcute

chore: upgrade dependencies

mary.my.id da7cf2f5 57405759

verified
+388 -614
+13 -12
package.json
··· 10 10 "dependencies": { 11 11 "@atcute/atproto": "^3.1.10", 12 12 "@atcute/bluemoji": "^3.1.3", 13 - "@atcute/bluesky": "^3.2.15", 13 + "@atcute/bluesky": "^3.2.16", 14 14 "@atcute/bluesky-richtext-parser": "^1.0.7", 15 15 "@atcute/bluesky-richtext-segmenter": "^3.0.0", 16 16 "@atcute/bluesky-search-parser": "^0.1.1", ··· 19 19 "@atcute/client": "^4.2.1", 20 20 "@atcute/identity": "^1.1.3", 21 21 "@atcute/identity-resolver": "^1.2.2", 22 - "@atcute/lexicons": "^1.2.6", 23 - "@atcute/multibase": "^1.1.6", 24 - "@atcute/oauth-browser-client": "2.0.3", 22 + "@atcute/lexicons": "^1.2.7", 23 + "@atcute/multibase": "^1.1.7", 24 + "@atcute/oauth-browser-client": "^3.0.0", 25 + "@atcute/oauth-crypto": "^0.1.0", 25 26 "@atcute/tid": "^1.1.1", 26 - "@atcute/uint8array": "^1.0.6", 27 - "@atcute/xrpc-server": "^0.1.8", 27 + "@atcute/uint8array": "^1.1.0", 28 + "@atcute/xrpc-server": "^0.1.9", 28 29 "@atlaskit/pragmatic-drag-and-drop": "1.6.0", 29 30 "@atlaskit/pragmatic-drag-and-drop-hitbox": "1.0.3", 30 - "@floating-ui/dom": "^1.7.4", 31 + "@floating-ui/dom": "^1.7.5", 31 32 "@floating-ui/utils": "^0.2.10", 32 33 "@kelinci/basa-lexicons": "^1.0.0", 33 34 "@mary/array-fns": "jsr:^0.1.5", ··· 40 41 "@mary/solid-query": "npm:@externdefs/solid-query@^0.1.5", 41 42 "comlink": "^4.4.2", 42 43 "hls.js": "^1.6.15", 43 - "mediabunny": "^1.29.0", 44 + "mediabunny": "^1.31.0", 44 45 "nanoid": "^5.1.6", 45 46 "solid-floating-ui": "~0.2.1", 46 - "solid-js": "^1.9.10" 47 + "solid-js": "^1.9.11" 47 48 }, 48 49 "devDependencies": { 49 50 "@badrap/valita": "^0.4.6", 50 - "@cloudflare/vite-plugin": "^1.21.0", 51 + "@cloudflare/vite-plugin": "^1.22.1", 51 52 "@types/dom-close-watcher": "^1.0.0", 52 53 "@types/dom-webcodecs": "^0.1.18", 53 54 "@types/node": "^24.10.9", 54 55 "autoprefixer": "^10.4.23", 55 56 "babel-plugin-transform-typescript-const-enums": "^0.1.0", 56 57 "oxfmt": "^0.26.0", 57 - "prettier": "^3.8.0", 58 + "prettier": "^3.8.1", 58 59 "tailwindcss": "^3.4.19", 59 60 "terser": "^5.46.0", 60 61 "typescript": "~5.9.3", 61 62 "vite": "^7.3.1", 62 63 "vite-plugin-pwa": "1.1.0", 63 64 "vite-plugin-solid": "^2.11.10", 64 - "wrangler": "^4.59.2" 65 + "wrangler": "^4.61.1" 65 66 }, 66 67 "pnpm": { 67 68 "patchedDependencies": {
+345 -320
pnpm-lock.yaml
··· 37 37 specifier: ^3.1.3 38 38 version: 3.1.3 39 39 '@atcute/bluesky': 40 - specifier: ^3.2.15 41 - version: 3.2.15 40 + specifier: ^3.2.16 41 + version: 3.2.16 42 42 '@atcute/bluesky-richtext-parser': 43 43 specifier: ^1.0.7 44 44 version: 1.0.7 ··· 64 64 specifier: ^1.2.2 65 65 version: 1.2.2(@atcute/identity@1.1.3) 66 66 '@atcute/lexicons': 67 - specifier: ^1.2.6 68 - version: 1.2.6 67 + specifier: ^1.2.7 68 + version: 1.2.7 69 69 '@atcute/multibase': 70 - specifier: ^1.1.6 71 - version: 1.1.6 70 + specifier: ^1.1.7 71 + version: 1.1.7 72 72 '@atcute/oauth-browser-client': 73 - specifier: 2.0.3 74 - version: 2.0.3(@atcute/identity@1.1.3) 73 + specifier: ^3.0.0 74 + version: 3.0.0(@atcute/identity@1.1.3) 75 + '@atcute/oauth-crypto': 76 + specifier: ^0.1.0 77 + version: 0.1.0 75 78 '@atcute/tid': 76 79 specifier: ^1.1.1 77 80 version: 1.1.1 78 81 '@atcute/uint8array': 79 - specifier: ^1.0.6 80 - version: 1.0.6 82 + specifier: ^1.1.0 83 + version: 1.1.0 81 84 '@atcute/xrpc-server': 82 - specifier: ^0.1.8 83 - version: 0.1.8 85 + specifier: ^0.1.9 86 + version: 0.1.9 84 87 '@atlaskit/pragmatic-drag-and-drop': 85 88 specifier: 1.6.0 86 89 version: 1.6.0 ··· 88 91 specifier: 1.0.3 89 92 version: 1.0.3 90 93 '@floating-ui/dom': 91 - specifier: ^1.7.4 92 - version: 1.7.4 94 + specifier: ^1.7.5 95 + version: 1.7.5 93 96 '@floating-ui/utils': 94 97 specifier: ^0.2.10 95 98 version: 0.2.10(patch_hash=1cf283fbaa686f96f7b3029bbc0955bff698af6f4a75ba6c276ad1a7a7c40aea) ··· 116 119 version: '@jsr/mary__exif-rm@0.2.2' 117 120 '@mary/solid-freeze': 118 121 specifier: npm:@externdefs/solid-freeze@^0.1.1 119 - version: '@externdefs/solid-freeze@0.1.1(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))' 122 + version: '@externdefs/solid-freeze@0.1.1(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))' 120 123 '@mary/solid-query': 121 124 specifier: npm:@externdefs/solid-query@^0.1.5 122 - version: '@externdefs/solid-query@0.1.5(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))' 125 + version: '@externdefs/solid-query@0.1.5(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))' 123 126 comlink: 124 127 specifier: ^4.4.2 125 128 version: 4.4.2 ··· 127 130 specifier: ^1.6.15 128 131 version: 1.6.15 129 132 mediabunny: 130 - specifier: ^1.29.0 131 - version: 1.29.0 133 + specifier: ^1.31.0 134 + version: 1.31.0 132 135 nanoid: 133 136 specifier: ^5.1.6 134 137 version: 5.1.6 135 138 solid-floating-ui: 136 139 specifier: ~0.2.1 137 - version: 0.2.1(@floating-ui/dom@1.7.4)(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 140 + version: 0.2.1(@floating-ui/dom@1.7.5)(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 138 141 solid-js: 139 - specifier: ^1.9.10 140 - version: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 142 + specifier: ^1.9.11 143 + version: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 141 144 devDependencies: 142 145 '@badrap/valita': 143 146 specifier: ^0.4.6 144 147 version: 0.4.6 145 148 '@cloudflare/vite-plugin': 146 - specifier: ^1.21.0 147 - version: 1.21.0(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260114.0)(wrangler@4.59.2) 149 + specifier: ^1.22.1 150 + version: 1.22.1(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260128.0)(wrangler@4.61.1) 148 151 '@types/dom-close-watcher': 149 152 specifier: ^1.0.0 150 153 version: 1.0.0 ··· 164 167 specifier: ^0.26.0 165 168 version: 0.26.0 166 169 prettier: 167 - specifier: ^3.8.0 168 - version: 3.8.0 170 + specifier: ^3.8.1 171 + version: 3.8.1 169 172 tailwindcss: 170 173 specifier: ^3.4.19 171 174 version: 3.4.19 ··· 183 186 version: 1.1.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 184 187 vite-plugin-solid: 185 188 specifier: ^2.11.10 186 - version: 2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 189 + version: 2.11.10(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 187 190 wrangler: 188 - specifier: ^4.59.2 189 - version: 4.59.2 191 + specifier: ^4.61.1 192 + version: 4.61.1 190 193 191 194 packages: 192 195 ··· 215 218 '@atcute/bluesky-search-parser@0.1.1': 216 219 resolution: {integrity: sha512-jX01yzA4CWXfnpAmOL5P9kjpWEhVvIq2xEyYLZdFVpYe1v6xclUem1ir+Q8+aWoAcYwqQq6pM16XxkGw0yi5nA==} 217 220 218 - '@atcute/bluesky@3.2.15': 219 - resolution: {integrity: sha512-H4RW3WffjfdKvOZ9issEUQnuSR4KfuAwwJnYu0fclA9VDa99JTJ+pa8tTl9lFeBV9DINtWJAx7rdIbICoVCstQ==} 221 + '@atcute/bluesky@3.2.16': 222 + resolution: {integrity: sha512-phFAJNE+SCkIbCcgzjFxntS2KpGvzkLw0JA9qKIXlueF4wNreEt/D5HjnB5eRR9pV1/kcD94II9f7ZAwarf0lQ==} 220 223 221 224 '@atcute/cbor@2.3.0': 222 225 resolution: {integrity: sha512-7G2AndkfYzIXMBOBqUPUWP6oIJJm77KY5nYzS4Mr5NNxnmnrBrXEQqp+seCE3X5TV8FUSWQK5YRTU87uPjafMQ==} ··· 238 241 '@atcute/identity@1.1.3': 239 242 resolution: {integrity: sha512-oIqPoI8TwWeQxvcLmFEZLdN2XdWcaLVtlm8pNk0E72As9HNzzD9pwKPrLr3rmTLRIoULPPFmq9iFNsTeCIU9ng==} 240 243 241 - '@atcute/lexicons@1.2.6': 242 - resolution: {integrity: sha512-s76UQd8D+XmHIzrjD9CJ9SOOeeLPHc+sMmcj7UFakAW/dDFXc579fcRdRfuUKvXBL5v1Gs2VgDdlh/IvvQZAwA==} 244 + '@atcute/lexicons@1.2.7': 245 + resolution: {integrity: sha512-gCvkSMI1F1zx7xXa59iPiSKMH3L5Hga6iurGqQjaQbE2V/np/2QuDqQzt96TNbWfaFAXE9f9oY+0z3ljf/bweA==} 246 + 247 + '@atcute/multibase@1.1.7': 248 + resolution: {integrity: sha512-YmWds7U52b7Qri0xNfGeqSOvgyNfHR8Yy/NNDQx4d5TkCX2fHJIo0pXquEhCyMNAwKt53uH5yQDswy4TNP1Zhw==} 249 + 250 + '@atcute/oauth-browser-client@3.0.0': 251 + resolution: {integrity: sha512-7AbKV8tTe7aRJNJV7gCcWHSVEADb2nr58O1p7dQsf73HSe9pvlBkj/Vk1yjjtH691uAVYkwhHSh0bC7D8XdwJw==} 252 + 253 + '@atcute/oauth-crypto@0.1.0': 254 + resolution: {integrity: sha512-qZYDCNLF/4B6AndYT1rsQelN8621AC5u/sL5PHvlr/qqAbmmUwCBGjEgRSyZtHE1AqD60VNiSMlOgAuEQTSl3w==} 243 255 244 - '@atcute/multibase@1.1.6': 245 - resolution: {integrity: sha512-HBxuCgYLKPPxETV0Rot4VP9e24vKl8JdzGCZOVsDaOXJgbRZoRIF67Lp0H/OgnJeH/Xpva8Z5ReoTNJE5dn3kg==} 256 + '@atcute/oauth-keyset@0.1.0': 257 + resolution: {integrity: sha512-+wqT/+I5Lg9VzKnKY3g88+N45xbq+wsdT6bHDGqCVa2u57gRvolFF4dY+weMfc/OX641BIZO6/o+zFtKBsMQnQ==} 246 258 247 - '@atcute/oauth-browser-client@2.0.3': 248 - resolution: {integrity: sha512-rzUjwhjE4LRRKdQnCFQag/zXRZMEAB1hhBoLfnoQuHwWbmDUCL7fzwC3jRhDPp3om8XaYNDj8a/iqRip0wRqoQ==} 259 + '@atcute/oauth-types@0.1.0': 260 + resolution: {integrity: sha512-bAuhgizREKSZghI1Re8Nw/GI6troJ/nwTsDlEwr4HnRKnk0hTc61Igl4y09MG3znOoHOtWIdEnO4zR7pN11BaA==} 249 261 250 262 '@atcute/tid@1.1.1': 251 263 resolution: {integrity: sha512-djJ8UGhLkTU5V51yCnBEruMg35qETjWzWy5sJG/2gEOl2Gd7rQWHSaf+yrO6vMS5EFA38U2xOWE3EDUPzvc2ZQ==} ··· 253 265 '@atcute/time-ms@1.2.0': 254 266 resolution: {integrity: sha512-dtNKebVIbr1+yu3a6vgtL4sfkNgxkL3aA+ohHsjtW83WWMjjGvX8GVTVmYCJ2dYSxIoxK0q1yWs11PmlqzmQ/A==} 255 267 256 - '@atcute/uint8array@1.0.6': 257 - resolution: {integrity: sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A==} 268 + '@atcute/uint8array@1.1.0': 269 + resolution: {integrity: sha512-JtHXIVW6LPU9FMWp7SgE4HbUs3uV2WdfkK/2RWdEGjr4EgMV50P3FdU6fPeGlTfDNBJVYMIsuD2wwaKRPV/Aqg==} 258 270 259 271 '@atcute/util-fetch@1.0.5': 260 272 resolution: {integrity: sha512-qjHj01BGxjSjIFdPiAjSARnodJIIyKxnCMMEcXMESo9TAyND6XZQqrie5fia+LlYWVXdpsTds8uFQwc9jdKTig==} 261 273 262 - '@atcute/util-text@0.0.1': 263 - resolution: {integrity: sha512-t1KZqvn0AYy+h2KcJyHnKF9aEqfRfMUmyY8j1ELtAEIgqN9CxINAjxnoRCJIFUlvWzb+oY3uElQL/Vyk3yss0g==} 274 + '@atcute/util-text@1.1.0': 275 + resolution: {integrity: sha512-34G9KD5Z9f7oEdFpZOmqrMnU86p8ne6LlxJowfZzKNszRcl1GH+FtEPh3N1woelJT2SkPXMK2anwT8DESTluwA==} 264 276 265 - '@atcute/xrpc-server@0.1.8': 266 - resolution: {integrity: sha512-GFdPtaXQXfsqejx88CaJ6zU0Yexrh3n94/rotGk1xwNJLa1iQ5kuWQqzttcybXoYEOp5Z2CGGw7bx9WuCLarlw==} 277 + '@atcute/xrpc-server@0.1.9': 278 + resolution: {integrity: sha512-sIgHeLIezIiaDT3eCwHpUfMOHoU2MP3izwmItqvXalMBGrR3qF35m2+3YDXOAxLqyTI1RSuQOk3SD3zLZx53gA==} 267 279 268 280 '@atlaskit/pragmatic-drag-and-drop-hitbox@1.0.3': 269 281 resolution: {integrity: sha512-/Sbu/HqN2VGLYBhnsG7SbRNg98XKkbF6L7XDdBi+izRybfaK1FeMfodPpm/xnBHPJzwYMdkE0qtLyv6afhgMUA==} ··· 307 319 peerDependencies: 308 320 '@babel/core': ^7.0.0 309 321 310 - '@babel/helper-define-polyfill-provider@0.6.5': 311 - resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} 322 + '@babel/helper-define-polyfill-provider@0.6.6': 323 + resolution: {integrity: sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==} 312 324 peerDependencies: 313 325 '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 314 326 ··· 784 796 resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} 785 797 engines: {node: '>=18.0.0'} 786 798 787 - '@cloudflare/unenv-preset@2.10.0': 788 - resolution: {integrity: sha512-/uII4vLQXhzCAZzEVeYAjFLBNg2nqTJ1JGzd2lRF6ItYe6U2zVoYGfeKpGx/EkBF6euiU+cyBXgMdtJih+nQ6g==} 799 + '@cloudflare/unenv-preset@2.12.0': 800 + resolution: {integrity: sha512-NK4vN+2Z/GbfGS4BamtbbVk1rcu5RmqaYGiyHJQrA09AoxdZPHDF3W/EhgI0YSK8p3vRo/VNCtbSJFPON7FWMQ==} 789 801 peerDependencies: 790 802 unenv: 2.0.0-rc.24 791 - workerd: ^1.20251221.0 803 + workerd: ^1.20260115.0 792 804 peerDependenciesMeta: 793 805 workerd: 794 806 optional: true 795 807 796 - '@cloudflare/vite-plugin@1.21.0': 797 - resolution: {integrity: sha512-3VXtkfjOQL+k3Plj+t0BHRyw8iIIRBQ8RJU6KJHJQKdYHA6rJE/WlSa/lRd0A8MMhvP8e8QiMLuDqveEN8gCZg==} 808 + '@cloudflare/vite-plugin@1.22.1': 809 + resolution: {integrity: sha512-RDWc6WtrdjVDfpBeO3MYcgJIbq+Phg9qBXq1Ixl00qPqM8bgKp9oPLhg8oayynQs8udNnqkV0CjfojvIhhfZWg==} 798 810 peerDependencies: 799 811 vite: ^6.1.0 || ^7.0.0 800 - wrangler: ^4.59.2 812 + wrangler: ^4.61.1 801 813 802 - '@cloudflare/workerd-darwin-64@1.20260114.0': 803 - resolution: {integrity: sha512-HNlsRkfNgardCig2P/5bp/dqDECsZ4+NU5XewqArWxMseqt3C5daSuptI620s4pn7Wr0ZKg7jVLH0PDEBkA+aA==} 814 + '@cloudflare/workerd-darwin-64@1.20260128.0': 815 + resolution: {integrity: sha512-XJN8zWWNG3JwAUqqwMLNKJ9fZfdlQkx/zTTHW/BB8wHat9LjKD6AzxqCu432YmfjR+NxEKCzUOxMu1YOxlVxmg==} 804 816 engines: {node: '>=16'} 805 817 cpu: [x64] 806 818 os: [darwin] 807 819 808 - '@cloudflare/workerd-darwin-arm64@1.20260114.0': 809 - resolution: {integrity: sha512-qyE1UdFnAlxzb+uCfN/d9c8icch7XRiH49/DjoqEa+bCDihTuRS7GL1RmhVIqHJhb3pX3DzxmKgQZBDBL83Inw==} 820 + '@cloudflare/workerd-darwin-arm64@1.20260128.0': 821 + resolution: {integrity: sha512-vKnRcmnm402GQ5DOdfT5H34qeR2m07nhnTtky8mTkNWP+7xmkz32AMdclwMmfO/iX9ncyKwSqmml2wPG32eq/w==} 810 822 engines: {node: '>=16'} 811 823 cpu: [arm64] 812 824 os: [darwin] 813 825 814 - '@cloudflare/workerd-linux-64@1.20260114.0': 815 - resolution: {integrity: sha512-Z0BLvAj/JPOabzads2ddDEfgExWTlD22pnwsuNbPwZAGTSZeQa3Y47eGUWyHk+rSGngknk++S7zHTGbKuG7RRg==} 826 + '@cloudflare/workerd-linux-64@1.20260128.0': 827 + resolution: {integrity: sha512-RiaR+Qugof/c6oI5SagD2J5wJmIfI8wQWaV2Y9905Raj6sAYOFaEKfzkKnoLLLNYb4NlXicBrffJi1j7R/ypUA==} 816 828 engines: {node: '>=16'} 817 829 cpu: [x64] 818 830 os: [linux] 819 831 820 - '@cloudflare/workerd-linux-arm64@1.20260114.0': 821 - resolution: {integrity: sha512-kPUmEtUxUWlr9PQ64kuhdK0qyo8idPe5IIXUgi7xCD7mDd6EOe5J7ugDpbfvfbYKEjx4DpLvN2t45izyI/Sodw==} 832 + '@cloudflare/workerd-linux-arm64@1.20260128.0': 833 + resolution: {integrity: sha512-U39U9vcXLXYDbrJ112Q7D0LDUUnM54oXfAxPgrL2goBwio7Z6RnsM25TRvm+Q06F4+FeDOC4D51JXlFHb9t1OA==} 822 834 engines: {node: '>=16'} 823 835 cpu: [arm64] 824 836 os: [linux] 825 837 826 - '@cloudflare/workerd-windows-64@1.20260114.0': 827 - resolution: {integrity: sha512-MJnKgm6i1jZGyt2ZHQYCnRlpFTEZcK2rv9y7asS3KdVEXaDgGF8kOns5u6YL6/+eMogfZuHRjfDS+UqRTUYIFA==} 838 + '@cloudflare/workerd-windows-64@1.20260128.0': 839 + resolution: {integrity: sha512-fdJwSqRkJsAJFJ7+jy0th2uMO6fwaDA8Ny6+iFCssfzlNkc4dP/twXo+3F66FMLMe/6NIqjzVts0cpiv7ERYbQ==} 828 840 engines: {node: '>=16'} 829 841 cpu: [x64] 830 842 os: [win32] ··· 1158 1170 peerDependencies: 1159 1171 solid-js: ^1.8.5 1160 1172 1161 - '@floating-ui/core@1.7.3': 1162 - resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} 1173 + '@floating-ui/core@1.7.4': 1174 + resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==} 1163 1175 1164 - '@floating-ui/dom@1.7.4': 1165 - resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} 1176 + '@floating-ui/dom@1.7.5': 1177 + resolution: {integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==} 1166 1178 1167 1179 '@floating-ui/utils@0.2.10': 1168 1180 resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} ··· 1487 1499 rollup: 1488 1500 optional: true 1489 1501 1490 - '@rollup/rollup-android-arm-eabi@4.55.2': 1491 - resolution: {integrity: sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==} 1502 + '@rollup/rollup-android-arm-eabi@4.57.0': 1503 + resolution: {integrity: sha512-tPgXB6cDTndIe1ah7u6amCI1T0SsnlOuKgg10Xh3uizJk4e5M1JGaUMk7J4ciuAUcFpbOiNhm2XIjP9ON0dUqA==} 1492 1504 cpu: [arm] 1493 1505 os: [android] 1494 1506 1495 - '@rollup/rollup-android-arm64@4.55.2': 1496 - resolution: {integrity: sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==} 1507 + '@rollup/rollup-android-arm64@4.57.0': 1508 + resolution: {integrity: sha512-sa4LyseLLXr1onr97StkU1Nb7fWcg6niokTwEVNOO7awaKaoRObQ54+V/hrF/BP1noMEaaAW6Fg2d/CfLiq3Mg==} 1497 1509 cpu: [arm64] 1498 1510 os: [android] 1499 1511 1500 - '@rollup/rollup-darwin-arm64@4.55.2': 1501 - resolution: {integrity: sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==} 1512 + '@rollup/rollup-darwin-arm64@4.57.0': 1513 + resolution: {integrity: sha512-/NNIj9A7yLjKdmkx5dC2XQ9DmjIECpGpwHoGmA5E1AhU0fuICSqSWScPhN1yLCkEdkCwJIDu2xIeLPs60MNIVg==} 1502 1514 cpu: [arm64] 1503 1515 os: [darwin] 1504 1516 1505 - '@rollup/rollup-darwin-x64@4.55.2': 1506 - resolution: {integrity: sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==} 1517 + '@rollup/rollup-darwin-x64@4.57.0': 1518 + resolution: {integrity: sha512-xoh8abqgPrPYPr7pTYipqnUi1V3em56JzE/HgDgitTqZBZ3yKCWI+7KUkceM6tNweyUKYru1UMi7FC060RyKwA==} 1507 1519 cpu: [x64] 1508 1520 os: [darwin] 1509 1521 1510 - '@rollup/rollup-freebsd-arm64@4.55.2': 1511 - resolution: {integrity: sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==} 1522 + '@rollup/rollup-freebsd-arm64@4.57.0': 1523 + resolution: {integrity: sha512-PCkMh7fNahWSbA0OTUQ2OpYHpjZZr0hPr8lId8twD7a7SeWrvT3xJVyza+dQwXSSq4yEQTMoXgNOfMCsn8584g==} 1512 1524 cpu: [arm64] 1513 1525 os: [freebsd] 1514 1526 1515 - '@rollup/rollup-freebsd-x64@4.55.2': 1516 - resolution: {integrity: sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==} 1527 + '@rollup/rollup-freebsd-x64@4.57.0': 1528 + resolution: {integrity: sha512-1j3stGx+qbhXql4OCDZhnK7b01s6rBKNybfsX+TNrEe9JNq4DLi1yGiR1xW+nL+FNVvI4D02PUnl6gJ/2y6WJA==} 1517 1529 cpu: [x64] 1518 1530 os: [freebsd] 1519 1531 1520 - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': 1521 - resolution: {integrity: sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==} 1532 + '@rollup/rollup-linux-arm-gnueabihf@4.57.0': 1533 + resolution: {integrity: sha512-eyrr5W08Ms9uM0mLcKfM/Uzx7hjhz2bcjv8P2uynfj0yU8GGPdz8iYrBPhiLOZqahoAMB8ZiolRZPbbU2MAi6Q==} 1522 1534 cpu: [arm] 1523 1535 os: [linux] 1524 1536 1525 - '@rollup/rollup-linux-arm-musleabihf@4.55.2': 1526 - resolution: {integrity: sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==} 1537 + '@rollup/rollup-linux-arm-musleabihf@4.57.0': 1538 + resolution: {integrity: sha512-Xds90ITXJCNyX9pDhqf85MKWUI4lqjiPAipJ8OLp8xqI2Ehk+TCVhF9rvOoN8xTbcafow3QOThkNnrM33uCFQA==} 1527 1539 cpu: [arm] 1528 1540 os: [linux] 1529 1541 1530 - '@rollup/rollup-linux-arm64-gnu@4.55.2': 1531 - resolution: {integrity: sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==} 1542 + '@rollup/rollup-linux-arm64-gnu@4.57.0': 1543 + resolution: {integrity: sha512-Xws2KA4CLvZmXjy46SQaXSejuKPhwVdaNinldoYfqruZBaJHqVo6hnRa8SDo9z7PBW5x84SH64+izmldCgbezw==} 1532 1544 cpu: [arm64] 1533 1545 os: [linux] 1534 1546 1535 - '@rollup/rollup-linux-arm64-musl@4.55.2': 1536 - resolution: {integrity: sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==} 1547 + '@rollup/rollup-linux-arm64-musl@4.57.0': 1548 + resolution: {integrity: sha512-hrKXKbX5FdaRJj7lTMusmvKbhMJSGWJ+w++4KmjiDhpTgNlhYobMvKfDoIWecy4O60K6yA4SnztGuNTQF+Lplw==} 1537 1549 cpu: [arm64] 1538 1550 os: [linux] 1539 1551 1540 - '@rollup/rollup-linux-loong64-gnu@4.55.2': 1541 - resolution: {integrity: sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==} 1552 + '@rollup/rollup-linux-loong64-gnu@4.57.0': 1553 + resolution: {integrity: sha512-6A+nccfSDGKsPm00d3xKcrsBcbqzCTAukjwWK6rbuAnB2bHaL3r9720HBVZ/no7+FhZLz/U3GwwZZEh6tOSI8Q==} 1542 1554 cpu: [loong64] 1543 1555 os: [linux] 1544 1556 1545 - '@rollup/rollup-linux-loong64-musl@4.55.2': 1546 - resolution: {integrity: sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==} 1557 + '@rollup/rollup-linux-loong64-musl@4.57.0': 1558 + resolution: {integrity: sha512-4P1VyYUe6XAJtQH1Hh99THxr0GKMMwIXsRNOceLrJnaHTDgk1FTcTimDgneRJPvB3LqDQxUmroBclQ1S0cIJwQ==} 1547 1559 cpu: [loong64] 1548 1560 os: [linux] 1549 1561 1550 - '@rollup/rollup-linux-ppc64-gnu@4.55.2': 1551 - resolution: {integrity: sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==} 1562 + '@rollup/rollup-linux-ppc64-gnu@4.57.0': 1563 + resolution: {integrity: sha512-8Vv6pLuIZCMcgXre6c3nOPhE0gjz1+nZP6T+hwWjr7sVH8k0jRkH+XnfjjOTglyMBdSKBPPz54/y1gToSKwrSQ==} 1552 1564 cpu: [ppc64] 1553 1565 os: [linux] 1554 1566 1555 - '@rollup/rollup-linux-ppc64-musl@4.55.2': 1556 - resolution: {integrity: sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==} 1567 + '@rollup/rollup-linux-ppc64-musl@4.57.0': 1568 + resolution: {integrity: sha512-r1te1M0Sm2TBVD/RxBPC6RZVwNqUTwJTA7w+C/IW5v9Ssu6xmxWEi+iJQlpBhtUiT1raJ5b48pI8tBvEjEFnFA==} 1557 1569 cpu: [ppc64] 1558 1570 os: [linux] 1559 1571 1560 - '@rollup/rollup-linux-riscv64-gnu@4.55.2': 1561 - resolution: {integrity: sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==} 1572 + '@rollup/rollup-linux-riscv64-gnu@4.57.0': 1573 + resolution: {integrity: sha512-say0uMU/RaPm3CDQLxUUTF2oNWL8ysvHkAjcCzV2znxBr23kFfaxocS9qJm+NdkRhF8wtdEEAJuYcLPhSPbjuQ==} 1562 1574 cpu: [riscv64] 1563 1575 os: [linux] 1564 1576 1565 - '@rollup/rollup-linux-riscv64-musl@4.55.2': 1566 - resolution: {integrity: sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==} 1577 + '@rollup/rollup-linux-riscv64-musl@4.57.0': 1578 + resolution: {integrity: sha512-/MU7/HizQGsnBREtRpcSbSV1zfkoxSTR7wLsRmBPQ8FwUj5sykrP1MyJTvsxP5KBq9SyE6kH8UQQQwa0ASeoQQ==} 1567 1579 cpu: [riscv64] 1568 1580 os: [linux] 1569 1581 1570 - '@rollup/rollup-linux-s390x-gnu@4.55.2': 1571 - resolution: {integrity: sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==} 1582 + '@rollup/rollup-linux-s390x-gnu@4.57.0': 1583 + resolution: {integrity: sha512-Q9eh+gUGILIHEaJf66aF6a414jQbDnn29zeu0eX3dHMuysnhTvsUvZTCAyZ6tJhUjnvzBKE4FtuaYxutxRZpOg==} 1572 1584 cpu: [s390x] 1573 1585 os: [linux] 1574 1586 1575 - '@rollup/rollup-linux-x64-gnu@4.55.2': 1576 - resolution: {integrity: sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==} 1587 + '@rollup/rollup-linux-x64-gnu@4.57.0': 1588 + resolution: {integrity: sha512-OR5p5yG5OKSxHReWmwvM0P+VTPMwoBS45PXTMYaskKQqybkS3Kmugq1W+YbNWArF8/s7jQScgzXUhArzEQ7x0A==} 1577 1589 cpu: [x64] 1578 1590 os: [linux] 1579 1591 1580 - '@rollup/rollup-linux-x64-musl@4.55.2': 1581 - resolution: {integrity: sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==} 1592 + '@rollup/rollup-linux-x64-musl@4.57.0': 1593 + resolution: {integrity: sha512-XeatKzo4lHDsVEbm1XDHZlhYZZSQYym6dg2X/Ko0kSFgio+KXLsxwJQprnR48GvdIKDOpqWqssC3iBCjoMcMpw==} 1582 1594 cpu: [x64] 1583 1595 os: [linux] 1584 1596 1585 - '@rollup/rollup-openbsd-x64@4.55.2': 1586 - resolution: {integrity: sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==} 1597 + '@rollup/rollup-openbsd-x64@4.57.0': 1598 + resolution: {integrity: sha512-Lu71y78F5qOfYmubYLHPcJm74GZLU6UJ4THkf/a1K7Tz2ycwC2VUbsqbJAXaR6Bx70SRdlVrt2+n5l7F0agTUw==} 1587 1599 cpu: [x64] 1588 1600 os: [openbsd] 1589 1601 1590 - '@rollup/rollup-openharmony-arm64@4.55.2': 1591 - resolution: {integrity: sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==} 1602 + '@rollup/rollup-openharmony-arm64@4.57.0': 1603 + resolution: {integrity: sha512-v5xwKDWcu7qhAEcsUubiav7r+48Uk/ENWdr82MBZZRIm7zThSxCIVDfb3ZeRRq9yqk+oIzMdDo6fCcA5DHfMyA==} 1592 1604 cpu: [arm64] 1593 1605 os: [openharmony] 1594 1606 1595 - '@rollup/rollup-win32-arm64-msvc@4.55.2': 1596 - resolution: {integrity: sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==} 1607 + '@rollup/rollup-win32-arm64-msvc@4.57.0': 1608 + resolution: {integrity: sha512-XnaaaSMGSI6Wk8F4KK3QP7GfuuhjGchElsVerCplUuxRIzdvZ7hRBpLR0omCmw+kI2RFJB80nenhOoGXlJ5TfQ==} 1597 1609 cpu: [arm64] 1598 1610 os: [win32] 1599 1611 1600 - '@rollup/rollup-win32-ia32-msvc@4.55.2': 1601 - resolution: {integrity: sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==} 1612 + '@rollup/rollup-win32-ia32-msvc@4.57.0': 1613 + resolution: {integrity: sha512-3K1lP+3BXY4t4VihLw5MEg6IZD3ojSYzqzBG571W3kNQe4G4CcFpSUQVgurYgib5d+YaCjeFow8QivWp8vuSvA==} 1602 1614 cpu: [ia32] 1603 1615 os: [win32] 1604 1616 1605 - '@rollup/rollup-win32-x64-gnu@4.55.2': 1606 - resolution: {integrity: sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==} 1617 + '@rollup/rollup-win32-x64-gnu@4.57.0': 1618 + resolution: {integrity: sha512-MDk610P/vJGc5L5ImE4k5s+GZT3en0KoK1MKPXCRgzmksAMk79j4h3k1IerxTNqwDLxsGxStEZVBqG0gIqZqoA==} 1607 1619 cpu: [x64] 1608 1620 os: [win32] 1609 1621 1610 - '@rollup/rollup-win32-x64-msvc@4.55.2': 1611 - resolution: {integrity: sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==} 1622 + '@rollup/rollup-win32-x64-msvc@4.57.0': 1623 + resolution: {integrity: sha512-Zv7v6q6aV+VslnpwzqKAmrk5JdVkLUzok2208ZXGipjb+msxBr/fJPZyeEXiFgH7k62Ak0SLIfxQRZQvTuf7rQ==} 1612 1624 cpu: [x64] 1613 1625 os: [win32] 1614 1626 ··· 1640 1652 '@types/babel__traverse@7.28.0': 1641 1653 resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} 1642 1654 1643 - '@types/bun@1.3.6': 1644 - resolution: {integrity: sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA==} 1655 + '@types/bun@1.3.8': 1656 + resolution: {integrity: sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA==} 1645 1657 1646 1658 '@types/dom-close-watcher@1.0.0': 1647 1659 resolution: {integrity: sha512-7pL0By56sVVGMSJ3HdSY+u08Id0ljStCaf1VnGFxwfpuNdA0HMz0sl2J24eSi9M6ptl9ySkVK35jF75Fn8trUg==} ··· 1723 1735 peerDependencies: 1724 1736 '@babel/core': ^7.20.12 1725 1737 1726 - babel-plugin-polyfill-corejs2@0.4.14: 1727 - resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} 1738 + babel-plugin-polyfill-corejs2@0.4.15: 1739 + resolution: {integrity: sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==} 1728 1740 peerDependencies: 1729 1741 '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 1730 1742 ··· 1733 1745 peerDependencies: 1734 1746 '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 1735 1747 1736 - babel-plugin-polyfill-regenerator@0.6.5: 1737 - resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} 1748 + babel-plugin-polyfill-regenerator@0.6.6: 1749 + resolution: {integrity: sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==} 1738 1750 peerDependencies: 1739 1751 '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 1740 1752 ··· 1755 1767 balanced-match@1.0.2: 1756 1768 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1757 1769 1758 - baseline-browser-mapping@2.9.16: 1759 - resolution: {integrity: sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw==} 1770 + baseline-browser-mapping@2.9.19: 1771 + resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} 1760 1772 hasBin: true 1761 1773 1762 1774 binary-extensions@2.3.0: ··· 1784 1796 buffer-from@1.1.2: 1785 1797 resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1786 1798 1787 - bun-types@1.3.6: 1788 - resolution: {integrity: sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ==} 1799 + bun-types@1.3.8: 1800 + resolution: {integrity: sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q==} 1789 1801 1790 1802 camelcase-css@2.0.1: 1791 1803 resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1792 1804 engines: {node: '>= 6'} 1793 1805 1794 - caniuse-lite@1.0.30001765: 1795 - resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==} 1806 + caniuse-lite@1.0.30001766: 1807 + resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==} 1796 1808 1797 1809 chokidar@3.6.0: 1798 1810 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} ··· 1826 1838 resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} 1827 1839 engines: {node: '>=18'} 1828 1840 1829 - core-js-compat@3.47.0: 1830 - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} 1841 + core-js-compat@3.48.0: 1842 + resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} 1831 1843 1832 1844 cross-spawn@7.0.6: 1833 1845 resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} ··· 1876 1888 engines: {node: '>=0.10.0'} 1877 1889 hasBin: true 1878 1890 1879 - electron-to-chromium@1.5.267: 1880 - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} 1891 + electron-to-chromium@1.5.282: 1892 + resolution: {integrity: sha512-FCPkJtpst28UmFzd903iU7PdeVTfY0KAeJy+Lk0GLZRwgwYHn/irRcaCbQQOmr5Vytc/7rcavsYLvTM8RiHYhQ==} 1881 1893 1882 1894 emoji-regex@8.0.0: 1883 1895 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} ··· 2101 2113 lodash.sortby@4.7.0: 2102 2114 resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 2103 2115 2104 - lodash@4.17.21: 2105 - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2116 + lodash@4.17.23: 2117 + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} 2106 2118 2107 - lru-cache@11.2.4: 2108 - resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} 2119 + lru-cache@11.2.5: 2120 + resolution: {integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==} 2109 2121 engines: {node: 20 || >=22} 2110 2122 2111 2123 lru-cache@5.1.1: ··· 2114 2126 magic-string@0.25.9: 2115 2127 resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2116 2128 2117 - mediabunny@1.29.0: 2118 - resolution: {integrity: sha512-18B8w/rhO/ph/AFsIXvzZg8RaSQZ+ZYfJ99MZlTjDmlgCT58jV3azrnWQ/OSquYDi8q0xmn64mnfTEHgww3+zw==} 2129 + mediabunny@1.31.0: 2130 + resolution: {integrity: sha512-nqM+6cOpNC/aDxCAZKnZe7oXnGaCn4rlgprzAmiH6C8GRdOHFnB6bZC0+WXGTT6mtAxXQd+BXuZ2q2zkma7dWg==} 2119 2131 2120 2132 merge-anything@5.1.7: 2121 2133 resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} ··· 2129 2141 resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 2130 2142 engines: {node: '>=8.6'} 2131 2143 2132 - miniflare@4.20260114.0: 2133 - resolution: {integrity: sha512-QwHT7S6XqGdQxIvql1uirH/7/i3zDEt0B/YBXTYzMfJtVCR4+ue3KPkU+Bl0zMxvpgkvjh9+eCHhJbKEqya70A==} 2144 + miniflare@4.20260128.0: 2145 + resolution: {integrity: sha512-AVCn3vDRY+YXu1sP4mRn81ssno6VUqxo29uY2QVfgxXU2TMLvhRIoGwm7RglJ3Gzfuidit5R86CMQ6AvdFTGAw==} 2134 2146 engines: {node: '>=18.0.0'} 2135 2147 hasBin: true 2136 2148 ··· 2275 2287 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 2276 2288 engines: {node: ^10 || ^12 || >=14} 2277 2289 2278 - prettier@3.8.0: 2279 - resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==} 2290 + prettier@3.8.1: 2291 + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} 2280 2292 engines: {node: '>=14'} 2281 2293 hasBin: true 2282 2294 ··· 2344 2356 engines: {node: '>=10.0.0'} 2345 2357 hasBin: true 2346 2358 2347 - rollup@4.55.2: 2348 - resolution: {integrity: sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==} 2359 + rollup@4.57.0: 2360 + resolution: {integrity: sha512-e5lPJi/aui4TO1LpAXIRLySmwXSE8k3b9zoGfd42p67wzxog4WHjiZF3M2uheQih4DGyc25QEV4yRBbpueNiUA==} 2349 2361 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2350 2362 hasBin: true 2351 2363 ··· 2364 2376 serialize-javascript@6.0.2: 2365 2377 resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 2366 2378 2367 - seroval-plugins@1.3.3: 2368 - resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==} 2379 + seroval-plugins@1.5.0: 2380 + resolution: {integrity: sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==} 2369 2381 engines: {node: '>=10'} 2370 2382 peerDependencies: 2371 2383 seroval: ^1.0 2372 2384 2373 - seroval@1.3.2: 2374 - resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} 2385 + seroval@1.5.0: 2386 + resolution: {integrity: sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==} 2375 2387 engines: {node: '>=10'} 2376 2388 2377 2389 sharp@0.34.5: ··· 2400 2412 '@floating-ui/dom': ^1.0 2401 2413 solid-js: ^1.3 2402 2414 2403 - solid-js@1.9.10: 2404 - resolution: {integrity: sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==} 2415 + solid-js@1.9.11: 2416 + resolution: {integrity: sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q==} 2405 2417 2406 2418 solid-refresh@0.6.3: 2407 2419 resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} ··· 2523 2535 undici-types@7.16.0: 2524 2536 resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 2525 2537 2526 - undici@7.14.0: 2527 - resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} 2538 + undici@7.18.2: 2539 + resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} 2528 2540 engines: {node: '>=20.18.1'} 2529 2541 2530 2542 unenv@2.0.0-rc.24: ··· 2698 2710 workbox-window@7.4.0: 2699 2711 resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} 2700 2712 2701 - workerd@1.20260114.0: 2702 - resolution: {integrity: sha512-kTJ+jNdIllOzWuVA3NRQRvywP0T135zdCjAE2dAUY1BFbxM6fmMZV8BbskEoQ4hAODVQUfZQmyGctcwvVCKxFA==} 2713 + workerd@1.20260128.0: 2714 + resolution: {integrity: sha512-EhLJGptSGFi8AEErLiamO3PoGpbRqL+v4Ve36H2B38VxmDgFOSmDhfepBnA14sCQzGf1AEaoZX2DCwZsmO74yQ==} 2703 2715 engines: {node: '>=16'} 2704 2716 hasBin: true 2705 2717 2706 - wrangler@4.59.2: 2707 - resolution: {integrity: sha512-Z4xn6jFZTaugcOKz42xvRAYKgkVUERHVbuCJ5+f+gK+R6k12L02unakPGOA0L0ejhUl16dqDjKe4tmL9sedHcw==} 2718 + wrangler@4.61.1: 2719 + resolution: {integrity: sha512-hfYQ16VLPkNi8xE1/V3052S2stM5e+vq3Idpt83sXoDC3R7R1CLgMkK6M6+Qp3G+9GVDNyHCkvohMPdfFTaD4Q==} 2708 2720 engines: {node: '>=20.0.0'} 2709 2721 hasBin: true 2710 2722 peerDependencies: 2711 - '@cloudflare/workers-types': ^4.20260114.0 2723 + '@cloudflare/workers-types': ^4.20260128.0 2712 2724 peerDependenciesMeta: 2713 2725 '@cloudflare/workers-types': 2714 2726 optional: true ··· 2742 2754 youch@4.1.0-beta.10: 2743 2755 resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} 2744 2756 2745 - zod@3.25.76: 2746 - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 2747 - 2748 2757 snapshots: 2749 2758 2750 2759 '@alloc/quick-lru@5.2.0': {} ··· 2758 2767 2759 2768 '@atcute/atproto@3.1.10': 2760 2769 dependencies: 2761 - '@atcute/lexicons': 1.2.6 2770 + '@atcute/lexicons': 1.2.7 2762 2771 2763 2772 '@atcute/bluemoji@3.1.3': 2764 2773 dependencies: 2765 2774 '@atcute/atproto': 3.1.10 2766 - '@atcute/bluesky': 3.2.15 2767 - '@atcute/lexicons': 1.2.6 2775 + '@atcute/bluesky': 3.2.16 2776 + '@atcute/lexicons': 1.2.7 2768 2777 2769 2778 '@atcute/bluesky-richtext-parser@1.0.7': {} 2770 2779 ··· 2772 2781 2773 2782 '@atcute/bluesky-search-parser@0.1.1': {} 2774 2783 2775 - '@atcute/bluesky@3.2.15': 2784 + '@atcute/bluesky@3.2.16': 2776 2785 dependencies: 2777 2786 '@atcute/atproto': 3.1.10 2778 - '@atcute/lexicons': 1.2.6 2787 + '@atcute/lexicons': 1.2.7 2779 2788 2780 2789 '@atcute/cbor@2.3.0': 2781 2790 dependencies: 2782 2791 '@atcute/cid': 2.4.0 2783 - '@atcute/multibase': 1.1.6 2784 - '@atcute/uint8array': 1.0.6 2792 + '@atcute/multibase': 1.1.7 2793 + '@atcute/uint8array': 1.1.0 2785 2794 2786 2795 '@atcute/cid@2.4.0': 2787 2796 dependencies: 2788 - '@atcute/multibase': 1.1.6 2789 - '@atcute/uint8array': 1.0.6 2797 + '@atcute/multibase': 1.1.7 2798 + '@atcute/uint8array': 1.1.0 2790 2799 2791 2800 '@atcute/client@4.2.1': 2792 2801 dependencies: 2793 2802 '@atcute/identity': 1.1.3 2794 - '@atcute/lexicons': 1.2.6 2803 + '@atcute/lexicons': 1.2.7 2795 2804 2796 2805 '@atcute/crypto@2.3.0': 2797 2806 dependencies: 2798 - '@atcute/multibase': 1.1.6 2799 - '@atcute/uint8array': 1.0.6 2807 + '@atcute/multibase': 1.1.7 2808 + '@atcute/uint8array': 1.1.0 2800 2809 '@noble/secp256k1': 3.0.0 2801 2810 2802 2811 '@atcute/identity-resolver@1.2.2(@atcute/identity@1.1.3)': 2803 2812 dependencies: 2804 2813 '@atcute/identity': 1.1.3 2805 - '@atcute/lexicons': 1.2.6 2814 + '@atcute/lexicons': 1.2.7 2806 2815 '@atcute/util-fetch': 1.0.5 2807 2816 '@badrap/valita': 0.4.6 2808 2817 2809 2818 '@atcute/identity@1.1.3': 2810 2819 dependencies: 2811 - '@atcute/lexicons': 1.2.6 2820 + '@atcute/lexicons': 1.2.7 2812 2821 '@badrap/valita': 0.4.6 2813 2822 2814 - '@atcute/lexicons@1.2.6': 2823 + '@atcute/lexicons@1.2.7': 2815 2824 dependencies: 2816 - '@atcute/uint8array': 1.0.6 2817 - '@atcute/util-text': 0.0.1 2825 + '@atcute/uint8array': 1.1.0 2826 + '@atcute/util-text': 1.1.0 2818 2827 '@standard-schema/spec': 1.1.0 2819 2828 esm-env: 1.2.2 2820 2829 2821 - '@atcute/multibase@1.1.6': 2830 + '@atcute/multibase@1.1.7': 2822 2831 dependencies: 2823 - '@atcute/uint8array': 1.0.6 2832 + '@atcute/uint8array': 1.1.0 2824 2833 2825 - '@atcute/oauth-browser-client@2.0.3(@atcute/identity@1.1.3)': 2834 + '@atcute/oauth-browser-client@3.0.0(@atcute/identity@1.1.3)': 2826 2835 dependencies: 2827 2836 '@atcute/client': 4.2.1 2828 2837 '@atcute/identity-resolver': 1.2.2(@atcute/identity@1.1.3) 2829 - '@atcute/lexicons': 1.2.6 2830 - '@atcute/multibase': 1.1.6 2831 - '@atcute/uint8array': 1.0.6 2838 + '@atcute/lexicons': 1.2.7 2839 + '@atcute/multibase': 1.1.7 2840 + '@atcute/oauth-crypto': 0.1.0 2841 + '@atcute/oauth-types': 0.1.0 2832 2842 nanoid: 5.1.6 2833 2843 transitivePeerDependencies: 2834 2844 - '@atcute/identity' 2835 2845 2846 + '@atcute/oauth-crypto@0.1.0': 2847 + dependencies: 2848 + '@atcute/multibase': 1.1.7 2849 + '@atcute/uint8array': 1.1.0 2850 + '@badrap/valita': 0.4.6 2851 + nanoid: 5.1.6 2852 + 2853 + '@atcute/oauth-keyset@0.1.0': 2854 + dependencies: 2855 + '@atcute/oauth-crypto': 0.1.0 2856 + 2857 + '@atcute/oauth-types@0.1.0': 2858 + dependencies: 2859 + '@atcute/identity': 1.1.3 2860 + '@atcute/lexicons': 1.2.7 2861 + '@atcute/oauth-keyset': 0.1.0 2862 + '@badrap/valita': 0.4.6 2863 + 2836 2864 '@atcute/tid@1.1.1': 2837 2865 dependencies: 2838 2866 '@atcute/time-ms': 1.2.0 2839 2867 2840 2868 '@atcute/time-ms@1.2.0': 2841 2869 dependencies: 2842 - '@types/bun': 1.3.6 2870 + '@types/bun': 1.3.8 2843 2871 node-gyp-build: 4.8.4 2844 2872 2845 - '@atcute/uint8array@1.0.6': {} 2873 + '@atcute/uint8array@1.1.0': {} 2846 2874 2847 2875 '@atcute/util-fetch@1.0.5': 2848 2876 dependencies: 2849 2877 '@badrap/valita': 0.4.6 2850 2878 2851 - '@atcute/util-text@0.0.1': 2879 + '@atcute/util-text@1.1.0': 2852 2880 dependencies: 2853 2881 unicode-segmenter: 0.14.5 2854 2882 2855 - '@atcute/xrpc-server@0.1.8': 2883 + '@atcute/xrpc-server@0.1.9': 2856 2884 dependencies: 2857 2885 '@atcute/cbor': 2.3.0 2858 2886 '@atcute/crypto': 2.3.0 2859 2887 '@atcute/identity': 1.1.3 2860 2888 '@atcute/identity-resolver': 1.2.2(@atcute/identity@1.1.3) 2861 - '@atcute/lexicons': 1.2.6 2862 - '@atcute/multibase': 1.1.6 2863 - '@atcute/uint8array': 1.0.6 2889 + '@atcute/lexicons': 1.2.7 2890 + '@atcute/multibase': 1.1.7 2891 + '@atcute/uint8array': 1.1.0 2864 2892 '@badrap/valita': 0.4.6 2865 2893 nanoid: 5.1.6 2866 2894 ··· 2943 2971 regexpu-core: 6.4.0 2944 2972 semver: 6.3.1 2945 2973 2946 - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.6)': 2974 + '@babel/helper-define-polyfill-provider@0.6.6(@babel/core@7.28.6)': 2947 2975 dependencies: 2948 2976 '@babel/core': 7.28.6 2949 2977 '@babel/helper-compilation-targets': 7.28.6 ··· 3498 3526 '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.6) 3499 3527 '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.28.6) 3500 3528 '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.6) 3501 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.6) 3529 + babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.28.6) 3502 3530 babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.6) 3503 - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.6) 3504 - core-js-compat: 3.47.0 3531 + babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.28.6) 3532 + core-js-compat: 3.48.0 3505 3533 semver: 6.3.1 3506 3534 transitivePeerDependencies: 3507 3535 - supports-color ··· 3542 3570 3543 3571 '@cloudflare/kv-asset-handler@0.4.2': {} 3544 3572 3545 - '@cloudflare/unenv-preset@2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0)': 3573 + '@cloudflare/unenv-preset@2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260128.0)': 3546 3574 dependencies: 3547 3575 unenv: 2.0.0-rc.24 3548 3576 optionalDependencies: 3549 - workerd: 1.20260114.0 3577 + workerd: 1.20260128.0 3550 3578 3551 - '@cloudflare/vite-plugin@1.21.0(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260114.0)(wrangler@4.59.2)': 3579 + '@cloudflare/vite-plugin@1.22.1(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260128.0)(wrangler@4.61.1)': 3552 3580 dependencies: 3553 - '@cloudflare/unenv-preset': 2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0) 3554 - miniflare: 4.20260114.0 3581 + '@cloudflare/unenv-preset': 2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260128.0) 3582 + miniflare: 4.20260128.0 3555 3583 unenv: 2.0.0-rc.24 3556 3584 vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 3557 - wrangler: 4.59.2 3585 + wrangler: 4.61.1 3558 3586 ws: 8.18.0 3559 3587 transitivePeerDependencies: 3560 3588 - bufferutil 3561 3589 - utf-8-validate 3562 3590 - workerd 3563 3591 3564 - '@cloudflare/workerd-darwin-64@1.20260114.0': 3592 + '@cloudflare/workerd-darwin-64@1.20260128.0': 3565 3593 optional: true 3566 3594 3567 - '@cloudflare/workerd-darwin-arm64@1.20260114.0': 3595 + '@cloudflare/workerd-darwin-arm64@1.20260128.0': 3568 3596 optional: true 3569 3597 3570 - '@cloudflare/workerd-linux-64@1.20260114.0': 3598 + '@cloudflare/workerd-linux-64@1.20260128.0': 3571 3599 optional: true 3572 3600 3573 - '@cloudflare/workerd-linux-arm64@1.20260114.0': 3601 + '@cloudflare/workerd-linux-arm64@1.20260128.0': 3574 3602 optional: true 3575 3603 3576 - '@cloudflare/workerd-windows-64@1.20260114.0': 3604 + '@cloudflare/workerd-windows-64@1.20260128.0': 3577 3605 optional: true 3578 3606 3579 3607 '@cspotcode/source-map-support@0.8.1': ··· 3741 3769 '@esbuild/win32-x64@0.27.2': 3742 3770 optional: true 3743 3771 3744 - '@externdefs/solid-freeze@0.1.1(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))': 3772 + '@externdefs/solid-freeze@0.1.1(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))': 3745 3773 dependencies: 3746 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 3774 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 3747 3775 3748 - '@externdefs/solid-query@0.1.5(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))': 3776 + '@externdefs/solid-query@0.1.5(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))': 3749 3777 dependencies: 3750 3778 '@tanstack/query-core': 5.17.19(patch_hash=0b06407b66b7af88765fb6e01e112677a8c09ce518cb4f547cee8a0044471acd) 3751 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 3779 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 3752 3780 3753 - '@floating-ui/core@1.7.3': 3781 + '@floating-ui/core@1.7.4': 3754 3782 dependencies: 3755 3783 '@floating-ui/utils': 0.2.10(patch_hash=1cf283fbaa686f96f7b3029bbc0955bff698af6f4a75ba6c276ad1a7a7c40aea) 3756 3784 3757 - '@floating-ui/dom@1.7.4': 3785 + '@floating-ui/dom@1.7.5': 3758 3786 dependencies: 3759 - '@floating-ui/core': 1.7.3 3787 + '@floating-ui/core': 1.7.4 3760 3788 '@floating-ui/utils': 0.2.10(patch_hash=1cf283fbaa686f96f7b3029bbc0955bff698af6f4a75ba6c276ad1a7a7c40aea) 3761 3789 3762 3790 '@floating-ui/utils@0.2.10(patch_hash=1cf283fbaa686f96f7b3029bbc0955bff698af6f4a75ba6c276ad1a7a7c40aea)': {} ··· 3915 3943 3916 3944 '@kelinci/basa-lexicons@1.0.0': 3917 3945 dependencies: 3918 - '@atcute/lexicons': 1.2.6 3946 + '@atcute/lexicons': 1.2.7 3919 3947 3920 3948 '@noble/secp256k1@3.0.0': {} 3921 3949 ··· 4027 4055 optionalDependencies: 4028 4056 rollup: 2.79.2 4029 4057 4030 - '@rollup/rollup-android-arm-eabi@4.55.2': 4058 + '@rollup/rollup-android-arm-eabi@4.57.0': 4031 4059 optional: true 4032 4060 4033 - '@rollup/rollup-android-arm64@4.55.2': 4061 + '@rollup/rollup-android-arm64@4.57.0': 4034 4062 optional: true 4035 4063 4036 - '@rollup/rollup-darwin-arm64@4.55.2': 4064 + '@rollup/rollup-darwin-arm64@4.57.0': 4037 4065 optional: true 4038 4066 4039 - '@rollup/rollup-darwin-x64@4.55.2': 4067 + '@rollup/rollup-darwin-x64@4.57.0': 4040 4068 optional: true 4041 4069 4042 - '@rollup/rollup-freebsd-arm64@4.55.2': 4070 + '@rollup/rollup-freebsd-arm64@4.57.0': 4043 4071 optional: true 4044 4072 4045 - '@rollup/rollup-freebsd-x64@4.55.2': 4073 + '@rollup/rollup-freebsd-x64@4.57.0': 4046 4074 optional: true 4047 4075 4048 - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': 4076 + '@rollup/rollup-linux-arm-gnueabihf@4.57.0': 4049 4077 optional: true 4050 4078 4051 - '@rollup/rollup-linux-arm-musleabihf@4.55.2': 4079 + '@rollup/rollup-linux-arm-musleabihf@4.57.0': 4052 4080 optional: true 4053 4081 4054 - '@rollup/rollup-linux-arm64-gnu@4.55.2': 4082 + '@rollup/rollup-linux-arm64-gnu@4.57.0': 4055 4083 optional: true 4056 4084 4057 - '@rollup/rollup-linux-arm64-musl@4.55.2': 4085 + '@rollup/rollup-linux-arm64-musl@4.57.0': 4058 4086 optional: true 4059 4087 4060 - '@rollup/rollup-linux-loong64-gnu@4.55.2': 4088 + '@rollup/rollup-linux-loong64-gnu@4.57.0': 4061 4089 optional: true 4062 4090 4063 - '@rollup/rollup-linux-loong64-musl@4.55.2': 4091 + '@rollup/rollup-linux-loong64-musl@4.57.0': 4064 4092 optional: true 4065 4093 4066 - '@rollup/rollup-linux-ppc64-gnu@4.55.2': 4094 + '@rollup/rollup-linux-ppc64-gnu@4.57.0': 4067 4095 optional: true 4068 4096 4069 - '@rollup/rollup-linux-ppc64-musl@4.55.2': 4097 + '@rollup/rollup-linux-ppc64-musl@4.57.0': 4070 4098 optional: true 4071 4099 4072 - '@rollup/rollup-linux-riscv64-gnu@4.55.2': 4100 + '@rollup/rollup-linux-riscv64-gnu@4.57.0': 4073 4101 optional: true 4074 4102 4075 - '@rollup/rollup-linux-riscv64-musl@4.55.2': 4103 + '@rollup/rollup-linux-riscv64-musl@4.57.0': 4076 4104 optional: true 4077 4105 4078 - '@rollup/rollup-linux-s390x-gnu@4.55.2': 4106 + '@rollup/rollup-linux-s390x-gnu@4.57.0': 4079 4107 optional: true 4080 4108 4081 - '@rollup/rollup-linux-x64-gnu@4.55.2': 4109 + '@rollup/rollup-linux-x64-gnu@4.57.0': 4082 4110 optional: true 4083 4111 4084 - '@rollup/rollup-linux-x64-musl@4.55.2': 4112 + '@rollup/rollup-linux-x64-musl@4.57.0': 4085 4113 optional: true 4086 4114 4087 - '@rollup/rollup-openbsd-x64@4.55.2': 4115 + '@rollup/rollup-openbsd-x64@4.57.0': 4088 4116 optional: true 4089 4117 4090 - '@rollup/rollup-openharmony-arm64@4.55.2': 4118 + '@rollup/rollup-openharmony-arm64@4.57.0': 4091 4119 optional: true 4092 4120 4093 - '@rollup/rollup-win32-arm64-msvc@4.55.2': 4121 + '@rollup/rollup-win32-arm64-msvc@4.57.0': 4094 4122 optional: true 4095 4123 4096 - '@rollup/rollup-win32-ia32-msvc@4.55.2': 4124 + '@rollup/rollup-win32-ia32-msvc@4.57.0': 4097 4125 optional: true 4098 4126 4099 - '@rollup/rollup-win32-x64-gnu@4.55.2': 4127 + '@rollup/rollup-win32-x64-gnu@4.57.0': 4100 4128 optional: true 4101 4129 4102 - '@rollup/rollup-win32-x64-msvc@4.55.2': 4130 + '@rollup/rollup-win32-x64-msvc@4.57.0': 4103 4131 optional: true 4104 4132 4105 4133 '@sindresorhus/is@7.2.0': {} ··· 4138 4166 dependencies: 4139 4167 '@babel/types': 7.28.6 4140 4168 4141 - '@types/bun@1.3.6': 4169 + '@types/bun@1.3.8': 4142 4170 dependencies: 4143 - bun-types: 1.3.6 4171 + bun-types: 1.3.8 4144 4172 4145 4173 '@types/dom-close-watcher@1.0.0': {} 4146 4174 ··· 4199 4227 autoprefixer@10.4.23(postcss@8.5.6): 4200 4228 dependencies: 4201 4229 browserslist: 4.28.1 4202 - caniuse-lite: 1.0.30001765 4230 + caniuse-lite: 1.0.30001766 4203 4231 fraction.js: 5.3.4 4204 4232 picocolors: 1.1.1 4205 4233 postcss: 8.5.6 ··· 4214 4242 html-entities: 2.3.3 4215 4243 parse5: 7.3.0 4216 4244 4217 - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.6): 4245 + babel-plugin-polyfill-corejs2@0.4.15(@babel/core@7.28.6): 4218 4246 dependencies: 4219 4247 '@babel/compat-data': 7.28.6 4220 4248 '@babel/core': 7.28.6 4221 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) 4249 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.28.6) 4222 4250 semver: 6.3.1 4223 4251 transitivePeerDependencies: 4224 4252 - supports-color ··· 4226 4254 babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.6): 4227 4255 dependencies: 4228 4256 '@babel/core': 7.28.6 4229 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) 4230 - core-js-compat: 3.47.0 4257 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.28.6) 4258 + core-js-compat: 3.48.0 4231 4259 transitivePeerDependencies: 4232 4260 - supports-color 4233 4261 4234 - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.6): 4262 + babel-plugin-polyfill-regenerator@0.6.6(@babel/core@7.28.6): 4235 4263 dependencies: 4236 4264 '@babel/core': 7.28.6 4237 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) 4265 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.28.6) 4238 4266 transitivePeerDependencies: 4239 4267 - supports-color 4240 4268 ··· 4244 4272 '@babel/helper-plugin-utils': 7.28.6 4245 4273 '@babel/types': 7.28.6 4246 4274 4247 - babel-preset-solid@1.9.10(@babel/core@7.28.6)(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4275 + babel-preset-solid@1.9.10(@babel/core@7.28.6)(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4248 4276 dependencies: 4249 4277 '@babel/core': 7.28.6 4250 4278 babel-plugin-jsx-dom-expressions: 0.40.3(@babel/core@7.28.6) 4251 4279 optionalDependencies: 4252 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4280 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4253 4281 4254 4282 balanced-match@1.0.2: {} 4255 4283 4256 - baseline-browser-mapping@2.9.16: {} 4284 + baseline-browser-mapping@2.9.19: {} 4257 4285 4258 4286 binary-extensions@2.3.0: {} 4259 4287 ··· 4271 4299 4272 4300 browserslist@4.28.1: 4273 4301 dependencies: 4274 - baseline-browser-mapping: 2.9.16 4275 - caniuse-lite: 1.0.30001765 4276 - electron-to-chromium: 1.5.267 4302 + baseline-browser-mapping: 2.9.19 4303 + caniuse-lite: 1.0.30001766 4304 + electron-to-chromium: 1.5.282 4277 4305 node-releases: 2.0.27 4278 4306 update-browserslist-db: 1.2.3(browserslist@4.28.1) 4279 4307 4280 4308 buffer-from@1.1.2: {} 4281 4309 4282 - bun-types@1.3.6: 4310 + bun-types@1.3.8: 4283 4311 dependencies: 4284 4312 '@types/node': 24.10.9 4285 4313 4286 4314 camelcase-css@2.0.1: {} 4287 4315 4288 - caniuse-lite@1.0.30001765: {} 4316 + caniuse-lite@1.0.30001766: {} 4289 4317 4290 4318 chokidar@3.6.0: 4291 4319 dependencies: ··· 4317 4345 4318 4346 cookie@1.1.1: {} 4319 4347 4320 - core-js-compat@3.47.0: 4348 + core-js-compat@3.48.0: 4321 4349 dependencies: 4322 4350 browserslist: 4.28.1 4323 4351 ··· 4351 4379 dependencies: 4352 4380 jake: 10.9.4 4353 4381 4354 - electron-to-chromium@1.5.267: {} 4382 + electron-to-chromium@1.5.282: {} 4355 4383 4356 4384 emoji-regex@8.0.0: {} 4357 4385 ··· 4573 4601 4574 4602 lodash.sortby@4.7.0: {} 4575 4603 4576 - lodash@4.17.21: {} 4604 + lodash@4.17.23: {} 4577 4605 4578 - lru-cache@11.2.4: {} 4606 + lru-cache@11.2.5: {} 4579 4607 4580 4608 lru-cache@5.1.1: 4581 4609 dependencies: ··· 4585 4613 dependencies: 4586 4614 sourcemap-codec: 1.4.8 4587 4615 4588 - mediabunny@1.29.0: 4616 + mediabunny@1.31.0: 4589 4617 dependencies: 4590 4618 '@types/dom-mediacapture-transform': 0.1.11 4591 4619 '@types/dom-webcodecs': 0.1.13 ··· 4601 4629 braces: 3.0.3 4602 4630 picomatch: 2.3.1 4603 4631 4604 - miniflare@4.20260114.0: 4632 + miniflare@4.20260128.0: 4605 4633 dependencies: 4606 4634 '@cspotcode/source-map-support': 0.8.1 4607 4635 sharp: 0.34.5 4608 - undici: 7.14.0 4609 - workerd: 1.20260114.0 4636 + undici: 7.18.2 4637 + workerd: 1.20260128.0 4610 4638 ws: 8.18.0 4611 4639 youch: 4.1.0-beta.10 4612 - zod: 3.25.76 4613 4640 transitivePeerDependencies: 4614 4641 - bufferutil 4615 4642 - utf-8-validate ··· 4671 4698 4672 4699 path-scurry@2.0.1: 4673 4700 dependencies: 4674 - lru-cache: 11.2.4 4701 + lru-cache: 11.2.5 4675 4702 minipass: 7.1.2 4676 4703 4677 4704 path-to-regexp@6.3.0: {} ··· 4725 4752 picocolors: 1.1.1 4726 4753 source-map-js: 1.2.1 4727 4754 4728 - prettier@3.8.0: {} 4755 + prettier@3.8.1: {} 4729 4756 4730 4757 pretty-bytes@5.6.0: {} 4731 4758 ··· 4784 4811 optionalDependencies: 4785 4812 fsevents: 2.3.3 4786 4813 4787 - rollup@4.55.2: 4814 + rollup@4.57.0: 4788 4815 dependencies: 4789 4816 '@types/estree': 1.0.8 4790 4817 optionalDependencies: 4791 - '@rollup/rollup-android-arm-eabi': 4.55.2 4792 - '@rollup/rollup-android-arm64': 4.55.2 4793 - '@rollup/rollup-darwin-arm64': 4.55.2 4794 - '@rollup/rollup-darwin-x64': 4.55.2 4795 - '@rollup/rollup-freebsd-arm64': 4.55.2 4796 - '@rollup/rollup-freebsd-x64': 4.55.2 4797 - '@rollup/rollup-linux-arm-gnueabihf': 4.55.2 4798 - '@rollup/rollup-linux-arm-musleabihf': 4.55.2 4799 - '@rollup/rollup-linux-arm64-gnu': 4.55.2 4800 - '@rollup/rollup-linux-arm64-musl': 4.55.2 4801 - '@rollup/rollup-linux-loong64-gnu': 4.55.2 4802 - '@rollup/rollup-linux-loong64-musl': 4.55.2 4803 - '@rollup/rollup-linux-ppc64-gnu': 4.55.2 4804 - '@rollup/rollup-linux-ppc64-musl': 4.55.2 4805 - '@rollup/rollup-linux-riscv64-gnu': 4.55.2 4806 - '@rollup/rollup-linux-riscv64-musl': 4.55.2 4807 - '@rollup/rollup-linux-s390x-gnu': 4.55.2 4808 - '@rollup/rollup-linux-x64-gnu': 4.55.2 4809 - '@rollup/rollup-linux-x64-musl': 4.55.2 4810 - '@rollup/rollup-openbsd-x64': 4.55.2 4811 - '@rollup/rollup-openharmony-arm64': 4.55.2 4812 - '@rollup/rollup-win32-arm64-msvc': 4.55.2 4813 - '@rollup/rollup-win32-ia32-msvc': 4.55.2 4814 - '@rollup/rollup-win32-x64-gnu': 4.55.2 4815 - '@rollup/rollup-win32-x64-msvc': 4.55.2 4818 + '@rollup/rollup-android-arm-eabi': 4.57.0 4819 + '@rollup/rollup-android-arm64': 4.57.0 4820 + '@rollup/rollup-darwin-arm64': 4.57.0 4821 + '@rollup/rollup-darwin-x64': 4.57.0 4822 + '@rollup/rollup-freebsd-arm64': 4.57.0 4823 + '@rollup/rollup-freebsd-x64': 4.57.0 4824 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.0 4825 + '@rollup/rollup-linux-arm-musleabihf': 4.57.0 4826 + '@rollup/rollup-linux-arm64-gnu': 4.57.0 4827 + '@rollup/rollup-linux-arm64-musl': 4.57.0 4828 + '@rollup/rollup-linux-loong64-gnu': 4.57.0 4829 + '@rollup/rollup-linux-loong64-musl': 4.57.0 4830 + '@rollup/rollup-linux-ppc64-gnu': 4.57.0 4831 + '@rollup/rollup-linux-ppc64-musl': 4.57.0 4832 + '@rollup/rollup-linux-riscv64-gnu': 4.57.0 4833 + '@rollup/rollup-linux-riscv64-musl': 4.57.0 4834 + '@rollup/rollup-linux-s390x-gnu': 4.57.0 4835 + '@rollup/rollup-linux-x64-gnu': 4.57.0 4836 + '@rollup/rollup-linux-x64-musl': 4.57.0 4837 + '@rollup/rollup-openbsd-x64': 4.57.0 4838 + '@rollup/rollup-openharmony-arm64': 4.57.0 4839 + '@rollup/rollup-win32-arm64-msvc': 4.57.0 4840 + '@rollup/rollup-win32-ia32-msvc': 4.57.0 4841 + '@rollup/rollup-win32-x64-gnu': 4.57.0 4842 + '@rollup/rollup-win32-x64-msvc': 4.57.0 4816 4843 fsevents: 2.3.3 4817 4844 4818 4845 run-parallel@1.2.0: ··· 4827 4854 dependencies: 4828 4855 randombytes: 2.1.0 4829 4856 4830 - seroval-plugins@1.3.3(seroval@1.3.2): 4857 + seroval-plugins@1.5.0(seroval@1.5.0): 4831 4858 dependencies: 4832 - seroval: 1.3.2 4859 + seroval: 1.5.0 4833 4860 4834 - seroval@1.3.2: {} 4861 + seroval@1.5.0: {} 4835 4862 4836 4863 sharp@0.34.5: 4837 4864 dependencies: ··· 4874 4901 4875 4902 smob@1.5.0: {} 4876 4903 4877 - solid-floating-ui@0.2.1(@floating-ui/dom@1.7.4)(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4904 + solid-floating-ui@0.2.1(@floating-ui/dom@1.7.5)(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4878 4905 dependencies: 4879 - '@floating-ui/dom': 1.7.4 4880 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4906 + '@floating-ui/dom': 1.7.5 4907 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4881 4908 4882 - solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7): 4909 + solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7): 4883 4910 dependencies: 4884 4911 csstype: 3.2.3 4885 - seroval: 1.3.2 4886 - seroval-plugins: 1.3.3(seroval@1.3.2) 4912 + seroval: 1.5.0 4913 + seroval-plugins: 1.5.0(seroval@1.5.0) 4887 4914 4888 - solid-refresh@0.6.3(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4915 + solid-refresh@0.6.3(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)): 4889 4916 dependencies: 4890 4917 '@babel/generator': 7.28.6 4891 4918 '@babel/helper-module-imports': 7.28.6 4892 4919 '@babel/types': 7.28.6 4893 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4920 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 4894 4921 transitivePeerDependencies: 4895 4922 - supports-color 4896 4923 ··· 5029 5056 5030 5057 undici-types@7.16.0: {} 5031 5058 5032 - undici@7.14.0: {} 5059 + undici@7.18.2: {} 5033 5060 5034 5061 unenv@2.0.0-rc.24: 5035 5062 dependencies: ··· 5076 5103 - '@types/babel__core' 5077 5104 - supports-color 5078 5105 5079 - vite-plugin-solid@2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)): 5106 + vite-plugin-solid@2.11.10(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)): 5080 5107 dependencies: 5081 5108 '@babel/core': 7.28.6 5082 5109 '@types/babel__core': 7.20.5 5083 - babel-preset-solid: 1.9.10(@babel/core@7.28.6)(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5110 + babel-preset-solid: 1.9.10(@babel/core@7.28.6)(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5084 5111 merge-anything: 5.1.7 5085 - solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 5086 - solid-refresh: 0.6.3(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5112 + solid-js: 1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 5113 + solid-refresh: 0.6.3(solid-js@1.9.11(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5087 5114 vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 5088 5115 vitefu: 1.1.1(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 5089 5116 transitivePeerDependencies: ··· 5095 5122 fdir: 6.5.0(picomatch@4.0.3) 5096 5123 picomatch: 4.0.3 5097 5124 postcss: 8.5.6 5098 - rollup: 4.55.2 5125 + rollup: 4.57.0 5099 5126 tinyglobby: 0.2.15 5100 5127 optionalDependencies: 5101 5128 '@types/node': 24.10.9 ··· 5144 5171 fast-json-stable-stringify: 2.1.0 5145 5172 fs-extra: 9.1.0 5146 5173 glob: 11.1.0 5147 - lodash: 4.17.21 5174 + lodash: 4.17.23 5148 5175 pretty-bytes: 5.6.0 5149 5176 rollup: 2.79.2 5150 5177 source-map: 0.8.0-beta.0 ··· 5232 5259 '@types/trusted-types': 2.0.7 5233 5260 workbox-core: 7.4.0 5234 5261 5235 - workerd@1.20260114.0: 5262 + workerd@1.20260128.0: 5236 5263 optionalDependencies: 5237 - '@cloudflare/workerd-darwin-64': 1.20260114.0 5238 - '@cloudflare/workerd-darwin-arm64': 1.20260114.0 5239 - '@cloudflare/workerd-linux-64': 1.20260114.0 5240 - '@cloudflare/workerd-linux-arm64': 1.20260114.0 5241 - '@cloudflare/workerd-windows-64': 1.20260114.0 5264 + '@cloudflare/workerd-darwin-64': 1.20260128.0 5265 + '@cloudflare/workerd-darwin-arm64': 1.20260128.0 5266 + '@cloudflare/workerd-linux-64': 1.20260128.0 5267 + '@cloudflare/workerd-linux-arm64': 1.20260128.0 5268 + '@cloudflare/workerd-windows-64': 1.20260128.0 5242 5269 5243 - wrangler@4.59.2: 5270 + wrangler@4.61.1: 5244 5271 dependencies: 5245 5272 '@cloudflare/kv-asset-handler': 0.4.2 5246 - '@cloudflare/unenv-preset': 2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0) 5273 + '@cloudflare/unenv-preset': 2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260128.0) 5247 5274 blake3-wasm: 2.1.5 5248 5275 esbuild: 0.27.0 5249 - miniflare: 4.20260114.0 5276 + miniflare: 4.20260128.0 5250 5277 path-to-regexp: 6.3.0 5251 5278 unenv: 2.0.0-rc.24 5252 - workerd: 1.20260114.0 5279 + workerd: 1.20260128.0 5253 5280 optionalDependencies: 5254 5281 fsevents: 2.3.3 5255 5282 transitivePeerDependencies: ··· 5284 5311 '@speed-highlight/core': 1.2.14 5285 5312 cookie: 1.1.1 5286 5313 youch-core: 0.3.3 5287 - 5288 - zod@3.25.76: {}
+8 -51
scripts/generate-oauth-keys.js
··· 1 1 import * as fs from 'node:fs/promises'; 2 2 3 - import * as v from '@badrap/valita'; 4 - 3 + import { generateClientAssertionKey } from '@atcute/oauth-crypto'; 5 4 import * as TID from '@atcute/tid'; 6 5 7 - const jwksSchema = v.object({ 8 - keys: v.array( 9 - v.object({ 10 - privateKey: v.unknown(), 11 - publicKey: v.unknown(), 12 - }), 13 - ), 14 - }); 15 - 16 - /** @type {v.Infer<typeof jwksSchema> | undefined} */ 17 - let jwks; 6 + /** @type {import('@atcute/oauth-crypto').ClientAssertionPrivateJwk[]} */ 7 + let keys; 18 8 try { 19 9 const raw = await fs.readFile('./oauth-credentials.local.json', 'utf-8'); 20 - const json = JSON.parse(raw); 21 - 22 - jwks = jwksSchema.parse(json, { mode: 'passthrough' }); 10 + keys = JSON.parse(raw); 23 11 } catch (err) { 24 12 if (err.code !== 'ENOENT') { 25 13 throw err; 26 14 } 27 15 28 - jwks = { 29 - keys: [], 30 - }; 16 + keys = []; 31 17 } 32 18 33 - const { publicKey, privateKey } = await crypto.subtle.generateKey( 34 - { 35 - name: 'ECDSA', 36 - namedCurve: 'P-256', 37 - }, 38 - true, 39 - ['sign', 'verify'], 40 - ); 41 - 42 19 const kid = `aglais-${TID.now()}`; 43 - const privateJWK = await crypto.subtle.exportKey('jwk', privateKey); 44 - const publicJWK = await crypto.subtle.exportKey('jwk', publicKey); 20 + const privateKey = await generateClientAssertionKey(kid, 'ES256'); 45 21 46 - jwks = { 47 - keys: [ 48 - { 49 - privateKey: { 50 - ...privateJWK, 51 - kid: kid, 52 - }, 53 - publicKey: { 54 - kty: publicJWK.kty, 55 - crv: publicJWK.crv, 56 - x: publicJWK.x, 57 - y: publicJWK.y, 58 - use: 'sig', 59 - alg: 'ES256', 60 - kid: kid, 61 - }, 62 - }, 63 - ...jwks.keys, 64 - ], 65 - }; 22 + keys = [privateKey, ...keys]; 66 23 67 - await fs.writeFile('./oauth-credentials.local.json', JSON.stringify(jwks, null, '\t') + '\n'); 24 + await fs.writeFile('./oauth-credentials.local.json', JSON.stringify(keys, null, '\t') + '\n');
+21 -20
server/index.ts
··· 14 14 WellKnownHandleResolver, 15 15 } from '@atcute/identity-resolver'; 16 16 import { type Did, type Handle, type ResourceUri, isDid } from '@atcute/lexicons/syntax'; 17 + import { 18 + type ClientAssertionPrivateJwk, 19 + DpopVerifyError, 20 + createClientAssertion, 21 + derivePublicJwk, 22 + verifyDpopProof, 23 + } from '@atcute/oauth-crypto'; 17 24 import { AuthRequiredError, InvalidRequestError, XRPCRouter, json } from '@atcute/xrpc-server'; 18 25 19 - import * as jwks from '../oauth-credentials.local.json' with { type: 'json' }; 26 + import keys from '../oauth-credentials.local.json' with { type: 'json' }; 20 27 21 - import { InvalidDPoPError, createClientAssertion, verifyDPoP } from './jwt'; 22 28 import { requestAssertionSchema, resolveIdentitySchema } from './lexicons'; 23 29 24 - const privateKeyId = jwks.keys[0].privateKey.kid; 25 - const privateKey = await crypto.subtle.importKey( 26 - 'jwk', 27 - jwks.keys[0].privateKey, 28 - { name: 'ECDSA', namedCurve: 'P-256' }, 29 - false, 30 - ['sign'], 31 - ); 30 + const privateKeys = keys as ClientAssertionPrivateJwk[]; 31 + const publicKeys = privateKeys.map((key) => derivePublicJwk(key)); 32 32 33 33 const handleResolver = new CompositeHandleResolver({ 34 34 methods: { ··· 74 74 }); 75 75 76 76 router.addProcedure(requestAssertionSchema, { 77 - async handler({ input: { jkt, aud }, request }) { 77 + async handler({ input: { aud }, request }) { 78 78 if (request.headers.get('sec-fetch-site') !== 'same-origin') { 79 79 throw new AuthRequiredError({ description: 'invalid origin' }); 80 80 } 81 81 82 - const dpop = request.headers.get('dpop'); 82 + let jkt: string; 83 83 try { 84 - await verifyDPoP(dpop, jkt); 84 + const result = await verifyDpopProof(request.headers.get('dpop'), { 85 + method: request.method, 86 + url: request.url, 87 + }); 88 + 89 + jkt = result.jkt; 85 90 } catch (err) { 86 - if (err instanceof InvalidDPoPError) { 91 + if (err instanceof DpopVerifyError) { 87 92 throw new AuthRequiredError({ description: err.message }); 88 93 } 89 94 ··· 92 97 93 98 const url = new URL(request.url); 94 99 const assertion = await createClientAssertion({ 95 - privateKey: privateKey, 96 - 97 100 client_id: `https://${url.host}/oauth-client-metadata.json`, 98 - kid: privateKeyId, 99 101 aud: aud, 100 102 jkt: jkt, 103 + key: privateKeys[0], 101 104 }); 102 105 103 106 return json({ ··· 203 206 } 204 207 205 208 if (url.pathname === '/oauth-jwks.json') { 206 - return Response.json({ 207 - keys: jwks.keys.map((key) => key.publicKey), 208 - }); 209 + return Response.json({ keys: publicKeys }); 209 210 } 210 211 211 212 contexts.set(request, ctx);
-208
server/jwt.ts
··· 1 - import * as v from '@badrap/valita'; 2 - 3 - import { fromBase64Url, toBase64Url } from '@atcute/multibase'; 4 - import { decodeUtf8From, encodeUtf8 } from '@atcute/uint8array'; 5 - 6 - export class MalformedJwtError extends Error { 7 - name = 'MalformedJwtError'; 8 - 9 - constructor(options?: ErrorOptions) { 10 - super(`malformed JWT`, options); 11 - } 12 - } 13 - 14 - export interface DecodedJwt<THeader, TPayload> { 15 - header: THeader; 16 - payload: TPayload; 17 - message: Uint8Array<ArrayBuffer>; 18 - signature: Uint8Array<ArrayBuffer>; 19 - } 20 - 21 - const decodeJwt = <THeader, TPayload>( 22 - input: string, 23 - schemas: { header: v.Type<THeader>; payload: v.Type<TPayload> }, 24 - ): DecodedJwt<THeader, TPayload> => { 25 - const parts = input.split('.'); 26 - if (parts.length !== 3) { 27 - throw new MalformedJwtError(); 28 - } 29 - 30 - const [headerString, payloadString, signatureString] = parts; 31 - 32 - const header = decodeJwtPortion(schemas.header, headerString); 33 - const payload = decodeJwtPortion(schemas.payload, payloadString); 34 - const signature = decodeJwtSignature(signatureString); 35 - 36 - return { 37 - header: header, 38 - payload: payload, 39 - message: encodeUtf8(`${headerString}.${payloadString}`), 40 - signature: signature, 41 - }; 42 - }; 43 - 44 - const decodeJwtPortion = <T>(schema: v.Type<T>, input: string): T => { 45 - try { 46 - const raw = decodeUtf8From(fromBase64Url(input)); 47 - const json = JSON.parse(raw); 48 - 49 - return schema.parse(json, { mode: 'passthrough' }); 50 - } catch (err) { 51 - throw new MalformedJwtError({ cause: err }); 52 - } 53 - }; 54 - 55 - const decodeJwtSignature = (input: string): Uint8Array<ArrayBuffer> => { 56 - try { 57 - return fromBase64Url(input); 58 - } catch (err) { 59 - throw new MalformedJwtError({ cause: err }); 60 - } 61 - }; 62 - 63 - const encodeJwtPortion = (data: unknown): string => { 64 - return toBase64Url(encodeUtf8(JSON.stringify(data))); 65 - }; 66 - 67 - const encodeJwtSignature = (data: Uint8Array): string => { 68 - return toBase64Url(data); 69 - }; 70 - 71 - // #region DPoP 72 - export class InvalidDPoPError extends Error { 73 - name = 'InvalidDPoPError'; 74 - } 75 - 76 - const dpopHeaderSchema = v.object({ 77 - typ: v.literal('dpop+jwt'), 78 - alg: v.literal('ES256'), 79 - jwk: v.object({ 80 - kty: v.literal('EC'), 81 - crv: v.literal('P-256'), 82 - x: v.string(), 83 - y: v.string(), 84 - }), 85 - }); 86 - 87 - const dpopPayloadSchema = v.object({ 88 - htm: v.string(), 89 - htu: v.string(), 90 - iat: v.number(), 91 - jti: v.string(), 92 - }); 93 - 94 - const calculateJwkThumbprint = async (jwk: JsonWebKey): Promise<string> => { 95 - // For EC keys, thumbprint is SHA-256 of canonical JSON 96 - // Members must be in lexicographic order 97 - const canonical = JSON.stringify({ 98 - crv: jwk.crv, 99 - kty: jwk.kty, 100 - x: jwk.x, 101 - y: jwk.y, 102 - }); 103 - 104 - const hash = await crypto.subtle.digest('SHA-256', encodeUtf8(canonical)); 105 - return toBase64Url(new Uint8Array(hash)); 106 - }; 107 - 108 - export const verifyDPoP = async (dpop: string | null, jkt: string): Promise<void> => { 109 - if (!dpop) { 110 - throw new InvalidDPoPError(`missing DPoP header`); 111 - } 112 - 113 - // Decode the DPoP JWT 114 - let decoded; 115 - try { 116 - decoded = decodeJwt(dpop, { 117 - header: dpopHeaderSchema, 118 - payload: dpopPayloadSchema, 119 - }); 120 - } catch (err) { 121 - throw new InvalidDPoPError(`malformed JWT`, { cause: err }); 122 - } 123 - 124 - const { header, message, signature } = decoded; 125 - 126 - // Verify JWK thumbprint matches jkt 127 - const thumbprint = await calculateJwkThumbprint(header.jwk); 128 - if (thumbprint !== jkt) { 129 - throw new InvalidDPoPError(`JWK thumbprint mismatch`); 130 - } 131 - 132 - // Import the public key for signature verification 133 - let publicKey: CryptoKey; 134 - try { 135 - publicKey = await crypto.subtle.importKey( 136 - 'jwk', 137 - header.jwk, 138 - { name: 'ECDSA', namedCurve: 'P-256' }, 139 - false, 140 - ['verify'], 141 - ); 142 - } catch (err) { 143 - throw new InvalidDPoPError(`failed to import JWK`, { cause: err }); 144 - } 145 - 146 - // Verify the signature 147 - const isValid = await crypto.subtle.verify( 148 - { name: 'ECDSA', hash: 'SHA-256' }, 149 - publicKey, 150 - signature, 151 - message, 152 - ); 153 - 154 - if (!isValid) { 155 - throw new InvalidDPoPError(`invalid DPoP signature`); 156 - } 157 - }; 158 - 159 - // #endregion 160 - 161 - // #region Client assertions 162 - 163 - export const createClientAssertion = async (options: { 164 - kid: string; 165 - client_id: string; 166 - aud: string; 167 - jkt: string; 168 - privateKey: CryptoKey; 169 - }): Promise<string> => { 170 - const { kid, client_id, aud, jkt, privateKey } = options; 171 - 172 - const now = Math.floor(Date.now() / 1000); 173 - 174 - const header = { 175 - alg: 'ES256', 176 - typ: 'JWT', 177 - kid: kid, 178 - }; 179 - 180 - const payload = { 181 - iss: client_id, 182 - sub: client_id, 183 - aud: aud, 184 - jti: crypto.randomUUID(), 185 - iat: now, 186 - exp: now + 60, 187 - cnf: { jkt }, 188 - }; 189 - 190 - const message = `${encodeJwtPortion(header)}.${encodeJwtPortion(payload)}`; 191 - 192 - const signature = encodeJwtSignature( 193 - new Uint8Array( 194 - await crypto.subtle.sign( 195 - { 196 - name: 'ECDSA', 197 - hash: 'SHA-256', 198 - }, 199 - privateKey, 200 - encodeUtf8(message), 201 - ), 202 - ), 203 - ); 204 - 205 - return `${message}.${signature}`; 206 - }; 207 - 208 - // #endregion
-1
server/lexicons.ts
··· 6 6 input: { 7 7 type: 'lex', 8 8 schema: v.object({ 9 - jkt: v.string(), 10 9 aud: v.string(), 11 10 }), 12 11 },
+1 -2
src/main.tsx
··· 44 44 handler: simpleFetchHandler({ service: location.origin }), 45 45 }); 46 46 47 - const fetchClientAssertion: ClientAssertionFetcher = async ({ aud, jkt, createDpopProof }) => { 47 + const fetchClientAssertion: ClientAssertionFetcher = async ({ aud, createDpopProof }) => { 48 48 const dpop = await createDpopProof(`${location.origin}/xrpc/x.aglais.requestAssertion`); 49 49 50 50 const data = await ok( 51 51 host.post('x.aglais.requestAssertion', { 52 52 input: { 53 53 aud: aud, 54 - jkt: jkt, 55 54 }, 56 55 headers: { 57 56 dpop: dpop,