@atproto/api 0.17.0 → 0.17.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 (376) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/agent.d.ts +3 -4
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +7 -8
  5. package/dist/agent.js.map +1 -1
  6. package/dist/atp-agent.js.map +1 -1
  7. package/dist/bsky-agent.js.map +1 -1
  8. package/dist/client/index.d.ts +18 -14
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +25 -18
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/lexicons.d.ts +877 -125
  13. package/dist/client/lexicons.d.ts.map +1 -1
  14. package/dist/client/lexicons.js +444 -67
  15. package/dist/client/lexicons.js.map +1 -1
  16. package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
  17. package/dist/client/types/app/bsky/actor/getPreferences.js.map +1 -1
  18. package/dist/client/types/app/bsky/actor/getProfile.js.map +1 -1
  19. package/dist/client/types/app/bsky/actor/getProfiles.js.map +1 -1
  20. package/dist/client/types/app/bsky/actor/getSuggestions.js.map +1 -1
  21. package/dist/client/types/app/bsky/actor/profile.js.map +1 -1
  22. package/dist/client/types/app/bsky/actor/putPreferences.js.map +1 -1
  23. package/dist/client/types/app/bsky/actor/searchActors.js.map +1 -1
  24. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
  25. package/dist/client/types/app/bsky/actor/status.js.map +1 -1
  26. package/dist/client/types/app/bsky/bookmark/createBookmark.js.map +1 -1
  27. package/dist/client/types/app/bsky/bookmark/defs.js.map +1 -1
  28. package/dist/client/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
  29. package/dist/client/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
  30. package/dist/client/types/app/bsky/embed/defs.js.map +1 -1
  31. package/dist/client/types/app/bsky/embed/external.js.map +1 -1
  32. package/dist/client/types/app/bsky/embed/images.js.map +1 -1
  33. package/dist/client/types/app/bsky/embed/record.js.map +1 -1
  34. package/dist/client/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  35. package/dist/client/types/app/bsky/embed/video.js.map +1 -1
  36. package/dist/client/types/app/bsky/feed/defs.js.map +1 -1
  37. package/dist/client/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
  38. package/dist/client/types/app/bsky/feed/generator.js.map +1 -1
  39. package/dist/client/types/app/bsky/feed/getActorFeeds.js.map +1 -1
  40. package/dist/client/types/app/bsky/feed/getActorLikes.js.map +1 -1
  41. package/dist/client/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
  42. package/dist/client/types/app/bsky/feed/getFeed.js.map +1 -1
  43. package/dist/client/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
  44. package/dist/client/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
  45. package/dist/client/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
  46. package/dist/client/types/app/bsky/feed/getLikes.js.map +1 -1
  47. package/dist/client/types/app/bsky/feed/getListFeed.js.map +1 -1
  48. package/dist/client/types/app/bsky/feed/getPostThread.js.map +1 -1
  49. package/dist/client/types/app/bsky/feed/getPosts.js.map +1 -1
  50. package/dist/client/types/app/bsky/feed/getQuotes.js.map +1 -1
  51. package/dist/client/types/app/bsky/feed/getRepostedBy.js.map +1 -1
  52. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
  53. package/dist/client/types/app/bsky/feed/getTimeline.js.map +1 -1
  54. package/dist/client/types/app/bsky/feed/like.js.map +1 -1
  55. package/dist/client/types/app/bsky/feed/post.js.map +1 -1
  56. package/dist/client/types/app/bsky/feed/postgate.js.map +1 -1
  57. package/dist/client/types/app/bsky/feed/repost.js.map +1 -1
  58. package/dist/client/types/app/bsky/feed/searchPosts.js.map +1 -1
  59. package/dist/client/types/app/bsky/feed/sendInteractions.js.map +1 -1
  60. package/dist/client/types/app/bsky/feed/threadgate.js.map +1 -1
  61. package/dist/client/types/app/bsky/graph/block.js.map +1 -1
  62. package/dist/client/types/app/bsky/graph/defs.js.map +1 -1
  63. package/dist/client/types/app/bsky/graph/follow.js.map +1 -1
  64. package/dist/client/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
  65. package/dist/client/types/app/bsky/graph/getBlocks.js.map +1 -1
  66. package/dist/client/types/app/bsky/graph/getFollowers.js.map +1 -1
  67. package/dist/client/types/app/bsky/graph/getFollows.js.map +1 -1
  68. package/dist/client/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
  69. package/dist/client/types/app/bsky/graph/getList.js.map +1 -1
  70. package/dist/client/types/app/bsky/graph/getListBlocks.js.map +1 -1
  71. package/dist/client/types/app/bsky/graph/getListMutes.js.map +1 -1
  72. package/dist/client/types/app/bsky/graph/getLists.js.map +1 -1
  73. package/dist/client/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
  74. package/dist/client/types/app/bsky/graph/getMutes.js.map +1 -1
  75. package/dist/client/types/app/bsky/graph/getRelationships.js.map +1 -1
  76. package/dist/client/types/app/bsky/graph/getStarterPack.js.map +1 -1
  77. package/dist/client/types/app/bsky/graph/getStarterPacks.js.map +1 -1
  78. package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
  79. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
  80. package/dist/client/types/app/bsky/graph/list.js.map +1 -1
  81. package/dist/client/types/app/bsky/graph/listblock.js.map +1 -1
  82. package/dist/client/types/app/bsky/graph/listitem.js.map +1 -1
  83. package/dist/client/types/app/bsky/graph/muteActor.js.map +1 -1
  84. package/dist/client/types/app/bsky/graph/muteActorList.js.map +1 -1
  85. package/dist/client/types/app/bsky/graph/muteThread.js.map +1 -1
  86. package/dist/client/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
  87. package/dist/client/types/app/bsky/graph/starterpack.js.map +1 -1
  88. package/dist/client/types/app/bsky/graph/unmuteActor.js.map +1 -1
  89. package/dist/client/types/app/bsky/graph/unmuteActorList.js.map +1 -1
  90. package/dist/client/types/app/bsky/graph/unmuteThread.js.map +1 -1
  91. package/dist/client/types/app/bsky/graph/verification.js.map +1 -1
  92. package/dist/client/types/app/bsky/labeler/defs.js.map +1 -1
  93. package/dist/client/types/app/bsky/labeler/getServices.js.map +1 -1
  94. package/dist/client/types/app/bsky/labeler/service.js.map +1 -1
  95. package/dist/client/types/app/bsky/notification/declaration.js.map +1 -1
  96. package/dist/client/types/app/bsky/notification/defs.js.map +1 -1
  97. package/dist/client/types/app/bsky/notification/getPreferences.js.map +1 -1
  98. package/dist/client/types/app/bsky/notification/getUnreadCount.js.map +1 -1
  99. package/dist/client/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
  100. package/dist/client/types/app/bsky/notification/listNotifications.js.map +1 -1
  101. package/dist/client/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
  102. package/dist/client/types/app/bsky/notification/putPreferences.js.map +1 -1
  103. package/dist/client/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
  104. package/dist/client/types/app/bsky/notification/registerPush.js.map +1 -1
  105. package/dist/client/types/app/bsky/notification/unregisterPush.js.map +1 -1
  106. package/dist/client/types/app/bsky/notification/updateSeen.js.map +1 -1
  107. package/dist/client/types/app/bsky/richtext/facet.js.map +1 -1
  108. package/dist/client/types/app/bsky/unspecced/defs.js.map +1 -1
  109. package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
  110. package/dist/client/types/app/bsky/unspecced/getConfig.js.map +1 -1
  111. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
  112. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
  113. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
  114. package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
  115. package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
  116. package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
  117. package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
  118. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
  119. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
  120. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
  121. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
  122. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
  123. package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
  124. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
  125. package/dist/client/types/app/bsky/unspecced/getTrends.js.map +1 -1
  126. package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
  127. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
  128. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
  129. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
  130. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
  131. package/dist/client/types/app/bsky/video/defs.js.map +1 -1
  132. package/dist/client/types/app/bsky/video/getJobStatus.js.map +1 -1
  133. package/dist/client/types/app/bsky/video/getUploadLimits.js.map +1 -1
  134. package/dist/client/types/app/bsky/video/uploadVideo.js.map +1 -1
  135. package/dist/client/types/chat/bsky/actor/declaration.js.map +1 -1
  136. package/dist/client/types/chat/bsky/actor/defs.js.map +1 -1
  137. package/dist/client/types/chat/bsky/actor/deleteAccount.js.map +1 -1
  138. package/dist/client/types/chat/bsky/actor/exportAccountData.js.map +1 -1
  139. package/dist/client/types/chat/bsky/convo/acceptConvo.js.map +1 -1
  140. package/dist/client/types/chat/bsky/convo/addReaction.js.map +1 -1
  141. package/dist/client/types/chat/bsky/convo/defs.js.map +1 -1
  142. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
  143. package/dist/client/types/chat/bsky/convo/getConvo.js.map +1 -1
  144. package/dist/client/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
  145. package/dist/client/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
  146. package/dist/client/types/chat/bsky/convo/getLog.js.map +1 -1
  147. package/dist/client/types/chat/bsky/convo/getMessages.js.map +1 -1
  148. package/dist/client/types/chat/bsky/convo/leaveConvo.js.map +1 -1
  149. package/dist/client/types/chat/bsky/convo/listConvos.js.map +1 -1
  150. package/dist/client/types/chat/bsky/convo/muteConvo.js.map +1 -1
  151. package/dist/client/types/chat/bsky/convo/removeReaction.js.map +1 -1
  152. package/dist/client/types/chat/bsky/convo/sendMessage.js.map +1 -1
  153. package/dist/client/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
  154. package/dist/client/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
  155. package/dist/client/types/chat/bsky/convo/updateAllRead.js.map +1 -1
  156. package/dist/client/types/chat/bsky/convo/updateRead.js.map +1 -1
  157. package/dist/client/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
  158. package/dist/client/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
  159. package/dist/client/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
  160. package/dist/client/types/com/atproto/admin/defs.js.map +1 -1
  161. package/dist/client/types/com/atproto/admin/deleteAccount.js.map +1 -1
  162. package/dist/client/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
  163. package/dist/client/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
  164. package/dist/client/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
  165. package/dist/client/types/com/atproto/admin/getAccountInfo.js.map +1 -1
  166. package/dist/client/types/com/atproto/admin/getAccountInfos.js.map +1 -1
  167. package/dist/client/types/com/atproto/admin/getInviteCodes.js.map +1 -1
  168. package/dist/client/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
  169. package/dist/client/types/com/atproto/admin/searchAccounts.js.map +1 -1
  170. package/dist/client/types/com/atproto/admin/sendEmail.js.map +1 -1
  171. package/dist/client/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
  172. package/dist/client/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
  173. package/dist/client/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
  174. package/dist/client/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
  175. package/dist/client/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  176. package/dist/client/types/com/atproto/identity/defs.js.map +1 -1
  177. package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
  178. package/dist/client/types/com/atproto/identity/refreshIdentity.js.map +1 -1
  179. package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
  180. package/dist/client/types/com/atproto/identity/resolveDid.js.map +1 -1
  181. package/dist/client/types/com/atproto/identity/resolveHandle.js.map +1 -1
  182. package/dist/client/types/com/atproto/identity/resolveIdentity.js.map +1 -1
  183. package/dist/client/types/com/atproto/identity/signPlcOperation.js.map +1 -1
  184. package/dist/client/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
  185. package/dist/client/types/com/atproto/identity/updateHandle.js.map +1 -1
  186. package/dist/client/types/com/atproto/label/defs.js.map +1 -1
  187. package/dist/client/types/com/atproto/label/queryLabels.js.map +1 -1
  188. package/dist/client/types/com/atproto/label/subscribeLabels.js.map +1 -1
  189. package/dist/client/types/com/atproto/lexicon/schema.js.map +1 -1
  190. package/dist/client/types/com/atproto/moderation/createReport.js.map +1 -1
  191. package/dist/client/types/com/atproto/moderation/defs.d.ts +2 -2
  192. package/dist/client/types/com/atproto/moderation/defs.d.ts.map +1 -1
  193. package/dist/client/types/com/atproto/moderation/defs.js +1 -1
  194. package/dist/client/types/com/atproto/moderation/defs.js.map +1 -1
  195. package/dist/client/types/com/atproto/repo/applyWrites.js.map +1 -1
  196. package/dist/client/types/com/atproto/repo/createRecord.js.map +1 -1
  197. package/dist/client/types/com/atproto/repo/defs.js.map +1 -1
  198. package/dist/client/types/com/atproto/repo/deleteRecord.js.map +1 -1
  199. package/dist/client/types/com/atproto/repo/describeRepo.js.map +1 -1
  200. package/dist/client/types/com/atproto/repo/getRecord.js.map +1 -1
  201. package/dist/client/types/com/atproto/repo/importRepo.js.map +1 -1
  202. package/dist/client/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
  203. package/dist/client/types/com/atproto/repo/listRecords.js.map +1 -1
  204. package/dist/client/types/com/atproto/repo/putRecord.js.map +1 -1
  205. package/dist/client/types/com/atproto/repo/strongRef.js.map +1 -1
  206. package/dist/client/types/com/atproto/repo/uploadBlob.js.map +1 -1
  207. package/dist/client/types/com/atproto/server/activateAccount.js.map +1 -1
  208. package/dist/client/types/com/atproto/server/checkAccountStatus.js.map +1 -1
  209. package/dist/client/types/com/atproto/server/confirmEmail.js.map +1 -1
  210. package/dist/client/types/com/atproto/server/createAccount.js.map +1 -1
  211. package/dist/client/types/com/atproto/server/createAppPassword.js.map +1 -1
  212. package/dist/client/types/com/atproto/server/createInviteCode.js.map +1 -1
  213. package/dist/client/types/com/atproto/server/createInviteCodes.js.map +1 -1
  214. package/dist/client/types/com/atproto/server/createSession.js.map +1 -1
  215. package/dist/client/types/com/atproto/server/deactivateAccount.js.map +1 -1
  216. package/dist/client/types/com/atproto/server/defs.js.map +1 -1
  217. package/dist/client/types/com/atproto/server/deleteAccount.js.map +1 -1
  218. package/dist/client/types/com/atproto/server/deleteSession.js.map +1 -1
  219. package/dist/client/types/com/atproto/server/describeServer.js.map +1 -1
  220. package/dist/client/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
  221. package/dist/client/types/com/atproto/server/getServiceAuth.js.map +1 -1
  222. package/dist/client/types/com/atproto/server/getSession.js.map +1 -1
  223. package/dist/client/types/com/atproto/server/listAppPasswords.js.map +1 -1
  224. package/dist/client/types/com/atproto/server/refreshSession.js.map +1 -1
  225. package/dist/client/types/com/atproto/server/requestAccountDelete.js.map +1 -1
  226. package/dist/client/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
  227. package/dist/client/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
  228. package/dist/client/types/com/atproto/server/requestPasswordReset.js.map +1 -1
  229. package/dist/client/types/com/atproto/server/reserveSigningKey.js.map +1 -1
  230. package/dist/client/types/com/atproto/server/resetPassword.js.map +1 -1
  231. package/dist/client/types/com/atproto/server/revokeAppPassword.js.map +1 -1
  232. package/dist/client/types/com/atproto/server/updateEmail.js.map +1 -1
  233. package/dist/client/types/com/atproto/sync/defs.js.map +1 -1
  234. package/dist/client/types/com/atproto/sync/getBlob.js.map +1 -1
  235. package/dist/client/types/com/atproto/sync/getBlocks.js.map +1 -1
  236. package/dist/client/types/com/atproto/sync/getCheckout.js.map +1 -1
  237. package/dist/client/types/com/atproto/sync/getHead.js.map +1 -1
  238. package/dist/client/types/com/atproto/sync/getHostStatus.js.map +1 -1
  239. package/dist/client/types/com/atproto/sync/getLatestCommit.js.map +1 -1
  240. package/dist/client/types/com/atproto/sync/getRecord.js.map +1 -1
  241. package/dist/client/types/com/atproto/sync/getRepo.js.map +1 -1
  242. package/dist/client/types/com/atproto/sync/getRepoStatus.js.map +1 -1
  243. package/dist/client/types/com/atproto/sync/listBlobs.js.map +1 -1
  244. package/dist/client/types/com/atproto/sync/listHosts.js.map +1 -1
  245. package/dist/client/types/com/atproto/sync/listRepos.js.map +1 -1
  246. package/dist/client/types/com/atproto/sync/listReposByCollection.js.map +1 -1
  247. package/dist/client/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
  248. package/dist/client/types/com/atproto/sync/requestCrawl.js.map +1 -1
  249. package/dist/client/types/com/atproto/sync/subscribeRepos.js.map +1 -1
  250. package/dist/client/types/com/atproto/temp/addReservedHandle.js.map +1 -1
  251. package/dist/client/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
  252. package/dist/client/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
  253. package/dist/client/types/com/atproto/temp/dereferenceScope.js.map +1 -1
  254. package/dist/client/types/com/atproto/temp/fetchLabels.js.map +1 -1
  255. package/dist/client/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
  256. package/dist/client/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
  257. package/dist/client/types/tools/ozone/communication/createTemplate.js.map +1 -1
  258. package/dist/client/types/tools/ozone/communication/defs.js.map +1 -1
  259. package/dist/client/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
  260. package/dist/client/types/tools/ozone/communication/listTemplates.js.map +1 -1
  261. package/dist/client/types/tools/ozone/communication/updateTemplate.js.map +1 -1
  262. package/dist/client/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
  263. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts +43 -0
  264. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -0
  265. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js +29 -0
  266. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -0
  267. package/dist/client/types/tools/ozone/moderation/defs.d.ts +57 -2
  268. package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  269. package/dist/client/types/tools/ozone/moderation/defs.js +27 -0
  270. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  271. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  272. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  273. package/dist/client/types/tools/ozone/moderation/emitEvent.js.map +1 -1
  274. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts +1 -1
  275. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
  276. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
  277. package/dist/client/types/tools/ozone/moderation/getEvent.js.map +1 -1
  278. package/dist/client/types/tools/ozone/moderation/getRecord.js.map +1 -1
  279. package/dist/client/types/tools/ozone/moderation/getRecords.js.map +1 -1
  280. package/dist/client/types/tools/ozone/moderation/getRepo.js.map +1 -1
  281. package/dist/client/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
  282. package/dist/client/types/tools/ozone/moderation/getRepos.js.map +1 -1
  283. package/dist/client/types/tools/ozone/moderation/getSubjects.js.map +1 -1
  284. package/dist/client/types/tools/ozone/moderation/listScheduledActions.d.ts +38 -0
  285. package/dist/client/types/tools/ozone/moderation/listScheduledActions.d.ts.map +1 -0
  286. package/dist/client/types/tools/ozone/moderation/listScheduledActions.js +11 -0
  287. package/dist/client/types/tools/ozone/moderation/listScheduledActions.js.map +1 -0
  288. package/dist/client/types/tools/ozone/moderation/queryEvents.js.map +1 -1
  289. package/dist/client/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
  290. package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts +72 -0
  291. package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -0
  292. package/dist/client/types/tools/ozone/moderation/scheduleAction.js +47 -0
  293. package/dist/client/types/tools/ozone/moderation/scheduleAction.js.map +1 -0
  294. package/dist/client/types/tools/ozone/moderation/searchRepos.js.map +1 -1
  295. package/dist/client/types/tools/ozone/report/defs.d.ts +17 -27
  296. package/dist/client/types/tools/ozone/report/defs.d.ts.map +1 -1
  297. package/dist/client/types/tools/ozone/report/defs.js +17 -27
  298. package/dist/client/types/tools/ozone/report/defs.js.map +1 -1
  299. package/dist/client/types/tools/ozone/safelink/addRule.js.map +1 -1
  300. package/dist/client/types/tools/ozone/safelink/defs.js.map +1 -1
  301. package/dist/client/types/tools/ozone/safelink/queryEvents.js.map +1 -1
  302. package/dist/client/types/tools/ozone/safelink/queryRules.js.map +1 -1
  303. package/dist/client/types/tools/ozone/safelink/removeRule.js.map +1 -1
  304. package/dist/client/types/tools/ozone/safelink/updateRule.js.map +1 -1
  305. package/dist/client/types/tools/ozone/server/getConfig.js.map +1 -1
  306. package/dist/client/types/tools/ozone/set/addValues.js.map +1 -1
  307. package/dist/client/types/tools/ozone/set/defs.js.map +1 -1
  308. package/dist/client/types/tools/ozone/set/deleteSet.js.map +1 -1
  309. package/dist/client/types/tools/ozone/set/deleteValues.js.map +1 -1
  310. package/dist/client/types/tools/ozone/set/getValues.js.map +1 -1
  311. package/dist/client/types/tools/ozone/set/querySets.js.map +1 -1
  312. package/dist/client/types/tools/ozone/set/upsertSet.js.map +1 -1
  313. package/dist/client/types/tools/ozone/setting/defs.js.map +1 -1
  314. package/dist/client/types/tools/ozone/setting/listOptions.js.map +1 -1
  315. package/dist/client/types/tools/ozone/setting/removeOptions.js.map +1 -1
  316. package/dist/client/types/tools/ozone/setting/upsertOption.js.map +1 -1
  317. package/dist/client/types/tools/ozone/signature/defs.js.map +1 -1
  318. package/dist/client/types/tools/ozone/signature/findCorrelation.js.map +1 -1
  319. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
  320. package/dist/client/types/tools/ozone/signature/searchAccounts.js.map +1 -1
  321. package/dist/client/types/tools/ozone/team/addMember.js.map +1 -1
  322. package/dist/client/types/tools/ozone/team/defs.js.map +1 -1
  323. package/dist/client/types/tools/ozone/team/deleteMember.js.map +1 -1
  324. package/dist/client/types/tools/ozone/team/listMembers.js.map +1 -1
  325. package/dist/client/types/tools/ozone/team/updateMember.js.map +1 -1
  326. package/dist/client/types/tools/ozone/verification/defs.js.map +1 -1
  327. package/dist/client/types/tools/ozone/verification/grantVerifications.js.map +1 -1
  328. package/dist/client/types/tools/ozone/verification/listVerifications.js.map +1 -1
  329. package/dist/client/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
  330. package/dist/client/util.js.map +1 -1
  331. package/dist/const.js.map +1 -1
  332. package/dist/index.js.map +1 -1
  333. package/dist/mocker.js.map +1 -1
  334. package/dist/moderation/const/labels.js.map +1 -1
  335. package/dist/moderation/decision.js.map +1 -1
  336. package/dist/moderation/index.js.map +1 -1
  337. package/dist/moderation/mutewords.js.map +1 -1
  338. package/dist/moderation/subjects/account.js.map +1 -1
  339. package/dist/moderation/subjects/feed-generator.js.map +1 -1
  340. package/dist/moderation/subjects/notification.js.map +1 -1
  341. package/dist/moderation/subjects/post.js.map +1 -1
  342. package/dist/moderation/subjects/profile.js.map +1 -1
  343. package/dist/moderation/subjects/user-list.js.map +1 -1
  344. package/dist/moderation/types.js.map +1 -1
  345. package/dist/moderation/ui.js.map +1 -1
  346. package/dist/moderation/util.js.map +1 -1
  347. package/dist/predicate.js.map +1 -1
  348. package/dist/rich-text/detection.js.map +1 -1
  349. package/dist/rich-text/rich-text.js.map +1 -1
  350. package/dist/rich-text/sanitization.js.map +1 -1
  351. package/dist/rich-text/unicode.js.map +1 -1
  352. package/dist/rich-text/util.js.map +1 -1
  353. package/dist/session-manager.js.map +1 -1
  354. package/dist/types.d.ts +10 -5
  355. package/dist/types.d.ts.map +1 -1
  356. package/dist/types.js +41 -0
  357. package/dist/types.js.map +1 -1
  358. package/dist/util.d.ts +0 -3
  359. package/dist/util.d.ts.map +1 -1
  360. package/dist/util.js +1 -14
  361. package/dist/util.js.map +1 -1
  362. package/package.json +1 -1
  363. package/src/agent.ts +7 -7
  364. package/src/client/index.ts +54 -25
  365. package/src/client/lexicons.ts +467 -69
  366. package/src/client/types/com/atproto/moderation/defs.ts +10 -15
  367. package/src/client/types/tools/ozone/moderation/cancelScheduledActions.ts +79 -0
  368. package/src/client/types/tools/ozone/moderation/defs.ts +88 -0
  369. package/src/client/types/tools/ozone/moderation/emitEvent.ts +2 -0
  370. package/src/client/types/tools/ozone/moderation/getAccountTimeline.ts +2 -0
  371. package/src/client/types/tools/ozone/moderation/listScheduledActions.ts +57 -0
  372. package/src/client/types/tools/ozone/moderation/scheduleAction.ts +123 -0
  373. package/src/client/types/tools/ozone/report/defs.ts +25 -40
  374. package/src/types.ts +46 -4
  375. package/src/util.ts +0 -15
  376. package/tsconfig.build.tsbuildinfo +1 -1
