@atproto/bsky 0.0.169 → 0.0.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/api/app/bsky/notification/registerPush.d.ts.map +1 -1
- package/dist/api/app/bsky/notification/registerPush.js +2 -1
- package/dist/api/app/bsky/notification/registerPush.js.map +1 -1
- package/dist/api/app/bsky/unspecced/getAgeAssuranceState.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/getAgeAssuranceState.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/getAgeAssuranceState.js +36 -0
- package/dist/api/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -0
- package/dist/api/app/bsky/unspecced/initAgeAssurance.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/initAgeAssurance.js +59 -0
- package/dist/api/app/bsky/unspecced/initAgeAssurance.js.map +1 -0
- package/dist/api/external.d.ts +4 -0
- package/dist/api/external.d.ts.map +1 -0
- package/dist/api/external.js +47 -0
- package/dist/api/external.js.map +1 -0
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/kws/api.d.ts +4 -0
- package/dist/api/kws/api.d.ts.map +1 -0
- package/dist/api/kws/api.js +60 -0
- package/dist/api/kws/api.js.map +1 -0
- package/dist/api/kws/index.d.ts +4 -0
- package/dist/api/kws/index.d.ts.map +1 -0
- package/dist/api/kws/index.js +21 -0
- package/dist/api/kws/index.js.map +1 -0
- package/dist/api/kws/types.d.ts +100 -0
- package/dist/api/kws/types.d.ts.map +1 -0
- package/dist/api/kws/types.js +29 -0
- package/dist/api/kws/types.js.map +1 -0
- package/dist/api/kws/util.d.ts +21 -0
- package/dist/api/kws/util.d.ts.map +1 -0
- package/dist/api/kws/util.js +78 -0
- package/dist/api/kws/util.js.map +1 -0
- package/dist/api/kws/webhook.d.ts +5 -0
- package/dist/api/kws/webhook.d.ts.map +1 -0
- package/dist/api/kws/webhook.js +80 -0
- package/dist/api/kws/webhook.js.map +1 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +40 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +3 -0
- package/dist/context.js.map +1 -1
- package/dist/data-plane/bsync/index.d.ts.map +1 -1
- package/dist/data-plane/bsync/index.js +52 -33
- package/dist/data-plane/bsync/index.js.map +1 -1
- package/dist/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.d.ts +4 -0
- package/dist/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.d.ts.map +1 -0
- package/dist/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.js +22 -0
- package/dist/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.js.map +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
- package/dist/data-plane/server/db/migrations/index.js +2 -0
- package/dist/data-plane/server/db/migrations/index.js.map +1 -1
- package/dist/data-plane/server/db/tables/actor.d.ts +2 -0
- package/dist/data-plane/server/db/tables/actor.d.ts.map +1 -1
- package/dist/data-plane/server/db/tables/actor.js.map +1 -1
- package/dist/data-plane/server/routes/profile.d.ts.map +1 -1
- package/dist/data-plane/server/routes/profile.js +14 -1
- package/dist/data-plane/server/routes/profile.js.map +1 -1
- package/dist/feature-gates.d.ts +2 -1
- package/dist/feature-gates.d.ts.map +1 -1
- package/dist/feature-gates.js +1 -0
- package/dist/feature-gates.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/kws.d.ts +16 -0
- package/dist/kws.d.ts.map +1 -0
- package/dist/kws.js +86 -0
- package/dist/kws.js.map +1 -0
- package/dist/lexicon/index.d.ts +186 -207
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +8 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +234 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +119 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts +3 -18
- package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfile.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getProfiles.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/getSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/putPreferences.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/actor/putPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActors.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts +3 -15
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getActorLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts +4 -15
- package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getLikes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getListFeed.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPostThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getQuotes.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getQuotes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getQuotes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getRepostedBy.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/getTimeline.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.d.ts +2 -17
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/sendInteractions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getFollows.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getList.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListBlocks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getListMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getLists.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getLists.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getLists.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getMutes.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getRelationships.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPack.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActor.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/muteActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActorList.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/muteActorList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/muteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActor.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteActorList.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/labeler/getServices.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/labeler/getServices.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getPreferences.d.ts +3 -18
- package/dist/lexicon/types/app/bsky/notification/getPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/getUnreadCount.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +4 -15
- package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.d.ts +2 -17
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferences.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/notification/putPreferences.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferences.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.d.ts +2 -17
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/registerPush.d.ts +3 -16
- package/dist/lexicon/types/app/bsky/notification/registerPush.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/registerPush.js.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/updateSeen.d.ts +1 -16
- package/dist/lexicon/types/app/bsky/notification/updateSeen.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/notification/updateSeen.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +32 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.js +18 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.d.ts +18 -0
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts +3 -15
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts +4 -15
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +4 -15
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +3 -15
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts +28 -0
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts +4 -18
- package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts +3 -18
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -1
- package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts +2 -14
- package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts +3 -18
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts +3 -15
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/acceptConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/addReaction.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/addReaction.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/addReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/removeReaction.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts +2 -14
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts +2 -17
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts +4 -15
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts +4 -18
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts +1 -16
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getAccountInfos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/searchAccounts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/sendEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/refreshIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveDid.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/identity/resolveDid.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveDid.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/resolveIdentity.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/signPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/updateHandle.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/identity/updateHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/identity/updateHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/label/queryLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.d.ts +3 -11
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/label/subscribeLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +2 -14
- package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/createReport.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +2 -14
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/describeRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/importRepo.d.ts +1 -13
- package/dist/lexicon/types/com/atproto/repo/importRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/importRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/listRecords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts +2 -14
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/uploadBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/activateAccount.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/activateAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/activateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/checkAccountStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/confirmEmail.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/confirmEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/confirmEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAccount.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/createAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +2 -14
- package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCode.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +2 -14
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createSession.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/createSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/createSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deactivateAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteAccount.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/deleteAccount.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteAccount.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteSession.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/deleteSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/deleteSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +3 -15
- package/dist/lexicon/types/com/atproto/server/describeServer.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/describeServer.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getSession.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/server/getSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +3 -15
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/listAppPasswords.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/refreshSession.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestAccountDelete.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/requestPasswordReset.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/reserveSigningKey.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/resetPassword.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/resetPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/resetPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/revokeAppPassword.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/updateEmail.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/server/updateEmail.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/updateEmail.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlob.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getBlocks.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getCheckout.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHead.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/sync/getHead.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHead.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getHostStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getLatestCommit.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepo.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/getRepoStatus.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listBlobs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/listHosts.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listHosts.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.d.ts +4 -15
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/listReposByCollection.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/requestCrawl.js.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts +3 -11
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.d.ts +2 -17
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/addReservedHandle.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts +3 -18
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +4 -18
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/fetchLabels.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.d.ts +1 -16
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
- package/dist/proto/bsky_pb.d.ts +29 -0
- package/dist/proto/bsky_pb.d.ts.map +1 -1
- package/dist/proto/bsky_pb.js +97 -4
- package/dist/proto/bsky_pb.js.map +1 -1
- package/dist/proto/courier_pb.d.ts +4 -0
- package/dist/proto/courier_pb.d.ts.map +1 -1
- package/dist/proto/courier_pb.js +15 -0
- package/dist/proto/courier_pb.js.map +1 -1
- package/dist/stash.d.ts +1 -0
- package/dist/stash.d.ts.map +1 -1
- package/dist/stash.js +1 -0
- package/dist/stash.js.map +1 -1
- package/package.json +14 -11
- package/proto/bsky.proto +7 -0
- package/proto/courier.proto +1 -0
- package/src/api/app/bsky/notification/registerPush.ts +2 -1
- package/src/api/app/bsky/unspecced/getAgeAssuranceState.ts +46 -0
- package/src/api/app/bsky/unspecced/initAgeAssurance.ts +71 -0
- package/src/api/external.ts +13 -0
- package/src/api/index.ts +6 -0
- package/src/api/kws/api.ts +92 -0
- package/src/api/kws/index.ts +23 -0
- package/src/api/kws/types.ts +67 -0
- package/src/api/kws/util.ts +111 -0
- package/src/api/kws/webhook.ts +107 -0
- package/src/config.ts +59 -0
- package/src/context.ts +6 -0
- package/src/data-plane/bsync/index.ts +69 -33
- package/src/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.ts +22 -0
- package/src/data-plane/server/db/migrations/index.ts +1 -0
- package/src/data-plane/server/db/tables/actor.ts +2 -0
- package/src/data-plane/server/routes/profile.ts +16 -1
- package/src/feature-gates.ts +1 -0
- package/src/index.ts +7 -1
- package/src/kws.ts +108 -0
- package/src/lexicon/index.ts +1115 -943
- package/src/lexicon/lexicons.ts +127 -0
- package/src/lexicon/types/app/bsky/actor/getPreferences.ts +3 -17
- package/src/lexicon/types/app/bsky/actor/getProfile.ts +3 -17
- package/src/lexicon/types/app/bsky/actor/getProfiles.ts +3 -17
- package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +3 -17
- package/src/lexicon/types/app/bsky/actor/putPreferences.ts +1 -14
- package/src/lexicon/types/app/bsky/actor/searchActors.ts +3 -17
- package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getFeed.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getLikes.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getListFeed.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getPostThread.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getPosts.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getQuotes.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/getTimeline.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/searchPosts.ts +3 -17
- package/src/lexicon/types/app/bsky/feed/sendInteractions.ts +2 -15
- package/src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getBlocks.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getFollowers.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getFollows.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getKnownFollowers.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getList.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getListMutes.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getLists.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getMutes.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getRelationships.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getStarterPack.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getStarterPacks.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/muteActor.ts +1 -14
- package/src/lexicon/types/app/bsky/graph/muteActorList.ts +1 -14
- package/src/lexicon/types/app/bsky/graph/muteThread.ts +1 -14
- package/src/lexicon/types/app/bsky/graph/searchStarterPacks.ts +3 -17
- package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +1 -14
- package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +1 -14
- package/src/lexicon/types/app/bsky/graph/unmuteThread.ts +1 -14
- package/src/lexicon/types/app/bsky/labeler/getServices.ts +3 -17
- package/src/lexicon/types/app/bsky/notification/getPreferences.ts +3 -17
- package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +3 -17
- package/src/lexicon/types/app/bsky/notification/listActivitySubscriptions.ts +3 -17
- package/src/lexicon/types/app/bsky/notification/listNotifications.ts +3 -17
- package/src/lexicon/types/app/bsky/notification/putActivitySubscription.ts +2 -15
- package/src/lexicon/types/app/bsky/notification/putPreferences.ts +1 -14
- package/src/lexicon/types/app/bsky/notification/putPreferencesV2.ts +2 -15
- package/src/lexicon/types/app/bsky/notification/registerPush.ts +3 -14
- package/src/lexicon/types/app/bsky/notification/updateSeen.ts +1 -14
- package/src/lexicon/types/app/bsky/unspecced/defs.ts +50 -0
- package/src/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.ts +34 -0
- package/src/lexicon/types/app/bsky/unspecced/getConfig.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getTrends.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts +47 -0
- package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts +3 -17
- package/src/lexicon/types/app/bsky/video/getJobStatus.ts +3 -17
- package/src/lexicon/types/app/bsky/video/getUploadLimits.ts +3 -17
- package/src/lexicon/types/app/bsky/video/uploadVideo.ts +2 -16
- package/src/lexicon/types/chat/bsky/actor/deleteAccount.ts +3 -17
- package/src/lexicon/types/chat/bsky/actor/exportAccountData.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/acceptConvo.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/addReaction.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/getConvo.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/getConvoAvailability.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/getLog.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/getMessages.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/leaveConvo.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/listConvos.ts +3 -17
- package/src/lexicon/types/chat/bsky/convo/muteConvo.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/removeReaction.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/sendMessage.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/unmuteConvo.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/updateAllRead.ts +2 -15
- package/src/lexicon/types/chat/bsky/convo/updateRead.ts +2 -15
- package/src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts +3 -17
- package/src/lexicon/types/chat/bsky/moderation/getMessageContext.ts +3 -17
- package/src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +3 -17
- package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +3 -17
- package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +3 -17
- package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +3 -17
- package/src/lexicon/types/com/atproto/admin/searchAccounts.ts +3 -17
- package/src/lexicon/types/com/atproto/admin/sendEmail.ts +2 -15
- package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/updateAccountPassword.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts +1 -14
- package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +2 -15
- package/src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts +3 -17
- package/src/lexicon/types/com/atproto/identity/refreshIdentity.ts +2 -15
- package/src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts +2 -16
- package/src/lexicon/types/com/atproto/identity/resolveDid.ts +3 -17
- package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +3 -17
- package/src/lexicon/types/com/atproto/identity/resolveIdentity.ts +3 -17
- package/src/lexicon/types/com/atproto/identity/signPlcOperation.ts +2 -15
- package/src/lexicon/types/com/atproto/identity/submitPlcOperation.ts +1 -14
- package/src/lexicon/types/com/atproto/identity/updateHandle.ts +1 -14
- package/src/lexicon/types/com/atproto/label/queryLabels.ts +3 -17
- package/src/lexicon/types/com/atproto/label/subscribeLabels.ts +2 -12
- package/src/lexicon/types/com/atproto/moderation/createReport.ts +2 -15
- package/src/lexicon/types/com/atproto/repo/applyWrites.ts +2 -15
- package/src/lexicon/types/com/atproto/repo/createRecord.ts +2 -15
- package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +2 -15
- package/src/lexicon/types/com/atproto/repo/describeRepo.ts +3 -17
- package/src/lexicon/types/com/atproto/repo/getRecord.ts +3 -17
- package/src/lexicon/types/com/atproto/repo/importRepo.ts +1 -15
- package/src/lexicon/types/com/atproto/repo/listMissingBlobs.ts +3 -17
- package/src/lexicon/types/com/atproto/repo/listRecords.ts +3 -17
- package/src/lexicon/types/com/atproto/repo/putRecord.ts +2 -15
- package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +2 -16
- package/src/lexicon/types/com/atproto/server/activateAccount.ts +2 -16
- package/src/lexicon/types/com/atproto/server/checkAccountStatus.ts +3 -17
- package/src/lexicon/types/com/atproto/server/confirmEmail.ts +1 -14
- package/src/lexicon/types/com/atproto/server/createAccount.ts +2 -15
- package/src/lexicon/types/com/atproto/server/createAppPassword.ts +2 -15
- package/src/lexicon/types/com/atproto/server/createInviteCode.ts +2 -15
- package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +2 -15
- package/src/lexicon/types/com/atproto/server/createSession.ts +2 -15
- package/src/lexicon/types/com/atproto/server/deactivateAccount.ts +1 -14
- package/src/lexicon/types/com/atproto/server/deleteAccount.ts +1 -14
- package/src/lexicon/types/com/atproto/server/deleteSession.ts +2 -16
- package/src/lexicon/types/com/atproto/server/describeServer.ts +3 -17
- package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +3 -17
- package/src/lexicon/types/com/atproto/server/getServiceAuth.ts +3 -17
- package/src/lexicon/types/com/atproto/server/getSession.ts +3 -17
- package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +3 -17
- package/src/lexicon/types/com/atproto/server/refreshSession.ts +3 -17
- package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +2 -16
- package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +2 -16
- package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +3 -17
- package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +1 -14
- package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +2 -15
- package/src/lexicon/types/com/atproto/server/resetPassword.ts +1 -14
- package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +1 -14
- package/src/lexicon/types/com/atproto/server/updateEmail.ts +1 -14
- package/src/lexicon/types/com/atproto/sync/getBlob.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getBlocks.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getCheckout.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getHead.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getHostStatus.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getRecord.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getRepo.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/getRepoStatus.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/listBlobs.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/listHosts.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/listRepos.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/listReposByCollection.ts +3 -17
- package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +1 -14
- package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +1 -14
- package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +2 -12
- package/src/lexicon/types/com/atproto/temp/addReservedHandle.ts +2 -15
- package/src/lexicon/types/com/atproto/temp/checkSignupQueue.ts +3 -17
- package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +3 -17
- package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +1 -14
- package/src/proto/bsky_pb.ts +79 -0
- package/src/proto/courier_pb.ts +11 -0
- package/src/stash.ts +3 -0
- package/tests/feed-generation.test.ts +8 -3
- package/tests/server.test.ts +3 -1
- package/tests/views/age-assurance.test.ts +425 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import crypto from 'node:crypto'
|
|
2
|
+
import express from 'express'
|
|
3
|
+
import { TID } from '@atproto/common'
|
|
4
|
+
import { AppContext } from '../../context'
|
|
5
|
+
import {
|
|
6
|
+
AgeAssuranceEvent,
|
|
7
|
+
AgeAssuranceState,
|
|
8
|
+
} from '../../lexicon/types/app/bsky/unspecced/defs'
|
|
9
|
+
import { Namespaces } from '../../stash'
|
|
10
|
+
import {
|
|
11
|
+
KwsExternalPayload,
|
|
12
|
+
KwsStatus,
|
|
13
|
+
externalPayloadSchema,
|
|
14
|
+
statusSchema,
|
|
15
|
+
} from './types'
|
|
16
|
+
|
|
17
|
+
export const createStashEvent = async (
|
|
18
|
+
ctx: AppContext,
|
|
19
|
+
{
|
|
20
|
+
actorDid,
|
|
21
|
+
attemptId,
|
|
22
|
+
email,
|
|
23
|
+
initIp,
|
|
24
|
+
initUa,
|
|
25
|
+
completeIp,
|
|
26
|
+
completeUa,
|
|
27
|
+
status,
|
|
28
|
+
}: {
|
|
29
|
+
actorDid: string
|
|
30
|
+
attemptId: string
|
|
31
|
+
email?: string
|
|
32
|
+
initIp?: string
|
|
33
|
+
initUa?: string
|
|
34
|
+
completeIp?: string
|
|
35
|
+
completeUa?: string
|
|
36
|
+
status: AgeAssuranceState['status']
|
|
37
|
+
},
|
|
38
|
+
) => {
|
|
39
|
+
const stashPayload: AgeAssuranceEvent = {
|
|
40
|
+
createdAt: new Date().toISOString(),
|
|
41
|
+
email,
|
|
42
|
+
status,
|
|
43
|
+
attemptId,
|
|
44
|
+
initIp,
|
|
45
|
+
initUa,
|
|
46
|
+
completeIp,
|
|
47
|
+
completeUa,
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
await ctx.stashClient.create({
|
|
51
|
+
actorDid,
|
|
52
|
+
namespace: Namespaces.AppBskyUnspeccedDefsAgeAssuranceEvent,
|
|
53
|
+
key: TID.nextStr(),
|
|
54
|
+
payload: stashPayload,
|
|
55
|
+
})
|
|
56
|
+
return stashPayload
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const validateSignature = (
|
|
60
|
+
key: string,
|
|
61
|
+
data: string,
|
|
62
|
+
signature: string,
|
|
63
|
+
) => {
|
|
64
|
+
const expectedSignature = crypto
|
|
65
|
+
.createHmac('sha256', key)
|
|
66
|
+
.update(data)
|
|
67
|
+
.digest('hex')
|
|
68
|
+
|
|
69
|
+
const expectedSignatureBuf = Buffer.from(expectedSignature, 'hex')
|
|
70
|
+
const actualSignatureBuf = Buffer.from(signature, 'hex')
|
|
71
|
+
|
|
72
|
+
if (expectedSignatureBuf.length !== actualSignatureBuf.length) {
|
|
73
|
+
throw new Error(`Signature mismatch`)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (!crypto.timingSafeEqual(expectedSignatureBuf, actualSignatureBuf)) {
|
|
77
|
+
throw new Error(`Signature mismatch`)
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export const serializeExternalPayload = (value: KwsExternalPayload): string => {
|
|
82
|
+
return JSON.stringify(value)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const parseExternalPayload = (
|
|
86
|
+
serialized: string,
|
|
87
|
+
): KwsExternalPayload => {
|
|
88
|
+
try {
|
|
89
|
+
const value: unknown = JSON.parse(serialized)
|
|
90
|
+
return externalPayloadSchema.parse(value)
|
|
91
|
+
} catch (err) {
|
|
92
|
+
throw new Error(`Invalid external payload: ${serialized}`, { cause: err })
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export const parseStatus = (serialized: string): KwsStatus => {
|
|
97
|
+
try {
|
|
98
|
+
const value: unknown = JSON.parse(serialized)
|
|
99
|
+
return statusSchema.parse(value)
|
|
100
|
+
} catch (err) {
|
|
101
|
+
throw new Error(`Invalid status: ${serialized}`, { cause: err })
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export const kwsWwwAuthenticate = (): Record<string, string> => ({
|
|
106
|
+
'www-authenticate': `Signature realm="kws"`,
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
export const getClientUa = (req: express.Request): string | undefined => {
|
|
110
|
+
return req.headers['user-agent']
|
|
111
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import express, { RequestHandler } from 'express'
|
|
2
|
+
import { httpLogger as log } from '../../logger'
|
|
3
|
+
import {
|
|
4
|
+
AppContextWithKwsClient,
|
|
5
|
+
KwsWebhookBody,
|
|
6
|
+
webhookBodyIntermediateSchema,
|
|
7
|
+
} from './types'
|
|
8
|
+
import {
|
|
9
|
+
createStashEvent,
|
|
10
|
+
kwsWwwAuthenticate,
|
|
11
|
+
parseExternalPayload,
|
|
12
|
+
validateSignature,
|
|
13
|
+
} from './util'
|
|
14
|
+
|
|
15
|
+
export const webhookAuth =
|
|
16
|
+
(ctx: AppContextWithKwsClient): RequestHandler =>
|
|
17
|
+
(req: express.Request, res: express.Response, next: express.NextFunction) => {
|
|
18
|
+
const body: Buffer = req.body
|
|
19
|
+
const sigHeader = req.headers['x-kws-signature']
|
|
20
|
+
if (!sigHeader || typeof sigHeader !== 'string') {
|
|
21
|
+
return res.status(401).header(kwsWwwAuthenticate()).json({
|
|
22
|
+
success: false,
|
|
23
|
+
error:
|
|
24
|
+
'Invalid authentication for KWS webhook: missing signature header',
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
const parts = sigHeader.split(',')
|
|
30
|
+
const timestamp = parts.find((p) => p.startsWith('t='))?.split('=')[1]
|
|
31
|
+
const signature = parts.find((p) => p.startsWith('v1='))?.split('=')[1]
|
|
32
|
+
if (typeof timestamp !== 'string' || typeof signature !== 'string') {
|
|
33
|
+
throw new Error('Invalid webhook signature format')
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const data = `${timestamp}.${body}`
|
|
37
|
+
validateSignature(ctx.cfg.kws.webhookSecret, data, signature)
|
|
38
|
+
next()
|
|
39
|
+
} catch (err) {
|
|
40
|
+
log.error({ err }, 'Invalid KWS webhook signature')
|
|
41
|
+
return res.status(401).header(kwsWwwAuthenticate()).json({
|
|
42
|
+
success: false,
|
|
43
|
+
error: 'Invalid authentication for KWS webhook: signature mismatch',
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
type AgeAssuranceWebhookIntermediateBody = {
|
|
49
|
+
payload: Omit<KwsWebhookBody['payload'], 'externalPayload'> & {
|
|
50
|
+
externalPayload: string
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const parseBody = (serialized: string): KwsWebhookBody => {
|
|
55
|
+
try {
|
|
56
|
+
const value: unknown = JSON.parse(serialized)
|
|
57
|
+
const intermediate: AgeAssuranceWebhookIntermediateBody =
|
|
58
|
+
webhookBodyIntermediateSchema.parse(value)
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
...intermediate,
|
|
62
|
+
payload: {
|
|
63
|
+
...intermediate.payload,
|
|
64
|
+
externalPayload: parseExternalPayload(
|
|
65
|
+
intermediate.payload.externalPayload,
|
|
66
|
+
),
|
|
67
|
+
},
|
|
68
|
+
}
|
|
69
|
+
} catch (err) {
|
|
70
|
+
throw new Error(`Invalid webhook body: ${serialized}`, { cause: err })
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const webhookHandler =
|
|
75
|
+
(ctx: AppContextWithKwsClient): RequestHandler =>
|
|
76
|
+
async (req: express.Request, res: express.Response) => {
|
|
77
|
+
let body: KwsWebhookBody
|
|
78
|
+
try {
|
|
79
|
+
body = parseBody(req.body)
|
|
80
|
+
} catch (err) {
|
|
81
|
+
log.error({ err }, 'Invalid KWS webhook body')
|
|
82
|
+
return res.status(400).json(err)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const {
|
|
86
|
+
payload: {
|
|
87
|
+
status: { verified },
|
|
88
|
+
externalPayload,
|
|
89
|
+
},
|
|
90
|
+
} = body
|
|
91
|
+
const { actorDid, attemptId } = externalPayload
|
|
92
|
+
if (!verified) {
|
|
93
|
+
throw new Error('Unexpected KWS webhook call with unverified status')
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
try {
|
|
97
|
+
await createStashEvent(ctx, {
|
|
98
|
+
actorDid,
|
|
99
|
+
attemptId,
|
|
100
|
+
status: 'assured',
|
|
101
|
+
})
|
|
102
|
+
return res.status(200).end()
|
|
103
|
+
} catch (err) {
|
|
104
|
+
log.error({ err }, 'Failed to handle KWS webhook')
|
|
105
|
+
return res.status(500).json(err)
|
|
106
|
+
}
|
|
107
|
+
}
|
package/src/config.ts
CHANGED
|
@@ -6,6 +6,17 @@ type LiveNowConfig = {
|
|
|
6
6
|
domains: string[]
|
|
7
7
|
}[]
|
|
8
8
|
|
|
9
|
+
export interface KwsConfig {
|
|
10
|
+
apiKey: string
|
|
11
|
+
apiOrigin: string
|
|
12
|
+
authOrigin: string
|
|
13
|
+
clientId: string
|
|
14
|
+
redirectUrl: string
|
|
15
|
+
userAgent: string
|
|
16
|
+
verificationSecret: string
|
|
17
|
+
webhookSecret: string
|
|
18
|
+
}
|
|
19
|
+
|
|
9
20
|
export interface ServerConfigValues {
|
|
10
21
|
// service
|
|
11
22
|
version?: string
|
|
@@ -72,6 +83,7 @@ export interface ServerConfigValues {
|
|
|
72
83
|
proxyMaxResponseSize?: number
|
|
73
84
|
proxyMaxRetries?: number
|
|
74
85
|
proxyPreferCompressed?: boolean
|
|
86
|
+
kws?: KwsConfig
|
|
75
87
|
}
|
|
76
88
|
|
|
77
89
|
export class ServerConfig {
|
|
@@ -222,6 +234,48 @@ export class ServerConfig {
|
|
|
222
234
|
const proxyPreferCompressed =
|
|
223
235
|
process.env.BSKY_PROXY_PREFER_COMPRESSED === 'true'
|
|
224
236
|
|
|
237
|
+
let kws: KwsConfig | undefined
|
|
238
|
+
const kwsApiKey = process.env.BSKY_KWS_API_KEY
|
|
239
|
+
const kwsApiOrigin = process.env.BSKY_KWS_API_ORIGIN
|
|
240
|
+
const kwsAuthOrigin = process.env.BSKY_KWS_AUTH_ORIGIN
|
|
241
|
+
const kwsClientId = process.env.BSKY_KWS_CLIENT_ID
|
|
242
|
+
const kwsRedirectUrl = process.env.BSKY_KWS_REDIRECT_URL
|
|
243
|
+
const kwsUserAgent = process.env.BSKY_KWS_USER_AGENT
|
|
244
|
+
const kwsVerificationSecret = process.env.BSKY_KWS_VERIFICATION_SECRET
|
|
245
|
+
const kwsWebhookSecret = process.env.BSKY_KWS_WEBHOOK_SIGNING_KEY
|
|
246
|
+
if (
|
|
247
|
+
kwsApiKey ||
|
|
248
|
+
kwsApiOrigin ||
|
|
249
|
+
kwsAuthOrigin ||
|
|
250
|
+
kwsClientId ||
|
|
251
|
+
kwsRedirectUrl ||
|
|
252
|
+
kwsUserAgent ||
|
|
253
|
+
kwsVerificationSecret ||
|
|
254
|
+
kwsWebhookSecret
|
|
255
|
+
) {
|
|
256
|
+
assert(
|
|
257
|
+
kwsApiOrigin &&
|
|
258
|
+
kwsAuthOrigin &&
|
|
259
|
+
kwsClientId &&
|
|
260
|
+
kwsRedirectUrl &&
|
|
261
|
+
kwsUserAgent &&
|
|
262
|
+
kwsVerificationSecret &&
|
|
263
|
+
kwsWebhookSecret &&
|
|
264
|
+
kwsApiKey,
|
|
265
|
+
'all KWS environment variables must be set if any are set',
|
|
266
|
+
)
|
|
267
|
+
kws = {
|
|
268
|
+
apiKey: kwsApiKey,
|
|
269
|
+
apiOrigin: kwsApiOrigin,
|
|
270
|
+
authOrigin: kwsAuthOrigin,
|
|
271
|
+
clientId: kwsClientId,
|
|
272
|
+
redirectUrl: kwsRedirectUrl,
|
|
273
|
+
userAgent: kwsUserAgent,
|
|
274
|
+
verificationSecret: kwsVerificationSecret,
|
|
275
|
+
webhookSecret: kwsWebhookSecret,
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
225
279
|
return new ServerConfig({
|
|
226
280
|
version,
|
|
227
281
|
debugMode,
|
|
@@ -279,6 +333,7 @@ export class ServerConfig {
|
|
|
279
333
|
proxyMaxResponseSize,
|
|
280
334
|
proxyMaxRetries,
|
|
281
335
|
proxyPreferCompressed,
|
|
336
|
+
kws,
|
|
282
337
|
...stripUndefineds(overrides ?? {}),
|
|
283
338
|
})
|
|
284
339
|
}
|
|
@@ -513,6 +568,10 @@ export class ServerConfig {
|
|
|
513
568
|
get proxyPreferCompressed(): boolean {
|
|
514
569
|
return this.cfg.proxyPreferCompressed ?? true
|
|
515
570
|
}
|
|
571
|
+
|
|
572
|
+
get kws() {
|
|
573
|
+
return this.cfg.kws
|
|
574
|
+
}
|
|
516
575
|
}
|
|
517
576
|
|
|
518
577
|
function stripUndefineds(
|
package/src/context.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { CourierClient } from './courier'
|
|
|
12
12
|
import { DataPlaneClient, HostList } from './data-plane/client'
|
|
13
13
|
import { FeatureGates } from './feature-gates'
|
|
14
14
|
import { Hydrator } from './hydration/hydrator'
|
|
15
|
+
import { KwsClient } from './kws'
|
|
15
16
|
import { httpLogger as log } from './logger'
|
|
16
17
|
import { StashClient } from './stash'
|
|
17
18
|
import {
|
|
@@ -41,6 +42,7 @@ export class AppContext {
|
|
|
41
42
|
authVerifier: AuthVerifier
|
|
42
43
|
featureGates: FeatureGates
|
|
43
44
|
blobDispatcher: Dispatcher
|
|
45
|
+
kwsClient: KwsClient | undefined
|
|
44
46
|
},
|
|
45
47
|
) {}
|
|
46
48
|
|
|
@@ -116,6 +118,10 @@ export class AppContext {
|
|
|
116
118
|
return this.opts.blobDispatcher
|
|
117
119
|
}
|
|
118
120
|
|
|
121
|
+
get kwsClient(): KwsClient | undefined {
|
|
122
|
+
return this.opts.kwsClient
|
|
123
|
+
}
|
|
124
|
+
|
|
119
125
|
reqLabelers(req: express.Request): ParsedLabelers {
|
|
120
126
|
const val = req.header('atproto-accept-labelers')
|
|
121
127
|
let parsed: ParsedLabelers | null
|
|
@@ -9,6 +9,7 @@ import { jsonStringToLex } from '@atproto/lexicon'
|
|
|
9
9
|
import { AtUri } from '@atproto/syntax'
|
|
10
10
|
import { ids } from '../../lexicon/lexicons'
|
|
11
11
|
import { SubjectActivitySubscription } from '../../lexicon/types/app/bsky/notification/defs'
|
|
12
|
+
import { AgeAssuranceEvent } from '../../lexicon/types/app/bsky/unspecced/defs'
|
|
12
13
|
import { httpLogger } from '../../logger'
|
|
13
14
|
import { Service } from '../../proto/bsync_connect'
|
|
14
15
|
import {
|
|
@@ -159,10 +160,10 @@ const createRoutes = (db: Database) => (router: ConnectRouter) =>
|
|
|
159
160
|
|
|
160
161
|
const now = new Date().toISOString()
|
|
161
162
|
|
|
162
|
-
//
|
|
163
|
+
// Index all items into private_data.
|
|
163
164
|
await handleGenericOperation(db, req, now)
|
|
164
165
|
|
|
165
|
-
//
|
|
166
|
+
// Maintain bespoke indexes for certain namespaces.
|
|
166
167
|
if (
|
|
167
168
|
namespace ===
|
|
168
169
|
Namespaces.AppBskyNotificationDefsSubjectActivitySubscription
|
|
@@ -174,6 +175,16 @@ const createRoutes = (db: Database) => (router: ConnectRouter) =>
|
|
|
174
175
|
'mock bsync put operation failed',
|
|
175
176
|
),
|
|
176
177
|
)
|
|
178
|
+
} else if (
|
|
179
|
+
namespace === Namespaces.AppBskyUnspeccedDefsAgeAssuranceEvent
|
|
180
|
+
) {
|
|
181
|
+
await handleAgeAssuranceEventOperation(db, req, now).catch(
|
|
182
|
+
(err: unknown) =>
|
|
183
|
+
httpLogger.warn(
|
|
184
|
+
{ err, namespace },
|
|
185
|
+
'mock bsync put operation failed',
|
|
186
|
+
),
|
|
187
|
+
)
|
|
177
188
|
}
|
|
178
189
|
|
|
179
190
|
return {
|
|
@@ -197,6 +208,43 @@ const createRoutes = (db: Database) => (router: ConnectRouter) =>
|
|
|
197
208
|
},
|
|
198
209
|
})
|
|
199
210
|
|
|
211
|
+
// upsert into or remove from private_data
|
|
212
|
+
const handleGenericOperation = async (
|
|
213
|
+
db: Database,
|
|
214
|
+
req: PutOperationRequest,
|
|
215
|
+
now: string,
|
|
216
|
+
) => {
|
|
217
|
+
const { actorDid, namespace, key, method, payload } = req
|
|
218
|
+
if (method === Method.CREATE || method === Method.UPDATE) {
|
|
219
|
+
await db.db
|
|
220
|
+
.insertInto('private_data')
|
|
221
|
+
.values({
|
|
222
|
+
actorDid,
|
|
223
|
+
namespace,
|
|
224
|
+
key,
|
|
225
|
+
payload: Buffer.from(payload).toString('utf8'),
|
|
226
|
+
indexedAt: now,
|
|
227
|
+
updatedAt: now,
|
|
228
|
+
})
|
|
229
|
+
.onConflict((oc) =>
|
|
230
|
+
oc.columns(['actorDid', 'namespace', 'key']).doUpdateSet({
|
|
231
|
+
payload: excluded(db.db, 'payload'),
|
|
232
|
+
updatedAt: excluded(db.db, 'updatedAt'),
|
|
233
|
+
}),
|
|
234
|
+
)
|
|
235
|
+
.execute()
|
|
236
|
+
} else if (method === Method.DELETE) {
|
|
237
|
+
await db.db
|
|
238
|
+
.deleteFrom('private_data')
|
|
239
|
+
.where('actorDid', '=', actorDid)
|
|
240
|
+
.where('namespace', '=', namespace)
|
|
241
|
+
.where('key', '=', key)
|
|
242
|
+
.execute()
|
|
243
|
+
} else {
|
|
244
|
+
assert.fail(`unexpected method ${method}`)
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
200
248
|
const handleSubjectActivitySubscriptionOperation = async (
|
|
201
249
|
db: Database,
|
|
202
250
|
req: PutOperationRequest,
|
|
@@ -246,39 +294,27 @@ const handleSubjectActivitySubscriptionOperation = async (
|
|
|
246
294
|
.execute()
|
|
247
295
|
}
|
|
248
296
|
|
|
249
|
-
|
|
250
|
-
const handleGenericOperation = async (
|
|
297
|
+
const handleAgeAssuranceEventOperation = async (
|
|
251
298
|
db: Database,
|
|
252
299
|
req: PutOperationRequest,
|
|
253
|
-
|
|
300
|
+
_now: string,
|
|
254
301
|
) => {
|
|
255
|
-
const { actorDid,
|
|
256
|
-
if (method
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
})
|
|
267
|
-
.onConflict((oc) =>
|
|
268
|
-
oc.columns(['actorDid', 'namespace', 'key']).doUpdateSet({
|
|
269
|
-
payload: excluded(db.db, 'payload'),
|
|
270
|
-
updatedAt: excluded(db.db, 'updatedAt'),
|
|
271
|
-
}),
|
|
272
|
-
)
|
|
273
|
-
.execute()
|
|
274
|
-
} else if (method === Method.DELETE) {
|
|
275
|
-
await db.db
|
|
276
|
-
.deleteFrom('private_data')
|
|
277
|
-
.where('actorDid', '=', actorDid)
|
|
278
|
-
.where('namespace', '=', namespace)
|
|
279
|
-
.where('key', '=', key)
|
|
280
|
-
.execute()
|
|
281
|
-
} else {
|
|
282
|
-
assert.fail(`unexpected method ${method}`)
|
|
302
|
+
const { actorDid, method, payload } = req
|
|
303
|
+
if (method !== Method.CREATE) return
|
|
304
|
+
|
|
305
|
+
const parsed = jsonStringToLex(
|
|
306
|
+
Buffer.from(payload).toString('utf8'),
|
|
307
|
+
) as AgeAssuranceEvent
|
|
308
|
+
const { status, createdAt } = parsed
|
|
309
|
+
|
|
310
|
+
const update = {
|
|
311
|
+
ageAssuranceStatus: status,
|
|
312
|
+
ageAssuranceLastInitiatedAt: status === 'pending' ? createdAt : undefined,
|
|
283
313
|
}
|
|
314
|
+
|
|
315
|
+
return db.db
|
|
316
|
+
.updateTable('actor')
|
|
317
|
+
.set(update)
|
|
318
|
+
.where('did', '=', actorDid)
|
|
319
|
+
.execute()
|
|
284
320
|
}
|
package/src/data-plane/server/db/migrations/20250627T025331240Z-add-actor-age-assurance-columns.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Kysely } from 'kysely'
|
|
2
|
+
|
|
3
|
+
export async function up(db: Kysely<unknown>): Promise<void> {
|
|
4
|
+
await db.schema
|
|
5
|
+
.alterTable('actor')
|
|
6
|
+
.addColumn('ageAssuranceStatus', 'text')
|
|
7
|
+
.execute()
|
|
8
|
+
|
|
9
|
+
await db.schema
|
|
10
|
+
.alterTable('actor')
|
|
11
|
+
.addColumn('ageAssuranceLastInitiatedAt', 'varchar')
|
|
12
|
+
.execute()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export async function down(db: Kysely<unknown>): Promise<void> {
|
|
16
|
+
await db.schema.alterTable('actor').dropColumn('ageAssuranceStatus').execute()
|
|
17
|
+
|
|
18
|
+
await db.schema
|
|
19
|
+
.alterTable('actor')
|
|
20
|
+
.dropColumn('ageAssuranceLastInitiatedAt')
|
|
21
|
+
.execute()
|
|
22
|
+
}
|
|
@@ -52,3 +52,4 @@ export * as _20250526T023712742Z from './20250526T023712742Z-like-repost-via'
|
|
|
52
52
|
export * as _20250528T221913281Z from './20250528T221913281Z-add-record-tags'
|
|
53
53
|
export * as _20250602T190357447Z from './20250602T190357447Z-add-private-data'
|
|
54
54
|
export * as _20250611T140649895Z from './20250611T140649895Z-add-activity-subscription'
|
|
55
|
+
export * as _20250627T025331240Z from './20250627T025331240Z-add-actor-age-assurance-columns'
|
|
@@ -22,7 +22,7 @@ type VerifiedBy = {
|
|
|
22
22
|
|
|
23
23
|
export default (db: Database): Partial<ServiceImpl<typeof Service>> => ({
|
|
24
24
|
async getActors(req) {
|
|
25
|
-
const { dids } = req
|
|
25
|
+
const { dids, returnAgeAssuranceForDids } = req
|
|
26
26
|
if (dids.length === 0) {
|
|
27
27
|
return { actors: [] }
|
|
28
28
|
}
|
|
@@ -105,6 +105,7 @@ export default (db: Database): Partial<ServiceImpl<typeof Service>> => ({
|
|
|
105
105
|
}
|
|
106
106
|
return acc
|
|
107
107
|
}, {} as VerifiedBy)
|
|
108
|
+
const ageAssuranceForDids = new Set(returnAgeAssuranceForDids)
|
|
108
109
|
|
|
109
110
|
const activitySubscription = () => {
|
|
110
111
|
const record = parseRecordBytes<AppBskyNotificationDeclaration.Record>(
|
|
@@ -128,6 +129,19 @@ export default (db: Database): Partial<ServiceImpl<typeof Service>> => ({
|
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
|
|
132
|
+
const ageAssuranceStatus = () => {
|
|
133
|
+
if (!ageAssuranceForDids.has(did)) {
|
|
134
|
+
return undefined
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
status: row?.ageAssuranceStatus ?? 'unknown',
|
|
139
|
+
lastInitiatedAt: row?.ageAssuranceLastInitiatedAt
|
|
140
|
+
? Timestamp.fromDate(new Date(row?.ageAssuranceLastInitiatedAt))
|
|
141
|
+
: undefined,
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
131
145
|
return {
|
|
132
146
|
exists: !!row,
|
|
133
147
|
handle: row?.handle ?? undefined,
|
|
@@ -149,6 +163,7 @@ export default (db: Database): Partial<ServiceImpl<typeof Service>> => ({
|
|
|
149
163
|
tags: [],
|
|
150
164
|
profileTags: [],
|
|
151
165
|
allowActivitySubscriptionsFrom: activitySubscription(),
|
|
166
|
+
ageAssuranceStatus: ageAssuranceStatus(),
|
|
152
167
|
}
|
|
153
168
|
})
|
|
154
169
|
return { actors }
|
package/src/feature-gates.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { AtpAgent } from '@atproto/api'
|
|
|
10
10
|
import { DAY, SECOND } from '@atproto/common'
|
|
11
11
|
import { Keypair } from '@atproto/crypto'
|
|
12
12
|
import { IdResolver } from '@atproto/identity'
|
|
13
|
-
import API, { blobResolver, health, wellKnown } from './api'
|
|
13
|
+
import API, { blobResolver, external, health, wellKnown } from './api'
|
|
14
14
|
import { createBlobDispatcher } from './api/blob-dispatcher'
|
|
15
15
|
import { AuthVerifier, createPublicKeyObject } from './auth-verifier'
|
|
16
16
|
import { authWithApiKey as bsyncAuth, createBsyncClient } from './bsync'
|
|
@@ -27,6 +27,7 @@ import { FeatureGates } from './feature-gates'
|
|
|
27
27
|
import { Hydrator } from './hydration/hydrator'
|
|
28
28
|
import * as imageServer from './image/server'
|
|
29
29
|
import { ImageUriBuilder } from './image/uri'
|
|
30
|
+
import { createKwsClient } from './kws'
|
|
30
31
|
import { createServer } from './lexicon'
|
|
31
32
|
import { loggerMiddleware } from './logger'
|
|
32
33
|
import { createStashClient } from './stash'
|
|
@@ -58,6 +59,7 @@ export class BskyAppView {
|
|
|
58
59
|
}): BskyAppView {
|
|
59
60
|
const { config, signingKey } = opts
|
|
60
61
|
const app = express()
|
|
62
|
+
app.set('trust proxy', true)
|
|
61
63
|
app.use(cors({ maxAge: DAY / SECOND }))
|
|
62
64
|
app.use(loggerMiddleware)
|
|
63
65
|
app.use(compression())
|
|
@@ -150,6 +152,8 @@ export class BskyAppView {
|
|
|
150
152
|
})
|
|
151
153
|
: undefined
|
|
152
154
|
|
|
155
|
+
const kwsClient = config.kws ? createKwsClient(config.kws) : undefined
|
|
156
|
+
|
|
153
157
|
const entrywayJwtPublicKey = config.entrywayJwtPublicKeyHex
|
|
154
158
|
? createPublicKeyObject(config.entrywayJwtPublicKeyHex)
|
|
155
159
|
: undefined
|
|
@@ -186,6 +190,7 @@ export class BskyAppView {
|
|
|
186
190
|
authVerifier,
|
|
187
191
|
featureGates,
|
|
188
192
|
blobDispatcher,
|
|
193
|
+
kwsClient,
|
|
189
194
|
})
|
|
190
195
|
|
|
191
196
|
let server = createServer({
|
|
@@ -205,6 +210,7 @@ export class BskyAppView {
|
|
|
205
210
|
app.use(imageServer.createMiddleware(ctx, { prefix: '/img/' }))
|
|
206
211
|
app.use(server.xrpc.router)
|
|
207
212
|
app.use(error.handler)
|
|
213
|
+
app.use('/external', external.createRouter(ctx))
|
|
208
214
|
|
|
209
215
|
return new BskyAppView({ ctx, app })
|
|
210
216
|
}
|