@atproto/pds 0.5.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/account-manager/account-manager.d.ts.map +1 -1
- package/dist/account-manager/account-manager.js +16 -19
- package/dist/account-manager/account-manager.js.map +1 -1
- package/dist/account-manager/oauth-store.d.ts.map +1 -1
- package/dist/account-manager/oauth-store.js +46 -26
- package/dist/account-manager/oauth-store.js.map +1 -1
- package/dist/api/com/atproto/admin/deleteAccount.d.ts.map +1 -1
- package/dist/api/com/atproto/admin/deleteAccount.js +9 -4
- package/dist/api/com/atproto/admin/deleteAccount.js.map +1 -1
- package/dist/api/com/atproto/admin/updateSubjectStatus.js +1 -1
- package/dist/api/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/api/com/atproto/identity/submitPlcOperation.js +1 -1
- package/dist/api/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/api/com/atproto/server/activateAccount.js +1 -3
- package/dist/api/com/atproto/server/activateAccount.js.map +1 -1
- package/dist/api/com/atproto/server/createAccount.d.ts.map +1 -1
- package/dist/api/com/atproto/server/createAccount.js +61 -45
- package/dist/api/com/atproto/server/createAccount.js.map +1 -1
- package/dist/api/com/atproto/server/deactivateAccount.js +1 -1
- package/dist/api/com/atproto/server/deactivateAccount.js.map +1 -1
- package/dist/api/com/atproto/server/deleteAccount.d.ts.map +1 -1
- package/dist/api/com/atproto/server/deleteAccount.js +9 -4
- package/dist/api/com/atproto/server/deleteAccount.js.map +1 -1
- package/dist/api/com/atproto/sync/getRepo.d.ts.map +1 -1
- package/dist/api/com/atproto/sync/getRepo.js +21 -9
- package/dist/api/com/atproto/sync/getRepo.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -39
- package/dist/index.js.map +1 -1
- package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts +4 -0
- package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/convo/defs.defs.js +1 -0
- package/dist/lexicons/chat/bsky/convo/defs.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.d.ts +3 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.d.ts.map +1 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.defs.d.ts +23 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.defs.d.ts.map +1 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.defs.js +19 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.defs.js.map +1 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.js +6 -0
- package/dist/lexicons/chat/bsky/convo/getUnreadCounts.js.map +1 -0
- package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.d.ts +1 -1
- package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.js +1 -0
- package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/convo.d.ts +1 -0
- package/dist/lexicons/chat/bsky/convo.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/convo.js +1 -0
- package/dist/lexicons/chat/bsky/convo.js.map +1 -1
- package/dist/lexicons/chat/bsky/embed/joinLink.defs.d.ts +1 -1
- package/dist/lexicons/chat/bsky/embed/joinLink.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/embed/joinLink.defs.js +5 -1
- package/dist/lexicons/chat/bsky/embed/joinLink.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/createGroup.defs.d.ts +5 -5
- package/dist/lexicons/chat/bsky/group/createGroup.defs.js +3 -3
- package/dist/lexicons/chat/bsky/group/createGroup.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.d.ts +26 -2
- package/dist/lexicons/chat/bsky/group/defs.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.js +15 -2
- package/dist/lexicons/chat/bsky/group/defs.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.d.ts +3 -3
- package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.js +6 -2
- package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.d.ts +1 -1
- package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.js.map +1 -1
- package/dist/lexicons/index.d.ts +1 -0
- package/dist/lexicons/index.d.ts.map +1 -1
- package/dist/lexicons/index.js +1 -0
- package/dist/lexicons/index.js.map +1 -1
- package/dist/lexicons/internal/bsky/actor/getProfiles.d.ts +3 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.d.ts.map +1 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.defs.d.ts +38 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.defs.d.ts.map +1 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.defs.js +26 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.defs.js.map +1 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.js +6 -0
- package/dist/lexicons/internal/bsky/actor/getProfiles.js.map +1 -0
- package/dist/lexicons/internal/bsky/actor.d.ts +2 -0
- package/dist/lexicons/internal/bsky/actor.d.ts.map +1 -0
- package/dist/lexicons/internal/bsky/actor.js +5 -0
- package/dist/lexicons/internal/bsky/actor.js.map +1 -0
- package/dist/lexicons/internal/bsky.d.ts +2 -0
- package/dist/lexicons/internal/bsky.d.ts.map +1 -0
- package/dist/lexicons/internal/bsky.js +5 -0
- package/dist/lexicons/internal/bsky.js.map +1 -0
- package/dist/lexicons/internal.d.ts +2 -0
- package/dist/lexicons/internal.d.ts.map +1 -0
- package/dist/lexicons/internal.js +5 -0
- package/dist/lexicons/internal.js.map +1 -0
- package/dist/rate-limits.d.ts +7 -0
- package/dist/rate-limits.d.ts.map +1 -0
- package/dist/rate-limits.js +50 -0
- package/dist/rate-limits.js.map +1 -0
- package/dist/scripts/publish-identity.js +1 -1
- package/dist/scripts/publish-identity.js.map +1 -1
- package/dist/scripts/rebuild-repo.js +1 -1
- package/dist/scripts/rebuild-repo.js.map +1 -1
- package/dist/scripts/rotate-keys.js +2 -2
- package/dist/scripts/rotate-keys.js.map +1 -1
- package/dist/scripts/sequencer-recovery/recoverer.js +7 -5
- package/dist/scripts/sequencer-recovery/recoverer.js.map +1 -1
- package/dist/sequencer/sequencer.d.ts +8 -6
- package/dist/sequencer/sequencer.d.ts.map +1 -1
- package/dist/sequencer/sequencer.js +40 -21
- package/dist/sequencer/sequencer.js.map +1 -1
- package/package.json +10 -10
- package/src/account-manager/account-manager.ts +26 -23
- package/src/account-manager/oauth-store.ts +55 -36
- package/src/api/com/atproto/admin/deleteAccount.ts +9 -7
- package/src/api/com/atproto/admin/updateSubjectStatus.ts +1 -1
- package/src/api/com/atproto/identity/submitPlcOperation.ts +1 -1
- package/src/api/com/atproto/server/activateAccount.ts +3 -3
- package/src/api/com/atproto/server/createAccount.ts +72 -63
- package/src/api/com/atproto/server/deactivateAccount.ts +1 -1
- package/src/api/com/atproto/server/deleteAccount.ts +9 -7
- package/src/api/com/atproto/sync/getRepo.ts +26 -9
- package/src/index.ts +3 -42
- package/src/rate-limits.ts +59 -0
- package/src/scripts/publish-identity.ts +1 -1
- package/src/scripts/rebuild-repo.ts +1 -1
- package/src/scripts/rotate-keys.ts +2 -2
- package/src/scripts/sequencer-recovery/recoverer.ts +9 -5
- package/src/sequencer/sequencer.ts +52 -23
- package/tests/account-manager.test.ts +78 -0
- package/tsconfig.build.json +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.json +2 -2
- package/tsconfig.tests.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/createAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import * as plc from '@did-plc/lib'\nimport { isEmailValid } from '@hapi/address'\nimport { isDisposableEmail } from 'disposable-email-domains-js'\nimport { DidDocument, MINUTE, check } from '@atproto/common'\nimport { ExportableKeypair, Keypair, Secp256k1Keypair } from '@atproto/crypto'\nimport { AtprotoData, ensureAtpDocument } from '@atproto/identity'\nimport { DidString } from '@atproto/syntax'\nimport {\n AuthRequiredError,\n InvalidRequestError,\n Server,\n} from '@atproto/xrpc-server'\nimport { AccountStatus } from '../../../../account-manager/account-manager.js'\nimport { NEW_PASSWORD_MAX_LENGTH } from '../../../../account-manager/helpers/scrypt.js'\nimport { AppContext } from '../../../../context.js'\nimport { baseNormalizeAndValidate } from '../../../../handle/index.js'\nimport { com } from '../../../../lexicons/index.js'\nimport { syncEvtDataFromCommit } from '../../../../sequencer/index.js'\nimport { safeResolveDidDoc } from './util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n server.add(com.atproto.server.createAccount, {\n rateLimit: {\n durationMs: 5 * MINUTE,\n points: 100,\n },\n auth: ctx.authVerifier.userServiceAuthOptional,\n handler: async ({\n input,\n auth,\n req,\n }): Promise<com.atproto.server.createAccount.$Output> => {\n // @NOTE Until this code and the OAuthStore's `createAccount` are\n // refactored together, any change made here must be reflected over there.\n\n const requester = auth.credentials?.did ?? null\n const {\n did,\n handle,\n email,\n password,\n inviteCode,\n signingKey,\n plcOp,\n deactivated,\n } = ctx.entrywayClient\n ? await validateInputsForEntrywayPds(ctx, input.body)\n : await validateInputsForLocalPds(ctx, input.body, requester)\n\n let didDoc: DidDocument | undefined\n let creds: { accessJwt: string; refreshJwt: string }\n await ctx.actorStore.create(did, signingKey)\n try {\n const commit = await ctx.actorStore.transact(did, (actorTxn) =>\n actorTxn.repo.createRepo([]),\n )\n\n // Generate a real did with PLC\n if (plcOp) {\n try {\n await ctx.plcClient.sendOperation(did, plcOp)\n } catch (err) {\n req.log.error(\n { didKey: ctx.plcRotationKey.did(), handle },\n 'failed to create did:plc',\n )\n throw err\n }\n }\n\n didDoc = await safeResolveDidDoc(ctx, did, true)\n\n creds = await ctx.accountManager.createAccountAndSession({\n did,\n handle,\n email,\n password,\n repoCid: commit.cid,\n repoRev: commit.rev,\n inviteCode,\n deactivated,\n })\n\n if (!deactivated) {\n await ctx.sequencer.sequenceIdentityEvt(did, handle)\n await ctx.sequencer.sequenceAccountEvt(did, AccountStatus.Active)\n await ctx.sequencer.sequenceCommit(did, commit)\n await ctx.sequencer.sequenceSyncEvt(\n did,\n syncEvtDataFromCommit(commit),\n )\n }\n await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)\n await ctx.actorStore.clearReservedKeypair(signingKey.did(), did)\n } catch (err) {\n // this will only be reached if the actor store _did not_ exist before\n await ctx.actorStore.destroy(did)\n throw err\n }\n\n return {\n encoding: 'application/json' as const,\n body: {\n handle,\n did: did,\n // @ts-expect-error https://github.com/bluesky-social/atproto/pull/4406\n didDoc,\n accessJwt: creds.accessJwt,\n refreshJwt: creds.refreshJwt,\n },\n }\n },\n })\n}\n\nconst validateInputsForEntrywayPds = async (\n ctx: AppContext,\n input: com.atproto.server.createAccount.$InputBody,\n) => {\n const { did, plcOp } = input\n const handle = baseNormalizeAndValidate(input.handle)\n if (!did || !input.plcOp) {\n throw new InvalidRequestError(\n 'non-entryway pds requires bringing a DID and plcOp',\n )\n }\n if (!check.is(plcOp, plc.def.operation)) {\n throw new InvalidRequestError('invalid plc operation', 'IncompatibleDidDoc')\n }\n const plcRotationKey = ctx.cfg.entryway?.plcRotationKey\n if (!plcRotationKey || !plcOp.rotationKeys.includes(plcRotationKey)) {\n throw new InvalidRequestError(\n 'PLC DID does not include service rotation key',\n 'IncompatibleDidDoc',\n )\n }\n try {\n await plc.assureValidOp(plcOp)\n await plc.assureValidSig([plcRotationKey], plcOp)\n } catch (err) {\n throw new InvalidRequestError('invalid plc operation', 'IncompatibleDidDoc')\n }\n const doc = plc.formatDidDoc({ did, ...plcOp })\n const data = ensureAtpDocument(doc)\n\n let signingKey: ExportableKeypair | undefined\n if (input.did) {\n signingKey = await ctx.actorStore.getReservedKeypair(input.did)\n }\n if (!signingKey) {\n signingKey = await ctx.actorStore.getReservedKeypair(data.signingKey)\n }\n if (!signingKey) {\n throw new InvalidRequestError('reserved signing key does not exist')\n }\n\n validateAtprotoData(data, {\n handle,\n pds: ctx.cfg.service.publicUrl,\n signingKey: signingKey.did(),\n })\n\n return {\n did,\n handle,\n email: undefined,\n password: undefined,\n inviteCode: undefined,\n signingKey,\n plcOp,\n deactivated: false,\n }\n}\n\nconst validateInputsForLocalPds = async (\n ctx: AppContext,\n input: com.atproto.server.createAccount.$InputBody,\n requester: string | null,\n) => {\n const { email, password, inviteCode } = input\n if (input.plcOp) {\n throw new InvalidRequestError('Unsupported input: \"plcOp\"')\n }\n\n if (password && password.length > NEW_PASSWORD_MAX_LENGTH) {\n throw new InvalidRequestError(\n `Password too long. Maximum length is ${NEW_PASSWORD_MAX_LENGTH} characters.`,\n )\n }\n\n if (ctx.cfg.invites.required && !inviteCode) {\n throw new InvalidRequestError(\n 'No invite code provided',\n 'InvalidInviteCode',\n )\n }\n\n if (!email) {\n throw new InvalidRequestError('Email is required')\n } else if (!isEmailValid(email) || isDisposableEmail(email)) {\n throw new InvalidRequestError(\n 'This email address is not supported, please use a different email.',\n )\n }\n\n // normalize & ensure valid handle\n const handle = await ctx.accountManager.normalizeAndValidateHandle(\n input.handle,\n { did: input.did },\n )\n\n // check that the invite code still has uses\n if (ctx.cfg.invites.required && inviteCode) {\n await ctx.accountManager.ensureInviteIsAvailable(inviteCode)\n }\n\n // check that the handle and email are available\n const [handleAccnt, emailAcct] = await Promise.all([\n ctx.accountManager.getAccount(handle),\n ctx.accountManager.getAccountByEmail(email),\n ])\n if (handleAccnt) {\n throw new InvalidRequestError(`Handle already taken: ${handle}`)\n } else if (emailAcct) {\n throw new InvalidRequestError(`Email already taken: ${email}`)\n }\n\n // determine the did & any plc ops we need to send\n // if the provided did document is poorly setup, we throw\n const signingKey = await Secp256k1Keypair.create({ exportable: true })\n\n let did: DidString\n let plcOp: plc.Operation | null\n let deactivated = false\n if (input.did) {\n if (input.did !== requester) {\n throw new AuthRequiredError(\n `Missing auth to create account with did: ${input.did}`,\n )\n }\n did = input.did\n plcOp = null\n deactivated = true\n } else {\n const formatted = await formatDidAndPlcOp(ctx, handle, input, signingKey)\n did = formatted.did as DidString\n plcOp = formatted.plcOp\n }\n\n return {\n did,\n handle,\n email,\n password,\n inviteCode,\n signingKey,\n plcOp,\n deactivated,\n }\n}\n\nconst formatDidAndPlcOp = async (\n ctx: AppContext,\n handle: string,\n input: com.atproto.server.createAccount.$InputBody,\n signingKey: Keypair,\n): Promise<{\n did: string\n plcOp: plc.Operation | null\n}> => {\n // if the user is not bringing a DID, then we format a create op for PLC\n const rotationKeys = [ctx.plcRotationKey.did()]\n if (ctx.cfg.identity.recoveryDidKey) {\n rotationKeys.unshift(ctx.cfg.identity.recoveryDidKey)\n }\n if (input.recoveryKey) {\n rotationKeys.unshift(input.recoveryKey)\n }\n const plcCreate = await plc.createOp({\n signingKey: signingKey.did(),\n rotationKeys,\n handle,\n pds: ctx.cfg.service.publicUrl,\n signer: ctx.plcRotationKey,\n })\n return {\n did: plcCreate.did,\n plcOp: plcCreate.op,\n }\n}\nconst validateAtprotoData = (\n data: AtprotoData,\n expected: {\n handle: string\n pds: string\n signingKey: string\n },\n) => {\n // if the user is bringing their own did:\n // resolve the user's did doc data, including rotationKeys if did:plc\n // determine if we have the capability to make changes to their DID\n if (data.handle !== expected.handle) {\n throw new InvalidRequestError(\n 'provided handle does not match DID document handle',\n 'IncompatibleDidDoc',\n )\n } else if (data.pds !== expected.pds) {\n throw new InvalidRequestError(\n 'DID document pds endpoint does not match service endpoint',\n 'IncompatibleDidDoc',\n )\n } else if (data.signingKey !== expected.signingKey) {\n throw new InvalidRequestError(\n 'DID document signing key does not match service signing key',\n 'IncompatibleDidDoc',\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/createAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import * as plc from '@did-plc/lib'\nimport { isEmailValid } from '@hapi/address'\nimport { isDisposableEmail } from 'disposable-email-domains-js'\nimport { MINUTE, check } from '@atproto/common'\nimport { ExportableKeypair, Keypair, Secp256k1Keypair } from '@atproto/crypto'\nimport { AtprotoData, ensureAtpDocument } from '@atproto/identity'\nimport { DidString } from '@atproto/syntax'\nimport {\n AuthRequiredError,\n InvalidRequestError,\n Server,\n} from '@atproto/xrpc-server'\nimport { NEW_PASSWORD_MAX_LENGTH } from '../../../../account-manager/helpers/scrypt.js'\nimport { AppContext } from '../../../../context.js'\nimport { baseNormalizeAndValidate } from '../../../../handle/index.js'\nimport { com } from '../../../../lexicons/index.js'\nimport { safeResolveDidDoc } from './util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n server.add(com.atproto.server.createAccount, {\n rateLimit: {\n durationMs: 5 * MINUTE,\n points: 100,\n },\n auth: ctx.authVerifier.userServiceAuthOptional,\n handler: async ({\n input,\n auth,\n req,\n }): Promise<com.atproto.server.createAccount.$Output> => {\n // @NOTE Until this code and the OAuthStore's `createAccount` are\n // refactored together, any change made here must be reflected over there.\n\n const requester = auth.credentials?.did ?? null\n const {\n did,\n handle,\n email,\n password,\n inviteCode,\n signingKey,\n plcOp,\n deactivated,\n } = ctx.entrywayClient\n ? await validateInputsForEntrywayPds(ctx, input.body)\n : await validateInputsForLocalPds(ctx, input.body, requester)\n\n await ctx.actorStore.create(did, signingKey)\n\n try {\n const commit = await ctx.actorStore.transact(did, (actorTxn) => {\n return actorTxn.repo.createRepo([])\n })\n\n const canTombstone =\n // @NOTE IMPORTANT Because the user may be bringing their own did, we\n // must make sure not to tombstone their did on failure if we didn't\n // create it here.\n !ctx.entrywayClient && !input.body.did && !!plcOp\n\n // Generate a real did with PLC\n if (plcOp) {\n await ctx.plcClient.sendOperation(did, plcOp)\n }\n\n try {\n const didDoc = await safeResolveDidDoc(ctx, did, true)\n\n const creds = await ctx.accountManager.createAccountAndSession({\n did,\n handle,\n email,\n password,\n repoCid: commit.cid,\n repoRev: commit.rev,\n inviteCode,\n deactivated,\n })\n\n try {\n const sequenceEvt = !deactivated\n if (sequenceEvt) {\n await ctx.sequencer.sequenceAccountCreation(did, handle, commit)\n }\n\n try {\n await ctx.actorStore\n .clearReservedKeypair(signingKey.did(), did)\n .catch((err) => {\n // @NOTE This is a cleanup operation so we won't fail the whole\n // flow if it fails, but we log it just in case\n req.log.error(\n { did, signingKeyDid: signingKey.did(), err },\n 'Failed to clear reserved keypair',\n )\n })\n\n return {\n encoding: 'application/json' as const,\n body: {\n handle,\n did: did,\n // @ts-expect-error https://github.com/bluesky-social/atproto/pull/4406\n didDoc,\n accessJwt: creds.accessJwt,\n refreshJwt: creds.refreshJwt,\n },\n }\n } catch (err) {\n if (sequenceEvt) await ctx.sequencer.sequenceAccountDeletion(did)\n throw err\n }\n } catch (err) {\n await ctx.accountManager.deleteAccount(did)\n throw err\n }\n } catch (err) {\n if (canTombstone) {\n await ctx.plcClient.tombstone(did, ctx.plcRotationKey)\n }\n throw err\n }\n } catch (err) {\n await ctx.actorStore.destroy(did)\n throw err\n }\n },\n })\n}\n\nconst validateInputsForEntrywayPds = async (\n ctx: AppContext,\n input: com.atproto.server.createAccount.$InputBody,\n) => {\n const handle = baseNormalizeAndValidate(input.handle)\n\n const { did, plcOp } = input\n if (!did || !plcOp) {\n throw new InvalidRequestError(\n 'non-entryway pds requires bringing a DID and plcOp',\n )\n }\n if (!check.is(plcOp, plc.def.operation)) {\n throw new InvalidRequestError('invalid plc operation', 'IncompatibleDidDoc')\n }\n const plcRotationKey = ctx.cfg.entryway?.plcRotationKey\n if (!plcRotationKey || !plcOp.rotationKeys.includes(plcRotationKey)) {\n throw new InvalidRequestError(\n 'PLC DID does not include service rotation key',\n 'IncompatibleDidDoc',\n )\n }\n try {\n await plc.assureValidOp(plcOp)\n await plc.assureValidSig([plcRotationKey], plcOp)\n } catch (err) {\n throw new InvalidRequestError('invalid plc operation', 'IncompatibleDidDoc')\n }\n const doc = plc.formatDidDoc({ did, ...plcOp })\n const data = ensureAtpDocument(doc)\n\n let signingKey: ExportableKeypair | undefined\n if (input.did) {\n signingKey = await ctx.actorStore.getReservedKeypair(input.did)\n }\n if (!signingKey) {\n signingKey = await ctx.actorStore.getReservedKeypair(data.signingKey)\n }\n if (!signingKey) {\n throw new InvalidRequestError('reserved signing key does not exist')\n }\n\n validateAtprotoData(data, {\n handle,\n pds: ctx.cfg.service.publicUrl,\n signingKey: signingKey.did(),\n })\n\n return {\n did,\n handle,\n email: undefined,\n password: undefined,\n inviteCode: undefined,\n signingKey,\n plcOp,\n deactivated: false,\n }\n}\n\nconst validateInputsForLocalPds = async (\n ctx: AppContext,\n input: com.atproto.server.createAccount.$InputBody,\n requester: string | null,\n) => {\n const { email, password, inviteCode } = input\n if (input.plcOp) {\n throw new InvalidRequestError('Unsupported input: \"plcOp\"')\n }\n\n if (password && password.length > NEW_PASSWORD_MAX_LENGTH) {\n throw new InvalidRequestError(\n `Password too long. Maximum length is ${NEW_PASSWORD_MAX_LENGTH} characters.`,\n )\n }\n\n if (ctx.cfg.invites.required && !inviteCode) {\n throw new InvalidRequestError(\n 'No invite code provided',\n 'InvalidInviteCode',\n )\n }\n\n if (!email) {\n throw new InvalidRequestError('Email is required')\n } else if (!isEmailValid(email) || isDisposableEmail(email)) {\n throw new InvalidRequestError(\n 'This email address is not supported, please use a different email.',\n )\n }\n\n // normalize & ensure valid handle\n const handle = await ctx.accountManager.normalizeAndValidateHandle(\n input.handle,\n { did: input.did },\n )\n\n // check that the invite code still has uses\n if (ctx.cfg.invites.required && inviteCode) {\n await ctx.accountManager.ensureInviteIsAvailable(inviteCode)\n }\n\n // check that the handle and email are available\n const [handleAccnt, emailAcct] = await Promise.all([\n ctx.accountManager.getAccount(handle),\n ctx.accountManager.getAccountByEmail(email),\n ])\n if (handleAccnt) {\n throw new InvalidRequestError(`Handle already taken: ${handle}`)\n } else if (emailAcct) {\n throw new InvalidRequestError(`Email already taken: ${email}`)\n }\n\n // determine the did & any plc ops we need to send\n // if the provided did document is poorly setup, we throw\n const signingKey = await Secp256k1Keypair.create({ exportable: true })\n\n let did: DidString\n let plcOp: plc.Operation | null\n let deactivated = false\n if (input.did) {\n if (input.did !== requester) {\n throw new AuthRequiredError(\n `Missing auth to create account with did: ${input.did}`,\n )\n }\n did = input.did\n plcOp = null\n deactivated = true\n } else {\n const formatted = await formatDidAndPlcOp(ctx, handle, input, signingKey)\n did = formatted.did as DidString\n plcOp = formatted.op\n }\n\n return {\n did,\n handle,\n email,\n password,\n inviteCode,\n signingKey,\n plcOp,\n deactivated,\n }\n}\n\nconst formatDidAndPlcOp = async (\n ctx: AppContext,\n handle: string,\n input: com.atproto.server.createAccount.$InputBody,\n signingKey: Keypair,\n) => {\n // if the user is not bringing a DID, then we format a create op for PLC\n const rotationKeys = [ctx.plcRotationKey.did()]\n if (ctx.cfg.identity.recoveryDidKey) {\n rotationKeys.unshift(ctx.cfg.identity.recoveryDidKey)\n }\n if (input.recoveryKey) {\n rotationKeys.unshift(input.recoveryKey)\n }\n return plc.createOp({\n signingKey: signingKey.did(),\n rotationKeys,\n handle,\n pds: ctx.cfg.service.publicUrl,\n signer: ctx.plcRotationKey,\n })\n}\nconst validateAtprotoData = (\n data: AtprotoData,\n expected: {\n handle: string\n pds: string\n signingKey: string\n },\n) => {\n // if the user is bringing their own did:\n // resolve the user's did doc data, including rotationKeys if did:plc\n // determine if we have the capability to make changes to their DID\n if (data.handle !== expected.handle) {\n throw new InvalidRequestError(\n 'provided handle does not match DID document handle',\n 'IncompatibleDidDoc',\n )\n } else if (data.pds !== expected.pds) {\n throw new InvalidRequestError(\n 'DID document pds endpoint does not match service endpoint',\n 'IncompatibleDidDoc',\n )\n } else if (data.signingKey !== expected.signingKey) {\n throw new InvalidRequestError(\n 'DID document signing key does not match service signing key',\n 'IncompatibleDidDoc',\n )\n }\n}\n"]}
|
|
@@ -30,7 +30,7 @@ export default function (server, ctx) {
|
|
|
30
30
|
const requester = auth.credentials.did;
|
|
31
31
|
await ctx.accountManager.deactivateAccount(requester, body.deleteAfter ?? null);
|
|
32
32
|
const status = await ctx.accountManager.getAccountStatus(requester);
|
|
33
|
-
await ctx.sequencer.
|
|
33
|
+
await ctx.sequencer.sequenceAccount(requester, status);
|
|
34
34
|
},
|
|
35
35
|
});
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deactivateAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deactivateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAU,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAEnD,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9B,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;QAC1C,UAAU,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,cAAc,CACtB,uDAAuD,CACxD,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC/C,IAAI;YACJ,gIAAgI;YAChI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;gBACpD,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;oBAC9D,OAAO;oBACP,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC/C,IAAI;YACJ,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;gBACtC,MAAM,GAAG,CAAC,cAAc,CAAC,iBAAiB,CACxC,SAAS,EACT,IAAI,CAAC,WAAW,IAAI,IAAI,CACzB,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;gBACnE,MAAM,GAAG,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"deactivateAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deactivateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAU,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAEnD,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9B,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;QAC1C,UAAU,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,cAAc,CACtB,uDAAuD,CACxD,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC/C,IAAI;YACJ,gIAAgI;YAChI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;gBACpD,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;oBAC9D,OAAO;oBACP,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC/C,IAAI;YACJ,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;gBACtC,MAAM,GAAG,CAAC,cAAc,CAAC,iBAAiB,CACxC,SAAS,EACT,IAAI,CAAC,WAAW,IAAI,IAAI,CACzB,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;gBACnE,MAAM,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YACxD,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { ForbiddenError, Server } from '@atproto/xrpc-server'\nimport { ACCESS_FULL, AuthScope } from '../../../../auth-scope.js'\nimport { AppContext } from '../../../../context.js'\nimport { com } from '../../../../lexicons/index.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const { entrywayClient } = ctx\n\n const auth = ctx.authVerifier.authorization({\n additional: [AuthScope.Takendown],\n scopes: ACCESS_FULL,\n authorize: () => {\n throw new ForbiddenError(\n 'OAuth credentials are not supported for this endpoint',\n )\n },\n })\n\n if (entrywayClient) {\n server.add(com.atproto.server.deactivateAccount, {\n auth,\n // in the case of entryway, the full flow is deactivateAccount (PDS) -> deactivateAccount (Entryway) -> updateSubjectStatus(PDS)\n handler: async ({ input: { body }, req }) => {\n const { headers } = ctx.entrywayPassthruHeaders(req)\n await entrywayClient.xrpc(com.atproto.server.deactivateAccount, {\n headers,\n body,\n })\n },\n })\n } else {\n server.add(com.atproto.server.deactivateAccount, {\n auth,\n handler: async ({ input: { body }, auth }) => {\n const requester = auth.credentials.did\n await ctx.accountManager.deactivateAccount(\n requester,\n body.deleteAfter ?? null,\n )\n const status = await ctx.accountManager.getAccountStatus(requester)\n await ctx.sequencer.sequenceAccount(requester, status)\n },\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteAccount.d.ts","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deleteAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EACP,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"deleteAccount.d.ts","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deleteAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EACP,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAyDvD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MINUTE } from '@atproto/common';
|
|
2
2
|
import { AuthRequiredError, InvalidRequestError, } from '@atproto/xrpc-server';
|
|
3
|
-
import { AccountStatus } from '../../../../account-manager/account-manager.js';
|
|
4
3
|
import { OLD_PASSWORD_MAX_LENGTH } from '../../../../account-manager/helpers/scrypt.js';
|
|
5
4
|
import { com } from '../../../../lexicons/index.js';
|
|
6
5
|
export default function (server, ctx) {
|
|
@@ -35,10 +34,16 @@ export default function (server, ctx) {
|
|
|
35
34
|
throw new AuthRequiredError('Invalid did or password');
|
|
36
35
|
}
|
|
37
36
|
await ctx.accountManager.assertValidEmailToken(did, 'delete_account', token);
|
|
38
|
-
|
|
37
|
+
// @NOTE Order matters here: first "unlink" the account by removing it
|
|
38
|
+
// from the account manager database ("source of truth"), then notify the
|
|
39
|
+
// sequencer, and finally cleanup files from the file system.
|
|
39
40
|
await ctx.accountManager.deleteAccount(did);
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
try {
|
|
42
|
+
await ctx.sequencer.sequenceAccountDeletion(did);
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
await ctx.actorStore.destroy(did);
|
|
46
|
+
}
|
|
42
47
|
},
|
|
43
48
|
});
|
|
44
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deleteAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deleteAccount.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/server/deleteAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAEvF,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAEnD,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;QAC3C,SAAS,EAAE;YACT,UAAU,EAAE,CAAC,GAAG,MAAM;YACtB,MAAM,EAAE,EAAE;SACX;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC1C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvD,kBAAkB,EAAE,IAAI;gBACxB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;YACpD,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;gBACpD,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;oBAC1D,IAAI;oBACJ,OAAO;iBACR,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;gBAC9C,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,CAAC,CAAA;YAC3D,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAC9D,GAAG,EACH,QAAQ,CACT,CAAA;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;YACxD,CAAC;YAED,MAAM,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAC5C,GAAG,EACH,gBAAgB,EAChB,KAAK,CACN,CAAA;YAED,sEAAsE;YACtE,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAA;YAClD,CAAC;oBAAS,CAAC;gBACT,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { MINUTE } from '@atproto/common'\nimport {\n AuthRequiredError,\n InvalidRequestError,\n Server,\n} from '@atproto/xrpc-server'\nimport { OLD_PASSWORD_MAX_LENGTH } from '../../../../account-manager/helpers/scrypt.js'\nimport { AppContext } from '../../../../context.js'\nimport { com } from '../../../../lexicons/index.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const { entrywayClient } = ctx\n\n server.add(com.atproto.server.deleteAccount, {\n rateLimit: {\n durationMs: 5 * MINUTE,\n points: 50,\n },\n handler: async ({ input: { body }, req }) => {\n const { did, password, token } = body\n\n const account = await ctx.accountManager.getAccount(did, {\n includeDeactivated: true,\n includeTakenDown: true,\n })\n if (!account) {\n throw new InvalidRequestError('account not found')\n }\n\n if (entrywayClient) {\n const { headers } = ctx.entrywayPassthruHeaders(req)\n await entrywayClient.xrpc(com.atproto.server.deleteAccount, {\n body,\n headers,\n })\n return\n }\n\n if (password.length > OLD_PASSWORD_MAX_LENGTH) {\n throw new InvalidRequestError('Invalid password length.')\n }\n\n const validPass = await ctx.accountManager.verifyAccountPassword(\n did,\n password,\n )\n if (!validPass) {\n throw new AuthRequiredError('Invalid did or password')\n }\n\n await ctx.accountManager.assertValidEmailToken(\n did,\n 'delete_account',\n token,\n )\n\n // @NOTE Order matters here: first \"unlink\" the account by removing it\n // from the account manager database (\"source of truth\"), then notify the\n // sequencer, and finally cleanup files from the file system.\n await ctx.accountManager.deleteAccount(did)\n try {\n await ctx.sequencer.sequenceAccountDeletion(did)\n } finally {\n await ctx.actorStore.destroy(did)\n }\n },\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRepo.d.ts","sourceRoot":"","sources":["../../../../../src/api/com/atproto/sync/getRepo.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"getRepo.d.ts","sourceRoot":"","sources":["../../../../../src/api/com/atproto/sync/getRepo.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAMhC,OAAO,EAAuB,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAOlE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAMnD,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAgCvD;AAED,eAAO,MAAM,YAAY,GACvB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAiBzB,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { byteIterableToStream } from '@atproto/common';
|
|
1
|
+
import { MINUTE, byteIterableToStream, coalesceByteStream, } from '@atproto/common';
|
|
2
2
|
import { InvalidRequestError } from '@atproto/xrpc-server';
|
|
3
3
|
import { RepoRootNotFoundError, SqlRepoReader, } from '../../../../actor-store/repo/sql-repo-reader.js';
|
|
4
4
|
import { AuthScope } from '../../../../auth-scope.js';
|
|
5
5
|
import { isUserOrAdmin } from '../../../../auth-verifier.js';
|
|
6
6
|
import { com } from '../../../../lexicons/index.js';
|
|
7
7
|
import { assertRepoAvailability } from './util.js';
|
|
8
|
+
const CAR_STREAM_CHUNK_SIZE = 64 * 1024;
|
|
8
9
|
export default function (server, ctx) {
|
|
9
10
|
server.add(com.atproto.sync.getRepo, {
|
|
10
11
|
auth: ctx.authVerifier.authorizationOrAdminTokenOptional({
|
|
@@ -13,24 +14,39 @@ export default function (server, ctx) {
|
|
|
13
14
|
// always allow
|
|
14
15
|
},
|
|
15
16
|
}),
|
|
16
|
-
|
|
17
|
+
rateLimit: {
|
|
18
|
+
durationMs: 5 * MINUTE,
|
|
19
|
+
points: 6000,
|
|
20
|
+
},
|
|
21
|
+
handler: async ({ req, params, auth }) => {
|
|
17
22
|
const { did, since } = params;
|
|
18
23
|
await assertRepoAvailability(ctx, did, isUserOrAdmin(auth, did));
|
|
19
24
|
const carStream = await getCarStream(ctx, did, since);
|
|
20
25
|
return {
|
|
21
26
|
encoding: 'application/vnd.ipld.car',
|
|
22
|
-
|
|
27
|
+
// @NOTE If the client asked for compression (via "accept-encoding"), we
|
|
28
|
+
// coalesce the CAR stream into larger chunks to improve compression
|
|
29
|
+
// efficiency. See https://github.com/bluesky-social/atproto/pull/5078
|
|
30
|
+
//
|
|
31
|
+
// @TODO This would be better handled by xrpc-server and/or the
|
|
32
|
+
// compression middleware instead of manually coalescing the stream.
|
|
33
|
+
body: req.headers['accept-encoding']
|
|
34
|
+
? coalesceByteStream(carStream, CAR_STREAM_CHUNK_SIZE)
|
|
35
|
+
: carStream,
|
|
23
36
|
};
|
|
24
37
|
},
|
|
25
38
|
});
|
|
26
39
|
}
|
|
27
40
|
export const getCarStream = async (ctx, did, since) => {
|
|
28
41
|
const actorDb = await ctx.actorStore.openDb(did);
|
|
29
|
-
let carStream;
|
|
30
42
|
try {
|
|
31
43
|
const storage = new SqlRepoReader(actorDb);
|
|
32
44
|
const carIter = await storage.getCarStream(since);
|
|
33
|
-
carStream = byteIterableToStream(carIter);
|
|
45
|
+
const carStream = byteIterableToStream(carIter);
|
|
46
|
+
const closeDb = () => actorDb.close();
|
|
47
|
+
carStream.on('error', closeDb);
|
|
48
|
+
carStream.on('close', closeDb);
|
|
49
|
+
return carStream;
|
|
34
50
|
}
|
|
35
51
|
catch (err) {
|
|
36
52
|
await actorDb.close();
|
|
@@ -39,9 +55,5 @@ export const getCarStream = async (ctx, did, since) => {
|
|
|
39
55
|
}
|
|
40
56
|
throw err;
|
|
41
57
|
}
|
|
42
|
-
const closeDb = () => actorDb.close();
|
|
43
|
-
carStream.on('error', closeDb);
|
|
44
|
-
carStream.on('close', closeDb);
|
|
45
|
-
return carStream;
|
|
46
58
|
};
|
|
47
59
|
//# sourceMappingURL=getRepo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRepo.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/sync/getRepo.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"getRepo.js","sourceRoot":"","sources":["../../../../../src/api/com/atproto/sync/getRepo.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAU,MAAM,sBAAsB,CAAA;AAClE,OAAO,EACL,qBAAqB,EACrB,aAAa,GACd,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAA;AAEvC,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,iCAAiC,CAAC;YACvD,UAAU,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,GAAG,EAAE;gBACd,eAAe;YACjB,CAAC;SACF,CAAC;QACF,SAAS,EAAE;YACT,UAAU,EAAE,CAAC,GAAG,MAAM;YACtB,MAAM,EAAE,IAAI;SACb;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;YACvC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YAC7B,MAAM,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YAEhE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAErD,OAAO;gBACL,QAAQ,EAAE,0BAAmC;gBAC7C,wEAAwE;gBACxE,oEAAoE;gBACpE,sEAAsE;gBACtE,EAAE;gBACF,+DAA+D;gBAC/D,oEAAoE;gBACpE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAClC,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,CAAC;oBACtD,CAAC,CAAC,SAAS;aACd,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAe,EACf,GAAW,EACX,KAAc,EACY,EAAE;IAC5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC,CAAA","sourcesContent":["import stream from 'node:stream'\nimport {\n MINUTE,\n byteIterableToStream,\n coalesceByteStream,\n} from '@atproto/common'\nimport { InvalidRequestError, Server } from '@atproto/xrpc-server'\nimport {\n RepoRootNotFoundError,\n SqlRepoReader,\n} from '../../../../actor-store/repo/sql-repo-reader.js'\nimport { AuthScope } from '../../../../auth-scope.js'\nimport { isUserOrAdmin } from '../../../../auth-verifier.js'\nimport { AppContext } from '../../../../context.js'\nimport { com } from '../../../../lexicons/index.js'\nimport { assertRepoAvailability } from './util.js'\n\nconst CAR_STREAM_CHUNK_SIZE = 64 * 1024\n\nexport default function (server: Server, ctx: AppContext) {\n server.add(com.atproto.sync.getRepo, {\n auth: ctx.authVerifier.authorizationOrAdminTokenOptional({\n additional: [AuthScope.Takendown],\n authorize: () => {\n // always allow\n },\n }),\n rateLimit: {\n durationMs: 5 * MINUTE,\n points: 6000,\n },\n handler: async ({ req, params, auth }) => {\n const { did, since } = params\n await assertRepoAvailability(ctx, did, isUserOrAdmin(auth, did))\n\n const carStream = await getCarStream(ctx, did, since)\n\n return {\n encoding: 'application/vnd.ipld.car' as const,\n // @NOTE If the client asked for compression (via \"accept-encoding\"), we\n // coalesce the CAR stream into larger chunks to improve compression\n // efficiency. See https://github.com/bluesky-social/atproto/pull/5078\n //\n // @TODO This would be better handled by xrpc-server and/or the\n // compression middleware instead of manually coalescing the stream.\n body: req.headers['accept-encoding']\n ? coalesceByteStream(carStream, CAR_STREAM_CHUNK_SIZE)\n : carStream,\n }\n },\n })\n}\n\nexport const getCarStream = async (\n ctx: AppContext,\n did: string,\n since?: string,\n): Promise<stream.Readable> => {\n const actorDb = await ctx.actorStore.openDb(did)\n try {\n const storage = new SqlRepoReader(actorDb)\n const carIter = await storage.getCarStream(since)\n const carStream = byteIterableToStream(carIter)\n const closeDb = () => actorDb.close()\n carStream.on('error', closeDb)\n carStream.on('close', closeDb)\n return carStream\n } catch (err) {\n await actorDb.close()\n if (err instanceof RepoRootNotFoundError) {\n throw new InvalidRequestError(`Could not find repo for DID: ${did}`)\n }\n throw err\n }\n}\n"]}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,sBAAsB,CAAA;AAG7B,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,OAAO,MAAM,SAAS,CAAA;AAO7B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,sBAAsB,CAAA;AAG7B,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,OAAO,MAAM,SAAS,CAAA;AAO7B,OAAO,EACL,aAAa,EAId,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAOnC,cAAc,eAAe,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,CACzC,IAAI,EACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EACrC,IAAI,EACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CACtC,CAAA;AAED,qBAAa,GAAG;IACP,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,sBAAsB,CAAC,CAAgB;gBAEnC,IAAI,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;KAAE;WAKlD,MAAM,CACjB,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,OAAO,CAAC,GAAG,CAAC;IAgET,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAU7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAU/B;AAED,eAAe,GAAG,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -11,8 +11,8 @@ import express from 'express';
|
|
|
11
11
|
import httpTerminator from 'http-terminator';
|
|
12
12
|
// eslint-disable-next-line import/no-named-as-default-member
|
|
13
13
|
const { createHttpTerminator } = httpTerminator;
|
|
14
|
-
import { DAY,
|
|
15
|
-
import {
|
|
14
|
+
import { DAY, SECOND } from '@atproto/common';
|
|
15
|
+
import { ResponseType, XRPCError, createServer, } from '@atproto/xrpc-server';
|
|
16
16
|
import apiRoutes from './api/index.js';
|
|
17
17
|
import * as authRoutes from './auth-routes.js';
|
|
18
18
|
import * as basicRoutes from './basic-routes.js';
|
|
@@ -20,6 +20,7 @@ import { AppContext } from './context.js';
|
|
|
20
20
|
import * as error from './error.js';
|
|
21
21
|
import { loggerMiddleware } from './logger.js';
|
|
22
22
|
import { proxyHandler } from './pipethrough.js';
|
|
23
|
+
import { buildRateLimitsConfig } from './rate-limits.js';
|
|
23
24
|
import compression from './util/compression.js';
|
|
24
25
|
import * as wellKnown from './well-known.js';
|
|
25
26
|
export * from './lexicons.js';
|
|
@@ -62,43 +63,7 @@ export class PDS {
|
|
|
62
63
|
}
|
|
63
64
|
return XRPCError.fromError(err);
|
|
64
65
|
},
|
|
65
|
-
rateLimits: rateLimits.
|
|
66
|
-
? {
|
|
67
|
-
creator: ctx.redisScratch
|
|
68
|
-
? (opts) => new RedisRateLimiter(ctx.redisScratch, opts)
|
|
69
|
-
: (opts) => new MemoryRateLimiter(opts),
|
|
70
|
-
bypass: ({ req }) => {
|
|
71
|
-
const { bypassKey, bypassIps } = rateLimits;
|
|
72
|
-
if (bypassKey &&
|
|
73
|
-
bypassKey === req.headers['x-ratelimit-bypass']) {
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
if (bypassIps && bypassIps.includes(req.ip)) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
return false;
|
|
80
|
-
},
|
|
81
|
-
global: [
|
|
82
|
-
{
|
|
83
|
-
name: 'global-ip',
|
|
84
|
-
durationMs: 5 * MINUTE,
|
|
85
|
-
points: 3000,
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
shared: [
|
|
89
|
-
{
|
|
90
|
-
name: 'repo-write-hour',
|
|
91
|
-
durationMs: HOUR,
|
|
92
|
-
points: 5000, // creates=3, puts=2, deletes=1
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
name: 'repo-write-day',
|
|
96
|
-
durationMs: DAY,
|
|
97
|
-
points: 35000, // creates=3, puts=2, deletes=1
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
}
|
|
101
|
-
: undefined,
|
|
66
|
+
rateLimits: buildRateLimitsConfig(rateLimits, ctx.redisScratch),
|
|
102
67
|
});
|
|
103
68
|
apiRoutes(server, ctx);
|
|
104
69
|
const app = express();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// catch errors that get thrown in async route handlers\n// this is a relatively non-invasive change to express\n// they get handled in the error.handler middleware\n// leave at top of file before importing Routes\nimport 'express-async-errors'\n\nimport events from 'node:events'\nimport http from 'node:http'\nimport { PlcClientError } from '@did-plc/lib'\nimport cors from 'cors'\nimport express from 'express'\n// eslint-disable-next-line import/default, import/no-named-as-default-member\nimport httpTerminator from 'http-terminator'\n// eslint-disable-next-line import/no-named-as-default-member\nconst { createHttpTerminator } = httpTerminator\ntype HttpTerminator = ReturnType<typeof createHttpTerminator>\nimport { DAY, HOUR, MINUTE, SECOND } from '@atproto/common'\nimport {\n MemoryRateLimiter,\n MethodHandler,\n RedisRateLimiter,\n ResponseType,\n XRPCError,\n createServer,\n} from '@atproto/xrpc-server'\nimport apiRoutes from './api/index.js'\nimport * as authRoutes from './auth-routes.js'\nimport * as basicRoutes from './basic-routes.js'\nimport { ServerConfig, ServerSecrets } from './config/index.js'\nimport { AppContext, AppContextOptions } from './context.js'\nimport * as error from './error.js'\nimport { app } from './lexicons.js'\nimport { loggerMiddleware } from './logger.js'\nimport { proxyHandler } from './pipethrough.js'\nimport compression from './util/compression.js'\nimport * as wellKnown from './well-known.js'\n\nexport * from './lexicons.js'\nexport {\n bearerTokenFromReq,\n createPublicKeyObject,\n createSecretKeyObject,\n} from './auth-verifier.js'\nexport * from './config/index.js'\nexport { AppContext } from './context.js'\nexport { Database } from './db/index.js'\nexport { DiskBlobStore } from './disk-blobstore.js'\nexport { httpLogger } from './logger.js'\nexport { type CommitDataWithOps, type PreparedWrite } from './repo/index.js'\nexport * as repoPrepare from './repo/prepare.js'\nexport { scripts } from './scripts/index.js'\nexport * as sequencer from './sequencer/index.js'\n\n/**\n * @deprecated Legacy export for backwards compatibility\n */\nexport type SkeletonHandler = MethodHandler<\n void,\n app.bsky.feed.getFeedSkeleton.$Params,\n void,\n app.bsky.feed.getFeedSkeleton.$Output\n>\n\nexport class PDS {\n public ctx: AppContext\n public app: express.Application\n public server?: http.Server\n private terminator?: HttpTerminator\n private dbStatsInterval?: NodeJS.Timeout\n private sequencerStatsInterval?: NodeJS.Timeout\n\n constructor(opts: { ctx: AppContext; app: express.Application }) {\n this.ctx = opts.ctx\n this.app = opts.app\n }\n\n static async create(\n cfg: ServerConfig,\n secrets: ServerSecrets,\n overrides?: Partial<AppContextOptions>,\n ): Promise<PDS> {\n const ctx = await AppContext.fromConfig(cfg, secrets, overrides)\n\n const { rateLimits } = ctx.cfg\n\n const server = createServer([], {\n validateResponse: cfg.service.devMode,\n payload: {\n jsonLimit: 150 * 1024, // 150kb\n textLimit: 100 * 1024, // 100kb\n blobLimit: cfg.service.blobUploadLimit,\n },\n catchall: proxyHandler(ctx),\n errorParser: (err) => {\n if (err instanceof PlcClientError) {\n const payloadMessage =\n typeof err.data === 'object' &&\n err.data != null &&\n 'message' in err.data &&\n typeof err.data.message === 'string' &&\n err.data.message\n\n const type =\n err.status >= 500\n ? ResponseType.UpstreamFailure\n : ResponseType.InvalidRequest\n\n return new XRPCError(\n type,\n payloadMessage || 'Unable to perform PLC operation',\n )\n }\n\n return XRPCError.fromError(err)\n },\n rateLimits: rateLimits.enabled\n ? {\n creator: ctx.redisScratch\n ? (opts) => new RedisRateLimiter(ctx.redisScratch, opts)\n : (opts) => new MemoryRateLimiter(opts),\n bypass: ({ req }) => {\n const { bypassKey, bypassIps } = rateLimits\n if (\n bypassKey &&\n bypassKey === req.headers['x-ratelimit-bypass']\n ) {\n return true\n }\n if (bypassIps && bypassIps.includes(req.ip)) {\n return true\n }\n return false\n },\n global: [\n {\n name: 'global-ip',\n durationMs: 5 * MINUTE,\n points: 3000,\n },\n ],\n shared: [\n {\n name: 'repo-write-hour',\n durationMs: HOUR,\n points: 5000, // creates=3, puts=2, deletes=1\n },\n {\n name: 'repo-write-day',\n durationMs: DAY,\n points: 35000, // creates=3, puts=2, deletes=1\n },\n ],\n }\n : undefined,\n })\n\n apiRoutes(server, ctx)\n\n const app = express()\n app.set('trust proxy', [\n // e.g. load balancer\n 'loopback',\n 'linklocal',\n 'uniquelocal',\n // e.g. trust x-forwarded-for via entryway ip\n ...getTrustedIps(cfg),\n ])\n app.use(loggerMiddleware)\n app.use(compression())\n app.use(authRoutes.createRouter(ctx)) // Before CORS\n app.use(cors({ maxAge: DAY / SECOND }))\n app.use(basicRoutes.createRouter(ctx))\n app.use(wellKnown.createRouter(ctx))\n app.use(server.router)\n app.use(error.handler)\n\n return new PDS({\n ctx,\n app,\n })\n }\n\n async start(): Promise<http.Server> {\n await this.ctx.sequencer.start()\n const server = this.app.listen(this.ctx.cfg.service.port)\n this.server = server\n this.server.keepAliveTimeout = 90000\n this.terminator = createHttpTerminator({ server })\n await events.once(server, 'listening')\n return server\n }\n\n async destroy(): Promise<void> {\n await this.ctx.sequencer.destroy()\n await this.terminator?.terminate()\n await this.ctx.backgroundQueue.destroy()\n await this.ctx.accountManager.close()\n await this.ctx.redisScratch?.quit()\n await this.ctx.proxyAgent.destroy()\n clearInterval(this.dbStatsInterval)\n clearInterval(this.sequencerStatsInterval)\n }\n}\n\nexport default PDS\n\nconst getTrustedIps = (cfg: ServerConfig) => {\n if (!cfg.rateLimits.enabled) return []\n return cfg.rateLimits.bypassIps ?? []\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// catch errors that get thrown in async route handlers\n// this is a relatively non-invasive change to express\n// they get handled in the error.handler middleware\n// leave at top of file before importing Routes\nimport 'express-async-errors'\n\nimport events from 'node:events'\nimport http from 'node:http'\nimport { PlcClientError } from '@did-plc/lib'\nimport cors from 'cors'\nimport express from 'express'\n// eslint-disable-next-line import/default, import/no-named-as-default-member\nimport httpTerminator from 'http-terminator'\n// eslint-disable-next-line import/no-named-as-default-member\nconst { createHttpTerminator } = httpTerminator\ntype HttpTerminator = ReturnType<typeof createHttpTerminator>\nimport { DAY, SECOND } from '@atproto/common'\nimport {\n MethodHandler,\n ResponseType,\n XRPCError,\n createServer,\n} from '@atproto/xrpc-server'\nimport apiRoutes from './api/index.js'\nimport * as authRoutes from './auth-routes.js'\nimport * as basicRoutes from './basic-routes.js'\nimport { ServerConfig, ServerSecrets } from './config/index.js'\nimport { AppContext, AppContextOptions } from './context.js'\nimport * as error from './error.js'\nimport { app } from './lexicons.js'\nimport { loggerMiddleware } from './logger.js'\nimport { proxyHandler } from './pipethrough.js'\nimport { buildRateLimitsConfig } from './rate-limits.js'\nimport compression from './util/compression.js'\nimport * as wellKnown from './well-known.js'\n\nexport * from './lexicons.js'\nexport {\n bearerTokenFromReq,\n createPublicKeyObject,\n createSecretKeyObject,\n} from './auth-verifier.js'\nexport * from './config/index.js'\nexport { AppContext } from './context.js'\nexport { Database } from './db/index.js'\nexport { DiskBlobStore } from './disk-blobstore.js'\nexport { httpLogger } from './logger.js'\nexport { type CommitDataWithOps, type PreparedWrite } from './repo/index.js'\nexport * as repoPrepare from './repo/prepare.js'\nexport { scripts } from './scripts/index.js'\nexport * as sequencer from './sequencer/index.js'\n\n/**\n * @deprecated Legacy export for backwards compatibility\n */\nexport type SkeletonHandler = MethodHandler<\n void,\n app.bsky.feed.getFeedSkeleton.$Params,\n void,\n app.bsky.feed.getFeedSkeleton.$Output\n>\n\nexport class PDS {\n public ctx: AppContext\n public app: express.Application\n public server?: http.Server\n private terminator?: HttpTerminator\n private dbStatsInterval?: NodeJS.Timeout\n private sequencerStatsInterval?: NodeJS.Timeout\n\n constructor(opts: { ctx: AppContext; app: express.Application }) {\n this.ctx = opts.ctx\n this.app = opts.app\n }\n\n static async create(\n cfg: ServerConfig,\n secrets: ServerSecrets,\n overrides?: Partial<AppContextOptions>,\n ): Promise<PDS> {\n const ctx = await AppContext.fromConfig(cfg, secrets, overrides)\n\n const { rateLimits } = ctx.cfg\n\n const server = createServer([], {\n validateResponse: cfg.service.devMode,\n payload: {\n jsonLimit: 150 * 1024, // 150kb\n textLimit: 100 * 1024, // 100kb\n blobLimit: cfg.service.blobUploadLimit,\n },\n catchall: proxyHandler(ctx),\n errorParser: (err) => {\n if (err instanceof PlcClientError) {\n const payloadMessage =\n typeof err.data === 'object' &&\n err.data != null &&\n 'message' in err.data &&\n typeof err.data.message === 'string' &&\n err.data.message\n\n const type =\n err.status >= 500\n ? ResponseType.UpstreamFailure\n : ResponseType.InvalidRequest\n\n return new XRPCError(\n type,\n payloadMessage || 'Unable to perform PLC operation',\n )\n }\n\n return XRPCError.fromError(err)\n },\n rateLimits: buildRateLimitsConfig(rateLimits, ctx.redisScratch),\n })\n\n apiRoutes(server, ctx)\n\n const app = express()\n app.set('trust proxy', [\n // e.g. load balancer\n 'loopback',\n 'linklocal',\n 'uniquelocal',\n // e.g. trust x-forwarded-for via entryway ip\n ...getTrustedIps(cfg),\n ])\n app.use(loggerMiddleware)\n app.use(compression())\n app.use(authRoutes.createRouter(ctx)) // Before CORS\n app.use(cors({ maxAge: DAY / SECOND }))\n app.use(basicRoutes.createRouter(ctx))\n app.use(wellKnown.createRouter(ctx))\n app.use(server.router)\n app.use(error.handler)\n\n return new PDS({\n ctx,\n app,\n })\n }\n\n async start(): Promise<http.Server> {\n await this.ctx.sequencer.start()\n const server = this.app.listen(this.ctx.cfg.service.port)\n this.server = server\n this.server.keepAliveTimeout = 90000\n this.terminator = createHttpTerminator({ server })\n await events.once(server, 'listening')\n return server\n }\n\n async destroy(): Promise<void> {\n await this.ctx.sequencer.destroy()\n await this.terminator?.terminate()\n await this.ctx.backgroundQueue.destroy()\n await this.ctx.accountManager.close()\n await this.ctx.redisScratch?.quit()\n await this.ctx.proxyAgent.destroy()\n clearInterval(this.dbStatsInterval)\n clearInterval(this.sequencerStatsInterval)\n }\n}\n\nexport default PDS\n\nconst getTrustedIps = (cfg: ServerConfig) => {\n if (!cfg.rateLimits.enabled) return []\n return cfg.rateLimits.bypassIps ?? []\n}\n"]}
|
|
@@ -324,6 +324,10 @@ type GroupConvo = {
|
|
|
324
324
|
* The lock status of the conversation.
|
|
325
325
|
*/
|
|
326
326
|
lockStatus: ConvoLockStatus;
|
|
327
|
+
/**
|
|
328
|
+
* Whether the lock status is being forced by a moderation override (account inactivation or convo takedown) rather than the owner's own setting.
|
|
329
|
+
*/
|
|
330
|
+
lockStatusModerationOverride: boolean;
|
|
327
331
|
/**
|
|
328
332
|
* The total number of members in the group conversation.
|
|
329
333
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/defs.defs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/defs.defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,6 +237,7 @@ const groupConvo = /*#__PURE__*/ l.typedObject($nsid, 'groupConvo',
|
|
|
237
237
|
/*#__PURE__*/ l.ref((() => GroupDefs.joinLinkView))),
|
|
238
238
|
joinRequestCount: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.integer()),
|
|
239
239
|
lockStatus: /*#__PURE__*/ l.ref((() => convoLockStatus)),
|
|
240
|
+
lockStatusModerationOverride: /*#__PURE__*/ l.boolean(),
|
|
240
241
|
memberCount: /*#__PURE__*/ l.integer(),
|
|
241
242
|
memberLimit: /*#__PURE__*/ l.integer(),
|
|
242
243
|
name: /*#__PURE__*/ l.string({ maxGraphemes: 128, maxLength: 1280 }),
|