@@ -23,27 +23,24 @@ export type ReasonType =
23
23
  | 'com.atproto.moderation.defs#reasonOther'
24
24
  | 'com.atproto.moderation.defs#reasonAppeal'
25
25
  | 'tools.ozone.report.defs#reasonAppeal'
26
- | 'tools.ozone.report.defs#reasonViolenceAnimalWelfare'
26
+ | 'tools.ozone.report.defs#reasonOther'
27
+ | 'tools.ozone.report.defs#reasonViolenceAnimal'
27
28
  | 'tools.ozone.report.defs#reasonViolenceThreats'
28
29
  | 'tools.ozone.report.defs#reasonViolenceGraphicContent'
29
- | 'tools.ozone.report.defs#reasonViolenceSelfHarm'
30
30
  | 'tools.ozone.report.defs#reasonViolenceGlorification'
31
31
  | 'tools.ozone.report.defs#reasonViolenceExtremistContent'
32
32
  | 'tools.ozone.report.defs#reasonViolenceTrafficking'
33
33
  | 'tools.ozone.report.defs#reasonViolenceOther'
34
34
  | 'tools.ozone.report.defs#reasonSexualAbuseContent'
35
35
  | 'tools.ozone.report.defs#reasonSexualNCII'
36
- | 'tools.ozone.report.defs#reasonSexualSextortion'
37
36
  | 'tools.ozone.report.defs#reasonSexualDeepfake'
