@atproto/ozone 0.0.2

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 (444) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.txt +7 -0
  3. package/README.md +15 -0
  4. package/babel.config.js +3 -0
  5. package/bin/migration-create.ts +38 -0
  6. package/build.js +18 -0
  7. package/dist/api/admin/emitModerationEvent.d.ts +3 -0
  8. package/dist/api/admin/getModerationEvent.d.ts +3 -0
  9. package/dist/api/admin/getRecord.d.ts +3 -0
  10. package/dist/api/admin/getRepo.d.ts +3 -0
  11. package/dist/api/admin/queryModerationEvents.d.ts +3 -0
  12. package/dist/api/admin/queryModerationStatuses.d.ts +3 -0
  13. package/dist/api/admin/searchRepos.d.ts +3 -0
  14. package/dist/api/admin/util.d.ts +5 -0
  15. package/dist/api/com/atproto/admin/emitModerationEvent.d.ts +3 -0
  16. package/dist/api/com/atproto/admin/getModerationEvent.d.ts +3 -0
  17. package/dist/api/com/atproto/admin/getRecord.d.ts +3 -0
  18. package/dist/api/com/atproto/admin/getRepo.d.ts +3 -0
  19. package/dist/api/com/atproto/admin/queryModerationEvents.d.ts +3 -0
  20. package/dist/api/com/atproto/admin/queryModerationStatuses.d.ts +3 -0
  21. package/dist/api/com/atproto/admin/searchRepos.d.ts +3 -0
  22. package/dist/api/com/atproto/admin/util.d.ts +5 -0
  23. package/dist/api/com/atproto/moderation/createReport.d.ts +3 -0
  24. package/dist/api/com/atproto/moderation/util.d.ts +4 -0
  25. package/dist/api/com/atproto/temp/fetchLabels.d.ts +3 -0
  26. package/dist/api/health.d.ts +3 -0
  27. package/dist/api/index.d.ts +5 -0
  28. package/dist/api/label/queryLabels.d.ts +3 -0
  29. package/dist/api/label/subscribeLabels.d.ts +3 -0
  30. package/dist/api/moderation/createReport.d.ts +3 -0
  31. package/dist/api/moderation/util.d.ts +4 -0
  32. package/dist/api/temp/fetchLabels.d.ts +3 -0
  33. package/dist/api/util.d.ts +2 -0
  34. package/dist/api/well-known.d.ts +3 -0
  35. package/dist/auth-verifier.d.ts +47 -0
  36. package/dist/auth.d.ts +81 -0
  37. package/dist/background.d.ts +13 -0
  38. package/dist/config/config.d.ts +30 -0
  39. package/dist/config/env.d.ts +19 -0
  40. package/dist/config/index.d.ts +3 -0
  41. package/dist/config/secrets.d.ts +8 -0
  42. package/dist/config.d.ts +42 -0
  43. package/dist/context.d.ts +140 -0
  44. package/dist/daemon/config.d.ts +23 -0
  45. package/dist/daemon/context.d.ts +25 -0
  46. package/dist/daemon/event-pusher.d.ts +48 -0
  47. package/dist/daemon/event-reverser.d.ts +16 -0
  48. package/dist/daemon/index.d.ts +13 -0
  49. package/dist/db/index.d.ts +32 -0
  50. package/dist/db/index.js +33707 -0
  51. package/dist/db/index.js.map +7 -0
  52. package/dist/db/migrations/20231219T205730722Z-init.d.ts +3 -0
  53. package/dist/db/migrations/index.d.ts +1 -0
  54. package/dist/db/migrations/provider.d.ts +11 -0
  55. package/dist/db/pagination.d.ts +66 -0
  56. package/dist/db/schema/blob_push_event.d.ts +17 -0
  57. package/dist/db/schema/index.d.ts +10 -0
  58. package/dist/db/schema/label.d.ts +12 -0
  59. package/dist/db/schema/moderation_event.d.ts +22 -0
  60. package/dist/db/schema/moderation_subject_status.d.ts +25 -0
  61. package/dist/db/schema/record_push_event.d.ts +17 -0
  62. package/dist/db/schema/repo_push_event.d.ts +15 -0
  63. package/dist/db/types.d.ts +12 -0
  64. package/dist/error.d.ts +2 -0
  65. package/dist/index.d.ts +27 -0
  66. package/dist/index.js +131818 -0
  67. package/dist/index.js.map +7 -0
  68. package/dist/lexicon/index.d.ts +372 -0
  69. package/dist/lexicon/lexicons.d.ts +7553 -0
  70. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +104 -0
  71. package/dist/lexicon/types/app/bsky/actor/getPreferences.d.ts +31 -0
  72. package/dist/lexicon/types/app/bsky/actor/getProfile.d.ts +29 -0
  73. package/dist/lexicon/types/app/bsky/actor/getProfiles.d.ts +32 -0
  74. package/dist/lexicon/types/app/bsky/actor/getSuggestions.d.ts +34 -0
  75. package/dist/lexicon/types/app/bsky/actor/profile.d.ts +15 -0
  76. package/dist/lexicon/types/app/bsky/actor/putPreferences.d.ts +26 -0
  77. package/dist/lexicon/types/app/bsky/actor/searchActors.d.ts +36 -0
  78. package/dist/lexicon/types/app/bsky/actor/searchActorsTypeahead.d.ts +34 -0
  79. package/dist/lexicon/types/app/bsky/embed/external.d.ts +31 -0
  80. package/dist/lexicon/types/app/bsky/embed/images.d.ts +37 -0
  81. package/dist/lexicon/types/app/bsky/embed/record.d.ts +54 -0
  82. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts +24 -0
  83. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +151 -0
  84. package/dist/lexicon/types/app/bsky/feed/describeFeedGenerator.d.ts +46 -0
  85. package/dist/lexicon/types/app/bsky/feed/generator.d.ts +18 -0
  86. package/dist/lexicon/types/app/bsky/feed/getActorFeeds.d.ts +35 -0
  87. package/dist/lexicon/types/app/bsky/feed/getActorLikes.d.ts +36 -0
  88. package/dist/lexicon/types/app/bsky/feed/getAuthorFeed.d.ts +37 -0
  89. package/dist/lexicon/types/app/bsky/feed/getFeed.d.ts +36 -0
  90. package/dist/lexicon/types/app/bsky/feed/getFeedGenerator.d.ts +34 -0
  91. package/dist/lexicon/types/app/bsky/feed/getFeedGenerators.d.ts +32 -0
  92. package/dist/lexicon/types/app/bsky/feed/getFeedSkeleton.d.ts +36 -0
  93. package/dist/lexicon/types/app/bsky/feed/getLikes.d.ts +47 -0
  94. package/dist/lexicon/types/app/bsky/feed/getListFeed.d.ts +36 -0
  95. package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +38 -0
  96. package/dist/lexicon/types/app/bsky/feed/getPosts.d.ts +32 -0
  97. package/dist/lexicon/types/app/bsky/feed/getRepostedBy.d.ts +38 -0
  98. package/dist/lexicon/types/app/bsky/feed/getSuggestedFeeds.d.ts +34 -0
  99. package/dist/lexicon/types/app/bsky/feed/getTimeline.d.ts +35 -0
  100. package/dist/lexicon/types/app/bsky/feed/like.d.ts +9 -0
  101. package/dist/lexicon/types/app/bsky/feed/post.d.ts +50 -0
  102. package/dist/lexicon/types/app/bsky/feed/repost.d.ts +9 -0
  103. package/dist/lexicon/types/app/bsky/feed/searchPosts.d.ts +37 -0
  104. package/dist/lexicon/types/app/bsky/feed/threadgate.d.ts +28 -0
  105. package/dist/lexicon/types/app/bsky/graph/block.d.ts +8 -0
  106. package/dist/lexicon/types/app/bsky/graph/defs.d.ts +47 -0
  107. package/dist/lexicon/types/app/bsky/graph/follow.d.ts +8 -0
  108. package/dist/lexicon/types/app/bsky/graph/getBlocks.d.ts +34 -0
  109. package/dist/lexicon/types/app/bsky/graph/getFollowers.d.ts +36 -0
  110. package/dist/lexicon/types/app/bsky/graph/getFollows.d.ts +36 -0
  111. package/dist/lexicon/types/app/bsky/graph/getList.d.ts +36 -0
  112. package/dist/lexicon/types/app/bsky/graph/getListBlocks.d.ts +34 -0
  113. package/dist/lexicon/types/app/bsky/graph/getListMutes.d.ts +34 -0
  114. package/dist/lexicon/types/app/bsky/graph/getLists.d.ts +35 -0
  115. package/dist/lexicon/types/app/bsky/graph/getMutes.d.ts +34 -0
  116. package/dist/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +32 -0
  117. package/dist/lexicon/types/app/bsky/graph/list.d.ts +19 -0
  118. package/dist/lexicon/types/app/bsky/graph/listblock.d.ts +8 -0
  119. package/dist/lexicon/types/app/bsky/graph/listitem.d.ts +9 -0
  120. package/dist/lexicon/types/app/bsky/graph/muteActor.d.ts +25 -0
  121. package/dist/lexicon/types/app/bsky/graph/muteActorList.d.ts +25 -0
  122. package/dist/lexicon/types/app/bsky/graph/unmuteActor.d.ts +25 -0
  123. package/dist/lexicon/types/app/bsky/graph/unmuteActorList.d.ts +25 -0
  124. package/dist/lexicon/types/app/bsky/moderation/defs.d.ts +49 -0
  125. package/dist/lexicon/types/app/bsky/moderation/getService.d.ts +29 -0
  126. package/dist/lexicon/types/app/bsky/moderation/getServices.d.ts +32 -0
  127. package/dist/lexicon/types/app/bsky/moderation/service.d.ts +17 -0
  128. package/dist/lexicon/types/app/bsky/notification/getUnreadCount.d.ts +31 -0
  129. package/dist/lexicon/types/app/bsky/notification/listNotifications.d.ts +52 -0
  130. package/dist/lexicon/types/app/bsky/notification/registerPush.d.ts +28 -0
  131. package/dist/lexicon/types/app/bsky/notification/updateSeen.d.ts +25 -0
  132. package/dist/lexicon/types/app/bsky/richtext/facet.d.ts +36 -0
  133. package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +13 -0
  134. package/dist/lexicon/types/app/bsky/unspecced/getPopular.d.ts +35 -0
  135. package/dist/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +35 -0
  136. package/dist/lexicon/types/app/bsky/unspecced/getTimelineSkeleton.d.ts +35 -0
  137. package/dist/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +38 -0
  138. package/dist/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +37 -0
  139. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +319 -0
  140. package/dist/lexicon/types/com/atproto/admin/deleteAccount.d.ts +25 -0
  141. package/dist/lexicon/types/com/atproto/admin/disableAccountInvites.d.ts +26 -0
  142. package/dist/lexicon/types/com/atproto/admin/disableInviteCodes.d.ts +26 -0
  143. package/dist/lexicon/types/com/atproto/admin/emitModerationEvent.d.ts +45 -0
  144. package/dist/lexicon/types/com/atproto/admin/enableAccountInvites.d.ts +26 -0
  145. package/dist/lexicon/types/com/atproto/admin/getAccountInfo.d.ts +29 -0
  146. package/dist/lexicon/types/com/atproto/admin/getAccountInfos.d.ts +32 -0
  147. package/dist/lexicon/types/com/atproto/admin/getInviteCodes.d.ts +35 -0
  148. package/dist/lexicon/types/com/atproto/admin/getModerationEvent.d.ts +29 -0
  149. package/dist/lexicon/types/com/atproto/admin/getRecord.d.ts +31 -0
  150. package/dist/lexicon/types/com/atproto/admin/getRepo.d.ts +30 -0
  151. package/dist/lexicon/types/com/atproto/admin/getSubjectStatus.d.ts +39 -0
  152. package/dist/lexicon/types/com/atproto/admin/queryModerationEvents.d.ts +39 -0
  153. package/dist/lexicon/types/com/atproto/admin/queryModerationStatuses.d.ts +48 -0
  154. package/dist/lexicon/types/com/atproto/admin/searchRepos.d.ts +36 -0
  155. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +40 -0
  156. package/dist/lexicon/types/com/atproto/admin/updateAccountEmail.d.ts +26 -0
  157. package/dist/lexicon/types/com/atproto/admin/updateAccountHandle.d.ts +26 -0
  158. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +46 -0
  159. package/dist/lexicon/types/com/atproto/identity/resolveHandle.d.ts +31 -0
  160. package/dist/lexicon/types/com/atproto/identity/updateHandle.d.ts +25 -0
  161. package/dist/lexicon/types/com/atproto/label/defs.d.ts +24 -0
  162. package/dist/lexicon/types/com/atproto/label/queryLabels.d.ts +36 -0
  163. package/dist/lexicon/types/com/atproto/label/subscribeLabels.d.ts +36 -0
  164. package/dist/lexicon/types/com/atproto/moderation/createReport.d.ts +52 -0
  165. package/dist/lexicon/types/com/atproto/moderation/defs.d.ts +8 -0
  166. package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +53 -0
  167. package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +43 -0
  168. package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts +30 -0
  169. package/dist/lexicon/types/com/atproto/repo/describeRepo.d.ts +35 -0
  170. package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +36 -0
  171. package/dist/lexicon/types/com/atproto/repo/listRecords.d.ts +47 -0
  172. package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +44 -0
  173. package/dist/lexicon/types/com/atproto/repo/strongRef.d.ts +8 -0
  174. package/dist/lexicon/types/com/atproto/repo/uploadBlob.d.ts +36 -0
  175. package/dist/lexicon/types/com/atproto/server/confirmEmail.d.ts +27 -0
  176. package/dist/lexicon/types/com/atproto/server/createAccount.d.ts +49 -0
  177. package/dist/lexicon/types/com/atproto/server/createAppPassword.d.ts +43 -0
  178. package/dist/lexicon/types/com/atproto/server/createInviteCode.d.ts +37 -0
  179. package/dist/lexicon/types/com/atproto/server/createInviteCodes.d.ts +46 -0
  180. package/dist/lexicon/types/com/atproto/server/createSession.d.ts +44 -0
  181. package/dist/lexicon/types/com/atproto/server/defs.d.ts +20 -0
  182. package/dist/lexicon/types/com/atproto/server/deleteAccount.d.ts +28 -0
  183. package/dist/lexicon/types/com/atproto/server/deleteSession.d.ts +19 -0
  184. package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +41 -0
  185. package/dist/lexicon/types/com/atproto/server/getAccountInviteCodes.d.ts +34 -0
  186. package/dist/lexicon/types/com/atproto/server/getSession.d.ts +34 -0
  187. package/dist/lexicon/types/com/atproto/server/listAppPasswords.d.ts +39 -0
  188. package/dist/lexicon/types/com/atproto/server/refreshSession.d.ts +35 -0
  189. package/dist/lexicon/types/com/atproto/server/requestAccountDelete.d.ts +19 -0
  190. package/dist/lexicon/types/com/atproto/server/requestEmailConfirmation.d.ts +19 -0
  191. package/dist/lexicon/types/com/atproto/server/requestEmailUpdate.d.ts +30 -0
  192. package/dist/lexicon/types/com/atproto/server/requestPasswordReset.d.ts +25 -0
  193. package/dist/lexicon/types/com/atproto/server/reserveSigningKey.d.ts +36 -0
  194. package/dist/lexicon/types/com/atproto/server/resetPassword.d.ts +27 -0
  195. package/dist/lexicon/types/com/atproto/server/revokeAppPassword.d.ts +25 -0
  196. package/dist/lexicon/types/com/atproto/server/updateEmail.d.ts +27 -0
  197. package/dist/lexicon/types/com/atproto/sync/getBlob.d.ts +30 -0
  198. package/dist/lexicon/types/com/atproto/sync/getBlocks.d.ts +30 -0
  199. package/dist/lexicon/types/com/atproto/sync/getCheckout.d.ts +29 -0
  200. package/dist/lexicon/types/com/atproto/sync/getHead.d.ts +32 -0
  201. package/dist/lexicon/types/com/atproto/sync/getLatestCommit.d.ts +33 -0
  202. package/dist/lexicon/types/com/atproto/sync/getRecord.d.ts +32 -0
  203. package/dist/lexicon/types/com/atproto/sync/getRepo.d.ts +30 -0
  204. package/dist/lexicon/types/com/atproto/sync/listBlobs.d.ts +35 -0
  205. package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +42 -0
  206. package/dist/lexicon/types/com/atproto/sync/notifyOfUpdate.d.ts +25 -0
  207. package/dist/lexicon/types/com/atproto/sync/requestCrawl.d.ts +25 -0
  208. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts +80 -0
  209. package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +33 -0
  210. package/dist/lexicon/types/com/atproto/temp/importRepo.d.ts +32 -0
  211. package/dist/lexicon/types/com/atproto/temp/pushBlob.d.ts +25 -0
  212. package/dist/lexicon/types/com/atproto/temp/requestPhoneVerification.d.ts +25 -0
  213. package/dist/lexicon/types/com/atproto/temp/transferAccount.d.ts +42 -0
  214. package/dist/lexicon/util.d.ts +2 -0
  215. package/dist/logger.d.ts +4 -0
  216. package/dist/mod-service/index.d.ts +155 -0
  217. package/dist/mod-service/status.d.ts +12 -0
  218. package/dist/mod-service/subject.d.ts +59 -0
  219. package/dist/mod-service/types.d.ts +19 -0
  220. package/dist/mod-service/views.d.ts +49 -0
  221. package/dist/sequencer/index.d.ts +2 -0
  222. package/dist/sequencer/outbox.d.ts +16 -0
  223. package/dist/sequencer/sequencer.d.ts +35 -0
  224. package/dist/services/index.d.ts +7 -0
  225. package/dist/services/moderation/index.d.ts +144 -0
  226. package/dist/services/moderation/status.d.ts +12 -0
  227. package/dist/services/moderation/subject.d.ts +60 -0
  228. package/dist/services/moderation/types.d.ts +19 -0
  229. package/dist/services/moderation/views.d.ts +42 -0
  230. package/dist/services/types.d.ts +2 -0
  231. package/dist/util/date.d.ts +1 -0
  232. package/dist/util/debug.d.ts +1 -0
  233. package/dist/util/retry.d.ts +3 -0
  234. package/dist/util.d.ts +3 -0
  235. package/jest.config.js +6 -0
  236. package/package.json +67 -0
  237. package/src/api/admin/emitModerationEvent.ts +130 -0
  238. package/src/api/admin/getModerationEvent.ts +19 -0
  239. package/src/api/admin/getRecord.ts +34 -0
  240. package/src/api/admin/getRepo.ts +31 -0
  241. package/src/api/admin/queryModerationEvents.ts +40 -0
  242. package/src/api/admin/queryModerationStatuses.ts +57 -0
  243. package/src/api/admin/searchRepos.ts +42 -0
  244. package/src/api/admin/util.ts +54 -0
  245. package/src/api/health.ts +20 -0
  246. package/src/api/index.ts +28 -0
  247. package/src/api/moderation/createReport.ts +41 -0
  248. package/src/api/moderation/util.ts +65 -0
  249. package/src/api/temp/fetchLabels.ts +29 -0
  250. package/src/api/well-known.ts +35 -0
  251. package/src/auth.ts +147 -0
  252. package/src/background.ts +35 -0
  253. package/src/config/config.ts +84 -0
  254. package/src/config/env.ts +41 -0
  255. package/src/config/index.ts +3 -0
  256. package/src/config/secrets.ts +23 -0
  257. package/src/context.ts +180 -0
  258. package/src/daemon/context.ts +90 -0
  259. package/src/daemon/event-pusher.ts +296 -0
  260. package/src/daemon/event-reverser.ts +74 -0
  261. package/src/daemon/index.ts +33 -0
  262. package/src/db/index.ts +197 -0
  263. package/src/db/migrations/20231219T205730722Z-init.ts +164 -0
  264. package/src/db/migrations/index.ts +5 -0
  265. package/src/db/migrations/provider.ts +25 -0
  266. package/src/db/pagination.ts +216 -0
  267. package/src/db/schema/blob_push_event.ts +21 -0
  268. package/src/db/schema/index.ts +18 -0
  269. package/src/db/schema/label.ts +12 -0
  270. package/src/db/schema/moderation_event.ts +35 -0
  271. package/src/db/schema/moderation_subject_status.ts +32 -0
  272. package/src/db/schema/record_push_event.ts +21 -0
  273. package/src/db/schema/repo_push_event.ts +19 -0
  274. package/src/db/types.ts +15 -0
  275. package/src/error.ts +12 -0
  276. package/src/index.ts +102 -0
  277. package/src/lexicon/index.ts +1626 -0
  278. package/src/lexicon/lexicons.ts +8050 -0
  279. package/src/lexicon/types/app/bsky/actor/defs.ts +235 -0
  280. package/src/lexicon/types/app/bsky/actor/getPreferences.ts +44 -0
  281. package/src/lexicon/types/app/bsky/actor/getProfile.ts +41 -0
  282. package/src/lexicon/types/app/bsky/actor/getProfiles.ts +46 -0
  283. package/src/lexicon/types/app/bsky/actor/getSuggestions.ts +48 -0
  284. package/src/lexicon/types/app/bsky/actor/profile.ts +32 -0
  285. package/src/lexicon/types/app/bsky/actor/putPreferences.ts +39 -0
  286. package/src/lexicon/types/app/bsky/actor/searchActors.ts +52 -0
  287. package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +50 -0
  288. package/src/lexicon/types/app/bsky/embed/external.ts +82 -0
  289. package/src/lexicon/types/app/bsky/embed/images.ts +96 -0
  290. package/src/lexicon/types/app/bsky/embed/record.ts +120 -0
  291. package/src/lexicon/types/app/bsky/embed/recordWithMedia.ts +53 -0
  292. package/src/lexicon/types/app/bsky/feed/defs.ts +308 -0
  293. package/src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts +80 -0
  294. package/src/lexicon/types/app/bsky/feed/generator.ts +35 -0
  295. package/src/lexicon/types/app/bsky/feed/getActorFeeds.ts +49 -0
  296. package/src/lexicon/types/app/bsky/feed/getActorLikes.ts +50 -0
  297. package/src/lexicon/types/app/bsky/feed/getAuthorFeed.ts +56 -0
  298. package/src/lexicon/types/app/bsky/feed/getFeed.ts +50 -0
  299. package/src/lexicon/types/app/bsky/feed/getFeedGenerator.ts +48 -0
  300. package/src/lexicon/types/app/bsky/feed/getFeedGenerators.ts +46 -0
  301. package/src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts +50 -0
  302. package/src/lexicon/types/app/bsky/feed/getLikes.ts +69 -0
  303. package/src/lexicon/types/app/bsky/feed/getListFeed.ts +50 -0
  304. package/src/lexicon/types/app/bsky/feed/getPostThread.ts +53 -0
  305. package/src/lexicon/types/app/bsky/feed/getPosts.ts +46 -0
  306. package/src/lexicon/types/app/bsky/feed/getRepostedBy.ts +52 -0
  307. package/src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts +48 -0
  308. package/src/lexicon/types/app/bsky/feed/getTimeline.ts +49 -0
  309. package/src/lexicon/types/app/bsky/feed/like.ts +26 -0
  310. package/src/lexicon/types/app/bsky/feed/post.ts +102 -0
  311. package/src/lexicon/types/app/bsky/feed/repost.ts +27 -0
  312. package/src/lexicon/types/app/bsky/feed/searchPosts.ts +54 -0
  313. package/src/lexicon/types/app/bsky/feed/threadgate.ts +84 -0
  314. package/src/lexicon/types/app/bsky/graph/block.ts +26 -0
  315. package/src/lexicon/types/app/bsky/graph/defs.ts +104 -0
  316. package/src/lexicon/types/app/bsky/graph/follow.ts +26 -0
  317. package/src/lexicon/types/app/bsky/graph/getBlocks.ts +48 -0
  318. package/src/lexicon/types/app/bsky/graph/getFollowers.ts +50 -0
  319. package/src/lexicon/types/app/bsky/graph/getFollows.ts +50 -0
  320. package/src/lexicon/types/app/bsky/graph/getList.ts +50 -0
  321. package/src/lexicon/types/app/bsky/graph/getListBlocks.ts +48 -0
  322. package/src/lexicon/types/app/bsky/graph/getListMutes.ts +48 -0
  323. package/src/lexicon/types/app/bsky/graph/getLists.ts +49 -0
  324. package/src/lexicon/types/app/bsky/graph/getMutes.ts +48 -0
  325. package/src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts +46 -0
  326. package/src/lexicon/types/app/bsky/graph/list.ts +36 -0
  327. package/src/lexicon/types/app/bsky/graph/listblock.ts +26 -0
  328. package/src/lexicon/types/app/bsky/graph/listitem.ts +27 -0
  329. package/src/lexicon/types/app/bsky/graph/muteActor.ts +38 -0
  330. package/src/lexicon/types/app/bsky/graph/muteActorList.ts +38 -0
  331. package/src/lexicon/types/app/bsky/graph/unmuteActor.ts +38 -0
  332. package/src/lexicon/types/app/bsky/graph/unmuteActorList.ts +38 -0
  333. package/src/lexicon/types/app/bsky/notification/getUnreadCount.ts +45 -0
  334. package/src/lexicon/types/app/bsky/notification/listNotifications.ts +87 -0
  335. package/src/lexicon/types/app/bsky/notification/registerPush.ts +41 -0
  336. package/src/lexicon/types/app/bsky/notification/updateSeen.ts +38 -0
  337. package/src/lexicon/types/app/bsky/richtext/facet.ts +97 -0
  338. package/src/lexicon/types/app/bsky/unspecced/defs.ts +41 -0
  339. package/src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts +49 -0
  340. package/src/lexicon/types/app/bsky/unspecced/getTimelineSkeleton.ts +49 -0
  341. package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +56 -0
  342. package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +54 -0
  343. package/src/lexicon/types/com/atproto/admin/defs.ts +719 -0
  344. package/src/lexicon/types/com/atproto/admin/deleteAccount.ts +38 -0
  345. package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +40 -0
  346. package/src/lexicon/types/com/atproto/admin/disableInviteCodes.ts +39 -0
  347. package/src/lexicon/types/com/atproto/admin/emitModerationEvent.ts +66 -0
  348. package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +40 -0
  349. package/src/lexicon/types/com/atproto/admin/getAccountInfo.ts +41 -0
  350. package/src/lexicon/types/com/atproto/admin/getAccountInfos.ts +46 -0
  351. package/src/lexicon/types/com/atproto/admin/getInviteCodes.ts +49 -0
  352. package/src/lexicon/types/com/atproto/admin/getModerationEvent.ts +41 -0
  353. package/src/lexicon/types/com/atproto/admin/getRecord.ts +43 -0
  354. package/src/lexicon/types/com/atproto/admin/getRepo.ts +42 -0
  355. package/src/lexicon/types/com/atproto/admin/getSubjectStatus.ts +54 -0
  356. package/src/lexicon/types/com/atproto/admin/queryModerationEvents.ts +56 -0
  357. package/src/lexicon/types/com/atproto/admin/queryModerationStatuses.ts +72 -0
  358. package/src/lexicon/types/com/atproto/admin/searchRepos.ts +51 -0
  359. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +54 -0
  360. package/src/lexicon/types/com/atproto/admin/updateAccountEmail.ts +40 -0
  361. package/src/lexicon/types/com/atproto/admin/updateAccountHandle.ts +39 -0
  362. package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +61 -0
  363. package/src/lexicon/types/com/atproto/identity/resolveHandle.ts +46 -0
  364. package/src/lexicon/types/com/atproto/identity/updateHandle.ts +38 -0
  365. package/src/lexicon/types/com/atproto/label/defs.ts +73 -0
  366. package/src/lexicon/types/com/atproto/label/queryLabels.ts +52 -0
  367. package/src/lexicon/types/com/atproto/label/subscribeLabels.ts +67 -0
  368. package/src/lexicon/types/com/atproto/moderation/createReport.ts +65 -0
  369. package/src/lexicon/types/com/atproto/moderation/defs.ts +32 -0
  370. package/src/lexicon/types/com/atproto/repo/applyWrites.ts +103 -0
  371. package/src/lexicon/types/com/atproto/repo/createRecord.ts +62 -0
  372. package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +48 -0
  373. package/src/lexicon/types/com/atproto/repo/describeRepo.ts +50 -0
  374. package/src/lexicon/types/com/atproto/repo/getRecord.ts +54 -0
  375. package/src/lexicon/types/com/atproto/repo/listRecords.ts +77 -0
  376. package/src/lexicon/types/com/atproto/repo/putRecord.ts +64 -0
  377. package/src/lexicon/types/com/atproto/repo/strongRef.ts +26 -0
  378. package/src/lexicon/types/com/atproto/repo/uploadBlob.ts +47 -0
  379. package/src/lexicon/types/com/atproto/server/confirmEmail.ts +40 -0
  380. package/src/lexicon/types/com/atproto/server/createAccount.ts +69 -0
  381. package/src/lexicon/types/com/atproto/server/createAppPassword.ts +69 -0
  382. package/src/lexicon/types/com/atproto/server/createInviteCode.ts +50 -0
  383. package/src/lexicon/types/com/atproto/server/createInviteCodes.ts +72 -0
  384. package/src/lexicon/types/com/atproto/server/createSession.ts +58 -0
  385. package/src/lexicon/types/com/atproto/server/defs.ts +48 -0
  386. package/src/lexicon/types/com/atproto/server/deleteAccount.ts +41 -0
  387. package/src/lexicon/types/com/atproto/server/deleteSession.ts +31 -0
  388. package/src/lexicon/types/com/atproto/server/describeServer.ts +64 -0
  389. package/src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts +48 -0
  390. package/src/lexicon/types/com/atproto/server/getSession.ts +47 -0
  391. package/src/lexicon/types/com/atproto/server/listAppPasswords.ts +62 -0
  392. package/src/lexicon/types/com/atproto/server/refreshSession.ts +48 -0
  393. package/src/lexicon/types/com/atproto/server/requestAccountDelete.ts +31 -0
  394. package/src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts +31 -0
  395. package/src/lexicon/types/com/atproto/server/requestEmailUpdate.ts +43 -0
  396. package/src/lexicon/types/com/atproto/server/requestPasswordReset.ts +38 -0
  397. package/src/lexicon/types/com/atproto/server/reserveSigningKey.ts +51 -0
  398. package/src/lexicon/types/com/atproto/server/resetPassword.ts +40 -0
  399. package/src/lexicon/types/com/atproto/server/revokeAppPassword.ts +38 -0
  400. package/src/lexicon/types/com/atproto/server/updateEmail.ts +41 -0
  401. package/src/lexicon/types/com/atproto/sync/getBlob.ts +43 -0
  402. package/src/lexicon/types/com/atproto/sync/getBlocks.ts +42 -0
  403. package/src/lexicon/types/com/atproto/sync/getCheckout.ts +41 -0
  404. package/src/lexicon/types/com/atproto/sync/getHead.ts +47 -0
  405. package/src/lexicon/types/com/atproto/sync/getLatestCommit.ts +48 -0
  406. package/src/lexicon/types/com/atproto/sync/getRecord.ts +45 -0
  407. package/src/lexicon/types/com/atproto/sync/getRepo.ts +43 -0
  408. package/src/lexicon/types/com/atproto/sync/listBlobs.ts +51 -0
  409. package/src/lexicon/types/com/atproto/sync/listRepos.ts +66 -0
  410. package/src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts +39 -0
  411. package/src/lexicon/types/com/atproto/sync/requestCrawl.ts +39 -0
  412. package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +161 -0
  413. package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +47 -0
  414. package/src/lexicon/types/com/atproto/temp/importRepo.ts +45 -0
  415. package/src/lexicon/types/com/atproto/temp/pushBlob.ts +39 -0
  416. package/src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts +38 -0
  417. package/src/lexicon/types/com/atproto/temp/transferAccount.ts +62 -0
  418. package/src/lexicon/util.ts +13 -0
  419. package/src/logger.ts +19 -0
  420. package/src/mod-service/index.ts +758 -0
  421. package/src/mod-service/status.ts +264 -0
  422. package/src/mod-service/subject.ts +136 -0
  423. package/src/mod-service/types.ts +32 -0
  424. package/src/mod-service/views.ts +531 -0
  425. package/src/util.ts +26 -0
  426. package/test.env +2 -0
  427. package/test.log +0 -0
  428. package/tests/__snapshots__/get-record.test.ts.snap +173 -0
  429. package/tests/__snapshots__/get-repo.test.ts.snap +57 -0
  430. package/tests/__snapshots__/moderation-events.test.ts.snap +168 -0
  431. package/tests/__snapshots__/moderation-statuses.test.ts.snap +64 -0
  432. package/tests/__snapshots__/moderation.test.ts.snap +55 -0
  433. package/tests/_util.ts +192 -0
  434. package/tests/db.test.ts +184 -0
  435. package/tests/get-record.test.ts +110 -0
  436. package/tests/get-repo.test.ts +131 -0
  437. package/tests/moderation-appeals.test.ts +269 -0
  438. package/tests/moderation-events.test.ts +220 -0
  439. package/tests/moderation-statuses.test.ts +144 -0
  440. package/tests/moderation.test.ts +961 -0
  441. package/tests/repo-search.test.ts +123 -0
  442. package/tests/server.test.ts +76 -0
  443. package/tsconfig.build.json +4 -0
  444. package/tsconfig.json +21 -0
