@atproto/bsky 0.0.113 → 0.0.115

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 (621) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/bin/migration-create.ts +2 -2
  3. package/dist/api/app/bsky/actor/getProfile.d.ts +1 -1
  4. package/dist/api/app/bsky/actor/getProfile.d.ts.map +1 -1
  5. package/dist/api/app/bsky/actor/getProfile.js +1 -1
  6. package/dist/api/app/bsky/actor/getProfile.js.map +1 -1
  7. package/dist/api/app/bsky/actor/getProfiles.d.ts +1 -1
  8. package/dist/api/app/bsky/actor/getProfiles.d.ts.map +1 -1
  9. package/dist/api/app/bsky/actor/getProfiles.js +2 -2
  10. package/dist/api/app/bsky/actor/getProfiles.js.map +1 -1
  11. package/dist/api/app/bsky/actor/getSuggestions.d.ts +1 -1
  12. package/dist/api/app/bsky/actor/getSuggestions.d.ts.map +1 -1
  13. package/dist/api/app/bsky/actor/getSuggestions.js +1 -1
  14. package/dist/api/app/bsky/actor/getSuggestions.js.map +1 -1
  15. package/dist/api/app/bsky/actor/searchActors.d.ts +1 -1
  16. package/dist/api/app/bsky/actor/searchActors.d.ts.map +1 -1
  17. package/dist/api/app/bsky/actor/searchActors.js +1 -1
  18. package/dist/api/app/bsky/actor/searchActors.js.map +1 -1
  19. package/dist/api/app/bsky/actor/searchActorsTypeahead.d.ts +1 -1
  20. package/dist/api/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
  21. package/dist/api/app/bsky/actor/searchActorsTypeahead.js +1 -1
  22. package/dist/api/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
  23. package/dist/api/app/bsky/feed/getActorFeeds.d.ts +1 -1
  24. package/dist/api/app/bsky/feed/getActorFeeds.d.ts.map +1 -1
  25. package/dist/api/app/bsky/feed/getActorFeeds.js +2 -2
  26. package/dist/api/app/bsky/feed/getActorFeeds.js.map +1 -1
  27. package/dist/api/app/bsky/feed/getActorLikes.d.ts +1 -1
  28. package/dist/api/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  29. package/dist/api/app/bsky/feed/getActorLikes.js +6 -6
  30. package/dist/api/app/bsky/feed/getActorLikes.js.map +1 -1
  31. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts +5 -5
  32. package/dist/api/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  33. package/dist/api/app/bsky/feed/getAuthorFeed.js +7 -7
  34. package/dist/api/app/bsky/feed/getAuthorFeed.js.map +1 -1
  35. package/dist/api/app/bsky/feed/getFeed.d.ts +2 -2
  36. package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
  37. package/dist/api/app/bsky/feed/getFeed.js +5 -6
  38. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  39. package/dist/api/app/bsky/feed/getFeedGenerator.d.ts +1 -1
  40. package/dist/api/app/bsky/feed/getFeedGenerator.d.ts.map +1 -1
  41. package/dist/api/app/bsky/feed/getFeedGenerator.js.map +1 -1
  42. package/dist/api/app/bsky/feed/getFeedGenerators.d.ts +1 -1
  43. package/dist/api/app/bsky/feed/getFeedGenerators.d.ts.map +1 -1
  44. package/dist/api/app/bsky/feed/getFeedGenerators.js.map +1 -1
  45. package/dist/api/app/bsky/feed/getLikes.d.ts +1 -1
  46. package/dist/api/app/bsky/feed/getLikes.d.ts.map +1 -1
  47. package/dist/api/app/bsky/feed/getLikes.js +2 -2
  48. package/dist/api/app/bsky/feed/getLikes.js.map +1 -1
  49. package/dist/api/app/bsky/feed/getListFeed.d.ts +4 -4
  50. package/dist/api/app/bsky/feed/getListFeed.d.ts.map +1 -1
  51. package/dist/api/app/bsky/feed/getListFeed.js +7 -7
  52. package/dist/api/app/bsky/feed/getListFeed.js.map +1 -1
  53. package/dist/api/app/bsky/feed/getPostThread.d.ts +1 -1
  54. package/dist/api/app/bsky/feed/getPostThread.d.ts.map +1 -1
  55. package/dist/api/app/bsky/feed/getPostThread.js +2 -2
  56. package/dist/api/app/bsky/feed/getPostThread.js.map +1 -1
  57. package/dist/api/app/bsky/feed/getPosts.d.ts +1 -1
  58. package/dist/api/app/bsky/feed/getPosts.d.ts.map +1 -1
  59. package/dist/api/app/bsky/feed/getPosts.js +1 -1
  60. package/dist/api/app/bsky/feed/getPosts.js.map +1 -1
  61. package/dist/api/app/bsky/feed/getQuotes.d.ts +1 -1
  62. package/dist/api/app/bsky/feed/getQuotes.d.ts.map +1 -1
  63. package/dist/api/app/bsky/feed/getQuotes.js +6 -6
  64. package/dist/api/app/bsky/feed/getQuotes.js.map +1 -1
  65. package/dist/api/app/bsky/feed/getRepostedBy.d.ts +1 -1
  66. package/dist/api/app/bsky/feed/getRepostedBy.d.ts.map +1 -1
  67. package/dist/api/app/bsky/feed/getRepostedBy.js +1 -1
  68. package/dist/api/app/bsky/feed/getRepostedBy.js.map +1 -1
  69. package/dist/api/app/bsky/feed/getSuggestedFeeds.d.ts +1 -1
  70. package/dist/api/app/bsky/feed/getSuggestedFeeds.d.ts.map +1 -1
  71. package/dist/api/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
  72. package/dist/api/app/bsky/feed/getTimeline.d.ts +4 -4
  73. package/dist/api/app/bsky/feed/getTimeline.d.ts.map +1 -1
  74. package/dist/api/app/bsky/feed/getTimeline.js +6 -6
  75. package/dist/api/app/bsky/feed/getTimeline.js.map +1 -1
  76. package/dist/api/app/bsky/feed/searchPosts.d.ts +1 -1
  77. package/dist/api/app/bsky/feed/searchPosts.d.ts.map +1 -1
  78. package/dist/api/app/bsky/feed/searchPosts.js +1 -1
  79. package/dist/api/app/bsky/feed/searchPosts.js.map +1 -1
  80. package/dist/api/app/bsky/graph/getActorStarterPacks.d.ts +1 -1
  81. package/dist/api/app/bsky/graph/getActorStarterPacks.d.ts.map +1 -1
  82. package/dist/api/app/bsky/graph/getActorStarterPacks.js +5 -5
  83. package/dist/api/app/bsky/graph/getActorStarterPacks.js.map +1 -1
  84. package/dist/api/app/bsky/graph/getBlocks.d.ts +1 -1
  85. package/dist/api/app/bsky/graph/getBlocks.d.ts.map +1 -1
  86. package/dist/api/app/bsky/graph/getBlocks.js.map +1 -1
  87. package/dist/api/app/bsky/graph/getFollowers.d.ts +1 -1
  88. package/dist/api/app/bsky/graph/getFollowers.d.ts.map +1 -1
  89. package/dist/api/app/bsky/graph/getFollowers.js +1 -1
  90. package/dist/api/app/bsky/graph/getFollowers.js.map +1 -1
  91. package/dist/api/app/bsky/graph/getFollows.d.ts +1 -1
  92. package/dist/api/app/bsky/graph/getFollows.d.ts.map +1 -1
  93. package/dist/api/app/bsky/graph/getFollows.js +1 -1
  94. package/dist/api/app/bsky/graph/getFollows.js.map +1 -1
  95. package/dist/api/app/bsky/graph/getKnownFollowers.d.ts +1 -1
  96. package/dist/api/app/bsky/graph/getKnownFollowers.d.ts.map +1 -1
  97. package/dist/api/app/bsky/graph/getKnownFollowers.js.map +1 -1
  98. package/dist/api/app/bsky/graph/getList.d.ts +1 -1
  99. package/dist/api/app/bsky/graph/getList.d.ts.map +1 -1
  100. package/dist/api/app/bsky/graph/getList.js +2 -2
  101. package/dist/api/app/bsky/graph/getList.js.map +1 -1
  102. package/dist/api/app/bsky/graph/getListBlocks.d.ts +1 -1
  103. package/dist/api/app/bsky/graph/getListBlocks.d.ts.map +1 -1
  104. package/dist/api/app/bsky/graph/getListBlocks.js.map +1 -1
  105. package/dist/api/app/bsky/graph/getListMutes.d.ts +1 -1
  106. package/dist/api/app/bsky/graph/getListMutes.d.ts.map +1 -1
  107. package/dist/api/app/bsky/graph/getListMutes.js.map +1 -1
  108. package/dist/api/app/bsky/graph/getLists.d.ts +1 -1
  109. package/dist/api/app/bsky/graph/getLists.d.ts.map +1 -1
  110. package/dist/api/app/bsky/graph/getLists.js.map +1 -1
  111. package/dist/api/app/bsky/graph/getMutes.d.ts +1 -1
  112. package/dist/api/app/bsky/graph/getMutes.d.ts.map +1 -1
  113. package/dist/api/app/bsky/graph/getMutes.js.map +1 -1
  114. package/dist/api/app/bsky/graph/getRelationships.d.ts +1 -1
  115. package/dist/api/app/bsky/graph/getRelationships.d.ts.map +1 -1
  116. package/dist/api/app/bsky/graph/getStarterPack.d.ts +1 -1
  117. package/dist/api/app/bsky/graph/getStarterPack.d.ts.map +1 -1
  118. package/dist/api/app/bsky/graph/getStarterPack.js.map +1 -1
  119. package/dist/api/app/bsky/graph/getStarterPacks.d.ts +1 -1
  120. package/dist/api/app/bsky/graph/getStarterPacks.d.ts.map +1 -1
  121. package/dist/api/app/bsky/graph/getStarterPacks.js +1 -1
  122. package/dist/api/app/bsky/graph/getStarterPacks.js.map +1 -1
  123. package/dist/api/app/bsky/graph/getSuggestedFollowsByActor.d.ts +1 -1
  124. package/dist/api/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
  125. package/dist/api/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
  126. package/dist/api/app/bsky/graph/muteActor.d.ts +1 -1
  127. package/dist/api/app/bsky/graph/muteActor.d.ts.map +1 -1
  128. package/dist/api/app/bsky/graph/muteActorList.d.ts +1 -1
  129. package/dist/api/app/bsky/graph/muteActorList.d.ts.map +1 -1
  130. package/dist/api/app/bsky/graph/muteThread.d.ts +1 -1
  131. package/dist/api/app/bsky/graph/muteThread.d.ts.map +1 -1
  132. package/dist/api/app/bsky/graph/searchStarterPacks.d.ts +1 -1
  133. package/dist/api/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
  134. package/dist/api/app/bsky/graph/searchStarterPacks.js +2 -2
  135. package/dist/api/app/bsky/graph/searchStarterPacks.js.map +1 -1
  136. package/dist/api/app/bsky/graph/unmuteActor.d.ts +1 -1
  137. package/dist/api/app/bsky/graph/unmuteActor.d.ts.map +1 -1
  138. package/dist/api/app/bsky/graph/unmuteActorList.d.ts +1 -1
  139. package/dist/api/app/bsky/graph/unmuteActorList.d.ts.map +1 -1
  140. package/dist/api/app/bsky/graph/unmuteThread.d.ts +1 -1
  141. package/dist/api/app/bsky/graph/unmuteThread.d.ts.map +1 -1
  142. package/dist/api/app/bsky/labeler/getServices.d.ts +1 -1
  143. package/dist/api/app/bsky/labeler/getServices.d.ts.map +1 -1
  144. package/dist/api/app/bsky/labeler/getServices.js.map +1 -1
  145. package/dist/api/app/bsky/notification/getUnreadCount.d.ts +1 -1
  146. package/dist/api/app/bsky/notification/getUnreadCount.d.ts.map +1 -1
  147. package/dist/api/app/bsky/notification/getUnreadCount.js.map +1 -1
  148. package/dist/api/app/bsky/notification/listNotifications.d.ts +1 -1
  149. package/dist/api/app/bsky/notification/listNotifications.d.ts.map +1 -1
  150. package/dist/api/app/bsky/notification/listNotifications.js +1 -1
  151. package/dist/api/app/bsky/notification/listNotifications.js.map +1 -1
  152. package/dist/api/app/bsky/notification/putPreferences.d.ts +1 -1
  153. package/dist/api/app/bsky/notification/putPreferences.d.ts.map +1 -1
  154. package/dist/api/app/bsky/notification/registerPush.d.ts +1 -1
  155. package/dist/api/app/bsky/notification/registerPush.d.ts.map +1 -1
  156. package/dist/api/app/bsky/notification/updateSeen.d.ts +1 -1
  157. package/dist/api/app/bsky/notification/updateSeen.d.ts.map +1 -1
  158. package/dist/api/app/bsky/notification/updateSeen.js +2 -5
  159. package/dist/api/app/bsky/notification/updateSeen.js.map +1 -1
  160. package/dist/api/app/bsky/unspecced/getConfig.d.ts +1 -1
  161. package/dist/api/app/bsky/unspecced/getConfig.d.ts.map +1 -1
  162. package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.d.ts +1 -1
  163. package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
  164. package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
  165. package/dist/api/app/bsky/unspecced/getTaggedSuggestions.d.ts +1 -1
  166. package/dist/api/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
  167. package/dist/api/app/bsky/unspecced/getTrendingTopics.d.ts +1 -1
  168. package/dist/api/app/bsky/unspecced/getTrendingTopics.d.ts.map +1 -1
  169. package/dist/api/app/bsky/unspecced/getTrendingTopics.js +1 -1
  170. package/dist/api/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
  171. package/dist/api/blob-dispatcher.d.ts.map +1 -1
  172. package/dist/api/blob-dispatcher.js +1 -1
  173. package/dist/api/blob-dispatcher.js.map +1 -1
  174. package/dist/api/blob-resolver.d.ts +3 -3
  175. package/dist/api/blob-resolver.d.ts.map +1 -1
  176. package/dist/api/blob-resolver.js +4 -4
  177. package/dist/api/blob-resolver.js.map +1 -1
  178. package/dist/api/com/atproto/admin/getAccountInfos.d.ts +1 -1
  179. package/dist/api/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
  180. package/dist/api/com/atproto/admin/getAccountInfos.js.map +1 -1
  181. package/dist/api/com/atproto/admin/getSubjectStatus.d.ts +1 -1
  182. package/dist/api/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
  183. package/dist/api/com/atproto/admin/updateSubjectStatus.d.ts +1 -1
  184. package/dist/api/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  185. package/dist/api/com/atproto/identity/resolveHandle.d.ts +1 -1
  186. package/dist/api/com/atproto/identity/resolveHandle.d.ts.map +1 -1
  187. package/dist/api/com/atproto/identity/resolveHandle.js +1 -1
  188. package/dist/api/com/atproto/identity/resolveHandle.js.map +1 -1
  189. package/dist/api/com/atproto/label/queryLabels.d.ts +1 -1
  190. package/dist/api/com/atproto/label/queryLabels.d.ts.map +1 -1
  191. package/dist/api/com/atproto/label/queryLabels.js.map +1 -1
  192. package/dist/api/com/atproto/repo/getRecord.d.ts +1 -1
  193. package/dist/api/com/atproto/repo/getRecord.d.ts.map +1 -1
  194. package/dist/api/com/atproto/repo/getRecord.js +1 -1
  195. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  196. package/dist/api/com/atproto/temp/fetchLabels.d.ts +1 -1
  197. package/dist/api/com/atproto/temp/fetchLabels.d.ts.map +1 -1
  198. package/dist/api/com/atproto/temp/fetchLabels.js.map +1 -1
  199. package/dist/api/health.d.ts +3 -3
  200. package/dist/api/health.d.ts.map +1 -1
  201. package/dist/api/health.js +2 -5
  202. package/dist/api/health.js.map +1 -1
  203. package/dist/api/index.d.ts +1 -1
  204. package/dist/api/index.d.ts.map +1 -1
  205. package/dist/api/index.js +20 -20
  206. package/dist/api/index.js.map +1 -1
  207. package/dist/api/well-known.d.ts +3 -3
  208. package/dist/api/well-known.d.ts.map +1 -1
  209. package/dist/api/well-known.js +2 -5
  210. package/dist/api/well-known.js.map +1 -1
  211. package/dist/auth-verifier.d.ts +1 -1
  212. package/dist/auth-verifier.d.ts.map +1 -1
  213. package/dist/auth-verifier.js +3 -3
  214. package/dist/auth-verifier.js.map +1 -1
  215. package/dist/bsync.d.ts +2 -2
  216. package/dist/bsync.d.ts.map +1 -1
  217. package/dist/bsync.js +1 -1
  218. package/dist/bsync.js.map +1 -1
  219. package/dist/context.d.ts +7 -8
  220. package/dist/context.d.ts.map +1 -1
  221. package/dist/context.js +1 -2
  222. package/dist/context.js.map +1 -1
  223. package/dist/courier.d.ts +2 -2
  224. package/dist/courier.d.ts.map +1 -1
  225. package/dist/courier.js +1 -1
  226. package/dist/courier.js.map +1 -1
  227. package/dist/data-plane/bsync/index.d.ts +1 -1
  228. package/dist/data-plane/bsync/index.d.ts.map +1 -1
  229. package/dist/data-plane/bsync/index.js +6 -6
  230. package/dist/data-plane/bsync/index.js.map +1 -1
  231. package/dist/data-plane/client.d.ts.map +1 -1
  232. package/dist/data-plane/client.js +1 -1
  233. package/dist/data-plane/client.js.map +1 -1
  234. package/dist/data-plane/server/background.d.ts.map +1 -1
  235. package/dist/data-plane/server/background.js.map +1 -1
  236. package/dist/data-plane/server/db/database-schema.d.ts +26 -27
  237. package/dist/data-plane/server/db/database-schema.d.ts.map +1 -1
  238. package/dist/data-plane/server/db/db.d.ts +2 -2
  239. package/dist/data-plane/server/db/db.d.ts.map +1 -1
  240. package/dist/data-plane/server/db/db.js +6 -6
  241. package/dist/data-plane/server/db/db.js.map +1 -1
  242. package/dist/data-plane/server/db/util.d.ts +1 -1
  243. package/dist/data-plane/server/db/util.d.ts.map +1 -1
  244. package/dist/data-plane/server/index.d.ts +2 -2
  245. package/dist/data-plane/server/index.d.ts.map +1 -1
  246. package/dist/data-plane/server/index.js +4 -4
  247. package/dist/data-plane/server/index.js.map +1 -1
  248. package/dist/data-plane/server/indexing/index.d.ts +14 -14
  249. package/dist/data-plane/server/indexing/index.d.ts.map +1 -1
  250. package/dist/data-plane/server/indexing/index.js +16 -16
  251. package/dist/data-plane/server/indexing/index.js.map +1 -1
  252. package/dist/data-plane/server/indexing/plugins/block.d.ts +2 -2
  253. package/dist/data-plane/server/indexing/plugins/block.d.ts.map +1 -1
  254. package/dist/data-plane/server/indexing/plugins/block.js +2 -5
  255. package/dist/data-plane/server/indexing/plugins/block.js.map +1 -1
  256. package/dist/data-plane/server/indexing/plugins/chat-declaration.d.ts +2 -2
  257. package/dist/data-plane/server/indexing/plugins/chat-declaration.d.ts.map +1 -1
  258. package/dist/data-plane/server/indexing/plugins/chat-declaration.js +2 -5
  259. package/dist/data-plane/server/indexing/plugins/chat-declaration.js.map +1 -1
  260. package/dist/data-plane/server/indexing/plugins/feed-generator.d.ts +2 -2
  261. package/dist/data-plane/server/indexing/plugins/feed-generator.d.ts.map +1 -1
  262. package/dist/data-plane/server/indexing/plugins/feed-generator.js +2 -5
  263. package/dist/data-plane/server/indexing/plugins/feed-generator.js.map +1 -1
  264. package/dist/data-plane/server/indexing/plugins/follow.d.ts +2 -2
  265. package/dist/data-plane/server/indexing/plugins/follow.d.ts.map +1 -1
  266. package/dist/data-plane/server/indexing/plugins/follow.js +2 -5
  267. package/dist/data-plane/server/indexing/plugins/follow.js.map +1 -1
  268. package/dist/data-plane/server/indexing/plugins/labeler.d.ts +2 -2
  269. package/dist/data-plane/server/indexing/plugins/labeler.d.ts.map +1 -1
  270. package/dist/data-plane/server/indexing/plugins/labeler.js +2 -5
  271. package/dist/data-plane/server/indexing/plugins/labeler.js.map +1 -1
  272. package/dist/data-plane/server/indexing/plugins/like.d.ts +2 -2
  273. package/dist/data-plane/server/indexing/plugins/like.d.ts.map +1 -1
  274. package/dist/data-plane/server/indexing/plugins/like.js +2 -5
  275. package/dist/data-plane/server/indexing/plugins/like.js.map +1 -1
  276. package/dist/data-plane/server/indexing/plugins/list-block.d.ts +2 -2
  277. package/dist/data-plane/server/indexing/plugins/list-block.d.ts.map +1 -1
  278. package/dist/data-plane/server/indexing/plugins/list-block.js +2 -5
  279. package/dist/data-plane/server/indexing/plugins/list-block.js.map +1 -1
  280. package/dist/data-plane/server/indexing/plugins/list-item.d.ts +2 -2
  281. package/dist/data-plane/server/indexing/plugins/list-item.d.ts.map +1 -1
  282. package/dist/data-plane/server/indexing/plugins/list-item.js +3 -6
  283. package/dist/data-plane/server/indexing/plugins/list-item.js.map +1 -1
  284. package/dist/data-plane/server/indexing/plugins/list.d.ts +3 -3
  285. package/dist/data-plane/server/indexing/plugins/list.d.ts.map +1 -1
  286. package/dist/data-plane/server/indexing/plugins/list.js +2 -5
  287. package/dist/data-plane/server/indexing/plugins/list.js.map +1 -1
  288. package/dist/data-plane/server/indexing/plugins/post-gate.d.ts +3 -3
  289. package/dist/data-plane/server/indexing/plugins/post-gate.d.ts.map +1 -1
  290. package/dist/data-plane/server/indexing/plugins/post-gate.js +2 -5
  291. package/dist/data-plane/server/indexing/plugins/post-gate.js.map +1 -1
  292. package/dist/data-plane/server/indexing/plugins/post.d.ts +3 -3
  293. package/dist/data-plane/server/indexing/plugins/post.d.ts.map +1 -1
  294. package/dist/data-plane/server/indexing/plugins/post.js +21 -24
  295. package/dist/data-plane/server/indexing/plugins/post.js.map +1 -1
  296. package/dist/data-plane/server/indexing/plugins/profile.d.ts +3 -3
  297. package/dist/data-plane/server/indexing/plugins/profile.d.ts.map +1 -1
  298. package/dist/data-plane/server/indexing/plugins/profile.js +2 -5
  299. package/dist/data-plane/server/indexing/plugins/profile.js.map +1 -1
  300. package/dist/data-plane/server/indexing/plugins/repost.d.ts +2 -2
  301. package/dist/data-plane/server/indexing/plugins/repost.d.ts.map +1 -1
  302. package/dist/data-plane/server/indexing/plugins/repost.js +2 -5
  303. package/dist/data-plane/server/indexing/plugins/repost.js.map +1 -1
  304. package/dist/data-plane/server/indexing/plugins/starter-pack.d.ts +2 -2
  305. package/dist/data-plane/server/indexing/plugins/starter-pack.d.ts.map +1 -1
  306. package/dist/data-plane/server/indexing/plugins/starter-pack.js +2 -5
  307. package/dist/data-plane/server/indexing/plugins/starter-pack.js.map +1 -1
  308. package/dist/data-plane/server/indexing/plugins/thread-gate.d.ts +3 -3
  309. package/dist/data-plane/server/indexing/plugins/thread-gate.d.ts.map +1 -1
  310. package/dist/data-plane/server/indexing/plugins/thread-gate.js +2 -5
  311. package/dist/data-plane/server/indexing/plugins/thread-gate.js.map +1 -1
  312. package/dist/data-plane/server/indexing/processor.d.ts +2 -2
  313. package/dist/data-plane/server/indexing/processor.d.ts.map +1 -1
  314. package/dist/data-plane/server/indexing/processor.js +1 -1
  315. package/dist/data-plane/server/indexing/processor.js.map +1 -1
  316. package/dist/data-plane/server/routes/feeds.d.ts.map +1 -1
  317. package/dist/data-plane/server/routes/feeds.js +1 -1
  318. package/dist/data-plane/server/routes/feeds.js.map +1 -1
  319. package/dist/data-plane/server/routes/follows.d.ts.map +1 -1
  320. package/dist/data-plane/server/routes/follows.js +1 -1
  321. package/dist/data-plane/server/routes/follows.js.map +1 -1
  322. package/dist/data-plane/server/routes/identity.d.ts +1 -1
  323. package/dist/data-plane/server/routes/identity.d.ts.map +1 -1
  324. package/dist/data-plane/server/routes/identity.js +1 -1
  325. package/dist/data-plane/server/routes/identity.js.map +1 -1
  326. package/dist/data-plane/server/routes/index.d.ts.map +1 -1
  327. package/dist/data-plane/server/routes/index.js +1 -1
  328. package/dist/data-plane/server/routes/index.js.map +1 -1
  329. package/dist/data-plane/server/routes/interactions.d.ts.map +1 -1
  330. package/dist/data-plane/server/routes/interactions.js +11 -11
  331. package/dist/data-plane/server/routes/interactions.js.map +1 -1
  332. package/dist/data-plane/server/routes/labels.d.ts.map +1 -1
  333. package/dist/data-plane/server/routes/labels.js.map +1 -1
  334. package/dist/data-plane/server/routes/likes.d.ts.map +1 -1
  335. package/dist/data-plane/server/routes/likes.js +1 -2
  336. package/dist/data-plane/server/routes/likes.js.map +1 -1
  337. package/dist/data-plane/server/routes/lists.d.ts.map +1 -1
  338. package/dist/data-plane/server/routes/lists.js +2 -2
  339. package/dist/data-plane/server/routes/lists.js.map +1 -1
  340. package/dist/data-plane/server/routes/mutes.d.ts.map +1 -1
  341. package/dist/data-plane/server/routes/mutes.js +7 -7
  342. package/dist/data-plane/server/routes/mutes.js.map +1 -1
  343. package/dist/data-plane/server/routes/notifs.js +2 -2
  344. package/dist/data-plane/server/routes/notifs.js.map +1 -1
  345. package/dist/data-plane/server/routes/posts.d.ts.map +1 -1
  346. package/dist/data-plane/server/routes/posts.js +1 -1
  347. package/dist/data-plane/server/routes/posts.js.map +1 -1
  348. package/dist/data-plane/server/routes/profile.d.ts.map +1 -1
  349. package/dist/data-plane/server/routes/profile.js +4 -4
  350. package/dist/data-plane/server/routes/profile.js.map +1 -1
  351. package/dist/data-plane/server/routes/records.d.ts.map +1 -1
  352. package/dist/data-plane/server/routes/records.js +7 -7
  353. package/dist/data-plane/server/routes/records.js.map +1 -1
  354. package/dist/data-plane/server/routes/relationships.d.ts.map +1 -1
  355. package/dist/data-plane/server/routes/relationships.js +9 -9
  356. package/dist/data-plane/server/routes/relationships.js.map +1 -1
  357. package/dist/data-plane/server/routes/reposts.d.ts.map +1 -1
  358. package/dist/data-plane/server/routes/reposts.js +1 -2
  359. package/dist/data-plane/server/routes/reposts.js.map +1 -1
  360. package/dist/data-plane/server/routes/suggestions.d.ts.map +1 -1
  361. package/dist/data-plane/server/routes/suggestions.js.map +1 -1
  362. package/dist/data-plane/server/subscription.d.ts +3 -3
  363. package/dist/data-plane/server/subscription.d.ts.map +1 -1
  364. package/dist/data-plane/server/subscription.js +2 -2
  365. package/dist/data-plane/server/subscription.js.map +1 -1
  366. package/dist/data-plane/server/util.d.ts +1 -1
  367. package/dist/data-plane/server/util.d.ts.map +1 -1
  368. package/dist/data-plane/server/util.js +16 -5
  369. package/dist/data-plane/server/util.js.map +1 -1
  370. package/dist/error.d.ts.map +1 -1
  371. package/dist/error.js.map +1 -1
  372. package/dist/feature-gates.d.ts.map +1 -1
  373. package/dist/feature-gates.js.map +1 -1
  374. package/dist/hydration/feed.d.ts +3 -3
  375. package/dist/hydration/feed.d.ts.map +1 -1
  376. package/dist/hydration/feed.js +1 -1
  377. package/dist/hydration/feed.js.map +1 -1
  378. package/dist/hydration/graph.d.ts +4 -4
  379. package/dist/hydration/graph.d.ts.map +1 -1
  380. package/dist/hydration/graph.js.map +1 -1
  381. package/dist/hydration/hydrator.d.ts +4 -4
  382. package/dist/hydration/hydrator.d.ts.map +1 -1
  383. package/dist/hydration/hydrator.js +4 -4
  384. package/dist/hydration/hydrator.js.map +1 -1
  385. package/dist/hydration/label.d.ts +2 -2
  386. package/dist/hydration/label.d.ts.map +1 -1
  387. package/dist/hydration/label.js +1 -1
  388. package/dist/hydration/label.js.map +1 -1
  389. package/dist/hydration/util.d.ts.map +1 -1
  390. package/dist/hydration/util.js +2 -2
  391. package/dist/hydration/util.js.map +1 -1
  392. package/dist/image/index.d.ts +1 -1
  393. package/dist/image/index.d.ts.map +1 -1
  394. package/dist/image/server.d.ts +1 -1
  395. package/dist/image/server.d.ts.map +1 -1
  396. package/dist/image/server.js +3 -3
  397. package/dist/image/server.js.map +1 -1
  398. package/dist/image/sharp.d.ts.map +1 -1
  399. package/dist/image/sharp.js +1 -1
  400. package/dist/image/sharp.js.map +1 -1
  401. package/dist/index.d.ts +6 -6
  402. package/dist/index.d.ts.map +1 -1
  403. package/dist/index.js +22 -22
  404. package/dist/index.js.map +1 -1
  405. package/dist/lexicon/lexicons.d.ts +68 -4
  406. package/dist/lexicon/lexicons.d.ts.map +1 -1
  407. package/dist/lexicon/lexicons.js +39 -0
  408. package/dist/lexicon/lexicons.js.map +1 -1
  409. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +19 -1
  410. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  411. package/dist/lexicon/types/app/bsky/actor/defs.js +10 -0
  412. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  413. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts +1 -0
  414. package/dist/lexicon/types/app/bsky/feed/postgate.d.ts.map +1 -1
  415. package/dist/lexicon/types/app/bsky/feed/postgate.js.map +1 -1
  416. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts +8 -1
  417. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts.map +1 -1
  418. package/dist/lexicon/types/app/bsky/feed/threadgate.js +10 -0
  419. package/dist/lexicon/types/app/bsky/feed/threadgate.js.map +1 -1
  420. package/dist/logger.js +2 -5
  421. package/dist/logger.js.map +1 -1
  422. package/dist/redis.js +5 -5
  423. package/dist/redis.js.map +1 -1
  424. package/dist/util/http.d.ts.map +1 -1
  425. package/dist/util/http.js.map +1 -1
  426. package/dist/util/uris.d.ts.map +1 -1
  427. package/dist/views/index.d.ts +7 -7
  428. package/dist/views/index.d.ts.map +1 -1
  429. package/dist/views/index.js +12 -10
  430. package/dist/views/index.js.map +1 -1
  431. package/dist/views/types.d.ts +3 -3
  432. package/dist/views/types.d.ts.map +1 -1
  433. package/dist/views/util.d.ts +2 -1
  434. package/dist/views/util.d.ts.map +1 -1
  435. package/dist/views/util.js +10 -3
  436. package/dist/views/util.js.map +1 -1
  437. package/package.json +20 -17
  438. package/src/api/app/bsky/actor/getProfile.ts +5 -5
  439. package/src/api/app/bsky/actor/getProfiles.ts +6 -6
  440. package/src/api/app/bsky/actor/getSuggestions.ts +7 -7
  441. package/src/api/app/bsky/actor/searchActors.ts +6 -6
  442. package/src/api/app/bsky/actor/searchActorsTypeahead.ts +5 -5
  443. package/src/api/app/bsky/feed/getActorFeeds.ts +7 -7
  444. package/src/api/app/bsky/feed/getActorLikes.ts +9 -9
  445. package/src/api/app/bsky/feed/getAuthorFeed.ts +10 -10
  446. package/src/api/app/bsky/feed/getFeed.ts +15 -16
  447. package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -3
  448. package/src/api/app/bsky/feed/getFeedGenerators.ts +4 -4
  449. package/src/api/app/bsky/feed/getLikes.ts +6 -7
  450. package/src/api/app/bsky/feed/getListFeed.ts +9 -9
  451. package/src/api/app/bsky/feed/getPostThread.ts +7 -7
  452. package/src/api/app/bsky/feed/getPosts.ts +6 -6
  453. package/src/api/app/bsky/feed/getQuotes.ts +7 -7
  454. package/src/api/app/bsky/feed/getRepostedBy.ts +5 -5
  455. package/src/api/app/bsky/feed/getSuggestedFeeds.ts +2 -2
  456. package/src/api/app/bsky/feed/getTimeline.ts +9 -9
  457. package/src/api/app/bsky/feed/searchPosts.ts +6 -6
  458. package/src/api/app/bsky/graph/getActorStarterPacks.ts +7 -7
  459. package/src/api/app/bsky/graph/getBlocks.ts +4 -4
  460. package/src/api/app/bsky/graph/getFollowers.ts +6 -6
  461. package/src/api/app/bsky/graph/getFollows.ts +6 -6
  462. package/src/api/app/bsky/graph/getKnownFollowers.ts +2 -2
  463. package/src/api/app/bsky/graph/getList.ts +10 -10
  464. package/src/api/app/bsky/graph/getListBlocks.ts +4 -4
  465. package/src/api/app/bsky/graph/getListMutes.ts +4 -4
  466. package/src/api/app/bsky/graph/getLists.ts +4 -4
  467. package/src/api/app/bsky/graph/getMutes.ts +3 -3
  468. package/src/api/app/bsky/graph/getRelationships.ts +1 -1
  469. package/src/api/app/bsky/graph/getStarterPack.ts +4 -4
  470. package/src/api/app/bsky/graph/getStarterPacks.ts +5 -5
  471. package/src/api/app/bsky/graph/getSuggestedFollowsByActor.ts +4 -4
  472. package/src/api/app/bsky/graph/muteActor.ts +1 -1
  473. package/src/api/app/bsky/graph/muteActorList.ts +1 -1
  474. package/src/api/app/bsky/graph/muteThread.ts +1 -1
  475. package/src/api/app/bsky/graph/searchStarterPacks.ts +7 -7
  476. package/src/api/app/bsky/graph/unmuteActor.ts +1 -1
  477. package/src/api/app/bsky/graph/unmuteActorList.ts +1 -1
  478. package/src/api/app/bsky/graph/unmuteThread.ts +1 -1
  479. package/src/api/app/bsky/labeler/getServices.ts +2 -2
  480. package/src/api/app/bsky/notification/getUnreadCount.ts +2 -2
  481. package/src/api/app/bsky/notification/listNotifications.ts +6 -6
  482. package/src/api/app/bsky/notification/putPreferences.ts +1 -1
  483. package/src/api/app/bsky/notification/registerPush.ts +1 -1
  484. package/src/api/app/bsky/notification/updateSeen.ts +3 -3
  485. package/src/api/app/bsky/unspecced/getConfig.ts +1 -1
  486. package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
  487. package/src/api/app/bsky/unspecced/getTaggedSuggestions.ts +1 -1
  488. package/src/api/app/bsky/unspecced/getTrendingTopics.ts +7 -7
  489. package/src/api/blob-dispatcher.ts +1 -2
  490. package/src/api/blob-resolver.ts +12 -13
  491. package/src/api/com/atproto/admin/getAccountInfos.ts +2 -2
  492. package/src/api/com/atproto/admin/getSubjectStatus.ts +1 -1
  493. package/src/api/com/atproto/admin/updateSubjectStatus.ts +2 -2
  494. package/src/api/com/atproto/identity/resolveHandle.ts +2 -2
  495. package/src/api/com/atproto/label/queryLabels.ts +2 -2
  496. package/src/api/com/atproto/repo/getRecord.ts +2 -2
  497. package/src/api/com/atproto/temp/fetchLabels.ts +2 -2
  498. package/src/api/health.ts +4 -4
  499. package/src/api/index.ts +21 -21
  500. package/src/api/well-known.ts +4 -4
  501. package/src/auth-verifier.ts +6 -6
  502. package/src/bsync.ts +3 -3
  503. package/src/context.ts +8 -10
  504. package/src/courier.ts +3 -3
  505. package/src/data-plane/bsync/index.ts +6 -6
  506. package/src/data-plane/client.ts +1 -1
  507. package/src/data-plane/server/background.ts +1 -1
  508. package/src/data-plane/server/db/database-schema.ts +26 -28
  509. package/src/data-plane/server/db/db.ts +6 -6
  510. package/src/data-plane/server/db/util.ts +2 -2
  511. package/src/data-plane/server/index.ts +5 -5
  512. package/src/data-plane/server/indexing/index.ts +21 -21
  513. package/src/data-plane/server/indexing/plugins/block.ts +4 -4
  514. package/src/data-plane/server/indexing/plugins/chat-declaration.ts +4 -4
  515. package/src/data-plane/server/indexing/plugins/feed-generator.ts +4 -4
  516. package/src/data-plane/server/indexing/plugins/follow.ts +5 -5
  517. package/src/data-plane/server/indexing/plugins/labeler.ts +4 -4
  518. package/src/data-plane/server/indexing/plugins/like.ts +5 -5
  519. package/src/data-plane/server/indexing/plugins/list-block.ts +4 -4
  520. package/src/data-plane/server/indexing/plugins/list-item.ts +5 -5
  521. package/src/data-plane/server/indexing/plugins/list.ts +5 -5
  522. package/src/data-plane/server/indexing/plugins/post-gate.ts +5 -5
  523. package/src/data-plane/server/indexing/plugins/post.ts +18 -18
  524. package/src/data-plane/server/indexing/plugins/profile.ts +5 -5
  525. package/src/data-plane/server/indexing/plugins/repost.ts +4 -4
  526. package/src/data-plane/server/indexing/plugins/starter-pack.ts +4 -4
  527. package/src/data-plane/server/indexing/plugins/thread-gate.ts +5 -5
  528. package/src/data-plane/server/indexing/processor.ts +3 -3
  529. package/src/data-plane/server/routes/feeds.ts +1 -1
  530. package/src/data-plane/server/routes/follows.ts +2 -2
  531. package/src/data-plane/server/routes/identity.ts +2 -2
  532. package/src/data-plane/server/routes/index.ts +2 -2
  533. package/src/data-plane/server/routes/interactions.ts +14 -12
  534. package/src/data-plane/server/routes/labels.ts +2 -2
  535. package/src/data-plane/server/routes/likes.ts +2 -3
  536. package/src/data-plane/server/routes/lists.ts +3 -3
  537. package/src/data-plane/server/routes/mutes.ts +3 -3
  538. package/src/data-plane/server/routes/notifs.ts +3 -3
  539. package/src/data-plane/server/routes/posts.ts +2 -2
  540. package/src/data-plane/server/routes/profile.ts +6 -6
  541. package/src/data-plane/server/routes/quotes.ts +1 -1
  542. package/src/data-plane/server/routes/records.ts +7 -7
  543. package/src/data-plane/server/routes/relationships.ts +10 -10
  544. package/src/data-plane/server/routes/reposts.ts +2 -3
  545. package/src/data-plane/server/routes/suggestions.ts +1 -1
  546. package/src/data-plane/server/subscription.ts +3 -3
  547. package/src/data-plane/server/util.ts +14 -3
  548. package/src/error.ts +1 -1
  549. package/src/feature-gates.ts +0 -2
  550. package/src/hydration/feed.ts +9 -9
  551. package/src/hydration/graph.ts +4 -4
  552. package/src/hydration/hydrator.ts +27 -27
  553. package/src/hydration/label.ts +4 -4
  554. package/src/hydration/util.ts +2 -2
  555. package/src/image/index.ts +1 -1
  556. package/src/image/server.ts +12 -13
  557. package/src/image/sharp.ts +2 -2
  558. package/src/index.ts +23 -23
  559. package/src/lexicon/lexicons.ts +44 -0
  560. package/src/lexicon/types/app/bsky/actor/defs.ts +37 -0
  561. package/src/lexicon/types/app/bsky/feed/postgate.ts +1 -0
  562. package/src/lexicon/types/app/bsky/feed/threadgate.ts +19 -0
  563. package/src/logger.ts +1 -1
  564. package/src/redis.ts +1 -1
  565. package/src/util/http.ts +1 -1
  566. package/src/util/uris.ts +1 -1
  567. package/src/views/index.ts +27 -22
  568. package/src/views/types.ts +9 -9
  569. package/src/views/util.ts +15 -6
  570. package/tests/_util.ts +4 -5
  571. package/tests/admin/admin-auth.test.ts +2 -2
  572. package/tests/admin/moderation.test.ts +1 -1
  573. package/tests/auth.test.ts +1 -1
  574. package/tests/blob-resolver.test.ts +2 -2
  575. package/tests/data-plane/duplicate-records.test.ts +3 -3
  576. package/tests/data-plane/handle-invalidation.test.ts +2 -2
  577. package/tests/data-plane/indexing.test.ts +8 -8
  578. package/tests/data-plane/subscription.test.ts +1 -1
  579. package/tests/data-plane/thread-mutes.test.ts +1 -1
  580. package/tests/entryway-auth.test.ts +5 -5
  581. package/tests/feed-generation.test.ts +8 -8
  582. package/tests/hydration/util.test.ts +1 -1
  583. package/tests/image/server.test.ts +2 -2
  584. package/tests/image/uri.test.ts +2 -2
  585. package/tests/label-hydration.test.ts +1 -1
  586. package/tests/postgates.test.ts +2 -3
  587. package/tests/query-labels.test.ts +1 -1
  588. package/tests/seed/feed-hidden-replies.ts +1 -1
  589. package/tests/seed/known-followers.ts +1 -1
  590. package/tests/seed/postgates.ts +1 -1
  591. package/tests/server.test.ts +2 -2
  592. package/tests/views/__snapshots__/threadgating.test.ts.snap +21 -0
  593. package/tests/views/account-deactivation.test.ts +1 -1
  594. package/tests/views/actor-likes.test.ts +1 -1
  595. package/tests/views/actor-search.test.ts +2 -2
  596. package/tests/views/author-feed.test.ts +10 -10
  597. package/tests/views/block-lists.test.ts +3 -3
  598. package/tests/views/blocks.test.ts +4 -4
  599. package/tests/views/feed-hidden-replies.test.ts +2 -3
  600. package/tests/views/feed-view-post.test.ts +2 -2
  601. package/tests/views/follows.test.ts +2 -2
  602. package/tests/views/known-followers.test.ts +2 -3
  603. package/tests/views/labeler-service.test.ts +2 -2
  604. package/tests/views/labels-needs-review.test.ts +2 -2
  605. package/tests/views/labels-takedown.test.ts +1 -1
  606. package/tests/views/likes.test.ts +2 -2
  607. package/tests/views/list-feed.test.ts +2 -2
  608. package/tests/views/lists.test.ts +2 -2
  609. package/tests/views/mute-lists.test.ts +3 -3
  610. package/tests/views/mutes.test.ts +2 -2
  611. package/tests/views/notifications.test.ts +3 -3
  612. package/tests/views/posts.test.ts +3 -3
  613. package/tests/views/profile.test.ts +3 -3
  614. package/tests/views/quotes.test.ts +2 -2
  615. package/tests/views/reposts.test.ts +2 -2
  616. package/tests/views/starter-packs.test.ts +3 -3
  617. package/tests/views/suggested-follows.test.ts +2 -2
  618. package/tests/views/suggestions.test.ts +2 -2
  619. package/tests/views/thread.test.ts +2 -2
  620. package/tests/views/threadgating.test.ts +111 -11
  621. package/tests/views/timeline.test.ts +5 -5
