@atproto/pds 0.4.91 → 0.4.93

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 (763) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/bin/migration-create.ts +2 -2
  3. package/dist/account-manager/db/index.d.ts.map +1 -1
  4. package/dist/account-manager/db/index.js.map +1 -1
  5. package/dist/account-manager/db/schema/authorization-request.d.ts +1 -1
  6. package/dist/account-manager/db/schema/authorization-request.d.ts.map +1 -1
  7. package/dist/account-manager/db/schema/device.d.ts +1 -1
  8. package/dist/account-manager/db/schema/device.d.ts.map +1 -1
  9. package/dist/account-manager/db/schema/index.d.ts +7 -7
  10. package/dist/account-manager/db/schema/index.d.ts.map +1 -1
  11. package/dist/account-manager/db/schema/token.d.ts +1 -1
  12. package/dist/account-manager/db/schema/token.d.ts.map +1 -1
  13. package/dist/account-manager/db/schema/token.js.map +1 -1
  14. package/dist/account-manager/db/schema/used-refresh-token.d.ts +1 -1
  15. package/dist/account-manager/db/schema/used-refresh-token.d.ts.map +1 -1
  16. package/dist/account-manager/helpers/account.d.ts +8 -8
  17. package/dist/account-manager/helpers/account.d.ts.map +1 -1
  18. package/dist/account-manager/helpers/account.js +1 -1
  19. package/dist/account-manager/helpers/account.js.map +1 -1
  20. package/dist/account-manager/helpers/authorization-request.d.ts +1 -1
  21. package/dist/account-manager/helpers/authorization-request.d.ts.map +1 -1
  22. package/dist/account-manager/helpers/device-account.d.ts +37 -37
  23. package/dist/account-manager/helpers/device-account.d.ts.map +1 -1
  24. package/dist/account-manager/helpers/device-account.js.map +1 -1
  25. package/dist/account-manager/helpers/device.d.ts +2 -2
  26. package/dist/account-manager/helpers/device.d.ts.map +1 -1
  27. package/dist/account-manager/helpers/email-token.js +1 -1
  28. package/dist/account-manager/helpers/email-token.js.map +1 -1
  29. package/dist/account-manager/helpers/invite.d.ts.map +1 -1
  30. package/dist/account-manager/helpers/invite.js.map +1 -1
  31. package/dist/account-manager/helpers/password.d.ts +1 -1
  32. package/dist/account-manager/helpers/password.d.ts.map +1 -1
  33. package/dist/account-manager/helpers/password.js.map +1 -1
  34. package/dist/account-manager/helpers/scrypt.js +6 -6
  35. package/dist/account-manager/helpers/scrypt.js.map +1 -1
  36. package/dist/account-manager/helpers/token.d.ts +201 -201
  37. package/dist/account-manager/helpers/token.d.ts.map +1 -1
  38. package/dist/account-manager/index.d.ts +8 -3
  39. package/dist/account-manager/index.d.ts.map +1 -1
  40. package/dist/account-manager/index.js +34 -5
  41. package/dist/account-manager/index.js.map +1 -1
  42. package/dist/actor-store/actor-store-reader.d.ts +19 -0
  43. package/dist/actor-store/actor-store-reader.d.ts.map +1 -0
  44. package/dist/actor-store/actor-store-reader.js +69 -0
  45. package/dist/actor-store/actor-store-reader.js.map +1 -0
  46. package/dist/actor-store/actor-store-resources.d.ts +8 -0
  47. package/dist/actor-store/actor-store-resources.d.ts.map +1 -0
  48. package/dist/actor-store/actor-store-resources.js +3 -0
  49. package/dist/actor-store/actor-store-resources.js.map +1 -0
  50. package/dist/actor-store/actor-store-transactor.d.ts +17 -0
  51. package/dist/actor-store/actor-store-transactor.d.ts.map +1 -0
  52. package/dist/actor-store/actor-store-transactor.js +58 -0
  53. package/dist/actor-store/actor-store-transactor.js.map +1 -0
  54. package/dist/actor-store/actor-store-writer.d.ts +5 -0
  55. package/dist/actor-store/actor-store-writer.d.ts.map +1 -0
  56. package/dist/actor-store/actor-store-writer.js +14 -0
  57. package/dist/actor-store/actor-store-writer.js.map +1 -0
  58. package/dist/actor-store/actor-store.d.ts +33 -0
  59. package/dist/actor-store/actor-store.d.ts.map +1 -0
  60. package/dist/actor-store/{index.js → actor-store.js} +37 -82
  61. package/dist/actor-store/actor-store.js.map +1 -0
  62. package/dist/actor-store/blob/reader.d.ts +4 -2
  63. package/dist/actor-store/blob/reader.d.ts.map +1 -1
  64. package/dist/actor-store/blob/reader.js +14 -0
  65. package/dist/actor-store/blob/reader.js.map +1 -1
  66. package/dist/actor-store/blob/transactor.d.ts +6 -5
  67. package/dist/actor-store/blob/transactor.d.ts.map +1 -1
  68. package/dist/actor-store/blob/transactor.js +18 -5
  69. package/dist/actor-store/blob/transactor.js.map +1 -1
  70. package/dist/actor-store/db/index.d.ts +1 -1
  71. package/dist/actor-store/db/index.d.ts.map +1 -1
  72. package/dist/actor-store/db/index.js.map +1 -1
  73. package/dist/actor-store/db/schema/index.d.ts +3 -3
  74. package/dist/actor-store/db/schema/index.d.ts.map +1 -1
  75. package/dist/actor-store/migrate.d.ts +1 -1
  76. package/dist/actor-store/migrate.d.ts.map +1 -1
  77. package/dist/actor-store/migrate.js.map +1 -1
  78. package/dist/actor-store/preference/transactor.d.ts +1 -1
  79. package/dist/actor-store/preference/transactor.d.ts.map +1 -1
  80. package/dist/actor-store/preference/transactor.js.map +1 -1
  81. package/dist/actor-store/record/reader.d.ts +18 -6
  82. package/dist/actor-store/record/reader.d.ts.map +1 -1
  83. package/dist/actor-store/record/reader.js +104 -2
  84. package/dist/actor-store/record/reader.js.map +1 -1
  85. package/dist/actor-store/record/transactor.d.ts +3 -3
  86. package/dist/actor-store/record/transactor.d.ts.map +1 -1
  87. package/dist/actor-store/record/transactor.js.map +1 -1
  88. package/dist/actor-store/repo/reader.d.ts +1 -1
  89. package/dist/actor-store/repo/reader.d.ts.map +1 -1
  90. package/dist/actor-store/repo/reader.js +1 -1
  91. package/dist/actor-store/repo/reader.js.map +1 -1
  92. package/dist/actor-store/repo/sql-repo-reader.d.ts +2 -2
  93. package/dist/actor-store/repo/sql-repo-reader.d.ts.map +1 -1
  94. package/dist/actor-store/repo/sql-repo-reader.js +6 -5
  95. package/dist/actor-store/repo/sql-repo-reader.js.map +1 -1
  96. package/dist/actor-store/repo/sql-repo-transactor.d.ts +1 -1
  97. package/dist/actor-store/repo/sql-repo-transactor.d.ts.map +1 -1
  98. package/dist/actor-store/repo/sql-repo-transactor.js +2 -2
  99. package/dist/actor-store/repo/sql-repo-transactor.js.map +1 -1
  100. package/dist/actor-store/repo/transactor.d.ts +7 -6
  101. package/dist/actor-store/repo/transactor.d.ts.map +1 -1
  102. package/dist/actor-store/repo/transactor.js +22 -15
  103. package/dist/actor-store/repo/transactor.js.map +1 -1
  104. package/dist/api/app/bsky/actor/getPreferences.d.ts +1 -1
  105. package/dist/api/app/bsky/actor/getPreferences.d.ts.map +1 -1
  106. package/dist/api/app/bsky/actor/getPreferences.js +1 -1
  107. package/dist/api/app/bsky/actor/getPreferences.js.map +1 -1
  108. package/dist/api/app/bsky/actor/getProfile.d.ts +1 -1
  109. package/dist/api/app/bsky/actor/getProfile.d.ts.map +1 -1
  110. package/dist/api/app/bsky/actor/getProfile.js +1 -2
  111. package/dist/api/app/bsky/actor/getProfile.js.map +1 -1
  112. package/dist/api/app/bsky/actor/getProfiles.d.ts +1 -1
  113. package/dist/api/app/bsky/actor/getProfiles.d.ts.map +1 -1
  114. package/dist/api/app/bsky/actor/getProfiles.js +1 -2
  115. package/dist/api/app/bsky/actor/getProfiles.js.map +1 -1
  116. package/dist/api/app/bsky/actor/index.d.ts +1 -1
  117. package/dist/api/app/bsky/actor/index.d.ts.map +1 -1
  118. package/dist/api/app/bsky/actor/index.js.map +1 -1
  119. package/dist/api/app/bsky/actor/putPreferences.d.ts +1 -1
  120. package/dist/api/app/bsky/actor/putPreferences.d.ts.map +1 -1
  121. package/dist/api/app/bsky/actor/putPreferences.js +1 -1
  122. package/dist/api/app/bsky/actor/putPreferences.js.map +1 -1
  123. package/dist/api/app/bsky/feed/getActorLikes.d.ts +1 -1
  124. package/dist/api/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  125. package/dist/api/app/bsky/feed/getActorLikes.js +1 -2
  126. package/dist/api/app/bsky/feed/getActorLikes.js.map +1 -1
  127. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts +1 -1
  128. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  129. package/dist/api/app/bsky/feed/getAuthorFeed.js +1 -2
  130. package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
  131. package/dist/api/app/bsky/feed/getFeed.d.ts +1 -1
  132. package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
  133. package/dist/api/app/bsky/feed/getFeed.js +6 -7
  134. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  135. package/dist/api/app/bsky/feed/getPostThread.d.ts +1 -1
  136. package/dist/api/app/bsky/feed/getPostThread.d.ts.map +1 -1
  137. package/dist/api/app/bsky/feed/getPostThread.js +4 -5
  138. package/dist/api/app/bsky/feed/getPostThread.js.map +1 -1
  139. package/dist/api/app/bsky/feed/getTimeline.d.ts +1 -1
  140. package/dist/api/app/bsky/feed/getTimeline.d.ts.map +1 -1
  141. package/dist/api/app/bsky/feed/getTimeline.js +1 -2
  142. package/dist/api/app/bsky/feed/getTimeline.js.map +1 -1
  143. package/dist/api/app/bsky/feed/index.d.ts +1 -1
  144. package/dist/api/app/bsky/feed/index.d.ts.map +1 -1
  145. package/dist/api/app/bsky/index.d.ts +1 -1
  146. package/dist/api/app/bsky/index.d.ts.map +1 -1
  147. package/dist/api/app/bsky/notification/index.d.ts +1 -1
  148. package/dist/api/app/bsky/notification/index.d.ts.map +1 -1
  149. package/dist/api/app/bsky/notification/registerPush.d.ts +1 -1
  150. package/dist/api/app/bsky/notification/registerPush.d.ts.map +1 -1
  151. package/dist/api/app/bsky/notification/registerPush.js +6 -6
  152. package/dist/api/app/bsky/notification/registerPush.js.map +1 -1
  153. package/dist/api/app/bsky/util/resolver.d.ts +1 -1
  154. package/dist/api/app/bsky/util/resolver.d.ts.map +1 -1
  155. package/dist/api/app/bsky/util/resolver.js.map +1 -1
  156. package/dist/api/com/atproto/admin/deleteAccount.d.ts +1 -1
  157. package/dist/api/com/atproto/admin/deleteAccount.d.ts.map +1 -1
  158. package/dist/api/com/atproto/admin/deleteAccount.js.map +1 -1
  159. package/dist/api/com/atproto/admin/disableAccountInvites.d.ts +1 -1
  160. package/dist/api/com/atproto/admin/disableAccountInvites.d.ts.map +1 -1
  161. package/dist/api/com/atproto/admin/disableInviteCodes.d.ts +1 -1
  162. package/dist/api/com/atproto/admin/disableInviteCodes.d.ts.map +1 -1
  163. package/dist/api/com/atproto/admin/enableAccountInvites.d.ts +1 -1
  164. package/dist/api/com/atproto/admin/enableAccountInvites.d.ts.map +1 -1
  165. package/dist/api/com/atproto/admin/getAccountInfo.d.ts +1 -1
  166. package/dist/api/com/atproto/admin/getAccountInfo.d.ts.map +1 -1
  167. package/dist/api/com/atproto/admin/getAccountInfo.js.map +1 -1
  168. package/dist/api/com/atproto/admin/getAccountInfos.d.ts +1 -1
  169. package/dist/api/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
  170. package/dist/api/com/atproto/admin/getInviteCodes.d.ts +2 -2
  171. package/dist/api/com/atproto/admin/getInviteCodes.d.ts.map +1 -1
  172. package/dist/api/com/atproto/admin/getInviteCodes.js +1 -1
  173. package/dist/api/com/atproto/admin/getInviteCodes.js.map +1 -1
  174. package/dist/api/com/atproto/admin/getSubjectStatus.d.ts +1 -1
  175. package/dist/api/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
  176. package/dist/api/com/atproto/admin/index.d.ts +1 -1
  177. package/dist/api/com/atproto/admin/index.d.ts.map +1 -1
  178. package/dist/api/com/atproto/admin/index.js +8 -8
  179. package/dist/api/com/atproto/admin/index.js.map +1 -1
  180. package/dist/api/com/atproto/admin/sendEmail.d.ts +1 -1
  181. package/dist/api/com/atproto/admin/sendEmail.d.ts.map +1 -1
  182. package/dist/api/com/atproto/admin/sendEmail.js +1 -1
  183. package/dist/api/com/atproto/admin/sendEmail.js.map +1 -1
  184. package/dist/api/com/atproto/admin/updateAccountEmail.d.ts +1 -1
  185. package/dist/api/com/atproto/admin/updateAccountEmail.d.ts.map +1 -1
  186. package/dist/api/com/atproto/admin/updateAccountHandle.d.ts +1 -1
  187. package/dist/api/com/atproto/admin/updateAccountHandle.d.ts.map +1 -1
  188. package/dist/api/com/atproto/admin/updateAccountHandle.js.map +1 -1
  189. package/dist/api/com/atproto/admin/updateAccountPassword.d.ts +1 -1
  190. package/dist/api/com/atproto/admin/updateAccountPassword.d.ts.map +1 -1
  191. package/dist/api/com/atproto/admin/updateSubjectStatus.d.ts +1 -1
  192. package/dist/api/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  193. package/dist/api/com/atproto/admin/updateSubjectStatus.js +1 -1
  194. package/dist/api/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  195. package/dist/api/com/atproto/admin/util.d.ts.map +1 -1
  196. package/dist/api/com/atproto/admin/util.js.map +1 -1
  197. package/dist/api/com/atproto/identity/getRecommendedDidCredentials.d.ts +1 -1
  198. package/dist/api/com/atproto/identity/getRecommendedDidCredentials.d.ts.map +1 -1
  199. package/dist/api/com/atproto/identity/index.d.ts +1 -1
  200. package/dist/api/com/atproto/identity/index.d.ts.map +1 -1
  201. package/dist/api/com/atproto/identity/index.js +2 -2
  202. package/dist/api/com/atproto/identity/index.js.map +1 -1
  203. package/dist/api/com/atproto/identity/requestPlcOperationSignature.d.ts +1 -1
  204. package/dist/api/com/atproto/identity/requestPlcOperationSignature.d.ts.map +1 -1
  205. package/dist/api/com/atproto/identity/requestPlcOperationSignature.js +1 -1
  206. package/dist/api/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
  207. package/dist/api/com/atproto/identity/resolveHandle.d.ts +1 -1
  208. package/dist/api/com/atproto/identity/resolveHandle.d.ts.map +1 -1
  209. package/dist/api/com/atproto/identity/resolveHandle.js +11 -14
  210. package/dist/api/com/atproto/identity/resolveHandle.js.map +1 -1
  211. package/dist/api/com/atproto/identity/signPlcOperation.d.ts +1 -1
  212. package/dist/api/com/atproto/identity/signPlcOperation.d.ts.map +1 -1
  213. package/dist/api/com/atproto/identity/signPlcOperation.js +1 -1
  214. package/dist/api/com/atproto/identity/signPlcOperation.js.map +1 -1
  215. package/dist/api/com/atproto/identity/submitPlcOperation.d.ts +1 -1
  216. package/dist/api/com/atproto/identity/submitPlcOperation.d.ts.map +1 -1
  217. package/dist/api/com/atproto/identity/submitPlcOperation.js.map +1 -1
  218. package/dist/api/com/atproto/identity/updateHandle.d.ts +1 -1
  219. package/dist/api/com/atproto/identity/updateHandle.d.ts.map +1 -1
  220. package/dist/api/com/atproto/identity/updateHandle.js +2 -2
  221. package/dist/api/com/atproto/identity/updateHandle.js.map +1 -1
  222. package/dist/api/com/atproto/index.d.ts +1 -1
  223. package/dist/api/com/atproto/index.d.ts.map +1 -1
  224. package/dist/api/com/atproto/moderation/createReport.d.ts +1 -1
  225. package/dist/api/com/atproto/moderation/createReport.d.ts.map +1 -1
  226. package/dist/api/com/atproto/moderation/createReport.js +2 -2
  227. package/dist/api/com/atproto/moderation/createReport.js.map +1 -1
  228. package/dist/api/com/atproto/moderation/index.d.ts +1 -1
  229. package/dist/api/com/atproto/moderation/index.d.ts.map +1 -1
  230. package/dist/api/com/atproto/repo/applyWrites.d.ts +1 -1
  231. package/dist/api/com/atproto/repo/applyWrites.d.ts.map +1 -1
  232. package/dist/api/com/atproto/repo/applyWrites.js +4 -5
  233. package/dist/api/com/atproto/repo/applyWrites.js.map +1 -1
  234. package/dist/api/com/atproto/repo/createRecord.d.ts +1 -1
  235. package/dist/api/com/atproto/repo/createRecord.d.ts.map +1 -1
  236. package/dist/api/com/atproto/repo/createRecord.js +3 -4
  237. package/dist/api/com/atproto/repo/createRecord.js.map +1 -1
  238. package/dist/api/com/atproto/repo/deleteRecord.d.ts +1 -1
  239. package/dist/api/com/atproto/repo/deleteRecord.d.ts.map +1 -1
  240. package/dist/api/com/atproto/repo/deleteRecord.js +3 -4
  241. package/dist/api/com/atproto/repo/deleteRecord.js.map +1 -1
  242. package/dist/api/com/atproto/repo/describeRepo.d.ts +1 -1
  243. package/dist/api/com/atproto/repo/describeRepo.d.ts.map +1 -1
  244. package/dist/api/com/atproto/repo/describeRepo.js +1 -1
  245. package/dist/api/com/atproto/repo/describeRepo.js.map +1 -1
  246. package/dist/api/com/atproto/repo/getRecord.d.ts +1 -1
  247. package/dist/api/com/atproto/repo/getRecord.d.ts.map +1 -1
  248. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  249. package/dist/api/com/atproto/repo/importRepo.d.ts +2 -2
  250. package/dist/api/com/atproto/repo/importRepo.d.ts.map +1 -1
  251. package/dist/api/com/atproto/repo/importRepo.js +6 -22
  252. package/dist/api/com/atproto/repo/importRepo.js.map +1 -1
  253. package/dist/api/com/atproto/repo/index.d.ts +1 -1
  254. package/dist/api/com/atproto/repo/index.d.ts.map +1 -1
  255. package/dist/api/com/atproto/repo/index.js +2 -2
  256. package/dist/api/com/atproto/repo/index.js.map +1 -1
  257. package/dist/api/com/atproto/repo/listMissingBlobs.d.ts +1 -1
  258. package/dist/api/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
  259. package/dist/api/com/atproto/repo/listRecords.d.ts +1 -1
  260. package/dist/api/com/atproto/repo/listRecords.d.ts.map +1 -1
  261. package/dist/api/com/atproto/repo/listRecords.js +1 -1
  262. package/dist/api/com/atproto/repo/listRecords.js.map +1 -1
  263. package/dist/api/com/atproto/repo/putRecord.d.ts +1 -1
  264. package/dist/api/com/atproto/repo/putRecord.d.ts.map +1 -1
  265. package/dist/api/com/atproto/repo/putRecord.js +5 -6
  266. package/dist/api/com/atproto/repo/putRecord.js.map +1 -1
  267. package/dist/api/com/atproto/repo/uploadBlob.d.ts +1 -1
  268. package/dist/api/com/atproto/repo/uploadBlob.d.ts.map +1 -1
  269. package/dist/api/com/atproto/server/activateAccount.d.ts +1 -1
  270. package/dist/api/com/atproto/server/activateAccount.d.ts.map +1 -1
  271. package/dist/api/com/atproto/server/activateAccount.js +1 -1
  272. package/dist/api/com/atproto/server/activateAccount.js.map +1 -1
  273. package/dist/api/com/atproto/server/checkAccountStatus.d.ts +1 -1
  274. package/dist/api/com/atproto/server/checkAccountStatus.d.ts.map +1 -1
  275. package/dist/api/com/atproto/server/confirmEmail.d.ts +1 -1
  276. package/dist/api/com/atproto/server/confirmEmail.d.ts.map +1 -1
  277. package/dist/api/com/atproto/server/confirmEmail.js.map +1 -1
  278. package/dist/api/com/atproto/server/createAccount.d.ts +1 -1
  279. package/dist/api/com/atproto/server/createAccount.d.ts.map +1 -1
  280. package/dist/api/com/atproto/server/createAccount.js +5 -5
  281. package/dist/api/com/atproto/server/createAccount.js.map +1 -1
  282. package/dist/api/com/atproto/server/createAppPassword.d.ts +1 -1
  283. package/dist/api/com/atproto/server/createAppPassword.d.ts.map +1 -1
  284. package/dist/api/com/atproto/server/createAppPassword.js.map +1 -1
  285. package/dist/api/com/atproto/server/createInviteCode.d.ts +1 -1
  286. package/dist/api/com/atproto/server/createInviteCode.d.ts.map +1 -1
  287. package/dist/api/com/atproto/server/createInviteCodes.d.ts +1 -1
  288. package/dist/api/com/atproto/server/createInviteCodes.d.ts.map +1 -1
  289. package/dist/api/com/atproto/server/createInviteCodes.js.map +1 -1
  290. package/dist/api/com/atproto/server/createSession.d.ts +1 -1
  291. package/dist/api/com/atproto/server/createSession.d.ts.map +1 -1
  292. package/dist/api/com/atproto/server/createSession.js.map +1 -1
  293. package/dist/api/com/atproto/server/deactivateAccount.d.ts +1 -1
  294. package/dist/api/com/atproto/server/deactivateAccount.d.ts.map +1 -1
  295. package/dist/api/com/atproto/server/deleteAccount.d.ts +1 -1
  296. package/dist/api/com/atproto/server/deleteAccount.d.ts.map +1 -1
  297. package/dist/api/com/atproto/server/deleteAccount.js +1 -1
  298. package/dist/api/com/atproto/server/deleteAccount.js.map +1 -1
  299. package/dist/api/com/atproto/server/deleteSession.d.ts +1 -1
  300. package/dist/api/com/atproto/server/deleteSession.d.ts.map +1 -1
  301. package/dist/api/com/atproto/server/describeServer.d.ts +1 -1
  302. package/dist/api/com/atproto/server/describeServer.d.ts.map +1 -1
  303. package/dist/api/com/atproto/server/getAccountInviteCodes.d.ts +1 -1
  304. package/dist/api/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
  305. package/dist/api/com/atproto/server/getAccountInviteCodes.js +1 -1
  306. package/dist/api/com/atproto/server/getAccountInviteCodes.js.map +1 -1
  307. package/dist/api/com/atproto/server/getServiceAuth.d.ts +1 -1
  308. package/dist/api/com/atproto/server/getServiceAuth.d.ts.map +1 -1
  309. package/dist/api/com/atproto/server/getServiceAuth.js +2 -2
  310. package/dist/api/com/atproto/server/getServiceAuth.js.map +1 -1
  311. package/dist/api/com/atproto/server/getSession.d.ts +1 -1
  312. package/dist/api/com/atproto/server/getSession.d.ts.map +1 -1
  313. package/dist/api/com/atproto/server/getSession.js +2 -2
  314. package/dist/api/com/atproto/server/getSession.js.map +1 -1
  315. package/dist/api/com/atproto/server/index.d.ts +1 -1
  316. package/dist/api/com/atproto/server/index.d.ts.map +1 -1
  317. package/dist/api/com/atproto/server/index.js +17 -17
  318. package/dist/api/com/atproto/server/index.js.map +1 -1
  319. package/dist/api/com/atproto/server/listAppPasswords.d.ts +1 -1
  320. package/dist/api/com/atproto/server/listAppPasswords.d.ts.map +1 -1
  321. package/dist/api/com/atproto/server/listAppPasswords.js.map +1 -1
  322. package/dist/api/com/atproto/server/refreshSession.d.ts +1 -1
  323. package/dist/api/com/atproto/server/refreshSession.d.ts.map +1 -1
  324. package/dist/api/com/atproto/server/refreshSession.js +1 -1
  325. package/dist/api/com/atproto/server/refreshSession.js.map +1 -1
  326. package/dist/api/com/atproto/server/requestAccountDelete.d.ts +1 -1
  327. package/dist/api/com/atproto/server/requestAccountDelete.d.ts.map +1 -1
  328. package/dist/api/com/atproto/server/requestAccountDelete.js.map +1 -1
  329. package/dist/api/com/atproto/server/requestEmailConfirmation.d.ts +1 -1
  330. package/dist/api/com/atproto/server/requestEmailConfirmation.d.ts.map +1 -1
  331. package/dist/api/com/atproto/server/requestEmailConfirmation.js.map +1 -1
  332. package/dist/api/com/atproto/server/requestEmailUpdate.d.ts +1 -1
  333. package/dist/api/com/atproto/server/requestEmailUpdate.d.ts.map +1 -1
  334. package/dist/api/com/atproto/server/requestEmailUpdate.js +1 -1
  335. package/dist/api/com/atproto/server/requestEmailUpdate.js.map +1 -1
  336. package/dist/api/com/atproto/server/requestPasswordReset.d.ts +1 -1
  337. package/dist/api/com/atproto/server/requestPasswordReset.d.ts.map +1 -1
  338. package/dist/api/com/atproto/server/reserveSigningKey.d.ts +1 -1
  339. package/dist/api/com/atproto/server/reserveSigningKey.d.ts.map +1 -1
  340. package/dist/api/com/atproto/server/resetPassword.d.ts +1 -1
  341. package/dist/api/com/atproto/server/resetPassword.d.ts.map +1 -1
  342. package/dist/api/com/atproto/server/resetPassword.js.map +1 -1
  343. package/dist/api/com/atproto/server/revokeAppPassword.d.ts +1 -1
  344. package/dist/api/com/atproto/server/revokeAppPassword.d.ts.map +1 -1
  345. package/dist/api/com/atproto/server/revokeAppPassword.js.map +1 -1
  346. package/dist/api/com/atproto/server/updateEmail.d.ts +1 -1
  347. package/dist/api/com/atproto/server/updateEmail.d.ts.map +1 -1
  348. package/dist/api/com/atproto/server/updateEmail.js +1 -1
  349. package/dist/api/com/atproto/server/updateEmail.js.map +1 -1
  350. package/dist/api/com/atproto/server/util.d.ts +1 -1
  351. package/dist/api/com/atproto/server/util.d.ts.map +1 -1
  352. package/dist/api/com/atproto/server/util.js +2 -2
  353. package/dist/api/com/atproto/server/util.js.map +1 -1
  354. package/dist/api/com/atproto/sync/deprecated/getCheckout.d.ts +1 -1
  355. package/dist/api/com/atproto/sync/deprecated/getCheckout.d.ts.map +1 -1
  356. package/dist/api/com/atproto/sync/deprecated/getHead.d.ts +1 -1
  357. package/dist/api/com/atproto/sync/deprecated/getHead.d.ts.map +1 -1
  358. package/dist/api/com/atproto/sync/getBlob.d.ts +1 -1
  359. package/dist/api/com/atproto/sync/getBlob.d.ts.map +1 -1
  360. package/dist/api/com/atproto/sync/getBlob.js +2 -2
  361. package/dist/api/com/atproto/sync/getBlob.js.map +1 -1
  362. package/dist/api/com/atproto/sync/getBlocks.d.ts +1 -1
  363. package/dist/api/com/atproto/sync/getBlocks.d.ts.map +1 -1
  364. package/dist/api/com/atproto/sync/getBlocks.js +1 -1
  365. package/dist/api/com/atproto/sync/getBlocks.js.map +1 -1
  366. package/dist/api/com/atproto/sync/getLatestCommit.d.ts +1 -1
  367. package/dist/api/com/atproto/sync/getLatestCommit.d.ts.map +1 -1
  368. package/dist/api/com/atproto/sync/getRecord.d.ts +1 -1
  369. package/dist/api/com/atproto/sync/getRecord.d.ts.map +1 -1
  370. package/dist/api/com/atproto/sync/getRecord.js +1 -1
  371. package/dist/api/com/atproto/sync/getRecord.js.map +1 -1
  372. package/dist/api/com/atproto/sync/getRepo.d.ts +2 -2
  373. package/dist/api/com/atproto/sync/getRepo.d.ts.map +1 -1
  374. package/dist/api/com/atproto/sync/getRepo.js +1 -1
  375. package/dist/api/com/atproto/sync/getRepo.js.map +1 -1
  376. package/dist/api/com/atproto/sync/getRepoStatus.d.ts +1 -1
  377. package/dist/api/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
  378. package/dist/api/com/atproto/sync/getRepoStatus.js +1 -1
  379. package/dist/api/com/atproto/sync/getRepoStatus.js.map +1 -1
  380. package/dist/api/com/atproto/sync/index.d.ts +1 -1
  381. package/dist/api/com/atproto/sync/index.d.ts.map +1 -1
  382. package/dist/api/com/atproto/sync/index.js +4 -4
  383. package/dist/api/com/atproto/sync/index.js.map +1 -1
  384. package/dist/api/com/atproto/sync/listBlobs.d.ts +1 -1
  385. package/dist/api/com/atproto/sync/listBlobs.d.ts.map +1 -1
  386. package/dist/api/com/atproto/sync/listBlobs.js +1 -1
  387. package/dist/api/com/atproto/sync/listBlobs.js.map +1 -1
  388. package/dist/api/com/atproto/sync/listRepos.d.ts +2 -2
  389. package/dist/api/com/atproto/sync/listRepos.d.ts.map +1 -1
  390. package/dist/api/com/atproto/sync/listRepos.js +1 -1
  391. package/dist/api/com/atproto/sync/listRepos.js.map +1 -1
  392. package/dist/api/com/atproto/sync/subscribeRepos.d.ts +1 -1
  393. package/dist/api/com/atproto/sync/subscribeRepos.d.ts.map +1 -1
  394. package/dist/api/com/atproto/sync/subscribeRepos.js +2 -5
  395. package/dist/api/com/atproto/sync/subscribeRepos.js.map +1 -1
  396. package/dist/api/com/atproto/sync/util.d.ts +1 -1
  397. package/dist/api/com/atproto/sync/util.d.ts.map +1 -1
  398. package/dist/api/com/atproto/temp/checkSignupQueue.d.ts +1 -1
  399. package/dist/api/com/atproto/temp/checkSignupQueue.d.ts.map +1 -1
  400. package/dist/api/com/atproto/temp/checkSignupQueue.js +1 -1
  401. package/dist/api/com/atproto/temp/checkSignupQueue.js.map +1 -1
  402. package/dist/api/com/atproto/temp/index.d.ts +1 -1
  403. package/dist/api/com/atproto/temp/index.d.ts.map +1 -1
  404. package/dist/api/index.d.ts +1 -1
  405. package/dist/api/index.d.ts.map +1 -1
  406. package/dist/api/index.js +1 -1
  407. package/dist/api/index.js.map +1 -1
  408. package/dist/api/proxy.d.ts +1 -1
  409. package/dist/api/proxy.d.ts.map +1 -1
  410. package/dist/api/proxy.js.map +1 -1
  411. package/dist/auth-routes.d.ts +1 -1
  412. package/dist/auth-routes.d.ts.map +1 -1
  413. package/dist/auth-routes.js +1 -1
  414. package/dist/auth-routes.js.map +1 -1
  415. package/dist/auth-verifier.d.ts +1 -1
  416. package/dist/auth-verifier.d.ts.map +1 -1
  417. package/dist/auth-verifier.js +2 -2
  418. package/dist/auth-verifier.js.map +1 -1
  419. package/dist/basic-routes.d.ts +3 -3
  420. package/dist/basic-routes.d.ts.map +1 -1
  421. package/dist/basic-routes.js +2 -5
  422. package/dist/basic-routes.js.map +1 -1
  423. package/dist/bsky-app-view.d.ts +15 -0
  424. package/dist/bsky-app-view.d.ts.map +1 -0
  425. package/dist/bsky-app-view.js +43 -0
  426. package/dist/bsky-app-view.js.map +1 -0
  427. package/dist/config/config.js +1 -1
  428. package/dist/config/config.js.map +1 -1
  429. package/dist/context.d.ts +15 -15
  430. package/dist/context.d.ts.map +1 -1
  431. package/dist/context.js +30 -36
  432. package/dist/context.js.map +1 -1
  433. package/dist/crawlers.d.ts.map +1 -1
  434. package/dist/crawlers.js +1 -1
  435. package/dist/crawlers.js.map +1 -1
  436. package/dist/db/db.d.ts +2 -2
  437. package/dist/db/db.d.ts.map +1 -1
  438. package/dist/db/db.js +4 -4
  439. package/dist/db/db.js.map +1 -1
  440. package/dist/db/migrator.d.ts +1 -1
  441. package/dist/db/migrator.d.ts.map +1 -1
  442. package/dist/db/tables/moderation.d.ts +1 -1
  443. package/dist/db/tables/moderation.d.ts.map +1 -1
  444. package/dist/db/util.d.ts.map +1 -1
  445. package/dist/db/util.js +1 -1
  446. package/dist/db/util.js.map +1 -1
  447. package/dist/did-cache/db/index.d.ts.map +1 -1
  448. package/dist/did-cache/db/index.js.map +1 -1
  449. package/dist/disk-blobstore.d.ts +1 -2
  450. package/dist/disk-blobstore.d.ts.map +1 -1
  451. package/dist/disk-blobstore.js +17 -18
  452. package/dist/disk-blobstore.js.map +1 -1
  453. package/dist/error.d.ts.map +1 -1
  454. package/dist/error.js +1 -1
  455. package/dist/error.js.map +1 -1
  456. package/dist/handle/index.d.ts +1 -1
  457. package/dist/handle/index.d.ts.map +1 -1
  458. package/dist/handle/index.js +1 -1
  459. package/dist/handle/index.js.map +1 -1
  460. package/dist/image/image-url-builder.d.ts +8 -0
  461. package/dist/image/image-url-builder.d.ts.map +1 -0
  462. package/dist/image/image-url-builder.js +26 -0
  463. package/dist/image/image-url-builder.js.map +1 -0
  464. package/dist/image/index.d.ts +1 -1
  465. package/dist/image/index.d.ts.map +1 -1
  466. package/dist/image/index.js +1 -1
  467. package/dist/image/index.js.map +1 -1
  468. package/dist/index.d.ts +2 -2
  469. package/dist/index.d.ts.map +1 -1
  470. package/dist/index.js +10 -10
  471. package/dist/index.js.map +1 -1
  472. package/dist/lexicon/lexicons.d.ts +68 -4
  473. package/dist/lexicon/lexicons.d.ts.map +1 -1
  474. package/dist/lexicon/lexicons.js +39 -0
  475. package/dist/lexicon/lexicons.js.map +1 -1
  476. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +19 -1
  477. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  478. package/dist/lexicon/types/app/bsky/actor/defs.js +10 -0
  479. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  480. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts +1 -0
  481. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts.map +1 -1
  482. package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
  483. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts +8 -1
  484. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts.map +1 -1
  485. package/dist/lexicon/types/app/bsky/feed/threadgate.js +10 -0
  486. package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
  487. package/dist/logger.js +2 -5
  488. package/dist/logger.js.map +1 -1
  489. package/dist/mailer/index.d.ts.map +1 -1
  490. package/dist/mailer/index.js.map +1 -1
  491. package/dist/mailer/moderation.d.ts.map +1 -1
  492. package/dist/mailer/moderation.js.map +1 -1
  493. package/dist/oauth/provider.d.ts +1 -5
  494. package/dist/oauth/provider.d.ts.map +1 -1
  495. package/dist/oauth/provider.js +2 -6
  496. package/dist/oauth/provider.js.map +1 -1
  497. package/dist/pipethrough.d.ts +2 -2
  498. package/dist/pipethrough.d.ts.map +1 -1
  499. package/dist/pipethrough.js +1 -1
  500. package/dist/pipethrough.js.map +1 -1
  501. package/dist/read-after-write/types.d.ts +3 -3
  502. package/dist/read-after-write/types.d.ts.map +1 -1
  503. package/dist/read-after-write/util.d.ts +2 -2
  504. package/dist/read-after-write/util.d.ts.map +1 -1
  505. package/dist/read-after-write/util.js +1 -2
  506. package/dist/read-after-write/util.js.map +1 -1
  507. package/dist/read-after-write/viewer.d.ts +16 -31
  508. package/dist/read-after-write/viewer.d.ts.map +1 -1
  509. package/dist/read-after-write/viewer.js +28 -110
  510. package/dist/read-after-write/viewer.js.map +1 -1
  511. package/dist/redis.js +2 -2
  512. package/dist/redis.js.map +1 -1
  513. package/dist/repo/prepare.d.ts +2 -2
  514. package/dist/repo/prepare.d.ts.map +1 -1
  515. package/dist/repo/prepare.js +6 -6
  516. package/dist/repo/prepare.js.map +1 -1
  517. package/dist/repo/types.d.ts +2 -2
  518. package/dist/repo/types.d.ts.map +1 -1
  519. package/dist/scripts/rebuild-repo.d.ts +1 -1
  520. package/dist/scripts/rebuild-repo.d.ts.map +1 -1
  521. package/dist/scripts/rebuild-repo.js +3 -46
  522. package/dist/scripts/rebuild-repo.js.map +1 -1
  523. package/dist/sequencer/db/index.d.ts.map +1 -1
  524. package/dist/sequencer/db/index.js.map +1 -1
  525. package/dist/sequencer/events.d.ts +7 -7
  526. package/dist/sequencer/events.d.ts.map +1 -1
  527. package/dist/sequencer/events.js.map +1 -1
  528. package/dist/sequencer/outbox.d.ts +1 -2
  529. package/dist/sequencer/outbox.d.ts.map +1 -1
  530. package/dist/sequencer/outbox.js +0 -1
  531. package/dist/sequencer/outbox.js.map +1 -1
  532. package/dist/sequencer/sequencer.d.ts +4 -4
  533. package/dist/sequencer/sequencer.d.ts.map +1 -1
  534. package/dist/sequencer/sequencer.js +9 -9
  535. package/dist/sequencer/sequencer.js.map +1 -1
  536. package/dist/util/compression.js.map +1 -1
  537. package/dist/util/params.d.ts.map +1 -1
  538. package/dist/util/params.js +1 -1
  539. package/dist/util/params.js.map +1 -1
  540. package/dist/well-known.d.ts +3 -3
  541. package/dist/well-known.d.ts.map +1 -1
  542. package/dist/well-known.js +2 -5
  543. package/dist/well-known.js.map +1 -1
  544. package/package.json +21 -18
  545. package/src/account-manager/db/index.ts +1 -1
  546. package/src/account-manager/db/schema/authorization-request.ts +1 -1
  547. package/src/account-manager/db/schema/device.ts +1 -1
  548. package/src/account-manager/db/schema/index.ts +7 -7
  549. package/src/account-manager/db/schema/token.ts +1 -2
  550. package/src/account-manager/db/schema/used-refresh-token.ts +1 -1
  551. package/src/account-manager/helpers/account.ts +2 -2
  552. package/src/account-manager/helpers/authorization-request.ts +2 -2
  553. package/src/account-manager/helpers/device-account.ts +1 -2
  554. package/src/account-manager/helpers/device.ts +3 -3
  555. package/src/account-manager/helpers/email-token.ts +1 -1
  556. package/src/account-manager/helpers/invite.ts +1 -1
  557. package/src/account-manager/helpers/password.ts +2 -2
  558. package/src/account-manager/helpers/scrypt.ts +2 -2
  559. package/src/account-manager/helpers/token.ts +1 -1
  560. package/src/account-manager/index.ts +38 -8
  561. package/src/actor-store/actor-store-reader.ts +45 -0
  562. package/src/actor-store/actor-store-resources.ts +8 -0
  563. package/src/actor-store/actor-store-transactor.ts +31 -0
  564. package/src/actor-store/actor-store-writer.ts +17 -0
  565. package/src/actor-store/{index.ts → actor-store.ts} +26 -117
  566. package/src/actor-store/blob/reader.ts +17 -2
  567. package/src/actor-store/blob/transactor.ts +25 -10
  568. package/src/actor-store/db/index.ts +1 -1
  569. package/src/actor-store/db/schema/index.ts +3 -3
  570. package/src/actor-store/migrate.ts +1 -1
  571. package/src/actor-store/preference/transactor.ts +2 -2
  572. package/src/actor-store/record/reader.ts +125 -4
  573. package/src/actor-store/record/transactor.ts +3 -3
  574. package/src/actor-store/repo/reader.ts +1 -1
  575. package/src/actor-store/repo/sql-repo-reader.ts +7 -6
  576. package/src/actor-store/repo/sql-repo-transactor.ts +2 -2
  577. package/src/actor-store/repo/transactor.ts +16 -9
  578. package/src/api/app/bsky/actor/getPreferences.ts +4 -3
  579. package/src/api/app/bsky/actor/getProfile.ts +4 -4
  580. package/src/api/app/bsky/actor/getProfiles.ts +4 -4
  581. package/src/api/app/bsky/actor/index.ts +1 -2
  582. package/src/api/app/bsky/actor/putPreferences.ts +4 -3
  583. package/src/api/app/bsky/feed/getActorLikes.ts +4 -4
  584. package/src/api/app/bsky/feed/getAuthorFeed.ts +5 -5
  585. package/src/api/app/bsky/feed/getFeed.ts +8 -8
  586. package/src/api/app/bsky/feed/getPostThread.ts +14 -14
  587. package/src/api/app/bsky/feed/getTimeline.ts +4 -4
  588. package/src/api/app/bsky/feed/index.ts +1 -1
  589. package/src/api/app/bsky/index.ts +1 -1
  590. package/src/api/app/bsky/notification/index.ts +1 -1
  591. package/src/api/app/bsky/notification/registerPush.ts +9 -8
  592. package/src/api/app/bsky/util/resolver.ts +1 -1
  593. package/src/api/com/atproto/admin/deleteAccount.ts +2 -2
  594. package/src/api/com/atproto/admin/disableAccountInvites.ts +1 -1
  595. package/src/api/com/atproto/admin/disableInviteCodes.ts +1 -1
  596. package/src/api/com/atproto/admin/enableAccountInvites.ts +1 -1
  597. package/src/api/com/atproto/admin/getAccountInfo.ts +2 -3
  598. package/src/api/com/atproto/admin/getAccountInfos.ts +1 -1
  599. package/src/api/com/atproto/admin/getInviteCodes.ts +4 -4
  600. package/src/api/com/atproto/admin/getSubjectStatus.ts +1 -1
  601. package/src/api/com/atproto/admin/index.ts +9 -9
  602. package/src/api/com/atproto/admin/sendEmail.ts +2 -2
  603. package/src/api/com/atproto/admin/updateAccountEmail.ts +1 -1
  604. package/src/api/com/atproto/admin/updateAccountHandle.ts +1 -1
  605. package/src/api/com/atproto/admin/updateAccountPassword.ts +1 -1
  606. package/src/api/com/atproto/admin/updateSubjectStatus.ts +3 -3
  607. package/src/api/com/atproto/admin/util.ts +1 -1
  608. package/src/api/com/atproto/identity/getRecommendedDidCredentials.ts +1 -1
  609. package/src/api/com/atproto/identity/index.ts +3 -3
  610. package/src/api/com/atproto/identity/requestPlcOperationSignature.ts +2 -4
  611. package/src/api/com/atproto/identity/resolveHandle.ts +12 -16
  612. package/src/api/com/atproto/identity/signPlcOperation.ts +2 -4
  613. package/src/api/com/atproto/identity/submitPlcOperation.ts +2 -2
  614. package/src/api/com/atproto/identity/updateHandle.ts +3 -3
  615. package/src/api/com/atproto/index.ts +1 -1
  616. package/src/api/com/atproto/moderation/createReport.ts +4 -4
  617. package/src/api/com/atproto/moderation/index.ts +1 -1
  618. package/src/api/com/atproto/repo/applyWrites.ts +9 -7
  619. package/src/api/com/atproto/repo/createRecord.ts +4 -3
  620. package/src/api/com/atproto/repo/deleteRecord.ts +7 -4
  621. package/src/api/com/atproto/repo/describeRepo.ts +3 -3
  622. package/src/api/com/atproto/repo/getRecord.ts +2 -2
  623. package/src/api/com/atproto/repo/importRepo.ts +12 -27
  624. package/src/api/com/atproto/repo/index.ts +3 -3
  625. package/src/api/com/atproto/repo/listMissingBlobs.ts +1 -1
  626. package/src/api/com/atproto/repo/listRecords.ts +2 -2
  627. package/src/api/com/atproto/repo/putRecord.ts +8 -7
  628. package/src/api/com/atproto/repo/uploadBlob.ts +2 -2
  629. package/src/api/com/atproto/server/activateAccount.ts +2 -3
  630. package/src/api/com/atproto/server/checkAccountStatus.ts +1 -1
  631. package/src/api/com/atproto/server/confirmEmail.ts +1 -3
  632. package/src/api/com/atproto/server/createAccount.ts +6 -7
  633. package/src/api/com/atproto/server/createAppPassword.ts +1 -2
  634. package/src/api/com/atproto/server/createInviteCode.ts +1 -1
  635. package/src/api/com/atproto/server/createInviteCodes.ts +2 -2
  636. package/src/api/com/atproto/server/createSession.ts +1 -2
  637. package/src/api/com/atproto/server/deactivateAccount.ts +1 -1
  638. package/src/api/com/atproto/server/deleteAccount.ts +2 -2
  639. package/src/api/com/atproto/server/deleteSession.ts +1 -1
  640. package/src/api/com/atproto/server/describeServer.ts +1 -1
  641. package/src/api/com/atproto/server/getAccountInviteCodes.ts +2 -4
  642. package/src/api/com/atproto/server/getServiceAuth.ts +4 -4
  643. package/src/api/com/atproto/server/getSession.ts +3 -4
  644. package/src/api/com/atproto/server/index.ts +18 -27
  645. package/src/api/com/atproto/server/listAppPasswords.ts +1 -2
  646. package/src/api/com/atproto/server/refreshSession.ts +2 -3
  647. package/src/api/com/atproto/server/requestAccountDelete.ts +1 -3
  648. package/src/api/com/atproto/server/requestEmailConfirmation.ts +1 -3
  649. package/src/api/com/atproto/server/requestEmailUpdate.ts +2 -4
  650. package/src/api/com/atproto/server/requestPasswordReset.ts +1 -1
  651. package/src/api/com/atproto/server/reserveSigningKey.ts +1 -1
  652. package/src/api/com/atproto/server/resetPassword.ts +2 -2
  653. package/src/api/com/atproto/server/revokeAppPassword.ts +1 -2
  654. package/src/api/com/atproto/server/updateEmail.ts +2 -4
  655. package/src/api/com/atproto/server/util.ts +3 -3
  656. package/src/api/com/atproto/sync/deprecated/getCheckout.ts +1 -1
  657. package/src/api/com/atproto/sync/deprecated/getHead.ts +1 -1
  658. package/src/api/com/atproto/sync/getBlob.ts +4 -4
  659. package/src/api/com/atproto/sync/getBlocks.ts +2 -2
  660. package/src/api/com/atproto/sync/getLatestCommit.ts +1 -1
  661. package/src/api/com/atproto/sync/getRecord.ts +4 -4
  662. package/src/api/com/atproto/sync/getRepo.ts +4 -4
  663. package/src/api/com/atproto/sync/getRepoStatus.ts +2 -2
  664. package/src/api/com/atproto/sync/index.ts +5 -5
  665. package/src/api/com/atproto/sync/listBlobs.ts +2 -2
  666. package/src/api/com/atproto/sync/listRepos.ts +3 -3
  667. package/src/api/com/atproto/sync/subscribeRepos.ts +2 -2
  668. package/src/api/com/atproto/sync/util.ts +1 -1
  669. package/src/api/com/atproto/temp/checkSignupQueue.ts +2 -2
  670. package/src/api/com/atproto/temp/index.ts +1 -1
  671. package/src/api/index.ts +2 -2
  672. package/src/api/proxy.ts +1 -1
  673. package/src/auth-routes.ts +2 -3
  674. package/src/auth-verifier.ts +2 -3
  675. package/src/basic-routes.ts +4 -4
  676. package/src/bsky-app-view.ts +26 -0
  677. package/src/config/config.ts +1 -1
  678. package/src/config/env.ts +1 -1
  679. package/src/context.ts +49 -46
  680. package/src/crawlers.ts +1 -1
  681. package/src/db/db.ts +7 -7
  682. package/src/db/migrator.ts +1 -1
  683. package/src/db/tables/moderation.ts +2 -2
  684. package/src/db/util.ts +2 -2
  685. package/src/did-cache/db/index.ts +1 -1
  686. package/src/did-cache/index.ts +1 -1
  687. package/src/disk-blobstore.ts +6 -8
  688. package/src/error.ts +2 -2
  689. package/src/handle/index.ts +2 -2
  690. package/src/image/image-url-builder.ts +16 -0
  691. package/src/image/index.ts +2 -2
  692. package/src/index.ts +15 -13
  693. package/src/lexicon/lexicons.ts +44 -0
  694. package/src/lexicon/types/app/bsky/actor/defs.ts +37 -0
  695. package/src/lexicon/types/app/bsky/feed/postgate.ts +1 -0
  696. package/src/lexicon/types/app/bsky/feed/threadgate.ts +19 -0
  697. package/src/logger.ts +1 -1
  698. package/src/mailer/index.ts +1 -2
  699. package/src/mailer/moderation.ts +1 -1
  700. package/src/mailer/templates/confirm-email.d.ts +1 -1
  701. package/src/mailer/templates/delete-account.d.ts +1 -1
  702. package/src/mailer/templates/plc-operation.d.ts +1 -1
  703. package/src/mailer/templates/reset-password.d.ts +1 -1
  704. package/src/mailer/templates/update-email.d.ts +1 -1
  705. package/src/oauth/provider.ts +1 -17
  706. package/src/pipethrough.ts +4 -6
  707. package/src/read-after-write/types.ts +3 -3
  708. package/src/read-after-write/util.ts +3 -5
  709. package/src/read-after-write/viewer.ts +50 -124
  710. package/src/redis.ts +1 -1
  711. package/src/repo/prepare.ts +18 -18
  712. package/src/repo/types.ts +2 -2
  713. package/src/scripts/rebuild-repo.ts +4 -61
  714. package/src/sequencer/db/index.ts +1 -1
  715. package/src/sequencer/events.ts +3 -3
  716. package/src/sequencer/outbox.ts +1 -3
  717. package/src/sequencer/sequencer.ts +12 -12
  718. package/src/util/compression.ts +1 -1
  719. package/src/util/params.ts +1 -1
  720. package/src/well-known.ts +4 -4
  721. package/tests/_util.ts +5 -5
  722. package/tests/account-deletion.test.ts +7 -7
  723. package/tests/account-migration.test.ts +3 -3
  724. package/tests/account.test.ts +2 -2
  725. package/tests/app-passwords.test.ts +1 -1
  726. package/tests/blob-deletes.test.ts +4 -6
  727. package/tests/create-post.test.ts +3 -3
  728. package/tests/crud.test.ts +12 -16
  729. package/tests/email-confirmation.test.ts +5 -5
  730. package/tests/entryway.test.ts +5 -5
  731. package/tests/file-uploads.test.ts +7 -7
  732. package/tests/handles.test.ts +3 -3
  733. package/tests/invites-admin.test.ts +1 -1
  734. package/tests/moderation.test.ts +2 -2
  735. package/tests/moderator-auth.test.ts +4 -4
  736. package/tests/oauth.test.ts +4 -4
  737. package/tests/plc-operations.test.ts +6 -6
  738. package/tests/preferences.test.ts +2 -2
  739. package/tests/proxied/admin.test.ts +2 -2
  740. package/tests/proxied/feedgen.test.ts +4 -4
  741. package/tests/proxied/notif.test.ts +5 -5
  742. package/tests/proxied/procedures.test.ts +1 -1
  743. package/tests/proxied/proxy-catchall.test.ts +6 -6
  744. package/tests/proxied/proxy-header.test.ts +5 -5
  745. package/tests/proxied/read-after-write.test.ts +6 -6
  746. package/tests/proxied/views.test.ts +3 -3
  747. package/tests/races.test.ts +2 -2
  748. package/tests/rate-limits.test.ts +1 -1
  749. package/tests/sequencer.test.ts +7 -7
  750. package/tests/server.test.ts +4 -4
  751. package/tests/sync/list.test.ts +1 -1
  752. package/tests/sync/subscribe-repos.test.ts +9 -9
  753. package/tests/sync/sync.test.ts +3 -3
  754. package/tests/takedown-appeal.test.ts +1 -1
  755. package/tsconfig.build.tsbuildinfo +1 -1
  756. package/dist/actor-store/index.d.ts +0 -65
  757. package/dist/actor-store/index.d.ts.map +0 -1
  758. package/dist/actor-store/index.js.map +0 -1
  759. package/dist/oauth/detailed-account-store.d.ts +0 -27
  760. package/dist/oauth/detailed-account-store.d.ts.map +0 -1
  761. package/dist/oauth/detailed-account-store.js +0 -76
  762. package/dist/oauth/detailed-account-store.js.map +0 -1
  763. package/src/oauth/detailed-account-store.ts +0 -96
