@atproto/bsky 0.0.111 → 0.0.113
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 +21 -0
- package/dist/api/app/bsky/actor/getSuggestions.d.ts.map +1 -1
- package/dist/api/app/bsky/actor/getSuggestions.js.map +1 -1
- package/dist/api/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
- package/dist/api/app/bsky/feed/getAuthorFeed.js +4 -2
- package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
- package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
- package/dist/api/app/bsky/feed/getFeed.js +1 -0
- package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/api/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
- package/dist/api/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
- package/dist/api/blob-resolver.d.ts.map +1 -1
- package/dist/api/blob-resolver.js +2 -0
- package/dist/api/blob-resolver.js.map +1 -1
- package/dist/api/util.d.ts +1 -0
- package/dist/api/util.d.ts.map +1 -1
- package/dist/api/util.js +2 -1
- package/dist/api/util.js.map +1 -1
- package/dist/data-plane/server/routes/relationships.d.ts.map +1 -1
- package/dist/data-plane/server/routes/relationships.js +51 -31
- package/dist/data-plane/server/routes/relationships.js.map +1 -1
- package/dist/hydration/graph.d.ts +7 -4
- package/dist/hydration/graph.d.ts.map +1 -1
- package/dist/hydration/graph.js +17 -19
- package/dist/hydration/graph.js.map +1 -1
- package/dist/hydration/hydrator.d.ts +3 -1
- package/dist/hydration/hydrator.d.ts.map +1 -1
- package/dist/hydration/hydrator.js +49 -17
- package/dist/hydration/hydrator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/putPreferences.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/putPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getQuotes.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getQuotes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getList.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getLists.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getLists.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActor.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/muteActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActorList.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/muteActorList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferences.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/notification/putPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/registerPush.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/notification/registerPush.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/updateSeen.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/notification/updateSeen.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/updateHandle.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/identity/updateHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/importRepo.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/importRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/activateAccount.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/activateAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/confirmEmail.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/confirmEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAccount.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/createAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createSession.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/createSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteAccount.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteSession.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/deleteSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getSession.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/getSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/resetPassword.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/resetPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/updateEmail.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/server/updateEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHead.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getHead.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.d.ts.map +1 -1
- 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/types/com/atproto/temp/addReservedHandle.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.d.ts +1 -0
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.d.ts.map +1 -1
- package/dist/views/index.d.ts +8 -3
- package/dist/views/index.d.ts.map +1 -1
- package/dist/views/index.js +39 -18
- package/dist/views/index.js.map +1 -1
- package/package.json +11 -11
- package/src/api/app/bsky/actor/getSuggestions.ts +4 -3
- package/src/api/app/bsky/feed/getAuthorFeed.ts +8 -2
- package/src/api/app/bsky/feed/getFeed.ts +2 -1
- package/src/api/app/bsky/graph/getSuggestedFollowsByActor.ts +3 -2
- package/src/api/blob-resolver.ts +3 -0
- package/src/api/util.ts +1 -0
- package/src/data-plane/server/routes/relationships.ts +64 -40
- package/src/hydration/graph.ts +23 -23
- package/src/hydration/hydrator.ts +66 -19
- package/src/lexicon/types/app/bsky/actor/getPreferences.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/getProfile.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/getProfiles.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/putPreferences.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/searchActors.ts +1 -0
- package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getFeed.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getLikes.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getListFeed.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getPostThread.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getPosts.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getQuotes.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/getTimeline.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/searchPosts.ts +1 -0
- package/src/lexicon/types/app/bsky/feed/sendInteractions.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getBlocks.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getFollowers.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getFollows.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getKnownFollowers.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getList.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getListMutes.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getLists.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getMutes.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getRelationships.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getStarterPack.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getStarterPacks.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/muteActor.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/muteActorList.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/muteThread.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/searchStarterPacks.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/unmuteThread.ts +1 -0
- package/src/lexicon/types/app/bsky/labeler/getServices.ts +1 -0
- package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +1 -0
- package/src/lexicon/types/app/bsky/notification/listNotifications.ts +1 -0
- package/src/lexicon/types/app/bsky/notification/putPreferences.ts +1 -0
- package/src/lexicon/types/app/bsky/notification/registerPush.ts +1 -0
- package/src/lexicon/types/app/bsky/notification/updateSeen.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/getConfig.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +1 -0
- package/src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts +1 -0
- package/src/lexicon/types/app/bsky/video/getJobStatus.ts +1 -0
- package/src/lexicon/types/app/bsky/video/getUploadLimits.ts +1 -0
- package/src/lexicon/types/app/bsky/video/uploadVideo.ts +1 -0
- package/src/lexicon/types/chat/bsky/actor/deleteAccount.ts +1 -0
- package/src/lexicon/types/chat/bsky/actor/exportAccountData.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/getConvo.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/getLog.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/getMessages.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/leaveConvo.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/listConvos.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/muteConvo.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/sendMessage.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/unmuteConvo.ts +1 -0
- package/src/lexicon/types/chat/bsky/convo/updateRead.ts +1 -0
- package/src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts +1 -0
- package/src/lexicon/types/chat/bsky/moderation/getMessageContext.ts +1 -0
- package/src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/searchAccounts.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/sendEmail.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/updateAccountPassword.ts +1 -0
- package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/signPlcOperation.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/submitPlcOperation.ts +1 -0
- package/src/lexicon/types/com/atproto/identity/updateHandle.ts +1 -0
- package/src/lexicon/types/com/atproto/label/queryLabels.ts +1 -0
- package/src/lexicon/types/com/atproto/moderation/createReport.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/applyWrites.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/createRecord.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/describeRepo.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/getRecord.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/importRepo.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/listMissingBlobs.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/listRecords.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/putRecord.ts +1 -0
- package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +1 -0
- package/src/lexicon/types/com/atproto/server/activateAccount.ts +1 -0
- package/src/lexicon/types/com/atproto/server/checkAccountStatus.ts +1 -0
- package/src/lexicon/types/com/atproto/server/confirmEmail.ts +1 -0
- package/src/lexicon/types/com/atproto/server/createAccount.ts +1 -0
- package/src/lexicon/types/com/atproto/server/createAppPassword.ts +1 -0
- package/src/lexicon/types/com/atproto/server/createInviteCode.ts +1 -0
- package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +1 -0
- package/src/lexicon/types/com/atproto/server/createSession.ts +1 -0
- package/src/lexicon/types/com/atproto/server/deactivateAccount.ts +1 -0
- package/src/lexicon/types/com/atproto/server/deleteAccount.ts +1 -0
- package/src/lexicon/types/com/atproto/server/deleteSession.ts +1 -0
- package/src/lexicon/types/com/atproto/server/describeServer.ts +1 -0
- package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +1 -0
- package/src/lexicon/types/com/atproto/server/getServiceAuth.ts +1 -0
- package/src/lexicon/types/com/atproto/server/getSession.ts +1 -0
- package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +1 -0
- package/src/lexicon/types/com/atproto/server/refreshSession.ts +1 -0
- package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +1 -0
- package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +1 -0
- package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +1 -0
- package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +1 -0
- package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +1 -0
- package/src/lexicon/types/com/atproto/server/resetPassword.ts +1 -0
- package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +1 -0
- package/src/lexicon/types/com/atproto/server/updateEmail.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getBlob.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getBlocks.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getCheckout.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getHead.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getRecord.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getRepo.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/getRepoStatus.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/listBlobs.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/listRepos.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +1 -0
- package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +1 -0
- package/src/lexicon/types/com/atproto/temp/addReservedHandle.ts +1 -0
- package/src/lexicon/types/com/atproto/temp/checkSignupQueue.ts +1 -0
- package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +1 -0
- package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +1 -0
- package/src/views/index.ts +57 -26
- package/tests/label-hydration.test.ts +5 -2
- package/tests/views/author-feed.test.ts +1 -1
- package/tests/views/labels-takedown.test.ts +29 -0
package/src/hydration/graph.ts
CHANGED
|
@@ -46,50 +46,46 @@ export type ListAggs = HydrationMap<ListAgg>
|
|
|
46
46
|
export type RelationshipPair = [didA: string, didB: string]
|
|
47
47
|
|
|
48
48
|
const dedupePairs = (pairs: RelationshipPair[]): RelationshipPair[] => {
|
|
49
|
-
const
|
|
50
|
-
(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return acc
|
|
54
|
-
},
|
|
55
|
-
{} as Record<string, RelationshipPair>,
|
|
56
|
-
)
|
|
57
|
-
return Object.values(mapped)
|
|
49
|
+
const deduped = pairs.reduce((acc, pair) => {
|
|
50
|
+
return acc.set(Blocks.key(...pair), pair)
|
|
51
|
+
}, new Map<string, RelationshipPair>())
|
|
52
|
+
return [...deduped.values()]
|
|
58
53
|
}
|
|
59
54
|
|
|
60
55
|
export class Blocks {
|
|
61
|
-
_blocks: Map<string,
|
|
56
|
+
_blocks: Map<string, BlockEntry> = new Map() // did:a,did:b -> block
|
|
62
57
|
constructor() {}
|
|
63
58
|
|
|
64
59
|
static key(didA: string, didB: string): string {
|
|
65
60
|
return [didA, didB].sort().join(',')
|
|
66
61
|
}
|
|
67
62
|
|
|
68
|
-
set(didA: string, didB: string,
|
|
63
|
+
set(didA: string, didB: string, block: BlockEntry): Blocks {
|
|
69
64
|
const key = Blocks.key(didA, didB)
|
|
70
|
-
this._blocks.set(key,
|
|
65
|
+
this._blocks.set(key, block)
|
|
71
66
|
return this
|
|
72
67
|
}
|
|
73
68
|
|
|
74
|
-
|
|
69
|
+
get(didA: string, didB: string): BlockEntry | null {
|
|
70
|
+
if (didA === didB) return null // ignore self-blocks
|
|
75
71
|
const key = Blocks.key(didA, didB)
|
|
76
|
-
return this._blocks.
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
isBlocked(didA: string, didB: string): boolean {
|
|
80
|
-
if (didA === didB) return false // ignore self-blocks
|
|
81
|
-
const key = Blocks.key(didA, didB)
|
|
82
|
-
return this._blocks.get(key) ?? false
|
|
72
|
+
return this._blocks.get(key) ?? null
|
|
83
73
|
}
|
|
84
74
|
|
|
85
75
|
merge(blocks: Blocks): Blocks {
|
|
86
|
-
blocks._blocks.forEach((
|
|
87
|
-
this._blocks.set(key,
|
|
76
|
+
blocks._blocks.forEach((block, key) => {
|
|
77
|
+
this._blocks.set(key, block)
|
|
88
78
|
})
|
|
89
79
|
return this
|
|
90
80
|
}
|
|
91
81
|
}
|
|
92
82
|
|
|
83
|
+
// No "blocking" vs. "blocked" directionality: only suitable for bidirectional block checks
|
|
84
|
+
export type BlockEntry = {
|
|
85
|
+
blockUri: string | undefined
|
|
86
|
+
blockListUri: string | undefined
|
|
87
|
+
}
|
|
88
|
+
|
|
93
89
|
export class GraphHydrator {
|
|
94
90
|
constructor(public dataplane: DataPlaneClient) {}
|
|
95
91
|
|
|
@@ -162,7 +158,11 @@ export class GraphHydrator {
|
|
|
162
158
|
const blocks = new Blocks()
|
|
163
159
|
for (let i = 0; i < deduped.length; i++) {
|
|
164
160
|
const pair = deduped[i]
|
|
165
|
-
|
|
161
|
+
const block = res.blocks[i]
|
|
162
|
+
blocks.set(pair.a, pair.b, {
|
|
163
|
+
blockUri: block.blockedBy || block.blocking || undefined,
|
|
164
|
+
blockListUri: block.blockedByList || block.blockingByList || undefined,
|
|
165
|
+
})
|
|
166
166
|
}
|
|
167
167
|
return blocks
|
|
168
168
|
}
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
mergeNestedMaps,
|
|
44
44
|
mergeManyMaps,
|
|
45
45
|
} from './util'
|
|
46
|
-
import { uriToDid as didFromUri } from '../util/uris'
|
|
46
|
+
import { uriToDid as didFromUri, uriToDid } from '../util/uris'
|
|
47
47
|
import {
|
|
48
48
|
FeedGenAggs,
|
|
49
49
|
FeedGens,
|
|
@@ -279,10 +279,11 @@ export class Hydrator {
|
|
|
279
279
|
// - profile basic
|
|
280
280
|
async hydrateLists(uris: string[], ctx: HydrateCtx): Promise<HydrationState> {
|
|
281
281
|
const [listsState, profilesState] = await Promise.all([
|
|
282
|
-
|
|
283
|
-
|
|
282
|
+
this.hydrateListsBasic(uris, ctx, {
|
|
283
|
+
skipAuthors: true, // handled via author profile hydration
|
|
284
|
+
}),
|
|
285
|
+
this.hydrateProfilesBasic(uris.map(didFromUri), ctx),
|
|
284
286
|
])
|
|
285
|
-
|
|
286
287
|
return mergeStates(listsState, profilesState)
|
|
287
288
|
}
|
|
288
289
|
|
|
@@ -291,19 +292,26 @@ export class Hydrator {
|
|
|
291
292
|
async hydrateListsBasic(
|
|
292
293
|
uris: string[],
|
|
293
294
|
ctx: HydrateCtx,
|
|
295
|
+
opts?: { skipAuthors: boolean },
|
|
294
296
|
): Promise<HydrationState> {
|
|
295
|
-
const
|
|
297
|
+
const includeAuthorDids = opts?.skipAuthors ? [] : uris.map(uriToDid)
|
|
298
|
+
const [lists, listAggs, listViewers, labels, actors] = await Promise.all([
|
|
296
299
|
this.graph.getLists(uris, ctx.includeTakedowns),
|
|
297
300
|
this.graph.getListAggregates(uris.map((uri) => ({ uri }))),
|
|
298
301
|
ctx.viewer ? this.graph.getListViewerStates(uris, ctx.viewer) : undefined,
|
|
299
|
-
this.label.getLabelsForSubjects(
|
|
302
|
+
this.label.getLabelsForSubjects(
|
|
303
|
+
[...uris, ...includeAuthorDids],
|
|
304
|
+
ctx.labelers,
|
|
305
|
+
),
|
|
306
|
+
this.actor.getActors(includeAuthorDids, ctx.includeTakedowns),
|
|
300
307
|
])
|
|
301
308
|
|
|
302
309
|
if (!ctx.includeTakedowns) {
|
|
303
310
|
actionTakedownLabels(uris, lists, labels)
|
|
311
|
+
actionTakedownLabels(includeAuthorDids, actors, labels)
|
|
304
312
|
}
|
|
305
313
|
|
|
306
|
-
return { lists, listAggs, listViewers, labels, ctx }
|
|
314
|
+
return { lists, listAggs, listViewers, labels, actors, ctx }
|
|
307
315
|
}
|
|
308
316
|
|
|
309
317
|
// app.bsky.graph.defs#listItemView
|
|
@@ -533,12 +541,14 @@ export class Hydrator {
|
|
|
533
541
|
}
|
|
534
542
|
}
|
|
535
543
|
// replace embed/parent/root pairs with block state
|
|
536
|
-
const blocks = await this.
|
|
544
|
+
const blocks = await this.hydrateBidirectionalBlocks(
|
|
545
|
+
pairsToMap(relationships),
|
|
546
|
+
)
|
|
537
547
|
for (const [uri, { embed, parent, root }] of postBlocksPairs) {
|
|
538
548
|
postBlocks.set(uri, {
|
|
539
|
-
embed: !!embed &&
|
|
540
|
-
parent: !!parent &&
|
|
541
|
-
root: !!root &&
|
|
549
|
+
embed: !!embed && !!isBlocked(blocks, embed),
|
|
550
|
+
parent: !!parent && !!isBlocked(blocks, parent),
|
|
551
|
+
root: !!root && !!isBlocked(blocks, root),
|
|
542
552
|
})
|
|
543
553
|
}
|
|
544
554
|
return postBlocks
|
|
@@ -756,8 +766,8 @@ export class Hydrator {
|
|
|
756
766
|
)
|
|
757
767
|
},
|
|
758
768
|
)
|
|
759
|
-
const blocks = await this.
|
|
760
|
-
listCreatorMemberPairs,
|
|
769
|
+
const blocks = await this.hydrateBidirectionalBlocks(
|
|
770
|
+
pairsToMap(listCreatorMemberPairs),
|
|
761
771
|
)
|
|
762
772
|
// sample top list items per starter pack based on their follows
|
|
763
773
|
const listMemberAggs = await this.actor.getProfileAggregates(listMemberDids)
|
|
@@ -772,7 +782,8 @@ export class Hydrator {
|
|
|
772
782
|
// update aggregation with list items for top 12 most followed members
|
|
773
783
|
agg.listItemSampleUris = [
|
|
774
784
|
...members.listitems.filter(
|
|
775
|
-
(li) =>
|
|
785
|
+
(li) =>
|
|
786
|
+
ctx.viewer === creator || !isBlocked(blocks, [creator, li.did]),
|
|
776
787
|
),
|
|
777
788
|
]
|
|
778
789
|
.sort((li1, li2) => {
|
|
@@ -814,11 +825,11 @@ export class Hydrator {
|
|
|
814
825
|
pairs.push([authorDid, didFromUri(uri)])
|
|
815
826
|
}
|
|
816
827
|
}
|
|
817
|
-
const blocks = await this.
|
|
828
|
+
const blocks = await this.hydrateBidirectionalBlocks(pairsToMap(pairs))
|
|
818
829
|
const likeBlocks = new HydrationMap<LikeBlock>()
|
|
819
830
|
for (const [uri, like] of likes) {
|
|
820
831
|
if (like) {
|
|
821
|
-
likeBlocks.set(uri,
|
|
832
|
+
likeBlocks.set(uri, isBlocked(blocks, [authorDid, didFromUri(uri)]))
|
|
822
833
|
} else {
|
|
823
834
|
likeBlocks.set(uri, null)
|
|
824
835
|
}
|
|
@@ -898,13 +909,13 @@ export class Hydrator {
|
|
|
898
909
|
pairs.push([didFromUri(uri), follow.record.subject])
|
|
899
910
|
}
|
|
900
911
|
}
|
|
901
|
-
const blocks = await this.
|
|
912
|
+
const blocks = await this.hydrateBidirectionalBlocks(pairsToMap(pairs))
|
|
902
913
|
const followBlocks = new HydrationMap<FollowBlock>()
|
|
903
914
|
for (const [uri, follow] of follows) {
|
|
904
915
|
if (follow) {
|
|
905
916
|
followBlocks.set(
|
|
906
917
|
uri,
|
|
907
|
-
|
|
918
|
+
isBlocked(blocks, [didFromUri(uri), follow.record.subject]),
|
|
908
919
|
)
|
|
909
920
|
} else {
|
|
910
921
|
followBlocks.set(uri, null)
|
|
@@ -926,10 +937,32 @@ export class Hydrator {
|
|
|
926
937
|
const result = new HydrationMap<HydrationMap<boolean>>()
|
|
927
938
|
const blocks = await this.graph.getBidirectionalBlocks(pairs)
|
|
928
939
|
|
|
940
|
+
// lookup list authors to apply takedown status to blocklists
|
|
941
|
+
const listAuthorDids = new Set<string>()
|
|
942
|
+
for (const [source, targets] of didMap) {
|
|
943
|
+
for (const target of targets) {
|
|
944
|
+
const block = blocks.get(source, target)
|
|
945
|
+
if (block?.blockListUri) {
|
|
946
|
+
listAuthorDids.add(uriToDid(block.blockListUri))
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
const activeListAuthors = await this.actor.getActors(
|
|
952
|
+
[...listAuthorDids],
|
|
953
|
+
false,
|
|
954
|
+
)
|
|
955
|
+
|
|
929
956
|
for (const [source, targets] of didMap) {
|
|
930
957
|
const didBlocks = new HydrationMap<boolean>()
|
|
931
958
|
for (const target of targets) {
|
|
932
|
-
|
|
959
|
+
const block = blocks.get(source, target)
|
|
960
|
+
const isBlocked = !!(
|
|
961
|
+
block?.blockUri ||
|
|
962
|
+
(block?.blockListUri &&
|
|
963
|
+
activeListAuthors.get(uriToDid(block.blockListUri)))
|
|
964
|
+
)
|
|
965
|
+
didBlocks.set(target, isBlocked)
|
|
933
966
|
}
|
|
934
967
|
result.set(source, didBlocks)
|
|
935
968
|
}
|
|
@@ -1198,6 +1231,20 @@ const getListUrisFromThreadgates = (gates: Threadgates) => {
|
|
|
1198
1231
|
return uris
|
|
1199
1232
|
}
|
|
1200
1233
|
|
|
1234
|
+
const isBlocked = (blocks: BidirectionalBlocks, [a, b]: RelationshipPair) => {
|
|
1235
|
+
return blocks.get(a)?.get(b) ?? null
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
const pairsToMap = (pairs: RelationshipPair[]): Map<string, string[]> => {
|
|
1239
|
+
const map = new Map<string, string[]>()
|
|
1240
|
+
for (const [a, b] of pairs) {
|
|
1241
|
+
const list = map.get(a) ?? []
|
|
1242
|
+
list.push(b)
|
|
1243
|
+
map.set(a, list)
|
|
1244
|
+
}
|
|
1245
|
+
return map
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1201
1248
|
export const mergeStates = (
|
|
1202
1249
|
stateA: HydrationState,
|
|
1203
1250
|
stateB: HydrationState,
|
|
@@ -38,6 +38,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
38
38
|
input: HandlerInput
|
|
39
39
|
req: express.Request
|
|
40
40
|
res: express.Response
|
|
41
|
+
resetRouteRateLimits: () => Promise<void>
|
|
41
42
|
}
|
|
42
43
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
43
44
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -36,6 +36,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
36
36
|
input: HandlerInput
|
|
37
37
|
req: express.Request
|
|
38
38
|
res: express.Response
|
|
39
|
+
resetRouteRateLimits: () => Promise<void>
|
|
39
40
|
}
|
|
40
41
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
41
42
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -40,6 +40,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
40
40
|
input: HandlerInput
|
|
41
41
|
req: express.Request
|
|
42
42
|
res: express.Response
|
|
43
|
+
resetRouteRateLimits: () => Promise<void>
|
|
43
44
|
}
|
|
44
45
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
45
46
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -33,6 +33,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
33
33
|
input: HandlerInput
|
|
34
34
|
req: express.Request
|
|
35
35
|
res: express.Response
|
|
36
|
+
resetRouteRateLimits: () => Promise<void>
|
|
36
37
|
}
|
|
37
38
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
38
39
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -46,6 +46,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
46
46
|
input: HandlerInput
|
|
47
47
|
req: express.Request
|
|
48
48
|
res: express.Response
|
|
49
|
+
resetRouteRateLimits: () => Promise<void>
|
|
49
50
|
}
|
|
50
51
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
51
52
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -39,6 +39,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
39
39
|
input: HandlerInput
|
|
40
40
|
req: express.Request
|
|
41
41
|
res: express.Response
|
|
42
|
+
resetRouteRateLimits: () => Promise<void>
|
|
42
43
|
}
|
|
43
44
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
44
45
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -43,6 +43,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
43
43
|
input: HandlerInput
|
|
44
44
|
req: express.Request
|
|
45
45
|
res: express.Response
|
|
46
|
+
resetRouteRateLimits: () => Promise<void>
|
|
46
47
|
}
|
|
47
48
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
48
49
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -53,6 +53,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
53
53
|
input: HandlerInput
|
|
54
54
|
req: express.Request
|
|
55
55
|
res: express.Response
|
|
56
|
+
resetRouteRateLimits: () => Promise<void>
|
|
56
57
|
}
|
|
57
58
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
58
59
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -45,6 +45,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
45
45
|
input: HandlerInput
|
|
46
46
|
req: express.Request
|
|
47
47
|
res: express.Response
|
|
48
|
+
resetRouteRateLimits: () => Promise<void>
|
|
48
49
|
}
|
|
49
50
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
50
51
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -40,6 +40,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
40
40
|
input: HandlerInput
|
|
41
41
|
req: express.Request
|
|
42
42
|
res: express.Response
|
|
43
|
+
resetRouteRateLimits: () => Promise<void>
|
|
43
44
|
}
|
|
44
45
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
45
46
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -45,6 +45,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
45
45
|
input: HandlerInput
|
|
46
46
|
req: express.Request
|
|
47
47
|
res: express.Response
|
|
48
|
+
resetRouteRateLimits: () => Promise<void>
|
|
48
49
|
}
|
|
49
50
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
50
51
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -48,6 +48,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
48
48
|
input: HandlerInput
|
|
49
49
|
req: express.Request
|
|
50
50
|
res: express.Response
|
|
51
|
+
resetRouteRateLimits: () => Promise<void>
|
|
51
52
|
}
|
|
52
53
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
53
54
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -45,6 +45,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
45
45
|
input: HandlerInput
|
|
46
46
|
req: express.Request
|
|
47
47
|
res: express.Response
|
|
48
|
+
resetRouteRateLimits: () => Promise<void>
|
|
48
49
|
}
|
|
49
50
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
50
51
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -51,6 +51,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
51
51
|
input: HandlerInput
|
|
52
52
|
req: express.Request
|
|
53
53
|
res: express.Response
|
|
54
|
+
resetRouteRateLimits: () => Promise<void>
|
|
54
55
|
}
|
|
55
56
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
56
57
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -41,6 +41,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
41
41
|
input: HandlerInput
|
|
42
42
|
req: express.Request
|
|
43
43
|
res: express.Response
|
|
44
|
+
resetRouteRateLimits: () => Promise<void>
|
|
44
45
|
}
|
|
45
46
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
46
47
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -48,6 +48,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
48
48
|
input: HandlerInput
|
|
49
49
|
req: express.Request
|
|
50
50
|
res: express.Response
|
|
51
|
+
resetRouteRateLimits: () => Promise<void>
|
|
51
52
|
}
|
|
52
53
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
53
54
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -48,6 +48,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
48
48
|
input: HandlerInput
|
|
49
49
|
req: express.Request
|
|
50
50
|
res: express.Response
|
|
51
|
+
resetRouteRateLimits: () => Promise<void>
|
|
51
52
|
}
|
|
52
53
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
53
54
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -42,6 +42,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
42
42
|
input: HandlerInput
|
|
43
43
|
req: express.Request
|
|
44
44
|
res: express.Response
|
|
45
|
+
resetRouteRateLimits: () => Promise<void>
|
|
45
46
|
}
|
|
46
47
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
47
48
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -66,6 +66,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
66
66
|
input: HandlerInput
|
|
67
67
|
req: express.Request
|
|
68
68
|
res: express.Response
|
|
69
|
+
resetRouteRateLimits: () => Promise<void>
|
|
69
70
|
}
|
|
70
71
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
71
72
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -43,6 +43,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
43
43
|
input: HandlerInput
|
|
44
44
|
req: express.Request
|
|
45
45
|
res: express.Response
|
|
46
|
+
resetRouteRateLimits: () => Promise<void>
|
|
46
47
|
}
|
|
47
48
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
48
49
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -43,6 +43,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
43
43
|
input: HandlerInput
|
|
44
44
|
req: express.Request
|
|
45
45
|
res: express.Response
|
|
46
|
+
resetRouteRateLimits: () => Promise<void>
|
|
46
47
|
}
|
|
47
48
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
48
49
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -42,6 +42,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
42
42
|
input: HandlerInput
|
|
43
43
|
req: express.Request
|
|
44
44
|
res: express.Response
|
|
45
|
+
resetRouteRateLimits: () => Promise<void>
|
|
45
46
|
}
|
|
46
47
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
47
48
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -45,6 +45,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
45
45
|
input: HandlerInput
|
|
46
46
|
req: express.Request
|
|
47
47
|
res: express.Response
|
|
48
|
+
resetRouteRateLimits: () => Promise<void>
|
|
48
49
|
}
|
|
49
50
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
50
51
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -42,6 +42,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
42
42
|
input: HandlerInput
|
|
43
43
|
req: express.Request
|
|
44
44
|
res: express.Response
|
|
45
|
+
resetRouteRateLimits: () => Promise<void>
|
|
45
46
|
}
|
|
46
47
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
47
48
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -42,6 +42,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
42
42
|
input: HandlerInput
|
|
43
43
|
req: express.Request
|
|
44
44
|
res: express.Response
|
|
45
|
+
resetRouteRateLimits: () => Promise<void>
|
|
45
46
|
}
|
|
46
47
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
47
48
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -42,6 +42,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
42
42
|
input: HandlerInput
|
|
43
43
|
req: express.Request
|
|
44
44
|
res: express.Response
|
|
45
|
+
resetRouteRateLimits: () => Promise<void>
|
|
45
46
|
}
|
|
46
47
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
47
48
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -49,6 +49,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
49
49
|
input: HandlerInput
|
|
50
50
|
req: express.Request
|
|
51
51
|
res: express.Response
|
|
52
|
+
resetRouteRateLimits: () => Promise<void>
|
|
52
53
|
}
|
|
53
54
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
54
55
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -41,6 +41,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
41
41
|
input: HandlerInput
|
|
42
42
|
req: express.Request
|
|
43
43
|
res: express.Response
|
|
44
|
+
resetRouteRateLimits: () => Promise<void>
|
|
44
45
|
}
|
|
45
46
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
46
47
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -40,6 +40,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
40
40
|
input: HandlerInput
|
|
41
41
|
req: express.Request
|
|
42
42
|
res: express.Response
|
|
43
|
+
resetRouteRateLimits: () => Promise<void>
|
|
43
44
|
}
|
|
44
45
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
45
46
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -32,6 +32,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
32
32
|
input: HandlerInput
|
|
33
33
|
req: express.Request
|
|
34
34
|
res: express.Response
|
|
35
|
+
resetRouteRateLimits: () => Promise<void>
|
|
35
36
|
}
|
|
36
37
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
37
38
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -32,6 +32,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
32
32
|
input: HandlerInput
|
|
33
33
|
req: express.Request
|
|
34
34
|
res: express.Response
|
|
35
|
+
resetRouteRateLimits: () => Promise<void>
|
|
35
36
|
}
|
|
36
37
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
37
38
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -32,6 +32,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
32
32
|
input: HandlerInput
|
|
33
33
|
req: express.Request
|
|
34
34
|
res: express.Response
|
|
35
|
+
resetRouteRateLimits: () => Promise<void>
|
|
35
36
|
}
|
|
36
37
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
37
38
|
ctx: HandlerReqCtx<HA>,
|
|
@@ -44,6 +44,7 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
|
44
44
|
input: HandlerInput
|
|
45
45
|
req: express.Request
|
|
46
46
|
res: express.Response
|
|
47
|
+
resetRouteRateLimits: () => Promise<void>
|
|
47
48
|
}
|
|
48
49
|
export type Handler<HA extends HandlerAuth = never> = (
|
|
49
50
|
ctx: HandlerReqCtx<HA>,
|