package/src/index.ts CHANGED
@@ -1,39 +1,39 @@
1
- import express from 'express'
2
- import http from 'http'
3
- import { AddressInfo } from 'net'
4
- import events from 'events'
5
- import { createHttpTerminator, HttpTerminator } from 'http-terminator'
6
- import cors from 'cors'
1
+ import events from 'node:events'
2
+ import http from 'node:http'
3
+ import { AddressInfo } from 'node:net'
7
4
  import compression from 'compression'
5
+ import cors from 'cors'
6
+ import express from 'express'
7
+ import { HttpTerminator, createHttpTerminator } from 'http-terminator'
8
8
  import { AtpAgent } from '@atproto/api'
9
- import { IdResolver } from '@atproto/identity'
10
9
  import { DAY, SECOND } from '@atproto/common'
11
10
  import { Keypair } from '@atproto/crypto'
12
- import API, { health, wellKnown, blobResolver } from './api'
13
- import * as error from './error'
14
- import { loggerMiddleware } from './logger'
15
- import { ServerConfig } from './config'
16
- import { createServer } from './lexicon'
17
- import { ImageUriBuilder } from './image/uri'
18
- import * as imageServer from './image/server'
19
- import AppContext from './context'
20
- import { createDataPlaneClient } from './data-plane/client'
21
- import { Hydrator } from './hydration/hydrator'
22
- import { Views } from './views'
11
+ import { IdResolver } from '@atproto/identity'
12
+ import API, { blobResolver, health, wellKnown } from './api'
13
+ import { createBlobDispatcher } from './api/blob-dispatcher'
23
14
  import { AuthVerifier, createPublicKeyObject } from './auth-verifier'
