Mirror from bluesky-social/pds

Compare changes

Choose any two refs to compare.

+1 -1
.github/workflows/build-and-push-ghcr.yaml
··· 3 push: 4 branches: 5 - main 6 - - pdsv2 7 tags: 8 - v* 9 env:
··· 3 push: 4 branches: 5 - main 6 + - next 7 tags: 8 - v* 9 env:
+1
ACCOUNT_MIGRATION.md
··· 107 108 const serviceJwtRes = await oldAgent.com.atproto.server.getServiceAuth({ 109 aud: newServerDid, 110 }) 111 const serviceJwt = serviceJwtRes.data.token 112
··· 107 108 const serviceJwtRes = await oldAgent.com.atproto.server.getServiceAuth({ 109 aud: newServerDid, 110 + lxm: 'com.atproto.server.createAccount', 111 }) 112 const serviceJwt = serviceJwtRes.data.token 113
+2 -1
Dockerfile
··· 1 FROM node:20.11-alpine3.18 as build 2 3 - RUN npm install -g pnpm 4 5 # Move files into the image and install 6 WORKDIR /app 7 COPY ./service ./ 8 RUN pnpm install --production --frozen-lockfile > /dev/null 9 10 # Uses assets from build stage to reduce build size
··· 1 FROM node:20.11-alpine3.18 as build 2 3 + RUN corepack enable 4 5 # Move files into the image and install 6 WORKDIR /app 7 COPY ./service ./ 8 + RUN corepack prepare --activate 9 RUN pnpm install --production --frozen-lockfile > /dev/null 10 11 # Uses assets from build stage to reduce build size
+51 -1
README.md
··· 25 * [Creating an account using pdsadmin](#creating-an-account-using-pdsadmin) 26 * [Creating an account using an invite code](#creating-an-account-using-an-invite-code) 27 * [Using the Bluesky app with your PDS](#using-the-bluesky-app-with-your-pds) 28 * [Updating your PDS](#updating-your-pds) 29 30 <!-- tocstop --> ··· 45 46 ### Where is the code? 47 48 - * [TypeScript code](https://github.com/bluesky-social/atproto) 49 * [Go code](https://github.com/bluesky-social/indigo) 50 51 ### What is the current status of federation? ··· 199 1. Enter the URL of your PDS (e.g. `https://example.com/`) 200 201 _Note: because the subdomain TLS certificate is created on-demand, it may take 10-30s for your handle to be accessible. If you aren't seeing your first post/profile, wait 30s and try to make another post._ 202 203 ### Updating your PDS 204
··· 25 * [Creating an account using pdsadmin](#creating-an-account-using-pdsadmin) 26 * [Creating an account using an invite code](#creating-an-account-using-an-invite-code) 27 * [Using the Bluesky app with your PDS](#using-the-bluesky-app-with-your-pds) 28 + * [Setting up SMTP](#setting-up-smtp) 29 * [Updating your PDS](#updating-your-pds) 30 31 <!-- tocstop --> ··· 46 47 ### Where is the code? 48 49 + * [TypeScript code](https://github.com/bluesky-social/atproto/tree/main/packages/pds) 50 * [Go code](https://github.com/bluesky-social/indigo) 51 52 ### What is the current status of federation? ··· 200 1. Enter the URL of your PDS (e.g. `https://example.com/`) 201 202 _Note: because the subdomain TLS certificate is created on-demand, it may take 10-30s for your handle to be accessible. If you aren't seeing your first post/profile, wait 30s and try to make another post._ 203 + 204 + ### Setting up SMTP 205 + 206 + To be able to verify users' email addresses and send other emails, you need to set up an SMTP server. 207 + 208 + One way to do this is to use an email service. [Resend](https://resend.com/) and [SendGrid](https://sendgrid.com/) are two popular choices. 209 + 210 + Create an account and API key on an email service, ensure your server allows access on the required ports, and set these variables in `/pds/pds.env` (example with Resend): 211 + 212 + ``` 213 + PDS_EMAIL_SMTP_URL=smtps://resend:<your api key here>@smtp.resend.com:465/ 214 + PDS_EMAIL_FROM_ADDRESS=admin@your.domain 215 + ``` 216 + 217 + If you prefer to use a standard SMTP server (a local one or from your email provider), put your account's username and password in the URL: 218 + 219 + ``` 220 + PDS_EMAIL_SMTP_URL=smtps://username:password@smtp.example.com/ 221 + ``` 222 + 223 + Alternatively, if you're running a local sendmail-compatible mail service like Postfix or Exim on the same host, you can configure the PDS to use the sendmail transport by using such URL: 224 + 225 + ``` 226 + PDS_EMAIL_SMTP_URL=smtp:///?sendmail=true 227 + ``` 228 + 229 + _Note: Your PDS will need to be restarted with those variables. This varies depending on your setup. If you followed this installation guide, run `systemctl restart pds`. You might need to restart the server or recreate the container, depending on what you are using._ 230 + 231 + ### Logging 232 + 233 + By default, logs from the PDS are printed to `stdout` and end up in Docker's log. You can browse them by running: 234 + 235 + ``` 236 + [sudo] docker logs pds 237 + ``` 238 + 239 + Note: these logs are not persisted, so they will be lost after server reboot. 240 + 241 + Alternatively, you can configure the logs to be printed to a file by setting `LOG_DESTINATION`: 242 + 243 + ``` 244 + LOG_DESTINATION=/pds/pds.log 245 + ``` 246 + 247 + You can also change the minimum level of logs to be printed (default: `info`): 248 + 249 + ``` 250 + LOG_LEVEL=debug 251 + ``` 252 253 ### Updating your PDS 254
+1
installer.sh
··· 333 PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$(eval "${GENERATE_K256_PRIVATE_KEY_CMD}") 334 PDS_DATA_DIRECTORY=${PDS_DATADIR} 335 PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATADIR}/blocks 336 PDS_DID_PLC_URL=${PDS_DID_PLC_URL} 337 PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL} 338 PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID}
··· 333 PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$(eval "${GENERATE_K256_PRIVATE_KEY_CMD}") 334 PDS_DATA_DIRECTORY=${PDS_DATADIR} 335 PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATADIR}/blocks 336 + PDS_BLOB_UPLOAD_LIMIT=52428800 337 PDS_DID_PLC_URL=${PDS_DID_PLC_URL} 338 PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL} 339 PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID}
+2 -2
pdsadmin/help.sh
··· 25 Takedown an account specified by DID. 26 e.g. pdsadmin account takedown did:plc:xyz123abc456 27 untakedown <DID> 28 - Remove a takedown an account specified by DID. 29 e.g. pdsadmin account untakedown did:plc:xyz123abc456 30 - password-reset <DID> 31 Reset a password for an account specified by DID. 32 e.g. pdsadmin account reset-password did:plc:xyz123abc456 33
··· 25 Takedown an account specified by DID. 26 e.g. pdsadmin account takedown did:plc:xyz123abc456 27 untakedown <DID> 28 + Remove a takedown from an account specified by DID. 29 e.g. pdsadmin account untakedown did:plc:xyz123abc456 30 + reset-password <DID> 31 Reset a password for an account specified by DID. 32 e.g. pdsadmin account reset-password did:plc:xyz123abc456 33
+2 -1
service/package.json
··· 3 "private": true, 4 "version": "0.0.0", 5 "description": "Service entrypoint for atproto personal data server", 6 "main": "index.js", 7 "license": "MIT", 8 "dependencies": { 9 - "@atproto/pds": "0.4.47" 10 } 11 }
··· 3 "private": true, 4 "version": "0.0.0", 5 "description": "Service entrypoint for atproto personal data server", 6 + "packageManager": "pnpm@8.15.9", 7 "main": "index.js", 8 "license": "MIT", 9 "dependencies": { 10 + "@atproto/pds": "0.4.166" 11 } 12 }
+413 -269
service/pnpm-lock.yaml
··· 6 7 dependencies: 8 '@atproto/pds': 9 - specifier: 0.4.47 10 - version: 0.4.47 11 12 packages: 13 14 - /@atproto-labs/fetch-node@0.1.0: 15 - resolution: {integrity: sha512-DUHgaGw8LBqiGg51pUDuWK/alMcmNbpcK7ALzlF2Gw//TNLTsgrj0qY9aEtK+np9rEC+x/o3bN4SGnuQEpgqIg==} 16 dependencies: 17 - '@atproto-labs/fetch': 0.1.0 18 - '@atproto-labs/pipe': 0.1.0 19 ipaddr.js: 2.2.0 20 - psl: 1.9.0 21 - undici: 6.19.2 22 dev: false 23 24 - /@atproto-labs/fetch@0.1.0: 25 - resolution: {integrity: sha512-uirja+uA/C4HNk7vayM+AJqsccxQn2wVziUHxbsjJGt/K6Q8ZOKDaEX2+GrcXvpUVcqUKh+94JFjuzH+CAEUlg==} 26 dependencies: 27 - '@atproto-labs/pipe': 0.1.0 28 - optionalDependencies: 29 - zod: 3.23.8 30 dev: false 31 32 - /@atproto-labs/pipe@0.1.0: 33 - resolution: {integrity: sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w==} 34 dev: false 35 36 - /@atproto-labs/simple-store-memory@0.1.1: 37 - resolution: {integrity: sha512-PCRqhnZ8NBNBvLku53O56T0lsVOtclfIrQU/rwLCc4+p45/SBPrRYNBi6YFq5rxZbK6Njos9MCmILV/KLQxrWA==} 38 dependencies: 39 - '@atproto-labs/simple-store': 0.1.1 40 lru-cache: 10.2.0 41 dev: false 42 43 - /@atproto-labs/simple-store@0.1.1: 44 - resolution: {integrity: sha512-WKILW2b3QbAYKh+w5U2x6p5FqqLl0nAeLwGeDY+KjX01K4Dq3vQTR9b/qNp0jZm48CabPQVrqCv0PPU9LgRRRg==} 45 dev: false 46 47 - /@atproto/api@0.12.29: 48 - resolution: {integrity: sha512-PyzPLjGWR0qNOMrmj3Nt3N5NuuANSgOk/33Bu3j+rFjjPrHvk9CI6iQPU6zuDaDCoyOTRJRafw8X/aMQw+ilgw==} 49 dependencies: 50 - '@atproto/common-web': 0.3.0 51 - '@atproto/lexicon': 0.4.0 52 - '@atproto/syntax': 0.3.0 53 - '@atproto/xrpc': 0.5.0 54 await-lock: 2.2.2 55 multiformats: 9.9.0 56 tlds: 1.250.0 57 dev: false 58 59 - /@atproto/aws@0.2.1: 60 - resolution: {integrity: sha512-KsABct9LaANIHE8cBX9qbkD5W2XQ5ghajGNYhL1yTFNhF4RpnOUN0lDk09VOBW3A5cU0myRBiwmM+58Tyg5UGg==} 61 dependencies: 62 - '@atproto/common': 0.4.1 63 - '@atproto/crypto': 0.4.0 64 - '@atproto/repo': 0.4.1 65 '@aws-sdk/client-cloudfront': 3.515.0 66 '@aws-sdk/client-kms': 3.515.0 67 '@aws-sdk/client-s3': 3.515.0 68 '@aws-sdk/lib-storage': 3.515.0(@aws-sdk/client-s3@3.515.0) 69 - '@noble/curves': 1.3.0 70 key-encoder: 2.0.3 71 multiformats: 9.9.0 72 uint8arrays: 3.0.0 ··· 74 - aws-crt 75 dev: false 76 77 - /@atproto/common-web@0.3.0: 78 - resolution: {integrity: sha512-67VnV6JJyX+ZWyjV7xFQMypAgDmjVaR9ZCuU/QW+mqlqI7fex2uL4Fv+7/jHadgzhuJHVd6OHOvNn0wR5WZYtA==} 79 dependencies: 80 graphemer: 1.4.0 81 multiformats: 9.9.0 ··· 92 zod: 3.23.8 93 dev: false 94 95 - /@atproto/common@0.4.1: 96 - resolution: {integrity: sha512-uL7kQIcBTbvkBDNfxMXL6lBH4fO2DQpHd2BryJxMtbw/4iEPKe9xBYApwECHhEIk9+zhhpTRZ15FJ3gxTXN82Q==} 97 dependencies: 98 - '@atproto/common-web': 0.3.0 99 '@ipld/dag-cbor': 7.0.3 100 cbor-x: 1.5.8 101 iso-datestring-validator: 2.2.2 ··· 113 uint8arrays: 3.0.0 114 dev: false 115 116 - /@atproto/crypto@0.4.0: 117 - resolution: {integrity: sha512-Kj/4VgJ7hzzXvE42L0rjzP6lM0tai+OfPnP1rxJ+UZg/YUDtuewL4uapnVoWXvlNceKgaLZH98g5n9gXBVTe5Q==} 118 dependencies: 119 - '@noble/curves': 1.3.0 120 - '@noble/hashes': 1.3.3 121 uint8arrays: 3.0.0 122 dev: false 123 124 - /@atproto/identity@0.4.0: 125 - resolution: {integrity: sha512-KKdVlqBgkFuTUx3KFiiQe0LuK9kopej1bhKm6SHRPEYbSEPFmRZQMY9TAjWJQrvQt8DpQzz6kVGjASFEjd3teQ==} 126 dependencies: 127 - '@atproto/common-web': 0.3.0 128 - '@atproto/crypto': 0.4.0 129 - axios: 0.27.2 130 - transitivePeerDependencies: 131 - - debug 132 dev: false 133 134 - /@atproto/jwk-jose@0.1.1: 135 - resolution: {integrity: sha512-S0QLW+/5d7tlK4UESWhITx2HBpVN0bMrnPGjCkHg5i/Y6nhKYk6sOjEWNARFfMUhnwBCKPNGEQqDZ0uuCzucxA==} 136 dependencies: 137 - '@atproto/jwk': 0.1.1 138 jose: 5.2.2 139 dev: false 140 141 - /@atproto/jwk@0.1.1: 142 - resolution: {integrity: sha512-6h/bj1APUk7QcV9t/oA6+9DB5NZx9SZru9x+/pV5oHFI9Xz4ZuM5+dq1PfsJV54pZyqdnZ6W6M717cxoC7q7og==} 143 dependencies: 144 multiformats: 9.9.0 145 zod: 3.23.8 146 dev: false 147 148 - /@atproto/lexicon@0.4.0: 149 - resolution: {integrity: sha512-RvCBKdSI4M8qWm5uTNz1z3R2yIvIhmOsMuleOj8YR6BwRD+QbtUBy3l+xQ7iXf4M5fdfJFxaUNa6Ty0iRwdKqQ==} 150 dependencies: 151 - '@atproto/common-web': 0.3.0 152 - '@atproto/syntax': 0.3.0 153 iso-datestring-validator: 2.2.2 154 multiformats: 9.9.0 155 zod: 3.23.8 156 dev: false 157 158 - /@atproto/oauth-provider@0.1.1: 159 - resolution: {integrity: sha512-vHe83QJhJzLZ4A1p/vfSun3eTe+TJd+aXBUMGhjOzQO4602cs4R2HdKW6robdgdExwYareyQpTvbcQInHEBmPA==} 160 dependencies: 161 - '@atproto-labs/fetch': 0.1.0 162 - '@atproto-labs/fetch-node': 0.1.0 163 - '@atproto-labs/pipe': 0.1.0 164 - '@atproto-labs/simple-store': 0.1.1 165 - '@atproto-labs/simple-store-memory': 0.1.1 166 - '@atproto/jwk': 0.1.1 167 - '@atproto/jwk-jose': 0.1.1 168 - '@atproto/oauth-types': 0.1.1 169 '@hapi/accept': 6.0.3 170 '@hapi/bourne': 3.0.0 171 - cookie: 0.6.0 172 http-errors: 2.0.0 173 jose: 5.2.2 174 - oidc-token-hash: 5.0.3 175 - psl: 1.9.0 176 zod: 3.23.8 177 - optionalDependencies: 178 - ioredis: 5.3.2 179 - keygrip: 1.1.0 180 transitivePeerDependencies: 181 - supports-color 182 dev: false 183 184 - /@atproto/oauth-types@0.1.1: 185 - resolution: {integrity: sha512-EkCLa4+xR0aD8m5wuZRuuc2vRKryPqGxB5uc+mWOwnXe44ZSJBtd9ay/LIgouTzIA22Muml+IGp+U5HyH5aSpw==} 186 dependencies: 187 - '@atproto/jwk': 0.1.1 188 zod: 3.23.8 189 dev: false 190 191 - /@atproto/pds@0.4.47: 192 - resolution: {integrity: sha512-AhAf7sDQYnMS+URK+ph2rIEy3O8f2bkEKhWeVuwoEvu+hWxOk8DiWYcqcQmmnN5RnoKfYm/rE2A+eIBdwq5lYQ==} 193 - hasBin: true 194 dependencies: 195 - '@atproto-labs/fetch-node': 0.1.0 196 - '@atproto/api': 0.12.29 197 - '@atproto/aws': 0.2.1 198 - '@atproto/common': 0.4.1 199 - '@atproto/crypto': 0.4.0 200 - '@atproto/identity': 0.4.0 201 - '@atproto/lexicon': 0.4.0 202 - '@atproto/oauth-provider': 0.1.1 203 - '@atproto/repo': 0.4.1 204 - '@atproto/syntax': 0.3.0 205 - '@atproto/xrpc': 0.5.0 206 - '@atproto/xrpc-server': 0.6.0 207 '@did-plc/lib': 0.0.4 208 better-sqlite3: 10.1.0 209 bytes: 3.1.2 210 compression: 1.7.4 211 cors: 2.8.5 212 - disposable-email: 0.2.3 213 express: 4.18.2 214 express-async-errors: 3.1.1(express@4.18.2) 215 file-type: 16.5.4 ··· 226 p-queue: 6.6.2 227 pino: 8.21.0 228 pino-http: 8.6.1 229 - sharp: 0.32.6 230 typed-emitter: 2.1.0 231 uint8arrays: 3.0.0 232 zod: 3.23.8 233 transitivePeerDependencies: 234 - aws-crt ··· 238 - utf-8-validate 239 dev: false 240 241 - /@atproto/repo@0.4.1: 242 - resolution: {integrity: sha512-DXv/cBwRcAM0KFb4SwafcQBONd0g31QUNLfjTri1bg5adCbX3bxxE4fCPpQM9Qc3+5lcCkTL/EniHW1j3UQjVA==} 243 dependencies: 244 - '@atproto/common': 0.4.1 245 - '@atproto/common-web': 0.3.0 246 - '@atproto/crypto': 0.4.0 247 - '@atproto/lexicon': 0.4.0 248 - '@ipld/car': 3.2.4 249 '@ipld/dag-cbor': 7.0.3 250 multiformats: 9.9.0 251 uint8arrays: 3.0.0 252 zod: 3.23.8 253 dev: false 254 255 - /@atproto/syntax@0.3.0: 256 - resolution: {integrity: sha512-Weq0ZBxffGHDXHl9U7BQc2BFJi/e23AL+k+i5+D9hUq/bzT4yjGsrCejkjq0xt82xXDjmhhvQSZ0LqxyZ5woxA==} 257 dev: false 258 259 - /@atproto/xrpc-server@0.6.0: 260 - resolution: {integrity: sha512-c0UhLQIjkVGxcRIbWLEjJsW0NzKs9uIIUYQWJ27zUUAet5tzgYOyTDuZ5v8FvAJ4wkfJUIZH2GazqxrQDW4G3g==} 261 dependencies: 262 - '@atproto/common': 0.4.1 263 - '@atproto/crypto': 0.4.0 264 - '@atproto/lexicon': 0.4.0 265 - '@atproto/xrpc': 0.5.0 266 cbor-x: 1.5.8 267 express: 4.18.2 268 http-errors: 2.0.0 ··· 277 - utf-8-validate 278 dev: false 279 280 - /@atproto/xrpc@0.5.0: 281 - resolution: {integrity: sha512-swu+wyOLvYW4l3n+VAuJbHcPcES+tin2Lsrp8Bw5aIXIICiuFn1YMFlwK9JwVUzTH21Py1s1nHEjr4CJeElJog==} 282 dependencies: 283 - '@atproto/lexicon': 0.4.0 284 zod: 3.23.8 285 dev: false 286 ··· 1093 - debug 1094 dev: false 1095 1096 /@hapi/accept@6.0.3: 1097 resolution: {integrity: sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==} 1098 dependencies: ··· 1100 '@hapi/hoek': 11.0.4 1101 dev: false 1102 1103 /@hapi/boom@10.0.1: 1104 resolution: {integrity: sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==} 1105 dependencies: ··· 1110 resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} 1111 dev: false 1112 1113 /@hapi/hoek@11.0.4: 1114 resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==} 1115 dev: false 1116 1117 - /@ioredis/commands@1.2.0: 1118 - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} 1119 dev: false 1120 1121 - /@ipld/car@3.2.4: 1122 - resolution: {integrity: sha512-rezKd+jk8AsTGOoJKqzfjLJ3WVft7NZNH95f0pfPbicROvzTyvHCNy567HzSUd6gRXZ9im29z5ZEv9Hw49jSYw==} 1123 dependencies: 1124 - '@ipld/dag-cbor': 7.0.3 1125 - multiformats: 9.9.0 1126 - varint: 6.0.0 1127 dev: false 1128 1129 /@ipld/dag-cbor@7.0.3: ··· 1145 wrap-ansi-cjs: /wrap-ansi@7.0.0 1146 dev: false 1147 1148 - /@noble/curves@1.3.0: 1149 - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} 1150 dependencies: 1151 - '@noble/hashes': 1.3.3 1152 dev: false 1153 1154 - /@noble/hashes@1.3.3: 1155 - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} 1156 - engines: {node: '>= 16'} 1157 dev: false 1158 1159 /@noble/secp256k1@1.7.1: ··· 1707 resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 1708 dev: false 1709 1710 - /axios@0.27.2: 1711 - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} 1712 - dependencies: 1713 - follow-redirects: 1.15.5 1714 - form-data: 4.0.0 1715 - transitivePeerDependencies: 1716 - - debug 1717 - dev: false 1718 - 1719 /axios@1.6.7: 1720 resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} 1721 dependencies: ··· 1726 - debug 1727 dev: false 1728 1729 - /b4a@1.6.6: 1730 - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} 1731 - dev: false 1732 - 1733 /balanced-match@1.0.2: 1734 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1735 dev: false 1736 1737 - /bare-events@2.2.0: 1738 - resolution: {integrity: sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==} 1739 - requiresBuild: true 1740 - dev: false 1741 - optional: true 1742 - 1743 - /bare-fs@2.1.5: 1744 - resolution: {integrity: sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA==} 1745 - requiresBuild: true 1746 - dependencies: 1747 - bare-events: 2.2.0 1748 - bare-os: 2.2.0 1749 - bare-path: 2.1.0 1750 - streamx: 2.16.1 1751 - dev: false 1752 - optional: true 1753 - 1754 - /bare-os@2.2.0: 1755 - resolution: {integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==} 1756 - requiresBuild: true 1757 - dev: false 1758 - optional: true 1759 - 1760 - /bare-path@2.1.0: 1761 - resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} 1762 - requiresBuild: true 1763 - dependencies: 1764 - bare-os: 2.2.0 1765 - dev: false 1766 - optional: true 1767 - 1768 /base64-js@1.5.1: 1769 resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1770 dev: false ··· 1822 1823 /boolean@3.2.0: 1824 resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} 1825 dev: false 1826 1827 /bowser@2.11.0: ··· 1992 engines: {node: '>= 0.6'} 1993 dev: false 1994 1995 - /cookie@0.6.0: 1996 - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 1997 engines: {node: '>= 0.6'} 1998 dev: false 1999 ··· 2088 engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 2089 dev: false 2090 2091 - /detect-libc@2.0.2: 2092 - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} 2093 engines: {node: '>=8'} 2094 dev: false 2095 2096 - /disposable-email@0.2.3: 2097 - resolution: {integrity: sha512-gkBQQ5Res431ZXqLlAafrXHizG7/1FWmi8U2RTtriD78Vc10HhBUvdJun3R4eSF0KRIQQJs+wHlxjkED/Hr1EQ==} 2098 dev: false 2099 2100 /dom-serializer@1.4.1: ··· 2254 - supports-color 2255 dev: false 2256 2257 - /fast-fifo@1.3.2: 2258 - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} 2259 - dev: false 2260 - 2261 /fast-printf@1.6.9: 2262 resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} 2263 engines: {node: '>=10.0'} ··· 2574 elliptic: 6.5.4 2575 dev: false 2576 2577 - /keygrip@1.1.0: 2578 - resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} 2579 - engines: {node: '>= 0.6'} 2580 - requiresBuild: true 2581 - dependencies: 2582 - tsscmp: 1.0.6 2583 - dev: false 2584 - optional: true 2585 - 2586 /kysely@0.22.0: 2587 resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==} 2588 engines: {node: '>=14.0.0'} ··· 2599 /lru-cache@10.2.0: 2600 resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} 2601 engines: {node: 14 || >=16.14} 2602 - dev: false 2603 - 2604 - /lru-cache@6.0.0: 2605 - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2606 - engines: {node: '>=10'} 2607 - dependencies: 2608 - yallist: 4.0.0 2609 dev: false 2610 2611 /media-typer@0.3.0: ··· 2706 resolution: {integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==} 2707 engines: {node: '>=10'} 2708 dependencies: 2709 - semver: 7.6.0 2710 - dev: false 2711 - 2712 - /node-addon-api@6.1.0: 2713 - resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} 2714 dev: false 2715 2716 /node-gyp-build-optional-packages@5.1.1: ··· 2718 hasBin: true 2719 requiresBuild: true 2720 dependencies: 2721 - detect-libc: 2.0.2 2722 dev: false 2723 optional: true 2724 ··· 2741 2742 /object-inspect@1.13.1: 2743 resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 2744 - dev: false 2745 - 2746 - /oidc-token-hash@5.0.3: 2747 - resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} 2748 - engines: {node: ^10.13.0 || >=12.0.0} 2749 dev: false 2750 2751 /on-exit-leak-free@2.1.2: ··· 2871 engines: {node: '>=10'} 2872 hasBin: true 2873 dependencies: 2874 - detect-libc: 2.0.2 2875 expand-template: 2.0.3 2876 github-from-package: 0.0.0 2877 minimist: 1.2.8 ··· 2906 resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 2907 dev: false 2908 2909 - /psl@1.9.0: 2910 - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} 2911 - dev: false 2912 - 2913 /pump@3.0.0: 2914 resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 2915 dependencies: ··· 2924 side-channel: 1.0.5 2925 dev: false 2926 2927 - /queue-tick@1.0.1: 2928 - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} 2929 - requiresBuild: true 2930 - dev: false 2931 - 2932 /quick-format-unescaped@4.0.4: 2933 resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 2934 dev: false ··· 3044 resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} 3045 dev: false 3046 3047 - /semver@7.6.0: 3048 - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 3049 engines: {node: '>=10'} 3050 hasBin: true 3051 - dependencies: 3052 - lru-cache: 6.0.0 3053 dev: false 3054 3055 /send@0.18.0: ··· 3101 resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 3102 dev: false 3103 3104 - /sharp@0.32.6: 3105 - resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} 3106 - engines: {node: '>=14.15.0'} 3107 requiresBuild: true 3108 dependencies: 3109 color: 4.2.3 3110 - detect-libc: 2.0.2 3111 - node-addon-api: 6.1.0 3112 - prebuild-install: 7.1.1 3113 - semver: 7.6.0 3114 - simple-get: 4.0.1 3115 - tar-fs: 3.0.5 3116 - tunnel-agent: 0.6.0 3117 dev: false 3118 3119 /shebang-command@2.0.0: ··· 3193 readable-stream: 3.6.2 3194 dev: false 3195 3196 - /streamx@2.16.1: 3197 - resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} 3198 - dependencies: 3199 - fast-fifo: 1.3.2 3200 - queue-tick: 1.0.1 3201 - optionalDependencies: 3202 - bare-events: 2.2.0 3203 - dev: false 3204 - 3205 /string-width@4.2.3: 3206 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3207 engines: {node: '>=8'} ··· 3266 tar-stream: 2.2.0 3267 dev: false 3268 3269 - /tar-fs@3.0.5: 3270 - resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} 3271 - dependencies: 3272 - pump: 3.0.0 3273 - tar-stream: 3.1.7 3274 - optionalDependencies: 3275 - bare-fs: 2.1.5 3276 - bare-path: 2.1.0 3277 - dev: false 3278 - 3279 /tar-stream@2.2.0: 3280 resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 3281 engines: {node: '>=6'} ··· 3287 readable-stream: 3.6.2 3288 dev: false 3289 3290 - /tar-stream@3.1.7: 3291 - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} 3292 - dependencies: 3293 - b4a: 1.6.6 3294 - fast-fifo: 1.3.2 3295 - streamx: 2.16.1 3296 - dev: false 3297 - 3298 /thread-stream@2.7.0: 3299 resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 3300 dependencies: ··· 3327 resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 3328 dev: false 3329 3330 - /tsscmp@1.0.6: 3331 - resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} 3332 - engines: {node: '>=0.6.x'} 3333 - requiresBuild: true 3334 - dev: false 3335 - optional: true 3336 - 3337 /tunnel-agent@0.6.0: 3338 resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 3339 dependencies: ··· 3377 resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 3378 dev: false 3379 3380 - /undici@6.19.2: 3381 - resolution: {integrity: sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==} 3382 engines: {node: '>=18.17'} 3383 dev: false 3384 ··· 3455 optional: true 3456 utf-8-validate: 3457 optional: true 3458 - dev: false 3459 - 3460 - /yallist@4.0.0: 3461 - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3462 dev: false 3463 3464 /zod@3.23.8:
··· 6 7 dependencies: 8 '@atproto/pds': 9 + specifier: 0.4.166 10 + version: 0.4.166 11 12 packages: 13 14 + /@atproto-labs/fetch-node@0.1.9: 15 + resolution: {integrity: sha512-8sHDDXZEzQptLu8ddUU/8U+THS6dumgPynVX0/1PjUYd4S/FWyPcz6yMIiVChTfzKnZvYRRz47+qvOKhydrHQw==} 16 + engines: {node: '>=18.7.0'} 17 dependencies: 18 + '@atproto-labs/fetch': 0.2.3 19 + '@atproto-labs/pipe': 0.1.1 20 ipaddr.js: 2.2.0 21 + undici: 6.20.1 22 dev: false 23 24 + /@atproto-labs/fetch@0.2.3: 25 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 26 dependencies: 27 + '@atproto-labs/pipe': 0.1.1 28 dev: false 29 30 + /@atproto-labs/pipe@0.1.1: 31 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 32 dev: false 33 34 + /@atproto-labs/simple-store-memory@0.1.3: 35 + resolution: {integrity: sha512-jkitT9+AtU+0b28DoN92iURLaCt/q/q4yX8q6V+9LSwYlUTqKoj/5NFKvF7x6EBuG+gpUdlcycbH7e60gjOhRQ==} 36 dependencies: 37 + '@atproto-labs/simple-store': 0.2.0 38 lru-cache: 10.2.0 39 dev: false 40 41 + /@atproto-labs/simple-store@0.2.0: 42 + resolution: {integrity: sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA==} 43 dev: false 44 45 + /@atproto-labs/xrpc-utils@0.0.18: 46 + resolution: {integrity: sha512-Cwrlx2JcLe0jxCK8b3GCT3HRGaH3yPhyyt+3n4JykJapCaGBKqa6FHGs9hK2Fx6lOyPF7TnV5qUPUsJ1qGEUVA==} 47 + dependencies: 48 + '@atproto/xrpc': 0.7.1 49 + '@atproto/xrpc-server': 0.9.1 50 + transitivePeerDependencies: 51 + - bufferutil 52 + - supports-color 53 + - utf-8-validate 54 + dev: false 55 + 56 + /@atproto/api@0.16.2: 57 + resolution: {integrity: sha512-sSTg31J8ws8DNaoiizp+/uJideRxRaJsq+Nyl8rnSxGw0w3oCvoeRU19iRWh2t0jZEmiRJAGkveGu23NKmPYEQ==} 58 dependencies: 59 + '@atproto/common-web': 0.4.2 60 + '@atproto/lexicon': 0.4.12 61 + '@atproto/syntax': 0.4.0 62 + '@atproto/xrpc': 0.7.1 63 await-lock: 2.2.2 64 multiformats: 9.9.0 65 tlds: 1.250.0 66 + zod: 3.23.8 67 dev: false 68 69 + /@atproto/aws@0.2.25: 70 + resolution: {integrity: sha512-LT4uuda2mjXz2WT4xo7g2aWmWKl+JWusGzscqQpOlD/RFGFXKDmUcVWLVPKY+9Pys2F7X6tyDlm2aUx+/dYdYA==} 71 + engines: {node: '>=18.7.0'} 72 dependencies: 73 + '@atproto/common': 0.4.11 74 + '@atproto/crypto': 0.4.4 75 + '@atproto/repo': 0.8.5 76 '@aws-sdk/client-cloudfront': 3.515.0 77 '@aws-sdk/client-kms': 3.515.0 78 '@aws-sdk/client-s3': 3.515.0 79 '@aws-sdk/lib-storage': 3.515.0(@aws-sdk/client-s3@3.515.0) 80 + '@noble/curves': 1.8.1 81 key-encoder: 2.0.3 82 multiformats: 9.9.0 83 uint8arrays: 3.0.0 ··· 85 - aws-crt 86 dev: false 87 88 + /@atproto/common-web@0.4.2: 89 + resolution: {integrity: sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==} 90 dependencies: 91 graphemer: 1.4.0 92 multiformats: 9.9.0 ··· 103 zod: 3.23.8 104 dev: false 105 106 + /@atproto/common@0.4.11: 107 + resolution: {integrity: sha512-Knv0viYXNMfCdIE7jLUiWJKnnMfEwg+vz2epJQi8WOjqtqCFb3W/3Jn72ZiuovIfpdm13MaOiny6w2NErUQC6g==} 108 + engines: {node: '>=18.7.0'} 109 dependencies: 110 + '@atproto/common-web': 0.4.2 111 '@ipld/dag-cbor': 7.0.3 112 cbor-x: 1.5.8 113 iso-datestring-validator: 2.2.2 ··· 125 uint8arrays: 3.0.0 126 dev: false 127 128 + /@atproto/crypto@0.4.4: 129 + resolution: {integrity: sha512-Yq9+crJ7WQl7sxStVpHgie5Z51R05etaK9DLWYG/7bR5T4bhdcIgF6IfklLShtZwLYdVVj+K15s0BqW9a8PSDA==} 130 + engines: {node: '>=18.7.0'} 131 dependencies: 132 + '@noble/curves': 1.8.1 133 + '@noble/hashes': 1.7.1 134 uint8arrays: 3.0.0 135 dev: false 136 137 + /@atproto/did@0.1.5: 138 + resolution: {integrity: sha512-8+1D08QdGE5TF0bB0vV8HLVrVZJeLNITpRTUVEoABNMRaUS7CoYSVb0+JNQDeJIVmqMjOL8dOjvCUDkp3gEaGQ==} 139 + dependencies: 140 + zod: 3.23.8 141 + dev: false 142 + 143 + /@atproto/identity@0.4.8: 144 + resolution: {integrity: sha512-Z0sLnJ87SeNdAifT+rqpgE1Rc3layMMW25gfWNo4u40RGuRODbdfAZlTwBSU2r+Vk45hU+iE+xeQspfednCEnA==} 145 + engines: {node: '>=18.7.0'} 146 dependencies: 147 + '@atproto/common-web': 0.4.2 148 + '@atproto/crypto': 0.4.4 149 dev: false 150 151 + /@atproto/jwk-jose@0.1.9: 152 + resolution: {integrity: sha512-HT9GcUe6htDxI5OSYXWdeS6QZ9lpuDDvJk508ppi8a48E/1f8eumoM0QhgbFRF9IKAnnFrtnZDOAvljQzFKwwQ==} 153 dependencies: 154 + '@atproto/jwk': 0.4.0 155 jose: 5.2.2 156 dev: false 157 158 + /@atproto/jwk@0.4.0: 159 + resolution: {integrity: sha512-tvp4iZrzqEzKCeTOKz50/o6WdsZzOuWmWjF6On5QAp04fLwLpsFu2Hixgx/lA1KBO0O4sns7YSGcAqSSX6Rdog==} 160 dependencies: 161 multiformats: 9.9.0 162 zod: 3.23.8 163 dev: false 164 165 + /@atproto/lexicon@0.4.12: 166 + resolution: {integrity: sha512-fcEvEQ1GpQYF5igZ4IZjPWEoWVpsEF22L9RexxLS3ptfySXLflEyH384e7HITzO/73McDeaJx3lqHIuqn9ulnw==} 167 dependencies: 168 + '@atproto/common-web': 0.4.2 169 + '@atproto/syntax': 0.4.0 170 iso-datestring-validator: 2.2.2 171 multiformats: 9.9.0 172 zod: 3.23.8 173 dev: false 174 175 + /@atproto/oauth-provider-api@0.2.0: 176 + resolution: {integrity: sha512-u18VRCDuz5BloUQKbvTISjQk7CgpDI1hf3leoJ7ADOAo8oW71QZD0tsWDX81R2uB66mKZHptjGSSVxxqpZFipQ==} 177 dependencies: 178 + '@atproto/jwk': 0.4.0 179 + '@atproto/oauth-types': 0.4.0 180 + dev: false 181 + 182 + /@atproto/oauth-provider-frontend@0.1.11: 183 + resolution: {integrity: sha512-MvPUI+vh8a8UWmpAV8VS2qrdJ/B6l75qDQX1z6vF1YkPR1d9SLEdOYx/O26g5ZyuN+Mk00OBdOSfjvON/UOxQA==} 184 + engines: {node: '>=18.7.0'} 185 + optionalDependencies: 186 + '@atproto/oauth-provider-api': 0.2.0 187 + dev: false 188 + 189 + /@atproto/oauth-provider-ui@0.2.0: 190 + resolution: {integrity: sha512-v4rzz3C8i2NBqxycWWDTeosHtv6B9+EW4ZCq9Il6thmHdtT2CmB07R5Ia7zQ1n7lylxI6mC9JqA9CLis0uLz+Q==} 191 + engines: {node: '>=18.7.0'} 192 + optionalDependencies: 193 + '@atproto/oauth-provider-api': 0.2.0 194 + dev: false 195 + 196 + /@atproto/oauth-provider@0.10.0: 197 + resolution: {integrity: sha512-WbDaMC/9Zd4oslA4pPvf7ozum0YAQRxNspYpEauXtJ/bjVxqViKgV158jnPhDbYfo62NkxSuSaUkTV116U/VBg==} 198 + engines: {node: '>=18.7.0'} 199 + dependencies: 200 + '@atproto-labs/fetch': 0.2.3 201 + '@atproto-labs/fetch-node': 0.1.9 202 + '@atproto-labs/pipe': 0.1.1 203 + '@atproto-labs/simple-store': 0.2.0 204 + '@atproto-labs/simple-store-memory': 0.1.3 205 + '@atproto/common': 0.4.11 206 + '@atproto/did': 0.1.5 207 + '@atproto/jwk': 0.4.0 208 + '@atproto/jwk-jose': 0.1.9 209 + '@atproto/oauth-provider-api': 0.2.0 210 + '@atproto/oauth-provider-frontend': 0.1.11 211 + '@atproto/oauth-provider-ui': 0.2.0 212 + '@atproto/oauth-scopes': 0.0.1 213 + '@atproto/oauth-types': 0.4.0 214 + '@atproto/syntax': 0.4.0 215 '@hapi/accept': 6.0.3 216 + '@hapi/address': 5.1.1 217 '@hapi/bourne': 3.0.0 218 + '@hapi/content': 6.0.0 219 + cookie: 0.7.2 220 + disposable-email-domains-js: 1.5.0 221 + forwarded: 0.2.0 222 http-errors: 2.0.0 223 + ioredis: 5.3.2 224 jose: 5.2.2 225 zod: 3.23.8 226 transitivePeerDependencies: 227 - supports-color 228 dev: false 229 230 + /@atproto/oauth-scopes@0.0.1: 231 + resolution: {integrity: sha512-9IGgwM0KrWUwRTg02o4GKZaoKJLOkFwtkq2i39pYQxqJm18jvEvadxW/sR1A5f9f2vbTZtECgIziU5hdd01U5Q==} 232 + dev: false 233 + 234 + /@atproto/oauth-types@0.4.0: 235 + resolution: {integrity: sha512-FrRH9JsPw9H4JxfPDrbrI+pB102tbHTygajfHay7xwz78HPOjSbWPRgWW2hYS4w8vDYdB3PYbBj1jPoKetW7LA==} 236 dependencies: 237 + '@atproto/jwk': 0.4.0 238 zod: 3.23.8 239 dev: false 240 241 + /@atproto/pds@0.4.166: 242 + resolution: {integrity: sha512-LwLiLQNOZsZ4LgD4qmtWf3W5FJEaTA3Bi3Y1x79TXrBfcvcmIoNYBUE0WOLmDFfLyp44caODqS6HCLvqc11T7g==} 243 + engines: {node: '>=18.7.0'} 244 dependencies: 245 + '@atproto-labs/fetch-node': 0.1.9 246 + '@atproto-labs/xrpc-utils': 0.0.18 247 + '@atproto/api': 0.16.2 248 + '@atproto/aws': 0.2.25 249 + '@atproto/common': 0.4.11 250 + '@atproto/crypto': 0.4.4 251 + '@atproto/identity': 0.4.8 252 + '@atproto/lexicon': 0.4.12 253 + '@atproto/oauth-provider': 0.10.0 254 + '@atproto/oauth-scopes': 0.0.1 255 + '@atproto/repo': 0.8.5 256 + '@atproto/syntax': 0.4.0 257 + '@atproto/xrpc': 0.7.1 258 + '@atproto/xrpc-server': 0.9.1 259 '@did-plc/lib': 0.0.4 260 + '@hapi/address': 5.1.1 261 better-sqlite3: 10.1.0 262 bytes: 3.1.2 263 compression: 1.7.4 264 cors: 2.8.5 265 + disposable-email-domains-js: 1.5.0 266 express: 4.18.2 267 express-async-errors: 3.1.1(express@4.18.2) 268 file-type: 16.5.4 ··· 279 p-queue: 6.6.2 280 pino: 8.21.0 281 pino-http: 8.6.1 282 + sharp: 0.33.5 283 typed-emitter: 2.1.0 284 uint8arrays: 3.0.0 285 + undici: 6.20.1 286 zod: 3.23.8 287 transitivePeerDependencies: 288 - aws-crt ··· 292 - utf-8-validate 293 dev: false 294 295 + /@atproto/repo@0.8.5: 296 + resolution: {integrity: sha512-QZ4UWBWDyPMXgPhktmaRYRyCXIw7lIEAyGtaFy7UmCPpJ5TtFKw3GhGrEiNz/fY3/6lrkdDj44/Tzkud/eP/VQ==} 297 + engines: {node: '>=18.7.0'} 298 dependencies: 299 + '@atproto/common': 0.4.11 300 + '@atproto/common-web': 0.4.2 301 + '@atproto/crypto': 0.4.4 302 + '@atproto/lexicon': 0.4.12 303 '@ipld/dag-cbor': 7.0.3 304 multiformats: 9.9.0 305 uint8arrays: 3.0.0 306 + varint: 6.0.0 307 zod: 3.23.8 308 dev: false 309 310 + /@atproto/syntax@0.4.0: 311 + resolution: {integrity: sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==} 312 dev: false 313 314 + /@atproto/xrpc-server@0.9.1: 315 + resolution: {integrity: sha512-AJfxsKrZgKL/5362Rc0oUEjlgpDCmY/soeyLHHjid8J6clbErAdJVCuFwW4T40aHGFY1J13a29ucwbSfOROx6w==} 316 + engines: {node: '>=18.7.0'} 317 dependencies: 318 + '@atproto/common': 0.4.11 319 + '@atproto/crypto': 0.4.4 320 + '@atproto/lexicon': 0.4.12 321 + '@atproto/xrpc': 0.7.1 322 cbor-x: 1.5.8 323 express: 4.18.2 324 http-errors: 2.0.0 ··· 333 - utf-8-validate 334 dev: false 335 336 + /@atproto/xrpc@0.7.1: 337 + resolution: {integrity: sha512-ANHEzlskYlMEdH18m+Itp3a8d0pEJao2qoDybDoMupTnoeNkya4VKIaOgAi6ERQnqatBBZyn9asW+7rJmSt/8g==} 338 dependencies: 339 + '@atproto/lexicon': 0.4.12 340 zod: 3.23.8 341 dev: false 342 ··· 1149 - debug 1150 dev: false 1151 1152 + /@emnapi/runtime@1.3.1: 1153 + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 1154 + requiresBuild: true 1155 + dependencies: 1156 + tslib: 2.6.2 1157 + dev: false 1158 + optional: true 1159 + 1160 /@hapi/accept@6.0.3: 1161 resolution: {integrity: sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==} 1162 dependencies: ··· 1164 '@hapi/hoek': 11.0.4 1165 dev: false 1166 1167 + /@hapi/address@5.1.1: 1168 + resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==} 1169 + engines: {node: '>=14.0.0'} 1170 + dependencies: 1171 + '@hapi/hoek': 11.0.4 1172 + dev: false 1173 + 1174 /@hapi/boom@10.0.1: 1175 resolution: {integrity: sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==} 1176 dependencies: ··· 1181 resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} 1182 dev: false 1183 1184 + /@hapi/content@6.0.0: 1185 + resolution: {integrity: sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA==} 1186 + dependencies: 1187 + '@hapi/boom': 10.0.1 1188 + dev: false 1189 + 1190 /@hapi/hoek@11.0.4: 1191 resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==} 1192 dev: false 1193 1194 + /@img/sharp-darwin-arm64@0.33.5: 1195 + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 1196 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1197 + cpu: [arm64] 1198 + os: [darwin] 1199 + requiresBuild: true 1200 + optionalDependencies: 1201 + '@img/sharp-libvips-darwin-arm64': 1.0.4 1202 + dev: false 1203 + optional: true 1204 + 1205 + /@img/sharp-darwin-x64@0.33.5: 1206 + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 1207 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1208 + cpu: [x64] 1209 + os: [darwin] 1210 + requiresBuild: true 1211 + optionalDependencies: 1212 + '@img/sharp-libvips-darwin-x64': 1.0.4 1213 + dev: false 1214 + optional: true 1215 + 1216 + /@img/sharp-libvips-darwin-arm64@1.0.4: 1217 + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 1218 + cpu: [arm64] 1219 + os: [darwin] 1220 + requiresBuild: true 1221 + dev: false 1222 + optional: true 1223 + 1224 + /@img/sharp-libvips-darwin-x64@1.0.4: 1225 + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 1226 + cpu: [x64] 1227 + os: [darwin] 1228 + requiresBuild: true 1229 dev: false 1230 + optional: true 1231 1232 + /@img/sharp-libvips-linux-arm64@1.0.4: 1233 + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 1234 + cpu: [arm64] 1235 + os: [linux] 1236 + requiresBuild: true 1237 + dev: false 1238 + optional: true 1239 + 1240 + /@img/sharp-libvips-linux-arm@1.0.5: 1241 + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 1242 + cpu: [arm] 1243 + os: [linux] 1244 + requiresBuild: true 1245 + dev: false 1246 + optional: true 1247 + 1248 + /@img/sharp-libvips-linux-s390x@1.0.4: 1249 + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 1250 + cpu: [s390x] 1251 + os: [linux] 1252 + requiresBuild: true 1253 + dev: false 1254 + optional: true 1255 + 1256 + /@img/sharp-libvips-linux-x64@1.0.4: 1257 + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 1258 + cpu: [x64] 1259 + os: [linux] 1260 + requiresBuild: true 1261 + dev: false 1262 + optional: true 1263 + 1264 + /@img/sharp-libvips-linuxmusl-arm64@1.0.4: 1265 + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 1266 + cpu: [arm64] 1267 + os: [linux] 1268 + requiresBuild: true 1269 + dev: false 1270 + optional: true 1271 + 1272 + /@img/sharp-libvips-linuxmusl-x64@1.0.4: 1273 + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 1274 + cpu: [x64] 1275 + os: [linux] 1276 + requiresBuild: true 1277 + dev: false 1278 + optional: true 1279 + 1280 + /@img/sharp-linux-arm64@0.33.5: 1281 + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 1282 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1283 + cpu: [arm64] 1284 + os: [linux] 1285 + requiresBuild: true 1286 + optionalDependencies: 1287 + '@img/sharp-libvips-linux-arm64': 1.0.4 1288 + dev: false 1289 + optional: true 1290 + 1291 + /@img/sharp-linux-arm@0.33.5: 1292 + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 1293 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1294 + cpu: [arm] 1295 + os: [linux] 1296 + requiresBuild: true 1297 + optionalDependencies: 1298 + '@img/sharp-libvips-linux-arm': 1.0.5 1299 + dev: false 1300 + optional: true 1301 + 1302 + /@img/sharp-linux-s390x@0.33.5: 1303 + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 1304 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1305 + cpu: [s390x] 1306 + os: [linux] 1307 + requiresBuild: true 1308 + optionalDependencies: 1309 + '@img/sharp-libvips-linux-s390x': 1.0.4 1310 + dev: false 1311 + optional: true 1312 + 1313 + /@img/sharp-linux-x64@0.33.5: 1314 + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 1315 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1316 + cpu: [x64] 1317 + os: [linux] 1318 + requiresBuild: true 1319 + optionalDependencies: 1320 + '@img/sharp-libvips-linux-x64': 1.0.4 1321 + dev: false 1322 + optional: true 1323 + 1324 + /@img/sharp-linuxmusl-arm64@0.33.5: 1325 + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 1326 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1327 + cpu: [arm64] 1328 + os: [linux] 1329 + requiresBuild: true 1330 + optionalDependencies: 1331 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 1332 + dev: false 1333 + optional: true 1334 + 1335 + /@img/sharp-linuxmusl-x64@0.33.5: 1336 + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 1337 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1338 + cpu: [x64] 1339 + os: [linux] 1340 + requiresBuild: true 1341 + optionalDependencies: 1342 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 1343 + dev: false 1344 + optional: true 1345 + 1346 + /@img/sharp-wasm32@0.33.5: 1347 + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 1348 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1349 + cpu: [wasm32] 1350 + requiresBuild: true 1351 dependencies: 1352 + '@emnapi/runtime': 1.3.1 1353 + dev: false 1354 + optional: true 1355 + 1356 + /@img/sharp-win32-ia32@0.33.5: 1357 + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 1358 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1359 + cpu: [ia32] 1360 + os: [win32] 1361 + requiresBuild: true 1362 + dev: false 1363 + optional: true 1364 + 1365 + /@img/sharp-win32-x64@0.33.5: 1366 + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 1367 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1368 + cpu: [x64] 1369 + os: [win32] 1370 + requiresBuild: true 1371 + dev: false 1372 + optional: true 1373 + 1374 + /@ioredis/commands@1.2.0: 1375 + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} 1376 dev: false 1377 1378 /@ipld/dag-cbor@7.0.3: ··· 1394 wrap-ansi-cjs: /wrap-ansi@7.0.0 1395 dev: false 1396 1397 + /@noble/curves@1.8.1: 1398 + resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==} 1399 + engines: {node: ^14.21.3 || >=16} 1400 dependencies: 1401 + '@noble/hashes': 1.7.1 1402 dev: false 1403 1404 + /@noble/hashes@1.7.1: 1405 + resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} 1406 + engines: {node: ^14.21.3 || >=16} 1407 dev: false 1408 1409 /@noble/secp256k1@1.7.1: ··· 1957 resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 1958 dev: false 1959 1960 /axios@1.6.7: 1961 resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} 1962 dependencies: ··· 1967 - debug 1968 dev: false 1969 1970 /balanced-match@1.0.2: 1971 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1972 dev: false 1973 1974 /base64-js@1.5.1: 1975 resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1976 dev: false ··· 2028 2029 /boolean@3.2.0: 2030 resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} 2031 + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. 2032 dev: false 2033 2034 /bowser@2.11.0: ··· 2199 engines: {node: '>= 0.6'} 2200 dev: false 2201 2202 + /cookie@0.7.2: 2203 + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 2204 engines: {node: '>= 0.6'} 2205 dev: false 2206 ··· 2295 engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 2296 dev: false 2297 2298 + /detect-libc@2.0.3: 2299 + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 2300 engines: {node: '>=8'} 2301 dev: false 2302 2303 + /disposable-email-domains-js@1.5.0: 2304 + resolution: {integrity: sha512-L1cn+cZhKmxUwixH8n+n0HG+WbCz+LF4coyT6yMh930tpkD90ZWFx3A9dHIdFMVM745saaeNGYScIEstm3Y3yg==} 2305 dev: false 2306 2307 /dom-serializer@1.4.1: ··· 2461 - supports-color 2462 dev: false 2463 2464 /fast-printf@1.6.9: 2465 resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} 2466 engines: {node: '>=10.0'} ··· 2777 elliptic: 6.5.4 2778 dev: false 2779 2780 /kysely@0.22.0: 2781 resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==} 2782 engines: {node: '>=14.0.0'} ··· 2793 /lru-cache@10.2.0: 2794 resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} 2795 engines: {node: 14 || >=16.14} 2796 dev: false 2797 2798 /media-typer@0.3.0: ··· 2893 resolution: {integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==} 2894 engines: {node: '>=10'} 2895 dependencies: 2896 + semver: 7.6.3 2897 dev: false 2898 2899 /node-gyp-build-optional-packages@5.1.1: ··· 2901 hasBin: true 2902 requiresBuild: true 2903 dependencies: 2904 + detect-libc: 2.0.3 2905 dev: false 2906 optional: true 2907 ··· 2924 2925 /object-inspect@1.13.1: 2926 resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 2927 dev: false 2928 2929 /on-exit-leak-free@2.1.2: ··· 3049 engines: {node: '>=10'} 3050 hasBin: true 3051 dependencies: 3052 + detect-libc: 2.0.3 3053 expand-template: 2.0.3 3054 github-from-package: 0.0.0 3055 minimist: 1.2.8 ··· 3084 resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 3085 dev: false 3086 3087 /pump@3.0.0: 3088 resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 3089 dependencies: ··· 3098 side-channel: 1.0.5 3099 dev: false 3100 3101 /quick-format-unescaped@4.0.4: 3102 resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 3103 dev: false ··· 3213 resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} 3214 dev: false 3215 3216 + /semver@7.6.3: 3217 + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 3218 engines: {node: '>=10'} 3219 hasBin: true 3220 dev: false 3221 3222 /send@0.18.0: ··· 3268 resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 3269 dev: false 3270 3271 + /sharp@0.33.5: 3272 + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 3273 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 3274 requiresBuild: true 3275 dependencies: 3276 color: 4.2.3 3277 + detect-libc: 2.0.3 3278 + semver: 7.6.3 3279 + optionalDependencies: 3280 + '@img/sharp-darwin-arm64': 0.33.5 3281 + '@img/sharp-darwin-x64': 0.33.5 3282 + '@img/sharp-libvips-darwin-arm64': 1.0.4 3283 + '@img/sharp-libvips-darwin-x64': 1.0.4 3284 + '@img/sharp-libvips-linux-arm': 1.0.5 3285 + '@img/sharp-libvips-linux-arm64': 1.0.4 3286 + '@img/sharp-libvips-linux-s390x': 1.0.4 3287 + '@img/sharp-libvips-linux-x64': 1.0.4 3288 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 3289 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 3290 + '@img/sharp-linux-arm': 0.33.5 3291 + '@img/sharp-linux-arm64': 0.33.5 3292 + '@img/sharp-linux-s390x': 0.33.5 3293 + '@img/sharp-linux-x64': 0.33.5 3294 + '@img/sharp-linuxmusl-arm64': 0.33.5 3295 + '@img/sharp-linuxmusl-x64': 0.33.5 3296 + '@img/sharp-wasm32': 0.33.5 3297 + '@img/sharp-win32-ia32': 0.33.5 3298 + '@img/sharp-win32-x64': 0.33.5 3299 dev: false 3300 3301 /shebang-command@2.0.0: ··· 3375 readable-stream: 3.6.2 3376 dev: false 3377 3378 /string-width@4.2.3: 3379 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3380 engines: {node: '>=8'} ··· 3439 tar-stream: 2.2.0 3440 dev: false 3441 3442 /tar-stream@2.2.0: 3443 resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 3444 engines: {node: '>=6'} ··· 3450 readable-stream: 3.6.2 3451 dev: false 3452 3453 /thread-stream@2.7.0: 3454 resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 3455 dependencies: ··· 3482 resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 3483 dev: false 3484 3485 /tunnel-agent@0.6.0: 3486 resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 3487 dependencies: ··· 3525 resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 3526 dev: false 3527 3528 + /undici@6.20.1: 3529 + resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} 3530 engines: {node: '>=18.17'} 3531 dev: false 3532 ··· 3603 optional: true 3604 utf-8-validate: 3605 optional: true 3606 dev: false 3607 3608 /zod@3.23.8: