@atproto/pds 0.4.183 → 0.4.184

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 (564) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/account-manager/account-manager.js.map +1 -1
  3. package/dist/account-manager/db/index.js.map +1 -1
  4. package/dist/account-manager/db/migrations/001-init.js.map +1 -1
  5. package/dist/account-manager/db/migrations/002-account-deactivation.js.map +1 -1
  6. package/dist/account-manager/db/migrations/003-privileged-app-passwords.js.map +1 -1
  7. package/dist/account-manager/db/migrations/004-oauth.js.map +1 -1
  8. package/dist/account-manager/db/migrations/005-oauth-account-management.js.map +1 -1
  9. package/dist/account-manager/db/migrations/006-oauth-permission-sets.js.map +1 -1
  10. package/dist/account-manager/db/migrations/007-lexicon-failures-index.js.map +1 -1
  11. package/dist/account-manager/db/migrations/index.js.map +1 -1
  12. package/dist/account-manager/db/schema/account-device.js.map +1 -1
  13. package/dist/account-manager/db/schema/account.js.map +1 -1
  14. package/dist/account-manager/db/schema/actor.js.map +1 -1
  15. package/dist/account-manager/db/schema/app-password.js.map +1 -1
  16. package/dist/account-manager/db/schema/authorization-request.js.map +1 -1
  17. package/dist/account-manager/db/schema/authorized-client.js.map +1 -1
  18. package/dist/account-manager/db/schema/device.js.map +1 -1
  19. package/dist/account-manager/db/schema/email-token.js.map +1 -1
  20. package/dist/account-manager/db/schema/index.js.map +1 -1
  21. package/dist/account-manager/db/schema/invite-code.js.map +1 -1
  22. package/dist/account-manager/db/schema/lexicon.js.map +1 -1
  23. package/dist/account-manager/db/schema/refresh-token.js.map +1 -1
  24. package/dist/account-manager/db/schema/repo-root.js.map +1 -1
  25. package/dist/account-manager/db/schema/token.js.map +1 -1
  26. package/dist/account-manager/db/schema/used-refresh-token.js.map +1 -1
  27. package/dist/account-manager/helpers/account-device.js.map +1 -1
  28. package/dist/account-manager/helpers/account.js.map +1 -1
  29. package/dist/account-manager/helpers/auth.js.map +1 -1
  30. package/dist/account-manager/helpers/authorization-request.js.map +1 -1
  31. package/dist/account-manager/helpers/authorized-client.js.map +1 -1
  32. package/dist/account-manager/helpers/device.js.map +1 -1
  33. package/dist/account-manager/helpers/email-token.js.map +1 -1
  34. package/dist/account-manager/helpers/invite.js.map +1 -1
  35. package/dist/account-manager/helpers/lexicon.js.map +1 -1
  36. package/dist/account-manager/helpers/password.js.map +1 -1
  37. package/dist/account-manager/helpers/repo.js.map +1 -1
  38. package/dist/account-manager/helpers/scrypt.js.map +1 -1
  39. package/dist/account-manager/helpers/token.js.map +1 -1
  40. package/dist/account-manager/helpers/used-refresh-token.js.map +1 -1
  41. package/dist/account-manager/oauth-store.js.map +1 -1
  42. package/dist/account-manager/scope-reference-getter.js.map +1 -1
  43. package/dist/actor-store/actor-store-reader.js.map +1 -1
  44. package/dist/actor-store/actor-store-resources.js.map +1 -1
  45. package/dist/actor-store/actor-store-transactor.js.map +1 -1
  46. package/dist/actor-store/actor-store-writer.js.map +1 -1
  47. package/dist/actor-store/actor-store.js.map +1 -1
  48. package/dist/actor-store/blob/reader.js.map +1 -1
  49. package/dist/actor-store/blob/transactor.js.map +1 -1
  50. package/dist/actor-store/db/index.js.map +1 -1
  51. package/dist/actor-store/db/migrations/001-init.js.map +1 -1
  52. package/dist/actor-store/db/migrations/index.js.map +1 -1
  53. package/dist/actor-store/db/schema/account-pref.js.map +1 -1
  54. package/dist/actor-store/db/schema/backlink.js.map +1 -1
  55. package/dist/actor-store/db/schema/blob.js.map +1 -1
  56. package/dist/actor-store/db/schema/index.js.map +1 -1
  57. package/dist/actor-store/db/schema/record-blob.js.map +1 -1
  58. package/dist/actor-store/db/schema/record.js.map +1 -1
  59. package/dist/actor-store/db/schema/repo-block.js.map +1 -1
  60. package/dist/actor-store/db/schema/repo-root.js.map +1 -1
  61. package/dist/actor-store/migrate.js.map +1 -1
  62. package/dist/actor-store/preference/reader.js.map +1 -1
  63. package/dist/actor-store/preference/transactor.js.map +1 -1
  64. package/dist/actor-store/preference/util.js.map +1 -1
  65. package/dist/actor-store/record/reader.js.map +1 -1
  66. package/dist/actor-store/record/transactor.js.map +1 -1
  67. package/dist/actor-store/repo/reader.js.map +1 -1
  68. package/dist/actor-store/repo/sql-repo-reader.js.map +1 -1
  69. package/dist/actor-store/repo/sql-repo-transactor.js.map +1 -1
  70. package/dist/actor-store/repo/transactor.js.map +1 -1
  71. package/dist/api/app/bsky/actor/getPreferences.js.map +1 -1
  72. package/dist/api/app/bsky/actor/getProfile.js.map +1 -1
  73. package/dist/api/app/bsky/actor/getProfiles.js.map +1 -1
  74. package/dist/api/app/bsky/actor/index.js.map +1 -1
  75. package/dist/api/app/bsky/actor/putPreferences.js.map +1 -1
  76. package/dist/api/app/bsky/feed/getActorLikes.js.map +1 -1
  77. package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
  78. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  79. package/dist/api/app/bsky/feed/getPostThread.js.map +1 -1
  80. package/dist/api/app/bsky/feed/getTimeline.js.map +1 -1
  81. package/dist/api/app/bsky/feed/index.js.map +1 -1
  82. package/dist/api/app/bsky/index.js.map +1 -1
  83. package/dist/api/app/bsky/notification/index.js.map +1 -1
  84. package/dist/api/app/bsky/notification/registerPush.js.map +1 -1
  85. package/dist/api/app/bsky/util/resolver.js.map +1 -1
  86. package/dist/api/com/atproto/admin/deleteAccount.js.map +1 -1
  87. package/dist/api/com/atproto/admin/disableAccountInvites.js.map +1 -1
  88. package/dist/api/com/atproto/admin/disableInviteCodes.js.map +1 -1
  89. package/dist/api/com/atproto/admin/enableAccountInvites.js.map +1 -1
  90. package/dist/api/com/atproto/admin/getAccountInfo.js.map +1 -1
  91. package/dist/api/com/atproto/admin/getAccountInfos.js.map +1 -1
  92. package/dist/api/com/atproto/admin/getInviteCodes.js.map +1 -1
  93. package/dist/api/com/atproto/admin/getSubjectStatus.js.map +1 -1
  94. package/dist/api/com/atproto/admin/index.js.map +1 -1
  95. package/dist/api/com/atproto/admin/sendEmail.js.map +1 -1
  96. package/dist/api/com/atproto/admin/updateAccountEmail.js.map +1 -1
  97. package/dist/api/com/atproto/admin/updateAccountHandle.js.map +1 -1
  98. package/dist/api/com/atproto/admin/updateAccountPassword.js.map +1 -1
  99. package/dist/api/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  100. package/dist/api/com/atproto/admin/util.js.map +1 -1
  101. package/dist/api/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
  102. package/dist/api/com/atproto/identity/index.js.map +1 -1
  103. package/dist/api/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
  104. package/dist/api/com/atproto/identity/resolveHandle.js.map +1 -1
  105. package/dist/api/com/atproto/identity/signPlcOperation.js.map +1 -1
  106. package/dist/api/com/atproto/identity/submitPlcOperation.js.map +1 -1
  107. package/dist/api/com/atproto/identity/updateHandle.js.map +1 -1
  108. package/dist/api/com/atproto/index.js.map +1 -1
  109. package/dist/api/com/atproto/moderation/createReport.js.map +1 -1
  110. package/dist/api/com/atproto/moderation/index.js.map +1 -1
  111. package/dist/api/com/atproto/repo/applyWrites.js.map +1 -1
  112. package/dist/api/com/atproto/repo/createRecord.js.map +1 -1
  113. package/dist/api/com/atproto/repo/deleteRecord.js.map +1 -1
  114. package/dist/api/com/atproto/repo/describeRepo.js.map +1 -1
  115. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  116. package/dist/api/com/atproto/repo/importRepo.js.map +1 -1
  117. package/dist/api/com/atproto/repo/index.js.map +1 -1
  118. package/dist/api/com/atproto/repo/listMissingBlobs.js.map +1 -1
  119. package/dist/api/com/atproto/repo/listRecords.js.map +1 -1
  120. package/dist/api/com/atproto/repo/putRecord.js.map +1 -1
  121. package/dist/api/com/atproto/repo/uploadBlob.js.map +1 -1
  122. package/dist/api/com/atproto/server/activateAccount.js.map +1 -1
  123. package/dist/api/com/atproto/server/checkAccountStatus.js.map +1 -1
  124. package/dist/api/com/atproto/server/confirmEmail.js.map +1 -1
  125. package/dist/api/com/atproto/server/createAccount.js.map +1 -1
  126. package/dist/api/com/atproto/server/createAppPassword.js.map +1 -1
  127. package/dist/api/com/atproto/server/createInviteCode.js.map +1 -1
  128. package/dist/api/com/atproto/server/createInviteCodes.js.map +1 -1
  129. package/dist/api/com/atproto/server/createSession.js.map +1 -1
  130. package/dist/api/com/atproto/server/deactivateAccount.js.map +1 -1
  131. package/dist/api/com/atproto/server/deleteAccount.js.map +1 -1
  132. package/dist/api/com/atproto/server/deleteSession.js.map +1 -1
  133. package/dist/api/com/atproto/server/describeServer.js.map +1 -1
  134. package/dist/api/com/atproto/server/getAccountInviteCodes.js.map +1 -1
  135. package/dist/api/com/atproto/server/getServiceAuth.js.map +1 -1
  136. package/dist/api/com/atproto/server/getSession.js.map +1 -1
  137. package/dist/api/com/atproto/server/index.js.map +1 -1
  138. package/dist/api/com/atproto/server/listAppPasswords.js.map +1 -1
  139. package/dist/api/com/atproto/server/refreshSession.js.map +1 -1
  140. package/dist/api/com/atproto/server/requestAccountDelete.js.map +1 -1
  141. package/dist/api/com/atproto/server/requestEmailConfirmation.js.map +1 -1
  142. package/dist/api/com/atproto/server/requestEmailUpdate.js.map +1 -1
  143. package/dist/api/com/atproto/server/requestPasswordReset.js.map +1 -1
  144. package/dist/api/com/atproto/server/reserveSigningKey.js.map +1 -1
  145. package/dist/api/com/atproto/server/resetPassword.js.map +1 -1
  146. package/dist/api/com/atproto/server/revokeAppPassword.js.map +1 -1
  147. package/dist/api/com/atproto/server/updateEmail.js.map +1 -1
  148. package/dist/api/com/atproto/server/util.js.map +1 -1
  149. package/dist/api/com/atproto/sync/deprecated/getCheckout.js.map +1 -1
  150. package/dist/api/com/atproto/sync/deprecated/getHead.js.map +1 -1
  151. package/dist/api/com/atproto/sync/getBlob.js.map +1 -1
  152. package/dist/api/com/atproto/sync/getBlocks.js.map +1 -1
  153. package/dist/api/com/atproto/sync/getLatestCommit.js.map +1 -1
  154. package/dist/api/com/atproto/sync/getRecord.js.map +1 -1
  155. package/dist/api/com/atproto/sync/getRepo.js.map +1 -1
  156. package/dist/api/com/atproto/sync/getRepoStatus.js.map +1 -1
  157. package/dist/api/com/atproto/sync/index.js.map +1 -1
  158. package/dist/api/com/atproto/sync/listBlobs.js.map +1 -1
  159. package/dist/api/com/atproto/sync/listRepos.js.map +1 -1
  160. package/dist/api/com/atproto/sync/subscribeRepos.js.map +1 -1
  161. package/dist/api/com/atproto/sync/util.js.map +1 -1
  162. package/dist/api/com/atproto/temp/checkSignupQueue.js.map +1 -1
  163. package/dist/api/com/atproto/temp/index.js.map +1 -1
  164. package/dist/api/index.js.map +1 -1
  165. package/dist/api/proxy.js.map +1 -1
  166. package/dist/app-view.js.map +1 -1
  167. package/dist/auth-output.js.map +1 -1
  168. package/dist/auth-routes.js.map +1 -1
  169. package/dist/auth-scope.js.map +1 -1
  170. package/dist/auth-verifier.js.map +1 -1
  171. package/dist/background.js.map +1 -1
  172. package/dist/basic-routes.js.map +1 -1
  173. package/dist/bsky-app-view.js.map +1 -1
  174. package/dist/config/config.js.map +1 -1
  175. package/dist/config/env.js.map +1 -1
  176. package/dist/config/index.js.map +1 -1
  177. package/dist/config/secrets.js.map +1 -1
  178. package/dist/context.js.map +1 -1
  179. package/dist/crawlers.js.map +1 -1
  180. package/dist/db/cast.js.map +1 -1
  181. package/dist/db/db.js.map +1 -1
  182. package/dist/db/index.js.map +1 -1
  183. package/dist/db/migrator.js.map +1 -1
  184. package/dist/db/pagination.js.map +1 -1
  185. package/dist/db/tables/moderation.js.map +1 -1
  186. package/dist/db/util.js.map +1 -1
  187. package/dist/did-cache/db/index.js.map +1 -1
  188. package/dist/did-cache/db/migrations.js.map +1 -1
  189. package/dist/did-cache/db/schema.js.map +1 -1
  190. package/dist/did-cache/index.js.map +1 -1
  191. package/dist/disk-blobstore.js.map +1 -1
  192. package/dist/error.js.map +1 -1
  193. package/dist/handle/explicit-slurs.js.map +1 -1
  194. package/dist/handle/index.js.map +1 -1
  195. package/dist/handle/reserved.js.map +1 -1
  196. package/dist/image/image-url-builder.js.map +1 -1
  197. package/dist/image/index.js.map +1 -1
  198. package/dist/index.js.map +1 -1
  199. package/dist/lexicon/index.d.ts +6 -0
  200. package/dist/lexicon/index.d.ts.map +1 -1
  201. package/dist/lexicon/index.js +12 -0
  202. package/dist/lexicon/index.js.map +1 -1
  203. package/dist/lexicon/lexicons.d.ts +835 -43
  204. package/dist/lexicon/lexicons.d.ts.map +1 -1
  205. package/dist/lexicon/lexicons.js +407 -0
  206. package/dist/lexicon/lexicons.js.map +1 -1
  207. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  208. package/dist/lexicon/types/app/bsky/actor/getPreferences.js.map +1 -1
  209. package/dist/lexicon/types/app/bsky/actor/getProfile.js.map +1 -1
  210. package/dist/lexicon/types/app/bsky/actor/getProfiles.js.map +1 -1
  211. package/dist/lexicon/types/app/bsky/actor/getSuggestions.js.map +1 -1
  212. package/dist/lexicon/types/app/bsky/actor/profile.js.map +1 -1
  213. package/dist/lexicon/types/app/bsky/actor/putPreferences.js.map +1 -1
  214. package/dist/lexicon/types/app/bsky/actor/searchActors.js.map +1 -1
  215. package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
  216. package/dist/lexicon/types/app/bsky/actor/status.js.map +1 -1
  217. package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js.map +1 -1
  218. package/dist/lexicon/types/app/bsky/bookmark/defs.js.map +1 -1
  219. package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
  220. package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
  221. package/dist/lexicon/types/app/bsky/embed/defs.js.map +1 -1
  222. package/dist/lexicon/types/app/bsky/embed/external.js.map +1 -1
  223. package/dist/lexicon/types/app/bsky/embed/images.js.map +1 -1
  224. package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
  225. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  226. package/dist/lexicon/types/app/bsky/embed/video.js.map +1 -1
  227. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  228. package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
  229. package/dist/lexicon/types/app/bsky/feed/generator.js.map +1 -1
  230. package/dist/lexicon/types/app/bsky/feed/getActorFeeds.js.map +1 -1
  231. package/dist/lexicon/types/app/bsky/feed/getActorLikes.js.map +1 -1
  232. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
  233. package/dist/lexicon/types/app/bsky/feed/getFeed.js.map +1 -1
  234. package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
  235. package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
  236. package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
  237. package/dist/lexicon/types/app/bsky/feed/getLikes.js.map +1 -1
  238. package/dist/lexicon/types/app/bsky/feed/getListFeed.js.map +1 -1
  239. package/dist/lexicon/types/app/bsky/feed/getPostThread.js.map +1 -1
  240. package/dist/lexicon/types/app/bsky/feed/getPosts.js.map +1 -1
  241. package/dist/lexicon/types/app/bsky/feed/getQuotes.js.map +1 -1
  242. package/dist/lexicon/types/app/bsky/feed/getRepostedBy.js.map +1 -1
  243. package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
  244. package/dist/lexicon/types/app/bsky/feed/getTimeline.js.map +1 -1
  245. package/dist/lexicon/types/app/bsky/feed/like.js.map +1 -1
  246. package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
  247. package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
  248. package/dist/lexicon/types/app/bsky/feed/repost.js.map +1 -1
  249. package/dist/lexicon/types/app/bsky/feed/searchPosts.js.map +1 -1
  250. package/dist/lexicon/types/app/bsky/feed/sendInteractions.js.map +1 -1
  251. package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
  252. package/dist/lexicon/types/app/bsky/graph/block.js.map +1 -1
  253. package/dist/lexicon/types/app/bsky/graph/defs.js.map +1 -1
  254. package/dist/lexicon/types/app/bsky/graph/follow.js.map +1 -1
  255. package/dist/lexicon/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
  256. package/dist/lexicon/types/app/bsky/graph/getBlocks.js.map +1 -1
  257. package/dist/lexicon/types/app/bsky/graph/getFollowers.js.map +1 -1
  258. package/dist/lexicon/types/app/bsky/graph/getFollows.js.map +1 -1
  259. package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
  260. package/dist/lexicon/types/app/bsky/graph/getList.js.map +1 -1
  261. package/dist/lexicon/types/app/bsky/graph/getListBlocks.js.map +1 -1
  262. package/dist/lexicon/types/app/bsky/graph/getListMutes.js.map +1 -1
  263. package/dist/lexicon/types/app/bsky/graph/getLists.js.map +1 -1
  264. package/dist/lexicon/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
  265. package/dist/lexicon/types/app/bsky/graph/getMutes.js.map +1 -1
  266. package/dist/lexicon/types/app/bsky/graph/getRelationships.js.map +1 -1
  267. package/dist/lexicon/types/app/bsky/graph/getStarterPack.js.map +1 -1
  268. package/dist/lexicon/types/app/bsky/graph/getStarterPacks.js.map +1 -1
  269. package/dist/lexicon/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
  270. package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
  271. package/dist/lexicon/types/app/bsky/graph/list.js.map +1 -1
  272. package/dist/lexicon/types/app/bsky/graph/listblock.js.map +1 -1
  273. package/dist/lexicon/types/app/bsky/graph/listitem.js.map +1 -1
  274. package/dist/lexicon/types/app/bsky/graph/muteActor.js.map +1 -1
  275. package/dist/lexicon/types/app/bsky/graph/muteActorList.js.map +1 -1
  276. package/dist/lexicon/types/app/bsky/graph/muteThread.js.map +1 -1
  277. package/dist/lexicon/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
  278. package/dist/lexicon/types/app/bsky/graph/starterpack.js.map +1 -1
  279. package/dist/lexicon/types/app/bsky/graph/unmuteActor.js.map +1 -1
  280. package/dist/lexicon/types/app/bsky/graph/unmuteActorList.js.map +1 -1
  281. package/dist/lexicon/types/app/bsky/graph/unmuteThread.js.map +1 -1
  282. package/dist/lexicon/types/app/bsky/graph/verification.js.map +1 -1
  283. package/dist/lexicon/types/app/bsky/labeler/defs.js.map +1 -1
  284. package/dist/lexicon/types/app/bsky/labeler/getServices.js.map +1 -1
  285. package/dist/lexicon/types/app/bsky/labeler/service.js.map +1 -1
  286. package/dist/lexicon/types/app/bsky/notification/declaration.js.map +1 -1
  287. package/dist/lexicon/types/app/bsky/notification/defs.js.map +1 -1
  288. package/dist/lexicon/types/app/bsky/notification/getPreferences.js.map +1 -1
  289. package/dist/lexicon/types/app/bsky/notification/getUnreadCount.js.map +1 -1
  290. package/dist/lexicon/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
  291. package/dist/lexicon/types/app/bsky/notification/listNotifications.js.map +1 -1
  292. package/dist/lexicon/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
  293. package/dist/lexicon/types/app/bsky/notification/putPreferences.js.map +1 -1
  294. package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
  295. package/dist/lexicon/types/app/bsky/notification/registerPush.js.map +1 -1
  296. package/dist/lexicon/types/app/bsky/notification/unregisterPush.js.map +1 -1
  297. package/dist/lexicon/types/app/bsky/notification/updateSeen.js.map +1 -1
  298. package/dist/lexicon/types/app/bsky/richtext/facet.js.map +1 -1
  299. package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
  300. package/dist/lexicon/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
  301. package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -1
  302. package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
  303. package/dist/lexicon/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
  304. package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
  305. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
  306. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
  307. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
  308. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
  309. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
  310. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
  311. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
  312. package/dist/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
  313. package/dist/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
  314. package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
  315. package/dist/lexicon/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
  316. package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -1
  317. package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
  318. package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
  319. package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
  320. package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
  321. package/dist/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
  322. package/dist/lexicon/types/app/bsky/video/defs.js.map +1 -1
  323. package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -1
  324. package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -1
  325. package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -1
  326. package/dist/lexicon/types/chat/bsky/actor/declaration.js.map +1 -1
  327. package/dist/lexicon/types/chat/bsky/actor/defs.js.map +1 -1
  328. package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -1
  329. package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -1
  330. package/dist/lexicon/types/chat/bsky/convo/acceptConvo.js.map +1 -1
  331. package/dist/lexicon/types/chat/bsky/convo/addReaction.js.map +1 -1
  332. package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
  333. package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
  334. package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -1
  335. package/dist/lexicon/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
  336. package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
  337. package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -1
  338. package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -1
  339. package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -1
  340. package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -1
  341. package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -1
  342. package/dist/lexicon/types/chat/bsky/convo/removeReaction.js.map +1 -1
  343. package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -1
  344. package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
  345. package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
  346. package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js.map +1 -1
  347. package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -1
  348. package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
  349. package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
  350. package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
  351. package/dist/lexicon/types/com/atproto/admin/defs.js.map +1 -1
  352. package/dist/lexicon/types/com/atproto/admin/deleteAccount.js.map +1 -1
  353. package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
  354. package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
  355. package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
  356. package/dist/lexicon/types/com/atproto/admin/getAccountInfo.js.map +1 -1
  357. package/dist/lexicon/types/com/atproto/admin/getAccountInfos.js.map +1 -1
  358. package/dist/lexicon/types/com/atproto/admin/getInviteCodes.js.map +1 -1
  359. package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
  360. package/dist/lexicon/types/com/atproto/admin/searchAccounts.js.map +1 -1
  361. package/dist/lexicon/types/com/atproto/admin/sendEmail.js.map +1 -1
  362. package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
  363. package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
  364. package/dist/lexicon/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
  365. package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
  366. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  367. package/dist/lexicon/types/com/atproto/identity/defs.js.map +1 -1
  368. package/dist/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
  369. package/dist/lexicon/types/com/atproto/identity/refreshIdentity.js.map +1 -1
  370. package/dist/lexicon/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
  371. package/dist/lexicon/types/com/atproto/identity/resolveDid.js.map +1 -1
  372. package/dist/lexicon/types/com/atproto/identity/resolveHandle.js.map +1 -1
  373. package/dist/lexicon/types/com/atproto/identity/resolveIdentity.js.map +1 -1
  374. package/dist/lexicon/types/com/atproto/identity/signPlcOperation.js.map +1 -1
  375. package/dist/lexicon/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
  376. package/dist/lexicon/types/com/atproto/identity/updateHandle.js.map +1 -1
  377. package/dist/lexicon/types/com/atproto/label/defs.js.map +1 -1
  378. package/dist/lexicon/types/com/atproto/label/queryLabels.js.map +1 -1
  379. package/dist/lexicon/types/com/atproto/label/subscribeLabels.js.map +1 -1
  380. package/dist/lexicon/types/com/atproto/lexicon/schema.js.map +1 -1
  381. package/dist/lexicon/types/com/atproto/moderation/createReport.js.map +1 -1
  382. package/dist/lexicon/types/com/atproto/moderation/defs.js.map +1 -1
  383. package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
  384. package/dist/lexicon/types/com/atproto/repo/createRecord.js.map +1 -1
  385. package/dist/lexicon/types/com/atproto/repo/defs.js.map +1 -1
  386. package/dist/lexicon/types/com/atproto/repo/deleteRecord.js.map +1 -1
  387. package/dist/lexicon/types/com/atproto/repo/describeRepo.js.map +1 -1
  388. package/dist/lexicon/types/com/atproto/repo/getRecord.js.map +1 -1
  389. package/dist/lexicon/types/com/atproto/repo/importRepo.js.map +1 -1
  390. package/dist/lexicon/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
  391. package/dist/lexicon/types/com/atproto/repo/listRecords.js.map +1 -1
  392. package/dist/lexicon/types/com/atproto/repo/putRecord.js.map +1 -1
  393. package/dist/lexicon/types/com/atproto/repo/strongRef.js.map +1 -1
  394. package/dist/lexicon/types/com/atproto/repo/uploadBlob.js.map +1 -1
  395. package/dist/lexicon/types/com/atproto/server/activateAccount.js.map +1 -1
  396. package/dist/lexicon/types/com/atproto/server/checkAccountStatus.js.map +1 -1
  397. package/dist/lexicon/types/com/atproto/server/confirmEmail.js.map +1 -1
  398. package/dist/lexicon/types/com/atproto/server/createAccount.js.map +1 -1
  399. package/dist/lexicon/types/com/atproto/server/createAppPassword.js.map +1 -1
  400. package/dist/lexicon/types/com/atproto/server/createInviteCode.js.map +1 -1
  401. package/dist/lexicon/types/com/atproto/server/createInviteCodes.js.map +1 -1
  402. package/dist/lexicon/types/com/atproto/server/createSession.js.map +1 -1
  403. package/dist/lexicon/types/com/atproto/server/deactivateAccount.js.map +1 -1
  404. package/dist/lexicon/types/com/atproto/server/defs.js.map +1 -1
  405. package/dist/lexicon/types/com/atproto/server/deleteAccount.js.map +1 -1
  406. package/dist/lexicon/types/com/atproto/server/deleteSession.js.map +1 -1
  407. package/dist/lexicon/types/com/atproto/server/describeServer.js.map +1 -1
  408. package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
  409. package/dist/lexicon/types/com/atproto/server/getServiceAuth.js.map +1 -1
  410. package/dist/lexicon/types/com/atproto/server/getSession.js.map +1 -1
  411. package/dist/lexicon/types/com/atproto/server/listAppPasswords.js.map +1 -1
  412. package/dist/lexicon/types/com/atproto/server/refreshSession.js.map +1 -1
  413. package/dist/lexicon/types/com/atproto/server/requestAccountDelete.js.map +1 -1
  414. package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
  415. package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
  416. package/dist/lexicon/types/com/atproto/server/requestPasswordReset.js.map +1 -1
  417. package/dist/lexicon/types/com/atproto/server/reserveSigningKey.js.map +1 -1
  418. package/dist/lexicon/types/com/atproto/server/resetPassword.js.map +1 -1
  419. package/dist/lexicon/types/com/atproto/server/revokeAppPassword.js.map +1 -1
  420. package/dist/lexicon/types/com/atproto/server/updateEmail.js.map +1 -1
  421. package/dist/lexicon/types/com/atproto/sync/defs.js.map +1 -1
  422. package/dist/lexicon/types/com/atproto/sync/getBlob.js.map +1 -1
  423. package/dist/lexicon/types/com/atproto/sync/getBlocks.js.map +1 -1
  424. package/dist/lexicon/types/com/atproto/sync/getCheckout.js.map +1 -1
  425. package/dist/lexicon/types/com/atproto/sync/getHead.js.map +1 -1
  426. package/dist/lexicon/types/com/atproto/sync/getHostStatus.js.map +1 -1
  427. package/dist/lexicon/types/com/atproto/sync/getLatestCommit.js.map +1 -1
  428. package/dist/lexicon/types/com/atproto/sync/getRecord.js.map +1 -1
  429. package/dist/lexicon/types/com/atproto/sync/getRepo.js.map +1 -1
  430. package/dist/lexicon/types/com/atproto/sync/getRepoStatus.js.map +1 -1
  431. package/dist/lexicon/types/com/atproto/sync/listBlobs.js.map +1 -1
  432. package/dist/lexicon/types/com/atproto/sync/listHosts.js.map +1 -1
  433. package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
  434. package/dist/lexicon/types/com/atproto/sync/listReposByCollection.js.map +1 -1
  435. package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
  436. package/dist/lexicon/types/com/atproto/sync/requestCrawl.js.map +1 -1
  437. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js.map +1 -1
  438. package/dist/lexicon/types/com/atproto/temp/addReservedHandle.js.map +1 -1
  439. package/dist/lexicon/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
  440. package/dist/lexicon/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
  441. package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js.map +1 -1
  442. package/dist/lexicon/types/com/atproto/temp/fetchLabels.js.map +1 -1
  443. package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
  444. package/dist/lexicon/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
  445. package/dist/lexicon/types/tools/ozone/communication/createTemplate.js.map +1 -1
  446. package/dist/lexicon/types/tools/ozone/communication/defs.js.map +1 -1
  447. package/dist/lexicon/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
  448. package/dist/lexicon/types/tools/ozone/communication/listTemplates.js.map +1 -1
  449. package/dist/lexicon/types/tools/ozone/communication/updateTemplate.js.map +1 -1
  450. package/dist/lexicon/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
  451. package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts +46 -0
  452. package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -0
  453. package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js +25 -0
  454. package/dist/lexicon/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -0
  455. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +57 -2
  456. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  457. package/dist/lexicon/types/tools/ozone/moderation/defs.js +27 -0
  458. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  459. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  460. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  461. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.js.map +1 -1
  462. package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts +1 -1
  463. package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
  464. package/dist/lexicon/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
  465. package/dist/lexicon/types/tools/ozone/moderation/getEvent.js.map +1 -1
  466. package/dist/lexicon/types/tools/ozone/moderation/getRecord.js.map +1 -1
  467. package/dist/lexicon/types/tools/ozone/moderation/getRecords.js.map +1 -1
  468. package/dist/lexicon/types/tools/ozone/moderation/getRepo.js.map +1 -1
  469. package/dist/lexicon/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
  470. package/dist/lexicon/types/tools/ozone/moderation/getRepos.js.map +1 -1
  471. package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js.map +1 -1
  472. package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.d.ts +38 -0
  473. package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.d.ts.map +1 -0
  474. package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js +7 -0
  475. package/dist/lexicon/types/tools/ozone/moderation/listScheduledActions.js.map +1 -0
  476. package/dist/lexicon/types/tools/ozone/moderation/queryEvents.js.map +1 -1
  477. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
  478. package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts +75 -0
  479. package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -0
  480. package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js +43 -0
  481. package/dist/lexicon/types/tools/ozone/moderation/scheduleAction.js.map +1 -0
  482. package/dist/lexicon/types/tools/ozone/moderation/searchRepos.js.map +1 -1
  483. package/dist/lexicon/types/tools/ozone/report/defs.js.map +1 -1
  484. package/dist/lexicon/types/tools/ozone/safelink/addRule.js.map +1 -1
  485. package/dist/lexicon/types/tools/ozone/safelink/defs.js.map +1 -1
  486. package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js.map +1 -1
  487. package/dist/lexicon/types/tools/ozone/safelink/queryRules.js.map +1 -1
  488. package/dist/lexicon/types/tools/ozone/safelink/removeRule.js.map +1 -1
  489. package/dist/lexicon/types/tools/ozone/safelink/updateRule.js.map +1 -1
  490. package/dist/lexicon/types/tools/ozone/server/getConfig.js.map +1 -1
  491. package/dist/lexicon/types/tools/ozone/set/addValues.js.map +1 -1
  492. package/dist/lexicon/types/tools/ozone/set/defs.js.map +1 -1
  493. package/dist/lexicon/types/tools/ozone/set/deleteSet.js.map +1 -1
  494. package/dist/lexicon/types/tools/ozone/set/deleteValues.js.map +1 -1
  495. package/dist/lexicon/types/tools/ozone/set/getValues.js.map +1 -1
  496. package/dist/lexicon/types/tools/ozone/set/querySets.js.map +1 -1
  497. package/dist/lexicon/types/tools/ozone/set/upsertSet.js.map +1 -1
  498. package/dist/lexicon/types/tools/ozone/setting/defs.js.map +1 -1
  499. package/dist/lexicon/types/tools/ozone/setting/listOptions.js.map +1 -1
  500. package/dist/lexicon/types/tools/ozone/setting/removeOptions.js.map +1 -1
  501. package/dist/lexicon/types/tools/ozone/setting/upsertOption.js.map +1 -1
  502. package/dist/lexicon/types/tools/ozone/signature/defs.js.map +1 -1
  503. package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js.map +1 -1
  504. package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
  505. package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js.map +1 -1
  506. package/dist/lexicon/types/tools/ozone/team/addMember.js.map +1 -1
  507. package/dist/lexicon/types/tools/ozone/team/defs.js.map +1 -1
  508. package/dist/lexicon/types/tools/ozone/team/deleteMember.js.map +1 -1
  509. package/dist/lexicon/types/tools/ozone/team/listMembers.js.map +1 -1
  510. package/dist/lexicon/types/tools/ozone/team/updateMember.js.map +1 -1
  511. package/dist/lexicon/types/tools/ozone/verification/defs.js.map +1 -1
  512. package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js.map +1 -1
  513. package/dist/lexicon/types/tools/ozone/verification/listVerifications.js.map +1 -1
  514. package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
  515. package/dist/lexicon/util.js.map +1 -1
  516. package/dist/logger.js.map +1 -1
  517. package/dist/mailer/index.js.map +1 -1
  518. package/dist/mailer/moderation.js.map +1 -1
  519. package/dist/mailer/templates.js.map +1 -1
  520. package/dist/pipethrough.js +3 -0
  521. package/dist/pipethrough.js.map +1 -1
  522. package/dist/read-after-write/index.js.map +1 -1
  523. package/dist/read-after-write/types.js.map +1 -1
  524. package/dist/read-after-write/util.js.map +1 -1
  525. package/dist/read-after-write/viewer.js.map +1 -1
  526. package/dist/redis.js.map +1 -1
  527. package/dist/repo/index.js.map +1 -1
  528. package/dist/repo/prepare.js.map +1 -1
  529. package/dist/repo/types.js.map +1 -1
  530. package/dist/scripts/index.js.map +1 -1
  531. package/dist/scripts/publish-identity.js.map +1 -1
  532. package/dist/scripts/rebuild-repo.js.map +1 -1
  533. package/dist/scripts/rotate-keys.js.map +1 -1
  534. package/dist/scripts/sequencer-recovery/index.js.map +1 -1
  535. package/dist/scripts/sequencer-recovery/recoverer.js.map +1 -1
  536. package/dist/scripts/sequencer-recovery/recovery-db.js.map +1 -1
  537. package/dist/scripts/sequencer-recovery/repair-repos.js.map +1 -1
  538. package/dist/scripts/sequencer-recovery/user-queues.js.map +1 -1
  539. package/dist/scripts/util.js.map +1 -1
  540. package/dist/sequencer/db/index.js.map +1 -1
  541. package/dist/sequencer/db/migrations/001-init.js.map +1 -1
  542. package/dist/sequencer/db/migrations/index.js.map +1 -1
  543. package/dist/sequencer/db/schema.js.map +1 -1
  544. package/dist/sequencer/events.js.map +1 -1
  545. package/dist/sequencer/index.js.map +1 -1
  546. package/dist/sequencer/outbox.js.map +1 -1
  547. package/dist/sequencer/sequencer.js.map +1 -1
  548. package/dist/util/compression.js.map +1 -1
  549. package/dist/util/debug.js.map +1 -1
  550. package/dist/util/http.js.map +1 -1
  551. package/dist/util/params.js.map +1 -1
  552. package/dist/util/types.js.map +1 -1
  553. package/dist/well-known.js.map +1 -1
  554. package/package.json +8 -8
  555. package/src/lexicon/index.ts +39 -0
  556. package/src/lexicon/lexicons.ts +430 -0
  557. package/src/lexicon/types/tools/ozone/moderation/cancelScheduledActions.ts +79 -0
  558. package/src/lexicon/types/tools/ozone/moderation/defs.ts +88 -0
  559. package/src/lexicon/types/tools/ozone/moderation/emitEvent.ts +2 -0
  560. package/src/lexicon/types/tools/ozone/moderation/getAccountTimeline.ts +2 -0
  561. package/src/lexicon/types/tools/ozone/moderation/listScheduledActions.ts +57 -0
  562. package/src/lexicon/types/tools/ozone/moderation/scheduleAction.ts +123 -0
  563. package/src/pipethrough.ts +3 -0
  564. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"001-init.js","sourceRoot":"","sources":["../../../../src/actor-store/db/migrations/001-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"001-init.js","sourceRoot":"","sources":["../../../../src/actor-store/db/migrations/001-init.ts"],"names":[],"mappings":"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","sourcesContent":["import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<unknown>): Promise<void> {\n await db.schema\n .createTable('repo_root')\n .addColumn('did', 'varchar', (col) => col.primaryKey())\n .addColumn('cid', 'varchar', (col) => col.notNull())\n .addColumn('rev', 'varchar', (col) => col.notNull())\n .addColumn('indexedAt', 'varchar', (col) => col.notNull())\n .execute()\n\n await db.schema\n .createTable('repo_block')\n .addColumn('cid', 'varchar', (col) => col.primaryKey())\n .addColumn('repoRev', 'varchar', (col) => col.notNull())\n .addColumn('size', 'integer', (col) => col.notNull())\n .addColumn('content', 'blob', (col) => col.notNull())\n .execute()\n\n await db.schema\n .createIndex('repo_block_repo_rev_idx')\n .on('repo_block')\n .columns(['repoRev', 'cid'])\n .execute()\n\n await db.schema\n .createTable('record')\n .addColumn('uri', 'varchar', (col) => col.primaryKey())\n .addColumn('cid', 'varchar', (col) => col.notNull())\n .addColumn('collection', 'varchar', (col) => col.notNull())\n .addColumn('rkey', 'varchar', (col) => col.notNull())\n .addColumn('repoRev', 'varchar', (col) => col.notNull())\n .addColumn('indexedAt', 'varchar', (col) => col.notNull())\n .addColumn('takedownRef', 'varchar')\n .execute()\n await db.schema\n .createIndex('record_cid_idx')\n .on('record')\n .column('cid')\n .execute()\n await db.schema\n .createIndex('record_collection_idx')\n .on('record')\n .column('collection')\n .execute()\n await db.schema\n .createIndex('record_repo_rev_idx')\n .on('record')\n .column('repoRev')\n .execute()\n\n await db.schema\n .createTable('blob')\n .addColumn('cid', 'varchar', (col) => col.primaryKey())\n .addColumn('mimeType', 'varchar', (col) => col.notNull())\n .addColumn('size', 'integer', (col) => col.notNull())\n .addColumn('tempKey', 'varchar')\n .addColumn('width', 'integer')\n .addColumn('height', 'integer')\n .addColumn('createdAt', 'varchar', (col) => col.notNull())\n .addColumn('takedownRef', 'varchar')\n .execute()\n await db.schema\n .createIndex('blob_tempkey_idx')\n .on('blob')\n .column('tempKey')\n .execute()\n\n await db.schema\n .createTable('record_blob')\n .addColumn('blobCid', 'varchar', (col) => col.notNull())\n .addColumn('recordUri', 'varchar', (col) => col.notNull())\n .addPrimaryKeyConstraint(`record_blob_pkey`, ['blobCid', 'recordUri'])\n .execute()\n\n await db.schema\n .createTable('backlink')\n .addColumn('uri', 'varchar', (col) => col.notNull())\n .addColumn('path', 'varchar', (col) => col.notNull())\n .addColumn('linkTo', 'varchar', (col) => col.notNull())\n .addPrimaryKeyConstraint('backlinks_pkey', ['uri', 'path'])\n .execute()\n await db.schema\n .createIndex('backlink_link_to_idx')\n .on('backlink')\n .columns(['path', 'linkTo'])\n .execute()\n\n await db.schema\n .createTable('account_pref')\n .addColumn('id', 'integer', (col) => col.autoIncrement().primaryKey())\n .addColumn('name', 'varchar', (col) => col.notNull())\n .addColumn('valueJson', 'text', (col) => col.notNull())\n .execute()\n}\n\nexport async function down(db: Kysely<unknown>): Promise<void> {\n await db.schema.dropTable('account_pref').execute()\n await db.schema.dropTable('backlink').execute()\n await db.schema.dropTable('record_blob').execute()\n await db.schema.dropTable('blob').execute()\n await db.schema.dropTable('record').execute()\n await db.schema.dropTable('repo_block').execute()\n await db.schema.dropTable('repo_root').execute()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor-store/db/migrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAElC,kBAAe;IACb,KAAK,EAAE,IAAI;CACZ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor-store/db/migrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAElC,kBAAe;IACb,KAAK,EAAE,IAAI;CACZ,CAAA","sourcesContent":["import * as init from './001-init'\n\nexport default {\n '001': init,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"account-pref.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/account-pref.ts"],"names":[],"mappings":";;;AAQa,QAAA,SAAS,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"account-pref.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/account-pref.ts"],"names":[],"mappings":";;;AAQa,QAAA,SAAS,GAAG,cAAc,CAAA","sourcesContent":["import { GeneratedAlways } from 'kysely'\n\nexport interface AccountPref {\n id: GeneratedAlways<number>\n name: string\n valueJson: string // json\n}\n\nexport const tableName = 'account_pref'\n\nexport type PartialDB = { [tableName]: AccountPref }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"backlink.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/backlink.ts"],"names":[],"mappings":";;;AAMa,QAAA,SAAS,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"backlink.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/backlink.ts"],"names":[],"mappings":";;;AAMa,QAAA,SAAS,GAAG,UAAU,CAAA","sourcesContent":["export interface Backlink {\n uri: string\n path: string\n linkTo: string\n}\n\nexport const tableName = 'backlink'\n\nexport type PartialDB = { [tableName]: Backlink }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/blob.ts"],"names":[],"mappings":";;;AAWa,QAAA,SAAS,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/blob.ts"],"names":[],"mappings":";;;AAWa,QAAA,SAAS,GAAG,MAAM,CAAA","sourcesContent":["export interface Blob {\n cid: string\n mimeType: string\n size: number\n tempKey: string | null\n width: number | null\n height: number | null\n createdAt: string\n takedownRef: string | null\n}\n\nexport const tableName = 'blob'\n\nexport type PartialDB = { [tableName]: Blob }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/index.ts"],"names":[],"mappings":"","sourcesContent":["import * as accountPref from './account-pref'\nimport * as backlink from './backlink'\nimport * as blob from './blob'\nimport * as record from './record'\nimport * as recordBlob from './record-blob'\nimport * as repoBlock from './repo-block'\nimport * as repoRoot from './repo-root'\n\nexport type DatabaseSchema = accountPref.PartialDB &\n repoRoot.PartialDB &\n record.PartialDB &\n backlink.PartialDB &\n repoBlock.PartialDB &\n blob.PartialDB &\n recordBlob.PartialDB\n\nexport type { AccountPref } from './account-pref'\nexport type { RepoRoot } from './repo-root'\nexport type { Record } from './record'\nexport type { Backlink } from './backlink'\nexport type { RepoBlock } from './repo-block'\nexport type { Blob } from './blob'\nexport type { RecordBlob } from './record-blob'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"record-blob.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/record-blob.ts"],"names":[],"mappings":";;;AAKa,QAAA,SAAS,GAAG,aAAa,CAAA"}
1
+ {"version":3,"file":"record-blob.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/record-blob.ts"],"names":[],"mappings":";;;AAKa,QAAA,SAAS,GAAG,aAAa,CAAA","sourcesContent":["export interface RecordBlob {\n blobCid: string\n recordUri: string\n}\n\nexport const tableName = 'record_blob'\n\nexport type PartialDB = { [tableName]: RecordBlob }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/record.ts"],"names":[],"mappings":";;;AAWa,QAAA,SAAS,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/record.ts"],"names":[],"mappings":";;;AAWa,QAAA,SAAS,GAAG,QAAQ,CAAA","sourcesContent":["// @NOTE also used by app-view (moderation)\nexport interface Record {\n uri: string\n cid: string\n collection: string\n rkey: string\n repoRev: string\n indexedAt: string\n takedownRef: string | null\n}\n\nexport const tableName = 'record'\n\nexport type PartialDB = { [tableName]: Record }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"repo-block.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/repo-block.ts"],"names":[],"mappings":";;;AAOa,QAAA,SAAS,GAAG,YAAY,CAAA"}
1
+ {"version":3,"file":"repo-block.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/repo-block.ts"],"names":[],"mappings":";;;AAOa,QAAA,SAAS,GAAG,YAAY,CAAA","sourcesContent":["export interface RepoBlock {\n cid: string\n repoRev: string\n size: number\n content: Uint8Array\n}\n\nexport const tableName = 'repo_block'\n\nexport type PartialDB = { [tableName]: RepoBlock }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"repo-root.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/repo-root.ts"],"names":[],"mappings":";;AAOA,MAAM,SAAS,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"repo-root.js","sourceRoot":"","sources":["../../../../src/actor-store/db/schema/repo-root.ts"],"names":[],"mappings":";;AAOA,MAAM,SAAS,GAAG,WAAW,CAAA","sourcesContent":["export interface RepoRoot {\n did: string\n cid: string\n rev: string\n indexedAt: string\n}\n\nconst tableName = 'repo_root'\n\nexport type PartialDB = { [tableName]: RepoRoot }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/actor-store/migrate.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA4B;AAC5B,sDAA4B;AAGrB,MAAM,iBAAiB,GAAG,KAAK,EACpC,GAAe,EACf,IAA8B,EAC9B,EAAqD,EACrD,EAAE;IACF,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAA;IAEhC,MAAM,KAAK,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;SACrC,UAAU,CAAC,OAAO,CAAC;SACnB,SAAS,EAAE;SACX,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;IACzB,IAAI,MAAsD,CAAA;IAC1D,GAAG,CAAC;QACF,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,MAAM,OAAO;iBACV,KAAK,CACJ,IAAA,YAAG,EAAA,sBAAsB,EACzB,GAAG,EACH,IAAA,YAAG,EAAA,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,GAAG,GAAG,CAC1C;iBACA,OAAO,EAAE;YACd,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAC3B,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC3B,CAAC,CAAC,CACH,CAAA;QACD,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA,CAAC,2EAA2E;IACnG,CAAC,QAAQ,MAAM,EAAC;IAEhB,0BAA0B;IAC1B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;AACtB,CAAC,CAAA;AAlCY,QAAA,iBAAiB,qBAkC7B"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/actor-store/migrate.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA4B;AAC5B,sDAA4B;AAGrB,MAAM,iBAAiB,GAAG,KAAK,EACpC,GAAe,EACf,IAA8B,EAC9B,EAAqD,EACrD,EAAE;IACF,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAA;IAEhC,MAAM,KAAK,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;SACrC,UAAU,CAAC,OAAO,CAAC;SACnB,SAAS,EAAE;SACX,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;IACzB,IAAI,MAAsD,CAAA;IAC1D,GAAG,CAAC;QACF,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,MAAM,OAAO;iBACV,KAAK,CACJ,IAAA,YAAG,EAAA,sBAAsB,EACzB,GAAG,EACH,IAAA,YAAG,EAAA,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,GAAG,GAAG,CAC1C;iBACA,OAAO,EAAE;YACd,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAC3B,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC3B,CAAC,CAAC,CACH,CAAA;QACD,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA,CAAC,2EAA2E;IACnG,CAAC,QAAQ,MAAM,EAAC;IAEhB,0BAA0B;IAC1B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;AACtB,CAAC,CAAA;AAlCY,QAAA,iBAAiB,qBAkC7B","sourcesContent":["import { sql } from 'kysely'\nimport PQueue from 'p-queue'\nimport { AppContext } from '../context'\n\nexport const forEachActorStore = async (\n ctx: AppContext,\n opts: { concurrency?: number },\n fn: (ctx: AppContext, did: string) => Promise<string>,\n) => {\n const { concurrency = 1 } = opts\n\n const queue = new PQueue({ concurrency })\n const actorQb = ctx.accountManager.db.db\n .selectFrom('actor')\n .selectAll()\n .limit(2 * concurrency)\n let cursor: { createdAt: string; did: string } | undefined\n do {\n const actors = cursor\n ? await actorQb\n .where(\n sql`(\"createdAt\", \"did\")`,\n '>',\n sql`(${cursor.createdAt}, ${cursor.did})`,\n )\n .execute()\n : await actorQb.execute()\n queue.addAll(\n actors.map(({ did }) => {\n return () => fn(ctx, did)\n }),\n )\n cursor = actors.at(-1)\n await queue.onEmpty() // wait for all remaining items to be in process, then move on to next page\n } while (cursor)\n\n // finalize remaining work\n await queue.onIdle()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/preference/reader.ts"],"names":[],"mappings":";;;AACA,iCAAwD;AAExD,MAAa,gBAAgB;IAC3B,YAAmB,EAAW;QAAlB;;;;mBAAO,EAAE;WAAS;IAAG,CAAC;IAElC,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,IAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC9B,UAAU,CAAC,cAAc,CAAC;aAC1B,OAAO,CAAC,IAAI,CAAC;aACb,SAAS,EAAE;aACX,OAAO,EAAE,CAAA;QACZ,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAA,0BAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAsB,CAAC,CAAA;IACnE,CAAC;CACF;AAjBD,4CAiBC;AAIM,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE;IACxE,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;AACvE,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/preference/reader.ts"],"names":[],"mappings":";;;AACA,iCAAwD;AAExD,MAAa,gBAAgB;IAC3B,YAAmB,EAAW;QAAlB;;;;mBAAO,EAAE;WAAS;IAAG,CAAC;IAElC,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,IAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC9B,UAAU,CAAC,cAAc,CAAC;aAC1B,OAAO,CAAC,IAAI,CAAC;aACb,SAAS,EAAE;aACX,OAAO,EAAE,CAAA;QACZ,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAA,0BAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAsB,CAAC,CAAA;IACnE,CAAC;CACF;AAjBD,4CAiBC;AAIM,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE;IACxE,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;AACvE,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B","sourcesContent":["import { ActorDb } from '../db'\nimport { PrefAllowedOptions, prefAllowed } from './util'\n\nexport class PreferenceReader {\n constructor(public db: ActorDb) {}\n\n async getPreferences(\n namespace: string,\n opts: PrefAllowedOptions,\n ): Promise<AccountPreference[]> {\n const prefsRes = await this.db.db\n .selectFrom('account_pref')\n .orderBy('id')\n .selectAll()\n .execute()\n return prefsRes\n .filter((pref) => !namespace || prefMatchNamespace(namespace, pref.name))\n .filter((pref) => prefAllowed(pref.name, opts))\n .map((pref) => JSON.parse(pref.valueJson) as AccountPreference)\n }\n}\n\nexport type AccountPreference = Record<string, unknown> & { $type: string }\n\nexport const prefMatchNamespace = (namespace: string, fullname: string) => {\n return fullname === namespace || fullname.startsWith(`${namespace}.`)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/preference/transactor.ts"],"names":[],"mappings":";;;AAAA,sDAA0D;AAC1D,qCAIiB;AACjB,iCAAwD;AAExD,MAAa,oBAAqB,SAAQ,yBAAgB;IACxD,KAAK,CAAC,cAAc,CAClB,MAA2B,EAC3B,SAAiB,EACjB,IAAwB;QAExB,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAkB,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,iCAAmB,CAC3B,mCAAmC,SAAS,YAAY,CACzD,CAAA;QACH,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,kBAAW,EAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,iCAAmB,CAC3B,iDAAiD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAA;QACH,CAAC;QACD,wDAAwD;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC9B,UAAU,CAAC,cAAc,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACtB,OAAO,EAAE,CAAA;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACjC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,QAAQ;aACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,uCAAuC;QACvC,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;iBACb,UAAU,CAAC,cAAc,CAAC;iBAC1B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC;iBACxC,OAAO,EAAE,CAAA;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;QACxE,CAAC;IACH,CAAC;CACF;AA5CD,oDA4CC"}
1
+ {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/preference/transactor.ts"],"names":[],"mappings":";;;AAAA,sDAA0D;AAC1D,qCAIiB;AACjB,iCAAwD;AAExD,MAAa,oBAAqB,SAAQ,yBAAgB;IACxD,KAAK,CAAC,cAAc,CAClB,MAA2B,EAC3B,SAAiB,EACjB,IAAwB;QAExB,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAkB,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,iCAAmB,CAC3B,mCAAmC,SAAS,YAAY,CACzD,CAAA;QACH,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,kBAAW,EAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,iCAAmB,CAC3B,iDAAiD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAA;QACH,CAAC;QACD,wDAAwD;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC9B,UAAU,CAAC,cAAc,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACtB,OAAO,EAAE,CAAA;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACjC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,QAAQ;aACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,uCAAuC;QACvC,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;iBACb,UAAU,CAAC,cAAc,CAAC;iBAC1B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC;iBACxC,OAAO,EAAE,CAAA;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;QACxE,CAAC;IACH,CAAC;CACF;AA5CD,oDA4CC","sourcesContent":["import { InvalidRequestError } from '@atproto/xrpc-server'\nimport {\n AccountPreference,\n PreferenceReader,\n prefMatchNamespace,\n} from './reader'\nimport { PrefAllowedOptions, prefAllowed } from './util'\n\nexport class PreferenceTransactor extends PreferenceReader {\n async putPreferences(\n values: AccountPreference[],\n namespace: string,\n opts: PrefAllowedOptions,\n ): Promise<void> {\n this.db.assertTransaction()\n if (!values.every((value) => prefMatchNamespace(namespace, value.$type))) {\n throw new InvalidRequestError(\n `Some preferences are not in the ${namespace} namespace`,\n )\n }\n const forbiddenPrefs = values.filter((val) => !prefAllowed(val.$type, opts))\n if (forbiddenPrefs.length > 0) {\n throw new InvalidRequestError(\n `Do not have authorization to set preferences: ${forbiddenPrefs.map((p) => p.$type).join(', ')}`,\n )\n }\n // get all current prefs for user and prep new pref rows\n const allPrefs = await this.db.db\n .selectFrom('account_pref')\n .select(['id', 'name'])\n .execute()\n const putPrefs = values.map((value) => {\n return {\n name: value.$type,\n valueJson: JSON.stringify(value),\n }\n })\n const allPrefIdsInNamespace = allPrefs\n .filter((pref) => prefMatchNamespace(namespace, pref.name))\n .filter((pref) => prefAllowed(pref.name, opts))\n .map((pref) => pref.id)\n // replace all prefs in given namespace\n if (allPrefIdsInNamespace.length) {\n await this.db.db\n .deleteFrom('account_pref')\n .where('id', 'in', allPrefIdsInNamespace)\n .execute()\n }\n if (putPrefs.length) {\n await this.db.db.insertInto('account_pref').values(putPrefs).execute()\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/actor-store/preference/util.ts"],"names":[],"mappings":";;AAQA,kCASC;AAjBD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,yCAAyC;CAC1C,CAAC,CAAA;AAMF,SAAgB,WAAW,CACzB,QAAgB,EAChB,OAA4B;IAE5B,IAAI,OAAO,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/actor-store/preference/util.ts"],"names":[],"mappings":";;AAQA,kCASC;AAjBD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,yCAAyC;CAC1C,CAAC,CAAA;AAMF,SAAgB,WAAW,CACzB,QAAgB,EAChB,OAA4B;IAE5B,IAAI,OAAO,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9C,CAAC","sourcesContent":["const FULL_ACCESS_ONLY_PREFS = new Set([\n 'app.bsky.actor.defs#personalDetailsPref',\n])\n\nexport type PrefAllowedOptions = {\n hasAccessFull?: boolean\n}\n\nexport function prefAllowed(\n prefType: string,\n options?: PrefAllowedOptions,\n): boolean {\n if (options?.hasAccessFull === true) {\n return true\n }\n\n return !FULL_ACCESS_ONLY_PREFS.has(prefType)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/record/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/record/reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { CidSet, cborToLexRecord, formatDataKey } from '@atproto/repo'\nimport * as syntax from '@atproto/syntax'\nimport { AtUri, ensureValidAtUri } from '@atproto/syntax'\nimport { countAll, notSoftDeletedClause } from '../../db/util'\nimport { ids } from '../../lexicon/lexicons'\nimport { Record as ProfileRecord } from '../../lexicon/types/app/bsky/actor/profile'\nimport { Record as PostRecord } from '../../lexicon/types/app/bsky/feed/post'\nimport { StatusAttr } from '../../lexicon/types/com/atproto/admin/defs'\nimport { LocalRecords } from '../../read-after-write/types'\nimport { ActorDb, Backlink } from '../db'\n\nexport type RecordDescript = {\n uri: string\n path: string\n cid: CID\n}\n\nexport class RecordReader {\n constructor(public db: ActorDb) {}\n\n async recordCount(): Promise<number> {\n const res = await this.db.db\n .selectFrom('record')\n .select(countAll.as('count'))\n .executeTakeFirst()\n return res?.count ?? 0\n }\n\n async listAll(): Promise<RecordDescript[]> {\n const records: RecordDescript[] = []\n let cursor: string | undefined = ''\n while (cursor !== undefined) {\n const res = await this.db.db\n .selectFrom('record')\n .select(['uri', 'cid'])\n .where('uri', '>', cursor)\n .orderBy('uri', 'asc')\n .limit(1000)\n .execute()\n for (const row of res) {\n const parsed = new AtUri(row.uri)\n records.push({\n uri: row.uri,\n path: formatDataKey(parsed.collection, parsed.rkey),\n cid: CID.parse(row.cid),\n })\n }\n cursor = res.at(-1)?.uri\n }\n return records\n }\n\n async listCollections(): Promise<string[]> {\n const collections = await this.db.db\n .selectFrom('record')\n .select('collection')\n .groupBy('collection')\n .execute()\n\n return collections.map((row) => row.collection)\n }\n\n async listRecordsForCollection(opts: {\n collection: string\n limit: number\n reverse: boolean\n cursor?: string\n rkeyStart?: string\n rkeyEnd?: string\n includeSoftDeleted?: boolean\n }): Promise<{ uri: string; cid: string; value: Record<string, unknown> }[]> {\n const {\n collection,\n limit,\n reverse,\n cursor,\n rkeyStart,\n rkeyEnd,\n includeSoftDeleted = false,\n } = opts\n\n const { ref } = this.db.db.dynamic\n let builder = this.db.db\n .selectFrom('record')\n .innerJoin('repo_block', 'repo_block.cid', 'record.cid')\n .where('record.collection', '=', collection)\n .if(!includeSoftDeleted, (qb) =>\n qb.where(notSoftDeletedClause(ref('record'))),\n )\n .orderBy('record.rkey', reverse ? 'asc' : 'desc')\n .limit(limit)\n .selectAll()\n\n // prioritize cursor but fall back to soon-to-be-depcreated rkey start/end\n if (cursor !== undefined) {\n if (reverse) {\n builder = builder.where('record.rkey', '>', cursor)\n } else {\n builder = builder.where('record.rkey', '<', cursor)\n }\n } else {\n if (rkeyStart !== undefined) {\n builder = builder.where('record.rkey', '>', rkeyStart)\n }\n if (rkeyEnd !== undefined) {\n builder = builder.where('record.rkey', '<', rkeyEnd)\n }\n }\n const res = await builder.execute()\n return res.map((row) => {\n return {\n uri: row.uri,\n cid: row.cid,\n value: cborToLexRecord(row.content),\n }\n })\n }\n\n async getRecord(\n uri: AtUri,\n cid: string | null,\n includeSoftDeleted = false,\n ): Promise<{\n uri: string\n cid: string\n value: Record<string, unknown>\n indexedAt: string\n takedownRef: string | null\n } | null> {\n const { ref } = this.db.db.dynamic\n let builder = this.db.db\n .selectFrom('record')\n .innerJoin('repo_block', 'repo_block.cid', 'record.cid')\n .where('record.uri', '=', uri.toString())\n .selectAll()\n .if(!includeSoftDeleted, (qb) =>\n qb.where(notSoftDeletedClause(ref('record'))),\n )\n if (cid) {\n builder = builder.where('record.cid', '=', cid)\n }\n const record = await builder.executeTakeFirst()\n if (!record) return null\n return {\n uri: record.uri,\n cid: record.cid,\n value: cborToLexRecord(record.content),\n indexedAt: record.indexedAt,\n takedownRef: record.takedownRef ? record.takedownRef.toString() : null,\n }\n }\n\n async hasRecord(\n uri: AtUri,\n cid: string | null,\n includeSoftDeleted = false,\n ): Promise<boolean> {\n const { ref } = this.db.db.dynamic\n let builder = this.db.db\n .selectFrom('record')\n .select('uri')\n .where('record.uri', '=', uri.toString())\n .if(!includeSoftDeleted, (qb) =>\n qb.where(notSoftDeletedClause(ref('record'))),\n )\n if (cid) {\n builder = builder.where('record.cid', '=', cid)\n }\n const record = await builder.executeTakeFirst()\n return !!record\n }\n\n async getRecordTakedownStatus(uri: AtUri): Promise<StatusAttr | null> {\n const res = await this.db.db\n .selectFrom('record')\n .select('takedownRef')\n .where('uri', '=', uri.toString())\n .executeTakeFirst()\n if (!res) return null\n return res.takedownRef\n ? { applied: true, ref: res.takedownRef }\n : { applied: false }\n }\n\n async getCurrentRecordCid(uri: AtUri): Promise<CID | null> {\n const res = await this.db.db\n .selectFrom('record')\n .select('cid')\n .where('uri', '=', uri.toString())\n .executeTakeFirst()\n return res ? CID.parse(res.cid) : null\n }\n\n async getRecordBacklinks(opts: {\n collection: string\n path: string\n linkTo: string\n }) {\n const { collection, path, linkTo } = opts\n return await this.db.db\n .selectFrom('record')\n .innerJoin('backlink', 'backlink.uri', 'record.uri')\n .where('backlink.path', '=', path)\n .where('backlink.linkTo', '=', linkTo)\n .where('record.collection', '=', collection)\n .selectAll('record')\n .execute()\n }\n\n // @NOTE this logic is a placeholder until we allow users to specify these constraints themselves.\n // Ensures that we don't end-up with duplicate likes, reposts, and follows from race conditions.\n\n async getBacklinkConflicts(uri: AtUri, record: RepoRecord): Promise<AtUri[]> {\n const conflicts: AtUri[] = []\n\n for (const backlink of getBacklinks(uri, record)) {\n const backlinks = await this.getRecordBacklinks({\n collection: uri.collection,\n path: backlink.path,\n linkTo: backlink.linkTo,\n })\n\n for (const { rkey } of backlinks) {\n conflicts.push(AtUri.make(uri.hostname, uri.collection, rkey))\n }\n }\n\n return conflicts\n }\n\n async listExistingBlocks(): Promise<CidSet> {\n const cids = new CidSet()\n let cursor: string | undefined = ''\n while (cursor !== undefined) {\n const res = await this.db.db\n .selectFrom('repo_block')\n .select('cid')\n .where('cid', '>', cursor)\n .orderBy('cid', 'asc')\n .limit(1000)\n .execute()\n for (const row of res) {\n cids.add(CID.parse(row.cid))\n }\n cursor = res.at(-1)?.cid\n }\n return cids\n }\n\n async getProfileRecord() {\n const row = await this.db.db\n .selectFrom('record')\n .leftJoin('repo_block', 'repo_block.cid', 'record.cid')\n .where('record.collection', '=', ids.AppBskyActorProfile)\n .where('record.rkey', '=', 'self')\n .selectAll()\n .executeTakeFirst()\n\n if (!row?.content) return null\n\n return cborToLexRecord(row.content) as ProfileRecord\n }\n\n async getRecordsSinceRev(rev: string): Promise<LocalRecords> {\n const result: LocalRecords = { count: 0, profile: null, posts: [] }\n\n const res = await this.db.db\n .selectFrom('record')\n .innerJoin('repo_block', 'repo_block.cid', 'record.cid')\n .select([\n 'repo_block.content',\n 'uri',\n 'repo_block.cid',\n 'record.indexedAt',\n ])\n .where('record.repoRev', '>', rev)\n .limit(10)\n .orderBy('record.repoRev', 'asc')\n .execute()\n\n // sanity check to ensure that the clock received is not before _all_ local records (for instance in case of account migration)\n if (res.length > 0) {\n const sanityCheckRes = await this.db.db\n .selectFrom('record')\n .selectAll()\n .where('record.repoRev', '<=', rev)\n .limit(1)\n .executeTakeFirst()\n\n if (!sanityCheckRes) {\n return result\n }\n }\n\n for (const cur of res) {\n result.count++\n\n const uri = new AtUri(cur.uri)\n if (uri.collection === ids.AppBskyActorProfile && uri.rkey === 'self') {\n result.profile = {\n uri,\n cid: CID.parse(cur.cid),\n indexedAt: cur.indexedAt,\n record: cborToLexRecord(cur.content) as ProfileRecord,\n }\n } else if (uri.collection === ids.AppBskyFeedPost) {\n result.posts.push({\n uri,\n cid: CID.parse(cur.cid),\n indexedAt: cur.indexedAt,\n record: cborToLexRecord(cur.content) as PostRecord,\n })\n }\n }\n\n return result\n }\n}\n\n// @NOTE in the future this can be replaced with a more generic routine that pulls backlinks based on lex docs.\n// For now we just want to ensure we're tracking links from follows, blocks, likes, and reposts.\n\nexport const getBacklinks = (uri: AtUri, record: RepoRecord): Backlink[] => {\n if (\n record?.['$type'] === ids.AppBskyGraphFollow ||\n record?.['$type'] === ids.AppBskyGraphBlock\n ) {\n const subject = record['subject']\n if (typeof subject !== 'string') {\n return []\n }\n try {\n syntax.ensureValidDid(subject)\n } catch {\n return []\n }\n return [\n {\n uri: uri.toString(),\n path: 'subject',\n linkTo: subject,\n },\n ]\n }\n if (\n record?.['$type'] === ids.AppBskyFeedLike ||\n record?.['$type'] === ids.AppBskyFeedRepost\n ) {\n const subject = record['subject']\n if (typeof subject?.['uri'] !== 'string') {\n return []\n }\n try {\n ensureValidAtUri(subject['uri'])\n } catch {\n return []\n }\n return [\n {\n uri: uri.toString(),\n path: 'subject.uri',\n linkTo: subject['uri'],\n },\n ]\n }\n return []\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/record/transactor.ts"],"names":[],"mappings":";;;AAEA,wCAAwD;AAGxD,yCAA8C;AAE9C,qCAAqD;AAErD,MAAa,gBAAiB,SAAQ,qBAAY;IAChD,YACS,EAAW,EACX,SAAoB;QAE3B,KAAK,CAAC,EAAE,CAAC,CAAA;QAHT;;;;mBAAO,EAAE;WAAS;QAClB;;;;mBAAO,SAAS;WAAW;IAG7B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,GAAU,EACV,GAAQ,EACR,MAAyB,EACzB,SAAsD,oBAAa,CAAC,MAAM,EAC1E,OAAe,EACf,SAAkB;QAElB,iBAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG;YACV,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACjD,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,kCAAkC;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;YAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CACH;aACA,OAAO,EAAE,CAAA;QAEZ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC3C,IAAI,MAAM,KAAK,oBAAa,CAAC,MAAM,EAAE,CAAC;gBACpC,qFAAqF;gBACrF,uFAAuF;gBACvF,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QAED,iBAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAU;QAC3B,iBAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aAC3B,UAAU,CAAC,QAAQ,CAAC;aACpB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aAC7B,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAEnE,iBAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAU;QACnC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;aACjC,OAAO,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAqB;QACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,UAAU,CAAC,UAAU,CAAC;aACtB,MAAM,CAAC,SAAS,CAAC;aACjB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;aAClC,OAAO,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,GAAU,EAAE,QAAoB;QAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO;YAClC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC1C,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACb,WAAW,CAAC,QAAQ,CAAC;aACrB,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;aACpB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;aACjC,gBAAgB,EAAE,CAAA;IACvB,CAAC;CACF;AAnGD,4CAmGC"}
1
+ {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/record/transactor.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { BlobStore, WriteOpAction } from '@atproto/repo'\nimport { AtUri } from '@atproto/syntax'\nimport { StatusAttr } from '../../lexicon/types/com/atproto/admin/defs'\nimport { dbLogger as log } from '../../logger'\nimport { ActorDb, Backlink } from '../db'\nimport { RecordReader, getBacklinks } from './reader'\n\nexport class RecordTransactor extends RecordReader {\n constructor(\n public db: ActorDb,\n public blobstore: BlobStore,\n ) {\n super(db)\n }\n\n async indexRecord(\n uri: AtUri,\n cid: CID,\n record: RepoRecord | null,\n action: WriteOpAction.Create | WriteOpAction.Update = WriteOpAction.Create,\n repoRev: string,\n timestamp?: string,\n ) {\n log.debug({ uri }, 'indexing record')\n const row = {\n uri: uri.toString(),\n cid: cid.toString(),\n collection: uri.collection,\n rkey: uri.rkey,\n repoRev: repoRev,\n indexedAt: timestamp || new Date().toISOString(),\n }\n if (!uri.hostname.startsWith('did:')) {\n throw new Error('Expected indexed URI to contain DID')\n } else if (row.collection.length < 1) {\n throw new Error('Expected indexed URI to contain a collection')\n } else if (row.rkey.length < 1) {\n throw new Error('Expected indexed URI to contain a record key')\n }\n\n // Track current version of record\n await this.db.db\n .insertInto('record')\n .values(row)\n .onConflict((oc) =>\n oc.column('uri').doUpdateSet({\n cid: row.cid,\n repoRev: repoRev,\n indexedAt: row.indexedAt,\n }),\n )\n .execute()\n\n if (record !== null) {\n // Maintain backlinks\n const backlinks = getBacklinks(uri, record)\n if (action === WriteOpAction.Update) {\n // On update just recreate backlinks from scratch for the record, so we can clear out\n // the old ones. E.g. for weird cases like updating a follow to be for a different did.\n await this.removeBacklinksByUri(uri)\n }\n await this.addBacklinks(backlinks)\n }\n\n log.info({ uri }, 'indexed record')\n }\n\n async deleteRecord(uri: AtUri) {\n log.debug({ uri }, 'deleting indexed record')\n const deleteQuery = this.db.db\n .deleteFrom('record')\n .where('uri', '=', uri.toString())\n const backlinkQuery = this.db.db\n .deleteFrom('backlink')\n .where('uri', '=', uri.toString())\n await Promise.all([deleteQuery.execute(), backlinkQuery.execute()])\n\n log.info({ uri }, 'deleted indexed record')\n }\n\n async removeBacklinksByUri(uri: AtUri) {\n await this.db.db\n .deleteFrom('backlink')\n .where('uri', '=', uri.toString())\n .execute()\n }\n\n async addBacklinks(backlinks: Backlink[]) {\n if (backlinks.length === 0) return\n await this.db.db\n .insertInto('backlink')\n .values(backlinks)\n .onConflict((oc) => oc.doNothing())\n .execute()\n }\n\n async updateRecordTakedownStatus(uri: AtUri, takedown: StatusAttr) {\n const takedownRef = takedown.applied\n ? takedown.ref ?? new Date().toISOString()\n : null\n await this.db.db\n .updateTable('record')\n .set({ takedownRef })\n .where('uri', '=', uri.toString())\n .executeTakeFirst()\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/repo/reader.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAE3C,6CAA+C;AAC/C,uDAAiD;AAEjD,MAAa,UAAU;IAKrB,YACS,EAAW,EACX,SAAoB;QAD3B;;;;mBAAO,EAAE;WAAS;QAClB;;;;mBAAO,SAAS;WAAW;QAN7B;;;;;WAAgB;QAChB;;;;;WAAoB;QACpB;;;;;WAAsB;QAMpB,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAY,CAAC,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAa,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAA;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3D,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM;SACP,CAAA;IACH,CAAC;CACF;AAvBD,gCAuBC"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/actor-store/repo/reader.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAE3C,6CAA+C;AAC/C,uDAAiD;AAEjD,MAAa,UAAU;IAKrB,YACS,EAAW,EACX,SAAoB;QAD3B;;;;mBAAO,EAAE;WAAS;QAClB;;;;mBAAO,SAAS;WAAW;QAN7B;;;;;WAAgB;QAChB;;;;;WAAoB;QACpB;;;;;WAAsB;QAMpB,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAY,CAAC,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAa,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAA;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3D,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM;SACP,CAAA;IACH,CAAC;CACF;AAvBD,gCAuBC","sourcesContent":["import { BlobStore } from '@atproto/repo'\nimport { SyncEvtData } from '../../repo'\nimport { BlobReader } from '../blob/reader'\nimport { ActorDb } from '../db'\nimport { RecordReader } from '../record/reader'\nimport { SqlRepoReader } from './sql-repo-reader'\n\nexport class RepoReader {\n blob: BlobReader\n record: RecordReader\n storage: SqlRepoReader\n\n constructor(\n public db: ActorDb,\n public blobstore: BlobStore,\n ) {\n this.blob = new BlobReader(db, blobstore)\n this.record = new RecordReader(db)\n this.storage = new SqlRepoReader(db)\n }\n\n async getSyncEventData(): Promise<SyncEvtData> {\n const root = await this.storage.getRootDetailed()\n const { blocks } = await this.storage.getBlocks([root.cid])\n return {\n cid: root.cid,\n rev: root.rev,\n blocks,\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sql-repo-reader.js","sourceRoot":"","sources":["../../../src/actor-store/repo/sql-repo-reader.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAC5B,0CAAsC;AACtC,4CAA4C;AAC5C,wCAMsB;AACtB,iCAAmC;AAGnC,MAAa,aAAc,SAAQ,yBAAkB;IAGnD,YAAmB,EAAW;QAC5B,KAAK,EAAE,CAAA;QADG;;;;mBAAO,EAAE;WAAS;QAF9B;;;;mBAAkB,IAAI,eAAQ,EAAE;WAAA;IAIhC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACzC,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACzB,UAAU,CAAC,WAAW,CAAC;aACvB,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACtB,KAAK,CAAC,CAAC,CAAC;aACR,uBAAuB,EAAE,CAAA;QAC5B,OAAO;YACL,GAAG,EAAE,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACvB,GAAG,EAAE,GAAG,CAAC,GAAG;SACb,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aAC3B,UAAU,CAAC,YAAY,CAAC;aACxB,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC5C,MAAM,CAAC,SAAS,CAAC;aACjB,gBAAgB,EAAE,CAAA;QACrB,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpC,OAAO,CAAC,CAAC,GAAG,CAAA;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,aAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAQ,EAAE,CAAA;QAC7B,KAAK,MAAM,KAAK,IAAI,IAAA,mBAAU,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;iBACzB,UAAU,CAAC,YAAY,CAAC;iBACxB,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;iBACpC,MAAM,CAAC,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;iBAClE,OAAO,EAAE,CAAA;YACZ,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,qBAAqB,EAAE,CAAA;QACnC,CAAC;QACD,OAAO,IAAA,qBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,gBAAgB,CAAC,KAAc;QACpC,IAAI,MAAM,GAA0B,SAAS,CAAA;QAC7C,wDAAwD;QACxD,GAAG,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACnD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,MAAM;oBACJ,GAAG,EAAE,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;oBACvB,KAAK,EAAE,GAAG,CAAC,OAAO;iBACnB,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,GAAG;oBACP,GAAG,EAAE,SAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC3B,GAAG,EAAE,OAAO,CAAC,OAAO;iBACrB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAA;YACpB,CAAC;QACH,CAAC,QAAQ,MAAM,EAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAc,EAAE,MAAkB;QACpD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aACrB,UAAU,CAAC,YAAY,CAAC;aACxB,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aACrC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;aAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,KAAK,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,MAAM,EAAE,CAAC;YACX,6CAA6C;YAC7C,OAAO,GAAG,OAAO,CAAC,KAAK,CACrB,IAAA,YAAG,EAAA,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,QACnC,MAAM,CAAC,GACT,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAC/B,CAAA;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACzB,UAAU,CAAC,YAAY,CAAC;aACxB,MAAM,CAAC,aAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aAC5B,gBAAgB,EAAE,CAAA;QACrB,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;CACF;AAjID,sCAiIC;AAOD,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD"}
1
+ {"version":3,"file":"sql-repo-reader.js","sourceRoot":"","sources":["../../../src/actor-store/repo/sql-repo-reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { sql } from 'kysely'\nimport { CID } from 'multiformats/cid'\nimport { chunkArray } from '@atproto/common'\nimport {\n BlockMap,\n CarBlock,\n CidSet,\n ReadableBlockstore,\n writeCarStream,\n} from '@atproto/repo'\nimport { countAll } from '../../db'\nimport { ActorDb } from '../db'\n\nexport class SqlRepoReader extends ReadableBlockstore {\n cache: BlockMap = new BlockMap()\n\n constructor(public db: ActorDb) {\n super()\n }\n\n async getRoot(): Promise<CID> {\n const root = await this.getRootDetailed()\n return root.cid\n }\n\n async getRootDetailed(): Promise<{ cid: CID; rev: string }> {\n const res = await this.db.db\n .selectFrom('repo_root')\n .select(['cid', 'rev'])\n .limit(1)\n .executeTakeFirstOrThrow()\n return {\n cid: CID.parse(res.cid),\n rev: res.rev,\n }\n }\n\n async getBytes(cid: CID): Promise<Uint8Array | null> {\n const cached = this.cache.get(cid)\n if (cached) return cached\n const found = await this.db.db\n .selectFrom('repo_block')\n .where('repo_block.cid', '=', cid.toString())\n .select('content')\n .executeTakeFirst()\n if (!found) return null\n this.cache.set(cid, found.content)\n return found.content\n }\n\n async has(cid: CID): Promise<boolean> {\n const got = await this.getBytes(cid)\n return !!got\n }\n\n async getBlocks(cids: CID[]): Promise<{ blocks: BlockMap; missing: CID[] }> {\n const cached = this.cache.getMany(cids)\n if (cached.missing.length < 1) return cached\n const missing = new CidSet(cached.missing)\n const missingStr = cached.missing.map((c) => c.toString())\n const blocks = new BlockMap()\n for (const batch of chunkArray(missingStr, 500)) {\n const res = await this.db.db\n .selectFrom('repo_block')\n .where('repo_block.cid', 'in', batch)\n .select(['repo_block.cid as cid', 'repo_block.content as content'])\n .execute()\n for (const row of res) {\n const cid = CID.parse(row.cid)\n blocks.set(cid, row.content)\n missing.delete(cid)\n }\n }\n this.cache.addMap(blocks)\n blocks.addMap(cached.blocks)\n return { blocks, missing: missing.toList() }\n }\n\n async getCarStream(since?: string) {\n const root = await this.getRoot()\n if (!root) {\n throw new RepoRootNotFoundError()\n }\n return writeCarStream(root, this.iterateCarBlocks(since))\n }\n\n async *iterateCarBlocks(since?: string): AsyncIterable<CarBlock> {\n let cursor: RevCursor | undefined = undefined\n // allow us to write to car while fetching the next page\n do {\n const res = await this.getBlockRange(since, cursor)\n for (const row of res) {\n yield {\n cid: CID.parse(row.cid),\n bytes: row.content,\n }\n }\n const lastRow = res.at(-1)\n if (lastRow && lastRow.repoRev) {\n cursor = {\n cid: CID.parse(lastRow.cid),\n rev: lastRow.repoRev,\n }\n } else {\n cursor = undefined\n }\n } while (cursor)\n }\n\n async getBlockRange(since?: string, cursor?: RevCursor) {\n const { ref } = this.db.db.dynamic\n let builder = this.db.db\n .selectFrom('repo_block')\n .select(['cid', 'repoRev', 'content'])\n .orderBy('repoRev', 'desc')\n .orderBy('cid', 'desc')\n .limit(500)\n if (cursor) {\n // use this syntax to ensure we hit the index\n builder = builder.where(\n sql`((${ref('repoRev')}, ${ref('cid')}) < (${\n cursor.rev\n }, ${cursor.cid.toString()}))`,\n )\n }\n if (since) {\n builder = builder.where('repoRev', '>', since)\n }\n return builder.execute()\n }\n\n async countBlocks(): Promise<number> {\n const res = await this.db.db\n .selectFrom('repo_block')\n .select(countAll.as('count'))\n .executeTakeFirst()\n return res?.count ?? 0\n }\n\n async destroy(): Promise<void> {\n throw new Error('Destruction of SQL repo storage not allowed at runtime')\n }\n}\n\ntype RevCursor = {\n cid: CID\n rev: string\n}\n\nexport class RepoRootNotFoundError extends Error {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sql-repo-transactor.js","sourceRoot":"","sources":["../../../src/actor-store/repo/sql-repo-transactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-repo-transactor.js","sourceRoot":"","sources":["../../../src/actor-store/repo/sql-repo-transactor.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { chunkArray } from '@atproto/common'\nimport { BlockMap, CommitData, RepoStorage } from '@atproto/repo'\nimport { ActorDb, RepoBlock } from '../db'\nimport { SqlRepoReader } from './sql-repo-reader'\n\nexport class SqlRepoTransactor extends SqlRepoReader implements RepoStorage {\n cache: BlockMap = new BlockMap()\n now: string\n\n constructor(\n public db: ActorDb,\n public did: string,\n now?: string,\n ) {\n super(db)\n this.now = now ?? new Date().toISOString()\n }\n\n // proactively cache all blocks from a particular commit (to prevent multiple roundtrips)\n async cacheRev(rev: string): Promise<void> {\n const res = await this.db.db\n .selectFrom('repo_block')\n .where('repoRev', '=', rev)\n .select(['repo_block.cid', 'repo_block.content'])\n .limit(15)\n .execute()\n for (const row of res) {\n this.cache.set(CID.parse(row.cid), row.content)\n }\n }\n\n async putBlock(cid: CID, block: Uint8Array, rev: string): Promise<void> {\n await this.db.db\n .insertInto('repo_block')\n .values({\n cid: cid.toString(),\n repoRev: rev,\n size: block.length,\n content: block,\n })\n .onConflict((oc) => oc.doNothing())\n .execute()\n this.cache.set(cid, block)\n }\n\n async putMany(toPut: BlockMap, rev: string): Promise<void> {\n const blocks: RepoBlock[] = Array.from(toPut, ([cid, bytes]) => ({\n cid: cid.toString(),\n repoRev: rev,\n size: bytes.length,\n content: bytes,\n }))\n\n for (const batch of chunkArray(blocks, 50)) {\n await this.db.db\n .insertInto('repo_block')\n .values(batch)\n .onConflict((oc) => oc.doNothing())\n .execute()\n }\n }\n\n async deleteMany(cids: CID[]) {\n if (cids.length < 1) return\n const cidStrs = cids.map((c) => c.toString())\n await this.db.db\n .deleteFrom('repo_block')\n .where('cid', 'in', cidStrs)\n .execute()\n }\n\n async applyCommit(commit: CommitData, isCreate?: boolean) {\n await this.updateRoot(commit.cid, commit.rev, isCreate)\n await this.putMany(commit.newBlocks, commit.rev)\n await this.deleteMany(commit.removedCids.toList())\n }\n\n async updateRoot(cid: CID, rev: string, isCreate = false): Promise<void> {\n if (isCreate) {\n await this.db.db\n .insertInto('repo_root')\n .values({\n did: this.did,\n cid: cid.toString(),\n rev: rev,\n indexedAt: this.now,\n })\n .execute()\n } else {\n await this.db.db\n .updateTable('repo_root')\n .set({\n cid: cid.toString(),\n rev: rev,\n indexedAt: this.now,\n })\n .execute()\n }\n }\n\n async destroy(): Promise<void> {\n throw new Error('Destruction of SQL repo storage not allowed at runtime')\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/repo/transactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactor.js","sourceRoot":"","sources":["../../../src/actor-store/repo/transactor.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport * as crypto from '@atproto/crypto'\nimport { BlobStore, Repo, WriteOpAction, formatDataKey } from '@atproto/repo'\nimport { AtUri } from '@atproto/syntax'\nimport { InvalidRequestError } from '@atproto/xrpc-server'\nimport { BackgroundQueue } from '../../background'\nimport { createWriteToOp, writeToOp } from '../../repo'\nimport {\n BadCommitSwapError,\n BadRecordSwapError,\n CommitDataWithOps,\n CommitOp,\n PreparedCreate,\n PreparedWrite,\n} from '../../repo/types'\nimport { BlobTransactor } from '../blob/transactor'\nimport { ActorDb } from '../db'\nimport { RecordTransactor } from '../record/transactor'\nimport { RepoReader } from './reader'\nimport { SqlRepoTransactor } from './sql-repo-transactor'\n\nexport class RepoTransactor extends RepoReader {\n blob: BlobTransactor\n record: RecordTransactor\n storage: SqlRepoTransactor\n\n constructor(\n public db: ActorDb,\n public blobstore: BlobStore,\n public did: string,\n public signingKey: crypto.Keypair,\n public backgroundQueue: BackgroundQueue,\n public now: string = new Date().toISOString(),\n ) {\n super(db, blobstore)\n this.blob = new BlobTransactor(db, blobstore, backgroundQueue)\n this.record = new RecordTransactor(db, blobstore)\n this.storage = new SqlRepoTransactor(db, did, now)\n }\n\n async maybeLoadRepo(): Promise<Repo | null> {\n const res = await this.db.db\n .selectFrom('repo_root')\n .select('cid')\n .limit(1)\n .executeTakeFirst()\n return res ? Repo.load(this.storage, CID.parse(res.cid)) : null\n }\n\n async createRepo(writes: PreparedCreate[]): Promise<CommitDataWithOps> {\n this.db.assertTransaction()\n const commit = await Repo.formatInitCommit(\n this.storage,\n this.did,\n this.signingKey,\n writes.map(createWriteToOp),\n )\n await this.storage.applyCommit(commit, true)\n await this.indexWrites(writes, commit.rev)\n await this.blob.processWriteBlobs(commit.rev, writes)\n\n const ops = writes.map((w) => ({\n action: 'create' as const,\n path: formatDataKey(w.uri.collection, w.uri.rkey),\n cid: w.cid,\n }))\n return {\n ...commit,\n ops,\n prevData: null,\n }\n }\n\n async processWrites(\n writes: PreparedWrite[],\n swapCommitCid?: CID,\n ): Promise<CommitDataWithOps> {\n this.db.assertTransaction()\n if (writes.length > 200) {\n throw new InvalidRequestError('Too many writes. Max: 200')\n }\n\n const commit = await this.formatCommit(writes, swapCommitCid)\n // Do not allow commits > 2MB\n if (commit.relevantBlocks.byteSize > 2000000) {\n throw new InvalidRequestError('Too many writes. Max event size: 2MB')\n }\n\n // persist the commit to repo storage\n await this.storage.applyCommit(commit)\n // & send to indexing\n await this.indexWrites(writes, commit.rev)\n // process blobs\n await this.blob.processWriteBlobs(commit.rev, writes)\n\n return commit\n }\n\n async formatCommit(\n writes: PreparedWrite[],\n swapCommit?: CID,\n ): Promise<CommitDataWithOps> {\n // this is not in a txn, so this won't actually hold the lock,\n // we just check if it is currently held by another txn\n const currRoot = await this.storage.getRootDetailed()\n if (!currRoot) {\n throw new InvalidRequestError(`No repo root found for ${this.did}`)\n }\n if (swapCommit && !currRoot.cid.equals(swapCommit)) {\n throw new BadCommitSwapError(currRoot.cid)\n }\n // cache last commit since there's likely overlap\n await this.storage.cacheRev(currRoot.rev)\n const newRecordCids: CID[] = []\n const delAndUpdateUris: AtUri[] = []\n const commitOps: CommitOp[] = []\n for (const write of writes) {\n const { action, uri, swapCid } = write\n if (action !== WriteOpAction.Delete) {\n newRecordCids.push(write.cid)\n }\n if (action !== WriteOpAction.Create) {\n delAndUpdateUris.push(uri)\n }\n const record = await this.record.getRecord(uri, null, true)\n const currRecord = record ? CID.parse(record.cid) : null\n\n const op: CommitOp = {\n action,\n path: formatDataKey(uri.collection, uri.rkey),\n cid: write.action === WriteOpAction.Delete ? null : write.cid,\n }\n if (currRecord) {\n op.prev = currRecord\n }\n commitOps.push(op)\n if (swapCid !== undefined) {\n if (action === WriteOpAction.Create && swapCid !== null) {\n throw new BadRecordSwapError(currRecord) // There should be no current record for a create\n }\n if (action === WriteOpAction.Update && swapCid === null) {\n throw new BadRecordSwapError(currRecord) // There should be a current record for an update\n }\n if (action === WriteOpAction.Delete && swapCid === null) {\n throw new BadRecordSwapError(currRecord) // There should be a current record for a delete\n }\n if ((currRecord || swapCid) && !currRecord?.equals(swapCid)) {\n throw new BadRecordSwapError(currRecord)\n }\n }\n }\n\n const repo = await Repo.load(this.storage, currRoot.cid)\n const prevData = repo.commit.data\n const writeOps = writes.map(writeToOp)\n const commit = await repo.formatCommit(writeOps, this.signingKey)\n\n // find blocks that would be deleted but are referenced by another record\n const dupeRecordCids = await this.getDuplicateRecordCids(\n commit.removedCids.toList(),\n delAndUpdateUris,\n )\n for (const cid of dupeRecordCids) {\n commit.removedCids.delete(cid)\n }\n\n // find blocks that are relevant to ops but not included in diff\n // (for instance a record that was moved but cid stayed the same)\n const newRecordBlocks = commit.relevantBlocks.getMany(newRecordCids)\n if (newRecordBlocks.missing.length > 0) {\n const missingBlocks = await this.storage.getBlocks(\n newRecordBlocks.missing,\n )\n commit.relevantBlocks.addMap(missingBlocks.blocks)\n }\n return {\n ...commit,\n ops: commitOps,\n prevData,\n }\n }\n\n async indexWrites(writes: PreparedWrite[], rev: string) {\n this.db.assertTransaction()\n\n for (const write of writes) {\n if (\n write.action === WriteOpAction.Create ||\n write.action === WriteOpAction.Update\n ) {\n await this.record.indexRecord(\n write.uri,\n write.cid,\n write.record,\n write.action,\n rev,\n this.now,\n )\n } else if (write.action === WriteOpAction.Delete) {\n await this.record.deleteRecord(write.uri)\n }\n }\n }\n\n async getDuplicateRecordCids(\n cids: CID[],\n touchedUris: AtUri[],\n ): Promise<CID[]> {\n if (touchedUris.length === 0 || cids.length === 0) {\n return []\n }\n const cidStrs = cids.map((c) => c.toString())\n const uriStrs = touchedUris.map((u) => u.toString())\n const res = await this.db.db\n .selectFrom('record')\n .where('cid', 'in', cidStrs)\n .where('uri', 'not in', uriStrs)\n .select('cid')\n .execute()\n return res.map((row) => CID.parse(row.cid))\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getPreferences.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getPreferences.ts"],"names":[],"mappings":";;AAMA,4BAyCC;AA/CD,uDAAgE;AAGhE,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,UAAU,EAAE,CAAC,sBAAS,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA;YAEhC,sEAAsE;YACtE,0DAA0D;YAC1D,8EAA8E;YAC9E,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;YAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACzC,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,eAAe,EAAE,CAAC;gBAC9C,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GACjB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAA,yBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;oBAC3C,aAAa;iBACd,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"getPreferences.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getPreferences.ts"],"names":[],"mappings":";;AAMA,4BAyCC;AA/CD,uDAAgE;AAGhE,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,UAAU,EAAE,CAAC,sBAAS,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA;YAEhC,sEAAsE;YACtE,0DAA0D;YAC1D,8EAA8E;YAC9E,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;YAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACzC,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,eAAe,EAAE,CAAC;gBAC9C,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GACjB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAA,yBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;oBAC3C,aAAa;iBACd,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { AuthScope, isAccessFull } from '../../../../auth-scope'\nimport { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { computeProxyTo, pipethrough } from '../../../../pipethrough'\n\nexport default function (server: Server, ctx: AppContext) {\n const { bskyAppView } = ctx\n if (!bskyAppView) return\n\n server.app.bsky.actor.getPreferences({\n auth: ctx.authVerifier.authorization({\n additional: [AuthScope.Takendown],\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyActorGetPreferences\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async ({ auth, req }) => {\n const { did } = auth.credentials\n\n // If the request has a proxy header different from the bsky app view,\n // we need to proxy the request to the requested app view.\n // @TODO This behavior should not be implemented as part of the XRPC framework\n const lxm = ids.AppBskyActorGetPreferences\n const aud = computeProxyTo(ctx, req, lxm)\n if (aud !== `${bskyAppView.did}#bsky_appview`) {\n return pipethrough(ctx, req, { iss: did, aud, lxm })\n }\n\n const hasAccessFull =\n auth.credentials.type === 'access' &&\n isAccessFull(auth.credentials.scope)\n\n const preferences = await ctx.actorStore.read(did, (store) => {\n return store.pref.getPreferences('app.bsky', {\n hasAccessFull,\n })\n })\n\n return {\n encoding: 'application/json',\n body: { preferences },\n }\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getProfile.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getProfile.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,sBAAsB,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;QAChE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,KAAK,EAC3B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAA;IACnC,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC/C,OAAO,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC,CAAA"}
1
+ {"version":3,"file":"getProfile.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getProfile.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,sBAAsB,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;QAChE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,KAAK,EAC3B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAA;IACnC,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC/C,OAAO,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC,CAAA","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { OutputSchema } from '../../../../lexicon/types/app/bsky/actor/getProfile'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.actor.getProfile({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyActorGetProfile\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n return pipethroughReadAfterWrite(ctx, reqCtx, getProfileMunge)\n },\n })\n}\n\nconst getProfileMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n requester: string,\n): Promise<OutputSchema> => {\n if (!local.profile) return original\n if (original.did !== requester) return original\n return localViewer.updateProfileDetailed(original, local.profile.record)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getProfiles.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getProfiles.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,uBAAuB,CAAA;gBACvC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAC5B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAA;IAE/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACvC,OAAO,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IACF,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ;KACT,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getProfiles.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/getProfiles.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,uBAAuB,CAAA;gBACvC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAC5B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAA;IAE/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACvC,OAAO,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IACF,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ;KACT,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { OutputSchema } from '../../../../lexicon/types/app/bsky/actor/getProfiles'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.actor.getProfiles({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyActorGetProfiles\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n return pipethroughReadAfterWrite(ctx, reqCtx, getProfilesMunge)\n },\n })\n}\n\nconst getProfilesMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n requester: string,\n): Promise<OutputSchema> => {\n const localProf = local.profile\n if (!localProf) return original\n\n const profiles = original.profiles.map((prof) => {\n if (prof.did !== requester) return prof\n return localViewer.updateProfileDetailed(prof, localProf.record)\n })\n return {\n ...original,\n profiles,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/index.ts"],"names":[],"mappings":";;;;;AAOA,4BAKC;AAVD,sEAA6C;AAC7C,8DAAqC;AACrC,gEAAuC;AACvC,sEAA6C;AAE7C,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/index.ts"],"names":[],"mappings":";;;;;AAOA,4BAKC;AAVD,sEAA6C;AAC7C,8DAAqC;AACrC,gEAAuC;AACvC,sEAA6C;AAE7C,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport getPreferences from './getPreferences'\nimport getProfile from './getProfile'\nimport getProfiles from './getProfiles'\nimport putPreferences from './putPreferences'\n\nexport default function (server: Server, ctx: AppContext) {\n getPreferences(server, ctx)\n getProfile(server, ctx)\n getProfiles(server, ctx)\n putPreferences(server, ctx)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"putPreferences.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/putPreferences.ts"],"names":[],"mappings":";;AAQA,4BA6CC;AArDD,sDAA0D;AAE1D,uDAAqD;AAGrD,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA;YAEhC,sEAAsE;YACtE,0DAA0D;YAC1D,8EAA8E;YAC9E,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;YAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACzC,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,eAAe,EAAE,CAAC;gBAC9C,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,kBAAkB,GAAwB,EAAE,CAAA;YAClD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnC,kBAAkB,CAAC,IAAI,CAAC,IAAyB,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,iCAAmB,CAAC,+BAA+B,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GACjB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAA,yBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACpD,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,EAAE;oBACjE,aAAa;iBACd,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"putPreferences.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/actor/putPreferences.ts"],"names":[],"mappings":";;AAQA,4BA6CC;AArDD,sDAA0D;AAE1D,uDAAqD;AAGrD,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA;YAEhC,sEAAsE;YACtE,0DAA0D;YAC1D,8EAA8E;YAC9E,MAAM,GAAG,GAAG,cAAG,CAAC,0BAA0B,CAAA;YAC1C,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACzC,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,eAAe,EAAE,CAAC;gBAC9C,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,kBAAkB,GAAwB,EAAE,CAAA;YAClD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnC,kBAAkB,CAAC,IAAI,CAAC,IAAyB,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,iCAAmB,CAAC,+BAA+B,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GACjB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAA,yBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACpD,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,EAAE;oBACjE,aAAa;iBACd,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { InvalidRequestError } from '@atproto/xrpc-server'\nimport { AccountPreference } from '../../../../actor-store/preference/reader'\nimport { isAccessFull } from '../../../../auth-scope'\nimport { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { computeProxyTo, pipethrough } from '../../../../pipethrough'\n\nexport default function (server: Server, ctx: AppContext) {\n const { bskyAppView } = ctx\n if (!bskyAppView) return\n\n server.app.bsky.actor.putPreferences({\n auth: ctx.authVerifier.authorization({\n checkTakedown: true,\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyActorPutPreferences\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async ({ req, auth, input }) => {\n const { did } = auth.credentials\n\n // If the request has a proxy header different from the bsky app view,\n // we need to proxy the request to the requested app view.\n // @TODO This behavior should not be implemented as part of the XRPC framework\n const lxm = ids.AppBskyActorPutPreferences\n const aud = computeProxyTo(ctx, req, lxm)\n if (aud !== `${bskyAppView.did}#bsky_appview`) {\n return pipethrough(ctx, req, { iss: did, aud, lxm })\n }\n\n const checkedPreferences: AccountPreference[] = []\n for (const pref of input.body.preferences) {\n if (typeof pref.$type === 'string') {\n checkedPreferences.push(pref as AccountPreference)\n } else {\n throw new InvalidRequestError('Preference is missing a $type')\n }\n }\n\n const hasAccessFull =\n auth.credentials.type === 'access' &&\n isAccessFull(auth.credentials.scope)\n\n await ctx.actorStore.transact(did, async (actorTxn) => {\n await actorTxn.pref.putPreferences(checkedPreferences, 'app.bsky', {\n hasAccessFull,\n })\n })\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getActorLikes.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getActorLikes.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,wBAAwB,CAAA;gBACxC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;QAC/D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IACxB,wDAAwD;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,IAAI;wBACZ,MAAM,EAAE,WAAW,CAAC,sBAAsB,CACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,CACjB;qBACF;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getActorLikes.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getActorLikes.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,wBAAwB,CAAA;gBACxC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;QAC/D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IACxB,wDAAwD;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,IAAI;wBACZ,MAAM,EAAE,WAAW,CAAC,sBAAsB,CACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,CACjB;qBACF;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { OutputSchema } from '../../../../lexicon/types/app/bsky/feed/getActorLikes'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.feed.getActorLikes({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyFeedGetActorLikes\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n return pipethroughReadAfterWrite(ctx, reqCtx, getAuthorMunge)\n },\n })\n}\n\nconst getAuthorMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n requester: string,\n): Promise<OutputSchema> => {\n const localProf = local.profile\n let feed = original.feed\n // first update any out of date profile pictures in feed\n if (localProf) {\n feed = feed.map((item) => {\n if (item.post.author.did === requester) {\n return {\n ...item,\n post: {\n ...item.post,\n author: localViewer.updateProfileViewBasic(\n item.post.author,\n localProf.record,\n ),\n },\n }\n } else {\n return item\n }\n })\n }\n return {\n ...original,\n feed,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthorFeed.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getAuthorFeed.ts"],"names":[],"mappings":";;AAYA,4BAeC;AAzBD,2DAAkD;AAClD,uEAA6E;AAE7E,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,wBAAwB,CAAA;gBACxC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;QAC/D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,yBAAyB;IACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IACxB,wDAAwD;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,IAAI;wBACZ,MAAM,EAAE,WAAW,CAAC,sBAAsB,CACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,CACjB;qBACF;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,MAAM,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,SAAiB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrE,IAAI,IAAA,qBAAc,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS;QACnE,OAAO,IAAI,CAAA;IACb,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"getAuthorFeed.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getAuthorFeed.ts"],"names":[],"mappings":";;AAYA,4BAeC;AAzBD,2DAAkD;AAClD,uEAA6E;AAE7E,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,wBAAwB,CAAA;gBACxC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;QAC/D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACnB,SAAiB,EACM,EAAE;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAA;IAC/B,yBAAyB;IACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IACxB,wDAAwD;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,IAAI;wBACZ,MAAM,EAAE,WAAW,CAAC,sBAAsB,CACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,CACjB;qBACF;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,MAAM,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,SAAiB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrE,IAAI,IAAA,qBAAc,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS;QACnE,OAAO,IAAI,CAAA;IACb,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { isReasonRepost } from '../../../../lexicon/types/app/bsky/feed/defs'\nimport { OutputSchema } from '../../../../lexicon/types/app/bsky/feed/getAuthorFeed'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.feed.getAuthorFeed({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyFeedGetAuthorFeed\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n return pipethroughReadAfterWrite(ctx, reqCtx, getAuthorMunge)\n },\n })\n}\n\nconst getAuthorMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n requester: string,\n): Promise<OutputSchema> => {\n const localProf = local.profile\n // only munge on own feed\n if (!isUsersFeed(original, requester)) {\n return original\n }\n let feed = original.feed\n // first update any out of date profile pictures in feed\n if (localProf) {\n feed = feed.map((item) => {\n if (item.post.author.did === requester) {\n return {\n ...item,\n post: {\n ...item.post,\n author: localViewer.updateProfileViewBasic(\n item.post.author,\n localProf.record,\n ),\n },\n }\n } else {\n return item\n }\n })\n }\n feed = await localViewer.formatAndInsertPostsInFeed(feed, local.posts)\n return {\n ...original,\n feed,\n }\n}\n\nconst isUsersFeed = (feed: OutputSchema, requester: string) => {\n const first = feed.feed.at(0)\n if (!first) return false\n if (!first.reason && first.post.author.did === requester) return true\n if (isReasonRepost(first.reason) && first.reason.by.did === requester)\n return true\n return false\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getFeed.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getFeed.ts"],"names":[],"mappings":";;AAOA,4BAqCC;AA5CD,4DAA6D;AAC7D,4CAAuC;AAGvC,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,kBAAkB,CAAA;gBAClC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;gBACnC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,cAAG,CAAC,0BAA0B,EAAE,CAAC,CAAA;YACrE,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YAEtC,MAAM,OAAO,GAAG,IAAI,cAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClE,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,oCAAmB,CAC3B,4BAA4B,EAC5B,aAAa,CACd,CAAA;YACH,CAAC;YAED,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE;gBAC3B,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,cAAG,CAAC,0BAA0B;aACpC,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"getFeed.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getFeed.ts"],"names":[],"mappings":";;AAOA,4BAqCC;AA5CD,4DAA6D;AAC7D,4CAAuC;AAGvC,2DAAkD;AAClD,yDAAqE;AAErE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;IAC3B,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,kBAAkB,CAAA;gBAClC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;gBACnC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,cAAG,CAAC,0BAA0B,EAAE,CAAC,CAAA;YACrE,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YAEtC,MAAM,OAAO,GAAG,IAAI,cAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClE,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,oCAAmB,CAC3B,4BAA4B,EAC5B,aAAa,CACd,CAAA;YACH,CAAC;YAED,OAAO,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,EAAE;gBAC3B,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,cAAG,CAAC,0BAA0B;aACpC,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { InvalidRequestError } from '@atproto/oauth-provider'\nimport { AtUri } from '@atproto/syntax'\nimport { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { computeProxyTo, pipethrough } from '../../../../pipethrough'\n\nexport default function (server: Server, ctx: AppContext) {\n const { bskyAppView } = ctx\n if (!bskyAppView) return\n\n server.app.bsky.feed.getFeed({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyFeedGetFeed\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n permissions.assertRpc({ aud, lxm: ids.AppBskyFeedGetFeedSkeleton })\n },\n }),\n handler: async ({ params, auth, req }) => {\n const requester = auth.credentials.did\n\n const feedUrl = new AtUri(params.feed)\n const { data } = await bskyAppView.agent.com.atproto.repo.getRecord({\n repo: feedUrl.hostname,\n collection: feedUrl.collection,\n rkey: feedUrl.rkey,\n })\n const feedDid = data.value['did']\n if (typeof feedDid !== 'string') {\n throw new InvalidRequestError(\n 'could not resolve feed did',\n 'UnknownFeed',\n )\n }\n\n return pipethrough(ctx, req, {\n iss: requester,\n aud: feedDid,\n lxm: ids.AppBskyFeedGetFeedSkeleton,\n })\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getPostThread.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getPostThread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPostThread.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getPostThread.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport { AtUri } from '@atproto/syntax'\nimport { XRPCError } from '@atproto/xrpc'\nimport { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport {\n ThreadViewPost,\n isThreadViewPost,\n} from '../../../../lexicon/types/app/bsky/feed/defs'\nimport {\n OutputSchema,\n QueryParams,\n} from '../../../../lexicon/types/app/bsky/feed/getPostThread'\nimport { Record as PostRecord } from '../../../../lexicon/types/app/bsky/feed/post'\nimport { $Typed } from '../../../../lexicon/util'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n RecordDescript,\n formatMungedResponse,\n getLocalLag,\n getRepoRev,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.feed.getPostThread({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyFeedGetPostThread\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n try {\n return await pipethroughReadAfterWrite(ctx, reqCtx, getPostThreadMunge)\n } catch (err) {\n if (err instanceof XRPCError && err.error === 'NotFound') {\n const { auth, params } = reqCtx\n const requester = auth.credentials.did\n\n const rev = err.headers && getRepoRev(err.headers)\n if (!rev) throw err\n\n const uri = new AtUri(params.uri)\n if (!uri.hostname.startsWith('did:')) {\n const account = await ctx.accountManager.getAccount(uri.hostname)\n if (account) {\n uri.hostname = account.did\n }\n }\n if (uri.hostname !== requester) throw err\n\n const local = await ctx.actorStore.read(requester, (store) => {\n const localViewer = ctx.localViewer(store)\n return readAfterWriteNotFound(\n ctx,\n localViewer,\n params,\n requester,\n rev,\n uri,\n )\n })\n if (local === null) {\n throw err\n } else {\n return formatMungedResponse(local.data, local.lag)\n }\n } else {\n throw err\n }\n }\n },\n })\n}\n\n// READ AFTER WRITE\n// ----------------\n\nconst getPostThreadMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n): Promise<OutputSchema> => {\n // @TODO if is NotFoundPost, handle similarly to error\n // @NOTE not necessary right now as we never return those for the requested uri\n if (!isThreadViewPost(original.thread)) {\n return original\n }\n const thread = await addPostsToThread(\n localViewer,\n original.thread,\n local.posts,\n )\n return {\n ...original,\n thread,\n }\n}\n\nconst addPostsToThread = async (\n localViewer: LocalViewer,\n original: $Typed<ThreadViewPost>,\n posts: RecordDescript<PostRecord>[],\n) => {\n const inThread = findPostsInThread(original, posts)\n if (inThread.length === 0) return original\n let thread: $Typed<ThreadViewPost> = original\n for (const record of inThread) {\n thread = await insertIntoThreadReplies(localViewer, thread, record)\n }\n return thread\n}\n\nconst findPostsInThread = (\n thread: ThreadViewPost,\n posts: RecordDescript<PostRecord>[],\n): RecordDescript<PostRecord>[] => {\n return posts.filter((post) => {\n const rootUri = post.record.reply?.root.uri\n if (!rootUri) return false\n if (rootUri === thread.post.uri) return true\n return (thread.post.record as PostRecord).reply?.root.uri === rootUri\n })\n}\n\nconst insertIntoThreadReplies = async (\n localViewer: LocalViewer,\n view: $Typed<ThreadViewPost>,\n descript: RecordDescript<PostRecord>,\n): Promise<$Typed<ThreadViewPost>> => {\n if (descript.record.reply?.parent.uri === view.post.uri) {\n const postView = await threadPostView(localViewer, descript)\n if (!postView) return view\n const replies = [postView, ...(view.replies ?? [])]\n return {\n ...view,\n replies,\n }\n }\n if (!view.replies) return view\n const replies = await Promise.all(\n view.replies.map(async (reply) =>\n isThreadViewPost(reply)\n ? await insertIntoThreadReplies(localViewer, reply, descript)\n : reply,\n ),\n )\n return {\n ...view,\n replies,\n }\n}\n\nconst threadPostView = async (\n localViewer: LocalViewer,\n descript: RecordDescript<PostRecord>,\n): Promise<$Typed<ThreadViewPost> | null> => {\n const postView = await localViewer.getPost(descript)\n if (!postView) return null\n return {\n $type: 'app.bsky.feed.defs#threadViewPost',\n post: postView,\n }\n}\n\n// Read after write on error\n// ---------------------\n\nconst readAfterWriteNotFound = async (\n ctx: AppContext,\n localViewer: LocalViewer,\n params: QueryParams,\n requester: string,\n rev: string,\n resolvedUri: AtUri,\n): Promise<{ data: OutputSchema; lag?: number } | null> => {\n if (resolvedUri.hostname !== requester) {\n return null\n }\n const local = await localViewer.getRecordsSinceRev(rev)\n const found = local.posts.find(\n (p) => p.uri.toString() === resolvedUri.toString(),\n )\n if (!found) return null\n let thread = await threadPostView(localViewer, found)\n if (!thread) return null\n const rest = local.posts.filter(\n (p) => p.uri.toString() !== resolvedUri.toString(),\n )\n thread = await addPostsToThread(localViewer, thread, rest)\n const highestParent = getHighestParent(thread)\n if (highestParent) {\n try {\n assert(ctx.bskyAppView)\n const parentsRes =\n await ctx.bskyAppView.agent.app.bsky.feed.getPostThread(\n { uri: highestParent, parentHeight: params.parentHeight, depth: 0 },\n await ctx.appviewAuthHeaders(requester, ids.AppBskyFeedGetPostThread),\n )\n thread.parent = parentsRes.data.thread\n } catch (err) {\n // do nothing\n }\n }\n return {\n data: {\n thread,\n },\n lag: getLocalLag(local),\n }\n}\n\nconst getHighestParent = (thread: ThreadViewPost): string | undefined => {\n if (isThreadViewPost(thread.parent)) {\n return getHighestParent(thread.parent)\n } else {\n return (thread.post.record as PostRecord).reply?.parent.uri\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getTimeline.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getTimeline.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,sBAAsB,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAC5B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACI,EAAE;IACzB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,0BAA0B,CACvD,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,KAAK,CACZ,CAAA;IACD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getTimeline.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/getTimeline.ts"],"names":[],"mappings":";;AAWA,4BAeC;AAxBD,2DAAkD;AAElD,yDAAwD;AACxD,mEAIqC;AAErC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAM;IAE5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;YACnC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,cAAG,CAAC,sBAAsB,CAAA;gBACtC,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACzC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,IAAA,4CAAyB,EAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAC5B,WAAwB,EACxB,QAAsB,EACtB,KAAmB,EACI,EAAE;IACzB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,0BAA0B,CACvD,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,KAAK,CACZ,CAAA;IACD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport { ids } from '../../../../lexicon/lexicons'\nimport { OutputSchema } from '../../../../lexicon/types/app/bsky/feed/getTimeline'\nimport { computeProxyTo } from '../../../../pipethrough'\nimport {\n LocalRecords,\n LocalViewer,\n pipethroughReadAfterWrite,\n} from '../../../../read-after-write'\n\nexport default function (server: Server, ctx: AppContext) {\n if (!ctx.bskyAppView) return\n\n server.app.bsky.feed.getTimeline({\n auth: ctx.authVerifier.authorization({\n authorize: (permissions, { req }) => {\n const lxm = ids.AppBskyFeedGetTimeline\n const aud = computeProxyTo(ctx, req, lxm)\n permissions.assertRpc({ aud, lxm })\n },\n }),\n handler: async (reqCtx) => {\n return pipethroughReadAfterWrite(ctx, reqCtx, getTimelineMunge)\n },\n })\n}\n\nconst getTimelineMunge = async (\n localViewer: LocalViewer,\n original: OutputSchema,\n local: LocalRecords,\n): Promise<OutputSchema> => {\n const feed = await localViewer.formatAndInsertPostsInFeed(\n [...original.feed],\n local.posts,\n )\n return {\n ...original,\n feed,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/index.ts"],"names":[],"mappings":";;;;;AAQA,4BAMC;AAZD,oEAA2C;AAC3C,oEAA2C;AAC3C,wDAA+B;AAC/B,oEAA2C;AAC3C,gEAAuC;AAEvC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,iBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/index.ts"],"names":[],"mappings":";;;;;AAQA,4BAMC;AAZD,oEAA2C;AAC3C,oEAA2C;AAC3C,wDAA+B;AAC/B,oEAA2C;AAC3C,gEAAuC;AAEvC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,iBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1B,CAAC","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport getActorLikes from './getActorLikes'\nimport getAuthorFeed from './getAuthorFeed'\nimport getFeed from './getFeed'\nimport getPostThread from './getPostThread'\nimport getTimeline from './getTimeline'\n\nexport default function (server: Server, ctx: AppContext) {\n getActorLikes(server, ctx)\n getAuthorFeed(server, ctx)\n getFeed(server, ctx)\n getPostThread(server, ctx)\n getTimeline(server, ctx)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/app/bsky/index.ts"],"names":[],"mappings":";;;;;AAMA,4BAIC;AARD,oDAA2B;AAC3B,kDAAyB;AACzB,kEAAyC;AAEzC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,eAAK,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClB,IAAA,cAAI,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjB,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/app/bsky/index.ts"],"names":[],"mappings":";;;;;AAMA,4BAIC;AARD,oDAA2B;AAC3B,kDAAyB;AACzB,kEAAyC;AAEzC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,eAAK,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClB,IAAA,cAAI,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjB,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import { AppContext } from '../../../context'\nimport { Server } from '../../../lexicon'\nimport actor from './actor'\nimport feed from './feed'\nimport notification from './notification'\n\nexport default function (server: Server, ctx: AppContext) {\n actor(server, ctx)\n feed(server, ctx)\n notification(server, ctx)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/notification/index.ts"],"names":[],"mappings":";;;;;AAIA,4BAEC;AAJD,kEAAyC;AAEzC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/notification/index.ts"],"names":[],"mappings":";;;;;AAIA,4BAEC;AAJD,kEAAyC;AAEzC,mBAAyB,MAAc,EAAE,GAAe;IACtD,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import { AppContext } from '../../../../context'\nimport { Server } from '../../../../lexicon'\nimport registerPush from './registerPush'\n\nexport default function (server: Server, ctx: AppContext) {\n registerPush(server, ctx)\n}\n"]}