Simple vanilia JS vite project with ATProto OAuth out of the box

init

+24
.gitignore
···
··· 1 + # Logs 2 + logs 3 + *.log 4 + npm-debug.log* 5 + yarn-debug.log* 6 + yarn-error.log* 7 + pnpm-debug.log* 8 + lerna-debug.log* 9 + 10 + node_modules 11 + dist 12 + dist-ssr 13 + *.local 14 + 15 + # Editor directories and files 16 + .vscode/* 17 + !.vscode/extensions.json 18 + .idea 19 + .DS_Store 20 + *.suo 21 + *.ntvs* 22 + *.njsproj 23 + *.sln 24 + *.sw?
+13
index.html
···
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8" /> 5 + <link rel="icon" type="image/svg+xml" href="/vite.svg" /> 6 + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 + <title>atp-oauth-playground</title> 8 + </head> 9 + <body> 10 + <div id="app"></div> 11 + <script type="module" src="/src/main.js"></script> 12 + </body> 13 + </html>
+17
package.json
···
··· 1 + { 2 + "name": "atp-oauth-playground", 3 + "private": true, 4 + "version": "0.0.0", 5 + "type": "module", 6 + "scripts": { 7 + "dev": "vite", 8 + "build": "vite build", 9 + "preview": "vite preview" 10 + }, 11 + "devDependencies": { 12 + "vite": "^7.2.4" 13 + }, 14 + "dependencies": { 15 + "@atproto/oauth-client-browser": "^0.3.38" 16 + } 17 + }
+847
pnpm-lock.yaml
···
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + '@atproto/oauth-client-browser': 12 + specifier: ^0.3.38 13 + version: 0.3.38 14 + devDependencies: 15 + vite: 16 + specifier: ^7.2.4 17 + version: 7.3.0 18 + 19 + packages: 20 + 21 + '@atproto-labs/did-resolver@0.2.4': 22 + resolution: {integrity: sha512-sbXxBnAJWsKv/FEGG6a/WLz7zQYUr1vA2TXvNnPwwJQJCjPwEJMOh1vM22wBr185Phy7D2GD88PcRokn7eUVyw==} 23 + 24 + '@atproto-labs/fetch@0.2.3': 25 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 26 + 27 + '@atproto-labs/handle-resolver@0.3.4': 28 + resolution: {integrity: sha512-wsNopfzfgO3uPvfnFDgNeXgDufXxSXhjBjp2WEiSzEiLrMy0Jodnqggw4OzD9MJKf0a4Iu2/ydd537qdy91LrQ==} 29 + 30 + '@atproto-labs/identity-resolver@0.3.4': 31 + resolution: {integrity: sha512-HNUEFQIo2ws6iATxmgHd5D5rAsWYupgxZucgwolVHPiMjE1SY+EmxEsfbEN1wDEzM8/u9AKUg/jrxxPEwsgbew==} 32 + 33 + '@atproto-labs/pipe@0.1.1': 34 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 35 + 36 + '@atproto-labs/simple-store-memory@0.1.4': 37 + resolution: {integrity: sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw==} 38 + 39 + '@atproto-labs/simple-store@0.3.0': 40 + resolution: {integrity: sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ==} 41 + 42 + '@atproto/common-web@0.4.8': 43 + resolution: {integrity: sha512-2YDVTYAXmd8UStebscDglisrxT5q7qt+0Fbf2zpkOITeNEEXCeTcoE0X369/ssdPtiw4CMq2rGHDH003SO7bdQ==} 44 + 45 + '@atproto/did@0.2.3': 46 + resolution: {integrity: sha512-VI8JJkSizvM2cHYJa37WlbzeCm5tWpojyc1/Zy8q8OOjyoy6X4S4BEfoP941oJcpxpMTObamibQIXQDo7tnIjg==} 47 + 48 + '@atproto/jwk-jose@0.1.11': 49 + resolution: {integrity: sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q==} 50 + 51 + '@atproto/jwk-webcrypto@0.2.0': 52 + resolution: {integrity: sha512-UmgRrrEAkWvxwhlwe30UmDOdTEFidlIzBC7C3cCbeJMcBN1x8B3KH+crXrsTqfWQBG58mXgt8wgSK3Kxs2LhFg==} 53 + 54 + '@atproto/jwk@0.6.0': 55 + resolution: {integrity: sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw==} 56 + 57 + '@atproto/lex-data@0.0.4': 58 + resolution: {integrity: sha512-ziWY8R4wJ0NGDSlt+gzPxMsIh1DXFeLt+lsBoVc6wPaJamCxngwWAxONuQ3p9oRE6zR/gXsCOdtZAH5yjWW5ag==} 59 + 60 + '@atproto/lex-json@0.0.4': 61 + resolution: {integrity: sha512-BTBnRZUW7XFCbJnuSMvUZSLXYP6RK/RdTg68sySoK+Hg0A5k43uniA7xtFhJFZCfZ96brl3k/ykdVh76LizQ8Q==} 62 + 63 + '@atproto/lexicon@0.6.0': 64 + resolution: {integrity: sha512-5veb8aD+J5M0qszLJ+73KSFsFrJBgAY/nM1TSAJvGY7fNc9ZAT+PSUlmIyrdye9YznAZ07yktalls/TwNV7cHQ==} 65 + 66 + '@atproto/oauth-client-browser@0.3.38': 67 + resolution: {integrity: sha512-n7LCmG7J3sMDOIuDbUpJEhQHmLKi8TMPO/fPiLGCAHPlM7DKEV+TEX9Y+F3WY3Cxrl9ajIN7ZOMlGpxk8vUfkQ==} 68 + 69 + '@atproto/oauth-client@0.5.12': 70 + resolution: {integrity: sha512-Noc+NQs4lCw1XnrF96zrZ1sMuAzxWCKdgfoMIEQA0lIuNWd1Td6t7TACo6yxIdEHlqBmLDAQFs8iDArVH4v6gg==} 71 + 72 + '@atproto/oauth-types@0.6.0': 73 + resolution: {integrity: sha512-MiDttF9r0O5CiClBeLcn+QrFd64bVrbmuZ/I0yJn8/Gt2CLAZ5GZHLUi4hq5s+cYjUZtZTLYtI9oqFDwCQmvUA==} 74 + 75 + '@atproto/syntax@0.4.2': 76 + resolution: {integrity: sha512-X9XSRPinBy/0VQ677j8VXlBsYSsUXaiqxWVpGGxJYsAhugdQRb0jqaVKJFtm6RskeNkV6y9xclSUi9UYG/COrA==} 77 + 78 + '@atproto/xrpc@0.7.7': 79 + resolution: {integrity: sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA==} 80 + 81 + '@esbuild/aix-ppc64@0.27.2': 82 + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} 83 + engines: {node: '>=18'} 84 + cpu: [ppc64] 85 + os: [aix] 86 + 87 + '@esbuild/android-arm64@0.27.2': 88 + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} 89 + engines: {node: '>=18'} 90 + cpu: [arm64] 91 + os: [android] 92 + 93 + '@esbuild/android-arm@0.27.2': 94 + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} 95 + engines: {node: '>=18'} 96 + cpu: [arm] 97 + os: [android] 98 + 99 + '@esbuild/android-x64@0.27.2': 100 + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} 101 + engines: {node: '>=18'} 102 + cpu: [x64] 103 + os: [android] 104 + 105 + '@esbuild/darwin-arm64@0.27.2': 106 + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} 107 + engines: {node: '>=18'} 108 + cpu: [arm64] 109 + os: [darwin] 110 + 111 + '@esbuild/darwin-x64@0.27.2': 112 + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} 113 + engines: {node: '>=18'} 114 + cpu: [x64] 115 + os: [darwin] 116 + 117 + '@esbuild/freebsd-arm64@0.27.2': 118 + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} 119 + engines: {node: '>=18'} 120 + cpu: [arm64] 121 + os: [freebsd] 122 + 123 + '@esbuild/freebsd-x64@0.27.2': 124 + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} 125 + engines: {node: '>=18'} 126 + cpu: [x64] 127 + os: [freebsd] 128 + 129 + '@esbuild/linux-arm64@0.27.2': 130 + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} 131 + engines: {node: '>=18'} 132 + cpu: [arm64] 133 + os: [linux] 134 + 135 + '@esbuild/linux-arm@0.27.2': 136 + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} 137 + engines: {node: '>=18'} 138 + cpu: [arm] 139 + os: [linux] 140 + 141 + '@esbuild/linux-ia32@0.27.2': 142 + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} 143 + engines: {node: '>=18'} 144 + cpu: [ia32] 145 + os: [linux] 146 + 147 + '@esbuild/linux-loong64@0.27.2': 148 + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} 149 + engines: {node: '>=18'} 150 + cpu: [loong64] 151 + os: [linux] 152 + 153 + '@esbuild/linux-mips64el@0.27.2': 154 + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} 155 + engines: {node: '>=18'} 156 + cpu: [mips64el] 157 + os: [linux] 158 + 159 + '@esbuild/linux-ppc64@0.27.2': 160 + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} 161 + engines: {node: '>=18'} 162 + cpu: [ppc64] 163 + os: [linux] 164 + 165 + '@esbuild/linux-riscv64@0.27.2': 166 + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} 167 + engines: {node: '>=18'} 168 + cpu: [riscv64] 169 + os: [linux] 170 + 171 + '@esbuild/linux-s390x@0.27.2': 172 + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} 173 + engines: {node: '>=18'} 174 + cpu: [s390x] 175 + os: [linux] 176 + 177 + '@esbuild/linux-x64@0.27.2': 178 + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} 179 + engines: {node: '>=18'} 180 + cpu: [x64] 181 + os: [linux] 182 + 183 + '@esbuild/netbsd-arm64@0.27.2': 184 + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} 185 + engines: {node: '>=18'} 186 + cpu: [arm64] 187 + os: [netbsd] 188 + 189 + '@esbuild/netbsd-x64@0.27.2': 190 + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} 191 + engines: {node: '>=18'} 192 + cpu: [x64] 193 + os: [netbsd] 194 + 195 + '@esbuild/openbsd-arm64@0.27.2': 196 + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} 197 + engines: {node: '>=18'} 198 + cpu: [arm64] 199 + os: [openbsd] 200 + 201 + '@esbuild/openbsd-x64@0.27.2': 202 + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} 203 + engines: {node: '>=18'} 204 + cpu: [x64] 205 + os: [openbsd] 206 + 207 + '@esbuild/openharmony-arm64@0.27.2': 208 + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} 209 + engines: {node: '>=18'} 210 + cpu: [arm64] 211 + os: [openharmony] 212 + 213 + '@esbuild/sunos-x64@0.27.2': 214 + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} 215 + engines: {node: '>=18'} 216 + cpu: [x64] 217 + os: [sunos] 218 + 219 + '@esbuild/win32-arm64@0.27.2': 220 + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} 221 + engines: {node: '>=18'} 222 + cpu: [arm64] 223 + os: [win32] 224 + 225 + '@esbuild/win32-ia32@0.27.2': 226 + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} 227 + engines: {node: '>=18'} 228 + cpu: [ia32] 229 + os: [win32] 230 + 231 + '@esbuild/win32-x64@0.27.2': 232 + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} 233 + engines: {node: '>=18'} 234 + cpu: [x64] 235 + os: [win32] 236 + 237 + '@rollup/rollup-android-arm-eabi@4.54.0': 238 + resolution: {integrity: sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==} 239 + cpu: [arm] 240 + os: [android] 241 + 242 + '@rollup/rollup-android-arm64@4.54.0': 243 + resolution: {integrity: sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==} 244 + cpu: [arm64] 245 + os: [android] 246 + 247 + '@rollup/rollup-darwin-arm64@4.54.0': 248 + resolution: {integrity: sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==} 249 + cpu: [arm64] 250 + os: [darwin] 251 + 252 + '@rollup/rollup-darwin-x64@4.54.0': 253 + resolution: {integrity: sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==} 254 + cpu: [x64] 255 + os: [darwin] 256 + 257 + '@rollup/rollup-freebsd-arm64@4.54.0': 258 + resolution: {integrity: sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==} 259 + cpu: [arm64] 260 + os: [freebsd] 261 + 262 + '@rollup/rollup-freebsd-x64@4.54.0': 263 + resolution: {integrity: sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==} 264 + cpu: [x64] 265 + os: [freebsd] 266 + 267 + '@rollup/rollup-linux-arm-gnueabihf@4.54.0': 268 + resolution: {integrity: sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==} 269 + cpu: [arm] 270 + os: [linux] 271 + 272 + '@rollup/rollup-linux-arm-musleabihf@4.54.0': 273 + resolution: {integrity: sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==} 274 + cpu: [arm] 275 + os: [linux] 276 + 277 + '@rollup/rollup-linux-arm64-gnu@4.54.0': 278 + resolution: {integrity: sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==} 279 + cpu: [arm64] 280 + os: [linux] 281 + 282 + '@rollup/rollup-linux-arm64-musl@4.54.0': 283 + resolution: {integrity: sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==} 284 + cpu: [arm64] 285 + os: [linux] 286 + 287 + '@rollup/rollup-linux-loong64-gnu@4.54.0': 288 + resolution: {integrity: sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==} 289 + cpu: [loong64] 290 + os: [linux] 291 + 292 + '@rollup/rollup-linux-ppc64-gnu@4.54.0': 293 + resolution: {integrity: sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==} 294 + cpu: [ppc64] 295 + os: [linux] 296 + 297 + '@rollup/rollup-linux-riscv64-gnu@4.54.0': 298 + resolution: {integrity: sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==} 299 + cpu: [riscv64] 300 + os: [linux] 301 + 302 + '@rollup/rollup-linux-riscv64-musl@4.54.0': 303 + resolution: {integrity: sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==} 304 + cpu: [riscv64] 305 + os: [linux] 306 + 307 + '@rollup/rollup-linux-s390x-gnu@4.54.0': 308 + resolution: {integrity: sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==} 309 + cpu: [s390x] 310 + os: [linux] 311 + 312 + '@rollup/rollup-linux-x64-gnu@4.54.0': 313 + resolution: {integrity: sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==} 314 + cpu: [x64] 315 + os: [linux] 316 + 317 + '@rollup/rollup-linux-x64-musl@4.54.0': 318 + resolution: {integrity: sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==} 319 + cpu: [x64] 320 + os: [linux] 321 + 322 + '@rollup/rollup-openharmony-arm64@4.54.0': 323 + resolution: {integrity: sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==} 324 + cpu: [arm64] 325 + os: [openharmony] 326 + 327 + '@rollup/rollup-win32-arm64-msvc@4.54.0': 328 + resolution: {integrity: sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==} 329 + cpu: [arm64] 330 + os: [win32] 331 + 332 + '@rollup/rollup-win32-ia32-msvc@4.54.0': 333 + resolution: {integrity: sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==} 334 + cpu: [ia32] 335 + os: [win32] 336 + 337 + '@rollup/rollup-win32-x64-gnu@4.54.0': 338 + resolution: {integrity: sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==} 339 + cpu: [x64] 340 + os: [win32] 341 + 342 + '@rollup/rollup-win32-x64-msvc@4.54.0': 343 + resolution: {integrity: sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==} 344 + cpu: [x64] 345 + os: [win32] 346 + 347 + '@types/estree@1.0.8': 348 + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 349 + 350 + core-js@3.47.0: 351 + resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} 352 + 353 + esbuild@0.27.2: 354 + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} 355 + engines: {node: '>=18'} 356 + hasBin: true 357 + 358 + fdir@6.5.0: 359 + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 360 + engines: {node: '>=12.0.0'} 361 + peerDependencies: 362 + picomatch: ^3 || ^4 363 + peerDependenciesMeta: 364 + picomatch: 365 + optional: true 366 + 367 + fsevents@2.3.3: 368 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 369 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 370 + os: [darwin] 371 + 372 + iso-datestring-validator@2.2.2: 373 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 374 + 375 + jose@5.10.0: 376 + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} 377 + 378 + lru-cache@10.4.3: 379 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 380 + 381 + multiformats@9.9.0: 382 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 383 + 384 + nanoid@3.3.11: 385 + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 386 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 387 + hasBin: true 388 + 389 + picocolors@1.1.1: 390 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 391 + 392 + picomatch@4.0.3: 393 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 394 + engines: {node: '>=12'} 395 + 396 + postcss@8.5.6: 397 + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 398 + engines: {node: ^10 || ^12 || >=14} 399 + 400 + rollup@4.54.0: 401 + resolution: {integrity: sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==} 402 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 403 + hasBin: true 404 + 405 + source-map-js@1.2.1: 406 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 407 + engines: {node: '>=0.10.0'} 408 + 409 + tinyglobby@0.2.15: 410 + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 411 + engines: {node: '>=12.0.0'} 412 + 413 + tslib@2.8.1: 414 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 415 + 416 + uint8arrays@3.0.0: 417 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 418 + 419 + unicode-segmenter@0.14.5: 420 + resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 421 + 422 + vite@7.3.0: 423 + resolution: {integrity: sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==} 424 + engines: {node: ^20.19.0 || >=22.12.0} 425 + hasBin: true 426 + peerDependencies: 427 + '@types/node': ^20.19.0 || >=22.12.0 428 + jiti: '>=1.21.0' 429 + less: ^4.0.0 430 + lightningcss: ^1.21.0 431 + sass: ^1.70.0 432 + sass-embedded: ^1.70.0 433 + stylus: '>=0.54.8' 434 + sugarss: ^5.0.0 435 + terser: ^5.16.0 436 + tsx: ^4.8.1 437 + yaml: ^2.4.2 438 + peerDependenciesMeta: 439 + '@types/node': 440 + optional: true 441 + jiti: 442 + optional: true 443 + less: 444 + optional: true 445 + lightningcss: 446 + optional: true 447 + sass: 448 + optional: true 449 + sass-embedded: 450 + optional: true 451 + stylus: 452 + optional: true 453 + sugarss: 454 + optional: true 455 + terser: 456 + optional: true 457 + tsx: 458 + optional: true 459 + yaml: 460 + optional: true 461 + 462 + zod@3.25.76: 463 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 464 + 465 + snapshots: 466 + 467 + '@atproto-labs/did-resolver@0.2.4': 468 + dependencies: 469 + '@atproto-labs/fetch': 0.2.3 470 + '@atproto-labs/pipe': 0.1.1 471 + '@atproto-labs/simple-store': 0.3.0 472 + '@atproto-labs/simple-store-memory': 0.1.4 473 + '@atproto/did': 0.2.3 474 + zod: 3.25.76 475 + 476 + '@atproto-labs/fetch@0.2.3': 477 + dependencies: 478 + '@atproto-labs/pipe': 0.1.1 479 + 480 + '@atproto-labs/handle-resolver@0.3.4': 481 + dependencies: 482 + '@atproto-labs/simple-store': 0.3.0 483 + '@atproto-labs/simple-store-memory': 0.1.4 484 + '@atproto/did': 0.2.3 485 + zod: 3.25.76 486 + 487 + '@atproto-labs/identity-resolver@0.3.4': 488 + dependencies: 489 + '@atproto-labs/did-resolver': 0.2.4 490 + '@atproto-labs/handle-resolver': 0.3.4 491 + 492 + '@atproto-labs/pipe@0.1.1': {} 493 + 494 + '@atproto-labs/simple-store-memory@0.1.4': 495 + dependencies: 496 + '@atproto-labs/simple-store': 0.3.0 497 + lru-cache: 10.4.3 498 + 499 + '@atproto-labs/simple-store@0.3.0': {} 500 + 501 + '@atproto/common-web@0.4.8': 502 + dependencies: 503 + '@atproto/lex-data': 0.0.4 504 + '@atproto/lex-json': 0.0.4 505 + zod: 3.25.76 506 + 507 + '@atproto/did@0.2.3': 508 + dependencies: 509 + zod: 3.25.76 510 + 511 + '@atproto/jwk-jose@0.1.11': 512 + dependencies: 513 + '@atproto/jwk': 0.6.0 514 + jose: 5.10.0 515 + 516 + '@atproto/jwk-webcrypto@0.2.0': 517 + dependencies: 518 + '@atproto/jwk': 0.6.0 519 + '@atproto/jwk-jose': 0.1.11 520 + zod: 3.25.76 521 + 522 + '@atproto/jwk@0.6.0': 523 + dependencies: 524 + multiformats: 9.9.0 525 + zod: 3.25.76 526 + 527 + '@atproto/lex-data@0.0.4': 528 + dependencies: 529 + '@atproto/syntax': 0.4.2 530 + multiformats: 9.9.0 531 + tslib: 2.8.1 532 + uint8arrays: 3.0.0 533 + unicode-segmenter: 0.14.5 534 + 535 + '@atproto/lex-json@0.0.4': 536 + dependencies: 537 + '@atproto/lex-data': 0.0.4 538 + tslib: 2.8.1 539 + 540 + '@atproto/lexicon@0.6.0': 541 + dependencies: 542 + '@atproto/common-web': 0.4.8 543 + '@atproto/syntax': 0.4.2 544 + iso-datestring-validator: 2.2.2 545 + multiformats: 9.9.0 546 + zod: 3.25.76 547 + 548 + '@atproto/oauth-client-browser@0.3.38': 549 + dependencies: 550 + '@atproto-labs/did-resolver': 0.2.4 551 + '@atproto-labs/handle-resolver': 0.3.4 552 + '@atproto-labs/simple-store': 0.3.0 553 + '@atproto/did': 0.2.3 554 + '@atproto/jwk': 0.6.0 555 + '@atproto/jwk-webcrypto': 0.2.0 556 + '@atproto/oauth-client': 0.5.12 557 + '@atproto/oauth-types': 0.6.0 558 + core-js: 3.47.0 559 + 560 + '@atproto/oauth-client@0.5.12': 561 + dependencies: 562 + '@atproto-labs/did-resolver': 0.2.4 563 + '@atproto-labs/fetch': 0.2.3 564 + '@atproto-labs/handle-resolver': 0.3.4 565 + '@atproto-labs/identity-resolver': 0.3.4 566 + '@atproto-labs/simple-store': 0.3.0 567 + '@atproto-labs/simple-store-memory': 0.1.4 568 + '@atproto/did': 0.2.3 569 + '@atproto/jwk': 0.6.0 570 + '@atproto/oauth-types': 0.6.0 571 + '@atproto/xrpc': 0.7.7 572 + core-js: 3.47.0 573 + multiformats: 9.9.0 574 + zod: 3.25.76 575 + 576 + '@atproto/oauth-types@0.6.0': 577 + dependencies: 578 + '@atproto/did': 0.2.3 579 + '@atproto/jwk': 0.6.0 580 + zod: 3.25.76 581 + 582 + '@atproto/syntax@0.4.2': {} 583 + 584 + '@atproto/xrpc@0.7.7': 585 + dependencies: 586 + '@atproto/lexicon': 0.6.0 587 + zod: 3.25.76 588 + 589 + '@esbuild/aix-ppc64@0.27.2': 590 + optional: true 591 + 592 + '@esbuild/android-arm64@0.27.2': 593 + optional: true 594 + 595 + '@esbuild/android-arm@0.27.2': 596 + optional: true 597 + 598 + '@esbuild/android-x64@0.27.2': 599 + optional: true 600 + 601 + '@esbuild/darwin-arm64@0.27.2': 602 + optional: true 603 + 604 + '@esbuild/darwin-x64@0.27.2': 605 + optional: true 606 + 607 + '@esbuild/freebsd-arm64@0.27.2': 608 + optional: true 609 + 610 + '@esbuild/freebsd-x64@0.27.2': 611 + optional: true 612 + 613 + '@esbuild/linux-arm64@0.27.2': 614 + optional: true 615 + 616 + '@esbuild/linux-arm@0.27.2': 617 + optional: true 618 + 619 + '@esbuild/linux-ia32@0.27.2': 620 + optional: true 621 + 622 + '@esbuild/linux-loong64@0.27.2': 623 + optional: true 624 + 625 + '@esbuild/linux-mips64el@0.27.2': 626 + optional: true 627 + 628 + '@esbuild/linux-ppc64@0.27.2': 629 + optional: true 630 + 631 + '@esbuild/linux-riscv64@0.27.2': 632 + optional: true 633 + 634 + '@esbuild/linux-s390x@0.27.2': 635 + optional: true 636 + 637 + '@esbuild/linux-x64@0.27.2': 638 + optional: true 639 + 640 + '@esbuild/netbsd-arm64@0.27.2': 641 + optional: true 642 + 643 + '@esbuild/netbsd-x64@0.27.2': 644 + optional: true 645 + 646 + '@esbuild/openbsd-arm64@0.27.2': 647 + optional: true 648 + 649 + '@esbuild/openbsd-x64@0.27.2': 650 + optional: true 651 + 652 + '@esbuild/openharmony-arm64@0.27.2': 653 + optional: true 654 + 655 + '@esbuild/sunos-x64@0.27.2': 656 + optional: true 657 + 658 + '@esbuild/win32-arm64@0.27.2': 659 + optional: true 660 + 661 + '@esbuild/win32-ia32@0.27.2': 662 + optional: true 663 + 664 + '@esbuild/win32-x64@0.27.2': 665 + optional: true 666 + 667 + '@rollup/rollup-android-arm-eabi@4.54.0': 668 + optional: true 669 + 670 + '@rollup/rollup-android-arm64@4.54.0': 671 + optional: true 672 + 673 + '@rollup/rollup-darwin-arm64@4.54.0': 674 + optional: true 675 + 676 + '@rollup/rollup-darwin-x64@4.54.0': 677 + optional: true 678 + 679 + '@rollup/rollup-freebsd-arm64@4.54.0': 680 + optional: true 681 + 682 + '@rollup/rollup-freebsd-x64@4.54.0': 683 + optional: true 684 + 685 + '@rollup/rollup-linux-arm-gnueabihf@4.54.0': 686 + optional: true 687 + 688 + '@rollup/rollup-linux-arm-musleabihf@4.54.0': 689 + optional: true 690 + 691 + '@rollup/rollup-linux-arm64-gnu@4.54.0': 692 + optional: true 693 + 694 + '@rollup/rollup-linux-arm64-musl@4.54.0': 695 + optional: true 696 + 697 + '@rollup/rollup-linux-loong64-gnu@4.54.0': 698 + optional: true 699 + 700 + '@rollup/rollup-linux-ppc64-gnu@4.54.0': 701 + optional: true 702 + 703 + '@rollup/rollup-linux-riscv64-gnu@4.54.0': 704 + optional: true 705 + 706 + '@rollup/rollup-linux-riscv64-musl@4.54.0': 707 + optional: true 708 + 709 + '@rollup/rollup-linux-s390x-gnu@4.54.0': 710 + optional: true 711 + 712 + '@rollup/rollup-linux-x64-gnu@4.54.0': 713 + optional: true 714 + 715 + '@rollup/rollup-linux-x64-musl@4.54.0': 716 + optional: true 717 + 718 + '@rollup/rollup-openharmony-arm64@4.54.0': 719 + optional: true 720 + 721 + '@rollup/rollup-win32-arm64-msvc@4.54.0': 722 + optional: true 723 + 724 + '@rollup/rollup-win32-ia32-msvc@4.54.0': 725 + optional: true 726 + 727 + '@rollup/rollup-win32-x64-gnu@4.54.0': 728 + optional: true 729 + 730 + '@rollup/rollup-win32-x64-msvc@4.54.0': 731 + optional: true 732 + 733 + '@types/estree@1.0.8': {} 734 + 735 + core-js@3.47.0: {} 736 + 737 + esbuild@0.27.2: 738 + optionalDependencies: 739 + '@esbuild/aix-ppc64': 0.27.2 740 + '@esbuild/android-arm': 0.27.2 741 + '@esbuild/android-arm64': 0.27.2 742 + '@esbuild/android-x64': 0.27.2 743 + '@esbuild/darwin-arm64': 0.27.2 744 + '@esbuild/darwin-x64': 0.27.2 745 + '@esbuild/freebsd-arm64': 0.27.2 746 + '@esbuild/freebsd-x64': 0.27.2 747 + '@esbuild/linux-arm': 0.27.2 748 + '@esbuild/linux-arm64': 0.27.2 749 + '@esbuild/linux-ia32': 0.27.2 750 + '@esbuild/linux-loong64': 0.27.2 751 + '@esbuild/linux-mips64el': 0.27.2 752 + '@esbuild/linux-ppc64': 0.27.2 753 + '@esbuild/linux-riscv64': 0.27.2 754 + '@esbuild/linux-s390x': 0.27.2 755 + '@esbuild/linux-x64': 0.27.2 756 + '@esbuild/netbsd-arm64': 0.27.2 757 + '@esbuild/netbsd-x64': 0.27.2 758 + '@esbuild/openbsd-arm64': 0.27.2 759 + '@esbuild/openbsd-x64': 0.27.2 760 + '@esbuild/openharmony-arm64': 0.27.2 761 + '@esbuild/sunos-x64': 0.27.2 762 + '@esbuild/win32-arm64': 0.27.2 763 + '@esbuild/win32-ia32': 0.27.2 764 + '@esbuild/win32-x64': 0.27.2 765 + 766 + fdir@6.5.0(picomatch@4.0.3): 767 + optionalDependencies: 768 + picomatch: 4.0.3 769 + 770 + fsevents@2.3.3: 771 + optional: true 772 + 773 + iso-datestring-validator@2.2.2: {} 774 + 775 + jose@5.10.0: {} 776 + 777 + lru-cache@10.4.3: {} 778 + 779 + multiformats@9.9.0: {} 780 + 781 + nanoid@3.3.11: {} 782 + 783 + picocolors@1.1.1: {} 784 + 785 + picomatch@4.0.3: {} 786 + 787 + postcss@8.5.6: 788 + dependencies: 789 + nanoid: 3.3.11 790 + picocolors: 1.1.1 791 + source-map-js: 1.2.1 792 + 793 + rollup@4.54.0: 794 + dependencies: 795 + '@types/estree': 1.0.8 796 + optionalDependencies: 797 + '@rollup/rollup-android-arm-eabi': 4.54.0 798 + '@rollup/rollup-android-arm64': 4.54.0 799 + '@rollup/rollup-darwin-arm64': 4.54.0 800 + '@rollup/rollup-darwin-x64': 4.54.0 801 + '@rollup/rollup-freebsd-arm64': 4.54.0 802 + '@rollup/rollup-freebsd-x64': 4.54.0 803 + '@rollup/rollup-linux-arm-gnueabihf': 4.54.0 804 + '@rollup/rollup-linux-arm-musleabihf': 4.54.0 805 + '@rollup/rollup-linux-arm64-gnu': 4.54.0 806 + '@rollup/rollup-linux-arm64-musl': 4.54.0 807 + '@rollup/rollup-linux-loong64-gnu': 4.54.0 808 + '@rollup/rollup-linux-ppc64-gnu': 4.54.0 809 + '@rollup/rollup-linux-riscv64-gnu': 4.54.0 810 + '@rollup/rollup-linux-riscv64-musl': 4.54.0 811 + '@rollup/rollup-linux-s390x-gnu': 4.54.0 812 + '@rollup/rollup-linux-x64-gnu': 4.54.0 813 + '@rollup/rollup-linux-x64-musl': 4.54.0 814 + '@rollup/rollup-openharmony-arm64': 4.54.0 815 + '@rollup/rollup-win32-arm64-msvc': 4.54.0 816 + '@rollup/rollup-win32-ia32-msvc': 4.54.0 817 + '@rollup/rollup-win32-x64-gnu': 4.54.0 818 + '@rollup/rollup-win32-x64-msvc': 4.54.0 819 + fsevents: 2.3.3 820 + 821 + source-map-js@1.2.1: {} 822 + 823 + tinyglobby@0.2.15: 824 + dependencies: 825 + fdir: 6.5.0(picomatch@4.0.3) 826 + picomatch: 4.0.3 827 + 828 + tslib@2.8.1: {} 829 + 830 + uint8arrays@3.0.0: 831 + dependencies: 832 + multiformats: 9.9.0 833 + 834 + unicode-segmenter@0.14.5: {} 835 + 836 + vite@7.3.0: 837 + dependencies: 838 + esbuild: 0.27.2 839 + fdir: 6.5.0(picomatch@4.0.3) 840 + picomatch: 4.0.3 841 + postcss: 8.5.6 842 + rollup: 4.54.0 843 + tinyglobby: 0.2.15 844 + optionalDependencies: 845 + fsevents: 2.3.3 846 + 847 + zod@3.25.76: {}
+18
public/oauth-client-metadata.json
···
··· 1 + { 2 + "redirect_uris": [ 3 + "https://dev.modelo.social/oauth/callback" 4 + ], 5 + "response_types": [ 6 + "code" 7 + ], 8 + "grant_types": [ 9 + "authorization_code", 10 + "refresh_token" 11 + ], 12 + "scope": "atproto transition:generic", 13 + "token_endpoint_auth_method": "none", 14 + "application_type": "web", 15 + "subject_type": "public", 16 + "client_id": "https://dev.modelo.social/oauth-client-metadata.json", 17 + "dpop_bound_access_tokens": true 18 + }
+1
public/vite.svg
···
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
+9
src/counter.js
···
··· 1 + export function setupCounter(element) { 2 + let counter = 0 3 + const setCounter = (count) => { 4 + counter = count 5 + element.innerHTML = `count is ${counter}` 6 + } 7 + element.addEventListener('click', () => setCounter(counter + 1)) 8 + setCounter(0) 9 + }
+1
src/javascript.svg
···
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path fill="#F7DF1E" d="M0 0h256v256H0V0Z"></path><path d="m67.312 213.932l19.59-11.856c3.78 6.701 7.218 12.371 15.465 12.371c7.905 0 12.89-3.092 12.89-15.12v-81.798h24.057v82.138c0 24.917-14.606 36.259-35.916 36.259c-19.245 0-30.416-9.967-36.087-21.996m85.07-2.576l19.588-11.341c5.157 8.421 11.859 14.607 23.715 14.607c9.969 0 16.325-4.984 16.325-11.858c0-8.248-6.53-11.17-17.528-15.98l-6.013-2.58c-17.357-7.387-28.87-16.667-28.87-36.257c0-18.044 13.747-31.792 35.228-31.792c15.294 0 26.292 5.328 34.196 19.247l-18.732 12.03c-4.125-7.389-8.591-10.31-15.465-10.31c-7.046 0-11.514 4.468-11.514 10.31c0 7.217 4.468 10.14 14.778 14.608l6.014 2.577c20.45 8.765 31.963 17.7 31.963 37.804c0 21.654-17.012 33.51-39.867 33.51c-22.339 0-36.774-10.654-43.819-24.574"></path></svg>
+41
src/main.js
···
··· 1 + import './style.css' 2 + import javascriptLogo from './javascript.svg' 3 + import viteLogo from '/vite.svg' 4 + import { setupCounter } from './counter.js' 5 + import clientMetadata from '/oauth-client-metadata.json?url&raw' 6 + 7 + 8 + import {atprotoLoopbackClientMetadata, BrowserOAuthClient} from '@atproto/oauth-client-browser' 9 + 10 + const clientId = `http://localhost?redirect_uri=${encodeURIComponent('http://127.0.0.1:5173/callback')}&scope=${encodeURIComponent('atproto transition:generic')}` 11 + console.log(clientMetadata); 12 + console.log(clientId) 13 + const client = new BrowserOAuthClient({ 14 + handleResolver: 'https://bsky.social', 15 + //HACK so it shares the same client metadata as what is served 16 + clientMetadata: JSON.parse(clientMetadata) 17 + }) 18 + await client.init() 19 + //Auto redirects after if successful 20 + await client.signIn('baileytownsend.dev') 21 + 22 + 23 + document.querySelector('#app').innerHTML = ` 24 + <div> 25 + <a href="https://vite.dev" target="_blank"> 26 + <img src="${viteLogo}" class="logo" alt="Vite logo" /> 27 + </a> 28 + <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" target="_blank"> 29 + <img src="${javascriptLogo}" class="logo vanilla" alt="JavaScript logo" /> 30 + </a> 31 + <h1>Hello Vite!</h1> 32 + <div class="card"> 33 + <button id="counter" type="button"></button> 34 + </div> 35 + <p class="read-the-docs"> 36 + Click on the Vite logo to learn more 37 + </p> 38 + </div> 39 + ` 40 + 41 + setupCounter(document.querySelector('#counter'))
+96
src/style.css
···
··· 1 + :root { 2 + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; 3 + line-height: 1.5; 4 + font-weight: 400; 5 + 6 + color-scheme: light dark; 7 + color: rgba(255, 255, 255, 0.87); 8 + background-color: #242424; 9 + 10 + font-synthesis: none; 11 + text-rendering: optimizeLegibility; 12 + -webkit-font-smoothing: antialiased; 13 + -moz-osx-font-smoothing: grayscale; 14 + } 15 + 16 + a { 17 + font-weight: 500; 18 + color: #646cff; 19 + text-decoration: inherit; 20 + } 21 + a:hover { 22 + color: #535bf2; 23 + } 24 + 25 + body { 26 + margin: 0; 27 + display: flex; 28 + place-items: center; 29 + min-width: 320px; 30 + min-height: 100vh; 31 + } 32 + 33 + h1 { 34 + font-size: 3.2em; 35 + line-height: 1.1; 36 + } 37 + 38 + #app { 39 + max-width: 1280px; 40 + margin: 0 auto; 41 + padding: 2rem; 42 + text-align: center; 43 + } 44 + 45 + .logo { 46 + height: 6em; 47 + padding: 1.5em; 48 + will-change: filter; 49 + transition: filter 300ms; 50 + } 51 + .logo:hover { 52 + filter: drop-shadow(0 0 2em #646cffaa); 53 + } 54 + .logo.vanilla:hover { 55 + filter: drop-shadow(0 0 2em #f7df1eaa); 56 + } 57 + 58 + .card { 59 + padding: 2em; 60 + } 61 + 62 + .read-the-docs { 63 + color: #888; 64 + } 65 + 66 + button { 67 + border-radius: 8px; 68 + border: 1px solid transparent; 69 + padding: 0.6em 1.2em; 70 + font-size: 1em; 71 + font-weight: 500; 72 + font-family: inherit; 73 + background-color: #1a1a1a; 74 + cursor: pointer; 75 + transition: border-color 0.25s; 76 + } 77 + button:hover { 78 + border-color: #646cff; 79 + } 80 + button:focus, 81 + button:focus-visible { 82 + outline: 4px auto -webkit-focus-ring-color; 83 + } 84 + 85 + @media (prefers-color-scheme: light) { 86 + :root { 87 + color: #213547; 88 + background-color: #ffffff; 89 + } 90 + a:hover { 91 + color: #747bff; 92 + } 93 + button { 94 + background-color: #f9f9f9; 95 + } 96 + }
+8
vite.config.js
···
··· 1 + export default { 2 + // config options 3 + server: { 4 + host: '0.0.0.0', 5 + assetsInclude: ['public/oauth-client-metadata.json'], 6 + allowedHosts: ['baileys-mac-studio.tailda2966.ts.net', 'dev.modelo.social'] 7 + } 8 + }