Suite of AT Protocol TypeScript libraries built on web standards
21
fork

Configure Feed

Select the types of activity you want to include in your feed.

json, see?

+17558 -20
+12
deno.lock
··· 29 29 "jsr:@std/internal@^1.0.12": "1.0.12", 30 30 "jsr:@std/internal@^1.0.9": "1.0.12", 31 31 "jsr:@std/io@~0.224.9": "0.224.9", 32 + "jsr:@std/json@^1.0.2": "1.0.2", 33 + "jsr:@std/jsonc@^1.0.1": "1.0.2", 32 34 "jsr:@std/path@1": "1.1.2", 33 35 "jsr:@std/path@^1.1.1": "1.1.2", 34 36 "jsr:@std/path@^1.1.2": "1.1.2", ··· 164 166 }, 165 167 "@std/io@0.224.9": { 166 168 "integrity": "4414664b6926f665102e73c969cfda06d2c4c59bd5d0c603fd4f1b1c840d6ee3" 169 + }, 170 + "@std/json@1.0.2": { 171 + "integrity": "d9e5497801c15fb679f55a2c01c7794ad7a5dfda4dd1bebab5e409cb5e0d34d4" 172 + }, 173 + "@std/jsonc@1.0.2": { 174 + "integrity": "909605dae3af22bd75b1cbda8d64a32cf1fd2cf6efa3f9e224aba6d22c0f44c7", 175 + "dependencies": [ 176 + "jsr:@std/json" 177 + ] 167 178 }, 168 179 "@std/path@1.0.9": { 169 180 "integrity": "260a49f11edd3db93dd38350bf9cd1b4d1366afa98e81b86167b4e3dd750129e" ··· 1229 1240 "jsr:@cliffy/ansi@^1.0.0-rc.8", 1230 1241 "jsr:@cliffy/command@^1.0.0-rc.8", 1231 1242 "jsr:@std/fs@^1.0.19", 1243 + "jsr:@std/jsonc@^1.0.1", 1232 1244 "jsr:@std/path@^1.1.2", 1233 1245 "jsr:@ts-morph/ts-morph@26", 1234 1246 "jsr:@zod/zod@^4.1.11",
+8 -20
lex-gen/config.ts
··· 1 1 import { NSID } from "@atp/syntax"; 2 - import { resolve, toFileUrl } from "@std/path"; 2 + import { parse } from "@std/jsonc"; 3 3 import type { LexiconConfig } from "./types.ts"; 4 - import process from "node:process"; 5 4 6 5 function isValidLexiconPattern(pattern: string): boolean { 7 6 if (pattern.endsWith(".*")) { ··· 107 106 ): Promise<LexiconConfig | null> { 108 107 if (!configPath) { 109 108 const possiblePaths = [ 110 - "./lexicon.config.ts", 111 - "./lexicon.config.js", 112 109 "./lexicon.config.json", 110 + "./lexicon.config.jsonc", 113 111 ]; 114 112 for (const path of possiblePaths) { 115 113 try { ··· 131 129 } 132 130 133 131 try { 134 - if (configPath.endsWith(".json")) { 135 - const content = Deno.readTextFileSync(configPath); 136 - const parsed = JSON.parse(content); 137 - return defineLexiconConfig(parsed); 138 - } else { 139 - const cwd = typeof Deno !== "undefined" ? Deno.cwd() : process.cwd(); 140 - const resolvedPath = resolve(cwd, configPath); 141 - const fileUrl = toFileUrl(resolvedPath).href; 142 - const module = await import(fileUrl); 143 - const config = module.default ?? module.config; 144 - if (typeof config === "function") { 145 - return defineLexiconConfig(config()); 146 - } else { 147 - return defineLexiconConfig(config); 148 - } 149 - } 132 + const content = typeof Deno !== "undefined" 133 + ? Deno.readTextFileSync(configPath) 134 + : (await import("node:fs")).readFileSync(configPath, "utf-8"); 135 + 136 + const parsed = parse(content) as unknown as LexiconConfig; 137 + return defineLexiconConfig(parsed); 150 138 } catch (error) { 151 139 console.warn(`Failed to load config from ${configPath}:`, error); 152 140 return null;
+1
lex-gen/deno.json
··· 7 7 "@cliffy/ansi": "jsr:@cliffy/ansi@^1.0.0-rc.8", 8 8 "@cliffy/command": "jsr:@cliffy/command@^1.0.0-rc.8", 9 9 "@std/fs": "jsr:@std/fs@^1.0.19", 10 + "@std/jsonc": "jsr:@std/jsonc@^1.0.1", 10 11 "@std/path": "jsr:@std/path@^1.1.2", 11 12 "prettier": "npm:prettier@^3.6.2", 12 13 "ts-morph": "jsr:@ts-morph/ts-morph@^26.0.0",
+2317
lex-gen/generated/index.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { 5 + type FetchHandler, 6 + type FetchHandlerOptions, 7 + XrpcClient, 8 + } from "@atp/xrpc"; 9 + import { schemas } from "./lexicons.ts"; 10 + import { type OmitKey, type Un$Typed } from "./util.ts"; 11 + import * as AppBskyVideoUploadVideo from "./types/app/bsky/video/uploadVideo.ts"; 12 + import * as AppBskyVideoDefs from "./types/app/bsky/video/defs.ts"; 13 + import * as AppBskyVideoGetJobStatus from "./types/app/bsky/video/getJobStatus.ts"; 14 + import * as AppBskyVideoGetUploadLimits from "./types/app/bsky/video/getUploadLimits.ts"; 15 + import * as AppBskyBookmarkDefs from "./types/app/bsky/bookmark/defs.ts"; 16 + import * as AppBskyBookmarkDeleteBookmark from "./types/app/bsky/bookmark/deleteBookmark.ts"; 17 + import * as AppBskyBookmarkGetBookmarks from "./types/app/bsky/bookmark/getBookmarks.ts"; 18 + import * as AppBskyBookmarkCreateBookmark from "./types/app/bsky/bookmark/createBookmark.ts"; 19 + import * as AppBskyEmbedDefs from "./types/app/bsky/embed/defs.ts"; 20 + import * as AppBskyEmbedRecord from "./types/app/bsky/embed/record.ts"; 21 + import * as AppBskyEmbedImages from "./types/app/bsky/embed/images.ts"; 22 + import * as AppBskyEmbedRecordWithMedia from "./types/app/bsky/embed/recordWithMedia.ts"; 23 + import * as AppBskyEmbedVideo from "./types/app/bsky/embed/video.ts"; 24 + import * as AppBskyEmbedExternal from "./types/app/bsky/embed/external.ts"; 25 + import * as AppBskyNotificationDefs from "./types/app/bsky/notification/defs.ts"; 26 + import * as AppBskyNotificationRegisterPush from "./types/app/bsky/notification/registerPush.ts"; 27 + import * as AppBskyNotificationPutPreferences from "./types/app/bsky/notification/putPreferences.ts"; 28 + import * as AppBskyNotificationPutActivitySubscription from "./types/app/bsky/notification/putActivitySubscription.ts"; 29 + import * as AppBskyNotificationDeclaration from "./types/app/bsky/notification/declaration.ts"; 30 + import * as AppBskyNotificationPutPreferencesV2 from "./types/app/bsky/notification/putPreferencesV2.ts"; 31 + import * as AppBskyNotificationUpdateSeen from "./types/app/bsky/notification/updateSeen.ts"; 32 + import * as AppBskyNotificationListActivitySubscriptions from "./types/app/bsky/notification/listActivitySubscriptions.ts"; 33 + import * as AppBskyNotificationUnregisterPush from "./types/app/bsky/notification/unregisterPush.ts"; 34 + import * as AppBskyNotificationGetPreferences from "./types/app/bsky/notification/getPreferences.ts"; 35 + import * as AppBskyNotificationListNotifications from "./types/app/bsky/notification/listNotifications.ts"; 36 + import * as AppBskyNotificationGetUnreadCount from "./types/app/bsky/notification/getUnreadCount.ts"; 37 + import * as AppBskyUnspeccedGetSuggestedFeedsSkeleton from "./types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts"; 38 + import * as AppBskyUnspeccedSearchStarterPacksSkeleton from "./types/app/bsky/unspecced/searchStarterPacksSkeleton.ts"; 39 + import * as AppBskyUnspeccedDefs from "./types/app/bsky/unspecced/defs.ts"; 40 + import * as AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton from "./types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts"; 41 + import * as AppBskyUnspeccedGetSuggestedUsers from "./types/app/bsky/unspecced/getSuggestedUsers.ts"; 42 + import * as AppBskyUnspeccedGetPostThreadOtherV2 from "./types/app/bsky/unspecced/getPostThreadOtherV2.ts"; 43 + import * as AppBskyUnspeccedGetSuggestedStarterPacks from "./types/app/bsky/unspecced/getSuggestedStarterPacks.ts"; 44 + import * as AppBskyUnspeccedGetSuggestedStarterPacksSkeleton from "./types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts"; 45 + import * as AppBskyUnspeccedGetOnboardingSuggestedStarterPacks from "./types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts"; 46 + import * as AppBskyUnspeccedGetSuggestedUsersSkeleton from "./types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts"; 47 + import * as AppBskyUnspeccedGetPostThreadV2 from "./types/app/bsky/unspecced/getPostThreadV2.ts"; 48 + import * as AppBskyUnspeccedGetTrends from "./types/app/bsky/unspecced/getTrends.ts"; 49 + import * as AppBskyUnspeccedSearchActorsSkeleton from "./types/app/bsky/unspecced/searchActorsSkeleton.ts"; 50 + import * as AppBskyUnspeccedGetSuggestionsSkeleton from "./types/app/bsky/unspecced/getSuggestionsSkeleton.ts"; 51 + import * as AppBskyUnspeccedSearchPostsSkeleton from "./types/app/bsky/unspecced/searchPostsSkeleton.ts"; 52 + import * as AppBskyUnspeccedGetAgeAssuranceState from "./types/app/bsky/unspecced/getAgeAssuranceState.ts"; 53 + import * as AppBskyUnspeccedGetPopularFeedGenerators from "./types/app/bsky/unspecced/getPopularFeedGenerators.ts"; 54 + import * as AppBskyUnspeccedInitAgeAssurance from "./types/app/bsky/unspecced/initAgeAssurance.ts"; 55 + import * as AppBskyUnspeccedGetTrendingTopics from "./types/app/bsky/unspecced/getTrendingTopics.ts"; 56 + import * as AppBskyUnspeccedGetTaggedSuggestions from "./types/app/bsky/unspecced/getTaggedSuggestions.ts"; 57 + import * as AppBskyUnspeccedGetSuggestedFeeds from "./types/app/bsky/unspecced/getSuggestedFeeds.ts"; 58 + import * as AppBskyUnspeccedGetTrendsSkeleton from "./types/app/bsky/unspecced/getTrendsSkeleton.ts"; 59 + import * as AppBskyUnspeccedGetConfig from "./types/app/bsky/unspecced/getConfig.ts"; 60 + import * as AppBskyGraphGetStarterPacks from "./types/app/bsky/graph/getStarterPacks.ts"; 61 + import * as AppBskyGraphGetSuggestedFollowsByActor from "./types/app/bsky/graph/getSuggestedFollowsByActor.ts"; 62 + import * as AppBskyGraphBlock from "./types/app/bsky/graph/block.ts"; 63 + import * as AppBskyGraphGetStarterPacksWithMembership from "./types/app/bsky/graph/getStarterPacksWithMembership.ts"; 64 + import * as AppBskyGraphFollow from "./types/app/bsky/graph/follow.ts"; 65 + import * as AppBskyGraphDefs from "./types/app/bsky/graph/defs.ts"; 66 + import * as AppBskyGraphGetListsWithMembership from "./types/app/bsky/graph/getListsWithMembership.ts"; 67 + import * as AppBskyGraphUnmuteActorList from "./types/app/bsky/graph/unmuteActorList.ts"; 68 + import * as AppBskyGraphGetListBlocks from "./types/app/bsky/graph/getListBlocks.ts"; 69 + import * as AppBskyGraphListblock from "./types/app/bsky/graph/listblock.ts"; 70 + import * as AppBskyGraphGetStarterPack from "./types/app/bsky/graph/getStarterPack.ts"; 71 + import * as AppBskyGraphStarterpack from "./types/app/bsky/graph/starterpack.ts"; 72 + import * as AppBskyGraphMuteActorList from "./types/app/bsky/graph/muteActorList.ts"; 73 + import * as AppBskyGraphMuteThread from "./types/app/bsky/graph/muteThread.ts"; 74 + import * as AppBskyGraphSearchStarterPacks from "./types/app/bsky/graph/searchStarterPacks.ts"; 75 + import * as AppBskyGraphGetActorStarterPacks from "./types/app/bsky/graph/getActorStarterPacks.ts"; 76 + import * as AppBskyGraphGetLists from "./types/app/bsky/graph/getLists.ts"; 77 + import * as AppBskyGraphGetFollowers from "./types/app/bsky/graph/getFollowers.ts"; 78 + import * as AppBskyGraphUnmuteThread from "./types/app/bsky/graph/unmuteThread.ts"; 79 + import * as AppBskyGraphMuteActor from "./types/app/bsky/graph/muteActor.ts"; 80 + import * as AppBskyGraphGetMutes from "./types/app/bsky/graph/getMutes.ts"; 81 + import * as AppBskyGraphListitem from "./types/app/bsky/graph/listitem.ts"; 82 + import * as AppBskyGraphList from "./types/app/bsky/graph/list.ts"; 83 + import * as AppBskyGraphGetKnownFollowers from "./types/app/bsky/graph/getKnownFollowers.ts"; 84 + import * as AppBskyGraphVerification from "./types/app/bsky/graph/verification.ts"; 85 + import * as AppBskyGraphGetListMutes from "./types/app/bsky/graph/getListMutes.ts"; 86 + import * as AppBskyGraphGetFollows from "./types/app/bsky/graph/getFollows.ts"; 87 + import * as AppBskyGraphGetBlocks from "./types/app/bsky/graph/getBlocks.ts"; 88 + import * as AppBskyGraphGetRelationships from "./types/app/bsky/graph/getRelationships.ts"; 89 + import * as AppBskyGraphUnmuteActor from "./types/app/bsky/graph/unmuteActor.ts"; 90 + import * as AppBskyGraphGetList from "./types/app/bsky/graph/getList.ts"; 91 + import * as AppBskyFeedGenerator from "./types/app/bsky/feed/generator.ts"; 92 + import * as AppBskyFeedSendInteractions from "./types/app/bsky/feed/sendInteractions.ts"; 93 + import * as AppBskyFeedDefs from "./types/app/bsky/feed/defs.ts"; 94 + import * as AppBskyFeedGetFeedGenerators from "./types/app/bsky/feed/getFeedGenerators.ts"; 95 + import * as AppBskyFeedGetTimeline from "./types/app/bsky/feed/getTimeline.ts"; 96 + import * as AppBskyFeedGetFeedGenerator from "./types/app/bsky/feed/getFeedGenerator.ts"; 97 + import * as AppBskyFeedGetAuthorFeed from "./types/app/bsky/feed/getAuthorFeed.ts"; 98 + import * as AppBskyFeedGetLikes from "./types/app/bsky/feed/getLikes.ts"; 99 + import * as AppBskyFeedPostgate from "./types/app/bsky/feed/postgate.ts"; 100 + import * as AppBskyFeedThreadgate from "./types/app/bsky/feed/threadgate.ts"; 101 + import * as AppBskyFeedGetPostThread from "./types/app/bsky/feed/getPostThread.ts"; 102 + import * as AppBskyFeedGetActorLikes from "./types/app/bsky/feed/getActorLikes.ts"; 103 + import * as AppBskyFeedLike from "./types/app/bsky/feed/like.ts"; 104 + import * as AppBskyFeedGetRepostedBy from "./types/app/bsky/feed/getRepostedBy.ts"; 105 + import * as AppBskyFeedRepost from "./types/app/bsky/feed/repost.ts"; 106 + import * as AppBskyFeedDescribeFeedGenerator from "./types/app/bsky/feed/describeFeedGenerator.ts"; 107 + import * as AppBskyFeedSearchPosts from "./types/app/bsky/feed/searchPosts.ts"; 108 + import * as AppBskyFeedGetPosts from "./types/app/bsky/feed/getPosts.ts"; 109 + import * as AppBskyFeedGetFeed from "./types/app/bsky/feed/getFeed.ts"; 110 + import * as AppBskyFeedGetQuotes from "./types/app/bsky/feed/getQuotes.ts"; 111 + import * as AppBskyFeedGetFeedSkeleton from "./types/app/bsky/feed/getFeedSkeleton.ts"; 112 + import * as AppBskyFeedGetListFeed from "./types/app/bsky/feed/getListFeed.ts"; 113 + import * as AppBskyFeedGetSuggestedFeeds from "./types/app/bsky/feed/getSuggestedFeeds.ts"; 114 + import * as AppBskyFeedGetActorFeeds from "./types/app/bsky/feed/getActorFeeds.ts"; 115 + import * as AppBskyFeedPost from "./types/app/bsky/feed/post.ts"; 116 + import * as AppBskyRichtextFacet from "./types/app/bsky/richtext/facet.ts"; 117 + import * as AppBskyActorSearchActorsTypeahead from "./types/app/bsky/actor/searchActorsTypeahead.ts"; 118 + import * as AppBskyActorDefs from "./types/app/bsky/actor/defs.ts"; 119 + import * as AppBskyActorPutPreferences from "./types/app/bsky/actor/putPreferences.ts"; 120 + import * as AppBskyActorGetProfile from "./types/app/bsky/actor/getProfile.ts"; 121 + import * as AppBskyActorGetSuggestions from "./types/app/bsky/actor/getSuggestions.ts"; 122 + import * as AppBskyActorSearchActors from "./types/app/bsky/actor/searchActors.ts"; 123 + import * as AppBskyActorGetProfiles from "./types/app/bsky/actor/getProfiles.ts"; 124 + import * as AppBskyActorStatus from "./types/app/bsky/actor/status.ts"; 125 + import * as AppBskyActorGetPreferences from "./types/app/bsky/actor/getPreferences.ts"; 126 + import * as AppBskyActorProfile from "./types/app/bsky/actor/profile.ts"; 127 + import * as AppBskyLabelerDefs from "./types/app/bsky/labeler/defs.ts"; 128 + import * as AppBskyLabelerService from "./types/app/bsky/labeler/service.ts"; 129 + import * as AppBskyLabelerGetServices from "./types/app/bsky/labeler/getServices.ts"; 130 + 131 + export * as AppBskyVideoUploadVideo from "./types/app/bsky/video/uploadVideo.ts"; 132 + export * as AppBskyVideoDefs from "./types/app/bsky/video/defs.ts"; 133 + export * as AppBskyVideoGetJobStatus from "./types/app/bsky/video/getJobStatus.ts"; 134 + export * as AppBskyVideoGetUploadLimits from "./types/app/bsky/video/getUploadLimits.ts"; 135 + export * as AppBskyBookmarkDefs from "./types/app/bsky/bookmark/defs.ts"; 136 + export * as AppBskyBookmarkDeleteBookmark from "./types/app/bsky/bookmark/deleteBookmark.ts"; 137 + export * as AppBskyBookmarkGetBookmarks from "./types/app/bsky/bookmark/getBookmarks.ts"; 138 + export * as AppBskyBookmarkCreateBookmark from "./types/app/bsky/bookmark/createBookmark.ts"; 139 + export * as AppBskyEmbedDefs from "./types/app/bsky/embed/defs.ts"; 140 + export * as AppBskyEmbedRecord from "./types/app/bsky/embed/record.ts"; 141 + export * as AppBskyEmbedImages from "./types/app/bsky/embed/images.ts"; 142 + export * as AppBskyEmbedRecordWithMedia from "./types/app/bsky/embed/recordWithMedia.ts"; 143 + export * as AppBskyEmbedVideo from "./types/app/bsky/embed/video.ts"; 144 + export * as AppBskyEmbedExternal from "./types/app/bsky/embed/external.ts"; 145 + export * as AppBskyNotificationDefs from "./types/app/bsky/notification/defs.ts"; 146 + export * as AppBskyNotificationRegisterPush from "./types/app/bsky/notification/registerPush.ts"; 147 + export * as AppBskyNotificationPutPreferences from "./types/app/bsky/notification/putPreferences.ts"; 148 + export * as AppBskyNotificationPutActivitySubscription from "./types/app/bsky/notification/putActivitySubscription.ts"; 149 + export * as AppBskyNotificationDeclaration from "./types/app/bsky/notification/declaration.ts"; 150 + export * as AppBskyNotificationPutPreferencesV2 from "./types/app/bsky/notification/putPreferencesV2.ts"; 151 + export * as AppBskyNotificationUpdateSeen from "./types/app/bsky/notification/updateSeen.ts"; 152 + export * as AppBskyNotificationListActivitySubscriptions from "./types/app/bsky/notification/listActivitySubscriptions.ts"; 153 + export * as AppBskyNotificationUnregisterPush from "./types/app/bsky/notification/unregisterPush.ts"; 154 + export * as AppBskyNotificationGetPreferences from "./types/app/bsky/notification/getPreferences.ts"; 155 + export * as AppBskyNotificationListNotifications from "./types/app/bsky/notification/listNotifications.ts"; 156 + export * as AppBskyNotificationGetUnreadCount from "./types/app/bsky/notification/getUnreadCount.ts"; 157 + export * as AppBskyUnspeccedGetSuggestedFeedsSkeleton from "./types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts"; 158 + export * as AppBskyUnspeccedSearchStarterPacksSkeleton from "./types/app/bsky/unspecced/searchStarterPacksSkeleton.ts"; 159 + export * as AppBskyUnspeccedDefs from "./types/app/bsky/unspecced/defs.ts"; 160 + export * as AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton from "./types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts"; 161 + export * as AppBskyUnspeccedGetSuggestedUsers from "./types/app/bsky/unspecced/getSuggestedUsers.ts"; 162 + export * as AppBskyUnspeccedGetPostThreadOtherV2 from "./types/app/bsky/unspecced/getPostThreadOtherV2.ts"; 163 + export * as AppBskyUnspeccedGetSuggestedStarterPacks from "./types/app/bsky/unspecced/getSuggestedStarterPacks.ts"; 164 + export * as AppBskyUnspeccedGetSuggestedStarterPacksSkeleton from "./types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts"; 165 + export * as AppBskyUnspeccedGetOnboardingSuggestedStarterPacks from "./types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts"; 166 + export * as AppBskyUnspeccedGetSuggestedUsersSkeleton from "./types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts"; 167 + export * as AppBskyUnspeccedGetPostThreadV2 from "./types/app/bsky/unspecced/getPostThreadV2.ts"; 168 + export * as AppBskyUnspeccedGetTrends from "./types/app/bsky/unspecced/getTrends.ts"; 169 + export * as AppBskyUnspeccedSearchActorsSkeleton from "./types/app/bsky/unspecced/searchActorsSkeleton.ts"; 170 + export * as AppBskyUnspeccedGetSuggestionsSkeleton from "./types/app/bsky/unspecced/getSuggestionsSkeleton.ts"; 171 + export * as AppBskyUnspeccedSearchPostsSkeleton from "./types/app/bsky/unspecced/searchPostsSkeleton.ts"; 172 + export * as AppBskyUnspeccedGetAgeAssuranceState from "./types/app/bsky/unspecced/getAgeAssuranceState.ts"; 173 + export * as AppBskyUnspeccedGetPopularFeedGenerators from "./types/app/bsky/unspecced/getPopularFeedGenerators.ts"; 174 + export * as AppBskyUnspeccedInitAgeAssurance from "./types/app/bsky/unspecced/initAgeAssurance.ts"; 175 + export * as AppBskyUnspeccedGetTrendingTopics from "./types/app/bsky/unspecced/getTrendingTopics.ts"; 176 + export * as AppBskyUnspeccedGetTaggedSuggestions from "./types/app/bsky/unspecced/getTaggedSuggestions.ts"; 177 + export * as AppBskyUnspeccedGetSuggestedFeeds from "./types/app/bsky/unspecced/getSuggestedFeeds.ts"; 178 + export * as AppBskyUnspeccedGetTrendsSkeleton from "./types/app/bsky/unspecced/getTrendsSkeleton.ts"; 179 + export * as AppBskyUnspeccedGetConfig from "./types/app/bsky/unspecced/getConfig.ts"; 180 + export * as AppBskyGraphGetStarterPacks from "./types/app/bsky/graph/getStarterPacks.ts"; 181 + export * as AppBskyGraphGetSuggestedFollowsByActor from "./types/app/bsky/graph/getSuggestedFollowsByActor.ts"; 182 + export * as AppBskyGraphBlock from "./types/app/bsky/graph/block.ts"; 183 + export * as AppBskyGraphGetStarterPacksWithMembership from "./types/app/bsky/graph/getStarterPacksWithMembership.ts"; 184 + export * as AppBskyGraphFollow from "./types/app/bsky/graph/follow.ts"; 185 + export * as AppBskyGraphDefs from "./types/app/bsky/graph/defs.ts"; 186 + export * as AppBskyGraphGetListsWithMembership from "./types/app/bsky/graph/getListsWithMembership.ts"; 187 + export * as AppBskyGraphUnmuteActorList from "./types/app/bsky/graph/unmuteActorList.ts"; 188 + export * as AppBskyGraphGetListBlocks from "./types/app/bsky/graph/getListBlocks.ts"; 189 + export * as AppBskyGraphListblock from "./types/app/bsky/graph/listblock.ts"; 190 + export * as AppBskyGraphGetStarterPack from "./types/app/bsky/graph/getStarterPack.ts"; 191 + export * as AppBskyGraphStarterpack from "./types/app/bsky/graph/starterpack.ts"; 192 + export * as AppBskyGraphMuteActorList from "./types/app/bsky/graph/muteActorList.ts"; 193 + export * as AppBskyGraphMuteThread from "./types/app/bsky/graph/muteThread.ts"; 194 + export * as AppBskyGraphSearchStarterPacks from "./types/app/bsky/graph/searchStarterPacks.ts"; 195 + export * as AppBskyGraphGetActorStarterPacks from "./types/app/bsky/graph/getActorStarterPacks.ts"; 196 + export * as AppBskyGraphGetLists from "./types/app/bsky/graph/getLists.ts"; 197 + export * as AppBskyGraphGetFollowers from "./types/app/bsky/graph/getFollowers.ts"; 198 + export * as AppBskyGraphUnmuteThread from "./types/app/bsky/graph/unmuteThread.ts"; 199 + export * as AppBskyGraphMuteActor from "./types/app/bsky/graph/muteActor.ts"; 200 + export * as AppBskyGraphGetMutes from "./types/app/bsky/graph/getMutes.ts"; 201 + export * as AppBskyGraphListitem from "./types/app/bsky/graph/listitem.ts"; 202 + export * as AppBskyGraphList from "./types/app/bsky/graph/list.ts"; 203 + export * as AppBskyGraphGetKnownFollowers from "./types/app/bsky/graph/getKnownFollowers.ts"; 204 + export * as AppBskyGraphVerification from "./types/app/bsky/graph/verification.ts"; 205 + export * as AppBskyGraphGetListMutes from "./types/app/bsky/graph/getListMutes.ts"; 206 + export * as AppBskyGraphGetFollows from "./types/app/bsky/graph/getFollows.ts"; 207 + export * as AppBskyGraphGetBlocks from "./types/app/bsky/graph/getBlocks.ts"; 208 + export * as AppBskyGraphGetRelationships from "./types/app/bsky/graph/getRelationships.ts"; 209 + export * as AppBskyGraphUnmuteActor from "./types/app/bsky/graph/unmuteActor.ts"; 210 + export * as AppBskyGraphGetList from "./types/app/bsky/graph/getList.ts"; 211 + export * as AppBskyFeedGenerator from "./types/app/bsky/feed/generator.ts"; 212 + export * as AppBskyFeedSendInteractions from "./types/app/bsky/feed/sendInteractions.ts"; 213 + export * as AppBskyFeedDefs from "./types/app/bsky/feed/defs.ts"; 214 + export * as AppBskyFeedGetFeedGenerators from "./types/app/bsky/feed/getFeedGenerators.ts"; 215 + export * as AppBskyFeedGetTimeline from "./types/app/bsky/feed/getTimeline.ts"; 216 + export * as AppBskyFeedGetFeedGenerator from "./types/app/bsky/feed/getFeedGenerator.ts"; 217 + export * as AppBskyFeedGetAuthorFeed from "./types/app/bsky/feed/getAuthorFeed.ts"; 218 + export * as AppBskyFeedGetLikes from "./types/app/bsky/feed/getLikes.ts"; 219 + export * as AppBskyFeedPostgate from "./types/app/bsky/feed/postgate.ts"; 220 + export * as AppBskyFeedThreadgate from "./types/app/bsky/feed/threadgate.ts"; 221 + export * as AppBskyFeedGetPostThread from "./types/app/bsky/feed/getPostThread.ts"; 222 + export * as AppBskyFeedGetActorLikes from "./types/app/bsky/feed/getActorLikes.ts"; 223 + export * as AppBskyFeedLike from "./types/app/bsky/feed/like.ts"; 224 + export * as AppBskyFeedGetRepostedBy from "./types/app/bsky/feed/getRepostedBy.ts"; 225 + export * as AppBskyFeedRepost from "./types/app/bsky/feed/repost.ts"; 226 + export * as AppBskyFeedDescribeFeedGenerator from "./types/app/bsky/feed/describeFeedGenerator.ts"; 227 + export * as AppBskyFeedSearchPosts from "./types/app/bsky/feed/searchPosts.ts"; 228 + export * as AppBskyFeedGetPosts from "./types/app/bsky/feed/getPosts.ts"; 229 + export * as AppBskyFeedGetFeed from "./types/app/bsky/feed/getFeed.ts"; 230 + export * as AppBskyFeedGetQuotes from "./types/app/bsky/feed/getQuotes.ts"; 231 + export * as AppBskyFeedGetFeedSkeleton from "./types/app/bsky/feed/getFeedSkeleton.ts"; 232 + export * as AppBskyFeedGetListFeed from "./types/app/bsky/feed/getListFeed.ts"; 233 + export * as AppBskyFeedGetSuggestedFeeds from "./types/app/bsky/feed/getSuggestedFeeds.ts"; 234 + export * as AppBskyFeedGetActorFeeds from "./types/app/bsky/feed/getActorFeeds.ts"; 235 + export * as AppBskyFeedPost from "./types/app/bsky/feed/post.ts"; 236 + export * as AppBskyRichtextFacet from "./types/app/bsky/richtext/facet.ts"; 237 + export * as AppBskyActorSearchActorsTypeahead from "./types/app/bsky/actor/searchActorsTypeahead.ts"; 238 + export * as AppBskyActorDefs from "./types/app/bsky/actor/defs.ts"; 239 + export * as AppBskyActorPutPreferences from "./types/app/bsky/actor/putPreferences.ts"; 240 + export * as AppBskyActorGetProfile from "./types/app/bsky/actor/getProfile.ts"; 241 + export * as AppBskyActorGetSuggestions from "./types/app/bsky/actor/getSuggestions.ts"; 242 + export * as AppBskyActorSearchActors from "./types/app/bsky/actor/searchActors.ts"; 243 + export * as AppBskyActorGetProfiles from "./types/app/bsky/actor/getProfiles.ts"; 244 + export * as AppBskyActorStatus from "./types/app/bsky/actor/status.ts"; 245 + export * as AppBskyActorGetPreferences from "./types/app/bsky/actor/getPreferences.ts"; 246 + export * as AppBskyActorProfile from "./types/app/bsky/actor/profile.ts"; 247 + export * as AppBskyLabelerDefs from "./types/app/bsky/labeler/defs.ts"; 248 + export * as AppBskyLabelerService from "./types/app/bsky/labeler/service.ts"; 249 + export * as AppBskyLabelerGetServices from "./types/app/bsky/labeler/getServices.ts"; 250 + 251 + export const APP_BSKY_GRAPH = { 252 + DefsModlist: "app.bsky.graph.defs#modlist", 253 + DefsCuratelist: "app.bsky.graph.defs#curatelist", 254 + DefsReferencelist: "app.bsky.graph.defs#referencelist", 255 + }; 256 + export const APP_BSKY_FEED = { 257 + DefsRequestLess: "app.bsky.feed.defs#requestLess", 258 + DefsRequestMore: "app.bsky.feed.defs#requestMore", 259 + DefsClickthroughItem: "app.bsky.feed.defs#clickthroughItem", 260 + DefsClickthroughAuthor: "app.bsky.feed.defs#clickthroughAuthor", 261 + DefsClickthroughReposter: "app.bsky.feed.defs#clickthroughReposter", 262 + DefsClickthroughEmbed: "app.bsky.feed.defs#clickthroughEmbed", 263 + DefsContentModeUnspecified: "app.bsky.feed.defs#contentModeUnspecified", 264 + DefsContentModeVideo: "app.bsky.feed.defs#contentModeVideo", 265 + DefsInteractionSeen: "app.bsky.feed.defs#interactionSeen", 266 + DefsInteractionLike: "app.bsky.feed.defs#interactionLike", 267 + DefsInteractionRepost: "app.bsky.feed.defs#interactionRepost", 268 + DefsInteractionReply: "app.bsky.feed.defs#interactionReply", 269 + DefsInteractionQuote: "app.bsky.feed.defs#interactionQuote", 270 + DefsInteractionShare: "app.bsky.feed.defs#interactionShare", 271 + }; 272 + export const APP_BSKY_ACTOR = { 273 + StatusLive: "app.bsky.actor.status#live", 274 + }; 275 + 276 + export class AtpBaseClient extends XrpcClient { 277 + app: AppNS; 278 + 279 + constructor(options: FetchHandler | FetchHandlerOptions) { 280 + super(options, schemas); 281 + this.app = new AppNS(this); 282 + } 283 + 284 + /** @deprecated use `this` instead */ 285 + get xrpc(): XrpcClient { 286 + return this; 287 + } 288 + } 289 + 290 + export class AppNS { 291 + _client: XrpcClient; 292 + bsky: AppBskyNS; 293 + 294 + constructor(client: XrpcClient) { 295 + this._client = client; 296 + this.bsky = new AppBskyNS(client); 297 + } 298 + } 299 + 300 + export class AppBskyNS { 301 + _client: XrpcClient; 302 + video: AppBskyVideoNS; 303 + bookmark: AppBskyBookmarkNS; 304 + embed: AppBskyEmbedNS; 305 + notification: AppBskyNotificationNS; 306 + unspecced: AppBskyUnspeccedNS; 307 + graph: AppBskyGraphNS; 308 + feed: AppBskyFeedNS; 309 + richtext: AppBskyRichtextNS; 310 + actor: AppBskyActorNS; 311 + labeler: AppBskyLabelerNS; 312 + 313 + constructor(client: XrpcClient) { 314 + this._client = client; 315 + this.video = new AppBskyVideoNS(client); 316 + this.bookmark = new AppBskyBookmarkNS(client); 317 + this.embed = new AppBskyEmbedNS(client); 318 + this.notification = new AppBskyNotificationNS(client); 319 + this.unspecced = new AppBskyUnspeccedNS(client); 320 + this.graph = new AppBskyGraphNS(client); 321 + this.feed = new AppBskyFeedNS(client); 322 + this.richtext = new AppBskyRichtextNS(client); 323 + this.actor = new AppBskyActorNS(client); 324 + this.labeler = new AppBskyLabelerNS(client); 325 + } 326 + } 327 + 328 + export class AppBskyVideoNS { 329 + _client: XrpcClient; 330 + 331 + constructor(client: XrpcClient) { 332 + this._client = client; 333 + } 334 + 335 + uploadVideo( 336 + data?: AppBskyVideoUploadVideo.InputSchema, 337 + opts?: AppBskyVideoUploadVideo.CallOptions, 338 + ): Promise<AppBskyVideoUploadVideo.Response> { 339 + return this._client 340 + .call("app.bsky.video.uploadVideo", opts?.qp, data, opts); 341 + } 342 + 343 + getJobStatus( 344 + params?: AppBskyVideoGetJobStatus.QueryParams, 345 + opts?: AppBskyVideoGetJobStatus.CallOptions, 346 + ): Promise<AppBskyVideoGetJobStatus.Response> { 347 + return this._client 348 + .call("app.bsky.video.getJobStatus", params, undefined, opts); 349 + } 350 + 351 + getUploadLimits( 352 + params?: AppBskyVideoGetUploadLimits.QueryParams, 353 + opts?: AppBskyVideoGetUploadLimits.CallOptions, 354 + ): Promise<AppBskyVideoGetUploadLimits.Response> { 355 + return this._client 356 + .call("app.bsky.video.getUploadLimits", params, undefined, opts); 357 + } 358 + } 359 + 360 + export class AppBskyBookmarkNS { 361 + _client: XrpcClient; 362 + 363 + constructor(client: XrpcClient) { 364 + this._client = client; 365 + } 366 + 367 + deleteBookmark( 368 + data?: AppBskyBookmarkDeleteBookmark.InputSchema, 369 + opts?: AppBskyBookmarkDeleteBookmark.CallOptions, 370 + ): Promise<AppBskyBookmarkDeleteBookmark.Response> { 371 + return this._client 372 + .call("app.bsky.bookmark.deleteBookmark", opts?.qp, data, opts) 373 + .catch((e) => { 374 + throw AppBskyBookmarkDeleteBookmark.toKnownErr(e); 375 + }); 376 + } 377 + 378 + getBookmarks( 379 + params?: AppBskyBookmarkGetBookmarks.QueryParams, 380 + opts?: AppBskyBookmarkGetBookmarks.CallOptions, 381 + ): Promise<AppBskyBookmarkGetBookmarks.Response> { 382 + return this._client 383 + .call("app.bsky.bookmark.getBookmarks", params, undefined, opts); 384 + } 385 + 386 + createBookmark( 387 + data?: AppBskyBookmarkCreateBookmark.InputSchema, 388 + opts?: AppBskyBookmarkCreateBookmark.CallOptions, 389 + ): Promise<AppBskyBookmarkCreateBookmark.Response> { 390 + return this._client 391 + .call("app.bsky.bookmark.createBookmark", opts?.qp, data, opts) 392 + .catch((e) => { 393 + throw AppBskyBookmarkCreateBookmark.toKnownErr(e); 394 + }); 395 + } 396 + } 397 + 398 + export class AppBskyEmbedNS { 399 + _client: XrpcClient; 400 + 401 + constructor(client: XrpcClient) { 402 + this._client = client; 403 + } 404 + } 405 + 406 + export class AppBskyNotificationNS { 407 + _client: XrpcClient; 408 + declaration: AppBskyNotificationDeclarationRecord; 409 + 410 + constructor(client: XrpcClient) { 411 + this._client = client; 412 + this.declaration = new AppBskyNotificationDeclarationRecord(client); 413 + } 414 + 415 + registerPush( 416 + data?: AppBskyNotificationRegisterPush.InputSchema, 417 + opts?: AppBskyNotificationRegisterPush.CallOptions, 418 + ): Promise<AppBskyNotificationRegisterPush.Response> { 419 + return this._client 420 + .call("app.bsky.notification.registerPush", opts?.qp, data, opts); 421 + } 422 + 423 + putPreferences( 424 + data?: AppBskyNotificationPutPreferences.InputSchema, 425 + opts?: AppBskyNotificationPutPreferences.CallOptions, 426 + ): Promise<AppBskyNotificationPutPreferences.Response> { 427 + return this._client 428 + .call("app.bsky.notification.putPreferences", opts?.qp, data, opts); 429 + } 430 + 431 + putActivitySubscription( 432 + data?: AppBskyNotificationPutActivitySubscription.InputSchema, 433 + opts?: AppBskyNotificationPutActivitySubscription.CallOptions, 434 + ): Promise<AppBskyNotificationPutActivitySubscription.Response> { 435 + return this._client 436 + .call( 437 + "app.bsky.notification.putActivitySubscription", 438 + opts?.qp, 439 + data, 440 + opts, 441 + ); 442 + } 443 + 444 + putPreferencesV2( 445 + data?: AppBskyNotificationPutPreferencesV2.InputSchema, 446 + opts?: AppBskyNotificationPutPreferencesV2.CallOptions, 447 + ): Promise<AppBskyNotificationPutPreferencesV2.Response> { 448 + return this._client 449 + .call("app.bsky.notification.putPreferencesV2", opts?.qp, data, opts); 450 + } 451 + 452 + updateSeen( 453 + data?: AppBskyNotificationUpdateSeen.InputSchema, 454 + opts?: AppBskyNotificationUpdateSeen.CallOptions, 455 + ): Promise<AppBskyNotificationUpdateSeen.Response> { 456 + return this._client 457 + .call("app.bsky.notification.updateSeen", opts?.qp, data, opts); 458 + } 459 + 460 + listActivitySubscriptions( 461 + params?: AppBskyNotificationListActivitySubscriptions.QueryParams, 462 + opts?: AppBskyNotificationListActivitySubscriptions.CallOptions, 463 + ): Promise<AppBskyNotificationListActivitySubscriptions.Response> { 464 + return this._client 465 + .call( 466 + "app.bsky.notification.listActivitySubscriptions", 467 + params, 468 + undefined, 469 + opts, 470 + ); 471 + } 472 + 473 + unregisterPush( 474 + data?: AppBskyNotificationUnregisterPush.InputSchema, 475 + opts?: AppBskyNotificationUnregisterPush.CallOptions, 476 + ): Promise<AppBskyNotificationUnregisterPush.Response> { 477 + return this._client 478 + .call("app.bsky.notification.unregisterPush", opts?.qp, data, opts); 479 + } 480 + 481 + getPreferences( 482 + params?: AppBskyNotificationGetPreferences.QueryParams, 483 + opts?: AppBskyNotificationGetPreferences.CallOptions, 484 + ): Promise<AppBskyNotificationGetPreferences.Response> { 485 + return this._client 486 + .call("app.bsky.notification.getPreferences", params, undefined, opts); 487 + } 488 + 489 + listNotifications( 490 + params?: AppBskyNotificationListNotifications.QueryParams, 491 + opts?: AppBskyNotificationListNotifications.CallOptions, 492 + ): Promise<AppBskyNotificationListNotifications.Response> { 493 + return this._client 494 + .call("app.bsky.notification.listNotifications", params, undefined, opts); 495 + } 496 + 497 + getUnreadCount( 498 + params?: AppBskyNotificationGetUnreadCount.QueryParams, 499 + opts?: AppBskyNotificationGetUnreadCount.CallOptions, 500 + ): Promise<AppBskyNotificationGetUnreadCount.Response> { 501 + return this._client 502 + .call("app.bsky.notification.getUnreadCount", params, undefined, opts); 503 + } 504 + } 505 + 506 + export class AppBskyNotificationDeclarationRecord { 507 + _client: XrpcClient; 508 + 509 + constructor(client: XrpcClient) { 510 + this._client = client; 511 + } 512 + 513 + async list( 514 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 515 + ): Promise< 516 + { 517 + cursor?: string; 518 + records: 519 + ({ uri: string; value: AppBskyNotificationDeclaration.Record })[]; 520 + } 521 + > { 522 + const res = await this._client.call("com.atproto.repo.listRecords", { 523 + collection: "app.bsky.notification.declaration", 524 + ...params, 525 + }); 526 + return res.data; 527 + } 528 + 529 + async get( 530 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 531 + ): Promise< 532 + { uri: string; cid: string; value: AppBskyNotificationDeclaration.Record } 533 + > { 534 + const res = await this._client.call("com.atproto.repo.getRecord", { 535 + collection: "app.bsky.notification.declaration", 536 + ...params, 537 + }); 538 + return res.data; 539 + } 540 + 541 + async create( 542 + params: OmitKey< 543 + ComAtprotoRepoCreateRecord.InputSchema, 544 + "collection" | "record" 545 + >, 546 + record: Un$Typed<AppBskyNotificationDeclaration.Record>, 547 + headers?: Record<string, string>, 548 + ): Promise<{ uri: string; cid: string }> { 549 + const collection = "app.bsky.notification.declaration"; 550 + const res = await this._client.call( 551 + "com.atproto.repo.createRecord", 552 + undefined, 553 + { 554 + collection, 555 + rkey: "self", 556 + ...params, 557 + record: { ...record, $type: collection }, 558 + }, 559 + { encoding: "application/json", headers }, 560 + ); 561 + return res.data; 562 + } 563 + 564 + async delete( 565 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 566 + headers?: Record<string, string>, 567 + ): Promise<void> { 568 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 569 + collection: "app.bsky.notification.declaration", 570 + ...params, 571 + }, { headers }); 572 + } 573 + } 574 + 575 + export class AppBskyUnspeccedNS { 576 + _client: XrpcClient; 577 + 578 + constructor(client: XrpcClient) { 579 + this._client = client; 580 + } 581 + 582 + getSuggestedFeedsSkeleton( 583 + params?: AppBskyUnspeccedGetSuggestedFeedsSkeleton.QueryParams, 584 + opts?: AppBskyUnspeccedGetSuggestedFeedsSkeleton.CallOptions, 585 + ): Promise<AppBskyUnspeccedGetSuggestedFeedsSkeleton.Response> { 586 + return this._client 587 + .call( 588 + "app.bsky.unspecced.getSuggestedFeedsSkeleton", 589 + params, 590 + undefined, 591 + opts, 592 + ); 593 + } 594 + 595 + searchStarterPacksSkeleton( 596 + params?: AppBskyUnspeccedSearchStarterPacksSkeleton.QueryParams, 597 + opts?: AppBskyUnspeccedSearchStarterPacksSkeleton.CallOptions, 598 + ): Promise<AppBskyUnspeccedSearchStarterPacksSkeleton.Response> { 599 + return this._client 600 + .call( 601 + "app.bsky.unspecced.searchStarterPacksSkeleton", 602 + params, 603 + undefined, 604 + opts, 605 + ) 606 + .catch((e) => { 607 + throw AppBskyUnspeccedSearchStarterPacksSkeleton.toKnownErr(e); 608 + }); 609 + } 610 + 611 + getOnboardingSuggestedStarterPacksSkeleton( 612 + params?: 613 + AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton.QueryParams, 614 + opts?: 615 + AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton.CallOptions, 616 + ): Promise< 617 + AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton.Response 618 + > { 619 + return this._client 620 + .call( 621 + "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton", 622 + params, 623 + undefined, 624 + opts, 625 + ); 626 + } 627 + 628 + getSuggestedUsers( 629 + params?: AppBskyUnspeccedGetSuggestedUsers.QueryParams, 630 + opts?: AppBskyUnspeccedGetSuggestedUsers.CallOptions, 631 + ): Promise<AppBskyUnspeccedGetSuggestedUsers.Response> { 632 + return this._client 633 + .call("app.bsky.unspecced.getSuggestedUsers", params, undefined, opts); 634 + } 635 + 636 + getPostThreadOtherV2( 637 + params?: AppBskyUnspeccedGetPostThreadOtherV2.QueryParams, 638 + opts?: AppBskyUnspeccedGetPostThreadOtherV2.CallOptions, 639 + ): Promise<AppBskyUnspeccedGetPostThreadOtherV2.Response> { 640 + return this._client 641 + .call("app.bsky.unspecced.getPostThreadOtherV2", params, undefined, opts); 642 + } 643 + 644 + getSuggestedStarterPacks( 645 + params?: AppBskyUnspeccedGetSuggestedStarterPacks.QueryParams, 646 + opts?: AppBskyUnspeccedGetSuggestedStarterPacks.CallOptions, 647 + ): Promise<AppBskyUnspeccedGetSuggestedStarterPacks.Response> { 648 + return this._client 649 + .call( 650 + "app.bsky.unspecced.getSuggestedStarterPacks", 651 + params, 652 + undefined, 653 + opts, 654 + ); 655 + } 656 + 657 + getSuggestedStarterPacksSkeleton( 658 + params?: AppBskyUnspeccedGetSuggestedStarterPacksSkeleton.QueryParams, 659 + opts?: AppBskyUnspeccedGetSuggestedStarterPacksSkeleton.CallOptions, 660 + ): Promise<AppBskyUnspeccedGetSuggestedStarterPacksSkeleton.Response> { 661 + return this._client 662 + .call( 663 + "app.bsky.unspecced.getSuggestedStarterPacksSkeleton", 664 + params, 665 + undefined, 666 + opts, 667 + ); 668 + } 669 + 670 + getOnboardingSuggestedStarterPacks( 671 + params?: AppBskyUnspeccedGetOnboardingSuggestedStarterPacks.QueryParams, 672 + opts?: AppBskyUnspeccedGetOnboardingSuggestedStarterPacks.CallOptions, 673 + ): Promise<AppBskyUnspeccedGetOnboardingSuggestedStarterPacks.Response> { 674 + return this._client 675 + .call( 676 + "app.bsky.unspecced.getOnboardingSuggestedStarterPacks", 677 + params, 678 + undefined, 679 + opts, 680 + ); 681 + } 682 + 683 + getSuggestedUsersSkeleton( 684 + params?: AppBskyUnspeccedGetSuggestedUsersSkeleton.QueryParams, 685 + opts?: AppBskyUnspeccedGetSuggestedUsersSkeleton.CallOptions, 686 + ): Promise<AppBskyUnspeccedGetSuggestedUsersSkeleton.Response> { 687 + return this._client 688 + .call( 689 + "app.bsky.unspecced.getSuggestedUsersSkeleton", 690 + params, 691 + undefined, 692 + opts, 693 + ); 694 + } 695 + 696 + getPostThreadV2( 697 + params?: AppBskyUnspeccedGetPostThreadV2.QueryParams, 698 + opts?: AppBskyUnspeccedGetPostThreadV2.CallOptions, 699 + ): Promise<AppBskyUnspeccedGetPostThreadV2.Response> { 700 + return this._client 701 + .call("app.bsky.unspecced.getPostThreadV2", params, undefined, opts); 702 + } 703 + 704 + getTrends( 705 + params?: AppBskyUnspeccedGetTrends.QueryParams, 706 + opts?: AppBskyUnspeccedGetTrends.CallOptions, 707 + ): Promise<AppBskyUnspeccedGetTrends.Response> { 708 + return this._client 709 + .call("app.bsky.unspecced.getTrends", params, undefined, opts); 710 + } 711 + 712 + searchActorsSkeleton( 713 + params?: AppBskyUnspeccedSearchActorsSkeleton.QueryParams, 714 + opts?: AppBskyUnspeccedSearchActorsSkeleton.CallOptions, 715 + ): Promise<AppBskyUnspeccedSearchActorsSkeleton.Response> { 716 + return this._client 717 + .call("app.bsky.unspecced.searchActorsSkeleton", params, undefined, opts) 718 + .catch((e) => { 719 + throw AppBskyUnspeccedSearchActorsSkeleton.toKnownErr(e); 720 + }); 721 + } 722 + 723 + getSuggestionsSkeleton( 724 + params?: AppBskyUnspeccedGetSuggestionsSkeleton.QueryParams, 725 + opts?: AppBskyUnspeccedGetSuggestionsSkeleton.CallOptions, 726 + ): Promise<AppBskyUnspeccedGetSuggestionsSkeleton.Response> { 727 + return this._client 728 + .call( 729 + "app.bsky.unspecced.getSuggestionsSkeleton", 730 + params, 731 + undefined, 732 + opts, 733 + ); 734 + } 735 + 736 + searchPostsSkeleton( 737 + params?: AppBskyUnspeccedSearchPostsSkeleton.QueryParams, 738 + opts?: AppBskyUnspeccedSearchPostsSkeleton.CallOptions, 739 + ): Promise<AppBskyUnspeccedSearchPostsSkeleton.Response> { 740 + return this._client 741 + .call("app.bsky.unspecced.searchPostsSkeleton", params, undefined, opts) 742 + .catch((e) => { 743 + throw AppBskyUnspeccedSearchPostsSkeleton.toKnownErr(e); 744 + }); 745 + } 746 + 747 + getAgeAssuranceState( 748 + params?: AppBskyUnspeccedGetAgeAssuranceState.QueryParams, 749 + opts?: AppBskyUnspeccedGetAgeAssuranceState.CallOptions, 750 + ): Promise<AppBskyUnspeccedGetAgeAssuranceState.Response> { 751 + return this._client 752 + .call("app.bsky.unspecced.getAgeAssuranceState", params, undefined, opts); 753 + } 754 + 755 + getPopularFeedGenerators( 756 + params?: AppBskyUnspeccedGetPopularFeedGenerators.QueryParams, 757 + opts?: AppBskyUnspeccedGetPopularFeedGenerators.CallOptions, 758 + ): Promise<AppBskyUnspeccedGetPopularFeedGenerators.Response> { 759 + return this._client 760 + .call( 761 + "app.bsky.unspecced.getPopularFeedGenerators", 762 + params, 763 + undefined, 764 + opts, 765 + ); 766 + } 767 + 768 + initAgeAssurance( 769 + data?: AppBskyUnspeccedInitAgeAssurance.InputSchema, 770 + opts?: AppBskyUnspeccedInitAgeAssurance.CallOptions, 771 + ): Promise<AppBskyUnspeccedInitAgeAssurance.Response> { 772 + return this._client 773 + .call("app.bsky.unspecced.initAgeAssurance", opts?.qp, data, opts) 774 + .catch((e) => { 775 + throw AppBskyUnspeccedInitAgeAssurance.toKnownErr(e); 776 + }); 777 + } 778 + 779 + getTrendingTopics( 780 + params?: AppBskyUnspeccedGetTrendingTopics.QueryParams, 781 + opts?: AppBskyUnspeccedGetTrendingTopics.CallOptions, 782 + ): Promise<AppBskyUnspeccedGetTrendingTopics.Response> { 783 + return this._client 784 + .call("app.bsky.unspecced.getTrendingTopics", params, undefined, opts); 785 + } 786 + 787 + getTaggedSuggestions( 788 + params?: AppBskyUnspeccedGetTaggedSuggestions.QueryParams, 789 + opts?: AppBskyUnspeccedGetTaggedSuggestions.CallOptions, 790 + ): Promise<AppBskyUnspeccedGetTaggedSuggestions.Response> { 791 + return this._client 792 + .call("app.bsky.unspecced.getTaggedSuggestions", params, undefined, opts); 793 + } 794 + 795 + getSuggestedFeeds( 796 + params?: AppBskyUnspeccedGetSuggestedFeeds.QueryParams, 797 + opts?: AppBskyUnspeccedGetSuggestedFeeds.CallOptions, 798 + ): Promise<AppBskyUnspeccedGetSuggestedFeeds.Response> { 799 + return this._client 800 + .call("app.bsky.unspecced.getSuggestedFeeds", params, undefined, opts); 801 + } 802 + 803 + getTrendsSkeleton( 804 + params?: AppBskyUnspeccedGetTrendsSkeleton.QueryParams, 805 + opts?: AppBskyUnspeccedGetTrendsSkeleton.CallOptions, 806 + ): Promise<AppBskyUnspeccedGetTrendsSkeleton.Response> { 807 + return this._client 808 + .call("app.bsky.unspecced.getTrendsSkeleton", params, undefined, opts); 809 + } 810 + 811 + getConfig( 812 + params?: AppBskyUnspeccedGetConfig.QueryParams, 813 + opts?: AppBskyUnspeccedGetConfig.CallOptions, 814 + ): Promise<AppBskyUnspeccedGetConfig.Response> { 815 + return this._client 816 + .call("app.bsky.unspecced.getConfig", params, undefined, opts); 817 + } 818 + } 819 + 820 + export class AppBskyGraphNS { 821 + _client: XrpcClient; 822 + block: AppBskyGraphBlockRecord; 823 + follow: AppBskyGraphFollowRecord; 824 + listblock: AppBskyGraphListblockRecord; 825 + starterpack: AppBskyGraphStarterpackRecord; 826 + listitem: AppBskyGraphListitemRecord; 827 + list: AppBskyGraphListRecord; 828 + verification: AppBskyGraphVerificationRecord; 829 + 830 + constructor(client: XrpcClient) { 831 + this._client = client; 832 + this.block = new AppBskyGraphBlockRecord(client); 833 + this.follow = new AppBskyGraphFollowRecord(client); 834 + this.listblock = new AppBskyGraphListblockRecord(client); 835 + this.starterpack = new AppBskyGraphStarterpackRecord(client); 836 + this.listitem = new AppBskyGraphListitemRecord(client); 837 + this.list = new AppBskyGraphListRecord(client); 838 + this.verification = new AppBskyGraphVerificationRecord(client); 839 + } 840 + 841 + getStarterPacks( 842 + params?: AppBskyGraphGetStarterPacks.QueryParams, 843 + opts?: AppBskyGraphGetStarterPacks.CallOptions, 844 + ): Promise<AppBskyGraphGetStarterPacks.Response> { 845 + return this._client 846 + .call("app.bsky.graph.getStarterPacks", params, undefined, opts); 847 + } 848 + 849 + getSuggestedFollowsByActor( 850 + params?: AppBskyGraphGetSuggestedFollowsByActor.QueryParams, 851 + opts?: AppBskyGraphGetSuggestedFollowsByActor.CallOptions, 852 + ): Promise<AppBskyGraphGetSuggestedFollowsByActor.Response> { 853 + return this._client 854 + .call( 855 + "app.bsky.graph.getSuggestedFollowsByActor", 856 + params, 857 + undefined, 858 + opts, 859 + ); 860 + } 861 + 862 + getStarterPacksWithMembership( 863 + params?: AppBskyGraphGetStarterPacksWithMembership.QueryParams, 864 + opts?: AppBskyGraphGetStarterPacksWithMembership.CallOptions, 865 + ): Promise<AppBskyGraphGetStarterPacksWithMembership.Response> { 866 + return this._client 867 + .call( 868 + "app.bsky.graph.getStarterPacksWithMembership", 869 + params, 870 + undefined, 871 + opts, 872 + ); 873 + } 874 + 875 + getListsWithMembership( 876 + params?: AppBskyGraphGetListsWithMembership.QueryParams, 877 + opts?: AppBskyGraphGetListsWithMembership.CallOptions, 878 + ): Promise<AppBskyGraphGetListsWithMembership.Response> { 879 + return this._client 880 + .call("app.bsky.graph.getListsWithMembership", params, undefined, opts); 881 + } 882 + 883 + unmuteActorList( 884 + data?: AppBskyGraphUnmuteActorList.InputSchema, 885 + opts?: AppBskyGraphUnmuteActorList.CallOptions, 886 + ): Promise<AppBskyGraphUnmuteActorList.Response> { 887 + return this._client 888 + .call("app.bsky.graph.unmuteActorList", opts?.qp, data, opts); 889 + } 890 + 891 + getListBlocks( 892 + params?: AppBskyGraphGetListBlocks.QueryParams, 893 + opts?: AppBskyGraphGetListBlocks.CallOptions, 894 + ): Promise<AppBskyGraphGetListBlocks.Response> { 895 + return this._client 896 + .call("app.bsky.graph.getListBlocks", params, undefined, opts); 897 + } 898 + 899 + getStarterPack( 900 + params?: AppBskyGraphGetStarterPack.QueryParams, 901 + opts?: AppBskyGraphGetStarterPack.CallOptions, 902 + ): Promise<AppBskyGraphGetStarterPack.Response> { 903 + return this._client 904 + .call("app.bsky.graph.getStarterPack", params, undefined, opts); 905 + } 906 + 907 + muteActorList( 908 + data?: AppBskyGraphMuteActorList.InputSchema, 909 + opts?: AppBskyGraphMuteActorList.CallOptions, 910 + ): Promise<AppBskyGraphMuteActorList.Response> { 911 + return this._client 912 + .call("app.bsky.graph.muteActorList", opts?.qp, data, opts); 913 + } 914 + 915 + muteThread( 916 + data?: AppBskyGraphMuteThread.InputSchema, 917 + opts?: AppBskyGraphMuteThread.CallOptions, 918 + ): Promise<AppBskyGraphMuteThread.Response> { 919 + return this._client 920 + .call("app.bsky.graph.muteThread", opts?.qp, data, opts); 921 + } 922 + 923 + searchStarterPacks( 924 + params?: AppBskyGraphSearchStarterPacks.QueryParams, 925 + opts?: AppBskyGraphSearchStarterPacks.CallOptions, 926 + ): Promise<AppBskyGraphSearchStarterPacks.Response> { 927 + return this._client 928 + .call("app.bsky.graph.searchStarterPacks", params, undefined, opts); 929 + } 930 + 931 + getActorStarterPacks( 932 + params?: AppBskyGraphGetActorStarterPacks.QueryParams, 933 + opts?: AppBskyGraphGetActorStarterPacks.CallOptions, 934 + ): Promise<AppBskyGraphGetActorStarterPacks.Response> { 935 + return this._client 936 + .call("app.bsky.graph.getActorStarterPacks", params, undefined, opts); 937 + } 938 + 939 + getLists( 940 + params?: AppBskyGraphGetLists.QueryParams, 941 + opts?: AppBskyGraphGetLists.CallOptions, 942 + ): Promise<AppBskyGraphGetLists.Response> { 943 + return this._client 944 + .call("app.bsky.graph.getLists", params, undefined, opts); 945 + } 946 + 947 + getFollowers( 948 + params?: AppBskyGraphGetFollowers.QueryParams, 949 + opts?: AppBskyGraphGetFollowers.CallOptions, 950 + ): Promise<AppBskyGraphGetFollowers.Response> { 951 + return this._client 952 + .call("app.bsky.graph.getFollowers", params, undefined, opts); 953 + } 954 + 955 + unmuteThread( 956 + data?: AppBskyGraphUnmuteThread.InputSchema, 957 + opts?: AppBskyGraphUnmuteThread.CallOptions, 958 + ): Promise<AppBskyGraphUnmuteThread.Response> { 959 + return this._client 960 + .call("app.bsky.graph.unmuteThread", opts?.qp, data, opts); 961 + } 962 + 963 + muteActor( 964 + data?: AppBskyGraphMuteActor.InputSchema, 965 + opts?: AppBskyGraphMuteActor.CallOptions, 966 + ): Promise<AppBskyGraphMuteActor.Response> { 967 + return this._client 968 + .call("app.bsky.graph.muteActor", opts?.qp, data, opts); 969 + } 970 + 971 + getMutes( 972 + params?: AppBskyGraphGetMutes.QueryParams, 973 + opts?: AppBskyGraphGetMutes.CallOptions, 974 + ): Promise<AppBskyGraphGetMutes.Response> { 975 + return this._client 976 + .call("app.bsky.graph.getMutes", params, undefined, opts); 977 + } 978 + 979 + getKnownFollowers( 980 + params?: AppBskyGraphGetKnownFollowers.QueryParams, 981 + opts?: AppBskyGraphGetKnownFollowers.CallOptions, 982 + ): Promise<AppBskyGraphGetKnownFollowers.Response> { 983 + return this._client 984 + .call("app.bsky.graph.getKnownFollowers", params, undefined, opts); 985 + } 986 + 987 + getListMutes( 988 + params?: AppBskyGraphGetListMutes.QueryParams, 989 + opts?: AppBskyGraphGetListMutes.CallOptions, 990 + ): Promise<AppBskyGraphGetListMutes.Response> { 991 + return this._client 992 + .call("app.bsky.graph.getListMutes", params, undefined, opts); 993 + } 994 + 995 + getFollows( 996 + params?: AppBskyGraphGetFollows.QueryParams, 997 + opts?: AppBskyGraphGetFollows.CallOptions, 998 + ): Promise<AppBskyGraphGetFollows.Response> { 999 + return this._client 1000 + .call("app.bsky.graph.getFollows", params, undefined, opts); 1001 + } 1002 + 1003 + getBlocks( 1004 + params?: AppBskyGraphGetBlocks.QueryParams, 1005 + opts?: AppBskyGraphGetBlocks.CallOptions, 1006 + ): Promise<AppBskyGraphGetBlocks.Response> { 1007 + return this._client 1008 + .call("app.bsky.graph.getBlocks", params, undefined, opts); 1009 + } 1010 + 1011 + getRelationships( 1012 + params?: AppBskyGraphGetRelationships.QueryParams, 1013 + opts?: AppBskyGraphGetRelationships.CallOptions, 1014 + ): Promise<AppBskyGraphGetRelationships.Response> { 1015 + return this._client 1016 + .call("app.bsky.graph.getRelationships", params, undefined, opts) 1017 + .catch((e) => { 1018 + throw AppBskyGraphGetRelationships.toKnownErr(e); 1019 + }); 1020 + } 1021 + 1022 + unmuteActor( 1023 + data?: AppBskyGraphUnmuteActor.InputSchema, 1024 + opts?: AppBskyGraphUnmuteActor.CallOptions, 1025 + ): Promise<AppBskyGraphUnmuteActor.Response> { 1026 + return this._client 1027 + .call("app.bsky.graph.unmuteActor", opts?.qp, data, opts); 1028 + } 1029 + 1030 + getList( 1031 + params?: AppBskyGraphGetList.QueryParams, 1032 + opts?: AppBskyGraphGetList.CallOptions, 1033 + ): Promise<AppBskyGraphGetList.Response> { 1034 + return this._client 1035 + .call("app.bsky.graph.getList", params, undefined, opts); 1036 + } 1037 + } 1038 + 1039 + export class AppBskyGraphBlockRecord { 1040 + _client: XrpcClient; 1041 + 1042 + constructor(client: XrpcClient) { 1043 + this._client = client; 1044 + } 1045 + 1046 + async list( 1047 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1048 + ): Promise< 1049 + { 1050 + cursor?: string; 1051 + records: ({ uri: string; value: AppBskyGraphBlock.Record })[]; 1052 + } 1053 + > { 1054 + const res = await this._client.call("com.atproto.repo.listRecords", { 1055 + collection: "app.bsky.graph.block", 1056 + ...params, 1057 + }); 1058 + return res.data; 1059 + } 1060 + 1061 + async get( 1062 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1063 + ): Promise<{ uri: string; cid: string; value: AppBskyGraphBlock.Record }> { 1064 + const res = await this._client.call("com.atproto.repo.getRecord", { 1065 + collection: "app.bsky.graph.block", 1066 + ...params, 1067 + }); 1068 + return res.data; 1069 + } 1070 + 1071 + async create( 1072 + params: OmitKey< 1073 + ComAtprotoRepoCreateRecord.InputSchema, 1074 + "collection" | "record" 1075 + >, 1076 + record: Un$Typed<AppBskyGraphBlock.Record>, 1077 + headers?: Record<string, string>, 1078 + ): Promise<{ uri: string; cid: string }> { 1079 + const collection = "app.bsky.graph.block"; 1080 + const res = await this._client.call( 1081 + "com.atproto.repo.createRecord", 1082 + undefined, 1083 + { collection, ...params, record: { ...record, $type: collection } }, 1084 + { encoding: "application/json", headers }, 1085 + ); 1086 + return res.data; 1087 + } 1088 + 1089 + async delete( 1090 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1091 + headers?: Record<string, string>, 1092 + ): Promise<void> { 1093 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1094 + collection: "app.bsky.graph.block", 1095 + ...params, 1096 + }, { headers }); 1097 + } 1098 + } 1099 + 1100 + export class AppBskyGraphFollowRecord { 1101 + _client: XrpcClient; 1102 + 1103 + constructor(client: XrpcClient) { 1104 + this._client = client; 1105 + } 1106 + 1107 + async list( 1108 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1109 + ): Promise< 1110 + { 1111 + cursor?: string; 1112 + records: ({ uri: string; value: AppBskyGraphFollow.Record })[]; 1113 + } 1114 + > { 1115 + const res = await this._client.call("com.atproto.repo.listRecords", { 1116 + collection: "app.bsky.graph.follow", 1117 + ...params, 1118 + }); 1119 + return res.data; 1120 + } 1121 + 1122 + async get( 1123 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1124 + ): Promise<{ uri: string; cid: string; value: AppBskyGraphFollow.Record }> { 1125 + const res = await this._client.call("com.atproto.repo.getRecord", { 1126 + collection: "app.bsky.graph.follow", 1127 + ...params, 1128 + }); 1129 + return res.data; 1130 + } 1131 + 1132 + async create( 1133 + params: OmitKey< 1134 + ComAtprotoRepoCreateRecord.InputSchema, 1135 + "collection" | "record" 1136 + >, 1137 + record: Un$Typed<AppBskyGraphFollow.Record>, 1138 + headers?: Record<string, string>, 1139 + ): Promise<{ uri: string; cid: string }> { 1140 + const collection = "app.bsky.graph.follow"; 1141 + const res = await this._client.call( 1142 + "com.atproto.repo.createRecord", 1143 + undefined, 1144 + { collection, ...params, record: { ...record, $type: collection } }, 1145 + { encoding: "application/json", headers }, 1146 + ); 1147 + return res.data; 1148 + } 1149 + 1150 + async delete( 1151 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1152 + headers?: Record<string, string>, 1153 + ): Promise<void> { 1154 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1155 + collection: "app.bsky.graph.follow", 1156 + ...params, 1157 + }, { headers }); 1158 + } 1159 + } 1160 + 1161 + export class AppBskyGraphListblockRecord { 1162 + _client: XrpcClient; 1163 + 1164 + constructor(client: XrpcClient) { 1165 + this._client = client; 1166 + } 1167 + 1168 + async list( 1169 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1170 + ): Promise< 1171 + { 1172 + cursor?: string; 1173 + records: ({ uri: string; value: AppBskyGraphListblock.Record })[]; 1174 + } 1175 + > { 1176 + const res = await this._client.call("com.atproto.repo.listRecords", { 1177 + collection: "app.bsky.graph.listblock", 1178 + ...params, 1179 + }); 1180 + return res.data; 1181 + } 1182 + 1183 + async get( 1184 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1185 + ): Promise< 1186 + { uri: string; cid: string; value: AppBskyGraphListblock.Record } 1187 + > { 1188 + const res = await this._client.call("com.atproto.repo.getRecord", { 1189 + collection: "app.bsky.graph.listblock", 1190 + ...params, 1191 + }); 1192 + return res.data; 1193 + } 1194 + 1195 + async create( 1196 + params: OmitKey< 1197 + ComAtprotoRepoCreateRecord.InputSchema, 1198 + "collection" | "record" 1199 + >, 1200 + record: Un$Typed<AppBskyGraphListblock.Record>, 1201 + headers?: Record<string, string>, 1202 + ): Promise<{ uri: string; cid: string }> { 1203 + const collection = "app.bsky.graph.listblock"; 1204 + const res = await this._client.call( 1205 + "com.atproto.repo.createRecord", 1206 + undefined, 1207 + { collection, ...params, record: { ...record, $type: collection } }, 1208 + { encoding: "application/json", headers }, 1209 + ); 1210 + return res.data; 1211 + } 1212 + 1213 + async delete( 1214 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1215 + headers?: Record<string, string>, 1216 + ): Promise<void> { 1217 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1218 + collection: "app.bsky.graph.listblock", 1219 + ...params, 1220 + }, { headers }); 1221 + } 1222 + } 1223 + 1224 + export class AppBskyGraphStarterpackRecord { 1225 + _client: XrpcClient; 1226 + 1227 + constructor(client: XrpcClient) { 1228 + this._client = client; 1229 + } 1230 + 1231 + async list( 1232 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1233 + ): Promise< 1234 + { 1235 + cursor?: string; 1236 + records: ({ uri: string; value: AppBskyGraphStarterpack.Record })[]; 1237 + } 1238 + > { 1239 + const res = await this._client.call("com.atproto.repo.listRecords", { 1240 + collection: "app.bsky.graph.starterpack", 1241 + ...params, 1242 + }); 1243 + return res.data; 1244 + } 1245 + 1246 + async get( 1247 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1248 + ): Promise< 1249 + { uri: string; cid: string; value: AppBskyGraphStarterpack.Record } 1250 + > { 1251 + const res = await this._client.call("com.atproto.repo.getRecord", { 1252 + collection: "app.bsky.graph.starterpack", 1253 + ...params, 1254 + }); 1255 + return res.data; 1256 + } 1257 + 1258 + async create( 1259 + params: OmitKey< 1260 + ComAtprotoRepoCreateRecord.InputSchema, 1261 + "collection" | "record" 1262 + >, 1263 + record: Un$Typed<AppBskyGraphStarterpack.Record>, 1264 + headers?: Record<string, string>, 1265 + ): Promise<{ uri: string; cid: string }> { 1266 + const collection = "app.bsky.graph.starterpack"; 1267 + const res = await this._client.call( 1268 + "com.atproto.repo.createRecord", 1269 + undefined, 1270 + { collection, ...params, record: { ...record, $type: collection } }, 1271 + { encoding: "application/json", headers }, 1272 + ); 1273 + return res.data; 1274 + } 1275 + 1276 + async delete( 1277 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1278 + headers?: Record<string, string>, 1279 + ): Promise<void> { 1280 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1281 + collection: "app.bsky.graph.starterpack", 1282 + ...params, 1283 + }, { headers }); 1284 + } 1285 + } 1286 + 1287 + export class AppBskyGraphListitemRecord { 1288 + _client: XrpcClient; 1289 + 1290 + constructor(client: XrpcClient) { 1291 + this._client = client; 1292 + } 1293 + 1294 + async list( 1295 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1296 + ): Promise< 1297 + { 1298 + cursor?: string; 1299 + records: ({ uri: string; value: AppBskyGraphListitem.Record })[]; 1300 + } 1301 + > { 1302 + const res = await this._client.call("com.atproto.repo.listRecords", { 1303 + collection: "app.bsky.graph.listitem", 1304 + ...params, 1305 + }); 1306 + return res.data; 1307 + } 1308 + 1309 + async get( 1310 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1311 + ): Promise<{ uri: string; cid: string; value: AppBskyGraphListitem.Record }> { 1312 + const res = await this._client.call("com.atproto.repo.getRecord", { 1313 + collection: "app.bsky.graph.listitem", 1314 + ...params, 1315 + }); 1316 + return res.data; 1317 + } 1318 + 1319 + async create( 1320 + params: OmitKey< 1321 + ComAtprotoRepoCreateRecord.InputSchema, 1322 + "collection" | "record" 1323 + >, 1324 + record: Un$Typed<AppBskyGraphListitem.Record>, 1325 + headers?: Record<string, string>, 1326 + ): Promise<{ uri: string; cid: string }> { 1327 + const collection = "app.bsky.graph.listitem"; 1328 + const res = await this._client.call( 1329 + "com.atproto.repo.createRecord", 1330 + undefined, 1331 + { collection, ...params, record: { ...record, $type: collection } }, 1332 + { encoding: "application/json", headers }, 1333 + ); 1334 + return res.data; 1335 + } 1336 + 1337 + async delete( 1338 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1339 + headers?: Record<string, string>, 1340 + ): Promise<void> { 1341 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1342 + collection: "app.bsky.graph.listitem", 1343 + ...params, 1344 + }, { headers }); 1345 + } 1346 + } 1347 + 1348 + export class AppBskyGraphListRecord { 1349 + _client: XrpcClient; 1350 + 1351 + constructor(client: XrpcClient) { 1352 + this._client = client; 1353 + } 1354 + 1355 + async list( 1356 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1357 + ): Promise< 1358 + { 1359 + cursor?: string; 1360 + records: ({ uri: string; value: AppBskyGraphList.Record })[]; 1361 + } 1362 + > { 1363 + const res = await this._client.call("com.atproto.repo.listRecords", { 1364 + collection: "app.bsky.graph.list", 1365 + ...params, 1366 + }); 1367 + return res.data; 1368 + } 1369 + 1370 + async get( 1371 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1372 + ): Promise<{ uri: string; cid: string; value: AppBskyGraphList.Record }> { 1373 + const res = await this._client.call("com.atproto.repo.getRecord", { 1374 + collection: "app.bsky.graph.list", 1375 + ...params, 1376 + }); 1377 + return res.data; 1378 + } 1379 + 1380 + async create( 1381 + params: OmitKey< 1382 + ComAtprotoRepoCreateRecord.InputSchema, 1383 + "collection" | "record" 1384 + >, 1385 + record: Un$Typed<AppBskyGraphList.Record>, 1386 + headers?: Record<string, string>, 1387 + ): Promise<{ uri: string; cid: string }> { 1388 + const collection = "app.bsky.graph.list"; 1389 + const res = await this._client.call( 1390 + "com.atproto.repo.createRecord", 1391 + undefined, 1392 + { collection, ...params, record: { ...record, $type: collection } }, 1393 + { encoding: "application/json", headers }, 1394 + ); 1395 + return res.data; 1396 + } 1397 + 1398 + async delete( 1399 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1400 + headers?: Record<string, string>, 1401 + ): Promise<void> { 1402 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1403 + collection: "app.bsky.graph.list", 1404 + ...params, 1405 + }, { headers }); 1406 + } 1407 + } 1408 + 1409 + export class AppBskyGraphVerificationRecord { 1410 + _client: XrpcClient; 1411 + 1412 + constructor(client: XrpcClient) { 1413 + this._client = client; 1414 + } 1415 + 1416 + async list( 1417 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1418 + ): Promise< 1419 + { 1420 + cursor?: string; 1421 + records: ({ uri: string; value: AppBskyGraphVerification.Record })[]; 1422 + } 1423 + > { 1424 + const res = await this._client.call("com.atproto.repo.listRecords", { 1425 + collection: "app.bsky.graph.verification", 1426 + ...params, 1427 + }); 1428 + return res.data; 1429 + } 1430 + 1431 + async get( 1432 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1433 + ): Promise< 1434 + { uri: string; cid: string; value: AppBskyGraphVerification.Record } 1435 + > { 1436 + const res = await this._client.call("com.atproto.repo.getRecord", { 1437 + collection: "app.bsky.graph.verification", 1438 + ...params, 1439 + }); 1440 + return res.data; 1441 + } 1442 + 1443 + async create( 1444 + params: OmitKey< 1445 + ComAtprotoRepoCreateRecord.InputSchema, 1446 + "collection" | "record" 1447 + >, 1448 + record: Un$Typed<AppBskyGraphVerification.Record>, 1449 + headers?: Record<string, string>, 1450 + ): Promise<{ uri: string; cid: string }> { 1451 + const collection = "app.bsky.graph.verification"; 1452 + const res = await this._client.call( 1453 + "com.atproto.repo.createRecord", 1454 + undefined, 1455 + { collection, ...params, record: { ...record, $type: collection } }, 1456 + { encoding: "application/json", headers }, 1457 + ); 1458 + return res.data; 1459 + } 1460 + 1461 + async delete( 1462 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1463 + headers?: Record<string, string>, 1464 + ): Promise<void> { 1465 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1466 + collection: "app.bsky.graph.verification", 1467 + ...params, 1468 + }, { headers }); 1469 + } 1470 + } 1471 + 1472 + export class AppBskyFeedNS { 1473 + _client: XrpcClient; 1474 + generator: AppBskyFeedGeneratorRecord; 1475 + postgate: AppBskyFeedPostgateRecord; 1476 + threadgate: AppBskyFeedThreadgateRecord; 1477 + like: AppBskyFeedLikeRecord; 1478 + repost: AppBskyFeedRepostRecord; 1479 + post: AppBskyFeedPostRecord; 1480 + 1481 + constructor(client: XrpcClient) { 1482 + this._client = client; 1483 + this.generator = new AppBskyFeedGeneratorRecord(client); 1484 + this.postgate = new AppBskyFeedPostgateRecord(client); 1485 + this.threadgate = new AppBskyFeedThreadgateRecord(client); 1486 + this.like = new AppBskyFeedLikeRecord(client); 1487 + this.repost = new AppBskyFeedRepostRecord(client); 1488 + this.post = new AppBskyFeedPostRecord(client); 1489 + } 1490 + 1491 + sendInteractions( 1492 + data?: AppBskyFeedSendInteractions.InputSchema, 1493 + opts?: AppBskyFeedSendInteractions.CallOptions, 1494 + ): Promise<AppBskyFeedSendInteractions.Response> { 1495 + return this._client 1496 + .call("app.bsky.feed.sendInteractions", opts?.qp, data, opts); 1497 + } 1498 + 1499 + getFeedGenerators( 1500 + params?: AppBskyFeedGetFeedGenerators.QueryParams, 1501 + opts?: AppBskyFeedGetFeedGenerators.CallOptions, 1502 + ): Promise<AppBskyFeedGetFeedGenerators.Response> { 1503 + return this._client 1504 + .call("app.bsky.feed.getFeedGenerators", params, undefined, opts); 1505 + } 1506 + 1507 + getTimeline( 1508 + params?: AppBskyFeedGetTimeline.QueryParams, 1509 + opts?: AppBskyFeedGetTimeline.CallOptions, 1510 + ): Promise<AppBskyFeedGetTimeline.Response> { 1511 + return this._client 1512 + .call("app.bsky.feed.getTimeline", params, undefined, opts); 1513 + } 1514 + 1515 + getFeedGenerator( 1516 + params?: AppBskyFeedGetFeedGenerator.QueryParams, 1517 + opts?: AppBskyFeedGetFeedGenerator.CallOptions, 1518 + ): Promise<AppBskyFeedGetFeedGenerator.Response> { 1519 + return this._client 1520 + .call("app.bsky.feed.getFeedGenerator", params, undefined, opts); 1521 + } 1522 + 1523 + getAuthorFeed( 1524 + params?: AppBskyFeedGetAuthorFeed.QueryParams, 1525 + opts?: AppBskyFeedGetAuthorFeed.CallOptions, 1526 + ): Promise<AppBskyFeedGetAuthorFeed.Response> { 1527 + return this._client 1528 + .call("app.bsky.feed.getAuthorFeed", params, undefined, opts) 1529 + .catch((e) => { 1530 + throw AppBskyFeedGetAuthorFeed.toKnownErr(e); 1531 + }); 1532 + } 1533 + 1534 + getLikes( 1535 + params?: AppBskyFeedGetLikes.QueryParams, 1536 + opts?: AppBskyFeedGetLikes.CallOptions, 1537 + ): Promise<AppBskyFeedGetLikes.Response> { 1538 + return this._client 1539 + .call("app.bsky.feed.getLikes", params, undefined, opts); 1540 + } 1541 + 1542 + getPostThread( 1543 + params?: AppBskyFeedGetPostThread.QueryParams, 1544 + opts?: AppBskyFeedGetPostThread.CallOptions, 1545 + ): Promise<AppBskyFeedGetPostThread.Response> { 1546 + return this._client 1547 + .call("app.bsky.feed.getPostThread", params, undefined, opts) 1548 + .catch((e) => { 1549 + throw AppBskyFeedGetPostThread.toKnownErr(e); 1550 + }); 1551 + } 1552 + 1553 + getActorLikes( 1554 + params?: AppBskyFeedGetActorLikes.QueryParams, 1555 + opts?: AppBskyFeedGetActorLikes.CallOptions, 1556 + ): Promise<AppBskyFeedGetActorLikes.Response> { 1557 + return this._client 1558 + .call("app.bsky.feed.getActorLikes", params, undefined, opts) 1559 + .catch((e) => { 1560 + throw AppBskyFeedGetActorLikes.toKnownErr(e); 1561 + }); 1562 + } 1563 + 1564 + getRepostedBy( 1565 + params?: AppBskyFeedGetRepostedBy.QueryParams, 1566 + opts?: AppBskyFeedGetRepostedBy.CallOptions, 1567 + ): Promise<AppBskyFeedGetRepostedBy.Response> { 1568 + return this._client 1569 + .call("app.bsky.feed.getRepostedBy", params, undefined, opts); 1570 + } 1571 + 1572 + describeFeedGenerator( 1573 + params?: AppBskyFeedDescribeFeedGenerator.QueryParams, 1574 + opts?: AppBskyFeedDescribeFeedGenerator.CallOptions, 1575 + ): Promise<AppBskyFeedDescribeFeedGenerator.Response> { 1576 + return this._client 1577 + .call("app.bsky.feed.describeFeedGenerator", params, undefined, opts); 1578 + } 1579 + 1580 + searchPosts( 1581 + params?: AppBskyFeedSearchPosts.QueryParams, 1582 + opts?: AppBskyFeedSearchPosts.CallOptions, 1583 + ): Promise<AppBskyFeedSearchPosts.Response> { 1584 + return this._client 1585 + .call("app.bsky.feed.searchPosts", params, undefined, opts) 1586 + .catch((e) => { 1587 + throw AppBskyFeedSearchPosts.toKnownErr(e); 1588 + }); 1589 + } 1590 + 1591 + getPosts( 1592 + params?: AppBskyFeedGetPosts.QueryParams, 1593 + opts?: AppBskyFeedGetPosts.CallOptions, 1594 + ): Promise<AppBskyFeedGetPosts.Response> { 1595 + return this._client 1596 + .call("app.bsky.feed.getPosts", params, undefined, opts); 1597 + } 1598 + 1599 + getFeed( 1600 + params?: AppBskyFeedGetFeed.QueryParams, 1601 + opts?: AppBskyFeedGetFeed.CallOptions, 1602 + ): Promise<AppBskyFeedGetFeed.Response> { 1603 + return this._client 1604 + .call("app.bsky.feed.getFeed", params, undefined, opts) 1605 + .catch((e) => { 1606 + throw AppBskyFeedGetFeed.toKnownErr(e); 1607 + }); 1608 + } 1609 + 1610 + getQuotes( 1611 + params?: AppBskyFeedGetQuotes.QueryParams, 1612 + opts?: AppBskyFeedGetQuotes.CallOptions, 1613 + ): Promise<AppBskyFeedGetQuotes.Response> { 1614 + return this._client 1615 + .call("app.bsky.feed.getQuotes", params, undefined, opts); 1616 + } 1617 + 1618 + getFeedSkeleton( 1619 + params?: AppBskyFeedGetFeedSkeleton.QueryParams, 1620 + opts?: AppBskyFeedGetFeedSkeleton.CallOptions, 1621 + ): Promise<AppBskyFeedGetFeedSkeleton.Response> { 1622 + return this._client 1623 + .call("app.bsky.feed.getFeedSkeleton", params, undefined, opts) 1624 + .catch((e) => { 1625 + throw AppBskyFeedGetFeedSkeleton.toKnownErr(e); 1626 + }); 1627 + } 1628 + 1629 + getListFeed( 1630 + params?: AppBskyFeedGetListFeed.QueryParams, 1631 + opts?: AppBskyFeedGetListFeed.CallOptions, 1632 + ): Promise<AppBskyFeedGetListFeed.Response> { 1633 + return this._client 1634 + .call("app.bsky.feed.getListFeed", params, undefined, opts) 1635 + .catch((e) => { 1636 + throw AppBskyFeedGetListFeed.toKnownErr(e); 1637 + }); 1638 + } 1639 + 1640 + getSuggestedFeeds( 1641 + params?: AppBskyFeedGetSuggestedFeeds.QueryParams, 1642 + opts?: AppBskyFeedGetSuggestedFeeds.CallOptions, 1643 + ): Promise<AppBskyFeedGetSuggestedFeeds.Response> { 1644 + return this._client 1645 + .call("app.bsky.feed.getSuggestedFeeds", params, undefined, opts); 1646 + } 1647 + 1648 + getActorFeeds( 1649 + params?: AppBskyFeedGetActorFeeds.QueryParams, 1650 + opts?: AppBskyFeedGetActorFeeds.CallOptions, 1651 + ): Promise<AppBskyFeedGetActorFeeds.Response> { 1652 + return this._client 1653 + .call("app.bsky.feed.getActorFeeds", params, undefined, opts); 1654 + } 1655 + } 1656 + 1657 + export class AppBskyFeedGeneratorRecord { 1658 + _client: XrpcClient; 1659 + 1660 + constructor(client: XrpcClient) { 1661 + this._client = client; 1662 + } 1663 + 1664 + async list( 1665 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1666 + ): Promise< 1667 + { 1668 + cursor?: string; 1669 + records: ({ uri: string; value: AppBskyFeedGenerator.Record })[]; 1670 + } 1671 + > { 1672 + const res = await this._client.call("com.atproto.repo.listRecords", { 1673 + collection: "app.bsky.feed.generator", 1674 + ...params, 1675 + }); 1676 + return res.data; 1677 + } 1678 + 1679 + async get( 1680 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1681 + ): Promise<{ uri: string; cid: string; value: AppBskyFeedGenerator.Record }> { 1682 + const res = await this._client.call("com.atproto.repo.getRecord", { 1683 + collection: "app.bsky.feed.generator", 1684 + ...params, 1685 + }); 1686 + return res.data; 1687 + } 1688 + 1689 + async create( 1690 + params: OmitKey< 1691 + ComAtprotoRepoCreateRecord.InputSchema, 1692 + "collection" | "record" 1693 + >, 1694 + record: Un$Typed<AppBskyFeedGenerator.Record>, 1695 + headers?: Record<string, string>, 1696 + ): Promise<{ uri: string; cid: string }> { 1697 + const collection = "app.bsky.feed.generator"; 1698 + const res = await this._client.call( 1699 + "com.atproto.repo.createRecord", 1700 + undefined, 1701 + { collection, ...params, record: { ...record, $type: collection } }, 1702 + { encoding: "application/json", headers }, 1703 + ); 1704 + return res.data; 1705 + } 1706 + 1707 + async delete( 1708 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1709 + headers?: Record<string, string>, 1710 + ): Promise<void> { 1711 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1712 + collection: "app.bsky.feed.generator", 1713 + ...params, 1714 + }, { headers }); 1715 + } 1716 + } 1717 + 1718 + export class AppBskyFeedPostgateRecord { 1719 + _client: XrpcClient; 1720 + 1721 + constructor(client: XrpcClient) { 1722 + this._client = client; 1723 + } 1724 + 1725 + async list( 1726 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1727 + ): Promise< 1728 + { 1729 + cursor?: string; 1730 + records: ({ uri: string; value: AppBskyFeedPostgate.Record })[]; 1731 + } 1732 + > { 1733 + const res = await this._client.call("com.atproto.repo.listRecords", { 1734 + collection: "app.bsky.feed.postgate", 1735 + ...params, 1736 + }); 1737 + return res.data; 1738 + } 1739 + 1740 + async get( 1741 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1742 + ): Promise<{ uri: string; cid: string; value: AppBskyFeedPostgate.Record }> { 1743 + const res = await this._client.call("com.atproto.repo.getRecord", { 1744 + collection: "app.bsky.feed.postgate", 1745 + ...params, 1746 + }); 1747 + return res.data; 1748 + } 1749 + 1750 + async create( 1751 + params: OmitKey< 1752 + ComAtprotoRepoCreateRecord.InputSchema, 1753 + "collection" | "record" 1754 + >, 1755 + record: Un$Typed<AppBskyFeedPostgate.Record>, 1756 + headers?: Record<string, string>, 1757 + ): Promise<{ uri: string; cid: string }> { 1758 + const collection = "app.bsky.feed.postgate"; 1759 + const res = await this._client.call( 1760 + "com.atproto.repo.createRecord", 1761 + undefined, 1762 + { collection, ...params, record: { ...record, $type: collection } }, 1763 + { encoding: "application/json", headers }, 1764 + ); 1765 + return res.data; 1766 + } 1767 + 1768 + async delete( 1769 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1770 + headers?: Record<string, string>, 1771 + ): Promise<void> { 1772 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1773 + collection: "app.bsky.feed.postgate", 1774 + ...params, 1775 + }, { headers }); 1776 + } 1777 + } 1778 + 1779 + export class AppBskyFeedThreadgateRecord { 1780 + _client: XrpcClient; 1781 + 1782 + constructor(client: XrpcClient) { 1783 + this._client = client; 1784 + } 1785 + 1786 + async list( 1787 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1788 + ): Promise< 1789 + { 1790 + cursor?: string; 1791 + records: ({ uri: string; value: AppBskyFeedThreadgate.Record })[]; 1792 + } 1793 + > { 1794 + const res = await this._client.call("com.atproto.repo.listRecords", { 1795 + collection: "app.bsky.feed.threadgate", 1796 + ...params, 1797 + }); 1798 + return res.data; 1799 + } 1800 + 1801 + async get( 1802 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1803 + ): Promise< 1804 + { uri: string; cid: string; value: AppBskyFeedThreadgate.Record } 1805 + > { 1806 + const res = await this._client.call("com.atproto.repo.getRecord", { 1807 + collection: "app.bsky.feed.threadgate", 1808 + ...params, 1809 + }); 1810 + return res.data; 1811 + } 1812 + 1813 + async create( 1814 + params: OmitKey< 1815 + ComAtprotoRepoCreateRecord.InputSchema, 1816 + "collection" | "record" 1817 + >, 1818 + record: Un$Typed<AppBskyFeedThreadgate.Record>, 1819 + headers?: Record<string, string>, 1820 + ): Promise<{ uri: string; cid: string }> { 1821 + const collection = "app.bsky.feed.threadgate"; 1822 + const res = await this._client.call( 1823 + "com.atproto.repo.createRecord", 1824 + undefined, 1825 + { collection, ...params, record: { ...record, $type: collection } }, 1826 + { encoding: "application/json", headers }, 1827 + ); 1828 + return res.data; 1829 + } 1830 + 1831 + async delete( 1832 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1833 + headers?: Record<string, string>, 1834 + ): Promise<void> { 1835 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1836 + collection: "app.bsky.feed.threadgate", 1837 + ...params, 1838 + }, { headers }); 1839 + } 1840 + } 1841 + 1842 + export class AppBskyFeedLikeRecord { 1843 + _client: XrpcClient; 1844 + 1845 + constructor(client: XrpcClient) { 1846 + this._client = client; 1847 + } 1848 + 1849 + async list( 1850 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1851 + ): Promise< 1852 + { 1853 + cursor?: string; 1854 + records: ({ uri: string; value: AppBskyFeedLike.Record })[]; 1855 + } 1856 + > { 1857 + const res = await this._client.call("com.atproto.repo.listRecords", { 1858 + collection: "app.bsky.feed.like", 1859 + ...params, 1860 + }); 1861 + return res.data; 1862 + } 1863 + 1864 + async get( 1865 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1866 + ): Promise<{ uri: string; cid: string; value: AppBskyFeedLike.Record }> { 1867 + const res = await this._client.call("com.atproto.repo.getRecord", { 1868 + collection: "app.bsky.feed.like", 1869 + ...params, 1870 + }); 1871 + return res.data; 1872 + } 1873 + 1874 + async create( 1875 + params: OmitKey< 1876 + ComAtprotoRepoCreateRecord.InputSchema, 1877 + "collection" | "record" 1878 + >, 1879 + record: Un$Typed<AppBskyFeedLike.Record>, 1880 + headers?: Record<string, string>, 1881 + ): Promise<{ uri: string; cid: string }> { 1882 + const collection = "app.bsky.feed.like"; 1883 + const res = await this._client.call( 1884 + "com.atproto.repo.createRecord", 1885 + undefined, 1886 + { collection, ...params, record: { ...record, $type: collection } }, 1887 + { encoding: "application/json", headers }, 1888 + ); 1889 + return res.data; 1890 + } 1891 + 1892 + async delete( 1893 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1894 + headers?: Record<string, string>, 1895 + ): Promise<void> { 1896 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1897 + collection: "app.bsky.feed.like", 1898 + ...params, 1899 + }, { headers }); 1900 + } 1901 + } 1902 + 1903 + export class AppBskyFeedRepostRecord { 1904 + _client: XrpcClient; 1905 + 1906 + constructor(client: XrpcClient) { 1907 + this._client = client; 1908 + } 1909 + 1910 + async list( 1911 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1912 + ): Promise< 1913 + { 1914 + cursor?: string; 1915 + records: ({ uri: string; value: AppBskyFeedRepost.Record })[]; 1916 + } 1917 + > { 1918 + const res = await this._client.call("com.atproto.repo.listRecords", { 1919 + collection: "app.bsky.feed.repost", 1920 + ...params, 1921 + }); 1922 + return res.data; 1923 + } 1924 + 1925 + async get( 1926 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1927 + ): Promise<{ uri: string; cid: string; value: AppBskyFeedRepost.Record }> { 1928 + const res = await this._client.call("com.atproto.repo.getRecord", { 1929 + collection: "app.bsky.feed.repost", 1930 + ...params, 1931 + }); 1932 + return res.data; 1933 + } 1934 + 1935 + async create( 1936 + params: OmitKey< 1937 + ComAtprotoRepoCreateRecord.InputSchema, 1938 + "collection" | "record" 1939 + >, 1940 + record: Un$Typed<AppBskyFeedRepost.Record>, 1941 + headers?: Record<string, string>, 1942 + ): Promise<{ uri: string; cid: string }> { 1943 + const collection = "app.bsky.feed.repost"; 1944 + const res = await this._client.call( 1945 + "com.atproto.repo.createRecord", 1946 + undefined, 1947 + { collection, ...params, record: { ...record, $type: collection } }, 1948 + { encoding: "application/json", headers }, 1949 + ); 1950 + return res.data; 1951 + } 1952 + 1953 + async delete( 1954 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 1955 + headers?: Record<string, string>, 1956 + ): Promise<void> { 1957 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 1958 + collection: "app.bsky.feed.repost", 1959 + ...params, 1960 + }, { headers }); 1961 + } 1962 + } 1963 + 1964 + export class AppBskyFeedPostRecord { 1965 + _client: XrpcClient; 1966 + 1967 + constructor(client: XrpcClient) { 1968 + this._client = client; 1969 + } 1970 + 1971 + async list( 1972 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 1973 + ): Promise< 1974 + { 1975 + cursor?: string; 1976 + records: ({ uri: string; value: AppBskyFeedPost.Record })[]; 1977 + } 1978 + > { 1979 + const res = await this._client.call("com.atproto.repo.listRecords", { 1980 + collection: "app.bsky.feed.post", 1981 + ...params, 1982 + }); 1983 + return res.data; 1984 + } 1985 + 1986 + async get( 1987 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 1988 + ): Promise<{ uri: string; cid: string; value: AppBskyFeedPost.Record }> { 1989 + const res = await this._client.call("com.atproto.repo.getRecord", { 1990 + collection: "app.bsky.feed.post", 1991 + ...params, 1992 + }); 1993 + return res.data; 1994 + } 1995 + 1996 + async create( 1997 + params: OmitKey< 1998 + ComAtprotoRepoCreateRecord.InputSchema, 1999 + "collection" | "record" 2000 + >, 2001 + record: Un$Typed<AppBskyFeedPost.Record>, 2002 + headers?: Record<string, string>, 2003 + ): Promise<{ uri: string; cid: string }> { 2004 + const collection = "app.bsky.feed.post"; 2005 + const res = await this._client.call( 2006 + "com.atproto.repo.createRecord", 2007 + undefined, 2008 + { collection, ...params, record: { ...record, $type: collection } }, 2009 + { encoding: "application/json", headers }, 2010 + ); 2011 + return res.data; 2012 + } 2013 + 2014 + async delete( 2015 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 2016 + headers?: Record<string, string>, 2017 + ): Promise<void> { 2018 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 2019 + collection: "app.bsky.feed.post", 2020 + ...params, 2021 + }, { headers }); 2022 + } 2023 + } 2024 + 2025 + export class AppBskyRichtextNS { 2026 + _client: XrpcClient; 2027 + 2028 + constructor(client: XrpcClient) { 2029 + this._client = client; 2030 + } 2031 + } 2032 + 2033 + export class AppBskyActorNS { 2034 + _client: XrpcClient; 2035 + status: AppBskyActorStatusRecord; 2036 + profile: AppBskyActorProfileRecord; 2037 + 2038 + constructor(client: XrpcClient) { 2039 + this._client = client; 2040 + this.status = new AppBskyActorStatusRecord(client); 2041 + this.profile = new AppBskyActorProfileRecord(client); 2042 + } 2043 + 2044 + searchActorsTypeahead( 2045 + params?: AppBskyActorSearchActorsTypeahead.QueryParams, 2046 + opts?: AppBskyActorSearchActorsTypeahead.CallOptions, 2047 + ): Promise<AppBskyActorSearchActorsTypeahead.Response> { 2048 + return this._client 2049 + .call("app.bsky.actor.searchActorsTypeahead", params, undefined, opts); 2050 + } 2051 + 2052 + putPreferences( 2053 + data?: AppBskyActorPutPreferences.InputSchema, 2054 + opts?: AppBskyActorPutPreferences.CallOptions, 2055 + ): Promise<AppBskyActorPutPreferences.Response> { 2056 + return this._client 2057 + .call("app.bsky.actor.putPreferences", opts?.qp, data, opts); 2058 + } 2059 + 2060 + getProfile( 2061 + params?: AppBskyActorGetProfile.QueryParams, 2062 + opts?: AppBskyActorGetProfile.CallOptions, 2063 + ): Promise<AppBskyActorGetProfile.Response> { 2064 + return this._client 2065 + .call("app.bsky.actor.getProfile", params, undefined, opts); 2066 + } 2067 + 2068 + getSuggestions( 2069 + params?: AppBskyActorGetSuggestions.QueryParams, 2070 + opts?: AppBskyActorGetSuggestions.CallOptions, 2071 + ): Promise<AppBskyActorGetSuggestions.Response> { 2072 + return this._client 2073 + .call("app.bsky.actor.getSuggestions", params, undefined, opts); 2074 + } 2075 + 2076 + searchActors( 2077 + params?: AppBskyActorSearchActors.QueryParams, 2078 + opts?: AppBskyActorSearchActors.CallOptions, 2079 + ): Promise<AppBskyActorSearchActors.Response> { 2080 + return this._client 2081 + .call("app.bsky.actor.searchActors", params, undefined, opts); 2082 + } 2083 + 2084 + getProfiles( 2085 + params?: AppBskyActorGetProfiles.QueryParams, 2086 + opts?: AppBskyActorGetProfiles.CallOptions, 2087 + ): Promise<AppBskyActorGetProfiles.Response> { 2088 + return this._client 2089 + .call("app.bsky.actor.getProfiles", params, undefined, opts); 2090 + } 2091 + 2092 + getPreferences( 2093 + params?: AppBskyActorGetPreferences.QueryParams, 2094 + opts?: AppBskyActorGetPreferences.CallOptions, 2095 + ): Promise<AppBskyActorGetPreferences.Response> { 2096 + return this._client 2097 + .call("app.bsky.actor.getPreferences", params, undefined, opts); 2098 + } 2099 + } 2100 + 2101 + export class AppBskyActorStatusRecord { 2102 + _client: XrpcClient; 2103 + 2104 + constructor(client: XrpcClient) { 2105 + this._client = client; 2106 + } 2107 + 2108 + async list( 2109 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 2110 + ): Promise< 2111 + { 2112 + cursor?: string; 2113 + records: ({ uri: string; value: AppBskyActorStatus.Record })[]; 2114 + } 2115 + > { 2116 + const res = await this._client.call("com.atproto.repo.listRecords", { 2117 + collection: "app.bsky.actor.status", 2118 + ...params, 2119 + }); 2120 + return res.data; 2121 + } 2122 + 2123 + async get( 2124 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 2125 + ): Promise<{ uri: string; cid: string; value: AppBskyActorStatus.Record }> { 2126 + const res = await this._client.call("com.atproto.repo.getRecord", { 2127 + collection: "app.bsky.actor.status", 2128 + ...params, 2129 + }); 2130 + return res.data; 2131 + } 2132 + 2133 + async create( 2134 + params: OmitKey< 2135 + ComAtprotoRepoCreateRecord.InputSchema, 2136 + "collection" | "record" 2137 + >, 2138 + record: Un$Typed<AppBskyActorStatus.Record>, 2139 + headers?: Record<string, string>, 2140 + ): Promise<{ uri: string; cid: string }> { 2141 + const collection = "app.bsky.actor.status"; 2142 + const res = await this._client.call( 2143 + "com.atproto.repo.createRecord", 2144 + undefined, 2145 + { 2146 + collection, 2147 + rkey: "self", 2148 + ...params, 2149 + record: { ...record, $type: collection }, 2150 + }, 2151 + { encoding: "application/json", headers }, 2152 + ); 2153 + return res.data; 2154 + } 2155 + 2156 + async delete( 2157 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 2158 + headers?: Record<string, string>, 2159 + ): Promise<void> { 2160 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 2161 + collection: "app.bsky.actor.status", 2162 + ...params, 2163 + }, { headers }); 2164 + } 2165 + } 2166 + 2167 + export class AppBskyActorProfileRecord { 2168 + _client: XrpcClient; 2169 + 2170 + constructor(client: XrpcClient) { 2171 + this._client = client; 2172 + } 2173 + 2174 + async list( 2175 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 2176 + ): Promise< 2177 + { 2178 + cursor?: string; 2179 + records: ({ uri: string; value: AppBskyActorProfile.Record })[]; 2180 + } 2181 + > { 2182 + const res = await this._client.call("com.atproto.repo.listRecords", { 2183 + collection: "app.bsky.actor.profile", 2184 + ...params, 2185 + }); 2186 + return res.data; 2187 + } 2188 + 2189 + async get( 2190 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 2191 + ): Promise<{ uri: string; cid: string; value: AppBskyActorProfile.Record }> { 2192 + const res = await this._client.call("com.atproto.repo.getRecord", { 2193 + collection: "app.bsky.actor.profile", 2194 + ...params, 2195 + }); 2196 + return res.data; 2197 + } 2198 + 2199 + async create( 2200 + params: OmitKey< 2201 + ComAtprotoRepoCreateRecord.InputSchema, 2202 + "collection" | "record" 2203 + >, 2204 + record: Un$Typed<AppBskyActorProfile.Record>, 2205 + headers?: Record<string, string>, 2206 + ): Promise<{ uri: string; cid: string }> { 2207 + const collection = "app.bsky.actor.profile"; 2208 + const res = await this._client.call( 2209 + "com.atproto.repo.createRecord", 2210 + undefined, 2211 + { 2212 + collection, 2213 + rkey: "self", 2214 + ...params, 2215 + record: { ...record, $type: collection }, 2216 + }, 2217 + { encoding: "application/json", headers }, 2218 + ); 2219 + return res.data; 2220 + } 2221 + 2222 + async delete( 2223 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 2224 + headers?: Record<string, string>, 2225 + ): Promise<void> { 2226 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 2227 + collection: "app.bsky.actor.profile", 2228 + ...params, 2229 + }, { headers }); 2230 + } 2231 + } 2232 + 2233 + export class AppBskyLabelerNS { 2234 + _client: XrpcClient; 2235 + service: AppBskyLabelerServiceRecord; 2236 + 2237 + constructor(client: XrpcClient) { 2238 + this._client = client; 2239 + this.service = new AppBskyLabelerServiceRecord(client); 2240 + } 2241 + 2242 + getServices( 2243 + params?: AppBskyLabelerGetServices.QueryParams, 2244 + opts?: AppBskyLabelerGetServices.CallOptions, 2245 + ): Promise<AppBskyLabelerGetServices.Response> { 2246 + return this._client 2247 + .call("app.bsky.labeler.getServices", params, undefined, opts); 2248 + } 2249 + } 2250 + 2251 + export class AppBskyLabelerServiceRecord { 2252 + _client: XrpcClient; 2253 + 2254 + constructor(client: XrpcClient) { 2255 + this._client = client; 2256 + } 2257 + 2258 + async list( 2259 + params: OmitKey<ComAtprotoRepoListRecords.QueryParams, "collection">, 2260 + ): Promise< 2261 + { 2262 + cursor?: string; 2263 + records: ({ uri: string; value: AppBskyLabelerService.Record })[]; 2264 + } 2265 + > { 2266 + const res = await this._client.call("com.atproto.repo.listRecords", { 2267 + collection: "app.bsky.labeler.service", 2268 + ...params, 2269 + }); 2270 + return res.data; 2271 + } 2272 + 2273 + async get( 2274 + params: OmitKey<ComAtprotoRepoGetRecord.QueryParams, "collection">, 2275 + ): Promise< 2276 + { uri: string; cid: string; value: AppBskyLabelerService.Record } 2277 + > { 2278 + const res = await this._client.call("com.atproto.repo.getRecord", { 2279 + collection: "app.bsky.labeler.service", 2280 + ...params, 2281 + }); 2282 + return res.data; 2283 + } 2284 + 2285 + async create( 2286 + params: OmitKey< 2287 + ComAtprotoRepoCreateRecord.InputSchema, 2288 + "collection" | "record" 2289 + >, 2290 + record: Un$Typed<AppBskyLabelerService.Record>, 2291 + headers?: Record<string, string>, 2292 + ): Promise<{ uri: string; cid: string }> { 2293 + const collection = "app.bsky.labeler.service"; 2294 + const res = await this._client.call( 2295 + "com.atproto.repo.createRecord", 2296 + undefined, 2297 + { 2298 + collection, 2299 + rkey: "self", 2300 + ...params, 2301 + record: { ...record, $type: collection }, 2302 + }, 2303 + { encoding: "application/json", headers }, 2304 + ); 2305 + return res.data; 2306 + } 2307 + 2308 + async delete( 2309 + params: OmitKey<ComAtprotoRepoDeleteRecord.InputSchema, "collection">, 2310 + headers?: Record<string, string>, 2311 + ): Promise<void> { 2312 + await this._client.call("com.atproto.repo.deleteRecord", undefined, { 2313 + collection: "app.bsky.labeler.service", 2314 + ...params, 2315 + }, { headers }); 2316 + } 2317 + }
+8810
lex-gen/generated/lexicons.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { 5 + type LexiconDoc, 6 + Lexicons, 7 + ValidationError, 8 + type ValidationResult, 9 + } from "@atp/lexicon"; 10 + import { is$typed, maybe$typed } from "./util.ts"; 11 + 12 + export const schemaDict = { 13 + "AppBskyVideoUploadVideo": { 14 + "lexicon": 1, 15 + "id": "app.bsky.video.uploadVideo", 16 + "defs": { 17 + "main": { 18 + "type": "procedure", 19 + "description": "Upload a video to be processed then stored on the PDS.", 20 + "input": { 21 + "encoding": "video/mp4", 22 + }, 23 + "output": { 24 + "encoding": "application/json", 25 + "schema": { 26 + "type": "object", 27 + "required": [ 28 + "jobStatus", 29 + ], 30 + "properties": { 31 + "jobStatus": { 32 + "type": "ref", 33 + "ref": "lex:app.bsky.video.defs#jobStatus", 34 + }, 35 + }, 36 + }, 37 + }, 38 + }, 39 + }, 40 + }, 41 + "AppBskyVideoDefs": { 42 + "lexicon": 1, 43 + "id": "app.bsky.video.defs", 44 + "defs": { 45 + "jobStatus": { 46 + "type": "object", 47 + "required": [ 48 + "jobId", 49 + "did", 50 + "state", 51 + ], 52 + "properties": { 53 + "jobId": { 54 + "type": "string", 55 + }, 56 + "did": { 57 + "type": "string", 58 + "format": "did", 59 + }, 60 + "state": { 61 + "type": "string", 62 + "description": 63 + "The state of the video processing job. All values not listed as a known value indicate that the job is in process.", 64 + "knownValues": [ 65 + "JOB_STATE_COMPLETED", 66 + "JOB_STATE_FAILED", 67 + ], 68 + }, 69 + "progress": { 70 + "type": "integer", 71 + "minimum": 0, 72 + "maximum": 100, 73 + "description": "Progress within the current processing state.", 74 + }, 75 + "blob": { 76 + "type": "blob", 77 + }, 78 + "error": { 79 + "type": "string", 80 + }, 81 + "message": { 82 + "type": "string", 83 + }, 84 + }, 85 + }, 86 + }, 87 + }, 88 + "AppBskyVideoGetJobStatus": { 89 + "lexicon": 1, 90 + "id": "app.bsky.video.getJobStatus", 91 + "defs": { 92 + "main": { 93 + "type": "query", 94 + "description": "Get status details for a video processing job.", 95 + "parameters": { 96 + "type": "params", 97 + "required": [ 98 + "jobId", 99 + ], 100 + "properties": { 101 + "jobId": { 102 + "type": "string", 103 + }, 104 + }, 105 + }, 106 + "output": { 107 + "encoding": "application/json", 108 + "schema": { 109 + "type": "object", 110 + "required": [ 111 + "jobStatus", 112 + ], 113 + "properties": { 114 + "jobStatus": { 115 + "type": "ref", 116 + "ref": "lex:app.bsky.video.defs#jobStatus", 117 + }, 118 + }, 119 + }, 120 + }, 121 + }, 122 + }, 123 + }, 124 + "AppBskyVideoGetUploadLimits": { 125 + "lexicon": 1, 126 + "id": "app.bsky.video.getUploadLimits", 127 + "defs": { 128 + "main": { 129 + "type": "query", 130 + "description": "Get video upload limits for the authenticated user.", 131 + "output": { 132 + "encoding": "application/json", 133 + "schema": { 134 + "type": "object", 135 + "required": [ 136 + "canUpload", 137 + ], 138 + "properties": { 139 + "canUpload": { 140 + "type": "boolean", 141 + }, 142 + "remainingDailyVideos": { 143 + "type": "integer", 144 + }, 145 + "remainingDailyBytes": { 146 + "type": "integer", 147 + }, 148 + "message": { 149 + "type": "string", 150 + }, 151 + "error": { 152 + "type": "string", 153 + }, 154 + }, 155 + }, 156 + }, 157 + }, 158 + }, 159 + }, 160 + "AppBskyBookmarkDefs": { 161 + "lexicon": 1, 162 + "id": "app.bsky.bookmark.defs", 163 + "defs": { 164 + "bookmark": { 165 + "description": "Object used to store bookmark data in stash.", 166 + "type": "object", 167 + "required": [ 168 + "subject", 169 + ], 170 + "properties": { 171 + "subject": { 172 + "description": 173 + "A strong ref to the record to be bookmarked. Currently, only `app.bsky.feed.post` records are supported.", 174 + "type": "ref", 175 + "ref": "lex:com.atproto.repo.strongRef", 176 + }, 177 + }, 178 + }, 179 + "bookmarkView": { 180 + "type": "object", 181 + "required": [ 182 + "subject", 183 + "item", 184 + ], 185 + "properties": { 186 + "subject": { 187 + "description": "A strong ref to the bookmarked record.", 188 + "type": "ref", 189 + "ref": "lex:com.atproto.repo.strongRef", 190 + }, 191 + "createdAt": { 192 + "type": "string", 193 + "format": "datetime", 194 + }, 195 + "item": { 196 + "type": "union", 197 + "refs": [ 198 + "lex:app.bsky.feed.defs#blockedPost", 199 + "lex:app.bsky.feed.defs#notFoundPost", 200 + "lex:app.bsky.feed.defs#postView", 201 + ], 202 + }, 203 + }, 204 + }, 205 + }, 206 + }, 207 + "AppBskyBookmarkDeleteBookmark": { 208 + "lexicon": 1, 209 + "id": "app.bsky.bookmark.deleteBookmark", 210 + "defs": { 211 + "main": { 212 + "type": "procedure", 213 + "description": 214 + "Deletes a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication.", 215 + "input": { 216 + "encoding": "application/json", 217 + "schema": { 218 + "type": "object", 219 + "required": [ 220 + "uri", 221 + ], 222 + "properties": { 223 + "uri": { 224 + "type": "string", 225 + "format": "at-uri", 226 + }, 227 + }, 228 + }, 229 + }, 230 + "errors": [ 231 + { 232 + "name": "UnsupportedCollection", 233 + "description": 234 + "The URI to be bookmarked is for an unsupported collection.", 235 + }, 236 + ], 237 + }, 238 + }, 239 + }, 240 + "AppBskyBookmarkGetBookmarks": { 241 + "lexicon": 1, 242 + "id": "app.bsky.bookmark.getBookmarks", 243 + "defs": { 244 + "main": { 245 + "type": "query", 246 + "description": 247 + "Gets views of records bookmarked by the authenticated user. Requires authentication.", 248 + "parameters": { 249 + "type": "params", 250 + "properties": { 251 + "limit": { 252 + "type": "integer", 253 + "minimum": 1, 254 + "maximum": 100, 255 + "default": 50, 256 + }, 257 + "cursor": { 258 + "type": "string", 259 + }, 260 + }, 261 + }, 262 + "output": { 263 + "encoding": "application/json", 264 + "schema": { 265 + "type": "object", 266 + "required": [ 267 + "bookmarks", 268 + ], 269 + "properties": { 270 + "cursor": { 271 + "type": "string", 272 + }, 273 + "bookmarks": { 274 + "type": "array", 275 + "items": { 276 + "type": "ref", 277 + "ref": "lex:app.bsky.bookmark.defs#bookmarkView", 278 + }, 279 + }, 280 + }, 281 + }, 282 + }, 283 + }, 284 + }, 285 + }, 286 + "AppBskyBookmarkCreateBookmark": { 287 + "lexicon": 1, 288 + "id": "app.bsky.bookmark.createBookmark", 289 + "defs": { 290 + "main": { 291 + "type": "procedure", 292 + "description": 293 + "Creates a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication.", 294 + "input": { 295 + "encoding": "application/json", 296 + "schema": { 297 + "type": "object", 298 + "required": [ 299 + "uri", 300 + "cid", 301 + ], 302 + "properties": { 303 + "uri": { 304 + "type": "string", 305 + "format": "at-uri", 306 + }, 307 + "cid": { 308 + "type": "string", 309 + "format": "cid", 310 + }, 311 + }, 312 + }, 313 + }, 314 + "errors": [ 315 + { 316 + "name": "UnsupportedCollection", 317 + "description": 318 + "The URI to be bookmarked is for an unsupported collection.", 319 + }, 320 + ], 321 + }, 322 + }, 323 + }, 324 + "AppBskyEmbedDefs": { 325 + "lexicon": 1, 326 + "id": "app.bsky.embed.defs", 327 + "defs": { 328 + "aspectRatio": { 329 + "type": "object", 330 + "description": 331 + "width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.", 332 + "required": [ 333 + "width", 334 + "height", 335 + ], 336 + "properties": { 337 + "width": { 338 + "type": "integer", 339 + "minimum": 1, 340 + }, 341 + "height": { 342 + "type": "integer", 343 + "minimum": 1, 344 + }, 345 + }, 346 + }, 347 + }, 348 + }, 349 + "AppBskyEmbedRecord": { 350 + "lexicon": 1, 351 + "id": "app.bsky.embed.record", 352 + "description": 353 + "A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.", 354 + "defs": { 355 + "main": { 356 + "type": "object", 357 + "required": [ 358 + "record", 359 + ], 360 + "properties": { 361 + "record": { 362 + "type": "ref", 363 + "ref": "lex:com.atproto.repo.strongRef", 364 + }, 365 + }, 366 + }, 367 + "view": { 368 + "type": "object", 369 + "required": [ 370 + "record", 371 + ], 372 + "properties": { 373 + "record": { 374 + "type": "union", 375 + "refs": [ 376 + "lex:app.bsky.embed.record#viewRecord", 377 + "lex:app.bsky.embed.record#viewNotFound", 378 + "lex:app.bsky.embed.record#viewBlocked", 379 + "lex:app.bsky.embed.record#viewDetached", 380 + "lex:app.bsky.feed.defs#generatorView", 381 + "lex:app.bsky.graph.defs#listView", 382 + "lex:app.bsky.labeler.defs#labelerView", 383 + "lex:app.bsky.graph.defs#starterPackViewBasic", 384 + ], 385 + }, 386 + }, 387 + }, 388 + "viewRecord": { 389 + "type": "object", 390 + "required": [ 391 + "uri", 392 + "cid", 393 + "author", 394 + "value", 395 + "indexedAt", 396 + ], 397 + "properties": { 398 + "uri": { 399 + "type": "string", 400 + "format": "at-uri", 401 + }, 402 + "cid": { 403 + "type": "string", 404 + "format": "cid", 405 + }, 406 + "author": { 407 + "type": "ref", 408 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 409 + }, 410 + "value": { 411 + "type": "unknown", 412 + "description": "The record data itself.", 413 + }, 414 + "labels": { 415 + "type": "array", 416 + "items": { 417 + "type": "ref", 418 + "ref": "lex:com.atproto.label.defs#label", 419 + }, 420 + }, 421 + "replyCount": { 422 + "type": "integer", 423 + }, 424 + "repostCount": { 425 + "type": "integer", 426 + }, 427 + "likeCount": { 428 + "type": "integer", 429 + }, 430 + "quoteCount": { 431 + "type": "integer", 432 + }, 433 + "embeds": { 434 + "type": "array", 435 + "items": { 436 + "type": "union", 437 + "refs": [ 438 + "lex:app.bsky.embed.images#view", 439 + "lex:app.bsky.embed.video#view", 440 + "lex:app.bsky.embed.external#view", 441 + "lex:app.bsky.embed.record#view", 442 + "lex:app.bsky.embed.recordWithMedia#view", 443 + ], 444 + }, 445 + }, 446 + "indexedAt": { 447 + "type": "string", 448 + "format": "datetime", 449 + }, 450 + }, 451 + }, 452 + "viewNotFound": { 453 + "type": "object", 454 + "required": [ 455 + "uri", 456 + "notFound", 457 + ], 458 + "properties": { 459 + "uri": { 460 + "type": "string", 461 + "format": "at-uri", 462 + }, 463 + "notFound": { 464 + "type": "boolean", 465 + "const": true, 466 + }, 467 + }, 468 + }, 469 + "viewBlocked": { 470 + "type": "object", 471 + "required": [ 472 + "uri", 473 + "blocked", 474 + "author", 475 + ], 476 + "properties": { 477 + "uri": { 478 + "type": "string", 479 + "format": "at-uri", 480 + }, 481 + "blocked": { 482 + "type": "boolean", 483 + "const": true, 484 + }, 485 + "author": { 486 + "type": "ref", 487 + "ref": "lex:app.bsky.feed.defs#blockedAuthor", 488 + }, 489 + }, 490 + }, 491 + "viewDetached": { 492 + "type": "object", 493 + "required": [ 494 + "uri", 495 + "detached", 496 + ], 497 + "properties": { 498 + "uri": { 499 + "type": "string", 500 + "format": "at-uri", 501 + }, 502 + "detached": { 503 + "type": "boolean", 504 + "const": true, 505 + }, 506 + }, 507 + }, 508 + }, 509 + }, 510 + "AppBskyEmbedImages": { 511 + "lexicon": 1, 512 + "id": "app.bsky.embed.images", 513 + "description": "A set of images embedded in a Bluesky record (eg, a post).", 514 + "defs": { 515 + "main": { 516 + "type": "object", 517 + "required": [ 518 + "images", 519 + ], 520 + "properties": { 521 + "images": { 522 + "type": "array", 523 + "items": { 524 + "type": "ref", 525 + "ref": "lex:app.bsky.embed.images#image", 526 + }, 527 + "maxLength": 4, 528 + }, 529 + }, 530 + }, 531 + "image": { 532 + "type": "object", 533 + "required": [ 534 + "image", 535 + "alt", 536 + ], 537 + "properties": { 538 + "image": { 539 + "type": "blob", 540 + "accept": [ 541 + "image/*", 542 + ], 543 + "maxSize": 1000000, 544 + }, 545 + "alt": { 546 + "type": "string", 547 + "description": 548 + "Alt text description of the image, for accessibility.", 549 + }, 550 + "aspectRatio": { 551 + "type": "ref", 552 + "ref": "lex:app.bsky.embed.defs#aspectRatio", 553 + }, 554 + }, 555 + }, 556 + "view": { 557 + "type": "object", 558 + "required": [ 559 + "images", 560 + ], 561 + "properties": { 562 + "images": { 563 + "type": "array", 564 + "items": { 565 + "type": "ref", 566 + "ref": "lex:app.bsky.embed.images#viewImage", 567 + }, 568 + "maxLength": 4, 569 + }, 570 + }, 571 + }, 572 + "viewImage": { 573 + "type": "object", 574 + "required": [ 575 + "thumb", 576 + "fullsize", 577 + "alt", 578 + ], 579 + "properties": { 580 + "thumb": { 581 + "type": "string", 582 + "format": "uri", 583 + "description": 584 + "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.", 585 + }, 586 + "fullsize": { 587 + "type": "string", 588 + "format": "uri", 589 + "description": 590 + "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.", 591 + }, 592 + "alt": { 593 + "type": "string", 594 + "description": 595 + "Alt text description of the image, for accessibility.", 596 + }, 597 + "aspectRatio": { 598 + "type": "ref", 599 + "ref": "lex:app.bsky.embed.defs#aspectRatio", 600 + }, 601 + }, 602 + }, 603 + }, 604 + }, 605 + "AppBskyEmbedRecordWithMedia": { 606 + "lexicon": 1, 607 + "id": "app.bsky.embed.recordWithMedia", 608 + "description": 609 + "A representation of a record embedded in a Bluesky record (eg, a post), alongside other compatible embeds. For example, a quote post and image, or a quote post and external URL card.", 610 + "defs": { 611 + "main": { 612 + "type": "object", 613 + "required": [ 614 + "record", 615 + "media", 616 + ], 617 + "properties": { 618 + "record": { 619 + "type": "ref", 620 + "ref": "lex:app.bsky.embed.record", 621 + }, 622 + "media": { 623 + "type": "union", 624 + "refs": [ 625 + "lex:app.bsky.embed.images", 626 + "lex:app.bsky.embed.video", 627 + "lex:app.bsky.embed.external", 628 + ], 629 + }, 630 + }, 631 + }, 632 + "view": { 633 + "type": "object", 634 + "required": [ 635 + "record", 636 + "media", 637 + ], 638 + "properties": { 639 + "record": { 640 + "type": "ref", 641 + "ref": "lex:app.bsky.embed.record#view", 642 + }, 643 + "media": { 644 + "type": "union", 645 + "refs": [ 646 + "lex:app.bsky.embed.images#view", 647 + "lex:app.bsky.embed.video#view", 648 + "lex:app.bsky.embed.external#view", 649 + ], 650 + }, 651 + }, 652 + }, 653 + }, 654 + }, 655 + "AppBskyEmbedVideo": { 656 + "lexicon": 1, 657 + "id": "app.bsky.embed.video", 658 + "description": "A video embedded in a Bluesky record (eg, a post).", 659 + "defs": { 660 + "main": { 661 + "type": "object", 662 + "required": [ 663 + "video", 664 + ], 665 + "properties": { 666 + "video": { 667 + "type": "blob", 668 + "description": 669 + "The mp4 video file. May be up to 100mb, formerly limited to 50mb.", 670 + "accept": [ 671 + "video/mp4", 672 + ], 673 + "maxSize": 100000000, 674 + }, 675 + "captions": { 676 + "type": "array", 677 + "items": { 678 + "type": "ref", 679 + "ref": "lex:app.bsky.embed.video#caption", 680 + }, 681 + "maxLength": 20, 682 + }, 683 + "alt": { 684 + "type": "string", 685 + "description": 686 + "Alt text description of the video, for accessibility.", 687 + "maxGraphemes": 1000, 688 + "maxLength": 10000, 689 + }, 690 + "aspectRatio": { 691 + "type": "ref", 692 + "ref": "lex:app.bsky.embed.defs#aspectRatio", 693 + }, 694 + }, 695 + }, 696 + "caption": { 697 + "type": "object", 698 + "required": [ 699 + "lang", 700 + "file", 701 + ], 702 + "properties": { 703 + "lang": { 704 + "type": "string", 705 + "format": "language", 706 + }, 707 + "file": { 708 + "type": "blob", 709 + "accept": [ 710 + "text/vtt", 711 + ], 712 + "maxSize": 20000, 713 + }, 714 + }, 715 + }, 716 + "view": { 717 + "type": "object", 718 + "required": [ 719 + "cid", 720 + "playlist", 721 + ], 722 + "properties": { 723 + "cid": { 724 + "type": "string", 725 + "format": "cid", 726 + }, 727 + "playlist": { 728 + "type": "string", 729 + "format": "uri", 730 + }, 731 + "thumbnail": { 732 + "type": "string", 733 + "format": "uri", 734 + }, 735 + "alt": { 736 + "type": "string", 737 + "maxGraphemes": 1000, 738 + "maxLength": 10000, 739 + }, 740 + "aspectRatio": { 741 + "type": "ref", 742 + "ref": "lex:app.bsky.embed.defs#aspectRatio", 743 + }, 744 + }, 745 + }, 746 + }, 747 + }, 748 + "AppBskyEmbedExternal": { 749 + "lexicon": 1, 750 + "id": "app.bsky.embed.external", 751 + "defs": { 752 + "main": { 753 + "type": "object", 754 + "description": 755 + "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).", 756 + "required": [ 757 + "external", 758 + ], 759 + "properties": { 760 + "external": { 761 + "type": "ref", 762 + "ref": "lex:app.bsky.embed.external#external", 763 + }, 764 + }, 765 + }, 766 + "external": { 767 + "type": "object", 768 + "required": [ 769 + "uri", 770 + "title", 771 + "description", 772 + ], 773 + "properties": { 774 + "uri": { 775 + "type": "string", 776 + "format": "uri", 777 + }, 778 + "title": { 779 + "type": "string", 780 + }, 781 + "description": { 782 + "type": "string", 783 + }, 784 + "thumb": { 785 + "type": "blob", 786 + "accept": [ 787 + "image/*", 788 + ], 789 + "maxSize": 1000000, 790 + }, 791 + }, 792 + }, 793 + "view": { 794 + "type": "object", 795 + "required": [ 796 + "external", 797 + ], 798 + "properties": { 799 + "external": { 800 + "type": "ref", 801 + "ref": "lex:app.bsky.embed.external#viewExternal", 802 + }, 803 + }, 804 + }, 805 + "viewExternal": { 806 + "type": "object", 807 + "required": [ 808 + "uri", 809 + "title", 810 + "description", 811 + ], 812 + "properties": { 813 + "uri": { 814 + "type": "string", 815 + "format": "uri", 816 + }, 817 + "title": { 818 + "type": "string", 819 + }, 820 + "description": { 821 + "type": "string", 822 + }, 823 + "thumb": { 824 + "type": "string", 825 + "format": "uri", 826 + }, 827 + }, 828 + }, 829 + }, 830 + }, 831 + "AppBskyNotificationDefs": { 832 + "lexicon": 1, 833 + "id": "app.bsky.notification.defs", 834 + "defs": { 835 + "recordDeleted": { 836 + "type": "object", 837 + "properties": {}, 838 + }, 839 + "chatPreference": { 840 + "type": "object", 841 + "required": [ 842 + "include", 843 + "push", 844 + ], 845 + "properties": { 846 + "include": { 847 + "type": "string", 848 + "knownValues": [ 849 + "all", 850 + "accepted", 851 + ], 852 + }, 853 + "push": { 854 + "type": "boolean", 855 + }, 856 + }, 857 + }, 858 + "filterablePreference": { 859 + "type": "object", 860 + "required": [ 861 + "include", 862 + "list", 863 + "push", 864 + ], 865 + "properties": { 866 + "include": { 867 + "type": "string", 868 + "knownValues": [ 869 + "all", 870 + "follows", 871 + ], 872 + }, 873 + "list": { 874 + "type": "boolean", 875 + }, 876 + "push": { 877 + "type": "boolean", 878 + }, 879 + }, 880 + }, 881 + "preference": { 882 + "type": "object", 883 + "required": [ 884 + "list", 885 + "push", 886 + ], 887 + "properties": { 888 + "list": { 889 + "type": "boolean", 890 + }, 891 + "push": { 892 + "type": "boolean", 893 + }, 894 + }, 895 + }, 896 + "preferences": { 897 + "type": "object", 898 + "required": [ 899 + "chat", 900 + "follow", 901 + "like", 902 + "likeViaRepost", 903 + "mention", 904 + "quote", 905 + "reply", 906 + "repost", 907 + "repostViaRepost", 908 + "starterpackJoined", 909 + "subscribedPost", 910 + "unverified", 911 + "verified", 912 + ], 913 + "properties": { 914 + "chat": { 915 + "type": "ref", 916 + "ref": "lex:app.bsky.notification.defs#chatPreference", 917 + }, 918 + "follow": { 919 + "type": "ref", 920 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 921 + }, 922 + "like": { 923 + "type": "ref", 924 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 925 + }, 926 + "likeViaRepost": { 927 + "type": "ref", 928 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 929 + }, 930 + "mention": { 931 + "type": "ref", 932 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 933 + }, 934 + "quote": { 935 + "type": "ref", 936 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 937 + }, 938 + "reply": { 939 + "type": "ref", 940 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 941 + }, 942 + "repost": { 943 + "type": "ref", 944 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 945 + }, 946 + "repostViaRepost": { 947 + "type": "ref", 948 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 949 + }, 950 + "starterpackJoined": { 951 + "type": "ref", 952 + "ref": "lex:app.bsky.notification.defs#preference", 953 + }, 954 + "subscribedPost": { 955 + "type": "ref", 956 + "ref": "lex:app.bsky.notification.defs#preference", 957 + }, 958 + "unverified": { 959 + "type": "ref", 960 + "ref": "lex:app.bsky.notification.defs#preference", 961 + }, 962 + "verified": { 963 + "type": "ref", 964 + "ref": "lex:app.bsky.notification.defs#preference", 965 + }, 966 + }, 967 + }, 968 + "activitySubscription": { 969 + "type": "object", 970 + "required": [ 971 + "post", 972 + "reply", 973 + ], 974 + "properties": { 975 + "post": { 976 + "type": "boolean", 977 + }, 978 + "reply": { 979 + "type": "boolean", 980 + }, 981 + }, 982 + }, 983 + "subjectActivitySubscription": { 984 + "description": 985 + "Object used to store activity subscription data in stash.", 986 + "type": "object", 987 + "required": [ 988 + "subject", 989 + "activitySubscription", 990 + ], 991 + "properties": { 992 + "subject": { 993 + "type": "string", 994 + "format": "did", 995 + }, 996 + "activitySubscription": { 997 + "type": "ref", 998 + "ref": "lex:app.bsky.notification.defs#activitySubscription", 999 + }, 1000 + }, 1001 + }, 1002 + }, 1003 + }, 1004 + "AppBskyNotificationRegisterPush": { 1005 + "lexicon": 1, 1006 + "id": "app.bsky.notification.registerPush", 1007 + "defs": { 1008 + "main": { 1009 + "type": "procedure", 1010 + "description": 1011 + "Register to receive push notifications, via a specified service, for the requesting account. Requires auth.", 1012 + "input": { 1013 + "encoding": "application/json", 1014 + "schema": { 1015 + "type": "object", 1016 + "required": [ 1017 + "serviceDid", 1018 + "token", 1019 + "platform", 1020 + "appId", 1021 + ], 1022 + "properties": { 1023 + "serviceDid": { 1024 + "type": "string", 1025 + "format": "did", 1026 + }, 1027 + "token": { 1028 + "type": "string", 1029 + }, 1030 + "platform": { 1031 + "type": "string", 1032 + "knownValues": [ 1033 + "ios", 1034 + "android", 1035 + "web", 1036 + ], 1037 + }, 1038 + "appId": { 1039 + "type": "string", 1040 + }, 1041 + "ageRestricted": { 1042 + "type": "boolean", 1043 + "description": "Set to true when the actor is age restricted", 1044 + }, 1045 + }, 1046 + }, 1047 + }, 1048 + }, 1049 + }, 1050 + }, 1051 + "AppBskyNotificationPutPreferences": { 1052 + "lexicon": 1, 1053 + "id": "app.bsky.notification.putPreferences", 1054 + "defs": { 1055 + "main": { 1056 + "type": "procedure", 1057 + "description": 1058 + "Set notification-related preferences for an account. Requires auth.", 1059 + "input": { 1060 + "encoding": "application/json", 1061 + "schema": { 1062 + "type": "object", 1063 + "required": [ 1064 + "priority", 1065 + ], 1066 + "properties": { 1067 + "priority": { 1068 + "type": "boolean", 1069 + }, 1070 + }, 1071 + }, 1072 + }, 1073 + }, 1074 + }, 1075 + }, 1076 + "AppBskyNotificationPutActivitySubscription": { 1077 + "lexicon": 1, 1078 + "id": "app.bsky.notification.putActivitySubscription", 1079 + "defs": { 1080 + "main": { 1081 + "type": "procedure", 1082 + "description": 1083 + "Puts an activity subscription entry. The key should be omitted for creation and provided for updates. Requires auth.", 1084 + "input": { 1085 + "encoding": "application/json", 1086 + "schema": { 1087 + "type": "object", 1088 + "required": [ 1089 + "subject", 1090 + "activitySubscription", 1091 + ], 1092 + "properties": { 1093 + "subject": { 1094 + "type": "string", 1095 + "format": "did", 1096 + }, 1097 + "activitySubscription": { 1098 + "type": "ref", 1099 + "ref": "lex:app.bsky.notification.defs#activitySubscription", 1100 + }, 1101 + }, 1102 + }, 1103 + }, 1104 + "output": { 1105 + "encoding": "application/json", 1106 + "schema": { 1107 + "type": "object", 1108 + "required": [ 1109 + "subject", 1110 + ], 1111 + "properties": { 1112 + "subject": { 1113 + "type": "string", 1114 + "format": "did", 1115 + }, 1116 + "activitySubscription": { 1117 + "type": "ref", 1118 + "ref": "lex:app.bsky.notification.defs#activitySubscription", 1119 + }, 1120 + }, 1121 + }, 1122 + }, 1123 + }, 1124 + }, 1125 + }, 1126 + "AppBskyNotificationDeclaration": { 1127 + "lexicon": 1, 1128 + "id": "app.bsky.notification.declaration", 1129 + "defs": { 1130 + "main": { 1131 + "type": "record", 1132 + "description": 1133 + "A declaration of the user's choices related to notifications that can be produced by them.", 1134 + "key": "literal:self", 1135 + "record": { 1136 + "type": "object", 1137 + "required": [ 1138 + "allowSubscriptions", 1139 + ], 1140 + "properties": { 1141 + "allowSubscriptions": { 1142 + "type": "string", 1143 + "description": 1144 + "A declaration of the user's preference for allowing activity subscriptions from other users. Absence of a record implies 'followers'.", 1145 + "knownValues": [ 1146 + "followers", 1147 + "mutuals", 1148 + "none", 1149 + ], 1150 + }, 1151 + }, 1152 + }, 1153 + }, 1154 + }, 1155 + }, 1156 + "AppBskyNotificationPutPreferencesV2": { 1157 + "lexicon": 1, 1158 + "id": "app.bsky.notification.putPreferencesV2", 1159 + "defs": { 1160 + "main": { 1161 + "type": "procedure", 1162 + "description": 1163 + "Set notification-related preferences for an account. Requires auth.", 1164 + "input": { 1165 + "encoding": "application/json", 1166 + "schema": { 1167 + "type": "object", 1168 + "properties": { 1169 + "chat": { 1170 + "type": "ref", 1171 + "ref": "lex:app.bsky.notification.defs#chatPreference", 1172 + }, 1173 + "follow": { 1174 + "type": "ref", 1175 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1176 + }, 1177 + "like": { 1178 + "type": "ref", 1179 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1180 + }, 1181 + "likeViaRepost": { 1182 + "type": "ref", 1183 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1184 + }, 1185 + "mention": { 1186 + "type": "ref", 1187 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1188 + }, 1189 + "quote": { 1190 + "type": "ref", 1191 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1192 + }, 1193 + "reply": { 1194 + "type": "ref", 1195 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1196 + }, 1197 + "repost": { 1198 + "type": "ref", 1199 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1200 + }, 1201 + "repostViaRepost": { 1202 + "type": "ref", 1203 + "ref": "lex:app.bsky.notification.defs#filterablePreference", 1204 + }, 1205 + "starterpackJoined": { 1206 + "type": "ref", 1207 + "ref": "lex:app.bsky.notification.defs#preference", 1208 + }, 1209 + "subscribedPost": { 1210 + "type": "ref", 1211 + "ref": "lex:app.bsky.notification.defs#preference", 1212 + }, 1213 + "unverified": { 1214 + "type": "ref", 1215 + "ref": "lex:app.bsky.notification.defs#preference", 1216 + }, 1217 + "verified": { 1218 + "type": "ref", 1219 + "ref": "lex:app.bsky.notification.defs#preference", 1220 + }, 1221 + }, 1222 + }, 1223 + }, 1224 + "output": { 1225 + "encoding": "application/json", 1226 + "schema": { 1227 + "type": "object", 1228 + "required": [ 1229 + "preferences", 1230 + ], 1231 + "properties": { 1232 + "preferences": { 1233 + "type": "ref", 1234 + "ref": "lex:app.bsky.notification.defs#preferences", 1235 + }, 1236 + }, 1237 + }, 1238 + }, 1239 + }, 1240 + }, 1241 + }, 1242 + "AppBskyNotificationUpdateSeen": { 1243 + "lexicon": 1, 1244 + "id": "app.bsky.notification.updateSeen", 1245 + "defs": { 1246 + "main": { 1247 + "type": "procedure", 1248 + "description": 1249 + "Notify server that the requesting account has seen notifications. Requires auth.", 1250 + "input": { 1251 + "encoding": "application/json", 1252 + "schema": { 1253 + "type": "object", 1254 + "required": [ 1255 + "seenAt", 1256 + ], 1257 + "properties": { 1258 + "seenAt": { 1259 + "type": "string", 1260 + "format": "datetime", 1261 + }, 1262 + }, 1263 + }, 1264 + }, 1265 + }, 1266 + }, 1267 + }, 1268 + "AppBskyNotificationListActivitySubscriptions": { 1269 + "lexicon": 1, 1270 + "id": "app.bsky.notification.listActivitySubscriptions", 1271 + "defs": { 1272 + "main": { 1273 + "type": "query", 1274 + "description": 1275 + "Enumerate all accounts to which the requesting account is subscribed to receive notifications for. Requires auth.", 1276 + "parameters": { 1277 + "type": "params", 1278 + "properties": { 1279 + "limit": { 1280 + "type": "integer", 1281 + "minimum": 1, 1282 + "maximum": 100, 1283 + "default": 50, 1284 + }, 1285 + "cursor": { 1286 + "type": "string", 1287 + }, 1288 + }, 1289 + }, 1290 + "output": { 1291 + "encoding": "application/json", 1292 + "schema": { 1293 + "type": "object", 1294 + "required": [ 1295 + "subscriptions", 1296 + ], 1297 + "properties": { 1298 + "cursor": { 1299 + "type": "string", 1300 + }, 1301 + "subscriptions": { 1302 + "type": "array", 1303 + "items": { 1304 + "type": "ref", 1305 + "ref": "lex:app.bsky.actor.defs#profileView", 1306 + }, 1307 + }, 1308 + }, 1309 + }, 1310 + }, 1311 + }, 1312 + }, 1313 + }, 1314 + "AppBskyNotificationUnregisterPush": { 1315 + "lexicon": 1, 1316 + "id": "app.bsky.notification.unregisterPush", 1317 + "defs": { 1318 + "main": { 1319 + "type": "procedure", 1320 + "description": 1321 + "The inverse of registerPush - inform a specified service that push notifications should no longer be sent to the given token for the requesting account. Requires auth.", 1322 + "input": { 1323 + "encoding": "application/json", 1324 + "schema": { 1325 + "type": "object", 1326 + "required": [ 1327 + "serviceDid", 1328 + "token", 1329 + "platform", 1330 + "appId", 1331 + ], 1332 + "properties": { 1333 + "serviceDid": { 1334 + "type": "string", 1335 + "format": "did", 1336 + }, 1337 + "token": { 1338 + "type": "string", 1339 + }, 1340 + "platform": { 1341 + "type": "string", 1342 + "knownValues": [ 1343 + "ios", 1344 + "android", 1345 + "web", 1346 + ], 1347 + }, 1348 + "appId": { 1349 + "type": "string", 1350 + }, 1351 + }, 1352 + }, 1353 + }, 1354 + }, 1355 + }, 1356 + }, 1357 + "AppBskyNotificationGetPreferences": { 1358 + "lexicon": 1, 1359 + "id": "app.bsky.notification.getPreferences", 1360 + "defs": { 1361 + "main": { 1362 + "type": "query", 1363 + "description": 1364 + "Get notification-related preferences for an account. Requires auth.", 1365 + "parameters": { 1366 + "type": "params", 1367 + "properties": {}, 1368 + }, 1369 + "output": { 1370 + "encoding": "application/json", 1371 + "schema": { 1372 + "type": "object", 1373 + "required": [ 1374 + "preferences", 1375 + ], 1376 + "properties": { 1377 + "preferences": { 1378 + "type": "ref", 1379 + "ref": "lex:app.bsky.notification.defs#preferences", 1380 + }, 1381 + }, 1382 + }, 1383 + }, 1384 + }, 1385 + }, 1386 + }, 1387 + "AppBskyNotificationListNotifications": { 1388 + "lexicon": 1, 1389 + "id": "app.bsky.notification.listNotifications", 1390 + "defs": { 1391 + "main": { 1392 + "type": "query", 1393 + "description": 1394 + "Enumerate notifications for the requesting account. Requires auth.", 1395 + "parameters": { 1396 + "type": "params", 1397 + "properties": { 1398 + "reasons": { 1399 + "description": "Notification reasons to include in response.", 1400 + "type": "array", 1401 + "items": { 1402 + "type": "string", 1403 + "description": 1404 + "A reason that matches the reason property of #notification.", 1405 + }, 1406 + }, 1407 + "limit": { 1408 + "type": "integer", 1409 + "minimum": 1, 1410 + "maximum": 100, 1411 + "default": 50, 1412 + }, 1413 + "priority": { 1414 + "type": "boolean", 1415 + }, 1416 + "cursor": { 1417 + "type": "string", 1418 + }, 1419 + "seenAt": { 1420 + "type": "string", 1421 + "format": "datetime", 1422 + }, 1423 + }, 1424 + }, 1425 + "output": { 1426 + "encoding": "application/json", 1427 + "schema": { 1428 + "type": "object", 1429 + "required": [ 1430 + "notifications", 1431 + ], 1432 + "properties": { 1433 + "cursor": { 1434 + "type": "string", 1435 + }, 1436 + "notifications": { 1437 + "type": "array", 1438 + "items": { 1439 + "type": "ref", 1440 + "ref": 1441 + "lex:app.bsky.notification.listNotifications#notification", 1442 + }, 1443 + }, 1444 + "priority": { 1445 + "type": "boolean", 1446 + }, 1447 + "seenAt": { 1448 + "type": "string", 1449 + "format": "datetime", 1450 + }, 1451 + }, 1452 + }, 1453 + }, 1454 + }, 1455 + "notification": { 1456 + "type": "object", 1457 + "required": [ 1458 + "uri", 1459 + "cid", 1460 + "author", 1461 + "reason", 1462 + "record", 1463 + "isRead", 1464 + "indexedAt", 1465 + ], 1466 + "properties": { 1467 + "uri": { 1468 + "type": "string", 1469 + "format": "at-uri", 1470 + }, 1471 + "cid": { 1472 + "type": "string", 1473 + "format": "cid", 1474 + }, 1475 + "author": { 1476 + "type": "ref", 1477 + "ref": "lex:app.bsky.actor.defs#profileView", 1478 + }, 1479 + "reason": { 1480 + "type": "string", 1481 + "description": 1482 + "The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.", 1483 + "knownValues": [ 1484 + "like", 1485 + "repost", 1486 + "follow", 1487 + "mention", 1488 + "reply", 1489 + "quote", 1490 + "starterpack-joined", 1491 + "verified", 1492 + "unverified", 1493 + "like-via-repost", 1494 + "repost-via-repost", 1495 + "subscribed-post", 1496 + ], 1497 + }, 1498 + "reasonSubject": { 1499 + "type": "string", 1500 + "format": "at-uri", 1501 + }, 1502 + "record": { 1503 + "type": "unknown", 1504 + }, 1505 + "isRead": { 1506 + "type": "boolean", 1507 + }, 1508 + "indexedAt": { 1509 + "type": "string", 1510 + "format": "datetime", 1511 + }, 1512 + "labels": { 1513 + "type": "array", 1514 + "items": { 1515 + "type": "ref", 1516 + "ref": "lex:com.atproto.label.defs#label", 1517 + }, 1518 + }, 1519 + }, 1520 + }, 1521 + }, 1522 + }, 1523 + "AppBskyNotificationGetUnreadCount": { 1524 + "lexicon": 1, 1525 + "id": "app.bsky.notification.getUnreadCount", 1526 + "defs": { 1527 + "main": { 1528 + "type": "query", 1529 + "description": 1530 + "Count the number of unread notifications for the requesting account. Requires auth.", 1531 + "parameters": { 1532 + "type": "params", 1533 + "properties": { 1534 + "priority": { 1535 + "type": "boolean", 1536 + }, 1537 + "seenAt": { 1538 + "type": "string", 1539 + "format": "datetime", 1540 + }, 1541 + }, 1542 + }, 1543 + "output": { 1544 + "encoding": "application/json", 1545 + "schema": { 1546 + "type": "object", 1547 + "required": [ 1548 + "count", 1549 + ], 1550 + "properties": { 1551 + "count": { 1552 + "type": "integer", 1553 + }, 1554 + }, 1555 + }, 1556 + }, 1557 + }, 1558 + }, 1559 + }, 1560 + "AppBskyUnspeccedGetSuggestedFeedsSkeleton": { 1561 + "lexicon": 1, 1562 + "id": "app.bsky.unspecced.getSuggestedFeedsSkeleton", 1563 + "defs": { 1564 + "main": { 1565 + "type": "query", 1566 + "description": 1567 + "Get a skeleton of suggested feeds. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedFeeds", 1568 + "parameters": { 1569 + "type": "params", 1570 + "properties": { 1571 + "viewer": { 1572 + "type": "string", 1573 + "format": "did", 1574 + "description": 1575 + "DID of the account making the request (not included for public/unauthenticated queries).", 1576 + }, 1577 + "limit": { 1578 + "type": "integer", 1579 + "minimum": 1, 1580 + "maximum": 25, 1581 + "default": 10, 1582 + }, 1583 + }, 1584 + }, 1585 + "output": { 1586 + "encoding": "application/json", 1587 + "schema": { 1588 + "type": "object", 1589 + "required": [ 1590 + "feeds", 1591 + ], 1592 + "properties": { 1593 + "feeds": { 1594 + "type": "array", 1595 + "items": { 1596 + "type": "string", 1597 + "format": "at-uri", 1598 + }, 1599 + }, 1600 + }, 1601 + }, 1602 + }, 1603 + }, 1604 + }, 1605 + }, 1606 + "AppBskyUnspeccedSearchStarterPacksSkeleton": { 1607 + "lexicon": 1, 1608 + "id": "app.bsky.unspecced.searchStarterPacksSkeleton", 1609 + "defs": { 1610 + "main": { 1611 + "type": "query", 1612 + "description": "Backend Starter Pack search, returns only skeleton.", 1613 + "parameters": { 1614 + "type": "params", 1615 + "required": [ 1616 + "q", 1617 + ], 1618 + "properties": { 1619 + "q": { 1620 + "type": "string", 1621 + "description": 1622 + "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.", 1623 + }, 1624 + "viewer": { 1625 + "type": "string", 1626 + "format": "did", 1627 + "description": 1628 + "DID of the account making the request (not included for public/unauthenticated queries).", 1629 + }, 1630 + "limit": { 1631 + "type": "integer", 1632 + "minimum": 1, 1633 + "maximum": 100, 1634 + "default": 25, 1635 + }, 1636 + "cursor": { 1637 + "type": "string", 1638 + "description": 1639 + "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.", 1640 + }, 1641 + }, 1642 + }, 1643 + "output": { 1644 + "encoding": "application/json", 1645 + "schema": { 1646 + "type": "object", 1647 + "required": [ 1648 + "starterPacks", 1649 + ], 1650 + "properties": { 1651 + "cursor": { 1652 + "type": "string", 1653 + }, 1654 + "hitsTotal": { 1655 + "type": "integer", 1656 + "description": 1657 + "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits.", 1658 + }, 1659 + "starterPacks": { 1660 + "type": "array", 1661 + "items": { 1662 + "type": "ref", 1663 + "ref": 1664 + "lex:app.bsky.unspecced.defs#skeletonSearchStarterPack", 1665 + }, 1666 + }, 1667 + }, 1668 + }, 1669 + }, 1670 + "errors": [ 1671 + { 1672 + "name": "BadQueryString", 1673 + }, 1674 + ], 1675 + }, 1676 + }, 1677 + }, 1678 + "AppBskyUnspeccedDefs": { 1679 + "lexicon": 1, 1680 + "id": "app.bsky.unspecced.defs", 1681 + "defs": { 1682 + "skeletonSearchPost": { 1683 + "type": "object", 1684 + "required": [ 1685 + "uri", 1686 + ], 1687 + "properties": { 1688 + "uri": { 1689 + "type": "string", 1690 + "format": "at-uri", 1691 + }, 1692 + }, 1693 + }, 1694 + "skeletonSearchActor": { 1695 + "type": "object", 1696 + "required": [ 1697 + "did", 1698 + ], 1699 + "properties": { 1700 + "did": { 1701 + "type": "string", 1702 + "format": "did", 1703 + }, 1704 + }, 1705 + }, 1706 + "skeletonSearchStarterPack": { 1707 + "type": "object", 1708 + "required": [ 1709 + "uri", 1710 + ], 1711 + "properties": { 1712 + "uri": { 1713 + "type": "string", 1714 + "format": "at-uri", 1715 + }, 1716 + }, 1717 + }, 1718 + "trendingTopic": { 1719 + "type": "object", 1720 + "required": [ 1721 + "topic", 1722 + "link", 1723 + ], 1724 + "properties": { 1725 + "topic": { 1726 + "type": "string", 1727 + }, 1728 + "displayName": { 1729 + "type": "string", 1730 + }, 1731 + "description": { 1732 + "type": "string", 1733 + }, 1734 + "link": { 1735 + "type": "string", 1736 + }, 1737 + }, 1738 + }, 1739 + "skeletonTrend": { 1740 + "type": "object", 1741 + "required": [ 1742 + "topic", 1743 + "displayName", 1744 + "link", 1745 + "startedAt", 1746 + "postCount", 1747 + "dids", 1748 + ], 1749 + "properties": { 1750 + "topic": { 1751 + "type": "string", 1752 + }, 1753 + "displayName": { 1754 + "type": "string", 1755 + }, 1756 + "link": { 1757 + "type": "string", 1758 + }, 1759 + "startedAt": { 1760 + "type": "string", 1761 + "format": "datetime", 1762 + }, 1763 + "postCount": { 1764 + "type": "integer", 1765 + }, 1766 + "status": { 1767 + "type": "string", 1768 + "knownValues": [ 1769 + "hot", 1770 + ], 1771 + }, 1772 + "category": { 1773 + "type": "string", 1774 + }, 1775 + "dids": { 1776 + "type": "array", 1777 + "items": { 1778 + "type": "string", 1779 + "format": "did", 1780 + }, 1781 + }, 1782 + }, 1783 + }, 1784 + "trendView": { 1785 + "type": "object", 1786 + "required": [ 1787 + "topic", 1788 + "displayName", 1789 + "link", 1790 + "startedAt", 1791 + "postCount", 1792 + "actors", 1793 + ], 1794 + "properties": { 1795 + "topic": { 1796 + "type": "string", 1797 + }, 1798 + "displayName": { 1799 + "type": "string", 1800 + }, 1801 + "link": { 1802 + "type": "string", 1803 + }, 1804 + "startedAt": { 1805 + "type": "string", 1806 + "format": "datetime", 1807 + }, 1808 + "postCount": { 1809 + "type": "integer", 1810 + }, 1811 + "status": { 1812 + "type": "string", 1813 + "knownValues": [ 1814 + "hot", 1815 + ], 1816 + }, 1817 + "category": { 1818 + "type": "string", 1819 + }, 1820 + "actors": { 1821 + "type": "array", 1822 + "items": { 1823 + "type": "ref", 1824 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 1825 + }, 1826 + }, 1827 + }, 1828 + }, 1829 + "threadItemPost": { 1830 + "type": "object", 1831 + "required": [ 1832 + "post", 1833 + "moreParents", 1834 + "moreReplies", 1835 + "opThread", 1836 + "hiddenByThreadgate", 1837 + "mutedByViewer", 1838 + ], 1839 + "properties": { 1840 + "post": { 1841 + "type": "ref", 1842 + "ref": "lex:app.bsky.feed.defs#postView", 1843 + }, 1844 + "moreParents": { 1845 + "type": "boolean", 1846 + "description": 1847 + "This post has more parents that were not present in the response. This is just a boolean, without the number of parents.", 1848 + }, 1849 + "moreReplies": { 1850 + "type": "integer", 1851 + "description": 1852 + "This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.", 1853 + }, 1854 + "opThread": { 1855 + "type": "boolean", 1856 + "description": 1857 + "This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.", 1858 + }, 1859 + "hiddenByThreadgate": { 1860 + "type": "boolean", 1861 + "description": 1862 + "The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.", 1863 + }, 1864 + "mutedByViewer": { 1865 + "type": "boolean", 1866 + "description": 1867 + "This is by an account muted by the viewer requesting it.", 1868 + }, 1869 + }, 1870 + }, 1871 + "threadItemNoUnauthenticated": { 1872 + "type": "object", 1873 + "properties": {}, 1874 + }, 1875 + "threadItemNotFound": { 1876 + "type": "object", 1877 + "properties": {}, 1878 + }, 1879 + "threadItemBlocked": { 1880 + "type": "object", 1881 + "required": [ 1882 + "author", 1883 + ], 1884 + "properties": { 1885 + "author": { 1886 + "type": "ref", 1887 + "ref": "lex:app.bsky.feed.defs#blockedAuthor", 1888 + }, 1889 + }, 1890 + }, 1891 + "ageAssuranceState": { 1892 + "type": "object", 1893 + "description": 1894 + "The computed state of the age assurance process, returned to the user in question on certain authenticated requests.", 1895 + "required": [ 1896 + "status", 1897 + ], 1898 + "properties": { 1899 + "lastInitiatedAt": { 1900 + "type": "string", 1901 + "format": "datetime", 1902 + "description": "The timestamp when this state was last updated.", 1903 + }, 1904 + "status": { 1905 + "type": "string", 1906 + "description": "The status of the age assurance process.", 1907 + "knownValues": [ 1908 + "unknown", 1909 + "pending", 1910 + "assured", 1911 + "blocked", 1912 + ], 1913 + }, 1914 + }, 1915 + }, 1916 + "ageAssuranceEvent": { 1917 + "type": "object", 1918 + "description": "Object used to store age assurance data in stash.", 1919 + "required": [ 1920 + "createdAt", 1921 + "status", 1922 + "attemptId", 1923 + ], 1924 + "properties": { 1925 + "createdAt": { 1926 + "type": "string", 1927 + "format": "datetime", 1928 + "description": "The date and time of this write operation.", 1929 + }, 1930 + "status": { 1931 + "type": "string", 1932 + "description": "The status of the age assurance process.", 1933 + "knownValues": [ 1934 + "unknown", 1935 + "pending", 1936 + "assured", 1937 + ], 1938 + }, 1939 + "attemptId": { 1940 + "type": "string", 1941 + "description": 1942 + "The unique identifier for this instance of the age assurance flow, in UUID format.", 1943 + }, 1944 + "email": { 1945 + "type": "string", 1946 + "description": "The email used for AA.", 1947 + }, 1948 + "initIp": { 1949 + "type": "string", 1950 + "description": "The IP address used when initiating the AA flow.", 1951 + }, 1952 + "initUa": { 1953 + "type": "string", 1954 + "description": "The user agent used when initiating the AA flow.", 1955 + }, 1956 + "completeIp": { 1957 + "type": "string", 1958 + "description": "The IP address used when completing the AA flow.", 1959 + }, 1960 + "completeUa": { 1961 + "type": "string", 1962 + "description": "The user agent used when completing the AA flow.", 1963 + }, 1964 + }, 1965 + }, 1966 + }, 1967 + }, 1968 + "AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton": { 1969 + "lexicon": 1, 1970 + "id": "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton", 1971 + "defs": { 1972 + "main": { 1973 + "type": "query", 1974 + "description": 1975 + "Get a skeleton of suggested starterpacks for onboarding. Intended to be called and hydrated by app.bsky.unspecced.getOnboardingSuggestedStarterPacks", 1976 + "parameters": { 1977 + "type": "params", 1978 + "properties": { 1979 + "viewer": { 1980 + "type": "string", 1981 + "format": "did", 1982 + "description": 1983 + "DID of the account making the request (not included for public/unauthenticated queries).", 1984 + }, 1985 + "limit": { 1986 + "type": "integer", 1987 + "minimum": 1, 1988 + "maximum": 25, 1989 + "default": 10, 1990 + }, 1991 + }, 1992 + }, 1993 + "output": { 1994 + "encoding": "application/json", 1995 + "schema": { 1996 + "type": "object", 1997 + "required": [ 1998 + "starterPacks", 1999 + ], 2000 + "properties": { 2001 + "starterPacks": { 2002 + "type": "array", 2003 + "items": { 2004 + "type": "string", 2005 + "format": "at-uri", 2006 + }, 2007 + }, 2008 + }, 2009 + }, 2010 + }, 2011 + }, 2012 + }, 2013 + }, 2014 + "AppBskyUnspeccedGetSuggestedUsers": { 2015 + "lexicon": 1, 2016 + "id": "app.bsky.unspecced.getSuggestedUsers", 2017 + "defs": { 2018 + "main": { 2019 + "type": "query", 2020 + "description": "Get a list of suggested users", 2021 + "parameters": { 2022 + "type": "params", 2023 + "properties": { 2024 + "category": { 2025 + "type": "string", 2026 + "description": "Category of users to get suggestions for.", 2027 + }, 2028 + "limit": { 2029 + "type": "integer", 2030 + "minimum": 1, 2031 + "maximum": 50, 2032 + "default": 25, 2033 + }, 2034 + }, 2035 + }, 2036 + "output": { 2037 + "encoding": "application/json", 2038 + "schema": { 2039 + "type": "object", 2040 + "required": [ 2041 + "actors", 2042 + ], 2043 + "properties": { 2044 + "actors": { 2045 + "type": "array", 2046 + "items": { 2047 + "type": "ref", 2048 + "ref": "lex:app.bsky.actor.defs#profileView", 2049 + }, 2050 + }, 2051 + }, 2052 + }, 2053 + }, 2054 + }, 2055 + }, 2056 + }, 2057 + "AppBskyUnspeccedGetPostThreadOtherV2": { 2058 + "lexicon": 1, 2059 + "id": "app.bsky.unspecced.getPostThreadOtherV2", 2060 + "defs": { 2061 + "main": { 2062 + "type": "query", 2063 + "description": 2064 + "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get additional posts under a thread e.g. replies hidden by threadgate. Based on an anchor post at any depth of the tree, returns top-level replies below that anchor. It does not include ancestors nor the anchor itself. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.", 2065 + "parameters": { 2066 + "type": "params", 2067 + "required": [ 2068 + "anchor", 2069 + ], 2070 + "properties": { 2071 + "anchor": { 2072 + "type": "string", 2073 + "format": "at-uri", 2074 + "description": 2075 + "Reference (AT-URI) to post record. This is the anchor post.", 2076 + }, 2077 + }, 2078 + }, 2079 + "output": { 2080 + "encoding": "application/json", 2081 + "schema": { 2082 + "type": "object", 2083 + "required": [ 2084 + "thread", 2085 + ], 2086 + "properties": { 2087 + "thread": { 2088 + "type": "array", 2089 + "description": 2090 + "A flat list of other thread items. The depth of each item is indicated by the depth property inside the item.", 2091 + "items": { 2092 + "type": "ref", 2093 + "ref": 2094 + "lex:app.bsky.unspecced.getPostThreadOtherV2#threadItem", 2095 + }, 2096 + }, 2097 + }, 2098 + }, 2099 + }, 2100 + }, 2101 + "threadItem": { 2102 + "type": "object", 2103 + "required": [ 2104 + "uri", 2105 + "depth", 2106 + "value", 2107 + ], 2108 + "properties": { 2109 + "uri": { 2110 + "type": "string", 2111 + "format": "at-uri", 2112 + }, 2113 + "depth": { 2114 + "type": "integer", 2115 + "description": 2116 + "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.", 2117 + }, 2118 + "value": { 2119 + "type": "union", 2120 + "refs": [ 2121 + "lex:app.bsky.unspecced.defs#threadItemPost", 2122 + ], 2123 + }, 2124 + }, 2125 + }, 2126 + }, 2127 + }, 2128 + "AppBskyUnspeccedGetSuggestedStarterPacks": { 2129 + "lexicon": 1, 2130 + "id": "app.bsky.unspecced.getSuggestedStarterPacks", 2131 + "defs": { 2132 + "main": { 2133 + "type": "query", 2134 + "description": "Get a list of suggested starterpacks", 2135 + "parameters": { 2136 + "type": "params", 2137 + "properties": { 2138 + "limit": { 2139 + "type": "integer", 2140 + "minimum": 1, 2141 + "maximum": 25, 2142 + "default": 10, 2143 + }, 2144 + }, 2145 + }, 2146 + "output": { 2147 + "encoding": "application/json", 2148 + "schema": { 2149 + "type": "object", 2150 + "required": [ 2151 + "starterPacks", 2152 + ], 2153 + "properties": { 2154 + "starterPacks": { 2155 + "type": "array", 2156 + "items": { 2157 + "type": "ref", 2158 + "ref": "lex:app.bsky.graph.defs#starterPackView", 2159 + }, 2160 + }, 2161 + }, 2162 + }, 2163 + }, 2164 + }, 2165 + }, 2166 + }, 2167 + "AppBskyUnspeccedGetSuggestedStarterPacksSkeleton": { 2168 + "lexicon": 1, 2169 + "id": "app.bsky.unspecced.getSuggestedStarterPacksSkeleton", 2170 + "defs": { 2171 + "main": { 2172 + "type": "query", 2173 + "description": 2174 + "Get a skeleton of suggested starterpacks. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedStarterpacks", 2175 + "parameters": { 2176 + "type": "params", 2177 + "properties": { 2178 + "viewer": { 2179 + "type": "string", 2180 + "format": "did", 2181 + "description": 2182 + "DID of the account making the request (not included for public/unauthenticated queries).", 2183 + }, 2184 + "limit": { 2185 + "type": "integer", 2186 + "minimum": 1, 2187 + "maximum": 25, 2188 + "default": 10, 2189 + }, 2190 + }, 2191 + }, 2192 + "output": { 2193 + "encoding": "application/json", 2194 + "schema": { 2195 + "type": "object", 2196 + "required": [ 2197 + "starterPacks", 2198 + ], 2199 + "properties": { 2200 + "starterPacks": { 2201 + "type": "array", 2202 + "items": { 2203 + "type": "string", 2204 + "format": "at-uri", 2205 + }, 2206 + }, 2207 + }, 2208 + }, 2209 + }, 2210 + }, 2211 + }, 2212 + }, 2213 + "AppBskyUnspeccedGetOnboardingSuggestedStarterPacks": { 2214 + "lexicon": 1, 2215 + "id": "app.bsky.unspecced.getOnboardingSuggestedStarterPacks", 2216 + "defs": { 2217 + "main": { 2218 + "type": "query", 2219 + "description": "Get a list of suggested starterpacks for onboarding", 2220 + "parameters": { 2221 + "type": "params", 2222 + "properties": { 2223 + "limit": { 2224 + "type": "integer", 2225 + "minimum": 1, 2226 + "maximum": 25, 2227 + "default": 10, 2228 + }, 2229 + }, 2230 + }, 2231 + "output": { 2232 + "encoding": "application/json", 2233 + "schema": { 2234 + "type": "object", 2235 + "required": [ 2236 + "starterPacks", 2237 + ], 2238 + "properties": { 2239 + "starterPacks": { 2240 + "type": "array", 2241 + "items": { 2242 + "type": "ref", 2243 + "ref": "lex:app.bsky.graph.defs#starterPackView", 2244 + }, 2245 + }, 2246 + }, 2247 + }, 2248 + }, 2249 + }, 2250 + }, 2251 + }, 2252 + "AppBskyUnspeccedGetSuggestedUsersSkeleton": { 2253 + "lexicon": 1, 2254 + "id": "app.bsky.unspecced.getSuggestedUsersSkeleton", 2255 + "defs": { 2256 + "main": { 2257 + "type": "query", 2258 + "description": 2259 + "Get a skeleton of suggested users. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedUsers", 2260 + "parameters": { 2261 + "type": "params", 2262 + "properties": { 2263 + "viewer": { 2264 + "type": "string", 2265 + "format": "did", 2266 + "description": 2267 + "DID of the account making the request (not included for public/unauthenticated queries).", 2268 + }, 2269 + "category": { 2270 + "type": "string", 2271 + "description": "Category of users to get suggestions for.", 2272 + }, 2273 + "limit": { 2274 + "type": "integer", 2275 + "minimum": 1, 2276 + "maximum": 50, 2277 + "default": 25, 2278 + }, 2279 + }, 2280 + }, 2281 + "output": { 2282 + "encoding": "application/json", 2283 + "schema": { 2284 + "type": "object", 2285 + "required": [ 2286 + "dids", 2287 + ], 2288 + "properties": { 2289 + "dids": { 2290 + "type": "array", 2291 + "items": { 2292 + "type": "string", 2293 + "format": "did", 2294 + }, 2295 + }, 2296 + }, 2297 + }, 2298 + }, 2299 + }, 2300 + }, 2301 + }, 2302 + "AppBskyUnspeccedGetPostThreadV2": { 2303 + "lexicon": 1, 2304 + "id": "app.bsky.unspecced.getPostThreadV2", 2305 + "defs": { 2306 + "main": { 2307 + "type": "query", 2308 + "description": 2309 + "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get posts in a thread. It is based in an anchor post at any depth of the tree, and returns posts above it (recursively resolving the parent, without further branching to their replies) and below it (recursive replies, with branching to their replies). Does not require auth, but additional metadata and filtering will be applied for authed requests.", 2310 + "parameters": { 2311 + "type": "params", 2312 + "required": [ 2313 + "anchor", 2314 + ], 2315 + "properties": { 2316 + "anchor": { 2317 + "type": "string", 2318 + "format": "at-uri", 2319 + "description": 2320 + "Reference (AT-URI) to post record. This is the anchor post, and the thread will be built around it. It can be any post in the tree, not necessarily a root post.", 2321 + }, 2322 + "above": { 2323 + "type": "boolean", 2324 + "description": "Whether to include parents above the anchor.", 2325 + "default": true, 2326 + }, 2327 + "below": { 2328 + "type": "integer", 2329 + "description": 2330 + "How many levels of replies to include below the anchor.", 2331 + "default": 6, 2332 + "minimum": 0, 2333 + "maximum": 20, 2334 + }, 2335 + "branchingFactor": { 2336 + "type": "integer", 2337 + "description": 2338 + "Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated).", 2339 + "default": 10, 2340 + "minimum": 0, 2341 + "maximum": 100, 2342 + }, 2343 + "sort": { 2344 + "type": "string", 2345 + "description": "Sorting for the thread replies.", 2346 + "knownValues": [ 2347 + "newest", 2348 + "oldest", 2349 + "top", 2350 + ], 2351 + "default": "oldest", 2352 + }, 2353 + }, 2354 + }, 2355 + "output": { 2356 + "encoding": "application/json", 2357 + "schema": { 2358 + "type": "object", 2359 + "required": [ 2360 + "thread", 2361 + "hasOtherReplies", 2362 + ], 2363 + "properties": { 2364 + "thread": { 2365 + "type": "array", 2366 + "description": 2367 + "A flat list of thread items. The depth of each item is indicated by the depth property inside the item.", 2368 + "items": { 2369 + "type": "ref", 2370 + "ref": "lex:app.bsky.unspecced.getPostThreadV2#threadItem", 2371 + }, 2372 + }, 2373 + "threadgate": { 2374 + "type": "ref", 2375 + "ref": "lex:app.bsky.feed.defs#threadgateView", 2376 + }, 2377 + "hasOtherReplies": { 2378 + "type": "boolean", 2379 + "description": 2380 + "Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them.", 2381 + }, 2382 + }, 2383 + }, 2384 + }, 2385 + }, 2386 + "threadItem": { 2387 + "type": "object", 2388 + "required": [ 2389 + "uri", 2390 + "depth", 2391 + "value", 2392 + ], 2393 + "properties": { 2394 + "uri": { 2395 + "type": "string", 2396 + "format": "at-uri", 2397 + }, 2398 + "depth": { 2399 + "type": "integer", 2400 + "description": 2401 + "The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths.", 2402 + }, 2403 + "value": { 2404 + "type": "union", 2405 + "refs": [ 2406 + "lex:app.bsky.unspecced.defs#threadItemPost", 2407 + "lex:app.bsky.unspecced.defs#threadItemNoUnauthenticated", 2408 + "lex:app.bsky.unspecced.defs#threadItemNotFound", 2409 + "lex:app.bsky.unspecced.defs#threadItemBlocked", 2410 + ], 2411 + }, 2412 + }, 2413 + }, 2414 + }, 2415 + }, 2416 + "AppBskyUnspeccedGetTrends": { 2417 + "lexicon": 1, 2418 + "id": "app.bsky.unspecced.getTrends", 2419 + "defs": { 2420 + "main": { 2421 + "type": "query", 2422 + "description": "Get the current trends on the network", 2423 + "parameters": { 2424 + "type": "params", 2425 + "properties": { 2426 + "limit": { 2427 + "type": "integer", 2428 + "minimum": 1, 2429 + "maximum": 25, 2430 + "default": 10, 2431 + }, 2432 + }, 2433 + }, 2434 + "output": { 2435 + "encoding": "application/json", 2436 + "schema": { 2437 + "type": "object", 2438 + "required": [ 2439 + "trends", 2440 + ], 2441 + "properties": { 2442 + "trends": { 2443 + "type": "array", 2444 + "items": { 2445 + "type": "ref", 2446 + "ref": "lex:app.bsky.unspecced.defs#trendView", 2447 + }, 2448 + }, 2449 + }, 2450 + }, 2451 + }, 2452 + }, 2453 + }, 2454 + }, 2455 + "AppBskyUnspeccedSearchActorsSkeleton": { 2456 + "lexicon": 1, 2457 + "id": "app.bsky.unspecced.searchActorsSkeleton", 2458 + "defs": { 2459 + "main": { 2460 + "type": "query", 2461 + "description": 2462 + "Backend Actors (profile) search, returns only skeleton.", 2463 + "parameters": { 2464 + "type": "params", 2465 + "required": [ 2466 + "q", 2467 + ], 2468 + "properties": { 2469 + "q": { 2470 + "type": "string", 2471 + "description": 2472 + "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax.", 2473 + }, 2474 + "viewer": { 2475 + "type": "string", 2476 + "format": "did", 2477 + "description": 2478 + "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.", 2479 + }, 2480 + "typeahead": { 2481 + "type": "boolean", 2482 + "description": "If true, acts as fast/simple 'typeahead' query.", 2483 + }, 2484 + "limit": { 2485 + "type": "integer", 2486 + "minimum": 1, 2487 + "maximum": 100, 2488 + "default": 25, 2489 + }, 2490 + "cursor": { 2491 + "type": "string", 2492 + "description": 2493 + "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.", 2494 + }, 2495 + }, 2496 + }, 2497 + "output": { 2498 + "encoding": "application/json", 2499 + "schema": { 2500 + "type": "object", 2501 + "required": [ 2502 + "actors", 2503 + ], 2504 + "properties": { 2505 + "cursor": { 2506 + "type": "string", 2507 + }, 2508 + "hitsTotal": { 2509 + "type": "integer", 2510 + "description": 2511 + "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits.", 2512 + }, 2513 + "actors": { 2514 + "type": "array", 2515 + "items": { 2516 + "type": "ref", 2517 + "ref": "lex:app.bsky.unspecced.defs#skeletonSearchActor", 2518 + }, 2519 + }, 2520 + }, 2521 + }, 2522 + }, 2523 + "errors": [ 2524 + { 2525 + "name": "BadQueryString", 2526 + }, 2527 + ], 2528 + }, 2529 + }, 2530 + }, 2531 + "AppBskyUnspeccedGetSuggestionsSkeleton": { 2532 + "lexicon": 1, 2533 + "id": "app.bsky.unspecced.getSuggestionsSkeleton", 2534 + "defs": { 2535 + "main": { 2536 + "type": "query", 2537 + "description": 2538 + "Get a skeleton of suggested actors. Intended to be called and then hydrated through app.bsky.actor.getSuggestions", 2539 + "parameters": { 2540 + "type": "params", 2541 + "properties": { 2542 + "viewer": { 2543 + "type": "string", 2544 + "format": "did", 2545 + "description": 2546 + "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.", 2547 + }, 2548 + "limit": { 2549 + "type": "integer", 2550 + "minimum": 1, 2551 + "maximum": 100, 2552 + "default": 50, 2553 + }, 2554 + "cursor": { 2555 + "type": "string", 2556 + }, 2557 + "relativeToDid": { 2558 + "type": "string", 2559 + "format": "did", 2560 + "description": 2561 + "DID of the account to get suggestions relative to. If not provided, suggestions will be based on the viewer.", 2562 + }, 2563 + }, 2564 + }, 2565 + "output": { 2566 + "encoding": "application/json", 2567 + "schema": { 2568 + "type": "object", 2569 + "required": [ 2570 + "actors", 2571 + ], 2572 + "properties": { 2573 + "cursor": { 2574 + "type": "string", 2575 + }, 2576 + "actors": { 2577 + "type": "array", 2578 + "items": { 2579 + "type": "ref", 2580 + "ref": "lex:app.bsky.unspecced.defs#skeletonSearchActor", 2581 + }, 2582 + }, 2583 + "relativeToDid": { 2584 + "type": "string", 2585 + "format": "did", 2586 + "description": 2587 + "DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer.", 2588 + }, 2589 + "recId": { 2590 + "type": "integer", 2591 + "description": 2592 + "Snowflake for this recommendation, use when submitting recommendation events.", 2593 + }, 2594 + }, 2595 + }, 2596 + }, 2597 + }, 2598 + }, 2599 + }, 2600 + "AppBskyUnspeccedSearchPostsSkeleton": { 2601 + "lexicon": 1, 2602 + "id": "app.bsky.unspecced.searchPostsSkeleton", 2603 + "defs": { 2604 + "main": { 2605 + "type": "query", 2606 + "description": "Backend Posts search, returns only skeleton", 2607 + "parameters": { 2608 + "type": "params", 2609 + "required": [ 2610 + "q", 2611 + ], 2612 + "properties": { 2613 + "q": { 2614 + "type": "string", 2615 + "description": 2616 + "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.", 2617 + }, 2618 + "sort": { 2619 + "type": "string", 2620 + "knownValues": [ 2621 + "top", 2622 + "latest", 2623 + ], 2624 + "default": "latest", 2625 + "description": "Specifies the ranking order of results.", 2626 + }, 2627 + "since": { 2628 + "type": "string", 2629 + "description": 2630 + "Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD).", 2631 + }, 2632 + "until": { 2633 + "type": "string", 2634 + "description": 2635 + "Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD).", 2636 + }, 2637 + "mentions": { 2638 + "type": "string", 2639 + "format": "at-identifier", 2640 + "description": 2641 + "Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions.", 2642 + }, 2643 + "author": { 2644 + "type": "string", 2645 + "format": "at-identifier", 2646 + "description": 2647 + "Filter to posts by the given account. Handles are resolved to DID before query-time.", 2648 + }, 2649 + "lang": { 2650 + "type": "string", 2651 + "format": "language", 2652 + "description": 2653 + "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection.", 2654 + }, 2655 + "domain": { 2656 + "type": "string", 2657 + "description": 2658 + "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization.", 2659 + }, 2660 + "url": { 2661 + "type": "string", 2662 + "format": "uri", 2663 + "description": 2664 + "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching.", 2665 + }, 2666 + "tag": { 2667 + "type": "array", 2668 + "items": { 2669 + "type": "string", 2670 + "maxLength": 640, 2671 + "maxGraphemes": 64, 2672 + }, 2673 + "description": 2674 + "Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching.", 2675 + }, 2676 + "viewer": { 2677 + "type": "string", 2678 + "format": "did", 2679 + "description": 2680 + "DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries.", 2681 + }, 2682 + "limit": { 2683 + "type": "integer", 2684 + "minimum": 1, 2685 + "maximum": 100, 2686 + "default": 25, 2687 + }, 2688 + "cursor": { 2689 + "type": "string", 2690 + "description": 2691 + "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.", 2692 + }, 2693 + }, 2694 + }, 2695 + "output": { 2696 + "encoding": "application/json", 2697 + "schema": { 2698 + "type": "object", 2699 + "required": [ 2700 + "posts", 2701 + ], 2702 + "properties": { 2703 + "cursor": { 2704 + "type": "string", 2705 + }, 2706 + "hitsTotal": { 2707 + "type": "integer", 2708 + "description": 2709 + "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits.", 2710 + }, 2711 + "posts": { 2712 + "type": "array", 2713 + "items": { 2714 + "type": "ref", 2715 + "ref": "lex:app.bsky.unspecced.defs#skeletonSearchPost", 2716 + }, 2717 + }, 2718 + }, 2719 + }, 2720 + }, 2721 + "errors": [ 2722 + { 2723 + "name": "BadQueryString", 2724 + }, 2725 + ], 2726 + }, 2727 + }, 2728 + }, 2729 + "AppBskyUnspeccedGetAgeAssuranceState": { 2730 + "lexicon": 1, 2731 + "id": "app.bsky.unspecced.getAgeAssuranceState", 2732 + "defs": { 2733 + "main": { 2734 + "type": "query", 2735 + "description": 2736 + "Returns the current state of the age assurance process for an account. This is used to check if the user has completed age assurance or if further action is required.", 2737 + "output": { 2738 + "encoding": "application/json", 2739 + "schema": { 2740 + "type": "ref", 2741 + "ref": "lex:app.bsky.unspecced.defs#ageAssuranceState", 2742 + }, 2743 + }, 2744 + }, 2745 + }, 2746 + }, 2747 + "AppBskyUnspeccedGetPopularFeedGenerators": { 2748 + "lexicon": 1, 2749 + "id": "app.bsky.unspecced.getPopularFeedGenerators", 2750 + "defs": { 2751 + "main": { 2752 + "type": "query", 2753 + "description": "An unspecced view of globally popular feed generators.", 2754 + "parameters": { 2755 + "type": "params", 2756 + "properties": { 2757 + "limit": { 2758 + "type": "integer", 2759 + "minimum": 1, 2760 + "maximum": 100, 2761 + "default": 50, 2762 + }, 2763 + "cursor": { 2764 + "type": "string", 2765 + }, 2766 + "query": { 2767 + "type": "string", 2768 + }, 2769 + }, 2770 + }, 2771 + "output": { 2772 + "encoding": "application/json", 2773 + "schema": { 2774 + "type": "object", 2775 + "required": [ 2776 + "feeds", 2777 + ], 2778 + "properties": { 2779 + "cursor": { 2780 + "type": "string", 2781 + }, 2782 + "feeds": { 2783 + "type": "array", 2784 + "items": { 2785 + "type": "ref", 2786 + "ref": "lex:app.bsky.feed.defs#generatorView", 2787 + }, 2788 + }, 2789 + }, 2790 + }, 2791 + }, 2792 + }, 2793 + }, 2794 + }, 2795 + "AppBskyUnspeccedInitAgeAssurance": { 2796 + "lexicon": 1, 2797 + "id": "app.bsky.unspecced.initAgeAssurance", 2798 + "defs": { 2799 + "main": { 2800 + "type": "procedure", 2801 + "description": 2802 + "Initiate age assurance for an account. This is a one-time action that will start the process of verifying the user's age.", 2803 + "input": { 2804 + "encoding": "application/json", 2805 + "schema": { 2806 + "type": "object", 2807 + "required": [ 2808 + "email", 2809 + "language", 2810 + "countryCode", 2811 + ], 2812 + "properties": { 2813 + "email": { 2814 + "type": "string", 2815 + "description": 2816 + "The user's email address to receive assurance instructions.", 2817 + }, 2818 + "language": { 2819 + "type": "string", 2820 + "description": 2821 + "The user's preferred language for communication during the assurance process.", 2822 + }, 2823 + "countryCode": { 2824 + "type": "string", 2825 + "description": 2826 + "An ISO 3166-1 alpha-2 code of the user's location.", 2827 + }, 2828 + }, 2829 + }, 2830 + }, 2831 + "output": { 2832 + "encoding": "application/json", 2833 + "schema": { 2834 + "type": "ref", 2835 + "ref": "lex:app.bsky.unspecced.defs#ageAssuranceState", 2836 + }, 2837 + }, 2838 + "errors": [ 2839 + { 2840 + "name": "InvalidEmail", 2841 + }, 2842 + { 2843 + "name": "DidTooLong", 2844 + }, 2845 + { 2846 + "name": "InvalidInitiation", 2847 + }, 2848 + ], 2849 + }, 2850 + }, 2851 + }, 2852 + "AppBskyUnspeccedGetTrendingTopics": { 2853 + "lexicon": 1, 2854 + "id": "app.bsky.unspecced.getTrendingTopics", 2855 + "defs": { 2856 + "main": { 2857 + "type": "query", 2858 + "description": "Get a list of trending topics", 2859 + "parameters": { 2860 + "type": "params", 2861 + "properties": { 2862 + "viewer": { 2863 + "type": "string", 2864 + "format": "did", 2865 + "description": 2866 + "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.", 2867 + }, 2868 + "limit": { 2869 + "type": "integer", 2870 + "minimum": 1, 2871 + "maximum": 25, 2872 + "default": 10, 2873 + }, 2874 + }, 2875 + }, 2876 + "output": { 2877 + "encoding": "application/json", 2878 + "schema": { 2879 + "type": "object", 2880 + "required": [ 2881 + "topics", 2882 + "suggested", 2883 + ], 2884 + "properties": { 2885 + "topics": { 2886 + "type": "array", 2887 + "items": { 2888 + "type": "ref", 2889 + "ref": "lex:app.bsky.unspecced.defs#trendingTopic", 2890 + }, 2891 + }, 2892 + "suggested": { 2893 + "type": "array", 2894 + "items": { 2895 + "type": "ref", 2896 + "ref": "lex:app.bsky.unspecced.defs#trendingTopic", 2897 + }, 2898 + }, 2899 + }, 2900 + }, 2901 + }, 2902 + }, 2903 + }, 2904 + }, 2905 + "AppBskyUnspeccedGetTaggedSuggestions": { 2906 + "lexicon": 1, 2907 + "id": "app.bsky.unspecced.getTaggedSuggestions", 2908 + "defs": { 2909 + "main": { 2910 + "type": "query", 2911 + "description": 2912 + "Get a list of suggestions (feeds and users) tagged with categories", 2913 + "parameters": { 2914 + "type": "params", 2915 + "properties": {}, 2916 + }, 2917 + "output": { 2918 + "encoding": "application/json", 2919 + "schema": { 2920 + "type": "object", 2921 + "required": [ 2922 + "suggestions", 2923 + ], 2924 + "properties": { 2925 + "suggestions": { 2926 + "type": "array", 2927 + "items": { 2928 + "type": "ref", 2929 + "ref": 2930 + "lex:app.bsky.unspecced.getTaggedSuggestions#suggestion", 2931 + }, 2932 + }, 2933 + }, 2934 + }, 2935 + }, 2936 + }, 2937 + "suggestion": { 2938 + "type": "object", 2939 + "required": [ 2940 + "tag", 2941 + "subjectType", 2942 + "subject", 2943 + ], 2944 + "properties": { 2945 + "tag": { 2946 + "type": "string", 2947 + }, 2948 + "subjectType": { 2949 + "type": "string", 2950 + "knownValues": [ 2951 + "actor", 2952 + "feed", 2953 + ], 2954 + }, 2955 + "subject": { 2956 + "type": "string", 2957 + "format": "uri", 2958 + }, 2959 + }, 2960 + }, 2961 + }, 2962 + }, 2963 + "AppBskyUnspeccedGetSuggestedFeeds": { 2964 + "lexicon": 1, 2965 + "id": "app.bsky.unspecced.getSuggestedFeeds", 2966 + "defs": { 2967 + "main": { 2968 + "type": "query", 2969 + "description": "Get a list of suggested feeds", 2970 + "parameters": { 2971 + "type": "params", 2972 + "properties": { 2973 + "limit": { 2974 + "type": "integer", 2975 + "minimum": 1, 2976 + "maximum": 25, 2977 + "default": 10, 2978 + }, 2979 + }, 2980 + }, 2981 + "output": { 2982 + "encoding": "application/json", 2983 + "schema": { 2984 + "type": "object", 2985 + "required": [ 2986 + "feeds", 2987 + ], 2988 + "properties": { 2989 + "feeds": { 2990 + "type": "array", 2991 + "items": { 2992 + "type": "ref", 2993 + "ref": "lex:app.bsky.feed.defs#generatorView", 2994 + }, 2995 + }, 2996 + }, 2997 + }, 2998 + }, 2999 + }, 3000 + }, 3001 + }, 3002 + "AppBskyUnspeccedGetTrendsSkeleton": { 3003 + "lexicon": 1, 3004 + "id": "app.bsky.unspecced.getTrendsSkeleton", 3005 + "defs": { 3006 + "main": { 3007 + "type": "query", 3008 + "description": 3009 + "Get the skeleton of trends on the network. Intended to be called and then hydrated through app.bsky.unspecced.getTrends", 3010 + "parameters": { 3011 + "type": "params", 3012 + "properties": { 3013 + "viewer": { 3014 + "type": "string", 3015 + "format": "did", 3016 + "description": 3017 + "DID of the account making the request (not included for public/unauthenticated queries).", 3018 + }, 3019 + "limit": { 3020 + "type": "integer", 3021 + "minimum": 1, 3022 + "maximum": 25, 3023 + "default": 10, 3024 + }, 3025 + }, 3026 + }, 3027 + "output": { 3028 + "encoding": "application/json", 3029 + "schema": { 3030 + "type": "object", 3031 + "required": [ 3032 + "trends", 3033 + ], 3034 + "properties": { 3035 + "trends": { 3036 + "type": "array", 3037 + "items": { 3038 + "type": "ref", 3039 + "ref": "lex:app.bsky.unspecced.defs#skeletonTrend", 3040 + }, 3041 + }, 3042 + }, 3043 + }, 3044 + }, 3045 + }, 3046 + }, 3047 + }, 3048 + "AppBskyUnspeccedGetConfig": { 3049 + "lexicon": 1, 3050 + "id": "app.bsky.unspecced.getConfig", 3051 + "defs": { 3052 + "main": { 3053 + "type": "query", 3054 + "description": "Get miscellaneous runtime configuration.", 3055 + "output": { 3056 + "encoding": "application/json", 3057 + "schema": { 3058 + "type": "object", 3059 + "required": [], 3060 + "properties": { 3061 + "checkEmailConfirmed": { 3062 + "type": "boolean", 3063 + }, 3064 + "liveNow": { 3065 + "type": "array", 3066 + "items": { 3067 + "type": "ref", 3068 + "ref": "lex:app.bsky.unspecced.getConfig#liveNowConfig", 3069 + }, 3070 + }, 3071 + }, 3072 + }, 3073 + }, 3074 + }, 3075 + "liveNowConfig": { 3076 + "type": "object", 3077 + "required": [ 3078 + "did", 3079 + "domains", 3080 + ], 3081 + "properties": { 3082 + "did": { 3083 + "type": "string", 3084 + "format": "did", 3085 + }, 3086 + "domains": { 3087 + "type": "array", 3088 + "items": { 3089 + "type": "string", 3090 + }, 3091 + }, 3092 + }, 3093 + }, 3094 + }, 3095 + }, 3096 + "AppBskyGraphGetStarterPacks": { 3097 + "lexicon": 1, 3098 + "id": "app.bsky.graph.getStarterPacks", 3099 + "defs": { 3100 + "main": { 3101 + "type": "query", 3102 + "description": "Get views for a list of starter packs.", 3103 + "parameters": { 3104 + "type": "params", 3105 + "required": [ 3106 + "uris", 3107 + ], 3108 + "properties": { 3109 + "uris": { 3110 + "type": "array", 3111 + "items": { 3112 + "type": "string", 3113 + "format": "at-uri", 3114 + }, 3115 + "maxLength": 25, 3116 + }, 3117 + }, 3118 + }, 3119 + "output": { 3120 + "encoding": "application/json", 3121 + "schema": { 3122 + "type": "object", 3123 + "required": [ 3124 + "starterPacks", 3125 + ], 3126 + "properties": { 3127 + "starterPacks": { 3128 + "type": "array", 3129 + "items": { 3130 + "type": "ref", 3131 + "ref": "lex:app.bsky.graph.defs#starterPackViewBasic", 3132 + }, 3133 + }, 3134 + }, 3135 + }, 3136 + }, 3137 + }, 3138 + }, 3139 + }, 3140 + "AppBskyGraphGetSuggestedFollowsByActor": { 3141 + "lexicon": 1, 3142 + "id": "app.bsky.graph.getSuggestedFollowsByActor", 3143 + "defs": { 3144 + "main": { 3145 + "type": "query", 3146 + "description": 3147 + "Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account.", 3148 + "parameters": { 3149 + "type": "params", 3150 + "required": [ 3151 + "actor", 3152 + ], 3153 + "properties": { 3154 + "actor": { 3155 + "type": "string", 3156 + "format": "at-identifier", 3157 + }, 3158 + }, 3159 + }, 3160 + "output": { 3161 + "encoding": "application/json", 3162 + "schema": { 3163 + "type": "object", 3164 + "required": [ 3165 + "suggestions", 3166 + ], 3167 + "properties": { 3168 + "suggestions": { 3169 + "type": "array", 3170 + "items": { 3171 + "type": "ref", 3172 + "ref": "lex:app.bsky.actor.defs#profileView", 3173 + }, 3174 + }, 3175 + "isFallback": { 3176 + "type": "boolean", 3177 + "description": 3178 + "If true, response has fallen-back to generic results, and is not scoped using relativeToDid", 3179 + "default": false, 3180 + }, 3181 + "recId": { 3182 + "type": "integer", 3183 + "description": 3184 + "Snowflake for this recommendation, use when submitting recommendation events.", 3185 + }, 3186 + }, 3187 + }, 3188 + }, 3189 + }, 3190 + }, 3191 + }, 3192 + "AppBskyGraphBlock": { 3193 + "lexicon": 1, 3194 + "id": "app.bsky.graph.block", 3195 + "defs": { 3196 + "main": { 3197 + "type": "record", 3198 + "description": 3199 + "Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.", 3200 + "key": "tid", 3201 + "record": { 3202 + "type": "object", 3203 + "required": [ 3204 + "subject", 3205 + "createdAt", 3206 + ], 3207 + "properties": { 3208 + "subject": { 3209 + "type": "string", 3210 + "format": "did", 3211 + "description": "DID of the account to be blocked.", 3212 + }, 3213 + "createdAt": { 3214 + "type": "string", 3215 + "format": "datetime", 3216 + }, 3217 + }, 3218 + }, 3219 + }, 3220 + }, 3221 + }, 3222 + "AppBskyGraphGetStarterPacksWithMembership": { 3223 + "lexicon": 1, 3224 + "id": "app.bsky.graph.getStarterPacksWithMembership", 3225 + "defs": { 3226 + "main": { 3227 + "type": "query", 3228 + "description": 3229 + "Enumerates the starter packs created by the session user, and includes membership information about `actor` in those starter packs. Requires auth.", 3230 + "parameters": { 3231 + "type": "params", 3232 + "required": [ 3233 + "actor", 3234 + ], 3235 + "properties": { 3236 + "actor": { 3237 + "type": "string", 3238 + "format": "at-identifier", 3239 + "description": "The account (actor) to check for membership.", 3240 + }, 3241 + "limit": { 3242 + "type": "integer", 3243 + "minimum": 1, 3244 + "maximum": 100, 3245 + "default": 50, 3246 + }, 3247 + "cursor": { 3248 + "type": "string", 3249 + }, 3250 + }, 3251 + }, 3252 + "output": { 3253 + "encoding": "application/json", 3254 + "schema": { 3255 + "type": "object", 3256 + "required": [ 3257 + "starterPacksWithMembership", 3258 + ], 3259 + "properties": { 3260 + "cursor": { 3261 + "type": "string", 3262 + }, 3263 + "starterPacksWithMembership": { 3264 + "type": "array", 3265 + "items": { 3266 + "type": "ref", 3267 + "ref": 3268 + "lex:app.bsky.graph.getStarterPacksWithMembership#starterPackWithMembership", 3269 + }, 3270 + }, 3271 + }, 3272 + }, 3273 + }, 3274 + }, 3275 + "starterPackWithMembership": { 3276 + "description": 3277 + "A starter pack and an optional list item indicating membership of a target user to that starter pack.", 3278 + "type": "object", 3279 + "required": [ 3280 + "starterPack", 3281 + ], 3282 + "properties": { 3283 + "starterPack": { 3284 + "type": "ref", 3285 + "ref": "lex:app.bsky.graph.defs#starterPackView", 3286 + }, 3287 + "listItem": { 3288 + "type": "ref", 3289 + "ref": "lex:app.bsky.graph.defs#listItemView", 3290 + }, 3291 + }, 3292 + }, 3293 + }, 3294 + }, 3295 + "AppBskyGraphFollow": { 3296 + "lexicon": 1, 3297 + "id": "app.bsky.graph.follow", 3298 + "defs": { 3299 + "main": { 3300 + "type": "record", 3301 + "description": 3302 + "Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.", 3303 + "key": "tid", 3304 + "record": { 3305 + "type": "object", 3306 + "required": [ 3307 + "subject", 3308 + "createdAt", 3309 + ], 3310 + "properties": { 3311 + "subject": { 3312 + "type": "string", 3313 + "format": "did", 3314 + }, 3315 + "createdAt": { 3316 + "type": "string", 3317 + "format": "datetime", 3318 + }, 3319 + "via": { 3320 + "type": "ref", 3321 + "ref": "lex:com.atproto.repo.strongRef", 3322 + }, 3323 + }, 3324 + }, 3325 + }, 3326 + }, 3327 + }, 3328 + "AppBskyGraphDefs": { 3329 + "lexicon": 1, 3330 + "id": "app.bsky.graph.defs", 3331 + "defs": { 3332 + "listViewBasic": { 3333 + "type": "object", 3334 + "required": [ 3335 + "uri", 3336 + "cid", 3337 + "name", 3338 + "purpose", 3339 + ], 3340 + "properties": { 3341 + "uri": { 3342 + "type": "string", 3343 + "format": "at-uri", 3344 + }, 3345 + "cid": { 3346 + "type": "string", 3347 + "format": "cid", 3348 + }, 3349 + "name": { 3350 + "type": "string", 3351 + "maxLength": 64, 3352 + "minLength": 1, 3353 + }, 3354 + "purpose": { 3355 + "type": "ref", 3356 + "ref": "lex:app.bsky.graph.defs#listPurpose", 3357 + }, 3358 + "avatar": { 3359 + "type": "string", 3360 + "format": "uri", 3361 + }, 3362 + "listItemCount": { 3363 + "type": "integer", 3364 + "minimum": 0, 3365 + }, 3366 + "labels": { 3367 + "type": "array", 3368 + "items": { 3369 + "type": "ref", 3370 + "ref": "lex:com.atproto.label.defs#label", 3371 + }, 3372 + }, 3373 + "viewer": { 3374 + "type": "ref", 3375 + "ref": "lex:app.bsky.graph.defs#listViewerState", 3376 + }, 3377 + "indexedAt": { 3378 + "type": "string", 3379 + "format": "datetime", 3380 + }, 3381 + }, 3382 + }, 3383 + "listView": { 3384 + "type": "object", 3385 + "required": [ 3386 + "uri", 3387 + "cid", 3388 + "creator", 3389 + "name", 3390 + "purpose", 3391 + "indexedAt", 3392 + ], 3393 + "properties": { 3394 + "uri": { 3395 + "type": "string", 3396 + "format": "at-uri", 3397 + }, 3398 + "cid": { 3399 + "type": "string", 3400 + "format": "cid", 3401 + }, 3402 + "creator": { 3403 + "type": "ref", 3404 + "ref": "lex:app.bsky.actor.defs#profileView", 3405 + }, 3406 + "name": { 3407 + "type": "string", 3408 + "maxLength": 64, 3409 + "minLength": 1, 3410 + }, 3411 + "purpose": { 3412 + "type": "ref", 3413 + "ref": "lex:app.bsky.graph.defs#listPurpose", 3414 + }, 3415 + "description": { 3416 + "type": "string", 3417 + "maxGraphemes": 300, 3418 + "maxLength": 3000, 3419 + }, 3420 + "descriptionFacets": { 3421 + "type": "array", 3422 + "items": { 3423 + "type": "ref", 3424 + "ref": "lex:app.bsky.richtext.facet", 3425 + }, 3426 + }, 3427 + "avatar": { 3428 + "type": "string", 3429 + "format": "uri", 3430 + }, 3431 + "listItemCount": { 3432 + "type": "integer", 3433 + "minimum": 0, 3434 + }, 3435 + "labels": { 3436 + "type": "array", 3437 + "items": { 3438 + "type": "ref", 3439 + "ref": "lex:com.atproto.label.defs#label", 3440 + }, 3441 + }, 3442 + "viewer": { 3443 + "type": "ref", 3444 + "ref": "lex:app.bsky.graph.defs#listViewerState", 3445 + }, 3446 + "indexedAt": { 3447 + "type": "string", 3448 + "format": "datetime", 3449 + }, 3450 + }, 3451 + }, 3452 + "listItemView": { 3453 + "type": "object", 3454 + "required": [ 3455 + "uri", 3456 + "subject", 3457 + ], 3458 + "properties": { 3459 + "uri": { 3460 + "type": "string", 3461 + "format": "at-uri", 3462 + }, 3463 + "subject": { 3464 + "type": "ref", 3465 + "ref": "lex:app.bsky.actor.defs#profileView", 3466 + }, 3467 + }, 3468 + }, 3469 + "starterPackView": { 3470 + "type": "object", 3471 + "required": [ 3472 + "uri", 3473 + "cid", 3474 + "record", 3475 + "creator", 3476 + "indexedAt", 3477 + ], 3478 + "properties": { 3479 + "uri": { 3480 + "type": "string", 3481 + "format": "at-uri", 3482 + }, 3483 + "cid": { 3484 + "type": "string", 3485 + "format": "cid", 3486 + }, 3487 + "record": { 3488 + "type": "unknown", 3489 + }, 3490 + "creator": { 3491 + "type": "ref", 3492 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 3493 + }, 3494 + "list": { 3495 + "type": "ref", 3496 + "ref": "lex:app.bsky.graph.defs#listViewBasic", 3497 + }, 3498 + "listItemsSample": { 3499 + "type": "array", 3500 + "maxLength": 12, 3501 + "items": { 3502 + "type": "ref", 3503 + "ref": "lex:app.bsky.graph.defs#listItemView", 3504 + }, 3505 + }, 3506 + "feeds": { 3507 + "type": "array", 3508 + "maxLength": 3, 3509 + "items": { 3510 + "type": "ref", 3511 + "ref": "lex:app.bsky.feed.defs#generatorView", 3512 + }, 3513 + }, 3514 + "joinedWeekCount": { 3515 + "type": "integer", 3516 + "minimum": 0, 3517 + }, 3518 + "joinedAllTimeCount": { 3519 + "type": "integer", 3520 + "minimum": 0, 3521 + }, 3522 + "labels": { 3523 + "type": "array", 3524 + "items": { 3525 + "type": "ref", 3526 + "ref": "lex:com.atproto.label.defs#label", 3527 + }, 3528 + }, 3529 + "indexedAt": { 3530 + "type": "string", 3531 + "format": "datetime", 3532 + }, 3533 + }, 3534 + }, 3535 + "starterPackViewBasic": { 3536 + "type": "object", 3537 + "required": [ 3538 + "uri", 3539 + "cid", 3540 + "record", 3541 + "creator", 3542 + "indexedAt", 3543 + ], 3544 + "properties": { 3545 + "uri": { 3546 + "type": "string", 3547 + "format": "at-uri", 3548 + }, 3549 + "cid": { 3550 + "type": "string", 3551 + "format": "cid", 3552 + }, 3553 + "record": { 3554 + "type": "unknown", 3555 + }, 3556 + "creator": { 3557 + "type": "ref", 3558 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 3559 + }, 3560 + "listItemCount": { 3561 + "type": "integer", 3562 + "minimum": 0, 3563 + }, 3564 + "joinedWeekCount": { 3565 + "type": "integer", 3566 + "minimum": 0, 3567 + }, 3568 + "joinedAllTimeCount": { 3569 + "type": "integer", 3570 + "minimum": 0, 3571 + }, 3572 + "labels": { 3573 + "type": "array", 3574 + "items": { 3575 + "type": "ref", 3576 + "ref": "lex:com.atproto.label.defs#label", 3577 + }, 3578 + }, 3579 + "indexedAt": { 3580 + "type": "string", 3581 + "format": "datetime", 3582 + }, 3583 + }, 3584 + }, 3585 + "listPurpose": { 3586 + "type": "string", 3587 + "knownValues": [ 3588 + "app.bsky.graph.defs#modlist", 3589 + "app.bsky.graph.defs#curatelist", 3590 + "app.bsky.graph.defs#referencelist", 3591 + ], 3592 + }, 3593 + "modlist": { 3594 + "type": "token", 3595 + "description": 3596 + "A list of actors to apply an aggregate moderation action (mute/block) on.", 3597 + }, 3598 + "curatelist": { 3599 + "type": "token", 3600 + "description": 3601 + "A list of actors used for curation purposes such as list feeds or interaction gating.", 3602 + }, 3603 + "referencelist": { 3604 + "type": "token", 3605 + "description": 3606 + "A list of actors used for only for reference purposes such as within a starter pack.", 3607 + }, 3608 + "listViewerState": { 3609 + "type": "object", 3610 + "properties": { 3611 + "muted": { 3612 + "type": "boolean", 3613 + }, 3614 + "blocked": { 3615 + "type": "string", 3616 + "format": "at-uri", 3617 + }, 3618 + }, 3619 + }, 3620 + "notFoundActor": { 3621 + "type": "object", 3622 + "description": "indicates that a handle or DID could not be resolved", 3623 + "required": [ 3624 + "actor", 3625 + "notFound", 3626 + ], 3627 + "properties": { 3628 + "actor": { 3629 + "type": "string", 3630 + "format": "at-identifier", 3631 + }, 3632 + "notFound": { 3633 + "type": "boolean", 3634 + "const": true, 3635 + }, 3636 + }, 3637 + }, 3638 + "relationship": { 3639 + "type": "object", 3640 + "description": 3641 + "lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)", 3642 + "required": [ 3643 + "did", 3644 + ], 3645 + "properties": { 3646 + "did": { 3647 + "type": "string", 3648 + "format": "did", 3649 + }, 3650 + "following": { 3651 + "type": "string", 3652 + "format": "at-uri", 3653 + "description": 3654 + "if the actor follows this DID, this is the AT-URI of the follow record", 3655 + }, 3656 + "followedBy": { 3657 + "type": "string", 3658 + "format": "at-uri", 3659 + "description": 3660 + "if the actor is followed by this DID, contains the AT-URI of the follow record", 3661 + }, 3662 + }, 3663 + }, 3664 + }, 3665 + }, 3666 + "AppBskyGraphGetListsWithMembership": { 3667 + "lexicon": 1, 3668 + "id": "app.bsky.graph.getListsWithMembership", 3669 + "defs": { 3670 + "main": { 3671 + "type": "query", 3672 + "description": 3673 + "Enumerates the lists created by the session user, and includes membership information about `actor` in those lists. Only supports curation and moderation lists (no reference lists, used in starter packs). Requires auth.", 3674 + "parameters": { 3675 + "type": "params", 3676 + "required": [ 3677 + "actor", 3678 + ], 3679 + "properties": { 3680 + "actor": { 3681 + "type": "string", 3682 + "format": "at-identifier", 3683 + "description": "The account (actor) to check for membership.", 3684 + }, 3685 + "limit": { 3686 + "type": "integer", 3687 + "minimum": 1, 3688 + "maximum": 100, 3689 + "default": 50, 3690 + }, 3691 + "cursor": { 3692 + "type": "string", 3693 + }, 3694 + "purposes": { 3695 + "type": "array", 3696 + "description": 3697 + "Optional filter by list purpose. If not specified, all supported types are returned.", 3698 + "items": { 3699 + "type": "string", 3700 + "knownValues": [ 3701 + "modlist", 3702 + "curatelist", 3703 + ], 3704 + }, 3705 + }, 3706 + }, 3707 + }, 3708 + "output": { 3709 + "encoding": "application/json", 3710 + "schema": { 3711 + "type": "object", 3712 + "required": [ 3713 + "listsWithMembership", 3714 + ], 3715 + "properties": { 3716 + "cursor": { 3717 + "type": "string", 3718 + }, 3719 + "listsWithMembership": { 3720 + "type": "array", 3721 + "items": { 3722 + "type": "ref", 3723 + "ref": 3724 + "lex:app.bsky.graph.getListsWithMembership#listWithMembership", 3725 + }, 3726 + }, 3727 + }, 3728 + }, 3729 + }, 3730 + }, 3731 + "listWithMembership": { 3732 + "description": 3733 + "A list and an optional list item indicating membership of a target user to that list.", 3734 + "type": "object", 3735 + "required": [ 3736 + "list", 3737 + ], 3738 + "properties": { 3739 + "list": { 3740 + "type": "ref", 3741 + "ref": "lex:app.bsky.graph.defs#listView", 3742 + }, 3743 + "listItem": { 3744 + "type": "ref", 3745 + "ref": "lex:app.bsky.graph.defs#listItemView", 3746 + }, 3747 + }, 3748 + }, 3749 + }, 3750 + }, 3751 + "AppBskyGraphUnmuteActorList": { 3752 + "lexicon": 1, 3753 + "id": "app.bsky.graph.unmuteActorList", 3754 + "defs": { 3755 + "main": { 3756 + "type": "procedure", 3757 + "description": "Unmutes the specified list of accounts. Requires auth.", 3758 + "input": { 3759 + "encoding": "application/json", 3760 + "schema": { 3761 + "type": "object", 3762 + "required": [ 3763 + "list", 3764 + ], 3765 + "properties": { 3766 + "list": { 3767 + "type": "string", 3768 + "format": "at-uri", 3769 + }, 3770 + }, 3771 + }, 3772 + }, 3773 + }, 3774 + }, 3775 + }, 3776 + "AppBskyGraphGetListBlocks": { 3777 + "lexicon": 1, 3778 + "id": "app.bsky.graph.getListBlocks", 3779 + "defs": { 3780 + "main": { 3781 + "type": "query", 3782 + "description": 3783 + "Get mod lists that the requesting account (actor) is blocking. Requires auth.", 3784 + "parameters": { 3785 + "type": "params", 3786 + "properties": { 3787 + "limit": { 3788 + "type": "integer", 3789 + "minimum": 1, 3790 + "maximum": 100, 3791 + "default": 50, 3792 + }, 3793 + "cursor": { 3794 + "type": "string", 3795 + }, 3796 + }, 3797 + }, 3798 + "output": { 3799 + "encoding": "application/json", 3800 + "schema": { 3801 + "type": "object", 3802 + "required": [ 3803 + "lists", 3804 + ], 3805 + "properties": { 3806 + "cursor": { 3807 + "type": "string", 3808 + }, 3809 + "lists": { 3810 + "type": "array", 3811 + "items": { 3812 + "type": "ref", 3813 + "ref": "lex:app.bsky.graph.defs#listView", 3814 + }, 3815 + }, 3816 + }, 3817 + }, 3818 + }, 3819 + }, 3820 + }, 3821 + }, 3822 + "AppBskyGraphListblock": { 3823 + "lexicon": 1, 3824 + "id": "app.bsky.graph.listblock", 3825 + "defs": { 3826 + "main": { 3827 + "type": "record", 3828 + "description": 3829 + "Record representing a block relationship against an entire an entire list of accounts (actors).", 3830 + "key": "tid", 3831 + "record": { 3832 + "type": "object", 3833 + "required": [ 3834 + "subject", 3835 + "createdAt", 3836 + ], 3837 + "properties": { 3838 + "subject": { 3839 + "type": "string", 3840 + "format": "at-uri", 3841 + "description": "Reference (AT-URI) to the mod list record.", 3842 + }, 3843 + "createdAt": { 3844 + "type": "string", 3845 + "format": "datetime", 3846 + }, 3847 + }, 3848 + }, 3849 + }, 3850 + }, 3851 + }, 3852 + "AppBskyGraphGetStarterPack": { 3853 + "lexicon": 1, 3854 + "id": "app.bsky.graph.getStarterPack", 3855 + "defs": { 3856 + "main": { 3857 + "type": "query", 3858 + "description": "Gets a view of a starter pack.", 3859 + "parameters": { 3860 + "type": "params", 3861 + "required": [ 3862 + "starterPack", 3863 + ], 3864 + "properties": { 3865 + "starterPack": { 3866 + "type": "string", 3867 + "format": "at-uri", 3868 + "description": "Reference (AT-URI) of the starter pack record.", 3869 + }, 3870 + }, 3871 + }, 3872 + "output": { 3873 + "encoding": "application/json", 3874 + "schema": { 3875 + "type": "object", 3876 + "required": [ 3877 + "starterPack", 3878 + ], 3879 + "properties": { 3880 + "starterPack": { 3881 + "type": "ref", 3882 + "ref": "lex:app.bsky.graph.defs#starterPackView", 3883 + }, 3884 + }, 3885 + }, 3886 + }, 3887 + }, 3888 + }, 3889 + }, 3890 + "AppBskyGraphStarterpack": { 3891 + "lexicon": 1, 3892 + "id": "app.bsky.graph.starterpack", 3893 + "defs": { 3894 + "main": { 3895 + "type": "record", 3896 + "description": 3897 + "Record defining a starter pack of actors and feeds for new users.", 3898 + "key": "tid", 3899 + "record": { 3900 + "type": "object", 3901 + "required": [ 3902 + "name", 3903 + "list", 3904 + "createdAt", 3905 + ], 3906 + "properties": { 3907 + "name": { 3908 + "type": "string", 3909 + "maxGraphemes": 50, 3910 + "maxLength": 500, 3911 + "minLength": 1, 3912 + "description": "Display name for starter pack; can not be empty.", 3913 + }, 3914 + "description": { 3915 + "type": "string", 3916 + "maxGraphemes": 300, 3917 + "maxLength": 3000, 3918 + }, 3919 + "descriptionFacets": { 3920 + "type": "array", 3921 + "items": { 3922 + "type": "ref", 3923 + "ref": "lex:app.bsky.richtext.facet", 3924 + }, 3925 + }, 3926 + "list": { 3927 + "type": "string", 3928 + "format": "at-uri", 3929 + "description": "Reference (AT-URI) to the list record.", 3930 + }, 3931 + "feeds": { 3932 + "type": "array", 3933 + "maxLength": 3, 3934 + "items": { 3935 + "type": "ref", 3936 + "ref": "lex:app.bsky.graph.starterpack#feedItem", 3937 + }, 3938 + }, 3939 + "createdAt": { 3940 + "type": "string", 3941 + "format": "datetime", 3942 + }, 3943 + }, 3944 + }, 3945 + }, 3946 + "feedItem": { 3947 + "type": "object", 3948 + "required": [ 3949 + "uri", 3950 + ], 3951 + "properties": { 3952 + "uri": { 3953 + "type": "string", 3954 + "format": "at-uri", 3955 + }, 3956 + }, 3957 + }, 3958 + }, 3959 + }, 3960 + "AppBskyGraphMuteActorList": { 3961 + "lexicon": 1, 3962 + "id": "app.bsky.graph.muteActorList", 3963 + "defs": { 3964 + "main": { 3965 + "type": "procedure", 3966 + "description": 3967 + "Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth.", 3968 + "input": { 3969 + "encoding": "application/json", 3970 + "schema": { 3971 + "type": "object", 3972 + "required": [ 3973 + "list", 3974 + ], 3975 + "properties": { 3976 + "list": { 3977 + "type": "string", 3978 + "format": "at-uri", 3979 + }, 3980 + }, 3981 + }, 3982 + }, 3983 + }, 3984 + }, 3985 + }, 3986 + "AppBskyGraphMuteThread": { 3987 + "lexicon": 1, 3988 + "id": "app.bsky.graph.muteThread", 3989 + "defs": { 3990 + "main": { 3991 + "type": "procedure", 3992 + "description": 3993 + "Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth.", 3994 + "input": { 3995 + "encoding": "application/json", 3996 + "schema": { 3997 + "type": "object", 3998 + "required": [ 3999 + "root", 4000 + ], 4001 + "properties": { 4002 + "root": { 4003 + "type": "string", 4004 + "format": "at-uri", 4005 + }, 4006 + }, 4007 + }, 4008 + }, 4009 + }, 4010 + }, 4011 + }, 4012 + "AppBskyGraphSearchStarterPacks": { 4013 + "lexicon": 1, 4014 + "id": "app.bsky.graph.searchStarterPacks", 4015 + "defs": { 4016 + "main": { 4017 + "type": "query", 4018 + "description": 4019 + "Find starter packs matching search criteria. Does not require auth.", 4020 + "parameters": { 4021 + "type": "params", 4022 + "required": [ 4023 + "q", 4024 + ], 4025 + "properties": { 4026 + "q": { 4027 + "type": "string", 4028 + "description": 4029 + "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.", 4030 + }, 4031 + "limit": { 4032 + "type": "integer", 4033 + "minimum": 1, 4034 + "maximum": 100, 4035 + "default": 25, 4036 + }, 4037 + "cursor": { 4038 + "type": "string", 4039 + }, 4040 + }, 4041 + }, 4042 + "output": { 4043 + "encoding": "application/json", 4044 + "schema": { 4045 + "type": "object", 4046 + "required": [ 4047 + "starterPacks", 4048 + ], 4049 + "properties": { 4050 + "cursor": { 4051 + "type": "string", 4052 + }, 4053 + "starterPacks": { 4054 + "type": "array", 4055 + "items": { 4056 + "type": "ref", 4057 + "ref": "lex:app.bsky.graph.defs#starterPackViewBasic", 4058 + }, 4059 + }, 4060 + }, 4061 + }, 4062 + }, 4063 + }, 4064 + }, 4065 + }, 4066 + "AppBskyGraphGetActorStarterPacks": { 4067 + "lexicon": 1, 4068 + "id": "app.bsky.graph.getActorStarterPacks", 4069 + "defs": { 4070 + "main": { 4071 + "type": "query", 4072 + "description": "Get a list of starter packs created by the actor.", 4073 + "parameters": { 4074 + "type": "params", 4075 + "required": [ 4076 + "actor", 4077 + ], 4078 + "properties": { 4079 + "actor": { 4080 + "type": "string", 4081 + "format": "at-identifier", 4082 + }, 4083 + "limit": { 4084 + "type": "integer", 4085 + "minimum": 1, 4086 + "maximum": 100, 4087 + "default": 50, 4088 + }, 4089 + "cursor": { 4090 + "type": "string", 4091 + }, 4092 + }, 4093 + }, 4094 + "output": { 4095 + "encoding": "application/json", 4096 + "schema": { 4097 + "type": "object", 4098 + "required": [ 4099 + "starterPacks", 4100 + ], 4101 + "properties": { 4102 + "cursor": { 4103 + "type": "string", 4104 + }, 4105 + "starterPacks": { 4106 + "type": "array", 4107 + "items": { 4108 + "type": "ref", 4109 + "ref": "lex:app.bsky.graph.defs#starterPackViewBasic", 4110 + }, 4111 + }, 4112 + }, 4113 + }, 4114 + }, 4115 + }, 4116 + }, 4117 + }, 4118 + "AppBskyGraphGetLists": { 4119 + "lexicon": 1, 4120 + "id": "app.bsky.graph.getLists", 4121 + "defs": { 4122 + "main": { 4123 + "type": "query", 4124 + "description": 4125 + "Enumerates the lists created by a specified account (actor).", 4126 + "parameters": { 4127 + "type": "params", 4128 + "required": [ 4129 + "actor", 4130 + ], 4131 + "properties": { 4132 + "actor": { 4133 + "type": "string", 4134 + "format": "at-identifier", 4135 + "description": "The account (actor) to enumerate lists from.", 4136 + }, 4137 + "limit": { 4138 + "type": "integer", 4139 + "minimum": 1, 4140 + "maximum": 100, 4141 + "default": 50, 4142 + }, 4143 + "cursor": { 4144 + "type": "string", 4145 + }, 4146 + "purposes": { 4147 + "type": "array", 4148 + "description": 4149 + "Optional filter by list purpose. If not specified, all supported types are returned.", 4150 + "items": { 4151 + "type": "string", 4152 + "knownValues": [ 4153 + "modlist", 4154 + "curatelist", 4155 + ], 4156 + }, 4157 + }, 4158 + }, 4159 + }, 4160 + "output": { 4161 + "encoding": "application/json", 4162 + "schema": { 4163 + "type": "object", 4164 + "required": [ 4165 + "lists", 4166 + ], 4167 + "properties": { 4168 + "cursor": { 4169 + "type": "string", 4170 + }, 4171 + "lists": { 4172 + "type": "array", 4173 + "items": { 4174 + "type": "ref", 4175 + "ref": "lex:app.bsky.graph.defs#listView", 4176 + }, 4177 + }, 4178 + }, 4179 + }, 4180 + }, 4181 + }, 4182 + }, 4183 + }, 4184 + "AppBskyGraphGetFollowers": { 4185 + "lexicon": 1, 4186 + "id": "app.bsky.graph.getFollowers", 4187 + "defs": { 4188 + "main": { 4189 + "type": "query", 4190 + "description": 4191 + "Enumerates accounts which follow a specified account (actor).", 4192 + "parameters": { 4193 + "type": "params", 4194 + "required": [ 4195 + "actor", 4196 + ], 4197 + "properties": { 4198 + "actor": { 4199 + "type": "string", 4200 + "format": "at-identifier", 4201 + }, 4202 + "limit": { 4203 + "type": "integer", 4204 + "minimum": 1, 4205 + "maximum": 100, 4206 + "default": 50, 4207 + }, 4208 + "cursor": { 4209 + "type": "string", 4210 + }, 4211 + }, 4212 + }, 4213 + "output": { 4214 + "encoding": "application/json", 4215 + "schema": { 4216 + "type": "object", 4217 + "required": [ 4218 + "subject", 4219 + "followers", 4220 + ], 4221 + "properties": { 4222 + "subject": { 4223 + "type": "ref", 4224 + "ref": "lex:app.bsky.actor.defs#profileView", 4225 + }, 4226 + "cursor": { 4227 + "type": "string", 4228 + }, 4229 + "followers": { 4230 + "type": "array", 4231 + "items": { 4232 + "type": "ref", 4233 + "ref": "lex:app.bsky.actor.defs#profileView", 4234 + }, 4235 + }, 4236 + }, 4237 + }, 4238 + }, 4239 + }, 4240 + }, 4241 + }, 4242 + "AppBskyGraphUnmuteThread": { 4243 + "lexicon": 1, 4244 + "id": "app.bsky.graph.unmuteThread", 4245 + "defs": { 4246 + "main": { 4247 + "type": "procedure", 4248 + "description": "Unmutes the specified thread. Requires auth.", 4249 + "input": { 4250 + "encoding": "application/json", 4251 + "schema": { 4252 + "type": "object", 4253 + "required": [ 4254 + "root", 4255 + ], 4256 + "properties": { 4257 + "root": { 4258 + "type": "string", 4259 + "format": "at-uri", 4260 + }, 4261 + }, 4262 + }, 4263 + }, 4264 + }, 4265 + }, 4266 + }, 4267 + "AppBskyGraphMuteActor": { 4268 + "lexicon": 1, 4269 + "id": "app.bsky.graph.muteActor", 4270 + "defs": { 4271 + "main": { 4272 + "type": "procedure", 4273 + "description": 4274 + "Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth.", 4275 + "input": { 4276 + "encoding": "application/json", 4277 + "schema": { 4278 + "type": "object", 4279 + "required": [ 4280 + "actor", 4281 + ], 4282 + "properties": { 4283 + "actor": { 4284 + "type": "string", 4285 + "format": "at-identifier", 4286 + }, 4287 + }, 4288 + }, 4289 + }, 4290 + }, 4291 + }, 4292 + }, 4293 + "AppBskyGraphGetMutes": { 4294 + "lexicon": 1, 4295 + "id": "app.bsky.graph.getMutes", 4296 + "defs": { 4297 + "main": { 4298 + "type": "query", 4299 + "description": 4300 + "Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.", 4301 + "parameters": { 4302 + "type": "params", 4303 + "properties": { 4304 + "limit": { 4305 + "type": "integer", 4306 + "minimum": 1, 4307 + "maximum": 100, 4308 + "default": 50, 4309 + }, 4310 + "cursor": { 4311 + "type": "string", 4312 + }, 4313 + }, 4314 + }, 4315 + "output": { 4316 + "encoding": "application/json", 4317 + "schema": { 4318 + "type": "object", 4319 + "required": [ 4320 + "mutes", 4321 + ], 4322 + "properties": { 4323 + "cursor": { 4324 + "type": "string", 4325 + }, 4326 + "mutes": { 4327 + "type": "array", 4328 + "items": { 4329 + "type": "ref", 4330 + "ref": "lex:app.bsky.actor.defs#profileView", 4331 + }, 4332 + }, 4333 + }, 4334 + }, 4335 + }, 4336 + }, 4337 + }, 4338 + }, 4339 + "AppBskyGraphListitem": { 4340 + "lexicon": 1, 4341 + "id": "app.bsky.graph.listitem", 4342 + "defs": { 4343 + "main": { 4344 + "type": "record", 4345 + "description": 4346 + "Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.", 4347 + "key": "tid", 4348 + "record": { 4349 + "type": "object", 4350 + "required": [ 4351 + "subject", 4352 + "list", 4353 + "createdAt", 4354 + ], 4355 + "properties": { 4356 + "subject": { 4357 + "type": "string", 4358 + "format": "did", 4359 + "description": "The account which is included on the list.", 4360 + }, 4361 + "list": { 4362 + "type": "string", 4363 + "format": "at-uri", 4364 + "description": 4365 + "Reference (AT-URI) to the list record (app.bsky.graph.list).", 4366 + }, 4367 + "createdAt": { 4368 + "type": "string", 4369 + "format": "datetime", 4370 + }, 4371 + }, 4372 + }, 4373 + }, 4374 + }, 4375 + }, 4376 + "AppBskyGraphList": { 4377 + "lexicon": 1, 4378 + "id": "app.bsky.graph.list", 4379 + "defs": { 4380 + "main": { 4381 + "type": "record", 4382 + "description": 4383 + "Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.", 4384 + "key": "tid", 4385 + "record": { 4386 + "type": "object", 4387 + "required": [ 4388 + "name", 4389 + "purpose", 4390 + "createdAt", 4391 + ], 4392 + "properties": { 4393 + "purpose": { 4394 + "type": "ref", 4395 + "description": 4396 + "Defines the purpose of the list (aka, moderation-oriented or curration-oriented)", 4397 + "ref": "lex:app.bsky.graph.defs#listPurpose", 4398 + }, 4399 + "name": { 4400 + "type": "string", 4401 + "maxLength": 64, 4402 + "minLength": 1, 4403 + "description": "Display name for list; can not be empty.", 4404 + }, 4405 + "description": { 4406 + "type": "string", 4407 + "maxGraphemes": 300, 4408 + "maxLength": 3000, 4409 + }, 4410 + "descriptionFacets": { 4411 + "type": "array", 4412 + "items": { 4413 + "type": "ref", 4414 + "ref": "lex:app.bsky.richtext.facet", 4415 + }, 4416 + }, 4417 + "avatar": { 4418 + "type": "blob", 4419 + "accept": [ 4420 + "image/png", 4421 + "image/jpeg", 4422 + ], 4423 + "maxSize": 1000000, 4424 + }, 4425 + "labels": { 4426 + "type": "union", 4427 + "refs": [ 4428 + "lex:com.atproto.label.defs#selfLabels", 4429 + ], 4430 + }, 4431 + "createdAt": { 4432 + "type": "string", 4433 + "format": "datetime", 4434 + }, 4435 + }, 4436 + }, 4437 + }, 4438 + }, 4439 + }, 4440 + "AppBskyGraphGetKnownFollowers": { 4441 + "lexicon": 1, 4442 + "id": "app.bsky.graph.getKnownFollowers", 4443 + "defs": { 4444 + "main": { 4445 + "type": "query", 4446 + "description": 4447 + "Enumerates accounts which follow a specified account (actor) and are followed by the viewer.", 4448 + "parameters": { 4449 + "type": "params", 4450 + "required": [ 4451 + "actor", 4452 + ], 4453 + "properties": { 4454 + "actor": { 4455 + "type": "string", 4456 + "format": "at-identifier", 4457 + }, 4458 + "limit": { 4459 + "type": "integer", 4460 + "minimum": 1, 4461 + "maximum": 100, 4462 + "default": 50, 4463 + }, 4464 + "cursor": { 4465 + "type": "string", 4466 + }, 4467 + }, 4468 + }, 4469 + "output": { 4470 + "encoding": "application/json", 4471 + "schema": { 4472 + "type": "object", 4473 + "required": [ 4474 + "subject", 4475 + "followers", 4476 + ], 4477 + "properties": { 4478 + "subject": { 4479 + "type": "ref", 4480 + "ref": "lex:app.bsky.actor.defs#profileView", 4481 + }, 4482 + "cursor": { 4483 + "type": "string", 4484 + }, 4485 + "followers": { 4486 + "type": "array", 4487 + "items": { 4488 + "type": "ref", 4489 + "ref": "lex:app.bsky.actor.defs#profileView", 4490 + }, 4491 + }, 4492 + }, 4493 + }, 4494 + }, 4495 + }, 4496 + }, 4497 + }, 4498 + "AppBskyGraphVerification": { 4499 + "lexicon": 1, 4500 + "id": "app.bsky.graph.verification", 4501 + "defs": { 4502 + "main": { 4503 + "type": "record", 4504 + "description": 4505 + "Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted.", 4506 + "key": "tid", 4507 + "record": { 4508 + "type": "object", 4509 + "required": [ 4510 + "subject", 4511 + "handle", 4512 + "displayName", 4513 + "createdAt", 4514 + ], 4515 + "properties": { 4516 + "subject": { 4517 + "description": "DID of the subject the verification applies to.", 4518 + "type": "string", 4519 + "format": "did", 4520 + }, 4521 + "handle": { 4522 + "description": 4523 + "Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying.", 4524 + "type": "string", 4525 + "format": "handle", 4526 + }, 4527 + "displayName": { 4528 + "description": 4529 + "Display name of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current displayName matches the one at the time of verifying.", 4530 + "type": "string", 4531 + }, 4532 + "createdAt": { 4533 + "description": "Date of when the verification was created.", 4534 + "type": "string", 4535 + "format": "datetime", 4536 + }, 4537 + }, 4538 + }, 4539 + }, 4540 + }, 4541 + }, 4542 + "AppBskyGraphGetListMutes": { 4543 + "lexicon": 1, 4544 + "id": "app.bsky.graph.getListMutes", 4545 + "defs": { 4546 + "main": { 4547 + "type": "query", 4548 + "description": 4549 + "Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.", 4550 + "parameters": { 4551 + "type": "params", 4552 + "properties": { 4553 + "limit": { 4554 + "type": "integer", 4555 + "minimum": 1, 4556 + "maximum": 100, 4557 + "default": 50, 4558 + }, 4559 + "cursor": { 4560 + "type": "string", 4561 + }, 4562 + }, 4563 + }, 4564 + "output": { 4565 + "encoding": "application/json", 4566 + "schema": { 4567 + "type": "object", 4568 + "required": [ 4569 + "lists", 4570 + ], 4571 + "properties": { 4572 + "cursor": { 4573 + "type": "string", 4574 + }, 4575 + "lists": { 4576 + "type": "array", 4577 + "items": { 4578 + "type": "ref", 4579 + "ref": "lex:app.bsky.graph.defs#listView", 4580 + }, 4581 + }, 4582 + }, 4583 + }, 4584 + }, 4585 + }, 4586 + }, 4587 + }, 4588 + "AppBskyGraphGetFollows": { 4589 + "lexicon": 1, 4590 + "id": "app.bsky.graph.getFollows", 4591 + "defs": { 4592 + "main": { 4593 + "type": "query", 4594 + "description": 4595 + "Enumerates accounts which a specified account (actor) follows.", 4596 + "parameters": { 4597 + "type": "params", 4598 + "required": [ 4599 + "actor", 4600 + ], 4601 + "properties": { 4602 + "actor": { 4603 + "type": "string", 4604 + "format": "at-identifier", 4605 + }, 4606 + "limit": { 4607 + "type": "integer", 4608 + "minimum": 1, 4609 + "maximum": 100, 4610 + "default": 50, 4611 + }, 4612 + "cursor": { 4613 + "type": "string", 4614 + }, 4615 + }, 4616 + }, 4617 + "output": { 4618 + "encoding": "application/json", 4619 + "schema": { 4620 + "type": "object", 4621 + "required": [ 4622 + "subject", 4623 + "follows", 4624 + ], 4625 + "properties": { 4626 + "subject": { 4627 + "type": "ref", 4628 + "ref": "lex:app.bsky.actor.defs#profileView", 4629 + }, 4630 + "cursor": { 4631 + "type": "string", 4632 + }, 4633 + "follows": { 4634 + "type": "array", 4635 + "items": { 4636 + "type": "ref", 4637 + "ref": "lex:app.bsky.actor.defs#profileView", 4638 + }, 4639 + }, 4640 + }, 4641 + }, 4642 + }, 4643 + }, 4644 + }, 4645 + }, 4646 + "AppBskyGraphGetBlocks": { 4647 + "lexicon": 1, 4648 + "id": "app.bsky.graph.getBlocks", 4649 + "defs": { 4650 + "main": { 4651 + "type": "query", 4652 + "description": 4653 + "Enumerates which accounts the requesting account is currently blocking. Requires auth.", 4654 + "parameters": { 4655 + "type": "params", 4656 + "properties": { 4657 + "limit": { 4658 + "type": "integer", 4659 + "minimum": 1, 4660 + "maximum": 100, 4661 + "default": 50, 4662 + }, 4663 + "cursor": { 4664 + "type": "string", 4665 + }, 4666 + }, 4667 + }, 4668 + "output": { 4669 + "encoding": "application/json", 4670 + "schema": { 4671 + "type": "object", 4672 + "required": [ 4673 + "blocks", 4674 + ], 4675 + "properties": { 4676 + "cursor": { 4677 + "type": "string", 4678 + }, 4679 + "blocks": { 4680 + "type": "array", 4681 + "items": { 4682 + "type": "ref", 4683 + "ref": "lex:app.bsky.actor.defs#profileView", 4684 + }, 4685 + }, 4686 + }, 4687 + }, 4688 + }, 4689 + }, 4690 + }, 4691 + }, 4692 + "AppBskyGraphGetRelationships": { 4693 + "lexicon": 1, 4694 + "id": "app.bsky.graph.getRelationships", 4695 + "defs": { 4696 + "main": { 4697 + "type": "query", 4698 + "description": 4699 + "Enumerates public relationships between one account, and a list of other accounts. Does not require auth.", 4700 + "parameters": { 4701 + "type": "params", 4702 + "required": [ 4703 + "actor", 4704 + ], 4705 + "properties": { 4706 + "actor": { 4707 + "type": "string", 4708 + "format": "at-identifier", 4709 + "description": "Primary account requesting relationships for.", 4710 + }, 4711 + "others": { 4712 + "type": "array", 4713 + "description": 4714 + "List of 'other' accounts to be related back to the primary.", 4715 + "maxLength": 30, 4716 + "items": { 4717 + "type": "string", 4718 + "format": "at-identifier", 4719 + }, 4720 + }, 4721 + }, 4722 + }, 4723 + "output": { 4724 + "encoding": "application/json", 4725 + "schema": { 4726 + "type": "object", 4727 + "required": [ 4728 + "relationships", 4729 + ], 4730 + "properties": { 4731 + "actor": { 4732 + "type": "string", 4733 + "format": "did", 4734 + }, 4735 + "relationships": { 4736 + "type": "array", 4737 + "items": { 4738 + "type": "union", 4739 + "refs": [ 4740 + "lex:app.bsky.graph.defs#relationship", 4741 + "lex:app.bsky.graph.defs#notFoundActor", 4742 + ], 4743 + }, 4744 + }, 4745 + }, 4746 + }, 4747 + }, 4748 + "errors": [ 4749 + { 4750 + "name": "ActorNotFound", 4751 + "description": 4752 + "the primary actor at-identifier could not be resolved", 4753 + }, 4754 + ], 4755 + }, 4756 + }, 4757 + }, 4758 + "AppBskyGraphUnmuteActor": { 4759 + "lexicon": 1, 4760 + "id": "app.bsky.graph.unmuteActor", 4761 + "defs": { 4762 + "main": { 4763 + "type": "procedure", 4764 + "description": "Unmutes the specified account. Requires auth.", 4765 + "input": { 4766 + "encoding": "application/json", 4767 + "schema": { 4768 + "type": "object", 4769 + "required": [ 4770 + "actor", 4771 + ], 4772 + "properties": { 4773 + "actor": { 4774 + "type": "string", 4775 + "format": "at-identifier", 4776 + }, 4777 + }, 4778 + }, 4779 + }, 4780 + }, 4781 + }, 4782 + }, 4783 + "AppBskyGraphGetList": { 4784 + "lexicon": 1, 4785 + "id": "app.bsky.graph.getList", 4786 + "defs": { 4787 + "main": { 4788 + "type": "query", 4789 + "description": 4790 + "Gets a 'view' (with additional context) of a specified list.", 4791 + "parameters": { 4792 + "type": "params", 4793 + "required": [ 4794 + "list", 4795 + ], 4796 + "properties": { 4797 + "list": { 4798 + "type": "string", 4799 + "format": "at-uri", 4800 + "description": 4801 + "Reference (AT-URI) of the list record to hydrate.", 4802 + }, 4803 + "limit": { 4804 + "type": "integer", 4805 + "minimum": 1, 4806 + "maximum": 100, 4807 + "default": 50, 4808 + }, 4809 + "cursor": { 4810 + "type": "string", 4811 + }, 4812 + }, 4813 + }, 4814 + "output": { 4815 + "encoding": "application/json", 4816 + "schema": { 4817 + "type": "object", 4818 + "required": [ 4819 + "list", 4820 + "items", 4821 + ], 4822 + "properties": { 4823 + "cursor": { 4824 + "type": "string", 4825 + }, 4826 + "list": { 4827 + "type": "ref", 4828 + "ref": "lex:app.bsky.graph.defs#listView", 4829 + }, 4830 + "items": { 4831 + "type": "array", 4832 + "items": { 4833 + "type": "ref", 4834 + "ref": "lex:app.bsky.graph.defs#listItemView", 4835 + }, 4836 + }, 4837 + }, 4838 + }, 4839 + }, 4840 + }, 4841 + }, 4842 + }, 4843 + "AppBskyFeedGenerator": { 4844 + "lexicon": 1, 4845 + "id": "app.bsky.feed.generator", 4846 + "defs": { 4847 + "main": { 4848 + "type": "record", 4849 + "description": 4850 + "Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.", 4851 + "key": "any", 4852 + "record": { 4853 + "type": "object", 4854 + "required": [ 4855 + "did", 4856 + "displayName", 4857 + "createdAt", 4858 + ], 4859 + "properties": { 4860 + "did": { 4861 + "type": "string", 4862 + "format": "did", 4863 + }, 4864 + "displayName": { 4865 + "type": "string", 4866 + "maxGraphemes": 24, 4867 + "maxLength": 240, 4868 + }, 4869 + "description": { 4870 + "type": "string", 4871 + "maxGraphemes": 300, 4872 + "maxLength": 3000, 4873 + }, 4874 + "descriptionFacets": { 4875 + "type": "array", 4876 + "items": { 4877 + "type": "ref", 4878 + "ref": "lex:app.bsky.richtext.facet", 4879 + }, 4880 + }, 4881 + "avatar": { 4882 + "type": "blob", 4883 + "accept": [ 4884 + "image/png", 4885 + "image/jpeg", 4886 + ], 4887 + "maxSize": 1000000, 4888 + }, 4889 + "acceptsInteractions": { 4890 + "type": "boolean", 4891 + "description": 4892 + "Declaration that a feed accepts feedback interactions from a client through app.bsky.feed.sendInteractions", 4893 + }, 4894 + "labels": { 4895 + "type": "union", 4896 + "description": "Self-label values", 4897 + "refs": [ 4898 + "lex:com.atproto.label.defs#selfLabels", 4899 + ], 4900 + }, 4901 + "contentMode": { 4902 + "type": "string", 4903 + "knownValues": [ 4904 + "app.bsky.feed.defs#contentModeUnspecified", 4905 + "app.bsky.feed.defs#contentModeVideo", 4906 + ], 4907 + }, 4908 + "createdAt": { 4909 + "type": "string", 4910 + "format": "datetime", 4911 + }, 4912 + }, 4913 + }, 4914 + }, 4915 + }, 4916 + }, 4917 + "AppBskyFeedSendInteractions": { 4918 + "lexicon": 1, 4919 + "id": "app.bsky.feed.sendInteractions", 4920 + "defs": { 4921 + "main": { 4922 + "type": "procedure", 4923 + "description": 4924 + "Send information about interactions with feed items back to the feed generator that served them.", 4925 + "input": { 4926 + "encoding": "application/json", 4927 + "schema": { 4928 + "type": "object", 4929 + "required": [ 4930 + "interactions", 4931 + ], 4932 + "properties": { 4933 + "interactions": { 4934 + "type": "array", 4935 + "items": { 4936 + "type": "ref", 4937 + "ref": "lex:app.bsky.feed.defs#interaction", 4938 + }, 4939 + }, 4940 + }, 4941 + }, 4942 + }, 4943 + "output": { 4944 + "encoding": "application/json", 4945 + "schema": { 4946 + "type": "object", 4947 + "properties": {}, 4948 + }, 4949 + }, 4950 + }, 4951 + }, 4952 + }, 4953 + "AppBskyFeedDefs": { 4954 + "lexicon": 1, 4955 + "id": "app.bsky.feed.defs", 4956 + "defs": { 4957 + "postView": { 4958 + "type": "object", 4959 + "required": [ 4960 + "uri", 4961 + "cid", 4962 + "author", 4963 + "record", 4964 + "indexedAt", 4965 + ], 4966 + "properties": { 4967 + "uri": { 4968 + "type": "string", 4969 + "format": "at-uri", 4970 + }, 4971 + "cid": { 4972 + "type": "string", 4973 + "format": "cid", 4974 + }, 4975 + "author": { 4976 + "type": "ref", 4977 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 4978 + }, 4979 + "record": { 4980 + "type": "unknown", 4981 + }, 4982 + "embed": { 4983 + "type": "union", 4984 + "refs": [ 4985 + "lex:app.bsky.embed.images#view", 4986 + "lex:app.bsky.embed.video#view", 4987 + "lex:app.bsky.embed.external#view", 4988 + "lex:app.bsky.embed.record#view", 4989 + "lex:app.bsky.embed.recordWithMedia#view", 4990 + ], 4991 + }, 4992 + "bookmarkCount": { 4993 + "type": "integer", 4994 + }, 4995 + "replyCount": { 4996 + "type": "integer", 4997 + }, 4998 + "repostCount": { 4999 + "type": "integer", 5000 + }, 5001 + "likeCount": { 5002 + "type": "integer", 5003 + }, 5004 + "quoteCount": { 5005 + "type": "integer", 5006 + }, 5007 + "indexedAt": { 5008 + "type": "string", 5009 + "format": "datetime", 5010 + }, 5011 + "viewer": { 5012 + "type": "ref", 5013 + "ref": "lex:app.bsky.feed.defs#viewerState", 5014 + }, 5015 + "labels": { 5016 + "type": "array", 5017 + "items": { 5018 + "type": "ref", 5019 + "ref": "lex:com.atproto.label.defs#label", 5020 + }, 5021 + }, 5022 + "threadgate": { 5023 + "type": "ref", 5024 + "ref": "lex:app.bsky.feed.defs#threadgateView", 5025 + }, 5026 + "debug": { 5027 + "type": "unknown", 5028 + "description": "Debug information for internal development", 5029 + }, 5030 + }, 5031 + }, 5032 + "viewerState": { 5033 + "type": "object", 5034 + "description": 5035 + "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.", 5036 + "properties": { 5037 + "repost": { 5038 + "type": "string", 5039 + "format": "at-uri", 5040 + }, 5041 + "like": { 5042 + "type": "string", 5043 + "format": "at-uri", 5044 + }, 5045 + "bookmarked": { 5046 + "type": "boolean", 5047 + }, 5048 + "threadMuted": { 5049 + "type": "boolean", 5050 + }, 5051 + "replyDisabled": { 5052 + "type": "boolean", 5053 + }, 5054 + "embeddingDisabled": { 5055 + "type": "boolean", 5056 + }, 5057 + "pinned": { 5058 + "type": "boolean", 5059 + }, 5060 + }, 5061 + }, 5062 + "threadContext": { 5063 + "type": "object", 5064 + "description": 5065 + "Metadata about this post within the context of the thread it is in.", 5066 + "properties": { 5067 + "rootAuthorLike": { 5068 + "type": "string", 5069 + "format": "at-uri", 5070 + }, 5071 + }, 5072 + }, 5073 + "feedViewPost": { 5074 + "type": "object", 5075 + "required": [ 5076 + "post", 5077 + ], 5078 + "properties": { 5079 + "post": { 5080 + "type": "ref", 5081 + "ref": "lex:app.bsky.feed.defs#postView", 5082 + }, 5083 + "reply": { 5084 + "type": "ref", 5085 + "ref": "lex:app.bsky.feed.defs#replyRef", 5086 + }, 5087 + "reason": { 5088 + "type": "union", 5089 + "refs": [ 5090 + "lex:app.bsky.feed.defs#reasonRepost", 5091 + "lex:app.bsky.feed.defs#reasonPin", 5092 + ], 5093 + }, 5094 + "feedContext": { 5095 + "type": "string", 5096 + "description": 5097 + "Context provided by feed generator that may be passed back alongside interactions.", 5098 + "maxLength": 2000, 5099 + }, 5100 + "reqId": { 5101 + "type": "string", 5102 + "description": 5103 + "Unique identifier per request that may be passed back alongside interactions.", 5104 + "maxLength": 100, 5105 + }, 5106 + }, 5107 + }, 5108 + "replyRef": { 5109 + "type": "object", 5110 + "required": [ 5111 + "root", 5112 + "parent", 5113 + ], 5114 + "properties": { 5115 + "root": { 5116 + "type": "union", 5117 + "refs": [ 5118 + "lex:app.bsky.feed.defs#postView", 5119 + "lex:app.bsky.feed.defs#notFoundPost", 5120 + "lex:app.bsky.feed.defs#blockedPost", 5121 + ], 5122 + }, 5123 + "parent": { 5124 + "type": "union", 5125 + "refs": [ 5126 + "lex:app.bsky.feed.defs#postView", 5127 + "lex:app.bsky.feed.defs#notFoundPost", 5128 + "lex:app.bsky.feed.defs#blockedPost", 5129 + ], 5130 + }, 5131 + "grandparentAuthor": { 5132 + "type": "ref", 5133 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 5134 + "description": 5135 + "When parent is a reply to another post, this is the author of that post.", 5136 + }, 5137 + }, 5138 + }, 5139 + "reasonRepost": { 5140 + "type": "object", 5141 + "required": [ 5142 + "by", 5143 + "indexedAt", 5144 + ], 5145 + "properties": { 5146 + "by": { 5147 + "type": "ref", 5148 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 5149 + }, 5150 + "uri": { 5151 + "type": "string", 5152 + "format": "at-uri", 5153 + }, 5154 + "cid": { 5155 + "type": "string", 5156 + "format": "cid", 5157 + }, 5158 + "indexedAt": { 5159 + "type": "string", 5160 + "format": "datetime", 5161 + }, 5162 + }, 5163 + }, 5164 + "reasonPin": { 5165 + "type": "object", 5166 + "properties": {}, 5167 + }, 5168 + "threadViewPost": { 5169 + "type": "object", 5170 + "required": [ 5171 + "post", 5172 + ], 5173 + "properties": { 5174 + "post": { 5175 + "type": "ref", 5176 + "ref": "lex:app.bsky.feed.defs#postView", 5177 + }, 5178 + "parent": { 5179 + "type": "union", 5180 + "refs": [ 5181 + "lex:app.bsky.feed.defs#threadViewPost", 5182 + "lex:app.bsky.feed.defs#notFoundPost", 5183 + "lex:app.bsky.feed.defs#blockedPost", 5184 + ], 5185 + }, 5186 + "replies": { 5187 + "type": "array", 5188 + "items": { 5189 + "type": "union", 5190 + "refs": [ 5191 + "lex:app.bsky.feed.defs#threadViewPost", 5192 + "lex:app.bsky.feed.defs#notFoundPost", 5193 + "lex:app.bsky.feed.defs#blockedPost", 5194 + ], 5195 + }, 5196 + }, 5197 + "threadContext": { 5198 + "type": "ref", 5199 + "ref": "lex:app.bsky.feed.defs#threadContext", 5200 + }, 5201 + }, 5202 + }, 5203 + "notFoundPost": { 5204 + "type": "object", 5205 + "required": [ 5206 + "uri", 5207 + "notFound", 5208 + ], 5209 + "properties": { 5210 + "uri": { 5211 + "type": "string", 5212 + "format": "at-uri", 5213 + }, 5214 + "notFound": { 5215 + "type": "boolean", 5216 + "const": true, 5217 + }, 5218 + }, 5219 + }, 5220 + "blockedPost": { 5221 + "type": "object", 5222 + "required": [ 5223 + "uri", 5224 + "blocked", 5225 + "author", 5226 + ], 5227 + "properties": { 5228 + "uri": { 5229 + "type": "string", 5230 + "format": "at-uri", 5231 + }, 5232 + "blocked": { 5233 + "type": "boolean", 5234 + "const": true, 5235 + }, 5236 + "author": { 5237 + "type": "ref", 5238 + "ref": "lex:app.bsky.feed.defs#blockedAuthor", 5239 + }, 5240 + }, 5241 + }, 5242 + "blockedAuthor": { 5243 + "type": "object", 5244 + "required": [ 5245 + "did", 5246 + ], 5247 + "properties": { 5248 + "did": { 5249 + "type": "string", 5250 + "format": "did", 5251 + }, 5252 + "viewer": { 5253 + "type": "ref", 5254 + "ref": "lex:app.bsky.actor.defs#viewerState", 5255 + }, 5256 + }, 5257 + }, 5258 + "generatorView": { 5259 + "type": "object", 5260 + "required": [ 5261 + "uri", 5262 + "cid", 5263 + "did", 5264 + "creator", 5265 + "displayName", 5266 + "indexedAt", 5267 + ], 5268 + "properties": { 5269 + "uri": { 5270 + "type": "string", 5271 + "format": "at-uri", 5272 + }, 5273 + "cid": { 5274 + "type": "string", 5275 + "format": "cid", 5276 + }, 5277 + "did": { 5278 + "type": "string", 5279 + "format": "did", 5280 + }, 5281 + "creator": { 5282 + "type": "ref", 5283 + "ref": "lex:app.bsky.actor.defs#profileView", 5284 + }, 5285 + "displayName": { 5286 + "type": "string", 5287 + }, 5288 + "description": { 5289 + "type": "string", 5290 + "maxGraphemes": 300, 5291 + "maxLength": 3000, 5292 + }, 5293 + "descriptionFacets": { 5294 + "type": "array", 5295 + "items": { 5296 + "type": "ref", 5297 + "ref": "lex:app.bsky.richtext.facet", 5298 + }, 5299 + }, 5300 + "avatar": { 5301 + "type": "string", 5302 + "format": "uri", 5303 + }, 5304 + "likeCount": { 5305 + "type": "integer", 5306 + "minimum": 0, 5307 + }, 5308 + "acceptsInteractions": { 5309 + "type": "boolean", 5310 + }, 5311 + "labels": { 5312 + "type": "array", 5313 + "items": { 5314 + "type": "ref", 5315 + "ref": "lex:com.atproto.label.defs#label", 5316 + }, 5317 + }, 5318 + "viewer": { 5319 + "type": "ref", 5320 + "ref": "lex:app.bsky.feed.defs#generatorViewerState", 5321 + }, 5322 + "contentMode": { 5323 + "type": "string", 5324 + "knownValues": [ 5325 + "app.bsky.feed.defs#contentModeUnspecified", 5326 + "app.bsky.feed.defs#contentModeVideo", 5327 + ], 5328 + }, 5329 + "indexedAt": { 5330 + "type": "string", 5331 + "format": "datetime", 5332 + }, 5333 + }, 5334 + }, 5335 + "generatorViewerState": { 5336 + "type": "object", 5337 + "properties": { 5338 + "like": { 5339 + "type": "string", 5340 + "format": "at-uri", 5341 + }, 5342 + }, 5343 + }, 5344 + "skeletonFeedPost": { 5345 + "type": "object", 5346 + "required": [ 5347 + "post", 5348 + ], 5349 + "properties": { 5350 + "post": { 5351 + "type": "string", 5352 + "format": "at-uri", 5353 + }, 5354 + "reason": { 5355 + "type": "union", 5356 + "refs": [ 5357 + "lex:app.bsky.feed.defs#skeletonReasonRepost", 5358 + "lex:app.bsky.feed.defs#skeletonReasonPin", 5359 + ], 5360 + }, 5361 + "feedContext": { 5362 + "type": "string", 5363 + "description": 5364 + "Context that will be passed through to client and may be passed to feed generator back alongside interactions.", 5365 + "maxLength": 2000, 5366 + }, 5367 + }, 5368 + }, 5369 + "skeletonReasonRepost": { 5370 + "type": "object", 5371 + "required": [ 5372 + "repost", 5373 + ], 5374 + "properties": { 5375 + "repost": { 5376 + "type": "string", 5377 + "format": "at-uri", 5378 + }, 5379 + }, 5380 + }, 5381 + "skeletonReasonPin": { 5382 + "type": "object", 5383 + "properties": {}, 5384 + }, 5385 + "threadgateView": { 5386 + "type": "object", 5387 + "properties": { 5388 + "uri": { 5389 + "type": "string", 5390 + "format": "at-uri", 5391 + }, 5392 + "cid": { 5393 + "type": "string", 5394 + "format": "cid", 5395 + }, 5396 + "record": { 5397 + "type": "unknown", 5398 + }, 5399 + "lists": { 5400 + "type": "array", 5401 + "items": { 5402 + "type": "ref", 5403 + "ref": "lex:app.bsky.graph.defs#listViewBasic", 5404 + }, 5405 + }, 5406 + }, 5407 + }, 5408 + "interaction": { 5409 + "type": "object", 5410 + "properties": { 5411 + "item": { 5412 + "type": "string", 5413 + "format": "at-uri", 5414 + }, 5415 + "event": { 5416 + "type": "string", 5417 + "knownValues": [ 5418 + "app.bsky.feed.defs#requestLess", 5419 + "app.bsky.feed.defs#requestMore", 5420 + "app.bsky.feed.defs#clickthroughItem", 5421 + "app.bsky.feed.defs#clickthroughAuthor", 5422 + "app.bsky.feed.defs#clickthroughReposter", 5423 + "app.bsky.feed.defs#clickthroughEmbed", 5424 + "app.bsky.feed.defs#interactionSeen", 5425 + "app.bsky.feed.defs#interactionLike", 5426 + "app.bsky.feed.defs#interactionRepost", 5427 + "app.bsky.feed.defs#interactionReply", 5428 + "app.bsky.feed.defs#interactionQuote", 5429 + "app.bsky.feed.defs#interactionShare", 5430 + ], 5431 + }, 5432 + "feedContext": { 5433 + "type": "string", 5434 + "description": 5435 + "Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton.", 5436 + "maxLength": 2000, 5437 + }, 5438 + "reqId": { 5439 + "type": "string", 5440 + "description": 5441 + "Unique identifier per request that may be passed back alongside interactions.", 5442 + "maxLength": 100, 5443 + }, 5444 + }, 5445 + }, 5446 + "requestLess": { 5447 + "type": "token", 5448 + "description": 5449 + "Request that less content like the given feed item be shown in the feed", 5450 + }, 5451 + "requestMore": { 5452 + "type": "token", 5453 + "description": 5454 + "Request that more content like the given feed item be shown in the feed", 5455 + }, 5456 + "clickthroughItem": { 5457 + "type": "token", 5458 + "description": "User clicked through to the feed item", 5459 + }, 5460 + "clickthroughAuthor": { 5461 + "type": "token", 5462 + "description": "User clicked through to the author of the feed item", 5463 + }, 5464 + "clickthroughReposter": { 5465 + "type": "token", 5466 + "description": "User clicked through to the reposter of the feed item", 5467 + }, 5468 + "clickthroughEmbed": { 5469 + "type": "token", 5470 + "description": 5471 + "User clicked through to the embedded content of the feed item", 5472 + }, 5473 + "contentModeUnspecified": { 5474 + "type": "token", 5475 + "description": 5476 + "Declares the feed generator returns any types of posts.", 5477 + }, 5478 + "contentModeVideo": { 5479 + "type": "token", 5480 + "description": 5481 + "Declares the feed generator returns posts containing app.bsky.embed.video embeds.", 5482 + }, 5483 + "interactionSeen": { 5484 + "type": "token", 5485 + "description": "Feed item was seen by user", 5486 + }, 5487 + "interactionLike": { 5488 + "type": "token", 5489 + "description": "User liked the feed item", 5490 + }, 5491 + "interactionRepost": { 5492 + "type": "token", 5493 + "description": "User reposted the feed item", 5494 + }, 5495 + "interactionReply": { 5496 + "type": "token", 5497 + "description": "User replied to the feed item", 5498 + }, 5499 + "interactionQuote": { 5500 + "type": "token", 5501 + "description": "User quoted the feed item", 5502 + }, 5503 + "interactionShare": { 5504 + "type": "token", 5505 + "description": "User shared the feed item", 5506 + }, 5507 + }, 5508 + }, 5509 + "AppBskyFeedGetFeedGenerators": { 5510 + "lexicon": 1, 5511 + "id": "app.bsky.feed.getFeedGenerators", 5512 + "defs": { 5513 + "main": { 5514 + "type": "query", 5515 + "description": "Get information about a list of feed generators.", 5516 + "parameters": { 5517 + "type": "params", 5518 + "required": [ 5519 + "feeds", 5520 + ], 5521 + "properties": { 5522 + "feeds": { 5523 + "type": "array", 5524 + "items": { 5525 + "type": "string", 5526 + "format": "at-uri", 5527 + }, 5528 + }, 5529 + }, 5530 + }, 5531 + "output": { 5532 + "encoding": "application/json", 5533 + "schema": { 5534 + "type": "object", 5535 + "required": [ 5536 + "feeds", 5537 + ], 5538 + "properties": { 5539 + "feeds": { 5540 + "type": "array", 5541 + "items": { 5542 + "type": "ref", 5543 + "ref": "lex:app.bsky.feed.defs#generatorView", 5544 + }, 5545 + }, 5546 + }, 5547 + }, 5548 + }, 5549 + }, 5550 + }, 5551 + }, 5552 + "AppBskyFeedGetTimeline": { 5553 + "lexicon": 1, 5554 + "id": "app.bsky.feed.getTimeline", 5555 + "defs": { 5556 + "main": { 5557 + "type": "query", 5558 + "description": 5559 + "Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.", 5560 + "parameters": { 5561 + "type": "params", 5562 + "properties": { 5563 + "algorithm": { 5564 + "type": "string", 5565 + "description": 5566 + "Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.", 5567 + }, 5568 + "limit": { 5569 + "type": "integer", 5570 + "minimum": 1, 5571 + "maximum": 100, 5572 + "default": 50, 5573 + }, 5574 + "cursor": { 5575 + "type": "string", 5576 + }, 5577 + }, 5578 + }, 5579 + "output": { 5580 + "encoding": "application/json", 5581 + "schema": { 5582 + "type": "object", 5583 + "required": [ 5584 + "feed", 5585 + ], 5586 + "properties": { 5587 + "cursor": { 5588 + "type": "string", 5589 + }, 5590 + "feed": { 5591 + "type": "array", 5592 + "items": { 5593 + "type": "ref", 5594 + "ref": "lex:app.bsky.feed.defs#feedViewPost", 5595 + }, 5596 + }, 5597 + }, 5598 + }, 5599 + }, 5600 + }, 5601 + }, 5602 + }, 5603 + "AppBskyFeedGetFeedGenerator": { 5604 + "lexicon": 1, 5605 + "id": "app.bsky.feed.getFeedGenerator", 5606 + "defs": { 5607 + "main": { 5608 + "type": "query", 5609 + "description": 5610 + "Get information about a feed generator. Implemented by AppView.", 5611 + "parameters": { 5612 + "type": "params", 5613 + "required": [ 5614 + "feed", 5615 + ], 5616 + "properties": { 5617 + "feed": { 5618 + "type": "string", 5619 + "format": "at-uri", 5620 + "description": "AT-URI of the feed generator record.", 5621 + }, 5622 + }, 5623 + }, 5624 + "output": { 5625 + "encoding": "application/json", 5626 + "schema": { 5627 + "type": "object", 5628 + "required": [ 5629 + "view", 5630 + "isOnline", 5631 + "isValid", 5632 + ], 5633 + "properties": { 5634 + "view": { 5635 + "type": "ref", 5636 + "ref": "lex:app.bsky.feed.defs#generatorView", 5637 + }, 5638 + "isOnline": { 5639 + "type": "boolean", 5640 + "description": 5641 + "Indicates whether the feed generator service has been online recently, or else seems to be inactive.", 5642 + }, 5643 + "isValid": { 5644 + "type": "boolean", 5645 + "description": 5646 + "Indicates whether the feed generator service is compatible with the record declaration.", 5647 + }, 5648 + }, 5649 + }, 5650 + }, 5651 + }, 5652 + }, 5653 + }, 5654 + "AppBskyFeedGetAuthorFeed": { 5655 + "lexicon": 1, 5656 + "id": "app.bsky.feed.getAuthorFeed", 5657 + "defs": { 5658 + "main": { 5659 + "type": "query", 5660 + "description": 5661 + "Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.", 5662 + "parameters": { 5663 + "type": "params", 5664 + "required": [ 5665 + "actor", 5666 + ], 5667 + "properties": { 5668 + "actor": { 5669 + "type": "string", 5670 + "format": "at-identifier", 5671 + }, 5672 + "limit": { 5673 + "type": "integer", 5674 + "minimum": 1, 5675 + "maximum": 100, 5676 + "default": 50, 5677 + }, 5678 + "cursor": { 5679 + "type": "string", 5680 + }, 5681 + "filter": { 5682 + "type": "string", 5683 + "description": 5684 + "Combinations of post/repost types to include in response.", 5685 + "knownValues": [ 5686 + "posts_with_replies", 5687 + "posts_no_replies", 5688 + "posts_with_media", 5689 + "posts_and_author_threads", 5690 + "posts_with_video", 5691 + ], 5692 + "default": "posts_with_replies", 5693 + }, 5694 + "includePins": { 5695 + "type": "boolean", 5696 + "default": false, 5697 + }, 5698 + }, 5699 + }, 5700 + "output": { 5701 + "encoding": "application/json", 5702 + "schema": { 5703 + "type": "object", 5704 + "required": [ 5705 + "feed", 5706 + ], 5707 + "properties": { 5708 + "cursor": { 5709 + "type": "string", 5710 + }, 5711 + "feed": { 5712 + "type": "array", 5713 + "items": { 5714 + "type": "ref", 5715 + "ref": "lex:app.bsky.feed.defs#feedViewPost", 5716 + }, 5717 + }, 5718 + }, 5719 + }, 5720 + }, 5721 + "errors": [ 5722 + { 5723 + "name": "BlockedActor", 5724 + }, 5725 + { 5726 + "name": "BlockedByActor", 5727 + }, 5728 + ], 5729 + }, 5730 + }, 5731 + }, 5732 + "AppBskyFeedGetLikes": { 5733 + "lexicon": 1, 5734 + "id": "app.bsky.feed.getLikes", 5735 + "defs": { 5736 + "main": { 5737 + "type": "query", 5738 + "description": 5739 + "Get like records which reference a subject (by AT-URI and CID).", 5740 + "parameters": { 5741 + "type": "params", 5742 + "required": [ 5743 + "uri", 5744 + ], 5745 + "properties": { 5746 + "uri": { 5747 + "type": "string", 5748 + "format": "at-uri", 5749 + "description": "AT-URI of the subject (eg, a post record).", 5750 + }, 5751 + "cid": { 5752 + "type": "string", 5753 + "format": "cid", 5754 + "description": 5755 + "CID of the subject record (aka, specific version of record), to filter likes.", 5756 + }, 5757 + "limit": { 5758 + "type": "integer", 5759 + "minimum": 1, 5760 + "maximum": 100, 5761 + "default": 50, 5762 + }, 5763 + "cursor": { 5764 + "type": "string", 5765 + }, 5766 + }, 5767 + }, 5768 + "output": { 5769 + "encoding": "application/json", 5770 + "schema": { 5771 + "type": "object", 5772 + "required": [ 5773 + "uri", 5774 + "likes", 5775 + ], 5776 + "properties": { 5777 + "uri": { 5778 + "type": "string", 5779 + "format": "at-uri", 5780 + }, 5781 + "cid": { 5782 + "type": "string", 5783 + "format": "cid", 5784 + }, 5785 + "cursor": { 5786 + "type": "string", 5787 + }, 5788 + "likes": { 5789 + "type": "array", 5790 + "items": { 5791 + "type": "ref", 5792 + "ref": "lex:app.bsky.feed.getLikes#like", 5793 + }, 5794 + }, 5795 + }, 5796 + }, 5797 + }, 5798 + }, 5799 + "like": { 5800 + "type": "object", 5801 + "required": [ 5802 + "indexedAt", 5803 + "createdAt", 5804 + "actor", 5805 + ], 5806 + "properties": { 5807 + "indexedAt": { 5808 + "type": "string", 5809 + "format": "datetime", 5810 + }, 5811 + "createdAt": { 5812 + "type": "string", 5813 + "format": "datetime", 5814 + }, 5815 + "actor": { 5816 + "type": "ref", 5817 + "ref": "lex:app.bsky.actor.defs#profileView", 5818 + }, 5819 + }, 5820 + }, 5821 + }, 5822 + }, 5823 + "AppBskyFeedPostgate": { 5824 + "lexicon": 1, 5825 + "id": "app.bsky.feed.postgate", 5826 + "defs": { 5827 + "main": { 5828 + "type": "record", 5829 + "key": "tid", 5830 + "description": 5831 + "Record defining interaction rules for a post. The record key (rkey) of the postgate record must match the record key of the post, and that record must be in the same repository.", 5832 + "record": { 5833 + "type": "object", 5834 + "required": [ 5835 + "post", 5836 + "createdAt", 5837 + ], 5838 + "properties": { 5839 + "createdAt": { 5840 + "type": "string", 5841 + "format": "datetime", 5842 + }, 5843 + "post": { 5844 + "type": "string", 5845 + "format": "at-uri", 5846 + "description": "Reference (AT-URI) to the post record.", 5847 + }, 5848 + "detachedEmbeddingUris": { 5849 + "type": "array", 5850 + "maxLength": 50, 5851 + "items": { 5852 + "type": "string", 5853 + "format": "at-uri", 5854 + }, 5855 + "description": 5856 + "List of AT-URIs embedding this post that the author has detached from.", 5857 + }, 5858 + "embeddingRules": { 5859 + "description": 5860 + "List of rules defining who can embed this post. If value is an empty array or is undefined, no particular rules apply and anyone can embed.", 5861 + "type": "array", 5862 + "maxLength": 5, 5863 + "items": { 5864 + "type": "union", 5865 + "refs": [ 5866 + "lex:app.bsky.feed.postgate#disableRule", 5867 + ], 5868 + }, 5869 + }, 5870 + }, 5871 + }, 5872 + }, 5873 + "disableRule": { 5874 + "type": "object", 5875 + "description": "Disables embedding of this post.", 5876 + "properties": {}, 5877 + }, 5878 + }, 5879 + }, 5880 + "AppBskyFeedThreadgate": { 5881 + "lexicon": 1, 5882 + "id": "app.bsky.feed.threadgate", 5883 + "defs": { 5884 + "main": { 5885 + "type": "record", 5886 + "key": "tid", 5887 + "description": 5888 + "Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.", 5889 + "record": { 5890 + "type": "object", 5891 + "required": [ 5892 + "post", 5893 + "createdAt", 5894 + ], 5895 + "properties": { 5896 + "post": { 5897 + "type": "string", 5898 + "format": "at-uri", 5899 + "description": "Reference (AT-URI) to the post record.", 5900 + }, 5901 + "allow": { 5902 + "description": 5903 + "List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply.", 5904 + "type": "array", 5905 + "maxLength": 5, 5906 + "items": { 5907 + "type": "union", 5908 + "refs": [ 5909 + "lex:app.bsky.feed.threadgate#mentionRule", 5910 + "lex:app.bsky.feed.threadgate#followerRule", 5911 + "lex:app.bsky.feed.threadgate#followingRule", 5912 + "lex:app.bsky.feed.threadgate#listRule", 5913 + ], 5914 + }, 5915 + }, 5916 + "createdAt": { 5917 + "type": "string", 5918 + "format": "datetime", 5919 + }, 5920 + "hiddenReplies": { 5921 + "type": "array", 5922 + "maxLength": 300, 5923 + "items": { 5924 + "type": "string", 5925 + "format": "at-uri", 5926 + }, 5927 + "description": "List of hidden reply URIs.", 5928 + }, 5929 + }, 5930 + }, 5931 + }, 5932 + "mentionRule": { 5933 + "type": "object", 5934 + "description": "Allow replies from actors mentioned in your post.", 5935 + "properties": {}, 5936 + }, 5937 + "followerRule": { 5938 + "type": "object", 5939 + "description": "Allow replies from actors who follow you.", 5940 + "properties": {}, 5941 + }, 5942 + "followingRule": { 5943 + "type": "object", 5944 + "description": "Allow replies from actors you follow.", 5945 + "properties": {}, 5946 + }, 5947 + "listRule": { 5948 + "type": "object", 5949 + "description": "Allow replies from actors on a list.", 5950 + "required": [ 5951 + "list", 5952 + ], 5953 + "properties": { 5954 + "list": { 5955 + "type": "string", 5956 + "format": "at-uri", 5957 + }, 5958 + }, 5959 + }, 5960 + }, 5961 + }, 5962 + "AppBskyFeedGetPostThread": { 5963 + "lexicon": 1, 5964 + "id": "app.bsky.feed.getPostThread", 5965 + "defs": { 5966 + "main": { 5967 + "type": "query", 5968 + "description": 5969 + "Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests.", 5970 + "parameters": { 5971 + "type": "params", 5972 + "required": [ 5973 + "uri", 5974 + ], 5975 + "properties": { 5976 + "uri": { 5977 + "type": "string", 5978 + "format": "at-uri", 5979 + "description": "Reference (AT-URI) to post record.", 5980 + }, 5981 + "depth": { 5982 + "type": "integer", 5983 + "description": 5984 + "How many levels of reply depth should be included in response.", 5985 + "default": 6, 5986 + "minimum": 0, 5987 + "maximum": 1000, 5988 + }, 5989 + "parentHeight": { 5990 + "type": "integer", 5991 + "description": 5992 + "How many levels of parent (and grandparent, etc) post to include.", 5993 + "default": 80, 5994 + "minimum": 0, 5995 + "maximum": 1000, 5996 + }, 5997 + }, 5998 + }, 5999 + "output": { 6000 + "encoding": "application/json", 6001 + "schema": { 6002 + "type": "object", 6003 + "required": [ 6004 + "thread", 6005 + ], 6006 + "properties": { 6007 + "thread": { 6008 + "type": "union", 6009 + "refs": [ 6010 + "lex:app.bsky.feed.defs#threadViewPost", 6011 + "lex:app.bsky.feed.defs#notFoundPost", 6012 + "lex:app.bsky.feed.defs#blockedPost", 6013 + ], 6014 + }, 6015 + "threadgate": { 6016 + "type": "ref", 6017 + "ref": "lex:app.bsky.feed.defs#threadgateView", 6018 + }, 6019 + }, 6020 + }, 6021 + }, 6022 + "errors": [ 6023 + { 6024 + "name": "NotFound", 6025 + }, 6026 + ], 6027 + }, 6028 + }, 6029 + }, 6030 + "AppBskyFeedGetActorLikes": { 6031 + "lexicon": 1, 6032 + "id": "app.bsky.feed.getActorLikes", 6033 + "defs": { 6034 + "main": { 6035 + "type": "query", 6036 + "description": 6037 + "Get a list of posts liked by an actor. Requires auth, actor must be the requesting account.", 6038 + "parameters": { 6039 + "type": "params", 6040 + "required": [ 6041 + "actor", 6042 + ], 6043 + "properties": { 6044 + "actor": { 6045 + "type": "string", 6046 + "format": "at-identifier", 6047 + }, 6048 + "limit": { 6049 + "type": "integer", 6050 + "minimum": 1, 6051 + "maximum": 100, 6052 + "default": 50, 6053 + }, 6054 + "cursor": { 6055 + "type": "string", 6056 + }, 6057 + }, 6058 + }, 6059 + "output": { 6060 + "encoding": "application/json", 6061 + "schema": { 6062 + "type": "object", 6063 + "required": [ 6064 + "feed", 6065 + ], 6066 + "properties": { 6067 + "cursor": { 6068 + "type": "string", 6069 + }, 6070 + "feed": { 6071 + "type": "array", 6072 + "items": { 6073 + "type": "ref", 6074 + "ref": "lex:app.bsky.feed.defs#feedViewPost", 6075 + }, 6076 + }, 6077 + }, 6078 + }, 6079 + }, 6080 + "errors": [ 6081 + { 6082 + "name": "BlockedActor", 6083 + }, 6084 + { 6085 + "name": "BlockedByActor", 6086 + }, 6087 + ], 6088 + }, 6089 + }, 6090 + }, 6091 + "AppBskyFeedLike": { 6092 + "lexicon": 1, 6093 + "id": "app.bsky.feed.like", 6094 + "defs": { 6095 + "main": { 6096 + "type": "record", 6097 + "description": 6098 + "Record declaring a 'like' of a piece of subject content.", 6099 + "key": "tid", 6100 + "record": { 6101 + "type": "object", 6102 + "required": [ 6103 + "subject", 6104 + "createdAt", 6105 + ], 6106 + "properties": { 6107 + "subject": { 6108 + "type": "ref", 6109 + "ref": "lex:com.atproto.repo.strongRef", 6110 + }, 6111 + "createdAt": { 6112 + "type": "string", 6113 + "format": "datetime", 6114 + }, 6115 + "via": { 6116 + "type": "ref", 6117 + "ref": "lex:com.atproto.repo.strongRef", 6118 + }, 6119 + }, 6120 + }, 6121 + }, 6122 + }, 6123 + }, 6124 + "AppBskyFeedGetRepostedBy": { 6125 + "lexicon": 1, 6126 + "id": "app.bsky.feed.getRepostedBy", 6127 + "defs": { 6128 + "main": { 6129 + "type": "query", 6130 + "description": "Get a list of reposts for a given post.", 6131 + "parameters": { 6132 + "type": "params", 6133 + "required": [ 6134 + "uri", 6135 + ], 6136 + "properties": { 6137 + "uri": { 6138 + "type": "string", 6139 + "format": "at-uri", 6140 + "description": "Reference (AT-URI) of post record", 6141 + }, 6142 + "cid": { 6143 + "type": "string", 6144 + "format": "cid", 6145 + "description": 6146 + "If supplied, filters to reposts of specific version (by CID) of the post record.", 6147 + }, 6148 + "limit": { 6149 + "type": "integer", 6150 + "minimum": 1, 6151 + "maximum": 100, 6152 + "default": 50, 6153 + }, 6154 + "cursor": { 6155 + "type": "string", 6156 + }, 6157 + }, 6158 + }, 6159 + "output": { 6160 + "encoding": "application/json", 6161 + "schema": { 6162 + "type": "object", 6163 + "required": [ 6164 + "uri", 6165 + "repostedBy", 6166 + ], 6167 + "properties": { 6168 + "uri": { 6169 + "type": "string", 6170 + "format": "at-uri", 6171 + }, 6172 + "cid": { 6173 + "type": "string", 6174 + "format": "cid", 6175 + }, 6176 + "cursor": { 6177 + "type": "string", 6178 + }, 6179 + "repostedBy": { 6180 + "type": "array", 6181 + "items": { 6182 + "type": "ref", 6183 + "ref": "lex:app.bsky.actor.defs#profileView", 6184 + }, 6185 + }, 6186 + }, 6187 + }, 6188 + }, 6189 + }, 6190 + }, 6191 + }, 6192 + "AppBskyFeedRepost": { 6193 + "lexicon": 1, 6194 + "id": "app.bsky.feed.repost", 6195 + "defs": { 6196 + "main": { 6197 + "description": 6198 + "Record representing a 'repost' of an existing Bluesky post.", 6199 + "type": "record", 6200 + "key": "tid", 6201 + "record": { 6202 + "type": "object", 6203 + "required": [ 6204 + "subject", 6205 + "createdAt", 6206 + ], 6207 + "properties": { 6208 + "subject": { 6209 + "type": "ref", 6210 + "ref": "lex:com.atproto.repo.strongRef", 6211 + }, 6212 + "createdAt": { 6213 + "type": "string", 6214 + "format": "datetime", 6215 + }, 6216 + "via": { 6217 + "type": "ref", 6218 + "ref": "lex:com.atproto.repo.strongRef", 6219 + }, 6220 + }, 6221 + }, 6222 + }, 6223 + }, 6224 + }, 6225 + "AppBskyFeedDescribeFeedGenerator": { 6226 + "lexicon": 1, 6227 + "id": "app.bsky.feed.describeFeedGenerator", 6228 + "defs": { 6229 + "main": { 6230 + "type": "query", 6231 + "description": 6232 + "Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).", 6233 + "output": { 6234 + "encoding": "application/json", 6235 + "schema": { 6236 + "type": "object", 6237 + "required": [ 6238 + "did", 6239 + "feeds", 6240 + ], 6241 + "properties": { 6242 + "did": { 6243 + "type": "string", 6244 + "format": "did", 6245 + }, 6246 + "feeds": { 6247 + "type": "array", 6248 + "items": { 6249 + "type": "ref", 6250 + "ref": "lex:app.bsky.feed.describeFeedGenerator#feed", 6251 + }, 6252 + }, 6253 + "links": { 6254 + "type": "ref", 6255 + "ref": "lex:app.bsky.feed.describeFeedGenerator#links", 6256 + }, 6257 + }, 6258 + }, 6259 + }, 6260 + }, 6261 + "feed": { 6262 + "type": "object", 6263 + "required": [ 6264 + "uri", 6265 + ], 6266 + "properties": { 6267 + "uri": { 6268 + "type": "string", 6269 + "format": "at-uri", 6270 + }, 6271 + }, 6272 + }, 6273 + "links": { 6274 + "type": "object", 6275 + "properties": { 6276 + "privacyPolicy": { 6277 + "type": "string", 6278 + }, 6279 + "termsOfService": { 6280 + "type": "string", 6281 + }, 6282 + }, 6283 + }, 6284 + }, 6285 + }, 6286 + "AppBskyFeedSearchPosts": { 6287 + "lexicon": 1, 6288 + "id": "app.bsky.feed.searchPosts", 6289 + "defs": { 6290 + "main": { 6291 + "type": "query", 6292 + "description": 6293 + "Find posts matching search criteria, returning views of those posts. Note that this API endpoint may require authentication (eg, not public) for some service providers and implementations.", 6294 + "parameters": { 6295 + "type": "params", 6296 + "required": [ 6297 + "q", 6298 + ], 6299 + "properties": { 6300 + "q": { 6301 + "type": "string", 6302 + "description": 6303 + "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.", 6304 + }, 6305 + "sort": { 6306 + "type": "string", 6307 + "knownValues": [ 6308 + "top", 6309 + "latest", 6310 + ], 6311 + "default": "latest", 6312 + "description": "Specifies the ranking order of results.", 6313 + }, 6314 + "since": { 6315 + "type": "string", 6316 + "description": 6317 + "Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD).", 6318 + }, 6319 + "until": { 6320 + "type": "string", 6321 + "description": 6322 + "Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD).", 6323 + }, 6324 + "mentions": { 6325 + "type": "string", 6326 + "format": "at-identifier", 6327 + "description": 6328 + "Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions.", 6329 + }, 6330 + "author": { 6331 + "type": "string", 6332 + "format": "at-identifier", 6333 + "description": 6334 + "Filter to posts by the given account. Handles are resolved to DID before query-time.", 6335 + }, 6336 + "lang": { 6337 + "type": "string", 6338 + "format": "language", 6339 + "description": 6340 + "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection.", 6341 + }, 6342 + "domain": { 6343 + "type": "string", 6344 + "description": 6345 + "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization.", 6346 + }, 6347 + "url": { 6348 + "type": "string", 6349 + "format": "uri", 6350 + "description": 6351 + "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching.", 6352 + }, 6353 + "tag": { 6354 + "type": "array", 6355 + "items": { 6356 + "type": "string", 6357 + "maxLength": 640, 6358 + "maxGraphemes": 64, 6359 + }, 6360 + "description": 6361 + "Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching.", 6362 + }, 6363 + "limit": { 6364 + "type": "integer", 6365 + "minimum": 1, 6366 + "maximum": 100, 6367 + "default": 25, 6368 + }, 6369 + "cursor": { 6370 + "type": "string", 6371 + "description": 6372 + "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.", 6373 + }, 6374 + }, 6375 + }, 6376 + "output": { 6377 + "encoding": "application/json", 6378 + "schema": { 6379 + "type": "object", 6380 + "required": [ 6381 + "posts", 6382 + ], 6383 + "properties": { 6384 + "cursor": { 6385 + "type": "string", 6386 + }, 6387 + "hitsTotal": { 6388 + "type": "integer", 6389 + "description": 6390 + "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits.", 6391 + }, 6392 + "posts": { 6393 + "type": "array", 6394 + "items": { 6395 + "type": "ref", 6396 + "ref": "lex:app.bsky.feed.defs#postView", 6397 + }, 6398 + }, 6399 + }, 6400 + }, 6401 + }, 6402 + "errors": [ 6403 + { 6404 + "name": "BadQueryString", 6405 + }, 6406 + ], 6407 + }, 6408 + }, 6409 + }, 6410 + "AppBskyFeedGetPosts": { 6411 + "lexicon": 1, 6412 + "id": "app.bsky.feed.getPosts", 6413 + "defs": { 6414 + "main": { 6415 + "type": "query", 6416 + "description": 6417 + "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.", 6418 + "parameters": { 6419 + "type": "params", 6420 + "required": [ 6421 + "uris", 6422 + ], 6423 + "properties": { 6424 + "uris": { 6425 + "type": "array", 6426 + "description": 6427 + "List of post AT-URIs to return hydrated views for.", 6428 + "items": { 6429 + "type": "string", 6430 + "format": "at-uri", 6431 + }, 6432 + "maxLength": 25, 6433 + }, 6434 + }, 6435 + }, 6436 + "output": { 6437 + "encoding": "application/json", 6438 + "schema": { 6439 + "type": "object", 6440 + "required": [ 6441 + "posts", 6442 + ], 6443 + "properties": { 6444 + "posts": { 6445 + "type": "array", 6446 + "items": { 6447 + "type": "ref", 6448 + "ref": "lex:app.bsky.feed.defs#postView", 6449 + }, 6450 + }, 6451 + }, 6452 + }, 6453 + }, 6454 + }, 6455 + }, 6456 + }, 6457 + "AppBskyFeedGetFeed": { 6458 + "lexicon": 1, 6459 + "id": "app.bsky.feed.getFeed", 6460 + "defs": { 6461 + "main": { 6462 + "type": "query", 6463 + "description": 6464 + "Get a hydrated feed from an actor's selected feed generator. Implemented by App View.", 6465 + "parameters": { 6466 + "type": "params", 6467 + "required": [ 6468 + "feed", 6469 + ], 6470 + "properties": { 6471 + "feed": { 6472 + "type": "string", 6473 + "format": "at-uri", 6474 + }, 6475 + "limit": { 6476 + "type": "integer", 6477 + "minimum": 1, 6478 + "maximum": 100, 6479 + "default": 50, 6480 + }, 6481 + "cursor": { 6482 + "type": "string", 6483 + }, 6484 + }, 6485 + }, 6486 + "output": { 6487 + "encoding": "application/json", 6488 + "schema": { 6489 + "type": "object", 6490 + "required": [ 6491 + "feed", 6492 + ], 6493 + "properties": { 6494 + "cursor": { 6495 + "type": "string", 6496 + }, 6497 + "feed": { 6498 + "type": "array", 6499 + "items": { 6500 + "type": "ref", 6501 + "ref": "lex:app.bsky.feed.defs#feedViewPost", 6502 + }, 6503 + }, 6504 + }, 6505 + }, 6506 + }, 6507 + "errors": [ 6508 + { 6509 + "name": "UnknownFeed", 6510 + }, 6511 + ], 6512 + }, 6513 + }, 6514 + }, 6515 + "AppBskyFeedGetQuotes": { 6516 + "lexicon": 1, 6517 + "id": "app.bsky.feed.getQuotes", 6518 + "defs": { 6519 + "main": { 6520 + "type": "query", 6521 + "description": "Get a list of quotes for a given post.", 6522 + "parameters": { 6523 + "type": "params", 6524 + "required": [ 6525 + "uri", 6526 + ], 6527 + "properties": { 6528 + "uri": { 6529 + "type": "string", 6530 + "format": "at-uri", 6531 + "description": "Reference (AT-URI) of post record", 6532 + }, 6533 + "cid": { 6534 + "type": "string", 6535 + "format": "cid", 6536 + "description": 6537 + "If supplied, filters to quotes of specific version (by CID) of the post record.", 6538 + }, 6539 + "limit": { 6540 + "type": "integer", 6541 + "minimum": 1, 6542 + "maximum": 100, 6543 + "default": 50, 6544 + }, 6545 + "cursor": { 6546 + "type": "string", 6547 + }, 6548 + }, 6549 + }, 6550 + "output": { 6551 + "encoding": "application/json", 6552 + "schema": { 6553 + "type": "object", 6554 + "required": [ 6555 + "uri", 6556 + "posts", 6557 + ], 6558 + "properties": { 6559 + "uri": { 6560 + "type": "string", 6561 + "format": "at-uri", 6562 + }, 6563 + "cid": { 6564 + "type": "string", 6565 + "format": "cid", 6566 + }, 6567 + "cursor": { 6568 + "type": "string", 6569 + }, 6570 + "posts": { 6571 + "type": "array", 6572 + "items": { 6573 + "type": "ref", 6574 + "ref": "lex:app.bsky.feed.defs#postView", 6575 + }, 6576 + }, 6577 + }, 6578 + }, 6579 + }, 6580 + }, 6581 + }, 6582 + }, 6583 + "AppBskyFeedGetFeedSkeleton": { 6584 + "lexicon": 1, 6585 + "id": "app.bsky.feed.getFeedSkeleton", 6586 + "defs": { 6587 + "main": { 6588 + "type": "query", 6589 + "description": 6590 + "Get a skeleton of a feed provided by a feed generator. Auth is optional, depending on provider requirements, and provides the DID of the requester. Implemented by Feed Generator Service.", 6591 + "parameters": { 6592 + "type": "params", 6593 + "required": [ 6594 + "feed", 6595 + ], 6596 + "properties": { 6597 + "feed": { 6598 + "type": "string", 6599 + "format": "at-uri", 6600 + "description": 6601 + "Reference to feed generator record describing the specific feed being requested.", 6602 + }, 6603 + "limit": { 6604 + "type": "integer", 6605 + "minimum": 1, 6606 + "maximum": 100, 6607 + "default": 50, 6608 + }, 6609 + "cursor": { 6610 + "type": "string", 6611 + }, 6612 + }, 6613 + }, 6614 + "output": { 6615 + "encoding": "application/json", 6616 + "schema": { 6617 + "type": "object", 6618 + "required": [ 6619 + "feed", 6620 + ], 6621 + "properties": { 6622 + "cursor": { 6623 + "type": "string", 6624 + }, 6625 + "feed": { 6626 + "type": "array", 6627 + "items": { 6628 + "type": "ref", 6629 + "ref": "lex:app.bsky.feed.defs#skeletonFeedPost", 6630 + }, 6631 + }, 6632 + "reqId": { 6633 + "type": "string", 6634 + "description": 6635 + "Unique identifier per request that may be passed back alongside interactions.", 6636 + "maxLength": 100, 6637 + }, 6638 + }, 6639 + }, 6640 + }, 6641 + "errors": [ 6642 + { 6643 + "name": "UnknownFeed", 6644 + }, 6645 + ], 6646 + }, 6647 + }, 6648 + }, 6649 + "AppBskyFeedGetListFeed": { 6650 + "lexicon": 1, 6651 + "id": "app.bsky.feed.getListFeed", 6652 + "defs": { 6653 + "main": { 6654 + "type": "query", 6655 + "description": 6656 + "Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth.", 6657 + "parameters": { 6658 + "type": "params", 6659 + "required": [ 6660 + "list", 6661 + ], 6662 + "properties": { 6663 + "list": { 6664 + "type": "string", 6665 + "format": "at-uri", 6666 + "description": "Reference (AT-URI) to the list record.", 6667 + }, 6668 + "limit": { 6669 + "type": "integer", 6670 + "minimum": 1, 6671 + "maximum": 100, 6672 + "default": 50, 6673 + }, 6674 + "cursor": { 6675 + "type": "string", 6676 + }, 6677 + }, 6678 + }, 6679 + "output": { 6680 + "encoding": "application/json", 6681 + "schema": { 6682 + "type": "object", 6683 + "required": [ 6684 + "feed", 6685 + ], 6686 + "properties": { 6687 + "cursor": { 6688 + "type": "string", 6689 + }, 6690 + "feed": { 6691 + "type": "array", 6692 + "items": { 6693 + "type": "ref", 6694 + "ref": "lex:app.bsky.feed.defs#feedViewPost", 6695 + }, 6696 + }, 6697 + }, 6698 + }, 6699 + }, 6700 + "errors": [ 6701 + { 6702 + "name": "UnknownList", 6703 + }, 6704 + ], 6705 + }, 6706 + }, 6707 + }, 6708 + "AppBskyFeedGetSuggestedFeeds": { 6709 + "lexicon": 1, 6710 + "id": "app.bsky.feed.getSuggestedFeeds", 6711 + "defs": { 6712 + "main": { 6713 + "type": "query", 6714 + "description": 6715 + "Get a list of suggested feeds (feed generators) for the requesting account.", 6716 + "parameters": { 6717 + "type": "params", 6718 + "properties": { 6719 + "limit": { 6720 + "type": "integer", 6721 + "minimum": 1, 6722 + "maximum": 100, 6723 + "default": 50, 6724 + }, 6725 + "cursor": { 6726 + "type": "string", 6727 + }, 6728 + }, 6729 + }, 6730 + "output": { 6731 + "encoding": "application/json", 6732 + "schema": { 6733 + "type": "object", 6734 + "required": [ 6735 + "feeds", 6736 + ], 6737 + "properties": { 6738 + "cursor": { 6739 + "type": "string", 6740 + }, 6741 + "feeds": { 6742 + "type": "array", 6743 + "items": { 6744 + "type": "ref", 6745 + "ref": "lex:app.bsky.feed.defs#generatorView", 6746 + }, 6747 + }, 6748 + }, 6749 + }, 6750 + }, 6751 + }, 6752 + }, 6753 + }, 6754 + "AppBskyFeedGetActorFeeds": { 6755 + "lexicon": 1, 6756 + "id": "app.bsky.feed.getActorFeeds", 6757 + "defs": { 6758 + "main": { 6759 + "type": "query", 6760 + "description": 6761 + "Get a list of feeds (feed generator records) created by the actor (in the actor's repo).", 6762 + "parameters": { 6763 + "type": "params", 6764 + "required": [ 6765 + "actor", 6766 + ], 6767 + "properties": { 6768 + "actor": { 6769 + "type": "string", 6770 + "format": "at-identifier", 6771 + }, 6772 + "limit": { 6773 + "type": "integer", 6774 + "minimum": 1, 6775 + "maximum": 100, 6776 + "default": 50, 6777 + }, 6778 + "cursor": { 6779 + "type": "string", 6780 + }, 6781 + }, 6782 + }, 6783 + "output": { 6784 + "encoding": "application/json", 6785 + "schema": { 6786 + "type": "object", 6787 + "required": [ 6788 + "feeds", 6789 + ], 6790 + "properties": { 6791 + "cursor": { 6792 + "type": "string", 6793 + }, 6794 + "feeds": { 6795 + "type": "array", 6796 + "items": { 6797 + "type": "ref", 6798 + "ref": "lex:app.bsky.feed.defs#generatorView", 6799 + }, 6800 + }, 6801 + }, 6802 + }, 6803 + }, 6804 + }, 6805 + }, 6806 + }, 6807 + "AppBskyFeedPost": { 6808 + "lexicon": 1, 6809 + "id": "app.bsky.feed.post", 6810 + "defs": { 6811 + "main": { 6812 + "type": "record", 6813 + "description": "Record containing a Bluesky post.", 6814 + "key": "tid", 6815 + "record": { 6816 + "type": "object", 6817 + "required": [ 6818 + "text", 6819 + "createdAt", 6820 + ], 6821 + "properties": { 6822 + "text": { 6823 + "type": "string", 6824 + "maxLength": 3000, 6825 + "maxGraphemes": 300, 6826 + "description": 6827 + "The primary post content. May be an empty string, if there are embeds.", 6828 + }, 6829 + "entities": { 6830 + "type": "array", 6831 + "description": "DEPRECATED: replaced by app.bsky.richtext.facet.", 6832 + "items": { 6833 + "type": "ref", 6834 + "ref": "lex:app.bsky.feed.post#entity", 6835 + }, 6836 + }, 6837 + "facets": { 6838 + "type": "array", 6839 + "description": 6840 + "Annotations of text (mentions, URLs, hashtags, etc)", 6841 + "items": { 6842 + "type": "ref", 6843 + "ref": "lex:app.bsky.richtext.facet", 6844 + }, 6845 + }, 6846 + "reply": { 6847 + "type": "ref", 6848 + "ref": "lex:app.bsky.feed.post#replyRef", 6849 + }, 6850 + "embed": { 6851 + "type": "union", 6852 + "refs": [ 6853 + "lex:app.bsky.embed.images", 6854 + "lex:app.bsky.embed.video", 6855 + "lex:app.bsky.embed.external", 6856 + "lex:app.bsky.embed.record", 6857 + "lex:app.bsky.embed.recordWithMedia", 6858 + ], 6859 + }, 6860 + "langs": { 6861 + "type": "array", 6862 + "description": 6863 + "Indicates human language of post primary text content.", 6864 + "maxLength": 3, 6865 + "items": { 6866 + "type": "string", 6867 + "format": "language", 6868 + }, 6869 + }, 6870 + "labels": { 6871 + "type": "union", 6872 + "description": 6873 + "Self-label values for this post. Effectively content warnings.", 6874 + "refs": [ 6875 + "lex:com.atproto.label.defs#selfLabels", 6876 + ], 6877 + }, 6878 + "tags": { 6879 + "type": "array", 6880 + "description": 6881 + "Additional hashtags, in addition to any included in post text and facets.", 6882 + "maxLength": 8, 6883 + "items": { 6884 + "type": "string", 6885 + "maxLength": 640, 6886 + "maxGraphemes": 64, 6887 + }, 6888 + }, 6889 + "createdAt": { 6890 + "type": "string", 6891 + "format": "datetime", 6892 + "description": 6893 + "Client-declared timestamp when this post was originally created.", 6894 + }, 6895 + }, 6896 + }, 6897 + }, 6898 + "replyRef": { 6899 + "type": "object", 6900 + "required": [ 6901 + "root", 6902 + "parent", 6903 + ], 6904 + "properties": { 6905 + "root": { 6906 + "type": "ref", 6907 + "ref": "lex:com.atproto.repo.strongRef", 6908 + }, 6909 + "parent": { 6910 + "type": "ref", 6911 + "ref": "lex:com.atproto.repo.strongRef", 6912 + }, 6913 + }, 6914 + }, 6915 + "entity": { 6916 + "type": "object", 6917 + "description": "Deprecated: use facets instead.", 6918 + "required": [ 6919 + "index", 6920 + "type", 6921 + "value", 6922 + ], 6923 + "properties": { 6924 + "index": { 6925 + "type": "ref", 6926 + "ref": "lex:app.bsky.feed.post#textSlice", 6927 + }, 6928 + "type": { 6929 + "type": "string", 6930 + "description": "Expected values are 'mention' and 'link'.", 6931 + }, 6932 + "value": { 6933 + "type": "string", 6934 + }, 6935 + }, 6936 + }, 6937 + "textSlice": { 6938 + "type": "object", 6939 + "description": 6940 + "Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings.", 6941 + "required": [ 6942 + "start", 6943 + "end", 6944 + ], 6945 + "properties": { 6946 + "start": { 6947 + "type": "integer", 6948 + "minimum": 0, 6949 + }, 6950 + "end": { 6951 + "type": "integer", 6952 + "minimum": 0, 6953 + }, 6954 + }, 6955 + }, 6956 + }, 6957 + }, 6958 + "AppBskyRichtextFacet": { 6959 + "lexicon": 1, 6960 + "id": "app.bsky.richtext.facet", 6961 + "defs": { 6962 + "main": { 6963 + "type": "object", 6964 + "description": "Annotation of a sub-string within rich text.", 6965 + "required": [ 6966 + "index", 6967 + "features", 6968 + ], 6969 + "properties": { 6970 + "index": { 6971 + "type": "ref", 6972 + "ref": "lex:app.bsky.richtext.facet#byteSlice", 6973 + }, 6974 + "features": { 6975 + "type": "array", 6976 + "items": { 6977 + "type": "union", 6978 + "refs": [ 6979 + "lex:app.bsky.richtext.facet#mention", 6980 + "lex:app.bsky.richtext.facet#link", 6981 + "lex:app.bsky.richtext.facet#tag", 6982 + ], 6983 + }, 6984 + }, 6985 + }, 6986 + }, 6987 + "mention": { 6988 + "type": "object", 6989 + "description": 6990 + "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.", 6991 + "required": [ 6992 + "did", 6993 + ], 6994 + "properties": { 6995 + "did": { 6996 + "type": "string", 6997 + "format": "did", 6998 + }, 6999 + }, 7000 + }, 7001 + "link": { 7002 + "type": "object", 7003 + "description": 7004 + "Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.", 7005 + "required": [ 7006 + "uri", 7007 + ], 7008 + "properties": { 7009 + "uri": { 7010 + "type": "string", 7011 + "format": "uri", 7012 + }, 7013 + }, 7014 + }, 7015 + "tag": { 7016 + "type": "object", 7017 + "description": 7018 + "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').", 7019 + "required": [ 7020 + "tag", 7021 + ], 7022 + "properties": { 7023 + "tag": { 7024 + "type": "string", 7025 + "maxLength": 640, 7026 + "maxGraphemes": 64, 7027 + }, 7028 + }, 7029 + }, 7030 + "byteSlice": { 7031 + "type": "object", 7032 + "description": 7033 + "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.", 7034 + "required": [ 7035 + "byteStart", 7036 + "byteEnd", 7037 + ], 7038 + "properties": { 7039 + "byteStart": { 7040 + "type": "integer", 7041 + "minimum": 0, 7042 + }, 7043 + "byteEnd": { 7044 + "type": "integer", 7045 + "minimum": 0, 7046 + }, 7047 + }, 7048 + }, 7049 + }, 7050 + }, 7051 + "AppBskyActorSearchActorsTypeahead": { 7052 + "lexicon": 1, 7053 + "id": "app.bsky.actor.searchActorsTypeahead", 7054 + "defs": { 7055 + "main": { 7056 + "type": "query", 7057 + "description": 7058 + "Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.", 7059 + "parameters": { 7060 + "type": "params", 7061 + "properties": { 7062 + "term": { 7063 + "type": "string", 7064 + "description": "DEPRECATED: use 'q' instead.", 7065 + }, 7066 + "q": { 7067 + "type": "string", 7068 + "description": "Search query prefix; not a full query string.", 7069 + }, 7070 + "limit": { 7071 + "type": "integer", 7072 + "minimum": 1, 7073 + "maximum": 100, 7074 + "default": 10, 7075 + }, 7076 + }, 7077 + }, 7078 + "output": { 7079 + "encoding": "application/json", 7080 + "schema": { 7081 + "type": "object", 7082 + "required": [ 7083 + "actors", 7084 + ], 7085 + "properties": { 7086 + "actors": { 7087 + "type": "array", 7088 + "items": { 7089 + "type": "ref", 7090 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 7091 + }, 7092 + }, 7093 + }, 7094 + }, 7095 + }, 7096 + }, 7097 + }, 7098 + }, 7099 + "AppBskyActorDefs": { 7100 + "lexicon": 1, 7101 + "id": "app.bsky.actor.defs", 7102 + "defs": { 7103 + "profileViewBasic": { 7104 + "type": "object", 7105 + "required": [ 7106 + "did", 7107 + "handle", 7108 + ], 7109 + "properties": { 7110 + "did": { 7111 + "type": "string", 7112 + "format": "did", 7113 + }, 7114 + "handle": { 7115 + "type": "string", 7116 + "format": "handle", 7117 + }, 7118 + "displayName": { 7119 + "type": "string", 7120 + "maxGraphemes": 64, 7121 + "maxLength": 640, 7122 + }, 7123 + "pronouns": { 7124 + "type": "string", 7125 + }, 7126 + "avatar": { 7127 + "type": "string", 7128 + "format": "uri", 7129 + }, 7130 + "associated": { 7131 + "type": "ref", 7132 + "ref": "lex:app.bsky.actor.defs#profileAssociated", 7133 + }, 7134 + "viewer": { 7135 + "type": "ref", 7136 + "ref": "lex:app.bsky.actor.defs#viewerState", 7137 + }, 7138 + "labels": { 7139 + "type": "array", 7140 + "items": { 7141 + "type": "ref", 7142 + "ref": "lex:com.atproto.label.defs#label", 7143 + }, 7144 + }, 7145 + "createdAt": { 7146 + "type": "string", 7147 + "format": "datetime", 7148 + }, 7149 + "verification": { 7150 + "type": "ref", 7151 + "ref": "lex:app.bsky.actor.defs#verificationState", 7152 + }, 7153 + "status": { 7154 + "type": "ref", 7155 + "ref": "lex:app.bsky.actor.defs#statusView", 7156 + }, 7157 + "debug": { 7158 + "type": "unknown", 7159 + "description": "Debug information for internal development", 7160 + }, 7161 + }, 7162 + }, 7163 + "profileView": { 7164 + "type": "object", 7165 + "required": [ 7166 + "did", 7167 + "handle", 7168 + ], 7169 + "properties": { 7170 + "did": { 7171 + "type": "string", 7172 + "format": "did", 7173 + }, 7174 + "handle": { 7175 + "type": "string", 7176 + "format": "handle", 7177 + }, 7178 + "displayName": { 7179 + "type": "string", 7180 + "maxGraphemes": 64, 7181 + "maxLength": 640, 7182 + }, 7183 + "pronouns": { 7184 + "type": "string", 7185 + }, 7186 + "description": { 7187 + "type": "string", 7188 + "maxGraphemes": 256, 7189 + "maxLength": 2560, 7190 + }, 7191 + "avatar": { 7192 + "type": "string", 7193 + "format": "uri", 7194 + }, 7195 + "associated": { 7196 + "type": "ref", 7197 + "ref": "lex:app.bsky.actor.defs#profileAssociated", 7198 + }, 7199 + "indexedAt": { 7200 + "type": "string", 7201 + "format": "datetime", 7202 + }, 7203 + "createdAt": { 7204 + "type": "string", 7205 + "format": "datetime", 7206 + }, 7207 + "viewer": { 7208 + "type": "ref", 7209 + "ref": "lex:app.bsky.actor.defs#viewerState", 7210 + }, 7211 + "labels": { 7212 + "type": "array", 7213 + "items": { 7214 + "type": "ref", 7215 + "ref": "lex:com.atproto.label.defs#label", 7216 + }, 7217 + }, 7218 + "verification": { 7219 + "type": "ref", 7220 + "ref": "lex:app.bsky.actor.defs#verificationState", 7221 + }, 7222 + "status": { 7223 + "type": "ref", 7224 + "ref": "lex:app.bsky.actor.defs#statusView", 7225 + }, 7226 + "debug": { 7227 + "type": "unknown", 7228 + "description": "Debug information for internal development", 7229 + }, 7230 + }, 7231 + }, 7232 + "profileViewDetailed": { 7233 + "type": "object", 7234 + "required": [ 7235 + "did", 7236 + "handle", 7237 + ], 7238 + "properties": { 7239 + "did": { 7240 + "type": "string", 7241 + "format": "did", 7242 + }, 7243 + "handle": { 7244 + "type": "string", 7245 + "format": "handle", 7246 + }, 7247 + "displayName": { 7248 + "type": "string", 7249 + "maxGraphemes": 64, 7250 + "maxLength": 640, 7251 + }, 7252 + "description": { 7253 + "type": "string", 7254 + "maxGraphemes": 256, 7255 + "maxLength": 2560, 7256 + }, 7257 + "pronouns": { 7258 + "type": "string", 7259 + }, 7260 + "website": { 7261 + "type": "string", 7262 + "format": "uri", 7263 + }, 7264 + "avatar": { 7265 + "type": "string", 7266 + "format": "uri", 7267 + }, 7268 + "banner": { 7269 + "type": "string", 7270 + "format": "uri", 7271 + }, 7272 + "followersCount": { 7273 + "type": "integer", 7274 + }, 7275 + "followsCount": { 7276 + "type": "integer", 7277 + }, 7278 + "postsCount": { 7279 + "type": "integer", 7280 + }, 7281 + "associated": { 7282 + "type": "ref", 7283 + "ref": "lex:app.bsky.actor.defs#profileAssociated", 7284 + }, 7285 + "joinedViaStarterPack": { 7286 + "type": "ref", 7287 + "ref": "lex:app.bsky.graph.defs#starterPackViewBasic", 7288 + }, 7289 + "indexedAt": { 7290 + "type": "string", 7291 + "format": "datetime", 7292 + }, 7293 + "createdAt": { 7294 + "type": "string", 7295 + "format": "datetime", 7296 + }, 7297 + "viewer": { 7298 + "type": "ref", 7299 + "ref": "lex:app.bsky.actor.defs#viewerState", 7300 + }, 7301 + "labels": { 7302 + "type": "array", 7303 + "items": { 7304 + "type": "ref", 7305 + "ref": "lex:com.atproto.label.defs#label", 7306 + }, 7307 + }, 7308 + "pinnedPost": { 7309 + "type": "ref", 7310 + "ref": "lex:com.atproto.repo.strongRef", 7311 + }, 7312 + "verification": { 7313 + "type": "ref", 7314 + "ref": "lex:app.bsky.actor.defs#verificationState", 7315 + }, 7316 + "status": { 7317 + "type": "ref", 7318 + "ref": "lex:app.bsky.actor.defs#statusView", 7319 + }, 7320 + "debug": { 7321 + "type": "unknown", 7322 + "description": "Debug information for internal development", 7323 + }, 7324 + }, 7325 + }, 7326 + "profileAssociated": { 7327 + "type": "object", 7328 + "properties": { 7329 + "lists": { 7330 + "type": "integer", 7331 + }, 7332 + "feedgens": { 7333 + "type": "integer", 7334 + }, 7335 + "starterPacks": { 7336 + "type": "integer", 7337 + }, 7338 + "labeler": { 7339 + "type": "boolean", 7340 + }, 7341 + "chat": { 7342 + "type": "ref", 7343 + "ref": "lex:app.bsky.actor.defs#profileAssociatedChat", 7344 + }, 7345 + "activitySubscription": { 7346 + "type": "ref", 7347 + "ref": 7348 + "lex:app.bsky.actor.defs#profileAssociatedActivitySubscription", 7349 + }, 7350 + }, 7351 + }, 7352 + "profileAssociatedChat": { 7353 + "type": "object", 7354 + "required": [ 7355 + "allowIncoming", 7356 + ], 7357 + "properties": { 7358 + "allowIncoming": { 7359 + "type": "string", 7360 + "knownValues": [ 7361 + "all", 7362 + "none", 7363 + "following", 7364 + ], 7365 + }, 7366 + }, 7367 + }, 7368 + "profileAssociatedActivitySubscription": { 7369 + "type": "object", 7370 + "required": [ 7371 + "allowSubscriptions", 7372 + ], 7373 + "properties": { 7374 + "allowSubscriptions": { 7375 + "type": "string", 7376 + "knownValues": [ 7377 + "followers", 7378 + "mutuals", 7379 + "none", 7380 + ], 7381 + }, 7382 + }, 7383 + }, 7384 + "viewerState": { 7385 + "type": "object", 7386 + "description": 7387 + "Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests.", 7388 + "properties": { 7389 + "muted": { 7390 + "type": "boolean", 7391 + }, 7392 + "mutedByList": { 7393 + "type": "ref", 7394 + "ref": "lex:app.bsky.graph.defs#listViewBasic", 7395 + }, 7396 + "blockedBy": { 7397 + "type": "boolean", 7398 + }, 7399 + "blocking": { 7400 + "type": "string", 7401 + "format": "at-uri", 7402 + }, 7403 + "blockingByList": { 7404 + "type": "ref", 7405 + "ref": "lex:app.bsky.graph.defs#listViewBasic", 7406 + }, 7407 + "following": { 7408 + "type": "string", 7409 + "format": "at-uri", 7410 + }, 7411 + "followedBy": { 7412 + "type": "string", 7413 + "format": "at-uri", 7414 + }, 7415 + "knownFollowers": { 7416 + "description": 7417 + "This property is present only in selected cases, as an optimization.", 7418 + "type": "ref", 7419 + "ref": "lex:app.bsky.actor.defs#knownFollowers", 7420 + }, 7421 + "activitySubscription": { 7422 + "description": 7423 + "This property is present only in selected cases, as an optimization.", 7424 + "type": "ref", 7425 + "ref": "lex:app.bsky.notification.defs#activitySubscription", 7426 + }, 7427 + }, 7428 + }, 7429 + "knownFollowers": { 7430 + "type": "object", 7431 + "description": "The subject's followers whom you also follow", 7432 + "required": [ 7433 + "count", 7434 + "followers", 7435 + ], 7436 + "properties": { 7437 + "count": { 7438 + "type": "integer", 7439 + }, 7440 + "followers": { 7441 + "type": "array", 7442 + "minLength": 0, 7443 + "maxLength": 5, 7444 + "items": { 7445 + "type": "ref", 7446 + "ref": "lex:app.bsky.actor.defs#profileViewBasic", 7447 + }, 7448 + }, 7449 + }, 7450 + }, 7451 + "verificationState": { 7452 + "type": "object", 7453 + "description": 7454 + "Represents the verification information about the user this object is attached to.", 7455 + "required": [ 7456 + "verifications", 7457 + "verifiedStatus", 7458 + "trustedVerifierStatus", 7459 + ], 7460 + "properties": { 7461 + "verifications": { 7462 + "type": "array", 7463 + "description": 7464 + "All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included.", 7465 + "items": { 7466 + "type": "ref", 7467 + "ref": "lex:app.bsky.actor.defs#verificationView", 7468 + }, 7469 + }, 7470 + "verifiedStatus": { 7471 + "type": "string", 7472 + "description": "The user's status as a verified account.", 7473 + "knownValues": [ 7474 + "valid", 7475 + "invalid", 7476 + "none", 7477 + ], 7478 + }, 7479 + "trustedVerifierStatus": { 7480 + "type": "string", 7481 + "description": "The user's status as a trusted verifier.", 7482 + "knownValues": [ 7483 + "valid", 7484 + "invalid", 7485 + "none", 7486 + ], 7487 + }, 7488 + }, 7489 + }, 7490 + "verificationView": { 7491 + "type": "object", 7492 + "description": "An individual verification for an associated subject.", 7493 + "required": [ 7494 + "issuer", 7495 + "uri", 7496 + "isValid", 7497 + "createdAt", 7498 + ], 7499 + "properties": { 7500 + "issuer": { 7501 + "type": "string", 7502 + "description": "The user who issued this verification.", 7503 + "format": "did", 7504 + }, 7505 + "uri": { 7506 + "type": "string", 7507 + "description": "The AT-URI of the verification record.", 7508 + "format": "at-uri", 7509 + }, 7510 + "isValid": { 7511 + "type": "boolean", 7512 + "description": 7513 + "True if the verification passes validation, otherwise false.", 7514 + }, 7515 + "createdAt": { 7516 + "type": "string", 7517 + "description": "Timestamp when the verification was created.", 7518 + "format": "datetime", 7519 + }, 7520 + }, 7521 + }, 7522 + "preferences": { 7523 + "type": "array", 7524 + "items": { 7525 + "type": "union", 7526 + "refs": [ 7527 + "lex:app.bsky.actor.defs#adultContentPref", 7528 + "lex:app.bsky.actor.defs#contentLabelPref", 7529 + "lex:app.bsky.actor.defs#savedFeedsPref", 7530 + "lex:app.bsky.actor.defs#savedFeedsPrefV2", 7531 + "lex:app.bsky.actor.defs#personalDetailsPref", 7532 + "lex:app.bsky.actor.defs#feedViewPref", 7533 + "lex:app.bsky.actor.defs#threadViewPref", 7534 + "lex:app.bsky.actor.defs#interestsPref", 7535 + "lex:app.bsky.actor.defs#mutedWordsPref", 7536 + "lex:app.bsky.actor.defs#hiddenPostsPref", 7537 + "lex:app.bsky.actor.defs#bskyAppStatePref", 7538 + "lex:app.bsky.actor.defs#labelersPref", 7539 + "lex:app.bsky.actor.defs#postInteractionSettingsPref", 7540 + "lex:app.bsky.actor.defs#verificationPrefs", 7541 + ], 7542 + }, 7543 + }, 7544 + "adultContentPref": { 7545 + "type": "object", 7546 + "required": [ 7547 + "enabled", 7548 + ], 7549 + "properties": { 7550 + "enabled": { 7551 + "type": "boolean", 7552 + "default": false, 7553 + }, 7554 + }, 7555 + }, 7556 + "contentLabelPref": { 7557 + "type": "object", 7558 + "required": [ 7559 + "label", 7560 + "visibility", 7561 + ], 7562 + "properties": { 7563 + "labelerDid": { 7564 + "type": "string", 7565 + "description": 7566 + "Which labeler does this preference apply to? If undefined, applies globally.", 7567 + "format": "did", 7568 + }, 7569 + "label": { 7570 + "type": "string", 7571 + }, 7572 + "visibility": { 7573 + "type": "string", 7574 + "knownValues": [ 7575 + "ignore", 7576 + "show", 7577 + "warn", 7578 + "hide", 7579 + ], 7580 + }, 7581 + }, 7582 + }, 7583 + "savedFeed": { 7584 + "type": "object", 7585 + "required": [ 7586 + "id", 7587 + "type", 7588 + "value", 7589 + "pinned", 7590 + ], 7591 + "properties": { 7592 + "id": { 7593 + "type": "string", 7594 + }, 7595 + "type": { 7596 + "type": "string", 7597 + "knownValues": [ 7598 + "feed", 7599 + "list", 7600 + "timeline", 7601 + ], 7602 + }, 7603 + "value": { 7604 + "type": "string", 7605 + }, 7606 + "pinned": { 7607 + "type": "boolean", 7608 + }, 7609 + }, 7610 + }, 7611 + "savedFeedsPrefV2": { 7612 + "type": "object", 7613 + "required": [ 7614 + "items", 7615 + ], 7616 + "properties": { 7617 + "items": { 7618 + "type": "array", 7619 + "items": { 7620 + "type": "ref", 7621 + "ref": "lex:app.bsky.actor.defs#savedFeed", 7622 + }, 7623 + }, 7624 + }, 7625 + }, 7626 + "savedFeedsPref": { 7627 + "type": "object", 7628 + "required": [ 7629 + "pinned", 7630 + "saved", 7631 + ], 7632 + "properties": { 7633 + "pinned": { 7634 + "type": "array", 7635 + "items": { 7636 + "type": "string", 7637 + "format": "at-uri", 7638 + }, 7639 + }, 7640 + "saved": { 7641 + "type": "array", 7642 + "items": { 7643 + "type": "string", 7644 + "format": "at-uri", 7645 + }, 7646 + }, 7647 + "timelineIndex": { 7648 + "type": "integer", 7649 + }, 7650 + }, 7651 + }, 7652 + "personalDetailsPref": { 7653 + "type": "object", 7654 + "properties": { 7655 + "birthDate": { 7656 + "type": "string", 7657 + "format": "datetime", 7658 + "description": "The birth date of account owner.", 7659 + }, 7660 + }, 7661 + }, 7662 + "feedViewPref": { 7663 + "type": "object", 7664 + "required": [ 7665 + "feed", 7666 + ], 7667 + "properties": { 7668 + "feed": { 7669 + "type": "string", 7670 + "description": 7671 + "The URI of the feed, or an identifier which describes the feed.", 7672 + }, 7673 + "hideReplies": { 7674 + "type": "boolean", 7675 + "description": "Hide replies in the feed.", 7676 + }, 7677 + "hideRepliesByUnfollowed": { 7678 + "type": "boolean", 7679 + "description": 7680 + "Hide replies in the feed if they are not by followed users.", 7681 + "default": true, 7682 + }, 7683 + "hideRepliesByLikeCount": { 7684 + "type": "integer", 7685 + "description": 7686 + "Hide replies in the feed if they do not have this number of likes.", 7687 + }, 7688 + "hideReposts": { 7689 + "type": "boolean", 7690 + "description": "Hide reposts in the feed.", 7691 + }, 7692 + "hideQuotePosts": { 7693 + "type": "boolean", 7694 + "description": "Hide quote posts in the feed.", 7695 + }, 7696 + }, 7697 + }, 7698 + "threadViewPref": { 7699 + "type": "object", 7700 + "properties": { 7701 + "sort": { 7702 + "type": "string", 7703 + "description": "Sorting mode for threads.", 7704 + "knownValues": [ 7705 + "oldest", 7706 + "newest", 7707 + "most-likes", 7708 + "random", 7709 + "hotness", 7710 + ], 7711 + }, 7712 + }, 7713 + }, 7714 + "interestsPref": { 7715 + "type": "object", 7716 + "required": [ 7717 + "tags", 7718 + ], 7719 + "properties": { 7720 + "tags": { 7721 + "type": "array", 7722 + "maxLength": 100, 7723 + "items": { 7724 + "type": "string", 7725 + "maxLength": 640, 7726 + "maxGraphemes": 64, 7727 + }, 7728 + "description": 7729 + "A list of tags which describe the account owner's interests gathered during onboarding.", 7730 + }, 7731 + }, 7732 + }, 7733 + "mutedWordTarget": { 7734 + "type": "string", 7735 + "knownValues": [ 7736 + "content", 7737 + "tag", 7738 + ], 7739 + "maxLength": 640, 7740 + "maxGraphemes": 64, 7741 + }, 7742 + "mutedWord": { 7743 + "type": "object", 7744 + "description": "A word that the account owner has muted.", 7745 + "required": [ 7746 + "value", 7747 + "targets", 7748 + ], 7749 + "properties": { 7750 + "id": { 7751 + "type": "string", 7752 + }, 7753 + "value": { 7754 + "type": "string", 7755 + "description": "The muted word itself.", 7756 + "maxLength": 10000, 7757 + "maxGraphemes": 1000, 7758 + }, 7759 + "targets": { 7760 + "type": "array", 7761 + "description": "The intended targets of the muted word.", 7762 + "items": { 7763 + "type": "ref", 7764 + "ref": "lex:app.bsky.actor.defs#mutedWordTarget", 7765 + }, 7766 + }, 7767 + "actorTarget": { 7768 + "type": "string", 7769 + "description": 7770 + "Groups of users to apply the muted word to. If undefined, applies to all users.", 7771 + "knownValues": [ 7772 + "all", 7773 + "exclude-following", 7774 + ], 7775 + "default": "all", 7776 + }, 7777 + "expiresAt": { 7778 + "type": "string", 7779 + "format": "datetime", 7780 + "description": 7781 + "The date and time at which the muted word will expire and no longer be applied.", 7782 + }, 7783 + }, 7784 + }, 7785 + "mutedWordsPref": { 7786 + "type": "object", 7787 + "required": [ 7788 + "items", 7789 + ], 7790 + "properties": { 7791 + "items": { 7792 + "type": "array", 7793 + "items": { 7794 + "type": "ref", 7795 + "ref": "lex:app.bsky.actor.defs#mutedWord", 7796 + }, 7797 + "description": "A list of words the account owner has muted.", 7798 + }, 7799 + }, 7800 + }, 7801 + "hiddenPostsPref": { 7802 + "type": "object", 7803 + "required": [ 7804 + "items", 7805 + ], 7806 + "properties": { 7807 + "items": { 7808 + "type": "array", 7809 + "items": { 7810 + "type": "string", 7811 + "format": "at-uri", 7812 + }, 7813 + "description": 7814 + "A list of URIs of posts the account owner has hidden.", 7815 + }, 7816 + }, 7817 + }, 7818 + "labelersPref": { 7819 + "type": "object", 7820 + "required": [ 7821 + "labelers", 7822 + ], 7823 + "properties": { 7824 + "labelers": { 7825 + "type": "array", 7826 + "items": { 7827 + "type": "ref", 7828 + "ref": "lex:app.bsky.actor.defs#labelerPrefItem", 7829 + }, 7830 + }, 7831 + }, 7832 + }, 7833 + "labelerPrefItem": { 7834 + "type": "object", 7835 + "required": [ 7836 + "did", 7837 + ], 7838 + "properties": { 7839 + "did": { 7840 + "type": "string", 7841 + "format": "did", 7842 + }, 7843 + }, 7844 + }, 7845 + "bskyAppStatePref": { 7846 + "description": 7847 + "A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this.", 7848 + "type": "object", 7849 + "properties": { 7850 + "activeProgressGuide": { 7851 + "type": "ref", 7852 + "ref": "lex:app.bsky.actor.defs#bskyAppProgressGuide", 7853 + }, 7854 + "queuedNudges": { 7855 + "description": 7856 + "An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user.", 7857 + "type": "array", 7858 + "maxLength": 1000, 7859 + "items": { 7860 + "type": "string", 7861 + "maxLength": 100, 7862 + }, 7863 + }, 7864 + "nuxs": { 7865 + "description": "Storage for NUXs the user has encountered.", 7866 + "type": "array", 7867 + "maxLength": 100, 7868 + "items": { 7869 + "type": "ref", 7870 + "ref": "lex:app.bsky.actor.defs#nux", 7871 + }, 7872 + }, 7873 + }, 7874 + }, 7875 + "bskyAppProgressGuide": { 7876 + "description": 7877 + "If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress.", 7878 + "type": "object", 7879 + "required": [ 7880 + "guide", 7881 + ], 7882 + "properties": { 7883 + "guide": { 7884 + "type": "string", 7885 + "maxLength": 100, 7886 + }, 7887 + }, 7888 + }, 7889 + "nux": { 7890 + "type": "object", 7891 + "description": "A new user experiences (NUX) storage object", 7892 + "required": [ 7893 + "id", 7894 + "completed", 7895 + ], 7896 + "properties": { 7897 + "id": { 7898 + "type": "string", 7899 + "maxLength": 100, 7900 + }, 7901 + "completed": { 7902 + "type": "boolean", 7903 + "default": false, 7904 + }, 7905 + "data": { 7906 + "description": 7907 + "Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters.", 7908 + "type": "string", 7909 + "maxLength": 3000, 7910 + "maxGraphemes": 300, 7911 + }, 7912 + "expiresAt": { 7913 + "type": "string", 7914 + "format": "datetime", 7915 + "description": 7916 + "The date and time at which the NUX will expire and should be considered completed.", 7917 + }, 7918 + }, 7919 + }, 7920 + "verificationPrefs": { 7921 + "type": "object", 7922 + "description": 7923 + "Preferences for how verified accounts appear in the app.", 7924 + "required": [], 7925 + "properties": { 7926 + "hideBadges": { 7927 + "description": 7928 + "Hide the blue check badges for verified accounts and trusted verifiers.", 7929 + "type": "boolean", 7930 + "default": false, 7931 + }, 7932 + }, 7933 + }, 7934 + "postInteractionSettingsPref": { 7935 + "type": "object", 7936 + "description": 7937 + "Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly.", 7938 + "required": [], 7939 + "properties": { 7940 + "threadgateAllowRules": { 7941 + "description": 7942 + "Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply.", 7943 + "type": "array", 7944 + "maxLength": 5, 7945 + "items": { 7946 + "type": "union", 7947 + "refs": [ 7948 + "lex:app.bsky.feed.threadgate#mentionRule", 7949 + "lex:app.bsky.feed.threadgate#followerRule", 7950 + "lex:app.bsky.feed.threadgate#followingRule", 7951 + "lex:app.bsky.feed.threadgate#listRule", 7952 + ], 7953 + }, 7954 + }, 7955 + "postgateEmbeddingRules": { 7956 + "description": 7957 + "Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed.", 7958 + "type": "array", 7959 + "maxLength": 5, 7960 + "items": { 7961 + "type": "union", 7962 + "refs": [ 7963 + "lex:app.bsky.feed.postgate#disableRule", 7964 + ], 7965 + }, 7966 + }, 7967 + }, 7968 + }, 7969 + "statusView": { 7970 + "type": "object", 7971 + "required": [ 7972 + "status", 7973 + "record", 7974 + ], 7975 + "properties": { 7976 + "status": { 7977 + "type": "string", 7978 + "description": "The status for the account.", 7979 + "knownValues": [ 7980 + "app.bsky.actor.status#live", 7981 + ], 7982 + }, 7983 + "record": { 7984 + "type": "unknown", 7985 + }, 7986 + "embed": { 7987 + "type": "union", 7988 + "description": "An optional embed associated with the status.", 7989 + "refs": [ 7990 + "lex:app.bsky.embed.external#view", 7991 + ], 7992 + }, 7993 + "expiresAt": { 7994 + "type": "string", 7995 + "description": 7996 + "The date when this status will expire. The application might choose to no longer return the status after expiration.", 7997 + "format": "datetime", 7998 + }, 7999 + "isActive": { 8000 + "type": "boolean", 8001 + "description": 8002 + "True if the status is not expired, false if it is expired. Only present if expiration was set.", 8003 + }, 8004 + }, 8005 + }, 8006 + }, 8007 + }, 8008 + "AppBskyActorPutPreferences": { 8009 + "lexicon": 1, 8010 + "id": "app.bsky.actor.putPreferences", 8011 + "defs": { 8012 + "main": { 8013 + "type": "procedure", 8014 + "description": "Set the private preferences attached to the account.", 8015 + "input": { 8016 + "encoding": "application/json", 8017 + "schema": { 8018 + "type": "object", 8019 + "required": [ 8020 + "preferences", 8021 + ], 8022 + "properties": { 8023 + "preferences": { 8024 + "type": "ref", 8025 + "ref": "lex:app.bsky.actor.defs#preferences", 8026 + }, 8027 + }, 8028 + }, 8029 + }, 8030 + }, 8031 + }, 8032 + }, 8033 + "AppBskyActorGetProfile": { 8034 + "lexicon": 1, 8035 + "id": "app.bsky.actor.getProfile", 8036 + "defs": { 8037 + "main": { 8038 + "type": "query", 8039 + "description": 8040 + "Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.", 8041 + "parameters": { 8042 + "type": "params", 8043 + "required": [ 8044 + "actor", 8045 + ], 8046 + "properties": { 8047 + "actor": { 8048 + "type": "string", 8049 + "format": "at-identifier", 8050 + "description": "Handle or DID of account to fetch profile of.", 8051 + }, 8052 + }, 8053 + }, 8054 + "output": { 8055 + "encoding": "application/json", 8056 + "schema": { 8057 + "type": "ref", 8058 + "ref": "lex:app.bsky.actor.defs#profileViewDetailed", 8059 + }, 8060 + }, 8061 + }, 8062 + }, 8063 + }, 8064 + "AppBskyActorGetSuggestions": { 8065 + "lexicon": 1, 8066 + "id": "app.bsky.actor.getSuggestions", 8067 + "defs": { 8068 + "main": { 8069 + "type": "query", 8070 + "description": 8071 + "Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.", 8072 + "parameters": { 8073 + "type": "params", 8074 + "properties": { 8075 + "limit": { 8076 + "type": "integer", 8077 + "minimum": 1, 8078 + "maximum": 100, 8079 + "default": 50, 8080 + }, 8081 + "cursor": { 8082 + "type": "string", 8083 + }, 8084 + }, 8085 + }, 8086 + "output": { 8087 + "encoding": "application/json", 8088 + "schema": { 8089 + "type": "object", 8090 + "required": [ 8091 + "actors", 8092 + ], 8093 + "properties": { 8094 + "cursor": { 8095 + "type": "string", 8096 + }, 8097 + "actors": { 8098 + "type": "array", 8099 + "items": { 8100 + "type": "ref", 8101 + "ref": "lex:app.bsky.actor.defs#profileView", 8102 + }, 8103 + }, 8104 + "recId": { 8105 + "type": "integer", 8106 + "description": 8107 + "Snowflake for this recommendation, use when submitting recommendation events.", 8108 + }, 8109 + }, 8110 + }, 8111 + }, 8112 + }, 8113 + }, 8114 + }, 8115 + "AppBskyActorSearchActors": { 8116 + "lexicon": 1, 8117 + "id": "app.bsky.actor.searchActors", 8118 + "defs": { 8119 + "main": { 8120 + "type": "query", 8121 + "description": 8122 + "Find actors (profiles) matching search criteria. Does not require auth.", 8123 + "parameters": { 8124 + "type": "params", 8125 + "properties": { 8126 + "term": { 8127 + "type": "string", 8128 + "description": "DEPRECATED: use 'q' instead.", 8129 + }, 8130 + "q": { 8131 + "type": "string", 8132 + "description": 8133 + "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.", 8134 + }, 8135 + "limit": { 8136 + "type": "integer", 8137 + "minimum": 1, 8138 + "maximum": 100, 8139 + "default": 25, 8140 + }, 8141 + "cursor": { 8142 + "type": "string", 8143 + }, 8144 + }, 8145 + }, 8146 + "output": { 8147 + "encoding": "application/json", 8148 + "schema": { 8149 + "type": "object", 8150 + "required": [ 8151 + "actors", 8152 + ], 8153 + "properties": { 8154 + "cursor": { 8155 + "type": "string", 8156 + }, 8157 + "actors": { 8158 + "type": "array", 8159 + "items": { 8160 + "type": "ref", 8161 + "ref": "lex:app.bsky.actor.defs#profileView", 8162 + }, 8163 + }, 8164 + }, 8165 + }, 8166 + }, 8167 + }, 8168 + }, 8169 + }, 8170 + "AppBskyActorGetProfiles": { 8171 + "lexicon": 1, 8172 + "id": "app.bsky.actor.getProfiles", 8173 + "defs": { 8174 + "main": { 8175 + "type": "query", 8176 + "description": "Get detailed profile views of multiple actors.", 8177 + "parameters": { 8178 + "type": "params", 8179 + "required": [ 8180 + "actors", 8181 + ], 8182 + "properties": { 8183 + "actors": { 8184 + "type": "array", 8185 + "items": { 8186 + "type": "string", 8187 + "format": "at-identifier", 8188 + }, 8189 + "maxLength": 25, 8190 + }, 8191 + }, 8192 + }, 8193 + "output": { 8194 + "encoding": "application/json", 8195 + "schema": { 8196 + "type": "object", 8197 + "required": [ 8198 + "profiles", 8199 + ], 8200 + "properties": { 8201 + "profiles": { 8202 + "type": "array", 8203 + "items": { 8204 + "type": "ref", 8205 + "ref": "lex:app.bsky.actor.defs#profileViewDetailed", 8206 + }, 8207 + }, 8208 + }, 8209 + }, 8210 + }, 8211 + }, 8212 + }, 8213 + }, 8214 + "AppBskyActorStatus": { 8215 + "lexicon": 1, 8216 + "id": "app.bsky.actor.status", 8217 + "defs": { 8218 + "main": { 8219 + "type": "record", 8220 + "description": "A declaration of a Bluesky account status.", 8221 + "key": "literal:self", 8222 + "record": { 8223 + "type": "object", 8224 + "required": [ 8225 + "status", 8226 + "createdAt", 8227 + ], 8228 + "properties": { 8229 + "status": { 8230 + "type": "string", 8231 + "description": "The status for the account.", 8232 + "knownValues": [ 8233 + "app.bsky.actor.status#live", 8234 + ], 8235 + }, 8236 + "embed": { 8237 + "type": "union", 8238 + "description": "An optional embed associated with the status.", 8239 + "refs": [ 8240 + "lex:app.bsky.embed.external", 8241 + ], 8242 + }, 8243 + "durationMinutes": { 8244 + "type": "integer", 8245 + "description": 8246 + "The duration of the status in minutes. Applications can choose to impose minimum and maximum limits.", 8247 + "minimum": 1, 8248 + }, 8249 + "createdAt": { 8250 + "type": "string", 8251 + "format": "datetime", 8252 + }, 8253 + }, 8254 + }, 8255 + }, 8256 + "live": { 8257 + "type": "token", 8258 + "description": 8259 + "Advertises an account as currently offering live content.", 8260 + }, 8261 + }, 8262 + }, 8263 + "AppBskyActorGetPreferences": { 8264 + "lexicon": 1, 8265 + "id": "app.bsky.actor.getPreferences", 8266 + "defs": { 8267 + "main": { 8268 + "type": "query", 8269 + "description": 8270 + "Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.", 8271 + "parameters": { 8272 + "type": "params", 8273 + "properties": {}, 8274 + }, 8275 + "output": { 8276 + "encoding": "application/json", 8277 + "schema": { 8278 + "type": "object", 8279 + "required": [ 8280 + "preferences", 8281 + ], 8282 + "properties": { 8283 + "preferences": { 8284 + "type": "ref", 8285 + "ref": "lex:app.bsky.actor.defs#preferences", 8286 + }, 8287 + }, 8288 + }, 8289 + }, 8290 + }, 8291 + }, 8292 + }, 8293 + "AppBskyActorProfile": { 8294 + "lexicon": 1, 8295 + "id": "app.bsky.actor.profile", 8296 + "defs": { 8297 + "main": { 8298 + "type": "record", 8299 + "description": "A declaration of a Bluesky account profile.", 8300 + "key": "literal:self", 8301 + "record": { 8302 + "type": "object", 8303 + "properties": { 8304 + "displayName": { 8305 + "type": "string", 8306 + "maxGraphemes": 64, 8307 + "maxLength": 640, 8308 + }, 8309 + "description": { 8310 + "type": "string", 8311 + "description": "Free-form profile description text.", 8312 + "maxGraphemes": 256, 8313 + "maxLength": 2560, 8314 + }, 8315 + "pronouns": { 8316 + "type": "string", 8317 + "description": "Free-form pronouns text.", 8318 + "maxGraphemes": 20, 8319 + "maxLength": 200, 8320 + }, 8321 + "website": { 8322 + "type": "string", 8323 + "format": "uri", 8324 + }, 8325 + "avatar": { 8326 + "type": "blob", 8327 + "description": 8328 + "Small image to be displayed next to posts from account. AKA, 'profile picture'", 8329 + "accept": [ 8330 + "image/png", 8331 + "image/jpeg", 8332 + ], 8333 + "maxSize": 1000000, 8334 + }, 8335 + "banner": { 8336 + "type": "blob", 8337 + "description": 8338 + "Larger horizontal image to display behind profile view.", 8339 + "accept": [ 8340 + "image/png", 8341 + "image/jpeg", 8342 + ], 8343 + "maxSize": 1000000, 8344 + }, 8345 + "labels": { 8346 + "type": "union", 8347 + "description": 8348 + "Self-label values, specific to the Bluesky application, on the overall account.", 8349 + "refs": [ 8350 + "lex:com.atproto.label.defs#selfLabels", 8351 + ], 8352 + }, 8353 + "joinedViaStarterPack": { 8354 + "type": "ref", 8355 + "ref": "lex:com.atproto.repo.strongRef", 8356 + }, 8357 + "pinnedPost": { 8358 + "type": "ref", 8359 + "ref": "lex:com.atproto.repo.strongRef", 8360 + }, 8361 + "createdAt": { 8362 + "type": "string", 8363 + "format": "datetime", 8364 + }, 8365 + }, 8366 + }, 8367 + }, 8368 + }, 8369 + }, 8370 + "AppBskyLabelerDefs": { 8371 + "lexicon": 1, 8372 + "id": "app.bsky.labeler.defs", 8373 + "defs": { 8374 + "labelerView": { 8375 + "type": "object", 8376 + "required": [ 8377 + "uri", 8378 + "cid", 8379 + "creator", 8380 + "indexedAt", 8381 + ], 8382 + "properties": { 8383 + "uri": { 8384 + "type": "string", 8385 + "format": "at-uri", 8386 + }, 8387 + "cid": { 8388 + "type": "string", 8389 + "format": "cid", 8390 + }, 8391 + "creator": { 8392 + "type": "ref", 8393 + "ref": "lex:app.bsky.actor.defs#profileView", 8394 + }, 8395 + "likeCount": { 8396 + "type": "integer", 8397 + "minimum": 0, 8398 + }, 8399 + "viewer": { 8400 + "type": "ref", 8401 + "ref": "lex:app.bsky.labeler.defs#labelerViewerState", 8402 + }, 8403 + "indexedAt": { 8404 + "type": "string", 8405 + "format": "datetime", 8406 + }, 8407 + "labels": { 8408 + "type": "array", 8409 + "items": { 8410 + "type": "ref", 8411 + "ref": "lex:com.atproto.label.defs#label", 8412 + }, 8413 + }, 8414 + }, 8415 + }, 8416 + "labelerViewDetailed": { 8417 + "type": "object", 8418 + "required": [ 8419 + "uri", 8420 + "cid", 8421 + "creator", 8422 + "policies", 8423 + "indexedAt", 8424 + ], 8425 + "properties": { 8426 + "uri": { 8427 + "type": "string", 8428 + "format": "at-uri", 8429 + }, 8430 + "cid": { 8431 + "type": "string", 8432 + "format": "cid", 8433 + }, 8434 + "creator": { 8435 + "type": "ref", 8436 + "ref": "lex:app.bsky.actor.defs#profileView", 8437 + }, 8438 + "policies": { 8439 + "type": "ref", 8440 + "ref": "lex:app.bsky.labeler.defs#labelerPolicies", 8441 + }, 8442 + "likeCount": { 8443 + "type": "integer", 8444 + "minimum": 0, 8445 + }, 8446 + "viewer": { 8447 + "type": "ref", 8448 + "ref": "lex:app.bsky.labeler.defs#labelerViewerState", 8449 + }, 8450 + "indexedAt": { 8451 + "type": "string", 8452 + "format": "datetime", 8453 + }, 8454 + "labels": { 8455 + "type": "array", 8456 + "items": { 8457 + "type": "ref", 8458 + "ref": "lex:com.atproto.label.defs#label", 8459 + }, 8460 + }, 8461 + "reasonTypes": { 8462 + "description": 8463 + "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.", 8464 + "type": "array", 8465 + "items": { 8466 + "type": "ref", 8467 + "ref": "lex:com.atproto.moderation.defs#reasonType", 8468 + }, 8469 + }, 8470 + "subjectTypes": { 8471 + "description": 8472 + "The set of subject types (account, record, etc) this service accepts reports on.", 8473 + "type": "array", 8474 + "items": { 8475 + "type": "ref", 8476 + "ref": "lex:com.atproto.moderation.defs#subjectType", 8477 + }, 8478 + }, 8479 + "subjectCollections": { 8480 + "type": "array", 8481 + "description": 8482 + "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.", 8483 + "items": { 8484 + "type": "string", 8485 + "format": "nsid", 8486 + }, 8487 + }, 8488 + }, 8489 + }, 8490 + "labelerViewerState": { 8491 + "type": "object", 8492 + "properties": { 8493 + "like": { 8494 + "type": "string", 8495 + "format": "at-uri", 8496 + }, 8497 + }, 8498 + }, 8499 + "labelerPolicies": { 8500 + "type": "object", 8501 + "required": [ 8502 + "labelValues", 8503 + ], 8504 + "properties": { 8505 + "labelValues": { 8506 + "type": "array", 8507 + "description": 8508 + "The label values which this labeler publishes. May include global or custom labels.", 8509 + "items": { 8510 + "type": "ref", 8511 + "ref": "lex:com.atproto.label.defs#labelValue", 8512 + }, 8513 + }, 8514 + "labelValueDefinitions": { 8515 + "type": "array", 8516 + "description": 8517 + "Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.", 8518 + "items": { 8519 + "type": "ref", 8520 + "ref": "lex:com.atproto.label.defs#labelValueDefinition", 8521 + }, 8522 + }, 8523 + }, 8524 + }, 8525 + }, 8526 + }, 8527 + "AppBskyLabelerService": { 8528 + "lexicon": 1, 8529 + "id": "app.bsky.labeler.service", 8530 + "defs": { 8531 + "main": { 8532 + "type": "record", 8533 + "description": "A declaration of the existence of labeler service.", 8534 + "key": "literal:self", 8535 + "record": { 8536 + "type": "object", 8537 + "required": [ 8538 + "policies", 8539 + "createdAt", 8540 + ], 8541 + "properties": { 8542 + "policies": { 8543 + "type": "ref", 8544 + "ref": "lex:app.bsky.labeler.defs#labelerPolicies", 8545 + }, 8546 + "labels": { 8547 + "type": "union", 8548 + "refs": [ 8549 + "lex:com.atproto.label.defs#selfLabels", 8550 + ], 8551 + }, 8552 + "createdAt": { 8553 + "type": "string", 8554 + "format": "datetime", 8555 + }, 8556 + "reasonTypes": { 8557 + "description": 8558 + "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.", 8559 + "type": "array", 8560 + "items": { 8561 + "type": "ref", 8562 + "ref": "lex:com.atproto.moderation.defs#reasonType", 8563 + }, 8564 + }, 8565 + "subjectTypes": { 8566 + "description": 8567 + "The set of subject types (account, record, etc) this service accepts reports on.", 8568 + "type": "array", 8569 + "items": { 8570 + "type": "ref", 8571 + "ref": "lex:com.atproto.moderation.defs#subjectType", 8572 + }, 8573 + }, 8574 + "subjectCollections": { 8575 + "type": "array", 8576 + "description": 8577 + "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.", 8578 + "items": { 8579 + "type": "string", 8580 + "format": "nsid", 8581 + }, 8582 + }, 8583 + }, 8584 + }, 8585 + }, 8586 + }, 8587 + }, 8588 + "AppBskyLabelerGetServices": { 8589 + "lexicon": 1, 8590 + "id": "app.bsky.labeler.getServices", 8591 + "defs": { 8592 + "main": { 8593 + "type": "query", 8594 + "description": "Get information about a list of labeler services.", 8595 + "parameters": { 8596 + "type": "params", 8597 + "required": [ 8598 + "dids", 8599 + ], 8600 + "properties": { 8601 + "dids": { 8602 + "type": "array", 8603 + "items": { 8604 + "type": "string", 8605 + "format": "did", 8606 + }, 8607 + }, 8608 + "detailed": { 8609 + "type": "boolean", 8610 + "default": false, 8611 + }, 8612 + }, 8613 + }, 8614 + "output": { 8615 + "encoding": "application/json", 8616 + "schema": { 8617 + "type": "object", 8618 + "required": [ 8619 + "views", 8620 + ], 8621 + "properties": { 8622 + "views": { 8623 + "type": "array", 8624 + "items": { 8625 + "type": "union", 8626 + "refs": [ 8627 + "lex:app.bsky.labeler.defs#labelerView", 8628 + "lex:app.bsky.labeler.defs#labelerViewDetailed", 8629 + ], 8630 + }, 8631 + }, 8632 + }, 8633 + }, 8634 + }, 8635 + }, 8636 + }, 8637 + }, 8638 + } as Record<string, LexiconDoc>; 8639 + export const schemas = Object.values(schemaDict) satisfies LexiconDoc[]; 8640 + export const lexicons: Lexicons = new Lexicons(schemas); 8641 + 8642 + export function validate<T extends { $type: string }>( 8643 + v: unknown, 8644 + id: string, 8645 + hash: string, 8646 + requiredType: true, 8647 + ): ValidationResult<T>; 8648 + export function validate<T extends { $type?: string }>( 8649 + v: unknown, 8650 + id: string, 8651 + hash: string, 8652 + requiredType?: false, 8653 + ): ValidationResult<T>; 8654 + export function validate( 8655 + v: unknown, 8656 + id: string, 8657 + hash: string, 8658 + requiredType?: boolean, 8659 + ): ValidationResult { 8660 + return (requiredType ? is$typed : maybe$typed)(v, id, hash) 8661 + ? lexicons.validate(`${id}#${hash}`, v) 8662 + : { 8663 + success: false, 8664 + error: new ValidationError( 8665 + `Must be an object with "${ 8666 + hash === "main" ? id : `${id}#${hash}` 8667 + }" $type property`, 8668 + ), 8669 + }; 8670 + } 8671 + 8672 + export const ids = { 8673 + AppBskyVideoUploadVideo: "app.bsky.video.uploadVideo", 8674 + AppBskyVideoDefs: "app.bsky.video.defs", 8675 + AppBskyVideoGetJobStatus: "app.bsky.video.getJobStatus", 8676 + AppBskyVideoGetUploadLimits: "app.bsky.video.getUploadLimits", 8677 + AppBskyBookmarkDefs: "app.bsky.bookmark.defs", 8678 + AppBskyBookmarkDeleteBookmark: "app.bsky.bookmark.deleteBookmark", 8679 + AppBskyBookmarkGetBookmarks: "app.bsky.bookmark.getBookmarks", 8680 + AppBskyBookmarkCreateBookmark: "app.bsky.bookmark.createBookmark", 8681 + AppBskyEmbedDefs: "app.bsky.embed.defs", 8682 + AppBskyEmbedRecord: "app.bsky.embed.record", 8683 + AppBskyEmbedImages: "app.bsky.embed.images", 8684 + AppBskyEmbedRecordWithMedia: "app.bsky.embed.recordWithMedia", 8685 + AppBskyEmbedVideo: "app.bsky.embed.video", 8686 + AppBskyEmbedExternal: "app.bsky.embed.external", 8687 + AppBskyNotificationDefs: "app.bsky.notification.defs", 8688 + AppBskyNotificationRegisterPush: "app.bsky.notification.registerPush", 8689 + AppBskyNotificationPutPreferences: "app.bsky.notification.putPreferences", 8690 + AppBskyNotificationPutActivitySubscription: 8691 + "app.bsky.notification.putActivitySubscription", 8692 + AppBskyNotificationDeclaration: "app.bsky.notification.declaration", 8693 + AppBskyNotificationPutPreferencesV2: "app.bsky.notification.putPreferencesV2", 8694 + AppBskyNotificationUpdateSeen: "app.bsky.notification.updateSeen", 8695 + AppBskyNotificationListActivitySubscriptions: 8696 + "app.bsky.notification.listActivitySubscriptions", 8697 + AppBskyNotificationUnregisterPush: "app.bsky.notification.unregisterPush", 8698 + AppBskyNotificationGetPreferences: "app.bsky.notification.getPreferences", 8699 + AppBskyNotificationListNotifications: 8700 + "app.bsky.notification.listNotifications", 8701 + AppBskyNotificationGetUnreadCount: "app.bsky.notification.getUnreadCount", 8702 + AppBskyUnspeccedGetSuggestedFeedsSkeleton: 8703 + "app.bsky.unspecced.getSuggestedFeedsSkeleton", 8704 + AppBskyUnspeccedSearchStarterPacksSkeleton: 8705 + "app.bsky.unspecced.searchStarterPacksSkeleton", 8706 + AppBskyUnspeccedDefs: "app.bsky.unspecced.defs", 8707 + AppBskyUnspeccedGetOnboardingSuggestedStarterPacksSkeleton: 8708 + "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton", 8709 + AppBskyUnspeccedGetSuggestedUsers: "app.bsky.unspecced.getSuggestedUsers", 8710 + AppBskyUnspeccedGetPostThreadOtherV2: 8711 + "app.bsky.unspecced.getPostThreadOtherV2", 8712 + AppBskyUnspeccedGetSuggestedStarterPacks: 8713 + "app.bsky.unspecced.getSuggestedStarterPacks", 8714 + AppBskyUnspeccedGetSuggestedStarterPacksSkeleton: 8715 + "app.bsky.unspecced.getSuggestedStarterPacksSkeleton", 8716 + AppBskyUnspeccedGetOnboardingSuggestedStarterPacks: 8717 + "app.bsky.unspecced.getOnboardingSuggestedStarterPacks", 8718 + AppBskyUnspeccedGetSuggestedUsersSkeleton: 8719 + "app.bsky.unspecced.getSuggestedUsersSkeleton", 8720 + AppBskyUnspeccedGetPostThreadV2: "app.bsky.unspecced.getPostThreadV2", 8721 + AppBskyUnspeccedGetTrends: "app.bsky.unspecced.getTrends", 8722 + AppBskyUnspeccedSearchActorsSkeleton: 8723 + "app.bsky.unspecced.searchActorsSkeleton", 8724 + AppBskyUnspeccedGetSuggestionsSkeleton: 8725 + "app.bsky.unspecced.getSuggestionsSkeleton", 8726 + AppBskyUnspeccedSearchPostsSkeleton: "app.bsky.unspecced.searchPostsSkeleton", 8727 + AppBskyUnspeccedGetAgeAssuranceState: 8728 + "app.bsky.unspecced.getAgeAssuranceState", 8729 + AppBskyUnspeccedGetPopularFeedGenerators: 8730 + "app.bsky.unspecced.getPopularFeedGenerators", 8731 + AppBskyUnspeccedInitAgeAssurance: "app.bsky.unspecced.initAgeAssurance", 8732 + AppBskyUnspeccedGetTrendingTopics: "app.bsky.unspecced.getTrendingTopics", 8733 + AppBskyUnspeccedGetTaggedSuggestions: 8734 + "app.bsky.unspecced.getTaggedSuggestions", 8735 + AppBskyUnspeccedGetSuggestedFeeds: "app.bsky.unspecced.getSuggestedFeeds", 8736 + AppBskyUnspeccedGetTrendsSkeleton: "app.bsky.unspecced.getTrendsSkeleton", 8737 + AppBskyUnspeccedGetConfig: "app.bsky.unspecced.getConfig", 8738 + AppBskyGraphGetStarterPacks: "app.bsky.graph.getStarterPacks", 8739 + AppBskyGraphGetSuggestedFollowsByActor: 8740 + "app.bsky.graph.getSuggestedFollowsByActor", 8741 + AppBskyGraphBlock: "app.bsky.graph.block", 8742 + AppBskyGraphGetStarterPacksWithMembership: 8743 + "app.bsky.graph.getStarterPacksWithMembership", 8744 + AppBskyGraphFollow: "app.bsky.graph.follow", 8745 + AppBskyGraphDefs: "app.bsky.graph.defs", 8746 + AppBskyGraphGetListsWithMembership: "app.bsky.graph.getListsWithMembership", 8747 + AppBskyGraphUnmuteActorList: "app.bsky.graph.unmuteActorList", 8748 + AppBskyGraphGetListBlocks: "app.bsky.graph.getListBlocks", 8749 + AppBskyGraphListblock: "app.bsky.graph.listblock", 8750 + AppBskyGraphGetStarterPack: "app.bsky.graph.getStarterPack", 8751 + AppBskyGraphStarterpack: "app.bsky.graph.starterpack", 8752 + AppBskyGraphMuteActorList: "app.bsky.graph.muteActorList", 8753 + AppBskyGraphMuteThread: "app.bsky.graph.muteThread", 8754 + AppBskyGraphSearchStarterPacks: "app.bsky.graph.searchStarterPacks", 8755 + AppBskyGraphGetActorStarterPacks: "app.bsky.graph.getActorStarterPacks", 8756 + AppBskyGraphGetLists: "app.bsky.graph.getLists", 8757 + AppBskyGraphGetFollowers: "app.bsky.graph.getFollowers", 8758 + AppBskyGraphUnmuteThread: "app.bsky.graph.unmuteThread", 8759 + AppBskyGraphMuteActor: "app.bsky.graph.muteActor", 8760 + AppBskyGraphGetMutes: "app.bsky.graph.getMutes", 8761 + AppBskyGraphListitem: "app.bsky.graph.listitem", 8762 + AppBskyGraphList: "app.bsky.graph.list", 8763 + AppBskyGraphGetKnownFollowers: "app.bsky.graph.getKnownFollowers", 8764 + AppBskyGraphVerification: "app.bsky.graph.verification", 8765 + AppBskyGraphGetListMutes: "app.bsky.graph.getListMutes", 8766 + AppBskyGraphGetFollows: "app.bsky.graph.getFollows", 8767 + AppBskyGraphGetBlocks: "app.bsky.graph.getBlocks", 8768 + AppBskyGraphGetRelationships: "app.bsky.graph.getRelationships", 8769 + AppBskyGraphUnmuteActor: "app.bsky.graph.unmuteActor", 8770 + AppBskyGraphGetList: "app.bsky.graph.getList", 8771 + AppBskyFeedGenerator: "app.bsky.feed.generator", 8772 + AppBskyFeedSendInteractions: "app.bsky.feed.sendInteractions", 8773 + AppBskyFeedDefs: "app.bsky.feed.defs", 8774 + AppBskyFeedGetFeedGenerators: "app.bsky.feed.getFeedGenerators", 8775 + AppBskyFeedGetTimeline: "app.bsky.feed.getTimeline", 8776 + AppBskyFeedGetFeedGenerator: "app.bsky.feed.getFeedGenerator", 8777 + AppBskyFeedGetAuthorFeed: "app.bsky.feed.getAuthorFeed", 8778 + AppBskyFeedGetLikes: "app.bsky.feed.getLikes", 8779 + AppBskyFeedPostgate: "app.bsky.feed.postgate", 8780 + AppBskyFeedThreadgate: "app.bsky.feed.threadgate", 8781 + AppBskyFeedGetPostThread: "app.bsky.feed.getPostThread", 8782 + AppBskyFeedGetActorLikes: "app.bsky.feed.getActorLikes", 8783 + AppBskyFeedLike: "app.bsky.feed.like", 8784 + AppBskyFeedGetRepostedBy: "app.bsky.feed.getRepostedBy", 8785 + AppBskyFeedRepost: "app.bsky.feed.repost", 8786 + AppBskyFeedDescribeFeedGenerator: "app.bsky.feed.describeFeedGenerator", 8787 + AppBskyFeedSearchPosts: "app.bsky.feed.searchPosts", 8788 + AppBskyFeedGetPosts: "app.bsky.feed.getPosts", 8789 + AppBskyFeedGetFeed: "app.bsky.feed.getFeed", 8790 + AppBskyFeedGetQuotes: "app.bsky.feed.getQuotes", 8791 + AppBskyFeedGetFeedSkeleton: "app.bsky.feed.getFeedSkeleton", 8792 + AppBskyFeedGetListFeed: "app.bsky.feed.getListFeed", 8793 + AppBskyFeedGetSuggestedFeeds: "app.bsky.feed.getSuggestedFeeds", 8794 + AppBskyFeedGetActorFeeds: "app.bsky.feed.getActorFeeds", 8795 + AppBskyFeedPost: "app.bsky.feed.post", 8796 + AppBskyRichtextFacet: "app.bsky.richtext.facet", 8797 + AppBskyActorSearchActorsTypeahead: "app.bsky.actor.searchActorsTypeahead", 8798 + AppBskyActorDefs: "app.bsky.actor.defs", 8799 + AppBskyActorPutPreferences: "app.bsky.actor.putPreferences", 8800 + AppBskyActorGetProfile: "app.bsky.actor.getProfile", 8801 + AppBskyActorGetSuggestions: "app.bsky.actor.getSuggestions", 8802 + AppBskyActorSearchActors: "app.bsky.actor.searchActors", 8803 + AppBskyActorGetProfiles: "app.bsky.actor.getProfiles", 8804 + AppBskyActorStatus: "app.bsky.actor.status", 8805 + AppBskyActorGetPreferences: "app.bsky.actor.getPreferences", 8806 + AppBskyActorProfile: "app.bsky.actor.profile", 8807 + AppBskyLabelerDefs: "app.bsky.labeler.defs", 8808 + AppBskyLabelerService: "app.bsky.labeler.service", 8809 + AppBskyLabelerGetServices: "app.bsky.labeler.getServices", 8810 + } as const;
+675
lex-gen/generated/types/app/bsky/actor/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 7 + import type * as AppBskyGraphDefs from "../graph/defs.ts"; 8 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 9 + import type * as AppBskyNotificationDefs from "../notification/defs.ts"; 10 + import type * as AppBskyFeedThreadgate from "../feed/threadgate.ts"; 11 + import type * as AppBskyFeedPostgate from "../feed/postgate.ts"; 12 + import type * as AppBskyEmbedExternal from "../embed/external.ts"; 13 + 14 + const is$typed = _is$typed, validate = _validate; 15 + const id = "app.bsky.actor.defs"; 16 + 17 + export interface ProfileViewBasic { 18 + $type?: "app.bsky.actor.defs#profileViewBasic"; 19 + did: string; 20 + handle: string; 21 + displayName?: string; 22 + pronouns?: string; 23 + avatar?: string; 24 + associated?: ProfileAssociated; 25 + viewer?: ViewerState; 26 + labels?: (ComAtprotoLabelDefs.Label)[]; 27 + createdAt?: string; 28 + verification?: VerificationState; 29 + status?: StatusView; 30 + /** Debug information for internal development */ 31 + debug?: { [_ in string]: unknown }; 32 + } 33 + 34 + const hashProfileViewBasic = "profileViewBasic"; 35 + 36 + export function isProfileViewBasic<V>(v: V) { 37 + return is$typed(v, id, hashProfileViewBasic); 38 + } 39 + 40 + export function validateProfileViewBasic<V>(v: V) { 41 + return validate<ProfileViewBasic & V>(v, id, hashProfileViewBasic); 42 + } 43 + 44 + export interface ProfileView { 45 + $type?: "app.bsky.actor.defs#profileView"; 46 + did: string; 47 + handle: string; 48 + displayName?: string; 49 + pronouns?: string; 50 + description?: string; 51 + avatar?: string; 52 + associated?: ProfileAssociated; 53 + indexedAt?: string; 54 + createdAt?: string; 55 + viewer?: ViewerState; 56 + labels?: (ComAtprotoLabelDefs.Label)[]; 57 + verification?: VerificationState; 58 + status?: StatusView; 59 + /** Debug information for internal development */ 60 + debug?: { [_ in string]: unknown }; 61 + } 62 + 63 + const hashProfileView = "profileView"; 64 + 65 + export function isProfileView<V>(v: V) { 66 + return is$typed(v, id, hashProfileView); 67 + } 68 + 69 + export function validateProfileView<V>(v: V) { 70 + return validate<ProfileView & V>(v, id, hashProfileView); 71 + } 72 + 73 + export interface ProfileViewDetailed { 74 + $type?: "app.bsky.actor.defs#profileViewDetailed"; 75 + did: string; 76 + handle: string; 77 + displayName?: string; 78 + description?: string; 79 + pronouns?: string; 80 + website?: string; 81 + avatar?: string; 82 + banner?: string; 83 + followersCount?: number; 84 + followsCount?: number; 85 + postsCount?: number; 86 + associated?: ProfileAssociated; 87 + joinedViaStarterPack?: AppBskyGraphDefs.StarterPackViewBasic; 88 + indexedAt?: string; 89 + createdAt?: string; 90 + viewer?: ViewerState; 91 + labels?: (ComAtprotoLabelDefs.Label)[]; 92 + pinnedPost?: ComAtprotoRepoStrongRef.Main; 93 + verification?: VerificationState; 94 + status?: StatusView; 95 + /** Debug information for internal development */ 96 + debug?: { [_ in string]: unknown }; 97 + } 98 + 99 + const hashProfileViewDetailed = "profileViewDetailed"; 100 + 101 + export function isProfileViewDetailed<V>(v: V) { 102 + return is$typed(v, id, hashProfileViewDetailed); 103 + } 104 + 105 + export function validateProfileViewDetailed<V>(v: V) { 106 + return validate<ProfileViewDetailed & V>(v, id, hashProfileViewDetailed); 107 + } 108 + 109 + export interface ProfileAssociated { 110 + $type?: "app.bsky.actor.defs#profileAssociated"; 111 + lists?: number; 112 + feedgens?: number; 113 + starterPacks?: number; 114 + labeler?: boolean; 115 + chat?: ProfileAssociatedChat; 116 + activitySubscription?: ProfileAssociatedActivitySubscription; 117 + } 118 + 119 + const hashProfileAssociated = "profileAssociated"; 120 + 121 + export function isProfileAssociated<V>(v: V) { 122 + return is$typed(v, id, hashProfileAssociated); 123 + } 124 + 125 + export function validateProfileAssociated<V>(v: V) { 126 + return validate<ProfileAssociated & V>(v, id, hashProfileAssociated); 127 + } 128 + 129 + export interface ProfileAssociatedChat { 130 + $type?: "app.bsky.actor.defs#profileAssociatedChat"; 131 + allowIncoming: 132 + | "all" 133 + | "none" 134 + | "following" 135 + | (string & globalThis.Record<PropertyKey, never>); 136 + } 137 + 138 + const hashProfileAssociatedChat = "profileAssociatedChat"; 139 + 140 + export function isProfileAssociatedChat<V>(v: V) { 141 + return is$typed(v, id, hashProfileAssociatedChat); 142 + } 143 + 144 + export function validateProfileAssociatedChat<V>(v: V) { 145 + return validate<ProfileAssociatedChat & V>(v, id, hashProfileAssociatedChat); 146 + } 147 + 148 + export interface ProfileAssociatedActivitySubscription { 149 + $type?: "app.bsky.actor.defs#profileAssociatedActivitySubscription"; 150 + allowSubscriptions: 151 + | "followers" 152 + | "mutuals" 153 + | "none" 154 + | (string & globalThis.Record<PropertyKey, never>); 155 + } 156 + 157 + const hashProfileAssociatedActivitySubscription = 158 + "profileAssociatedActivitySubscription"; 159 + 160 + export function isProfileAssociatedActivitySubscription<V>(v: V) { 161 + return is$typed(v, id, hashProfileAssociatedActivitySubscription); 162 + } 163 + 164 + export function validateProfileAssociatedActivitySubscription<V>(v: V) { 165 + return validate<ProfileAssociatedActivitySubscription & V>( 166 + v, 167 + id, 168 + hashProfileAssociatedActivitySubscription, 169 + ); 170 + } 171 + 172 + /** Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests. */ 173 + export interface ViewerState { 174 + $type?: "app.bsky.actor.defs#viewerState"; 175 + muted?: boolean; 176 + mutedByList?: AppBskyGraphDefs.ListViewBasic; 177 + blockedBy?: boolean; 178 + blocking?: string; 179 + blockingByList?: AppBskyGraphDefs.ListViewBasic; 180 + following?: string; 181 + followedBy?: string; 182 + knownFollowers?: KnownFollowers; 183 + activitySubscription?: AppBskyNotificationDefs.ActivitySubscription; 184 + } 185 + 186 + const hashViewerState = "viewerState"; 187 + 188 + export function isViewerState<V>(v: V) { 189 + return is$typed(v, id, hashViewerState); 190 + } 191 + 192 + export function validateViewerState<V>(v: V) { 193 + return validate<ViewerState & V>(v, id, hashViewerState); 194 + } 195 + 196 + /** The subject's followers whom you also follow */ 197 + export interface KnownFollowers { 198 + $type?: "app.bsky.actor.defs#knownFollowers"; 199 + count: number; 200 + followers: (ProfileViewBasic)[]; 201 + } 202 + 203 + const hashKnownFollowers = "knownFollowers"; 204 + 205 + export function isKnownFollowers<V>(v: V) { 206 + return is$typed(v, id, hashKnownFollowers); 207 + } 208 + 209 + export function validateKnownFollowers<V>(v: V) { 210 + return validate<KnownFollowers & V>(v, id, hashKnownFollowers); 211 + } 212 + 213 + /** Represents the verification information about the user this object is attached to. */ 214 + export interface VerificationState { 215 + $type?: "app.bsky.actor.defs#verificationState"; 216 + /** All verifications issued by trusted verifiers on behalf of this user. Verifications by untrusted verifiers are not included. */ 217 + verifications: (VerificationView)[]; 218 + /** The user's status as a verified account. */ 219 + verifiedStatus: 220 + | "valid" 221 + | "invalid" 222 + | "none" 223 + | (string & globalThis.Record<PropertyKey, never>); 224 + /** The user's status as a trusted verifier. */ 225 + trustedVerifierStatus: 226 + | "valid" 227 + | "invalid" 228 + | "none" 229 + | (string & globalThis.Record<PropertyKey, never>); 230 + } 231 + 232 + const hashVerificationState = "verificationState"; 233 + 234 + export function isVerificationState<V>(v: V) { 235 + return is$typed(v, id, hashVerificationState); 236 + } 237 + 238 + export function validateVerificationState<V>(v: V) { 239 + return validate<VerificationState & V>(v, id, hashVerificationState); 240 + } 241 + 242 + /** An individual verification for an associated subject. */ 243 + export interface VerificationView { 244 + $type?: "app.bsky.actor.defs#verificationView"; 245 + /** The user who issued this verification. */ 246 + issuer: string; 247 + /** The AT-URI of the verification record. */ 248 + uri: string; 249 + /** True if the verification passes validation, otherwise false. */ 250 + isValid: boolean; 251 + /** Timestamp when the verification was created. */ 252 + createdAt: string; 253 + } 254 + 255 + const hashVerificationView = "verificationView"; 256 + 257 + export function isVerificationView<V>(v: V) { 258 + return is$typed(v, id, hashVerificationView); 259 + } 260 + 261 + export function validateVerificationView<V>(v: V) { 262 + return validate<VerificationView & V>(v, id, hashVerificationView); 263 + } 264 + 265 + export type Preferences = ( 266 + | $Typed<AdultContentPref> 267 + | $Typed<ContentLabelPref> 268 + | $Typed<SavedFeedsPref> 269 + | $Typed<SavedFeedsPrefV2> 270 + | $Typed<PersonalDetailsPref> 271 + | $Typed<FeedViewPref> 272 + | $Typed<ThreadViewPref> 273 + | $Typed<InterestsPref> 274 + | $Typed<MutedWordsPref> 275 + | $Typed<HiddenPostsPref> 276 + | $Typed<BskyAppStatePref> 277 + | $Typed<LabelersPref> 278 + | $Typed<PostInteractionSettingsPref> 279 + | $Typed<VerificationPrefs> 280 + | { $type: string } 281 + )[]; 282 + 283 + export interface AdultContentPref { 284 + $type?: "app.bsky.actor.defs#adultContentPref"; 285 + enabled: boolean; 286 + } 287 + 288 + const hashAdultContentPref = "adultContentPref"; 289 + 290 + export function isAdultContentPref<V>(v: V) { 291 + return is$typed(v, id, hashAdultContentPref); 292 + } 293 + 294 + export function validateAdultContentPref<V>(v: V) { 295 + return validate<AdultContentPref & V>(v, id, hashAdultContentPref); 296 + } 297 + 298 + export interface ContentLabelPref { 299 + $type?: "app.bsky.actor.defs#contentLabelPref"; 300 + /** Which labeler does this preference apply to? If undefined, applies globally. */ 301 + labelerDid?: string; 302 + label: string; 303 + visibility: 304 + | "ignore" 305 + | "show" 306 + | "warn" 307 + | "hide" 308 + | (string & globalThis.Record<PropertyKey, never>); 309 + } 310 + 311 + const hashContentLabelPref = "contentLabelPref"; 312 + 313 + export function isContentLabelPref<V>(v: V) { 314 + return is$typed(v, id, hashContentLabelPref); 315 + } 316 + 317 + export function validateContentLabelPref<V>(v: V) { 318 + return validate<ContentLabelPref & V>(v, id, hashContentLabelPref); 319 + } 320 + 321 + export interface SavedFeed { 322 + $type?: "app.bsky.actor.defs#savedFeed"; 323 + id: string; 324 + type: 325 + | "feed" 326 + | "list" 327 + | "timeline" 328 + | (string & globalThis.Record<PropertyKey, never>); 329 + value: string; 330 + pinned: boolean; 331 + } 332 + 333 + const hashSavedFeed = "savedFeed"; 334 + 335 + export function isSavedFeed<V>(v: V) { 336 + return is$typed(v, id, hashSavedFeed); 337 + } 338 + 339 + export function validateSavedFeed<V>(v: V) { 340 + return validate<SavedFeed & V>(v, id, hashSavedFeed); 341 + } 342 + 343 + export interface SavedFeedsPrefV2 { 344 + $type?: "app.bsky.actor.defs#savedFeedsPrefV2"; 345 + items: (SavedFeed)[]; 346 + } 347 + 348 + const hashSavedFeedsPrefV2 = "savedFeedsPrefV2"; 349 + 350 + export function isSavedFeedsPrefV2<V>(v: V) { 351 + return is$typed(v, id, hashSavedFeedsPrefV2); 352 + } 353 + 354 + export function validateSavedFeedsPrefV2<V>(v: V) { 355 + return validate<SavedFeedsPrefV2 & V>(v, id, hashSavedFeedsPrefV2); 356 + } 357 + 358 + export interface SavedFeedsPref { 359 + $type?: "app.bsky.actor.defs#savedFeedsPref"; 360 + pinned: (string)[]; 361 + saved: (string)[]; 362 + timelineIndex?: number; 363 + } 364 + 365 + const hashSavedFeedsPref = "savedFeedsPref"; 366 + 367 + export function isSavedFeedsPref<V>(v: V) { 368 + return is$typed(v, id, hashSavedFeedsPref); 369 + } 370 + 371 + export function validateSavedFeedsPref<V>(v: V) { 372 + return validate<SavedFeedsPref & V>(v, id, hashSavedFeedsPref); 373 + } 374 + 375 + export interface PersonalDetailsPref { 376 + $type?: "app.bsky.actor.defs#personalDetailsPref"; 377 + /** The birth date of account owner. */ 378 + birthDate?: string; 379 + } 380 + 381 + const hashPersonalDetailsPref = "personalDetailsPref"; 382 + 383 + export function isPersonalDetailsPref<V>(v: V) { 384 + return is$typed(v, id, hashPersonalDetailsPref); 385 + } 386 + 387 + export function validatePersonalDetailsPref<V>(v: V) { 388 + return validate<PersonalDetailsPref & V>(v, id, hashPersonalDetailsPref); 389 + } 390 + 391 + export interface FeedViewPref { 392 + $type?: "app.bsky.actor.defs#feedViewPref"; 393 + /** The URI of the feed, or an identifier which describes the feed. */ 394 + feed: string; 395 + /** Hide replies in the feed. */ 396 + hideReplies?: boolean; 397 + /** Hide replies in the feed if they are not by followed users. */ 398 + hideRepliesByUnfollowed: boolean; 399 + /** Hide replies in the feed if they do not have this number of likes. */ 400 + hideRepliesByLikeCount?: number; 401 + /** Hide reposts in the feed. */ 402 + hideReposts?: boolean; 403 + /** Hide quote posts in the feed. */ 404 + hideQuotePosts?: boolean; 405 + } 406 + 407 + const hashFeedViewPref = "feedViewPref"; 408 + 409 + export function isFeedViewPref<V>(v: V) { 410 + return is$typed(v, id, hashFeedViewPref); 411 + } 412 + 413 + export function validateFeedViewPref<V>(v: V) { 414 + return validate<FeedViewPref & V>(v, id, hashFeedViewPref); 415 + } 416 + 417 + export interface ThreadViewPref { 418 + $type?: "app.bsky.actor.defs#threadViewPref"; 419 + /** Sorting mode for threads. */ 420 + sort?: 421 + | "oldest" 422 + | "newest" 423 + | "most-likes" 424 + | "random" 425 + | "hotness" 426 + | (string & globalThis.Record<PropertyKey, never>); 427 + } 428 + 429 + const hashThreadViewPref = "threadViewPref"; 430 + 431 + export function isThreadViewPref<V>(v: V) { 432 + return is$typed(v, id, hashThreadViewPref); 433 + } 434 + 435 + export function validateThreadViewPref<V>(v: V) { 436 + return validate<ThreadViewPref & V>(v, id, hashThreadViewPref); 437 + } 438 + 439 + export interface InterestsPref { 440 + $type?: "app.bsky.actor.defs#interestsPref"; 441 + /** A list of tags which describe the account owner's interests gathered during onboarding. */ 442 + tags: (string)[]; 443 + } 444 + 445 + const hashInterestsPref = "interestsPref"; 446 + 447 + export function isInterestsPref<V>(v: V) { 448 + return is$typed(v, id, hashInterestsPref); 449 + } 450 + 451 + export function validateInterestsPref<V>(v: V) { 452 + return validate<InterestsPref & V>(v, id, hashInterestsPref); 453 + } 454 + 455 + export type MutedWordTarget = 456 + | "content" 457 + | "tag" 458 + | (string & globalThis.Record<PropertyKey, never>); 459 + 460 + /** A word that the account owner has muted. */ 461 + export interface MutedWord { 462 + $type?: "app.bsky.actor.defs#mutedWord"; 463 + id?: string; 464 + /** The muted word itself. */ 465 + value: string; 466 + /** The intended targets of the muted word. */ 467 + targets: (MutedWordTarget)[]; 468 + /** Groups of users to apply the muted word to. If undefined, applies to all users. */ 469 + actorTarget: 470 + | "all" 471 + | "exclude-following" 472 + | (string & globalThis.Record<PropertyKey, never>); 473 + /** The date and time at which the muted word will expire and no longer be applied. */ 474 + expiresAt?: string; 475 + } 476 + 477 + const hashMutedWord = "mutedWord"; 478 + 479 + export function isMutedWord<V>(v: V) { 480 + return is$typed(v, id, hashMutedWord); 481 + } 482 + 483 + export function validateMutedWord<V>(v: V) { 484 + return validate<MutedWord & V>(v, id, hashMutedWord); 485 + } 486 + 487 + export interface MutedWordsPref { 488 + $type?: "app.bsky.actor.defs#mutedWordsPref"; 489 + /** A list of words the account owner has muted. */ 490 + items: (MutedWord)[]; 491 + } 492 + 493 + const hashMutedWordsPref = "mutedWordsPref"; 494 + 495 + export function isMutedWordsPref<V>(v: V) { 496 + return is$typed(v, id, hashMutedWordsPref); 497 + } 498 + 499 + export function validateMutedWordsPref<V>(v: V) { 500 + return validate<MutedWordsPref & V>(v, id, hashMutedWordsPref); 501 + } 502 + 503 + export interface HiddenPostsPref { 504 + $type?: "app.bsky.actor.defs#hiddenPostsPref"; 505 + /** A list of URIs of posts the account owner has hidden. */ 506 + items: (string)[]; 507 + } 508 + 509 + const hashHiddenPostsPref = "hiddenPostsPref"; 510 + 511 + export function isHiddenPostsPref<V>(v: V) { 512 + return is$typed(v, id, hashHiddenPostsPref); 513 + } 514 + 515 + export function validateHiddenPostsPref<V>(v: V) { 516 + return validate<HiddenPostsPref & V>(v, id, hashHiddenPostsPref); 517 + } 518 + 519 + export interface LabelersPref { 520 + $type?: "app.bsky.actor.defs#labelersPref"; 521 + labelers: (LabelerPrefItem)[]; 522 + } 523 + 524 + const hashLabelersPref = "labelersPref"; 525 + 526 + export function isLabelersPref<V>(v: V) { 527 + return is$typed(v, id, hashLabelersPref); 528 + } 529 + 530 + export function validateLabelersPref<V>(v: V) { 531 + return validate<LabelersPref & V>(v, id, hashLabelersPref); 532 + } 533 + 534 + export interface LabelerPrefItem { 535 + $type?: "app.bsky.actor.defs#labelerPrefItem"; 536 + did: string; 537 + } 538 + 539 + const hashLabelerPrefItem = "labelerPrefItem"; 540 + 541 + export function isLabelerPrefItem<V>(v: V) { 542 + return is$typed(v, id, hashLabelerPrefItem); 543 + } 544 + 545 + export function validateLabelerPrefItem<V>(v: V) { 546 + return validate<LabelerPrefItem & V>(v, id, hashLabelerPrefItem); 547 + } 548 + 549 + /** A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this. */ 550 + export interface BskyAppStatePref { 551 + $type?: "app.bsky.actor.defs#bskyAppStatePref"; 552 + activeProgressGuide?: BskyAppProgressGuide; 553 + /** An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user. */ 554 + queuedNudges?: (string)[]; 555 + /** Storage for NUXs the user has encountered. */ 556 + nuxs?: (Nux)[]; 557 + } 558 + 559 + const hashBskyAppStatePref = "bskyAppStatePref"; 560 + 561 + export function isBskyAppStatePref<V>(v: V) { 562 + return is$typed(v, id, hashBskyAppStatePref); 563 + } 564 + 565 + export function validateBskyAppStatePref<V>(v: V) { 566 + return validate<BskyAppStatePref & V>(v, id, hashBskyAppStatePref); 567 + } 568 + 569 + /** If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress. */ 570 + export interface BskyAppProgressGuide { 571 + $type?: "app.bsky.actor.defs#bskyAppProgressGuide"; 572 + guide: string; 573 + } 574 + 575 + const hashBskyAppProgressGuide = "bskyAppProgressGuide"; 576 + 577 + export function isBskyAppProgressGuide<V>(v: V) { 578 + return is$typed(v, id, hashBskyAppProgressGuide); 579 + } 580 + 581 + export function validateBskyAppProgressGuide<V>(v: V) { 582 + return validate<BskyAppProgressGuide & V>(v, id, hashBskyAppProgressGuide); 583 + } 584 + 585 + /** A new user experiences (NUX) storage object */ 586 + export interface Nux { 587 + $type?: "app.bsky.actor.defs#nux"; 588 + id: string; 589 + completed: boolean; 590 + /** Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. */ 591 + data?: string; 592 + /** The date and time at which the NUX will expire and should be considered completed. */ 593 + expiresAt?: string; 594 + } 595 + 596 + const hashNux = "nux"; 597 + 598 + export function isNux<V>(v: V) { 599 + return is$typed(v, id, hashNux); 600 + } 601 + 602 + export function validateNux<V>(v: V) { 603 + return validate<Nux & V>(v, id, hashNux); 604 + } 605 + 606 + /** Preferences for how verified accounts appear in the app. */ 607 + export interface VerificationPrefs { 608 + $type?: "app.bsky.actor.defs#verificationPrefs"; 609 + /** Hide the blue check badges for verified accounts and trusted verifiers. */ 610 + hideBadges: boolean; 611 + } 612 + 613 + const hashVerificationPrefs = "verificationPrefs"; 614 + 615 + export function isVerificationPrefs<V>(v: V) { 616 + return is$typed(v, id, hashVerificationPrefs); 617 + } 618 + 619 + export function validateVerificationPrefs<V>(v: V) { 620 + return validate<VerificationPrefs & V>(v, id, hashVerificationPrefs); 621 + } 622 + 623 + /** Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly. */ 624 + export interface PostInteractionSettingsPref { 625 + $type?: "app.bsky.actor.defs#postInteractionSettingsPref"; 626 + /** Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply. */ 627 + threadgateAllowRules?: ( 628 + | $Typed<AppBskyFeedThreadgate.MentionRule> 629 + | $Typed<AppBskyFeedThreadgate.FollowerRule> 630 + | $Typed<AppBskyFeedThreadgate.FollowingRule> 631 + | $Typed<AppBskyFeedThreadgate.ListRule> 632 + | { $type: string } 633 + )[]; 634 + /** Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed. */ 635 + postgateEmbeddingRules?: 636 + ($Typed<AppBskyFeedPostgate.DisableRule> | { $type: string })[]; 637 + } 638 + 639 + const hashPostInteractionSettingsPref = "postInteractionSettingsPref"; 640 + 641 + export function isPostInteractionSettingsPref<V>(v: V) { 642 + return is$typed(v, id, hashPostInteractionSettingsPref); 643 + } 644 + 645 + export function validatePostInteractionSettingsPref<V>(v: V) { 646 + return validate<PostInteractionSettingsPref & V>( 647 + v, 648 + id, 649 + hashPostInteractionSettingsPref, 650 + ); 651 + } 652 + 653 + export interface StatusView { 654 + $type?: "app.bsky.actor.defs#statusView"; 655 + /** The status for the account. */ 656 + status: 657 + | "app.bsky.actor.status#live" 658 + | (string & globalThis.Record<PropertyKey, never>); 659 + record: { [_ in string]: unknown }; 660 + embed?: $Typed<AppBskyEmbedExternal.View> | { $type: string }; 661 + /** The date when this status will expire. The application might choose to no longer return the status after expiration. */ 662 + expiresAt?: string; 663 + /** True if the status is not expired, false if it is expired. Only present if expiration was set. */ 664 + isActive?: boolean; 665 + } 666 + 667 + const hashStatusView = "statusView"; 668 + 669 + export function isStatusView<V>(v: V) { 670 + return is$typed(v, id, hashStatusView); 671 + } 672 + 673 + export function validateStatusView<V>(v: V) { 674 + return validate<StatusView & V>(v, id, hashStatusView); 675 + }
+27
lex-gen/generated/types/app/bsky/actor/getPreferences.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + export type InputSchema = undefined; 9 + 10 + export interface OutputSchema { 11 + preferences: AppBskyActorDefs.Preferences; 12 + } 13 + 14 + export interface CallOptions { 15 + signal?: AbortSignal; 16 + headers?: HeadersMap; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + data: OutputSchema; 23 + } 24 + 25 + export function toKnownErr(e: any) { 26 + return e; 27 + }
+27
lex-gen/generated/types/app/bsky/actor/getProfile.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Handle or DID of account to fetch profile of. */ 9 + actor: string; 10 + }; 11 + export type InputSchema = undefined; 12 + export type OutputSchema = AppBskyActorDefs.ProfileViewDetailed; 13 + 14 + export interface CallOptions { 15 + signal?: AbortSignal; 16 + headers?: HeadersMap; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + data: OutputSchema; 23 + } 24 + 25 + export function toKnownErr(e: any) { 26 + return e; 27 + }
+29
lex-gen/generated/types/app/bsky/actor/getProfiles.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + actors: string[]; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + profiles: (AppBskyActorDefs.ProfileViewDetailed)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+33
lex-gen/generated/types/app/bsky/actor/getSuggestions.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + actors: (AppBskyActorDefs.ProfileView)[]; 16 + /** Snowflake for this recommendation, use when submitting recommendation events. */ 17 + recId?: number; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+42
lex-gen/generated/types/app/bsky/actor/profile.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 8 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.actor.profile"; 12 + 13 + export interface Record { 14 + $type: "app.bsky.actor.profile"; 15 + displayName?: string; 16 + /** Free-form profile description text. */ 17 + description?: string; 18 + /** Free-form pronouns text. */ 19 + pronouns?: string; 20 + website?: string; 21 + /** Small image to be displayed next to posts from account. AKA, 'profile picture' */ 22 + avatar?: BlobRef; 23 + /** Larger horizontal image to display behind profile view. */ 24 + banner?: BlobRef; 25 + labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string }; 26 + joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main; 27 + pinnedPost?: ComAtprotoRepoStrongRef.Main; 28 + createdAt?: string; 29 + [k: string]: unknown; 30 + } 31 + 32 + const hashRecord = "main"; 33 + 34 + export function isRecord<V>(v: V) { 35 + return is$typed(v, id, hashRecord); 36 + } 37 + 38 + export function validateRecord<V>(v: V) { 39 + return validate<Record & V>(v, id, hashRecord, true); 40 + } 41 + 42 + export type Main = Record;
+27
lex-gen/generated/types/app/bsky/actor/putPreferences.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + 9 + export interface InputSchema { 10 + preferences: AppBskyActorDefs.Preferences; 11 + } 12 + 13 + export interface CallOptions { 14 + signal?: AbortSignal; 15 + headers?: HeadersMap; 16 + qp?: QueryParams; 17 + encoding?: "application/json"; 18 + } 19 + 20 + export interface Response { 21 + success: boolean; 22 + headers: HeadersMap; 23 + } 24 + 25 + export function toKnownErr(e: any) { 26 + return e; 27 + }
+35
lex-gen/generated/types/app/bsky/actor/searchActors.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** DEPRECATED: use 'q' instead. */ 9 + term?: string; 10 + /** Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */ 11 + q?: string; 12 + limit?: number; 13 + cursor?: string; 14 + }; 15 + export type InputSchema = undefined; 16 + 17 + export interface OutputSchema { 18 + cursor?: string; 19 + actors: (AppBskyActorDefs.ProfileView)[]; 20 + } 21 + 22 + export interface CallOptions { 23 + signal?: AbortSignal; 24 + headers?: HeadersMap; 25 + } 26 + 27 + export interface Response { 28 + success: boolean; 29 + headers: HeadersMap; 30 + data: OutputSchema; 31 + } 32 + 33 + export function toKnownErr(e: any) { 34 + return e; 35 + }
+33
lex-gen/generated/types/app/bsky/actor/searchActorsTypeahead.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** DEPRECATED: use 'q' instead. */ 9 + term?: string; 10 + /** Search query prefix; not a full query string. */ 11 + q?: string; 12 + limit?: number; 13 + }; 14 + export type InputSchema = undefined; 15 + 16 + export interface OutputSchema { 17 + actors: (AppBskyActorDefs.ProfileViewBasic)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+37
lex-gen/generated/types/app/bsky/actor/status.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyEmbedExternal from "../embed/external.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.actor.status"; 10 + 11 + export interface Record { 12 + $type: "app.bsky.actor.status"; 13 + /** The status for the account. */ 14 + status: 15 + | "app.bsky.actor.status#live" 16 + | (string & globalThis.Record<PropertyKey, never>); 17 + embed?: $Typed<AppBskyEmbedExternal.Main> | { $type: string }; 18 + /** The duration of the status in minutes. Applications can choose to impose minimum and maximum limits. */ 19 + durationMinutes?: number; 20 + createdAt: string; 21 + [k: string]: unknown; 22 + } 23 + 24 + const hashRecord = "main"; 25 + 26 + export function isRecord<V>(v: V) { 27 + return is$typed(v, id, hashRecord); 28 + } 29 + 30 + export function validateRecord<V>(v: V) { 31 + return validate<Record & V>(v, id, hashRecord, true); 32 + } 33 + 34 + export type Main = Record; 35 + 36 + /** Advertises an account as currently offering live content. */ 37 + export const LIVE = `${id}#live`;
+39
lex-gen/generated/types/app/bsky/bookmark/createBookmark.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + uri: string; 10 + cid: string; 11 + } 12 + 13 + export interface CallOptions { 14 + signal?: AbortSignal; 15 + headers?: HeadersMap; 16 + qp?: QueryParams; 17 + encoding?: "application/json"; 18 + } 19 + 20 + export interface Response { 21 + success: boolean; 22 + headers: HeadersMap; 23 + } 24 + 25 + export class UnsupportedCollectionError extends XRPCError { 26 + constructor(src: XRPCError) { 27 + super(src.status, src.error, src.message, src.headers, { cause: src }); 28 + } 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + if (e instanceof XRPCError) { 33 + if (e.error === "UnsupportedCollection") { 34 + return new UnsupportedCollectionError(e); 35 + } 36 + } 37 + 38 + return e; 39 + }
+47
lex-gen/generated/types/app/bsky/bookmark/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 7 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.bookmark.defs"; 11 + 12 + /** Object used to store bookmark data in stash. */ 13 + export interface Bookmark { 14 + $type?: "app.bsky.bookmark.defs#bookmark"; 15 + subject: ComAtprotoRepoStrongRef.Main; 16 + } 17 + 18 + const hashBookmark = "bookmark"; 19 + 20 + export function isBookmark<V>(v: V) { 21 + return is$typed(v, id, hashBookmark); 22 + } 23 + 24 + export function validateBookmark<V>(v: V) { 25 + return validate<Bookmark & V>(v, id, hashBookmark); 26 + } 27 + 28 + export interface BookmarkView { 29 + $type?: "app.bsky.bookmark.defs#bookmarkView"; 30 + subject: ComAtprotoRepoStrongRef.Main; 31 + createdAt?: string; 32 + item: 33 + | $Typed<AppBskyFeedDefs.BlockedPost> 34 + | $Typed<AppBskyFeedDefs.NotFoundPost> 35 + | $Typed<AppBskyFeedDefs.PostView> 36 + | { $type: string }; 37 + } 38 + 39 + const hashBookmarkView = "bookmarkView"; 40 + 41 + export function isBookmarkView<V>(v: V) { 42 + return is$typed(v, id, hashBookmarkView); 43 + } 44 + 45 + export function validateBookmarkView<V>(v: V) { 46 + return validate<BookmarkView & V>(v, id, hashBookmarkView); 47 + }
+38
lex-gen/generated/types/app/bsky/bookmark/deleteBookmark.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + uri: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export class UnsupportedCollectionError extends XRPCError { 25 + constructor(src: XRPCError) { 26 + super(src.status, src.error, src.message, src.headers, { cause: src }); 27 + } 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + if (e instanceof XRPCError) { 32 + if (e.error === "UnsupportedCollection") { 33 + return new UnsupportedCollectionError(e); 34 + } 35 + } 36 + 37 + return e; 38 + }
+31
lex-gen/generated/types/app/bsky/bookmark/getBookmarks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyBookmarkDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + bookmarks: (AppBskyBookmarkDefs.BookmarkView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+25
lex-gen/generated/types/app/bsky/embed/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.embed.defs"; 9 + 10 + /** width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. */ 11 + export interface AspectRatio { 12 + $type?: "app.bsky.embed.defs#aspectRatio"; 13 + width: number; 14 + height: number; 15 + } 16 + 17 + const hashAspectRatio = "aspectRatio"; 18 + 19 + export function isAspectRatio<V>(v: V) { 20 + return is$typed(v, id, hashAspectRatio); 21 + } 22 + 23 + export function validateAspectRatio<V>(v: V) { 24 + return validate<AspectRatio & V>(v, id, hashAspectRatio); 25 + }
+76
lex-gen/generated/types/app/bsky/embed/external.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.embed.external"; 10 + 11 + /** A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). */ 12 + export interface Main { 13 + $type?: "app.bsky.embed.external"; 14 + external: External; 15 + } 16 + 17 + const hashMain = "main"; 18 + 19 + export function isMain<V>(v: V) { 20 + return is$typed(v, id, hashMain); 21 + } 22 + 23 + export function validateMain<V>(v: V) { 24 + return validate<Main & V>(v, id, hashMain); 25 + } 26 + 27 + export interface External { 28 + $type?: "app.bsky.embed.external#external"; 29 + uri: string; 30 + title: string; 31 + description: string; 32 + thumb?: BlobRef; 33 + } 34 + 35 + const hashExternal = "external"; 36 + 37 + export function isExternal<V>(v: V) { 38 + return is$typed(v, id, hashExternal); 39 + } 40 + 41 + export function validateExternal<V>(v: V) { 42 + return validate<External & V>(v, id, hashExternal); 43 + } 44 + 45 + export interface View { 46 + $type?: "app.bsky.embed.external#view"; 47 + external: ViewExternal; 48 + } 49 + 50 + const hashView = "view"; 51 + 52 + export function isView<V>(v: V) { 53 + return is$typed(v, id, hashView); 54 + } 55 + 56 + export function validateView<V>(v: V) { 57 + return validate<View & V>(v, id, hashView); 58 + } 59 + 60 + export interface ViewExternal { 61 + $type?: "app.bsky.embed.external#viewExternal"; 62 + uri: string; 63 + title: string; 64 + description: string; 65 + thumb?: string; 66 + } 67 + 68 + const hashViewExternal = "viewExternal"; 69 + 70 + export function isViewExternal<V>(v: V) { 71 + return is$typed(v, id, hashViewExternal); 72 + } 73 + 74 + export function validateViewExternal<V>(v: V) { 75 + return validate<ViewExternal & V>(v, id, hashViewExternal); 76 + }
+79
lex-gen/generated/types/app/bsky/embed/images.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyEmbedDefs from "./defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.embed.images"; 11 + 12 + export interface Main { 13 + $type?: "app.bsky.embed.images"; 14 + images: (Image)[]; 15 + } 16 + 17 + const hashMain = "main"; 18 + 19 + export function isMain<V>(v: V) { 20 + return is$typed(v, id, hashMain); 21 + } 22 + 23 + export function validateMain<V>(v: V) { 24 + return validate<Main & V>(v, id, hashMain); 25 + } 26 + 27 + export interface Image { 28 + $type?: "app.bsky.embed.images#image"; 29 + image: BlobRef; 30 + /** Alt text description of the image, for accessibility. */ 31 + alt: string; 32 + aspectRatio?: AppBskyEmbedDefs.AspectRatio; 33 + } 34 + 35 + const hashImage = "image"; 36 + 37 + export function isImage<V>(v: V) { 38 + return is$typed(v, id, hashImage); 39 + } 40 + 41 + export function validateImage<V>(v: V) { 42 + return validate<Image & V>(v, id, hashImage); 43 + } 44 + 45 + export interface View { 46 + $type?: "app.bsky.embed.images#view"; 47 + images: (ViewImage)[]; 48 + } 49 + 50 + const hashView = "view"; 51 + 52 + export function isView<V>(v: V) { 53 + return is$typed(v, id, hashView); 54 + } 55 + 56 + export function validateView<V>(v: V) { 57 + return validate<View & V>(v, id, hashView); 58 + } 59 + 60 + export interface ViewImage { 61 + $type?: "app.bsky.embed.images#viewImage"; 62 + /** Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. */ 63 + thumb: string; 64 + /** Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. */ 65 + fullsize: string; 66 + /** Alt text description of the image, for accessibility. */ 67 + alt: string; 68 + aspectRatio?: AppBskyEmbedDefs.AspectRatio; 69 + } 70 + 71 + const hashViewImage = "viewImage"; 72 + 73 + export function isViewImage<V>(v: V) { 74 + return is$typed(v, id, hashViewImage); 75 + } 76 + 77 + export function validateViewImage<V>(v: V) { 78 + return validate<ViewImage & V>(v, id, hashViewImage); 79 + }
+139
lex-gen/generated/types/app/bsky/embed/record.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 7 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 8 + import type * as AppBskyGraphDefs from "../graph/defs.ts"; 9 + import type * as AppBskyLabelerDefs from "../labeler/defs.ts"; 10 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 11 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 12 + import type * as AppBskyEmbedImages from "./images.ts"; 13 + import type * as AppBskyEmbedVideo from "./video.ts"; 14 + import type * as AppBskyEmbedExternal from "./external.ts"; 15 + import type * as AppBskyEmbedRecordWithMedia from "./recordWithMedia.ts"; 16 + 17 + const is$typed = _is$typed, validate = _validate; 18 + const id = "app.bsky.embed.record"; 19 + 20 + export interface Main { 21 + $type?: "app.bsky.embed.record"; 22 + record: ComAtprotoRepoStrongRef.Main; 23 + } 24 + 25 + const hashMain = "main"; 26 + 27 + export function isMain<V>(v: V) { 28 + return is$typed(v, id, hashMain); 29 + } 30 + 31 + export function validateMain<V>(v: V) { 32 + return validate<Main & V>(v, id, hashMain); 33 + } 34 + 35 + export interface View { 36 + $type?: "app.bsky.embed.record#view"; 37 + record: 38 + | $Typed<ViewRecord> 39 + | $Typed<ViewNotFound> 40 + | $Typed<ViewBlocked> 41 + | $Typed<ViewDetached> 42 + | $Typed<AppBskyFeedDefs.GeneratorView> 43 + | $Typed<AppBskyGraphDefs.ListView> 44 + | $Typed<AppBskyLabelerDefs.LabelerView> 45 + | $Typed<AppBskyGraphDefs.StarterPackViewBasic> 46 + | { $type: string }; 47 + } 48 + 49 + const hashView = "view"; 50 + 51 + export function isView<V>(v: V) { 52 + return is$typed(v, id, hashView); 53 + } 54 + 55 + export function validateView<V>(v: V) { 56 + return validate<View & V>(v, id, hashView); 57 + } 58 + 59 + export interface ViewRecord { 60 + $type?: "app.bsky.embed.record#viewRecord"; 61 + uri: string; 62 + cid: string; 63 + author: AppBskyActorDefs.ProfileViewBasic; 64 + /** The record data itself. */ 65 + value: { [_ in string]: unknown }; 66 + labels?: (ComAtprotoLabelDefs.Label)[]; 67 + replyCount?: number; 68 + repostCount?: number; 69 + likeCount?: number; 70 + quoteCount?: number; 71 + embeds?: ( 72 + | $Typed<AppBskyEmbedImages.View> 73 + | $Typed<AppBskyEmbedVideo.View> 74 + | $Typed<AppBskyEmbedExternal.View> 75 + | $Typed<View> 76 + | $Typed<AppBskyEmbedRecordWithMedia.View> 77 + | { $type: string } 78 + )[]; 79 + indexedAt: string; 80 + } 81 + 82 + const hashViewRecord = "viewRecord"; 83 + 84 + export function isViewRecord<V>(v: V) { 85 + return is$typed(v, id, hashViewRecord); 86 + } 87 + 88 + export function validateViewRecord<V>(v: V) { 89 + return validate<ViewRecord & V>(v, id, hashViewRecord); 90 + } 91 + 92 + export interface ViewNotFound { 93 + $type?: "app.bsky.embed.record#viewNotFound"; 94 + uri: string; 95 + notFound: true; 96 + } 97 + 98 + const hashViewNotFound = "viewNotFound"; 99 + 100 + export function isViewNotFound<V>(v: V) { 101 + return is$typed(v, id, hashViewNotFound); 102 + } 103 + 104 + export function validateViewNotFound<V>(v: V) { 105 + return validate<ViewNotFound & V>(v, id, hashViewNotFound); 106 + } 107 + 108 + export interface ViewBlocked { 109 + $type?: "app.bsky.embed.record#viewBlocked"; 110 + uri: string; 111 + blocked: true; 112 + author: AppBskyFeedDefs.BlockedAuthor; 113 + } 114 + 115 + const hashViewBlocked = "viewBlocked"; 116 + 117 + export function isViewBlocked<V>(v: V) { 118 + return is$typed(v, id, hashViewBlocked); 119 + } 120 + 121 + export function validateViewBlocked<V>(v: V) { 122 + return validate<ViewBlocked & V>(v, id, hashViewBlocked); 123 + } 124 + 125 + export interface ViewDetached { 126 + $type?: "app.bsky.embed.record#viewDetached"; 127 + uri: string; 128 + detached: true; 129 + } 130 + 131 + const hashViewDetached = "viewDetached"; 132 + 133 + export function isViewDetached<V>(v: V) { 134 + return is$typed(v, id, hashViewDetached); 135 + } 136 + 137 + export function validateViewDetached<V>(v: V) { 138 + return validate<ViewDetached & V>(v, id, hashViewDetached); 139 + }
+52
lex-gen/generated/types/app/bsky/embed/recordWithMedia.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyEmbedRecord from "./record.ts"; 7 + import type * as AppBskyEmbedImages from "./images.ts"; 8 + import type * as AppBskyEmbedVideo from "./video.ts"; 9 + import type * as AppBskyEmbedExternal from "./external.ts"; 10 + 11 + const is$typed = _is$typed, validate = _validate; 12 + const id = "app.bsky.embed.recordWithMedia"; 13 + 14 + export interface Main { 15 + $type?: "app.bsky.embed.recordWithMedia"; 16 + record: AppBskyEmbedRecord.Main; 17 + media: 18 + | $Typed<AppBskyEmbedImages.Main> 19 + | $Typed<AppBskyEmbedVideo.Main> 20 + | $Typed<AppBskyEmbedExternal.Main> 21 + | { $type: string }; 22 + } 23 + 24 + const hashMain = "main"; 25 + 26 + export function isMain<V>(v: V) { 27 + return is$typed(v, id, hashMain); 28 + } 29 + 30 + export function validateMain<V>(v: V) { 31 + return validate<Main & V>(v, id, hashMain); 32 + } 33 + 34 + export interface View { 35 + $type?: "app.bsky.embed.recordWithMedia#view"; 36 + record: AppBskyEmbedRecord.View; 37 + media: 38 + | $Typed<AppBskyEmbedImages.View> 39 + | $Typed<AppBskyEmbedVideo.View> 40 + | $Typed<AppBskyEmbedExternal.View> 41 + | { $type: string }; 42 + } 43 + 44 + const hashView = "view"; 45 + 46 + export function isView<V>(v: V) { 47 + return is$typed(v, id, hashView); 48 + } 49 + 50 + export function validateView<V>(v: V) { 51 + return validate<View & V>(v, id, hashView); 52 + }
+65
lex-gen/generated/types/app/bsky/embed/video.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyEmbedDefs from "./defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.embed.video"; 11 + 12 + export interface Main { 13 + $type?: "app.bsky.embed.video"; 14 + /** The mp4 video file. May be up to 100mb, formerly limited to 50mb. */ 15 + video: BlobRef; 16 + captions?: (Caption)[]; 17 + /** Alt text description of the video, for accessibility. */ 18 + alt?: string; 19 + aspectRatio?: AppBskyEmbedDefs.AspectRatio; 20 + } 21 + 22 + const hashMain = "main"; 23 + 24 + export function isMain<V>(v: V) { 25 + return is$typed(v, id, hashMain); 26 + } 27 + 28 + export function validateMain<V>(v: V) { 29 + return validate<Main & V>(v, id, hashMain); 30 + } 31 + 32 + export interface Caption { 33 + $type?: "app.bsky.embed.video#caption"; 34 + lang: string; 35 + file: BlobRef; 36 + } 37 + 38 + const hashCaption = "caption"; 39 + 40 + export function isCaption<V>(v: V) { 41 + return is$typed(v, id, hashCaption); 42 + } 43 + 44 + export function validateCaption<V>(v: V) { 45 + return validate<Caption & V>(v, id, hashCaption); 46 + } 47 + 48 + export interface View { 49 + $type?: "app.bsky.embed.video#view"; 50 + cid: string; 51 + playlist: string; 52 + thumbnail?: string; 53 + alt?: string; 54 + aspectRatio?: AppBskyEmbedDefs.AspectRatio; 55 + } 56 + 57 + const hashView = "view"; 58 + 59 + export function isView<V>(v: V) { 60 + return is$typed(v, id, hashView); 61 + } 62 + 63 + export function validateView<V>(v: V) { 64 + return validate<View & V>(v, id, hashView); 65 + }
+414
lex-gen/generated/types/app/bsky/feed/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 7 + import type * as AppBskyEmbedImages from "../embed/images.ts"; 8 + import type * as AppBskyEmbedVideo from "../embed/video.ts"; 9 + import type * as AppBskyEmbedExternal from "../embed/external.ts"; 10 + import type * as AppBskyEmbedRecord from "../embed/record.ts"; 11 + import type * as AppBskyEmbedRecordWithMedia from "../embed/recordWithMedia.ts"; 12 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 13 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 14 + import type * as AppBskyGraphDefs from "../graph/defs.ts"; 15 + 16 + const is$typed = _is$typed, validate = _validate; 17 + const id = "app.bsky.feed.defs"; 18 + 19 + export interface PostView { 20 + $type?: "app.bsky.feed.defs#postView"; 21 + uri: string; 22 + cid: string; 23 + author: AppBskyActorDefs.ProfileViewBasic; 24 + record: { [_ in string]: unknown }; 25 + embed?: 26 + | $Typed<AppBskyEmbedImages.View> 27 + | $Typed<AppBskyEmbedVideo.View> 28 + | $Typed<AppBskyEmbedExternal.View> 29 + | $Typed<AppBskyEmbedRecord.View> 30 + | $Typed<AppBskyEmbedRecordWithMedia.View> 31 + | { $type: string }; 32 + bookmarkCount?: number; 33 + replyCount?: number; 34 + repostCount?: number; 35 + likeCount?: number; 36 + quoteCount?: number; 37 + indexedAt: string; 38 + viewer?: ViewerState; 39 + labels?: (ComAtprotoLabelDefs.Label)[]; 40 + threadgate?: ThreadgateView; 41 + /** Debug information for internal development */ 42 + debug?: { [_ in string]: unknown }; 43 + } 44 + 45 + const hashPostView = "postView"; 46 + 47 + export function isPostView<V>(v: V) { 48 + return is$typed(v, id, hashPostView); 49 + } 50 + 51 + export function validatePostView<V>(v: V) { 52 + return validate<PostView & V>(v, id, hashPostView); 53 + } 54 + 55 + /** Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. */ 56 + export interface ViewerState { 57 + $type?: "app.bsky.feed.defs#viewerState"; 58 + repost?: string; 59 + like?: string; 60 + bookmarked?: boolean; 61 + threadMuted?: boolean; 62 + replyDisabled?: boolean; 63 + embeddingDisabled?: boolean; 64 + pinned?: boolean; 65 + } 66 + 67 + const hashViewerState = "viewerState"; 68 + 69 + export function isViewerState<V>(v: V) { 70 + return is$typed(v, id, hashViewerState); 71 + } 72 + 73 + export function validateViewerState<V>(v: V) { 74 + return validate<ViewerState & V>(v, id, hashViewerState); 75 + } 76 + 77 + /** Metadata about this post within the context of the thread it is in. */ 78 + export interface ThreadContext { 79 + $type?: "app.bsky.feed.defs#threadContext"; 80 + rootAuthorLike?: string; 81 + } 82 + 83 + const hashThreadContext = "threadContext"; 84 + 85 + export function isThreadContext<V>(v: V) { 86 + return is$typed(v, id, hashThreadContext); 87 + } 88 + 89 + export function validateThreadContext<V>(v: V) { 90 + return validate<ThreadContext & V>(v, id, hashThreadContext); 91 + } 92 + 93 + export interface FeedViewPost { 94 + $type?: "app.bsky.feed.defs#feedViewPost"; 95 + post: PostView; 96 + reply?: ReplyRef; 97 + reason?: $Typed<ReasonRepost> | $Typed<ReasonPin> | { $type: string }; 98 + /** Context provided by feed generator that may be passed back alongside interactions. */ 99 + feedContext?: string; 100 + /** Unique identifier per request that may be passed back alongside interactions. */ 101 + reqId?: string; 102 + } 103 + 104 + const hashFeedViewPost = "feedViewPost"; 105 + 106 + export function isFeedViewPost<V>(v: V) { 107 + return is$typed(v, id, hashFeedViewPost); 108 + } 109 + 110 + export function validateFeedViewPost<V>(v: V) { 111 + return validate<FeedViewPost & V>(v, id, hashFeedViewPost); 112 + } 113 + 114 + export interface ReplyRef { 115 + $type?: "app.bsky.feed.defs#replyRef"; 116 + root: $Typed<PostView> | $Typed<NotFoundPost> | $Typed<BlockedPost> | { 117 + $type: string; 118 + }; 119 + parent: $Typed<PostView> | $Typed<NotFoundPost> | $Typed<BlockedPost> | { 120 + $type: string; 121 + }; 122 + grandparentAuthor?: AppBskyActorDefs.ProfileViewBasic; 123 + } 124 + 125 + const hashReplyRef = "replyRef"; 126 + 127 + export function isReplyRef<V>(v: V) { 128 + return is$typed(v, id, hashReplyRef); 129 + } 130 + 131 + export function validateReplyRef<V>(v: V) { 132 + return validate<ReplyRef & V>(v, id, hashReplyRef); 133 + } 134 + 135 + export interface ReasonRepost { 136 + $type?: "app.bsky.feed.defs#reasonRepost"; 137 + by: AppBskyActorDefs.ProfileViewBasic; 138 + uri?: string; 139 + cid?: string; 140 + indexedAt: string; 141 + } 142 + 143 + const hashReasonRepost = "reasonRepost"; 144 + 145 + export function isReasonRepost<V>(v: V) { 146 + return is$typed(v, id, hashReasonRepost); 147 + } 148 + 149 + export function validateReasonRepost<V>(v: V) { 150 + return validate<ReasonRepost & V>(v, id, hashReasonRepost); 151 + } 152 + 153 + export interface ReasonPin { 154 + $type?: "app.bsky.feed.defs#reasonPin"; 155 + } 156 + 157 + const hashReasonPin = "reasonPin"; 158 + 159 + export function isReasonPin<V>(v: V) { 160 + return is$typed(v, id, hashReasonPin); 161 + } 162 + 163 + export function validateReasonPin<V>(v: V) { 164 + return validate<ReasonPin & V>(v, id, hashReasonPin); 165 + } 166 + 167 + export interface ThreadViewPost { 168 + $type?: "app.bsky.feed.defs#threadViewPost"; 169 + post: PostView; 170 + parent?: 171 + | $Typed<ThreadViewPost> 172 + | $Typed<NotFoundPost> 173 + | $Typed<BlockedPost> 174 + | { $type: string }; 175 + replies?: 176 + ($Typed<ThreadViewPost> | $Typed<NotFoundPost> | $Typed<BlockedPost> | { 177 + $type: string; 178 + })[]; 179 + threadContext?: ThreadContext; 180 + } 181 + 182 + const hashThreadViewPost = "threadViewPost"; 183 + 184 + export function isThreadViewPost<V>(v: V) { 185 + return is$typed(v, id, hashThreadViewPost); 186 + } 187 + 188 + export function validateThreadViewPost<V>(v: V) { 189 + return validate<ThreadViewPost & V>(v, id, hashThreadViewPost); 190 + } 191 + 192 + export interface NotFoundPost { 193 + $type?: "app.bsky.feed.defs#notFoundPost"; 194 + uri: string; 195 + notFound: true; 196 + } 197 + 198 + const hashNotFoundPost = "notFoundPost"; 199 + 200 + export function isNotFoundPost<V>(v: V) { 201 + return is$typed(v, id, hashNotFoundPost); 202 + } 203 + 204 + export function validateNotFoundPost<V>(v: V) { 205 + return validate<NotFoundPost & V>(v, id, hashNotFoundPost); 206 + } 207 + 208 + export interface BlockedPost { 209 + $type?: "app.bsky.feed.defs#blockedPost"; 210 + uri: string; 211 + blocked: true; 212 + author: BlockedAuthor; 213 + } 214 + 215 + const hashBlockedPost = "blockedPost"; 216 + 217 + export function isBlockedPost<V>(v: V) { 218 + return is$typed(v, id, hashBlockedPost); 219 + } 220 + 221 + export function validateBlockedPost<V>(v: V) { 222 + return validate<BlockedPost & V>(v, id, hashBlockedPost); 223 + } 224 + 225 + export interface BlockedAuthor { 226 + $type?: "app.bsky.feed.defs#blockedAuthor"; 227 + did: string; 228 + viewer?: AppBskyActorDefs.ViewerState; 229 + } 230 + 231 + const hashBlockedAuthor = "blockedAuthor"; 232 + 233 + export function isBlockedAuthor<V>(v: V) { 234 + return is$typed(v, id, hashBlockedAuthor); 235 + } 236 + 237 + export function validateBlockedAuthor<V>(v: V) { 238 + return validate<BlockedAuthor & V>(v, id, hashBlockedAuthor); 239 + } 240 + 241 + export interface GeneratorView { 242 + $type?: "app.bsky.feed.defs#generatorView"; 243 + uri: string; 244 + cid: string; 245 + did: string; 246 + creator: AppBskyActorDefs.ProfileView; 247 + displayName: string; 248 + description?: string; 249 + descriptionFacets?: (AppBskyRichtextFacet.Main)[]; 250 + avatar?: string; 251 + likeCount?: number; 252 + acceptsInteractions?: boolean; 253 + labels?: (ComAtprotoLabelDefs.Label)[]; 254 + viewer?: GeneratorViewerState; 255 + contentMode?: 256 + | "app.bsky.feed.defs#contentModeUnspecified" 257 + | "app.bsky.feed.defs#contentModeVideo" 258 + | (string & globalThis.Record<PropertyKey, never>); 259 + indexedAt: string; 260 + } 261 + 262 + const hashGeneratorView = "generatorView"; 263 + 264 + export function isGeneratorView<V>(v: V) { 265 + return is$typed(v, id, hashGeneratorView); 266 + } 267 + 268 + export function validateGeneratorView<V>(v: V) { 269 + return validate<GeneratorView & V>(v, id, hashGeneratorView); 270 + } 271 + 272 + export interface GeneratorViewerState { 273 + $type?: "app.bsky.feed.defs#generatorViewerState"; 274 + like?: string; 275 + } 276 + 277 + const hashGeneratorViewerState = "generatorViewerState"; 278 + 279 + export function isGeneratorViewerState<V>(v: V) { 280 + return is$typed(v, id, hashGeneratorViewerState); 281 + } 282 + 283 + export function validateGeneratorViewerState<V>(v: V) { 284 + return validate<GeneratorViewerState & V>(v, id, hashGeneratorViewerState); 285 + } 286 + 287 + export interface SkeletonFeedPost { 288 + $type?: "app.bsky.feed.defs#skeletonFeedPost"; 289 + post: string; 290 + reason?: $Typed<SkeletonReasonRepost> | $Typed<SkeletonReasonPin> | { 291 + $type: string; 292 + }; 293 + /** Context that will be passed through to client and may be passed to feed generator back alongside interactions. */ 294 + feedContext?: string; 295 + } 296 + 297 + const hashSkeletonFeedPost = "skeletonFeedPost"; 298 + 299 + export function isSkeletonFeedPost<V>(v: V) { 300 + return is$typed(v, id, hashSkeletonFeedPost); 301 + } 302 + 303 + export function validateSkeletonFeedPost<V>(v: V) { 304 + return validate<SkeletonFeedPost & V>(v, id, hashSkeletonFeedPost); 305 + } 306 + 307 + export interface SkeletonReasonRepost { 308 + $type?: "app.bsky.feed.defs#skeletonReasonRepost"; 309 + repost: string; 310 + } 311 + 312 + const hashSkeletonReasonRepost = "skeletonReasonRepost"; 313 + 314 + export function isSkeletonReasonRepost<V>(v: V) { 315 + return is$typed(v, id, hashSkeletonReasonRepost); 316 + } 317 + 318 + export function validateSkeletonReasonRepost<V>(v: V) { 319 + return validate<SkeletonReasonRepost & V>(v, id, hashSkeletonReasonRepost); 320 + } 321 + 322 + export interface SkeletonReasonPin { 323 + $type?: "app.bsky.feed.defs#skeletonReasonPin"; 324 + } 325 + 326 + const hashSkeletonReasonPin = "skeletonReasonPin"; 327 + 328 + export function isSkeletonReasonPin<V>(v: V) { 329 + return is$typed(v, id, hashSkeletonReasonPin); 330 + } 331 + 332 + export function validateSkeletonReasonPin<V>(v: V) { 333 + return validate<SkeletonReasonPin & V>(v, id, hashSkeletonReasonPin); 334 + } 335 + 336 + export interface ThreadgateView { 337 + $type?: "app.bsky.feed.defs#threadgateView"; 338 + uri?: string; 339 + cid?: string; 340 + record?: { [_ in string]: unknown }; 341 + lists?: (AppBskyGraphDefs.ListViewBasic)[]; 342 + } 343 + 344 + const hashThreadgateView = "threadgateView"; 345 + 346 + export function isThreadgateView<V>(v: V) { 347 + return is$typed(v, id, hashThreadgateView); 348 + } 349 + 350 + export function validateThreadgateView<V>(v: V) { 351 + return validate<ThreadgateView & V>(v, id, hashThreadgateView); 352 + } 353 + 354 + export interface Interaction { 355 + $type?: "app.bsky.feed.defs#interaction"; 356 + item?: string; 357 + event?: 358 + | "app.bsky.feed.defs#requestLess" 359 + | "app.bsky.feed.defs#requestMore" 360 + | "app.bsky.feed.defs#clickthroughItem" 361 + | "app.bsky.feed.defs#clickthroughAuthor" 362 + | "app.bsky.feed.defs#clickthroughReposter" 363 + | "app.bsky.feed.defs#clickthroughEmbed" 364 + | "app.bsky.feed.defs#interactionSeen" 365 + | "app.bsky.feed.defs#interactionLike" 366 + | "app.bsky.feed.defs#interactionRepost" 367 + | "app.bsky.feed.defs#interactionReply" 368 + | "app.bsky.feed.defs#interactionQuote" 369 + | "app.bsky.feed.defs#interactionShare" 370 + | (string & globalThis.Record<PropertyKey, never>); 371 + /** Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. */ 372 + feedContext?: string; 373 + /** Unique identifier per request that may be passed back alongside interactions. */ 374 + reqId?: string; 375 + } 376 + 377 + const hashInteraction = "interaction"; 378 + 379 + export function isInteraction<V>(v: V) { 380 + return is$typed(v, id, hashInteraction); 381 + } 382 + 383 + export function validateInteraction<V>(v: V) { 384 + return validate<Interaction & V>(v, id, hashInteraction); 385 + } 386 + 387 + /** Request that less content like the given feed item be shown in the feed */ 388 + export const REQUESTLESS = `${id}#requestLess`; 389 + /** Request that more content like the given feed item be shown in the feed */ 390 + export const REQUESTMORE = `${id}#requestMore`; 391 + /** User clicked through to the feed item */ 392 + export const CLICKTHROUGHITEM = `${id}#clickthroughItem`; 393 + /** User clicked through to the author of the feed item */ 394 + export const CLICKTHROUGHAUTHOR = `${id}#clickthroughAuthor`; 395 + /** User clicked through to the reposter of the feed item */ 396 + export const CLICKTHROUGHREPOSTER = `${id}#clickthroughReposter`; 397 + /** User clicked through to the embedded content of the feed item */ 398 + export const CLICKTHROUGHEMBED = `${id}#clickthroughEmbed`; 399 + /** Declares the feed generator returns any types of posts. */ 400 + export const CONTENTMODEUNSPECIFIED = `${id}#contentModeUnspecified`; 401 + /** Declares the feed generator returns posts containing app.bsky.embed.video embeds. */ 402 + export const CONTENTMODEVIDEO = `${id}#contentModeVideo`; 403 + /** Feed item was seen by user */ 404 + export const INTERACTIONSEEN = `${id}#interactionSeen`; 405 + /** User liked the feed item */ 406 + export const INTERACTIONLIKE = `${id}#interactionLike`; 407 + /** User reposted the feed item */ 408 + export const INTERACTIONREPOST = `${id}#interactionRepost`; 409 + /** User replied to the feed item */ 410 + export const INTERACTIONREPLY = `${id}#interactionReply`; 411 + /** User quoted the feed item */ 412 + export const INTERACTIONQUOTE = `${id}#interactionQuote`; 413 + /** User shared the feed item */ 414 + export const INTERACTIONSHARE = `${id}#interactionShare`;
+64
lex-gen/generated/types/app/bsky/feed/describeFeedGenerator.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.feed.describeFeedGenerator"; 10 + 11 + export type QueryParams = globalThis.Record<PropertyKey, never>; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + did: string; 16 + feeds: (Feed)[]; 17 + links?: Links; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + } 34 + 35 + export interface Feed { 36 + $type?: "app.bsky.feed.describeFeedGenerator#feed"; 37 + uri: string; 38 + } 39 + 40 + const hashFeed = "feed"; 41 + 42 + export function isFeed<V>(v: V) { 43 + return is$typed(v, id, hashFeed); 44 + } 45 + 46 + export function validateFeed<V>(v: V) { 47 + return validate<Feed & V>(v, id, hashFeed); 48 + } 49 + 50 + export interface Links { 51 + $type?: "app.bsky.feed.describeFeedGenerator#links"; 52 + privacyPolicy?: string; 53 + termsOfService?: string; 54 + } 55 + 56 + const hashLinks = "links"; 57 + 58 + export function isLinks<V>(v: V) { 59 + return is$typed(v, id, hashLinks); 60 + } 61 + 62 + export function validateLinks<V>(v: V) { 63 + return validate<Links & V>(v, id, hashLinks); 64 + }
+41
lex-gen/generated/types/app/bsky/feed/generator.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 8 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.feed.generator"; 12 + 13 + export interface Record { 14 + $type: "app.bsky.feed.generator"; 15 + did: string; 16 + displayName: string; 17 + description?: string; 18 + descriptionFacets?: (AppBskyRichtextFacet.Main)[]; 19 + avatar?: BlobRef; 20 + /** Declaration that a feed accepts feedback interactions from a client through app.bsky.feed.sendInteractions */ 21 + acceptsInteractions?: boolean; 22 + labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string }; 23 + contentMode?: 24 + | "app.bsky.feed.defs#contentModeUnspecified" 25 + | "app.bsky.feed.defs#contentModeVideo" 26 + | (string & globalThis.Record<PropertyKey, never>); 27 + createdAt: string; 28 + [k: string]: unknown; 29 + } 30 + 31 + const hashRecord = "main"; 32 + 33 + export function isRecord<V>(v: V) { 34 + return is$typed(v, id, hashRecord); 35 + } 36 + 37 + export function validateRecord<V>(v: V) { 38 + return validate<Record & V>(v, id, hashRecord, true); 39 + } 40 + 41 + export type Main = Record;
+32
lex-gen/generated/types/app/bsky/feed/getActorFeeds.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + cursor?: string; 16 + feeds: (AppBskyFeedDefs.GeneratorView)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + }
+49
lex-gen/generated/types/app/bsky/feed/getActorLikes.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + cursor?: string; 16 + feed: (AppBskyFeedDefs.FeedViewPost)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export class BlockedActorError extends XRPCError { 31 + constructor(src: XRPCError) { 32 + super(src.status, src.error, src.message, src.headers, { cause: src }); 33 + } 34 + } 35 + 36 + export class BlockedByActorError extends XRPCError { 37 + constructor(src: XRPCError) { 38 + super(src.status, src.error, src.message, src.headers, { cause: src }); 39 + } 40 + } 41 + 42 + export function toKnownErr(e: any) { 43 + if (e instanceof XRPCError) { 44 + if (e.error === "BlockedActor") return new BlockedActorError(e); 45 + if (e.error === "BlockedByActor") return new BlockedByActorError(e); 46 + } 47 + 48 + return e; 49 + }
+58
lex-gen/generated/types/app/bsky/feed/getAuthorFeed.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + /** Combinations of post/repost types to include in response. */ 12 + filter?: 13 + | "posts_with_replies" 14 + | "posts_no_replies" 15 + | "posts_with_media" 16 + | "posts_and_author_threads" 17 + | "posts_with_video" 18 + | (string & globalThis.Record<PropertyKey, never>); 19 + includePins?: boolean; 20 + }; 21 + export type InputSchema = undefined; 22 + 23 + export interface OutputSchema { 24 + cursor?: string; 25 + feed: (AppBskyFeedDefs.FeedViewPost)[]; 26 + } 27 + 28 + export interface CallOptions { 29 + signal?: AbortSignal; 30 + headers?: HeadersMap; 31 + } 32 + 33 + export interface Response { 34 + success: boolean; 35 + headers: HeadersMap; 36 + data: OutputSchema; 37 + } 38 + 39 + export class BlockedActorError extends XRPCError { 40 + constructor(src: XRPCError) { 41 + super(src.status, src.error, src.message, src.headers, { cause: src }); 42 + } 43 + } 44 + 45 + export class BlockedByActorError extends XRPCError { 46 + constructor(src: XRPCError) { 47 + super(src.status, src.error, src.message, src.headers, { cause: src }); 48 + } 49 + } 50 + 51 + export function toKnownErr(e: any) { 52 + if (e instanceof XRPCError) { 53 + if (e.error === "BlockedActor") return new BlockedActorError(e); 54 + if (e.error === "BlockedByActor") return new BlockedByActorError(e); 55 + } 56 + 57 + return e; 58 + }
+42
lex-gen/generated/types/app/bsky/feed/getFeed.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + feed: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + cursor?: string; 16 + feed: (AppBskyFeedDefs.FeedViewPost)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export class UnknownFeedError extends XRPCError { 31 + constructor(src: XRPCError) { 32 + super(src.status, src.error, src.message, src.headers, { cause: src }); 33 + } 34 + } 35 + 36 + export function toKnownErr(e: any) { 37 + if (e instanceof XRPCError) { 38 + if (e.error === "UnknownFeed") return new UnknownFeedError(e); 39 + } 40 + 41 + return e; 42 + }
+34
lex-gen/generated/types/app/bsky/feed/getFeedGenerator.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** AT-URI of the feed generator record. */ 9 + feed: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + view: AppBskyFeedDefs.GeneratorView; 15 + /** Indicates whether the feed generator service has been online recently, or else seems to be inactive. */ 16 + isOnline: boolean; 17 + /** Indicates whether the feed generator service is compatible with the record declaration. */ 18 + isValid: boolean; 19 + } 20 + 21 + export interface CallOptions { 22 + signal?: AbortSignal; 23 + headers?: HeadersMap; 24 + } 25 + 26 + export interface Response { 27 + success: boolean; 28 + headers: HeadersMap; 29 + data: OutputSchema; 30 + } 31 + 32 + export function toKnownErr(e: any) { 33 + return e; 34 + }
+29
lex-gen/generated/types/app/bsky/feed/getFeedGenerators.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + feeds: string[]; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + feeds: (AppBskyFeedDefs.GeneratorView)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+45
lex-gen/generated/types/app/bsky/feed/getFeedSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference to feed generator record describing the specific feed being requested. */ 9 + feed: string; 10 + limit?: number; 11 + cursor?: string; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + cursor?: string; 17 + feed: (AppBskyFeedDefs.SkeletonFeedPost)[]; 18 + /** Unique identifier per request that may be passed back alongside interactions. */ 19 + reqId?: string; 20 + } 21 + 22 + export interface CallOptions { 23 + signal?: AbortSignal; 24 + headers?: HeadersMap; 25 + } 26 + 27 + export interface Response { 28 + success: boolean; 29 + headers: HeadersMap; 30 + data: OutputSchema; 31 + } 32 + 33 + export class UnknownFeedError extends XRPCError { 34 + constructor(src: XRPCError) { 35 + super(src.status, src.error, src.message, src.headers, { cause: src }); 36 + } 37 + } 38 + 39 + export function toKnownErr(e: any) { 40 + if (e instanceof XRPCError) { 41 + if (e.error === "UnknownFeed") return new UnknownFeedError(e); 42 + } 43 + 44 + return e; 45 + }
+59
lex-gen/generated/types/app/bsky/feed/getLikes.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.feed.getLikes"; 11 + 12 + export type QueryParams = { 13 + /** AT-URI of the subject (eg, a post record). */ 14 + uri: string; 15 + /** CID of the subject record (aka, specific version of record), to filter likes. */ 16 + cid?: string; 17 + limit?: number; 18 + cursor?: string; 19 + }; 20 + export type InputSchema = undefined; 21 + 22 + export interface OutputSchema { 23 + uri: string; 24 + cid?: string; 25 + cursor?: string; 26 + likes: (Like)[]; 27 + } 28 + 29 + export interface CallOptions { 30 + signal?: AbortSignal; 31 + headers?: HeadersMap; 32 + } 33 + 34 + export interface Response { 35 + success: boolean; 36 + headers: HeadersMap; 37 + data: OutputSchema; 38 + } 39 + 40 + export function toKnownErr(e: any) { 41 + return e; 42 + } 43 + 44 + export interface Like { 45 + $type?: "app.bsky.feed.getLikes#like"; 46 + indexedAt: string; 47 + createdAt: string; 48 + actor: AppBskyActorDefs.ProfileView; 49 + } 50 + 51 + const hashLike = "like"; 52 + 53 + export function isLike<V>(v: V) { 54 + return is$typed(v, id, hashLike); 55 + } 56 + 57 + export function validateLike<V>(v: V) { 58 + return validate<Like & V>(v, id, hashLike); 59 + }
+43
lex-gen/generated/types/app/bsky/feed/getListFeed.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference (AT-URI) to the list record. */ 9 + list: string; 10 + limit?: number; 11 + cursor?: string; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + cursor?: string; 17 + feed: (AppBskyFeedDefs.FeedViewPost)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export class UnknownListError extends XRPCError { 32 + constructor(src: XRPCError) { 33 + super(src.status, src.error, src.message, src.headers, { cause: src }); 34 + } 35 + } 36 + 37 + export function toKnownErr(e: any) { 38 + if (e instanceof XRPCError) { 39 + if (e.error === "UnknownList") return new UnknownListError(e); 40 + } 41 + 42 + return e; 43 + }
+50
lex-gen/generated/types/app/bsky/feed/getPostThread.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type { $Typed } from "../../../../util.ts"; 6 + import type * as AppBskyFeedDefs from "./defs.ts"; 7 + 8 + export type QueryParams = { 9 + /** Reference (AT-URI) to post record. */ 10 + uri: string; 11 + /** How many levels of reply depth should be included in response. */ 12 + depth?: number; 13 + /** How many levels of parent (and grandparent, etc) post to include. */ 14 + parentHeight?: number; 15 + }; 16 + export type InputSchema = undefined; 17 + 18 + export interface OutputSchema { 19 + thread: 20 + | $Typed<AppBskyFeedDefs.ThreadViewPost> 21 + | $Typed<AppBskyFeedDefs.NotFoundPost> 22 + | $Typed<AppBskyFeedDefs.BlockedPost> 23 + | { $type: string }; 24 + threadgate?: AppBskyFeedDefs.ThreadgateView; 25 + } 26 + 27 + export interface CallOptions { 28 + signal?: AbortSignal; 29 + headers?: HeadersMap; 30 + } 31 + 32 + export interface Response { 33 + success: boolean; 34 + headers: HeadersMap; 35 + data: OutputSchema; 36 + } 37 + 38 + export class NotFoundError extends XRPCError { 39 + constructor(src: XRPCError) { 40 + super(src.status, src.error, src.message, src.headers, { cause: src }); 41 + } 42 + } 43 + 44 + export function toKnownErr(e: any) { 45 + if (e instanceof XRPCError) { 46 + if (e.error === "NotFound") return new NotFoundError(e); 47 + } 48 + 49 + return e; 50 + }
+30
lex-gen/generated/types/app/bsky/feed/getPosts.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** List of post AT-URIs to return hydrated views for. */ 9 + uris: string[]; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + posts: (AppBskyFeedDefs.PostView)[]; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+37
lex-gen/generated/types/app/bsky/feed/getQuotes.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference (AT-URI) of post record */ 9 + uri: string; 10 + /** If supplied, filters to quotes of specific version (by CID) of the post record. */ 11 + cid?: string; 12 + limit?: number; 13 + cursor?: string; 14 + }; 15 + export type InputSchema = undefined; 16 + 17 + export interface OutputSchema { 18 + uri: string; 19 + cid?: string; 20 + cursor?: string; 21 + posts: (AppBskyFeedDefs.PostView)[]; 22 + } 23 + 24 + export interface CallOptions { 25 + signal?: AbortSignal; 26 + headers?: HeadersMap; 27 + } 28 + 29 + export interface Response { 30 + success: boolean; 31 + headers: HeadersMap; 32 + data: OutputSchema; 33 + } 34 + 35 + export function toKnownErr(e: any) { 36 + return e; 37 + }
+37
lex-gen/generated/types/app/bsky/feed/getRepostedBy.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference (AT-URI) of post record */ 9 + uri: string; 10 + /** If supplied, filters to reposts of specific version (by CID) of the post record. */ 11 + cid?: string; 12 + limit?: number; 13 + cursor?: string; 14 + }; 15 + export type InputSchema = undefined; 16 + 17 + export interface OutputSchema { 18 + uri: string; 19 + cid?: string; 20 + cursor?: string; 21 + repostedBy: (AppBskyActorDefs.ProfileView)[]; 22 + } 23 + 24 + export interface CallOptions { 25 + signal?: AbortSignal; 26 + headers?: HeadersMap; 27 + } 28 + 29 + export interface Response { 30 + success: boolean; 31 + headers: HeadersMap; 32 + data: OutputSchema; 33 + } 34 + 35 + export function toKnownErr(e: any) { 36 + return e; 37 + }
+31
lex-gen/generated/types/app/bsky/feed/getSuggestedFeeds.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + feeds: (AppBskyFeedDefs.GeneratorView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+33
lex-gen/generated/types/app/bsky/feed/getTimeline.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism. */ 9 + algorithm?: string; 10 + limit?: number; 11 + cursor?: string; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + cursor?: string; 17 + feed: (AppBskyFeedDefs.FeedViewPost)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+29
lex-gen/generated/types/app/bsky/feed/like.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.feed.like"; 10 + 11 + export interface Record { 12 + $type: "app.bsky.feed.like"; 13 + subject: ComAtprotoRepoStrongRef.Main; 14 + createdAt: string; 15 + via?: ComAtprotoRepoStrongRef.Main; 16 + [k: string]: unknown; 17 + } 18 + 19 + const hashRecord = "main"; 20 + 21 + export function isRecord<V>(v: V) { 22 + return is$typed(v, id, hashRecord); 23 + } 24 + 25 + export function validateRecord<V>(v: V) { 26 + return validate<Record & V>(v, id, hashRecord, true); 27 + } 28 + 29 + export type Main = Record;
+106
lex-gen/generated/types/app/bsky/feed/post.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 7 + import type * as AppBskyEmbedImages from "../embed/images.ts"; 8 + import type * as AppBskyEmbedVideo from "../embed/video.ts"; 9 + import type * as AppBskyEmbedExternal from "../embed/external.ts"; 10 + import type * as AppBskyEmbedRecord from "../embed/record.ts"; 11 + import type * as AppBskyEmbedRecordWithMedia from "../embed/recordWithMedia.ts"; 12 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 13 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 14 + 15 + const is$typed = _is$typed, validate = _validate; 16 + const id = "app.bsky.feed.post"; 17 + 18 + export interface Record { 19 + $type: "app.bsky.feed.post"; 20 + /** The primary post content. May be an empty string, if there are embeds. */ 21 + text: string; 22 + /** DEPRECATED: replaced by app.bsky.richtext.facet. */ 23 + entities?: (Entity)[]; 24 + /** Annotations of text (mentions, URLs, hashtags, etc) */ 25 + facets?: (AppBskyRichtextFacet.Main)[]; 26 + reply?: ReplyRef; 27 + embed?: 28 + | $Typed<AppBskyEmbedImages.Main> 29 + | $Typed<AppBskyEmbedVideo.Main> 30 + | $Typed<AppBskyEmbedExternal.Main> 31 + | $Typed<AppBskyEmbedRecord.Main> 32 + | $Typed<AppBskyEmbedRecordWithMedia.Main> 33 + | { $type: string }; 34 + /** Indicates human language of post primary text content. */ 35 + langs?: (string)[]; 36 + labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string }; 37 + /** Additional hashtags, in addition to any included in post text and facets. */ 38 + tags?: (string)[]; 39 + /** Client-declared timestamp when this post was originally created. */ 40 + createdAt: string; 41 + [k: string]: unknown; 42 + } 43 + 44 + const hashRecord = "main"; 45 + 46 + export function isRecord<V>(v: V) { 47 + return is$typed(v, id, hashRecord); 48 + } 49 + 50 + export function validateRecord<V>(v: V) { 51 + return validate<Record & V>(v, id, hashRecord, true); 52 + } 53 + 54 + export type Main = Record; 55 + 56 + export interface ReplyRef { 57 + $type?: "app.bsky.feed.post#replyRef"; 58 + root: ComAtprotoRepoStrongRef.Main; 59 + parent: ComAtprotoRepoStrongRef.Main; 60 + } 61 + 62 + const hashReplyRef = "replyRef"; 63 + 64 + export function isReplyRef<V>(v: V) { 65 + return is$typed(v, id, hashReplyRef); 66 + } 67 + 68 + export function validateReplyRef<V>(v: V) { 69 + return validate<ReplyRef & V>(v, id, hashReplyRef); 70 + } 71 + 72 + /** Deprecated: use facets instead. */ 73 + export interface Entity { 74 + $type?: "app.bsky.feed.post#entity"; 75 + index: TextSlice; 76 + /** Expected values are 'mention' and 'link'. */ 77 + type: string; 78 + value: string; 79 + } 80 + 81 + const hashEntity = "entity"; 82 + 83 + export function isEntity<V>(v: V) { 84 + return is$typed(v, id, hashEntity); 85 + } 86 + 87 + export function validateEntity<V>(v: V) { 88 + return validate<Entity & V>(v, id, hashEntity); 89 + } 90 + 91 + /** Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings. */ 92 + export interface TextSlice { 93 + $type?: "app.bsky.feed.post#textSlice"; 94 + start: number; 95 + end: number; 96 + } 97 + 98 + const hashTextSlice = "textSlice"; 99 + 100 + export function isTextSlice<V>(v: V) { 101 + return is$typed(v, id, hashTextSlice); 102 + } 103 + 104 + export function validateTextSlice<V>(v: V) { 105 + return validate<TextSlice & V>(v, id, hashTextSlice); 106 + }
+47
lex-gen/generated/types/app/bsky/feed/postgate.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.feed.postgate"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.feed.postgate"; 12 + createdAt: string; 13 + /** Reference (AT-URI) to the post record. */ 14 + post: string; 15 + /** List of AT-URIs embedding this post that the author has detached from. */ 16 + detachedEmbeddingUris?: (string)[]; 17 + /** List of rules defining who can embed this post. If value is an empty array or is undefined, no particular rules apply and anyone can embed. */ 18 + embeddingRules?: ($Typed<DisableRule> | { $type: string })[]; 19 + [k: string]: unknown; 20 + } 21 + 22 + const hashRecord = "main"; 23 + 24 + export function isRecord<V>(v: V) { 25 + return is$typed(v, id, hashRecord); 26 + } 27 + 28 + export function validateRecord<V>(v: V) { 29 + return validate<Record & V>(v, id, hashRecord, true); 30 + } 31 + 32 + export type Main = Record; 33 + 34 + /** Disables embedding of this post. */ 35 + export interface DisableRule { 36 + $type?: "app.bsky.feed.postgate#disableRule"; 37 + } 38 + 39 + const hashDisableRule = "disableRule"; 40 + 41 + export function isDisableRule<V>(v: V) { 42 + return is$typed(v, id, hashDisableRule); 43 + } 44 + 45 + export function validateDisableRule<V>(v: V) { 46 + return validate<DisableRule & V>(v, id, hashDisableRule); 47 + }
+29
lex-gen/generated/types/app/bsky/feed/repost.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.feed.repost"; 10 + 11 + export interface Record { 12 + $type: "app.bsky.feed.repost"; 13 + subject: ComAtprotoRepoStrongRef.Main; 14 + createdAt: string; 15 + via?: ComAtprotoRepoStrongRef.Main; 16 + [k: string]: unknown; 17 + } 18 + 19 + const hashRecord = "main"; 20 + 21 + export function isRecord<V>(v: V) { 22 + return is$typed(v, id, hashRecord); 23 + } 24 + 25 + export function validateRecord<V>(v: V) { 26 + return validate<Record & V>(v, id, hashRecord, true); 27 + } 28 + 29 + export type Main = Record;
+64
lex-gen/generated/types/app/bsky/feed/searchPosts.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */ 9 + q: string; 10 + /** Specifies the ranking order of results. */ 11 + sort?: "top" | "latest" | (string & globalThis.Record<PropertyKey, never>); 12 + /** Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). */ 13 + since?: string; 14 + /** Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). */ 15 + until?: string; 16 + /** Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. */ 17 + mentions?: string; 18 + /** Filter to posts by the given account. Handles are resolved to DID before query-time. */ 19 + author?: string; 20 + /** Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. */ 21 + lang?: string; 22 + /** Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. */ 23 + domain?: string; 24 + /** Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. */ 25 + url?: string; 26 + /** Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. */ 27 + tag?: string[]; 28 + limit?: number; 29 + /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */ 30 + cursor?: string; 31 + }; 32 + export type InputSchema = undefined; 33 + 34 + export interface OutputSchema { 35 + cursor?: string; 36 + /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */ 37 + hitsTotal?: number; 38 + posts: (AppBskyFeedDefs.PostView)[]; 39 + } 40 + 41 + export interface CallOptions { 42 + signal?: AbortSignal; 43 + headers?: HeadersMap; 44 + } 45 + 46 + export interface Response { 47 + success: boolean; 48 + headers: HeadersMap; 49 + data: OutputSchema; 50 + } 51 + 52 + export class BadQueryStringError extends XRPCError { 53 + constructor(src: XRPCError) { 54 + super(src.status, src.error, src.message, src.headers, { cause: src }); 55 + } 56 + } 57 + 58 + export function toKnownErr(e: any) { 59 + if (e instanceof XRPCError) { 60 + if (e.error === "BadQueryString") return new BadQueryStringError(e); 61 + } 62 + 63 + return e; 64 + }
+30
lex-gen/generated/types/app/bsky/feed/sendInteractions.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + 9 + export interface InputSchema { 10 + interactions: (AppBskyFeedDefs.Interaction)[]; 11 + } 12 + 13 + export type OutputSchema = globalThis.Record<PropertyKey, never>; 14 + 15 + export interface CallOptions { 16 + signal?: AbortSignal; 17 + headers?: HeadersMap; 18 + qp?: QueryParams; 19 + encoding?: "application/json"; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+99
lex-gen/generated/types/app/bsky/feed/threadgate.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.feed.threadgate"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.feed.threadgate"; 12 + /** Reference (AT-URI) to the post record. */ 13 + post: string; 14 + /** List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply. */ 15 + allow?: ( 16 + | $Typed<MentionRule> 17 + | $Typed<FollowerRule> 18 + | $Typed<FollowingRule> 19 + | $Typed<ListRule> 20 + | { $type: string } 21 + )[]; 22 + createdAt: string; 23 + /** List of hidden reply URIs. */ 24 + hiddenReplies?: (string)[]; 25 + [k: string]: unknown; 26 + } 27 + 28 + const hashRecord = "main"; 29 + 30 + export function isRecord<V>(v: V) { 31 + return is$typed(v, id, hashRecord); 32 + } 33 + 34 + export function validateRecord<V>(v: V) { 35 + return validate<Record & V>(v, id, hashRecord, true); 36 + } 37 + 38 + export type Main = Record; 39 + 40 + /** Allow replies from actors mentioned in your post. */ 41 + export interface MentionRule { 42 + $type?: "app.bsky.feed.threadgate#mentionRule"; 43 + } 44 + 45 + const hashMentionRule = "mentionRule"; 46 + 47 + export function isMentionRule<V>(v: V) { 48 + return is$typed(v, id, hashMentionRule); 49 + } 50 + 51 + export function validateMentionRule<V>(v: V) { 52 + return validate<MentionRule & V>(v, id, hashMentionRule); 53 + } 54 + 55 + /** Allow replies from actors who follow you. */ 56 + export interface FollowerRule { 57 + $type?: "app.bsky.feed.threadgate#followerRule"; 58 + } 59 + 60 + const hashFollowerRule = "followerRule"; 61 + 62 + export function isFollowerRule<V>(v: V) { 63 + return is$typed(v, id, hashFollowerRule); 64 + } 65 + 66 + export function validateFollowerRule<V>(v: V) { 67 + return validate<FollowerRule & V>(v, id, hashFollowerRule); 68 + } 69 + 70 + /** Allow replies from actors you follow. */ 71 + export interface FollowingRule { 72 + $type?: "app.bsky.feed.threadgate#followingRule"; 73 + } 74 + 75 + const hashFollowingRule = "followingRule"; 76 + 77 + export function isFollowingRule<V>(v: V) { 78 + return is$typed(v, id, hashFollowingRule); 79 + } 80 + 81 + export function validateFollowingRule<V>(v: V) { 82 + return validate<FollowingRule & V>(v, id, hashFollowingRule); 83 + } 84 + 85 + /** Allow replies from actors on a list. */ 86 + export interface ListRule { 87 + $type?: "app.bsky.feed.threadgate#listRule"; 88 + list: string; 89 + } 90 + 91 + const hashListRule = "listRule"; 92 + 93 + export function isListRule<V>(v: V) { 94 + return is$typed(v, id, hashListRule); 95 + } 96 + 97 + export function validateListRule<V>(v: V) { 98 + return validate<ListRule & V>(v, id, hashListRule); 99 + }
+28
lex-gen/generated/types/app/bsky/graph/block.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.graph.block"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.graph.block"; 12 + /** DID of the account to be blocked. */ 13 + subject: string; 14 + createdAt: string; 15 + [k: string]: unknown; 16 + } 17 + 18 + const hashRecord = "main"; 19 + 20 + export function isRecord<V>(v: V) { 21 + return is$typed(v, id, hashRecord); 22 + } 23 + 24 + export function validateRecord<V>(v: V) { 25 + return validate<Record & V>(v, id, hashRecord, true); 26 + } 27 + 28 + export type Main = Record;
+191
lex-gen/generated/types/app/bsky/graph/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 7 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 8 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 9 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 10 + 11 + const is$typed = _is$typed, validate = _validate; 12 + const id = "app.bsky.graph.defs"; 13 + 14 + export interface ListViewBasic { 15 + $type?: "app.bsky.graph.defs#listViewBasic"; 16 + uri: string; 17 + cid: string; 18 + name: string; 19 + purpose: ListPurpose; 20 + avatar?: string; 21 + listItemCount?: number; 22 + labels?: (ComAtprotoLabelDefs.Label)[]; 23 + viewer?: ListViewerState; 24 + indexedAt?: string; 25 + } 26 + 27 + const hashListViewBasic = "listViewBasic"; 28 + 29 + export function isListViewBasic<V>(v: V) { 30 + return is$typed(v, id, hashListViewBasic); 31 + } 32 + 33 + export function validateListViewBasic<V>(v: V) { 34 + return validate<ListViewBasic & V>(v, id, hashListViewBasic); 35 + } 36 + 37 + export interface ListView { 38 + $type?: "app.bsky.graph.defs#listView"; 39 + uri: string; 40 + cid: string; 41 + creator: AppBskyActorDefs.ProfileView; 42 + name: string; 43 + purpose: ListPurpose; 44 + description?: string; 45 + descriptionFacets?: (AppBskyRichtextFacet.Main)[]; 46 + avatar?: string; 47 + listItemCount?: number; 48 + labels?: (ComAtprotoLabelDefs.Label)[]; 49 + viewer?: ListViewerState; 50 + indexedAt: string; 51 + } 52 + 53 + const hashListView = "listView"; 54 + 55 + export function isListView<V>(v: V) { 56 + return is$typed(v, id, hashListView); 57 + } 58 + 59 + export function validateListView<V>(v: V) { 60 + return validate<ListView & V>(v, id, hashListView); 61 + } 62 + 63 + export interface ListItemView { 64 + $type?: "app.bsky.graph.defs#listItemView"; 65 + uri: string; 66 + subject: AppBskyActorDefs.ProfileView; 67 + } 68 + 69 + const hashListItemView = "listItemView"; 70 + 71 + export function isListItemView<V>(v: V) { 72 + return is$typed(v, id, hashListItemView); 73 + } 74 + 75 + export function validateListItemView<V>(v: V) { 76 + return validate<ListItemView & V>(v, id, hashListItemView); 77 + } 78 + 79 + export interface StarterPackView { 80 + $type?: "app.bsky.graph.defs#starterPackView"; 81 + uri: string; 82 + cid: string; 83 + record: { [_ in string]: unknown }; 84 + creator: AppBskyActorDefs.ProfileViewBasic; 85 + list?: ListViewBasic; 86 + listItemsSample?: (ListItemView)[]; 87 + feeds?: (AppBskyFeedDefs.GeneratorView)[]; 88 + joinedWeekCount?: number; 89 + joinedAllTimeCount?: number; 90 + labels?: (ComAtprotoLabelDefs.Label)[]; 91 + indexedAt: string; 92 + } 93 + 94 + const hashStarterPackView = "starterPackView"; 95 + 96 + export function isStarterPackView<V>(v: V) { 97 + return is$typed(v, id, hashStarterPackView); 98 + } 99 + 100 + export function validateStarterPackView<V>(v: V) { 101 + return validate<StarterPackView & V>(v, id, hashStarterPackView); 102 + } 103 + 104 + export interface StarterPackViewBasic { 105 + $type?: "app.bsky.graph.defs#starterPackViewBasic"; 106 + uri: string; 107 + cid: string; 108 + record: { [_ in string]: unknown }; 109 + creator: AppBskyActorDefs.ProfileViewBasic; 110 + listItemCount?: number; 111 + joinedWeekCount?: number; 112 + joinedAllTimeCount?: number; 113 + labels?: (ComAtprotoLabelDefs.Label)[]; 114 + indexedAt: string; 115 + } 116 + 117 + const hashStarterPackViewBasic = "starterPackViewBasic"; 118 + 119 + export function isStarterPackViewBasic<V>(v: V) { 120 + return is$typed(v, id, hashStarterPackViewBasic); 121 + } 122 + 123 + export function validateStarterPackViewBasic<V>(v: V) { 124 + return validate<StarterPackViewBasic & V>(v, id, hashStarterPackViewBasic); 125 + } 126 + 127 + export type ListPurpose = 128 + | "app.bsky.graph.defs#modlist" 129 + | "app.bsky.graph.defs#curatelist" 130 + | "app.bsky.graph.defs#referencelist" 131 + | (string & globalThis.Record<PropertyKey, never>); 132 + 133 + /** A list of actors to apply an aggregate moderation action (mute/block) on. */ 134 + export const MODLIST = `${id}#modlist`; 135 + /** A list of actors used for curation purposes such as list feeds or interaction gating. */ 136 + export const CURATELIST = `${id}#curatelist`; 137 + /** A list of actors used for only for reference purposes such as within a starter pack. */ 138 + export const REFERENCELIST = `${id}#referencelist`; 139 + 140 + export interface ListViewerState { 141 + $type?: "app.bsky.graph.defs#listViewerState"; 142 + muted?: boolean; 143 + blocked?: string; 144 + } 145 + 146 + const hashListViewerState = "listViewerState"; 147 + 148 + export function isListViewerState<V>(v: V) { 149 + return is$typed(v, id, hashListViewerState); 150 + } 151 + 152 + export function validateListViewerState<V>(v: V) { 153 + return validate<ListViewerState & V>(v, id, hashListViewerState); 154 + } 155 + 156 + /** indicates that a handle or DID could not be resolved */ 157 + export interface NotFoundActor { 158 + $type?: "app.bsky.graph.defs#notFoundActor"; 159 + actor: string; 160 + notFound: true; 161 + } 162 + 163 + const hashNotFoundActor = "notFoundActor"; 164 + 165 + export function isNotFoundActor<V>(v: V) { 166 + return is$typed(v, id, hashNotFoundActor); 167 + } 168 + 169 + export function validateNotFoundActor<V>(v: V) { 170 + return validate<NotFoundActor & V>(v, id, hashNotFoundActor); 171 + } 172 + 173 + /** lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) */ 174 + export interface Relationship { 175 + $type?: "app.bsky.graph.defs#relationship"; 176 + did: string; 177 + /** if the actor follows this DID, this is the AT-URI of the follow record */ 178 + following?: string; 179 + /** if the actor is followed by this DID, contains the AT-URI of the follow record */ 180 + followedBy?: string; 181 + } 182 + 183 + const hashRelationship = "relationship"; 184 + 185 + export function isRelationship<V>(v: V) { 186 + return is$typed(v, id, hashRelationship); 187 + } 188 + 189 + export function validateRelationship<V>(v: V) { 190 + return validate<Relationship & V>(v, id, hashRelationship); 191 + }
+29
lex-gen/generated/types/app/bsky/graph/follow.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as ComAtprotoRepoStrongRef from "@example/lexicons"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.graph.follow"; 10 + 11 + export interface Record { 12 + $type: "app.bsky.graph.follow"; 13 + subject: string; 14 + createdAt: string; 15 + via?: ComAtprotoRepoStrongRef.Main; 16 + [k: string]: unknown; 17 + } 18 + 19 + const hashRecord = "main"; 20 + 21 + export function isRecord<V>(v: V) { 22 + return is$typed(v, id, hashRecord); 23 + } 24 + 25 + export function validateRecord<V>(v: V) { 26 + return validate<Record & V>(v, id, hashRecord, true); 27 + } 28 + 29 + export type Main = Record;
+32
lex-gen/generated/types/app/bsky/graph/getActorStarterPacks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + cursor?: string; 16 + starterPacks: (AppBskyGraphDefs.StarterPackViewBasic)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + }
+31
lex-gen/generated/types/app/bsky/graph/getBlocks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + blocks: (AppBskyActorDefs.ProfileView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+33
lex-gen/generated/types/app/bsky/graph/getFollowers.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + subject: AppBskyActorDefs.ProfileView; 16 + cursor?: string; 17 + followers: (AppBskyActorDefs.ProfileView)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+33
lex-gen/generated/types/app/bsky/graph/getFollows.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + subject: AppBskyActorDefs.ProfileView; 16 + cursor?: string; 17 + follows: (AppBskyActorDefs.ProfileView)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+33
lex-gen/generated/types/app/bsky/graph/getKnownFollowers.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + limit?: number; 10 + cursor?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + subject: AppBskyActorDefs.ProfileView; 16 + cursor?: string; 17 + followers: (AppBskyActorDefs.ProfileView)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+34
lex-gen/generated/types/app/bsky/graph/getList.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference (AT-URI) of the list record to hydrate. */ 9 + list: string; 10 + limit?: number; 11 + cursor?: string; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + cursor?: string; 17 + list: AppBskyGraphDefs.ListView; 18 + items: (AppBskyGraphDefs.ListItemView)[]; 19 + } 20 + 21 + export interface CallOptions { 22 + signal?: AbortSignal; 23 + headers?: HeadersMap; 24 + } 25 + 26 + export interface Response { 27 + success: boolean; 28 + headers: HeadersMap; 29 + data: OutputSchema; 30 + } 31 + 32 + export function toKnownErr(e: any) { 33 + return e; 34 + }
+31
lex-gen/generated/types/app/bsky/graph/getListBlocks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + lists: (AppBskyGraphDefs.ListView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+31
lex-gen/generated/types/app/bsky/graph/getListMutes.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + lists: (AppBskyGraphDefs.ListView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+38
lex-gen/generated/types/app/bsky/graph/getLists.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** The account (actor) to enumerate lists from. */ 9 + actor: string; 10 + limit?: number; 11 + cursor?: string; 12 + /** Optional filter by list purpose. If not specified, all supported types are returned. */ 13 + purposes?: 14 + | "modlist" 15 + | "curatelist" 16 + | (string & globalThis.Record<PropertyKey, never>)[]; 17 + }; 18 + export type InputSchema = undefined; 19 + 20 + export interface OutputSchema { 21 + cursor?: string; 22 + lists: (AppBskyGraphDefs.ListView)[]; 23 + } 24 + 25 + export interface CallOptions { 26 + signal?: AbortSignal; 27 + headers?: HeadersMap; 28 + } 29 + 30 + export interface Response { 31 + success: boolean; 32 + headers: HeadersMap; 33 + data: OutputSchema; 34 + } 35 + 36 + export function toKnownErr(e: any) { 37 + return e; 38 + }
+60
lex-gen/generated/types/app/bsky/graph/getListsWithMembership.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyGraphDefs from "./defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.graph.getListsWithMembership"; 11 + 12 + export type QueryParams = { 13 + /** The account (actor) to check for membership. */ 14 + actor: string; 15 + limit?: number; 16 + cursor?: string; 17 + /** Optional filter by list purpose. If not specified, all supported types are returned. */ 18 + purposes?: 19 + | "modlist" 20 + | "curatelist" 21 + | (string & globalThis.Record<PropertyKey, never>)[]; 22 + }; 23 + export type InputSchema = undefined; 24 + 25 + export interface OutputSchema { 26 + cursor?: string; 27 + listsWithMembership: (ListWithMembership)[]; 28 + } 29 + 30 + export interface CallOptions { 31 + signal?: AbortSignal; 32 + headers?: HeadersMap; 33 + } 34 + 35 + export interface Response { 36 + success: boolean; 37 + headers: HeadersMap; 38 + data: OutputSchema; 39 + } 40 + 41 + export function toKnownErr(e: any) { 42 + return e; 43 + } 44 + 45 + /** A list and an optional list item indicating membership of a target user to that list. */ 46 + export interface ListWithMembership { 47 + $type?: "app.bsky.graph.getListsWithMembership#listWithMembership"; 48 + list: AppBskyGraphDefs.ListView; 49 + listItem?: AppBskyGraphDefs.ListItemView; 50 + } 51 + 52 + const hashListWithMembership = "listWithMembership"; 53 + 54 + export function isListWithMembership<V>(v: V) { 55 + return is$typed(v, id, hashListWithMembership); 56 + } 57 + 58 + export function validateListWithMembership<V>(v: V) { 59 + return validate<ListWithMembership & V>(v, id, hashListWithMembership); 60 + }
+31
lex-gen/generated/types/app/bsky/graph/getMutes.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + mutes: (AppBskyActorDefs.ProfileView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+48
lex-gen/generated/types/app/bsky/graph/getRelationships.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type { $Typed } from "../../../../util.ts"; 6 + import type * as AppBskyGraphDefs from "./defs.ts"; 7 + 8 + export type QueryParams = { 9 + /** Primary account requesting relationships for. */ 10 + actor: string; 11 + /** List of 'other' accounts to be related back to the primary. */ 12 + others?: string[]; 13 + }; 14 + export type InputSchema = undefined; 15 + 16 + export interface OutputSchema { 17 + actor?: string; 18 + relationships: ( 19 + | $Typed<AppBskyGraphDefs.Relationship> 20 + | $Typed<AppBskyGraphDefs.NotFoundActor> 21 + | { $type: string } 22 + )[]; 23 + } 24 + 25 + export interface CallOptions { 26 + signal?: AbortSignal; 27 + headers?: HeadersMap; 28 + } 29 + 30 + export interface Response { 31 + success: boolean; 32 + headers: HeadersMap; 33 + data: OutputSchema; 34 + } 35 + 36 + export class ActorNotFoundError extends XRPCError { 37 + constructor(src: XRPCError) { 38 + super(src.status, src.error, src.message, src.headers, { cause: src }); 39 + } 40 + } 41 + 42 + export function toKnownErr(e: any) { 43 + if (e instanceof XRPCError) { 44 + if (e.error === "ActorNotFound") return new ActorNotFoundError(e); 45 + } 46 + 47 + return e; 48 + }
+30
lex-gen/generated/types/app/bsky/graph/getStarterPack.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Reference (AT-URI) of the starter pack record. */ 9 + starterPack: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + starterPack: AppBskyGraphDefs.StarterPackView; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+29
lex-gen/generated/types/app/bsky/graph/getStarterPacks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + uris: string[]; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + starterPacks: (AppBskyGraphDefs.StarterPackViewBasic)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+60
lex-gen/generated/types/app/bsky/graph/getStarterPacksWithMembership.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyGraphDefs from "./defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.graph.getStarterPacksWithMembership"; 11 + 12 + export type QueryParams = { 13 + /** The account (actor) to check for membership. */ 14 + actor: string; 15 + limit?: number; 16 + cursor?: string; 17 + }; 18 + export type InputSchema = undefined; 19 + 20 + export interface OutputSchema { 21 + cursor?: string; 22 + starterPacksWithMembership: (StarterPackWithMembership)[]; 23 + } 24 + 25 + export interface CallOptions { 26 + signal?: AbortSignal; 27 + headers?: HeadersMap; 28 + } 29 + 30 + export interface Response { 31 + success: boolean; 32 + headers: HeadersMap; 33 + data: OutputSchema; 34 + } 35 + 36 + export function toKnownErr(e: any) { 37 + return e; 38 + } 39 + 40 + /** A starter pack and an optional list item indicating membership of a target user to that starter pack. */ 41 + export interface StarterPackWithMembership { 42 + $type?: 43 + "app.bsky.graph.getStarterPacksWithMembership#starterPackWithMembership"; 44 + starterPack: AppBskyGraphDefs.StarterPackView; 45 + listItem?: AppBskyGraphDefs.ListItemView; 46 + } 47 + 48 + const hashStarterPackWithMembership = "starterPackWithMembership"; 49 + 50 + export function isStarterPackWithMembership<V>(v: V) { 51 + return is$typed(v, id, hashStarterPackWithMembership); 52 + } 53 + 54 + export function validateStarterPackWithMembership<V>(v: V) { 55 + return validate<StarterPackWithMembership & V>( 56 + v, 57 + id, 58 + hashStarterPackWithMembership, 59 + ); 60 + }
+33
lex-gen/generated/types/app/bsky/graph/getSuggestedFollowsByActor.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + actor: string; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + suggestions: (AppBskyActorDefs.ProfileView)[]; 14 + /** If true, response has fallen-back to generic results, and is not scoped using relativeToDid */ 15 + isFallback?: boolean; 16 + /** Snowflake for this recommendation, use when submitting recommendation events. */ 17 + recId?: number; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+37
lex-gen/generated/types/app/bsky/graph/list.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyGraphDefs from "./defs.ts"; 8 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 9 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 10 + 11 + const is$typed = _is$typed, validate = _validate; 12 + const id = "app.bsky.graph.list"; 13 + 14 + export interface Record { 15 + $type: "app.bsky.graph.list"; 16 + purpose: AppBskyGraphDefs.ListPurpose; 17 + /** Display name for list; can not be empty. */ 18 + name: string; 19 + description?: string; 20 + descriptionFacets?: (AppBskyRichtextFacet.Main)[]; 21 + avatar?: BlobRef; 22 + labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string }; 23 + createdAt: string; 24 + [k: string]: unknown; 25 + } 26 + 27 + const hashRecord = "main"; 28 + 29 + export function isRecord<V>(v: V) { 30 + return is$typed(v, id, hashRecord); 31 + } 32 + 33 + export function validateRecord<V>(v: V) { 34 + return validate<Record & V>(v, id, hashRecord, true); 35 + } 36 + 37 + export type Main = Record;
+28
lex-gen/generated/types/app/bsky/graph/listblock.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.graph.listblock"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.graph.listblock"; 12 + /** Reference (AT-URI) to the mod list record. */ 13 + subject: string; 14 + createdAt: string; 15 + [k: string]: unknown; 16 + } 17 + 18 + const hashRecord = "main"; 19 + 20 + export function isRecord<V>(v: V) { 21 + return is$typed(v, id, hashRecord); 22 + } 23 + 24 + export function validateRecord<V>(v: V) { 25 + return validate<Record & V>(v, id, hashRecord, true); 26 + } 27 + 28 + export type Main = Record;
+30
lex-gen/generated/types/app/bsky/graph/listitem.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.graph.listitem"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.graph.listitem"; 12 + /** The account which is included on the list. */ 13 + subject: string; 14 + /** Reference (AT-URI) to the list record (app.bsky.graph.list). */ 15 + list: string; 16 + createdAt: string; 17 + [k: string]: unknown; 18 + } 19 + 20 + const hashRecord = "main"; 21 + 22 + export function isRecord<V>(v: V) { 23 + return is$typed(v, id, hashRecord); 24 + } 25 + 26 + export function validateRecord<V>(v: V) { 27 + return validate<Record & V>(v, id, hashRecord, true); 28 + } 29 + 30 + export type Main = Record;
+26
lex-gen/generated/types/app/bsky/graph/muteActor.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + actor: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+26
lex-gen/generated/types/app/bsky/graph/muteActorList.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + list: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+26
lex-gen/generated/types/app/bsky/graph/muteThread.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + root: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+33
lex-gen/generated/types/app/bsky/graph/searchStarterPacks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */ 9 + q: string; 10 + limit?: number; 11 + cursor?: string; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + cursor?: string; 17 + starterPacks: (AppBskyGraphDefs.StarterPackViewBasic)[]; 18 + } 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + } 24 + 25 + export interface Response { 26 + success: boolean; 27 + headers: HeadersMap; 28 + data: OutputSchema; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+49
lex-gen/generated/types/app/bsky/graph/starterpack.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyRichtextFacet from "../richtext/facet.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.graph.starterpack"; 10 + 11 + export interface Record { 12 + $type: "app.bsky.graph.starterpack"; 13 + /** Display name for starter pack; can not be empty. */ 14 + name: string; 15 + description?: string; 16 + descriptionFacets?: (AppBskyRichtextFacet.Main)[]; 17 + /** Reference (AT-URI) to the list record. */ 18 + list: string; 19 + feeds?: (FeedItem)[]; 20 + createdAt: string; 21 + [k: string]: unknown; 22 + } 23 + 24 + const hashRecord = "main"; 25 + 26 + export function isRecord<V>(v: V) { 27 + return is$typed(v, id, hashRecord); 28 + } 29 + 30 + export function validateRecord<V>(v: V) { 31 + return validate<Record & V>(v, id, hashRecord, true); 32 + } 33 + 34 + export type Main = Record; 35 + 36 + export interface FeedItem { 37 + $type?: "app.bsky.graph.starterpack#feedItem"; 38 + uri: string; 39 + } 40 + 41 + const hashFeedItem = "feedItem"; 42 + 43 + export function isFeedItem<V>(v: V) { 44 + return is$typed(v, id, hashFeedItem); 45 + } 46 + 47 + export function validateFeedItem<V>(v: V) { 48 + return validate<FeedItem & V>(v, id, hashFeedItem); 49 + }
+26
lex-gen/generated/types/app/bsky/graph/unmuteActor.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + actor: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+26
lex-gen/generated/types/app/bsky/graph/unmuteActorList.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + list: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+26
lex-gen/generated/types/app/bsky/graph/unmuteThread.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + root: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+33
lex-gen/generated/types/app/bsky/graph/verification.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.graph.verification"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.graph.verification"; 12 + /** DID of the subject the verification applies to. */ 13 + subject: string; 14 + /** Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying. */ 15 + handle: string; 16 + /** Display name of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current displayName matches the one at the time of verifying. */ 17 + displayName: string; 18 + /** Date of when the verification was created. */ 19 + createdAt: string; 20 + [k: string]: unknown; 21 + } 22 + 23 + const hashRecord = "main"; 24 + 25 + export function isRecord<V>(v: V) { 26 + return is$typed(v, id, hashRecord); 27 + } 28 + 29 + export function validateRecord<V>(v: V) { 30 + return validate<Record & V>(v, id, hashRecord, true); 31 + } 32 + 33 + export type Main = Record;
+93
lex-gen/generated/types/app/bsky/labeler/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 7 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 8 + import type * as ComAtprotoModerationDefs from "@example/lexicons"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.labeler.defs"; 12 + 13 + export interface LabelerView { 14 + $type?: "app.bsky.labeler.defs#labelerView"; 15 + uri: string; 16 + cid: string; 17 + creator: AppBskyActorDefs.ProfileView; 18 + likeCount?: number; 19 + viewer?: LabelerViewerState; 20 + indexedAt: string; 21 + labels?: (ComAtprotoLabelDefs.Label)[]; 22 + } 23 + 24 + const hashLabelerView = "labelerView"; 25 + 26 + export function isLabelerView<V>(v: V) { 27 + return is$typed(v, id, hashLabelerView); 28 + } 29 + 30 + export function validateLabelerView<V>(v: V) { 31 + return validate<LabelerView & V>(v, id, hashLabelerView); 32 + } 33 + 34 + export interface LabelerViewDetailed { 35 + $type?: "app.bsky.labeler.defs#labelerViewDetailed"; 36 + uri: string; 37 + cid: string; 38 + creator: AppBskyActorDefs.ProfileView; 39 + policies: LabelerPolicies; 40 + likeCount?: number; 41 + viewer?: LabelerViewerState; 42 + indexedAt: string; 43 + labels?: (ComAtprotoLabelDefs.Label)[]; 44 + /** The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. */ 45 + reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[]; 46 + /** The set of subject types (account, record, etc) this service accepts reports on. */ 47 + subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[]; 48 + /** Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. */ 49 + subjectCollections?: (string)[]; 50 + } 51 + 52 + const hashLabelerViewDetailed = "labelerViewDetailed"; 53 + 54 + export function isLabelerViewDetailed<V>(v: V) { 55 + return is$typed(v, id, hashLabelerViewDetailed); 56 + } 57 + 58 + export function validateLabelerViewDetailed<V>(v: V) { 59 + return validate<LabelerViewDetailed & V>(v, id, hashLabelerViewDetailed); 60 + } 61 + 62 + export interface LabelerViewerState { 63 + $type?: "app.bsky.labeler.defs#labelerViewerState"; 64 + like?: string; 65 + } 66 + 67 + const hashLabelerViewerState = "labelerViewerState"; 68 + 69 + export function isLabelerViewerState<V>(v: V) { 70 + return is$typed(v, id, hashLabelerViewerState); 71 + } 72 + 73 + export function validateLabelerViewerState<V>(v: V) { 74 + return validate<LabelerViewerState & V>(v, id, hashLabelerViewerState); 75 + } 76 + 77 + export interface LabelerPolicies { 78 + $type?: "app.bsky.labeler.defs#labelerPolicies"; 79 + /** The label values which this labeler publishes. May include global or custom labels. */ 80 + labelValues: (ComAtprotoLabelDefs.LabelValue)[]; 81 + /** Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. */ 82 + labelValueDefinitions?: (ComAtprotoLabelDefs.LabelValueDefinition)[]; 83 + } 84 + 85 + const hashLabelerPolicies = "labelerPolicies"; 86 + 87 + export function isLabelerPolicies<V>(v: V) { 88 + return is$typed(v, id, hashLabelerPolicies); 89 + } 90 + 91 + export function validateLabelerPolicies<V>(v: V) { 92 + return validate<LabelerPolicies & V>(v, id, hashLabelerPolicies); 93 + }
+35
lex-gen/generated/types/app/bsky/labeler/getServices.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type { $Typed } from "../../../../util.ts"; 6 + import type * as AppBskyLabelerDefs from "./defs.ts"; 7 + 8 + export type QueryParams = { 9 + dids: string[]; 10 + detailed?: boolean; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + views: ( 16 + | $Typed<AppBskyLabelerDefs.LabelerView> 17 + | $Typed<AppBskyLabelerDefs.LabelerViewDetailed> 18 + | { $type: string } 19 + )[]; 20 + } 21 + 22 + export interface CallOptions { 23 + signal?: AbortSignal; 24 + headers?: HeadersMap; 25 + } 26 + 27 + export interface Response { 28 + success: boolean; 29 + headers: HeadersMap; 30 + data: OutputSchema; 31 + } 32 + 33 + export function toKnownErr(e: any) { 34 + return e; 35 + }
+37
lex-gen/generated/types/app/bsky/labeler/service.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyLabelerDefs from "./defs.ts"; 7 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 8 + import type * as ComAtprotoModerationDefs from "@example/lexicons"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.labeler.service"; 12 + 13 + export interface Record { 14 + $type: "app.bsky.labeler.service"; 15 + policies: AppBskyLabelerDefs.LabelerPolicies; 16 + labels?: $Typed<ComAtprotoLabelDefs.SelfLabels> | { $type: string }; 17 + createdAt: string; 18 + /** The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. */ 19 + reasonTypes?: (ComAtprotoModerationDefs.ReasonType)[]; 20 + /** The set of subject types (account, record, etc) this service accepts reports on. */ 21 + subjectTypes?: (ComAtprotoModerationDefs.SubjectType)[]; 22 + /** Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. */ 23 + subjectCollections?: (string)[]; 24 + [k: string]: unknown; 25 + } 26 + 27 + const hashRecord = "main"; 28 + 29 + export function isRecord<V>(v: V) { 30 + return is$typed(v, id, hashRecord); 31 + } 32 + 33 + export function validateRecord<V>(v: V) { 34 + return validate<Record & V>(v, id, hashRecord, true); 35 + } 36 + 37 + export type Main = Record;
+31
lex-gen/generated/types/app/bsky/notification/declaration.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.notification.declaration"; 9 + 10 + export interface Record { 11 + $type: "app.bsky.notification.declaration"; 12 + /** A declaration of the user's preference for allowing activity subscriptions from other users. Absence of a record implies 'followers'. */ 13 + allowSubscriptions: 14 + | "followers" 15 + | "mutuals" 16 + | "none" 17 + | (string & globalThis.Record<PropertyKey, never>); 18 + [k: string]: unknown; 19 + } 20 + 21 + const hashRecord = "main"; 22 + 23 + export function isRecord<V>(v: V) { 24 + return is$typed(v, id, hashRecord); 25 + } 26 + 27 + export function validateRecord<V>(v: V) { 28 + return validate<Record & V>(v, id, hashRecord, true); 29 + } 30 + 31 + export type Main = Record;
+138
lex-gen/generated/types/app/bsky/notification/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.notification.defs"; 9 + 10 + export interface RecordDeleted { 11 + $type?: "app.bsky.notification.defs#recordDeleted"; 12 + } 13 + 14 + const hashRecordDeleted = "recordDeleted"; 15 + 16 + export function isRecordDeleted<V>(v: V) { 17 + return is$typed(v, id, hashRecordDeleted); 18 + } 19 + 20 + export function validateRecordDeleted<V>(v: V) { 21 + return validate<RecordDeleted & V>(v, id, hashRecordDeleted); 22 + } 23 + 24 + export interface ChatPreference { 25 + $type?: "app.bsky.notification.defs#chatPreference"; 26 + include: 27 + | "all" 28 + | "accepted" 29 + | (string & globalThis.Record<PropertyKey, never>); 30 + push: boolean; 31 + } 32 + 33 + const hashChatPreference = "chatPreference"; 34 + 35 + export function isChatPreference<V>(v: V) { 36 + return is$typed(v, id, hashChatPreference); 37 + } 38 + 39 + export function validateChatPreference<V>(v: V) { 40 + return validate<ChatPreference & V>(v, id, hashChatPreference); 41 + } 42 + 43 + export interface FilterablePreference { 44 + $type?: "app.bsky.notification.defs#filterablePreference"; 45 + include: "all" | "follows" | (string & globalThis.Record<PropertyKey, never>); 46 + list: boolean; 47 + push: boolean; 48 + } 49 + 50 + const hashFilterablePreference = "filterablePreference"; 51 + 52 + export function isFilterablePreference<V>(v: V) { 53 + return is$typed(v, id, hashFilterablePreference); 54 + } 55 + 56 + export function validateFilterablePreference<V>(v: V) { 57 + return validate<FilterablePreference & V>(v, id, hashFilterablePreference); 58 + } 59 + 60 + export interface Preference { 61 + $type?: "app.bsky.notification.defs#preference"; 62 + list: boolean; 63 + push: boolean; 64 + } 65 + 66 + const hashPreference = "preference"; 67 + 68 + export function isPreference<V>(v: V) { 69 + return is$typed(v, id, hashPreference); 70 + } 71 + 72 + export function validatePreference<V>(v: V) { 73 + return validate<Preference & V>(v, id, hashPreference); 74 + } 75 + 76 + export interface Preferences { 77 + $type?: "app.bsky.notification.defs#preferences"; 78 + chat: ChatPreference; 79 + follow: FilterablePreference; 80 + like: FilterablePreference; 81 + likeViaRepost: FilterablePreference; 82 + mention: FilterablePreference; 83 + quote: FilterablePreference; 84 + reply: FilterablePreference; 85 + repost: FilterablePreference; 86 + repostViaRepost: FilterablePreference; 87 + starterpackJoined: Preference; 88 + subscribedPost: Preference; 89 + unverified: Preference; 90 + verified: Preference; 91 + } 92 + 93 + const hashPreferences = "preferences"; 94 + 95 + export function isPreferences<V>(v: V) { 96 + return is$typed(v, id, hashPreferences); 97 + } 98 + 99 + export function validatePreferences<V>(v: V) { 100 + return validate<Preferences & V>(v, id, hashPreferences); 101 + } 102 + 103 + export interface ActivitySubscription { 104 + $type?: "app.bsky.notification.defs#activitySubscription"; 105 + post: boolean; 106 + reply: boolean; 107 + } 108 + 109 + const hashActivitySubscription = "activitySubscription"; 110 + 111 + export function isActivitySubscription<V>(v: V) { 112 + return is$typed(v, id, hashActivitySubscription); 113 + } 114 + 115 + export function validateActivitySubscription<V>(v: V) { 116 + return validate<ActivitySubscription & V>(v, id, hashActivitySubscription); 117 + } 118 + 119 + /** Object used to store activity subscription data in stash. */ 120 + export interface SubjectActivitySubscription { 121 + $type?: "app.bsky.notification.defs#subjectActivitySubscription"; 122 + subject: string; 123 + activitySubscription: ActivitySubscription; 124 + } 125 + 126 + const hashSubjectActivitySubscription = "subjectActivitySubscription"; 127 + 128 + export function isSubjectActivitySubscription<V>(v: V) { 129 + return is$typed(v, id, hashSubjectActivitySubscription); 130 + } 131 + 132 + export function validateSubjectActivitySubscription<V>(v: V) { 133 + return validate<SubjectActivitySubscription & V>( 134 + v, 135 + id, 136 + hashSubjectActivitySubscription, 137 + ); 138 + }
+27
lex-gen/generated/types/app/bsky/notification/getPreferences.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyNotificationDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + export type InputSchema = undefined; 9 + 10 + export interface OutputSchema { 11 + preferences: AppBskyNotificationDefs.Preferences; 12 + } 13 + 14 + export interface CallOptions { 15 + signal?: AbortSignal; 16 + headers?: HeadersMap; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + data: OutputSchema; 23 + } 24 + 25 + export function toKnownErr(e: any) { 26 + return e; 27 + }
+29
lex-gen/generated/types/app/bsky/notification/getUnreadCount.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = { 7 + priority?: boolean; 8 + seenAt?: string; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + count: number; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+31
lex-gen/generated/types/app/bsky/notification/listActivitySubscriptions.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + cursor?: string; 15 + subscriptions: (AppBskyActorDefs.ProfileView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+80
lex-gen/generated/types/app/bsky/notification/listNotifications.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 8 + import type * as ComAtprotoLabelDefs from "@example/lexicons"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.notification.listNotifications"; 12 + 13 + export type QueryParams = { 14 + /** Notification reasons to include in response. */ 15 + reasons?: string[]; 16 + limit?: number; 17 + priority?: boolean; 18 + cursor?: string; 19 + seenAt?: string; 20 + }; 21 + export type InputSchema = undefined; 22 + 23 + export interface OutputSchema { 24 + cursor?: string; 25 + notifications: (Notification)[]; 26 + priority?: boolean; 27 + seenAt?: string; 28 + } 29 + 30 + export interface CallOptions { 31 + signal?: AbortSignal; 32 + headers?: HeadersMap; 33 + } 34 + 35 + export interface Response { 36 + success: boolean; 37 + headers: HeadersMap; 38 + data: OutputSchema; 39 + } 40 + 41 + export function toKnownErr(e: any) { 42 + return e; 43 + } 44 + 45 + export interface Notification { 46 + $type?: "app.bsky.notification.listNotifications#notification"; 47 + uri: string; 48 + cid: string; 49 + author: AppBskyActorDefs.ProfileView; 50 + /** The reason why this notification was delivered - e.g. your post was liked, or you received a new follower. */ 51 + reason: 52 + | "like" 53 + | "repost" 54 + | "follow" 55 + | "mention" 56 + | "reply" 57 + | "quote" 58 + | "starterpack-joined" 59 + | "verified" 60 + | "unverified" 61 + | "like-via-repost" 62 + | "repost-via-repost" 63 + | "subscribed-post" 64 + | (string & globalThis.Record<PropertyKey, never>); 65 + reasonSubject?: string; 66 + record: { [_ in string]: unknown }; 67 + isRead: boolean; 68 + indexedAt: string; 69 + labels?: (ComAtprotoLabelDefs.Label)[]; 70 + } 71 + 72 + const hashNotification = "notification"; 73 + 74 + export function isNotification<V>(v: V) { 75 + return is$typed(v, id, hashNotification); 76 + } 77 + 78 + export function validateNotification<V>(v: V) { 79 + return validate<Notification & V>(v, id, hashNotification); 80 + }
+34
lex-gen/generated/types/app/bsky/notification/putActivitySubscription.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyNotificationDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + 9 + export interface InputSchema { 10 + subject: string; 11 + activitySubscription: AppBskyNotificationDefs.ActivitySubscription; 12 + } 13 + 14 + export interface OutputSchema { 15 + subject: string; 16 + activitySubscription?: AppBskyNotificationDefs.ActivitySubscription; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + qp?: QueryParams; 23 + encoding?: "application/json"; 24 + } 25 + 26 + export interface Response { 27 + success: boolean; 28 + headers: HeadersMap; 29 + data: OutputSchema; 30 + } 31 + 32 + export function toKnownErr(e: any) { 33 + return e; 34 + }
+26
lex-gen/generated/types/app/bsky/notification/putPreferences.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + priority: boolean; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+44
lex-gen/generated/types/app/bsky/notification/putPreferencesV2.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyNotificationDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + 9 + export interface InputSchema { 10 + chat?: AppBskyNotificationDefs.ChatPreference; 11 + follow?: AppBskyNotificationDefs.FilterablePreference; 12 + like?: AppBskyNotificationDefs.FilterablePreference; 13 + likeViaRepost?: AppBskyNotificationDefs.FilterablePreference; 14 + mention?: AppBskyNotificationDefs.FilterablePreference; 15 + quote?: AppBskyNotificationDefs.FilterablePreference; 16 + reply?: AppBskyNotificationDefs.FilterablePreference; 17 + repost?: AppBskyNotificationDefs.FilterablePreference; 18 + repostViaRepost?: AppBskyNotificationDefs.FilterablePreference; 19 + starterpackJoined?: AppBskyNotificationDefs.Preference; 20 + subscribedPost?: AppBskyNotificationDefs.Preference; 21 + unverified?: AppBskyNotificationDefs.Preference; 22 + verified?: AppBskyNotificationDefs.Preference; 23 + } 24 + 25 + export interface OutputSchema { 26 + preferences: AppBskyNotificationDefs.Preferences; 27 + } 28 + 29 + export interface CallOptions { 30 + signal?: AbortSignal; 31 + headers?: HeadersMap; 32 + qp?: QueryParams; 33 + encoding?: "application/json"; 34 + } 35 + 36 + export interface Response { 37 + success: boolean; 38 + headers: HeadersMap; 39 + data: OutputSchema; 40 + } 41 + 42 + export function toKnownErr(e: any) { 43 + return e; 44 + }
+35
lex-gen/generated/types/app/bsky/notification/registerPush.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + serviceDid: string; 10 + token: string; 11 + platform: 12 + | "ios" 13 + | "android" 14 + | "web" 15 + | (string & globalThis.Record<PropertyKey, never>); 16 + appId: string; 17 + /** Set to true when the actor is age restricted */ 18 + ageRestricted?: boolean; 19 + } 20 + 21 + export interface CallOptions { 22 + signal?: AbortSignal; 23 + headers?: HeadersMap; 24 + qp?: QueryParams; 25 + encoding?: "application/json"; 26 + } 27 + 28 + export interface Response { 29 + success: boolean; 30 + headers: HeadersMap; 31 + } 32 + 33 + export function toKnownErr(e: any) { 34 + return e; 35 + }
+33
lex-gen/generated/types/app/bsky/notification/unregisterPush.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + serviceDid: string; 10 + token: string; 11 + platform: 12 + | "ios" 13 + | "android" 14 + | "web" 15 + | (string & globalThis.Record<PropertyKey, never>); 16 + appId: string; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + qp?: QueryParams; 23 + encoding?: "application/json"; 24 + } 25 + 26 + export interface Response { 27 + success: boolean; 28 + headers: HeadersMap; 29 + } 30 + 31 + export function toKnownErr(e: any) { 32 + return e; 33 + }
+26
lex-gen/generated/types/app/bsky/notification/updateSeen.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + 8 + export interface InputSchema { 9 + seenAt: string; 10 + } 11 + 12 + export interface CallOptions { 13 + signal?: AbortSignal; 14 + headers?: HeadersMap; 15 + qp?: QueryParams; 16 + encoding?: "application/json"; 17 + } 18 + 19 + export interface Response { 20 + success: boolean; 21 + headers: HeadersMap; 22 + } 23 + 24 + export function toKnownErr(e: any) { 25 + return e; 26 + }
+91
lex-gen/generated/types/app/bsky/richtext/facet.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 6 + 7 + const is$typed = _is$typed, validate = _validate; 8 + const id = "app.bsky.richtext.facet"; 9 + 10 + /** Annotation of a sub-string within rich text. */ 11 + export interface Main { 12 + $type?: "app.bsky.richtext.facet"; 13 + index: ByteSlice; 14 + features: 15 + ($Typed<Mention> | $Typed<Link> | $Typed<Tag> | { $type: string })[]; 16 + } 17 + 18 + const hashMain = "main"; 19 + 20 + export function isMain<V>(v: V) { 21 + return is$typed(v, id, hashMain); 22 + } 23 + 24 + export function validateMain<V>(v: V) { 25 + return validate<Main & V>(v, id, hashMain); 26 + } 27 + 28 + /** Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. */ 29 + export interface Mention { 30 + $type?: "app.bsky.richtext.facet#mention"; 31 + did: string; 32 + } 33 + 34 + const hashMention = "mention"; 35 + 36 + export function isMention<V>(v: V) { 37 + return is$typed(v, id, hashMention); 38 + } 39 + 40 + export function validateMention<V>(v: V) { 41 + return validate<Mention & V>(v, id, hashMention); 42 + } 43 + 44 + /** Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. */ 45 + export interface Link { 46 + $type?: "app.bsky.richtext.facet#link"; 47 + uri: string; 48 + } 49 + 50 + const hashLink = "link"; 51 + 52 + export function isLink<V>(v: V) { 53 + return is$typed(v, id, hashLink); 54 + } 55 + 56 + export function validateLink<V>(v: V) { 57 + return validate<Link & V>(v, id, hashLink); 58 + } 59 + 60 + /** Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags'). */ 61 + export interface Tag { 62 + $type?: "app.bsky.richtext.facet#tag"; 63 + tag: string; 64 + } 65 + 66 + const hashTag = "tag"; 67 + 68 + export function isTag<V>(v: V) { 69 + return is$typed(v, id, hashTag); 70 + } 71 + 72 + export function validateTag<V>(v: V) { 73 + return validate<Tag & V>(v, id, hashTag); 74 + } 75 + 76 + /** Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. */ 77 + export interface ByteSlice { 78 + $type?: "app.bsky.richtext.facet#byteSlice"; 79 + byteStart: number; 80 + byteEnd: number; 81 + } 82 + 83 + const hashByteSlice = "byteSlice"; 84 + 85 + export function isByteSlice<V>(v: V) { 86 + return is$typed(v, id, hashByteSlice); 87 + } 88 + 89 + export function validateByteSlice<V>(v: V) { 90 + return validate<ByteSlice & V>(v, id, hashByteSlice); 91 + }
+252
lex-gen/generated/types/app/bsky/unspecced/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { validate as _validate } from "../../../../lexicons.ts"; 5 + import { is$typed as _is$typed } from "../../../../util.ts"; 6 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 7 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.unspecced.defs"; 11 + 12 + export interface SkeletonSearchPost { 13 + $type?: "app.bsky.unspecced.defs#skeletonSearchPost"; 14 + uri: string; 15 + } 16 + 17 + const hashSkeletonSearchPost = "skeletonSearchPost"; 18 + 19 + export function isSkeletonSearchPost<V>(v: V) { 20 + return is$typed(v, id, hashSkeletonSearchPost); 21 + } 22 + 23 + export function validateSkeletonSearchPost<V>(v: V) { 24 + return validate<SkeletonSearchPost & V>(v, id, hashSkeletonSearchPost); 25 + } 26 + 27 + export interface SkeletonSearchActor { 28 + $type?: "app.bsky.unspecced.defs#skeletonSearchActor"; 29 + did: string; 30 + } 31 + 32 + const hashSkeletonSearchActor = "skeletonSearchActor"; 33 + 34 + export function isSkeletonSearchActor<V>(v: V) { 35 + return is$typed(v, id, hashSkeletonSearchActor); 36 + } 37 + 38 + export function validateSkeletonSearchActor<V>(v: V) { 39 + return validate<SkeletonSearchActor & V>(v, id, hashSkeletonSearchActor); 40 + } 41 + 42 + export interface SkeletonSearchStarterPack { 43 + $type?: "app.bsky.unspecced.defs#skeletonSearchStarterPack"; 44 + uri: string; 45 + } 46 + 47 + const hashSkeletonSearchStarterPack = "skeletonSearchStarterPack"; 48 + 49 + export function isSkeletonSearchStarterPack<V>(v: V) { 50 + return is$typed(v, id, hashSkeletonSearchStarterPack); 51 + } 52 + 53 + export function validateSkeletonSearchStarterPack<V>(v: V) { 54 + return validate<SkeletonSearchStarterPack & V>( 55 + v, 56 + id, 57 + hashSkeletonSearchStarterPack, 58 + ); 59 + } 60 + 61 + export interface TrendingTopic { 62 + $type?: "app.bsky.unspecced.defs#trendingTopic"; 63 + topic: string; 64 + displayName?: string; 65 + description?: string; 66 + link: string; 67 + } 68 + 69 + const hashTrendingTopic = "trendingTopic"; 70 + 71 + export function isTrendingTopic<V>(v: V) { 72 + return is$typed(v, id, hashTrendingTopic); 73 + } 74 + 75 + export function validateTrendingTopic<V>(v: V) { 76 + return validate<TrendingTopic & V>(v, id, hashTrendingTopic); 77 + } 78 + 79 + export interface SkeletonTrend { 80 + $type?: "app.bsky.unspecced.defs#skeletonTrend"; 81 + topic: string; 82 + displayName: string; 83 + link: string; 84 + startedAt: string; 85 + postCount: number; 86 + status?: "hot" | (string & globalThis.Record<PropertyKey, never>); 87 + category?: string; 88 + dids: (string)[]; 89 + } 90 + 91 + const hashSkeletonTrend = "skeletonTrend"; 92 + 93 + export function isSkeletonTrend<V>(v: V) { 94 + return is$typed(v, id, hashSkeletonTrend); 95 + } 96 + 97 + export function validateSkeletonTrend<V>(v: V) { 98 + return validate<SkeletonTrend & V>(v, id, hashSkeletonTrend); 99 + } 100 + 101 + export interface TrendView { 102 + $type?: "app.bsky.unspecced.defs#trendView"; 103 + topic: string; 104 + displayName: string; 105 + link: string; 106 + startedAt: string; 107 + postCount: number; 108 + status?: "hot" | (string & globalThis.Record<PropertyKey, never>); 109 + category?: string; 110 + actors: (AppBskyActorDefs.ProfileViewBasic)[]; 111 + } 112 + 113 + const hashTrendView = "trendView"; 114 + 115 + export function isTrendView<V>(v: V) { 116 + return is$typed(v, id, hashTrendView); 117 + } 118 + 119 + export function validateTrendView<V>(v: V) { 120 + return validate<TrendView & V>(v, id, hashTrendView); 121 + } 122 + 123 + export interface ThreadItemPost { 124 + $type?: "app.bsky.unspecced.defs#threadItemPost"; 125 + post: AppBskyFeedDefs.PostView; 126 + /** This post has more parents that were not present in the response. This is just a boolean, without the number of parents. */ 127 + moreParents: boolean; 128 + /** This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate. */ 129 + moreReplies: number; 130 + /** This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread. */ 131 + opThread: boolean; 132 + /** The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread. */ 133 + hiddenByThreadgate: boolean; 134 + /** This is by an account muted by the viewer requesting it. */ 135 + mutedByViewer: boolean; 136 + } 137 + 138 + const hashThreadItemPost = "threadItemPost"; 139 + 140 + export function isThreadItemPost<V>(v: V) { 141 + return is$typed(v, id, hashThreadItemPost); 142 + } 143 + 144 + export function validateThreadItemPost<V>(v: V) { 145 + return validate<ThreadItemPost & V>(v, id, hashThreadItemPost); 146 + } 147 + 148 + export interface ThreadItemNoUnauthenticated { 149 + $type?: "app.bsky.unspecced.defs#threadItemNoUnauthenticated"; 150 + } 151 + 152 + const hashThreadItemNoUnauthenticated = "threadItemNoUnauthenticated"; 153 + 154 + export function isThreadItemNoUnauthenticated<V>(v: V) { 155 + return is$typed(v, id, hashThreadItemNoUnauthenticated); 156 + } 157 + 158 + export function validateThreadItemNoUnauthenticated<V>(v: V) { 159 + return validate<ThreadItemNoUnauthenticated & V>( 160 + v, 161 + id, 162 + hashThreadItemNoUnauthenticated, 163 + ); 164 + } 165 + 166 + export interface ThreadItemNotFound { 167 + $type?: "app.bsky.unspecced.defs#threadItemNotFound"; 168 + } 169 + 170 + const hashThreadItemNotFound = "threadItemNotFound"; 171 + 172 + export function isThreadItemNotFound<V>(v: V) { 173 + return is$typed(v, id, hashThreadItemNotFound); 174 + } 175 + 176 + export function validateThreadItemNotFound<V>(v: V) { 177 + return validate<ThreadItemNotFound & V>(v, id, hashThreadItemNotFound); 178 + } 179 + 180 + export interface ThreadItemBlocked { 181 + $type?: "app.bsky.unspecced.defs#threadItemBlocked"; 182 + author: AppBskyFeedDefs.BlockedAuthor; 183 + } 184 + 185 + const hashThreadItemBlocked = "threadItemBlocked"; 186 + 187 + export function isThreadItemBlocked<V>(v: V) { 188 + return is$typed(v, id, hashThreadItemBlocked); 189 + } 190 + 191 + export function validateThreadItemBlocked<V>(v: V) { 192 + return validate<ThreadItemBlocked & V>(v, id, hashThreadItemBlocked); 193 + } 194 + 195 + /** The computed state of the age assurance process, returned to the user in question on certain authenticated requests. */ 196 + export interface AgeAssuranceState { 197 + $type?: "app.bsky.unspecced.defs#ageAssuranceState"; 198 + /** The timestamp when this state was last updated. */ 199 + lastInitiatedAt?: string; 200 + /** The status of the age assurance process. */ 201 + status: 202 + | "unknown" 203 + | "pending" 204 + | "assured" 205 + | "blocked" 206 + | (string & globalThis.Record<PropertyKey, never>); 207 + } 208 + 209 + const hashAgeAssuranceState = "ageAssuranceState"; 210 + 211 + export function isAgeAssuranceState<V>(v: V) { 212 + return is$typed(v, id, hashAgeAssuranceState); 213 + } 214 + 215 + export function validateAgeAssuranceState<V>(v: V) { 216 + return validate<AgeAssuranceState & V>(v, id, hashAgeAssuranceState); 217 + } 218 + 219 + /** Object used to store age assurance data in stash. */ 220 + export interface AgeAssuranceEvent { 221 + $type?: "app.bsky.unspecced.defs#ageAssuranceEvent"; 222 + /** The date and time of this write operation. */ 223 + createdAt: string; 224 + /** The status of the age assurance process. */ 225 + status: 226 + | "unknown" 227 + | "pending" 228 + | "assured" 229 + | (string & globalThis.Record<PropertyKey, never>); 230 + /** The unique identifier for this instance of the age assurance flow, in UUID format. */ 231 + attemptId: string; 232 + /** The email used for AA. */ 233 + email?: string; 234 + /** The IP address used when initiating the AA flow. */ 235 + initIp?: string; 236 + /** The user agent used when initiating the AA flow. */ 237 + initUa?: string; 238 + /** The IP address used when completing the AA flow. */ 239 + completeIp?: string; 240 + /** The user agent used when completing the AA flow. */ 241 + completeUa?: string; 242 + } 243 + 244 + const hashAgeAssuranceEvent = "ageAssuranceEvent"; 245 + 246 + export function isAgeAssuranceEvent<V>(v: V) { 247 + return is$typed(v, id, hashAgeAssuranceEvent); 248 + } 249 + 250 + export function validateAgeAssuranceEvent<V>(v: V) { 251 + return validate<AgeAssuranceEvent & V>(v, id, hashAgeAssuranceEvent); 252 + }
+24
lex-gen/generated/types/app/bsky/unspecced/getAgeAssuranceState.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + export type InputSchema = undefined; 9 + export type OutputSchema = AppBskyUnspeccedDefs.AgeAssuranceState; 10 + 11 + export interface CallOptions { 12 + signal?: AbortSignal; 13 + headers?: HeadersMap; 14 + } 15 + 16 + export interface Response { 17 + success: boolean; 18 + headers: HeadersMap; 19 + data: OutputSchema; 20 + } 21 + 22 + export function toKnownErr(e: any) { 23 + return e; 24 + }
+48
lex-gen/generated/types/app/bsky/unspecced/getConfig.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.unspecced.getConfig"; 10 + 11 + export type QueryParams = globalThis.Record<PropertyKey, never>; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + checkEmailConfirmed?: boolean; 16 + liveNow?: (LiveNowConfig)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + } 33 + 34 + export interface LiveNowConfig { 35 + $type?: "app.bsky.unspecced.getConfig#liveNowConfig"; 36 + did: string; 37 + domains: (string)[]; 38 + } 39 + 40 + const hashLiveNowConfig = "liveNowConfig"; 41 + 42 + export function isLiveNowConfig<V>(v: V) { 43 + return is$typed(v, id, hashLiveNowConfig); 44 + } 45 + 46 + export function validateLiveNowConfig<V>(v: V) { 47 + return validate<LiveNowConfig & V>(v, id, hashLiveNowConfig); 48 + }
+29
lex-gen/generated/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "../graph/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + starterPacks: (AppBskyGraphDefs.StarterPackView)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+30
lex-gen/generated/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = { 7 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 8 + viewer?: string; 9 + limit?: number; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + starterPacks: (string)[]; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+32
lex-gen/generated/types/app/bsky/unspecced/getPopularFeedGenerators.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + cursor?: string; 10 + query?: string; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + cursor?: string; 16 + feeds: (AppBskyFeedDefs.GeneratorView)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + }
+54
lex-gen/generated/types/app/bsky/unspecced/getPostThreadOtherV2.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 8 + 9 + const is$typed = _is$typed, validate = _validate; 10 + const id = "app.bsky.unspecced.getPostThreadOtherV2"; 11 + 12 + export type QueryParams = { 13 + /** Reference (AT-URI) to post record. This is the anchor post. */ 14 + anchor: string; 15 + }; 16 + export type InputSchema = undefined; 17 + 18 + export interface OutputSchema { 19 + /** A flat list of other thread items. The depth of each item is indicated by the depth property inside the item. */ 20 + thread: (ThreadItem)[]; 21 + } 22 + 23 + export interface CallOptions { 24 + signal?: AbortSignal; 25 + headers?: HeadersMap; 26 + } 27 + 28 + export interface Response { 29 + success: boolean; 30 + headers: HeadersMap; 31 + data: OutputSchema; 32 + } 33 + 34 + export function toKnownErr(e: any) { 35 + return e; 36 + } 37 + 38 + export interface ThreadItem { 39 + $type?: "app.bsky.unspecced.getPostThreadOtherV2#threadItem"; 40 + uri: string; 41 + /** The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. */ 42 + depth: number; 43 + value: $Typed<AppBskyUnspeccedDefs.ThreadItemPost> | { $type: string }; 44 + } 45 + 46 + const hashThreadItem = "threadItem"; 47 + 48 + export function isThreadItem<V>(v: V) { 49 + return is$typed(v, id, hashThreadItem); 50 + } 51 + 52 + export function validateThreadItem<V>(v: V) { 53 + return validate<ThreadItem & V>(v, id, hashThreadItem); 54 + }
+75
lex-gen/generated/types/app/bsky/unspecced/getPostThreadV2.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { type $Typed, is$typed as _is$typed } from "../../../../util.ts"; 7 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 8 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 9 + 10 + const is$typed = _is$typed, validate = _validate; 11 + const id = "app.bsky.unspecced.getPostThreadV2"; 12 + 13 + export type QueryParams = { 14 + /** Reference (AT-URI) to post record. This is the anchor post, and the thread will be built around it. It can be any post in the tree, not necessarily a root post. */ 15 + anchor: string; 16 + /** Whether to include parents above the anchor. */ 17 + above?: boolean; 18 + /** How many levels of replies to include below the anchor. */ 19 + below?: number; 20 + /** Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated). */ 21 + branchingFactor?: number; 22 + /** Sorting for the thread replies. */ 23 + sort?: 24 + | "newest" 25 + | "oldest" 26 + | "top" 27 + | (string & globalThis.Record<PropertyKey, never>); 28 + }; 29 + export type InputSchema = undefined; 30 + 31 + export interface OutputSchema { 32 + /** A flat list of thread items. The depth of each item is indicated by the depth property inside the item. */ 33 + thread: (ThreadItem)[]; 34 + threadgate?: AppBskyFeedDefs.ThreadgateView; 35 + /** Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them. */ 36 + hasOtherReplies: boolean; 37 + } 38 + 39 + export interface CallOptions { 40 + signal?: AbortSignal; 41 + headers?: HeadersMap; 42 + } 43 + 44 + export interface Response { 45 + success: boolean; 46 + headers: HeadersMap; 47 + data: OutputSchema; 48 + } 49 + 50 + export function toKnownErr(e: any) { 51 + return e; 52 + } 53 + 54 + export interface ThreadItem { 55 + $type?: "app.bsky.unspecced.getPostThreadV2#threadItem"; 56 + uri: string; 57 + /** The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. */ 58 + depth: number; 59 + value: 60 + | $Typed<AppBskyUnspeccedDefs.ThreadItemPost> 61 + | $Typed<AppBskyUnspeccedDefs.ThreadItemNoUnauthenticated> 62 + | $Typed<AppBskyUnspeccedDefs.ThreadItemNotFound> 63 + | $Typed<AppBskyUnspeccedDefs.ThreadItemBlocked> 64 + | { $type: string }; 65 + } 66 + 67 + const hashThreadItem = "threadItem"; 68 + 69 + export function isThreadItem<V>(v: V) { 70 + return is$typed(v, id, hashThreadItem); 71 + } 72 + 73 + export function validateThreadItem<V>(v: V) { 74 + return validate<ThreadItem & V>(v, id, hashThreadItem); 75 + }
+29
lex-gen/generated/types/app/bsky/unspecced/getSuggestedFeeds.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyFeedDefs from "../feed/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + feeds: (AppBskyFeedDefs.GeneratorView)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+30
lex-gen/generated/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = { 7 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 8 + viewer?: string; 9 + limit?: number; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + feeds: (string)[]; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+29
lex-gen/generated/types/app/bsky/unspecced/getSuggestedStarterPacks.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyGraphDefs from "../graph/defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + starterPacks: (AppBskyGraphDefs.StarterPackView)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+30
lex-gen/generated/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = { 7 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 8 + viewer?: string; 9 + limit?: number; 10 + }; 11 + export type InputSchema = undefined; 12 + 13 + export interface OutputSchema { 14 + starterPacks: (string)[]; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+31
lex-gen/generated/types/app/bsky/unspecced/getSuggestedUsers.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyActorDefs from "../actor/defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Category of users to get suggestions for. */ 9 + category?: string; 10 + limit?: number; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + actors: (AppBskyActorDefs.ProfileView)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+32
lex-gen/generated/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = { 7 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 8 + viewer?: string; 9 + /** Category of users to get suggestions for. */ 10 + category?: string; 11 + limit?: number; 12 + }; 13 + export type InputSchema = undefined; 14 + 15 + export interface OutputSchema { 16 + dids: (string)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + }
+39
lex-gen/generated/types/app/bsky/unspecced/getSuggestionsSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking. */ 9 + viewer?: string; 10 + limit?: number; 11 + cursor?: string; 12 + /** DID of the account to get suggestions relative to. If not provided, suggestions will be based on the viewer. */ 13 + relativeToDid?: string; 14 + }; 15 + export type InputSchema = undefined; 16 + 17 + export interface OutputSchema { 18 + cursor?: string; 19 + actors: (AppBskyUnspeccedDefs.SkeletonSearchActor)[]; 20 + /** DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer. */ 21 + relativeToDid?: string; 22 + /** Snowflake for this recommendation, use when submitting recommendation events. */ 23 + recId?: number; 24 + } 25 + 26 + export interface CallOptions { 27 + signal?: AbortSignal; 28 + headers?: HeadersMap; 29 + } 30 + 31 + export interface Response { 32 + success: boolean; 33 + headers: HeadersMap; 34 + data: OutputSchema; 35 + } 36 + 37 + export function toKnownErr(e: any) { 38 + return e; 39 + }
+51
lex-gen/generated/types/app/bsky/unspecced/getTaggedSuggestions.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.unspecced.getTaggedSuggestions"; 10 + 11 + export type QueryParams = globalThis.Record<PropertyKey, never>; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + suggestions: (Suggestion)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + } 32 + 33 + export interface Suggestion { 34 + $type?: "app.bsky.unspecced.getTaggedSuggestions#suggestion"; 35 + tag: string; 36 + subjectType: 37 + | "actor" 38 + | "feed" 39 + | (string & globalThis.Record<PropertyKey, never>); 40 + subject: string; 41 + } 42 + 43 + const hashSuggestion = "suggestion"; 44 + 45 + export function isSuggestion<V>(v: V) { 46 + return is$typed(v, id, hashSuggestion); 47 + } 48 + 49 + export function validateSuggestion<V>(v: V) { 50 + return validate<Suggestion & V>(v, id, hashSuggestion); 51 + }
+32
lex-gen/generated/types/app/bsky/unspecced/getTrendingTopics.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking. */ 9 + viewer?: string; 10 + limit?: number; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + topics: (AppBskyUnspeccedDefs.TrendingTopic)[]; 16 + suggested: (AppBskyUnspeccedDefs.TrendingTopic)[]; 17 + } 18 + 19 + export interface CallOptions { 20 + signal?: AbortSignal; 21 + headers?: HeadersMap; 22 + } 23 + 24 + export interface Response { 25 + success: boolean; 26 + headers: HeadersMap; 27 + data: OutputSchema; 28 + } 29 + 30 + export function toKnownErr(e: any) { 31 + return e; 32 + }
+29
lex-gen/generated/types/app/bsky/unspecced/getTrends.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + limit?: number; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + trends: (AppBskyUnspeccedDefs.TrendView)[]; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+31
lex-gen/generated/types/app/bsky/unspecced/getTrendsSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 9 + viewer?: string; 10 + limit?: number; 11 + }; 12 + export type InputSchema = undefined; 13 + 14 + export interface OutputSchema { 15 + trends: (AppBskyUnspeccedDefs.SkeletonTrend)[]; 16 + } 17 + 18 + export interface CallOptions { 19 + signal?: AbortSignal; 20 + headers?: HeadersMap; 21 + } 22 + 23 + export interface Response { 24 + success: boolean; 25 + headers: HeadersMap; 26 + data: OutputSchema; 27 + } 28 + 29 + export function toKnownErr(e: any) { 30 + return e; 31 + }
+59
lex-gen/generated/types/app/bsky/unspecced/initAgeAssurance.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + 9 + export interface InputSchema { 10 + /** The user's email address to receive assurance instructions. */ 11 + email: string; 12 + /** The user's preferred language for communication during the assurance process. */ 13 + language: string; 14 + /** An ISO 3166-1 alpha-2 code of the user's location. */ 15 + countryCode: string; 16 + } 17 + 18 + export type OutputSchema = AppBskyUnspeccedDefs.AgeAssuranceState; 19 + 20 + export interface CallOptions { 21 + signal?: AbortSignal; 22 + headers?: HeadersMap; 23 + qp?: QueryParams; 24 + encoding?: "application/json"; 25 + } 26 + 27 + export interface Response { 28 + success: boolean; 29 + headers: HeadersMap; 30 + data: OutputSchema; 31 + } 32 + 33 + export class InvalidEmailError extends XRPCError { 34 + constructor(src: XRPCError) { 35 + super(src.status, src.error, src.message, src.headers, { cause: src }); 36 + } 37 + } 38 + 39 + export class DidTooLongError extends XRPCError { 40 + constructor(src: XRPCError) { 41 + super(src.status, src.error, src.message, src.headers, { cause: src }); 42 + } 43 + } 44 + 45 + export class InvalidInitiationError extends XRPCError { 46 + constructor(src: XRPCError) { 47 + super(src.status, src.error, src.message, src.headers, { cause: src }); 48 + } 49 + } 50 + 51 + export function toKnownErr(e: any) { 52 + if (e instanceof XRPCError) { 53 + if (e.error === "InvalidEmail") return new InvalidEmailError(e); 54 + if (e.error === "DidTooLong") return new DidTooLongError(e); 55 + if (e.error === "InvalidInitiation") return new InvalidInitiationError(e); 56 + } 57 + 58 + return e; 59 + }
+50
lex-gen/generated/types/app/bsky/unspecced/searchActorsSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax. */ 9 + q: string; 10 + /** DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking. */ 11 + viewer?: string; 12 + /** If true, acts as fast/simple 'typeahead' query. */ 13 + typeahead?: boolean; 14 + limit?: number; 15 + /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */ 16 + cursor?: string; 17 + }; 18 + export type InputSchema = undefined; 19 + 20 + export interface OutputSchema { 21 + cursor?: string; 22 + /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */ 23 + hitsTotal?: number; 24 + actors: (AppBskyUnspeccedDefs.SkeletonSearchActor)[]; 25 + } 26 + 27 + export interface CallOptions { 28 + signal?: AbortSignal; 29 + headers?: HeadersMap; 30 + } 31 + 32 + export interface Response { 33 + success: boolean; 34 + headers: HeadersMap; 35 + data: OutputSchema; 36 + } 37 + 38 + export class BadQueryStringError extends XRPCError { 39 + constructor(src: XRPCError) { 40 + super(src.status, src.error, src.message, src.headers, { cause: src }); 41 + } 42 + } 43 + 44 + export function toKnownErr(e: any) { 45 + if (e instanceof XRPCError) { 46 + if (e.error === "BadQueryString") return new BadQueryStringError(e); 47 + } 48 + 49 + return e; 50 + }
+66
lex-gen/generated/types/app/bsky/unspecced/searchPostsSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */ 9 + q: string; 10 + /** Specifies the ranking order of results. */ 11 + sort?: "top" | "latest" | (string & globalThis.Record<PropertyKey, never>); 12 + /** Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). */ 13 + since?: string; 14 + /** Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). */ 15 + until?: string; 16 + /** Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. */ 17 + mentions?: string; 18 + /** Filter to posts by the given account. Handles are resolved to DID before query-time. */ 19 + author?: string; 20 + /** Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. */ 21 + lang?: string; 22 + /** Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. */ 23 + domain?: string; 24 + /** Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. */ 25 + url?: string; 26 + /** Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. */ 27 + tag?: string[]; 28 + /** DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries. */ 29 + viewer?: string; 30 + limit?: number; 31 + /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */ 32 + cursor?: string; 33 + }; 34 + export type InputSchema = undefined; 35 + 36 + export interface OutputSchema { 37 + cursor?: string; 38 + /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */ 39 + hitsTotal?: number; 40 + posts: (AppBskyUnspeccedDefs.SkeletonSearchPost)[]; 41 + } 42 + 43 + export interface CallOptions { 44 + signal?: AbortSignal; 45 + headers?: HeadersMap; 46 + } 47 + 48 + export interface Response { 49 + success: boolean; 50 + headers: HeadersMap; 51 + data: OutputSchema; 52 + } 53 + 54 + export class BadQueryStringError extends XRPCError { 55 + constructor(src: XRPCError) { 56 + super(src.status, src.error, src.message, src.headers, { cause: src }); 57 + } 58 + } 59 + 60 + export function toKnownErr(e: any) { 61 + if (e instanceof XRPCError) { 62 + if (e.error === "BadQueryString") return new BadQueryStringError(e); 63 + } 64 + 65 + return e; 66 + }
+48
lex-gen/generated/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyUnspeccedDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + /** Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. */ 9 + q: string; 10 + /** DID of the account making the request (not included for public/unauthenticated queries). */ 11 + viewer?: string; 12 + limit?: number; 13 + /** Optional pagination mechanism; may not necessarily allow scrolling through entire result set. */ 14 + cursor?: string; 15 + }; 16 + export type InputSchema = undefined; 17 + 18 + export interface OutputSchema { 19 + cursor?: string; 20 + /** Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits. */ 21 + hitsTotal?: number; 22 + starterPacks: (AppBskyUnspeccedDefs.SkeletonSearchStarterPack)[]; 23 + } 24 + 25 + export interface CallOptions { 26 + signal?: AbortSignal; 27 + headers?: HeadersMap; 28 + } 29 + 30 + export interface Response { 31 + success: boolean; 32 + headers: HeadersMap; 33 + data: OutputSchema; 34 + } 35 + 36 + export class BadQueryStringError extends XRPCError { 37 + constructor(src: XRPCError) { 38 + super(src.status, src.error, src.message, src.headers, { cause: src }); 39 + } 40 + } 41 + 42 + export function toKnownErr(e: any) { 43 + if (e instanceof XRPCError) { 44 + if (e.error === "BadQueryString") return new BadQueryStringError(e); 45 + } 46 + 47 + return e; 48 + }
+35
lex-gen/generated/types/app/bsky/video/defs.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import type { BlobRef } from "@atp/lexicon"; 5 + import { validate as _validate } from "../../../../lexicons.ts"; 6 + import { is$typed as _is$typed } from "../../../../util.ts"; 7 + 8 + const is$typed = _is$typed, validate = _validate; 9 + const id = "app.bsky.video.defs"; 10 + 11 + export interface JobStatus { 12 + $type?: "app.bsky.video.defs#jobStatus"; 13 + jobId: string; 14 + did: string; 15 + /** The state of the video processing job. All values not listed as a known value indicate that the job is in process. */ 16 + state: 17 + | "JOB_STATE_COMPLETED" 18 + | "JOB_STATE_FAILED" 19 + | (string & globalThis.Record<PropertyKey, never>); 20 + /** Progress within the current processing state. */ 21 + progress?: number; 22 + blob?: BlobRef; 23 + error?: string; 24 + message?: string; 25 + } 26 + 27 + const hashJobStatus = "jobStatus"; 28 + 29 + export function isJobStatus<V>(v: V) { 30 + return is$typed(v, id, hashJobStatus); 31 + } 32 + 33 + export function validateJobStatus<V>(v: V) { 34 + return validate<JobStatus & V>(v, id, hashJobStatus); 35 + }
+29
lex-gen/generated/types/app/bsky/video/getJobStatus.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyVideoDefs from "./defs.ts"; 6 + 7 + export type QueryParams = { 8 + jobId: string; 9 + }; 10 + export type InputSchema = undefined; 11 + 12 + export interface OutputSchema { 13 + jobStatus: AppBskyVideoDefs.JobStatus; 14 + } 15 + 16 + export interface CallOptions { 17 + signal?: AbortSignal; 18 + headers?: HeadersMap; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+30
lex-gen/generated/types/app/bsky/video/getUploadLimits.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + 6 + export type QueryParams = globalThis.Record<PropertyKey, never>; 7 + export type InputSchema = undefined; 8 + 9 + export interface OutputSchema { 10 + canUpload: boolean; 11 + remainingDailyVideos?: number; 12 + remainingDailyBytes?: number; 13 + message?: string; 14 + error?: string; 15 + } 16 + 17 + export interface CallOptions { 18 + signal?: AbortSignal; 19 + headers?: HeadersMap; 20 + } 21 + 22 + export interface Response { 23 + success: boolean; 24 + headers: HeadersMap; 25 + data: OutputSchema; 26 + } 27 + 28 + export function toKnownErr(e: any) { 29 + return e; 30 + }
+29
lex-gen/generated/types/app/bsky/video/uploadVideo.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + import { HeadersMap, XRPCError } from "@atp/xrpc"; 5 + import type * as AppBskyVideoDefs from "./defs.ts"; 6 + 7 + export type QueryParams = globalThis.Record<PropertyKey, never>; 8 + export type InputSchema = string | Uint8Array | Blob; 9 + 10 + export interface OutputSchema { 11 + jobStatus: AppBskyVideoDefs.JobStatus; 12 + } 13 + 14 + export interface CallOptions { 15 + signal?: AbortSignal; 16 + headers?: HeadersMap; 17 + qp?: QueryParams; 18 + encoding?: "video/mp4"; 19 + } 20 + 21 + export interface Response { 22 + success: boolean; 23 + headers: HeadersMap; 24 + data: OutputSchema; 25 + } 26 + 27 + export function toKnownErr(e: any) { 28 + return e; 29 + }
+78
lex-gen/generated/util.ts
··· 1 + /** 2 + * GENERATED CODE - DO NOT MODIFY 3 + */ 4 + 5 + import type { ValidationResult } from "@atp/lexicon"; 6 + 7 + export type OmitKey<T, K extends keyof T> = { 8 + [K2 in keyof T as K2 extends K ? never : K2]: T[K2]; 9 + }; 10 + 11 + export type $Typed<V, T extends string = string> = V & { $type: T }; 12 + export type Un$Typed<V extends { $type?: string }> = OmitKey<V, "$type">; 13 + 14 + export type $Type<Id extends string, Hash extends string> = Hash extends "main" 15 + ? Id 16 + : `${Id}#${Hash}`; 17 + 18 + function isObject<V>(v: V): v is V & object { 19 + return v != null && typeof v === "object"; 20 + } 21 + 22 + function is$type<Id extends string, Hash extends string>( 23 + $type: unknown, 24 + id: Id, 25 + hash: Hash, 26 + ): $type is $Type<Id, Hash> { 27 + return hash === "main" 28 + ? $type === id 29 + // $type === `${id}#${hash}` 30 + : typeof $type === "string" && 31 + $type.length === id.length + 1 + hash.length && 32 + $type.charCodeAt(id.length) === 35 /* '#' */ && 33 + $type.startsWith(id) && 34 + $type.endsWith(hash); 35 + } 36 + 37 + export type $TypedObject<V, Id extends string, Hash extends string> = V extends 38 + { 39 + $type: $Type<Id, Hash>; 40 + } ? V 41 + : V extends { $type?: string } 42 + ? V extends { $type?: infer T extends $Type<Id, Hash> } ? V & { $type: T } 43 + : never 44 + : V & { $type: $Type<Id, Hash> }; 45 + 46 + export function is$typed<V, Id extends string, Hash extends string>( 47 + v: V, 48 + id: Id, 49 + hash: Hash, 50 + ): v is $TypedObject<V, Id, Hash> { 51 + return isObject(v) && "$type" in v && is$type(v.$type, id, hash); 52 + } 53 + 54 + export function maybe$typed<V, Id extends string, Hash extends string>( 55 + v: V, 56 + id: Id, 57 + hash: Hash, 58 + ): v is V & object & { $type?: $Type<Id, Hash> } { 59 + return ( 60 + isObject(v) && 61 + ("$type" in v ? v.$type === undefined || is$type(v.$type, id, hash) : true) 62 + ); 63 + } 64 + 65 + export type Validator<R = unknown> = (v: unknown) => ValidationResult<R>; 66 + export type ValidatorParam<V extends Validator> = V extends Validator<infer R> 67 + ? R 68 + : never; 69 + 70 + /** 71 + * Utility function that allows to convert a "validate*" utility function into a 72 + * type predicate. 73 + */ 74 + export function asPredicate<V extends Validator>(validate: V) { 75 + return function <T>(v: T): v is T & ValidatorParam<V> { 76 + return validate(v).success; 77 + }; 78 + }