24
15
  import { authWithApiKey as bsyncAuth, createBsyncClient } from './bsync'
16
+ import { ServerConfig } from './config'
17
+ import { AppContext } from './context'
25
18
  import { authWithApiKey as courierAuth, createCourierClient } from './courier'
19
+ import { createDataPlaneClient } from './data-plane/client'
20
+ import * as error from './error'
26
21
  import { FeatureGates } from './feature-gates'
22
+ import { Hydrator } from './hydration/hydrator'
23
+ import * as imageServer from './image/server'
24
+ import { ImageUriBuilder } from './image/uri'
25
+ import { createServer } from './lexicon'
26
+ import { loggerMiddleware } from './logger'
27
+ import { Views } from './views'
27
28
  import { VideoUriBuilder } from './views/util'
28
- import { createBlobDispatcher } from './api/blob-dispatcher'
29
29
 
30
- export * from './data-plane'
31
- export type { ServerConfigValues } from './config'
32
30
  export { ServerConfig } from './config'
33
- export { Database } from './data-plane/server/db'
34
- export { Redis } from './redis'
31
+ export type { ServerConfigValues } from './config'
35
32
  export { AppContext } from './context'
33
+ export * from './data-plane'
36
34
  export { BackgroundQueue } from './data-plane/server/background'