38
37
  | 'tools.ozone.report.defs#reasonSexualAnimal'
39
38
  | 'tools.ozone.report.defs#reasonSexualUnlabeled'
40
39
  | 'tools.ozone.report.defs#reasonSexualOther'
41
40
  | 'tools.ozone.report.defs#reasonChildSafetyCSAM'
42
41
  | 'tools.ozone.report.defs#reasonChildSafetyGroom'
43
- | 'tools.ozone.report.defs#reasonChildSafetyMinorPrivacy'
44
- | 'tools.ozone.report.defs#reasonChildSafetyEndangerment'
42
+ | 'tools.ozone.report.defs#reasonChildSafetyPrivacy'
45
43
  | 'tools.ozone.report.defs#reasonChildSafetyHarassment'
46
- | 'tools.ozone.report.defs#reasonChildSafetyPromotion'
47
44
  | 'tools.ozone.report.defs#reasonChildSafetyOther'
48
45
  | 'tools.ozone.report.defs#reasonHarassmentTroll'
49
46
  | 'tools.ozone.report.defs#reasonHarassmentTargeted'
@@ -54,19 +51,17 @@ export type ReasonType =
54
51
  | 'tools.ozone.report.defs#reasonMisleadingImpersonation'
55
52
  | 'tools.ozone.report.defs#reasonMisleadingSpam'
