@atproto/api 0.11.0-next.0 → 0.11.0
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 +66 -0
- package/README.md +41 -58
- package/babel.config.js +3 -0
- package/build.js +15 -0
- package/definitions/labels.json +140 -195
- package/dist/agent.d.ts +14 -72
- package/dist/bsky-agent.d.ts +9 -4
- package/dist/client/index.d.ts +94 -42
- package/dist/client/lexicons.d.ts +5049 -4759
- package/dist/client/types/app/bsky/actor/defs.d.ts +24 -22
- package/dist/client/types/app/bsky/actor/getPreferences.d.ts +0 -4
- package/dist/client/types/app/bsky/actor/getProfile.d.ts +0 -5
- package/dist/client/types/app/bsky/actor/getProfiles.d.ts +0 -4
- package/dist/client/types/app/bsky/actor/getSuggestions.d.ts +0 -4
- package/dist/client/types/app/bsky/actor/profile.d.ts +0 -7
- package/dist/client/types/app/bsky/actor/putPreferences.d.ts +0 -4
- package/dist/client/types/app/bsky/actor/searchActors.d.ts +0 -6
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts +0 -6
- package/dist/client/types/app/bsky/embed/external.d.ts +0 -5
- package/dist/client/types/app/bsky/embed/images.d.ts +0 -9
- package/dist/client/types/app/bsky/embed/record.d.ts +2 -6
- package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/defs.d.ts +1 -5
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/generator.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getActorLikes.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts +0 -5
- package/dist/client/types/app/bsky/feed/getFeed.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts +0 -7
- package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts +0 -5
- package/dist/client/types/app/bsky/feed/getLikes.d.ts +0 -6
- package/dist/client/types/app/bsky/feed/getListFeed.d.ts +0 -5
- package/dist/client/types/app/bsky/feed/getPostThread.d.ts +0 -7
- package/dist/client/types/app/bsky/feed/getPosts.d.ts +0 -5
- package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts +0 -6
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/getTimeline.d.ts +0 -5
- package/dist/client/types/app/bsky/feed/like.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/post.d.ts +0 -13
- package/dist/client/types/app/bsky/feed/repost.d.ts +0 -4
- package/dist/client/types/app/bsky/feed/searchPosts.d.ts +0 -7
- package/dist/client/types/app/bsky/feed/threadgate.d.ts +0 -8
- package/dist/client/types/app/bsky/graph/block.d.ts +0 -5
- package/dist/client/types/app/bsky/graph/defs.d.ts +3 -10
- package/dist/client/types/app/bsky/graph/follow.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getBlocks.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getFollowers.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getFollows.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getList.d.ts +0 -5
- package/dist/client/types/app/bsky/graph/getListBlocks.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getListMutes.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getLists.d.ts +0 -5
- package/dist/client/types/app/bsky/graph/getMutes.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/getRelationships.d.ts +0 -6
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/list.d.ts +0 -5
- package/dist/client/types/app/bsky/graph/listblock.d.ts +0 -5
- package/dist/client/types/app/bsky/graph/listitem.d.ts +0 -6
- package/dist/client/types/app/bsky/graph/muteActor.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/muteActorList.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/unmuteActor.d.ts +0 -4
- package/dist/client/types/app/bsky/graph/unmuteActorList.d.ts +0 -4
- package/dist/client/types/app/bsky/labeler/defs.d.ts +41 -0
- package/dist/client/types/app/bsky/labeler/getServices.d.ts +23 -0
- package/dist/client/types/app/bsky/labeler/service.d.ts +14 -0
- package/dist/client/types/app/bsky/notification/getUnreadCount.d.ts +0 -4
- package/dist/client/types/app/bsky/notification/listNotifications.d.ts +0 -5
- package/dist/client/types/app/bsky/notification/registerPush.d.ts +0 -4
- package/dist/client/types/app/bsky/notification/updateSeen.d.ts +0 -4
- package/dist/client/types/app/bsky/richtext/facet.d.ts +0 -9
- package/dist/client/types/app/bsky/unspecced/defs.d.ts +0 -4
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +0 -4
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +0 -4
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +0 -8
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +0 -7
- package/dist/client/types/com/atproto/admin/defs.d.ts +0 -340
- package/dist/client/types/com/atproto/admin/deleteAccount.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/disableAccountInvites.d.ts +0 -5
- package/dist/client/types/com/atproto/admin/disableInviteCodes.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/enableAccountInvites.d.ts +0 -5
- package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/sendEmail.d.ts +0 -5
- package/dist/client/types/com/atproto/admin/updateAccountEmail.d.ts +0 -5
- package/dist/client/types/com/atproto/admin/updateAccountHandle.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/updateAccountPassword.d.ts +0 -4
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts +0 -4
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.d.ts +0 -5
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.d.ts +0 -4
- package/dist/client/types/com/atproto/identity/resolveHandle.d.ts +0 -5
- package/dist/client/types/com/atproto/identity/signPlcOperation.d.ts +0 -6
- package/dist/client/types/com/atproto/identity/submitPlcOperation.d.ts +0 -4
- package/dist/client/types/com/atproto/identity/updateHandle.d.ts +0 -5
- package/dist/client/types/com/atproto/label/defs.d.ts +23 -14
- package/dist/client/types/com/atproto/label/queryLabels.d.ts +0 -6
- package/dist/client/types/com/atproto/label/subscribeLabels.d.ts +0 -1
- package/dist/client/types/com/atproto/moderation/createReport.d.ts +0 -5
- package/dist/client/types/com/atproto/moderation/defs.d.ts +0 -8
- package/dist/client/types/com/atproto/repo/applyWrites.d.ts +0 -10
- package/dist/client/types/com/atproto/repo/createRecord.d.ts +0 -10
- package/dist/client/types/com/atproto/repo/deleteRecord.d.ts +0 -9
- package/dist/client/types/com/atproto/repo/describeRepo.d.ts +0 -8
- package/dist/client/types/com/atproto/repo/getRecord.d.ts +0 -8
- package/dist/client/types/com/atproto/repo/importRepo.d.ts +0 -4
- package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts +0 -4
- package/dist/client/types/com/atproto/repo/listRecords.d.ts +0 -10
- package/dist/client/types/com/atproto/repo/putRecord.d.ts +0 -11
- package/dist/client/types/com/atproto/repo/strongRef.d.ts +0 -4
- package/dist/client/types/com/atproto/repo/uploadBlob.d.ts +0 -4
- package/dist/client/types/com/atproto/server/activateAccount.d.ts +0 -4
- package/dist/client/types/com/atproto/server/checkAccountStatus.d.ts +0 -4
- package/dist/client/types/com/atproto/server/confirmEmail.d.ts +0 -4
- package/dist/client/types/com/atproto/server/createAccount.d.ts +0 -12
- package/dist/client/types/com/atproto/server/createAppPassword.d.ts +0 -5
- package/dist/client/types/com/atproto/server/createInviteCode.d.ts +0 -4
- package/dist/client/types/com/atproto/server/createInviteCodes.d.ts +0 -4
- package/dist/client/types/com/atproto/server/createSession.d.ts +0 -5
- package/dist/client/types/com/atproto/server/deactivateAccount.d.ts +0 -5
- package/dist/client/types/com/atproto/server/defs.d.ts +0 -4
- package/dist/client/types/com/atproto/server/deleteAccount.d.ts +0 -4
- package/dist/client/types/com/atproto/server/deleteSession.d.ts +0 -4
- package/dist/client/types/com/atproto/server/describeServer.d.ts +0 -7
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts +0 -5
- package/dist/client/types/com/atproto/server/getServiceAuth.d.ts +0 -5
- package/dist/client/types/com/atproto/server/getSession.d.ts +0 -4
- package/dist/client/types/com/atproto/server/listAppPasswords.d.ts +0 -4
- package/dist/client/types/com/atproto/server/refreshSession.d.ts +0 -4
- package/dist/client/types/com/atproto/server/requestAccountDelete.d.ts +0 -4
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.d.ts +0 -4
- package/dist/client/types/com/atproto/server/requestEmailUpdate.d.ts +0 -4
- package/dist/client/types/com/atproto/server/requestPasswordReset.d.ts +0 -4
- package/dist/client/types/com/atproto/server/reserveSigningKey.d.ts +0 -6
- package/dist/client/types/com/atproto/server/resetPassword.d.ts +0 -4
- package/dist/client/types/com/atproto/server/revokeAppPassword.d.ts +0 -4
- package/dist/client/types/com/atproto/server/updateEmail.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/getBlob.d.ts +0 -6
- package/dist/client/types/com/atproto/sync/getBlocks.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/getCheckout.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/getHead.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/getLatestCommit.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/getRecord.d.ts +0 -7
- package/dist/client/types/com/atproto/sync/getRepo.d.ts +0 -6
- package/dist/client/types/com/atproto/sync/listBlobs.d.ts +0 -6
- package/dist/client/types/com/atproto/sync/listRepos.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/requestCrawl.d.ts +0 -5
- package/dist/client/types/com/atproto/sync/subscribeRepos.d.ts +0 -18
- package/dist/client/types/com/atproto/temp/checkSignupQueue.d.ts +0 -4
- package/dist/client/types/com/atproto/temp/fetchLabels.d.ts +0 -4
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.d.ts +0 -4
- package/dist/client/types/{com/atproto/admin/createCommunicationTemplate.d.ts → tools/ozone/communication/createTemplate.d.ts} +2 -10
- package/dist/client/types/tools/ozone/communication/defs.d.ts +14 -0
- package/dist/client/types/{com/atproto/admin/deleteCommunicationTemplate.d.ts → tools/ozone/communication/deleteTemplate.d.ts} +0 -4
- package/dist/client/types/{com/atproto/admin/listCommunicationTemplates.d.ts → tools/ozone/communication/listTemplates.d.ts} +2 -6
- package/dist/client/types/{com/atproto/admin/updateCommunicationTemplate.d.ts → tools/ozone/communication/updateTemplate.d.ts} +2 -11
- package/dist/client/types/tools/ozone/moderation/defs.d.ts +269 -0
- package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +34 -0
- package/dist/client/types/{com/atproto/admin/getModerationEvent.d.ts → tools/ozone/moderation/getEvent.d.ts} +2 -6
- package/dist/client/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.d.ts +2 -6
- package/dist/client/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.d.ts +2 -6
- package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts +35 -0
- package/dist/client/types/{com/atproto/admin/queryModerationStatuses.d.ts → tools/ozone/moderation/queryStatuses.d.ts} +2 -16
- package/dist/client/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.d.ts +2 -7
- package/dist/client/util.d.ts +0 -4
- package/dist/const.d.ts +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +32694 -43
- package/dist/index.js.map +7 -1
- package/dist/mocker.d.ts +58 -0
- package/dist/moderation/const/labels.d.ts +4 -4
- package/dist/moderation/decision.d.ts +28 -0
- package/dist/moderation/index.d.ts +11 -45
- package/dist/moderation/mutewords.d.ts +8 -0
- package/dist/moderation/subjects/account.d.ts +2 -2
- package/dist/moderation/subjects/feed-generator.d.ts +3 -3
- package/dist/moderation/subjects/notification.d.ts +3 -0
- package/dist/moderation/subjects/post.d.ts +2 -2
- package/dist/moderation/subjects/profile.d.ts +2 -2
- package/dist/moderation/subjects/user-list.d.ts +3 -3
- package/dist/moderation/types.d.ts +63 -62
- package/dist/moderation/ui.d.ts +12 -0
- package/dist/moderation/util.d.ts +4 -9
- package/dist/rich-text/detection.d.ts +0 -1
- package/dist/rich-text/rich-text.d.ts +0 -13
- package/dist/rich-text/sanitization.d.ts +0 -1
- package/dist/rich-text/unicode.d.ts +0 -9
- package/dist/rich-text/util.d.ts +4 -0
- package/dist/types.d.ts +5 -45
- package/dist/util.d.ts +1 -0
- package/docs/moderation.md +204 -97
- package/jest.bench.config.js +8 -0
- package/jest.config.js +3 -6
- package/package.json +17 -13
- package/scripts/code/labels.mjs +17 -35
- package/scripts/generate-code.mjs +0 -1
- package/src/agent.ts +78 -13
- package/src/bsky-agent.ts +394 -92
- package/src/client/index.ts +292 -173
- package/src/client/lexicons.ts +6266 -5963
- package/src/client/types/app/bsky/actor/defs.ts +58 -2
- package/src/client/types/app/bsky/embed/record.ts +2 -0
- package/src/client/types/app/bsky/feed/defs.ts +1 -0
- package/src/client/types/app/bsky/graph/defs.ts +3 -0
- package/src/client/types/app/bsky/labeler/defs.ts +93 -0
- package/src/client/types/app/bsky/labeler/getServices.ts +41 -0
- package/src/client/types/app/bsky/labeler/service.ts +31 -0
- package/src/client/types/com/atproto/admin/defs.ts +0 -692
- package/src/client/types/com/atproto/label/defs.ts +78 -0
- package/src/client/types/{com/atproto/admin/createCommunicationTemplate.ts → tools/ozone/communication/createTemplate.ts} +2 -2
- package/src/client/types/tools/ozone/communication/defs.ts +35 -0
- package/src/client/types/{com/atproto/admin/listCommunicationTemplates.ts → tools/ozone/communication/listTemplates.ts} +2 -2
- package/src/client/types/{com/atproto/admin/updateCommunicationTemplate.ts → tools/ozone/communication/updateTemplate.ts} +2 -2
- package/src/client/types/tools/ozone/moderation/defs.ts +641 -0
- package/src/client/types/{com/atproto/admin/emitModerationEvent.ts → tools/ozone/moderation/emitEvent.ts} +15 -14
- package/src/client/types/{com/atproto/admin/getModerationEvent.ts → tools/ozone/moderation/getEvent.ts} +2 -2
- package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.ts +2 -2
- package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.ts +2 -2
- package/src/client/types/{com/atproto/admin/queryModerationEvents.ts → tools/ozone/moderation/queryEvents.ts} +3 -3
- package/src/client/types/{com/atproto/admin/queryModerationStatuses.ts → tools/ozone/moderation/queryStatuses.ts} +2 -2
- package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.ts +2 -2
- package/src/const.ts +1 -0
- package/src/index.ts +5 -2
- package/src/mocker.ts +218 -0
- package/src/moderation/const/labels.ts +193 -856
- package/src/moderation/decision.ts +383 -0
- package/src/moderation/index.ts +26 -311
- package/src/moderation/mutewords.ts +125 -0
- package/src/moderation/subjects/account.ts +6 -10
- package/src/moderation/subjects/feed-generator.ts +20 -9
- package/src/moderation/subjects/notification.ts +25 -0
- package/src/moderation/subjects/post.ts +263 -8
- package/src/moderation/subjects/profile.ts +6 -11
- package/src/moderation/subjects/user-list.ts +40 -9
- package/src/moderation/types.ts +124 -81
- package/src/moderation/ui.ts +21 -0
- package/src/moderation/util.ts +99 -72
- package/src/rich-text/detection.ts +18 -12
- package/src/rich-text/util.ts +11 -0
- package/src/types.ts +9 -12
- package/src/util.ts +6 -0
- package/tests/agent.test.ts +86 -0
- package/tests/bsky-agent.test.ts +556 -196
- package/tests/moderation-behaviors.test.ts +914 -0
- package/tests/moderation-custom-labels.test.ts +333 -0
- package/tests/moderation-mutewords.test.ts +691 -0
- package/tests/moderation-prefs.test.ts +341 -0
- package/tests/moderation-quoteposts.test.ts +277 -0
- package/tests/moderation.test.ts +550 -183
- package/tests/rich-text-detection.test.ts +54 -7
- package/tests/util/echo-server.ts +21 -0
- package/tests/util/index.ts +1 -154
- package/tests/util/moderation-behavior.ts +178 -24
- package/tsconfig.build.json +2 -7
- package/tsconfig.json +9 -3
- package/definitions/locale/en/label-groups.json +0 -38
- package/definitions/locale/en/labels.json +0 -394
- package/definitions/locale/en/proposed-label-groups.json +0 -38
- package/definitions/locale/en/proposed-labels.json +0 -632
- package/definitions/moderation-behaviors.d.ts +0 -50
- package/definitions/post-moderation-behaviors.json +0 -1222
- package/definitions/profile-moderation-behaviors.json +0 -597
- package/definitions/proposed-labels.json +0 -326
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -363
- package/dist/agent.js.map +0 -1
- package/dist/bsky-agent.d.ts.map +0 -1
- package/dist/bsky-agent.js +0 -648
- package/dist/bsky-agent.js.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -2063
- package/dist/client/index.js.map +0 -1
- package/dist/client/lexicons.d.ts.map +0 -1
- package/dist/client/lexicons.js +0 -8776
- package/dist/client/lexicons.js.map +0 -1
- package/dist/client/types/app/bsky/actor/defs.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/defs.js +0 -146
- package/dist/client/types/app/bsky/actor/defs.js.map +0 -1
- package/dist/client/types/app/bsky/actor/getPreferences.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/getPreferences.js +0 -14
- package/dist/client/types/app/bsky/actor/getPreferences.js.map +0 -1
- package/dist/client/types/app/bsky/actor/getProfile.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/getProfile.js +0 -14
- package/dist/client/types/app/bsky/actor/getProfile.js.map +0 -1
- package/dist/client/types/app/bsky/actor/getProfiles.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/getProfiles.js +0 -14
- package/dist/client/types/app/bsky/actor/getProfiles.js.map +0 -1
- package/dist/client/types/app/bsky/actor/getSuggestions.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/getSuggestions.js +0 -14
- package/dist/client/types/app/bsky/actor/getSuggestions.js.map +0 -1
- package/dist/client/types/app/bsky/actor/profile.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/profile.js +0 -17
- package/dist/client/types/app/bsky/actor/profile.js.map +0 -1
- package/dist/client/types/app/bsky/actor/putPreferences.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/putPreferences.js +0 -14
- package/dist/client/types/app/bsky/actor/putPreferences.js.map +0 -1
- package/dist/client/types/app/bsky/actor/searchActors.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/searchActors.js +0 -14
- package/dist/client/types/app/bsky/actor/searchActors.js.map +0 -1
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts.map +0 -1
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js +0 -14
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js.map +0 -1
- package/dist/client/types/app/bsky/embed/external.d.ts.map +0 -1
- package/dist/client/types/app/bsky/embed/external.js +0 -47
- package/dist/client/types/app/bsky/embed/external.js.map +0 -1
- package/dist/client/types/app/bsky/embed/images.d.ts.map +0 -1
- package/dist/client/types/app/bsky/embed/images.js +0 -53
- package/dist/client/types/app/bsky/embed/images.js.map +0 -1
- package/dist/client/types/app/bsky/embed/record.d.ts.map +0 -1
- package/dist/client/types/app/bsky/embed/record.js +0 -55
- package/dist/client/types/app/bsky/embed/record.js.map +0 -1
- package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts.map +0 -1
- package/dist/client/types/app/bsky/embed/recordWithMedia.js +0 -27
- package/dist/client/types/app/bsky/embed/recordWithMedia.js.map +0 -1
- package/dist/client/types/app/bsky/feed/defs.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/defs.js +0 -142
- package/dist/client/types/app/bsky/feed/defs.js.map +0 -1
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.js +0 -36
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.js.map +0 -1
- package/dist/client/types/app/bsky/feed/generator.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/generator.js +0 -17
- package/dist/client/types/app/bsky/feed/generator.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getActorFeeds.js +0 -14
- package/dist/client/types/app/bsky/feed/getActorFeeds.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getActorLikes.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getActorLikes.js +0 -30
- package/dist/client/types/app/bsky/feed/getActorLikes.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getAuthorFeed.js +0 -30
- package/dist/client/types/app/bsky/feed/getAuthorFeed.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeed.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeed.js +0 -22
- package/dist/client/types/app/bsky/feed/getFeed.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerator.js +0 -14
- package/dist/client/types/app/bsky/feed/getFeedGenerator.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerators.js +0 -14
- package/dist/client/types/app/bsky/feed/getFeedGenerators.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.js +0 -22
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getLikes.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getLikes.js +0 -24
- package/dist/client/types/app/bsky/feed/getLikes.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getListFeed.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getListFeed.js +0 -22
- package/dist/client/types/app/bsky/feed/getListFeed.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getPostThread.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getPostThread.js +0 -22
- package/dist/client/types/app/bsky/feed/getPostThread.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getPosts.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getPosts.js +0 -14
- package/dist/client/types/app/bsky/feed/getPosts.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getRepostedBy.js +0 -14
- package/dist/client/types/app/bsky/feed/getRepostedBy.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js +0 -14
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js.map +0 -1
- package/dist/client/types/app/bsky/feed/getTimeline.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/getTimeline.js +0 -14
- package/dist/client/types/app/bsky/feed/getTimeline.js.map +0 -1
- package/dist/client/types/app/bsky/feed/like.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/like.js +0 -16
- package/dist/client/types/app/bsky/feed/like.js.map +0 -1
- package/dist/client/types/app/bsky/feed/post.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/post.js +0 -42
- package/dist/client/types/app/bsky/feed/post.js.map +0 -1
- package/dist/client/types/app/bsky/feed/repost.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/repost.js +0 -17
- package/dist/client/types/app/bsky/feed/repost.js.map +0 -1
- package/dist/client/types/app/bsky/feed/searchPosts.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/searchPosts.js +0 -22
- package/dist/client/types/app/bsky/feed/searchPosts.js.map +0 -1
- package/dist/client/types/app/bsky/feed/threadgate.d.ts.map +0 -1
- package/dist/client/types/app/bsky/feed/threadgate.js +0 -47
- package/dist/client/types/app/bsky/feed/threadgate.js.map +0 -1
- package/dist/client/types/app/bsky/graph/block.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/block.js +0 -17
- package/dist/client/types/app/bsky/graph/block.js.map +0 -1
- package/dist/client/types/app/bsky/graph/defs.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/defs.js +0 -70
- package/dist/client/types/app/bsky/graph/defs.js.map +0 -1
- package/dist/client/types/app/bsky/graph/follow.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/follow.js +0 -17
- package/dist/client/types/app/bsky/graph/follow.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getBlocks.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getBlocks.js +0 -14
- package/dist/client/types/app/bsky/graph/getBlocks.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getFollowers.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getFollowers.js +0 -14
- package/dist/client/types/app/bsky/graph/getFollowers.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getFollows.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getFollows.js +0 -14
- package/dist/client/types/app/bsky/graph/getFollows.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getList.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getList.js +0 -14
- package/dist/client/types/app/bsky/graph/getList.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getListBlocks.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getListBlocks.js +0 -14
- package/dist/client/types/app/bsky/graph/getListBlocks.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getListMutes.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getListMutes.js +0 -14
- package/dist/client/types/app/bsky/graph/getListMutes.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getLists.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getLists.js +0 -14
- package/dist/client/types/app/bsky/graph/getLists.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getMutes.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getMutes.js +0 -14
- package/dist/client/types/app/bsky/graph/getMutes.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getRelationships.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getRelationships.js +0 -22
- package/dist/client/types/app/bsky/graph/getRelationships.js.map +0 -1
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js +0 -14
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +0 -1
- package/dist/client/types/app/bsky/graph/list.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/list.js +0 -17
- package/dist/client/types/app/bsky/graph/list.js.map +0 -1
- package/dist/client/types/app/bsky/graph/listblock.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/listblock.js +0 -17
- package/dist/client/types/app/bsky/graph/listblock.js.map +0 -1
- package/dist/client/types/app/bsky/graph/listitem.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/listitem.js +0 -17
- package/dist/client/types/app/bsky/graph/listitem.js.map +0 -1
- package/dist/client/types/app/bsky/graph/muteActor.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/muteActor.js +0 -14
- package/dist/client/types/app/bsky/graph/muteActor.js.map +0 -1
- package/dist/client/types/app/bsky/graph/muteActorList.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/muteActorList.js +0 -14
- package/dist/client/types/app/bsky/graph/muteActorList.js.map +0 -1
- package/dist/client/types/app/bsky/graph/unmuteActor.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/unmuteActor.js +0 -14
- package/dist/client/types/app/bsky/graph/unmuteActor.js.map +0 -1
- package/dist/client/types/app/bsky/graph/unmuteActorList.d.ts.map +0 -1
- package/dist/client/types/app/bsky/graph/unmuteActorList.js +0 -14
- package/dist/client/types/app/bsky/graph/unmuteActorList.js.map +0 -1
- package/dist/client/types/app/bsky/notification/getUnreadCount.d.ts.map +0 -1
- package/dist/client/types/app/bsky/notification/getUnreadCount.js +0 -14
- package/dist/client/types/app/bsky/notification/getUnreadCount.js.map +0 -1
- package/dist/client/types/app/bsky/notification/listNotifications.d.ts.map +0 -1
- package/dist/client/types/app/bsky/notification/listNotifications.js +0 -26
- package/dist/client/types/app/bsky/notification/listNotifications.js.map +0 -1
- package/dist/client/types/app/bsky/notification/registerPush.d.ts.map +0 -1
- package/dist/client/types/app/bsky/notification/registerPush.js +0 -14
- package/dist/client/types/app/bsky/notification/registerPush.js.map +0 -1
- package/dist/client/types/app/bsky/notification/updateSeen.d.ts.map +0 -1
- package/dist/client/types/app/bsky/notification/updateSeen.js +0 -14
- package/dist/client/types/app/bsky/notification/updateSeen.js.map +0 -1
- package/dist/client/types/app/bsky/richtext/facet.d.ts.map +0 -1
- package/dist/client/types/app/bsky/richtext/facet.js +0 -55
- package/dist/client/types/app/bsky/richtext/facet.js.map +0 -1
- package/dist/client/types/app/bsky/unspecced/defs.d.ts.map +0 -1
- package/dist/client/types/app/bsky/unspecced/defs.js +0 -26
- package/dist/client/types/app/bsky/unspecced/defs.js.map +0 -1
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +0 -1
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js +0 -14
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +0 -1
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +0 -1
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js +0 -26
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js.map +0 -1
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +0 -1
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js +0 -22
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js.map +0 -1
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +0 -1
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js +0 -22
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js.map +0 -1
- package/dist/client/types/com/atproto/admin/createCommunicationTemplate.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/createCommunicationTemplate.js +0 -14
- package/dist/client/types/com/atproto/admin/createCommunicationTemplate.js.map +0 -1
- package/dist/client/types/com/atproto/admin/defs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/defs.js +0 -343
- package/dist/client/types/com/atproto/admin/defs.js.map +0 -1
- package/dist/client/types/com/atproto/admin/deleteAccount.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/deleteAccount.js +0 -14
- package/dist/client/types/com/atproto/admin/deleteAccount.js.map +0 -1
- package/dist/client/types/com/atproto/admin/deleteCommunicationTemplate.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/deleteCommunicationTemplate.js +0 -14
- package/dist/client/types/com/atproto/admin/deleteCommunicationTemplate.js.map +0 -1
- package/dist/client/types/com/atproto/admin/disableAccountInvites.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/disableAccountInvites.js +0 -14
- package/dist/client/types/com/atproto/admin/disableAccountInvites.js.map +0 -1
- package/dist/client/types/com/atproto/admin/disableInviteCodes.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/disableInviteCodes.js +0 -14
- package/dist/client/types/com/atproto/admin/disableInviteCodes.js.map +0 -1
- package/dist/client/types/com/atproto/admin/emitModerationEvent.d.ts +0 -37
- package/dist/client/types/com/atproto/admin/emitModerationEvent.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/emitModerationEvent.js +0 -22
- package/dist/client/types/com/atproto/admin/emitModerationEvent.js.map +0 -1
- package/dist/client/types/com/atproto/admin/enableAccountInvites.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/enableAccountInvites.js +0 -14
- package/dist/client/types/com/atproto/admin/enableAccountInvites.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getAccountInfo.js +0 -14
- package/dist/client/types/com/atproto/admin/getAccountInfo.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getAccountInfos.js +0 -14
- package/dist/client/types/com/atproto/admin/getAccountInfos.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getInviteCodes.js +0 -14
- package/dist/client/types/com/atproto/admin/getInviteCodes.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getModerationEvent.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getModerationEvent.js +0 -14
- package/dist/client/types/com/atproto/admin/getModerationEvent.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getRecord.js +0 -22
- package/dist/client/types/com/atproto/admin/getRecord.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getRepo.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getRepo.js +0 -22
- package/dist/client/types/com/atproto/admin/getRepo.js.map +0 -1
- package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/getSubjectStatus.js +0 -14
- package/dist/client/types/com/atproto/admin/getSubjectStatus.js.map +0 -1
- package/dist/client/types/com/atproto/admin/listCommunicationTemplates.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/listCommunicationTemplates.js +0 -14
- package/dist/client/types/com/atproto/admin/listCommunicationTemplates.js.map +0 -1
- package/dist/client/types/com/atproto/admin/queryModerationEvents.d.ts +0 -50
- package/dist/client/types/com/atproto/admin/queryModerationEvents.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/queryModerationEvents.js +0 -14
- package/dist/client/types/com/atproto/admin/queryModerationEvents.js.map +0 -1
- package/dist/client/types/com/atproto/admin/queryModerationStatuses.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/queryModerationStatuses.js +0 -14
- package/dist/client/types/com/atproto/admin/queryModerationStatuses.js.map +0 -1
- package/dist/client/types/com/atproto/admin/searchRepos.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/searchRepos.js +0 -14
- package/dist/client/types/com/atproto/admin/searchRepos.js.map +0 -1
- package/dist/client/types/com/atproto/admin/sendEmail.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/sendEmail.js +0 -14
- package/dist/client/types/com/atproto/admin/sendEmail.js.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountEmail.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountEmail.js +0 -14
- package/dist/client/types/com/atproto/admin/updateAccountEmail.js.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountHandle.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountHandle.js +0 -14
- package/dist/client/types/com/atproto/admin/updateAccountHandle.js.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountPassword.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/updateAccountPassword.js +0 -14
- package/dist/client/types/com/atproto/admin/updateAccountPassword.js.map +0 -1
- package/dist/client/types/com/atproto/admin/updateCommunicationTemplate.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/updateCommunicationTemplate.js +0 -14
- package/dist/client/types/com/atproto/admin/updateCommunicationTemplate.js.map +0 -1
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts.map +0 -1
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.js +0 -14
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.js.map +0 -1
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js +0 -14
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js.map +0 -1
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js +0 -14
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js.map +0 -1
- package/dist/client/types/com/atproto/identity/resolveHandle.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/resolveHandle.js +0 -14
- package/dist/client/types/com/atproto/identity/resolveHandle.js.map +0 -1
- package/dist/client/types/com/atproto/identity/signPlcOperation.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/signPlcOperation.js +0 -14
- package/dist/client/types/com/atproto/identity/signPlcOperation.js.map +0 -1
- package/dist/client/types/com/atproto/identity/submitPlcOperation.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/submitPlcOperation.js +0 -14
- package/dist/client/types/com/atproto/identity/submitPlcOperation.js.map +0 -1
- package/dist/client/types/com/atproto/identity/updateHandle.d.ts.map +0 -1
- package/dist/client/types/com/atproto/identity/updateHandle.js +0 -14
- package/dist/client/types/com/atproto/identity/updateHandle.js.map +0 -1
- package/dist/client/types/com/atproto/label/defs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/label/defs.js +0 -36
- package/dist/client/types/com/atproto/label/defs.js.map +0 -1
- package/dist/client/types/com/atproto/label/queryLabels.d.ts.map +0 -1
- package/dist/client/types/com/atproto/label/queryLabels.js +0 -14
- package/dist/client/types/com/atproto/label/queryLabels.js.map +0 -1
- package/dist/client/types/com/atproto/label/subscribeLabels.d.ts.map +0 -1
- package/dist/client/types/com/atproto/label/subscribeLabels.js +0 -26
- package/dist/client/types/com/atproto/label/subscribeLabels.js.map +0 -1
- package/dist/client/types/com/atproto/moderation/createReport.d.ts.map +0 -1
- package/dist/client/types/com/atproto/moderation/createReport.js +0 -14
- package/dist/client/types/com/atproto/moderation/createReport.js.map +0 -1
- package/dist/client/types/com/atproto/moderation/defs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/moderation/defs.js +0 -18
- package/dist/client/types/com/atproto/moderation/defs.js.map +0 -1
- package/dist/client/types/com/atproto/repo/applyWrites.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/applyWrites.js +0 -54
- package/dist/client/types/com/atproto/repo/applyWrites.js.map +0 -1
- package/dist/client/types/com/atproto/repo/createRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/createRecord.js +0 -22
- package/dist/client/types/com/atproto/repo/createRecord.js.map +0 -1
- package/dist/client/types/com/atproto/repo/deleteRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/deleteRecord.js +0 -22
- package/dist/client/types/com/atproto/repo/deleteRecord.js.map +0 -1
- package/dist/client/types/com/atproto/repo/describeRepo.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/describeRepo.js +0 -14
- package/dist/client/types/com/atproto/repo/describeRepo.js.map +0 -1
- package/dist/client/types/com/atproto/repo/getRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/getRecord.js +0 -14
- package/dist/client/types/com/atproto/repo/getRecord.js.map +0 -1
- package/dist/client/types/com/atproto/repo/importRepo.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/importRepo.js +0 -14
- package/dist/client/types/com/atproto/repo/importRepo.js.map +0 -1
- package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/listMissingBlobs.js +0 -26
- package/dist/client/types/com/atproto/repo/listMissingBlobs.js.map +0 -1
- package/dist/client/types/com/atproto/repo/listRecords.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/listRecords.js +0 -26
- package/dist/client/types/com/atproto/repo/listRecords.js.map +0 -1
- package/dist/client/types/com/atproto/repo/putRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/putRecord.js +0 -22
- package/dist/client/types/com/atproto/repo/putRecord.js.map +0 -1
- package/dist/client/types/com/atproto/repo/strongRef.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/strongRef.js +0 -17
- package/dist/client/types/com/atproto/repo/strongRef.js.map +0 -1
- package/dist/client/types/com/atproto/repo/uploadBlob.d.ts.map +0 -1
- package/dist/client/types/com/atproto/repo/uploadBlob.js +0 -14
- package/dist/client/types/com/atproto/repo/uploadBlob.js.map +0 -1
- package/dist/client/types/com/atproto/server/activateAccount.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/activateAccount.js +0 -14
- package/dist/client/types/com/atproto/server/activateAccount.js.map +0 -1
- package/dist/client/types/com/atproto/server/checkAccountStatus.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/checkAccountStatus.js +0 -14
- package/dist/client/types/com/atproto/server/checkAccountStatus.js.map +0 -1
- package/dist/client/types/com/atproto/server/confirmEmail.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/confirmEmail.js +0 -46
- package/dist/client/types/com/atproto/server/confirmEmail.js.map +0 -1
- package/dist/client/types/com/atproto/server/createAccount.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/createAccount.js +0 -70
- package/dist/client/types/com/atproto/server/createAccount.js.map +0 -1
- package/dist/client/types/com/atproto/server/createAppPassword.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/createAppPassword.js +0 -34
- package/dist/client/types/com/atproto/server/createAppPassword.js.map +0 -1
- package/dist/client/types/com/atproto/server/createInviteCode.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/createInviteCode.js +0 -14
- package/dist/client/types/com/atproto/server/createInviteCode.js.map +0 -1
- package/dist/client/types/com/atproto/server/createInviteCodes.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/createInviteCodes.js +0 -26
- package/dist/client/types/com/atproto/server/createInviteCodes.js.map +0 -1
- package/dist/client/types/com/atproto/server/createSession.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/createSession.js +0 -22
- package/dist/client/types/com/atproto/server/createSession.js.map +0 -1
- package/dist/client/types/com/atproto/server/deactivateAccount.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/deactivateAccount.js +0 -14
- package/dist/client/types/com/atproto/server/deactivateAccount.js.map +0 -1
- package/dist/client/types/com/atproto/server/defs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/defs.js +0 -26
- package/dist/client/types/com/atproto/server/defs.js.map +0 -1
- package/dist/client/types/com/atproto/server/deleteAccount.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/deleteAccount.js +0 -30
- package/dist/client/types/com/atproto/server/deleteAccount.js.map +0 -1
- package/dist/client/types/com/atproto/server/deleteSession.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/deleteSession.js +0 -14
- package/dist/client/types/com/atproto/server/deleteSession.js.map +0 -1
- package/dist/client/types/com/atproto/server/describeServer.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/describeServer.js +0 -26
- package/dist/client/types/com/atproto/server/describeServer.js.map +0 -1
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.js +0 -22
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.js.map +0 -1
- package/dist/client/types/com/atproto/server/getServiceAuth.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/getServiceAuth.js +0 -14
- package/dist/client/types/com/atproto/server/getServiceAuth.js.map +0 -1
- package/dist/client/types/com/atproto/server/getSession.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/getSession.js +0 -14
- package/dist/client/types/com/atproto/server/getSession.js.map +0 -1
- package/dist/client/types/com/atproto/server/listAppPasswords.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/listAppPasswords.js +0 -34
- package/dist/client/types/com/atproto/server/listAppPasswords.js.map +0 -1
- package/dist/client/types/com/atproto/server/refreshSession.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/refreshSession.js +0 -22
- package/dist/client/types/com/atproto/server/refreshSession.js.map +0 -1
- package/dist/client/types/com/atproto/server/requestAccountDelete.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/requestAccountDelete.js +0 -14
- package/dist/client/types/com/atproto/server/requestAccountDelete.js.map +0 -1
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.js +0 -14
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.js.map +0 -1
- package/dist/client/types/com/atproto/server/requestEmailUpdate.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/requestEmailUpdate.js +0 -14
- package/dist/client/types/com/atproto/server/requestEmailUpdate.js.map +0 -1
- package/dist/client/types/com/atproto/server/requestPasswordReset.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/requestPasswordReset.js +0 -14
- package/dist/client/types/com/atproto/server/requestPasswordReset.js.map +0 -1
- package/dist/client/types/com/atproto/server/reserveSigningKey.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/reserveSigningKey.js +0 -14
- package/dist/client/types/com/atproto/server/reserveSigningKey.js.map +0 -1
- package/dist/client/types/com/atproto/server/resetPassword.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/resetPassword.js +0 -30
- package/dist/client/types/com/atproto/server/resetPassword.js.map +0 -1
- package/dist/client/types/com/atproto/server/revokeAppPassword.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/revokeAppPassword.js +0 -14
- package/dist/client/types/com/atproto/server/revokeAppPassword.js.map +0 -1
- package/dist/client/types/com/atproto/server/updateEmail.d.ts.map +0 -1
- package/dist/client/types/com/atproto/server/updateEmail.js +0 -38
- package/dist/client/types/com/atproto/server/updateEmail.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getBlob.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getBlob.js +0 -14
- package/dist/client/types/com/atproto/sync/getBlob.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getBlocks.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getBlocks.js +0 -14
- package/dist/client/types/com/atproto/sync/getBlocks.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getCheckout.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getCheckout.js +0 -14
- package/dist/client/types/com/atproto/sync/getCheckout.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getHead.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getHead.js +0 -22
- package/dist/client/types/com/atproto/sync/getHead.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getLatestCommit.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getLatestCommit.js +0 -22
- package/dist/client/types/com/atproto/sync/getLatestCommit.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getRecord.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getRecord.js +0 -14
- package/dist/client/types/com/atproto/sync/getRecord.js.map +0 -1
- package/dist/client/types/com/atproto/sync/getRepo.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/getRepo.js +0 -14
- package/dist/client/types/com/atproto/sync/getRepo.js.map +0 -1
- package/dist/client/types/com/atproto/sync/listBlobs.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/listBlobs.js +0 -14
- package/dist/client/types/com/atproto/sync/listBlobs.js.map +0 -1
- package/dist/client/types/com/atproto/sync/listRepos.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/listRepos.js +0 -26
- package/dist/client/types/com/atproto/sync/listRepos.js.map +0 -1
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.js +0 -14
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.js.map +0 -1
- package/dist/client/types/com/atproto/sync/requestCrawl.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/requestCrawl.js +0 -14
- package/dist/client/types/com/atproto/sync/requestCrawl.js.map +0 -1
- package/dist/client/types/com/atproto/sync/subscribeRepos.d.ts.map +0 -1
- package/dist/client/types/com/atproto/sync/subscribeRepos.js +0 -76
- package/dist/client/types/com/atproto/sync/subscribeRepos.js.map +0 -1
- package/dist/client/types/com/atproto/temp/checkSignupQueue.d.ts.map +0 -1
- package/dist/client/types/com/atproto/temp/checkSignupQueue.js +0 -14
- package/dist/client/types/com/atproto/temp/checkSignupQueue.js.map +0 -1
- package/dist/client/types/com/atproto/temp/fetchLabels.d.ts.map +0 -1
- package/dist/client/types/com/atproto/temp/fetchLabels.js +0 -14
- package/dist/client/types/com/atproto/temp/fetchLabels.js.map +0 -1
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.d.ts.map +0 -1
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.js +0 -14
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.js.map +0 -1
- package/dist/client/util.d.ts.map +0 -1
- package/dist/client/util.js +0 -15
- package/dist/client/util.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/moderation/accumulator.d.ts +0 -17
- package/dist/moderation/accumulator.d.ts.map +0 -1
- package/dist/moderation/accumulator.js +0 -204
- package/dist/moderation/accumulator.js.map +0 -1
- package/dist/moderation/const/label-groups.d.ts +0 -4
- package/dist/moderation/const/label-groups.d.ts.map +0 -1
- package/dist/moderation/const/label-groups.js +0 -148
- package/dist/moderation/const/label-groups.js.map +0 -1
- package/dist/moderation/const/labels.d.ts.map +0 -1
- package/dist/moderation/const/labels.js +0 -790
- package/dist/moderation/const/labels.js.map +0 -1
- package/dist/moderation/index.d.ts.map +0 -1
- package/dist/moderation/index.js +0 -226
- package/dist/moderation/index.js.map +0 -1
- package/dist/moderation/subjects/account.d.ts.map +0 -1
- package/dist/moderation/subjects/account.js +0 -39
- package/dist/moderation/subjects/account.js.map +0 -1
- package/dist/moderation/subjects/feed-generator.d.ts.map +0 -1
- package/dist/moderation/subjects/feed-generator.js +0 -10
- package/dist/moderation/subjects/feed-generator.js.map +0 -1
- package/dist/moderation/subjects/post.d.ts.map +0 -1
- package/dist/moderation/subjects/post.js +0 -16
- package/dist/moderation/subjects/post.js.map +0 -1
- package/dist/moderation/subjects/profile.d.ts.map +0 -1
- package/dist/moderation/subjects/profile.js +0 -21
- package/dist/moderation/subjects/profile.js.map +0 -1
- package/dist/moderation/subjects/quoted-post.d.ts +0 -7
- package/dist/moderation/subjects/quoted-post.d.ts.map +0 -1
- package/dist/moderation/subjects/quoted-post.js +0 -72
- package/dist/moderation/subjects/quoted-post.js.map +0 -1
- package/dist/moderation/subjects/user-list.d.ts.map +0 -1
- package/dist/moderation/subjects/user-list.js +0 -10
- package/dist/moderation/subjects/user-list.js.map +0 -1
- package/dist/moderation/types.d.ts.map +0 -1
- package/dist/moderation/types.js +0 -60
- package/dist/moderation/types.js.map +0 -1
- package/dist/moderation/util.d.ts.map +0 -1
- package/dist/moderation/util.js +0 -79
- package/dist/moderation/util.js.map +0 -1
- package/dist/rich-text/detection.d.ts.map +0 -1
- package/dist/rich-text/detection.js +0 -107
- package/dist/rich-text/detection.js.map +0 -1
- package/dist/rich-text/rich-text.d.ts.map +0 -1
- package/dist/rich-text/rich-text.js +0 -374
- package/dist/rich-text/rich-text.js.map +0 -1
- package/dist/rich-text/sanitization.d.ts.map +0 -1
- package/dist/rich-text/sanitization.js +0 -32
- package/dist/rich-text/sanitization.js.map +0 -1
- package/dist/rich-text/unicode.d.ts.map +0 -1
- package/dist/rich-text/unicode.js +0 -58
- package/dist/rich-text/unicode.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/docs/labels.md +0 -554
- package/docs/moderation-behaviors/posts.md +0 -1813
- package/docs/moderation-behaviors/profiles.md +0 -833
- package/jest.d.ts +0 -20
- package/jest.setup.ts +0 -79
- package/scripts/code/label-groups.mjs +0 -68
- package/scripts/docs/labels.mjs +0 -164
- package/scripts/docs/post-moderation-behaviors.mjs +0 -117
- package/scripts/docs/profile-moderation-behaviors.mjs +0 -122
- package/scripts/generate-docs.mjs +0 -5
- package/src/moderation/accumulator.ts +0 -217
- package/src/moderation/const/label-groups.ts +0 -149
- package/src/moderation/subjects/quoted-post.ts +0 -80
- package/tests/post-moderation.test.ts +0 -46
- package/tests/profile-moderation.test.ts +0 -48
- package/tsconfig.tests.json +0 -10
- /package/src/client/types/{com/atproto/admin/deleteCommunicationTemplate.ts → tools/ozone/communication/deleteTemplate.ts} +0 -0
package/docs/moderation.md
CHANGED
|
@@ -2,17 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Applying the moderation system is a challenging task, but we've done our best to simplify it for you. The Moderation API helps handle a wide range of tasks, including:
|
|
4
4
|
|
|
5
|
+
- Moderator labeling
|
|
5
6
|
- User muting (including mutelists)
|
|
6
7
|
- User blocking
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
For more information, see the [Moderation Documentation](./docs/moderation.md) or the associated [Labels Reference](./docs/labels.md).
|
|
10
|
-
|
|
11
|
-
Additional docs:
|
|
12
|
-
|
|
13
|
-
- [Labels Reference](./labels.md)
|
|
14
|
-
- [Post Moderation Behaviors](./moderation-behaviors/posts.md)
|
|
15
|
-
- [Profile Moderation Behaviors](./moderation-behaviors/profiles.md)
|
|
8
|
+
- Mutewords
|
|
9
|
+
- Hidden posts
|
|
16
10
|
|
|
17
11
|
## Configuration
|
|
18
12
|
|
|
@@ -23,131 +17,244 @@ Every moderation function takes a set of options which look like this:
|
|
|
23
17
|
// the logged-in user's DID
|
|
24
18
|
userDid: 'did:plc:1234...',
|
|
25
19
|
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
moderationPrefs: {
|
|
21
|
+
// is adult content allowed?
|
|
22
|
+
adultContentEnabled: true,
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
// the global label settings (used on self-labels)
|
|
25
|
+
labels: {
|
|
26
|
+
porn: 'hide',
|
|
27
|
+
sexual: 'warn',
|
|
28
|
+
nudity: 'ignore',
|
|
29
|
+
// ...
|
|
30
|
+
},
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
nudity: 'ignore',
|
|
48
|
-
// ...
|
|
32
|
+
// the subscribed labelers and their label settings
|
|
33
|
+
labelers: [
|
|
34
|
+
{
|
|
35
|
+
did: 'did:plc:1234...',
|
|
36
|
+
labels: {
|
|
37
|
+
porn: 'hide',
|
|
38
|
+
sexual: 'warn',
|
|
39
|
+
nudity: 'ignore',
|
|
40
|
+
// ...
|
|
41
|
+
}
|
|
49
42
|
}
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
],
|
|
44
|
+
|
|
45
|
+
mutedWords: [/* ... */],
|
|
46
|
+
hiddenPosts: [/* ... */]
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
// custom label definitions
|
|
50
|
+
labelDefs: {
|
|
51
|
+
// labelerDid => defs[]
|
|
52
|
+
'did:plc:1234...': [
|
|
53
|
+
/* ... */
|
|
54
|
+
]
|
|
55
|
+
}
|
|
52
56
|
}
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
This should match the following interfaces:
|
|
56
60
|
|
|
57
61
|
```typescript
|
|
58
|
-
interface
|
|
59
|
-
|
|
62
|
+
export interface ModerationPrefsLabeler {
|
|
63
|
+
did: string
|
|
64
|
+
labels: Record<string, LabelPreference>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface ModerationPrefs {
|
|
60
68
|
adultContentEnabled: boolean
|
|
61
69
|
labels: Record<string, LabelPreference>
|
|
62
|
-
labelers:
|
|
70
|
+
labelers: ModerationPrefsLabeler[]
|
|
71
|
+
mutedWords: AppBskyActorDefs.MutedWord[]
|
|
72
|
+
hiddenPosts: string[]
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
interface
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
export interface ModerationOpts {
|
|
76
|
+
userDid: string | undefined
|
|
77
|
+
prefs: ModerationPrefs
|
|
78
|
+
/**
|
|
79
|
+
* Map of labeler did -> custom definitions
|
|
80
|
+
*/
|
|
81
|
+
labelDefs?: Record<string, InterpretedLabelValueDefinition[]>
|
|
68
82
|
}
|
|
83
|
+
```
|
|
69
84
|
|
|
70
|
-
|
|
85
|
+
You can quickly grab the `ModerationPrefs` using the `agent.getPreferences()` method:
|
|
71
86
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
```typescript
|
|
88
|
+
const prefs = await agent.getPreferences()
|
|
89
|
+
moderatePost(post, {
|
|
90
|
+
userDid: /*...*/,
|
|
91
|
+
prefs: prefs.moderationPrefs,
|
|
92
|
+
labelDefs: /*...*/
|
|
93
|
+
})
|
|
76
94
|
```
|
|
77
95
|
|
|
78
|
-
|
|
96
|
+
To gather the label definitions (`labelDefs`) see the _Labelers_ section below.
|
|
79
97
|
|
|
80
|
-
|
|
98
|
+
## Labelers
|
|
99
|
+
|
|
100
|
+
Labelers are services that provide moderation labels. Your application will typically have 1+ top-level labelers set with the ability to do "takedowns" on content. This is controlled via this static function, though the default is to use Bluesky's moderation:
|
|
81
101
|
|
|
82
102
|
```typescript
|
|
83
|
-
|
|
103
|
+
BskyAgent.configure({
|
|
104
|
+
appLabelers: ['did:web:my-labeler.com'],
|
|
105
|
+
})
|
|
106
|
+
```
|
|
84
107
|
|
|
85
|
-
|
|
108
|
+
Users may also add their own labelers. The active labelers are controlled via an HTTP header which is automatically set by the agent when `getPreferences` is called, or when the labeler preferences are changed.
|
|
86
109
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
Labelers publish a `app.bsky.labeler.service` record that looks like this:
|
|
111
|
+
|
|
112
|
+
```js
|
|
113
|
+
{
|
|
114
|
+
$type: 'app.bsky.labeler.service',
|
|
115
|
+
policies: {
|
|
116
|
+
// the list of label values the labeler will publish
|
|
117
|
+
labelValues: [
|
|
118
|
+
'rude',
|
|
119
|
+
],
|
|
120
|
+
// any custom definitions the labeler will be using
|
|
121
|
+
labelValueDefinitions: [
|
|
122
|
+
{
|
|
123
|
+
identifier: 'rude',
|
|
124
|
+
blurs: 'content',
|
|
125
|
+
severity: 'alert',
|
|
126
|
+
defaultSetting: 'warn',
|
|
127
|
+
adultOnly: false,
|
|
128
|
+
locales: [
|
|
129
|
+
{
|
|
130
|
+
lang: 'en',
|
|
131
|
+
name: 'Rude',
|
|
132
|
+
description: 'Not keeping things civil.',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
createdAt: '2024-03-12T17:17:17.215Z'
|
|
114
139
|
}
|
|
115
140
|
```
|
|
116
141
|
|
|
117
|
-
|
|
142
|
+
The label value definition are custom labels which only apply to that labeler. Your client needs to sync those definitions in order to correctly interpret them. To do that, call `app.bsky.labeler.getService()` (or the `getServices` batch variant) periodically to fetch their definitions. We recommend caching the response (at time our writing the official client uses a TTL of 6 hours).
|
|
143
|
+
|
|
144
|
+
Here is how to do this:
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import { BskyAgent } from '@atproto/api'
|
|
148
|
+
|
|
149
|
+
const agent = new BskyAgent()
|
|
150
|
+
// assume `agent` is a signed in session
|
|
151
|
+
const prefs = await agent.getPreferences()
|
|
152
|
+
const labelDefs = await agent.getLabelDefinitions(prefs)
|
|
153
|
+
|
|
154
|
+
moderatePost(post, {
|
|
155
|
+
userDid: agent.session.did,
|
|
156
|
+
prefs: prefs.moderationPrefs,
|
|
157
|
+
labelDefs,
|
|
158
|
+
})
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## The `moderate*()` APIs
|
|
162
|
+
|
|
163
|
+
The SDK exports methods to moderate the different kinds of content on the network.
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
import {
|
|
167
|
+
moderateProfile,
|
|
168
|
+
moderatePost,
|
|
169
|
+
moderateNotification,
|
|
170
|
+
moderateFeedGen,
|
|
171
|
+
moderateUserList,
|
|
172
|
+
moderateLabeler,
|
|
173
|
+
} from '@atproto/api'
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Each of these follows the same API signature:
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
const res = moderatePost(post, moderationOptions)
|
|
180
|
+
```
|
|
118
181
|
|
|
119
|
-
|
|
182
|
+
The response object provides an API for figuring out what your UI should do in different contexts.
|
|
120
183
|
|
|
121
184
|
```typescript
|
|
122
|
-
|
|
185
|
+
res.ui(context) /* =>
|
|
123
186
|
|
|
124
|
-
|
|
187
|
+
ModerationUI {
|
|
188
|
+
filter: boolean // should the content be removed from the interface?
|
|
189
|
+
blur: boolean // should the content be put behind a cover?
|
|
190
|
+
alert: boolean // should an alert be put on the content? (negative)
|
|
191
|
+
inform: boolean // should an informational notice be put on the content? (neutral)
|
|
192
|
+
noOverride: boolean // if blur=true, should the UI disable opening the cover?
|
|
125
193
|
|
|
126
|
-
|
|
127
|
-
|
|
194
|
+
// the reasons for each of the flags:
|
|
195
|
+
filters: ModerationCause[]
|
|
196
|
+
blurs: ModerationCause[]
|
|
197
|
+
alerts: ModerationCause[]
|
|
198
|
+
informs: ModerationCause[]
|
|
128
199
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
200
|
+
*/
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
There are multiple UI contexts available:
|
|
204
|
+
|
|
205
|
+
- `profileList` A profile being listed, eg in search or a follower list
|
|
206
|
+
- `profileView` A profile being viewed directly
|
|
207
|
+
- `avatar` The user's avatar in any context
|
|
208
|
+
- `banner` The user's banner in any context
|
|
209
|
+
- `displayName` The user's display name in any context
|
|
210
|
+
- `contentList` Content being listed, eg posts in a feed, posts as replies, a user list list, a feed generator list, etc
|
|
211
|
+
- `contentView` Content being viewed direct, eg an opened post, the user list page, the feedgen page, etc
|
|
212
|
+
- `contentMedia ` Media inside the content, eg a picture embedded in a post
|
|
213
|
+
|
|
214
|
+
Here's how a post in a feed would use these tools to make a decision:
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
const mod = moderatePost(post, moderationOptions)
|
|
218
|
+
|
|
219
|
+
if (mod.ui('contentList').filter) {
|
|
220
|
+
// dont show the post
|
|
134
221
|
}
|
|
135
|
-
if (
|
|
136
|
-
//
|
|
222
|
+
if (mod.ui('contentList').blur) {
|
|
223
|
+
// cover the post with the explanation from mod.ui('contentList').blurs[0]
|
|
224
|
+
if (mod.ui('contentList').noOverride) {
|
|
225
|
+
// dont allow the cover to be removed
|
|
226
|
+
}
|
|
137
227
|
}
|
|
138
|
-
if (
|
|
139
|
-
//
|
|
140
|
-
if (
|
|
141
|
-
//
|
|
228
|
+
if (mod.ui('contentMedia').blur) {
|
|
229
|
+
// cover the post's embbedded images with the explanation from mod.ui('contentMedia').blurs[0]
|
|
230
|
+
if (mod.ui('contentMedia').noOverride) {
|
|
231
|
+
// dont allow the cover to be removed
|
|
142
232
|
}
|
|
143
233
|
}
|
|
144
|
-
if (
|
|
145
|
-
//
|
|
234
|
+
if (mod.ui('avatar').blur) {
|
|
235
|
+
// cover the avatar with the explanation from mod.ui('avatar').blurs[0]
|
|
236
|
+
if (mod.ui('avatar').noOverride) {
|
|
237
|
+
// dont allow the cover to be removed
|
|
238
|
+
}
|
|
146
239
|
}
|
|
147
|
-
|
|
148
|
-
// render
|
|
240
|
+
for (const alert of mod.ui('contentList').alerts) {
|
|
241
|
+
// render this alert
|
|
149
242
|
}
|
|
150
|
-
|
|
151
|
-
// render
|
|
243
|
+
for (const inform of mod.ui('contentList').informs) {
|
|
244
|
+
// render this inform
|
|
152
245
|
}
|
|
153
246
|
```
|
|
247
|
+
|
|
248
|
+
## Sending moderation reports
|
|
249
|
+
|
|
250
|
+
Any Labeler is capable of receiving moderation reports. As a result, you need to specify which labeler should receive the report. You do this with the `Atproto-Proxy` header:
|
|
251
|
+
|
|
252
|
+
```typescript
|
|
253
|
+
agent
|
|
254
|
+
.withProxy('atproto_labeler', 'did:web:my-labeler.com')
|
|
255
|
+
.createModerationReport({
|
|
256
|
+
reasonType: 'com.atproto.moderation.defs#reasonViolation',
|
|
257
|
+
reason: 'They were being such a jerk to me!',
|
|
258
|
+
subject: { did: 'did:web:bob.com' },
|
|
259
|
+
})
|
|
260
|
+
```
|
package/jest.config.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
const base = require('../../jest.config.base.js')
|
|
2
|
+
|
|
2
3
|
module.exports = {
|
|
4
|
+
...base,
|
|
3
5
|
displayName: 'API',
|
|
4
|
-
transform: { '^.+\\.(t|j)s$': '@swc/jest' },
|
|
5
|
-
transformIgnorePatterns: [`<rootDir>/node_modules/(?!get-port)`],
|
|
6
|
-
testTimeout: 60000,
|
|
7
|
-
setupFiles: ['<rootDir>/../../jest.setup.ts'],
|
|
8
|
-
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
|
9
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/api",
|
|
3
|
-
"version": "0.11.0
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Client library for atproto and Bluesky",
|
|
6
6
|
"keywords": [
|
|
@@ -15,26 +15,30 @@
|
|
|
15
15
|
"directory": "packages/api"
|
|
16
16
|
},
|
|
17
17
|
"main": "dist/index.js",
|
|
18
|
-
"types": "dist/index.d.ts",
|
|
19
18
|
"dependencies": {
|
|
20
19
|
"multiformats": "^9.9.0",
|
|
21
20
|
"tlds": "^1.234.0",
|
|
22
21
|
"typed-emitter": "^2.1.0",
|
|
23
22
|
"zod": "^3.21.4",
|
|
24
|
-
"@atproto/common-web": "^0.2.
|
|
25
|
-
"@atproto/lexicon": "^0.3.
|
|
26
|
-
"@atproto/syntax": "^0.1
|
|
27
|
-
"@atproto/xrpc": "^0.4.
|
|
23
|
+
"@atproto/common-web": "^0.2.4",
|
|
24
|
+
"@atproto/lexicon": "^0.3.3",
|
|
25
|
+
"@atproto/syntax": "^0.2.1",
|
|
26
|
+
"@atproto/xrpc": "^0.4.3"
|
|
28
27
|
},
|
|
29
28
|
"devDependencies": {
|
|
30
29
|
"common-tags": "^1.8.2",
|
|
31
|
-
"
|
|
32
|
-
"@atproto/lex-cli": "^0.3.
|
|
30
|
+
"get-port": "^6.1.2",
|
|
31
|
+
"@atproto/lex-cli": "^0.3.2",
|
|
32
|
+
"@atproto/dev-env": "^0.2.38"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"codegen": "
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
35
|
+
"codegen": "node ./scripts/generate-code.mjs && lex gen-api ./src/client ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/tools/ozone/*/*",
|
|
36
|
+
"build": "node ./build.js",
|
|
37
|
+
"postbuild": "tsc --build tsconfig.build.json",
|
|
38
|
+
"update-main-to-dist": "node ../../update-main-to-dist.js packages/api",
|
|
39
|
+
"test": "jest",
|
|
40
|
+
"bench": "jest --config jest.bench.config.js",
|
|
41
|
+
"bench:profile": "node --inspect-brk ../../node_modules/.bin/jest --config jest.bench.config.js"
|
|
42
|
+
},
|
|
43
|
+
"types": "dist/index.d.ts"
|
|
40
44
|
}
|
package/scripts/code/labels.mjs
CHANGED
|
@@ -11,12 +11,6 @@ const labelsDef = JSON.parse(
|
|
|
11
11
|
'utf8',
|
|
12
12
|
),
|
|
13
13
|
)
|
|
14
|
-
const labelsEn = JSON.parse(
|
|
15
|
-
readFileSync(
|
|
16
|
-
join(__dirname, '..', '..', 'definitions', 'locale', 'en', 'labels.json'),
|
|
17
|
-
'utf8',
|
|
18
|
-
),
|
|
19
|
-
)
|
|
20
14
|
|
|
21
15
|
writeFileSync(
|
|
22
16
|
join(__dirname, '..', '..', 'src', 'moderation', 'const', 'labels.ts'),
|
|
@@ -27,10 +21,24 @@ writeFileSync(
|
|
|
27
21
|
async function gen() {
|
|
28
22
|
return prettier.format(
|
|
29
23
|
`/** this doc is generated by ./scripts/code/labels.mjs **/
|
|
30
|
-
import {
|
|
24
|
+
import {InterpretedLabelValueDefinition, LabelPreference} from '../types'
|
|
25
|
+
|
|
26
|
+
export type KnownLabelValue = ${labelsDef
|
|
27
|
+
.map((label) => `"${label.identifier}"`)
|
|
28
|
+
.join(' | ')}
|
|
29
|
+
|
|
30
|
+
export const DEFAULT_LABEL_SETTINGS: Record<string, LabelPreference> = ${JSON.stringify(
|
|
31
|
+
Object.fromEntries(
|
|
32
|
+
labelsDef
|
|
33
|
+
.filter((label) => label.configurable)
|
|
34
|
+
.map((label) => [label.identifier, label.defaultSetting]),
|
|
35
|
+
),
|
|
36
|
+
)}
|
|
31
37
|
|
|
32
|
-
export const LABELS:
|
|
33
|
-
|
|
38
|
+
export const LABELS: Record<KnownLabelValue, InterpretedLabelValueDefinition> = ${JSON.stringify(
|
|
39
|
+
Object.fromEntries(
|
|
40
|
+
labelsDef.map((label) => [label.identifier, { ...label, locales: [] }]),
|
|
41
|
+
),
|
|
34
42
|
null,
|
|
35
43
|
2,
|
|
36
44
|
)}
|
|
@@ -39,30 +47,4 @@ async function gen() {
|
|
|
39
47
|
)
|
|
40
48
|
}
|
|
41
49
|
|
|
42
|
-
function genDefMap() {
|
|
43
|
-
const labels = {}
|
|
44
|
-
for (const group of labelsDef) {
|
|
45
|
-
for (const label of group.labels) {
|
|
46
|
-
labels[label.id] = {
|
|
47
|
-
...label,
|
|
48
|
-
groupId: group.id,
|
|
49
|
-
configurable: group.configurable,
|
|
50
|
-
strings: {
|
|
51
|
-
settings: getLabelStrings(label.id, 'settings'),
|
|
52
|
-
account: getLabelStrings(label.id, 'account'),
|
|
53
|
-
content: getLabelStrings(label.id, 'content'),
|
|
54
|
-
},
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return labels
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function getLabelStrings(id, type) {
|
|
62
|
-
if (labelsEn[id] && labelsEn[id][type]) {
|
|
63
|
-
return { en: labelsEn[id][type] }
|
|
64
|
-
}
|
|
65
|
-
throw new Error('Label strings not found for ' + id)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
50
|
export {}
|
package/src/agent.ts
CHANGED
|
@@ -17,8 +17,12 @@ import {
|
|
|
17
17
|
AtpAgentGlobalOpts,
|
|
18
18
|
AtpPersistSessionHandler,
|
|
19
19
|
AtpAgentOpts,
|
|
20
|
+
AtprotoServiceType,
|
|
20
21
|
} from './types'
|
|
22
|
+
import { BSKY_LABELER_DID } from './const'
|
|
21
23
|
|
|
24
|
+
const MAX_MOD_AUTHORITIES = 3
|
|
25
|
+
const MAX_LABELERS = 10
|
|
22
26
|
const REFRESH_SESSION = 'com.atproto.server.refreshSession'
|
|
23
27
|
|
|
24
28
|
/**
|
|
@@ -29,15 +33,13 @@ export class AtpAgent {
|
|
|
29
33
|
service: URL
|
|
30
34
|
api: AtpServiceClient
|
|
31
35
|
session?: AtpSessionData
|
|
36
|
+
labelersHeader: string[] = []
|
|
37
|
+
proxyHeader: string | undefined
|
|
38
|
+
pdsUrl: URL | undefined // The PDS URL, driven by the did doc. May be undefined.
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
pdsUrl: URL | undefined
|
|
37
|
-
|
|
38
|
-
private _baseClient: AtpBaseClient
|
|
39
|
-
private _persistSession?: AtpPersistSessionHandler
|
|
40
|
-
private _refreshSessionPromise: Promise<void> | undefined
|
|
40
|
+
protected _baseClient: AtpBaseClient
|
|
41
|
+
protected _persistSession?: AtpPersistSessionHandler
|
|
42
|
+
protected _refreshSessionPromise: Promise<void> | undefined
|
|
41
43
|
|
|
42
44
|
get com() {
|
|
43
45
|
return this.api.com
|
|
@@ -48,11 +50,21 @@ export class AtpAgent {
|
|
|
48
50
|
*/
|
|
49
51
|
static fetch: AtpAgentFetchHandler | undefined = defaultFetchHandler
|
|
50
52
|
|
|
53
|
+
/**
|
|
54
|
+
* The labelers to be used across all requests with the takedown capability
|
|
55
|
+
*/
|
|
56
|
+
static appLabelers: string[] = [BSKY_LABELER_DID]
|
|
57
|
+
|
|
51
58
|
/**
|
|
52
59
|
* Configures the API globally.
|
|
53
60
|
*/
|
|
54
61
|
static configure(opts: AtpAgentGlobalOpts) {
|
|
55
|
-
|
|
62
|
+
if (opts.fetch) {
|
|
63
|
+
AtpAgent.fetch = opts.fetch
|
|
64
|
+
}
|
|
65
|
+
if (opts.appLabelers) {
|
|
66
|
+
AtpAgent.appLabelers = opts.appLabelers
|
|
67
|
+
}
|
|
56
68
|
}
|
|
57
69
|
|
|
58
70
|
constructor(opts: AtpAgentOpts) {
|
|
@@ -66,6 +78,27 @@ export class AtpAgent {
|
|
|
66
78
|
this.api = this._baseClient.service(opts.service)
|
|
67
79
|
}
|
|
68
80
|
|
|
81
|
+
clone() {
|
|
82
|
+
const inst = new AtpAgent({
|
|
83
|
+
service: this.service,
|
|
84
|
+
})
|
|
85
|
+
this.copyInto(inst)
|
|
86
|
+
return inst
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
copyInto(inst: AtpAgent) {
|
|
90
|
+
inst.session = this.session
|
|
91
|
+
inst.labelersHeader = this.labelersHeader
|
|
92
|
+
inst.proxyHeader = this.proxyHeader
|
|
93
|
+
inst.pdsUrl = this.pdsUrl
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
withProxy(serviceType: AtprotoServiceType, did: string) {
|
|
97
|
+
const inst = this.clone()
|
|
98
|
+
inst.configureProxyHeader(serviceType, did)
|
|
99
|
+
return inst
|
|
100
|
+
}
|
|
101
|
+
|
|
69
102
|
/**
|
|
70
103
|
* Is there any active session?
|
|
71
104
|
*/
|
|
@@ -81,6 +114,24 @@ export class AtpAgent {
|
|
|
81
114
|
this._persistSession = handler
|
|
82
115
|
}
|
|
83
116
|
|
|
117
|
+
/**
|
|
118
|
+
* Configures the moderation services to be applied on requests.
|
|
119
|
+
* NOTE: this is called automatically by getPreferences() and the relevant moderation config
|
|
120
|
+
* methods in BskyAgent instances.
|
|
121
|
+
*/
|
|
122
|
+
configureLabelersHeader(labelerDids: string[]) {
|
|
123
|
+
this.labelersHeader = labelerDids
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Configures the atproto-proxy header to be applied on requests
|
|
128
|
+
*/
|
|
129
|
+
configureProxyHeader(serviceType: AtprotoServiceType, did: string) {
|
|
130
|
+
if (did.startsWith('did:')) {
|
|
131
|
+
this.proxyHeader = `${did}#${serviceType}`
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
84
135
|
/**
|
|
85
136
|
* Create a new account and hydrate its session in this agent.
|
|
86
137
|
*/
|
|
@@ -194,13 +245,27 @@ export class AtpAgent {
|
|
|
194
245
|
/**
|
|
195
246
|
* Internal helper to add authorization headers to requests.
|
|
196
247
|
*/
|
|
197
|
-
private
|
|
248
|
+
private _addHeaders(reqHeaders: Record<string, string>) {
|
|
198
249
|
if (!reqHeaders.authorization && this.session?.accessJwt) {
|
|
199
|
-
|
|
250
|
+
reqHeaders = {
|
|
200
251
|
...reqHeaders,
|
|
201
252
|
authorization: `Bearer ${this.session.accessJwt}`,
|
|
202
253
|
}
|
|
203
254
|
}
|
|
255
|
+
if (this.proxyHeader) {
|
|
256
|
+
reqHeaders = {
|
|
257
|
+
...reqHeaders,
|
|
258
|
+
'atproto-proxy': this.proxyHeader,
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
reqHeaders = {
|
|
262
|
+
...reqHeaders,
|
|
263
|
+
'atproto-accept-labelers': AtpAgent.appLabelers
|
|
264
|
+
.map((str) => `${str};redact`)
|
|
265
|
+
.concat(this.labelersHeader.filter((str) => str.startsWith('did:')))
|
|
266
|
+
.slice(0, MAX_LABELERS)
|
|
267
|
+
.join(', '),
|
|
268
|
+
}
|
|
204
269
|
return reqHeaders
|
|
205
270
|
}
|
|
206
271
|
|
|
@@ -224,7 +289,7 @@ export class AtpAgent {
|
|
|
224
289
|
let res = await AtpAgent.fetch(
|
|
225
290
|
reqUri,
|
|
226
291
|
reqMethod,
|
|
227
|
-
this.
|
|
292
|
+
this._addHeaders(reqHeaders),
|
|
228
293
|
reqBody,
|
|
229
294
|
)
|
|
230
295
|
|
|
@@ -237,7 +302,7 @@ export class AtpAgent {
|
|
|
237
302
|
res = await AtpAgent.fetch(
|
|
238
303
|
reqUri,
|
|
239
304
|
reqMethod,
|
|
240
|
-
this.
|
|
305
|
+
this._addHeaders(reqHeaders),
|
|
241
306
|
reqBody,
|
|
242
307
|
)
|
|
243
308
|
}
|