@@ -3,17 +3,11 @@ import {
3
3
  OAuthProvider,
4
4
  OAuthProviderOptions,
5
5
  } from '@atproto/oauth-provider'
6
-
7
6
  import { AccountManager } from '../account-manager/index'
8
- import { ActorStore } from '../actor-store/index'
9
7
  import { oauthLogger } from '../logger'
10
- import { LocalViewerCreator } from '../read-after-write/index'
11
- import { DetailedAccountStore } from './detailed-account-store'
12
8
 
13
9
  export type AuthProviderOptions = {
14
10
  accountManager: AccountManager
15
- actorStore: ActorStore
16
- localViewer: LocalViewerCreator
17
11
  } & Pick<
18
12
  OAuthProviderOptions,
19
13
  'issuer' | 'redis' | 'keyset' | 'dpopSecret' | 'customization'
@@ -23,8 +17,6 @@ export type AuthProviderOptions = {
23
17
  export class PdsOAuthProvider extends OAuthProvider {
24
18
  constructor({
25
19
  accountManager,
26
- actorStore,
27
- localViewer,
28
20
  keyset,
29
21
  redis,
30
22
  dpopSecret,
@@ -39,6 +31,7 @@ export class PdsOAuthProvider extends OAuthProvider {
39
31
  redis,
40
32
  safeFetch,
41
33
  customization,
34
+ store: accountManager,
42
35
  metadata: {
43
36
  // PdsOAuthProvider is used when the PDS is both an authorization server
44
37
  // & resource server, in which case the issuer origin is also the
@@ -48,15 +41,6 @@ export class PdsOAuthProvider extends OAuthProvider {
48
41
  scopes_supported: ['transition:generic', 'transition:chat.bsky'],
49
42
  },
50
43
 
51
- accountStore: new DetailedAccountStore(
52
- accountManager,
53
- actorStore,
54
- localViewer,
55
- ),
56
- requestStore: accountManager,
57
- deviceStore: accountManager,
58
- tokenStore: accountManager,
59
-
60
44
  // If the PDS is both an authorization server & resource server (no
61
45
  // entryway), there is no need to use JWTs as access tokens. Instead,
62
46
  // the PDS can use tokenId as access tokens. This allows the PDS to
@@ -1,9 +1,7 @@
1
- import express from 'express'
2
1
  import { IncomingHttpHeaders, ServerResponse } from 'node:http'
3
2
  import { PassThrough, Readable } from 'node:stream'
3
+ import express from 'express'
4
4
  import { Dispatcher } from 'undici'
5
-
6
- import { buildProxiedContentEncoding } from '@atproto-labs/xrpc-utils'
7
5
  import {
8
6
  decodeStream,
9
7
  getServiceEndpoint,
@@ -17,11 +15,11 @@ import {
17
15
  HandlerPipeThroughStream,
18
16
  InternalServerError,
19
17
  InvalidRequestError,
20
- parseReqNsid,
21
18
  XRPCError as XRPCServerError,
19
+ parseReqNsid,
22
20
  } from '@atproto/xrpc-server'
23
-
24
- import AppContext from './context'
21
+ import { buildProxiedContentEncoding } from '@atproto-labs/xrpc-utils'
22
+ import { AppContext } from './context'
25
23
  import { ids } from './lexicon/lexicons'
26
24
  import { httpLogger } from './logger'
27
25
 
@@ -1,8 +1,8 @@
1
- import { Headers } from '@atproto/xrpc'
2
- import { AtUri } from '@atproto/syntax'
3
1
  import { CID } from 'multiformats/cid'
4
- import { Record as PostRecord } from '../lexicon/types/app/bsky/feed/post'
2
+ import { AtUri } from '@atproto/syntax'
3
+ import { Headers } from '@atproto/xrpc'
5
4
  import { Record as ProfileRecord } from '../lexicon/types/app/bsky/actor/profile'
5
+ import { Record as PostRecord } from '../lexicon/types/app/bsky/feed/post'
6
6
  import { LocalViewer } from './viewer'
7
7
 
8
8
  export type LocalRecords = {
@@ -1,3 +1,4 @@
1
+ import express from 'express'
1
2
  import { jsonToLex } from '@atproto/lexicon'
2
3
  import { HeadersMap } from '@atproto/xrpc'
3
4
  import {
@@ -5,9 +6,7 @@ import {
5
6
  HandlerPipeThroughBuffer,
6
7
  parseReqNsid,
7
8
  } from '@atproto/xrpc-server'
8
- import express from 'express'
9
-
10
- import AppContext from '../context'
9
+ import { AppContext } from '../context'
11
10
  import { lexicons } from '../lexicon/lexicons'
12
11
  import { readStickyLogger as log } from '../logger'
13
12
  import {
@@ -16,7 +15,6 @@ import {
16
15
  pipethrough,
17
16
  } from '../pipethrough'
18
17
  import { HandlerResponse, LocalRecords, MungeFn } from './types'
19
- import { getRecordsSinceRev } from './viewer'
20
18
 
21
19
  const REPO_REV_HEADER = 'atproto-repo-rev'
22
20
 
@@ -62,7 +60,7 @@ export const pipethroughReadAfterWrite = async <T>(
62
60
  const lxm = parseReqNsid(req)
63
61
 
64
62
  return await ctx.actorStore.read(requester, async (store) => {
65
- const local = await getRecordsSinceRev(store, rev)
63
+ const local = await store.record.getRecordsSinceRev(rev)
66
64
  if (local.count === 0) return streamRes
67
65
 
68
66
  const { buffer } = (bufferRes = await asPipeThroughBuffer(streamRes))
@@ -1,133 +1,106 @@
1
- import util from 'util'
2
- import { CID } from 'multiformats/cid'
3
1
  import { AtUri, INVALID_HANDLE } from '@atproto/syntax'
4
- import { cborToLexRecord } from '@atproto/repo'
5
- import { AtpAgent } from '@atproto/api'
6
2
  import { createServiceAuthHeaders } from '@atproto/xrpc-server'
7
- import { Record as PostRecord } from '../lexicon/types/app/bsky/feed/post'
8
- import { Record as ProfileRecord } from '../lexicon/types/app/bsky/actor/profile'
3
+ import { AccountManager } from '../account-manager'
4
+ import { ActorStoreReader } from '../actor-store/actor-store-reader'
5
+ import { BskyAppView } from '../bsky-app-view'
6
+ import { ImageUrlBuilder } from '../image/image-url-builder'
9
7
  import { ids } from '../lexicon/lexicons'
10
8
  import {
11
- ProfileViewBasic,
12
9
  ProfileView,
10
+ ProfileViewBasic,
13
11
  ProfileViewDetailed,
14
12
  } from '../lexicon/types/app/bsky/actor/defs'
13
+ import { Record as ProfileRecord } from '../lexicon/types/app/bsky/actor/profile'
15
14
  import {
16
- FeedViewPost,
17
- GeneratorView,
18
- PostView,
19
- } from '../lexicon/types/app/bsky/feed/defs'
20
- import { ListView } from '../lexicon/types/app/bsky/graph/defs'
15
+ Main as EmbedExternal,
16
+ isMain as isEmbedExternal,
17
+ } from '../lexicon/types/app/bsky/embed/external'
21
18
  import {
22
19
  Main as EmbedImages,
23
20
  isMain as isEmbedImages,
24
21
  } from '../lexicon/types/app/bsky/embed/images'
25
- import {
26
- Main as EmbedExternal,
27
- isMain as isEmbedExternal,
28
- } from '../lexicon/types/app/bsky/embed/external'
29
22
  import {
30
23
  Main as EmbedRecord,
31
- isMain as isEmbedRecord,
32
24
  View as EmbedRecordView,
33
25
  ViewRecord,
26
+ isMain as isEmbedRecord,
34
27
  } from '../lexicon/types/app/bsky/embed/record'
35
28
  import {
36
29
  Main as EmbedRecordWithMedia,
37
30
  isMain as isEmbedRecordWithMedia,
38
31
  } from '../lexicon/types/app/bsky/embed/recordWithMedia'
39
- import { ActorStoreReader } from '../actor-store'
32
+ import {
33
+ FeedViewPost,
34
+ GeneratorView,
35
+ PostView,
36
+ } from '../lexicon/types/app/bsky/feed/defs'
37
+ import { Record as PostRecord } from '../lexicon/types/app/bsky/feed/post'
38
+ import { ListView } from '../lexicon/types/app/bsky/graph/defs'
40
39
  import { LocalRecords, RecordDescript } from './types'
41
- import { AccountManager } from '../account-manager'
42
40
 
43
41
  type CommonSignedUris = 'avatar' | 'banner' | 'feed_thumbnail' | 'feed_fullsize'
44
42
 
45
- export type LocalViewerCreator = (actorStore: ActorStoreReader) => LocalViewer
43
+ export type LocalViewerCreator = (
44
+ actorStoreReader: ActorStoreReader,
45
+ ) => LocalViewer
46
46
 
47
47
  export class LocalViewer {
48
- did: string
49
- actorStore: ActorStoreReader
50
- accountManager: AccountManager
51
- pdsHostname: string
52
- appViewAgent?: AtpAgent
53
- appviewDid?: string
54
- appviewCdnUrlPattern?: string
48
+ constructor(
49
+ public readonly actorStoreReader: ActorStoreReader,
50
+ public readonly accountManager: AccountManager,
51
+ public readonly imageUrlBuilder: ImageUrlBuilder,
52
+ public readonly bskyAppView?: BskyAppView,
53
+ ) {}
55
54
 
56
- constructor(params: {
57
- actorStore: ActorStoreReader
58
- accountManager: AccountManager
59
- pdsHostname: string
60
- appViewAgent?: AtpAgent
61
- appviewDid?: string
62
- appviewCdnUrlPattern?: string
63
- }) {
64
- this.did = params.actorStore.did
65
- this.actorStore = params.actorStore
66
- this.accountManager = params.accountManager
67
- this.pdsHostname = params.pdsHostname
68
- this.appViewAgent = params.appViewAgent
69
- this.appviewDid = params.appviewDid
70
- this.appviewCdnUrlPattern = params.appviewCdnUrlPattern
55
+ get did() {
56
+ return this.actorStoreReader.did
71
57
  }
72
58
 
73
- static creator(params: {
74
- accountManager: AccountManager
75
- pdsHostname: string
76
- appViewAgent?: AtpAgent
77
- appviewDid?: string
78
- appviewCdnUrlPattern?: string
79
- }): LocalViewerCreator {
80
- return (actorStore) => {
81
- return new LocalViewer({ ...params, actorStore })
82
- }
59
+ static creator(
60
+ accountManager: AccountManager,
61
+ imageUrlBuilder: ImageUrlBuilder,
62
+ bskyAppView?: BskyAppView,
63
+ ): LocalViewerCreator {
64
+ return (actorStore) =>
65
+ new LocalViewer(actorStore, accountManager, imageUrlBuilder, bskyAppView)
83
66
  }
84
67
 
85
68
  getImageUrl(pattern: CommonSignedUris, cid: string) {
86
- if (!this.appviewCdnUrlPattern) {
87
- return `https://${this.pdsHostname}/xrpc/${ids.ComAtprotoSyncGetBlob}?did=${this.did}&cid=${cid}`
88
- }
89
- return util.format(this.appviewCdnUrlPattern, pattern, this.did, cid)
69
+ return this.imageUrlBuilder.build(pattern, this.did, cid)
90
70
  }
91
71
 
92
72
  async serviceAuthHeaders(did: string, lxm: string) {
93
- if (!this.appviewDid) {
73
+ if (!this.bskyAppView) {
94
74
  throw new Error('Could not find bsky appview did')
95
75
  }
96
- const keypair = await this.actorStore.keypair()
76
+ const keypair = await this.actorStoreReader.keypair()
97
77
 
98
78
  return createServiceAuthHeaders({
99
79
  iss: did,
100
- aud: this.appviewDid,
80
+ aud: this.bskyAppView.did,
101
81
  lxm,
102
82
  keypair,
103
83
  })
104
84
  }
105
85
 
106
86
  async getRecordsSinceRev(rev: string): Promise<LocalRecords> {
107
- return getRecordsSinceRev(this.actorStore, rev)
87
+ return this.actorStoreReader.record.getRecordsSinceRev(rev)
108
88
  }
109
89
 
110
90
  async getProfileBasic(): Promise<ProfileViewBasic | null> {
111
- const profileQuery = this.actorStore.db.db
112
- .selectFrom('record')
113
- .leftJoin('repo_block', 'repo_block.cid', 'record.cid')
114
- .where('record.collection', '=', ids.AppBskyActorProfile)
115
- .where('record.rkey', '=', 'self')
116
- .selectAll()
117
91
  const [profileRes, accountRes] = await Promise.all([
118
- profileQuery.executeTakeFirst(),
92
+ this.actorStoreReader.record.getProfileRecord(),
119
93
  this.accountManager.getAccount(this.did),
120
94
  ])
95
+
121
96
  if (!accountRes) return null
122
- const record = profileRes?.content
123
- ? (cborToLexRecord(profileRes.content) as ProfileRecord)
124
- : null
97
+
125
98
  return {
126
99
  did: this.did,
127
100
  handle: accountRes.handle ?? INVALID_HANDLE,
128
- displayName: record?.displayName,
129
- avatar: record?.avatar
130
- ? this.getImageUrl('avatar', record.avatar.ref.toString())
101
+ displayName: profileRes?.displayName,
102
+ avatar: profileRes?.avatar
103
+ ? this.getImageUrl('avatar', profileRes.avatar.ref.toString())
131
104
  : undefined,
132
105
  }
133
106
  }
@@ -239,12 +212,12 @@ export class LocalViewer {
239
212
  private async formatRecordEmbedInternal(
240
213
  embed: EmbedRecord,
241
214
  ): Promise<null | ViewRecord | GeneratorView | ListView> {
242
- if (!this.appViewAgent || !this.appviewDid) {
215
+ if (!this.bskyAppView) {
243
216
  return null
244
217
  }
245
218
  const collection = new AtUri(embed.record.uri).collection
246
219
  if (collection === ids.AppBskyFeedPost) {
247
- const res = await this.appViewAgent.api.app.bsky.feed.getPosts(
220
+ const res = await this.bskyAppView.agent.app.bsky.feed.getPosts(
248
221
  { uris: [embed.record.uri] },
249
222
  await this.serviceAuthHeaders(this.did, ids.AppBskyFeedGetPosts),
250
223
  )
@@ -261,7 +234,7 @@ export class LocalViewer {
261
234
  indexedAt: post.indexedAt,
262
235
  }
263
236
  } else if (collection === ids.AppBskyFeedGenerator) {
264
- const res = await this.appViewAgent.api.app.bsky.feed.getFeedGenerator(
237
+ const res = await this.bskyAppView.agent.app.bsky.feed.getFeedGenerator(
265
238
  { feed: embed.record.uri },
266
239
  await this.serviceAuthHeaders(
267
240
  this.did,
@@ -273,7 +246,7 @@ export class LocalViewer {
273
246
  ...res.data.view,
274
247
  }
275
248
  } else if (collection === ids.AppBskyGraphList) {
276
- const res = await this.appViewAgent.api.app.bsky.graph.getList(
249
+ const res = await this.bskyAppView.agent.app.bsky.graph.getList(
277
250
  { list: embed.record.uri },
278
251
  await this.serviceAuthHeaders(this.did, ids.AppBskyGraphGetList),
279
252
  )
@@ -330,50 +303,3 @@ export class LocalViewer {
330
303
  }
331
304
  }
332
305
  }
333
-
334
- export const getRecordsSinceRev = async (
335
- actorStore: ActorStoreReader,
336
- rev: string,
337
- ): Promise<LocalRecords> => {
338
- const res = await actorStore.db.db
339
- .selectFrom('record')
340
- .innerJoin('repo_block', 'repo_block.cid', 'record.cid')
341
- .select(['repo_block.content', 'uri', 'repo_block.cid', 'record.indexedAt'])
342
- .where('record.repoRev', '>', rev)
343
- .limit(10)
344
- .orderBy('record.repoRev', 'asc')
345
- .execute()
346
- // sanity check to ensure that the clock received is not before _all_ local records (for instance in case of account migration)
347
- if (res.length > 0) {
348
- const sanityCheckRes = await actorStore.db.db
349
- .selectFrom('record')
350
- .selectAll()
351
- .where('record.repoRev', '<=', rev)
352
- .limit(1)
353
- .executeTakeFirst()
354
- if (!sanityCheckRes) {
355
- return { count: 0, profile: null, posts: [] }
356
- }
357
- }
358
- return res.reduce(
359
- (acc, cur) => {
360
- const descript = {
361
- uri: new AtUri(cur.uri),
362
- cid: CID.parse(cur.cid),
363
- indexedAt: cur.indexedAt,
364
- record: cborToLexRecord(cur.content),
365
- }
366
- if (
367
- descript.uri.collection === ids.AppBskyActorProfile &&
368
- descript.uri.rkey === 'self'
369
- ) {
370
- acc.profile = descript as RecordDescript<ProfileRecord>
371
- } else if (descript.uri.collection === ids.AppBskyFeedPost) {
372
- acc.posts.push(descript as RecordDescript<PostRecord>)
373
- }
374
- acc.count++
375
- return acc
376
- },
377
- { count: 0, profile: null, posts: [] } as LocalRecords,
378
- )
379
- }
package/src/redis.ts CHANGED
@@ -1,4 +1,4 @@
1
- import assert from 'assert'
1
+ import assert from 'node:assert'
2
2
  import { Redis } from 'ioredis'
3
3
  import { redisLogger } from './logger'
4
4
 
@@ -1,9 +1,4 @@
1
1
  import { CID } from 'multiformats/cid'
2
- import {
3
- AtUri,
4
- ensureValidRecordKey,
5
- ensureValidDatetime,
6
- } from '@atproto/syntax'
7
2
  import { TID, check, dataToCborBlock } from '@atproto/common'
8
3
  import {
9
4
  BlobRef,
@@ -15,30 +10,35 @@ import {
15
10
  untypedJsonBlobRef,
16
11
  } from '@atproto/lexicon'
17
12
  import {
18
- cborToLex,
19
- RecordDeleteOp,
20
13
  RecordCreateOp,
14
+ RecordDeleteOp,
21
15
  RecordUpdateOp,
22
16
  RecordWriteOp,
23
17
  WriteOpAction,
18
+ cborToLex,
24
19
  } from '@atproto/repo'
25
20
  import {
21
+ AtUri,
22
+ ensureValidDatetime,
23
+ ensureValidRecordKey,
24
+ } from '@atproto/syntax'
25
+ import { hasExplicitSlur } from '../handle/explicit-slurs'
26
+ import * as lex from '../lexicon/lexicons'
27
+ import { isRecord as isProfile } from '../lexicon/types/app/bsky/actor/profile'
28
+ import { isRecord as isFeedGenerator } from '../lexicon/types/app/bsky/feed/generator'
29
+ import { isRecord as isPost } from '../lexicon/types/app/bsky/feed/post'
30
+ import { isRecord as isList } from '../lexicon/types/app/bsky/graph/list'
31
+ import { isRecord as isStarterPack } from '../lexicon/types/app/bsky/graph/starterpack'
32
+ import { isTag } from '../lexicon/types/app/bsky/richtext/facet'
33
+ import {
34
+ InvalidRecordError,
35
+ PreparedBlobRef,
26
36
  PreparedCreate,
27
- PreparedUpdate,
28
37
  PreparedDelete,
29
- InvalidRecordError,
38
+ PreparedUpdate,
30
39
  PreparedWrite,
31
- PreparedBlobRef,
32
40
  ValidationStatus,
33
41
  } from './types'
34
- import * as lex from '../lexicon/lexicons'
35
- import { isRecord as isFeedGenerator } from '../lexicon/types/app/bsky/feed/generator'
36
- import { isRecord as isStarterPack } from '../lexicon/types/app/bsky/graph/starterpack'
37
- import { isRecord as isPost } from '../lexicon/types/app/bsky/feed/post'
38
- import { isTag } from '../lexicon/types/app/bsky/richtext/facet'
39
- import { isRecord as isList } from '../lexicon/types/app/bsky/graph/list'
40
- import { isRecord as isProfile } from '../lexicon/types/app/bsky/actor/profile'
41
- import { hasExplicitSlur } from '../handle/explicit-slurs'
42
42
 
43
43
  export const assertValidRecordWithStatus = (
44
44
  record: Record<string, unknown>,
package/src/repo/types.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CID } from 'multiformats/cid'
2
- import { AtUri } from '@atproto/syntax'
3
- import { WriteOpAction } from '@atproto/repo'
4
2
  import { RepoRecord } from '@atproto/lexicon'
3
+ import { WriteOpAction } from '@atproto/repo'
4
+ import { AtUri } from '@atproto/syntax'
5
5
 
6
6
  export type ValidationStatus = 'valid' | 'unknown' | undefined
7
7
 
@@ -1,17 +1,13 @@
1
1
  import readline from 'node:readline/promises'
2
- import { CID } from 'multiformats/cid'
2
+ import { TID } from '@atproto/common'
3
3
  import {
4
4
  BlockMap,
5
5
  CidSet,
6
6
  MST,
7
7
  MemoryBlockstore,
8
- formatDataKey,
9
8
  signCommit,
10
9
  } from '@atproto/repo'
11
- import { AtUri } from '@atproto/syntax'
12
- import { TID } from '@atproto/common'
13
- import { ActorStoreTransactor } from '../actor-store'
14
- import AppContext from '../context'
10
+ import { AppContext } from '../context'
15
11
 
16
12
  export const rebuildRepo = async (ctx: AppContext, args: string[]) => {
17
13
  const did = args[0]
@@ -23,8 +19,8 @@ export const rebuildRepo = async (ctx: AppContext, args: string[]) => {
23
19
  const rev = TID.nextStr()
24
20
  const commit = await ctx.actorStore.transact(did, async (store) => {
25
21
  const [records, existingCids] = await Promise.all([
26
- listAllRecords(store),
27
- listExistingBlocks(store),
22
+ store.record.listAll(),
23
+ store.record.listExistingBlocks(),
28
24
  ])
29
25
  let mst = await MST.create(memoryStore)
30
26
  for (const record of records) {
@@ -81,53 +77,6 @@ export const rebuildRepo = async (ctx: AppContext, args: string[]) => {
81
77
  await ctx.sequencer.sequenceCommit(did, commit, [])
82
78
  }
83
79
 
84
- const listExistingBlocks = async (
85
- store: ActorStoreTransactor,
86
- ): Promise<CidSet> => {
87
- const cids = new CidSet()
88
- let cursor: string | undefined = ''
89
- while (cursor !== undefined) {
90
- const res = await store.db.db
91
- .selectFrom('repo_block')
92
- .select('cid')
93
- .where('cid', '>', cursor)
94
- .orderBy('cid', 'asc')
95
- .limit(1000)
96
- .execute()
97
- for (const row of res) {
98
- cids.add(CID.parse(row.cid))
99
- }
100
- cursor = res.at(-1)?.cid
101
- }
102
- return cids
103
- }
104
-
105
- const listAllRecords = async (
106
- store: ActorStoreTransactor,
107
- ): Promise<RecordDescript[]> => {
108
- const records: RecordDescript[] = []
109
- let cursor: string | undefined = ''
110
- while (cursor !== undefined) {
111
- const res = await store.db.db
112
- .selectFrom('record')
113
- .select(['uri', 'cid'])
114
- .where('uri', '>', cursor)
115
- .orderBy('uri', 'asc')
116
- .limit(1000)
117
- .execute()
118
- for (const row of res) {
119
- const parsed = new AtUri(row.uri)
120
- records.push({
121
- uri: row.uri,
122
- path: formatDataKey(parsed.collection, parsed.rkey),
123
- cid: CID.parse(row.cid),
124
- })
125
- }
126
- cursor = res.at(-1)?.uri
127
- }
128
- return records
129
- }
130
-
131
80
  const promptContinue = async (): Promise<boolean> => {
132
81
  const rl = readline.createInterface({
133
82
  input: process.stdin,
@@ -136,9 +85,3 @@ const promptContinue = async (): Promise<boolean> => {
136
85
  const answer = await rl.question('Continue? y/n ')
137
86
  return answer === ''
138
87
  }
139
-
140
- type RecordDescript = {
141
- uri: string
142
- path: string
143
- cid: CID
144
- }
@@ -1,6 +1,6 @@
1
1
  import { Database, Migrator } from '../../db'
2
- import { SequencerDbSchema } from './schema'
3
2
  import migrations from './migrations'
3
+ import { SequencerDbSchema } from './schema'
4
4
 
5
5
  export * from './schema'
6
6
 
@@ -1,16 +1,16 @@
1
+ import { CID } from 'multiformats/cid'
1
2
  import { z } from 'zod'
2
3
  import { cborEncode, schema } from '@atproto/common'
3
4
  import {
4
5
  BlockMap,
5
- blocksToCarFile,
6
6
  CidSet,
7
7
  CommitData,
8
8
  WriteOpAction,
9
+ blocksToCarFile,
9
10
  } from '@atproto/repo'
11
+ import { AccountStatus } from '../account-manager'
10
12
  import { PreparedWrite } from '../repo'
11
- import { CID } from 'multiformats/cid'
12
13
  import { RepoSeqInsert } from './db'
13
- import { AccountStatus } from '../account-manager'
14
14
 
15
15
  export const formatSeqCommit = async (
16
16
  did: string,
@@ -1,6 +1,6 @@
1
1
  import { AsyncBuffer, AsyncBufferFullError } from '@atproto/common'
2
- import { Sequencer, SeqEvt } from '.'
3
2
  import { InvalidRequestError } from '@atproto/xrpc-server'
3
+ import { SeqEvt, Sequencer } from '.'
4
4
 
5
5
  export type OutboxOpts = {
6
6
  maxBufferSize: number
@@ -121,5 +121,3 @@ export class Outbox {
121
121
  }
122
122
  }
123
123
  }
124
-
125
- export default Outbox
@@ -1,8 +1,18 @@
1
- import EventEmitter from 'events'
1
+ import EventEmitter from 'node:events'
2
2
  import TypedEmitter from 'typed-emitter'
3
- import { seqLogger as log } from '../logger'
4
3
  import { SECOND, cborDecode, wait } from '@atproto/common'
5
4
  import { CommitData } from '@atproto/repo'
5
+ import { AccountStatus } from '../account-manager/helpers/account'
6
+ import { Crawlers } from '../crawlers'
7
+ import { seqLogger as log } from '../logger'
8
+ import { PreparedWrite } from '../repo'
9
+ import {
10
+ RepoSeqEntry,
11
+ RepoSeqInsert,
12
+ SequencerDb,
13
+ getDb,
14
+ getMigrator,
15
+ } from './db'
6
16
  import {
7
17
  AccountEvt,
8
18
  CommitEvt,
@@ -16,16 +26,6 @@ import {
16
26
  formatSeqIdentityEvt,
17
27
  formatSeqTombstone,
18
28
  } from './events'
19
- import {
20
- SequencerDb,
21
- getMigrator,
22
- RepoSeqEntry,
23
- RepoSeqInsert,
24
- getDb,
25
- } from './db'
26
- import { PreparedWrite } from '../repo'
27
- import { Crawlers } from '../crawlers'
28
- import { AccountStatus } from '../account-manager/helpers/account'
29
29
 
30
30
  export * from './events'
31
31
 
@@ -1,5 +1,5 @@
1
- import express from 'express'
2
1
  import compression from 'compression'
2
+ import express from 'express'
3
3
 
4
4
  export default function () {
5
5
  return compression({
@@ -1,5 +1,5 @@
1
- import { InvalidRequestError } from '@atproto/xrpc-server'
2
1
  import { CID } from 'multiformats/cid'
2
+ import { InvalidRequestError } from '@atproto/xrpc-server'
3
3
 
4
4
  export const parseCidParam = (cid: string): CID => {
5
5
  try {
package/src/well-known.ts CHANGED
@@ -1,8 +1,8 @@
1
- import express from 'express'
2
- import AppContext from './context'
1
+ import { Router } from 'express'
2
+ import { AppContext } from './context'
3
3
 
4
- export const createRouter = (ctx: AppContext): express.Router => {
5
- const router = express.Router()
4
+ export const createRouter = (ctx: AppContext): Router => {
5
+ const router = Router()
6
6
 
7
7
  router.get('/.well-known/atproto-did', async function (req, res) {
8
8
  const handle = req.hostname