56
53
  | 'tools.ozone.report.defs#reasonMisleadingScam'
57
- | 'tools.ozone.report.defs#reasonMisleadingSyntheticContent'
58
- | 'tools.ozone.report.defs#reasonMisleadingMisinformation'
54
+ | 'tools.ozone.report.defs#reasonMisleadingElections'
59
55
  | 'tools.ozone.report.defs#reasonMisleadingOther'
60
56
  | 'tools.ozone.report.defs#reasonRuleSiteSecurity'
61
- | 'tools.ozone.report.defs#reasonRuleStolenContent'
62
57
  | 'tools.ozone.report.defs#reasonRuleProhibitedSales'
63
58
  | 'tools.ozone.report.defs#reasonRuleBanEvasion'
64
59
  | 'tools.ozone.report.defs#reasonRuleOther'
65
- | 'tools.ozone.report.defs#reasonCivicElectoralProcess'
66
- | 'tools.ozone.report.defs#reasonCivicDisclosure'
67
- | 'tools.ozone.report.defs#reasonCivicInterference'
68
- | 'tools.ozone.report.defs#reasonCivicMisinformation'
69
- | 'tools.ozone.report.defs#reasonCivicImpersonation'
60
+ | 'tools.ozone.report.defs#reasonSelfHarmContent'
61
+ | 'tools.ozone.report.defs#reasonSelfHarmED'
62
+ | 'tools.ozone.report.defs#reasonSelfHarmStunts'
63
+ | 'tools.ozone.report.defs#reasonSelfHarmSubstances'
64
+ | 'tools.ozone.report.defs#reasonSelfHarmOther'
70
65
  | (string & {})
71
66
 