35
+ export { Database } from './data-plane/server/db'
36
+ export { Redis } from './redis'
37
37
 
38
38
  export class BskyAppView {
39
39
  public ctx: AppContext
@@ -4381,6 +4381,7 @@ export const schemaDict = {
4381
4381
  'lex:app.bsky.actor.defs#hiddenPostsPref',
4382
4382
  'lex:app.bsky.actor.defs#bskyAppStatePref',
4383
4383
  'lex:app.bsky.actor.defs#labelersPref',
4384
+ 'lex:app.bsky.actor.defs#postInteractionSettingsPref',
4384
4385
  ],
4385
4386
  },
4386
4387
  },
@@ -4714,6 +4715,39 @@ export const schemaDict = {
4714
4715
  },
4715
4716
  },
4716
4717
  },
4718
+ postInteractionSettingsPref: {
4719
+ type: 'object',
4720
+ description:
4721
+ 'Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly.',
4722
+ required: [],
4723
+ properties: {
4724
+ threadgateAllowRules: {
4725
+ description:
4726
+ 'Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply.',
4727
+ type: 'array',
4728
+ maxLength: 5,
4729
+ items: {
4730
+ type: 'union',
4731
+ refs: [
4732
+ 'lex:app.bsky.feed.threadgate#mentionRule',
4733
+ 'lex:app.bsky.feed.threadgate#followerRule',
4734
+ 'lex:app.bsky.feed.threadgate#followingRule',
4735
+ 'lex:app.bsky.feed.threadgate#listRule',
4736
+ ],
4737
+ },
4738
+ },
4739
+ postgateEmbeddingRules: {
4740
+ description:
4741
+ 'Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed.',
4742
+ type: 'array',
4743
+ maxLength: 5,
4744
+ items: {
4745
+ type: 'union',
4746
+ refs: ['lex:app.bsky.feed.postgate#disableRule'],
4747
+ },
4748
+ },
4749
+ },
4750
+ },
4717
4751
  },