@@ -0,0 +1,719 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
5
+ import { lexicons } from '../../../../lexicons'
6
+ import { isObj, hasProp } from '../../../../util'
7
+ import { CID } from 'multiformats/cid'
8
+ import * as ComAtprotoRepoStrongRef from '../repo/strongRef'
9
+ import * as ComAtprotoModerationDefs from '../moderation/defs'
10
+ import * as ComAtprotoServerDefs from '../server/defs'
11
+ import * as ComAtprotoLabelDefs from '../label/defs'
12
+
13
+ export interface StatusAttr {
14
+ applied: boolean
15
+ ref?: string
16
+ [k: string]: unknown
17
+ }
18
+
19
+ export function isStatusAttr(v: unknown): v is StatusAttr {
20
+ return (
21
+ isObj(v) &&
22
+ hasProp(v, '$type') &&
23
+ v.$type === 'com.atproto.admin.defs#statusAttr'
24
+ )
25
+ }
26
+
27
+ export function validateStatusAttr(v: unknown): ValidationResult {
28
+ return lexicons.validate('com.atproto.admin.defs#statusAttr', v)
29
+ }
30
+
31
+ export interface ModEventView {
32
+ id: number
33
+ event:
34
+ | ModEventTakedown
35
+ | ModEventReverseTakedown
36
+ | ModEventComment
37
+ | ModEventReport
38
+ | ModEventLabel
39
+ | ModEventAcknowledge
40
+ | ModEventEscalate
41
+ | ModEventMute
42
+ | ModEventEmail
43
+ | { $type: string; [k: string]: unknown }
44
+ subject:
45
+ | RepoRef
46
+ | ComAtprotoRepoStrongRef.Main
47
+ | { $type: string; [k: string]: unknown }
48
+ subjectBlobCids: string[]
49
+ createdBy: string
50
+ createdAt: string
51
+ creatorHandle?: string
52
+ subjectHandle?: string
53
+ [k: string]: unknown
54
+ }
55
+
56
+ export function isModEventView(v: unknown): v is ModEventView {
57
+ return (
58
+ isObj(v) &&
59
+ hasProp(v, '$type') &&
60
+ v.$type === 'com.atproto.admin.defs#modEventView'
61
+ )
62
+ }
63
+
64
+ export function validateModEventView(v: unknown): ValidationResult {
65
+ return lexicons.validate('com.atproto.admin.defs#modEventView', v)
66
+ }
67
+
68
+ export interface ModEventViewDetail {
69
+ id: number
70
+ event:
71
+ | ModEventTakedown
72
+ | ModEventReverseTakedown
73
+ | ModEventComment
74
+ | ModEventReport
75
+ | ModEventLabel
76
+ | ModEventAcknowledge
77
+ | ModEventEscalate
78
+ | ModEventMute
79
+ | ModEventResolveAppeal
80
+ | { $type: string; [k: string]: unknown }
81
+ subject:
82
+ | RepoView
83
+ | RepoViewNotFound
84
+ | RecordView
85
+ | RecordViewNotFound
86
+ | { $type: string; [k: string]: unknown }
87
+ subjectBlobs: BlobView[]
88
+ createdBy: string
89
+ createdAt: string
90
+ [k: string]: unknown
91
+ }
92
+
93
+ export function isModEventViewDetail(v: unknown): v is ModEventViewDetail {
94
+ return (
95
+ isObj(v) &&
96
+ hasProp(v, '$type') &&
97
+ v.$type === 'com.atproto.admin.defs#modEventViewDetail'
98
+ )
99
+ }
100
+
101
+ export function validateModEventViewDetail(v: unknown): ValidationResult {
102
+ return lexicons.validate('com.atproto.admin.defs#modEventViewDetail', v)
103
+ }
104
+
105
+ export interface ReportView {
106
+ id: number
107
+ reasonType: ComAtprotoModerationDefs.ReasonType
108
+ comment?: string
109
+ subjectRepoHandle?: string
110
+ subject:
111
+ | RepoRef
112
+ | ComAtprotoRepoStrongRef.Main
113
+ | { $type: string; [k: string]: unknown }
114
+ reportedBy: string
115
+ createdAt: string
116
+ resolvedByActionIds: number[]
117
+ [k: string]: unknown
118
+ }
119
+
120
+ export function isReportView(v: unknown): v is ReportView {
121
+ return (
122
+ isObj(v) &&
123
+ hasProp(v, '$type') &&
124
+ v.$type === 'com.atproto.admin.defs#reportView'
125
+ )
126
+ }
127
+
128
+ export function validateReportView(v: unknown): ValidationResult {
129
+ return lexicons.validate('com.atproto.admin.defs#reportView', v)
130
+ }
131
+
132
+ export interface SubjectStatusView {
133
+ id: number
134
+ subject:
135
+ | RepoRef
136
+ | ComAtprotoRepoStrongRef.Main
137
+ | { $type: string; [k: string]: unknown }
138
+ subjectBlobCids?: string[]
139
+ subjectRepoHandle?: string
140
+ /** Timestamp referencing when the last update was made to the moderation status of the subject */
141
+ updatedAt: string
142
+ /** Timestamp referencing the first moderation status impacting event was emitted on the subject */
143
+ createdAt: string
144
+ reviewState: SubjectReviewState
145
+ /** Sticky comment on the subject. */
146
+ comment?: string
147
+ muteUntil?: string
148
+ lastReviewedBy?: string
149
+ lastReviewedAt?: string
150
+ lastReportedAt?: string
151
+ /** Timestamp referencing when the author of the subject appealed a moderation action */
152
+ lastAppealedAt?: string
153
+ takendown?: boolean
154
+ /** True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. */
155
+ appealed?: boolean
156
+ suspendUntil?: string
157
+ [k: string]: unknown
158
+ }
159
+
160
+ export function isSubjectStatusView(v: unknown): v is SubjectStatusView {
161
+ return (
162
+ isObj(v) &&
163
+ hasProp(v, '$type') &&
164
+ v.$type === 'com.atproto.admin.defs#subjectStatusView'
165
+ )
166
+ }
167
+
168
+ export function validateSubjectStatusView(v: unknown): ValidationResult {
169
+ return lexicons.validate('com.atproto.admin.defs#subjectStatusView', v)
170
+ }
171
+
172
+ export interface ReportViewDetail {
173
+ id: number
174
+ reasonType: ComAtprotoModerationDefs.ReasonType
175
+ comment?: string
176
+ subject:
177
+ | RepoView
178
+ | RepoViewNotFound
179
+ | RecordView
180
+ | RecordViewNotFound
181
+ | { $type: string; [k: string]: unknown }
182
+ subjectStatus?: SubjectStatusView
183
+ reportedBy: string
184
+ createdAt: string
185
+ resolvedByActions: ModEventView[]
186
+ [k: string]: unknown
187
+ }
188
+
189
+ export function isReportViewDetail(v: unknown): v is ReportViewDetail {
190
+ return (
191
+ isObj(v) &&
192
+ hasProp(v, '$type') &&
193
+ v.$type === 'com.atproto.admin.defs#reportViewDetail'
194
+ )
195
+ }
196
+
197
+ export function validateReportViewDetail(v: unknown): ValidationResult {
198
+ return lexicons.validate('com.atproto.admin.defs#reportViewDetail', v)
199
+ }
200
+
201
+ export interface RepoView {
202
+ did: string
203
+ handle: string
204
+ email?: string
205
+ relatedRecords: {}[]
206
+ indexedAt: string
207
+ moderation: Moderation
208
+ invitedBy?: ComAtprotoServerDefs.InviteCode
209
+ invitesDisabled?: boolean
210
+ inviteNote?: string
211
+ [k: string]: unknown
212
+ }
213
+
214
+ export function isRepoView(v: unknown): v is RepoView {
215
+ return (
216
+ isObj(v) &&
217
+ hasProp(v, '$type') &&
218
+ v.$type === 'com.atproto.admin.defs#repoView'
219
+ )
220
+ }
221
+
222
+ export function validateRepoView(v: unknown): ValidationResult {
223
+ return lexicons.validate('com.atproto.admin.defs#repoView', v)
224
+ }
225
+
226
+ export interface RepoViewDetail {
227
+ did: string
228
+ handle: string
229
+ email?: string
230
+ relatedRecords: {}[]
231
+ indexedAt: string
232
+ moderation: ModerationDetail
233
+ labels?: ComAtprotoLabelDefs.Label[]
234
+ invitedBy?: ComAtprotoServerDefs.InviteCode
235
+ invites?: ComAtprotoServerDefs.InviteCode[]
236
+ invitesDisabled?: boolean
237
+ inviteNote?: string
238
+ emailConfirmedAt?: string
239
+ [k: string]: unknown
240
+ }
241
+
242
+ export function isRepoViewDetail(v: unknown): v is RepoViewDetail {
243
+ return (
244
+ isObj(v) &&
245
+ hasProp(v, '$type') &&
246
+ v.$type === 'com.atproto.admin.defs#repoViewDetail'
247
+ )
248
+ }
249
+
250
+ export function validateRepoViewDetail(v: unknown): ValidationResult {
251
+ return lexicons.validate('com.atproto.admin.defs#repoViewDetail', v)
252
+ }
253
+
254
+ export interface AccountView {
255
+ did: string
256
+ handle: string
257
+ email?: string
258
+ relatedRecords?: {}[]
259
+ indexedAt: string
260
+ invitedBy?: ComAtprotoServerDefs.InviteCode
261
+ invites?: ComAtprotoServerDefs.InviteCode[]
262
+ invitesDisabled?: boolean
263
+ emailConfirmedAt?: string
264
+ inviteNote?: string
265
+ [k: string]: unknown
266
+ }
267
+
268
+ export function isAccountView(v: unknown): v is AccountView {
269
+ return (
270
+ isObj(v) &&
271
+ hasProp(v, '$type') &&
272
+ v.$type === 'com.atproto.admin.defs#accountView'
273
+ )
274
+ }
275
+
276
+ export function validateAccountView(v: unknown): ValidationResult {
277
+ return lexicons.validate('com.atproto.admin.defs#accountView', v)
278
+ }
279
+
280
+ export interface RepoViewNotFound {
281
+ did: string
282
+ [k: string]: unknown
283
+ }
284
+
285
+ export function isRepoViewNotFound(v: unknown): v is RepoViewNotFound {
286
+ return (
287
+ isObj(v) &&
288
+ hasProp(v, '$type') &&
289
+ v.$type === 'com.atproto.admin.defs#repoViewNotFound'
290
+ )
291
+ }
292
+
293
+ export function validateRepoViewNotFound(v: unknown): ValidationResult {
294
+ return lexicons.validate('com.atproto.admin.defs#repoViewNotFound', v)
295
+ }
296
+
297
+ export interface RepoRef {
298
+ did: string
299
+ [k: string]: unknown
300
+ }
301
+
302
+ export function isRepoRef(v: unknown): v is RepoRef {
303
+ return (
304
+ isObj(v) &&
305
+ hasProp(v, '$type') &&
306
+ v.$type === 'com.atproto.admin.defs#repoRef'
307
+ )
308
+ }
309
+
310
+ export function validateRepoRef(v: unknown): ValidationResult {
311
+ return lexicons.validate('com.atproto.admin.defs#repoRef', v)
312
+ }
313
+
314
+ export interface RepoBlobRef {
315
+ did: string
316
+ cid: string
317
+ recordUri?: string
318
+ [k: string]: unknown
319
+ }
320
+
321
+ export function isRepoBlobRef(v: unknown): v is RepoBlobRef {
322
+ return (
323
+ isObj(v) &&
324
+ hasProp(v, '$type') &&
325
+ v.$type === 'com.atproto.admin.defs#repoBlobRef'
326
+ )
327
+ }
328
+
329
+ export function validateRepoBlobRef(v: unknown): ValidationResult {
330
+ return lexicons.validate('com.atproto.admin.defs#repoBlobRef', v)
331
+ }
332
+
333
+ export interface RecordView {
334
+ uri: string
335
+ cid: string
336
+ value: {}
337
+ blobCids: string[]
338
+ indexedAt: string
339
+ moderation: Moderation
340
+ repo: RepoView
341
+ [k: string]: unknown
342
+ }
343
+
344
+ export function isRecordView(v: unknown): v is RecordView {
345
+ return (
346
+ isObj(v) &&
347
+ hasProp(v, '$type') &&
348
+ v.$type === 'com.atproto.admin.defs#recordView'
349
+ )
350
+ }
351
+
352
+ export function validateRecordView(v: unknown): ValidationResult {
353
+ return lexicons.validate('com.atproto.admin.defs#recordView', v)
354
+ }
355
+
356
+ export interface RecordViewDetail {
357
+ uri: string
358
+ cid: string
359
+ value: {}
360
+ blobs: BlobView[]
361
+ labels?: ComAtprotoLabelDefs.Label[]
362
+ indexedAt: string
363
+ moderation: ModerationDetail
364
+ repo: RepoView
365
+ [k: string]: unknown
366
+ }
367
+
368
+ export function isRecordViewDetail(v: unknown): v is RecordViewDetail {
369
+ return (
370
+ isObj(v) &&
371
+ hasProp(v, '$type') &&
372
+ v.$type === 'com.atproto.admin.defs#recordViewDetail'
373
+ )
374
+ }
375
+
376
+ export function validateRecordViewDetail(v: unknown): ValidationResult {
377
+ return lexicons.validate('com.atproto.admin.defs#recordViewDetail', v)
378
+ }
379
+
380
+ export interface RecordViewNotFound {
381
+ uri: string
382
+ [k: string]: unknown
383
+ }
384
+
385
+ export function isRecordViewNotFound(v: unknown): v is RecordViewNotFound {
386
+ return (
387
+ isObj(v) &&
388
+ hasProp(v, '$type') &&
389
+ v.$type === 'com.atproto.admin.defs#recordViewNotFound'
390
+ )
391
+ }
392
+
393
+ export function validateRecordViewNotFound(v: unknown): ValidationResult {
394
+ return lexicons.validate('com.atproto.admin.defs#recordViewNotFound', v)
395
+ }
396
+
397
+ export interface Moderation {
398
+ subjectStatus?: SubjectStatusView
399
+ [k: string]: unknown
400
+ }
401
+
402
+ export function isModeration(v: unknown): v is Moderation {
403
+ return (
404
+ isObj(v) &&
405
+ hasProp(v, '$type') &&
406
+ v.$type === 'com.atproto.admin.defs#moderation'
407
+ )
408
+ }
409
+
410
+ export function validateModeration(v: unknown): ValidationResult {
411
+ return lexicons.validate('com.atproto.admin.defs#moderation', v)
412
+ }
413
+
414
+ export interface ModerationDetail {
415
+ subjectStatus?: SubjectStatusView
416
+ [k: string]: unknown
417
+ }
418
+
419
+ export function isModerationDetail(v: unknown): v is ModerationDetail {
420
+ return (
421
+ isObj(v) &&
422
+ hasProp(v, '$type') &&
423
+ v.$type === 'com.atproto.admin.defs#moderationDetail'
424
+ )
425
+ }
426
+
427
+ export function validateModerationDetail(v: unknown): ValidationResult {
428
+ return lexicons.validate('com.atproto.admin.defs#moderationDetail', v)
429
+ }
430
+
431
+ export interface BlobView {
432
+ cid: string
433
+ mimeType: string
434
+ size: number
435
+ createdAt: string
436
+ details?:
437
+ | ImageDetails
438
+ | VideoDetails
439
+ | { $type: string; [k: string]: unknown }
440
+ moderation?: Moderation
441
+ [k: string]: unknown
442
+ }
443
+
444
+ export function isBlobView(v: unknown): v is BlobView {
445
+ return (
446
+ isObj(v) &&
447
+ hasProp(v, '$type') &&
448
+ v.$type === 'com.atproto.admin.defs#blobView'
449
+ )
450
+ }
451
+
452
+ export function validateBlobView(v: unknown): ValidationResult {
453
+ return lexicons.validate('com.atproto.admin.defs#blobView', v)
454
+ }
455
+
456
+ export interface ImageDetails {
457
+ width: number
458
+ height: number
459
+ [k: string]: unknown
460
+ }
461
+
462
+ export function isImageDetails(v: unknown): v is ImageDetails {
463
+ return (
464
+ isObj(v) &&
465
+ hasProp(v, '$type') &&
466
+ v.$type === 'com.atproto.admin.defs#imageDetails'
467
+ )
468
+ }
469
+
470
+ export function validateImageDetails(v: unknown): ValidationResult {
471
+ return lexicons.validate('com.atproto.admin.defs#imageDetails', v)
472
+ }
473
+
474
+ export interface VideoDetails {
475
+ width: number
476
+ height: number
477
+ length: number
478
+ [k: string]: unknown
479
+ }
480
+
481
+ export function isVideoDetails(v: unknown): v is VideoDetails {
482
+ return (
483
+ isObj(v) &&
484
+ hasProp(v, '$type') &&
485
+ v.$type === 'com.atproto.admin.defs#videoDetails'
486
+ )
487
+ }
488
+
489
+ export function validateVideoDetails(v: unknown): ValidationResult {
490
+ return lexicons.validate('com.atproto.admin.defs#videoDetails', v)
491
+ }
492
+
493
+ export type SubjectReviewState =
494
+ | 'lex:com.atproto.admin.defs#reviewOpen'
495
+ | 'lex:com.atproto.admin.defs#reviewEscalated'
496
+ | 'lex:com.atproto.admin.defs#reviewClosed'
497
+ | (string & {})
498
+
499
+ /** Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator */
500
+ export const REVIEWOPEN = 'com.atproto.admin.defs#reviewOpen'
501
+ /** Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator */
502
+ export const REVIEWESCALATED = 'com.atproto.admin.defs#reviewEscalated'
503
+ /** Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator */
504
+ export const REVIEWCLOSED = 'com.atproto.admin.defs#reviewClosed'
505
+
506
+ /** Take down a subject permanently or temporarily */
507
+ export interface ModEventTakedown {
508
+ comment?: string
509
+ /** Indicates how long the takedown should be in effect before automatically expiring. */
510
+ durationInHours?: number
511
+ [k: string]: unknown
512
+ }
513
+
514
+ export function isModEventTakedown(v: unknown): v is ModEventTakedown {
515
+ return (
516
+ isObj(v) &&
517
+ hasProp(v, '$type') &&
518
+ v.$type === 'com.atproto.admin.defs#modEventTakedown'
519
+ )
520
+ }
521
+
522
+ export function validateModEventTakedown(v: unknown): ValidationResult {
523
+ return lexicons.validate('com.atproto.admin.defs#modEventTakedown', v)
524
+ }
525
+
526
+ /** Revert take down action on a subject */
527
+ export interface ModEventReverseTakedown {
528
+ /** Describe reasoning behind the reversal. */
529
+ comment?: string
530
+ [k: string]: unknown
531
+ }
532
+
533
+ export function isModEventReverseTakedown(
534
+ v: unknown,
535
+ ): v is ModEventReverseTakedown {
536
+ return (
537
+ isObj(v) &&
538
+ hasProp(v, '$type') &&
539
+ v.$type === 'com.atproto.admin.defs#modEventReverseTakedown'
540
+ )
541
+ }
542
+
543
+ export function validateModEventReverseTakedown(v: unknown): ValidationResult {
544
+ return lexicons.validate('com.atproto.admin.defs#modEventReverseTakedown', v)
545
+ }
546
+
547
+ /** Resolve appeal on a subject */
548
+ export interface ModEventResolveAppeal {
549
+ /** Describe resolution. */
550
+ comment?: string
551
+ [k: string]: unknown
552
+ }
553
+
554
+ export function isModEventResolveAppeal(
555
+ v: unknown,
556
+ ): v is ModEventResolveAppeal {
557
+ return (
558
+ isObj(v) &&
559
+ hasProp(v, '$type') &&
560
+ v.$type === 'com.atproto.admin.defs#modEventResolveAppeal'
561
+ )
562
+ }
563
+
564
+ export function validateModEventResolveAppeal(v: unknown): ValidationResult {
565
+ return lexicons.validate('com.atproto.admin.defs#modEventResolveAppeal', v)
566
+ }
567
+
568
+ /** Add a comment to a subject */
569
+ export interface ModEventComment {
570
+ comment: string
571
+ /** Make the comment persistent on the subject */
572
+ sticky?: boolean
573
+ [k: string]: unknown
574
+ }
575
+
576
+ export function isModEventComment(v: unknown): v is ModEventComment {
577
+ return (
578
+ isObj(v) &&
579
+ hasProp(v, '$type') &&
580
+ v.$type === 'com.atproto.admin.defs#modEventComment'
581
+ )
582
+ }
583
+
584
+ export function validateModEventComment(v: unknown): ValidationResult {
585
+ return lexicons.validate('com.atproto.admin.defs#modEventComment', v)
586
+ }
587
+
588
+ /** Report a subject */
589
+ export interface ModEventReport {
590
+ comment?: string
591
+ reportType: ComAtprotoModerationDefs.ReasonType
592
+ [k: string]: unknown
593
+ }
594
+
595
+ export function isModEventReport(v: unknown): v is ModEventReport {
596
+ return (
597
+ isObj(v) &&
598
+ hasProp(v, '$type') &&
599
+ v.$type === 'com.atproto.admin.defs#modEventReport'
600
+ )
601
+ }
602
+
603
+ export function validateModEventReport(v: unknown): ValidationResult {
604
+ return lexicons.validate('com.atproto.admin.defs#modEventReport', v)
605
+ }
606
+
607
+ /** Apply/Negate labels on a subject */
608
+ export interface ModEventLabel {
609
+ comment?: string
610
+ createLabelVals: string[]
611
+ negateLabelVals: string[]
612
+ [k: string]: unknown
613
+ }
614
+
615
+ export function isModEventLabel(v: unknown): v is ModEventLabel {
616
+ return (
617
+ isObj(v) &&
618
+ hasProp(v, '$type') &&
619
+ v.$type === 'com.atproto.admin.defs#modEventLabel'
620
+ )
621
+ }
622
+
623
+ export function validateModEventLabel(v: unknown): ValidationResult {
624
+ return lexicons.validate('com.atproto.admin.defs#modEventLabel', v)
625
+ }
626
+
627
+ export interface ModEventAcknowledge {
628
+ comment?: string
629
+ [k: string]: unknown
630
+ }
631
+
632
+ export function isModEventAcknowledge(v: unknown): v is ModEventAcknowledge {
633
+ return (
634
+ isObj(v) &&
635
+ hasProp(v, '$type') &&
636
+ v.$type === 'com.atproto.admin.defs#modEventAcknowledge'
637
+ )
638
+ }
639
+
640
+ export function validateModEventAcknowledge(v: unknown): ValidationResult {
641
+ return lexicons.validate('com.atproto.admin.defs#modEventAcknowledge', v)
642
+ }
643
+
644
+ export interface ModEventEscalate {
645
+ comment?: string
646
+ [k: string]: unknown
647
+ }
648
+
649
+ export function isModEventEscalate(v: unknown): v is ModEventEscalate {
650
+ return (
651
+ isObj(v) &&
652
+ hasProp(v, '$type') &&
653
+ v.$type === 'com.atproto.admin.defs#modEventEscalate'
654
+ )
655
+ }
656
+
657
+ export function validateModEventEscalate(v: unknown): ValidationResult {
658
+ return lexicons.validate('com.atproto.admin.defs#modEventEscalate', v)
659
+ }
660
+
661
+ /** Mute incoming reports on a subject */
662
+ export interface ModEventMute {
663
+ comment?: string
664
+ /** Indicates how long the subject should remain muted. */
665
+ durationInHours: number
666
+ [k: string]: unknown
667
+ }
668
+
669
+ export function isModEventMute(v: unknown): v is ModEventMute {
670
+ return (
671
+ isObj(v) &&
672
+ hasProp(v, '$type') &&
673
+ v.$type === 'com.atproto.admin.defs#modEventMute'
674
+ )
675
+ }
676
+
677
+ export function validateModEventMute(v: unknown): ValidationResult {
678
+ return lexicons.validate('com.atproto.admin.defs#modEventMute', v)
679
+ }
680
+
681
+ /** Unmute action on a subject */
682
+ export interface ModEventUnmute {
683
+ /** Describe reasoning behind the reversal. */
684
+ comment?: string
685
+ [k: string]: unknown
686
+ }
687
+
688
+ export function isModEventUnmute(v: unknown): v is ModEventUnmute {
689
+ return (
690
+ isObj(v) &&
691
+ hasProp(v, '$type') &&
692
+ v.$type === 'com.atproto.admin.defs#modEventUnmute'
693
+ )
694
+ }
695
+
696
+ export function validateModEventUnmute(v: unknown): ValidationResult {
697
+ return lexicons.validate('com.atproto.admin.defs#modEventUnmute', v)
698
+ }
699
+
700
+ /** Keep a log of outgoing email to a user */
701
+ export interface ModEventEmail {
702
+ /** The subject line of the email sent to the user. */
703
+ subjectLine: string
704
+ /** Additional comment about the outgoing comm. */
705
+ comment?: string
706
+ [k: string]: unknown
707
+ }
708
+
709
+ export function isModEventEmail(v: unknown): v is ModEventEmail {
710
+ return (
711
+ isObj(v) &&
712
+ hasProp(v, '$type') &&
713
+ v.$type === 'com.atproto.admin.defs#modEventEmail'
714
+ )
715
+ }
716
+
717
+ export function validateModEventEmail(v: unknown): ValidationResult {
718
+ return lexicons.validate('com.atproto.admin.defs#modEventEmail', v)
719
+ }