@atproto/bsky 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts +1 -0
  3. package/dist/db/index.js +285 -15
  4. package/dist/db/index.js.map +3 -3
  5. package/dist/index.js +892 -413
  6. package/dist/index.js.map +3 -3
  7. package/dist/lexicon/lexicons.d.ts +96 -5
  8. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +1 -0
  9. package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts +2 -2
  10. package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts +2 -2
  11. package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts +2 -2
  12. package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts +2 -2
  13. package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts +2 -2
  14. package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts +2 -2
  15. package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts +2 -2
  16. package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts +2 -2
  17. package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts +2 -2
  18. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +2 -2
  19. package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts +2 -2
  20. package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts +2 -2
  21. package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts +2 -2
  22. package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts +2 -2
  23. package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts +2 -2
  24. package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts +2 -2
  25. package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +2 -2
  26. package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts +2 -2
  27. package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts +2 -2
  28. package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts +2 -2
  29. package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts +2 -2
  30. package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts +2 -2
  31. package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts +2 -2
  32. package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts +2 -2
  33. package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts +2 -2
  34. package/dist/lexicon/types/app/bsky/graph/getList.d.ts +2 -2
  35. package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts +2 -2
  36. package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts +2 -2
  37. package/dist/lexicon/types/app/bsky/graph/getLists.d.ts +2 -2
  38. package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts +2 -2
  39. package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts +2 -2
  40. package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +2 -2
  41. package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts +2 -2
  42. package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +2 -2
  43. package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +2 -2
  44. package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +2 -2
  45. package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +2 -2
  46. package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +2 -2
  47. package/dist/lexicon/types/com/atproto/admin/createCommunicationTemplate.d.ts +2 -2
  48. package/dist/lexicon/types/com/atproto/admin/emitModerationEvent.d.ts +2 -2
  49. package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts +2 -2
  50. package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts +2 -2
  51. package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts +2 -2
  52. package/dist/lexicon/types/com/atproto/admin/getModerationEvent.d.ts +2 -2
  53. package/dist/lexicon/types/com/atproto/admin/getRecord.d.ts +2 -2
  54. package/dist/lexicon/types/com/atproto/admin/getRepo.d.ts +2 -2
  55. package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +2 -2
  56. package/dist/lexicon/types/com/atproto/admin/listCommunicationTemplates.d.ts +2 -2
  57. package/dist/lexicon/types/com/atproto/admin/queryModerationEvents.d.ts +2 -2
  58. package/dist/lexicon/types/com/atproto/admin/queryModerationStatuses.d.ts +2 -2
  59. package/dist/lexicon/types/com/atproto/admin/searchRepos.d.ts +2 -2
  60. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +2 -2
  61. package/dist/lexicon/types/com/atproto/admin/updateCommunicationTemplate.d.ts +2 -2
  62. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +2 -2
  63. package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts +2 -2
  64. package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts +2 -2
  65. package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +2 -2
  66. package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +2 -2
  67. package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts +2 -2
  68. package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +2 -2
  69. package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +2 -2
  70. package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +2 -2
  71. package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts +2 -2
  72. package/dist/lexicon/types/com/atproto/server/createAccount.d.ts +2 -2
  73. package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +2 -2
  74. package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts +2 -2
  75. package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +2 -2
  76. package/dist/lexicon/types/com/atproto/server/createSession.d.ts +2 -2
  77. package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +2 -2
  78. package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts +2 -2
  79. package/dist/lexicon/types/com/atproto/server/getSession.d.ts +2 -2
  80. package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +2 -2
  81. package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts +2 -2
  82. package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts +2 -2
  83. package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts +2 -2
  84. package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts +2 -2
  85. package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts +2 -2
  86. package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts +2 -2
  87. package/dist/lexicon/types/com/atproto/sync/getHead.d.ts +2 -2
  88. package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts +2 -2
  89. package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts +2 -2
  90. package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts +2 -2
  91. package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts +2 -2
  92. package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +2 -2
  93. package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts +2 -2
  94. package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +2 -2
  95. package/dist/lexicon/types/com/atproto/temp/importRepo.d.ts +2 -2
  96. package/dist/lexicon/types/com/atproto/temp/transferAccount.d.ts +2 -2
  97. package/dist/services/feed/index.d.ts +2 -1
  98. package/package.json +6 -6
  99. package/src/api/app/bsky/feed/getAuthorFeed.ts +12 -4
  100. package/src/lexicon/lexicons.ts +339 -123
  101. package/src/lexicon/types/app/bsky/actor/defs.ts +2 -0
  102. package/src/lexicon/types/app/bsky/actor/getPreferences.ts +2 -2
  103. package/src/lexicon/types/app/bsky/actor/getProfile.ts +3 -2
  104. package/src/lexicon/types/app/bsky/actor/getProfiles.ts +2 -2
  105. package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +2 -2
  106. package/src/lexicon/types/app/bsky/actor/profile.ts +3 -0
  107. package/src/lexicon/types/app/bsky/actor/putPreferences.ts +1 -1
  108. package/src/lexicon/types/app/bsky/actor/searchActors.ts +2 -2
  109. package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +2 -2
  110. package/src/lexicon/types/app/bsky/embed/external.ts +1 -0
  111. package/src/lexicon/types/app/bsky/embed/images.ts +4 -0
  112. package/src/lexicon/types/app/bsky/embed/record.ts +1 -0
  113. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
  114. package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +2 -2
  115. package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +2 -2
  116. package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +2 -2
  117. package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +3 -2
  118. package/src/lexicon/types/app/bsky/feed/getFeed.ts +2 -2
  119. package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +5 -2
  120. package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +2 -2
  121. package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +3 -2
  122. package/src/lexicon/types/app/bsky/feed/getLikes.ts +4 -2
  123. package/src/lexicon/types/app/bsky/feed/getListFeed.ts +3 -2
  124. package/src/lexicon/types/app/bsky/feed/getPostThread.ts +5 -2
  125. package/src/lexicon/types/app/bsky/feed/getPosts.ts +3 -2
  126. package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +4 -2
  127. package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +2 -2
  128. package/src/lexicon/types/app/bsky/feed/getTimeline.ts +3 -2
  129. package/src/lexicon/types/app/bsky/feed/post.ts +5 -1
  130. package/src/lexicon/types/app/bsky/feed/searchPosts.ts +2 -2
  131. package/src/lexicon/types/app/bsky/feed/threadgate.ts +1 -0
  132. package/src/lexicon/types/app/bsky/graph/block.ts +1 -0
  133. package/src/lexicon/types/app/bsky/graph/getBlocks.ts +2 -2
  134. package/src/lexicon/types/app/bsky/graph/getFollowers.ts +2 -2
  135. package/src/lexicon/types/app/bsky/graph/getFollows.ts +2 -2
  136. package/src/lexicon/types/app/bsky/graph/getList.ts +3 -2
  137. package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +2 -2
  138. package/src/lexicon/types/app/bsky/graph/getListMutes.ts +2 -2
  139. package/src/lexicon/types/app/bsky/graph/getLists.ts +3 -2
  140. package/src/lexicon/types/app/bsky/graph/getMutes.ts +2 -2
  141. package/src/lexicon/types/app/bsky/graph/getRelationships.ts +4 -2
  142. package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +2 -2
  143. package/src/lexicon/types/app/bsky/graph/list.ts +1 -0
  144. package/src/lexicon/types/app/bsky/graph/listblock.ts +1 -0
  145. package/src/lexicon/types/app/bsky/graph/listitem.ts +2 -0
  146. package/src/lexicon/types/app/bsky/graph/muteActor.ts +1 -1
  147. package/src/lexicon/types/app/bsky/graph/muteActorList.ts +1 -1
  148. package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +1 -1
  149. package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +1 -1
  150. package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +2 -2
  151. package/src/lexicon/types/app/bsky/notification/listNotifications.ts +2 -2
  152. package/src/lexicon/types/app/bsky/notification/registerPush.ts +1 -1
  153. package/src/lexicon/types/app/bsky/notification/updateSeen.ts +1 -1
  154. package/src/lexicon/types/app/bsky/richtext/facet.ts +5 -4
  155. package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
  156. package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +2 -2
  157. package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +2 -2
  158. package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +2 -2
  159. package/src/lexicon/types/com/atproto/admin/createCommunicationTemplate.ts +2 -2
  160. package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +1 -1
  161. package/src/lexicon/types/com/atproto/admin/deleteCommunicationTemplate.ts +1 -1
  162. package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +1 -1
  163. package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +1 -1
  164. package/src/lexicon/types/com/atproto/admin/emitModerationEvent.ts +2 -2
  165. package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +1 -1
  166. package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +2 -2
  167. package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +2 -2
  168. package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +2 -2
  169. package/src/lexicon/types/com/atproto/admin/getModerationEvent.ts +2 -2
  170. package/src/lexicon/types/com/atproto/admin/getRecord.ts +2 -2
  171. package/src/lexicon/types/com/atproto/admin/getRepo.ts +2 -2
  172. package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +2 -2
  173. package/src/lexicon/types/com/atproto/admin/listCommunicationTemplates.ts +2 -2
  174. package/src/lexicon/types/com/atproto/admin/queryModerationEvents.ts +2 -2
  175. package/src/lexicon/types/com/atproto/admin/queryModerationStatuses.ts +2 -2
  176. package/src/lexicon/types/com/atproto/admin/searchRepos.ts +2 -2
  177. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +2 -2
  178. package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +1 -1
  179. package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +1 -1
  180. package/src/lexicon/types/com/atproto/admin/updateCommunicationTemplate.ts +2 -2
  181. package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +2 -2
  182. package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +2 -2
  183. package/src/lexicon/types/com/atproto/identity/updateHandle.ts +2 -1
  184. package/src/lexicon/types/com/atproto/label/queryLabels.ts +2 -2
  185. package/src/lexicon/types/com/atproto/label/subscribeLabels.ts +1 -1
  186. package/src/lexicon/types/com/atproto/moderation/createReport.ts +3 -2
  187. package/src/lexicon/types/com/atproto/repo/applyWrites.ts +7 -6
  188. package/src/lexicon/types/com/atproto/repo/createRecord.ts +6 -6
  189. package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +3 -3
  190. package/src/lexicon/types/com/atproto/repo/describeRepo.ts +5 -2
  191. package/src/lexicon/types/com/atproto/repo/getRecord.ts +3 -3
  192. package/src/lexicon/types/com/atproto/repo/listRecords.ts +2 -2
  193. package/src/lexicon/types/com/atproto/repo/putRecord.ts +6 -6
  194. package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +2 -2
  195. package/src/lexicon/types/com/atproto/server/confirmEmail.ts +1 -1
  196. package/src/lexicon/types/com/atproto/server/createAccount.ts +10 -2
  197. package/src/lexicon/types/com/atproto/server/createAppPassword.ts +3 -2
  198. package/src/lexicon/types/com/atproto/server/createInviteCode.ts +2 -2
  199. package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +2 -2
  200. package/src/lexicon/types/com/atproto/server/createSession.ts +2 -2
  201. package/src/lexicon/types/com/atproto/server/deleteAccount.ts +1 -1
  202. package/src/lexicon/types/com/atproto/server/deleteSession.ts +1 -1
  203. package/src/lexicon/types/com/atproto/server/describeServer.ts +5 -2
  204. package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +3 -2
  205. package/src/lexicon/types/com/atproto/server/getSession.ts +2 -2
  206. package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +2 -2
  207. package/src/lexicon/types/com/atproto/server/refreshSession.ts +2 -2
  208. package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +1 -1
  209. package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +1 -1
  210. package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +2 -2
  211. package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +1 -1
  212. package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +4 -4
  213. package/src/lexicon/types/com/atproto/server/resetPassword.ts +1 -1
  214. package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +1 -1
  215. package/src/lexicon/types/com/atproto/server/updateEmail.ts +1 -1
  216. package/src/lexicon/types/com/atproto/sync/getBlob.ts +3 -3
  217. package/src/lexicon/types/com/atproto/sync/getBlocks.ts +2 -2
  218. package/src/lexicon/types/com/atproto/sync/getCheckout.ts +2 -2
  219. package/src/lexicon/types/com/atproto/sync/getHead.ts +2 -2
  220. package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +2 -2
  221. package/src/lexicon/types/com/atproto/sync/getRecord.ts +3 -2
  222. package/src/lexicon/types/com/atproto/sync/getRepo.ts +3 -3
  223. package/src/lexicon/types/com/atproto/sync/listBlobs.ts +2 -2
  224. package/src/lexicon/types/com/atproto/sync/listRepos.ts +3 -2
  225. package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +2 -2
  226. package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +2 -2
  227. package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +17 -5
  228. package/src/lexicon/types/com/atproto/temp/checkSignupQueue.ts +2 -2
  229. package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +2 -2
  230. package/src/lexicon/types/com/atproto/temp/importRepo.ts +2 -2
  231. package/src/lexicon/types/com/atproto/temp/pushBlob.ts +1 -1
  232. package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +1 -1
  233. package/src/lexicon/types/com/atproto/temp/transferAccount.ts +2 -2
  234. package/src/services/feed/index.ts +10 -4
  235. package/src/services/feed/views.ts +3 -1
  236. package/tests/views/author-feed.test.ts +29 -9