4718
4752
  },
4719
4753
  AppBskyActorGetPreferences: {
@@ -7120,6 +7154,8 @@ export const schemaDict = {
7120
7154
  'List of AT-URIs embedding this post that the author has detached from.',
7121
7155
  },
7122
7156
  embeddingRules: {
7157
+ description:
7158
+ 'List of rules defining who can embed this post. If value is an empty array or is undefined, no particular rules apply and anyone can embed.',
7123
7159
  type: 'array',
7124
7160
  maxLength: 5,
7125
7161
  items: {
@@ -7333,12 +7369,15 @@ export const schemaDict = {
7333
7369
  description: 'Reference (AT-URI) to the post record.',
7334
7370
  },
7335
7371
  allow: {
7372
+ description:
7373
+ 'List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply.',
7336
7374
  type: 'array',
7337
7375
  maxLength: 5,
7338
7376
  items: {
7339
7377
  type: 'union',
7340
7378
  refs: [
7341
7379
  'lex:app.bsky.feed.threadgate#mentionRule',
7380
+ 'lex:app.bsky.feed.threadgate#followerRule',
7342
7381
  'lex:app.bsky.feed.threadgate#followingRule',
7343
7382
  'lex:app.bsky.feed.threadgate#listRule',
7344
7383
  ],
@@ -7365,6 +7404,11 @@ export const schemaDict = {
7365
7404
  description: 'Allow replies from actors mentioned in your post.',
7366
7405
  properties: {},
7367
7406
  },
7407
+ followerRule: {
7408
+ type: 'object',
7409
+ description: 'Allow replies from actors who follow you.',
7410
+ properties: {},
7411
+ },
7368
7412
  followingRule: {
7369
7413
  type: 'object',
7370
7414
  description: 'Allow replies from actors you follow.',
@@ -8,6 +8,8 @@ import { CID } from 'multiformats/cid'
8
8
  import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs'
9
9
  import * as AppBskyGraphDefs from '../graph/defs'
10
10
  import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'
11
+ import * as AppBskyFeedThreadgate from '../feed/threadgate'
12
+ import * as AppBskyFeedPostgate from '../feed/postgate'
11
13
 
12
14
  export interface ProfileViewBasic {
13
15
  did: string
@@ -188,6 +190,7 @@ export type Preferences = (
188
190
  | HiddenPostsPref
189
191
  | BskyAppStatePref
190
192
  | LabelersPref
193
+ | PostInteractionSettingsPref
191
194
  | { $type: string; [k: string]: unknown }
192
195
  )[]
193
196
 
@@ -532,3 +535,37 @@ export function isNux(v: unknown): v is Nux {
532
535
  export function validateNux(v: unknown): ValidationResult {
533
536
  return lexicons.validate('app.bsky.actor.defs#nux', v)
534
537
  }
538
+
539
+ /** Default post interaction settings for the account. These values should be applied as default values when creating new posts. These refs should mirror the threadgate and postgate records exactly. */
540
+ export interface PostInteractionSettingsPref {
541
+ /** Matches threadgate record. List of rules defining who can reply to this users posts. If value is an empty array, no one can reply. If value is undefined, anyone can reply. */
542
+ threadgateAllowRules?: (
543
+ | AppBskyFeedThreadgate.MentionRule
544
+ | AppBskyFeedThreadgate.FollowerRule
545
+ | AppBskyFeedThreadgate.FollowingRule
546
+ | AppBskyFeedThreadgate.ListRule
547
+ | { $type: string; [k: string]: unknown }
548
+ )[]
549
+ /** Matches postgate record. List of rules defining who can embed this users posts. If value is an empty array or is undefined, no particular rules apply and anyone can embed. */
550
+ postgateEmbeddingRules?: (
551
+ | AppBskyFeedPostgate.DisableRule
552
+ | { $type: string; [k: string]: unknown }
553
+ )[]
554
+ [k: string]: unknown
555
+ }
556
+
557
+ export function isPostInteractionSettingsPref(
558
+ v: unknown,
559
+ ): v is PostInteractionSettingsPref {
560
+ return (
561
+ isObj(v) &&
562
+ hasProp(v, '$type') &&
563
+ v.$type === 'app.bsky.actor.defs#postInteractionSettingsPref'
564
+ )
565
+ }
566
+
567
+ export function validatePostInteractionSettingsPref(
568
+ v: unknown,
569
+ ): ValidationResult {
570
+ return lexicons.validate('app.bsky.actor.defs#postInteractionSettingsPref', v)
571
+ }
@@ -12,6 +12,7 @@ export interface Record {
12
12
  post: string
13
13
  /** List of AT-URIs embedding this post that the author has detached from. */
14
14
  detachedEmbeddingUris?: string[]
15
+ /** List of rules defining who can embed this post. If value is an empty array or is undefined, no particular rules apply and anyone can embed. */
15
16
  embeddingRules?: (DisableRule | { $type: string; [k: string]: unknown })[]
16
17
  [k: string]: unknown
17
18
  }
@@ -9,8 +9,10 @@ import { CID } from 'multiformats/cid'
9
9
  export interface Record {
10
10
  /** Reference (AT-URI) to the post record. */
11
11
  post: string
12
+ /** List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply. */
12
13
  allow?: (
13
14
  | MentionRule
15
+ | FollowerRule
14
16
  | FollowingRule
15
17
  | ListRule
16
18
  | { $type: string; [k: string]: unknown }
@@ -51,6 +53,23 @@ export function validateMentionRule(v: unknown): ValidationResult {
51
53
  return lexicons.validate('app.bsky.feed.threadgate#mentionRule', v)
52
54
  }
53
55
 
56
+ /** Allow replies from actors who follow you. */
57
+ export interface FollowerRule {
58
+ [k: string]: unknown
59
+ }
60
+
61
+ export function isFollowerRule(v: unknown): v is FollowerRule {
62
+ return (
63
+ isObj(v) &&
64
+ hasProp(v, '$type') &&
65
+ v.$type === 'app.bsky.feed.threadgate#followerRule'
66
+ )
67
+ }
68
+
69
+ export function validateFollowerRule(v: unknown): ValidationResult {
70
+ return lexicons.validate('app.bsky.feed.threadgate#followerRule', v)
71
+ }
72
+
54
73
  /** Allow replies from actors you follow. */
55
74
  export interface FollowingRule {
56
75
  [k: string]: unknown
package/src/logger.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { IncomingMessage } from 'node:http'
2
2
  import { stdSerializers } from 'pino'
3
- import pinoHttp from 'pino-http'
3
+ import { pinoHttp } from 'pino-http'
4
4
  import { obfuscateHeaders, subsystemLogger } from '@atproto/common'
5
5
 
6
6
  export const dbLogger: ReturnType<typeof subsystemLogger> =
package/src/redis.ts CHANGED
@@ -1,4 +1,4 @@
1
- import assert from 'assert'
1
+ import assert from 'node:assert'
2
2
  import { Redis as RedisDriver } from 'ioredis'
3
3
 
4
4
  export class Redis {
package/src/util/http.ts CHANGED
@@ -1,5 +1,5 @@
1
- import createHttpError from 'http-errors'
2
1
  import { IncomingMessage, ServerResponse } from 'node:http'
2
+ import createHttpError from 'http-errors'
3
3
  import { IncomingHttpHeaders } from 'undici/types/header'
4
4
 
5
5
  type NextFunction = (err?: unknown) => void
package/src/util/uris.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { AtUri } from '@atproto/syntax'
2
2
  import { ids } from '../lexicon/lexicons'
3
3
  import {
4
- validateMain as validateStrongRef,
5
4
  Main as StrongRef,
5
+ validateMain as validateStrongRef,
6
6
  } from '../lexicon/types/com/atproto/repo/strongRef'
7
7
 
8
8
  /**
@@ -1,12 +1,16 @@
1
- import { AtUri, INVALID_HANDLE, normalizeDatetimeAlways } from '@atproto/syntax'
2
1
  import { mapDefined } from '@atproto/common'
3
- import { ImageUriBuilder } from '../image/uri'
2
+ import { AtUri, INVALID_HANDLE, normalizeDatetimeAlways } from '@atproto/syntax'
3
+ import { ProfileViewerState } from '../hydration/actor'
4
+ import { FeedItem, Post, Repost } from '../hydration/feed'
4
5
  import { HydrationState } from '../hydration/hydrator'
6
+ import { Label } from '../hydration/label'
7
+ import { RecordInfo } from '../hydration/util'
8
+ import { ImageUriBuilder } from '../image/uri'
5
9
  import { ids } from '../lexicon/lexicons'
6
10
  import {
7
- ProfileViewDetailed,
8
11
  ProfileView,
9
12
  ProfileViewBasic,
13
+ ProfileViewDetailed,
10
14
  ViewerState as ProfileViewer,
11
15
  } from '../lexicon/types/app/bsky/actor/defs'
12
16
  import {
@@ -15,14 +19,15 @@ import {
15
19
  GeneratorView,
16
20
  NotFoundPost,
17
21
  PostView,
18
- ReasonRepost,
19
22
  ReasonPin,
23
+ ReasonRepost,
20
24
  ReplyRef,
21
25
  ThreadViewPost,
22
26
  ThreadgateView,
23
27
  isPostView,
24
28
  } from '../lexicon/types/app/bsky/feed/defs'
25
29
  import { isRecord as isPostRecord } from '../lexicon/types/app/bsky/feed/post'
30
+ import { isListRule } from '../lexicon/types/app/bsky/feed/threadgate'
26
31
  import {
27
32
  ListView,
28
33
  ListViewBasic,
@@ -30,23 +35,23 @@ import {
30
35
  StarterPackViewBasic,
31
36
  } from '../lexicon/types/app/bsky/graph/defs'
32
37
  import {
33
- parseThreadGate,
34
- cidFromBlobJson,
35
- VideoUriBuilder,
36
- parsePostgate,
37
- } from './util'
38
+ LabelerView,
39
+ LabelerViewDetailed,
40
+ } from '../lexicon/types/app/bsky/labeler/defs'
41
+ import { isSelfLabels } from '../lexicon/types/com/atproto/label/defs'
42
+ import { Notification } from '../proto/bsky_pb'
38
43
  import {
39
- uriToDid as creatorFromUri,
44
+ postUriToPostgateUri,
45
+ postUriToThreadgateUri,
40
46
  safePinnedPost,
41
47
  uriToDid,
48
+ uriToDid as creatorFromUri,
42
49
  } from '../util/uris'
43
- import { isListRule } from '../lexicon/types/app/bsky/feed/threadgate'
44
- import { isSelfLabels } from '../lexicon/types/com/atproto/label/defs'
45
50
  import {
46
51
  Embed,
47
52
  EmbedBlocked,
48
- EmbedNotFound,
49
53
  EmbedDetached,
54
+ EmbedNotFound,
50
55
  EmbedView,
51
56
  ExternalEmbed,
52
57
  ExternalEmbedView,
@@ -68,16 +73,12 @@ import {
68
73
  isRecordWithMedia,
69
74
  isVideoEmbed,
70
75
  } from './types'
71
- import { Label } from '../hydration/label'
72
- import { FeedItem, Post, Repost } from '../hydration/feed'
73
- import { RecordInfo } from '../hydration/util'
74
76
  import {
75
- LabelerView,
76
- LabelerViewDetailed,
77
- } from '../lexicon/types/app/bsky/labeler/defs'
78
- import { Notification } from '../proto/bsky_pb'
79
- import { postUriToThreadgateUri, postUriToPostgateUri } from '../util/uris'
80
- import { ProfileViewerState } from '../hydration/actor'
77
+ VideoUriBuilder,
78
+ cidFromBlobJson,
79
+ parsePostgate,
80
+ parseThreadGate,
81
+ } from './util'
81
82
 
82
83
  export class Views {
83
84
  public imgUriBuilder: ImageUriBuilder = this.opts.imgUriBuilder
@@ -1162,12 +1163,16 @@ export class Views {
1162
1163
  const ownerDid = creatorFromUri(rootUriStr)
1163
1164
  const {
1164
1165
  canReply,
1166
+ allowFollower,
1165
1167
  allowFollowing,
1166
1168
  allowListUris = [],
1167
1169
  } = parseThreadGate(viewer, ownerDid, rootPost ?? null, gate)
1168
1170
  if (canReply) {
1169
1171
  return false
1170
1172
  }
1173
+ if (allowFollower && state.profileViewers?.get(ownerDid)?.following) {
1174
+ return false
1175
+ }
1171
1176
  if (allowFollowing && state.profileViewers?.get(ownerDid)?.followedBy) {
1172
1177
  return false
1173
1178
  }
@@ -1,15 +1,11 @@
1
- import {
2
- Main as ImagesEmbed,
3
- View as ImagesEmbedView,
4
- } from '../lexicon/types/app/bsky/embed/images'
5
- import {
6
- Main as VideoEmbed,
7
- View as VideoEmbedView,
8
- } from '../lexicon/types/app/bsky/embed/video'
9
1
  import {
10
2
  Main as ExternalEmbed,
11
3
  View as ExternalEmbedView,
12
4
  } from '../lexicon/types/app/bsky/embed/external'
5
+ import {
6
+ Main as ImagesEmbed,
7
+ View as ImagesEmbedView,
8
+ } from '../lexicon/types/app/bsky/embed/images'
13
9
  import {
14
10
  Main as RecordEmbed,
15
11
  View as RecordEmbedView,
@@ -19,6 +15,10 @@ import {
19
15
  Main as RecordWithMedia,
20
16
  View as RecordWithMediaView,
21
17
  } from '../lexicon/types/app/bsky/embed/recordWithMedia'
18
+ import {
19
+ Main as VideoEmbed,
20
+ View as VideoEmbedView,
21
+ } from '../lexicon/types/app/bsky/embed/video'
22
22
  import {
23
23
  BlockedPost,
24
24
  GeneratorView,
@@ -47,8 +47,8 @@ export type {
47
47
  Main as RecordEmbed,
48
48
  View as RecordEmbedView,
49
49
  ViewBlocked as EmbedBlocked,
50
- ViewNotFound as EmbedNotFound,
51
50
  ViewDetached as EmbedDetached,
51
+ ViewNotFound as EmbedNotFound,
52
52
  ViewRecord as PostEmbedView,
53
53
  } from '../lexicon/types/app/bsky/embed/record'
54
54
  export { isMain as isRecordEmbed } from '../lexicon/types/app/bsky/embed/record'
package/src/views/util.ts CHANGED
@@ -1,16 +1,17 @@
1
1
  import * as util from 'node:util'
2
2
  import { BlobRef } from '@atproto/lexicon'
3
3
  import { Record as PostRecord } from '../lexicon/types/app/bsky/feed/post'
4
+ import {
5
+ Record as PostgateRecord,
6
+ isDisableRule as isPostgateDisableRule,
7
+ } from '../lexicon/types/app/bsky/feed/postgate'
4
8
  import {
5
9
  Record as GateRecord,
10
+ isFollowerRule,
6
11
  isFollowingRule,
7
12
  isListRule,
8
13
  isMentionRule,
9
14
  } from '../lexicon/types/app/bsky/feed/threadgate'
10
- import {
11
- Record as PostgateRecord,
12
- isDisableRule as isPostgateDisableRule,
13
- } from '../lexicon/types/app/bsky/feed/postgate'
14
15
  import { isMention } from '../lexicon/types/app/bsky/richtext/facet'
15
16
 
16
17
  export const parseThreadGate = (
@@ -28,6 +29,7 @@ export const parseThreadGate = (
28
29
  }
29
30
 
30
31
  const allowMentions = gate.allow.some(isMentionRule)
32
+ const allowFollower = gate.allow.some(isFollowerRule)
31
33
  const allowFollowing = gate.allow.some(isFollowingRule)
32
34
  const allowListUris = gate.allow?.filter(isListRule).map((item) => item.list)
33
35
 
@@ -39,15 +41,22 @@ export const parseThreadGate = (
39
41
  )
40
42
  })
41
43
  if (isMentioned) {
42
- return { canReply: true, allowMentions, allowFollowing, allowListUris }
44
+ return {
45
+ canReply: true,
46
+ allowMentions,
47
+ allowFollower,
48
+ allowFollowing,
49
+ allowListUris,
50
+ }
43
51
  }
44
52
  }
45
- return { allowMentions, allowFollowing, allowListUris }
53
+ return { allowMentions, allowFollower, allowFollowing, allowListUris }
46
54
  }
47
55
 
48
56
  type ParsedThreadGate = {
49
57
  canReply?: boolean
50
58
  allowMentions?: boolean
59
+ allowFollower?: boolean
51
60
  allowFollowing?: boolean
52
61
  allowListUris?: string[]
53
62
  }
package/tests/_util.ts CHANGED
@@ -1,11 +1,10 @@
1
+ import { Server } from 'node:http'
2
+ import { AddressInfo } from 'node:net'
3
+ import { type Express } from 'express'
4
+ import { CID } from 'multiformats/cid'
1
5
  import { AppBskyFeedGetPostThread } from '@atproto/api'
2
6
  import { lexToJson } from '@atproto/lexicon'
3
7
  import { AtUri } from '@atproto/syntax'
4
- import { type Express } from 'express'
5
- import { CID } from 'multiformats/cid'
6
- import { Server } from 'node:http'
7
-
8
- import { AddressInfo } from 'node:net'
9
8
  import { isViewRecord } from '../src/lexicon/types/app/bsky/embed/record'
10
9
  import {
11
10
  FeedViewPost,
@@ -1,9 +1,9 @@
1
- import { SeedClient, usersSeed, TestNetwork } from '@atproto/dev-env'
2
1
  import { AtpAgent } from '@atproto/api'
3
2
  import { Secp256k1Keypair } from '@atproto/crypto'
3
+ import { SeedClient, TestNetwork, usersSeed } from '@atproto/dev-env'
4
4
  import { createServiceAuthHeaders } from '@atproto/xrpc-server'
5
- import { RepoRef } from '../../src/lexicon/types/com/atproto/admin/defs'
6
5
  import { ids } from '../../src/lexicon/lexicons'
6
+ import { RepoRef } from '../../src/lexicon/types/com/atproto/admin/defs'
7
7
 
8
8
  describe('admin auth', () => {
9
9
  let network: TestNetwork
@@ -1,5 +1,5 @@
1
- import { ImageRef, SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
2
1
  import { AtpAgent } from '@atproto/api'
2
+ import { ImageRef, SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
3
3
  import {
4
4
  RepoBlobRef,
5
5
  RepoRef,
@@ -1,7 +1,7 @@
1
1
  import { AtpAgent } from '@atproto/api'
2
+ import { Keypair, Secp256k1Keypair } from '@atproto/crypto'
2
3
  import { SeedClient, TestNetwork, usersSeed } from '@atproto/dev-env'
3
4
  import { createServiceJwt } from '@atproto/xrpc-server'
4
- import { Keypair, Secp256k1Keypair } from '@atproto/crypto'
5
5
  import { ids } from '../src/lexicon/lexicons'
6
6
 
7
7
  describe('auth', () => {
@@ -1,8 +1,8 @@
1
+ import { CID } from 'multiformats/cid'
2
+ import { request } from 'undici'
1
3
  import { cidForCbor, verifyCidForBytes } from '@atproto/common'
2
4
  import { randomBytes } from '@atproto/crypto'
3
5
  import { TestNetwork, basicSeed } from '@atproto/dev-env'
4
- import { CID } from 'multiformats/cid'
5
- import { request } from 'undici'
6
6
 
7
7
  describe('blob resolver', () => {
8
8
  let network: TestNetwork
@@ -1,7 +1,7 @@
1
- import { AtUri } from '@atproto/syntax'
2
- import { cidForCbor, TID } from '@atproto/common'
3
- import { WriteOpAction } from '@atproto/repo'
1
+ import { TID, cidForCbor } from '@atproto/common'
4
2
  import { TestNetwork } from '@atproto/dev-env'
3
+ import { WriteOpAction } from '@atproto/repo'
4
+ import { AtUri } from '@atproto/syntax'
5
5
  import * as lex from '../../src/lexicon/lexicons'
6
6
 
7
7
  type Database = TestNetwork['bsky']['db']
@@ -1,6 +1,6 @@
1
- import { DAY } from '@atproto/common'
2
- import { TestNetwork, SeedClient, usersSeed } from '@atproto/dev-env'
3
1
  import { AtpAgent } from '@atproto/api'
2
+ import { DAY } from '@atproto/common'
3
+ import { SeedClient, TestNetwork, usersSeed } from '@atproto/dev-env'
4
4
  import { ids } from '../../src/lexicon/lexicons'
5
5
 
6
6
  describe('handle invalidation', () => {
@@ -1,21 +1,21 @@
1
1
  import { sql } from 'kysely'
2
2
  import { CID } from 'multiformats/cid'
3
- import { cidForCbor, TID } from '@atproto/common'
4
- import { repoPrepare } from '@atproto/pds'
5
- import { WriteOpAction } from '@atproto/repo'
6
- import { AtUri } from '@atproto/syntax'
7
3
  import {
8
4
  AppBskyActorProfile,
9
- AppBskyFeedPost,
10
5
  AppBskyFeedLike,
6
+ AppBskyFeedPost,
11
7
  AppBskyFeedRepost,
12
8
  AppBskyGraphFollow,
13
9
  AtpAgent,
14
10
  } from '@atproto/api'
15
- import { TestNetwork, SeedClient, usersSeed, basicSeed } from '@atproto/dev-env'
16
- import { forSnapshot } from '../_util'
17
- import { ids } from '../../src/lexicon/lexicons'
11
+ import { TID, cidForCbor } from '@atproto/common'
12
+ import { SeedClient, TestNetwork, basicSeed, usersSeed } from '@atproto/dev-env'
13
+ import { repoPrepare } from '@atproto/pds'
14
+ import { WriteOpAction } from '@atproto/repo'
15
+ import { AtUri } from '@atproto/syntax'
18
16
  import { Database } from '../../src/data-plane/server/db'
17
+ import { ids } from '../../src/lexicon/lexicons'
18
+ import { forSnapshot } from '../_util'
19
19
 
20
20
  describe('indexing', () => {
21
21
  let network: TestNetwork
@@ -1,9 +1,9 @@
1
1
  import { AtpAgent } from '@atproto/api'
2
2
  import { cborDecode, cborEncode } from '@atproto/common'
3
- import { DatabaseSchemaType } from '../../src/data-plane/server/db/database-schema'
4
3
  import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
5
4
  import { PreparedWrite, sequencer } from '@atproto/pds'
6
5
  import { CommitData } from '@atproto/repo'
6
+ import { DatabaseSchemaType } from '../../src/data-plane/server/db/database-schema'
7
7
  import { ids } from '../../src/lexicon/lexicons'
8
8
  import { forSnapshot } from '../_util'
9
9
 
@@ -1,5 +1,5 @@
1
- import { RecordRef, SeedClient, TestNetwork, usersSeed } from '@atproto/dev-env'
2
1
  import { AtpAgent } from '@atproto/api'
2
+ import { RecordRef, SeedClient, TestNetwork, usersSeed } from '@atproto/dev-env'
3
3
  import { ids } from '../../src/lexicon/lexicons'
4
4
 
5
5
  describe('thread mutes', () => {
@@ -1,12 +1,12 @@
1
+ import assert from 'node:assert'
1
2
  import * as nodeCrypto from 'node:crypto'
3
+ import * as jose from 'jose'
2
4
  import KeyEncoder from 'key-encoder'
3
5
  import * as ui8 from 'uint8arrays'
4
- import * as jose from 'jose'
5
- import * as crypto from '@atproto/crypto'
6
- import { AtpAgent, AtUri } from '@atproto/api'
7
- import { basicSeed, SeedClient, TestNetwork } from '@atproto/dev-env'
8
- import assert from 'node:assert'
6
+ import { AtUri, AtpAgent } from '@atproto/api'
9
7
  import { MINUTE } from '@atproto/common'
8
+ import * as crypto from '@atproto/crypto'
9
+ import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
10
10
 
11
11
  const keyEncoder = new KeyEncoder('secp256k1')
12
12