@atproto/pds 0.4.122 → 0.4.124
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 +16 -0
- package/dist/account-manager/account-manager.js +17 -7
- package/dist/account-manager/account-manager.js.map +1 -1
- package/dist/account-manager/db/index.d.ts.map +1 -1
- package/dist/account-manager/db/migrations/005-oauth-account-management.d.ts +20 -0
- package/dist/account-manager/db/migrations/005-oauth-account-management.d.ts.map +1 -0
- package/dist/account-manager/db/migrations/005-oauth-account-management.js +72 -0
- package/dist/account-manager/db/migrations/005-oauth-account-management.js.map +1 -0
- package/dist/account-manager/db/migrations/index.d.ts +2 -0
- package/dist/account-manager/db/migrations/index.d.ts.map +1 -1
- package/dist/account-manager/db/migrations/index.js +19 -7
- package/dist/account-manager/db/migrations/index.js.map +1 -1
- package/dist/account-manager/db/schema/account-device.d.ts +13 -0
- package/dist/account-manager/db/schema/account-device.d.ts.map +1 -0
- package/dist/account-manager/db/schema/{device-account.js → account-device.js} +2 -2
- package/dist/account-manager/db/schema/account-device.js.map +1 -0
- package/dist/account-manager/db/schema/authorization-request.d.ts +4 -4
- package/dist/account-manager/db/schema/authorization-request.d.ts.map +1 -1
- package/dist/account-manager/db/schema/authorization-request.js.map +1 -1
- package/dist/account-manager/db/schema/authorized-client.d.ts +16 -0
- package/dist/account-manager/db/schema/authorized-client.d.ts.map +1 -0
- package/dist/account-manager/db/schema/authorized-client.js +5 -0
- package/dist/account-manager/db/schema/authorized-client.js.map +1 -0
- package/dist/account-manager/db/schema/index.d.ts +4 -3
- package/dist/account-manager/db/schema/index.d.ts.map +1 -1
- package/dist/account-manager/db/schema/token.d.ts +5 -5
- package/dist/account-manager/db/schema/token.d.ts.map +1 -1
- package/dist/account-manager/db/schema/token.js.map +1 -1
- package/dist/account-manager/helpers/account-device.d.ts +204 -0
- package/dist/account-manager/helpers/account-device.d.ts.map +1 -0
- package/dist/account-manager/helpers/account-device.js +54 -0
- package/dist/account-manager/helpers/account-device.js.map +1 -0
- package/dist/account-manager/helpers/account.d.ts +2 -1
- package/dist/account-manager/helpers/account.d.ts.map +1 -1
- package/dist/account-manager/helpers/auth.d.ts.map +1 -1
- package/dist/account-manager/helpers/auth.js +17 -7
- package/dist/account-manager/helpers/auth.js.map +1 -1
- package/dist/account-manager/helpers/authorization-request.d.ts.map +1 -1
- package/dist/account-manager/helpers/authorization-request.js +4 -4
- package/dist/account-manager/helpers/authorization-request.js.map +1 -1
- package/dist/account-manager/helpers/authorized-client.d.ts +6 -0
- package/dist/account-manager/helpers/authorized-client.d.ts.map +1 -0
- package/dist/account-manager/helpers/authorized-client.js +47 -0
- package/dist/account-manager/helpers/authorized-client.js.map +1 -0
- package/dist/account-manager/helpers/device.d.ts +1 -1
- package/dist/account-manager/helpers/device.d.ts.map +1 -1
- package/dist/account-manager/helpers/device.js.map +1 -1
- package/dist/account-manager/helpers/email-token.d.ts.map +1 -1
- package/dist/account-manager/helpers/invite.d.ts.map +1 -1
- package/dist/account-manager/helpers/password.d.ts.map +1 -1
- package/dist/account-manager/helpers/password.js +17 -7
- package/dist/account-manager/helpers/password.js.map +1 -1
- package/dist/account-manager/helpers/repo.d.ts.map +1 -1
- package/dist/account-manager/helpers/scrypt.d.ts.map +1 -1
- package/dist/account-manager/helpers/scrypt.js +17 -7
- package/dist/account-manager/helpers/scrypt.js.map +1 -1
- package/dist/account-manager/helpers/token.d.ts +566 -59
- package/dist/account-manager/helpers/token.d.ts.map +1 -1
- package/dist/account-manager/helpers/token.js +17 -32
- package/dist/account-manager/helpers/token.js.map +1 -1
- package/dist/account-manager/helpers/used-refresh-token.d.ts.map +1 -1
- package/dist/account-manager/oauth-store.d.ts +17 -7
- package/dist/account-manager/oauth-store.d.ts.map +1 -1
- package/dist/account-manager/oauth-store.js +138 -86
- package/dist/account-manager/oauth-store.js.map +1 -1
- package/dist/actor-store/actor-store.js +17 -7
- package/dist/actor-store/actor-store.js.map +1 -1
- package/dist/actor-store/blob/transactor.js +17 -7
- package/dist/actor-store/blob/transactor.js.map +1 -1
- package/dist/actor-store/db/index.d.ts.map +1 -1
- package/dist/actor-store/db/migrations/index.js +17 -7
- package/dist/actor-store/db/migrations/index.js.map +1 -1
- package/dist/actor-store/migrate.d.ts.map +1 -1
- package/dist/actor-store/preference/reader.d.ts.map +1 -1
- package/dist/actor-store/preference/util.d.ts.map +1 -1
- package/dist/actor-store/record/reader.d.ts.map +1 -1
- package/dist/actor-store/record/reader.js +17 -7
- package/dist/actor-store/record/reader.js.map +1 -1
- package/dist/actor-store/repo/sql-repo-reader.d.ts +1 -1
- package/dist/api/app/bsky/util/resolver.d.ts.map +1 -1
- package/dist/api/com/atproto/identity/signPlcOperation.js +17 -7
- package/dist/api/com/atproto/identity/signPlcOperation.js.map +1 -1
- package/dist/api/com/atproto/identity/submitPlcOperation.js +17 -7
- package/dist/api/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/api/com/atproto/repo/describeRepo.js +17 -7
- package/dist/api/com/atproto/repo/describeRepo.js.map +1 -1
- package/dist/api/com/atproto/repo/importRepo.d.ts.map +1 -1
- package/dist/api/com/atproto/server/createAccount.js +17 -7
- package/dist/api/com/atproto/server/createAccount.js.map +1 -1
- package/dist/api/com/atproto/server/util.d.ts.map +1 -1
- package/dist/api/com/atproto/server/util.js +17 -7
- package/dist/api/com/atproto/server/util.js.map +1 -1
- package/dist/api/com/atproto/sync/getRecord.js +17 -7
- package/dist/api/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/api/com/atproto/sync/getRepo.d.ts.map +1 -1
- package/dist/api/com/atproto/sync/util.d.ts.map +1 -1
- package/dist/api/proxy.d.ts.map +1 -1
- package/dist/auth-routes.d.ts.map +1 -1
- package/dist/auth-routes.js +2 -3
- package/dist/auth-routes.js.map +1 -1
- package/dist/auth-verifier.d.ts.map +1 -1
- package/dist/auth-verifier.js +19 -13
- package/dist/auth-verifier.js.map +1 -1
- package/dist/basic-routes.d.ts.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +1 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/env.d.ts +1 -1
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +1 -1
- package/dist/config/env.js.map +1 -1
- package/dist/config/secrets.d.ts.map +1 -1
- package/dist/context.js +18 -8
- package/dist/context.js.map +1 -1
- package/dist/db/cast.d.ts +17 -13
- package/dist/db/cast.d.ts.map +1 -1
- package/dist/db/cast.js +13 -52
- package/dist/db/cast.js.map +1 -1
- package/dist/db/pagination.d.ts.map +1 -1
- package/dist/db/util.d.ts.map +1 -1
- package/dist/did-cache/db/index.d.ts.map +1 -1
- package/dist/disk-blobstore.d.ts.map +1 -1
- package/dist/handle/explicit-slurs.d.ts.map +1 -1
- package/dist/handle/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/lexicon/index.d.ts +4 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +8 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +254 -4
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +134 -2
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/defs.d.ts +2 -0
- package/dist/lexicon/types/com/atproto/sync/defs.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/defs.js +7 -0
- package/dist/lexicon/types/com/atproto/sync/defs.js.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.d.ts +43 -0
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js +7 -0
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts +51 -0
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/listHosts.js +16 -0
- package/dist/lexicon/types/com/atproto/sync/listHosts.js.map +1 -0
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.d.ts.map +1 -1
- package/dist/lexicon/util.d.ts.map +1 -1
- package/dist/mailer/index.js +17 -7
- package/dist/mailer/index.js.map +1 -1
- package/dist/mailer/templates/plc-operation.js +1 -1
- package/dist/mailer/templates/plc-operation.js.map +1 -1
- package/dist/pipethrough.d.ts.map +1 -1
- package/dist/read-after-write/util.d.ts.map +1 -1
- package/dist/redis.d.ts.map +1 -1
- package/dist/repo/prepare.d.ts.map +1 -1
- package/dist/repo/prepare.js +17 -7
- package/dist/repo/prepare.js.map +1 -1
- package/dist/scripts/publish-identity.d.ts.map +1 -1
- package/dist/scripts/rebuild-repo.d.ts.map +1 -1
- package/dist/scripts/rotate-keys.d.ts.map +1 -1
- package/dist/scripts/sequencer-recovery/index.d.ts.map +1 -1
- package/dist/scripts/sequencer-recovery/recoverer.d.ts.map +1 -1
- package/dist/scripts/sequencer-recovery/recovery-db.d.ts.map +1 -1
- package/dist/scripts/sequencer-recovery/repair-repos.d.ts.map +1 -1
- package/dist/scripts/util.d.ts.map +1 -1
- package/dist/sequencer/db/index.d.ts.map +1 -1
- package/dist/sequencer/db/migrations/index.js +17 -7
- package/dist/sequencer/db/migrations/index.js.map +1 -1
- package/dist/sequencer/events.d.ts +6 -6
- package/dist/sequencer/events.d.ts.map +1 -1
- package/dist/sequencer/sequencer.d.ts.map +1 -1
- package/dist/util/debug.d.ts.map +1 -1
- package/dist/util/params.d.ts.map +1 -1
- package/dist/well-known.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/account-manager/db/migrations/005-oauth-account-management.ts +112 -0
- package/src/account-manager/db/migrations/index.ts +2 -0
- package/src/account-manager/db/schema/account-device.ts +14 -0
- package/src/account-manager/db/schema/authorization-request.ts +5 -3
- package/src/account-manager/db/schema/authorized-client.ts +19 -0
- package/src/account-manager/db/schema/index.ts +5 -3
- package/src/account-manager/db/schema/token.ts +7 -4
- package/src/account-manager/helpers/account-device.ts +66 -0
- package/src/account-manager/helpers/authorization-request.ts +5 -5
- package/src/account-manager/helpers/authorized-client.ts +69 -0
- package/src/account-manager/helpers/device.ts +3 -1
- package/src/account-manager/helpers/token.ts +19 -57
- package/src/account-manager/oauth-store.ts +182 -103
- package/src/auth-routes.ts +11 -7
- package/src/auth-verifier.ts +2 -7
- package/src/config/config.ts +1 -1
- package/src/config/env.ts +2 -2
- package/src/context.ts +2 -2
- package/src/db/cast.ts +43 -50
- package/src/lexicon/index.ts +24 -0
- package/src/lexicon/lexicons.ts +141 -2
- package/src/lexicon/types/com/atproto/sync/defs.ts +23 -0
- package/src/lexicon/types/com/atproto/sync/getHostStatus.ts +61 -0
- package/src/lexicon/types/com/atproto/sync/listHosts.ts +77 -0
- package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +1 -0
- package/src/mailer/templates/plc-operation.hbs +2 -2
- package/tests/db.test.ts +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
- package/dist/account-manager/db/schema/device-account.d.ts +0 -14
- package/dist/account-manager/db/schema/device-account.d.ts.map +0 -1
- package/dist/account-manager/db/schema/device-account.js.map +0 -1
- package/dist/account-manager/helpers/device-account.d.ts +0 -108
- package/dist/account-manager/helpers/device-account.d.ts.map +0 -1
- package/dist/account-manager/helpers/device-account.js +0 -83
- package/dist/account-manager/helpers/device-account.js.map +0 -1
- package/src/account-manager/db/schema/device-account.ts +0 -15
- package/src/account-manager/helpers/device-account.ts +0 -135
@@ -1 +1 @@
|
|
1
|
-
{"root":["./src/app-view.ts","./src/auth-routes.ts","./src/auth-verifier.ts","./src/background.ts","./src/basic-routes.ts","./src/bsky-app-view.ts","./src/context.ts","./src/crawlers.ts","./src/disk-blobstore.ts","./src/error.ts","./src/index.ts","./src/logger.ts","./src/pipethrough.ts","./src/redis.ts","./src/well-known.ts","./src/account-manager/account-manager.ts","./src/account-manager/oauth-store.ts","./src/account-manager/db/index.ts","./src/account-manager/db/migrations/001-init.ts","./src/account-manager/db/migrations/002-account-deactivation.ts","./src/account-manager/db/migrations/003-privileged-app-passwords.ts","./src/account-manager/db/migrations/004-oauth.ts","./src/account-manager/db/migrations/index.ts","./src/account-manager/db/schema/account.ts","./src/account-manager/db/schema/actor.ts","./src/account-manager/db/schema/app-password.ts","./src/account-manager/db/schema/authorization-request.ts","./src/account-manager/db/schema/device-account.ts","./src/account-manager/db/schema/device.ts","./src/account-manager/db/schema/email-token.ts","./src/account-manager/db/schema/index.ts","./src/account-manager/db/schema/invite-code.ts","./src/account-manager/db/schema/refresh-token.ts","./src/account-manager/db/schema/repo-root.ts","./src/account-manager/db/schema/token.ts","./src/account-manager/db/schema/used-refresh-token.ts","./src/account-manager/helpers/account.ts","./src/account-manager/helpers/auth.ts","./src/account-manager/helpers/authorization-request.ts","./src/account-manager/helpers/device-account.ts","./src/account-manager/helpers/device.ts","./src/account-manager/helpers/email-token.ts","./src/account-manager/helpers/invite.ts","./src/account-manager/helpers/password.ts","./src/account-manager/helpers/repo.ts","./src/account-manager/helpers/scrypt.ts","./src/account-manager/helpers/token.ts","./src/account-manager/helpers/used-refresh-token.ts","./src/actor-store/actor-store-reader.ts","./src/actor-store/actor-store-resources.ts","./src/actor-store/actor-store-transactor.ts","./src/actor-store/actor-store-writer.ts","./src/actor-store/actor-store.ts","./src/actor-store/migrate.ts","./src/actor-store/blob/reader.ts","./src/actor-store/blob/transactor.ts","./src/actor-store/db/index.ts","./src/actor-store/db/migrations/001-init.ts","./src/actor-store/db/migrations/index.ts","./src/actor-store/db/schema/account-pref.ts","./src/actor-store/db/schema/backlink.ts","./src/actor-store/db/schema/blob.ts","./src/actor-store/db/schema/index.ts","./src/actor-store/db/schema/record-blob.ts","./src/actor-store/db/schema/record.ts","./src/actor-store/db/schema/repo-block.ts","./src/actor-store/db/schema/repo-root.ts","./src/actor-store/preference/reader.ts","./src/actor-store/preference/transactor.ts","./src/actor-store/preference/util.ts","./src/actor-store/record/reader.ts","./src/actor-store/record/transactor.ts","./src/actor-store/repo/reader.ts","./src/actor-store/repo/sql-repo-reader.ts","./src/actor-store/repo/sql-repo-transactor.ts","./src/actor-store/repo/transactor.ts","./src/api/index.ts","./src/api/proxy.ts","./src/api/app/bsky/index.ts","./src/api/app/bsky/actor/getPreferences.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/index.ts","./src/api/app/bsky/actor/putPreferences.ts","./src/api/app/bsky/feed/getActorLikes.ts","./src/api/app/bsky/feed/getAuthorFeed.ts","./src/api/app/bsky/feed/getFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/index.ts","./src/api/app/bsky/notification/index.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/util/resolver.ts","./src/api/com/atproto/index.ts","./src/api/com/atproto/admin/deleteAccount.ts","./src/api/com/atproto/admin/disableAccountInvites.ts","./src/api/com/atproto/admin/disableInviteCodes.ts","./src/api/com/atproto/admin/enableAccountInvites.ts","./src/api/com/atproto/admin/getAccountInfo.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getInviteCodes.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/index.ts","./src/api/com/atproto/admin/sendEmail.ts","./src/api/com/atproto/admin/updateAccountEmail.ts","./src/api/com/atproto/admin/updateAccountHandle.ts","./src/api/com/atproto/admin/updateAccountPassword.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/admin/util.ts","./src/api/com/atproto/identity/getRecommendedDidCredentials.ts","./src/api/com/atproto/identity/index.ts","./src/api/com/atproto/identity/requestPlcOperationSignature.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/identity/signPlcOperation.ts","./src/api/com/atproto/identity/submitPlcOperation.ts","./src/api/com/atproto/identity/updateHandle.ts","./src/api/com/atproto/moderation/createReport.ts","./src/api/com/atproto/moderation/index.ts","./src/api/com/atproto/repo/applyWrites.ts","./src/api/com/atproto/repo/createRecord.ts","./src/api/com/atproto/repo/deleteRecord.ts","./src/api/com/atproto/repo/describeRepo.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/repo/importRepo.ts","./src/api/com/atproto/repo/index.ts","./src/api/com/atproto/repo/listMissingBlobs.ts","./src/api/com/atproto/repo/listRecords.ts","./src/api/com/atproto/repo/putRecord.ts","./src/api/com/atproto/repo/uploadBlob.ts","./src/api/com/atproto/server/activateAccount.ts","./src/api/com/atproto/server/checkAccountStatus.ts","./src/api/com/atproto/server/confirmEmail.ts","./src/api/com/atproto/server/createAccount.ts","./src/api/com/atproto/server/createAppPassword.ts","./src/api/com/atproto/server/createInviteCode.ts","./src/api/com/atproto/server/createInviteCodes.ts","./src/api/com/atproto/server/createSession.ts","./src/api/com/atproto/server/deactivateAccount.ts","./src/api/com/atproto/server/deleteAccount.ts","./src/api/com/atproto/server/deleteSession.ts","./src/api/com/atproto/server/describeServer.ts","./src/api/com/atproto/server/getAccountInviteCodes.ts","./src/api/com/atproto/server/getServiceAuth.ts","./src/api/com/atproto/server/getSession.ts","./src/api/com/atproto/server/index.ts","./src/api/com/atproto/server/listAppPasswords.ts","./src/api/com/atproto/server/refreshSession.ts","./src/api/com/atproto/server/requestAccountDelete.ts","./src/api/com/atproto/server/requestEmailConfirmation.ts","./src/api/com/atproto/server/requestEmailUpdate.ts","./src/api/com/atproto/server/requestPasswordReset.ts","./src/api/com/atproto/server/reserveSigningKey.ts","./src/api/com/atproto/server/resetPassword.ts","./src/api/com/atproto/server/revokeAppPassword.ts","./src/api/com/atproto/server/updateEmail.ts","./src/api/com/atproto/server/util.ts","./src/api/com/atproto/sync/getBlob.ts","./src/api/com/atproto/sync/getBlocks.ts","./src/api/com/atproto/sync/getLatestCommit.ts","./src/api/com/atproto/sync/getRecord.ts","./src/api/com/atproto/sync/getRepo.ts","./src/api/com/atproto/sync/getRepoStatus.ts","./src/api/com/atproto/sync/index.ts","./src/api/com/atproto/sync/listBlobs.ts","./src/api/com/atproto/sync/listRepos.ts","./src/api/com/atproto/sync/subscribeRepos.ts","./src/api/com/atproto/sync/util.ts","./src/api/com/atproto/sync/deprecated/getCheckout.ts","./src/api/com/atproto/sync/deprecated/getHead.ts","./src/api/com/atproto/temp/checkSignupQueue.ts","./src/api/com/atproto/temp/index.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/db/cast.ts","./src/db/db.ts","./src/db/index.ts","./src/db/migrator.ts","./src/db/pagination.ts","./src/db/util.ts","./src/db/tables/moderation.ts","./src/did-cache/index.ts","./src/did-cache/db/index.ts","./src/did-cache/db/migrations.ts","./src/did-cache/db/schema.ts","./src/handle/explicit-slurs.ts","./src/handle/index.ts","./src/handle/reserved.ts","./src/image/image-url-builder.ts","./src/image/image-url.ts","./src/image/index.ts","./src/lexicon/index.ts","./src/lexicon/lexicons.ts","./src/lexicon/util.ts","./src/lexicon/types/app/bsky/actor/defs.ts","./src/lexicon/types/app/bsky/actor/getPreferences.ts","./src/lexicon/types/app/bsky/actor/getProfile.ts","./src/lexicon/types/app/bsky/actor/getProfiles.ts","./src/lexicon/types/app/bsky/actor/getSuggestions.ts","./src/lexicon/types/app/bsky/actor/profile.ts","./src/lexicon/types/app/bsky/actor/putPreferences.ts","./src/lexicon/types/app/bsky/actor/searchActors.ts","./src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts","./src/lexicon/types/app/bsky/embed/defs.ts","./src/lexicon/types/app/bsky/embed/external.ts","./src/lexicon/types/app/bsky/embed/images.ts","./src/lexicon/types/app/bsky/embed/record.ts","./src/lexicon/types/app/bsky/embed/recordWithMedia.ts","./src/lexicon/types/app/bsky/embed/video.ts","./src/lexicon/types/app/bsky/feed/defs.ts","./src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/generator.ts","./src/lexicon/types/app/bsky/feed/getActorFeeds.ts","./src/lexicon/types/app/bsky/feed/getActorLikes.ts","./src/lexicon/types/app/bsky/feed/getAuthorFeed.ts","./src/lexicon/types/app/bsky/feed/getFeed.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerators.ts","./src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts","./src/lexicon/types/app/bsky/feed/getLikes.ts","./src/lexicon/types/app/bsky/feed/getListFeed.ts","./src/lexicon/types/app/bsky/feed/getPostThread.ts","./src/lexicon/types/app/bsky/feed/getPosts.ts","./src/lexicon/types/app/bsky/feed/getQuotes.ts","./src/lexicon/types/app/bsky/feed/getRepostedBy.ts","./src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/feed/getTimeline.ts","./src/lexicon/types/app/bsky/feed/like.ts","./src/lexicon/types/app/bsky/feed/post.ts","./src/lexicon/types/app/bsky/feed/postgate.ts","./src/lexicon/types/app/bsky/feed/repost.ts","./src/lexicon/types/app/bsky/feed/searchPosts.ts","./src/lexicon/types/app/bsky/feed/sendInteractions.ts","./src/lexicon/types/app/bsky/feed/threadgate.ts","./src/lexicon/types/app/bsky/graph/block.ts","./src/lexicon/types/app/bsky/graph/defs.ts","./src/lexicon/types/app/bsky/graph/follow.ts","./src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getBlocks.ts","./src/lexicon/types/app/bsky/graph/getFollowers.ts","./src/lexicon/types/app/bsky/graph/getFollows.ts","./src/lexicon/types/app/bsky/graph/getKnownFollowers.ts","./src/lexicon/types/app/bsky/graph/getList.ts","./src/lexicon/types/app/bsky/graph/getListBlocks.ts","./src/lexicon/types/app/bsky/graph/getListMutes.ts","./src/lexicon/types/app/bsky/graph/getLists.ts","./src/lexicon/types/app/bsky/graph/getMutes.ts","./src/lexicon/types/app/bsky/graph/getRelationships.ts","./src/lexicon/types/app/bsky/graph/getStarterPack.ts","./src/lexicon/types/app/bsky/graph/getStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/lexicon/types/app/bsky/graph/list.ts","./src/lexicon/types/app/bsky/graph/listblock.ts","./src/lexicon/types/app/bsky/graph/listitem.ts","./src/lexicon/types/app/bsky/graph/muteActor.ts","./src/lexicon/types/app/bsky/graph/muteActorList.ts","./src/lexicon/types/app/bsky/graph/muteThread.ts","./src/lexicon/types/app/bsky/graph/searchStarterPacks.ts","./src/lexicon/types/app/bsky/graph/starterpack.ts","./src/lexicon/types/app/bsky/graph/unmuteActor.ts","./src/lexicon/types/app/bsky/graph/unmuteActorList.ts","./src/lexicon/types/app/bsky/graph/unmuteThread.ts","./src/lexicon/types/app/bsky/labeler/defs.ts","./src/lexicon/types/app/bsky/labeler/getServices.ts","./src/lexicon/types/app/bsky/labeler/service.ts","./src/lexicon/types/app/bsky/notification/getUnreadCount.ts","./src/lexicon/types/app/bsky/notification/listNotifications.ts","./src/lexicon/types/app/bsky/notification/putPreferences.ts","./src/lexicon/types/app/bsky/notification/registerPush.ts","./src/lexicon/types/app/bsky/notification/updateSeen.ts","./src/lexicon/types/app/bsky/richtext/facet.ts","./src/lexicon/types/app/bsky/unspecced/defs.ts","./src/lexicon/types/app/bsky/unspecced/getConfig.ts","./src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts","./src/lexicon/types/app/bsky/unspecced/getTrends.ts","./src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/acceptConvo.ts","./src/lexicon/types/chat/bsky/convo/addReaction.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoAvailability.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/removeReaction.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateAllRead.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/defs.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/refreshIdentity.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveDid.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/resolveIdentity.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/lexicon/schema.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/listReposByCollection.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/addReservedHandle.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/lexicon/types/tools/ozone/communication/createTemplate.ts","./src/lexicon/types/tools/ozone/communication/defs.ts","./src/lexicon/types/tools/ozone/communication/deleteTemplate.ts","./src/lexicon/types/tools/ozone/communication/listTemplates.ts","./src/lexicon/types/tools/ozone/communication/updateTemplate.ts","./src/lexicon/types/tools/ozone/moderation/defs.ts","./src/lexicon/types/tools/ozone/moderation/emitEvent.ts","./src/lexicon/types/tools/ozone/moderation/getEvent.ts","./src/lexicon/types/tools/ozone/moderation/getRecord.ts","./src/lexicon/types/tools/ozone/moderation/getRecords.ts","./src/lexicon/types/tools/ozone/moderation/getRepo.ts","./src/lexicon/types/tools/ozone/moderation/getReporterStats.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/getSubjects.ts","./src/lexicon/types/tools/ozone/moderation/queryEvents.ts","./src/lexicon/types/tools/ozone/moderation/queryStatuses.ts","./src/lexicon/types/tools/ozone/moderation/searchRepos.ts","./src/lexicon/types/tools/ozone/server/getConfig.ts","./src/lexicon/types/tools/ozone/set/addValues.ts","./src/lexicon/types/tools/ozone/set/defs.ts","./src/lexicon/types/tools/ozone/set/deleteSet.ts","./src/lexicon/types/tools/ozone/set/deleteValues.ts","./src/lexicon/types/tools/ozone/set/getValues.ts","./src/lexicon/types/tools/ozone/set/querySets.ts","./src/lexicon/types/tools/ozone/set/upsertSet.ts","./src/lexicon/types/tools/ozone/setting/defs.ts","./src/lexicon/types/tools/ozone/setting/listOptions.ts","./src/lexicon/types/tools/ozone/setting/removeOptions.ts","./src/lexicon/types/tools/ozone/setting/upsertOption.ts","./src/lexicon/types/tools/ozone/signature/defs.ts","./src/lexicon/types/tools/ozone/signature/findCorrelation.ts","./src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts","./src/lexicon/types/tools/ozone/signature/searchAccounts.ts","./src/lexicon/types/tools/ozone/team/addMember.ts","./src/lexicon/types/tools/ozone/team/defs.ts","./src/lexicon/types/tools/ozone/team/deleteMember.ts","./src/lexicon/types/tools/ozone/team/listMembers.ts","./src/lexicon/types/tools/ozone/team/updateMember.ts","./src/mailer/index.ts","./src/mailer/moderation.ts","./src/mailer/templates.ts","./src/mailer/templates/confirm-email.d.ts","./src/mailer/templates/delete-account.d.ts","./src/mailer/templates/plc-operation.d.ts","./src/mailer/templates/reset-password.d.ts","./src/mailer/templates/update-email.d.ts","./src/read-after-write/index.ts","./src/read-after-write/types.ts","./src/read-after-write/util.ts","./src/read-after-write/viewer.ts","./src/repo/index.ts","./src/repo/prepare.ts","./src/repo/types.ts","./src/scripts/index.ts","./src/scripts/publish-identity.ts","./src/scripts/rebuild-repo.ts","./src/scripts/rotate-keys.ts","./src/scripts/util.ts","./src/scripts/sequencer-recovery/index.ts","./src/scripts/sequencer-recovery/recoverer.ts","./src/scripts/sequencer-recovery/recovery-db.ts","./src/scripts/sequencer-recovery/repair-repos.ts","./src/scripts/sequencer-recovery/user-queues.ts","./src/sequencer/events.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/sequencer/db/index.ts","./src/sequencer/db/schema.ts","./src/sequencer/db/migrations/001-init.ts","./src/sequencer/db/migrations/index.ts","./src/util/compression.ts","./src/util/debug.ts","./src/util/params.ts"],"version":"5.6.3"}
|
1
|
+
{"root":["./src/app-view.ts","./src/auth-routes.ts","./src/auth-verifier.ts","./src/background.ts","./src/basic-routes.ts","./src/bsky-app-view.ts","./src/context.ts","./src/crawlers.ts","./src/disk-blobstore.ts","./src/error.ts","./src/index.ts","./src/logger.ts","./src/pipethrough.ts","./src/redis.ts","./src/well-known.ts","./src/account-manager/account-manager.ts","./src/account-manager/oauth-store.ts","./src/account-manager/db/index.ts","./src/account-manager/db/migrations/001-init.ts","./src/account-manager/db/migrations/002-account-deactivation.ts","./src/account-manager/db/migrations/003-privileged-app-passwords.ts","./src/account-manager/db/migrations/004-oauth.ts","./src/account-manager/db/migrations/005-oauth-account-management.ts","./src/account-manager/db/migrations/index.ts","./src/account-manager/db/schema/account-device.ts","./src/account-manager/db/schema/account.ts","./src/account-manager/db/schema/actor.ts","./src/account-manager/db/schema/app-password.ts","./src/account-manager/db/schema/authorization-request.ts","./src/account-manager/db/schema/authorized-client.ts","./src/account-manager/db/schema/device.ts","./src/account-manager/db/schema/email-token.ts","./src/account-manager/db/schema/index.ts","./src/account-manager/db/schema/invite-code.ts","./src/account-manager/db/schema/refresh-token.ts","./src/account-manager/db/schema/repo-root.ts","./src/account-manager/db/schema/token.ts","./src/account-manager/db/schema/used-refresh-token.ts","./src/account-manager/helpers/account-device.ts","./src/account-manager/helpers/account.ts","./src/account-manager/helpers/auth.ts","./src/account-manager/helpers/authorization-request.ts","./src/account-manager/helpers/authorized-client.ts","./src/account-manager/helpers/device.ts","./src/account-manager/helpers/email-token.ts","./src/account-manager/helpers/invite.ts","./src/account-manager/helpers/password.ts","./src/account-manager/helpers/repo.ts","./src/account-manager/helpers/scrypt.ts","./src/account-manager/helpers/token.ts","./src/account-manager/helpers/used-refresh-token.ts","./src/actor-store/actor-store-reader.ts","./src/actor-store/actor-store-resources.ts","./src/actor-store/actor-store-transactor.ts","./src/actor-store/actor-store-writer.ts","./src/actor-store/actor-store.ts","./src/actor-store/migrate.ts","./src/actor-store/blob/reader.ts","./src/actor-store/blob/transactor.ts","./src/actor-store/db/index.ts","./src/actor-store/db/migrations/001-init.ts","./src/actor-store/db/migrations/index.ts","./src/actor-store/db/schema/account-pref.ts","./src/actor-store/db/schema/backlink.ts","./src/actor-store/db/schema/blob.ts","./src/actor-store/db/schema/index.ts","./src/actor-store/db/schema/record-blob.ts","./src/actor-store/db/schema/record.ts","./src/actor-store/db/schema/repo-block.ts","./src/actor-store/db/schema/repo-root.ts","./src/actor-store/preference/reader.ts","./src/actor-store/preference/transactor.ts","./src/actor-store/preference/util.ts","./src/actor-store/record/reader.ts","./src/actor-store/record/transactor.ts","./src/actor-store/repo/reader.ts","./src/actor-store/repo/sql-repo-reader.ts","./src/actor-store/repo/sql-repo-transactor.ts","./src/actor-store/repo/transactor.ts","./src/api/index.ts","./src/api/proxy.ts","./src/api/app/bsky/index.ts","./src/api/app/bsky/actor/getPreferences.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/index.ts","./src/api/app/bsky/actor/putPreferences.ts","./src/api/app/bsky/feed/getActorLikes.ts","./src/api/app/bsky/feed/getAuthorFeed.ts","./src/api/app/bsky/feed/getFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/index.ts","./src/api/app/bsky/notification/index.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/util/resolver.ts","./src/api/com/atproto/index.ts","./src/api/com/atproto/admin/deleteAccount.ts","./src/api/com/atproto/admin/disableAccountInvites.ts","./src/api/com/atproto/admin/disableInviteCodes.ts","./src/api/com/atproto/admin/enableAccountInvites.ts","./src/api/com/atproto/admin/getAccountInfo.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getInviteCodes.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/index.ts","./src/api/com/atproto/admin/sendEmail.ts","./src/api/com/atproto/admin/updateAccountEmail.ts","./src/api/com/atproto/admin/updateAccountHandle.ts","./src/api/com/atproto/admin/updateAccountPassword.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/admin/util.ts","./src/api/com/atproto/identity/getRecommendedDidCredentials.ts","./src/api/com/atproto/identity/index.ts","./src/api/com/atproto/identity/requestPlcOperationSignature.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/identity/signPlcOperation.ts","./src/api/com/atproto/identity/submitPlcOperation.ts","./src/api/com/atproto/identity/updateHandle.ts","./src/api/com/atproto/moderation/createReport.ts","./src/api/com/atproto/moderation/index.ts","./src/api/com/atproto/repo/applyWrites.ts","./src/api/com/atproto/repo/createRecord.ts","./src/api/com/atproto/repo/deleteRecord.ts","./src/api/com/atproto/repo/describeRepo.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/repo/importRepo.ts","./src/api/com/atproto/repo/index.ts","./src/api/com/atproto/repo/listMissingBlobs.ts","./src/api/com/atproto/repo/listRecords.ts","./src/api/com/atproto/repo/putRecord.ts","./src/api/com/atproto/repo/uploadBlob.ts","./src/api/com/atproto/server/activateAccount.ts","./src/api/com/atproto/server/checkAccountStatus.ts","./src/api/com/atproto/server/confirmEmail.ts","./src/api/com/atproto/server/createAccount.ts","./src/api/com/atproto/server/createAppPassword.ts","./src/api/com/atproto/server/createInviteCode.ts","./src/api/com/atproto/server/createInviteCodes.ts","./src/api/com/atproto/server/createSession.ts","./src/api/com/atproto/server/deactivateAccount.ts","./src/api/com/atproto/server/deleteAccount.ts","./src/api/com/atproto/server/deleteSession.ts","./src/api/com/atproto/server/describeServer.ts","./src/api/com/atproto/server/getAccountInviteCodes.ts","./src/api/com/atproto/server/getServiceAuth.ts","./src/api/com/atproto/server/getSession.ts","./src/api/com/atproto/server/index.ts","./src/api/com/atproto/server/listAppPasswords.ts","./src/api/com/atproto/server/refreshSession.ts","./src/api/com/atproto/server/requestAccountDelete.ts","./src/api/com/atproto/server/requestEmailConfirmation.ts","./src/api/com/atproto/server/requestEmailUpdate.ts","./src/api/com/atproto/server/requestPasswordReset.ts","./src/api/com/atproto/server/reserveSigningKey.ts","./src/api/com/atproto/server/resetPassword.ts","./src/api/com/atproto/server/revokeAppPassword.ts","./src/api/com/atproto/server/updateEmail.ts","./src/api/com/atproto/server/util.ts","./src/api/com/atproto/sync/getBlob.ts","./src/api/com/atproto/sync/getBlocks.ts","./src/api/com/atproto/sync/getLatestCommit.ts","./src/api/com/atproto/sync/getRecord.ts","./src/api/com/atproto/sync/getRepo.ts","./src/api/com/atproto/sync/getRepoStatus.ts","./src/api/com/atproto/sync/index.ts","./src/api/com/atproto/sync/listBlobs.ts","./src/api/com/atproto/sync/listRepos.ts","./src/api/com/atproto/sync/subscribeRepos.ts","./src/api/com/atproto/sync/util.ts","./src/api/com/atproto/sync/deprecated/getCheckout.ts","./src/api/com/atproto/sync/deprecated/getHead.ts","./src/api/com/atproto/temp/checkSignupQueue.ts","./src/api/com/atproto/temp/index.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/db/cast.ts","./src/db/db.ts","./src/db/index.ts","./src/db/migrator.ts","./src/db/pagination.ts","./src/db/util.ts","./src/db/tables/moderation.ts","./src/did-cache/index.ts","./src/did-cache/db/index.ts","./src/did-cache/db/migrations.ts","./src/did-cache/db/schema.ts","./src/handle/explicit-slurs.ts","./src/handle/index.ts","./src/handle/reserved.ts","./src/image/image-url-builder.ts","./src/image/image-url.ts","./src/image/index.ts","./src/lexicon/index.ts","./src/lexicon/lexicons.ts","./src/lexicon/util.ts","./src/lexicon/types/app/bsky/actor/defs.ts","./src/lexicon/types/app/bsky/actor/getPreferences.ts","./src/lexicon/types/app/bsky/actor/getProfile.ts","./src/lexicon/types/app/bsky/actor/getProfiles.ts","./src/lexicon/types/app/bsky/actor/getSuggestions.ts","./src/lexicon/types/app/bsky/actor/profile.ts","./src/lexicon/types/app/bsky/actor/putPreferences.ts","./src/lexicon/types/app/bsky/actor/searchActors.ts","./src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts","./src/lexicon/types/app/bsky/embed/defs.ts","./src/lexicon/types/app/bsky/embed/external.ts","./src/lexicon/types/app/bsky/embed/images.ts","./src/lexicon/types/app/bsky/embed/record.ts","./src/lexicon/types/app/bsky/embed/recordWithMedia.ts","./src/lexicon/types/app/bsky/embed/video.ts","./src/lexicon/types/app/bsky/feed/defs.ts","./src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/generator.ts","./src/lexicon/types/app/bsky/feed/getActorFeeds.ts","./src/lexicon/types/app/bsky/feed/getActorLikes.ts","./src/lexicon/types/app/bsky/feed/getAuthorFeed.ts","./src/lexicon/types/app/bsky/feed/getFeed.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerators.ts","./src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts","./src/lexicon/types/app/bsky/feed/getLikes.ts","./src/lexicon/types/app/bsky/feed/getListFeed.ts","./src/lexicon/types/app/bsky/feed/getPostThread.ts","./src/lexicon/types/app/bsky/feed/getPosts.ts","./src/lexicon/types/app/bsky/feed/getQuotes.ts","./src/lexicon/types/app/bsky/feed/getRepostedBy.ts","./src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/feed/getTimeline.ts","./src/lexicon/types/app/bsky/feed/like.ts","./src/lexicon/types/app/bsky/feed/post.ts","./src/lexicon/types/app/bsky/feed/postgate.ts","./src/lexicon/types/app/bsky/feed/repost.ts","./src/lexicon/types/app/bsky/feed/searchPosts.ts","./src/lexicon/types/app/bsky/feed/sendInteractions.ts","./src/lexicon/types/app/bsky/feed/threadgate.ts","./src/lexicon/types/app/bsky/graph/block.ts","./src/lexicon/types/app/bsky/graph/defs.ts","./src/lexicon/types/app/bsky/graph/follow.ts","./src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getBlocks.ts","./src/lexicon/types/app/bsky/graph/getFollowers.ts","./src/lexicon/types/app/bsky/graph/getFollows.ts","./src/lexicon/types/app/bsky/graph/getKnownFollowers.ts","./src/lexicon/types/app/bsky/graph/getList.ts","./src/lexicon/types/app/bsky/graph/getListBlocks.ts","./src/lexicon/types/app/bsky/graph/getListMutes.ts","./src/lexicon/types/app/bsky/graph/getLists.ts","./src/lexicon/types/app/bsky/graph/getMutes.ts","./src/lexicon/types/app/bsky/graph/getRelationships.ts","./src/lexicon/types/app/bsky/graph/getStarterPack.ts","./src/lexicon/types/app/bsky/graph/getStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/lexicon/types/app/bsky/graph/list.ts","./src/lexicon/types/app/bsky/graph/listblock.ts","./src/lexicon/types/app/bsky/graph/listitem.ts","./src/lexicon/types/app/bsky/graph/muteActor.ts","./src/lexicon/types/app/bsky/graph/muteActorList.ts","./src/lexicon/types/app/bsky/graph/muteThread.ts","./src/lexicon/types/app/bsky/graph/searchStarterPacks.ts","./src/lexicon/types/app/bsky/graph/starterpack.ts","./src/lexicon/types/app/bsky/graph/unmuteActor.ts","./src/lexicon/types/app/bsky/graph/unmuteActorList.ts","./src/lexicon/types/app/bsky/graph/unmuteThread.ts","./src/lexicon/types/app/bsky/labeler/defs.ts","./src/lexicon/types/app/bsky/labeler/getServices.ts","./src/lexicon/types/app/bsky/labeler/service.ts","./src/lexicon/types/app/bsky/notification/getUnreadCount.ts","./src/lexicon/types/app/bsky/notification/listNotifications.ts","./src/lexicon/types/app/bsky/notification/putPreferences.ts","./src/lexicon/types/app/bsky/notification/registerPush.ts","./src/lexicon/types/app/bsky/notification/updateSeen.ts","./src/lexicon/types/app/bsky/richtext/facet.ts","./src/lexicon/types/app/bsky/unspecced/defs.ts","./src/lexicon/types/app/bsky/unspecced/getConfig.ts","./src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts","./src/lexicon/types/app/bsky/unspecced/getTrends.ts","./src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/acceptConvo.ts","./src/lexicon/types/chat/bsky/convo/addReaction.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoAvailability.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/removeReaction.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateAllRead.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/defs.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/refreshIdentity.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveDid.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/resolveIdentity.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/lexicon/schema.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/defs.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getHostStatus.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listHosts.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/listReposByCollection.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/addReservedHandle.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/lexicon/types/tools/ozone/communication/createTemplate.ts","./src/lexicon/types/tools/ozone/communication/defs.ts","./src/lexicon/types/tools/ozone/communication/deleteTemplate.ts","./src/lexicon/types/tools/ozone/communication/listTemplates.ts","./src/lexicon/types/tools/ozone/communication/updateTemplate.ts","./src/lexicon/types/tools/ozone/moderation/defs.ts","./src/lexicon/types/tools/ozone/moderation/emitEvent.ts","./src/lexicon/types/tools/ozone/moderation/getEvent.ts","./src/lexicon/types/tools/ozone/moderation/getRecord.ts","./src/lexicon/types/tools/ozone/moderation/getRecords.ts","./src/lexicon/types/tools/ozone/moderation/getRepo.ts","./src/lexicon/types/tools/ozone/moderation/getReporterStats.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/getSubjects.ts","./src/lexicon/types/tools/ozone/moderation/queryEvents.ts","./src/lexicon/types/tools/ozone/moderation/queryStatuses.ts","./src/lexicon/types/tools/ozone/moderation/searchRepos.ts","./src/lexicon/types/tools/ozone/server/getConfig.ts","./src/lexicon/types/tools/ozone/set/addValues.ts","./src/lexicon/types/tools/ozone/set/defs.ts","./src/lexicon/types/tools/ozone/set/deleteSet.ts","./src/lexicon/types/tools/ozone/set/deleteValues.ts","./src/lexicon/types/tools/ozone/set/getValues.ts","./src/lexicon/types/tools/ozone/set/querySets.ts","./src/lexicon/types/tools/ozone/set/upsertSet.ts","./src/lexicon/types/tools/ozone/setting/defs.ts","./src/lexicon/types/tools/ozone/setting/listOptions.ts","./src/lexicon/types/tools/ozone/setting/removeOptions.ts","./src/lexicon/types/tools/ozone/setting/upsertOption.ts","./src/lexicon/types/tools/ozone/signature/defs.ts","./src/lexicon/types/tools/ozone/signature/findCorrelation.ts","./src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts","./src/lexicon/types/tools/ozone/signature/searchAccounts.ts","./src/lexicon/types/tools/ozone/team/addMember.ts","./src/lexicon/types/tools/ozone/team/defs.ts","./src/lexicon/types/tools/ozone/team/deleteMember.ts","./src/lexicon/types/tools/ozone/team/listMembers.ts","./src/lexicon/types/tools/ozone/team/updateMember.ts","./src/mailer/index.ts","./src/mailer/moderation.ts","./src/mailer/templates.ts","./src/mailer/templates/confirm-email.d.ts","./src/mailer/templates/delete-account.d.ts","./src/mailer/templates/plc-operation.d.ts","./src/mailer/templates/reset-password.d.ts","./src/mailer/templates/update-email.d.ts","./src/read-after-write/index.ts","./src/read-after-write/types.ts","./src/read-after-write/util.ts","./src/read-after-write/viewer.ts","./src/repo/index.ts","./src/repo/prepare.ts","./src/repo/types.ts","./src/scripts/index.ts","./src/scripts/publish-identity.ts","./src/scripts/rebuild-repo.ts","./src/scripts/rotate-keys.ts","./src/scripts/util.ts","./src/scripts/sequencer-recovery/index.ts","./src/scripts/sequencer-recovery/recoverer.ts","./src/scripts/sequencer-recovery/recovery-db.ts","./src/scripts/sequencer-recovery/repair-repos.ts","./src/scripts/sequencer-recovery/user-queues.ts","./src/sequencer/events.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/sequencer/db/index.ts","./src/sequencer/db/schema.ts","./src/sequencer/db/migrations/001-init.ts","./src/sequencer/db/migrations/index.ts","./src/util/compression.ts","./src/util/debug.ts","./src/util/params.ts"],"version":"5.8.2"}
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["./tests/_util.ts","./tests/account-deactivation.test.ts","./tests/account-deletion.test.ts","./tests/account-migration.test.ts","./tests/account.test.ts","./tests/app-passwords.test.ts","./tests/auth.test.ts","./tests/blob-deletes.test.ts","./tests/create-post.test.ts","./tests/crud.test.ts","./tests/db.test.ts","./tests/email-confirmation.test.ts","./tests/entryway.test.ts","./tests/file-uploads.test.ts","./tests/handle-validation.test.ts","./tests/handles.test.ts","./tests/invite-codes.test.ts","./tests/invites-admin.test.ts","./tests/moderation.test.ts","./tests/moderator-auth.test.ts","./tests/oauth.test.ts","./tests/plc-operations.test.ts","./tests/preferences.test.ts","./tests/races.test.ts","./tests/rate-limits.test.ts","./tests/recovery.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/takedown-appeal.test.ts","./tests/proxied/admin.test.ts","./tests/proxied/feedgen.test.ts","./tests/proxied/notif.test.ts","./tests/proxied/procedures.test.ts","./tests/proxied/proxy-catchall.test.ts","./tests/proxied/proxy-header.test.ts","./tests/proxied/read-after-write.test.ts","./tests/proxied/views.test.ts","./tests/seeds/basic.ts","./tests/seeds/follows.ts","./tests/seeds/likes.ts","./tests/seeds/reposts.ts","./tests/seeds/thread.ts","./tests/seeds/users-bulk.ts","./tests/seeds/users.ts","./tests/sync/invertible-ops.test.ts","./tests/sync/list.test.ts","./tests/sync/subscribe-repos.test.ts","./tests/sync/sync.test.ts"],"version":"5.
|
1
|
+
{"root":["./tests/_util.ts","./tests/account-deactivation.test.ts","./tests/account-deletion.test.ts","./tests/account-migration.test.ts","./tests/account.test.ts","./tests/app-passwords.test.ts","./tests/auth.test.ts","./tests/blob-deletes.test.ts","./tests/create-post.test.ts","./tests/crud.test.ts","./tests/db.test.ts","./tests/email-confirmation.test.ts","./tests/entryway.test.ts","./tests/file-uploads.test.ts","./tests/handle-validation.test.ts","./tests/handles.test.ts","./tests/invite-codes.test.ts","./tests/invites-admin.test.ts","./tests/moderation.test.ts","./tests/moderator-auth.test.ts","./tests/oauth.test.ts","./tests/plc-operations.test.ts","./tests/preferences.test.ts","./tests/races.test.ts","./tests/rate-limits.test.ts","./tests/recovery.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/takedown-appeal.test.ts","./tests/proxied/admin.test.ts","./tests/proxied/feedgen.test.ts","./tests/proxied/notif.test.ts","./tests/proxied/procedures.test.ts","./tests/proxied/proxy-catchall.test.ts","./tests/proxied/proxy-header.test.ts","./tests/proxied/read-after-write.test.ts","./tests/proxied/views.test.ts","./tests/seeds/basic.ts","./tests/seeds/follows.ts","./tests/seeds/likes.ts","./tests/seeds/reposts.ts","./tests/seeds/thread.ts","./tests/seeds/users-bulk.ts","./tests/seeds/users.ts","./tests/sync/invertible-ops.test.ts","./tests/sync/list.test.ts","./tests/sync/subscribe-repos.test.ts","./tests/sync/sync.test.ts"],"version":"5.8.2"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { DeviceId } from '@atproto/oauth-provider';
|
2
|
-
import { DateISO, JsonArray } from '../../../db';
|
3
|
-
export interface DeviceAccount {
|
4
|
-
did: string;
|
5
|
-
deviceId: DeviceId;
|
6
|
-
authenticatedAt: DateISO;
|
7
|
-
authorizedClients: JsonArray;
|
8
|
-
remember: 0 | 1;
|
9
|
-
}
|
10
|
-
export declare const tableName = "device_account";
|
11
|
-
export type PartialDB = {
|
12
|
-
[tableName]: DeviceAccount;
|
13
|
-
};
|
14
|
-
//# sourceMappingURL=device-account.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"device-account.d.ts","sourceRoot":"","sources":["../../../../src/account-manager/db/schema/device-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,QAAQ,CAAA;IAElB,eAAe,EAAE,OAAO,CAAA;IACxB,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAChB;AAED,eAAO,MAAM,SAAS,mBAAmB,CAAA;AAEzC,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CAAE,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"device-account.js","sourceRoot":"","sources":["../../../../src/account-manager/db/schema/device-account.ts"],"names":[],"mappings":";;;AAYa,QAAA,SAAS,GAAG,gBAAgB,CAAA"}
|
@@ -1,108 +0,0 @@
|
|
1
|
-
import { Selectable } from 'kysely';
|
2
|
-
import { Account, DeviceAccountInfo, DeviceId, OAuthClientId } from '@atproto/oauth-provider';
|
3
|
-
import { AccountDb } from '../db';
|
4
|
-
import { DeviceAccount } from '../db/schema/device-account';
|
5
|
-
import { ActorAccount } from './account';
|
6
|
-
export type SelectableDeviceAccount = Pick<Selectable<DeviceAccount>, 'authenticatedAt' | 'authorizedClients' | 'remember'>;
|
7
|
-
export type InsertableField = {
|
8
|
-
authenticatedAt: Date;
|
9
|
-
authorizedClients: OAuthClientId[];
|
10
|
-
remember: boolean;
|
11
|
-
};
|
12
|
-
export declare function toDeviceAccountInfo(row: SelectableDeviceAccount): DeviceAccountInfo;
|
13
|
-
export declare function toAccount(row: Selectable<ActorAccount>, audience: string): Account;
|
14
|
-
export declare const readQB: (db: AccountDb, deviceId: DeviceId, did: string) => import("kysely/dist/cjs/parser/select-parser").QueryBuilderWithSelection<import("kysely/dist/cjs/parser/table-parser").From<import("../db").DatabaseSchema, "device_account">, "device_account", {}, "authenticatedAt" | "remember" | "authorizedClients">;
|
15
|
-
export declare const updateQB: (db: AccountDb, deviceId: DeviceId, did: string, entry: {
|
16
|
-
authenticatedAt?: Date;
|
17
|
-
authorizedClients?: OAuthClientId[];
|
18
|
-
remember?: boolean;
|
19
|
-
}) => import("kysely").UpdateQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../db").DatabaseSchema, "device_account">, "device_account", "device_account", import("kysely").UpdateResult>;
|
20
|
-
export declare const createOrUpdateQB: (db: AccountDb, deviceId: DeviceId, did: string, remember: boolean) => import("kysely").InsertQueryBuilder<import("../db").DatabaseSchema, "device_account", import("kysely").Selection<import("../db").DatabaseSchema, "device_account", "authenticatedAt" | "remember" | "authorizedClients">>;
|
21
|
-
export declare const getAccountInfoQB: (db: AccountDb, deviceId: DeviceId, did: string) => import("kysely").SelectQueryBuilder<{
|
22
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
23
|
-
token: import("../db").Token;
|
24
|
-
actor: import("../db").Actor;
|
25
|
-
app_password: import("../db").AppPassword;
|
26
|
-
invite_code: import("../db").InviteCode;
|
27
|
-
invite_code_use: import("../db").InviteCodeUse;
|
28
|
-
refresh_token: import("../db").RefreshToken;
|
29
|
-
repo_root: import("../db").RepoRoot;
|
30
|
-
email_token: import("../db").EmailToken;
|
31
|
-
authorization_request: import("../db").AuthorizationRequest;
|
32
|
-
device: import("../db").Device;
|
33
|
-
device_account: DeviceAccount;
|
34
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
35
|
-
}, "account" | "actor" | "device" | "device_account", Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
|
36
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
37
|
-
token: import("../db").Token;
|
38
|
-
actor: import("../db").Actor;
|
39
|
-
app_password: import("../db").AppPassword;
|
40
|
-
invite_code: import("../db").InviteCode;
|
41
|
-
invite_code_use: import("../db").InviteCodeUse;
|
42
|
-
refresh_token: import("../db").RefreshToken;
|
43
|
-
repo_root: import("../db").RepoRoot;
|
44
|
-
email_token: import("../db").EmailToken;
|
45
|
-
authorization_request: import("../db").AuthorizationRequest;
|
46
|
-
device: import("../db").Device;
|
47
|
-
device_account: DeviceAccount;
|
48
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
49
|
-
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.takedownRef" | "actor.deactivatedAt" | "actor.deleteAfter"> & import("kysely").Selection<{
|
50
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
51
|
-
token: import("../db").Token;
|
52
|
-
actor: import("../db").Actor;
|
53
|
-
app_password: import("../db").AppPassword;
|
54
|
-
invite_code: import("../db").InviteCode;
|
55
|
-
invite_code_use: import("../db").InviteCodeUse;
|
56
|
-
refresh_token: import("../db").RefreshToken;
|
57
|
-
repo_root: import("../db").RepoRoot;
|
58
|
-
email_token: import("../db").EmailToken;
|
59
|
-
authorization_request: import("../db").AuthorizationRequest;
|
60
|
-
device: import("../db").Device;
|
61
|
-
device_account: DeviceAccount;
|
62
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
63
|
-
}, "account" | "actor" | "device" | "device_account", "device_account.authenticatedAt" | "device_account.remember" | "device_account.authorizedClients">>;
|
64
|
-
export declare const listRememberedQB: (db: AccountDb, deviceId: DeviceId) => import("kysely").SelectQueryBuilder<{
|
65
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
66
|
-
token: import("../db").Token;
|
67
|
-
actor: import("../db").Actor;
|
68
|
-
app_password: import("../db").AppPassword;
|
69
|
-
invite_code: import("../db").InviteCode;
|
70
|
-
invite_code_use: import("../db").InviteCodeUse;
|
71
|
-
refresh_token: import("../db").RefreshToken;
|
72
|
-
repo_root: import("../db").RepoRoot;
|
73
|
-
email_token: import("../db").EmailToken;
|
74
|
-
authorization_request: import("../db").AuthorizationRequest;
|
75
|
-
device: import("../db").Device;
|
76
|
-
device_account: DeviceAccount;
|
77
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
78
|
-
}, "account" | "actor" | "device" | "device_account", Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
|
79
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
80
|
-
token: import("../db").Token;
|
81
|
-
actor: import("../db").Actor;
|
82
|
-
app_password: import("../db").AppPassword;
|
83
|
-
invite_code: import("../db").InviteCode;
|
84
|
-
invite_code_use: import("../db").InviteCodeUse;
|
85
|
-
refresh_token: import("../db").RefreshToken;
|
86
|
-
repo_root: import("../db").RepoRoot;
|
87
|
-
email_token: import("../db").EmailToken;
|
88
|
-
authorization_request: import("../db").AuthorizationRequest;
|
89
|
-
device: import("../db").Device;
|
90
|
-
device_account: DeviceAccount;
|
91
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
92
|
-
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.takedownRef" | "actor.deactivatedAt" | "actor.deleteAfter"> & import("kysely").Selection<{
|
93
|
-
account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
|
94
|
-
token: import("../db").Token;
|
95
|
-
actor: import("../db").Actor;
|
96
|
-
app_password: import("../db").AppPassword;
|
97
|
-
invite_code: import("../db").InviteCode;
|
98
|
-
invite_code_use: import("../db").InviteCodeUse;
|
99
|
-
refresh_token: import("../db").RefreshToken;
|
100
|
-
repo_root: import("../db").RepoRoot;
|
101
|
-
email_token: import("../db").EmailToken;
|
102
|
-
authorization_request: import("../db").AuthorizationRequest;
|
103
|
-
device: import("../db").Device;
|
104
|
-
device_account: DeviceAccount;
|
105
|
-
used_refresh_token: import("../db").UsedRefreshToken;
|
106
|
-
}, "account" | "actor" | "device" | "device_account", "device_account.authenticatedAt" | "device_account.remember" | "device_account.authorizedClients">>;
|
107
|
-
export declare const removeQB: (db: AccountDb, deviceId: DeviceId, did: string) => import("kysely").DeleteQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../db").DatabaseSchema, "device_account">, "device_account", import("kysely").DeleteResult>;
|
108
|
-
//# sourceMappingURL=device-account.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"device-account.d.ts","sourceRoot":"","sources":["../../../src/account-manager/helpers/device-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAA;AAEzD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,UAAU,CAAC,aAAa,CAAC,EACzB,iBAAiB,GAAG,mBAAmB,GAAG,UAAU,CACrD,CAAA;AAcD,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,IAAI,CAAA;IACrB,iBAAiB,EAAE,aAAa,EAAE,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAqBD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,uBAAuB,GAC3B,iBAAiB,CAMnB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAQT;AAED,eAAO,MAAM,MAAM,OAAQ,SAAS,YAAY,QAAQ,OAAO,MAAM,+PAKJ,CAAA;AAEjE,eAAO,MAAM,QAAQ,OACf,SAAS,YACH,QAAQ,OACb,MAAM,SACJ;IACL,eAAe,CAAC,EAAE,IAAI,CAAA;IACtB,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,iNAMkC,CAAA;AAErC,eAAO,MAAM,gBAAgB,OACvB,SAAS,YACH,QAAQ,OACb,MAAM,YACD,OAAO,8NAalB,CAAA;AAED,eAAO,MAAM,gBAAgB,OACvB,SAAS,YACH,QAAQ,OACb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yJAGZ,CAAA;AAED,eAAO,MAAM,gBAAgB,OAAQ,SAAS,YAAY,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yJACU,CAAA;AAE5E,eAAO,MAAM,QAAQ,OAAQ,SAAS,YAAY,QAAQ,OAAO,MAAM,+LAI5C,CAAA"}
|
@@ -1,83 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.removeQB = exports.listRememberedQB = exports.getAccountInfoQB = exports.createOrUpdateQB = exports.updateQB = exports.readQB = void 0;
|
4
|
-
exports.toDeviceAccountInfo = toDeviceAccountInfo;
|
5
|
-
exports.toAccount = toAccount;
|
6
|
-
const db_1 = require("../../db");
|
7
|
-
const account_1 = require("./account");
|
8
|
-
const selectAccountInfoQB = (db, deviceId) => (0, account_1.selectAccountQB)(db, { includeDeactivated: true })
|
9
|
-
// note: query planner should use "device_account_pk" index
|
10
|
-
.innerJoin('device_account', 'device_account.did', 'actor.did')
|
11
|
-
.innerJoin('device', 'device.id', 'device_account.deviceId')
|
12
|
-
.where('device.id', '=', deviceId)
|
13
|
-
.select([
|
14
|
-
'device_account.authenticatedAt',
|
15
|
-
'device_account.remember',
|
16
|
-
'device_account.authorizedClients',
|
17
|
-
]);
|
18
|
-
function toInsertable(values) {
|
19
|
-
const row = {};
|
20
|
-
if (values.authenticatedAt) {
|
21
|
-
row.authenticatedAt = (0, db_1.toDateISO)(values.authenticatedAt);
|
22
|
-
}
|
23
|
-
if (values.remember !== undefined) {
|
24
|
-
row.remember = values.remember === true ? 1 : 0;
|
25
|
-
}
|
26
|
-
if (values.authorizedClients) {
|
27
|
-
row.authorizedClients = (0, db_1.toJsonArray)(values.authorizedClients);
|
28
|
-
}
|
29
|
-
return row;
|
30
|
-
}
|
31
|
-
function toDeviceAccountInfo(row) {
|
32
|
-
return {
|
33
|
-
remembered: row.remember === 1,
|
34
|
-
authenticatedAt: (0, db_1.fromDateISO)(row.authenticatedAt),
|
35
|
-
authorizedClients: (0, db_1.fromJsonArray)(row.authorizedClients),
|
36
|
-
};
|
37
|
-
}
|
38
|
-
function toAccount(row, audience) {
|
39
|
-
return {
|
40
|
-
sub: row.did,
|
41
|
-
aud: audience,
|
42
|
-
email: row.email || undefined,
|
43
|
-
email_verified: row.email ? row.emailConfirmedAt != null : undefined,
|
44
|
-
preferred_username: row.handle || undefined,
|
45
|
-
};
|
46
|
-
}
|
47
|
-
const readQB = (db, deviceId, did) => db.db
|
48
|
-
.selectFrom('device_account')
|
49
|
-
.where('did', '=', did)
|
50
|
-
.where('deviceId', '=', deviceId)
|
51
|
-
.select(['remember', 'authorizedClients', 'authenticatedAt']);
|
52
|
-
exports.readQB = readQB;
|
53
|
-
const updateQB = (db, deviceId, did, entry) => db.db
|
54
|
-
.updateTable('device_account')
|
55
|
-
.set(toInsertable(entry))
|
56
|
-
.where('did', '=', did)
|
57
|
-
.where('deviceId', '=', deviceId);
|
58
|
-
exports.updateQB = updateQB;
|
59
|
-
const createOrUpdateQB = (db, deviceId, did, remember) => {
|
60
|
-
const { authorizedClients, ...values } = toInsertable({
|
61
|
-
remember,
|
62
|
-
authenticatedAt: new Date(),
|
63
|
-
authorizedClients: [],
|
64
|
-
});
|
65
|
-
return db.db
|
66
|
-
.insertInto('device_account')
|
67
|
-
.values({ did, deviceId, authorizedClients, ...values })
|
68
|
-
.onConflict((oc) => oc.columns(['deviceId', 'did']).doUpdateSet(values))
|
69
|
-
.returning(['remember', 'authorizedClients', 'authenticatedAt']);
|
70
|
-
};
|
71
|
-
exports.createOrUpdateQB = createOrUpdateQB;
|
72
|
-
const getAccountInfoQB = (db, deviceId, did) => {
|
73
|
-
return selectAccountInfoQB(db, deviceId).where('actor.did', '=', did);
|
74
|
-
};
|
75
|
-
exports.getAccountInfoQB = getAccountInfoQB;
|
76
|
-
const listRememberedQB = (db, deviceId) => selectAccountInfoQB(db, deviceId).where('device_account.remember', '=', 1);
|
77
|
-
exports.listRememberedQB = listRememberedQB;
|
78
|
-
const removeQB = (db, deviceId, did) => db.db
|
79
|
-
.deleteFrom('device_account')
|
80
|
-
.where('deviceId', '=', deviceId)
|
81
|
-
.where('did', '=', did);
|
82
|
-
exports.removeQB = removeQB;
|
83
|
-
//# sourceMappingURL=device-account.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"device-account.js","sourceRoot":"","sources":["../../../src/account-manager/helpers/device-account.ts"],"names":[],"mappings":";;;AAsDA,kDAQC;AAED,8BAWC;AApED,iCAA6E;AAG7E,uCAAyD;AAOzD,MAAM,mBAAmB,GAAG,CAAC,EAAa,EAAE,QAAkB,EAAE,EAAE,CAChE,IAAA,yBAAe,EAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC/C,2DAA2D;KAC1D,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,CAAC;KAC9D,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC;KAC3D,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC;KACjC,MAAM,CAAC;IACN,gCAAgC;IAChC,yBAAyB;IACzB,kCAAkC;CACnC,CAAC,CAAA;AAWN,SAAS,YAAY,CACnB,MAAgC;IAEhC,MAAM,GAAG,GAAuC,EAAE,CAAA;IAClD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,GAAG,CAAC,eAAe,GAAG,IAAA,cAAS,EAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,GAAG,CAAC,iBAAiB,GAAG,IAAA,gBAAW,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,mBAAmB,CACjC,GAA4B;IAE5B,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;QAC9B,eAAe,EAAE,IAAA,gBAAW,EAAC,GAAG,CAAC,eAAe,CAAC;QACjD,iBAAiB,EAAE,IAAA,kBAAa,EAAgB,GAAG,CAAC,iBAAiB,CAAC;KACvE,CAAA;AACH,CAAC;AAED,SAAgB,SAAS,CACvB,GAA6B,EAC7B,QAAgB;IAEhB,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;QAC7B,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS;QACpE,kBAAkB,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;KAC5C,CAAA;AACH,CAAC;AAEM,MAAM,MAAM,GAAG,CAAC,EAAa,EAAE,QAAkB,EAAE,GAAW,EAAE,EAAE,CACvE,EAAE,CAAC,EAAE;KACF,UAAU,CAAC,gBAAgB,CAAC;KAC5B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;KAChC,MAAM,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;AALpD,QAAA,MAAM,UAK8C;AAE1D,MAAM,QAAQ,GAAG,CACtB,EAAa,EACb,QAAkB,EAClB,GAAW,EACX,KAIC,EACD,EAAE,CACF,EAAE,CAAC,EAAE;KACF,WAAW,CAAC,gBAAgB,CAAC;KAC7B,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACxB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;KACtB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;AAdxB,QAAA,QAAQ,YAcgB;AAE9B,MAAM,gBAAgB,GAAG,CAC9B,EAAa,EACb,QAAkB,EAClB,GAAW,EACX,QAAiB,EACjB,EAAE;IACF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;QACpD,QAAQ;QACR,eAAe,EAAE,IAAI,IAAI,EAAE;QAC3B,iBAAiB,EAAE,EAAE;KACtB,CAAC,CAAA;IAEF,OAAO,EAAE,CAAC,EAAE;SACT,UAAU,CAAC,gBAAgB,CAAC;SAC5B,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC;SACvD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACvE,SAAS,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B;AAEM,MAAM,gBAAgB,GAAG,CAC9B,EAAa,EACb,QAAkB,EAClB,GAAW,EACX,EAAE;IACF,OAAO,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvE,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAAa,EAAE,QAAkB,EAAE,EAAE,CACpE,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAD/D,QAAA,gBAAgB,oBAC+C;AAErE,MAAM,QAAQ,GAAG,CAAC,EAAa,EAAE,QAAkB,EAAE,GAAW,EAAE,EAAE,CACzE,EAAE,CAAC,EAAE;KACF,UAAU,CAAC,gBAAgB,CAAC;KAC5B,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;KAChC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAJd,QAAA,QAAQ,YAIM"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { DeviceId } from '@atproto/oauth-provider'
|
2
|
-
import { DateISO, JsonArray } from '../../../db'
|
3
|
-
|
4
|
-
export interface DeviceAccount {
|
5
|
-
did: string
|
6
|
-
deviceId: DeviceId
|
7
|
-
|
8
|
-
authenticatedAt: DateISO
|
9
|
-
authorizedClients: JsonArray
|
10
|
-
remember: 0 | 1
|
11
|
-
}
|
12
|
-
|
13
|
-
export const tableName = 'device_account'
|
14
|
-
|
15
|
-
export type PartialDB = { [tableName]: DeviceAccount }
|
@@ -1,135 +0,0 @@
|
|
1
|
-
import { Insertable, Selectable } from 'kysely'
|
2
|
-
import {
|
3
|
-
Account,
|
4
|
-
DeviceAccountInfo,
|
5
|
-
DeviceId,
|
6
|
-
OAuthClientId,
|
7
|
-
} from '@atproto/oauth-provider'
|
8
|
-
import { fromDateISO, fromJsonArray, toDateISO, toJsonArray } from '../../db'
|
9
|
-
import { AccountDb } from '../db'
|
10
|
-
import { DeviceAccount } from '../db/schema/device-account'
|
11
|
-
import { ActorAccount, selectAccountQB } from './account'
|
12
|
-
|
13
|
-
export type SelectableDeviceAccount = Pick<
|
14
|
-
Selectable<DeviceAccount>,
|
15
|
-
'authenticatedAt' | 'authorizedClients' | 'remember'
|
16
|
-
>
|
17
|
-
|
18
|
-
const selectAccountInfoQB = (db: AccountDb, deviceId: DeviceId) =>
|
19
|
-
selectAccountQB(db, { includeDeactivated: true })
|
20
|
-
// note: query planner should use "device_account_pk" index
|
21
|
-
.innerJoin('device_account', 'device_account.did', 'actor.did')
|
22
|
-
.innerJoin('device', 'device.id', 'device_account.deviceId')
|
23
|
-
.where('device.id', '=', deviceId)
|
24
|
-
.select([
|
25
|
-
'device_account.authenticatedAt',
|
26
|
-
'device_account.remember',
|
27
|
-
'device_account.authorizedClients',
|
28
|
-
])
|
29
|
-
|
30
|
-
export type InsertableField = {
|
31
|
-
authenticatedAt: Date
|
32
|
-
authorizedClients: OAuthClientId[]
|
33
|
-
remember: boolean
|
34
|
-
}
|
35
|
-
|
36
|
-
function toInsertable<V extends Partial<InsertableField>>(
|
37
|
-
values: V,
|
38
|
-
): Pick<Insertable<DeviceAccount>, keyof V & keyof Insertable<DeviceAccount>>
|
39
|
-
function toInsertable(
|
40
|
-
values: Partial<InsertableField>,
|
41
|
-
): Partial<Insertable<DeviceAccount>> {
|
42
|
-
const row: Partial<Insertable<DeviceAccount>> = {}
|
43
|
-
if (values.authenticatedAt) {
|
44
|
-
row.authenticatedAt = toDateISO(values.authenticatedAt)
|
45
|
-
}
|
46
|
-
if (values.remember !== undefined) {
|
47
|
-
row.remember = values.remember === true ? 1 : 0
|
48
|
-
}
|
49
|
-
if (values.authorizedClients) {
|
50
|
-
row.authorizedClients = toJsonArray(values.authorizedClients)
|
51
|
-
}
|
52
|
-
return row
|
53
|
-
}
|
54
|
-
|
55
|
-
export function toDeviceAccountInfo(
|
56
|
-
row: SelectableDeviceAccount,
|
57
|
-
): DeviceAccountInfo {
|
58
|
-
return {
|
59
|
-
remembered: row.remember === 1,
|
60
|
-
authenticatedAt: fromDateISO(row.authenticatedAt),
|
61
|
-
authorizedClients: fromJsonArray<OAuthClientId>(row.authorizedClients),
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
export function toAccount(
|
66
|
-
row: Selectable<ActorAccount>,
|
67
|
-
audience: string,
|
68
|
-
): Account {
|
69
|
-
return {
|
70
|
-
sub: row.did,
|
71
|
-
aud: audience,
|
72
|
-
email: row.email || undefined,
|
73
|
-
email_verified: row.email ? row.emailConfirmedAt != null : undefined,
|
74
|
-
preferred_username: row.handle || undefined,
|
75
|
-
}
|
76
|
-
}
|
77
|
-
|
78
|
-
export const readQB = (db: AccountDb, deviceId: DeviceId, did: string) =>
|
79
|
-
db.db
|
80
|
-
.selectFrom('device_account')
|
81
|
-
.where('did', '=', did)
|
82
|
-
.where('deviceId', '=', deviceId)
|
83
|
-
.select(['remember', 'authorizedClients', 'authenticatedAt'])
|
84
|
-
|
85
|
-
export const updateQB = (
|
86
|
-
db: AccountDb,
|
87
|
-
deviceId: DeviceId,
|
88
|
-
did: string,
|
89
|
-
entry: {
|
90
|
-
authenticatedAt?: Date
|
91
|
-
authorizedClients?: OAuthClientId[]
|
92
|
-
remember?: boolean
|
93
|
-
},
|
94
|
-
) =>
|
95
|
-
db.db
|
96
|
-
.updateTable('device_account')
|
97
|
-
.set(toInsertable(entry))
|
98
|
-
.where('did', '=', did)
|
99
|
-
.where('deviceId', '=', deviceId)
|
100
|
-
|
101
|
-
export const createOrUpdateQB = (
|
102
|
-
db: AccountDb,
|
103
|
-
deviceId: DeviceId,
|
104
|
-
did: string,
|
105
|
-
remember: boolean,
|
106
|
-
) => {
|
107
|
-
const { authorizedClients, ...values } = toInsertable({
|
108
|
-
remember,
|
109
|
-
authenticatedAt: new Date(),
|
110
|
-
authorizedClients: [],
|
111
|
-
})
|
112
|
-
|
113
|
-
return db.db
|
114
|
-
.insertInto('device_account')
|
115
|
-
.values({ did, deviceId, authorizedClients, ...values })
|
116
|
-
.onConflict((oc) => oc.columns(['deviceId', 'did']).doUpdateSet(values))
|
117
|
-
.returning(['remember', 'authorizedClients', 'authenticatedAt'])
|
118
|
-
}
|
119
|
-
|
120
|
-
export const getAccountInfoQB = (
|
121
|
-
db: AccountDb,
|
122
|
-
deviceId: DeviceId,
|
123
|
-
did: string,
|
124
|
-
) => {
|
125
|
-
return selectAccountInfoQB(db, deviceId).where('actor.did', '=', did)
|
126
|
-
}
|
127
|
-
|
128
|
-
export const listRememberedQB = (db: AccountDb, deviceId: DeviceId) =>
|
129
|
-
selectAccountInfoQB(db, deviceId).where('device_account.remember', '=', 1)
|
130
|
-
|
131
|
-
export const removeQB = (db: AccountDb, deviceId: DeviceId, did: string) =>
|
132
|
-
db.db
|
133
|
-
.deleteFrom('device_account')
|
134
|
-
.where('deviceId', '=', deviceId)
|
135
|
-
.where('did', '=', did)
|