72
67
  /** Spam: frequent unwanted promotion, replies, mentions. Prefer new lexicon definition `tools.ozone.report.defs#reasonMisleadingSpam`. */
@@ -79,7 +74,7 @@ export const REASONMISLEADING = `${id}#reasonMisleading`
79
74
  export const REASONSEXUAL = `${id}#reasonSexual`
80
75
  /** Rude, harassing, explicit, or otherwise unwelcoming behavior. Prefer new lexicon definition `tools.ozone.report.defs#reasonHarassmentOther`. */
81
76
  export const REASONRUDE = `${id}#reasonRude`
82
- /** Reports not falling under another report category. Prefer new lexicon definition `tools.ozone.report.defs#reasonRuleOther`. */
77
+ /** Reports not falling under another report category. Prefer new lexicon definition `tools.ozone.report.defs#reasonOther`. */
83
78
  export const REASONOTHER = `${id}#reasonOther`
84
79
  /** Appeal a previously taken moderation action */
85
80
  export const REASONAPPEAL = `${id}#reasonAppeal`
@@ -0,0 +1,79 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { HeadersMap, XRPCError } from '@atproto/xrpc'
5
+ import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { CID } from 'multiformats/cid'
7
+ import { validate as _validate } from '../../../../lexicons'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'tools.ozone.moderation.cancelScheduledActions'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {
21
+ /** Array of DID subjects to cancel scheduled actions for */
22
+ subjects: string[]
23
+ /** Optional comment describing the reason for cancellation */
24
+ comment?: string
25
+ }
26
+
27
+ export type OutputSchema = CancellationResults
28
+
29
+ export interface CallOptions {
30
+ signal?: AbortSignal
31
+ headers?: HeadersMap
32
+ qp?: QueryParams
33
+ encoding?: 'application/json'
34
+ }
35
+
36
+ export interface Response {
37
+ success: boolean
38
+ headers: HeadersMap
39
+ data: OutputSchema
40
+ }
41
+
42
+ export function toKnownErr(e: any) {
43
+ return e
44
+ }
45
+
46
+ export interface CancellationResults {
47
+ $type?: 'tools.ozone.moderation.cancelScheduledActions#cancellationResults'
48
+ /** DIDs for which all pending scheduled actions were successfully cancelled */
49
+ succeeded: string[]
50
+ /** DIDs for which cancellation failed with error details */
51
+ failed: FailedCancellation[]
52
+ }
53
+
54
+ const hashCancellationResults = 'cancellationResults'
55
+
56
+ export function isCancellationResults<V>(v: V) {
57
+ return is$typed(v, id, hashCancellationResults)
58
+ }
59
+
60
+ export function validateCancellationResults<V>(v: V) {
61
+ return validate<CancellationResults & V>(v, id, hashCancellationResults)
62
+ }
63
+
64
+ export interface FailedCancellation {
65
+ $type?: 'tools.ozone.moderation.cancelScheduledActions#failedCancellation'
66
+ did: string
67
+ error: string
68
+ errorCode?: string
69
+ }
70
+
71
+ const hashFailedCancellation = 'failedCancellation'
72
+
73
+ export function isFailedCancellation<V>(v: V) {
74
+ return is$typed(v, id, hashFailedCancellation)
75
+ }
76
+
77
+ export function validateFailedCancellation<V>(v: V) {
78
+ return validate<FailedCancellation & V>(v, id, hashFailedCancellation)
79
+ }
@@ -46,6 +46,8 @@ export interface ModEventView {
46
46
  | $Typed<AgeAssuranceEvent>
47
47
  | $Typed<AgeAssuranceOverrideEvent>
48
48
  | $Typed<RevokeAccountCredentialsEvent>
49
+ | $Typed<ScheduleTakedownEvent>
50
+ | $Typed<CancelScheduledTakedownEvent>
49
51
  | { $type: string }
50
52
  subject:
51
53
  | $Typed<ComAtprotoAdminDefs.RepoRef>
@@ -96,6 +98,8 @@ export interface ModEventViewDetail {
96
98
  | $Typed<AgeAssuranceEvent>
97
99
  | $Typed<AgeAssuranceOverrideEvent>
98
100
  | $Typed<RevokeAccountCredentialsEvent>
101
+ | $Typed<ScheduleTakedownEvent>
102
+ | $Typed<CancelScheduledTakedownEvent>
99
103
  | { $type: string }
100
104
  subject:
101
105
  | $Typed<RepoView>
@@ -701,6 +705,45 @@ export function validateRecordEvent<V>(v: V) {
701
705
  return validate<RecordEvent & V>(v, id, hashRecordEvent)
702
706
  }
703
707
 
708
+ /** Logs a scheduled takedown action for an account. */
709
+ export interface ScheduleTakedownEvent {
710
+ $type?: 'tools.ozone.moderation.defs#scheduleTakedownEvent'
711
+ comment?: string
712
+ executeAt?: string
713
+ executeAfter?: string
714
+ executeUntil?: string
715
+ }
716
+
717
+ const hashScheduleTakedownEvent = 'scheduleTakedownEvent'
718
+
719
+ export function isScheduleTakedownEvent<V>(v: V) {
720
+ return is$typed(v, id, hashScheduleTakedownEvent)
721
+ }
722
+
723
+ export function validateScheduleTakedownEvent<V>(v: V) {
724
+ return validate<ScheduleTakedownEvent & V>(v, id, hashScheduleTakedownEvent)
725
+ }
726
+
727
+ /** Logs cancellation of a scheduled takedown action for an account. */
728
+ export interface CancelScheduledTakedownEvent {
729
+ $type?: 'tools.ozone.moderation.defs#cancelScheduledTakedownEvent'
730
+ comment?: string
731
+ }
732
+
733
+ const hashCancelScheduledTakedownEvent = 'cancelScheduledTakedownEvent'
734
+
735
+ export function isCancelScheduledTakedownEvent<V>(v: V) {
736
+ return is$typed(v, id, hashCancelScheduledTakedownEvent)
737
+ }
738
+
739
+ export function validateCancelScheduledTakedownEvent<V>(v: V) {
740
+ return validate<CancelScheduledTakedownEvent & V>(
741
+ v,
742
+ id,
743
+ hashCancelScheduledTakedownEvent,
744
+ )
745
+ }
746
+
704
747
  export interface RepoView {
705
748
  $type?: 'tools.ozone.moderation.defs#repoView'
706
749
  did: string
@@ -1010,3 +1053,48 @@ export const TIMELINEEVENTPLCCREATE = `${id}#timelineEventPlcCreate`
1010
1053
  export const TIMELINEEVENTPLCOPERATION = `${id}#timelineEventPlcOperation`
1011
1054
  /** Moderation event timeline event for a PLC tombstone operation */
1012
1055
  export const TIMELINEEVENTPLCTOMBSTONE = `${id}#timelineEventPlcTombstone`
1056
+
1057
+ /** View of a scheduled moderation action */
1058
+ export interface ScheduledActionView {
1059
+ $type?: 'tools.ozone.moderation.defs#scheduledActionView'
1060
+ /** Auto-incrementing row ID */
1061
+ id: number
1062
+ /** Type of action to be executed */
1063
+ action: 'takedown' | (string & {})
1064
+ /** Serialized event object that will be propagated to the event when performed */
1065
+ eventData?: { [_ in string]: unknown }
1066
+ /** Subject DID for the action */
1067
+ did: string
1068
+ /** Exact time to execute the action */
1069
+ executeAt?: string
1070
+ /** Earliest time to execute the action (for randomized scheduling) */
1071
+ executeAfter?: string
1072
+ /** Latest time to execute the action (for randomized scheduling) */
1073
+ executeUntil?: string
1074
+ /** Whether execution time should be randomized within the specified range */
1075
+ randomizeExecution?: boolean
1076
+ /** DID of the user who created this scheduled action */
1077
+ createdBy: string
1078
+ /** When the scheduled action was created */
1079
+ createdAt: string
1080
+ /** When the scheduled action was last updated */
1081
+ updatedAt?: string
1082
+ /** Current status of the scheduled action */
1083
+ status: 'pending' | 'executed' | 'cancelled' | 'failed' | (string & {})
1084
+ /** When the action was last attempted to be executed */
1085
+ lastExecutedAt?: string
1086
+ /** Reason for the last execution failure */
1087
+ lastFailureReason?: string
1088
+ /** ID of the moderation event created when action was successfully executed */
1089
+ executionEventId?: number
1090
+ }
1091
+
1092
+ const hashScheduledActionView = 'scheduledActionView'
1093
+
1094
+ export function isScheduledActionView<V>(v: V) {
1095
+ return is$typed(v, id, hashScheduledActionView)
1096
+ }
1097
+
1098
+ export function validateScheduledActionView<V>(v: V) {
1099
+ return validate<ScheduledActionView & V>(v, id, hashScheduledActionView)
1100
+ }
@@ -44,6 +44,8 @@ export interface InputSchema {
44
44
  | $Typed<ToolsOzoneModerationDefs.AgeAssuranceEvent>
45
45
  | $Typed<ToolsOzoneModerationDefs.AgeAssuranceOverrideEvent>
46
46
  | $Typed<ToolsOzoneModerationDefs.RevokeAccountCredentialsEvent>
47
+ | $Typed<ToolsOzoneModerationDefs.ScheduleTakedownEvent>
48
+ | $Typed<ToolsOzoneModerationDefs.CancelScheduledTakedownEvent>
47
49
  | { $type: string }
48
50
  subject:
49
51
  | $Typed<ComAtprotoAdminDefs.RepoRef>
@@ -98,6 +98,8 @@ export interface TimelineItemSummary {
98
98
  | 'tools.ozone.hosting.getAccountHistory#emailConfirmed'
99
99
  | 'tools.ozone.hosting.getAccountHistory#passwordUpdated'
100
100
  | 'tools.ozone.hosting.getAccountHistory#handleUpdated'
101
+ | 'tools.ozone.moderation.defs#scheduleTakedownEvent'
102
+ | 'tools.ozone.moderation.defs#cancelScheduledTakedownEvent'
101
103
  | (string & {})
102
104
  count: number
103
105
  }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { HeadersMap, XRPCError } from '@atproto/xrpc'
5
+ import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { CID } from 'multiformats/cid'
7
+ import { validate as _validate } from '../../../../lexicons'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as ToolsOzoneModerationDefs from './defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'tools.ozone.moderation.listScheduledActions'
18
+
19
+ export type QueryParams = {}
20
+
21
+ export interface InputSchema {
22
+ /** Filter actions scheduled to execute after this time */
23
+ startsAfter?: string
24
+ /** Filter actions scheduled to execute before this time */
25
+ endsBefore?: string
26
+ /** Filter actions for specific DID subjects */
27
+ subjects?: string[]
28
+ /** Filter actions by status */
29
+ statuses: ('pending' | 'executed' | 'cancelled' | 'failed' | (string & {}))[]
30
+ /** Maximum number of results to return */
31
+ limit?: number
32
+ /** Cursor for pagination */
33
+ cursor?: string
34
+ }
35
+
36
+ export interface OutputSchema {
37
+ actions: ToolsOzoneModerationDefs.ScheduledActionView[]
38
+ /** Cursor for next page of results */
39
+ cursor?: string
40
+ }
41
+
42
+ export interface CallOptions {
43
+ signal?: AbortSignal
44
+ headers?: HeadersMap
45
+ qp?: QueryParams
46
+ encoding?: 'application/json'
47
+ }
48
+
49
+ export interface Response {
50
+ success: boolean
51
+ headers: HeadersMap
52
+ data: OutputSchema
53
+ }
54
+
55
+ export function toKnownErr(e: any) {
56
+ return e
57
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { HeadersMap, XRPCError } from '@atproto/xrpc'
5
+ import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { CID } from 'multiformats/cid'
7
+ import { validate as _validate } from '../../../../lexicons'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as ToolsOzoneModerationDefs from './defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'tools.ozone.moderation.scheduleAction'
18
+
19
+ export type QueryParams = {}
20
+
21
+ export interface InputSchema {
22
+ action: $Typed<Takedown> | { $type: string }
23
+ /** Array of DID subjects to schedule the action for */
24
+ subjects: string[]
25
+ createdBy: string
26
+ scheduling: SchedulingConfig
27
+ modTool?: ToolsOzoneModerationDefs.ModTool
28
+ }
29
+
30
+ export type OutputSchema = ScheduledActionResults
31
+
32
+ export interface CallOptions {
33
+ signal?: AbortSignal
34
+ headers?: HeadersMap
35
+ qp?: QueryParams
36
+ encoding?: 'application/json'
37
+ }
38
+
39
+ export interface Response {
40
+ success: boolean
41
+ headers: HeadersMap
42
+ data: OutputSchema
43
+ }
44
+
45
+ export function toKnownErr(e: any) {
46
+ return e
47
+ }
48
+
49
+ /** Schedule a takedown action */
50
+ export interface Takedown {
51
+ $type?: 'tools.ozone.moderation.scheduleAction#takedown'
52
+ comment?: string
53
+ /** Indicates how long the takedown should be in effect before automatically expiring. */
54
+ durationInHours?: number
55
+ /** If true, all other reports on content authored by this account will be resolved (acknowledged). */
56
+ acknowledgeAccountSubjects?: boolean
57
+ /** Names/Keywords of the policies that drove the decision. */
58
+ policies?: string[]
59
+ }
60
+
61
+ const hashTakedown = 'takedown'
62
+
63
+ export function isTakedown<V>(v: V) {
64
+ return is$typed(v, id, hashTakedown)
65
+ }
66
+
67
+ export function validateTakedown<V>(v: V) {
68
+ return validate<Takedown & V>(v, id, hashTakedown)
69
+ }
70
+
71
+ /** Configuration for when the action should be executed */
72
+ export interface SchedulingConfig {
73
+ $type?: 'tools.ozone.moderation.scheduleAction#schedulingConfig'
74
+ /** Exact time to execute the action */
75
+ executeAt?: string
76
+ /** Earliest time to execute the action (for randomized scheduling) */
77
+ executeAfter?: string
78
+ /** Latest time to execute the action (for randomized scheduling) */
79
+ executeUntil?: string
80
+ }
81
+
82
+ const hashSchedulingConfig = 'schedulingConfig'
83
+
84
+ export function isSchedulingConfig<V>(v: V) {
85
+ return is$typed(v, id, hashSchedulingConfig)
86
+ }
87
+
88
+ export function validateSchedulingConfig<V>(v: V) {
89
+ return validate<SchedulingConfig & V>(v, id, hashSchedulingConfig)
90
+ }
91
+
92
+ export interface ScheduledActionResults {
93
+ $type?: 'tools.ozone.moderation.scheduleAction#scheduledActionResults'
94
+ succeeded: string[]
95
+ failed: FailedScheduling[]
96
+ }
97
+
98
+ const hashScheduledActionResults = 'scheduledActionResults'
99
+
100
+ export function isScheduledActionResults<V>(v: V) {
101
+ return is$typed(v, id, hashScheduledActionResults)
102
+ }
103
+
104
+ export function validateScheduledActionResults<V>(v: V) {
105
+ return validate<ScheduledActionResults & V>(v, id, hashScheduledActionResults)
106
+ }
107
+
108
+ export interface FailedScheduling {
109
+ $type?: 'tools.ozone.moderation.scheduleAction#failedScheduling'
110
+ subject: string
111
+ error: string
112
+ errorCode?: string
113
+ }
114
+
115
+ const hashFailedScheduling = 'failedScheduling'
116
+
117
+ export function isFailedScheduling<V>(v: V) {
118
+ return is$typed(v, id, hashFailedScheduling)
119
+ }
120
+
121
+ export function validateFailedScheduling<V>(v: V) {
122
+ return validate<FailedScheduling & V>(v, id, hashFailedScheduling)
123
+ }
@@ -16,27 +16,24 @@ const id = 'tools.ozone.report.defs'
16
16
 
17
17
  export type ReasonType =
18
18
  | 'tools.ozone.report.defs#reasonAppeal'
19
- | 'tools.ozone.report.defs#reasonViolenceAnimalWelfare'
19
+ | 'tools.ozone.report.defs#reasonOther'
20
+ | 'tools.ozone.report.defs#reasonViolenceAnimal'
20
21
  | 'tools.ozone.report.defs#reasonViolenceThreats'
21
22
  | 'tools.ozone.report.defs#reasonViolenceGraphicContent'
22
- | 'tools.ozone.report.defs#reasonViolenceSelfHarm'
23
23
  | 'tools.ozone.report.defs#reasonViolenceGlorification'
24
24
  | 'tools.ozone.report.defs#reasonViolenceExtremistContent'
25
25
  | 'tools.ozone.report.defs#reasonViolenceTrafficking'
26
26
  | 'tools.ozone.report.defs#reasonViolenceOther'
27
27
  | 'tools.ozone.report.defs#reasonSexualAbuseContent'
28
28
  | 'tools.ozone.report.defs#reasonSexualNCII'
29
- | 'tools.ozone.report.defs#reasonSexualSextortion'
30
29
  | 'tools.ozone.report.defs#reasonSexualDeepfake'
31
30
  | 'tools.ozone.report.defs#reasonSexualAnimal'
32
31
  | 'tools.ozone.report.defs#reasonSexualUnlabeled'
33
32
  | 'tools.ozone.report.defs#reasonSexualOther'
34
33
  | 'tools.ozone.report.defs#reasonChildSafetyCSAM'
35
34
  | 'tools.ozone.report.defs#reasonChildSafetyGroom'
36
- | 'tools.ozone.report.defs#reasonChildSafetyMinorPrivacy'
37
- | 'tools.ozone.report.defs#reasonChildSafetyEndangerment'
35
+ | 'tools.ozone.report.defs#reasonChildSafetyPrivacy'
38
36
  | 'tools.ozone.report.defs#reasonChildSafetyHarassment'
39
- | 'tools.ozone.report.defs#reasonChildSafetyPromotion'
40
37
  | 'tools.ozone.report.defs#reasonChildSafetyOther'
41
38
  | 'tools.ozone.report.defs#reasonHarassmentTroll'
42
39
  | 'tools.ozone.report.defs#reasonHarassmentTargeted'
@@ -47,31 +44,29 @@ export type ReasonType =
47
44
  | 'tools.ozone.report.defs#reasonMisleadingImpersonation'
48
45
  | 'tools.ozone.report.defs#reasonMisleadingSpam'
49
46
  | 'tools.ozone.report.defs#reasonMisleadingScam'
50
- | 'tools.ozone.report.defs#reasonMisleadingSyntheticContent'
51
- | 'tools.ozone.report.defs#reasonMisleadingMisinformation'
47
+ | 'tools.ozone.report.defs#reasonMisleadingElections'
52
48
  | 'tools.ozone.report.defs#reasonMisleadingOther'
53
49
  | 'tools.ozone.report.defs#reasonRuleSiteSecurity'
54
- | 'tools.ozone.report.defs#reasonRuleStolenContent'
55
50
  | 'tools.ozone.report.defs#reasonRuleProhibitedSales'
56
51
  | 'tools.ozone.report.defs#reasonRuleBanEvasion'
57
52
  | 'tools.ozone.report.defs#reasonRuleOther'
58
- | 'tools.ozone.report.defs#reasonCivicElectoralProcess'
59
- | 'tools.ozone.report.defs#reasonCivicDisclosure'
60
- | 'tools.ozone.report.defs#reasonCivicInterference'
61
- | 'tools.ozone.report.defs#reasonCivicMisinformation'
62
- | 'tools.ozone.report.defs#reasonCivicImpersonation'
53
+ | 'tools.ozone.report.defs#reasonSelfHarmContent'
54
+ | 'tools.ozone.report.defs#reasonSelfHarmED'
55
+ | 'tools.ozone.report.defs#reasonSelfHarmStunts'
56
+ | 'tools.ozone.report.defs#reasonSelfHarmSubstances'
57
+ | 'tools.ozone.report.defs#reasonSelfHarmOther'
63
58
  | (string & {})
64
59
 
65
60
  /** Appeal a previously taken moderation action */
66
61
  export const REASONAPPEAL = `${id}#reasonAppeal`
62
+ /** An issue not included in these options */
63
+ export const REASONOTHER = `${id}#reasonOther`
67
64
  /** Animal welfare violations */
68
- export const REASONVIOLENCEANIMALWELFARE = `${id}#reasonViolenceAnimalWelfare`
65
+ export const REASONVIOLENCEANIMAL = `${id}#reasonViolenceAnimal`
69
66
  /** Threats or incitement */
70
67
  export const REASONVIOLENCETHREATS = `${id}#reasonViolenceThreats`
71
68
  /** Graphic violent content */
72
69
  export const REASONVIOLENCEGRAPHICCONTENT = `${id}#reasonViolenceGraphicContent`
73
- /** Self harm */
74
- export const REASONVIOLENCESELFHARM = `${id}#reasonViolenceSelfHarm`
75
70
  /** Glorification of violence */
76
71
  export const REASONVIOLENCEGLORIFICATION = `${id}#reasonViolenceGlorification`
77
72
  /** Extremist content. These reports will be sent only be sent to the application's Moderation Authority. */
@@ -84,8 +79,6 @@ export const REASONVIOLENCEOTHER = `${id}#reasonViolenceOther`
84
79
  export const REASONSEXUALABUSECONTENT = `${id}#reasonSexualAbuseContent`
85
80
  /** Non-consensual intimate imagery */
86
81
  export const REASONSEXUALNCII = `${id}#reasonSexualNCII`
87
- /** Sextortion */
88
- export const REASONSEXUALSEXTORTION = `${id}#reasonSexualSextortion`
89
82
  /** Deepfake adult content */
90
83
  export const REASONSEXUALDEEPFAKE = `${id}#reasonSexualDeepfake`
91
84
  /** Animal sexual abuse */
@@ -99,13 +92,9 @@ export const REASONCHILDSAFETYCSAM = `${id}#reasonChildSafetyCSAM`
99
92
  /** Grooming or predatory behavior. These reports will be sent only be sent to the application's Moderation Authority. */
100
93
  export const REASONCHILDSAFETYGROOM = `${id}#reasonChildSafetyGroom`
101
94
  /** Privacy violation involving a minor */
102
- export const REASONCHILDSAFETYMINORPRIVACY = `${id}#reasonChildSafetyMinorPrivacy`
103
- /** Child endangerment. These reports will be sent only be sent to the application's Moderation Authority. */
104
- export const REASONCHILDSAFETYENDANGERMENT = `${id}#reasonChildSafetyEndangerment`
95
+ export const REASONCHILDSAFETYPRIVACY = `${id}#reasonChildSafetyPrivacy`
105
96
  /** Harassment or bullying of minors */
106
97
  export const REASONCHILDSAFETYHARASSMENT = `${id}#reasonChildSafetyHarassment`
107
- /** Promotion of child exploitation. These reports will be sent only be sent to the application's Moderation Authority. */
108
- export const REASONCHILDSAFETYPROMOTION = `${id}#reasonChildSafetyPromotion`
109
98
  /** Other child safety. These reports will be sent only be sent to the application's Moderation Authority. */
110
99
  export const REASONCHILDSAFETYOTHER = `${id}#reasonChildSafetyOther`
111
100
  /** Trolling */
@@ -126,29 +115,25 @@ export const REASONMISLEADINGIMPERSONATION = `${id}#reasonMisleadingImpersonatio
126
115
  export const REASONMISLEADINGSPAM = `${id}#reasonMisleadingSpam`
127
116
  /** Scam */
128
117
  export const REASONMISLEADINGSCAM = `${id}#reasonMisleadingScam`
129
- /** Unlabelled gen-AI or synthetic content */
130
- export const REASONMISLEADINGSYNTHETICCONTENT = `${id}#reasonMisleadingSyntheticContent`
131
- /** Harmful false claims */
132
- export const REASONMISLEADINGMISINFORMATION = `${id}#reasonMisleadingMisinformation`
118
+ /** False information about elections */
119
+ export const REASONMISLEADINGELECTIONS = `${id}#reasonMisleadingElections`
133
120
  /** Other misleading content */
134
121
  export const REASONMISLEADINGOTHER = `${id}#reasonMisleadingOther`
135
122
  /** Hacking or system attacks */
136
123
  export const REASONRULESITESECURITY = `${id}#reasonRuleSiteSecurity`
137
- /** Stolen content */
138
- export const REASONRULESTOLENCONTENT = `${id}#reasonRuleStolenContent`
139
124
  /** Promoting or selling prohibited items or services */
140
125
  export const REASONRULEPROHIBITEDSALES = `${id}#reasonRuleProhibitedSales`
141
126
  /** Banned user returning */
142
127
  export const REASONRULEBANEVASION = `${id}#reasonRuleBanEvasion`
143
128
  /** Other */
144
129
  export const REASONRULEOTHER = `${id}#reasonRuleOther`
145
- /** Electoral process violations */
146
- export const REASONCIVICELECTORALPROCESS = `${id}#reasonCivicElectoralProcess`
147
- /** Disclosure & transparency violations */
148
- export const REASONCIVICDISCLOSURE = `${id}#reasonCivicDisclosure`
149
- /** Voter intimidation or interference */
150
- export const REASONCIVICINTERFERENCE = `${id}#reasonCivicInterference`
151
- /** Election misinformation */
152
- export const REASONCIVICMISINFORMATION = `${id}#reasonCivicMisinformation`
153
- /** Impersonation of electoral officials/entities */
154
- export const REASONCIVICIMPERSONATION = `${id}#reasonCivicImpersonation`
130
+ /** Content promoting or depicting self-harm */
131
+ export const REASONSELFHARMCONTENT = `${id}#reasonSelfHarmContent`
132
+ /** Eating disorders */
133
+ export const REASONSELFHARMED = `${id}#reasonSelfHarmED`
134
+ /** Dangerous challenges or activities */
135
+ export const REASONSELFHARMSTUNTS = `${id}#reasonSelfHarmStunts`
136
+ /** Dangerous substances or drug abuse */
137
+ export const REASONSELFHARMSUBSTANCES = `${id}#reasonSelfHarmSubstances`
138
+ /** Other dangerous content */
139
+ export const REASONSELFHARMOTHER = `${id}#reasonSelfHarmOther`
package/src/types.ts CHANGED
@@ -1,11 +1,53 @@
1
1
  import { AppBskyActorDefs } from './client'
2
2
  import { ModerationPrefs } from './moderation/types'
3
3
 
4
- /**
5
- * Supported proxy targets
6
- */
7
- type UnknownServiceType = string & NonNullable<unknown>
4
+ export type UnknownServiceType = string & NonNullable<unknown>
8
5
  export type AtprotoServiceType = 'atproto_labeler' | UnknownServiceType
6
+ export function isAtprotoServiceType<T extends string>(
7
+ input: T,
8
+ ): input is T & AtprotoServiceType {
9
+ return !input.includes(' ') && !input.includes('#')
10
+ }
11
+
12
+ // @TODO use tools from @atproto/did
13
+ export type Did = `did:${string}:${string}`
14
+ export function isDid<T extends string>(input: T): input is T & Did {
15
+ if (!input.startsWith('did:')) return false
16
+ if (input.length < 8) return false
17
+ if (input.length > 2048) return false
18
+ const msidx = input.indexOf(':', 4)
19
+ return msidx > 4 && msidx < input.length - 1
20
+ }
21
+
22
+ export function assertDid(input: string): asserts input is Did {
23
+ if (!isDid(input)) throw new TypeError(`Invalid DID: ${input}`)
24
+ }
25
+
26
+ export function asDid<T extends string>(input: T) {
27
+ assertDid(input)
28
+ return input
29
+ }
30
+
31
+ export type AtprotoProxy = `${Did}#${AtprotoServiceType}`
32
+ export function isAtprotoProxy(input: string): input is AtprotoProxy {
33
+ const { length, [0]: did, [1]: service } = input.split('#')
34
+ return length === 2 && isDid(did) && isAtprotoServiceType(service)
35
+ }
36
+
37
+ export function assertAtprotoProxy(
38
+ input: string,
39
+ ): asserts input is AtprotoProxy {
40
+ if (!isAtprotoProxy(input)) {
41
+ throw new TypeError(
42
+ `Invalid DID reference: ${input} (must be of the form did:example:alice#service)`,
43
+ )
44
+ }
45
+ }
46
+
47
+ export function asAtprotoProxy<T extends string>(input: T) {
48
+ assertAtprotoProxy(input)
49
+ return input
50
+ }
9
51
 
10
52
  /**
11
53
  * Used by the PersistSessionHandler to indicate what change occurred
package/src/util.ts CHANGED
@@ -82,21 +82,6 @@ export function validateSavedFeed(savedFeed: AppBskyActorDefs.SavedFeed) {
82
82
  }
83
83
  }
84
84
 
85
- export type Did = `did:${string}`
86
-
87
- // @TODO use tools from @atproto/did
88
- export const isDid = (str: unknown): str is Did =>
89
- typeof str === 'string' &&
90
- str.startsWith('did:') &&
91
- str.includes(':', 4) &&
92
- str.length > 8 &&
93
- str.length <= 2048
94
-
95
- export const asDid = (value: string): Did => {
96
- if (isDid(value)) return value
97
- throw new TypeError(`Invalid DID: ${value}`)
98
- }
99
-
100
85
  export const nuxSchema = z
101
86
  .object({
102
87
  id: z.string().max(64),