@@ -1912,7 +1912,7 @@ export const schemaDict = {
1912
1912
  defs: {
1913
1913
  main: {
1914
1914
  type: 'query',
1915
- description: 'Provides the DID of a repo.',
1915
+ description: 'Resolves a handle (domain name) to a DID.',
1916
1916
  parameters: {
1917
1917
  type: 'params',
1918
1918
  required: ['handle'],
@@ -1946,7 +1946,8 @@ export const schemaDict = {
1946
1946
  defs: {
1947
1947
  main: {
1948
1948
  type: 'procedure',
1949
- description: 'Updates the handle of the account.',
1949
+ description:
1950
+ "Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth.",
1950
1951
  input: {
1951
1952
  encoding: 'application/json',
1952
1953
  schema: {
@@ -1956,6 +1957,7 @@ export const schemaDict = {
1956
1957
  handle: {
1957
1958
  type: 'string',
1958
1959
  format: 'handle',
1960
+ description: 'The new handle.',
1959
1961
  },
1960
1962
  },
1961
1963
  },
@@ -2046,7 +2048,8 @@ export const schemaDict = {
2046
2048
  defs: {
2047
2049
  main: {
2048
2050
  type: 'query',
2049
- description: 'Find labels relevant to the provided URI patterns.',
2051
+ description:
2052
+ 'Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth.',
2050
2053
  parameters: {
2051
2054
  type: 'params',
2052
2055
  required: ['uriPatterns'],
@@ -2107,13 +2110,14 @@ export const schemaDict = {
2107
2110
  defs: {
2108
2111
  main: {
2109
2112
  type: 'subscription',
2110
- description: 'Subscribe to label updates.',
2113
+ description:
2114
+ 'Subscribe to stream of labels (and negations). Public endpoint implemented by mod services. Uses same sequencing scheme as repo event stream.',
2111
2115
  parameters: {
2112
2116
  type: 'params',
2113
2117
  properties: {
2114
2118
  cursor: {
2115
2119
  type: 'integer',
2116
- description: 'The last known event to backfill from.',
2120
+ description: 'The last known event seq number to backfill from.',
2117
2121
  },
2118
2122
  },
2119
2123
  },
@@ -2169,7 +2173,8 @@ export const schemaDict = {
2169
2173
  defs: {
2170
2174
  main: {
2171
2175
  type: 'procedure',
2172
- description: 'Report a repo or a record.',
2176
+ description:
2177
+ 'Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.',
2173
2178
  input: {
2174
2179
  encoding: 'application/json',
2175
2180
  schema: {
@@ -2178,10 +2183,14 @@ export const schemaDict = {
2178
2183
  properties: {
2179
2184
  reasonType: {
2180
2185
  type: 'ref',
2186
+ description:
2187
+ 'Indicates the broad category of violation the report is for.',
2181
2188
  ref: 'lex:com.atproto.moderation.defs#reasonType',
2182
2189
  },
2183
2190
  reason: {
2184
2191
  type: 'string',
2192
+ description:
2193
+ 'Additional context about the content and violation.',
2185
2194
  },
2186
2195
  subject: {
2187
2196
  type: 'union',
@@ -2292,7 +2301,7 @@ export const schemaDict = {
2292
2301
  main: {
2293
2302
  type: 'procedure',
2294
2303
  description:
2295
- 'Apply a batch transaction of creates, updates, and deletes.',
2304
+ 'Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.',
2296
2305
  input: {
2297
2306
  encoding: 'application/json',
2298
2307
  schema: {
@@ -2302,12 +2311,14 @@ export const schemaDict = {
2302
2311
  repo: {
2303
2312
  type: 'string',
2304
2313
  format: 'at-identifier',
2305
- description: 'The handle or DID of the repo.',
2314
+ description:
2315
+ 'The handle or DID of the repo (aka, current account).',
2306
2316
  },
2307
2317
  validate: {
2308
2318
  type: 'boolean',
2309
2319
  default: true,
2310
- description: 'Flag for validating the records.',
2320
+ description:
2321
+ "Can be set to 'false' to skip Lexicon schema validation of record data, for all operations.",
2311
2322
  },
2312
2323
  writes: {
2313
2324
  type: 'array',
@@ -2323,6 +2334,8 @@ export const schemaDict = {
2323
2334
  },
2324
2335
  swapCommit: {
2325
2336
  type: 'string',
2337
+ description:
2338
+ 'If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.',
2326
2339
  format: 'cid',
2327
2340
  },
2328
2341
  },
@@ -2331,12 +2344,14 @@ export const schemaDict = {
2331
2344
  errors: [
2332
2345
  {
2333
2346
  name: 'InvalidSwap',
2347
+ description:
2348
+ "Indicates that the 'swapCommit' parameter did not match current commit.",
2334
2349
  },
2335
2350
  ],
2336
2351
  },
2337
2352
  create: {
2338
2353
  type: 'object',
2339
- description: 'Create a new record.',
2354
+ description: 'Operation which creates a new record.',
2340
2355
  required: ['collection', 'value'],
2341
2356
  properties: {
2342
2357
  collection: {
@@ -2354,7 +2369,7 @@ export const schemaDict = {
2354
2369
  },
2355
2370
  update: {
2356
2371
  type: 'object',
2357
- description: 'Update an existing record.',
2372
+ description: 'Operation which updates an existing record.',
2358
2373
  required: ['collection', 'rkey', 'value'],
2359
2374
  properties: {
2360
2375
  collection: {
@@ -2371,7 +2386,7 @@ export const schemaDict = {
2371
2386
  },
2372
2387
  delete: {
2373
2388
  type: 'object',
2374
- description: 'Delete an existing record.',
2389
+ description: 'Operation which deletes an existing record.',
2375
2390
  required: ['collection', 'rkey'],
2376
2391
  properties: {
2377
2392
  collection: {
@@ -2391,7 +2406,8 @@ export const schemaDict = {
2391
2406
  defs: {
2392
2407
  main: {
2393
2408
  type: 'procedure',
2394
- description: 'Create a new record.',
2409
+ description:
2410
+ 'Create a single new repository record. Requires auth, implemented by PDS.',
2395
2411
  input: {
2396
2412
  encoding: 'application/json',
2397
2413
  schema: {
@@ -2401,7 +2417,8 @@ export const schemaDict = {
2401
2417
  repo: {
2402
2418
  type: 'string',
2403
2419
  format: 'at-identifier',
2404
- description: 'The handle or DID of the repo.',
2420
+ description:
2421
+ 'The handle or DID of the repo (aka, current account).',
2405
2422
  },
2406
2423
  collection: {
2407
2424
  type: 'string',
@@ -2410,17 +2427,18 @@ export const schemaDict = {
2410
2427
  },
2411
2428
  rkey: {
2412
2429
  type: 'string',
2413
- description: 'The key of the record.',
2430
+ description: 'The Record Key.',
2414
2431
  maxLength: 15,
2415
2432
  },
2416
2433
  validate: {
2417
2434
  type: 'boolean',
2418
2435
  default: true,
2419
- description: 'Flag for validating the record.',
2436
+ description:
2437
+ "Can be set to 'false' to skip Lexicon schema validation of record data.",
2420
2438
  },
2421
2439
  record: {
2422
2440
  type: 'unknown',
2423
- description: 'The record to create.',
2441
+ description: 'The record itself. Must contain a $type field.',
2424
2442
  },
2425
2443
  swapCommit: {
2426
2444
  type: 'string',
@@ -2451,6 +2469,8 @@ export const schemaDict = {
2451
2469
  errors: [
2452
2470
  {
2453
2471
  name: 'InvalidSwap',
2472
+ description:
2473
+ "Indicates that 'swapCommit' didn't match current repo commit.",
2454
2474
  },
2455
2475
  ],
2456
2476
  },
@@ -2462,7 +2482,8 @@ export const schemaDict = {
2462
2482
  defs: {
2463
2483
  main: {
2464
2484
  type: 'procedure',
2465
- description: "Delete a record, or ensure it doesn't exist.",
2485
+ description:
2486
+ "Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.",
2466
2487
  input: {
2467
2488
  encoding: 'application/json',
2468
2489
  schema: {
@@ -2472,7 +2493,8 @@ export const schemaDict = {
2472
2493
  repo: {
2473
2494
  type: 'string',
2474
2495
  format: 'at-identifier',
2475
- description: 'The handle or DID of the repo.',
2496
+ description:
2497
+ 'The handle or DID of the repo (aka, current account).',
2476
2498
  },
2477
2499
  collection: {
2478
2500
  type: 'string',
@@ -2481,7 +2503,7 @@ export const schemaDict = {
2481
2503
  },
2482
2504
  rkey: {
2483
2505
  type: 'string',
2484
- description: 'The key of the record.',
2506
+ description: 'The Record Key.',
2485
2507
  },
2486
2508
  swapRecord: {
2487
2509
  type: 'string',
@@ -2513,7 +2535,7 @@ export const schemaDict = {
2513
2535
  main: {
2514
2536
  type: 'query',
2515
2537
  description:
2516
- 'Get information about the repo, including the list of collections.',
2538
+ 'Get information about an account and repository, including the list of collections. Does not require auth.',
2517
2539
  parameters: {
2518
2540
  type: 'params',
2519
2541
  required: ['repo'],
@@ -2547,9 +2569,12 @@ export const schemaDict = {
2547
2569
  },
2548
2570
  didDoc: {
2549
2571
  type: 'unknown',
2572
+ description: 'The complete DID document for this account.',
2550
2573
  },
2551
2574
  collections: {
2552
2575
  type: 'array',
2576
+ description:
2577
+ 'List of all the collections (NSIDs) for which this repo contains at least one record.',
2553
2578
  items: {
2554
2579
  type: 'string',
2555
2580
  format: 'nsid',
@@ -2557,6 +2582,8 @@ export const schemaDict = {
2557
2582
  },
2558
2583
  handleIsCorrect: {
2559
2584
  type: 'boolean',
2585
+ description:
2586
+ 'Indicates if handle is currently valid (resolves bi-directionally)',
2560
2587
  },
2561
2588
  },
2562
2589
  },
@@ -2570,7 +2597,8 @@ export const schemaDict = {
2570
2597
  defs: {
2571
2598
  main: {
2572
2599
  type: 'query',
2573
- description: 'Get a record.',
2600
+ description:
2601
+ 'Get a single record from a repository. Does not require auth.',
2574
2602
  parameters: {
2575
2603
  type: 'params',
2576
2604
  required: ['repo', 'collection', 'rkey'],
@@ -2587,7 +2615,7 @@ export const schemaDict = {
2587
2615
  },
2588
2616
  rkey: {
2589
2617
  type: 'string',
2590
- description: 'The key of the record.',
2618
+ description: 'The Record Key.',
2591
2619
  },
2592
2620
  cid: {
2593
2621
  type: 'string',
@@ -2626,7 +2654,8 @@ export const schemaDict = {
2626
2654
  defs: {
2627
2655
  main: {
2628
2656
  type: 'query',
2629
- description: 'List a range of records in a collection.',
2657
+ description:
2658
+ 'List a range of records in a repository, matching a specific collection. Does not require auth.',
2630
2659
  parameters: {
2631
2660
  type: 'params',
2632
2661
  required: ['repo', 'collection'],
@@ -2712,7 +2741,8 @@ export const schemaDict = {
2712
2741
  defs: {
2713
2742
  main: {
2714
2743
  type: 'procedure',
2715
- description: 'Write a record, creating or updating it as needed.',
2744
+ description:
2745
+ 'Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.',
2716
2746
  input: {
2717
2747
  encoding: 'application/json',
2718
2748
  schema: {
@@ -2723,7 +2753,8 @@ export const schemaDict = {
2723
2753
  repo: {
2724
2754
  type: 'string',
2725
2755
  format: 'at-identifier',
2726
- description: 'The handle or DID of the repo.',
2756
+ description:
2757
+ 'The handle or DID of the repo (aka, current account).',
2727
2758
  },
2728
2759
  collection: {
2729
2760
  type: 'string',
@@ -2732,13 +2763,14 @@ export const schemaDict = {
2732
2763
  },
2733
2764
  rkey: {
2734
2765
  type: 'string',
2735
- description: 'The key of the record.',
2766
+ description: 'The Record Key.',
2736
2767
  maxLength: 15,
2737
2768
  },
2738
2769
  validate: {
2739
2770
  type: 'boolean',
2740
2771
  default: true,
2741
- description: 'Flag for validating the record.',
2772
+ description:
2773
+ "Can be set to 'false' to skip Lexicon schema validation of record data.",
2742
2774
  },
2743
2775
  record: {
2744
2776
  type: 'unknown',
@@ -2748,7 +2780,7 @@ export const schemaDict = {
2748
2780
  type: 'string',
2749
2781
  format: 'cid',
2750
2782
  description:
2751
- 'Compare and swap with the previous record by CID.',
2783
+ 'Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation',
2752
2784
  },
2753
2785
  swapCommit: {
2754
2786
  type: 'string',
@@ -2812,7 +2844,7 @@ export const schemaDict = {
2812
2844
  main: {
2813
2845
  type: 'procedure',
2814
2846
  description:
2815
- 'Upload a new blob to be added to repo in a later request.',
2847
+ 'Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.',
2816
2848
  input: {
2817
2849
  encoding: '*/*',
2818
2850
  },
@@ -2877,7 +2909,7 @@ export const schemaDict = {
2877
2909
  defs: {
2878
2910
  main: {
2879
2911
  type: 'procedure',
2880
- description: 'Create an account.',
2912
+ description: 'Create an account. Implemented by PDS.',
2881
2913
  input: {
2882
2914
  encoding: 'application/json',
2883
2915
  schema: {
@@ -2890,10 +2922,13 @@ export const schemaDict = {
2890
2922
  handle: {
2891
2923
  type: 'string',
2892
2924
  format: 'handle',
2925
+ description: 'Requested handle for the account.',
2893
2926
  },
2894
2927
  did: {
2895
2928
  type: 'string',
2896
2929
  format: 'did',
2930
+ description:
2931
+ 'Pre-existing atproto DID, being imported to a new account.',
2897
2932
  },
2898
2933
  inviteCode: {
2899
2934
  type: 'string',
@@ -2906,12 +2941,18 @@ export const schemaDict = {
2906
2941
  },
2907
2942
  password: {
2908
2943
  type: 'string',
2944
+ description:
2945
+ 'Initial account password. May need to meet instance-specific password strength requirements.',
2909
2946
  },
2910
2947
  recoveryKey: {
2911
2948
  type: 'string',
2949
+ description:
2950
+ 'DID PLC rotation key (aka, recovery key) to be included in PLC creation operation.',
2912
2951
  },
2913
2952
  plcOp: {
2914
2953
  type: 'unknown',
2954
+ description:
2955
+ 'A signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented.',
2915
2956
  },
2916
2957
  },
2917
2958
  },
@@ -2920,6 +2961,8 @@ export const schemaDict = {
2920
2961
  encoding: 'application/json',
2921
2962
  schema: {
2922
2963
  type: 'object',
2964
+ description:
2965
+ 'Account login session returned on successful account creation.',
2923
2966
  required: ['accessJwt', 'refreshJwt', 'handle', 'did'],
2924
2967
  properties: {
2925
2968
  accessJwt: {
@@ -2935,9 +2978,11 @@ export const schemaDict = {
2935
2978
  did: {
2936
2979
  type: 'string',
2937
2980
  format: 'did',
2981
+ description: 'The DID of the new account.',
2938
2982
  },
2939
2983
  didDoc: {
2940
2984
  type: 'unknown',
2985
+ description: 'Complete DID document.',
2941
2986
  },
2942
2987
  },
2943
2988
  },
@@ -2983,6 +3028,8 @@ export const schemaDict = {
2983
3028
  properties: {
2984
3029
  name: {
2985
3030
  type: 'string',
3031
+ description:
3032
+ 'A short name for the App Password, to help distinguish them.',
2986
3033
  },
2987
3034
  },
2988
3035
  },
@@ -3250,7 +3297,8 @@ export const schemaDict = {
3250
3297
  defs: {
3251
3298
  main: {
3252
3299
  type: 'procedure',
3253
- description: "Delete an actor's account with a token and password.",
3300
+ description:
3301
+ "Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth.",
3254
3302
  input: {
3255
3303
  encoding: 'application/json',
3256
3304
  schema: {
@@ -3287,7 +3335,7 @@ export const schemaDict = {
3287
3335
  defs: {
3288
3336
  main: {
3289
3337
  type: 'procedure',
3290
- description: 'Delete the current session.',
3338
+ description: 'Delete the current session. Requires auth.',
3291
3339
  },
3292
3340
  },
3293
3341
  },
@@ -3298,7 +3346,7 @@ export const schemaDict = {
3298
3346
  main: {
3299
3347
  type: 'query',
3300
3348
  description:
3301
- "Get a document describing the service's accounts configuration.",
3349
+ "Describes the server's account creation requirements and capabilities. Implemented by PDS.",
3302
3350
  output: {
3303
3351
  encoding: 'application/json',
3304
3352
  schema: {
@@ -3307,18 +3355,25 @@ export const schemaDict = {
3307
3355
  properties: {
3308
3356
  inviteCodeRequired: {
3309
3357
  type: 'boolean',
3358
+ description:
3359
+ 'If true, an invite code must be supplied to create an account on this instance.',
3310
3360
  },
3311
3361
  phoneVerificationRequired: {
3312
3362
  type: 'boolean',
3363
+ description:
3364
+ 'If true, a phone verification token must be supplied to create an account on this instance.',
3313
3365
  },
3314
3366
  availableUserDomains: {
3315
3367
  type: 'array',
3368
+ description:
3369
+ 'List of domain suffixes that can be used in account handles.',
3316
3370
  items: {
3317
3371
  type: 'string',
3318
3372
  },
3319
3373
  },
3320
3374
  links: {
3321
3375
  type: 'ref',
3376
+ description: 'URLs of service policy documents.',
3322
3377
  ref: 'lex:com.atproto.server.describeServer#links',
3323
3378
  },
3324
3379
  },
@@ -3344,7 +3399,8 @@ export const schemaDict = {
3344
3399
  defs: {
3345
3400
  main: {
3346
3401
  type: 'query',
3347
- description: 'Get all invite codes for a given account.',
3402
+ description:
3403
+ 'Get all invite codes for the current account. Requires auth.',
3348
3404
  parameters: {
3349
3405
  type: 'params',
3350
3406
  properties: {
@@ -3355,6 +3411,8 @@ export const schemaDict = {
3355
3411
  createAvailable: {
3356
3412
  type: 'boolean',
3357
3413
  default: true,
3414
+ description:
3415
+ "Controls whether any new 'earned' but not 'created' invites should be created.",
3358
3416
  },
3359
3417
  },
3360
3418
  },
@@ -3388,7 +3446,8 @@ export const schemaDict = {
3388
3446
  defs: {
3389
3447
  main: {
3390
3448
  type: 'query',
3391
- description: 'Get information about the current session.',
3449
+ description:
3450
+ 'Get information about the current auth session. Requires auth.',
3392
3451
  output: {
3393
3452
  encoding: 'application/json',
3394
3453
  schema: {
@@ -3468,7 +3527,8 @@ export const schemaDict = {
3468
3527
  defs: {
3469
3528
  main: {
3470
3529
  type: 'procedure',
3471
- description: 'Refresh an authentication session.',
3530
+ description:
3531
+ "Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt').",
3472
3532
  output: {
3473
3533
  encoding: 'application/json',
3474
3534
  schema: {
@@ -3574,7 +3634,8 @@ export const schemaDict = {
3574
3634
  defs: {
3575
3635
  main: {
3576
3636
  type: 'procedure',
3577
- description: 'Reserve a repo signing key for account creation.',
3637
+ description:
3638
+ 'Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this endpoint may change when full account migration is implemented.',
3578
3639
  input: {
3579
3640
  encoding: 'application/json',
3580
3641
  schema: {
@@ -3582,7 +3643,8 @@ export const schemaDict = {
3582
3643
  properties: {
3583
3644
  did: {
3584
3645
  type: 'string',
3585
- description: 'The did to reserve a new did:key for',
3646
+ format: 'did',
3647
+ description: 'The DID to reserve a key for.',
3586
3648
  },
3587
3649
  },
3588
3650
  },
@@ -3595,7 +3657,8 @@ export const schemaDict = {
3595
3657
  properties: {
3596
3658
  signingKey: {
3597
3659
  type: 'string',
3598
- description: 'Public signing key in the form of a did:key.',
3660
+ description:
3661
+ 'The public key for the reserved signing key, in did:key serialization.',
3599
3662
  },
3600
3663
  },
3601
3664
  },
@@ -3702,7 +3765,8 @@ export const schemaDict = {
3702
3765
  defs: {
3703
3766
  main: {
3704
3767
  type: 'query',
3705
- description: 'Get a blob associated with a given repo.',
3768
+ description:
3769
+ 'Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS.',
3706
3770
  parameters: {
3707
3771
  type: 'params',
3708
3772
  required: ['did', 'cid'],
@@ -3710,7 +3774,7 @@ export const schemaDict = {
3710
3774
  did: {
3711
3775
  type: 'string',
3712
3776
  format: 'did',
3713
- description: 'The DID of the repo.',
3777
+ description: 'The DID of the account.',
3714
3778
  },
3715
3779
  cid: {
3716
3780
  type: 'string',
@@ -3731,7 +3795,8 @@ export const schemaDict = {
3731
3795
  defs: {
3732
3796
  main: {
3733
3797
  type: 'query',
3734
- description: 'Get blocks from a given repo.',
3798
+ description:
3799
+ 'Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS.',
3735
3800
  parameters: {
3736
3801
  type: 'params',
3737
3802
  required: ['did', 'cids'],
@@ -3826,7 +3891,8 @@ export const schemaDict = {
3826
3891
  defs: {
3827
3892
  main: {
3828
3893
  type: 'query',
3829
- description: 'Get the current commit CID & revision of the repo.',
3894
+ description:
3895
+ 'Get the current commit CID & revision of the specified repo. Does not require auth.',
3830
3896
  parameters: {
3831
3897
  type: 'params',
3832
3898
  required: ['did'],
@@ -3869,7 +3935,7 @@ export const schemaDict = {
3869
3935
  main: {
3870
3936
  type: 'query',
3871
3937
  description:
3872
- 'Get blocks needed for existence or non-existence of record.',
3938
+ 'Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.',
3873
3939
  parameters: {
3874
3940
  type: 'params',
3875
3941
  required: ['did', 'collection', 'rkey'],
@@ -3885,6 +3951,7 @@ export const schemaDict = {
3885
3951
  },
3886
3952
  rkey: {
3887
3953
  type: 'string',
3954
+ description: 'Record Key',
3888
3955
  },
3889
3956
  commit: {
3890
3957
  type: 'string',
@@ -3906,7 +3973,7 @@ export const schemaDict = {
3906
3973
  main: {
3907
3974
  type: 'query',
3908
3975
  description:
3909
- "Gets the DID's repo, optionally catching up from a specific revision.",
3976
+ "Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS.",
3910
3977
  parameters: {
3911
3978
  type: 'params',
3912
3979
  required: ['did'],
@@ -3918,7 +3985,8 @@ export const schemaDict = {
3918
3985
  },
3919
3986
  since: {
3920
3987
  type: 'string',
3921
- description: 'The revision of the repo to catch up from.',
3988
+ description:
3989
+ "The revision ('rev') of the repo to create a diff from.",
3922
3990
  },
3923
3991
  },
3924
3992
  },
@@ -3934,7 +4002,8 @@ export const schemaDict = {
3934
4002
  defs: {
3935
4003
  main: {
3936
4004
  type: 'query',
3937
- description: 'List blob CIDs since some revision.',
4005
+ description:
4006
+ 'List blob CIDso for an account, since some repo revision. Does not require auth; implemented by PDS.',
3938
4007
  parameters: {
3939
4008
  type: 'params',
3940
4009
  required: ['did'],
@@ -3987,7 +4056,8 @@ export const schemaDict = {
3987
4056
  defs: {
3988
4057
  main: {
3989
4058
  type: 'query',
3990
- description: 'List DIDs and root CIDs of hosted repos.',
4059
+ description:
4060
+ 'Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay.',
3991
4061
  parameters: {
3992
4062
  type: 'params',
3993
4063
  properties: {
@@ -4033,6 +4103,7 @@ export const schemaDict = {
4033
4103
  head: {
4034
4104
  type: 'string',
4035
4105
  format: 'cid',
4106
+ description: 'Current repo commit CID',
4036
4107
  },
4037
4108
  rev: {
4038
4109
  type: 'string',
@@ -4048,7 +4119,7 @@ export const schemaDict = {
4048
4119
  main: {
4049
4120
  type: 'procedure',
4050
4121
  description:
4051
- 'Notify a crawling service of a recent update; often when a long break between updates causes the connection with the crawling service to break.',
4122
+ 'Notify a crawling service of a recent update, and that crawling should resume. Intended use is after a gap between repo stream events caused the crawling service to disconnect. Does not require auth; implemented by Relay.',
4052
4123
  input: {
4053
4124
  encoding: 'application/json',
4054
4125
  schema: {
@@ -4058,7 +4129,7 @@ export const schemaDict = {
4058
4129
  hostname: {
4059
4130
  type: 'string',
4060
4131
  description:
4061
- 'Hostname of the service that is notifying of update.',
4132
+ 'Hostname of the current service (usually a PDS) that is notifying of update.',
4062
4133
  },
4063
4134
  },
4064
4135
  },
@@ -4072,7 +4143,8 @@ export const schemaDict = {
4072
4143
  defs: {
4073
4144
  main: {
4074
4145
  type: 'procedure',
4075
- description: 'Request a service to persistently crawl hosted repos.',
4146
+ description:
4147
+ 'Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth.',
4076
4148
  input: {
4077
4149
  encoding: 'application/json',
4078
4150
  schema: {
@@ -4082,7 +4154,7 @@ export const schemaDict = {
4082
4154
  hostname: {
4083
4155
  type: 'string',
4084
4156
  description:
4085
- 'Hostname of the service that is requesting to be crawled.',
4157
+ 'Hostname of the current service (eg, PDS) that is requesting to be crawled.',
4086
4158
  },
4087
4159
  },
4088
4160
  },
@@ -4096,13 +4168,14 @@ export const schemaDict = {
4096
4168
  defs: {
4097
4169
  main: {
4098
4170
  type: 'subscription',
4099
- description: 'Subscribe to repo updates.',
4171
+ description:
4172
+ 'Repository event stream, aka Firehose endpoint. Outputs repo commits with diff data, and identity update events, for all repositories on the current server. See the atproto specifications for details around stream sequencing, repo versioning, CAR diff format, and more. Public and does not require auth; implemented by PDS and Relay.',
4100
4173
  parameters: {
4101
4174
  type: 'params',
4102
4175
  properties: {
4103
4176
  cursor: {
4104
4177
  type: 'integer',
4105
- description: 'The last known event to backfill from.',
4178
+ description: 'The last known event seq number to backfill from.',
4106
4179
  },
4107
4180
  },
4108
4181
  },
@@ -4124,11 +4197,15 @@ export const schemaDict = {
4124
4197
  },
4125
4198
  {
4126
4199
  name: 'ConsumerTooSlow',
4200
+ description:
4201
+ 'If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection.',
4127
4202
  },
4128
4203
  ],
4129
4204
  },
4130
4205
  commit: {
4131
4206
  type: 'object',
4207
+ description:
4208
+ 'Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.',
4132
4209
  required: [
4133
4210
  'seq',
4134
4211
  'rebase',
@@ -4146,34 +4223,45 @@ export const schemaDict = {
4146
4223
  properties: {
4147
4224
  seq: {
4148
4225
  type: 'integer',
4226
+ description: 'The stream sequence number of this message.',
4149
4227
  },
4150
4228
  rebase: {
4151
4229
  type: 'boolean',
4230
+ description: 'DEPRECATED -- unused',
4152
4231
  },
4153
4232
  tooBig: {
4154
4233
  type: 'boolean',
4234
+ description:
4235
+ 'Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.',
4155
4236
  },
4156
4237
  repo: {
4157
4238
  type: 'string',
4158
4239
  format: 'did',
4240
+ description: 'The repo this event comes from.',
4159
4241
  },
4160
4242
  commit: {
4161
4243
  type: 'cid-link',
4244
+ description: 'Repo commit object CID.',
4162
4245
  },
4163
4246
  prev: {
4164
4247
  type: 'cid-link',
4248
+ description:
4249
+ 'DEPRECATED -- unused. WARNING -- nullable and optional; stick with optional to ensure golang interoperability.',
4165
4250
  },
4166
4251
  rev: {
4167
4252
  type: 'string',
4168
- description: 'The rev of the emitted commit.',
4253
+ description:
4254
+ 'The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.',
4169
4255
  },
4170
4256
  since: {
4171
4257
  type: 'string',
4172
- description: 'The rev of the last emitted commit from this repo.',
4258
+ description:
4259
+ 'The rev of the last emitted commit from this repo (if any).',
4173
4260
  },
4174
4261
  blocks: {
4175
4262
  type: 'bytes',
4176
- description: 'CAR file containing relevant blocks.',
4263
+ description:
4264
+ 'CAR file containing relevant blocks, as a diff since the previous repo state.',
4177
4265
  maxLength: 1000000,
4178
4266
  },
4179
4267
  ops: {
@@ -4181,6 +4269,8 @@ export const schemaDict = {
4181
4269
  items: {
4182
4270
  type: 'ref',
4183
4271
  ref: 'lex:com.atproto.sync.subscribeRepos#repoOp',
4272
+ description:
4273
+ 'List of repo mutation operations in this commit (eg, records created, updated, or deleted).',
4184
4274
  },
4185
4275
  maxLength: 200,
4186
4276
  },
@@ -4188,16 +4278,22 @@ export const schemaDict = {
4188
4278
  type: 'array',
4189
4279
  items: {
4190
4280
  type: 'cid-link',
4281
+ description:
4282
+ 'List of new blobs (by CID) referenced by records in this commit.',
4191
4283
  },
4192
4284
  },
4193
4285
  time: {
4194
4286
  type: 'string',
4195
4287
  format: 'datetime',
4288
+ description:
4289
+ 'Timestamp of when this message was originally broadcast.',
4196
4290
  },
4197
4291
  },
4198
4292
  },
4199
4293
  handle: {
4200
4294
  type: 'object',
4295
+ description:
4296
+ "Represents an update of the account's handle, or transition to/from invalid state.",
4201
4297
  required: ['seq', 'did', 'handle', 'time'],
4202
4298
  properties: {
4203
4299
  seq: {
@@ -4219,6 +4315,8 @@ export const schemaDict = {
4219
4315
  },
4220
4316
  migrate: {
4221
4317
  type: 'object',
4318
+ description:
4319
+ 'Represents an account moving from one PDS instance to another. NOTE: not implemented; full account migration may introduce a new message instead.',
4222
4320
  required: ['seq', 'did', 'migrateTo', 'time'],
4223
4321
  nullable: ['migrateTo'],
4224
4322
  properties: {
@@ -4240,6 +4338,7 @@ export const schemaDict = {
4240
4338
  },
4241
4339
  tombstone: {
4242
4340
  type: 'object',
4341
+ description: 'Indicates that an account has been deleted.',
4243
4342
  required: ['seq', 'did', 'time'],
4244
4343
  properties: {
4245
4344
  seq: {
@@ -4270,8 +4369,7 @@ export const schemaDict = {
4270
4369
  },
4271
4370
  repoOp: {
4272
4371
  type: 'object',
4273
- description:
4274
- "A repo operation, ie a write of a single record. For creates and updates, CID is the record's CID as of this operation. For deletes, it's null.",
4372
+ description: 'A repo operation, ie a mutation of a single record.',
4275
4373
  required: ['action', 'path', 'cid'],
4276
4374
  nullable: ['cid'],
4277
4375
  properties: {
@@ -4284,6 +4382,8 @@ export const schemaDict = {
4284
4382
  },
4285
4383
  cid: {
4286
4384
  type: 'cid-link',
4385
+ description:
4386
+ 'For creates and updates, the new record CID. For deletions, null.',
4287
4387
  },
4288
4388
  },
4289
4389
  },
@@ -4324,7 +4424,7 @@ export const schemaDict = {
4324
4424
  main: {
4325
4425
  type: 'query',
4326
4426
  description:
4327
- 'Fetch all labels from a labeler created after a certain date.',
4427
+ 'Fetch all labels from a labeler created after a certain date. DEPRECATED: use queryLabels or subscribeLabels instead',
4328
4428
  parameters: {
4329
4429
  type: 'params',
4330
4430
  properties: {
@@ -4440,7 +4540,8 @@ export const schemaDict = {
4440
4540
  defs: {
4441
4541
  main: {
4442
4542
  type: 'procedure',
4443
- description: 'Transfer an account.',
4543
+ description:
4544
+ 'Transfer an account. NOTE: temporary method, necessarily how account migration will be implemented.',
4444
4545
  input: {
4445
4546
  encoding: 'application/json',
4446
4547
  schema: {
@@ -4513,7 +4614,6 @@ export const schemaDict = {
4513
4614
  AppBskyActorDefs: {
4514
4615
  lexicon: 1,
4515
4616
  id: 'app.bsky.actor.defs',
4516
- description: 'A reference to an actor in the network.',
4517
4617
  defs: {
4518
4618
  profileViewBasic: {
4519
4619
  type: 'object',
@@ -4646,6 +4746,8 @@ export const schemaDict = {
4646
4746
  },
4647
4747
  viewerState: {
4648
4748
  type: 'object',
4749
+ description:
4750
+ "Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests.",
4649
4751
  properties: {
4650
4752
  muted: {
4651
4753
  type: 'boolean',
@@ -4731,6 +4833,9 @@ export const schemaDict = {
4731
4833
  format: 'at-uri',
4732
4834
  },
4733
4835
  },
4836
+ timelineIndex: {
4837
+ type: 'integer',
4838
+ },
4734
4839
  },
4735
4840
  },
4736
4841
  personalDetailsPref: {
@@ -4815,7 +4920,8 @@ export const schemaDict = {
4815
4920
  defs: {
4816
4921
  main: {
4817
4922
  type: 'query',
4818
- description: 'Get private preferences attached to the account.',
4923
+ description:
4924
+ 'Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.',
4819
4925
  parameters: {
4820
4926
  type: 'params',
4821
4927
  properties: {},
@@ -4842,7 +4948,8 @@ export const schemaDict = {
4842
4948
  defs: {
4843
4949
  main: {
4844
4950
  type: 'query',
4845
- description: 'Get detailed profile view of an actor.',
4951
+ description:
4952
+ 'Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.',
4846
4953
  parameters: {
4847
4954
  type: 'params',
4848
4955
  required: ['actor'],
@@ -4850,6 +4957,7 @@ export const schemaDict = {
4850
4957
  actor: {
4851
4958
  type: 'string',
4852
4959
  format: 'at-identifier',
4960
+ description: 'Handle or DID of account to fetch profile of.',
4853
4961
  },
4854
4962
  },
4855
4963
  },
@@ -4909,7 +5017,8 @@ export const schemaDict = {
4909
5017
  defs: {
4910
5018
  main: {
4911
5019
  type: 'query',
4912
- description: 'Get a list of suggested actors, used for discovery.',
5020
+ description:
5021
+ 'Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.',
4913
5022
  parameters: {
4914
5023
  type: 'params',
4915
5024
  properties: {
@@ -4952,7 +5061,7 @@ export const schemaDict = {
4952
5061
  defs: {
4953
5062
  main: {
4954
5063
  type: 'record',
4955
- description: 'A declaration of a profile.',
5064
+ description: 'A declaration of a Bluesky account profile.',
4956
5065
  key: 'literal:self',
4957
5066
  record: {
4958
5067
  type: 'object',
@@ -4964,21 +5073,28 @@ export const schemaDict = {
4964
5073
  },
4965
5074
  description: {
4966
5075
  type: 'string',
5076
+ description: 'Free-form profile description text.',
4967
5077
  maxGraphemes: 256,
4968
5078
  maxLength: 2560,
4969
5079
  },
4970
5080
  avatar: {
4971
5081
  type: 'blob',
5082
+ description:
5083
+ "Small image to be displayed next to posts from account. AKA, 'profile picture'",
4972
5084
  accept: ['image/png', 'image/jpeg'],
4973
5085
  maxSize: 1000000,
4974
5086
  },
4975
5087
  banner: {
4976
5088
  type: 'blob',
5089
+ description:
5090
+ 'Larger horizontal image to display behind profile view.',
4977
5091
  accept: ['image/png', 'image/jpeg'],
4978
5092
  maxSize: 1000000,
4979
5093
  },
4980
5094
  labels: {
4981
5095
  type: 'union',
5096
+ description:
5097
+ 'Self-label values, specific to the Bluesky application, on the overall account.',
4982
5098
  refs: ['lex:com.atproto.label.defs#selfLabels'],
4983
5099
  },
4984
5100
  },
@@ -5015,7 +5131,8 @@ export const schemaDict = {
5015
5131
  defs: {
5016
5132
  main: {
5017
5133
  type: 'query',
5018
- description: 'Find actors (profiles) matching search criteria.',
5134
+ description:
5135
+ 'Find actors (profiles) matching search criteria. Does not require auth.',
5019
5136
  parameters: {
5020
5137
  type: 'params',
5021
5138
  properties: {
@@ -5067,7 +5184,8 @@ export const schemaDict = {
5067
5184
  defs: {
5068
5185
  main: {
5069
5186
  type: 'query',
5070
- description: 'Find actor suggestions for a prefix search term.',
5187
+ description:
5188
+ 'Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.',
5071
5189
  parameters: {
5072
5190
  type: 'params',
5073
5191
  properties: {
@@ -5109,11 +5227,11 @@ export const schemaDict = {
5109
5227
  AppBskyEmbedExternal: {
5110
5228
  lexicon: 1,
5111
5229
  id: 'app.bsky.embed.external',
5112
- description:
5113
- 'A representation of some externally linked content, embedded in another form of content.',
5114
5230
  defs: {
5115
5231
  main: {
5116
5232
  type: 'object',
5233
+ description:
5234
+ "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).",
5117
5235
  required: ['external'],
5118
5236
  properties: {
5119
5237
  external: {
@@ -5177,7 +5295,7 @@ export const schemaDict = {
5177
5295
  AppBskyEmbedImages: {
5178
5296
  lexicon: 1,
5179
5297
  id: 'app.bsky.embed.images',
5180
- description: 'A set of images embedded in some other form of content.',
5298
+ description: 'A set of images embedded in a Bluesky record (eg, a post).',
5181
5299
  defs: {
5182
5300
  main: {
5183
5301
  type: 'object',
@@ -5204,6 +5322,8 @@ export const schemaDict = {
5204
5322
  },
5205
5323
  alt: {
5206
5324
  type: 'string',
5325
+ description:
5326
+ 'Alt text description of the image, for accessibility.',
5207
5327
  },
5208
5328
  aspectRatio: {
5209
5329
  type: 'ref',
@@ -5247,12 +5367,18 @@ export const schemaDict = {
5247
5367
  properties: {
5248
5368
  thumb: {
5249
5369
  type: 'string',
5370
+ description:
5371
+ 'Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.',
5250
5372
  },
5251
5373
  fullsize: {
5252
5374
  type: 'string',
5375
+ description:
5376
+ '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.',
5253
5377
  },
5254
5378
  alt: {
5255
5379
  type: 'string',
5380
+ description:
5381
+ 'Alt text description of the image, for accessibility.',
5256
5382
  },
5257
5383
  aspectRatio: {
5258
5384
  type: 'ref',
@@ -5266,7 +5392,7 @@ export const schemaDict = {
5266
5392
  lexicon: 1,
5267
5393
  id: 'app.bsky.embed.record',
5268
5394
  description:
5269
- 'A representation of a record embedded in another form of content.',
5395
+ 'A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.',
5270
5396
  defs: {
5271
5397
  main: {
5272
5398
  type: 'object',
@@ -5312,6 +5438,7 @@ export const schemaDict = {
5312
5438
  },
5313
5439
  value: {
5314
5440
  type: 'unknown',
5441
+ description: 'The record data itself.',
5315
5442
  },
5316
5443
  labels: {
5317
5444
  type: 'array',
@@ -5376,7 +5503,7 @@ export const schemaDict = {
5376
5503
  lexicon: 1,
5377
5504
  id: 'app.bsky.embed.recordWithMedia',
5378
5505
  description:
5379
- 'A representation of a record embedded in another form of content, alongside other compatible embeds.',
5506
+ '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.',
5380
5507
  defs: {
5381
5508
  main: {
5382
5509
  type: 'object',
@@ -5475,6 +5602,8 @@ export const schemaDict = {
5475
5602
  },
5476
5603
  viewerState: {
5477
5604
  type: 'object',
5605
+ description:
5606
+ "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.",
5478
5607
  properties: {
5479
5608
  repost: {
5480
5609
  type: 'string',
@@ -5735,7 +5864,7 @@ export const schemaDict = {
5735
5864
  main: {
5736
5865
  type: 'query',
5737
5866
  description:
5738
- 'Get information about a feed generator, including policies and offered feed URIs.',
5867
+ 'Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).',
5739
5868
  output: {
5740
5869
  encoding: 'application/json',
5741
5870
  schema: {
@@ -5790,7 +5919,8 @@ export const schemaDict = {
5790
5919
  defs: {
5791
5920
  main: {
5792
5921
  type: 'record',
5793
- description: 'A declaration of the existence of a feed generator.',
5922
+ description:
5923
+ 'Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.',
5794
5924
  key: 'any',
5795
5925
  record: {
5796
5926
  type: 'object',
@@ -5824,6 +5954,7 @@ export const schemaDict = {
5824
5954
  },
5825
5955
  labels: {
5826
5956
  type: 'union',
5957
+ description: 'Self-label values',
5827
5958
  refs: ['lex:com.atproto.label.defs#selfLabels'],
5828
5959
  },
5829
5960
  createdAt: {
@@ -5841,7 +5972,8 @@ export const schemaDict = {
5841
5972
  defs: {
5842
5973
  main: {
5843
5974
  type: 'query',
5844
- description: 'Get a list of feeds created by the actor.',
5975
+ description:
5976
+ "Get a list of feeds (feed generator records) created by the actor (in the actor's repo).",
5845
5977
  parameters: {
5846
5978
  type: 'params',
5847
5979
  required: ['actor'],
@@ -5889,7 +6021,8 @@ export const schemaDict = {
5889
6021
  defs: {
5890
6022
  main: {
5891
6023
  type: 'query',
5892
- description: 'Get a list of posts liked by an actor.',
6024
+ description:
6025
+ 'Get a list of posts liked by an actor. Does not require auth.',
5893
6026
  parameters: {
5894
6027
  type: 'params',
5895
6028
  required: ['actor'],
@@ -5945,7 +6078,8 @@ export const schemaDict = {
5945
6078
  defs: {
5946
6079
  main: {
5947
6080
  type: 'query',
5948
- description: "Get a view of an actor's feed.",
6081
+ description:
6082
+ "Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.",
5949
6083
  parameters: {
5950
6084
  type: 'params',
5951
6085
  required: ['actor'],
@@ -5965,6 +6099,8 @@ export const schemaDict = {
5965
6099
  },
5966
6100
  filter: {
5967
6101
  type: 'string',
6102
+ description:
6103
+ 'Combinations of post/repost types to include in response.',
5968
6104
  knownValues: [
5969
6105
  'posts_with_replies',
5970
6106
  'posts_no_replies',
@@ -6012,7 +6148,7 @@ export const schemaDict = {
6012
6148
  main: {
6013
6149
  type: 'query',
6014
6150
  description:
6015
- "Get a hydrated feed from an actor's selected feed generator.",
6151
+ "Get a hydrated feed from an actor's selected feed generator. Implemented by App View.",
6016
6152
  parameters: {
6017
6153
  type: 'params',
6018
6154
  required: ['feed'],
@@ -6065,7 +6201,8 @@ export const schemaDict = {
6065
6201
  defs: {
6066
6202
  main: {
6067
6203
  type: 'query',
6068
- description: 'Get information about a feed generator.',
6204
+ description:
6205
+ 'Get information about a feed generator. Implemented by AppView.',
6069
6206
  parameters: {
6070
6207
  type: 'params',
6071
6208
  required: ['feed'],
@@ -6073,6 +6210,7 @@ export const schemaDict = {
6073
6210
  feed: {
6074
6211
  type: 'string',
6075
6212
  format: 'at-uri',
6213
+ description: 'AT-URI of the feed generator record.',
6076
6214
  },
6077
6215
  },
6078
6216
  },
@@ -6088,9 +6226,13 @@ export const schemaDict = {
6088
6226
  },
6089
6227
  isOnline: {
6090
6228
  type: 'boolean',
6229
+ description:
6230
+ 'Indicates whether the feed generator service has been online recently, or else seems to be inactive.',
6091
6231
  },
6092
6232
  isValid: {
6093
6233
  type: 'boolean',
6234
+ description:
6235
+ 'Indicates whether the feed generator service is compatible with the record declaration.',
6094
6236
  },
6095
6237
  },
6096
6238
  },
@@ -6143,7 +6285,8 @@ export const schemaDict = {
6143
6285
  defs: {
6144
6286
  main: {
6145
6287
  type: 'query',
6146
- description: 'Get a skeleton of a feed provided by a feed generator.',
6288
+ description:
6289
+ '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.',
6147
6290
  parameters: {
6148
6291
  type: 'params',
6149
6292
  required: ['feed'],
@@ -6151,6 +6294,8 @@ export const schemaDict = {
6151
6294
  feed: {
6152
6295
  type: 'string',
6153
6296
  format: 'at-uri',
6297
+ description:
6298
+ 'Reference to feed generator record describing the specific feed being requested.',
6154
6299
  },
6155
6300
  limit: {
6156
6301
  type: 'integer',
@@ -6196,7 +6341,8 @@ export const schemaDict = {
6196
6341
  defs: {
6197
6342
  main: {
6198
6343
  type: 'query',
6199
- description: 'Get the list of likes.',
6344
+ description:
6345
+ 'Get like records which reference a subject (by AT-URI and CID).',
6200
6346
  parameters: {
6201
6347
  type: 'params',
6202
6348
  required: ['uri'],
@@ -6204,10 +6350,13 @@ export const schemaDict = {
6204
6350
  uri: {
6205
6351
  type: 'string',
6206
6352
  format: 'at-uri',
6353
+ description: 'AT-URI of the subject (eg, a post record).',
6207
6354
  },
6208
6355
  cid: {
6209
6356
  type: 'string',
6210
6357
  format: 'cid',
6358
+ description:
6359
+ 'CID of the subject record (aka, specific version of record), to filter likes.',
6211
6360
  },
6212
6361
  limit: {
6213
6362
  type: 'integer',
@@ -6274,7 +6423,8 @@ export const schemaDict = {
6274
6423
  defs: {
6275
6424
  main: {
6276
6425
  type: 'query',
6277
- description: 'Get a view of a recent posts from actors in a list.',
6426
+ description:
6427
+ 'Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth.',
6278
6428
  parameters: {
6279
6429
  type: 'params',
6280
6430
  required: ['list'],
@@ -6282,6 +6432,7 @@ export const schemaDict = {
6282
6432
  list: {
6283
6433
  type: 'string',
6284
6434
  format: 'at-uri',
6435
+ description: 'Reference (AT-URI) to the list record.',
6285
6436
  },
6286
6437
  limit: {
6287
6438
  type: 'integer',
@@ -6327,7 +6478,8 @@ export const schemaDict = {
6327
6478
  defs: {
6328
6479
  main: {
6329
6480
  type: 'query',
6330
- description: 'Get posts in a thread.',
6481
+ description:
6482
+ 'Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests.',
6331
6483
  parameters: {
6332
6484
  type: 'params',
6333
6485
  required: ['uri'],
@@ -6335,15 +6487,20 @@ export const schemaDict = {
6335
6487
  uri: {
6336
6488
  type: 'string',
6337
6489
  format: 'at-uri',
6490
+ description: 'Reference (AT-URI) to post record.',
6338
6491
  },
6339
6492
  depth: {
6340
6493
  type: 'integer',
6494
+ description:
6495
+ 'How many levels of reply depth should be included in response.',
6341
6496
  default: 6,
6342
6497
  minimum: 0,
6343
6498
  maximum: 1000,
6344
6499
  },
6345
6500
  parentHeight: {
6346
6501
  type: 'integer',
6502
+ description:
6503
+ 'How many levels of parent (and grandparent, etc) post to include.',
6347
6504
  default: 80,
6348
6505
  minimum: 0,
6349
6506
  maximum: 1000,
@@ -6381,13 +6538,15 @@ export const schemaDict = {
6381
6538
  defs: {
6382
6539
  main: {
6383
6540
  type: 'query',
6384
- description: "Get a view of an actor's feed.",
6541
+ description:
6542
+ "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.",
6385
6543
  parameters: {
6386
6544
  type: 'params',
6387
6545
  required: ['uris'],
6388
6546
  properties: {
6389
6547
  uris: {
6390
6548
  type: 'array',
6549
+ description: 'List of post AT-URIs to return hydrated views for.',
6391
6550
  items: {
6392
6551
  type: 'string',
6393
6552
  format: 'at-uri',
@@ -6421,7 +6580,7 @@ export const schemaDict = {
6421
6580
  defs: {
6422
6581
  main: {
6423
6582
  type: 'query',
6424
- description: 'Get a list of reposts.',
6583
+ description: 'Get a list of reposts for a given post.',
6425
6584
  parameters: {
6426
6585
  type: 'params',
6427
6586
  required: ['uri'],
@@ -6429,10 +6588,13 @@ export const schemaDict = {
6429
6588
  uri: {
6430
6589
  type: 'string',
6431
6590
  format: 'at-uri',
6591
+ description: 'Reference (AT-URI) of post record',
6432
6592
  },
6433
6593
  cid: {
6434
6594
  type: 'string',
6435
6595
  format: 'cid',
6596
+ description:
6597
+ 'If supplied, filters to reposts of specific version (by CID) of the post record.',
6436
6598
  },
6437
6599
  limit: {
6438
6600
  type: 'integer',
@@ -6481,7 +6643,8 @@ export const schemaDict = {
6481
6643
  defs: {
6482
6644
  main: {
6483
6645
  type: 'query',
6484
- description: 'Get a list of suggested feeds for the viewer.',
6646
+ description:
6647
+ 'Get a list of suggested feeds (feed generators) for the requesting account.',
6485
6648
  parameters: {
6486
6649
  type: 'params',
6487
6650
  properties: {
@@ -6524,12 +6687,15 @@ export const schemaDict = {
6524
6687
  defs: {
6525
6688
  main: {
6526
6689
  type: 'query',
6527
- description: "Get a view of the actor's home timeline.",
6690
+ description:
6691
+ "Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.",
6528
6692
  parameters: {
6529
6693
  type: 'params',
6530
6694
  properties: {
6531
6695
  algorithm: {
6532
6696
  type: 'string',
6697
+ description:
6698
+ "Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.",
6533
6699
  },
6534
6700
  limit: {
6535
6701
  type: 'integer',
@@ -6570,7 +6736,7 @@ export const schemaDict = {
6570
6736
  defs: {
6571
6737
  main: {
6572
6738
  type: 'record',
6573
- description: 'A declaration of a like.',
6739
+ description: "Record declaring a 'like' of a piece of subject content.",
6574
6740
  key: 'tid',
6575
6741
  record: {
6576
6742
  type: 'object',
@@ -6595,7 +6761,7 @@ export const schemaDict = {
6595
6761
  defs: {
6596
6762
  main: {
6597
6763
  type: 'record',
6598
- description: 'A declaration of a post.',
6764
+ description: 'Record containing a Bluesky post.',
6599
6765
  key: 'tid',
6600
6766
  record: {
6601
6767
  type: 'object',
@@ -6605,10 +6771,12 @@ export const schemaDict = {
6605
6771
  type: 'string',
6606
6772
  maxLength: 3000,
6607
6773
  maxGraphemes: 300,
6774
+ description:
6775
+ 'The primary post content. May be an empty string, if there are embeds.',
6608
6776
  },
6609
6777
  entities: {
6610
6778
  type: 'array',
6611
- description: 'Deprecated: replaced by app.bsky.richtext.facet.',
6779
+ description: 'DEPRECATED: replaced by app.bsky.richtext.facet.',
6612
6780
  items: {
6613
6781
  type: 'ref',
6614
6782
  ref: 'lex:app.bsky.feed.post#entity',
@@ -6616,6 +6784,8 @@ export const schemaDict = {
6616
6784
  },
6617
6785
  facets: {
6618
6786
  type: 'array',
6787
+ description:
6788
+ 'Annotations of text (mentions, URLs, hashtags, etc)',
6619
6789
  items: {
6620
6790
  type: 'ref',
6621
6791
  ref: 'lex:app.bsky.richtext.facet',
@@ -6636,6 +6806,8 @@ export const schemaDict = {
6636
6806
  },
6637
6807
  langs: {
6638
6808
  type: 'array',
6809
+ description:
6810
+ 'Indicates human language of post primary text content.',
6639
6811
  maxLength: 3,
6640
6812
  items: {
6641
6813
  type: 'string',
@@ -6644,21 +6816,25 @@ export const schemaDict = {
6644
6816
  },
6645
6817
  labels: {
6646
6818
  type: 'union',
6819
+ description:
6820
+ 'Self-label values for this post. Effectively content warnings.',
6647
6821
  refs: ['lex:com.atproto.label.defs#selfLabels'],
6648
6822
  },
6649
6823
  tags: {
6650
6824
  type: 'array',
6825
+ description: 'Additional non-inline tags describing this post.',
6651
6826
  maxLength: 8,
6652
6827
  items: {
6653
6828
  type: 'string',
6654
6829
  maxLength: 640,
6655
6830
  maxGraphemes: 64,
6656
6831
  },
6657
- description: 'Additional non-inline tags describing this post.',
6658
6832
  },
6659
6833
  createdAt: {
6660
6834
  type: 'string',
6661
6835
  format: 'datetime',
6836
+ description:
6837
+ 'Client-declared timestamp when this post was originally created.',
6662
6838
  },
6663
6839
  },
6664
6840
  },
@@ -6718,7 +6894,8 @@ export const schemaDict = {
6718
6894
  id: 'app.bsky.feed.repost',
6719
6895
  defs: {
6720
6896
  main: {
6721
- description: 'A declaration of a repost.',
6897
+ description:
6898
+ "Record representing a 'repost' of an existing Bluesky post.",
6722
6899
  type: 'record',
6723
6900
  key: 'tid',
6724
6901
  record: {
@@ -6744,7 +6921,8 @@ export const schemaDict = {
6744
6921
  defs: {
6745
6922
  main: {
6746
6923
  type: 'query',
6747
- description: 'Find posts matching search criteria.',
6924
+ description:
6925
+ 'Find posts matching search criteria, returning views of those posts.',
6748
6926
  parameters: {
6749
6927
  type: 'params',
6750
6928
  required: ['q'],
@@ -6807,7 +6985,7 @@ export const schemaDict = {
6807
6985
  type: 'record',
6808
6986
  key: 'tid',
6809
6987
  description:
6810
- "Defines interaction gating rules for a thread. The rkey of the threadgate record should match the rkey of the thread's root post.",
6988
+ "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..",
6811
6989
  record: {
6812
6990
  type: 'object',
6813
6991
  required: ['post', 'createdAt'],
@@ -6815,6 +6993,7 @@ export const schemaDict = {
6815
6993
  post: {
6816
6994
  type: 'string',
6817
6995
  format: 'at-uri',
6996
+ description: 'Reference (AT-URI) to the post record.',
6818
6997
  },
6819
6998
  allow: {
6820
6999
  type: 'array',
@@ -6864,7 +7043,8 @@ export const schemaDict = {
6864
7043
  defs: {
6865
7044
  main: {
6866
7045
  type: 'record',
6867
- description: 'A declaration of a block.',
7046
+ description:
7047
+ "Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.",
6868
7048
  key: 'tid',
6869
7049
  record: {
6870
7050
  type: 'object',
@@ -6873,6 +7053,7 @@ export const schemaDict = {
6873
7053
  subject: {
6874
7054
  type: 'string',
6875
7055
  format: 'did',
7056
+ description: 'DID of the account to be blocked.',
6876
7057
  },
6877
7058
  createdAt: {
6878
7059
  type: 'string',
@@ -7061,7 +7242,8 @@ export const schemaDict = {
7061
7242
  defs: {
7062
7243
  main: {
7063
7244
  type: 'record',
7064
- description: 'A declaration of a social follow.',
7245
+ description:
7246
+ "Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.",
7065
7247
  key: 'tid',
7066
7248
  record: {
7067
7249
  type: 'object',
@@ -7086,7 +7268,8 @@ export const schemaDict = {
7086
7268
  defs: {
7087
7269
  main: {
7088
7270
  type: 'query',
7089
- description: 'Get a list of who the actor is blocking.',
7271
+ description:
7272
+ 'Enumerates which accounts the requesting account is currently blocking. Requires auth.',
7090
7273
  parameters: {
7091
7274
  type: 'params',
7092
7275
  properties: {
@@ -7129,7 +7312,8 @@ export const schemaDict = {
7129
7312
  defs: {
7130
7313
  main: {
7131
7314
  type: 'query',
7132
- description: "Get a list of an actor's followers.",
7315
+ description:
7316
+ 'Enumerates accounts which follow a specified account (actor).',
7133
7317
  parameters: {
7134
7318
  type: 'params',
7135
7319
  required: ['actor'],
@@ -7181,7 +7365,8 @@ export const schemaDict = {
7181
7365
  defs: {
7182
7366
  main: {
7183
7367
  type: 'query',
7184
- description: 'Get a list of who the actor follows.',
7368
+ description:
7369
+ 'Enumerates accounts which a specified account (actor) follows.',
7185
7370
  parameters: {
7186
7371
  type: 'params',
7187
7372
  required: ['actor'],
@@ -7233,7 +7418,8 @@ export const schemaDict = {
7233
7418
  defs: {
7234
7419
  main: {
7235
7420
  type: 'query',
7236
- description: 'Get a list of actors.',
7421
+ description:
7422
+ "Gets a 'view' (with additional context) of a specified list.",
7237
7423
  parameters: {
7238
7424
  type: 'params',
7239
7425
  required: ['list'],
@@ -7241,6 +7427,7 @@ export const schemaDict = {
7241
7427
  list: {
7242
7428
  type: 'string',
7243
7429
  format: 'at-uri',
7430
+ description: 'Reference (AT-URI) of the list record to hydrate.',
7244
7431
  },
7245
7432
  limit: {
7246
7433
  type: 'integer',
@@ -7285,7 +7472,8 @@ export const schemaDict = {
7285
7472
  defs: {
7286
7473
  main: {
7287
7474
  type: 'query',
7288
- description: 'Get lists that the actor is blocking.',
7475
+ description:
7476
+ 'Get mod lists that the requesting account (actor) is blocking. Requires auth.',
7289
7477
  parameters: {
7290
7478
  type: 'params',
7291
7479
  properties: {
@@ -7328,7 +7516,8 @@ export const schemaDict = {
7328
7516
  defs: {
7329
7517
  main: {
7330
7518
  type: 'query',
7331
- description: 'Get lists that the actor is muting.',
7519
+ description:
7520
+ 'Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.',
7332
7521
  parameters: {
7333
7522
  type: 'params',
7334
7523
  properties: {
@@ -7371,7 +7560,8 @@ export const schemaDict = {
7371
7560
  defs: {
7372
7561
  main: {
7373
7562
  type: 'query',
7374
- description: 'Get a list of lists that belong to an actor.',
7563
+ description:
7564
+ 'Enumerates the lists created by a specified account (actor).',
7375
7565
  parameters: {
7376
7566
  type: 'params',
7377
7567
  required: ['actor'],
@@ -7379,6 +7569,7 @@ export const schemaDict = {
7379
7569
  actor: {
7380
7570
  type: 'string',
7381
7571
  format: 'at-identifier',
7572
+ description: 'The account (actor) to enumerate lists from.',
7382
7573
  },
7383
7574
  limit: {
7384
7575
  type: 'integer',
@@ -7419,7 +7610,8 @@ export const schemaDict = {
7419
7610
  defs: {
7420
7611
  main: {
7421
7612
  type: 'query',
7422
- description: 'Get a list of who the actor mutes.',
7613
+ description:
7614
+ 'Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.',
7423
7615
  parameters: {
7424
7616
  type: 'params',
7425
7617
  properties: {
@@ -7463,7 +7655,7 @@ export const schemaDict = {
7463
7655
  main: {
7464
7656
  type: 'query',
7465
7657
  description:
7466
- 'Enumerates public relationships between one account, and a list of other accounts',
7658
+ 'Enumerates public relationships between one account, and a list of other accounts. Does not require auth.',
7467
7659
  parameters: {
7468
7660
  type: 'params',
7469
7661
  required: ['actor'],
@@ -7471,9 +7663,12 @@ export const schemaDict = {
7471
7663
  actor: {
7472
7664
  type: 'string',
7473
7665
  format: 'at-identifier',
7666
+ description: 'Primary account requesting relationships for.',
7474
7667
  },
7475
7668
  others: {
7476
7669
  type: 'array',
7670
+ description:
7671
+ "List of 'other' accounts to be related back to the primary.",
7477
7672
  maxLength: 30,
7478
7673
  items: {
7479
7674
  type: 'string',
@@ -7521,7 +7716,8 @@ export const schemaDict = {
7521
7716
  defs: {
7522
7717
  main: {
7523
7718
  type: 'query',
7524
- description: 'Get suggested follows related to a given actor.',
7719
+ description:
7720
+ 'Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account.',
7525
7721
  parameters: {
7526
7722
  type: 'params',
7527
7723
  required: ['actor'],
@@ -7557,7 +7753,8 @@ export const schemaDict = {
7557
7753
  defs: {
7558
7754
  main: {
7559
7755
  type: 'record',
7560
- description: 'A declaration of a list of actors.',
7756
+ description:
7757
+ 'Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.',
7561
7758
  key: 'tid',
7562
7759
  record: {
7563
7760
  type: 'object',
@@ -7565,12 +7762,15 @@ export const schemaDict = {
7565
7762
  properties: {
7566
7763
  purpose: {
7567
7764
  type: 'ref',
7765
+ description:
7766
+ 'Defines the purpose of the list (aka, moderation-oriented or curration-oriented)',
7568
7767
  ref: 'lex:app.bsky.graph.defs#listPurpose',
7569
7768
  },
7570
7769
  name: {
7571
7770
  type: 'string',
7572
7771
  maxLength: 64,
7573
7772
  minLength: 1,
7773
+ description: 'Display name for list; can not be empty.',
7574
7774
  },
7575
7775
  description: {
7576
7776
  type: 'string',
@@ -7608,7 +7808,8 @@ export const schemaDict = {
7608
7808
  defs: {
7609
7809
  main: {
7610
7810
  type: 'record',
7611
- description: 'A block of an entire list of actors.',
7811
+ description:
7812
+ 'Record representing a block relationship against an entire an entire list of accounts (actors).',
7612
7813
  key: 'tid',
7613
7814
  record: {
7614
7815
  type: 'object',
@@ -7617,6 +7818,7 @@ export const schemaDict = {
7617
7818
  subject: {
7618
7819
  type: 'string',
7619
7820
  format: 'at-uri',
7821
+ description: 'Reference (AT-URI) to the mod list record.',
7620
7822
  },
7621
7823
  createdAt: {
7622
7824
  type: 'string',
@@ -7633,7 +7835,8 @@ export const schemaDict = {
7633
7835
  defs: {
7634
7836
  main: {
7635
7837
  type: 'record',
7636
- description: 'An item under a declared list of actors.',
7838
+ description:
7839
+ "Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.",
7637
7840
  key: 'tid',
7638
7841
  record: {
7639
7842
  type: 'object',
@@ -7642,10 +7845,13 @@ export const schemaDict = {
7642
7845
  subject: {
7643
7846
  type: 'string',
7644
7847
  format: 'did',
7848
+ description: 'The account which is included on the list.',
7645
7849
  },
7646
7850
  list: {
7647
7851
  type: 'string',
7648
7852
  format: 'at-uri',
7853
+ description:
7854
+ 'Reference (AT-URI) to the list record (app.bsky.graph.list).',
7649
7855
  },
7650
7856
  createdAt: {
7651
7857
  type: 'string',
@@ -7662,7 +7868,8 @@ export const schemaDict = {
7662
7868
  defs: {
7663
7869
  main: {
7664
7870
  type: 'procedure',
7665
- description: 'Mute an actor by DID or handle.',
7871
+ description:
7872
+ 'Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth.',
7666
7873
  input: {
7667
7874
  encoding: 'application/json',
7668
7875
  schema: {
@@ -7685,7 +7892,8 @@ export const schemaDict = {
7685
7892
  defs: {
7686
7893
  main: {
7687
7894
  type: 'procedure',
7688
- description: 'Mute a list of actors.',
7895
+ description:
7896
+ 'Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth.',
7689
7897
  input: {
7690
7898
  encoding: 'application/json',
7691
7899
  schema: {
@@ -7708,7 +7916,7 @@ export const schemaDict = {
7708
7916
  defs: {
7709
7917
  main: {
7710
7918
  type: 'procedure',
7711
- description: 'Unmute an actor by DID or handle.',
7919
+ description: 'Unmutes the specified account. Requires auth.',
7712
7920
  input: {
7713
7921
  encoding: 'application/json',
7714
7922
  schema: {
@@ -7731,7 +7939,7 @@ export const schemaDict = {
7731
7939
  defs: {
7732
7940
  main: {
7733
7941
  type: 'procedure',
7734
- description: 'Unmute a list of actors.',
7942
+ description: 'Unmutes the specified list of accounts. Requires auth.',
7735
7943
  input: {
7736
7944
  encoding: 'application/json',
7737
7945
  schema: {
@@ -7754,7 +7962,8 @@ export const schemaDict = {
7754
7962
  defs: {
7755
7963
  main: {
7756
7964
  type: 'query',
7757
- description: 'Get the count of unread notifications.',
7965
+ description:
7966
+ 'Count the number of unread notifications for the requesting account. Requires auth.',
7758
7967
  parameters: {
7759
7968
  type: 'params',
7760
7969
  properties: {
@@ -7785,7 +7994,8 @@ export const schemaDict = {
7785
7994
  defs: {
7786
7995
  main: {
7787
7996
  type: 'query',
7788
- description: 'Get a list of notifications.',
7997
+ description:
7998
+ 'Enumerate notifications for the requesting account. Requires auth.',
7789
7999
  parameters: {
7790
8000
  type: 'params',
7791
8001
  properties: {
@@ -7896,7 +8106,8 @@ export const schemaDict = {
7896
8106
  defs: {
7897
8107
  main: {
7898
8108
  type: 'procedure',
7899
- description: 'Register for push notifications with a service.',
8109
+ description:
8110
+ 'Register to receive push notifications, via a specified service, for the requesting account. Requires auth.',
7900
8111
  input: {
7901
8112
  encoding: 'application/json',
7902
8113
  schema: {
@@ -7929,7 +8140,8 @@ export const schemaDict = {
7929
8140
  defs: {
7930
8141
  main: {
7931
8142
  type: 'procedure',
7932
- description: 'Notify server that the user has seen notifications.',
8143
+ description:
8144
+ 'Notify server that the requesting account has seen notifications. Requires auth.',
7933
8145
  input: {
7934
8146
  encoding: 'application/json',
7935
8147
  schema: {
@@ -7952,6 +8164,7 @@ export const schemaDict = {
7952
8164
  defs: {
7953
8165
  main: {
7954
8166
  type: 'object',
8167
+ description: 'Annotation of a sub-string within rich text.',
7955
8168
  required: ['index', 'features'],
7956
8169
  properties: {
7957
8170
  index: {
@@ -7973,7 +8186,8 @@ export const schemaDict = {
7973
8186
  },
7974
8187
  mention: {
7975
8188
  type: 'object',
7976
- description: 'A facet feature for actor mentions.',
8189
+ description:
8190
+ "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.",
7977
8191
  required: ['did'],
7978
8192
  properties: {
7979
8193
  did: {
@@ -7984,7 +8198,8 @@ export const schemaDict = {
7984
8198
  },
7985
8199
  link: {
7986
8200
  type: 'object',
7987
- description: 'A facet feature for links.',
8201
+ description:
8202
+ 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.',
7988
8203
  required: ['uri'],
7989
8204
  properties: {
7990
8205
  uri: {
@@ -7995,7 +8210,8 @@ export const schemaDict = {
7995
8210
  },
7996
8211
  tag: {
7997
8212
  type: 'object',
7998
- description: 'A hashtag.',
8213
+ description:
8214
+ "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').",
7999
8215
  required: ['tag'],
8000
8216
  properties: {
8001
8217
  tag: {
@@ -8008,7 +8224,7 @@ export const schemaDict = {
8008
8224
  byteSlice: {
8009
8225
  type: 'object',
8010
8226
  description:
8011
- 'A text segment. Start is inclusive, end is exclusive. Indices are for utf8-encoded strings.',
8227
+ '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.',
8012
8228
  required: ['byteStart', 'byteEnd'],
8013
8229
  properties: {
8014
8230
  byteStart: {