@atproto/bsky 0.0.29 → 0.0.31

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 (239) hide show
  1. package/CHANGELOG.md +15 -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 +1010 -415
  6. package/dist/index.js.map +3 -3
  7. package/dist/lexicon/lexicons.d.ts +153 -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/defs.d.ts +9 -0
  49. package/dist/lexicon/types/com/atproto/admin/emitModerationEvent.d.ts +3 -3
  50. package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts +2 -2
  51. package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts +2 -2
  52. package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts +2 -2
  53. package/dist/lexicon/types/com/atproto/admin/getModerationEvent.d.ts +2 -2
  54. package/dist/lexicon/types/com/atproto/admin/getRecord.d.ts +2 -2
  55. package/dist/lexicon/types/com/atproto/admin/getRepo.d.ts +2 -2
  56. package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +2 -2
  57. package/dist/lexicon/types/com/atproto/admin/listCommunicationTemplates.d.ts +2 -2
  58. package/dist/lexicon/types/com/atproto/admin/queryModerationEvents.d.ts +4 -2
  59. package/dist/lexicon/types/com/atproto/admin/queryModerationStatuses.d.ts +4 -2
  60. package/dist/lexicon/types/com/atproto/admin/searchRepos.d.ts +2 -2
  61. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +2 -2
  62. package/dist/lexicon/types/com/atproto/admin/updateCommunicationTemplate.d.ts +2 -2
  63. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +2 -2
  64. package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts +2 -2
  65. package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts +2 -2
  66. package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +2 -2
  67. package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +2 -2
  68. package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts +2 -2
  69. package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +2 -2
  70. package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +2 -2
  71. package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +2 -2
  72. package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts +2 -2
  73. package/dist/lexicon/types/com/atproto/server/createAccount.d.ts +2 -2
  74. package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +2 -2
  75. package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts +2 -2
  76. package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +2 -2
  77. package/dist/lexicon/types/com/atproto/server/createSession.d.ts +2 -2
  78. package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +2 -2
  79. package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts +2 -2
  80. package/dist/lexicon/types/com/atproto/server/getSession.d.ts +2 -2
  81. package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +2 -2
  82. package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts +2 -2
  83. package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts +2 -2
  84. package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts +2 -2
  85. package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts +2 -2
  86. package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts +2 -2
  87. package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts +2 -2
  88. package/dist/lexicon/types/com/atproto/sync/getHead.d.ts +2 -2
  89. package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts +2 -2
  90. package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts +2 -2
  91. package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts +2 -2
  92. package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts +2 -2
  93. package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +2 -2
  94. package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.d.ts +2 -2
  95. package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +2 -2
  96. package/dist/lexicon/types/com/atproto/temp/importRepo.d.ts +2 -2
  97. package/dist/lexicon/types/com/atproto/temp/transferAccount.d.ts +2 -2
  98. package/dist/services/feed/index.d.ts +2 -1
  99. package/package.json +7 -7
  100. package/src/api/app/bsky/feed/getAuthorFeed.ts +12 -4
  101. package/src/lexicon/lexicons.ts +401 -123
  102. package/src/lexicon/types/app/bsky/actor/defs.ts +2 -0
  103. package/src/lexicon/types/app/bsky/actor/getPreferences.ts +2 -2
  104. package/src/lexicon/types/app/bsky/actor/getProfile.ts +3 -2
  105. package/src/lexicon/types/app/bsky/actor/getProfiles.ts +2 -2
  106. package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +2 -2
  107. package/src/lexicon/types/app/bsky/actor/profile.ts +3 -0
  108. package/src/lexicon/types/app/bsky/actor/putPreferences.ts +1 -1
  109. package/src/lexicon/types/app/bsky/actor/searchActors.ts +2 -2
  110. package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +2 -2
  111. package/src/lexicon/types/app/bsky/embed/external.ts +1 -0
  112. package/src/lexicon/types/app/bsky/embed/images.ts +4 -0
  113. package/src/lexicon/types/app/bsky/embed/record.ts +1 -0
  114. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
  115. package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +2 -2
  116. package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +2 -2
  117. package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +2 -2
  118. package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +3 -2
  119. package/src/lexicon/types/app/bsky/feed/getFeed.ts +2 -2
  120. package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +5 -2
  121. package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +2 -2
  122. package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +3 -2
  123. package/src/lexicon/types/app/bsky/feed/getLikes.ts +4 -2
  124. package/src/lexicon/types/app/bsky/feed/getListFeed.ts +3 -2
  125. package/src/lexicon/types/app/bsky/feed/getPostThread.ts +5 -2
  126. package/src/lexicon/types/app/bsky/feed/getPosts.ts +3 -2
  127. package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +4 -2
  128. package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +2 -2
  129. package/src/lexicon/types/app/bsky/feed/getTimeline.ts +3 -2
  130. package/src/lexicon/types/app/bsky/feed/post.ts +5 -1
  131. package/src/lexicon/types/app/bsky/feed/searchPosts.ts +2 -2
  132. package/src/lexicon/types/app/bsky/feed/threadgate.ts +1 -0
  133. package/src/lexicon/types/app/bsky/graph/block.ts +1 -0
  134. package/src/lexicon/types/app/bsky/graph/getBlocks.ts +2 -2
  135. package/src/lexicon/types/app/bsky/graph/getFollowers.ts +2 -2
  136. package/src/lexicon/types/app/bsky/graph/getFollows.ts +2 -2
  137. package/src/lexicon/types/app/bsky/graph/getList.ts +3 -2
  138. package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +2 -2
  139. package/src/lexicon/types/app/bsky/graph/getListMutes.ts +2 -2
  140. package/src/lexicon/types/app/bsky/graph/getLists.ts +3 -2
  141. package/src/lexicon/types/app/bsky/graph/getMutes.ts +2 -2
  142. package/src/lexicon/types/app/bsky/graph/getRelationships.ts +4 -2
  143. package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +2 -2
  144. package/src/lexicon/types/app/bsky/graph/list.ts +1 -0
  145. package/src/lexicon/types/app/bsky/graph/listblock.ts +1 -0
  146. package/src/lexicon/types/app/bsky/graph/listitem.ts +2 -0
  147. package/src/lexicon/types/app/bsky/graph/muteActor.ts +1 -1
  148. package/src/lexicon/types/app/bsky/graph/muteActorList.ts +1 -1
  149. package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +1 -1
  150. package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +1 -1
  151. package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +2 -2
  152. package/src/lexicon/types/app/bsky/notification/listNotifications.ts +2 -2
  153. package/src/lexicon/types/app/bsky/notification/registerPush.ts +1 -1
  154. package/src/lexicon/types/app/bsky/notification/updateSeen.ts +1 -1
  155. package/src/lexicon/types/app/bsky/richtext/facet.ts +5 -4
  156. package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
  157. package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +2 -2
  158. package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +2 -2
  159. package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +2 -2
  160. package/src/lexicon/types/com/atproto/admin/createCommunicationTemplate.ts +2 -2
  161. package/src/lexicon/types/com/atproto/admin/defs.ts +24 -0
  162. package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +1 -1
  163. package/src/lexicon/types/com/atproto/admin/deleteCommunicationTemplate.ts +1 -1
  164. package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +1 -1
  165. package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +1 -1
  166. package/src/lexicon/types/com/atproto/admin/emitModerationEvent.ts +3 -2
  167. package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +1 -1
  168. package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +2 -2
  169. package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +2 -2
  170. package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +2 -2
  171. package/src/lexicon/types/com/atproto/admin/getModerationEvent.ts +2 -2
  172. package/src/lexicon/types/com/atproto/admin/getRecord.ts +2 -2
  173. package/src/lexicon/types/com/atproto/admin/getRepo.ts +2 -2
  174. package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +2 -2
  175. package/src/lexicon/types/com/atproto/admin/listCommunicationTemplates.ts +2 -2
  176. package/src/lexicon/types/com/atproto/admin/queryModerationEvents.ts +6 -2
  177. package/src/lexicon/types/com/atproto/admin/queryModerationStatuses.ts +4 -2
  178. package/src/lexicon/types/com/atproto/admin/searchRepos.ts +2 -2
  179. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +2 -2
  180. package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +1 -1
  181. package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +1 -1
  182. package/src/lexicon/types/com/atproto/admin/updateCommunicationTemplate.ts +2 -2
  183. package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +2 -2
  184. package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +2 -2
  185. package/src/lexicon/types/com/atproto/identity/updateHandle.ts +2 -1
  186. package/src/lexicon/types/com/atproto/label/queryLabels.ts +2 -2
  187. package/src/lexicon/types/com/atproto/label/subscribeLabels.ts +1 -1
  188. package/src/lexicon/types/com/atproto/moderation/createReport.ts +3 -2
  189. package/src/lexicon/types/com/atproto/repo/applyWrites.ts +7 -6
  190. package/src/lexicon/types/com/atproto/repo/createRecord.ts +6 -6
  191. package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +3 -3
  192. package/src/lexicon/types/com/atproto/repo/describeRepo.ts +5 -2
  193. package/src/lexicon/types/com/atproto/repo/getRecord.ts +3 -3
  194. package/src/lexicon/types/com/atproto/repo/listRecords.ts +2 -2
  195. package/src/lexicon/types/com/atproto/repo/putRecord.ts +6 -6
  196. package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +2 -2
  197. package/src/lexicon/types/com/atproto/server/confirmEmail.ts +1 -1
  198. package/src/lexicon/types/com/atproto/server/createAccount.ts +10 -2
  199. package/src/lexicon/types/com/atproto/server/createAppPassword.ts +3 -2
  200. package/src/lexicon/types/com/atproto/server/createInviteCode.ts +2 -2
  201. package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +2 -2
  202. package/src/lexicon/types/com/atproto/server/createSession.ts +2 -2
  203. package/src/lexicon/types/com/atproto/server/deleteAccount.ts +1 -1
  204. package/src/lexicon/types/com/atproto/server/deleteSession.ts +1 -1
  205. package/src/lexicon/types/com/atproto/server/describeServer.ts +5 -2
  206. package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +3 -2
  207. package/src/lexicon/types/com/atproto/server/getSession.ts +2 -2
  208. package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +2 -2
  209. package/src/lexicon/types/com/atproto/server/refreshSession.ts +2 -2
  210. package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +1 -1
  211. package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +1 -1
  212. package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +2 -2
  213. package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +1 -1
  214. package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +4 -4
  215. package/src/lexicon/types/com/atproto/server/resetPassword.ts +1 -1
  216. package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +1 -1
  217. package/src/lexicon/types/com/atproto/server/updateEmail.ts +1 -1
  218. package/src/lexicon/types/com/atproto/sync/getBlob.ts +3 -3
  219. package/src/lexicon/types/com/atproto/sync/getBlocks.ts +2 -2
  220. package/src/lexicon/types/com/atproto/sync/getCheckout.ts +2 -2
  221. package/src/lexicon/types/com/atproto/sync/getHead.ts +2 -2
  222. package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +2 -2
  223. package/src/lexicon/types/com/atproto/sync/getRecord.ts +3 -2
  224. package/src/lexicon/types/com/atproto/sync/getRepo.ts +3 -3
  225. package/src/lexicon/types/com/atproto/sync/listBlobs.ts +2 -2
  226. package/src/lexicon/types/com/atproto/sync/listRepos.ts +3 -2
  227. package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +2 -2
  228. package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +2 -2
  229. package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +17 -5
  230. package/src/lexicon/types/com/atproto/temp/checkSignupQueue.ts +2 -2
  231. package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +2 -2
  232. package/src/lexicon/types/com/atproto/temp/importRepo.ts +2 -2
  233. package/src/lexicon/types/com/atproto/temp/pushBlob.ts +1 -1
  234. package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +1 -1
  235. package/src/lexicon/types/com/atproto/temp/transferAccount.ts +2 -2
  236. package/src/services/feed/index.ts +10 -4
  237. package/src/services/feed/views.ts +3 -1
  238. package/tests/auto-moderator/labeler.test.ts +2 -0
  239. package/tests/views/author-feed.test.ts +29 -9
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  }
5
5
  export type InputSchema = undefined;
