@atproto/api 0.19.17 → 0.20.0-next.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 +30 -0
- package/dist/age-assurance.d.ts +1 -1
- package/dist/age-assurance.d.ts.map +1 -1
- package/dist/age-assurance.js +19 -24
- package/dist/age-assurance.js.map +1 -1
- package/dist/age-assurance.test.js +66 -68
- package/dist/age-assurance.test.js.map +1 -1
- package/dist/agent.d.ts +11 -11
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +116 -324
- package/dist/agent.js.map +1 -1
- package/dist/atp-agent.d.ts +4 -4
- package/dist/atp-agent.d.ts.map +1 -1
- package/dist/atp-agent.js +25 -74
- package/dist/atp-agent.js.map +1 -1
- package/dist/bsky-agent.d.ts +1 -1
- package/dist/bsky-agent.d.ts.map +1 -1
- package/dist/bsky-agent.js +2 -6
- package/dist/bsky-agent.js.map +1 -1
- package/dist/client/index.js +553 -1469
- package/dist/client/index.js.map +1 -1
- package/dist/client/lexicons.d.ts +26 -0
- package/dist/client/lexicons.d.ts.map +1 -1
- package/dist/client/lexicons.js +23 -14
- package/dist/client/lexicons.js.map +1 -1
- package/dist/client/types/app/bsky/actor/defs.d.ts +34 -34
- package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/actor/defs.js +69 -137
- package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/client/types/app/bsky/actor/getPreferences.js +4 -7
- package/dist/client/types/app/bsky/actor/getPreferences.js.map +1 -1
- package/dist/client/types/app/bsky/actor/getProfile.js +4 -7
- package/dist/client/types/app/bsky/actor/getProfile.js.map +1 -1
- package/dist/client/types/app/bsky/actor/getProfiles.js +4 -7
- package/dist/client/types/app/bsky/actor/getProfiles.js.map +1 -1
- package/dist/client/types/app/bsky/actor/getSuggestions.js +4 -7
- package/dist/client/types/app/bsky/actor/getSuggestions.js.map +1 -1
- package/dist/client/types/app/bsky/actor/profile.d.ts +2 -2
- package/dist/client/types/app/bsky/actor/profile.d.ts.map +1 -1
- package/dist/client/types/app/bsky/actor/profile.js +6 -11
- package/dist/client/types/app/bsky/actor/profile.js.map +1 -1
- package/dist/client/types/app/bsky/actor/putPreferences.js +4 -7
- package/dist/client/types/app/bsky/actor/putPreferences.js.map +1 -1
- package/dist/client/types/app/bsky/actor/searchActors.js +4 -7
- package/dist/client/types/app/bsky/actor/searchActors.js.map +1 -1
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js +4 -7
- package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
- package/dist/client/types/app/bsky/actor/status.d.ts +2 -2
- package/dist/client/types/app/bsky/actor/status.d.ts.map +1 -1
- package/dist/client/types/app/bsky/actor/status.js +7 -13
- package/dist/client/types/app/bsky/actor/status.js.map +1 -1
- package/dist/client/types/app/bsky/ageassurance/begin.js +10 -18
- package/dist/client/types/app/bsky/ageassurance/begin.js.map +1 -1
- package/dist/client/types/app/bsky/ageassurance/defs.d.ts +13 -13
- package/dist/client/types/app/bsky/ageassurance/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/ageassurance/defs.js +27 -53
- package/dist/client/types/app/bsky/ageassurance/defs.js.map +1 -1
- package/dist/client/types/app/bsky/ageassurance/getConfig.js +4 -7
- package/dist/client/types/app/bsky/ageassurance/getConfig.js.map +1 -1
- package/dist/client/types/app/bsky/ageassurance/getState.js +4 -7
- package/dist/client/types/app/bsky/ageassurance/getState.js.map +1 -1
- package/dist/client/types/app/bsky/bookmark/createBookmark.js +7 -12
- package/dist/client/types/app/bsky/bookmark/createBookmark.js.map +1 -1
- package/dist/client/types/app/bsky/bookmark/defs.d.ts +3 -3
- package/dist/client/types/app/bsky/bookmark/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/bookmark/defs.js +7 -13
- package/dist/client/types/app/bsky/bookmark/defs.js.map +1 -1
- package/dist/client/types/app/bsky/bookmark/deleteBookmark.js +7 -12
- package/dist/client/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
- package/dist/client/types/app/bsky/bookmark/getBookmarks.js +4 -7
- package/dist/client/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
- package/dist/client/types/app/bsky/contact/defs.d.ts +3 -3
- package/dist/client/types/app/bsky/contact/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/contact/defs.js +9 -17
- package/dist/client/types/app/bsky/contact/defs.js.map +1 -1
- package/dist/client/types/app/bsky/contact/dismissMatch.js +8 -14
- package/dist/client/types/app/bsky/contact/dismissMatch.js.map +1 -1
- package/dist/client/types/app/bsky/contact/getMatches.js +10 -18
- package/dist/client/types/app/bsky/contact/getMatches.js.map +1 -1
- package/dist/client/types/app/bsky/contact/getSyncStatus.js +8 -14
- package/dist/client/types/app/bsky/contact/getSyncStatus.js.map +1 -1
- package/dist/client/types/app/bsky/contact/importContacts.js +11 -20
- package/dist/client/types/app/bsky/contact/importContacts.js.map +1 -1
- package/dist/client/types/app/bsky/contact/removeData.js +8 -14
- package/dist/client/types/app/bsky/contact/removeData.js.map +1 -1
- package/dist/client/types/app/bsky/contact/sendNotification.js +4 -7
- package/dist/client/types/app/bsky/contact/sendNotification.js.map +1 -1
- package/dist/client/types/app/bsky/contact/startPhoneVerification.js +10 -18
- package/dist/client/types/app/bsky/contact/startPhoneVerification.js.map +1 -1
- package/dist/client/types/app/bsky/contact/verifyPhone.js +11 -20
- package/dist/client/types/app/bsky/contact/verifyPhone.js.map +1 -1
- package/dist/client/types/app/bsky/draft/createDraft.js +7 -12
- package/dist/client/types/app/bsky/draft/createDraft.js.map +1 -1
- package/dist/client/types/app/bsky/draft/defs.d.ts +11 -11
- package/dist/client/types/app/bsky/draft/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/draft/defs.js +23 -45
- package/dist/client/types/app/bsky/draft/defs.js.map +1 -1
- package/dist/client/types/app/bsky/draft/deleteDraft.js +4 -7
- package/dist/client/types/app/bsky/draft/deleteDraft.js.map +1 -1
- package/dist/client/types/app/bsky/draft/getDrafts.js +4 -7
- package/dist/client/types/app/bsky/draft/getDrafts.js.map +1 -1
- package/dist/client/types/app/bsky/draft/updateDraft.js +4 -7
- package/dist/client/types/app/bsky/draft/updateDraft.js.map +1 -1
- package/dist/client/types/app/bsky/embed/defs.d.ts +1 -1
- package/dist/client/types/app/bsky/embed/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/defs.js +5 -9
- package/dist/client/types/app/bsky/embed/defs.js.map +1 -1
- package/dist/client/types/app/bsky/embed/external.d.ts +4 -4
- package/dist/client/types/app/bsky/embed/external.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/external.js +11 -21
- package/dist/client/types/app/bsky/embed/external.js.map +1 -1
- package/dist/client/types/app/bsky/embed/images.d.ts +4 -4
- package/dist/client/types/app/bsky/embed/images.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/images.js +11 -21
- package/dist/client/types/app/bsky/embed/images.js.map +1 -1
- package/dist/client/types/app/bsky/embed/record.d.ts +7 -7
- package/dist/client/types/app/bsky/embed/record.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/record.js +15 -29
- package/dist/client/types/app/bsky/embed/record.js.map +1 -1
- package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts +3 -3
- package/dist/client/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/recordWithMedia.js +7 -13
- package/dist/client/types/app/bsky/embed/recordWithMedia.js.map +1 -1
- package/dist/client/types/app/bsky/embed/video.d.ts +3 -3
- package/dist/client/types/app/bsky/embed/video.d.ts.map +1 -1
- package/dist/client/types/app/bsky/embed/video.js +9 -17
- package/dist/client/types/app/bsky/embed/video.js.map +1 -1
- package/dist/client/types/app/bsky/feed/defs.d.ts +19 -19
- package/dist/client/types/app/bsky/feed/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/defs.js +53 -92
- package/dist/client/types/app/bsky/feed/defs.js.map +1 -1
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts +2 -2
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.js +8 -15
- package/dist/client/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
- package/dist/client/types/app/bsky/feed/generator.d.ts +2 -2
- package/dist/client/types/app/bsky/feed/generator.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/generator.js +6 -11
- package/dist/client/types/app/bsky/feed/generator.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getActorFeeds.js +4 -7
- package/dist/client/types/app/bsky/feed/getActorFeeds.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getActorLikes.js +8 -14
- package/dist/client/types/app/bsky/feed/getActorLikes.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getAuthorFeed.js +8 -14
- package/dist/client/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getFeed.js +7 -12
- package/dist/client/types/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerator.js +4 -7
- package/dist/client/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getFeedGenerators.js +4 -7
- package/dist/client/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.js +7 -12
- package/dist/client/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getLikes.d.ts +1 -1
- package/dist/client/types/app/bsky/feed/getLikes.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/getLikes.js +6 -11
- package/dist/client/types/app/bsky/feed/getLikes.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getListFeed.js +7 -12
- package/dist/client/types/app/bsky/feed/getListFeed.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getPostThread.d.ts +1 -1
- package/dist/client/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/getPostThread.js +7 -12
- package/dist/client/types/app/bsky/feed/getPostThread.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getPosts.js +4 -7
- package/dist/client/types/app/bsky/feed/getPosts.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getQuotes.js +4 -7
- package/dist/client/types/app/bsky/feed/getQuotes.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getRepostedBy.js +4 -7
- package/dist/client/types/app/bsky/feed/getRepostedBy.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js +4 -7
- package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
- package/dist/client/types/app/bsky/feed/getTimeline.js +4 -7
- package/dist/client/types/app/bsky/feed/getTimeline.js.map +1 -1
- package/dist/client/types/app/bsky/feed/like.d.ts +1 -1
- package/dist/client/types/app/bsky/feed/like.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/like.js +6 -11
- package/dist/client/types/app/bsky/feed/like.js.map +1 -1
- package/dist/client/types/app/bsky/feed/post.d.ts +5 -5
- package/dist/client/types/app/bsky/feed/post.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/post.js +12 -23
- package/dist/client/types/app/bsky/feed/post.js.map +1 -1
- package/dist/client/types/app/bsky/feed/postgate.d.ts +3 -3
- package/dist/client/types/app/bsky/feed/postgate.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/postgate.js +8 -15
- package/dist/client/types/app/bsky/feed/postgate.js.map +1 -1
- package/dist/client/types/app/bsky/feed/repost.d.ts +1 -1
- package/dist/client/types/app/bsky/feed/repost.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/repost.js +6 -11
- package/dist/client/types/app/bsky/feed/repost.js.map +1 -1
- package/dist/client/types/app/bsky/feed/searchPosts.js +7 -12
- package/dist/client/types/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/client/types/app/bsky/feed/sendInteractions.js +4 -7
- package/dist/client/types/app/bsky/feed/sendInteractions.js.map +1 -1
- package/dist/client/types/app/bsky/feed/threadgate.d.ts +6 -6
- package/dist/client/types/app/bsky/feed/threadgate.d.ts.map +1 -1
- package/dist/client/types/app/bsky/feed/threadgate.js +14 -27
- package/dist/client/types/app/bsky/feed/threadgate.js.map +1 -1
- package/dist/client/types/app/bsky/graph/block.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/block.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/block.js +6 -11
- package/dist/client/types/app/bsky/graph/block.js.map +1 -1
- package/dist/client/types/app/bsky/graph/defs.d.ts +8 -8
- package/dist/client/types/app/bsky/graph/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/defs.js +22 -41
- package/dist/client/types/app/bsky/graph/defs.js.map +1 -1
- package/dist/client/types/app/bsky/graph/follow.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/follow.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/follow.js +6 -11
- package/dist/client/types/app/bsky/graph/follow.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getActorStarterPacks.js +4 -7
- package/dist/client/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getBlocks.js +4 -7
- package/dist/client/types/app/bsky/graph/getBlocks.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getFollowers.js +4 -7
- package/dist/client/types/app/bsky/graph/getFollowers.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getFollows.js +4 -7
- package/dist/client/types/app/bsky/graph/getFollows.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getKnownFollowers.js +4 -7
- package/dist/client/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getList.js +4 -7
- package/dist/client/types/app/bsky/graph/getList.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getListBlocks.js +4 -7
- package/dist/client/types/app/bsky/graph/getListBlocks.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getListMutes.js +4 -7
- package/dist/client/types/app/bsky/graph/getListMutes.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getLists.js +4 -7
- package/dist/client/types/app/bsky/graph/getLists.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getListsWithMembership.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/getListsWithMembership.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/getListsWithMembership.js +6 -11
- package/dist/client/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getMutes.js +4 -7
- package/dist/client/types/app/bsky/graph/getMutes.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getRelationships.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/getRelationships.js +7 -12
- package/dist/client/types/app/bsky/graph/getRelationships.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getStarterPack.js +4 -7
- package/dist/client/types/app/bsky/graph/getStarterPack.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getStarterPacks.js +4 -7
- package/dist/client/types/app/bsky/graph/getStarterPacks.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.js +6 -11
- package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js +4 -7
- package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
- package/dist/client/types/app/bsky/graph/list.d.ts +2 -2
- package/dist/client/types/app/bsky/graph/list.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/list.js +6 -11
- package/dist/client/types/app/bsky/graph/list.js.map +1 -1
- package/dist/client/types/app/bsky/graph/listblock.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/listblock.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/listblock.js +6 -11
- package/dist/client/types/app/bsky/graph/listblock.js.map +1 -1
- package/dist/client/types/app/bsky/graph/listitem.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/listitem.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/listitem.js +6 -11
- package/dist/client/types/app/bsky/graph/listitem.js.map +1 -1
- package/dist/client/types/app/bsky/graph/muteActor.js +4 -7
- package/dist/client/types/app/bsky/graph/muteActor.js.map +1 -1
- package/dist/client/types/app/bsky/graph/muteActorList.js +4 -7
- package/dist/client/types/app/bsky/graph/muteActorList.js.map +1 -1
- package/dist/client/types/app/bsky/graph/muteThread.js +4 -7
- package/dist/client/types/app/bsky/graph/muteThread.js.map +1 -1
- package/dist/client/types/app/bsky/graph/searchStarterPacks.js +4 -7
- package/dist/client/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
- package/dist/client/types/app/bsky/graph/starterpack.d.ts +2 -2
- package/dist/client/types/app/bsky/graph/starterpack.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/starterpack.js +8 -15
- package/dist/client/types/app/bsky/graph/starterpack.js.map +1 -1
- package/dist/client/types/app/bsky/graph/unmuteActor.js +4 -7
- package/dist/client/types/app/bsky/graph/unmuteActor.js.map +1 -1
- package/dist/client/types/app/bsky/graph/unmuteActorList.js +4 -7
- package/dist/client/types/app/bsky/graph/unmuteActorList.js.map +1 -1
- package/dist/client/types/app/bsky/graph/unmuteThread.js +4 -7
- package/dist/client/types/app/bsky/graph/unmuteThread.js.map +1 -1
- package/dist/client/types/app/bsky/graph/verification.d.ts +1 -1
- package/dist/client/types/app/bsky/graph/verification.d.ts.map +1 -1
- package/dist/client/types/app/bsky/graph/verification.js +6 -11
- package/dist/client/types/app/bsky/graph/verification.js.map +1 -1
- package/dist/client/types/app/bsky/labeler/defs.d.ts +4 -4
- package/dist/client/types/app/bsky/labeler/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/labeler/defs.js +11 -21
- package/dist/client/types/app/bsky/labeler/defs.js.map +1 -1
- package/dist/client/types/app/bsky/labeler/getServices.d.ts +1 -1
- package/dist/client/types/app/bsky/labeler/getServices.d.ts.map +1 -1
- package/dist/client/types/app/bsky/labeler/getServices.js +4 -7
- package/dist/client/types/app/bsky/labeler/getServices.js.map +1 -1
- package/dist/client/types/app/bsky/labeler/service.d.ts +2 -2
- package/dist/client/types/app/bsky/labeler/service.d.ts.map +1 -1
- package/dist/client/types/app/bsky/labeler/service.js +6 -11
- package/dist/client/types/app/bsky/labeler/service.js.map +1 -1
- package/dist/client/types/app/bsky/notification/declaration.d.ts +1 -1
- package/dist/client/types/app/bsky/notification/declaration.d.ts.map +1 -1
- package/dist/client/types/app/bsky/notification/declaration.js +6 -11
- package/dist/client/types/app/bsky/notification/declaration.js.map +1 -1
- package/dist/client/types/app/bsky/notification/defs.d.ts +7 -7
- package/dist/client/types/app/bsky/notification/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/notification/defs.js +17 -33
- package/dist/client/types/app/bsky/notification/defs.js.map +1 -1
- package/dist/client/types/app/bsky/notification/getPreferences.js +4 -7
- package/dist/client/types/app/bsky/notification/getPreferences.js.map +1 -1
- package/dist/client/types/app/bsky/notification/getUnreadCount.js +4 -7
- package/dist/client/types/app/bsky/notification/getUnreadCount.js.map +1 -1
- package/dist/client/types/app/bsky/notification/listActivitySubscriptions.js +4 -7
- package/dist/client/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
- package/dist/client/types/app/bsky/notification/listNotifications.d.ts +1 -1
- package/dist/client/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
- package/dist/client/types/app/bsky/notification/listNotifications.js +6 -11
- package/dist/client/types/app/bsky/notification/listNotifications.js.map +1 -1
- package/dist/client/types/app/bsky/notification/putActivitySubscription.js +4 -7
- package/dist/client/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
- package/dist/client/types/app/bsky/notification/putPreferences.js +4 -7
- package/dist/client/types/app/bsky/notification/putPreferences.js.map +1 -1
- package/dist/client/types/app/bsky/notification/putPreferencesV2.js +4 -7
- package/dist/client/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
- package/dist/client/types/app/bsky/notification/registerPush.js +4 -7
- package/dist/client/types/app/bsky/notification/registerPush.js.map +1 -1
- package/dist/client/types/app/bsky/notification/unregisterPush.js +4 -7
- package/dist/client/types/app/bsky/notification/unregisterPush.js.map +1 -1
- package/dist/client/types/app/bsky/notification/updateSeen.js +4 -7
- package/dist/client/types/app/bsky/notification/updateSeen.js.map +1 -1
- package/dist/client/types/app/bsky/richtext/facet.d.ts +6 -6
- package/dist/client/types/app/bsky/richtext/facet.d.ts.map +1 -1
- package/dist/client/types/app/bsky/richtext/facet.js +13 -25
- package/dist/client/types/app/bsky/richtext/facet.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/defs.d.ts +12 -12
- package/dist/client/types/app/bsky/unspecced/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/defs.js +27 -53
- package/dist/client/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getConfig.d.ts +1 -1
- package/dist/client/types/app/bsky/unspecced/getConfig.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getConfig.js +6 -11
- package/dist/client/types/app/bsky/unspecced/getConfig.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts +2 -2
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js +6 -11
- package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts +2 -2
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js +6 -11
- package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +1 -1
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js +6 -11
- package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getTrendingTopics.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getTrends.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.js +4 -7
- package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/initAgeAssurance.js +9 -16
- package/dist/client/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js +7 -12
- package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js +7 -12
- package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.js +7 -12
- package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
- package/dist/client/types/app/bsky/video/defs.d.ts +1 -1
- package/dist/client/types/app/bsky/video/defs.d.ts.map +1 -1
- package/dist/client/types/app/bsky/video/defs.js +5 -9
- package/dist/client/types/app/bsky/video/defs.js.map +1 -1
- package/dist/client/types/app/bsky/video/getJobStatus.js +4 -7
- package/dist/client/types/app/bsky/video/getJobStatus.js.map +1 -1
- package/dist/client/types/app/bsky/video/getUploadLimits.js +4 -7
- package/dist/client/types/app/bsky/video/getUploadLimits.js.map +1 -1
- package/dist/client/types/app/bsky/video/uploadVideo.js +4 -7
- package/dist/client/types/app/bsky/video/uploadVideo.js.map +1 -1
- package/dist/client/types/chat/bsky/actor/declaration.d.ts +1 -1
- package/dist/client/types/chat/bsky/actor/declaration.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/actor/declaration.js +6 -11
- package/dist/client/types/chat/bsky/actor/declaration.js.map +1 -1
- package/dist/client/types/chat/bsky/actor/defs.d.ts +5 -5
- package/dist/client/types/chat/bsky/actor/defs.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/actor/defs.js +11 -21
- package/dist/client/types/chat/bsky/actor/defs.js.map +1 -1
- package/dist/client/types/chat/bsky/actor/deleteAccount.js +4 -7
- package/dist/client/types/chat/bsky/actor/deleteAccount.js.map +1 -1
- package/dist/client/types/chat/bsky/actor/exportAccountData.js +4 -7
- package/dist/client/types/chat/bsky/actor/exportAccountData.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/acceptConvo.js +7 -12
- package/dist/client/types/chat/bsky/convo/acceptConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/addReaction.js +11 -20
- package/dist/client/types/chat/bsky/convo/addReaction.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/defs.d.ts +60 -53
- package/dist/client/types/chat/bsky/convo/defs.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/convo/defs.js +114 -213
- package/dist/client/types/chat/bsky/convo/defs.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.js +8 -14
- package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getConvo.js +7 -12
- package/dist/client/types/chat/bsky/convo/getConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getConvoAvailability.js +4 -7
- package/dist/client/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getConvoForMembers.js +11 -20
- package/dist/client/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getConvoMembers.js +7 -12
- package/dist/client/types/chat/bsky/convo/getConvoMembers.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getLog.d.ts +1 -1
- package/dist/client/types/chat/bsky/convo/getLog.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/convo/getLog.js +4 -7
- package/dist/client/types/chat/bsky/convo/getLog.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/getMessages.d.ts +1 -1
- package/dist/client/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/convo/getMessages.js +7 -12
- package/dist/client/types/chat/bsky/convo/getMessages.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/leaveConvo.js +8 -14
- package/dist/client/types/chat/bsky/convo/leaveConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/listConvoRequests.d.ts +1 -1
- package/dist/client/types/chat/bsky/convo/listConvoRequests.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/convo/listConvoRequests.js +4 -7
- package/dist/client/types/chat/bsky/convo/listConvoRequests.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/listConvos.js +4 -7
- package/dist/client/types/chat/bsky/convo/listConvos.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/lockConvo.js +9 -16
- package/dist/client/types/chat/bsky/convo/lockConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/muteConvo.js +7 -12
- package/dist/client/types/chat/bsky/convo/muteConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/removeReaction.js +10 -18
- package/dist/client/types/chat/bsky/convo/removeReaction.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/sendMessage.js +8 -14
- package/dist/client/types/chat/bsky/convo/sendMessage.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts +1 -1
- package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/convo/sendMessageBatch.js +10 -18
- package/dist/client/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/unlockConvo.js +8 -14
- package/dist/client/types/chat/bsky/convo/unlockConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/unmuteConvo.js +7 -12
- package/dist/client/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/updateAllRead.js +4 -7
- package/dist/client/types/chat/bsky/convo/updateAllRead.js.map +1 -1
- package/dist/client/types/chat/bsky/convo/updateRead.js +7 -12
- package/dist/client/types/chat/bsky/convo/updateRead.js.map +1 -1
- package/dist/client/types/chat/bsky/group/addMembers.js +15 -28
- package/dist/client/types/chat/bsky/group/addMembers.js.map +1 -1
- package/dist/client/types/chat/bsky/group/approveJoinRequest.js +9 -16
- package/dist/client/types/chat/bsky/group/approveJoinRequest.js.map +1 -1
- package/dist/client/types/chat/bsky/group/createGroup.js +11 -20
- package/dist/client/types/chat/bsky/group/createGroup.js.map +1 -1
- package/dist/client/types/chat/bsky/group/createJoinLink.js +9 -16
- package/dist/client/types/chat/bsky/group/createJoinLink.js.map +1 -1
- package/dist/client/types/chat/bsky/group/defs.d.ts +3 -3
- package/dist/client/types/chat/bsky/group/defs.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/group/defs.js +9 -17
- package/dist/client/types/chat/bsky/group/defs.js.map +1 -1
- package/dist/client/types/chat/bsky/group/disableJoinLink.js +9 -16
- package/dist/client/types/chat/bsky/group/disableJoinLink.js.map +1 -1
- package/dist/client/types/chat/bsky/group/editGroup.js +9 -16
- package/dist/client/types/chat/bsky/group/editGroup.js.map +1 -1
- package/dist/client/types/chat/bsky/group/editJoinLink.js +9 -16
- package/dist/client/types/chat/bsky/group/editJoinLink.js.map +1 -1
- package/dist/client/types/chat/bsky/group/enableJoinLink.js +10 -18
- package/dist/client/types/chat/bsky/group/enableJoinLink.js.map +1 -1
- package/dist/client/types/chat/bsky/group/getJoinLinkPreview.js +7 -12
- package/dist/client/types/chat/bsky/group/getJoinLinkPreview.js.map +1 -1
- package/dist/client/types/chat/bsky/group/listJoinRequests.js +8 -14
- package/dist/client/types/chat/bsky/group/listJoinRequests.js.map +1 -1
- package/dist/client/types/chat/bsky/group/rejectJoinRequest.js +8 -14
- package/dist/client/types/chat/bsky/group/rejectJoinRequest.js.map +1 -1
- package/dist/client/types/chat/bsky/group/removeMembers.js +8 -14
- package/dist/client/types/chat/bsky/group/removeMembers.js.map +1 -1
- package/dist/client/types/chat/bsky/group/requestJoin.js +12 -22
- package/dist/client/types/chat/bsky/group/requestJoin.js.map +1 -1
- package/dist/client/types/chat/bsky/moderation/getActorMetadata.d.ts +1 -1
- package/dist/client/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/moderation/getActorMetadata.js +6 -11
- package/dist/client/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
- package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts +1 -1
- package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/moderation/getMessageContext.js +4 -7
- package/dist/client/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
- package/dist/client/types/chat/bsky/moderation/subscribeModEvents.d.ts +1 -1
- package/dist/client/types/chat/bsky/moderation/subscribeModEvents.d.ts.map +1 -1
- package/dist/client/types/chat/bsky/moderation/subscribeModEvents.js +5 -9
- package/dist/client/types/chat/bsky/moderation/subscribeModEvents.js.map +1 -1
- package/dist/client/types/chat/bsky/moderation/updateActorAccess.js +4 -7
- package/dist/client/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
- package/dist/client/types/com/atproto/admin/defs.d.ts +5 -5
- package/dist/client/types/com/atproto/admin/defs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/admin/defs.js +13 -25
- package/dist/client/types/com/atproto/admin/defs.js.map +1 -1
- package/dist/client/types/com/atproto/admin/deleteAccount.js +4 -7
- package/dist/client/types/com/atproto/admin/deleteAccount.js.map +1 -1
- package/dist/client/types/com/atproto/admin/disableAccountInvites.js +4 -7
- package/dist/client/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
- package/dist/client/types/com/atproto/admin/disableInviteCodes.js +4 -7
- package/dist/client/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
- package/dist/client/types/com/atproto/admin/enableAccountInvites.js +4 -7
- package/dist/client/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
- package/dist/client/types/com/atproto/admin/getAccountInfo.js +4 -7
- package/dist/client/types/com/atproto/admin/getAccountInfo.js.map +1 -1
- package/dist/client/types/com/atproto/admin/getAccountInfos.js +4 -7
- package/dist/client/types/com/atproto/admin/getAccountInfos.js.map +1 -1
- package/dist/client/types/com/atproto/admin/getInviteCodes.js +4 -7
- package/dist/client/types/com/atproto/admin/getInviteCodes.js.map +1 -1
- package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts +1 -1
- package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
- package/dist/client/types/com/atproto/admin/getSubjectStatus.js +4 -7
- package/dist/client/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
- package/dist/client/types/com/atproto/admin/searchAccounts.js +4 -7
- package/dist/client/types/com/atproto/admin/searchAccounts.js.map +1 -1
- package/dist/client/types/com/atproto/admin/sendEmail.js +4 -7
- package/dist/client/types/com/atproto/admin/sendEmail.js.map +1 -1
- package/dist/client/types/com/atproto/admin/updateAccountEmail.js +4 -7
- package/dist/client/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
- package/dist/client/types/com/atproto/admin/updateAccountHandle.js +4 -7
- package/dist/client/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
- package/dist/client/types/com/atproto/admin/updateAccountPassword.js +4 -7
- package/dist/client/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
- package/dist/client/types/com/atproto/admin/updateAccountSigningKey.js +4 -7
- package/dist/client/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts +1 -1
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.js +4 -7
- package/dist/client/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/client/types/com/atproto/identity/defs.d.ts +1 -1
- package/dist/client/types/com/atproto/identity/defs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/identity/defs.js +5 -9
- package/dist/client/types/com/atproto/identity/defs.js.map +1 -1
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js +4 -7
- package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
- package/dist/client/types/com/atproto/identity/refreshIdentity.js +9 -16
- package/dist/client/types/com/atproto/identity/refreshIdentity.js.map +1 -1
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js +4 -7
- package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
- package/dist/client/types/com/atproto/identity/resolveDid.js +8 -14
- package/dist/client/types/com/atproto/identity/resolveDid.js.map +1 -1
- package/dist/client/types/com/atproto/identity/resolveHandle.js +7 -12
- package/dist/client/types/com/atproto/identity/resolveHandle.js.map +1 -1
- package/dist/client/types/com/atproto/identity/resolveIdentity.js +9 -16
- package/dist/client/types/com/atproto/identity/resolveIdentity.js.map +1 -1
- package/dist/client/types/com/atproto/identity/signPlcOperation.js +4 -7
- package/dist/client/types/com/atproto/identity/signPlcOperation.js.map +1 -1
- package/dist/client/types/com/atproto/identity/submitPlcOperation.js +4 -7
- package/dist/client/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/client/types/com/atproto/identity/updateHandle.js +4 -7
- package/dist/client/types/com/atproto/identity/updateHandle.js.map +1 -1
- package/dist/client/types/com/atproto/label/defs.d.ts +5 -5
- package/dist/client/types/com/atproto/label/defs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/label/defs.js +13 -25
- package/dist/client/types/com/atproto/label/defs.js.map +1 -1
- package/dist/client/types/com/atproto/label/queryLabels.js +4 -7
- package/dist/client/types/com/atproto/label/queryLabels.js.map +1 -1
- package/dist/client/types/com/atproto/label/subscribeLabels.d.ts +2 -2
- package/dist/client/types/com/atproto/label/subscribeLabels.d.ts.map +1 -1
- package/dist/client/types/com/atproto/label/subscribeLabels.js +7 -13
- package/dist/client/types/com/atproto/label/subscribeLabels.js.map +1 -1
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.js +7 -12
- package/dist/client/types/com/atproto/lexicon/resolveLexicon.js.map +1 -1
- package/dist/client/types/com/atproto/lexicon/schema.d.ts +1 -1
- package/dist/client/types/com/atproto/lexicon/schema.d.ts.map +1 -1
- package/dist/client/types/com/atproto/lexicon/schema.js +6 -11
- package/dist/client/types/com/atproto/lexicon/schema.js.map +1 -1
- package/dist/client/types/com/atproto/moderation/createReport.d.ts +2 -2
- package/dist/client/types/com/atproto/moderation/createReport.d.ts.map +1 -1
- package/dist/client/types/com/atproto/moderation/createReport.js +6 -11
- package/dist/client/types/com/atproto/moderation/createReport.js.map +1 -1
- package/dist/client/types/com/atproto/moderation/defs.js +10 -13
- package/dist/client/types/com/atproto/moderation/defs.js.map +1 -1
- package/dist/client/types/com/atproto/repo/applyWrites.d.ts +7 -7
- package/dist/client/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
- package/dist/client/types/com/atproto/repo/applyWrites.js +19 -36
- package/dist/client/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/client/types/com/atproto/repo/createRecord.js +7 -12
- package/dist/client/types/com/atproto/repo/createRecord.js.map +1 -1
- package/dist/client/types/com/atproto/repo/defs.d.ts +1 -1
- package/dist/client/types/com/atproto/repo/defs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/repo/defs.js +5 -9
- package/dist/client/types/com/atproto/repo/defs.js.map +1 -1
- package/dist/client/types/com/atproto/repo/deleteRecord.js +7 -12
- package/dist/client/types/com/atproto/repo/deleteRecord.js.map +1 -1
- package/dist/client/types/com/atproto/repo/describeRepo.js +4 -7
- package/dist/client/types/com/atproto/repo/describeRepo.js.map +1 -1
- package/dist/client/types/com/atproto/repo/getRecord.js +7 -12
- package/dist/client/types/com/atproto/repo/getRecord.js.map +1 -1
- package/dist/client/types/com/atproto/repo/importRepo.js +4 -7
- package/dist/client/types/com/atproto/repo/importRepo.js.map +1 -1
- package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts +1 -1
- package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/repo/listMissingBlobs.js +6 -11
- package/dist/client/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
- package/dist/client/types/com/atproto/repo/listRecords.d.ts +1 -1
- package/dist/client/types/com/atproto/repo/listRecords.d.ts.map +1 -1
- package/dist/client/types/com/atproto/repo/listRecords.js +6 -11
- package/dist/client/types/com/atproto/repo/listRecords.js.map +1 -1
- package/dist/client/types/com/atproto/repo/putRecord.js +7 -12
- package/dist/client/types/com/atproto/repo/putRecord.js.map +1 -1
- package/dist/client/types/com/atproto/repo/strongRef.d.ts +1 -1
- package/dist/client/types/com/atproto/repo/strongRef.d.ts.map +1 -1
- package/dist/client/types/com/atproto/repo/strongRef.js +5 -9
- package/dist/client/types/com/atproto/repo/strongRef.js.map +1 -1
- package/dist/client/types/com/atproto/repo/uploadBlob.js +4 -7
- package/dist/client/types/com/atproto/repo/uploadBlob.js.map +1 -1
- package/dist/client/types/com/atproto/server/activateAccount.js +4 -7
- package/dist/client/types/com/atproto/server/activateAccount.js.map +1 -1
- package/dist/client/types/com/atproto/server/checkAccountStatus.js +4 -7
- package/dist/client/types/com/atproto/server/checkAccountStatus.js.map +1 -1
- package/dist/client/types/com/atproto/server/confirmEmail.js +10 -18
- package/dist/client/types/com/atproto/server/confirmEmail.js.map +1 -1
- package/dist/client/types/com/atproto/server/createAccount.js +13 -24
- package/dist/client/types/com/atproto/server/createAccount.js.map +1 -1
- package/dist/client/types/com/atproto/server/createAppPassword.d.ts +1 -1
- package/dist/client/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
- package/dist/client/types/com/atproto/server/createAppPassword.js +9 -16
- package/dist/client/types/com/atproto/server/createAppPassword.js.map +1 -1
- package/dist/client/types/com/atproto/server/createInviteCode.js +4 -7
- package/dist/client/types/com/atproto/server/createInviteCode.js.map +1 -1
- package/dist/client/types/com/atproto/server/createInviteCodes.d.ts +1 -1
- package/dist/client/types/com/atproto/server/createInviteCodes.d.ts.map +1 -1
- package/dist/client/types/com/atproto/server/createInviteCodes.js +6 -11
- package/dist/client/types/com/atproto/server/createInviteCodes.js.map +1 -1
- package/dist/client/types/com/atproto/server/createSession.js +8 -14
- package/dist/client/types/com/atproto/server/createSession.js.map +1 -1
- package/dist/client/types/com/atproto/server/deactivateAccount.js +4 -7
- package/dist/client/types/com/atproto/server/deactivateAccount.js.map +1 -1
- package/dist/client/types/com/atproto/server/defs.d.ts +2 -2
- package/dist/client/types/com/atproto/server/defs.d.ts.map +1 -1
- package/dist/client/types/com/atproto/server/defs.js +7 -13
- package/dist/client/types/com/atproto/server/defs.js.map +1 -1
- package/dist/client/types/com/atproto/server/deleteAccount.js +8 -14
- package/dist/client/types/com/atproto/server/deleteAccount.js.map +1 -1
- package/dist/client/types/com/atproto/server/deleteSession.js +8 -14
- package/dist/client/types/com/atproto/server/deleteSession.js.map +1 -1
- package/dist/client/types/com/atproto/server/describeServer.d.ts +2 -2
- package/dist/client/types/com/atproto/server/describeServer.d.ts.map +1 -1
- package/dist/client/types/com/atproto/server/describeServer.js +8 -15
- package/dist/client/types/com/atproto/server/describeServer.js.map +1 -1
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.js +7 -12
- package/dist/client/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
- package/dist/client/types/com/atproto/server/getServiceAuth.js +7 -12
- package/dist/client/types/com/atproto/server/getServiceAuth.js.map +1 -1
- package/dist/client/types/com/atproto/server/getSession.js +4 -7
- package/dist/client/types/com/atproto/server/getSession.js.map +1 -1
- package/dist/client/types/com/atproto/server/listAppPasswords.d.ts +1 -1
- package/dist/client/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
- package/dist/client/types/com/atproto/server/listAppPasswords.js +9 -16
- package/dist/client/types/com/atproto/server/listAppPasswords.js.map +1 -1
- package/dist/client/types/com/atproto/server/refreshSession.js +9 -16
- package/dist/client/types/com/atproto/server/refreshSession.js.map +1 -1
- package/dist/client/types/com/atproto/server/requestAccountDelete.js +4 -7
- package/dist/client/types/com/atproto/server/requestAccountDelete.js.map +1 -1
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.js +4 -7
- package/dist/client/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
- package/dist/client/types/com/atproto/server/requestEmailUpdate.js +4 -7
- package/dist/client/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
- package/dist/client/types/com/atproto/server/requestPasswordReset.js +4 -7
- package/dist/client/types/com/atproto/server/requestPasswordReset.js.map +1 -1
- package/dist/client/types/com/atproto/server/reserveSigningKey.js +4 -7
- package/dist/client/types/com/atproto/server/reserveSigningKey.js.map +1 -1
- package/dist/client/types/com/atproto/server/resetPassword.js +8 -14
- package/dist/client/types/com/atproto/server/resetPassword.js.map +1 -1
- package/dist/client/types/com/atproto/server/revokeAppPassword.js +4 -7
- package/dist/client/types/com/atproto/server/revokeAppPassword.js.map +1 -1
- package/dist/client/types/com/atproto/server/updateEmail.js +9 -16
- package/dist/client/types/com/atproto/server/updateEmail.js.map +1 -1
- package/dist/client/types/com/atproto/sync/defs.js +3 -5
- package/dist/client/types/com/atproto/sync/defs.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getBlob.js +11 -20
- package/dist/client/types/com/atproto/sync/getBlob.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getBlocks.js +11 -20
- package/dist/client/types/com/atproto/sync/getBlocks.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getCheckout.js +4 -7
- package/dist/client/types/com/atproto/sync/getCheckout.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getHead.js +7 -12
- package/dist/client/types/com/atproto/sync/getHead.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getHostStatus.js +7 -12
- package/dist/client/types/com/atproto/sync/getHostStatus.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getLatestCommit.js +10 -18
- package/dist/client/types/com/atproto/sync/getLatestCommit.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getRecord.js +11 -20
- package/dist/client/types/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getRepo.js +10 -18
- package/dist/client/types/com/atproto/sync/getRepo.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getRepoStatus.js +7 -12
- package/dist/client/types/com/atproto/sync/getRepoStatus.js.map +1 -1
- package/dist/client/types/com/atproto/sync/listBlobs.js +10 -18
- package/dist/client/types/com/atproto/sync/listBlobs.js.map +1 -1
- package/dist/client/types/com/atproto/sync/listHosts.d.ts +1 -1
- package/dist/client/types/com/atproto/sync/listHosts.d.ts.map +1 -1
- package/dist/client/types/com/atproto/sync/listHosts.js +6 -11
- package/dist/client/types/com/atproto/sync/listHosts.js.map +1 -1
- package/dist/client/types/com/atproto/sync/listRepos.d.ts +1 -1
- package/dist/client/types/com/atproto/sync/listRepos.d.ts.map +1 -1
- package/dist/client/types/com/atproto/sync/listRepos.js +6 -11
- package/dist/client/types/com/atproto/sync/listRepos.js.map +1 -1
- package/dist/client/types/com/atproto/sync/listReposByCollection.d.ts +1 -1
- package/dist/client/types/com/atproto/sync/listReposByCollection.d.ts.map +1 -1
- package/dist/client/types/com/atproto/sync/listReposByCollection.js +6 -11
- package/dist/client/types/com/atproto/sync/listReposByCollection.js.map +1 -1
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.js +4 -7
- package/dist/client/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
- package/dist/client/types/com/atproto/sync/requestCrawl.js +7 -12
- package/dist/client/types/com/atproto/sync/requestCrawl.js.map +1 -1
- package/dist/client/types/com/atproto/sync/subscribeRepos.d.ts +6 -6
- package/dist/client/types/com/atproto/sync/subscribeRepos.d.ts.map +1 -1
- package/dist/client/types/com/atproto/sync/subscribeRepos.js +15 -29
- package/dist/client/types/com/atproto/sync/subscribeRepos.js.map +1 -1
- package/dist/client/types/com/atproto/temp/addReservedHandle.js +4 -7
- package/dist/client/types/com/atproto/temp/addReservedHandle.js.map +1 -1
- package/dist/client/types/com/atproto/temp/checkHandleAvailability.d.ts +4 -4
- package/dist/client/types/com/atproto/temp/checkHandleAvailability.d.ts.map +1 -1
- package/dist/client/types/com/atproto/temp/checkHandleAvailability.js +13 -24
- package/dist/client/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
- package/dist/client/types/com/atproto/temp/checkSignupQueue.js +4 -7
- package/dist/client/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
- package/dist/client/types/com/atproto/temp/dereferenceScope.js +7 -12
- package/dist/client/types/com/atproto/temp/dereferenceScope.js.map +1 -1
- package/dist/client/types/com/atproto/temp/fetchLabels.js +4 -7
- package/dist/client/types/com/atproto/temp/fetchLabels.js.map +1 -1
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.js +4 -7
- package/dist/client/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
- package/dist/client/types/com/atproto/temp/revokeAccountCredentials.js +4 -7
- package/dist/client/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
- package/dist/client/types/com/germnetwork/declaration.d.ts +2 -2
- package/dist/client/types/com/germnetwork/declaration.d.ts.map +1 -1
- package/dist/client/types/com/germnetwork/declaration.js +8 -15
- package/dist/client/types/com/germnetwork/declaration.js.map +1 -1
- package/dist/client/types/tools/ozone/communication/createTemplate.js +7 -12
- package/dist/client/types/tools/ozone/communication/createTemplate.js.map +1 -1
- package/dist/client/types/tools/ozone/communication/defs.d.ts +1 -1
- package/dist/client/types/tools/ozone/communication/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/communication/defs.js +5 -9
- package/dist/client/types/tools/ozone/communication/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/communication/deleteTemplate.js +4 -7
- package/dist/client/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
- package/dist/client/types/tools/ozone/communication/listTemplates.js +4 -7
- package/dist/client/types/tools/ozone/communication/listTemplates.js.map +1 -1
- package/dist/client/types/tools/ozone/communication/updateTemplate.js +7 -12
- package/dist/client/types/tools/ozone/communication/updateTemplate.js.map +1 -1
- package/dist/client/types/tools/ozone/hosting/getAccountHistory.d.ts +7 -7
- package/dist/client/types/tools/ozone/hosting/getAccountHistory.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/hosting/getAccountHistory.js +16 -31
- package/dist/client/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts +2 -2
- package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js +8 -15
- package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/defs.d.ts +49 -49
- package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/defs.js +106 -205
- package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +2 -2
- package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/emitEvent.js +10 -18
- package/dist/client/types/tools/ozone/moderation/emitEvent.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts +2 -2
- package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getAccountTimeline.js +11 -20
- package/dist/client/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getEvent.js +4 -7
- package/dist/client/types/tools/ozone/moderation/getEvent.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRecord.js +7 -12
- package/dist/client/types/tools/ozone/moderation/getRecord.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRecords.d.ts +1 -1
- package/dist/client/types/tools/ozone/moderation/getRecords.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRecords.js +4 -7
- package/dist/client/types/tools/ozone/moderation/getRecords.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRepo.js +7 -12
- package/dist/client/types/tools/ozone/moderation/getRepo.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getReporterStats.js +4 -7
- package/dist/client/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRepos.d.ts +1 -1
- package/dist/client/types/tools/ozone/moderation/getRepos.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getRepos.js +4 -7
- package/dist/client/types/tools/ozone/moderation/getRepos.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/getSubjects.js +4 -7
- package/dist/client/types/tools/ozone/moderation/getSubjects.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/listScheduledActions.js +4 -7
- package/dist/client/types/tools/ozone/moderation/listScheduledActions.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/queryEvents.js +4 -7
- package/dist/client/types/tools/ozone/moderation/queryEvents.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/queryStatuses.js +4 -7
- package/dist/client/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts +5 -5
- package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/moderation/scheduleAction.js +12 -23
- package/dist/client/types/tools/ozone/moderation/scheduleAction.js.map +1 -1
- package/dist/client/types/tools/ozone/moderation/searchRepos.js +4 -7
- package/dist/client/types/tools/ozone/moderation/searchRepos.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/assignModerator.js +7 -12
- package/dist/client/types/tools/ozone/queue/assignModerator.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/createQueue.js +7 -12
- package/dist/client/types/tools/ozone/queue/createQueue.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/defs.d.ts +3 -3
- package/dist/client/types/tools/ozone/queue/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/queue/defs.js +9 -17
- package/dist/client/types/tools/ozone/queue/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/deleteQueue.js +4 -7
- package/dist/client/types/tools/ozone/queue/deleteQueue.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/getAssignments.js +4 -7
- package/dist/client/types/tools/ozone/queue/getAssignments.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/listQueues.js +4 -7
- package/dist/client/types/tools/ozone/queue/listQueues.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/routeReports.js +7 -12
- package/dist/client/types/tools/ozone/queue/routeReports.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/unassignModerator.js +7 -12
- package/dist/client/types/tools/ozone/queue/unassignModerator.js.map +1 -1
- package/dist/client/types/tools/ozone/queue/updateQueue.js +4 -7
- package/dist/client/types/tools/ozone/queue/updateQueue.js.map +1 -1
- package/dist/client/types/tools/ozone/report/assignModerator.js +8 -14
- package/dist/client/types/tools/ozone/report/assignModerator.js.map +1 -1
- package/dist/client/types/tools/ozone/report/createActivity.d.ts +1 -1
- package/dist/client/types/tools/ozone/report/createActivity.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/report/createActivity.js +9 -16
- package/dist/client/types/tools/ozone/report/createActivity.js.map +1 -1
- package/dist/client/types/tools/ozone/report/defs.d.ts +13 -13
- package/dist/client/types/tools/ozone/report/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/report/defs.js +67 -94
- package/dist/client/types/tools/ozone/report/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/report/getAssignments.js +4 -7
- package/dist/client/types/tools/ozone/report/getAssignments.js.map +1 -1
- package/dist/client/types/tools/ozone/report/getHistoricalStats.js +4 -7
- package/dist/client/types/tools/ozone/report/getHistoricalStats.js.map +1 -1
- package/dist/client/types/tools/ozone/report/getLatestReport.js +7 -12
- package/dist/client/types/tools/ozone/report/getLatestReport.js.map +1 -1
- package/dist/client/types/tools/ozone/report/getLiveStats.js +4 -7
- package/dist/client/types/tools/ozone/report/getLiveStats.js.map +1 -1
- package/dist/client/types/tools/ozone/report/getReport.js +7 -12
- package/dist/client/types/tools/ozone/report/getReport.js.map +1 -1
- package/dist/client/types/tools/ozone/report/listActivities.js +4 -7
- package/dist/client/types/tools/ozone/report/listActivities.js.map +1 -1
- package/dist/client/types/tools/ozone/report/queryReports.js +4 -7
- package/dist/client/types/tools/ozone/report/queryReports.js.map +1 -1
- package/dist/client/types/tools/ozone/report/reassignQueue.js +11 -20
- package/dist/client/types/tools/ozone/report/reassignQueue.js.map +1 -1
- package/dist/client/types/tools/ozone/report/refreshStats.js +4 -7
- package/dist/client/types/tools/ozone/report/refreshStats.js.map +1 -1
- package/dist/client/types/tools/ozone/report/unassignModerator.js +7 -12
- package/dist/client/types/tools/ozone/report/unassignModerator.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/addRule.js +8 -14
- package/dist/client/types/tools/ozone/safelink/addRule.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/defs.d.ts +2 -2
- package/dist/client/types/tools/ozone/safelink/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/safelink/defs.js +7 -13
- package/dist/client/types/tools/ozone/safelink/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/queryEvents.js +4 -7
- package/dist/client/types/tools/ozone/safelink/queryEvents.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/queryRules.js +4 -7
- package/dist/client/types/tools/ozone/safelink/queryRules.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/removeRule.js +7 -12
- package/dist/client/types/tools/ozone/safelink/removeRule.js.map +1 -1
- package/dist/client/types/tools/ozone/safelink/updateRule.js +7 -12
- package/dist/client/types/tools/ozone/safelink/updateRule.js.map +1 -1
- package/dist/client/types/tools/ozone/server/getConfig.d.ts +2 -2
- package/dist/client/types/tools/ozone/server/getConfig.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/server/getConfig.js +8 -15
- package/dist/client/types/tools/ozone/server/getConfig.js.map +1 -1
- package/dist/client/types/tools/ozone/set/addValues.js +4 -7
- package/dist/client/types/tools/ozone/set/addValues.js.map +1 -1
- package/dist/client/types/tools/ozone/set/defs.d.ts +2 -2
- package/dist/client/types/tools/ozone/set/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/set/defs.js +7 -13
- package/dist/client/types/tools/ozone/set/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/set/deleteSet.js +7 -12
- package/dist/client/types/tools/ozone/set/deleteSet.js.map +1 -1
- package/dist/client/types/tools/ozone/set/deleteValues.js +7 -12
- package/dist/client/types/tools/ozone/set/deleteValues.js.map +1 -1
- package/dist/client/types/tools/ozone/set/getValues.js +7 -12
- package/dist/client/types/tools/ozone/set/getValues.js.map +1 -1
- package/dist/client/types/tools/ozone/set/querySets.js +4 -7
- package/dist/client/types/tools/ozone/set/querySets.js.map +1 -1
- package/dist/client/types/tools/ozone/set/upsertSet.js +4 -7
- package/dist/client/types/tools/ozone/set/upsertSet.js.map +1 -1
- package/dist/client/types/tools/ozone/setting/defs.d.ts +1 -1
- package/dist/client/types/tools/ozone/setting/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/setting/defs.js +5 -9
- package/dist/client/types/tools/ozone/setting/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/setting/listOptions.js +4 -7
- package/dist/client/types/tools/ozone/setting/listOptions.js.map +1 -1
- package/dist/client/types/tools/ozone/setting/removeOptions.js +4 -7
- package/dist/client/types/tools/ozone/setting/removeOptions.js.map +1 -1
- package/dist/client/types/tools/ozone/setting/upsertOption.js +4 -7
- package/dist/client/types/tools/ozone/setting/upsertOption.js.map +1 -1
- package/dist/client/types/tools/ozone/signature/defs.d.ts +1 -1
- package/dist/client/types/tools/ozone/signature/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/signature/defs.js +5 -9
- package/dist/client/types/tools/ozone/signature/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/signature/findCorrelation.js +4 -7
- package/dist/client/types/tools/ozone/signature/findCorrelation.js.map +1 -1
- package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts +1 -1
- package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/signature/findRelatedAccounts.js +6 -11
- package/dist/client/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
- package/dist/client/types/tools/ozone/signature/searchAccounts.js +4 -7
- package/dist/client/types/tools/ozone/signature/searchAccounts.js.map +1 -1
- package/dist/client/types/tools/ozone/team/addMember.js +7 -12
- package/dist/client/types/tools/ozone/team/addMember.js.map +1 -1
- package/dist/client/types/tools/ozone/team/defs.d.ts +1 -1
- package/dist/client/types/tools/ozone/team/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/team/defs.js +9 -14
- package/dist/client/types/tools/ozone/team/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/team/deleteMember.js +8 -14
- package/dist/client/types/tools/ozone/team/deleteMember.js.map +1 -1
- package/dist/client/types/tools/ozone/team/listMembers.js +4 -7
- package/dist/client/types/tools/ozone/team/listMembers.js.map +1 -1
- package/dist/client/types/tools/ozone/team/updateMember.js +7 -12
- package/dist/client/types/tools/ozone/team/updateMember.js.map +1 -1
- package/dist/client/types/tools/ozone/verification/defs.d.ts +2 -2
- package/dist/client/types/tools/ozone/verification/defs.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/verification/defs.js +5 -9
- package/dist/client/types/tools/ozone/verification/defs.js.map +1 -1
- package/dist/client/types/tools/ozone/verification/grantVerifications.d.ts +2 -2
- package/dist/client/types/tools/ozone/verification/grantVerifications.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/verification/grantVerifications.js +8 -15
- package/dist/client/types/tools/ozone/verification/grantVerifications.js.map +1 -1
- package/dist/client/types/tools/ozone/verification/listVerifications.js +4 -7
- package/dist/client/types/tools/ozone/verification/listVerifications.js.map +1 -1
- package/dist/client/types/tools/ozone/verification/revokeVerifications.d.ts +1 -1
- package/dist/client/types/tools/ozone/verification/revokeVerifications.d.ts.map +1 -1
- package/dist/client/types/tools/ozone/verification/revokeVerifications.js +6 -11
- package/dist/client/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
- package/dist/client/util.js +3 -8
- package/dist/client/util.js.map +1 -1
- package/dist/const.js +1 -4
- package/dist/const.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -62
- package/dist/index.js.map +1 -1
- package/dist/mocker.d.ts +2 -2
- package/dist/mocker.d.ts.map +1 -1
- package/dist/mocker.js +1 -4
- package/dist/mocker.js.map +1 -1
- package/dist/moderation/const/labels.d.ts +1 -1
- package/dist/moderation/const/labels.d.ts.map +1 -1
- package/dist/moderation/const/labels.js +2 -5
- package/dist/moderation/const/labels.js.map +1 -1
- package/dist/moderation/decision.d.ts +10 -10
- package/dist/moderation/decision.d.ts.map +1 -1
- package/dist/moderation/decision.js +24 -43
- package/dist/moderation/decision.js.map +1 -1
- package/dist/moderation/index.d.ts +6 -6
- package/dist/moderation/index.d.ts.map +1 -1
- package/dist/moderation/index.js +24 -39
- package/dist/moderation/index.js.map +1 -1
- package/dist/moderation/mutewords.d.ts +1 -1
- package/dist/moderation/mutewords.d.ts.map +1 -1
- package/dist/moderation/mutewords.js +4 -8
- package/dist/moderation/mutewords.js.map +1 -1
- package/dist/moderation/subjects/account.d.ts +2 -2
- package/dist/moderation/subjects/account.d.ts.map +1 -1
- package/dist/moderation/subjects/account.js +4 -8
- package/dist/moderation/subjects/account.js.map +1 -1
- package/dist/moderation/subjects/feed-generator.d.ts +2 -2
- package/dist/moderation/subjects/feed-generator.d.ts.map +1 -1
- package/dist/moderation/subjects/feed-generator.js +6 -9
- package/dist/moderation/subjects/feed-generator.js.map +1 -1
- package/dist/moderation/subjects/notification.d.ts +2 -2
- package/dist/moderation/subjects/notification.d.ts.map +1 -1
- package/dist/moderation/subjects/notification.js +6 -9
- package/dist/moderation/subjects/notification.js.map +1 -1
- package/dist/moderation/subjects/post.d.ts +2 -2
- package/dist/moderation/subjects/post.d.ts.map +1 -1
- package/dist/moderation/subjects/post.js +55 -58
- package/dist/moderation/subjects/post.js.map +1 -1
- package/dist/moderation/subjects/profile.d.ts +2 -2
- package/dist/moderation/subjects/profile.d.ts.map +1 -1
- package/dist/moderation/subjects/profile.js +4 -8
- package/dist/moderation/subjects/profile.js.map +1 -1
- package/dist/moderation/subjects/status.d.ts +2 -2
- package/dist/moderation/subjects/status.d.ts.map +1 -1
- package/dist/moderation/subjects/status.js +6 -9
- package/dist/moderation/subjects/status.js.map +1 -1
- package/dist/moderation/subjects/user-list.d.ts +2 -2
- package/dist/moderation/subjects/user-list.d.ts.map +1 -1
- package/dist/moderation/subjects/user-list.js +8 -11
- package/dist/moderation/subjects/user-list.js.map +1 -1
- package/dist/moderation/types.d.ts +3 -3
- package/dist/moderation/types.d.ts.map +1 -1
- package/dist/moderation/types.js +6 -9
- package/dist/moderation/types.js.map +1 -1
- package/dist/moderation/ui.d.ts +1 -1
- package/dist/moderation/ui.d.ts.map +1 -1
- package/dist/moderation/ui.js +6 -35
- package/dist/moderation/ui.js.map +1 -1
- package/dist/moderation/util.d.ts +2 -2
- package/dist/moderation/util.d.ts.map +1 -1
- package/dist/moderation/util.js +9 -15
- package/dist/moderation/util.js.map +1 -1
- package/dist/predicate.d.ts +1 -1
- package/dist/predicate.d.ts.map +1 -1
- package/dist/predicate.js +19 -22
- package/dist/predicate.js.map +1 -1
- package/dist/rich-text/detection.d.ts +2 -2
- package/dist/rich-text/detection.d.ts.map +1 -1
- package/dist/rich-text/detection.js +9 -15
- package/dist/rich-text/detection.js.map +1 -1
- package/dist/rich-text/rich-text.d.ts +2 -2
- package/dist/rich-text/rich-text.d.ts.map +1 -1
- package/dist/rich-text/rich-text.js +18 -45
- package/dist/rich-text/rich-text.js.map +1 -1
- package/dist/rich-text/sanitization.d.ts +1 -1
- package/dist/rich-text/sanitization.d.ts.map +1 -1
- package/dist/rich-text/sanitization.js +3 -6
- package/dist/rich-text/sanitization.js.map +1 -1
- package/dist/rich-text/unicode.js +3 -25
- package/dist/rich-text/unicode.js.map +1 -1
- package/dist/rich-text/util.js +5 -8
- package/dist/rich-text/util.js.map +1 -1
- package/dist/session-manager.js +1 -2
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -16
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +15 -23
- package/dist/util.js.map +1 -1
- package/{jest.config.js → jest.config.cjs} +8 -1
- package/jest.setup.ts +2 -2
- package/package.json +21 -13
- package/scripts/code/labels.mjs +1 -1
- package/src/age-assurance.test.ts +2 -2
- package/src/age-assurance.ts +2 -2
- package/src/agent.ts +12 -12
- package/src/atp-agent.ts +5 -5
- package/src/bsky-agent.ts +1 -1
- package/src/client/lexicons.ts +13 -0
- package/src/client/types/app/bsky/actor/defs.ts +2 -2
- package/src/client/types/app/bsky/actor/getPreferences.ts +2 -2
- package/src/client/types/app/bsky/actor/getProfile.ts +2 -2
- package/src/client/types/app/bsky/actor/getProfiles.ts +2 -2
- package/src/client/types/app/bsky/actor/getSuggestions.ts +2 -2
- package/src/client/types/app/bsky/actor/profile.ts +2 -2
- package/src/client/types/app/bsky/actor/putPreferences.ts +2 -2
- package/src/client/types/app/bsky/actor/searchActors.ts +2 -2
- package/src/client/types/app/bsky/actor/searchActorsTypeahead.ts +2 -2
- package/src/client/types/app/bsky/actor/status.ts +2 -2
- package/src/client/types/app/bsky/ageassurance/begin.ts +2 -2
- package/src/client/types/app/bsky/ageassurance/defs.ts +2 -2
- package/src/client/types/app/bsky/ageassurance/getConfig.ts +2 -2
- package/src/client/types/app/bsky/ageassurance/getState.ts +2 -2
- package/src/client/types/app/bsky/bookmark/createBookmark.ts +2 -2
- package/src/client/types/app/bsky/bookmark/defs.ts +2 -2
- package/src/client/types/app/bsky/bookmark/deleteBookmark.ts +2 -2
- package/src/client/types/app/bsky/bookmark/getBookmarks.ts +2 -2
- package/src/client/types/app/bsky/contact/defs.ts +2 -2
- package/src/client/types/app/bsky/contact/dismissMatch.ts +2 -2
- package/src/client/types/app/bsky/contact/getMatches.ts +2 -2
- package/src/client/types/app/bsky/contact/getSyncStatus.ts +2 -2
- package/src/client/types/app/bsky/contact/importContacts.ts +2 -2
- package/src/client/types/app/bsky/contact/removeData.ts +2 -2
- package/src/client/types/app/bsky/contact/sendNotification.ts +2 -2
- package/src/client/types/app/bsky/contact/startPhoneVerification.ts +2 -2
- package/src/client/types/app/bsky/contact/verifyPhone.ts +2 -2
- package/src/client/types/app/bsky/draft/createDraft.ts +2 -2
- package/src/client/types/app/bsky/draft/defs.ts +2 -2
- package/src/client/types/app/bsky/draft/deleteDraft.ts +2 -2
- package/src/client/types/app/bsky/draft/getDrafts.ts +2 -2
- package/src/client/types/app/bsky/draft/updateDraft.ts +2 -2
- package/src/client/types/app/bsky/embed/defs.ts +2 -2
- package/src/client/types/app/bsky/embed/external.ts +2 -2
- package/src/client/types/app/bsky/embed/images.ts +2 -2
- package/src/client/types/app/bsky/embed/record.ts +2 -2
- package/src/client/types/app/bsky/embed/recordWithMedia.ts +2 -2
- package/src/client/types/app/bsky/embed/video.ts +2 -2
- package/src/client/types/app/bsky/feed/defs.ts +2 -2
- package/src/client/types/app/bsky/feed/describeFeedGenerator.ts +2 -2
- package/src/client/types/app/bsky/feed/generator.ts +2 -2
- package/src/client/types/app/bsky/feed/getActorFeeds.ts +2 -2
- package/src/client/types/app/bsky/feed/getActorLikes.ts +2 -2
- package/src/client/types/app/bsky/feed/getAuthorFeed.ts +2 -2
- package/src/client/types/app/bsky/feed/getFeed.ts +2 -2
- package/src/client/types/app/bsky/feed/getFeedGenerator.ts +2 -2
- package/src/client/types/app/bsky/feed/getFeedGenerators.ts +2 -2
- package/src/client/types/app/bsky/feed/getFeedSkeleton.ts +2 -2
- package/src/client/types/app/bsky/feed/getLikes.ts +2 -2
- package/src/client/types/app/bsky/feed/getListFeed.ts +2 -2
- package/src/client/types/app/bsky/feed/getPostThread.ts +2 -2
- package/src/client/types/app/bsky/feed/getPosts.ts +2 -2
- package/src/client/types/app/bsky/feed/getQuotes.ts +2 -2
- package/src/client/types/app/bsky/feed/getRepostedBy.ts +2 -2
- package/src/client/types/app/bsky/feed/getSuggestedFeeds.ts +2 -2
- package/src/client/types/app/bsky/feed/getTimeline.ts +2 -2
- package/src/client/types/app/bsky/feed/like.ts +2 -2
- package/src/client/types/app/bsky/feed/post.ts +2 -2
- package/src/client/types/app/bsky/feed/postgate.ts +2 -2
- package/src/client/types/app/bsky/feed/repost.ts +2 -2
- package/src/client/types/app/bsky/feed/searchPosts.ts +2 -2
- package/src/client/types/app/bsky/feed/sendInteractions.ts +2 -2
- package/src/client/types/app/bsky/feed/threadgate.ts +2 -2
- package/src/client/types/app/bsky/graph/block.ts +2 -2
- package/src/client/types/app/bsky/graph/defs.ts +2 -2
- package/src/client/types/app/bsky/graph/follow.ts +2 -2
- package/src/client/types/app/bsky/graph/getActorStarterPacks.ts +2 -2
- package/src/client/types/app/bsky/graph/getBlocks.ts +2 -2
- package/src/client/types/app/bsky/graph/getFollowers.ts +2 -2
- package/src/client/types/app/bsky/graph/getFollows.ts +2 -2
- package/src/client/types/app/bsky/graph/getKnownFollowers.ts +2 -2
- package/src/client/types/app/bsky/graph/getList.ts +2 -2
- package/src/client/types/app/bsky/graph/getListBlocks.ts +2 -2
- package/src/client/types/app/bsky/graph/getListMutes.ts +2 -2
- package/src/client/types/app/bsky/graph/getLists.ts +2 -2
- package/src/client/types/app/bsky/graph/getListsWithMembership.ts +2 -2
- package/src/client/types/app/bsky/graph/getMutes.ts +2 -2
- package/src/client/types/app/bsky/graph/getRelationships.ts +2 -2
- package/src/client/types/app/bsky/graph/getStarterPack.ts +2 -2
- package/src/client/types/app/bsky/graph/getStarterPacks.ts +2 -2
- package/src/client/types/app/bsky/graph/getStarterPacksWithMembership.ts +2 -2
- package/src/client/types/app/bsky/graph/getSuggestedFollowsByActor.ts +2 -2
- package/src/client/types/app/bsky/graph/list.ts +2 -2
- package/src/client/types/app/bsky/graph/listblock.ts +2 -2
- package/src/client/types/app/bsky/graph/listitem.ts +2 -2
- package/src/client/types/app/bsky/graph/muteActor.ts +2 -2
- package/src/client/types/app/bsky/graph/muteActorList.ts +2 -2
- package/src/client/types/app/bsky/graph/muteThread.ts +2 -2
- package/src/client/types/app/bsky/graph/searchStarterPacks.ts +2 -2
- package/src/client/types/app/bsky/graph/starterpack.ts +2 -2
- package/src/client/types/app/bsky/graph/unmuteActor.ts +2 -2
- package/src/client/types/app/bsky/graph/unmuteActorList.ts +2 -2
- package/src/client/types/app/bsky/graph/unmuteThread.ts +2 -2
- package/src/client/types/app/bsky/graph/verification.ts +2 -2
- package/src/client/types/app/bsky/labeler/defs.ts +2 -2
- package/src/client/types/app/bsky/labeler/getServices.ts +2 -2
- package/src/client/types/app/bsky/labeler/service.ts +2 -2
- package/src/client/types/app/bsky/notification/declaration.ts +2 -2
- package/src/client/types/app/bsky/notification/defs.ts +2 -2
- package/src/client/types/app/bsky/notification/getPreferences.ts +2 -2
- package/src/client/types/app/bsky/notification/getUnreadCount.ts +2 -2
- package/src/client/types/app/bsky/notification/listActivitySubscriptions.ts +2 -2
- package/src/client/types/app/bsky/notification/listNotifications.ts +2 -2
- package/src/client/types/app/bsky/notification/putActivitySubscription.ts +2 -2
- package/src/client/types/app/bsky/notification/putPreferences.ts +2 -2
- package/src/client/types/app/bsky/notification/putPreferencesV2.ts +2 -2
- package/src/client/types/app/bsky/notification/registerPush.ts +2 -2
- package/src/client/types/app/bsky/notification/unregisterPush.ts +2 -2
- package/src/client/types/app/bsky/notification/updateSeen.ts +2 -2
- package/src/client/types/app/bsky/richtext/facet.ts +2 -2
- package/src/client/types/app/bsky/unspecced/defs.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getAgeAssuranceState.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getConfig.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getPostThreadOtherV2.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getPostThreadV2.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedFeeds.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedStarterPacks.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsers.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getTaggedSuggestions.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getTrendingTopics.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getTrends.ts +2 -2
- package/src/client/types/app/bsky/unspecced/getTrendsSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/initAgeAssurance.ts +2 -2
- package/src/client/types/app/bsky/unspecced/searchActorsSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/searchPostsSkeleton.ts +2 -2
- package/src/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts +2 -2
- package/src/client/types/app/bsky/video/defs.ts +2 -2
- package/src/client/types/app/bsky/video/getJobStatus.ts +2 -2
- package/src/client/types/app/bsky/video/getUploadLimits.ts +2 -2
- package/src/client/types/app/bsky/video/uploadVideo.ts +2 -2
- package/src/client/types/chat/bsky/actor/declaration.ts +2 -2
- package/src/client/types/chat/bsky/actor/defs.ts +2 -2
- package/src/client/types/chat/bsky/actor/deleteAccount.ts +2 -2
- package/src/client/types/chat/bsky/actor/exportAccountData.ts +2 -2
- package/src/client/types/chat/bsky/convo/acceptConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/addReaction.ts +2 -2
- package/src/client/types/chat/bsky/convo/defs.ts +18 -2
- package/src/client/types/chat/bsky/convo/deleteMessageForSelf.ts +2 -2
- package/src/client/types/chat/bsky/convo/getConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/getConvoAvailability.ts +2 -2
- package/src/client/types/chat/bsky/convo/getConvoForMembers.ts +2 -2
- package/src/client/types/chat/bsky/convo/getConvoMembers.ts +2 -2
- package/src/client/types/chat/bsky/convo/getLog.ts +2 -2
- package/src/client/types/chat/bsky/convo/getMessages.ts +2 -2
- package/src/client/types/chat/bsky/convo/leaveConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/listConvoRequests.ts +2 -2
- package/src/client/types/chat/bsky/convo/listConvos.ts +2 -2
- package/src/client/types/chat/bsky/convo/lockConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/muteConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/removeReaction.ts +2 -2
- package/src/client/types/chat/bsky/convo/sendMessage.ts +2 -2
- package/src/client/types/chat/bsky/convo/sendMessageBatch.ts +2 -2
- package/src/client/types/chat/bsky/convo/unlockConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/unmuteConvo.ts +2 -2
- package/src/client/types/chat/bsky/convo/updateAllRead.ts +2 -2
- package/src/client/types/chat/bsky/convo/updateRead.ts +2 -2
- package/src/client/types/chat/bsky/group/addMembers.ts +2 -2
- package/src/client/types/chat/bsky/group/approveJoinRequest.ts +2 -2
- package/src/client/types/chat/bsky/group/createGroup.ts +2 -2
- package/src/client/types/chat/bsky/group/createJoinLink.ts +2 -2
- package/src/client/types/chat/bsky/group/defs.ts +2 -2
- package/src/client/types/chat/bsky/group/disableJoinLink.ts +2 -2
- package/src/client/types/chat/bsky/group/editGroup.ts +2 -2
- package/src/client/types/chat/bsky/group/editJoinLink.ts +2 -2
- package/src/client/types/chat/bsky/group/enableJoinLink.ts +2 -2
- package/src/client/types/chat/bsky/group/getJoinLinkPreview.ts +2 -2
- package/src/client/types/chat/bsky/group/listJoinRequests.ts +2 -2
- package/src/client/types/chat/bsky/group/rejectJoinRequest.ts +2 -2
- package/src/client/types/chat/bsky/group/removeMembers.ts +2 -2
- package/src/client/types/chat/bsky/group/requestJoin.ts +2 -2
- package/src/client/types/chat/bsky/moderation/getActorMetadata.ts +2 -2
- package/src/client/types/chat/bsky/moderation/getMessageContext.ts +2 -2
- package/src/client/types/chat/bsky/moderation/subscribeModEvents.ts +2 -2
- package/src/client/types/chat/bsky/moderation/updateActorAccess.ts +2 -2
- package/src/client/types/com/atproto/admin/defs.ts +2 -2
- package/src/client/types/com/atproto/admin/deleteAccount.ts +2 -2
- package/src/client/types/com/atproto/admin/disableAccountInvites.ts +2 -2
- package/src/client/types/com/atproto/admin/disableInviteCodes.ts +2 -2
- package/src/client/types/com/atproto/admin/enableAccountInvites.ts +2 -2
- package/src/client/types/com/atproto/admin/getAccountInfo.ts +2 -2
- package/src/client/types/com/atproto/admin/getAccountInfos.ts +2 -2
- package/src/client/types/com/atproto/admin/getInviteCodes.ts +2 -2
- package/src/client/types/com/atproto/admin/getSubjectStatus.ts +2 -2
- package/src/client/types/com/atproto/admin/searchAccounts.ts +2 -2
- package/src/client/types/com/atproto/admin/sendEmail.ts +2 -2
- package/src/client/types/com/atproto/admin/updateAccountEmail.ts +2 -2
- package/src/client/types/com/atproto/admin/updateAccountHandle.ts +2 -2
- package/src/client/types/com/atproto/admin/updateAccountPassword.ts +2 -2
- package/src/client/types/com/atproto/admin/updateAccountSigningKey.ts +2 -2
- package/src/client/types/com/atproto/admin/updateSubjectStatus.ts +2 -2
- package/src/client/types/com/atproto/identity/defs.ts +2 -2
- package/src/client/types/com/atproto/identity/getRecommendedDidCredentials.ts +2 -2
- package/src/client/types/com/atproto/identity/refreshIdentity.ts +2 -2
- package/src/client/types/com/atproto/identity/requestPlcOperationSignature.ts +2 -2
- package/src/client/types/com/atproto/identity/resolveDid.ts +2 -2
- package/src/client/types/com/atproto/identity/resolveHandle.ts +2 -2
- package/src/client/types/com/atproto/identity/resolveIdentity.ts +2 -2
- package/src/client/types/com/atproto/identity/signPlcOperation.ts +2 -2
- package/src/client/types/com/atproto/identity/submitPlcOperation.ts +2 -2
- package/src/client/types/com/atproto/identity/updateHandle.ts +2 -2
- package/src/client/types/com/atproto/label/defs.ts +2 -2
- package/src/client/types/com/atproto/label/queryLabels.ts +2 -2
- package/src/client/types/com/atproto/label/subscribeLabels.ts +2 -2
- package/src/client/types/com/atproto/lexicon/resolveLexicon.ts +2 -2
- package/src/client/types/com/atproto/lexicon/schema.ts +2 -2
- package/src/client/types/com/atproto/moderation/createReport.ts +2 -2
- package/src/client/types/com/atproto/moderation/defs.ts +2 -2
- package/src/client/types/com/atproto/repo/applyWrites.ts +2 -2
- package/src/client/types/com/atproto/repo/createRecord.ts +2 -2
- package/src/client/types/com/atproto/repo/defs.ts +2 -2
- package/src/client/types/com/atproto/repo/deleteRecord.ts +2 -2
- package/src/client/types/com/atproto/repo/describeRepo.ts +2 -2
- package/src/client/types/com/atproto/repo/getRecord.ts +2 -2
- package/src/client/types/com/atproto/repo/importRepo.ts +2 -2
- package/src/client/types/com/atproto/repo/listMissingBlobs.ts +2 -2
- package/src/client/types/com/atproto/repo/listRecords.ts +2 -2
- package/src/client/types/com/atproto/repo/putRecord.ts +2 -2
- package/src/client/types/com/atproto/repo/strongRef.ts +2 -2
- package/src/client/types/com/atproto/repo/uploadBlob.ts +2 -2
- package/src/client/types/com/atproto/server/activateAccount.ts +2 -2
- package/src/client/types/com/atproto/server/checkAccountStatus.ts +2 -2
- package/src/client/types/com/atproto/server/confirmEmail.ts +2 -2
- package/src/client/types/com/atproto/server/createAccount.ts +2 -2
- package/src/client/types/com/atproto/server/createAppPassword.ts +2 -2
- package/src/client/types/com/atproto/server/createInviteCode.ts +2 -2
- package/src/client/types/com/atproto/server/createInviteCodes.ts +2 -2
- package/src/client/types/com/atproto/server/createSession.ts +2 -2
- package/src/client/types/com/atproto/server/deactivateAccount.ts +2 -2
- package/src/client/types/com/atproto/server/defs.ts +2 -2
- package/src/client/types/com/atproto/server/deleteAccount.ts +2 -2
- package/src/client/types/com/atproto/server/deleteSession.ts +2 -2
- package/src/client/types/com/atproto/server/describeServer.ts +2 -2
- package/src/client/types/com/atproto/server/getAccountInviteCodes.ts +2 -2
- package/src/client/types/com/atproto/server/getServiceAuth.ts +2 -2
- package/src/client/types/com/atproto/server/getSession.ts +2 -2
- package/src/client/types/com/atproto/server/listAppPasswords.ts +2 -2
- package/src/client/types/com/atproto/server/refreshSession.ts +2 -2
- package/src/client/types/com/atproto/server/requestAccountDelete.ts +2 -2
- package/src/client/types/com/atproto/server/requestEmailConfirmation.ts +2 -2
- package/src/client/types/com/atproto/server/requestEmailUpdate.ts +2 -2
- package/src/client/types/com/atproto/server/requestPasswordReset.ts +2 -2
- package/src/client/types/com/atproto/server/reserveSigningKey.ts +2 -2
- package/src/client/types/com/atproto/server/resetPassword.ts +2 -2
- package/src/client/types/com/atproto/server/revokeAppPassword.ts +2 -2
- package/src/client/types/com/atproto/server/updateEmail.ts +2 -2
- package/src/client/types/com/atproto/sync/defs.ts +2 -2
- package/src/client/types/com/atproto/sync/getBlob.ts +2 -2
- package/src/client/types/com/atproto/sync/getBlocks.ts +2 -2
- package/src/client/types/com/atproto/sync/getCheckout.ts +2 -2
- package/src/client/types/com/atproto/sync/getHead.ts +2 -2
- package/src/client/types/com/atproto/sync/getHostStatus.ts +2 -2
- package/src/client/types/com/atproto/sync/getLatestCommit.ts +2 -2
- package/src/client/types/com/atproto/sync/getRecord.ts +2 -2
- package/src/client/types/com/atproto/sync/getRepo.ts +2 -2
- package/src/client/types/com/atproto/sync/getRepoStatus.ts +2 -2
- package/src/client/types/com/atproto/sync/listBlobs.ts +2 -2
- package/src/client/types/com/atproto/sync/listHosts.ts +2 -2
- package/src/client/types/com/atproto/sync/listRepos.ts +2 -2
- package/src/client/types/com/atproto/sync/listReposByCollection.ts +2 -2
- package/src/client/types/com/atproto/sync/notifyOfUpdate.ts +2 -2
- package/src/client/types/com/atproto/sync/requestCrawl.ts +2 -2
- package/src/client/types/com/atproto/sync/subscribeRepos.ts +2 -2
- package/src/client/types/com/atproto/temp/addReservedHandle.ts +2 -2
- package/src/client/types/com/atproto/temp/checkHandleAvailability.ts +2 -2
- package/src/client/types/com/atproto/temp/checkSignupQueue.ts +2 -2
- package/src/client/types/com/atproto/temp/dereferenceScope.ts +2 -2
- package/src/client/types/com/atproto/temp/fetchLabels.ts +2 -2
- package/src/client/types/com/atproto/temp/requestPhoneVerification.ts +2 -2
- package/src/client/types/com/atproto/temp/revokeAccountCredentials.ts +2 -2
- package/src/client/types/com/germnetwork/declaration.ts +6 -2
- package/src/client/types/tools/ozone/communication/createTemplate.ts +2 -2
- package/src/client/types/tools/ozone/communication/defs.ts +2 -2
- package/src/client/types/tools/ozone/communication/deleteTemplate.ts +2 -2
- package/src/client/types/tools/ozone/communication/listTemplates.ts +2 -2
- package/src/client/types/tools/ozone/communication/updateTemplate.ts +2 -2
- package/src/client/types/tools/ozone/hosting/getAccountHistory.ts +2 -2
- package/src/client/types/tools/ozone/moderation/cancelScheduledActions.ts +2 -2
- package/src/client/types/tools/ozone/moderation/defs.ts +2 -2
- package/src/client/types/tools/ozone/moderation/emitEvent.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getAccountTimeline.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getEvent.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getRecord.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getRecords.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getRepo.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getReporterStats.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getRepos.ts +2 -2
- package/src/client/types/tools/ozone/moderation/getSubjects.ts +2 -2
- package/src/client/types/tools/ozone/moderation/listScheduledActions.ts +2 -2
- package/src/client/types/tools/ozone/moderation/queryEvents.ts +2 -2
- package/src/client/types/tools/ozone/moderation/queryStatuses.ts +2 -2
- package/src/client/types/tools/ozone/moderation/scheduleAction.ts +2 -2
- package/src/client/types/tools/ozone/moderation/searchRepos.ts +2 -2
- package/src/client/types/tools/ozone/queue/assignModerator.ts +2 -2
- package/src/client/types/tools/ozone/queue/createQueue.ts +2 -2
- package/src/client/types/tools/ozone/queue/defs.ts +2 -2
- package/src/client/types/tools/ozone/queue/deleteQueue.ts +2 -2
- package/src/client/types/tools/ozone/queue/getAssignments.ts +2 -2
- package/src/client/types/tools/ozone/queue/listQueues.ts +2 -2
- package/src/client/types/tools/ozone/queue/routeReports.ts +2 -2
- package/src/client/types/tools/ozone/queue/unassignModerator.ts +2 -2
- package/src/client/types/tools/ozone/queue/updateQueue.ts +2 -2
- package/src/client/types/tools/ozone/report/assignModerator.ts +2 -2
- package/src/client/types/tools/ozone/report/createActivity.ts +2 -2
- package/src/client/types/tools/ozone/report/defs.ts +2 -2
- package/src/client/types/tools/ozone/report/getAssignments.ts +2 -2
- package/src/client/types/tools/ozone/report/getHistoricalStats.ts +2 -2
- package/src/client/types/tools/ozone/report/getLatestReport.ts +2 -2
- package/src/client/types/tools/ozone/report/getLiveStats.ts +2 -2
- package/src/client/types/tools/ozone/report/getReport.ts +2 -2
- package/src/client/types/tools/ozone/report/listActivities.ts +2 -2
- package/src/client/types/tools/ozone/report/queryReports.ts +2 -2
- package/src/client/types/tools/ozone/report/reassignQueue.ts +2 -2
- package/src/client/types/tools/ozone/report/refreshStats.ts +2 -2
- package/src/client/types/tools/ozone/report/unassignModerator.ts +2 -2
- package/src/client/types/tools/ozone/safelink/addRule.ts +2 -2
- package/src/client/types/tools/ozone/safelink/defs.ts +2 -2
- package/src/client/types/tools/ozone/safelink/queryEvents.ts +2 -2
- package/src/client/types/tools/ozone/safelink/queryRules.ts +2 -2
- package/src/client/types/tools/ozone/safelink/removeRule.ts +2 -2
- package/src/client/types/tools/ozone/safelink/updateRule.ts +2 -2
- package/src/client/types/tools/ozone/server/getConfig.ts +2 -2
- package/src/client/types/tools/ozone/set/addValues.ts +2 -2
- package/src/client/types/tools/ozone/set/defs.ts +2 -2
- package/src/client/types/tools/ozone/set/deleteSet.ts +2 -2
- package/src/client/types/tools/ozone/set/deleteValues.ts +2 -2
- package/src/client/types/tools/ozone/set/getValues.ts +2 -2
- package/src/client/types/tools/ozone/set/querySets.ts +2 -2
- package/src/client/types/tools/ozone/set/upsertSet.ts +2 -2
- package/src/client/types/tools/ozone/setting/defs.ts +2 -2
- package/src/client/types/tools/ozone/setting/listOptions.ts +2 -2
- package/src/client/types/tools/ozone/setting/removeOptions.ts +2 -2
- package/src/client/types/tools/ozone/setting/upsertOption.ts +2 -2
- package/src/client/types/tools/ozone/signature/defs.ts +2 -2
- package/src/client/types/tools/ozone/signature/findCorrelation.ts +2 -2
- package/src/client/types/tools/ozone/signature/findRelatedAccounts.ts +2 -2
- package/src/client/types/tools/ozone/signature/searchAccounts.ts +2 -2
- package/src/client/types/tools/ozone/team/addMember.ts +2 -2
- package/src/client/types/tools/ozone/team/defs.ts +2 -2
- package/src/client/types/tools/ozone/team/deleteMember.ts +2 -2
- package/src/client/types/tools/ozone/team/listMembers.ts +2 -2
- package/src/client/types/tools/ozone/team/updateMember.ts +2 -2
- package/src/client/types/tools/ozone/verification/defs.ts +2 -2
- package/src/client/types/tools/ozone/verification/grantVerifications.ts +2 -2
- package/src/client/types/tools/ozone/verification/listVerifications.ts +2 -2
- package/src/client/types/tools/ozone/verification/revokeVerifications.ts +2 -2
- package/src/index.ts +22 -22
- package/src/mocker.ts +2 -2
- package/src/moderation/decision.ts +5 -5
- package/src/moderation/index.ts +13 -13
- package/src/moderation/mutewords.ts +1 -1
- package/src/moderation/subjects/account.ts +2 -2
- package/src/moderation/subjects/feed-generator.ts +4 -4
- package/src/moderation/subjects/notification.ts +4 -4
- package/src/moderation/subjects/post.ts +7 -7
- package/src/moderation/subjects/profile.ts +2 -2
- package/src/moderation/subjects/status.ts +4 -4
- package/src/moderation/subjects/user-list.ts +5 -5
- package/src/moderation/types.ts +3 -3
- package/src/moderation/ui.ts +1 -1
- package/src/moderation/util.ts +3 -3
- package/src/predicate.ts +2 -2
- package/src/rich-text/detection.ts +3 -3
- package/src/rich-text/rich-text.ts +8 -4
- package/src/rich-text/sanitization.ts +2 -2
- package/src/types.ts +2 -2
- package/src/util.ts +2 -2
- package/tests/atp-agent.test.ts +3 -3
- package/tests/dispatcher.test.ts +2 -2
- package/tests/errors.test.ts +2 -2
- package/tests/moderation-behaviors.test.ts +2 -2
- package/tests/moderation-custom-labels.test.ts +2 -2
- package/tests/moderation-mutewords.test.ts +2 -2
- package/tests/moderation-prefs.test.ts +3 -3
- package/tests/moderation-quoteposts.test.ts +2 -2
- package/tests/moderation.test.ts +3 -3
- package/tests/rich-text-detection.test.ts +2 -2
- package/tests/rich-text-sanitization.test.ts +6 -1
- package/tests/rich-text.test.ts +1 -1
- package/tests/util/moderation-behavior.ts +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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","sourcesContent":["import AwaitLock from 'await-lock'\nimport { TID, retry } from '@atproto/common-web'\nimport { AtUri, DidString, ensureValidDidRegex } from '@atproto/syntax'\nimport {\n FetchHandler,\n FetchHandlerOptions,\n XrpcClient,\n buildFetchHandler,\n} from '@atproto/xrpc'\nimport {\n AppBskyActorDefs,\n AppBskyActorProfile,\n AppBskyFeedPost,\n AppBskyLabelerDefs,\n AppNS,\n ChatNS,\n ComAtprotoRepoPutRecord,\n ComNS,\n ToolsNS,\n} from './client/index'\nimport { schemas } from './client/lexicons'\nimport { MutedWord, Nux } from './client/types/app/bsky/actor/defs'\nimport { $Typed, Un$Typed } from './client/util'\nimport { BSKY_LABELER_DID } from './const'\nimport { interpretLabelValueDefinitions } from './moderation'\nimport { DEFAULT_LABEL_SETTINGS } from './moderation/const/labels'\nimport {\n InterpretedLabelValueDefinition,\n LabelPreference,\n ModerationPrefs,\n} from './moderation/types'\nimport * as predicate from './predicate'\nimport { SessionManager } from './session-manager'\nimport {\n AtpAgentGlobalOpts,\n AtprotoProxy,\n AtprotoServiceType,\n BskyFeedViewPreference,\n BskyInterestsPreference,\n BskyPreferences,\n BskyThreadViewPreference,\n asAtprotoProxy,\n asDid,\n isDid,\n} from './types'\nimport {\n getSavedFeedType,\n sanitizeMutedWordValue,\n savedFeedsToUriArrays,\n validateNux,\n validateSavedFeed,\n} from './util'\n\nconst FEED_VIEW_PREF_DEFAULTS = {\n hideReplies: false,\n hideRepliesByUnfollowed: true,\n hideRepliesByLikeCount: 0,\n hideReposts: false,\n hideQuotePosts: false,\n}\n\nconst THREAD_VIEW_PREF_DEFAULTS = {\n sort: 'hotness',\n}\n\nexport type { DidString, FetchHandler }\n\n/**\n * An {@link Agent} is an {@link AtpBaseClient} with the following\n * additional features:\n * - AT Protocol labelers configuration utilities\n * - AT Protocol proxy configuration utilities\n * - Cloning utilities\n * - `app.bsky` syntactic sugar\n * - `com.atproto` syntactic sugar\n */\nexport class Agent extends XrpcClient {\n //#region Static configuration\n\n /**\n * The labelers to be used across all requests with the takedown capability\n */\n static appLabelers: readonly string[] = [BSKY_LABELER_DID]\n\n /**\n * Configures the Agent (or its sub classes) globally.\n */\n static configure(opts: AtpAgentGlobalOpts) {\n if (opts.appLabelers) {\n this.appLabelers = opts.appLabelers.map(asDid) // Validate & copy\n }\n }\n\n //#endregion\n\n com = new ComNS(this)\n app = new AppNS(this)\n chat = new ChatNS(this)\n tools = new ToolsNS(this)\n\n /** @deprecated use `this` instead */\n get xrpc(): XrpcClient {\n return this\n }\n\n readonly sessionManager: SessionManager\n\n constructor(options: SessionManager | FetchHandler | FetchHandlerOptions) {\n const sessionManager: SessionManager =\n typeof options === 'object' && 'fetchHandler' in options\n ? options\n : {\n did: undefined,\n fetchHandler: buildFetchHandler(options),\n }\n\n super((url, init) => {\n const headers = new Headers(init?.headers)\n\n if (this.proxy && !headers.has('atproto-proxy')) {\n headers.set('atproto-proxy', this.proxy)\n }\n\n // Merge the labelers header of this particular request with the app &\n // instance labelers.\n headers.set(\n 'atproto-accept-labelers',\n [\n ...this.appLabelers.map((l) => `${l};redact`),\n ...this.labelers,\n headers.get('atproto-accept-labelers')?.trim(),\n ]\n .filter(Boolean)\n .join(', '),\n )\n\n return this.sessionManager.fetchHandler(url, { ...init, headers })\n }, schemas)\n\n this.sessionManager = sessionManager\n }\n\n //#region Cloning utilities\n\n clone(): Agent {\n return this.copyInto(new Agent(this.sessionManager))\n }\n\n copyInto<T extends Agent>(inst: T): T {\n inst.configureLabelers(this.labelers)\n inst.configureProxy(this.proxy ?? null)\n inst.clearHeaders()\n for (const [key, value] of this.headers) inst.setHeader(key, value)\n return inst\n }\n\n withProxy(serviceType: AtprotoServiceType, did: string) {\n const inst = this.clone()\n inst.configureProxy(`${asDid(did)}#${serviceType}`)\n return inst as ReturnType<this['clone']>\n }\n\n //#endregion\n\n //#region ATPROTO labelers configuration utilities\n\n /**\n * The labelers statically configured on the class of the current instance.\n */\n get appLabelers() {\n return (this.constructor as typeof Agent).appLabelers\n }\n\n labelers: readonly string[] = []\n\n configureLabelers(labelerDids: readonly string[]) {\n this.labelers = labelerDids.map(asDid) // Validate & copy\n }\n\n /** @deprecated use {@link configureLabelers} instead */\n configureLabelersHeader(labelerDids: readonly string[]) {\n // Filtering non-did values for backwards compatibility\n this.configureLabelers(labelerDids.filter(isDid))\n }\n\n //#endregion\n\n //#region ATPROTO proxy configuration utilities\n\n proxy?: AtprotoProxy\n\n configureProxy(value: AtprotoProxy | null) {\n if (value === null) this.proxy = undefined\n else this.proxy = asAtprotoProxy(value)\n }\n\n /** @deprecated use {@link configureProxy} instead */\n configureProxyHeader(serviceType: AtprotoServiceType, did: string) {\n // Ignoring non-did values for backwards compatibility\n if (isDid(did)) this.configureProxy(`${did}#${serviceType}`)\n }\n\n //#endregion\n\n //#region Session management\n\n /**\n * Get the authenticated user's DID, if any.\n */\n get did(): DidString | undefined {\n const { did } = this.sessionManager\n if (!did) return undefined\n ensureValidDidRegex(did)\n return did\n }\n\n /** @deprecated Use {@link Agent.assertDid} instead */\n get accountDid() {\n return this.assertDid\n }\n\n /**\n * Get the authenticated user's DID, or throw an error if not authenticated.\n */\n get assertDid(): DidString {\n this.assertAuthenticated()\n return this.did\n }\n\n /**\n * Assert that the user is authenticated.\n */\n public assertAuthenticated(): asserts this is { did: DidString } {\n if (!this.did) throw new Error('Not logged in')\n }\n\n //#endregion\n\n /** @deprecated use \"this\" instead */\n get api() {\n return this\n }\n\n //#region \"com.atproto\" lexicon short hand methods\n\n /**\n * Upload a binary blob to the server\n */\n uploadBlob: typeof this.com.atproto.repo.uploadBlob = (data, opts) =>\n this.com.atproto.repo.uploadBlob(data, opts)\n\n /**\n * Resolve a handle to a DID\n */\n resolveHandle: typeof this.com.atproto.identity.resolveHandle = (\n params,\n opts,\n ) => this.com.atproto.identity.resolveHandle(params, opts)\n\n /**\n * Change the user's handle\n */\n updateHandle: typeof this.com.atproto.identity.updateHandle = (data, opts) =>\n this.com.atproto.identity.updateHandle(data, opts)\n\n /**\n * Create a moderation report\n */\n createModerationReport: typeof this.com.atproto.moderation.createReport = (\n data,\n opts,\n ) => this.com.atproto.moderation.createReport(data, opts)\n\n //#endregion\n\n //#region \"app.bsky\" lexicon short hand methods\n\n getTimeline: typeof this.app.bsky.feed.getTimeline = (params, opts) =>\n this.app.bsky.feed.getTimeline(params, opts)\n\n getAuthorFeed: typeof this.app.bsky.feed.getAuthorFeed = (params, opts) =>\n this.app.bsky.feed.getAuthorFeed(params, opts)\n\n getActorLikes: typeof this.app.bsky.feed.getActorLikes = (params, opts) =>\n this.app.bsky.feed.getActorLikes(params, opts)\n\n getPostThread: typeof this.app.bsky.feed.getPostThread = (params, opts) =>\n this.app.bsky.feed.getPostThread(params, opts)\n\n getPost: typeof this.app.bsky.feed.post.get = (params) =>\n this.app.bsky.feed.post.get(params)\n\n getPosts: typeof this.app.bsky.feed.getPosts = (params, opts) =>\n this.app.bsky.feed.getPosts(params, opts)\n\n getLikes: typeof this.app.bsky.feed.getLikes = (params, opts) =>\n this.app.bsky.feed.getLikes(params, opts)\n\n getRepostedBy: typeof this.app.bsky.feed.getRepostedBy = (params, opts) =>\n this.app.bsky.feed.getRepostedBy(params, opts)\n\n getFollows: typeof this.app.bsky.graph.getFollows = (params, opts) =>\n this.app.bsky.graph.getFollows(params, opts)\n\n getFollowers: typeof this.app.bsky.graph.getFollowers = (params, opts) =>\n this.app.bsky.graph.getFollowers(params, opts)\n\n getProfile: typeof this.app.bsky.actor.getProfile = (params, opts) =>\n this.app.bsky.actor.getProfile(params, opts)\n\n getProfiles: typeof this.app.bsky.actor.getProfiles = (params, opts) =>\n this.app.bsky.actor.getProfiles(params, opts)\n\n getSuggestions: typeof this.app.bsky.actor.getSuggestions = (params, opts) =>\n this.app.bsky.actor.getSuggestions(params, opts)\n\n searchActors: typeof this.app.bsky.actor.searchActors = (params, opts) =>\n this.app.bsky.actor.searchActors(params, opts)\n\n searchActorsTypeahead: typeof this.app.bsky.actor.searchActorsTypeahead = (\n params,\n opts,\n ) => this.app.bsky.actor.searchActorsTypeahead(params, opts)\n\n listNotifications: typeof this.app.bsky.notification.listNotifications = (\n params,\n opts,\n ) => this.app.bsky.notification.listNotifications(params, opts)\n\n countUnreadNotifications: typeof this.app.bsky.notification.getUnreadCount = (\n params,\n opts,\n ) => this.app.bsky.notification.getUnreadCount(params, opts)\n\n getLabelers: typeof this.app.bsky.labeler.getServices = (params, opts) =>\n this.app.bsky.labeler.getServices(params, opts)\n\n async getLabelDefinitions(\n prefs: BskyPreferences | ModerationPrefs | string[],\n ): Promise<Record<string, InterpretedLabelValueDefinition[]>> {\n // collect the labeler dids\n const dids: string[] = [...this.appLabelers]\n if (isBskyPrefs(prefs)) {\n dids.push(...prefs.moderationPrefs.labelers.map((l) => l.did))\n } else if (isModPrefs(prefs)) {\n dids.push(...prefs.labelers.map((l) => l.did))\n } else {\n dids.push(...prefs)\n }\n\n // fetch their definitions\n const labelers = await this.getLabelers({\n dids,\n detailed: true,\n })\n\n // assemble a map of labeler dids to the interpreted label value definitions\n const labelDefs = {}\n if (labelers.data) {\n for (const labeler of labelers.data\n .views as AppBskyLabelerDefs.LabelerViewDetailed[]) {\n labelDefs[labeler.creator.did] = interpretLabelValueDefinitions(labeler)\n }\n }\n\n return labelDefs\n }\n\n async post(\n record: Partial<AppBskyFeedPost.Record> &\n Omit<AppBskyFeedPost.Record, 'createdAt'>,\n ) {\n record.createdAt ||= new Date().toISOString()\n return this.app.bsky.feed.post.create(\n { repo: this.accountDid },\n record as AppBskyFeedPost.Record,\n )\n }\n\n async deletePost(postUri: string) {\n this.assertAuthenticated()\n\n const postUrip = new AtUri(postUri)\n return this.app.bsky.feed.post.delete({\n repo: postUrip.hostname,\n rkey: postUrip.rkey,\n })\n }\n\n async like(uri: string, cid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.feed.like.create(\n { repo: this.accountDid },\n {\n subject: { uri, cid },\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteLike(likeUri: string) {\n this.assertAuthenticated()\n\n const likeUrip = new AtUri(likeUri)\n return this.app.bsky.feed.like.delete({\n repo: likeUrip.hostname,\n rkey: likeUrip.rkey,\n })\n }\n\n async repost(uri: string, cid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.feed.repost.create(\n { repo: this.accountDid },\n {\n subject: { uri, cid },\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteRepost(repostUri: string) {\n this.assertAuthenticated()\n\n const repostUrip = new AtUri(repostUri)\n return this.app.bsky.feed.repost.delete({\n repo: repostUrip.hostname,\n rkey: repostUrip.rkey,\n })\n }\n\n async follow(subjectDid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.graph.follow.create(\n { repo: this.accountDid },\n {\n subject: subjectDid,\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteFollow(followUri: string) {\n this.assertAuthenticated()\n\n const followUrip = new AtUri(followUri)\n return this.app.bsky.graph.follow.delete({\n repo: followUrip.hostname,\n rkey: followUrip.rkey,\n })\n }\n\n /**\n * @note: Using this method will reset the whole profile record if it\n * previously contained invalid values (wrt to the profile lexicon).\n */\n async upsertProfile(\n updateFn: (\n existing: AppBskyActorProfile.Record | undefined,\n ) =>\n | Un$Typed<AppBskyActorProfile.Record>\n | Promise<Un$Typed<AppBskyActorProfile.Record>>,\n ): Promise<void> {\n const upsert = async () => {\n const repo = this.assertDid\n const collection = 'app.bsky.actor.profile'\n\n const existing = await this.com.atproto.repo\n .getRecord({ repo, collection, rkey: 'self' })\n .catch((_) => undefined)\n\n const existingRecord: AppBskyActorProfile.Record | undefined =\n existing && predicate.isValidProfile(existing.data.value)\n ? existing.data.value\n : undefined\n\n // run the update\n const updated = await updateFn(existingRecord)\n\n // validate the value returned by the update function\n const validation = AppBskyActorProfile.validateRecord({\n $type: collection,\n ...updated,\n })\n\n if (!validation.success) {\n throw validation.error\n }\n\n await this.com.atproto.repo.putRecord({\n repo,\n collection,\n rkey: 'self',\n record: validation.value,\n swapRecord: existing?.data.cid || null,\n })\n }\n\n return retry(upsert, {\n maxRetries: 5,\n retryable: (e) => e instanceof ComAtprotoRepoPutRecord.InvalidSwapError,\n })\n }\n\n async mute(actor: string) {\n return this.app.bsky.graph.muteActor({ actor })\n }\n\n async unmute(actor: string) {\n return this.app.bsky.graph.unmuteActor({ actor })\n }\n\n async muteModList(uri: string) {\n return this.app.bsky.graph.muteActorList({ list: uri })\n }\n\n async unmuteModList(uri: string) {\n return this.app.bsky.graph.unmuteActorList({ list: uri })\n }\n\n async blockModList(uri: string) {\n return this.app.bsky.graph.listblock.create(\n { repo: this.accountDid },\n {\n subject: uri,\n createdAt: new Date().toISOString(),\n },\n )\n }\n\n async unblockModList(uri: string) {\n const repo = this.accountDid\n\n const listInfo = await this.app.bsky.graph.getList({\n list: uri,\n limit: 1,\n })\n\n const blocked = listInfo.data.list.viewer?.blocked\n if (blocked) {\n const { rkey } = new AtUri(blocked)\n return this.app.bsky.graph.listblock.delete({\n repo,\n rkey,\n })\n }\n }\n\n async updateSeenNotifications(seenAt = new Date().toISOString()) {\n return this.app.bsky.notification.updateSeen({ seenAt })\n }\n\n async getPreferences(): Promise<BskyPreferences> {\n const prefs: BskyPreferences = {\n feeds: {\n saved: undefined,\n pinned: undefined,\n },\n // @ts-ignore populating below\n savedFeeds: undefined,\n feedViewPrefs: {\n home: {\n ...FEED_VIEW_PREF_DEFAULTS,\n },\n },\n threadViewPrefs: { ...THREAD_VIEW_PREF_DEFAULTS },\n moderationPrefs: {\n adultContentEnabled: false,\n labels: { ...DEFAULT_LABEL_SETTINGS },\n labelers: this.appLabelers.map((did) => ({\n did,\n labels: {},\n })),\n mutedWords: [],\n hiddenPosts: [],\n },\n birthDate: undefined,\n interests: {\n tags: [],\n },\n bskyAppState: {\n queuedNudges: [],\n activeProgressGuide: undefined,\n nuxs: [],\n },\n postInteractionSettings: {\n threadgateAllowRules: undefined,\n postgateEmbeddingRules: undefined,\n },\n verificationPrefs: {\n hideBadges: false,\n },\n liveEventPreferences: {\n hiddenFeedIds: [],\n hideAllFeeds: false,\n },\n }\n const res = await this.app.bsky.actor.getPreferences({})\n const labelPrefs: AppBskyActorDefs.ContentLabelPref[] = []\n for (const pref of res.data.preferences) {\n if (predicate.isValidAdultContentPref(pref)) {\n // adult content preferences\n prefs.moderationPrefs.adultContentEnabled = pref.enabled\n } else if (predicate.isValidContentLabelPref(pref)) {\n // content label preference\n const adjustedPref = adjustLegacyContentLabelPref(pref)\n labelPrefs.push(adjustedPref)\n } else if (predicate.isValidLabelersPref(pref)) {\n // labelers preferences\n prefs.moderationPrefs.labelers = this.appLabelers\n .map((did: string) => ({ did, labels: {} }))\n .concat(\n pref.labelers.map((labeler) => ({\n ...labeler,\n labels: {},\n })),\n )\n } else if (predicate.isValidSavedFeedsPrefV2(pref)) {\n prefs.savedFeeds = pref.items\n } else if (predicate.isValidSavedFeedsPref(pref)) {\n // saved and pinned feeds\n prefs.feeds.saved = pref.saved\n prefs.feeds.pinned = pref.pinned\n } else if (predicate.isValidPersonalDetailsPref(pref)) {\n // birth date (irl)\n if (pref.birthDate) {\n prefs.birthDate = new Date(pref.birthDate)\n }\n } else if (predicate.isValidDeclaredAgePref(pref)) {\n const { $type: _, ...declaredAgePref } = pref\n prefs.declaredAge = declaredAgePref\n } else if (predicate.isValidFeedViewPref(pref)) {\n // feed view preferences\n const { $type: _, feed, ...v } = pref\n prefs.feedViewPrefs[feed] = { ...FEED_VIEW_PREF_DEFAULTS, ...v }\n } else if (predicate.isValidThreadViewPref(pref)) {\n // thread view preferences\n const { $type: _, ...v } = pref\n prefs.threadViewPrefs = { ...prefs.threadViewPrefs, ...v }\n } else if (predicate.isValidInterestsPref(pref)) {\n const { $type: _, ...v } = pref\n prefs.interests = { ...prefs.interests, ...v }\n } else if (predicate.isValidMutedWordsPref(pref)) {\n prefs.moderationPrefs.mutedWords = pref.items\n\n if (prefs.moderationPrefs.mutedWords.length) {\n prefs.moderationPrefs.mutedWords =\n prefs.moderationPrefs.mutedWords.map((word) => {\n word.actorTarget = word.actorTarget || 'all'\n return word\n })\n }\n } else if (predicate.isValidHiddenPostsPref(pref)) {\n prefs.moderationPrefs.hiddenPosts = pref.items\n } else if (predicate.isValidBskyAppStatePref(pref)) {\n prefs.bskyAppState.queuedNudges = pref.queuedNudges || []\n prefs.bskyAppState.activeProgressGuide = pref.activeProgressGuide\n prefs.bskyAppState.nuxs = pref.nuxs || []\n } else if (predicate.isValidPostInteractionSettingsPref(pref)) {\n prefs.postInteractionSettings.threadgateAllowRules =\n pref.threadgateAllowRules\n prefs.postInteractionSettings.postgateEmbeddingRules =\n pref.postgateEmbeddingRules\n } else if (predicate.isValidVerificationPrefs(pref)) {\n prefs.verificationPrefs = {\n hideBadges: pref.hideBadges,\n }\n } else if (predicate.isValidLiveEventPreferences(pref)) {\n prefs.liveEventPreferences = {\n hiddenFeedIds: pref.hiddenFeedIds || [],\n hideAllFeeds: pref.hideAllFeeds ?? false,\n }\n }\n }\n\n /*\n * If `prefs.savedFeeds` is undefined, no `savedFeedsPrefV2` exists, which\n * means we want to try to migrate if needed.\n *\n * If v1 prefs exist, they will be migrated to v2.\n *\n * If no v1 prefs exist, the user is either new, or could be old and has\n * never edited their feeds.\n */\n if (prefs.savedFeeds == null) {\n const { saved, pinned } = prefs.feeds\n\n if (saved && pinned) {\n const uniqueMigratedSavedFeeds: Map<\n string,\n AppBskyActorDefs.SavedFeed\n > = new Map()\n\n // insert Following feed first\n uniqueMigratedSavedFeeds.set('timeline', {\n id: TID.nextStr(),\n type: 'timeline',\n value: 'following',\n pinned: true,\n })\n\n // use pinned as source of truth for feed order\n for (const uri of pinned) {\n const type = getSavedFeedType(uri)\n // only want supported types\n if (type === 'unknown') continue\n uniqueMigratedSavedFeeds.set(uri, {\n id: TID.nextStr(),\n type,\n value: uri,\n pinned: true,\n })\n }\n\n for (const uri of saved) {\n if (!uniqueMigratedSavedFeeds.has(uri)) {\n const type = getSavedFeedType(uri)\n // only want supported types\n if (type === 'unknown') continue\n uniqueMigratedSavedFeeds.set(uri, {\n id: TID.nextStr(),\n type,\n value: uri,\n pinned: false,\n })\n }\n }\n\n prefs.savedFeeds = Array.from(uniqueMigratedSavedFeeds.values())\n } else {\n prefs.savedFeeds = [\n {\n id: TID.nextStr(),\n type: 'timeline',\n value: 'following',\n pinned: true,\n },\n ]\n }\n\n // save to user preferences so this migration doesn't re-occur\n await this.overwriteSavedFeeds(prefs.savedFeeds)\n }\n\n // apply the label prefs\n for (const pref of labelPrefs) {\n if (pref.labelerDid) {\n const labeler = prefs.moderationPrefs.labelers.find(\n (labeler) => labeler.did === pref.labelerDid,\n )\n if (!labeler) continue\n labeler.labels[pref.label] = pref.visibility as LabelPreference\n } else {\n prefs.moderationPrefs.labels[pref.label] =\n pref.visibility as LabelPreference\n }\n }\n\n prefs.moderationPrefs.labels = remapLegacyLabels(\n prefs.moderationPrefs.labels,\n )\n\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(res.data.preferences))\n\n return prefs\n }\n\n async overwriteSavedFeeds(savedFeeds: AppBskyActorDefs.SavedFeed[]) {\n savedFeeds.forEach(validateSavedFeed)\n const uniqueSavedFeeds = new Map<string, AppBskyActorDefs.SavedFeed>()\n savedFeeds.forEach((feed) => {\n // remove and re-insert to preserve order\n if (uniqueSavedFeeds.has(feed.id)) {\n uniqueSavedFeeds.delete(feed.id)\n }\n uniqueSavedFeeds.set(feed.id, feed)\n })\n return this.updateSavedFeedsV2Preferences(() =>\n Array.from(uniqueSavedFeeds.values()),\n )\n }\n\n async updateSavedFeeds(savedFeedsToUpdate: AppBskyActorDefs.SavedFeed[]) {\n savedFeedsToUpdate.map(validateSavedFeed)\n return this.updateSavedFeedsV2Preferences((savedFeeds) => {\n return savedFeeds.map((savedFeed) => {\n const updatedVersion = savedFeedsToUpdate.find(\n (updated) => savedFeed.id === updated.id,\n )\n if (updatedVersion) {\n return {\n ...savedFeed,\n // only update pinned\n pinned: updatedVersion.pinned,\n }\n }\n return savedFeed\n })\n })\n }\n\n async addSavedFeeds(\n savedFeeds: Pick<AppBskyActorDefs.SavedFeed, 'type' | 'value' | 'pinned'>[],\n ) {\n const toSave: AppBskyActorDefs.SavedFeed[] = savedFeeds.map((f) => ({\n ...f,\n id: TID.nextStr(),\n }))\n toSave.forEach(validateSavedFeed)\n return this.updateSavedFeedsV2Preferences((savedFeeds) => [\n ...savedFeeds,\n ...toSave,\n ])\n }\n\n async removeSavedFeeds(ids: string[]) {\n return this.updateSavedFeedsV2Preferences((savedFeeds) => [\n ...savedFeeds.filter((feed) => !ids.find((id) => feed.id === id)),\n ])\n }\n\n /**\n * @deprecated use `overwriteSavedFeeds`\n */\n async setSavedFeeds(saved: string[], pinned: string[]) {\n return this.updateFeedPreferences(() => ({\n saved,\n pinned,\n }))\n }\n\n /**\n * @deprecated use `addSavedFeeds`\n */\n async addSavedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: [...saved.filter((uri) => uri !== v), v],\n pinned,\n }))\n }\n\n /**\n * @deprecated use `removeSavedFeeds`\n */\n async removeSavedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: saved.filter((uri) => uri !== v),\n pinned: pinned.filter((uri) => uri !== v),\n }))\n }\n\n /**\n * @deprecated use `addSavedFeeds` or `updateSavedFeeds`\n */\n async addPinnedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: [...saved.filter((uri) => uri !== v), v],\n pinned: [...pinned.filter((uri) => uri !== v), v],\n }))\n }\n\n /**\n * @deprecated use `updateSavedFeeds` or `removeSavedFeeds`\n */\n async removePinnedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved,\n pinned: pinned.filter((uri) => uri !== v),\n }))\n }\n\n async setAdultContentEnabled(v: boolean) {\n await this.updatePreferences((prefs) => {\n const adultContentPref = prefs.findLast(\n predicate.isValidAdultContentPref,\n ) || {\n $type: 'app.bsky.actor.defs#adultContentPref',\n enabled: v,\n }\n\n adultContentPref.enabled = v\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isAdultContentPref(pref))\n .concat(adultContentPref)\n })\n }\n\n async setContentLabelPref(\n key: string,\n value: LabelPreference,\n labelerDid?: string,\n ) {\n if (labelerDid) {\n ensureValidDidRegex(labelerDid)\n }\n await this.updatePreferences((prefs) => {\n const labelPref = prefs\n .filter(predicate.isValidContentLabelPref)\n .findLast(\n (pref) => pref.label === key && pref.labelerDid === labelerDid,\n ) || {\n $type: 'app.bsky.actor.defs#contentLabelPref',\n label: key,\n labelerDid,\n visibility: value,\n }\n\n labelPref.visibility = value\n\n let legacyLabelPref: $Typed<AppBskyActorDefs.ContentLabelPref> | undefined\n if (AppBskyActorDefs.isContentLabelPref(labelPref)) {\n // is global\n if (!labelPref.labelerDid) {\n const legacyLabelValue = {\n 'graphic-media': 'gore',\n porn: 'nsfw',\n sexual: 'suggestive',\n // Protect against using toString, hasOwnProperty, etc. as a label:\n __proto__: null,\n }[labelPref.label]\n\n // if it's a legacy label, double-write the legacy label\n if (legacyLabelValue) {\n legacyLabelPref = prefs\n .filter(predicate.isValidContentLabelPref)\n .findLast(\n (pref) =>\n pref.label === legacyLabelValue &&\n pref.labelerDid === undefined,\n ) || {\n $type: 'app.bsky.actor.defs#contentLabelPref',\n label: legacyLabelValue,\n labelerDid: undefined,\n visibility: value,\n }\n\n legacyLabelPref!.visibility = value\n }\n }\n }\n\n return prefs\n .filter(\n (pref) =>\n !AppBskyActorDefs.isContentLabelPref(pref) ||\n !(pref.label === key && pref.labelerDid === labelerDid),\n )\n .concat(labelPref)\n .filter((pref) => {\n if (!legacyLabelPref) return true\n return (\n !AppBskyActorDefs.isContentLabelPref(pref) ||\n !(\n pref.label === legacyLabelPref.label &&\n pref.labelerDid === undefined\n )\n )\n })\n .concat(legacyLabelPref ? [legacyLabelPref] : [])\n })\n }\n\n async addLabeler(did: string) {\n const prefs = await this.updatePreferences((prefs) => {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref) || {\n $type: 'app.bsky.actor.defs#labelersPref',\n labelers: [],\n }\n\n if (!labelersPref.labelers.some((labeler) => labeler.did === did)) {\n labelersPref.labelers.push({ did })\n }\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isLabelersPref(pref))\n .concat(labelersPref)\n })\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(prefs))\n }\n\n async removeLabeler(did: string) {\n const prefs = await this.updatePreferences((prefs) => {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref) || {\n $type: 'app.bsky.actor.defs#labelersPref',\n labelers: [],\n }\n\n labelersPref.labelers = labelersPref.labelers.filter((l) => l.did !== did)\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isLabelersPref(pref))\n .concat(labelersPref)\n })\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(prefs))\n }\n\n async setPersonalDetails({\n birthDate,\n }: {\n birthDate: string | Date | undefined\n }) {\n await this.updatePreferences((prefs) => {\n const personalDetailsPref = prefs.findLast(\n predicate.isValidPersonalDetailsPref,\n ) || {\n $type: 'app.bsky.actor.defs#personalDetailsPref',\n }\n\n personalDetailsPref.birthDate =\n birthDate instanceof Date ? birthDate.toISOString() : birthDate\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isPersonalDetailsPref(pref))\n .concat(personalDetailsPref)\n })\n }\n\n async setFeedViewPrefs(feed: string, pref: Partial<BskyFeedViewPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs\n .filter(predicate.isValidFeedViewPref)\n .findLast((pref) => pref.feed === feed)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isFeedViewPref(p) || p.feed !== feed)\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#feedViewPref',\n feed,\n })\n })\n }\n\n async setThreadViewPrefs(pref: Partial<BskyThreadViewPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs.findLast(predicate.isValidThreadViewPref)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isThreadViewPref(p))\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#threadViewPref',\n })\n })\n }\n\n async setInterestsPref(pref: Partial<BskyInterestsPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs.findLast(predicate.isValidInterestsPref)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isInterestsPref(p))\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#interestsPref',\n })\n })\n }\n\n /**\n * Add a muted word to user preferences.\n */\n async addMutedWord(\n mutedWord: Pick<\n MutedWord,\n 'value' | 'targets' | 'actorTarget' | 'expiresAt'\n >,\n ) {\n const sanitizedValue = sanitizeMutedWordValue(mutedWord.value)\n\n if (!sanitizedValue) return\n\n await this.updatePreferences((prefs) => {\n let mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n const newMutedWord: AppBskyActorDefs.MutedWord = {\n id: TID.nextStr(),\n value: sanitizedValue,\n targets: mutedWord.targets || [],\n actorTarget: mutedWord.actorTarget || 'all',\n expiresAt: mutedWord.expiresAt || undefined,\n }\n\n if (mutedWordsPref) {\n mutedWordsPref.items.push(newMutedWord)\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n } else {\n // if the pref doesn't exist, create it\n mutedWordsPref = {\n $type: 'app.bsky.actor.defs#mutedWordsPref',\n items: [newMutedWord],\n }\n }\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n })\n }\n\n /**\n * Convenience method to add muted words to user preferences\n */\n async addMutedWords(newMutedWords: AppBskyActorDefs.MutedWord[]) {\n await Promise.all(newMutedWords.map((word) => this.addMutedWord(word)))\n }\n\n /**\n * @deprecated use `addMutedWords` or `addMutedWord` instead\n */\n async upsertMutedWords(\n mutedWords: Pick<\n MutedWord,\n 'value' | 'targets' | 'actorTarget' | 'expiresAt'\n >[],\n ) {\n await this.addMutedWords(mutedWords)\n }\n\n /**\n * Update a muted word in user preferences.\n */\n async updateMutedWord(mutedWord: AppBskyActorDefs.MutedWord) {\n await this.updatePreferences((prefs) => {\n const mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n if (mutedWordsPref) {\n mutedWordsPref.items = mutedWordsPref.items.map((existingItem) => {\n const match = matchMutedWord(existingItem, mutedWord)\n\n if (match) {\n const updated = {\n ...existingItem,\n ...mutedWord,\n }\n return {\n id: existingItem.id || TID.nextStr(),\n value:\n sanitizeMutedWordValue(updated.value) || existingItem.value,\n targets: updated.targets || [],\n actorTarget: updated.actorTarget || 'all',\n expiresAt: updated.expiresAt || undefined,\n }\n } else {\n return existingItem\n }\n })\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n }\n\n return prefs\n })\n }\n\n /**\n * Remove a muted word from user preferences.\n */\n async removeMutedWord(mutedWord: AppBskyActorDefs.MutedWord) {\n await this.updatePreferences((prefs) => {\n const mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n if (mutedWordsPref) {\n for (let i = 0; i < mutedWordsPref.items.length; i++) {\n const match = matchMutedWord(mutedWordsPref.items[i], mutedWord)\n\n if (match) {\n mutedWordsPref.items.splice(i, 1)\n break\n }\n }\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n }\n\n return prefs\n })\n }\n\n /**\n * Convenience method to remove muted words from user preferences\n */\n async removeMutedWords(mutedWords: AppBskyActorDefs.MutedWord[]) {\n await Promise.all(mutedWords.map((word) => this.removeMutedWord(word)))\n }\n\n async hidePost(postUri: string) {\n await this.updateHiddenPost(postUri, 'hide')\n }\n\n async unhidePost(postUri: string) {\n await this.updateHiddenPost(postUri, 'unhide')\n }\n\n async bskyAppQueueNudges(nudges: string | string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.queuedNudges = (pref.queuedNudges || []).concat(nudges)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async bskyAppDismissNudges(nudges: string | string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n nudges = Array.isArray(nudges) ? nudges : [nudges]\n pref.queuedNudges = (pref.queuedNudges || []).filter(\n (nudge) => !nudges.includes(nudge),\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async bskyAppSetActiveProgressGuide(\n guide: AppBskyActorDefs.BskyAppProgressGuide | undefined,\n ) {\n if (guide) {\n const result = AppBskyActorDefs.validateBskyAppProgressGuide(guide)\n if (!result.success) throw result.error\n }\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.activeProgressGuide = guide\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n /**\n * Insert or update a NUX in user prefs\n */\n async bskyAppUpsertNux(nux: Nux) {\n validateNux(nux)\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.nuxs = pref.nuxs || []\n\n const existing = pref.nuxs?.find((n) => {\n return n.id === nux.id\n })\n\n let next: AppBskyActorDefs.Nux\n\n if (existing) {\n next = {\n id: existing.id,\n completed: nux.completed,\n data: nux.data,\n expiresAt: nux.expiresAt,\n }\n } else {\n next = nux\n }\n\n // remove duplicates and append\n pref.nuxs = pref.nuxs.filter((n) => n.id !== nux.id).concat(next)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n /**\n * Removes NUXs from user preferences.\n */\n async bskyAppRemoveNuxs(ids: string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.nuxs = (pref.nuxs || []).filter((nux) => !ids.includes(nux.id))\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async setPostInteractionSettings(\n settings: AppBskyActorDefs.PostInteractionSettingsPref,\n ) {\n const result =\n AppBskyActorDefs.validatePostInteractionSettingsPref(settings)\n // Fool-proofing (should not be needed because of type safety)\n if (!result.success) throw result.error\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(\n predicate.isValidPostInteractionSettingsPref,\n ) || {\n $type: 'app.bsky.actor.defs#postInteractionSettingsPref',\n }\n\n /**\n * Matches handling of `threadgate.allow` where `undefined` means \"everyone\"\n */\n pref.threadgateAllowRules = settings.threadgateAllowRules\n pref.postgateEmbeddingRules = settings.postgateEmbeddingRules\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isPostInteractionSettingsPref(p))\n .concat(pref)\n })\n }\n\n async setVerificationPrefs(settings: AppBskyActorDefs.VerificationPrefs) {\n const result = AppBskyActorDefs.validateVerificationPrefs(settings)\n // Fool-proofing (should not be needed because of type safety)\n if (!result.success) throw result.error\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidVerificationPrefs) || {\n $type: 'app.bsky.actor.defs#verificationPrefs',\n hideBadges: false,\n }\n\n pref.hideBadges = settings.hideBadges\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isVerificationPrefs(p))\n .concat(pref)\n })\n }\n\n async updateLiveEventPreferences(\n action:\n | { type: 'hideFeed'; id: string }\n | { type: 'unhideFeed'; id: string }\n | { type: 'toggleHideAllFeeds' },\n ) {\n return this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidLiveEventPreferences) || {\n $type: 'app.bsky.actor.defs#liveEventPreferences',\n hiddenFeedIds: [],\n hideAllFeeds: false,\n }\n\n const hiddenFeedIds = new Set(pref.hiddenFeedIds || [])\n\n switch (action.type) {\n case 'hideFeed':\n hiddenFeedIds.add(action.id)\n break\n case 'unhideFeed':\n hiddenFeedIds.delete(action.id)\n break\n case 'toggleHideAllFeeds':\n pref.hideAllFeeds = !pref.hideAllFeeds\n break\n }\n\n pref.hiddenFeedIds = [...hiddenFeedIds]\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isLiveEventPreferences(p))\n .concat(pref)\n })\n }\n\n //- Private methods\n\n #prefsLock = new AwaitLock()\n\n /**\n * This function updates the preferences of a user and allows for a callback function to be executed\n * before the update.\n * @param cb - cb is a callback function that takes in a single parameter of type\n * AppBskyActorDefs.Preferences and returns either a boolean or void. This callback function is used to\n * update the preferences of the user. The function is called with the current preferences as an\n * argument and if the callback returns false, the preferences are not updated.\n */\n private async updatePreferences(\n cb: (\n prefs: AppBskyActorDefs.Preferences,\n ) => AppBskyActorDefs.Preferences | false,\n ) {\n try {\n await this.#prefsLock.acquireAsync()\n const res = await this.app.bsky.actor.getPreferences({})\n const newPrefs = cb(res.data.preferences)\n if (newPrefs === false) {\n return res.data.preferences\n }\n await this.app.bsky.actor.putPreferences({\n preferences: newPrefs,\n })\n return newPrefs\n } finally {\n this.#prefsLock.release()\n }\n }\n\n private async updateHiddenPost(postUri: string, action: 'hide' | 'unhide') {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidHiddenPostsPref) || {\n $type: 'app.bsky.actor.defs#hiddenPostsPref',\n items: [],\n }\n\n const hiddenItems = new Set(pref.items)\n\n if (action === 'hide') hiddenItems.add(postUri)\n else hiddenItems.delete(postUri)\n\n pref.items = [...hiddenItems]\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isHiddenPostsPref(p))\n .concat(pref)\n })\n }\n\n /**\n * A helper specifically for updating feed preferences\n */\n private async updateFeedPreferences(\n cb: (\n saved: string[],\n pinned: string[],\n ) => { saved: string[]; pinned: string[] },\n ): Promise<{ saved: string[]; pinned: string[] }> {\n let res\n await this.updatePreferences((prefs) => {\n const feedsPref = prefs.findLast(predicate.isValidSavedFeedsPref) || {\n $type: 'app.bsky.actor.defs#savedFeedsPref',\n saved: [],\n pinned: [],\n }\n\n res = cb(feedsPref.saved, feedsPref.pinned)\n feedsPref.saved = res.saved\n feedsPref.pinned = res.pinned\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPref(pref))\n .concat(feedsPref)\n })\n return res\n }\n\n private async updateSavedFeedsV2Preferences(\n cb: (\n savedFeedsPref: AppBskyActorDefs.SavedFeed[],\n ) => AppBskyActorDefs.SavedFeed[],\n ): Promise<AppBskyActorDefs.SavedFeed[]> {\n let maybeMutatedSavedFeeds: AppBskyActorDefs.SavedFeed[] = []\n\n await this.updatePreferences((prefs) => {\n const existingV2Pref = prefs.findLast(\n predicate.isValidSavedFeedsPrefV2,\n ) || {\n $type: 'app.bsky.actor.defs#savedFeedsPrefV2',\n items: [],\n }\n\n const newSavedFeeds = cb(existingV2Pref.items)\n\n // enforce ordering: pinned first, then saved\n existingV2Pref.items = [...newSavedFeeds].sort((a, b) =>\n // @NOTE: preserve order of items with the same pinned status\n a.pinned === b.pinned ? 0 : a.pinned ? -1 : 1,\n )\n\n // Store the return value\n maybeMutatedSavedFeeds = newSavedFeeds\n\n let updatedPrefs = prefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPrefV2(pref))\n .concat(existingV2Pref)\n\n /*\n * If there's a v2 pref present, it means this account was migrated from v1\n * to v2. During the transition period, we double write v2 prefs back to\n * v1, but NOT the other way around.\n */\n let existingV1Pref = prefs.findLast(predicate.isValidSavedFeedsPref)\n if (existingV1Pref) {\n const { saved, pinned } = existingV1Pref\n const v2Compat = savedFeedsToUriArrays(\n // v1 only supports feeds and lists\n existingV2Pref.items.filter((i) => ['feed', 'list'].includes(i.type)),\n )\n existingV1Pref = {\n ...existingV1Pref,\n saved: Array.from(new Set([...saved, ...v2Compat.saved])),\n pinned: Array.from(new Set([...pinned, ...v2Compat.pinned])),\n }\n updatedPrefs = updatedPrefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPref(pref))\n .concat(existingV1Pref)\n }\n\n return updatedPrefs\n })\n\n return maybeMutatedSavedFeeds\n }\n\n //#endregion\n}\n\n/**\n * Helper to transform the legacy content preferences.\n */\nfunction adjustLegacyContentLabelPref(\n pref: AppBskyActorDefs.ContentLabelPref,\n): AppBskyActorDefs.ContentLabelPref {\n let visibility = pref.visibility\n\n // adjust legacy values\n if (visibility === 'show') {\n visibility = 'ignore'\n }\n\n return { ...pref, visibility }\n}\n\n/**\n * Re-maps legacy labels to new labels on READ. Does not save these changes to\n * the user's preferences.\n */\nfunction remapLegacyLabels(\n labels: BskyPreferences['moderationPrefs']['labels'],\n) {\n const _labels = { ...labels }\n const legacyToNewMap: Record<string, string | undefined> = {\n gore: 'graphic-media',\n nsfw: 'porn',\n suggestive: 'sexual',\n }\n\n for (const labelName in _labels) {\n const newLabelName = legacyToNewMap[labelName]!\n if (newLabelName) {\n _labels[newLabelName] = _labels[labelName]\n }\n }\n\n return _labels\n}\n\n/**\n * A helper to get the currently enabled labelers from the full preferences array\n */\nfunction prefsArrayToLabelerDids(\n prefs: AppBskyActorDefs.Preferences,\n): string[] {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref)\n let dids: string[] = []\n if (labelersPref) {\n dids = (labelersPref as AppBskyActorDefs.LabelersPref).labelers.map(\n (labeler) => labeler.did,\n )\n }\n return dids\n}\n\nfunction isBskyPrefs(v: any): v is BskyPreferences {\n return (\n v &&\n typeof v === 'object' &&\n 'moderationPrefs' in v &&\n isModPrefs(v.moderationPrefs)\n )\n}\n\nfunction isModPrefs(v: any): v is ModerationPrefs {\n return v && typeof v === 'object' && 'labelers' in v\n}\n\nfunction migrateLegacyMutedWordsItems(items: AppBskyActorDefs.MutedWord[]) {\n return items.map((item) => ({\n ...item,\n id: item.id || TID.nextStr(),\n }))\n}\n\nfunction matchMutedWord(\n existingWord: AppBskyActorDefs.MutedWord,\n newWord: AppBskyActorDefs.MutedWord,\n): boolean {\n // id is undefined in legacy implementation\n const existingId = existingWord.id\n // prefer matching based on id\n const matchById = existingId && existingId === newWord.id\n // handle legacy case where id is not set\n const legacyMatchByValue = !existingId && existingWord.value === newWord.value\n\n return matchById || legacyMatchByValue\n}\n"]}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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","sourcesContent":["import AwaitLock from 'await-lock'\nimport { TID, retry } from '@atproto/common-web'\nimport { AtUri, DidString, ensureValidDidRegex } from '@atproto/syntax'\nimport {\n FetchHandler,\n FetchHandlerOptions,\n XrpcClient,\n buildFetchHandler,\n} from '@atproto/xrpc'\nimport {\n AppBskyActorDefs,\n AppBskyActorProfile,\n AppBskyFeedPost,\n AppBskyLabelerDefs,\n AppNS,\n ChatNS,\n ComAtprotoRepoPutRecord,\n ComNS,\n ToolsNS,\n} from './client/index.js'\nimport { schemas } from './client/lexicons.js'\nimport { MutedWord, Nux } from './client/types/app/bsky/actor/defs.js'\nimport { $Typed, Un$Typed } from './client/util.js'\nimport { BSKY_LABELER_DID } from './const.js'\nimport { DEFAULT_LABEL_SETTINGS } from './moderation/const/labels.js'\nimport { interpretLabelValueDefinitions } from './moderation/index.js'\nimport {\n InterpretedLabelValueDefinition,\n LabelPreference,\n ModerationPrefs,\n} from './moderation/types.js'\nimport * as predicate from './predicate.js'\nimport { SessionManager } from './session-manager.js'\nimport {\n AtpAgentGlobalOpts,\n AtprotoProxy,\n AtprotoServiceType,\n BskyFeedViewPreference,\n BskyInterestsPreference,\n BskyPreferences,\n BskyThreadViewPreference,\n asAtprotoProxy,\n asDid,\n isDid,\n} from './types.js'\nimport {\n getSavedFeedType,\n sanitizeMutedWordValue,\n savedFeedsToUriArrays,\n validateNux,\n validateSavedFeed,\n} from './util.js'\n\nconst FEED_VIEW_PREF_DEFAULTS = {\n hideReplies: false,\n hideRepliesByUnfollowed: true,\n hideRepliesByLikeCount: 0,\n hideReposts: false,\n hideQuotePosts: false,\n}\n\nconst THREAD_VIEW_PREF_DEFAULTS = {\n sort: 'hotness',\n}\n\nexport type { DidString, FetchHandler }\n\n/**\n * An {@link Agent} is an {@link AtpBaseClient} with the following\n * additional features:\n * - AT Protocol labelers configuration utilities\n * - AT Protocol proxy configuration utilities\n * - Cloning utilities\n * - `app.bsky` syntactic sugar\n * - `com.atproto` syntactic sugar\n */\nexport class Agent extends XrpcClient {\n //#region Static configuration\n\n /**\n * The labelers to be used across all requests with the takedown capability\n */\n static appLabelers: readonly string[] = [BSKY_LABELER_DID]\n\n /**\n * Configures the Agent (or its sub classes) globally.\n */\n static configure(opts: AtpAgentGlobalOpts) {\n if (opts.appLabelers) {\n this.appLabelers = opts.appLabelers.map(asDid) // Validate & copy\n }\n }\n\n //#endregion\n\n com = new ComNS(this)\n app = new AppNS(this)\n chat = new ChatNS(this)\n tools = new ToolsNS(this)\n\n /** @deprecated use `this` instead */\n get xrpc(): XrpcClient {\n return this\n }\n\n readonly sessionManager: SessionManager\n\n constructor(options: SessionManager | FetchHandler | FetchHandlerOptions) {\n const sessionManager: SessionManager =\n typeof options === 'object' && 'fetchHandler' in options\n ? options\n : {\n did: undefined,\n fetchHandler: buildFetchHandler(options),\n }\n\n super((url, init) => {\n const headers = new Headers(init?.headers)\n\n if (this.proxy && !headers.has('atproto-proxy')) {\n headers.set('atproto-proxy', this.proxy)\n }\n\n // Merge the labelers header of this particular request with the app &\n // instance labelers.\n headers.set(\n 'atproto-accept-labelers',\n [\n ...this.appLabelers.map((l) => `${l};redact`),\n ...this.labelers,\n headers.get('atproto-accept-labelers')?.trim(),\n ]\n .filter(Boolean)\n .join(', '),\n )\n\n return this.sessionManager.fetchHandler(url, { ...init, headers })\n }, schemas)\n\n this.sessionManager = sessionManager\n }\n\n //#region Cloning utilities\n\n clone(): Agent {\n return this.copyInto(new Agent(this.sessionManager))\n }\n\n copyInto<T extends Agent>(inst: T): T {\n inst.configureLabelers(this.labelers)\n inst.configureProxy(this.proxy ?? null)\n inst.clearHeaders()\n for (const [key, value] of this.headers) inst.setHeader(key, value)\n return inst\n }\n\n withProxy(serviceType: AtprotoServiceType, did: string) {\n const inst = this.clone()\n inst.configureProxy(`${asDid(did)}#${serviceType}`)\n return inst as ReturnType<this['clone']>\n }\n\n //#endregion\n\n //#region ATPROTO labelers configuration utilities\n\n /**\n * The labelers statically configured on the class of the current instance.\n */\n get appLabelers() {\n return (this.constructor as typeof Agent).appLabelers\n }\n\n labelers: readonly string[] = []\n\n configureLabelers(labelerDids: readonly string[]) {\n this.labelers = labelerDids.map(asDid) // Validate & copy\n }\n\n /** @deprecated use {@link configureLabelers} instead */\n configureLabelersHeader(labelerDids: readonly string[]) {\n // Filtering non-did values for backwards compatibility\n this.configureLabelers(labelerDids.filter(isDid))\n }\n\n //#endregion\n\n //#region ATPROTO proxy configuration utilities\n\n proxy?: AtprotoProxy\n\n configureProxy(value: AtprotoProxy | null) {\n if (value === null) this.proxy = undefined\n else this.proxy = asAtprotoProxy(value)\n }\n\n /** @deprecated use {@link configureProxy} instead */\n configureProxyHeader(serviceType: AtprotoServiceType, did: string) {\n // Ignoring non-did values for backwards compatibility\n if (isDid(did)) this.configureProxy(`${did}#${serviceType}`)\n }\n\n //#endregion\n\n //#region Session management\n\n /**\n * Get the authenticated user's DID, if any.\n */\n get did(): DidString | undefined {\n const { did } = this.sessionManager\n if (!did) return undefined\n ensureValidDidRegex(did)\n return did\n }\n\n /** @deprecated Use {@link Agent.assertDid} instead */\n get accountDid() {\n return this.assertDid\n }\n\n /**\n * Get the authenticated user's DID, or throw an error if not authenticated.\n */\n get assertDid(): DidString {\n this.assertAuthenticated()\n return this.did\n }\n\n /**\n * Assert that the user is authenticated.\n */\n public assertAuthenticated(): asserts this is { did: DidString } {\n if (!this.did) throw new Error('Not logged in')\n }\n\n //#endregion\n\n /** @deprecated use \"this\" instead */\n get api() {\n return this\n }\n\n //#region \"com.atproto\" lexicon short hand methods\n\n /**\n * Upload a binary blob to the server\n */\n uploadBlob: typeof this.com.atproto.repo.uploadBlob = (data, opts) =>\n this.com.atproto.repo.uploadBlob(data, opts)\n\n /**\n * Resolve a handle to a DID\n */\n resolveHandle: typeof this.com.atproto.identity.resolveHandle = (\n params,\n opts,\n ) => this.com.atproto.identity.resolveHandle(params, opts)\n\n /**\n * Change the user's handle\n */\n updateHandle: typeof this.com.atproto.identity.updateHandle = (data, opts) =>\n this.com.atproto.identity.updateHandle(data, opts)\n\n /**\n * Create a moderation report\n */\n createModerationReport: typeof this.com.atproto.moderation.createReport = (\n data,\n opts,\n ) => this.com.atproto.moderation.createReport(data, opts)\n\n //#endregion\n\n //#region \"app.bsky\" lexicon short hand methods\n\n getTimeline: typeof this.app.bsky.feed.getTimeline = (params, opts) =>\n this.app.bsky.feed.getTimeline(params, opts)\n\n getAuthorFeed: typeof this.app.bsky.feed.getAuthorFeed = (params, opts) =>\n this.app.bsky.feed.getAuthorFeed(params, opts)\n\n getActorLikes: typeof this.app.bsky.feed.getActorLikes = (params, opts) =>\n this.app.bsky.feed.getActorLikes(params, opts)\n\n getPostThread: typeof this.app.bsky.feed.getPostThread = (params, opts) =>\n this.app.bsky.feed.getPostThread(params, opts)\n\n getPost: typeof this.app.bsky.feed.post.get = (params) =>\n this.app.bsky.feed.post.get(params)\n\n getPosts: typeof this.app.bsky.feed.getPosts = (params, opts) =>\n this.app.bsky.feed.getPosts(params, opts)\n\n getLikes: typeof this.app.bsky.feed.getLikes = (params, opts) =>\n this.app.bsky.feed.getLikes(params, opts)\n\n getRepostedBy: typeof this.app.bsky.feed.getRepostedBy = (params, opts) =>\n this.app.bsky.feed.getRepostedBy(params, opts)\n\n getFollows: typeof this.app.bsky.graph.getFollows = (params, opts) =>\n this.app.bsky.graph.getFollows(params, opts)\n\n getFollowers: typeof this.app.bsky.graph.getFollowers = (params, opts) =>\n this.app.bsky.graph.getFollowers(params, opts)\n\n getProfile: typeof this.app.bsky.actor.getProfile = (params, opts) =>\n this.app.bsky.actor.getProfile(params, opts)\n\n getProfiles: typeof this.app.bsky.actor.getProfiles = (params, opts) =>\n this.app.bsky.actor.getProfiles(params, opts)\n\n getSuggestions: typeof this.app.bsky.actor.getSuggestions = (params, opts) =>\n this.app.bsky.actor.getSuggestions(params, opts)\n\n searchActors: typeof this.app.bsky.actor.searchActors = (params, opts) =>\n this.app.bsky.actor.searchActors(params, opts)\n\n searchActorsTypeahead: typeof this.app.bsky.actor.searchActorsTypeahead = (\n params,\n opts,\n ) => this.app.bsky.actor.searchActorsTypeahead(params, opts)\n\n listNotifications: typeof this.app.bsky.notification.listNotifications = (\n params,\n opts,\n ) => this.app.bsky.notification.listNotifications(params, opts)\n\n countUnreadNotifications: typeof this.app.bsky.notification.getUnreadCount = (\n params,\n opts,\n ) => this.app.bsky.notification.getUnreadCount(params, opts)\n\n getLabelers: typeof this.app.bsky.labeler.getServices = (params, opts) =>\n this.app.bsky.labeler.getServices(params, opts)\n\n async getLabelDefinitions(\n prefs: BskyPreferences | ModerationPrefs | string[],\n ): Promise<Record<string, InterpretedLabelValueDefinition[]>> {\n // collect the labeler dids\n const dids: string[] = [...this.appLabelers]\n if (isBskyPrefs(prefs)) {\n dids.push(...prefs.moderationPrefs.labelers.map((l) => l.did))\n } else if (isModPrefs(prefs)) {\n dids.push(...prefs.labelers.map((l) => l.did))\n } else {\n dids.push(...prefs)\n }\n\n // fetch their definitions\n const labelers = await this.getLabelers({\n dids,\n detailed: true,\n })\n\n // assemble a map of labeler dids to the interpreted label value definitions\n const labelDefs = {}\n if (labelers.data) {\n for (const labeler of labelers.data\n .views as AppBskyLabelerDefs.LabelerViewDetailed[]) {\n labelDefs[labeler.creator.did] = interpretLabelValueDefinitions(labeler)\n }\n }\n\n return labelDefs\n }\n\n async post(\n record: Partial<AppBskyFeedPost.Record> &\n Omit<AppBskyFeedPost.Record, 'createdAt'>,\n ) {\n record.createdAt ||= new Date().toISOString()\n return this.app.bsky.feed.post.create(\n { repo: this.accountDid },\n record as AppBskyFeedPost.Record,\n )\n }\n\n async deletePost(postUri: string) {\n this.assertAuthenticated()\n\n const postUrip = new AtUri(postUri)\n return this.app.bsky.feed.post.delete({\n repo: postUrip.hostname,\n rkey: postUrip.rkey,\n })\n }\n\n async like(uri: string, cid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.feed.like.create(\n { repo: this.accountDid },\n {\n subject: { uri, cid },\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteLike(likeUri: string) {\n this.assertAuthenticated()\n\n const likeUrip = new AtUri(likeUri)\n return this.app.bsky.feed.like.delete({\n repo: likeUrip.hostname,\n rkey: likeUrip.rkey,\n })\n }\n\n async repost(uri: string, cid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.feed.repost.create(\n { repo: this.accountDid },\n {\n subject: { uri, cid },\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteRepost(repostUri: string) {\n this.assertAuthenticated()\n\n const repostUrip = new AtUri(repostUri)\n return this.app.bsky.feed.repost.delete({\n repo: repostUrip.hostname,\n rkey: repostUrip.rkey,\n })\n }\n\n async follow(subjectDid: string, via?: { uri: string; cid: string }) {\n return this.app.bsky.graph.follow.create(\n { repo: this.accountDid },\n {\n subject: subjectDid,\n createdAt: new Date().toISOString(),\n via,\n },\n )\n }\n\n async deleteFollow(followUri: string) {\n this.assertAuthenticated()\n\n const followUrip = new AtUri(followUri)\n return this.app.bsky.graph.follow.delete({\n repo: followUrip.hostname,\n rkey: followUrip.rkey,\n })\n }\n\n /**\n * @note: Using this method will reset the whole profile record if it\n * previously contained invalid values (wrt to the profile lexicon).\n */\n async upsertProfile(\n updateFn: (\n existing: AppBskyActorProfile.Record | undefined,\n ) =>\n | Un$Typed<AppBskyActorProfile.Record>\n | Promise<Un$Typed<AppBskyActorProfile.Record>>,\n ): Promise<void> {\n const upsert = async () => {\n const repo = this.assertDid\n const collection = 'app.bsky.actor.profile'\n\n const existing = await this.com.atproto.repo\n .getRecord({ repo, collection, rkey: 'self' })\n .catch((_) => undefined)\n\n const existingRecord: AppBskyActorProfile.Record | undefined =\n existing && predicate.isValidProfile(existing.data.value)\n ? existing.data.value\n : undefined\n\n // run the update\n const updated = await updateFn(existingRecord)\n\n // validate the value returned by the update function\n const validation = AppBskyActorProfile.validateRecord({\n $type: collection,\n ...updated,\n })\n\n if (!validation.success) {\n throw validation.error\n }\n\n await this.com.atproto.repo.putRecord({\n repo,\n collection,\n rkey: 'self',\n record: validation.value,\n swapRecord: existing?.data.cid || null,\n })\n }\n\n return retry(upsert, {\n maxRetries: 5,\n retryable: (e) => e instanceof ComAtprotoRepoPutRecord.InvalidSwapError,\n })\n }\n\n async mute(actor: string) {\n return this.app.bsky.graph.muteActor({ actor })\n }\n\n async unmute(actor: string) {\n return this.app.bsky.graph.unmuteActor({ actor })\n }\n\n async muteModList(uri: string) {\n return this.app.bsky.graph.muteActorList({ list: uri })\n }\n\n async unmuteModList(uri: string) {\n return this.app.bsky.graph.unmuteActorList({ list: uri })\n }\n\n async blockModList(uri: string) {\n return this.app.bsky.graph.listblock.create(\n { repo: this.accountDid },\n {\n subject: uri,\n createdAt: new Date().toISOString(),\n },\n )\n }\n\n async unblockModList(uri: string) {\n const repo = this.accountDid\n\n const listInfo = await this.app.bsky.graph.getList({\n list: uri,\n limit: 1,\n })\n\n const blocked = listInfo.data.list.viewer?.blocked\n if (blocked) {\n const { rkey } = new AtUri(blocked)\n return this.app.bsky.graph.listblock.delete({\n repo,\n rkey,\n })\n }\n }\n\n async updateSeenNotifications(seenAt = new Date().toISOString()) {\n return this.app.bsky.notification.updateSeen({ seenAt })\n }\n\n async getPreferences(): Promise<BskyPreferences> {\n const prefs: BskyPreferences = {\n feeds: {\n saved: undefined,\n pinned: undefined,\n },\n // @ts-ignore populating below\n savedFeeds: undefined,\n feedViewPrefs: {\n home: {\n ...FEED_VIEW_PREF_DEFAULTS,\n },\n },\n threadViewPrefs: { ...THREAD_VIEW_PREF_DEFAULTS },\n moderationPrefs: {\n adultContentEnabled: false,\n labels: { ...DEFAULT_LABEL_SETTINGS },\n labelers: this.appLabelers.map((did) => ({\n did,\n labels: {},\n })),\n mutedWords: [],\n hiddenPosts: [],\n },\n birthDate: undefined,\n interests: {\n tags: [],\n },\n bskyAppState: {\n queuedNudges: [],\n activeProgressGuide: undefined,\n nuxs: [],\n },\n postInteractionSettings: {\n threadgateAllowRules: undefined,\n postgateEmbeddingRules: undefined,\n },\n verificationPrefs: {\n hideBadges: false,\n },\n liveEventPreferences: {\n hiddenFeedIds: [],\n hideAllFeeds: false,\n },\n }\n const res = await this.app.bsky.actor.getPreferences({})\n const labelPrefs: AppBskyActorDefs.ContentLabelPref[] = []\n for (const pref of res.data.preferences) {\n if (predicate.isValidAdultContentPref(pref)) {\n // adult content preferences\n prefs.moderationPrefs.adultContentEnabled = pref.enabled\n } else if (predicate.isValidContentLabelPref(pref)) {\n // content label preference\n const adjustedPref = adjustLegacyContentLabelPref(pref)\n labelPrefs.push(adjustedPref)\n } else if (predicate.isValidLabelersPref(pref)) {\n // labelers preferences\n prefs.moderationPrefs.labelers = this.appLabelers\n .map((did: string) => ({ did, labels: {} }))\n .concat(\n pref.labelers.map((labeler) => ({\n ...labeler,\n labels: {},\n })),\n )\n } else if (predicate.isValidSavedFeedsPrefV2(pref)) {\n prefs.savedFeeds = pref.items\n } else if (predicate.isValidSavedFeedsPref(pref)) {\n // saved and pinned feeds\n prefs.feeds.saved = pref.saved\n prefs.feeds.pinned = pref.pinned\n } else if (predicate.isValidPersonalDetailsPref(pref)) {\n // birth date (irl)\n if (pref.birthDate) {\n prefs.birthDate = new Date(pref.birthDate)\n }\n } else if (predicate.isValidDeclaredAgePref(pref)) {\n const { $type: _, ...declaredAgePref } = pref\n prefs.declaredAge = declaredAgePref\n } else if (predicate.isValidFeedViewPref(pref)) {\n // feed view preferences\n const { $type: _, feed, ...v } = pref\n prefs.feedViewPrefs[feed] = { ...FEED_VIEW_PREF_DEFAULTS, ...v }\n } else if (predicate.isValidThreadViewPref(pref)) {\n // thread view preferences\n const { $type: _, ...v } = pref\n prefs.threadViewPrefs = { ...prefs.threadViewPrefs, ...v }\n } else if (predicate.isValidInterestsPref(pref)) {\n const { $type: _, ...v } = pref\n prefs.interests = { ...prefs.interests, ...v }\n } else if (predicate.isValidMutedWordsPref(pref)) {\n prefs.moderationPrefs.mutedWords = pref.items\n\n if (prefs.moderationPrefs.mutedWords.length) {\n prefs.moderationPrefs.mutedWords =\n prefs.moderationPrefs.mutedWords.map((word) => {\n word.actorTarget = word.actorTarget || 'all'\n return word\n })\n }\n } else if (predicate.isValidHiddenPostsPref(pref)) {\n prefs.moderationPrefs.hiddenPosts = pref.items\n } else if (predicate.isValidBskyAppStatePref(pref)) {\n prefs.bskyAppState.queuedNudges = pref.queuedNudges || []\n prefs.bskyAppState.activeProgressGuide = pref.activeProgressGuide\n prefs.bskyAppState.nuxs = pref.nuxs || []\n } else if (predicate.isValidPostInteractionSettingsPref(pref)) {\n prefs.postInteractionSettings.threadgateAllowRules =\n pref.threadgateAllowRules\n prefs.postInteractionSettings.postgateEmbeddingRules =\n pref.postgateEmbeddingRules\n } else if (predicate.isValidVerificationPrefs(pref)) {\n prefs.verificationPrefs = {\n hideBadges: pref.hideBadges,\n }\n } else if (predicate.isValidLiveEventPreferences(pref)) {\n prefs.liveEventPreferences = {\n hiddenFeedIds: pref.hiddenFeedIds || [],\n hideAllFeeds: pref.hideAllFeeds ?? false,\n }\n }\n }\n\n /*\n * If `prefs.savedFeeds` is undefined, no `savedFeedsPrefV2` exists, which\n * means we want to try to migrate if needed.\n *\n * If v1 prefs exist, they will be migrated to v2.\n *\n * If no v1 prefs exist, the user is either new, or could be old and has\n * never edited their feeds.\n */\n if (prefs.savedFeeds == null) {\n const { saved, pinned } = prefs.feeds\n\n if (saved && pinned) {\n const uniqueMigratedSavedFeeds: Map<\n string,\n AppBskyActorDefs.SavedFeed\n > = new Map()\n\n // insert Following feed first\n uniqueMigratedSavedFeeds.set('timeline', {\n id: TID.nextStr(),\n type: 'timeline',\n value: 'following',\n pinned: true,\n })\n\n // use pinned as source of truth for feed order\n for (const uri of pinned) {\n const type = getSavedFeedType(uri)\n // only want supported types\n if (type === 'unknown') continue\n uniqueMigratedSavedFeeds.set(uri, {\n id: TID.nextStr(),\n type,\n value: uri,\n pinned: true,\n })\n }\n\n for (const uri of saved) {\n if (!uniqueMigratedSavedFeeds.has(uri)) {\n const type = getSavedFeedType(uri)\n // only want supported types\n if (type === 'unknown') continue\n uniqueMigratedSavedFeeds.set(uri, {\n id: TID.nextStr(),\n type,\n value: uri,\n pinned: false,\n })\n }\n }\n\n prefs.savedFeeds = Array.from(uniqueMigratedSavedFeeds.values())\n } else {\n prefs.savedFeeds = [\n {\n id: TID.nextStr(),\n type: 'timeline',\n value: 'following',\n pinned: true,\n },\n ]\n }\n\n // save to user preferences so this migration doesn't re-occur\n await this.overwriteSavedFeeds(prefs.savedFeeds)\n }\n\n // apply the label prefs\n for (const pref of labelPrefs) {\n if (pref.labelerDid) {\n const labeler = prefs.moderationPrefs.labelers.find(\n (labeler) => labeler.did === pref.labelerDid,\n )\n if (!labeler) continue\n labeler.labels[pref.label] = pref.visibility as LabelPreference\n } else {\n prefs.moderationPrefs.labels[pref.label] =\n pref.visibility as LabelPreference\n }\n }\n\n prefs.moderationPrefs.labels = remapLegacyLabels(\n prefs.moderationPrefs.labels,\n )\n\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(res.data.preferences))\n\n return prefs\n }\n\n async overwriteSavedFeeds(savedFeeds: AppBskyActorDefs.SavedFeed[]) {\n savedFeeds.forEach(validateSavedFeed)\n const uniqueSavedFeeds = new Map<string, AppBskyActorDefs.SavedFeed>()\n savedFeeds.forEach((feed) => {\n // remove and re-insert to preserve order\n if (uniqueSavedFeeds.has(feed.id)) {\n uniqueSavedFeeds.delete(feed.id)\n }\n uniqueSavedFeeds.set(feed.id, feed)\n })\n return this.updateSavedFeedsV2Preferences(() =>\n Array.from(uniqueSavedFeeds.values()),\n )\n }\n\n async updateSavedFeeds(savedFeedsToUpdate: AppBskyActorDefs.SavedFeed[]) {\n savedFeedsToUpdate.map(validateSavedFeed)\n return this.updateSavedFeedsV2Preferences((savedFeeds) => {\n return savedFeeds.map((savedFeed) => {\n const updatedVersion = savedFeedsToUpdate.find(\n (updated) => savedFeed.id === updated.id,\n )\n if (updatedVersion) {\n return {\n ...savedFeed,\n // only update pinned\n pinned: updatedVersion.pinned,\n }\n }\n return savedFeed\n })\n })\n }\n\n async addSavedFeeds(\n savedFeeds: Pick<AppBskyActorDefs.SavedFeed, 'type' | 'value' | 'pinned'>[],\n ) {\n const toSave: AppBskyActorDefs.SavedFeed[] = savedFeeds.map((f) => ({\n ...f,\n id: TID.nextStr(),\n }))\n toSave.forEach(validateSavedFeed)\n return this.updateSavedFeedsV2Preferences((savedFeeds) => [\n ...savedFeeds,\n ...toSave,\n ])\n }\n\n async removeSavedFeeds(ids: string[]) {\n return this.updateSavedFeedsV2Preferences((savedFeeds) => [\n ...savedFeeds.filter((feed) => !ids.find((id) => feed.id === id)),\n ])\n }\n\n /**\n * @deprecated use `overwriteSavedFeeds`\n */\n async setSavedFeeds(saved: string[], pinned: string[]) {\n return this.updateFeedPreferences(() => ({\n saved,\n pinned,\n }))\n }\n\n /**\n * @deprecated use `addSavedFeeds`\n */\n async addSavedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: [...saved.filter((uri) => uri !== v), v],\n pinned,\n }))\n }\n\n /**\n * @deprecated use `removeSavedFeeds`\n */\n async removeSavedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: saved.filter((uri) => uri !== v),\n pinned: pinned.filter((uri) => uri !== v),\n }))\n }\n\n /**\n * @deprecated use `addSavedFeeds` or `updateSavedFeeds`\n */\n async addPinnedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved: [...saved.filter((uri) => uri !== v), v],\n pinned: [...pinned.filter((uri) => uri !== v), v],\n }))\n }\n\n /**\n * @deprecated use `updateSavedFeeds` or `removeSavedFeeds`\n */\n async removePinnedFeed(v: string) {\n return this.updateFeedPreferences((saved: string[], pinned: string[]) => ({\n saved,\n pinned: pinned.filter((uri) => uri !== v),\n }))\n }\n\n async setAdultContentEnabled(v: boolean) {\n await this.updatePreferences((prefs) => {\n const adultContentPref = prefs.findLast(\n predicate.isValidAdultContentPref,\n ) || {\n $type: 'app.bsky.actor.defs#adultContentPref',\n enabled: v,\n }\n\n adultContentPref.enabled = v\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isAdultContentPref(pref))\n .concat(adultContentPref)\n })\n }\n\n async setContentLabelPref(\n key: string,\n value: LabelPreference,\n labelerDid?: string,\n ) {\n if (labelerDid) {\n ensureValidDidRegex(labelerDid)\n }\n await this.updatePreferences((prefs) => {\n const labelPref = prefs\n .filter(predicate.isValidContentLabelPref)\n .findLast(\n (pref) => pref.label === key && pref.labelerDid === labelerDid,\n ) || {\n $type: 'app.bsky.actor.defs#contentLabelPref',\n label: key,\n labelerDid,\n visibility: value,\n }\n\n labelPref.visibility = value\n\n let legacyLabelPref: $Typed<AppBskyActorDefs.ContentLabelPref> | undefined\n if (AppBskyActorDefs.isContentLabelPref(labelPref)) {\n // is global\n if (!labelPref.labelerDid) {\n const legacyLabelValue = {\n 'graphic-media': 'gore',\n porn: 'nsfw',\n sexual: 'suggestive',\n // Protect against using toString, hasOwnProperty, etc. as a label:\n __proto__: null,\n }[labelPref.label]\n\n // if it's a legacy label, double-write the legacy label\n if (legacyLabelValue) {\n legacyLabelPref = prefs\n .filter(predicate.isValidContentLabelPref)\n .findLast(\n (pref) =>\n pref.label === legacyLabelValue &&\n pref.labelerDid === undefined,\n ) || {\n $type: 'app.bsky.actor.defs#contentLabelPref',\n label: legacyLabelValue,\n labelerDid: undefined,\n visibility: value,\n }\n\n legacyLabelPref!.visibility = value\n }\n }\n }\n\n return prefs\n .filter(\n (pref) =>\n !AppBskyActorDefs.isContentLabelPref(pref) ||\n !(pref.label === key && pref.labelerDid === labelerDid),\n )\n .concat(labelPref)\n .filter((pref) => {\n if (!legacyLabelPref) return true\n return (\n !AppBskyActorDefs.isContentLabelPref(pref) ||\n !(\n pref.label === legacyLabelPref.label &&\n pref.labelerDid === undefined\n )\n )\n })\n .concat(legacyLabelPref ? [legacyLabelPref] : [])\n })\n }\n\n async addLabeler(did: string) {\n const prefs = await this.updatePreferences((prefs) => {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref) || {\n $type: 'app.bsky.actor.defs#labelersPref',\n labelers: [],\n }\n\n if (!labelersPref.labelers.some((labeler) => labeler.did === did)) {\n labelersPref.labelers.push({ did })\n }\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isLabelersPref(pref))\n .concat(labelersPref)\n })\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(prefs))\n }\n\n async removeLabeler(did: string) {\n const prefs = await this.updatePreferences((prefs) => {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref) || {\n $type: 'app.bsky.actor.defs#labelersPref',\n labelers: [],\n }\n\n labelersPref.labelers = labelersPref.labelers.filter((l) => l.did !== did)\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isLabelersPref(pref))\n .concat(labelersPref)\n })\n // automatically configure the client\n this.configureLabelers(prefsArrayToLabelerDids(prefs))\n }\n\n async setPersonalDetails({\n birthDate,\n }: {\n birthDate: string | Date | undefined\n }) {\n await this.updatePreferences((prefs) => {\n const personalDetailsPref = prefs.findLast(\n predicate.isValidPersonalDetailsPref,\n ) || {\n $type: 'app.bsky.actor.defs#personalDetailsPref',\n }\n\n personalDetailsPref.birthDate =\n birthDate instanceof Date ? birthDate.toISOString() : birthDate\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isPersonalDetailsPref(pref))\n .concat(personalDetailsPref)\n })\n }\n\n async setFeedViewPrefs(feed: string, pref: Partial<BskyFeedViewPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs\n .filter(predicate.isValidFeedViewPref)\n .findLast((pref) => pref.feed === feed)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isFeedViewPref(p) || p.feed !== feed)\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#feedViewPref',\n feed,\n })\n })\n }\n\n async setThreadViewPrefs(pref: Partial<BskyThreadViewPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs.findLast(predicate.isValidThreadViewPref)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isThreadViewPref(p))\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#threadViewPref',\n })\n })\n }\n\n async setInterestsPref(pref: Partial<BskyInterestsPreference>) {\n await this.updatePreferences((prefs) => {\n const existing = prefs.findLast(predicate.isValidInterestsPref)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isInterestsPref(p))\n .concat({\n ...existing,\n ...pref,\n $type: 'app.bsky.actor.defs#interestsPref',\n })\n })\n }\n\n /**\n * Add a muted word to user preferences.\n */\n async addMutedWord(\n mutedWord: Pick<\n MutedWord,\n 'value' | 'targets' | 'actorTarget' | 'expiresAt'\n >,\n ) {\n const sanitizedValue = sanitizeMutedWordValue(mutedWord.value)\n\n if (!sanitizedValue) return\n\n await this.updatePreferences((prefs) => {\n let mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n const newMutedWord: AppBskyActorDefs.MutedWord = {\n id: TID.nextStr(),\n value: sanitizedValue,\n targets: mutedWord.targets || [],\n actorTarget: mutedWord.actorTarget || 'all',\n expiresAt: mutedWord.expiresAt || undefined,\n }\n\n if (mutedWordsPref) {\n mutedWordsPref.items.push(newMutedWord)\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n } else {\n // if the pref doesn't exist, create it\n mutedWordsPref = {\n $type: 'app.bsky.actor.defs#mutedWordsPref',\n items: [newMutedWord],\n }\n }\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n })\n }\n\n /**\n * Convenience method to add muted words to user preferences\n */\n async addMutedWords(newMutedWords: AppBskyActorDefs.MutedWord[]) {\n await Promise.all(newMutedWords.map((word) => this.addMutedWord(word)))\n }\n\n /**\n * @deprecated use `addMutedWords` or `addMutedWord` instead\n */\n async upsertMutedWords(\n mutedWords: Pick<\n MutedWord,\n 'value' | 'targets' | 'actorTarget' | 'expiresAt'\n >[],\n ) {\n await this.addMutedWords(mutedWords)\n }\n\n /**\n * Update a muted word in user preferences.\n */\n async updateMutedWord(mutedWord: AppBskyActorDefs.MutedWord) {\n await this.updatePreferences((prefs) => {\n const mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n if (mutedWordsPref) {\n mutedWordsPref.items = mutedWordsPref.items.map((existingItem) => {\n const match = matchMutedWord(existingItem, mutedWord)\n\n if (match) {\n const updated = {\n ...existingItem,\n ...mutedWord,\n }\n return {\n id: existingItem.id || TID.nextStr(),\n value:\n sanitizeMutedWordValue(updated.value) || existingItem.value,\n targets: updated.targets || [],\n actorTarget: updated.actorTarget || 'all',\n expiresAt: updated.expiresAt || undefined,\n }\n } else {\n return existingItem\n }\n })\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n }\n\n return prefs\n })\n }\n\n /**\n * Remove a muted word from user preferences.\n */\n async removeMutedWord(mutedWord: AppBskyActorDefs.MutedWord) {\n await this.updatePreferences((prefs) => {\n const mutedWordsPref = prefs.findLast(predicate.isValidMutedWordsPref)\n\n if (mutedWordsPref) {\n for (let i = 0; i < mutedWordsPref.items.length; i++) {\n const match = matchMutedWord(mutedWordsPref.items[i], mutedWord)\n\n if (match) {\n mutedWordsPref.items.splice(i, 1)\n break\n }\n }\n\n /**\n * Migrate any old muted words that don't have an id\n */\n mutedWordsPref.items = migrateLegacyMutedWordsItems(\n mutedWordsPref.items,\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isMutedWordsPref(p))\n .concat(mutedWordsPref)\n }\n\n return prefs\n })\n }\n\n /**\n * Convenience method to remove muted words from user preferences\n */\n async removeMutedWords(mutedWords: AppBskyActorDefs.MutedWord[]) {\n await Promise.all(mutedWords.map((word) => this.removeMutedWord(word)))\n }\n\n async hidePost(postUri: string) {\n await this.updateHiddenPost(postUri, 'hide')\n }\n\n async unhidePost(postUri: string) {\n await this.updateHiddenPost(postUri, 'unhide')\n }\n\n async bskyAppQueueNudges(nudges: string | string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.queuedNudges = (pref.queuedNudges || []).concat(nudges)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async bskyAppDismissNudges(nudges: string | string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n nudges = Array.isArray(nudges) ? nudges : [nudges]\n pref.queuedNudges = (pref.queuedNudges || []).filter(\n (nudge) => !nudges.includes(nudge),\n )\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async bskyAppSetActiveProgressGuide(\n guide: AppBskyActorDefs.BskyAppProgressGuide | undefined,\n ) {\n if (guide) {\n const result = AppBskyActorDefs.validateBskyAppProgressGuide(guide)\n if (!result.success) throw result.error\n }\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.activeProgressGuide = guide\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n /**\n * Insert or update a NUX in user prefs\n */\n async bskyAppUpsertNux(nux: Nux) {\n validateNux(nux)\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.nuxs = pref.nuxs || []\n\n const existing = pref.nuxs?.find((n) => {\n return n.id === nux.id\n })\n\n let next: AppBskyActorDefs.Nux\n\n if (existing) {\n next = {\n id: existing.id,\n completed: nux.completed,\n data: nux.data,\n expiresAt: nux.expiresAt,\n }\n } else {\n next = nux\n }\n\n // remove duplicates and append\n pref.nuxs = pref.nuxs.filter((n) => n.id !== nux.id).concat(next)\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n /**\n * Removes NUXs from user preferences.\n */\n async bskyAppRemoveNuxs(ids: string[]) {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidBskyAppStatePref) || {\n $type: 'app.bsky.actor.defs#bskyAppStatePref',\n }\n\n pref.nuxs = (pref.nuxs || []).filter((nux) => !ids.includes(nux.id))\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isBskyAppStatePref(p))\n .concat(pref)\n })\n }\n\n async setPostInteractionSettings(\n settings: AppBskyActorDefs.PostInteractionSettingsPref,\n ) {\n const result =\n AppBskyActorDefs.validatePostInteractionSettingsPref(settings)\n // Fool-proofing (should not be needed because of type safety)\n if (!result.success) throw result.error\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(\n predicate.isValidPostInteractionSettingsPref,\n ) || {\n $type: 'app.bsky.actor.defs#postInteractionSettingsPref',\n }\n\n /**\n * Matches handling of `threadgate.allow` where `undefined` means \"everyone\"\n */\n pref.threadgateAllowRules = settings.threadgateAllowRules\n pref.postgateEmbeddingRules = settings.postgateEmbeddingRules\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isPostInteractionSettingsPref(p))\n .concat(pref)\n })\n }\n\n async setVerificationPrefs(settings: AppBskyActorDefs.VerificationPrefs) {\n const result = AppBskyActorDefs.validateVerificationPrefs(settings)\n // Fool-proofing (should not be needed because of type safety)\n if (!result.success) throw result.error\n\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidVerificationPrefs) || {\n $type: 'app.bsky.actor.defs#verificationPrefs',\n hideBadges: false,\n }\n\n pref.hideBadges = settings.hideBadges\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isVerificationPrefs(p))\n .concat(pref)\n })\n }\n\n async updateLiveEventPreferences(\n action:\n | { type: 'hideFeed'; id: string }\n | { type: 'unhideFeed'; id: string }\n | { type: 'toggleHideAllFeeds' },\n ) {\n return this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidLiveEventPreferences) || {\n $type: 'app.bsky.actor.defs#liveEventPreferences',\n hiddenFeedIds: [],\n hideAllFeeds: false,\n }\n\n const hiddenFeedIds = new Set(pref.hiddenFeedIds || [])\n\n switch (action.type) {\n case 'hideFeed':\n hiddenFeedIds.add(action.id)\n break\n case 'unhideFeed':\n hiddenFeedIds.delete(action.id)\n break\n case 'toggleHideAllFeeds':\n pref.hideAllFeeds = !pref.hideAllFeeds\n break\n }\n\n pref.hiddenFeedIds = [...hiddenFeedIds]\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isLiveEventPreferences(p))\n .concat(pref)\n })\n }\n\n //- Private methods\n\n #prefsLock = new AwaitLock()\n\n /**\n * This function updates the preferences of a user and allows for a callback function to be executed\n * before the update.\n * @param cb - cb is a callback function that takes in a single parameter of type\n * AppBskyActorDefs.Preferences and returns either a boolean or void. This callback function is used to\n * update the preferences of the user. The function is called with the current preferences as an\n * argument and if the callback returns false, the preferences are not updated.\n */\n private async updatePreferences(\n cb: (\n prefs: AppBskyActorDefs.Preferences,\n ) => AppBskyActorDefs.Preferences | false,\n ) {\n try {\n await this.#prefsLock.acquireAsync()\n const res = await this.app.bsky.actor.getPreferences({})\n const newPrefs = cb(res.data.preferences)\n if (newPrefs === false) {\n return res.data.preferences\n }\n await this.app.bsky.actor.putPreferences({\n preferences: newPrefs,\n })\n return newPrefs\n } finally {\n this.#prefsLock.release()\n }\n }\n\n private async updateHiddenPost(postUri: string, action: 'hide' | 'unhide') {\n await this.updatePreferences((prefs) => {\n const pref = prefs.findLast(predicate.isValidHiddenPostsPref) || {\n $type: 'app.bsky.actor.defs#hiddenPostsPref',\n items: [],\n }\n\n const hiddenItems = new Set(pref.items)\n\n if (action === 'hide') hiddenItems.add(postUri)\n else hiddenItems.delete(postUri)\n\n pref.items = [...hiddenItems]\n\n return prefs\n .filter((p) => !AppBskyActorDefs.isHiddenPostsPref(p))\n .concat(pref)\n })\n }\n\n /**\n * A helper specifically for updating feed preferences\n */\n private async updateFeedPreferences(\n cb: (\n saved: string[],\n pinned: string[],\n ) => { saved: string[]; pinned: string[] },\n ): Promise<{ saved: string[]; pinned: string[] }> {\n let res\n await this.updatePreferences((prefs) => {\n const feedsPref = prefs.findLast(predicate.isValidSavedFeedsPref) || {\n $type: 'app.bsky.actor.defs#savedFeedsPref',\n saved: [],\n pinned: [],\n }\n\n res = cb(feedsPref.saved, feedsPref.pinned)\n feedsPref.saved = res.saved\n feedsPref.pinned = res.pinned\n\n return prefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPref(pref))\n .concat(feedsPref)\n })\n return res\n }\n\n private async updateSavedFeedsV2Preferences(\n cb: (\n savedFeedsPref: AppBskyActorDefs.SavedFeed[],\n ) => AppBskyActorDefs.SavedFeed[],\n ): Promise<AppBskyActorDefs.SavedFeed[]> {\n let maybeMutatedSavedFeeds: AppBskyActorDefs.SavedFeed[] = []\n\n await this.updatePreferences((prefs) => {\n const existingV2Pref = prefs.findLast(\n predicate.isValidSavedFeedsPrefV2,\n ) || {\n $type: 'app.bsky.actor.defs#savedFeedsPrefV2',\n items: [],\n }\n\n const newSavedFeeds = cb(existingV2Pref.items)\n\n // enforce ordering: pinned first, then saved\n existingV2Pref.items = [...newSavedFeeds].sort((a, b) =>\n // @NOTE: preserve order of items with the same pinned status\n a.pinned === b.pinned ? 0 : a.pinned ? -1 : 1,\n )\n\n // Store the return value\n maybeMutatedSavedFeeds = newSavedFeeds\n\n let updatedPrefs = prefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPrefV2(pref))\n .concat(existingV2Pref)\n\n /*\n * If there's a v2 pref present, it means this account was migrated from v1\n * to v2. During the transition period, we double write v2 prefs back to\n * v1, but NOT the other way around.\n */\n let existingV1Pref = prefs.findLast(predicate.isValidSavedFeedsPref)\n if (existingV1Pref) {\n const { saved, pinned } = existingV1Pref\n const v2Compat = savedFeedsToUriArrays(\n // v1 only supports feeds and lists\n existingV2Pref.items.filter((i) => ['feed', 'list'].includes(i.type)),\n )\n existingV1Pref = {\n ...existingV1Pref,\n saved: Array.from(new Set([...saved, ...v2Compat.saved])),\n pinned: Array.from(new Set([...pinned, ...v2Compat.pinned])),\n }\n updatedPrefs = updatedPrefs\n .filter((pref) => !AppBskyActorDefs.isSavedFeedsPref(pref))\n .concat(existingV1Pref)\n }\n\n return updatedPrefs\n })\n\n return maybeMutatedSavedFeeds\n }\n\n //#endregion\n}\n\n/**\n * Helper to transform the legacy content preferences.\n */\nfunction adjustLegacyContentLabelPref(\n pref: AppBskyActorDefs.ContentLabelPref,\n): AppBskyActorDefs.ContentLabelPref {\n let visibility = pref.visibility\n\n // adjust legacy values\n if (visibility === 'show') {\n visibility = 'ignore'\n }\n\n return { ...pref, visibility }\n}\n\n/**\n * Re-maps legacy labels to new labels on READ. Does not save these changes to\n * the user's preferences.\n */\nfunction remapLegacyLabels(\n labels: BskyPreferences['moderationPrefs']['labels'],\n) {\n const _labels = { ...labels }\n const legacyToNewMap: Record<string, string | undefined> = {\n gore: 'graphic-media',\n nsfw: 'porn',\n suggestive: 'sexual',\n }\n\n for (const labelName in _labels) {\n const newLabelName = legacyToNewMap[labelName]!\n if (newLabelName) {\n _labels[newLabelName] = _labels[labelName]\n }\n }\n\n return _labels\n}\n\n/**\n * A helper to get the currently enabled labelers from the full preferences array\n */\nfunction prefsArrayToLabelerDids(\n prefs: AppBskyActorDefs.Preferences,\n): string[] {\n const labelersPref = prefs.findLast(predicate.isValidLabelersPref)\n let dids: string[] = []\n if (labelersPref) {\n dids = (labelersPref as AppBskyActorDefs.LabelersPref).labelers.map(\n (labeler) => labeler.did,\n )\n }\n return dids\n}\n\nfunction isBskyPrefs(v: any): v is BskyPreferences {\n return (\n v &&\n typeof v === 'object' &&\n 'moderationPrefs' in v &&\n isModPrefs(v.moderationPrefs)\n )\n}\n\nfunction isModPrefs(v: any): v is ModerationPrefs {\n return v && typeof v === 'object' && 'labelers' in v\n}\n\nfunction migrateLegacyMutedWordsItems(items: AppBskyActorDefs.MutedWord[]) {\n return items.map((item) => ({\n ...item,\n id: item.id || TID.nextStr(),\n }))\n}\n\nfunction matchMutedWord(\n existingWord: AppBskyActorDefs.MutedWord,\n newWord: AppBskyActorDefs.MutedWord,\n): boolean {\n // id is undefined in legacy implementation\n const existingId = existingWord.id\n // prefer matching based on id\n const matchById = existingId && existingId === newWord.id\n // handle legacy case where id is not set\n const legacyMatchByValue = !existingId && existingWord.value === newWord.value\n\n return matchById || legacyMatchByValue\n}\n"]}
|
package/dist/atp-agent.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Gettable } from '@atproto/xrpc';
|
|
2
|
-
import { Agent } from './agent';
|
|
3
|
-
import { ComAtprotoServerCreateAccount, ComAtprotoServerCreateSession, ComAtprotoServerGetSession, ComAtprotoServerNS, ComAtprotoServerRefreshSession } from './client';
|
|
4
|
-
import { SessionManager } from './session-manager';
|
|
5
|
-
import { AtpAgentLoginOpts, AtpPersistSessionHandler, AtpSessionData } from './types';
|
|
2
|
+
import { Agent } from './agent.js';
|
|
3
|
+
import { ComAtprotoServerCreateAccount, ComAtprotoServerCreateSession, ComAtprotoServerGetSession, ComAtprotoServerNS, ComAtprotoServerRefreshSession } from './client/index.js';
|
|
4
|
+
import { SessionManager } from './session-manager.js';
|
|
5
|
+
import { AtpAgentLoginOpts, AtpPersistSessionHandler, AtpSessionData } from './types.js';
|
|
6
6
|
export type AtpAgentOptions = {
|
|
7
7
|
service: string | URL;
|
|
8
8
|
persistSession?: AtpPersistSessionHandler;
|
package/dist/atp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atp-agent.d.ts","sourceRoot":"","sources":["../src/atp-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAKT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"atp-agent.d.ts","sourceRoot":"","sources":["../src/atp-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAKT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACf,MAAM,YAAY,CAAA;AAMnB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;IACrB,cAAc,CAAC,EAAE,wBAAwB,CAAA;IACzC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;CACtD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAA;gBAE9B,OAAO,EAAE,eAAe,GAAG,iBAAiB;IAuBxD,KAAK,IAAI,QAAQ;IAIjB,IAAI,OAAO,+BAEV;IAED,IAAI,UAAU,YAEb;IAED,IAAI,UAAU,QAEb;IAED,IAAI,MAAM,oBAET;IAED,IAAI,WAAW,QAEd;IAED,iDAAiD;IACjD,IAAI,OAAO,QAEV;IAED,IAAI,cAAc,IAMI,OAAO,CAF5B;IAED,IAAI,cAAc,CAAC,CAAC,EAAE,OAAO,EAI5B;IAED,0DAA0D;IAC1D,aAAa;IAIP,aAAa,CACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC;IAIzC,aAAa,CACjB,IAAI,EAAE,6BAA6B,CAAC,WAAW,EAC/C,IAAI,CAAC,EAAE,6BAA6B,CAAC,WAAW,GAC/C,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC;IAI5C,KAAK,CACT,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC;IAI5C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;aAyBpC,UAAU,EAAE,GAAG;IACxB,KAAK;IACZ,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,wBAAwB;IA1BvD,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;IAE/E;;;;;OAKG;IACH,SAAS,CAAC,MAAM,qBAWf;gBAGiB,UAAU,EAAE,GAAG,EACxB,KAAK,0BAAmB,EACZ,cAAc,CAAC,EAAE,wBAAwB,YAAA;IAG9D,IAAI,GAAG,uBAEN;IAED,IAAI,WAAW,QAEd;IAED,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,0BAAmB;IAI3B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+DtE;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,6BAA6B,CAAC,WAAW,EAC/C,IAAI,CAAC,EAAE,6BAA6B,CAAC,WAAW,GAC/C,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC;IA2BlD;;OAEG;IACG,KAAK,CACT,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC;IAsC5C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7B;;;;;;;;OAQG;IACG,aAAa,CACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC;IAwBnD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC;IAmBxE;;OAEG;YACW,oBAAoB;IAuFlC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}
|