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:
-2
ACCOUNT_MIGRATION.md
··· 1 # Account Migration 2 3 - **Update May 2025:** An updated guide to account migration is now [part of the atproto specifications](https://atproto.com/guides/account-migration). There is also [a blog post available](https://whtwnd.com/bnewbold.net/3l5ii332pf32u) which describes how to do an account migration using a command-line tool (`goat`). 4 - 5 ### ⚠️ Warning ⚠️ ️ 6 Account migration is a potentially destructive operation. Part of the operation involves signing away your old PDS's ability to make updates to your DID. If something goes wrong, you could be permanently locked out of your account, and Bluesky will not be able to help you recover it. 7
··· 1 # Account Migration 2 3 ### ⚠️ Warning ⚠️ ️ 4 Account migration is a potentially destructive operation. Part of the operation involves signing away your old PDS's ability to make updates to your DID. If something goes wrong, you could be permanently locked out of your account, and Bluesky will not be able to help you recover it. 5
-8
README.md
··· 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 - #### Common SMTP issues 232 - 233 - If you find that your test messages using cURL or other sources go out correctly, but you are not receiving emails from your PDS, you may need to URL encode your username and password on `/pds/pds.env` and restart the PDS service. 234 - 235 - If the username and/or password contain special characters, the special characters will need to be [percent encoded](https://en.wikipedia.org/wiki/Percent-encoding). For some email services, the username will contain an extra `@` symbol that will also need to be percent encoded. For example, the URL `user&name@oci:p@ssword@smtphost:465` after percent encoding for the username and password fields would become `user%26name%40oci:p%40ssword@smtphost:465`. 236 - 237 - If you are migrating an account, Bluesky's UI will ask you to confirm your email address. The confirmation code email is meant to come from your PDS. If you are encountering issues with SMTP and want to confirm the address before solving it, you can find the confirmation code on the `email_token` table on `accounts.sqlite`. 238 - 239 ### Logging 240 241 By default, logs from the PDS are printed to `stdout` and end up in Docker's log. You can browse them by running:
··· 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:
+7 -1
installer.sh
··· 31 openssl 32 sqlite3 33 xxd 34 - jq 35 " 36 # Docker packages. 37 REQUIRED_DOCKER_PACKAGES=" ··· 215 fi 216 217 # Admin email 218 if [[ -z "${PDS_ADMIN_EMAIL}" ]]; then 219 read -p "Enter an admin email address (e.g. you@example.com): " PDS_ADMIN_EMAIL 220 fi
··· 31 openssl 32 sqlite3 33 xxd 34 " 35 # Docker packages. 36 REQUIRED_DOCKER_PACKAGES=" ··· 214 fi 215 216 # Admin email 217 + if [[ -z "${PDS_ADMIN_EMAIL}" ]]; then 218 + read -p "Enter an admin email address (e.g. you@example.com): " PDS_ADMIN_EMAIL 219 + fi 220 + if [[ -z "${PDS_ADMIN_EMAIL}" ]]; then 221 + usage "No admin email specified" 222 + fi 223 + 224 if [[ -z "${PDS_ADMIN_EMAIL}" ]]; then 225 read -p "Enter an admin email address (e.g. you@example.com): " PDS_ADMIN_EMAIL 226 fi
+1 -1
service/package.json
··· 7 "main": "index.js", 8 "license": "MIT", 9 "dependencies": { 10 - "@atproto/pds": "0.4.138" 11 } 12 }
··· 7 "main": "index.js", 8 "license": "MIT", 9 "dependencies": { 10 + "@atproto/pds": "0.4.166" 11 } 12 }
+77 -64
service/pnpm-lock.yaml
··· 6 7 dependencies: 8 '@atproto/pds': 9 - specifier: 0.4.138 10 - version: 0.4.138 11 12 packages: 13 ··· 42 resolution: {integrity: sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA==} 43 dev: false 44 45 - /@atproto-labs/xrpc-utils@0.0.14: 46 - resolution: {integrity: sha512-/f0Dhzi08w3Oqv38wdwQ5bw238GbxhYIcxg08kVReEMTlkyRDC6H5RuqHf8Ff9J3FKqjKHGdxaOdrPNM1hCgeQ==} 47 dependencies: 48 - '@atproto/xrpc': 0.7.0 49 - '@atproto/xrpc-server': 0.7.18 50 transitivePeerDependencies: 51 - bufferutil 52 - supports-color 53 - utf-8-validate 54 dev: false 55 56 - /@atproto/api@0.15.8: 57 - resolution: {integrity: sha512-PsCgmV4zPjN8VuJMruxqauhn88PuS0b8t2Xsjl4617+bCPpY513jVlxgNH/XExxO7TSVvJM7EzdLY4o3fqh/xQ==} 58 dependencies: 59 '@atproto/common-web': 0.4.2 60 - '@atproto/lexicon': 0.4.11 61 '@atproto/syntax': 0.4.0 62 - '@atproto/xrpc': 0.7.0 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.21: 70 - resolution: {integrity: sha512-bosExZ3YdFjOehNBcNWsC2mZBrAVLO8Ut/JquypXSahFeeXZP/9rd9F1VGf+vAmjFEKagHXQCb6CRFfJyN+I7A==} 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.1 76 '@aws-sdk/client-cloudfront': 3.515.0 77 '@aws-sdk/client-kms': 3.515.0 78 '@aws-sdk/client-s3': 3.515.0 ··· 134 uint8arrays: 3.0.0 135 dev: false 136 137 /@atproto/identity@0.4.8: 138 resolution: {integrity: sha512-Z0sLnJ87SeNdAifT+rqpgE1Rc3layMMW25gfWNo4u40RGuRODbdfAZlTwBSU2r+Vk45hU+iE+xeQspfednCEnA==} 139 engines: {node: '>=18.7.0'} ··· 142 '@atproto/crypto': 0.4.4 143 dev: false 144 145 - /@atproto/jwk-jose@0.1.6: 146 - resolution: {integrity: sha512-r4DGMvvmazy6CxqAcnplpUxvp6Vd8UwKxQBZRpmm1aNsVonf5qj1yeDkECTiwoe/FPbvtdamlzClB3UZc7Yb5w==} 147 dependencies: 148 - '@atproto/jwk': 0.1.5 149 jose: 5.2.2 150 dev: false 151 152 - /@atproto/jwk@0.1.5: 153 - resolution: {integrity: sha512-OzZFLhX41TOcMeanP3aZlL5bLeaUIZT15MI4aU5cwflNq/rwpGOpz3uwDjZc8ytgUjuTQ8LabSz5jMmwoTSWFg==} 154 dependencies: 155 multiformats: 9.9.0 156 zod: 3.23.8 157 dev: false 158 159 - /@atproto/lexicon@0.4.11: 160 - resolution: {integrity: sha512-btefdnvNz2Ao2I+qbmj0F06HC8IlrM/IBz6qOBS50r0S6uDf5tOO+Mv2tSVdimFkdzyDdLtBI1sV36ONxz2cOw==} 161 dependencies: 162 '@atproto/common-web': 0.4.2 163 '@atproto/syntax': 0.4.0 ··· 166 zod: 3.23.8 167 dev: false 168 169 - /@atproto/oauth-provider-api@0.1.2: 170 - resolution: {integrity: sha512-tNAuMrE6D3696euavxo1+Jh7Re0PPwJstbyY8SrdVPXgKJh/LrbpKUKiPNW/p5KyVfRs2tWeAxy+ReESu6SmXA==} 171 dependencies: 172 - '@atproto/jwk': 0.1.5 173 - '@atproto/oauth-types': 0.2.7 174 dev: false 175 176 - /@atproto/oauth-provider-frontend@0.1.4: 177 - resolution: {integrity: sha512-TLKL5lTmSieHx7+3RVIx7rIxRPP1SNCwzzdTvYB46yd1XrGHdPU//M6CP5OZ1BvcxF6H4JXIkOSWvFseol+gOw==} 178 engines: {node: '>=18.7.0'} 179 optionalDependencies: 180 - '@atproto/oauth-provider-api': 0.1.2 181 dev: false 182 183 - /@atproto/oauth-provider-ui@0.1.5: 184 - resolution: {integrity: sha512-pW0Vx3kvIWH1Mu3SOImNHP9JbmhSj2e3ChDvtfXCWI1oC03fiaMlJfdxrx9Plq5Z+DajnCzPzrf1Lvbopjf94Q==} 185 engines: {node: '>=18.7.0'} 186 optionalDependencies: 187 - '@atproto/oauth-provider-api': 0.1.2 188 dev: false 189 190 - /@atproto/oauth-provider@0.7.7: 191 - resolution: {integrity: sha512-ElphzmOjw1hr42HN4dD6sMAQFtpTkaJ8bBDAsbL9YBVJDEGhmHsF3Ye8mDUO4nhEdg7PUTWiCzXyqnaorAjiTA==} 192 engines: {node: '>=18.7.0'} 193 dependencies: 194 '@atproto-labs/fetch': 0.2.3 ··· 197 '@atproto-labs/simple-store': 0.2.0 198 '@atproto-labs/simple-store-memory': 0.1.3 199 '@atproto/common': 0.4.11 200 - '@atproto/jwk': 0.1.5 201 - '@atproto/jwk-jose': 0.1.6 202 - '@atproto/oauth-provider-api': 0.1.2 203 - '@atproto/oauth-provider-frontend': 0.1.4 204 - '@atproto/oauth-provider-ui': 0.1.5 205 - '@atproto/oauth-types': 0.2.7 206 '@atproto/syntax': 0.4.0 207 '@hapi/accept': 6.0.3 208 '@hapi/address': 5.1.1 209 '@hapi/bourne': 3.0.0 210 '@hapi/content': 6.0.0 211 - cookie: 0.6.0 212 disposable-email-domains-js: 1.5.0 213 forwarded: 0.2.0 214 http-errors: 2.0.0 ··· 219 - supports-color 220 dev: false 221 222 - /@atproto/oauth-types@0.2.7: 223 - resolution: {integrity: sha512-2SlDveiSI0oowC+sfuNd/npV8jw/FhokSS26qyUyldTg1g9ZlhxXUfMP4IZOPeZcVn9EszzQRHs1H9ZJqVQIew==} 224 dependencies: 225 - '@atproto/jwk': 0.1.5 226 zod: 3.23.8 227 dev: false 228 229 - /@atproto/pds@0.4.138: 230 - resolution: {integrity: sha512-WLzDhmguTgs2wQNKoGxCbpKNegDnRiemSslenMbPrB7kSiXYj+XZobLyoIXHv1EnAd2pbThwNEL8z8EfkM0mDg==} 231 engines: {node: '>=18.7.0'} 232 dependencies: 233 '@atproto-labs/fetch-node': 0.1.9 234 - '@atproto-labs/xrpc-utils': 0.0.14 235 - '@atproto/api': 0.15.8 236 - '@atproto/aws': 0.2.21 237 '@atproto/common': 0.4.11 238 '@atproto/crypto': 0.4.4 239 '@atproto/identity': 0.4.8 240 - '@atproto/lexicon': 0.4.11 241 - '@atproto/oauth-provider': 0.7.7 242 - '@atproto/repo': 0.8.1 243 '@atproto/syntax': 0.4.0 244 - '@atproto/xrpc': 0.7.0 245 - '@atproto/xrpc-server': 0.7.18 246 '@did-plc/lib': 0.0.4 247 '@hapi/address': 5.1.1 248 better-sqlite3: 10.1.0 ··· 279 - utf-8-validate 280 dev: false 281 282 - /@atproto/repo@0.8.1: 283 - resolution: {integrity: sha512-d1NtHhXYJVJlFVI6mbVOUnpB0rnhqxPnZcALkJoYJjaDPVr4NNqRFAtrwb+GHzxT6DhijoXYQf24pKGfEFDd4g==} 284 engines: {node: '>=18.7.0'} 285 dependencies: 286 '@atproto/common': 0.4.11 287 '@atproto/common-web': 0.4.2 288 '@atproto/crypto': 0.4.4 289 - '@atproto/lexicon': 0.4.11 290 '@ipld/dag-cbor': 7.0.3 291 multiformats: 9.9.0 292 uint8arrays: 3.0.0 ··· 298 resolution: {integrity: sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==} 299 dev: false 300 301 - /@atproto/xrpc-server@0.7.18: 302 - resolution: {integrity: sha512-kjlAsI+UNbbm6AK3Y5Hb4BJ7VQHNKiYYu2kX5vhZJZHO8qfO40GPYYb/2TknZV8IG6fDPBQhUpcDRolI86sgag==} 303 engines: {node: '>=18.7.0'} 304 dependencies: 305 '@atproto/common': 0.4.11 306 '@atproto/crypto': 0.4.4 307 - '@atproto/lexicon': 0.4.11 308 - '@atproto/xrpc': 0.7.0 309 cbor-x: 1.5.8 310 express: 4.18.2 311 http-errors: 2.0.0 ··· 320 - utf-8-validate 321 dev: false 322 323 - /@atproto/xrpc@0.7.0: 324 - resolution: {integrity: sha512-SfhP9dGx2qclaScFDb58Jnrmim5nk4geZXCqg6sB0I/KZhZEkr9iIx1hLCp+sxkIfEsmEJjeWO4B0rjUIJW5cw==} 325 dependencies: 326 - '@atproto/lexicon': 0.4.11 327 zod: 3.23.8 328 dev: false 329 ··· 2186 engines: {node: '>= 0.6'} 2187 dev: false 2188 2189 - /cookie@0.6.0: 2190 - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 2191 engines: {node: '>= 0.6'} 2192 dev: false 2193
··· 6 7 dependencies: 8 '@atproto/pds': 9 + specifier: 0.4.166 10 + version: 0.4.166 11 12 packages: 13 ··· 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 ··· 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'} ··· 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 ··· 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 ··· 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 ··· 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 ··· 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 ··· 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 ··· 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