@@ -19,7 +19,7 @@ export interface HandlerError {
19
19
  status: number;
20
20
  message?: string;
21
21
  }
22
- export type HandlerOutput = HandlerError | HandlerSuccess;
22
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
23
23
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
24
24
  auth: HA;
25
25
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  }
5
5
  export interface InputSchema {
@@ -25,7 +25,7 @@ export interface HandlerError {
25
25
  status: number;
26
26
  message?: string;
27
27
  }
28
- export type HandlerOutput = HandlerError | HandlerSuccess;
28
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
29
29
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
30
30
  auth: HA;
31
31
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  cid: string;
@@ -19,7 +19,7 @@ export interface HandlerError {
19
19
  status: number;
20
20
  message?: string;
21
21
  }
22
- export type HandlerOutput = HandlerError | HandlerSuccess;
22
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
23
23
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
24
24
  auth: HA;
25
25
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  cids: string[];
@@ -19,7 +19,7 @@ export interface HandlerError {
19
19
  status: number;
20
20
  message?: string;
21
21
  }
22
- export type HandlerOutput = HandlerError | HandlerSuccess;
22
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
23
23
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
24
24
  auth: HA;
25
25
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  }
@@ -18,7 +18,7 @@ export interface HandlerError {
18
18
  status: number;
19
19
  message?: string;
20
20
  }
