An ATProto PDS running on Rivet?
0
fork

Configure Feed

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

feat: make authorization server metadata work.

Zicklag 4a98b9cb 28aa422b

+1172 -8
+5 -1
package.json
··· 14 14 "packageManager": "pnpm@10.30.3", 15 15 "devDependencies": { 16 16 "@types/node": "^25.3.5", 17 - "tsx": "^4.21.0" 17 + "tsx": "^4.21.0", 18 + "typedoc": "^0.28.17" 18 19 }, 19 20 "dependencies": { 21 + "@atproto/oauth-provider": "^0.15.12", 22 + "@atproto/oauth-provider-api": "^0.3.7", 20 23 "@hono/node-server": "^1.19.11", 21 24 "@hono/node-ws": "^1.3.0", 22 25 "@whatwg-node/server": "^0.10.18", 26 + "drizzle-orm": "^0.45.1", 23 27 "hono": "^4.12.5", 24 28 "rivetkit": "^2.1.6" 25 29 }
+945 -2
pnpm-lock.yaml
··· 8 8 9 9 .: 10 10 dependencies: 11 + '@atproto/oauth-provider': 12 + specifier: ^0.15.12 13 + version: 0.15.12 14 + '@atproto/oauth-provider-api': 15 + specifier: ^0.3.7 16 + version: 0.3.7 11 17 '@hono/node-server': 12 18 specifier: ^1.19.11 13 19 version: 1.19.11(hono@4.12.5) ··· 17 23 '@whatwg-node/server': 18 24 specifier: ^0.10.18 19 25 version: 0.10.18 26 + drizzle-orm: 27 + specifier: ^0.45.1 28 + version: 0.45.1 20 29 hono: 21 30 specifier: ^4.12.5 22 31 version: 4.12.5 23 32 rivetkit: 24 33 specifier: ^2.1.6 25 - version: 2.1.6(@hono/node-server@1.19.11(hono@4.12.5))(@hono/node-ws@1.3.0(@hono/node-server@1.19.11(hono@4.12.5))(hono@4.12.5))(@standard-schema/spec@1.0.0)(ws@8.19.0) 34 + version: 2.1.6(@hono/node-server@1.19.11(hono@4.12.5))(@hono/node-ws@1.3.0(@hono/node-server@1.19.11(hono@4.12.5))(hono@4.12.5))(@standard-schema/spec@1.0.0)(drizzle-orm@0.45.1)(ws@8.19.0) 26 35 devDependencies: 27 36 '@types/node': 28 37 specifier: ^25.3.5 ··· 30 39 tsx: 31 40 specifier: ^4.21.0 32 41 version: 4.21.0 42 + typedoc: 43 + specifier: ^0.28.17 44 + version: 0.28.17(typescript@5.9.3) 33 45 34 46 packages: 35 47 ··· 37 49 resolution: {integrity: sha512-lwfMTN7kDbFDwMniYZUebiGGHxVGBw9ZSI4IBYjm6Ey22Kd5z/fsQb2k+Okr8WMbCCC553vi/ZM9utl5/XcvuQ==} 38 50 peerDependencies: 39 51 zod: ^4.0.0 52 + 53 + '@atproto-labs/did-resolver@0.2.6': 54 + resolution: {integrity: sha512-2K1bC04nI2fmgNcvof+yA28IhGlpWn2JKYlPa7To9JTKI45FINCGkQSGiL2nyXlyzDJJ34fZ1aq6/IRFIOIiqg==} 55 + 56 + '@atproto-labs/fetch-node@0.2.0': 57 + resolution: {integrity: sha512-Krq09nH/aeoiU2s9xdHA0FjTEFWG9B5FFenipv1iRixCcPc7V3DhTNDawxG9gI8Ny0k4dBVS9WTRN/IDzBx86Q==} 58 + engines: {node: '>=18.7.0'} 59 + 60 + '@atproto-labs/fetch@0.2.3': 61 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 62 + 63 + '@atproto-labs/pipe@0.1.1': 64 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 65 + 66 + '@atproto-labs/simple-store-memory@0.1.4': 67 + resolution: {integrity: sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw==} 68 + 69 + '@atproto-labs/simple-store@0.3.0': 70 + resolution: {integrity: sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ==} 71 + 72 + '@atproto/common-web@0.4.18': 73 + resolution: {integrity: sha512-ilImzP+9N/mtse440kN60pGrEzG7wi4xsV13nGeLrS+Zocybc/ISOpKlbZM13o+twPJ+Q7veGLw9CtGg0GAFoQ==} 74 + 75 + '@atproto/common@0.5.14': 76 + resolution: {integrity: sha512-FnhTppvJw8I1AuvEkL9JREFwmM6ciYfSlQ0Zo6neiJIhTf1wf5/ONeFSYKu1/dxC63JEratGIAfVjSBJJZi7sg==} 77 + engines: {node: '>=18.7.0'} 78 + 79 + '@atproto/crypto@0.4.5': 80 + resolution: {integrity: sha512-n40aKkMoCatP0u9Yvhrdk6fXyOHFDDbkdm4h4HCyWW+KlKl8iXfD5iV+ECq+w5BM+QH25aIpt3/j6EUNerhLxw==} 81 + engines: {node: '>=18.7.0'} 82 + 83 + '@atproto/did@0.3.0': 84 + resolution: {integrity: sha512-raUPzUGegtW/6OxwCmM8bhZvuIMzxG5t9oWsth6Tp91Kb5fTnHV2h/KKNF1C82doeA4BdXCErTyg7ISwLbQkzA==} 85 + 86 + '@atproto/jwk-jose@0.1.11': 87 + resolution: {integrity: sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q==} 88 + 89 + '@atproto/jwk@0.6.0': 90 + resolution: {integrity: sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw==} 91 + 92 + '@atproto/lex-cbor@0.0.14': 93 + resolution: {integrity: sha512-zeqxaKAifR8qlFKg4A6t1RCT8TcjeDnIXLtp3QnDu0QoxslxsmcsrqNrrgmka8w+bYW2+h/rT9MPWglkT7vHyw==} 94 + 95 + '@atproto/lex-client@0.0.15': 96 + resolution: {integrity: sha512-j/eZGCdkhABU8Z868Y/gn909hS77rOCdMqtOaQdflEaKUKiAo2/gqeTpoAjHBnL5Rzz255wj9qZMqZTR/Ygwxw==} 97 + 98 + '@atproto/lex-data@0.0.13': 99 + resolution: {integrity: sha512-7Z7RwZ1Y/JzBF/Tcn/I4UJ/vIGfh5zn1zjv0KX+flke2JtgFkSE8uh2hOtqgBQMNqE3zdJFM+dcSWln86hR3MQ==} 100 + 101 + '@atproto/lex-document@0.0.15': 102 + resolution: {integrity: sha512-QT2MbICG4cTFrrA19SIHpZJ33WRLdzjhDsEhSknQ4dE5CjqPf4BP9LaC4pOeW8NE5Kn92hgIm3JWNjoak8blXw==} 103 + 104 + '@atproto/lex-json@0.0.13': 105 + resolution: {integrity: sha512-hwLhkKaIHulGJpt0EfXAEWdrxqM2L1tV/tvilzhMp3QxPqYgXchFnrfVmLsyFDx6P6qkH1GsX/XC2V36U0UlPQ==} 106 + 107 + '@atproto/lex-resolver@0.0.17': 108 + resolution: {integrity: sha512-6nI5bYZUYh50ZI8r4erLRP9EbNcW226VShpVN3vHyOSgTje4VP1RTcvBhROBAPj4rL3vc+Oa8OiL6IQXkYrQBg==} 109 + 110 + '@atproto/lex-schema@0.0.14': 111 + resolution: {integrity: sha512-xUxFuXdgVVI1IBDXcQlanH7HuEo9Pk65DYifnhqFDzNRH9SZQxPvPO+rOxMG/bRHygPaI+A+UbXr+S7qpPYOLg==} 112 + 113 + '@atproto/lexicon@0.6.2': 114 + resolution: {integrity: sha512-p3Ly6hinVZW0ETuAXZMeUGwuMm3g8HvQMQ41yyEE6AL0hAkfeKFaZKos6BdBrr6CjkpbrDZqE8M+5+QOceysMw==} 115 + 116 + '@atproto/oauth-provider-api@0.3.7': 117 + resolution: {integrity: sha512-7yU9vuQFt/hy4NzlDtn+LuhIGvVKkhgWAkCmopnseMPBw6oGPT90uOsTxMkVGtHuKVvBSz7hOXoELXpnZq3gDQ==} 118 + 119 + '@atproto/oauth-provider-frontend@0.2.9': 120 + resolution: {integrity: sha512-m1NhqC7ydEpF5ELV13CxkgCawyMX8wbAXls/4af3Tsz3IOkdM6zPgQeYK7Zj+7Nywjml4mZTkJ8rZiT6O9+5sw==} 121 + engines: {node: '>=18.7.0'} 122 + 123 + '@atproto/oauth-provider-ui@0.4.3': 124 + resolution: {integrity: sha512-BLNZmtOwoHu2qk/Oi6dUR8TcXQaJre6wgW8YjkW5bKf+Vftn3PGzh8bKgr1fQZDYweZ6AF148imA2OzVSAaLHQ==} 125 + engines: {node: '>=18.7.0'} 126 + 127 + '@atproto/oauth-provider@0.15.12': 128 + resolution: {integrity: sha512-Ri4aVx2I4lOKxViB92jwPhAs/NctWEwV0tgYSHcaRpvqr2SVlC2LxTVjUq14ohdbVfv4VFRzj0vZypEX+mclHg==} 129 + engines: {node: '>=18.7.0'} 130 + 131 + '@atproto/oauth-scopes@0.3.2': 132 + resolution: {integrity: sha512-88awgvB9asSR86KjEXL31N9nFd1XG+QtbzEJFw5/wwEv41tS4S8c4Prqb/MAzVuFQ4OHOndYo1VDD99vGMpqTA==} 133 + 134 + '@atproto/oauth-types@0.6.2': 135 + resolution: {integrity: sha512-2cuboM4RQBCYR8NQC5uGRkW6KgCgKyq/B5/+tnMmWZYtZGVUQvsUWQHK/ZiMCnVXbcDNtc/RIEJQJDZ8FXMoxg==} 136 + 137 + '@atproto/oauth-types@0.6.3': 138 + resolution: {integrity: sha512-jdKuoPknJuh/WjI+mYk7agSbx9mNVMbS6Dr3k1z2YMY2oRiCQjxYBuo4MLKATbxj05nMQaZRWlHRUazoAu5Cng==} 139 + 140 + '@atproto/repo@0.8.12': 141 + resolution: {integrity: sha512-QpVTVulgfz5PUiCTELlDBiRvnsnwrFWi+6CfY88VwXzrRHd9NE8GItK7sfxQ6U65vD/idH8ddCgFrlrsn1REPQ==} 142 + engines: {node: '>=18.7.0'} 143 + 144 + '@atproto/syntax@0.5.0': 145 + resolution: {integrity: sha512-UA2DSpGdOQzUQ4gi5SH+NEJz/YR3a3Fg3y2oh+xETDSiTRmA4VhHRCojhXAVsBxUT6EnItw190C/KN+DWW90kw==} 40 146 41 147 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 42 148 resolution: {integrity: sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==} ··· 231 337 '@fastify/busboy@3.2.0': 232 338 resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==} 233 339 340 + '@gerrit0/mini-shiki@3.23.0': 341 + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} 342 + 343 + '@hapi/accept@6.0.3': 344 + resolution: {integrity: sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==} 345 + 346 + '@hapi/address@5.1.1': 347 + resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==} 348 + engines: {node: '>=14.0.0'} 349 + 350 + '@hapi/boom@10.0.1': 351 + resolution: {integrity: sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==} 352 + 353 + '@hapi/bourne@3.0.0': 354 + resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} 355 + 356 + '@hapi/content@6.0.0': 357 + resolution: {integrity: sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA==} 358 + 359 + '@hapi/hoek@11.0.7': 360 + resolution: {integrity: sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==} 361 + 234 362 '@hono/node-server@1.19.11': 235 363 resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} 236 364 engines: {node: '>=18.14.1'} ··· 263 391 hono: '>=3.9.0' 264 392 zod: ^3.25.0 || ^4.0.0 265 393 394 + '@ioredis/commands@1.5.1': 395 + resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==} 396 + 397 + '@ipld/dag-cbor@7.0.3': 398 + resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 399 + 266 400 '@isaacs/fs-minipass@4.0.1': 267 401 resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} 268 402 engines: {node: '>=18.0.0'} 403 + 404 + '@noble/curves@1.9.7': 405 + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} 406 + engines: {node: ^14.21.3 || >=16} 407 + 408 + '@noble/hashes@1.8.0': 409 + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} 410 + engines: {node: ^14.21.3 || >=16} 269 411 270 412 '@pinojs/redact@0.4.0': 271 413 resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} ··· 305 447 resolution: {integrity: sha512-eLVFBbhOlBQKzO5lu032tOo0OEAFFp7uNcGwvB1mBFmYsm7aKBgnJl214IV39a6fRtCL2meVxiMU1GKb006zYw==} 306 448 engines: {node: '>=18.0.0'} 307 449 450 + '@shikijs/engine-oniguruma@3.23.0': 451 + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} 452 + 453 + '@shikijs/langs@3.23.0': 454 + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} 455 + 456 + '@shikijs/themes@3.23.0': 457 + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} 458 + 459 + '@shikijs/types@3.23.0': 460 + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} 461 + 462 + '@shikijs/vscode-textmate@10.0.2': 463 + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} 464 + 308 465 '@standard-schema/spec@1.0.0': 309 466 resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} 310 467 468 + '@types/hast@3.0.4': 469 + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 470 + 311 471 '@types/node@25.3.5': 312 472 resolution: {integrity: sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==} 313 473 314 474 '@types/retry@0.12.2': 315 475 resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} 316 476 477 + '@types/unist@3.0.3': 478 + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 479 + 317 480 '@whatwg-node/disposablestack@0.0.6': 318 481 resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==} 319 482 engines: {node: '>=18.0.0'} ··· 334 497 resolution: {integrity: sha512-kMwLlxUbduttIgaPdSkmEarFpP+mSY8FEm+QWMBRJwxOHWkri+cxd8KZHO9EMrB9vgUuz+5WEaCawaL5wGVoXg==} 335 498 engines: {node: '>=18.0.0'} 336 499 500 + abort-controller@3.0.0: 501 + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 502 + engines: {node: '>=6.5'} 503 + 504 + argparse@2.0.1: 505 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 506 + 337 507 atomic-sleep@1.0.0: 338 508 resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 339 509 engines: {node: '>=8.0.0'} 340 510 511 + balanced-match@1.0.2: 512 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 513 + 514 + base64-js@1.5.1: 515 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 516 + 517 + brace-expansion@2.0.2: 518 + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 519 + 520 + buffer@6.0.3: 521 + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 522 + 341 523 cbor-extract@2.2.0: 342 524 resolution: {integrity: sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==} 343 525 hasBin: true ··· 345 527 cbor-x@1.6.0: 346 528 resolution: {integrity: sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==} 347 529 530 + cborg@1.10.2: 531 + resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 532 + hasBin: true 533 + 348 534 chownr@3.0.0: 349 535 resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} 350 536 engines: {node: '>=18'} 351 537 538 + cluster-key-slot@1.1.2: 539 + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} 540 + engines: {node: '>=0.10.0'} 541 + 542 + cookie@0.7.2: 543 + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 544 + engines: {node: '>= 0.6'} 545 + 546 + core-js@3.48.0: 547 + resolution: {integrity: sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==} 548 + 549 + debug@4.4.3: 550 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 551 + engines: {node: '>=6.0'} 552 + peerDependencies: 553 + supports-color: '*' 554 + peerDependenciesMeta: 555 + supports-color: 556 + optional: true 557 + 558 + denque@2.1.0: 559 + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} 560 + engines: {node: '>=0.10'} 561 + 562 + depd@2.0.0: 563 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 564 + engines: {node: '>= 0.8'} 565 + 352 566 detect-libc@2.1.2: 353 567 resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 354 568 engines: {node: '>=8'} 355 569 570 + disposable-email-domains-js@1.22.0: 571 + resolution: {integrity: sha512-5miXovN3Qujy07FczD1Z7To6UfHv6U6AhGy2DNXPaD7+Ga1kzR0l5IRNnRuIOVcPgBZ8n855kubx1/ZECDXI/Q==} 572 + 573 + drizzle-orm@0.45.1: 574 + resolution: {integrity: sha512-Te0FOdKIistGNPMq2jscdqngBRfBpC8uMFVwqjf6gtTVJHIQ/dosgV/CLBU2N4ZJBsXL5savCba9b0YJskKdcA==} 575 + peerDependencies: 576 + '@aws-sdk/client-rds-data': '>=3' 577 + '@cloudflare/workers-types': '>=4' 578 + '@electric-sql/pglite': '>=0.2.0' 579 + '@libsql/client': '>=0.10.0' 580 + '@libsql/client-wasm': '>=0.10.0' 581 + '@neondatabase/serverless': '>=0.10.0' 582 + '@op-engineering/op-sqlite': '>=2' 583 + '@opentelemetry/api': ^1.4.1 584 + '@planetscale/database': '>=1.13' 585 + '@prisma/client': '*' 586 + '@tidbcloud/serverless': '*' 587 + '@types/better-sqlite3': '*' 588 + '@types/pg': '*' 589 + '@types/sql.js': '*' 590 + '@upstash/redis': '>=1.34.7' 591 + '@vercel/postgres': '>=0.8.0' 592 + '@xata.io/client': '*' 593 + better-sqlite3: '>=7' 594 + bun-types: '*' 595 + expo-sqlite: '>=14.0.0' 596 + gel: '>=2' 597 + knex: '*' 598 + kysely: '*' 599 + mysql2: '>=2' 600 + pg: '>=8' 601 + postgres: '>=3' 602 + prisma: '*' 603 + sql.js: '>=1' 604 + sqlite3: '>=5' 605 + peerDependenciesMeta: 606 + '@aws-sdk/client-rds-data': 607 + optional: true 608 + '@cloudflare/workers-types': 609 + optional: true 610 + '@electric-sql/pglite': 611 + optional: true 612 + '@libsql/client': 613 + optional: true 614 + '@libsql/client-wasm': 615 + optional: true 616 + '@neondatabase/serverless': 617 + optional: true 618 + '@op-engineering/op-sqlite': 619 + optional: true 620 + '@opentelemetry/api': 621 + optional: true 622 + '@planetscale/database': 623 + optional: true 624 + '@prisma/client': 625 + optional: true 626 + '@tidbcloud/serverless': 627 + optional: true 628 + '@types/better-sqlite3': 629 + optional: true 630 + '@types/pg': 631 + optional: true 632 + '@types/sql.js': 633 + optional: true 634 + '@upstash/redis': 635 + optional: true 636 + '@vercel/postgres': 637 + optional: true 638 + '@xata.io/client': 639 + optional: true 640 + better-sqlite3: 641 + optional: true 642 + bun-types: 643 + optional: true 644 + expo-sqlite: 645 + optional: true 646 + gel: 647 + optional: true 648 + knex: 649 + optional: true 650 + kysely: 651 + optional: true 652 + mysql2: 653 + optional: true 654 + pg: 655 + optional: true 656 + postgres: 657 + optional: true 658 + prisma: 659 + optional: true 660 + sql.js: 661 + optional: true 662 + sqlite3: 663 + optional: true 664 + 665 + entities@4.5.0: 666 + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 667 + engines: {node: '>=0.12'} 668 + 356 669 esbuild@0.27.3: 357 670 resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} 358 671 engines: {node: '>=18'} 359 672 hasBin: true 673 + 674 + event-target-shim@5.0.1: 675 + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 676 + engines: {node: '>=6'} 677 + 678 + events@3.3.0: 679 + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 680 + engines: {node: '>=0.8.x'} 681 + 682 + fast-redact@3.5.0: 683 + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} 684 + engines: {node: '>=6'} 360 685 361 686 fdb-tuple@1.0.0: 362 687 resolution: {integrity: sha512-8jSvKPCYCgTpi9Pt87qlfTk6griyMx4Gk3Xv31Dp72Qp8b6XgIyFsMm8KzPmFJ9iJ8K4pGvRxvOS8D0XGnrkjw==} 363 688 689 + forwarded@0.2.0: 690 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 691 + engines: {node: '>= 0.6'} 692 + 364 693 fsevents@2.3.3: 365 694 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 366 695 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} ··· 377 706 resolution: {integrity: sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==} 378 707 engines: {node: '>=16.9.0'} 379 708 709 + http-errors@2.0.1: 710 + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} 711 + engines: {node: '>= 0.8'} 712 + 713 + ieee754@1.2.1: 714 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 715 + 716 + inherits@2.0.4: 717 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 718 + 380 719 invariant@2.2.4: 381 720 resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 382 721 722 + ioredis@5.10.0: 723 + resolution: {integrity: sha512-HVBe9OFuqs+Z6n64q09PQvP1/R4Bm+30PAyyD4wIEqssh3v9L21QjCVk4kRLucMBcDokJTcLjsGeVRlq/nH6DA==} 724 + engines: {node: '>=12.22.0'} 725 + 726 + ipaddr.js@2.3.0: 727 + resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} 728 + engines: {node: '>= 10'} 729 + 383 730 is-network-error@1.3.1: 384 731 resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==} 385 732 engines: {node: '>=16'} 386 733 734 + iso-datestring-validator@2.2.2: 735 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 736 + 737 + jose@5.10.0: 738 + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} 739 + 387 740 js-tokens@4.0.0: 388 741 resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 389 742 743 + linkify-it@5.0.0: 744 + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} 745 + 746 + lodash.defaults@4.2.0: 747 + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} 748 + 749 + lodash.isarguments@3.1.0: 750 + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} 751 + 390 752 loose-envify@1.4.0: 391 753 resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 392 754 hasBin: true 393 755 756 + lru-cache@10.4.3: 757 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 758 + 759 + lunr@2.3.9: 760 + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} 761 + 762 + markdown-it@14.1.1: 763 + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} 764 + hasBin: true 765 + 766 + mdurl@2.0.0: 767 + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} 768 + 769 + minimatch@9.0.9: 770 + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} 771 + engines: {node: '>=16 || 14 >=14.17'} 772 + 394 773 minipass@7.1.3: 395 774 resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} 396 775 engines: {node: '>=16 || 14 >=14.17'} ··· 399 778 resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} 400 779 engines: {node: '>= 18'} 401 780 781 + ms@2.1.3: 782 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 783 + 784 + multiformats@9.9.0: 785 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 786 + 402 787 nanoevents@9.1.0: 403 788 resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==} 404 789 engines: {node: ^18.0.0 || >=20.0.0} ··· 418 803 resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} 419 804 engines: {node: '>=16.17'} 420 805 806 + pino-abstract-transport@1.2.0: 807 + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} 808 + 421 809 pino-abstract-transport@2.0.0: 422 810 resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} 423 811 812 + pino-std-serializers@6.2.2: 813 + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} 814 + 424 815 pino-std-serializers@7.1.0: 425 816 resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} 426 817 818 + pino@8.21.0: 819 + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 820 + hasBin: true 821 + 427 822 pino@9.14.0: 428 823 resolution: {integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==} 429 824 hasBin: true 430 825 826 + process-warning@3.0.0: 827 + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} 828 + 431 829 process-warning@5.0.0: 432 830 resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} 433 831 832 + process@0.11.10: 833 + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 834 + engines: {node: '>= 0.6.0'} 835 + 836 + punycode.js@2.3.1: 837 + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} 838 + engines: {node: '>=6'} 839 + 434 840 quick-format-unescaped@4.0.4: 435 841 resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 436 842 843 + readable-stream@4.7.0: 844 + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} 845 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 846 + 437 847 real-require@0.2.0: 438 848 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 439 849 engines: {node: '>= 12.13.0'} 440 850 851 + redis-errors@1.2.0: 852 + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} 853 + engines: {node: '>=4'} 854 + 855 + redis-parser@3.0.0: 856 + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} 857 + engines: {node: '>=4'} 858 + 441 859 resolve-pkg-maps@1.0.0: 442 860 resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 443 861 ··· 469 887 ws: 470 888 optional: true 471 889 890 + safe-buffer@5.2.1: 891 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 892 + 472 893 safe-stable-stringify@2.5.0: 473 894 resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 474 895 engines: {node: '>=10'} 475 896 897 + setprototypeof@1.2.0: 898 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 899 + 900 + sonic-boom@3.8.1: 901 + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} 902 + 476 903 sonic-boom@4.2.1: 477 904 resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} 478 905 ··· 480 907 resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 481 908 engines: {node: '>= 10.x'} 482 909 910 + standard-as-callback@2.1.0: 911 + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} 912 + 913 + statuses@2.0.2: 914 + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} 915 + engines: {node: '>= 0.8'} 916 + 917 + string_decoder@1.3.0: 918 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 919 + 483 920 tar@7.5.10: 484 921 resolution: {integrity: sha512-8mOPs1//5q/rlkNSPcCegA6hiHJYDmSLEI8aMH/CdSQJNWztHC9WHNam5zdQlfpTwB9Xp7IBEsHfV5LKMJGVAw==} 485 922 engines: {node: '>=18'} 923 + 924 + thread-stream@2.7.0: 925 + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 486 926 487 927 thread-stream@3.1.0: 488 928 resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} 489 929 930 + toidentifier@1.0.1: 931 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 932 + engines: {node: '>=0.6'} 933 + 490 934 tslib@2.8.1: 491 935 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 492 936 ··· 495 939 engines: {node: '>=18.0.0'} 496 940 hasBin: true 497 941 942 + typedoc@0.28.17: 943 + resolution: {integrity: sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==} 944 + engines: {node: '>= 18', pnpm: '>= 10'} 945 + hasBin: true 946 + peerDependencies: 947 + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x 948 + 949 + typescript@5.9.3: 950 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 951 + engines: {node: '>=14.17'} 952 + hasBin: true 953 + 954 + uc.micro@2.1.0: 955 + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} 956 + 957 + uint8arrays@3.0.0: 958 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 959 + 498 960 undici-types@7.18.2: 499 961 resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} 500 962 963 + undici@6.23.0: 964 + resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} 965 + engines: {node: '>=18.17'} 966 + 967 + unicode-segmenter@0.14.5: 968 + resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 969 + 501 970 urlpattern-polyfill@10.1.0: 502 971 resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} 503 972 504 973 uuid@12.0.0: 505 974 resolution: {integrity: sha512-USe1zesMYh4fjCA8ZH5+X5WIVD0J4V1Jksm1bFTVBX2F/cwSXt0RO5w/3UXbdLKmZX65MiWV+hwhSS8p6oBTGA==} 506 975 hasBin: true 976 + 977 + varint@6.0.0: 978 + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} 507 979 508 980 vbare@0.0.4: 509 981 resolution: {integrity: sha512-QsxSVw76NqYUWYPVcQmOnQPX8buIVjgn+yqldTHlWISulBTB9TJ9rnzZceDu+GZmycOtzsmuPbPN1YNxvK12fg==} ··· 530 1002 engines: {node: '>= 14.6'} 531 1003 hasBin: true 532 1004 1005 + zod@3.25.76: 1006 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 1007 + 533 1008 zod@4.3.6: 534 1009 resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} 535 1010 ··· 540 1015 openapi3-ts: 4.5.0 541 1016 zod: 4.3.6 542 1017 1018 + '@atproto-labs/did-resolver@0.2.6': 1019 + dependencies: 1020 + '@atproto-labs/fetch': 0.2.3 1021 + '@atproto-labs/pipe': 0.1.1 1022 + '@atproto-labs/simple-store': 0.3.0 1023 + '@atproto-labs/simple-store-memory': 0.1.4 1024 + '@atproto/did': 0.3.0 1025 + zod: 3.25.76 1026 + 1027 + '@atproto-labs/fetch-node@0.2.0': 1028 + dependencies: 1029 + '@atproto-labs/fetch': 0.2.3 1030 + '@atproto-labs/pipe': 0.1.1 1031 + ipaddr.js: 2.3.0 1032 + undici: 6.23.0 1033 + 1034 + '@atproto-labs/fetch@0.2.3': 1035 + dependencies: 1036 + '@atproto-labs/pipe': 0.1.1 1037 + 1038 + '@atproto-labs/pipe@0.1.1': {} 1039 + 1040 + '@atproto-labs/simple-store-memory@0.1.4': 1041 + dependencies: 1042 + '@atproto-labs/simple-store': 0.3.0 1043 + lru-cache: 10.4.3 1044 + 1045 + '@atproto-labs/simple-store@0.3.0': {} 1046 + 1047 + '@atproto/common-web@0.4.18': 1048 + dependencies: 1049 + '@atproto/lex-data': 0.0.13 1050 + '@atproto/lex-json': 0.0.13 1051 + '@atproto/syntax': 0.5.0 1052 + zod: 3.25.76 1053 + 1054 + '@atproto/common@0.5.14': 1055 + dependencies: 1056 + '@atproto/common-web': 0.4.18 1057 + '@atproto/lex-cbor': 0.0.14 1058 + '@atproto/lex-data': 0.0.13 1059 + multiformats: 9.9.0 1060 + pino: 8.21.0 1061 + 1062 + '@atproto/crypto@0.4.5': 1063 + dependencies: 1064 + '@noble/curves': 1.9.7 1065 + '@noble/hashes': 1.8.0 1066 + uint8arrays: 3.0.0 1067 + 1068 + '@atproto/did@0.3.0': 1069 + dependencies: 1070 + zod: 3.25.76 1071 + 1072 + '@atproto/jwk-jose@0.1.11': 1073 + dependencies: 1074 + '@atproto/jwk': 0.6.0 1075 + jose: 5.10.0 1076 + 1077 + '@atproto/jwk@0.6.0': 1078 + dependencies: 1079 + multiformats: 9.9.0 1080 + zod: 3.25.76 1081 + 1082 + '@atproto/lex-cbor@0.0.14': 1083 + dependencies: 1084 + '@atproto/lex-data': 0.0.13 1085 + tslib: 2.8.1 1086 + 1087 + '@atproto/lex-client@0.0.15': 1088 + dependencies: 1089 + '@atproto/lex-data': 0.0.13 1090 + '@atproto/lex-json': 0.0.13 1091 + '@atproto/lex-schema': 0.0.14 1092 + tslib: 2.8.1 1093 + 1094 + '@atproto/lex-data@0.0.13': 1095 + dependencies: 1096 + multiformats: 9.9.0 1097 + tslib: 2.8.1 1098 + uint8arrays: 3.0.0 1099 + unicode-segmenter: 0.14.5 1100 + 1101 + '@atproto/lex-document@0.0.15': 1102 + dependencies: 1103 + '@atproto/lex-schema': 0.0.14 1104 + core-js: 3.48.0 1105 + tslib: 2.8.1 1106 + 1107 + '@atproto/lex-json@0.0.13': 1108 + dependencies: 1109 + '@atproto/lex-data': 0.0.13 1110 + tslib: 2.8.1 1111 + 1112 + '@atproto/lex-resolver@0.0.17': 1113 + dependencies: 1114 + '@atproto-labs/did-resolver': 0.2.6 1115 + '@atproto/crypto': 0.4.5 1116 + '@atproto/lex-client': 0.0.15 1117 + '@atproto/lex-data': 0.0.13 1118 + '@atproto/lex-document': 0.0.15 1119 + '@atproto/lex-schema': 0.0.14 1120 + '@atproto/repo': 0.8.12 1121 + '@atproto/syntax': 0.5.0 1122 + tslib: 2.8.1 1123 + 1124 + '@atproto/lex-schema@0.0.14': 1125 + dependencies: 1126 + '@atproto/lex-data': 0.0.13 1127 + '@atproto/syntax': 0.5.0 1128 + tslib: 2.8.1 1129 + 1130 + '@atproto/lexicon@0.6.2': 1131 + dependencies: 1132 + '@atproto/common-web': 0.4.18 1133 + '@atproto/syntax': 0.5.0 1134 + iso-datestring-validator: 2.2.2 1135 + multiformats: 9.9.0 1136 + zod: 3.25.76 1137 + 1138 + '@atproto/oauth-provider-api@0.3.7': 1139 + dependencies: 1140 + '@atproto/jwk': 0.6.0 1141 + '@atproto/oauth-types': 0.6.2 1142 + 1143 + '@atproto/oauth-provider-frontend@0.2.9': 1144 + optionalDependencies: 1145 + '@atproto/oauth-provider-api': 0.3.7 1146 + 1147 + '@atproto/oauth-provider-ui@0.4.3': 1148 + optionalDependencies: 1149 + '@atproto/oauth-provider-api': 0.3.7 1150 + 1151 + '@atproto/oauth-provider@0.15.12': 1152 + dependencies: 1153 + '@atproto-labs/fetch': 0.2.3 1154 + '@atproto-labs/fetch-node': 0.2.0 1155 + '@atproto-labs/pipe': 0.1.1 1156 + '@atproto-labs/simple-store': 0.3.0 1157 + '@atproto-labs/simple-store-memory': 0.1.4 1158 + '@atproto/common': 0.5.14 1159 + '@atproto/did': 0.3.0 1160 + '@atproto/jwk': 0.6.0 1161 + '@atproto/jwk-jose': 0.1.11 1162 + '@atproto/lex-document': 0.0.15 1163 + '@atproto/lex-resolver': 0.0.17 1164 + '@atproto/oauth-provider-api': 0.3.7 1165 + '@atproto/oauth-provider-frontend': 0.2.9 1166 + '@atproto/oauth-provider-ui': 0.4.3 1167 + '@atproto/oauth-scopes': 0.3.2 1168 + '@atproto/oauth-types': 0.6.3 1169 + '@atproto/syntax': 0.5.0 1170 + '@hapi/accept': 6.0.3 1171 + '@hapi/address': 5.1.1 1172 + '@hapi/bourne': 3.0.0 1173 + '@hapi/content': 6.0.0 1174 + cookie: 0.7.2 1175 + disposable-email-domains-js: 1.22.0 1176 + forwarded: 0.2.0 1177 + http-errors: 2.0.1 1178 + ioredis: 5.10.0 1179 + jose: 5.10.0 1180 + zod: 3.25.76 1181 + transitivePeerDependencies: 1182 + - supports-color 1183 + 1184 + '@atproto/oauth-scopes@0.3.2': 1185 + dependencies: 1186 + '@atproto/did': 0.3.0 1187 + '@atproto/syntax': 0.5.0 1188 + 1189 + '@atproto/oauth-types@0.6.2': 1190 + dependencies: 1191 + '@atproto/did': 0.3.0 1192 + '@atproto/jwk': 0.6.0 1193 + zod: 3.25.76 1194 + 1195 + '@atproto/oauth-types@0.6.3': 1196 + dependencies: 1197 + '@atproto/did': 0.3.0 1198 + '@atproto/jwk': 0.6.0 1199 + zod: 3.25.76 1200 + 1201 + '@atproto/repo@0.8.12': 1202 + dependencies: 1203 + '@atproto/common': 0.5.14 1204 + '@atproto/common-web': 0.4.18 1205 + '@atproto/crypto': 0.4.5 1206 + '@atproto/lexicon': 0.6.2 1207 + '@ipld/dag-cbor': 7.0.3 1208 + multiformats: 9.9.0 1209 + uint8arrays: 3.0.0 1210 + varint: 6.0.0 1211 + zod: 3.25.76 1212 + 1213 + '@atproto/syntax@0.5.0': 1214 + dependencies: 1215 + tslib: 2.8.1 1216 + 543 1217 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 544 1218 optional: true 545 1219 ··· 643 1317 644 1318 '@fastify/busboy@3.2.0': {} 645 1319 1320 + '@gerrit0/mini-shiki@3.23.0': 1321 + dependencies: 1322 + '@shikijs/engine-oniguruma': 3.23.0 1323 + '@shikijs/langs': 3.23.0 1324 + '@shikijs/themes': 3.23.0 1325 + '@shikijs/types': 3.23.0 1326 + '@shikijs/vscode-textmate': 10.0.2 1327 + 1328 + '@hapi/accept@6.0.3': 1329 + dependencies: 1330 + '@hapi/boom': 10.0.1 1331 + '@hapi/hoek': 11.0.7 1332 + 1333 + '@hapi/address@5.1.1': 1334 + dependencies: 1335 + '@hapi/hoek': 11.0.7 1336 + 1337 + '@hapi/boom@10.0.1': 1338 + dependencies: 1339 + '@hapi/hoek': 11.0.7 1340 + 1341 + '@hapi/bourne@3.0.0': {} 1342 + 1343 + '@hapi/content@6.0.0': 1344 + dependencies: 1345 + '@hapi/boom': 10.0.1 1346 + 1347 + '@hapi/hoek@11.0.7': {} 1348 + 646 1349 '@hono/node-server@1.19.11(hono@4.12.5)': 647 1350 dependencies: 648 1351 hono: 4.12.5 ··· 674 1377 hono: 4.12.5 675 1378 zod: 4.3.6 676 1379 1380 + '@ioredis/commands@1.5.1': {} 1381 + 1382 + '@ipld/dag-cbor@7.0.3': 1383 + dependencies: 1384 + cborg: 1.10.2 1385 + multiformats: 9.9.0 1386 + 677 1387 '@isaacs/fs-minipass@4.0.1': 678 1388 dependencies: 679 1389 minipass: 7.1.3 1390 + 1391 + '@noble/curves@1.9.7': 1392 + dependencies: 1393 + '@noble/hashes': 1.8.0 1394 + 1395 + '@noble/hashes@1.8.0': {} 680 1396 681 1397 '@pinojs/redact@0.4.0': {} 682 1398 ··· 726 1442 pino: 9.14.0 727 1443 vbare: 0.0.4 728 1444 1445 + '@shikijs/engine-oniguruma@3.23.0': 1446 + dependencies: 1447 + '@shikijs/types': 3.23.0 1448 + '@shikijs/vscode-textmate': 10.0.2 1449 + 1450 + '@shikijs/langs@3.23.0': 1451 + dependencies: 1452 + '@shikijs/types': 3.23.0 1453 + 1454 + '@shikijs/themes@3.23.0': 1455 + dependencies: 1456 + '@shikijs/types': 3.23.0 1457 + 1458 + '@shikijs/types@3.23.0': 1459 + dependencies: 1460 + '@shikijs/vscode-textmate': 10.0.2 1461 + '@types/hast': 3.0.4 1462 + 1463 + '@shikijs/vscode-textmate@10.0.2': {} 1464 + 729 1465 '@standard-schema/spec@1.0.0': {} 730 1466 1467 + '@types/hast@3.0.4': 1468 + dependencies: 1469 + '@types/unist': 3.0.3 1470 + 731 1471 '@types/node@25.3.5': 732 1472 dependencies: 733 1473 undici-types: 7.18.2 734 1474 735 1475 '@types/retry@0.12.2': {} 1476 + 1477 + '@types/unist@3.0.3': {} 736 1478 737 1479 '@whatwg-node/disposablestack@0.0.6': 738 1480 dependencies: ··· 763 1505 '@whatwg-node/promise-helpers': 1.3.2 764 1506 tslib: 2.8.1 765 1507 1508 + abort-controller@3.0.0: 1509 + dependencies: 1510 + event-target-shim: 5.0.1 1511 + 1512 + argparse@2.0.1: {} 1513 + 766 1514 atomic-sleep@1.0.0: {} 767 1515 1516 + balanced-match@1.0.2: {} 1517 + 1518 + base64-js@1.5.1: {} 1519 + 1520 + brace-expansion@2.0.2: 1521 + dependencies: 1522 + balanced-match: 1.0.2 1523 + 1524 + buffer@6.0.3: 1525 + dependencies: 1526 + base64-js: 1.5.1 1527 + ieee754: 1.2.1 1528 + 768 1529 cbor-extract@2.2.0: 769 1530 dependencies: 770 1531 node-gyp-build-optional-packages: 5.1.1 ··· 781 1542 optionalDependencies: 782 1543 cbor-extract: 2.2.0 783 1544 1545 + cborg@1.10.2: {} 1546 + 784 1547 chownr@3.0.0: {} 785 1548 1549 + cluster-key-slot@1.1.2: {} 1550 + 1551 + cookie@0.7.2: {} 1552 + 1553 + core-js@3.48.0: {} 1554 + 1555 + debug@4.4.3: 1556 + dependencies: 1557 + ms: 2.1.3 1558 + 1559 + denque@2.1.0: {} 1560 + 1561 + depd@2.0.0: {} 1562 + 786 1563 detect-libc@2.1.2: 787 1564 optional: true 1565 + 1566 + disposable-email-domains-js@1.22.0: {} 1567 + 1568 + drizzle-orm@0.45.1: {} 1569 + 1570 + entities@4.5.0: {} 788 1571 789 1572 esbuild@0.27.3: 790 1573 optionalDependencies: ··· 815 1598 '@esbuild/win32-ia32': 0.27.3 816 1599 '@esbuild/win32-x64': 0.27.3 817 1600 1601 + event-target-shim@5.0.1: {} 1602 + 1603 + events@3.3.0: {} 1604 + 1605 + fast-redact@3.5.0: {} 1606 + 818 1607 fdb-tuple@1.0.0: {} 1608 + 1609 + forwarded@0.2.0: {} 819 1610 820 1611 fsevents@2.3.3: 821 1612 optional: true ··· 828 1619 829 1620 hono@4.12.5: {} 830 1621 1622 + http-errors@2.0.1: 1623 + dependencies: 1624 + depd: 2.0.0 1625 + inherits: 2.0.4 1626 + setprototypeof: 1.2.0 1627 + statuses: 2.0.2 1628 + toidentifier: 1.0.1 1629 + 1630 + ieee754@1.2.1: {} 1631 + 1632 + inherits@2.0.4: {} 1633 + 831 1634 invariant@2.2.4: 832 1635 dependencies: 833 1636 loose-envify: 1.4.0 834 1637 1638 + ioredis@5.10.0: 1639 + dependencies: 1640 + '@ioredis/commands': 1.5.1 1641 + cluster-key-slot: 1.1.2 1642 + debug: 4.4.3 1643 + denque: 2.1.0 1644 + lodash.defaults: 4.2.0 1645 + lodash.isarguments: 3.1.0 1646 + redis-errors: 1.2.0 1647 + redis-parser: 3.0.0 1648 + standard-as-callback: 2.1.0 1649 + transitivePeerDependencies: 1650 + - supports-color 1651 + 1652 + ipaddr.js@2.3.0: {} 1653 + 835 1654 is-network-error@1.3.1: {} 836 1655 1656 + iso-datestring-validator@2.2.2: {} 1657 + 1658 + jose@5.10.0: {} 1659 + 837 1660 js-tokens@4.0.0: {} 838 1661 1662 + linkify-it@5.0.0: 1663 + dependencies: 1664 + uc.micro: 2.1.0 1665 + 1666 + lodash.defaults@4.2.0: {} 1667 + 1668 + lodash.isarguments@3.1.0: {} 1669 + 839 1670 loose-envify@1.4.0: 840 1671 dependencies: 841 1672 js-tokens: 4.0.0 842 1673 1674 + lru-cache@10.4.3: {} 1675 + 1676 + lunr@2.3.9: {} 1677 + 1678 + markdown-it@14.1.1: 1679 + dependencies: 1680 + argparse: 2.0.1 1681 + entities: 4.5.0 1682 + linkify-it: 5.0.0 1683 + mdurl: 2.0.0 1684 + punycode.js: 2.3.1 1685 + uc.micro: 2.1.0 1686 + 1687 + mdurl@2.0.0: {} 1688 + 1689 + minimatch@9.0.9: 1690 + dependencies: 1691 + brace-expansion: 2.0.2 1692 + 843 1693 minipass@7.1.3: {} 844 1694 845 1695 minizlib@3.1.0: 846 1696 dependencies: 847 1697 minipass: 7.1.3 1698 + 1699 + ms@2.1.3: {} 1700 + 1701 + multiformats@9.9.0: {} 848 1702 849 1703 nanoevents@9.1.0: {} 850 1704 ··· 865 1719 is-network-error: 1.3.1 866 1720 retry: 0.13.1 867 1721 1722 + pino-abstract-transport@1.2.0: 1723 + dependencies: 1724 + readable-stream: 4.7.0 1725 + split2: 4.2.0 1726 + 868 1727 pino-abstract-transport@2.0.0: 869 1728 dependencies: 870 1729 split2: 4.2.0 1730 + 1731 + pino-std-serializers@6.2.2: {} 871 1732 872 1733 pino-std-serializers@7.1.0: {} 873 1734 1735 + pino@8.21.0: 1736 + dependencies: 1737 + atomic-sleep: 1.0.0 1738 + fast-redact: 3.5.0 1739 + on-exit-leak-free: 2.1.2 1740 + pino-abstract-transport: 1.2.0 1741 + pino-std-serializers: 6.2.2 1742 + process-warning: 3.0.0 1743 + quick-format-unescaped: 4.0.4 1744 + real-require: 0.2.0 1745 + safe-stable-stringify: 2.5.0 1746 + sonic-boom: 3.8.1 1747 + thread-stream: 2.7.0 1748 + 874 1749 pino@9.14.0: 875 1750 dependencies: 876 1751 '@pinojs/redact': 0.4.0 ··· 885 1760 sonic-boom: 4.2.1 886 1761 thread-stream: 3.1.0 887 1762 1763 + process-warning@3.0.0: {} 1764 + 888 1765 process-warning@5.0.0: {} 889 1766 1767 + process@0.11.10: {} 1768 + 1769 + punycode.js@2.3.1: {} 1770 + 890 1771 quick-format-unescaped@4.0.4: {} 891 1772 1773 + readable-stream@4.7.0: 1774 + dependencies: 1775 + abort-controller: 3.0.0 1776 + buffer: 6.0.3 1777 + events: 3.3.0 1778 + process: 0.11.10 1779 + string_decoder: 1.3.0 1780 + 892 1781 real-require@0.2.0: {} 893 1782 1783 + redis-errors@1.2.0: {} 1784 + 1785 + redis-parser@3.0.0: 1786 + dependencies: 1787 + redis-errors: 1.2.0 1788 + 894 1789 resolve-pkg-maps@1.0.0: {} 895 1790 896 1791 retry@0.13.1: {} 897 1792 898 - rivetkit@2.1.6(@hono/node-server@1.19.11(hono@4.12.5))(@hono/node-ws@1.3.0(@hono/node-server@1.19.11(hono@4.12.5))(hono@4.12.5))(@standard-schema/spec@1.0.0)(ws@8.19.0): 1793 + rivetkit@2.1.6(@hono/node-server@1.19.11(hono@4.12.5))(@hono/node-ws@1.3.0(@hono/node-server@1.19.11(hono@4.12.5))(hono@4.12.5))(@standard-schema/spec@1.0.0)(drizzle-orm@0.45.1)(ws@8.19.0): 899 1794 dependencies: 900 1795 '@hono/standard-validator': 0.1.5(@standard-schema/spec@1.0.0)(hono@4.12.5) 901 1796 '@hono/zod-openapi': 1.2.2(hono@4.12.5)(zod@4.3.6) ··· 922 1817 optionalDependencies: 923 1818 '@hono/node-server': 1.19.11(hono@4.12.5) 924 1819 '@hono/node-ws': 1.3.0(@hono/node-server@1.19.11(hono@4.12.5))(hono@4.12.5) 1820 + drizzle-orm: 0.45.1 925 1821 ws: 8.19.0 926 1822 transitivePeerDependencies: 927 1823 - '@standard-schema/spec' 928 1824 - bufferutil 929 1825 - utf-8-validate 930 1826 1827 + safe-buffer@5.2.1: {} 1828 + 931 1829 safe-stable-stringify@2.5.0: {} 932 1830 1831 + setprototypeof@1.2.0: {} 1832 + 1833 + sonic-boom@3.8.1: 1834 + dependencies: 1835 + atomic-sleep: 1.0.0 1836 + 933 1837 sonic-boom@4.2.1: 934 1838 dependencies: 935 1839 atomic-sleep: 1.0.0 936 1840 937 1841 split2@4.2.0: {} 938 1842 1843 + standard-as-callback@2.1.0: {} 1844 + 1845 + statuses@2.0.2: {} 1846 + 1847 + string_decoder@1.3.0: 1848 + dependencies: 1849 + safe-buffer: 5.2.1 1850 + 939 1851 tar@7.5.10: 940 1852 dependencies: 941 1853 '@isaacs/fs-minipass': 4.0.1 ··· 944 1856 minizlib: 3.1.0 945 1857 yallist: 5.0.0 946 1858 1859 + thread-stream@2.7.0: 1860 + dependencies: 1861 + real-require: 0.2.0 1862 + 947 1863 thread-stream@3.1.0: 948 1864 dependencies: 949 1865 real-require: 0.2.0 1866 + 1867 + toidentifier@1.0.1: {} 950 1868 951 1869 tslib@2.8.1: {} 952 1870 ··· 957 1875 optionalDependencies: 958 1876 fsevents: 2.3.3 959 1877 1878 + typedoc@0.28.17(typescript@5.9.3): 1879 + dependencies: 1880 + '@gerrit0/mini-shiki': 3.23.0 1881 + lunr: 2.3.9 1882 + markdown-it: 14.1.1 1883 + minimatch: 9.0.9 1884 + typescript: 5.9.3 1885 + yaml: 2.8.2 1886 + 1887 + typescript@5.9.3: {} 1888 + 1889 + uc.micro@2.1.0: {} 1890 + 1891 + uint8arrays@3.0.0: 1892 + dependencies: 1893 + multiformats: 9.9.0 1894 + 960 1895 undici-types@7.18.2: {} 961 1896 1897 + undici@6.23.0: {} 1898 + 1899 + unicode-segmenter@0.14.5: {} 1900 + 962 1901 urlpattern-polyfill@10.1.0: {} 963 1902 964 1903 uuid@12.0.0: {} 965 1904 1905 + varint@6.0.0: {} 1906 + 966 1907 vbare@0.0.4: {} 967 1908 968 1909 ws@8.19.0: {} ··· 970 1911 yallist@5.0.0: {} 971 1912 972 1913 yaml@2.8.2: {} 1914 + 1915 + zod@3.25.76: {} 973 1916 974 1917 zod@4.3.6: {}
+222 -5
src/registry/authServer.ts
··· 1 - import { actor } from "rivetkit"; 1 + import { actor, ActorDefinition } from "rivetkit"; 2 2 import { CONFIG } from "../config"; 3 + import { 4 + Account, 5 + AuthenticateAccountData, 6 + AuthorizedClientData, 7 + AuthorizedClients, 8 + Awaitable, 9 + ClientId, 10 + Code, 11 + CreateAccountData, 12 + CreateTokenData, 13 + DeviceAccount, 14 + DeviceData, 15 + DeviceId, 16 + FoundRequestResult, 17 + Keyset, 18 + LexiconData, 19 + NewTokenData, 20 + OAuthClientMetadata, 21 + OAuthProvider, 22 + RefreshToken, 23 + RequestData, 24 + RequestId, 25 + ResetPasswordConfirmInput, 26 + ResetPasswordRequestInput, 27 + Sub, 28 + TokenId, 29 + TokenInfo, 30 + UpdateRequestData, 31 + } from "@atproto/oauth-provider"; 3 32 4 33 export const authServer = actor({ 34 + state: { 35 + accounts: [] as CreateAccountData[], 36 + }, 37 + vars: undefined as unknown as { 38 + provider: OAuthProvider; 39 + }, 40 + createVars: (c) => { 41 + return { 42 + provider: new OAuthProvider({ 43 + issuer: CONFIG.publicEndpoint, 44 + keyset: new Keyset([]), 45 + accountStore: { 46 + createAccount: function ( 47 + data: CreateAccountData, 48 + ): Awaitable<Account> { 49 + throw new Error("Function not implemented."); 50 + }, 51 + authenticateAccount: function ( 52 + data: AuthenticateAccountData, 53 + ): Awaitable<Account> { 54 + throw new Error("Function not implemented."); 55 + }, 56 + setAuthorizedClient: function ( 57 + sub: Sub, 58 + clientId: ClientId, 59 + data: AuthorizedClientData, 60 + ): Awaitable<void> { 61 + throw new Error("Function not implemented."); 62 + }, 63 + getAccount: function (sub: Sub): Awaitable<{ 64 + account: Account; 65 + authorizedClients: AuthorizedClients; 66 + }> { 67 + throw new Error("Function not implemented."); 68 + }, 69 + upsertDeviceAccount: function ( 70 + deviceId: DeviceId, 71 + sub: Sub, 72 + ): Awaitable<void> { 73 + throw new Error("Function not implemented."); 74 + }, 75 + getDeviceAccount: function ( 76 + deviceId: DeviceId, 77 + sub: Sub, 78 + ): Awaitable<DeviceAccount | null> { 79 + throw new Error("Function not implemented."); 80 + }, 81 + removeDeviceAccount: function ( 82 + deviceId: DeviceId, 83 + sub: Sub, 84 + ): Awaitable<void> { 85 + throw new Error("Function not implemented."); 86 + }, 87 + listDeviceAccounts: function ( 88 + filter: { sub: Sub } | { deviceId: DeviceId }, 89 + ): Awaitable<DeviceAccount[]> { 90 + throw new Error("Function not implemented."); 91 + }, 92 + resetPasswordRequest: function ( 93 + data: ResetPasswordRequestInput, 94 + ): Awaitable<null | Account> { 95 + throw new Error("Function not implemented."); 96 + }, 97 + resetPasswordConfirm: function ( 98 + data: ResetPasswordConfirmInput, 99 + ): Awaitable<null | Account> { 100 + throw new Error("Function not implemented."); 101 + }, 102 + verifyHandleAvailability: function (handle: string): Awaitable<void> { 103 + throw new Error("Function not implemented."); 104 + }, 105 + }, 106 + deviceStore: { 107 + createDevice: function ( 108 + deviceId: DeviceId, 109 + data: DeviceData, 110 + ): Awaitable<void> { 111 + throw new Error("Function not implemented."); 112 + }, 113 + readDevice: function ( 114 + deviceId: DeviceId, 115 + ): Awaitable<DeviceData | null> { 116 + throw new Error("Function not implemented."); 117 + }, 118 + updateDevice: function ( 119 + deviceId: DeviceId, 120 + data: Partial<DeviceData>, 121 + ): Awaitable<void> { 122 + throw new Error("Function not implemented."); 123 + }, 124 + deleteDevice: function (deviceId: DeviceId): Awaitable<void> { 125 + throw new Error("Function not implemented."); 126 + }, 127 + }, 128 + tokenStore: { 129 + createToken: function ( 130 + tokenId: TokenId, 131 + data: CreateTokenData, 132 + refreshToken?: RefreshToken, 133 + ): Awaitable<void> { 134 + throw new Error("Function not implemented."); 135 + }, 136 + readToken: function (tokenId: TokenId): Awaitable<null | TokenInfo> { 137 + throw new Error("Function not implemented."); 138 + }, 139 + deleteToken: function (tokenId: TokenId): Awaitable<void> { 140 + throw new Error("Function not implemented."); 141 + }, 142 + rotateToken: function ( 143 + tokenId: TokenId, 144 + newTokenId: TokenId, 145 + newRefreshToken: RefreshToken, 146 + newData: NewTokenData, 147 + ): Awaitable<void> { 148 + throw new Error("Function not implemented."); 149 + }, 150 + findTokenByRefreshToken: function ( 151 + refreshToken: RefreshToken, 152 + ): Awaitable<null | TokenInfo> { 153 + throw new Error("Function not implemented."); 154 + }, 155 + findTokenByCode: function (code: Code): Awaitable<null | TokenInfo> { 156 + throw new Error("Function not implemented."); 157 + }, 158 + listAccountTokens: function (sub: Sub): Awaitable<TokenInfo[]> { 159 + throw new Error("Function not implemented."); 160 + }, 161 + }, 162 + clientStore: { 163 + findClient: function ( 164 + clientId: ClientId, 165 + ): Awaitable<OAuthClientMetadata> { 166 + throw new Error("Function not implemented."); 167 + }, 168 + }, 169 + replayStore: { 170 + unique: function ( 171 + namespace: string, 172 + nonce: string, 173 + timeFrame: number, 174 + ): Awaitable<boolean> { 175 + throw new Error("Function not implemented."); 176 + }, 177 + }, 178 + lexiconStore: { 179 + findLexicon: function (nsid: string): Awaitable<LexiconData | null> { 180 + throw new Error("Function not implemented."); 181 + }, 182 + storeLexicon: function ( 183 + nsid: string, 184 + data: LexiconData, 185 + ): Awaitable<void> { 186 + throw new Error("Function not implemented."); 187 + }, 188 + deleteLexicon: function (nsid: string): Awaitable<void> { 189 + throw new Error("Function not implemented."); 190 + }, 191 + }, 192 + requestStore: { 193 + createRequest: function ( 194 + requestId: RequestId, 195 + data: RequestData, 196 + ): Awaitable<void> { 197 + throw new Error("Function not implemented."); 198 + }, 199 + readRequest: function ( 200 + requestId: RequestId, 201 + ): Awaitable<RequestData | null> { 202 + throw new Error("Function not implemented."); 203 + }, 204 + updateRequest: function ( 205 + requestId: RequestId, 206 + data: UpdateRequestData, 207 + ): Awaitable<void> { 208 + throw new Error("Function not implemented."); 209 + }, 210 + deleteRequest: function ( 211 + requestId: RequestId, 212 + ): void | Awaitable<void> { 213 + throw new Error("Function not implemented."); 214 + }, 215 + consumeRequestCode: function ( 216 + code: Code, 217 + ): Awaitable<FoundRequestResult | null> { 218 + throw new Error("Function not implemented."); 219 + }, 220 + }, 221 + }), 222 + }; 223 + }, 5 224 actions: { 6 - getMetadata() { 7 - return JSON.stringify({ 8 - issuer: CONFIG.publicEndpoint, 9 - }); 225 + getMetadata: (c) => { 226 + return JSON.stringify(c.vars.provider.metadata); 10 227 }, 11 228 }, 12 229 });