21
- export type HandlerOutput = HandlerError | HandlerSuccess;
21
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
22
22
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
23
23
  auth: HA;
24
24
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  did: string;
5
5
  }
@@ -21,7 +21,7 @@ export interface HandlerError {
21
21
  message?: string;
22
22
  error?: 'HeadNotFound';
23
23
  }
24
- export type HandlerOutput = HandlerError | HandlerSuccess;
24
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
25
25
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
26
26
  auth: HA;
27
27
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  did: string;
5
5
  }
@@ -22,7 +22,7 @@ export interface HandlerError {
22
22
  message?: string;
23
23
  error?: 'RepoNotFound';
24
24
  }
25
- export type HandlerOutput = HandlerError | HandlerSuccess;
25
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
26
26
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
27
27
  auth: HA;
28
28
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  collection: string;
@@ -21,7 +21,7 @@ export interface HandlerError {
21
21
  status: number;
22
22
  message?: string;
23
23
  }
24
- export type HandlerOutput = HandlerError | HandlerSuccess;
24
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
25
25
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
26
26
  auth: HA;
27
27
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  since?: string;
@@ -19,7 +19,7 @@ export interface HandlerError {
19
19
  status: number;
20
20
  message?: string;
21
21
  }
22
- export type HandlerOutput = HandlerError | HandlerSuccess;
22
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
23
23
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
24
24
  auth: HA;
25
25
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  did: string;
5
5
  since?: string;
@@ -24,7 +24,7 @@ export interface HandlerError {
24
24
  status: number;
25
25
  message?: string;
26
26
  }
27
- export type HandlerOutput = HandlerError | HandlerSuccess;
27
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
28
28
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
29
29
  auth: HA;
30
30
  params: QueryParams;
@@ -1,6 +1,6 @@
1
1
  import express from 'express';
2
2
  import { ValidationResult } from '@atproto/lexicon';
3
- import { HandlerAuth } from '@atproto/xrpc-server';
3
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
4
4
  export interface QueryParams {
5
5
  limit: number;
6
6
  cursor?: string;
@@ -23,7 +23,7 @@ export interface HandlerError {
23
23
  status: number;
24
24
  message?: string;
25
25
  }
26
- export type HandlerOutput = HandlerError | HandlerSuccess;
26
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
27
27
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
28
28
  auth: HA;
29
29
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  }
5
5
  export type InputSchema = undefined;
@@ -21,7 +21,7 @@ export interface HandlerError {
21
21
  status: number;
22
22
  message?: string;
23
23
  }
24
- export type HandlerOutput = HandlerError | HandlerSuccess;
24
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
25
25
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
26
26
  auth: HA;
27
27
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  import * as ComAtprotoLabelDefs from '../label/defs';
4
4
  export interface QueryParams {
5
5
  since?: number;
@@ -22,7 +22,7 @@ export interface HandlerError {
22
22
  status: number;
23
23
  message?: string;
24
24
  }
25
- export type HandlerOutput = HandlerError | HandlerSuccess;
25
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
26
26
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
27
27
  auth: HA;
28
28
  params: QueryParams;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import express from 'express';
3
3
  import stream from 'stream';
4
- import { HandlerAuth } from '@atproto/xrpc-server';
4
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
5
5
  export interface QueryParams {
6
6
  did: string;
7
7
  }
@@ -21,7 +21,7 @@ export interface HandlerError {
21
21
  status: number;
22
22
  message?: string;
23
23
  }
24
- export type HandlerOutput = HandlerError | HandlerSuccess;
24
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
25
25
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
26
26
  auth: HA;
27
27
  params: QueryParams;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { HandlerAuth } from '@atproto/xrpc-server';
2
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
3
3
  export interface QueryParams {
4
4
  }
5
5
  export interface InputSchema {
@@ -31,7 +31,7 @@ export interface HandlerError {
31
31
  message?: string;
32
32
  error?: 'InvalidHandle' | 'InvalidPassword' | 'InvalidInviteCode' | 'HandleNotAvailable' | 'UnsupportedDomain' | 'UnresolvableDid' | 'IncompatibleDidDoc';
33
33
  }
34
- export type HandlerOutput = HandlerError | HandlerSuccess;
34
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
35
35
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
36
36
  auth: HA;
37
37
  params: QueryParams;
@@ -44,7 +44,7 @@ export declare class FeedService {
44
44
  feedDid: string;
45
45
  descriptionFacets: string | null;
46
46
  } & import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor", (qb: import("kysely").ExpressionBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor">) => import("kysely").AliasedQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "like">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor", "like">, import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "like">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor", "like">, import("kysely").AliasedRawBuilder<number, "count">>, "likeCount">>, (qb: import("kysely").ExpressionBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor">) => import("kysely").AliasedQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "like">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor", "like">, Partial<Omit<{}, never>> & import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "like">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../../db/database-schema").DatabaseSchemaType, "feed_generator">, "record" | "feed_generator" | "actor", "like">, "uri">, "viewerLike">>;
47
- getPostInfos(postUris: string[], viewer: string | null): Promise<PostInfoMap>;
47
+ getPostInfos(postUris: string[], viewer: string | null, includeSoftDeleted?: boolean): Promise<PostInfoMap>;
48
48
  getFeedGeneratorInfos(generatorUris: string[], viewer: string | null): Promise<FeedGenInfoMap>;
49
49
  getFeedItems(uris: string[]): Promise<Record<string, FeedRow>>;
50
50
  postUrisToFeedItems(uris: string[]): Promise<FeedRow[]>;
@@ -56,6 +56,7 @@ export declare class FeedService {
56
56
  dids: Set<string>;
57
57
  uris: Set<string>;
58
58
  viewer: string | null;
59
+ includeSoftDeleted?: boolean;
59
60
  }, depth?: number): Promise<FeedHydrationState>;
60
61
  blocksForPosts(posts: PostInfoMap, bam?: BlockAndMuteState): Promise<PostBlocksMap>;
61
62
  embedsForPosts(postInfos: PostInfoMap, blocks: PostBlocksMap, viewer: string | null, depth: number): Promise<PostEmbedViews>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/bsky",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of app.bsky App View (Bluesky API)",
6
6
  "keywords": [
@@ -40,12 +40,12 @@
40
40
  "sharp": "^0.32.6",
41
41
  "typed-emitter": "^2.1.0",
42
42
  "uint8arrays": "3.0.0",
43
- "@atproto/api": "^0.9.6",
43
+ "@atproto/api": "^0.9.8",
44
44
  "@atproto/common": "^0.3.3",
45
45
  "@atproto/crypto": "^0.3.0",
46
- "@atproto/identity": "^0.3.2",
47
46
  "@atproto/lexicon": "^0.3.1",
48
- "@atproto/repo": "^0.3.6",
47
+ "@atproto/identity": "^0.3.2",
48
+ "@atproto/repo": "^0.3.7",
49
49
  "@atproto/syntax": "^0.1.5",
50
50
  "@atproto/xrpc-server": "^0.4.2"
51
51
  },
@@ -60,10 +60,10 @@
60
60
  "@types/pg": "^8.6.6",
61
61
  "@types/qs": "^6.9.7",
62
62
  "axios": "^0.27.2",
63
- "@atproto/api": "^0.9.6",
64
- "@atproto/dev-env": "^0.2.29",
63
+ "@atproto/api": "^0.9.8",
64
+ "@atproto/dev-env": "^0.2.31",
65
+ "@atproto/pds": "^0.3.19",
65
66
  "@atproto/lex-cli": "^0.3.0",
66
- "@atproto/pds": "^0.3.17",
67
67
  "@atproto/xrpc": "^0.4.1"
68
68
  },
69
69
  "scripts": {
@@ -33,7 +33,11 @@ export default function (server: Server, ctx: AppContext) {
33
33
 
34
34
  const [result, repoRev] = await Promise.all([
35
35
  getAuthorFeed(
36
- { ...params, viewer },
36
+ {
37
+ ...params,
38
+ includeSoftDeleted: auth.credentials.type === 'role',
39
+ viewer,
40
+ },
37
41
  { db, actorService, feedService, graphService },
38
42
  ),
39
43
  actorService.getRepoRev(viewer),
@@ -53,12 +57,12 @@ export const skeleton = async (
53
57
  params: Params,
54
58
  ctx: Context,
55
59
  ): Promise<SkeletonState> => {
56
- const { cursor, limit, actor, filter, viewer } = params
60
+ const { cursor, limit, actor, filter, viewer, includeSoftDeleted } = params
57
61
  const { db, actorService, feedService, graphService } = ctx
58
62
  const { ref } = db.db.dynamic
59
63
 
60
64
  // maybe resolve did first
61
- const actorRes = await actorService.getActor(actor)
65
+ const actorRes = await actorService.getActor(actor, includeSoftDeleted)
62
66
  if (!actorRes) {
63
67
  throw new InvalidRequestError('Profile not found')
64
68
  }
@@ -138,6 +142,7 @@ const hydration = async (state: SkeletonState, ctx: Context) => {
138
142
  const hydrated = await feedService.feedHydration({
139
143
  ...refs,
140
144
  viewer: params.viewer,
145
+ includeSoftDeleted: params.includeSoftDeleted,
141
146
  })
142
147
  return { ...state, ...hydrated }
143
148
  }
@@ -168,7 +173,10 @@ type Context = {
168
173
  graphService: GraphService
169
174
  }
170
175
 
171
- type Params = QueryParams & { viewer: string | null }
176
+ type Params = QueryParams & {
177
+ viewer: string | null
178
+ includeSoftDeleted: boolean
179
+ }
172
180
 
173
181
  type SkeletonState = {
174
182
  params: Params