@atproto/api 0.10.5 → 0.11.0-next

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 (422) hide show
  1. package/definitions/labels.json +191 -189
  2. package/dist/agent.d.ts +3 -1
  3. package/dist/bsky-agent.d.ts +6 -2
  4. package/dist/client/index.d.ts +94 -38
  5. package/dist/client/lexicons.d.ts +5091 -4833
  6. package/dist/client/types/app/bsky/actor/createScene.d.ts +32 -0
  7. package/dist/client/types/app/bsky/actor/defs.d.ts +23 -1
  8. package/dist/client/types/app/bsky/actor/ref.d.ts +28 -0
  9. package/dist/client/types/app/bsky/actor/search.d.ts +22 -0
  10. package/dist/client/types/app/bsky/actor/searchActor.d.ts +22 -0
  11. package/dist/client/types/app/bsky/actor/searchActorTypeahead.d.ts +20 -0
  12. package/dist/client/types/app/bsky/actor/searchTypeahead.d.ts +20 -0
  13. package/dist/client/types/app/bsky/actor/updateProfile.d.ts +47 -0
  14. package/dist/client/types/app/bsky/embed/record.d.ts +2 -1
  15. package/dist/client/types/app/bsky/feed/bookmarkFeed.d.ts +17 -0
  16. package/dist/client/types/app/bsky/feed/feedViewPost.d.ts +28 -0
  17. package/dist/client/types/app/bsky/feed/getBookmarkedFeeds.d.ts +21 -0
  18. package/dist/client/types/app/bsky/feed/getSavedFeeds.d.ts +21 -0
  19. package/dist/client/types/app/bsky/feed/getVotes.d.ts +36 -0
  20. package/dist/client/types/app/bsky/feed/saveFeed.d.ts +17 -0
  21. package/dist/client/types/app/bsky/feed/setVote.d.ts +25 -0
  22. package/dist/client/types/app/bsky/feed/trend.d.ts +9 -0
  23. package/dist/client/types/app/bsky/feed/unbookmarkFeed.d.ts +17 -0
  24. package/dist/client/types/app/bsky/feed/unsaveFeed.d.ts +17 -0
  25. package/dist/client/types/app/bsky/feed/vote.d.ts +10 -0
  26. package/dist/client/types/app/bsky/graph/assertCreator.d.ts +1 -0
  27. package/dist/client/types/app/bsky/graph/assertMember.d.ts +1 -0
  28. package/dist/client/types/app/bsky/graph/assertion.d.ts +10 -0
  29. package/dist/client/types/app/bsky/graph/confirmation.d.ts +11 -0
  30. package/dist/client/types/app/bsky/graph/getAssertions.d.ts +48 -0
  31. package/dist/client/types/app/bsky/graph/getMembers.d.ts +36 -0
  32. package/dist/client/types/app/bsky/graph/getMemberships.d.ts +36 -0
  33. package/dist/client/types/app/bsky/graph/mute.d.ts +17 -0
  34. package/dist/client/types/app/bsky/graph/unmute.d.ts +17 -0
  35. package/dist/client/types/app/bsky/labeler/defs.d.ts +41 -0
  36. package/dist/client/types/app/bsky/labeler/getServices.d.ts +23 -0
  37. package/dist/client/types/app/bsky/labeler/service.d.ts +14 -0
  38. package/dist/client/types/app/bsky/moderation/defs.d.ts +41 -0
  39. package/dist/client/types/app/bsky/moderation/getService.d.ts +16 -0
  40. package/dist/client/types/app/bsky/moderation/getServices.d.ts +23 -0
  41. package/dist/client/types/app/bsky/moderation/service.d.ts +14 -0
  42. package/dist/client/types/app/bsky/notification/getCount.d.ts +17 -0
  43. package/dist/client/types/app/bsky/notification/list.d.ts +35 -0
  44. package/dist/client/types/app/bsky/system/actorScene.d.ts +1 -0
  45. package/dist/client/types/app/bsky/system/actorUser.d.ts +1 -0
  46. package/dist/client/types/app/bsky/system/declRef.d.ts +8 -0
  47. package/dist/client/types/app/bsky/system/declaration.d.ts +7 -0
  48. package/dist/client/types/app/bsky/unspecced/applyLabels.d.ts +18 -0
  49. package/dist/client/types/app/bsky/unspecced/getPopular.d.ts +22 -0
  50. package/dist/client/types/app/bsky/unspecced/getTimelineSkeleton.d.ts +24 -0
  51. package/dist/client/types/com/atproto/account/create.d.ts +41 -0
  52. package/dist/client/types/com/atproto/account/createInviteCode.d.ts +22 -0
  53. package/dist/client/types/com/atproto/account/delete.d.ts +25 -0
  54. package/dist/client/types/com/atproto/account/get.d.ts +12 -0
  55. package/dist/client/types/com/atproto/account/requestDelete.d.ts +13 -0
  56. package/dist/client/types/com/atproto/account/requestPasswordReset.d.ts +17 -0
  57. package/dist/client/types/com/atproto/account/resetPassword.d.ts +24 -0
  58. package/dist/client/types/com/atproto/admin/blob.d.ts +37 -0
  59. package/dist/client/types/com/atproto/admin/defs.d.ts +0 -304
  60. package/dist/client/types/com/atproto/admin/getInviteCodeUsage.d.ts +29 -0
  61. package/dist/client/types/com/atproto/admin/getModerationAction.d.ts +16 -0
  62. package/dist/client/types/com/atproto/admin/getModerationActions.d.ts +22 -0
  63. package/dist/client/types/com/atproto/admin/getModerationReport.d.ts +16 -0
  64. package/dist/client/types/com/atproto/admin/getModerationReports.d.ts +28 -0
  65. package/dist/client/types/com/atproto/admin/getSubjectState.d.ts +26 -0
  66. package/dist/client/types/com/atproto/admin/getUserAccountInfo.d.ts +16 -0
  67. package/dist/client/types/com/atproto/admin/moderationAction.d.ts +60 -0
  68. package/dist/client/types/com/atproto/admin/moderationReport.d.ts +37 -0
  69. package/dist/client/types/com/atproto/admin/rebaseRepo.d.ts +24 -0
  70. package/dist/client/types/com/atproto/admin/record.d.ts +43 -0
  71. package/dist/client/types/com/atproto/admin/repo.d.ts +45 -0
  72. package/dist/client/types/com/atproto/admin/resolveModerationReports.d.ts +22 -0
  73. package/dist/client/types/com/atproto/admin/reverseModerationAction.d.ts +22 -0
  74. package/dist/client/types/com/atproto/admin/takeModerationAction.d.ts +34 -0
  75. package/dist/client/types/com/atproto/admin/updateSubjectState.d.ts +32 -0
  76. package/dist/client/types/com/atproto/blob/upload.d.ts +19 -0
  77. package/dist/client/types/com/atproto/handle/resolve.d.ts +18 -0
  78. package/dist/client/types/com/atproto/handle/update.d.ts +17 -0
  79. package/dist/client/types/com/atproto/label/defs.d.ts +21 -0
  80. package/dist/client/types/com/atproto/repo/batchWrite.d.ts +46 -0
  81. package/dist/client/types/com/atproto/repo/describe.d.ts +22 -0
  82. package/dist/client/types/com/atproto/repo/rebaseRepo.d.ts +24 -0
  83. package/dist/client/types/com/atproto/repo/recordRef.d.ts +8 -0
  84. package/dist/client/types/com/atproto/repo/repoRef.d.ts +7 -0
  85. package/dist/client/types/com/atproto/repo/uploadRepo.d.ts +19 -0
  86. package/dist/client/types/com/atproto/report/create.d.ts +39 -0
  87. package/dist/client/types/com/atproto/report/reasonType.d.ts +3 -0
  88. package/dist/client/types/com/atproto/report/subject.d.ts +23 -0
  89. package/dist/client/types/com/atproto/server/getAccountsConfig.d.ts +27 -0
  90. package/dist/client/types/com/atproto/server/getUserInviteCodes.d.ts +31 -0
  91. package/dist/client/types/com/atproto/session/create.d.ts +29 -0
  92. package/dist/client/types/com/atproto/session/delete.d.ts +13 -0
  93. package/dist/client/types/com/atproto/session/get.d.ts +18 -0
  94. package/dist/client/types/com/atproto/session/refresh.d.ts +24 -0
  95. package/dist/client/types/com/atproto/sync/getCommitPath.d.ts +20 -0
  96. package/dist/client/types/com/atproto/sync/getCurrent.d.ts +22 -0
  97. package/dist/client/types/com/atproto/sync/getRoot.d.ts +21 -0
  98. package/dist/client/types/com/atproto/sync/importRepo.d.ts +16 -0
  99. package/dist/client/types/com/atproto/sync/subscribeAllRepos.d.ts +9 -0
  100. package/dist/client/types/com/atproto/sync/updateRepo.d.ts +15 -0
  101. package/dist/client/types/com/atproto/temp/importRepo.d.ts +16 -0
  102. package/dist/client/types/com/atproto/temp/pushBlob.d.ts +15 -0
  103. package/dist/client/types/com/atproto/temp/transferAccount.d.ts +48 -0
  104. package/dist/client/types/com/atproto/temp/upgradeRepoVersion.d.ts +18 -0
  105. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts +23 -0
  106. package/dist/client/types/tools/ozone/communication/defs.d.ts +14 -0
  107. package/dist/client/types/tools/ozone/communication/deleteTemplate.d.ts +17 -0
  108. package/dist/client/types/tools/ozone/communication/listTemplates.d.ts +18 -0
  109. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts +25 -0
  110. package/dist/client/types/tools/ozone/moderation/defs.d.ts +269 -0
  111. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +34 -0
  112. package/dist/client/types/tools/ozone/moderation/getEvent.d.ts +16 -0
  113. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts +20 -0
  114. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts +19 -0
  115. package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts +35 -0
  116. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts +37 -0
  117. package/dist/client/types/tools/ozone/moderation/searchRepos.d.ts +23 -0
  118. package/dist/const.d.ts +1 -0
  119. package/dist/index.d.ts +3 -2
  120. package/dist/index.js +7865 -7922
  121. package/dist/index.js.map +3 -3
  122. package/dist/mocker.d.ts +57 -0
  123. package/dist/moderation/const/labels.d.ts +4 -2
  124. package/dist/moderation/decision.d.ts +26 -0
  125. package/dist/moderation/index.d.ts +10 -44
  126. package/dist/moderation/subjects/account.d.ts +2 -1
  127. package/dist/moderation/subjects/feed-generator.d.ts +2 -1
  128. package/dist/moderation/subjects/notification.d.ts +3 -0
  129. package/dist/moderation/subjects/post.d.ts +2 -1
  130. package/dist/moderation/subjects/profile.d.ts +2 -1
  131. package/dist/moderation/subjects/user-list.d.ts +2 -1
  132. package/dist/moderation/types.d.ts +47 -61
  133. package/dist/moderation/ui.d.ts +12 -0
  134. package/dist/moderation/util.d.ts +4 -8
  135. package/dist/session.d.ts +42 -0
  136. package/dist/src/client/index.d.ts +462 -0
  137. package/dist/src/client/lexicons.d.ts +2910 -0
  138. package/dist/src/client/schemas.d.ts +17 -0
  139. package/dist/src/client/types/app/bsky/actor/createScene.d.ts +32 -0
  140. package/dist/src/client/types/app/bsky/actor/getProfile.d.ts +36 -0
  141. package/dist/src/client/types/app/bsky/actor/getSuggestions.d.ts +36 -0
  142. package/dist/src/client/types/app/bsky/actor/profile.d.ts +15 -0
  143. package/dist/src/client/types/app/bsky/actor/ref.d.ts +14 -0
  144. package/dist/src/client/types/app/bsky/actor/search.d.ts +32 -0
  145. package/dist/src/client/types/app/bsky/actor/searchTypeahead.d.ts +28 -0
  146. package/dist/src/client/types/app/bsky/actor/updateProfile.d.ts +48 -0
  147. package/dist/src/client/types/app/bsky/badge.d.ts +22 -0
  148. package/dist/src/client/types/app/bsky/badgeAccept.d.ts +11 -0
  149. package/dist/src/client/types/app/bsky/badgeOffer.d.ts +11 -0
  150. package/dist/src/client/types/app/bsky/declaration.d.ts +6 -0
  151. package/dist/src/client/types/app/bsky/embed/external.d.ts +26 -0
  152. package/dist/src/client/types/app/bsky/embed/images.d.ts +23 -0
  153. package/dist/src/client/types/app/bsky/feed/embed.d.ts +36 -0
  154. package/dist/src/client/types/app/bsky/feed/feedViewPost.d.ts +26 -0
  155. package/dist/src/client/types/app/bsky/feed/getAuthorFeed.d.ts +22 -0
  156. package/dist/src/client/types/app/bsky/feed/getPostThread.d.ts +43 -0
  157. package/dist/src/client/types/app/bsky/feed/getRepostedBy.d.ts +35 -0
  158. package/dist/src/client/types/app/bsky/feed/getTimeline.d.ts +22 -0
  159. package/dist/src/client/types/app/bsky/feed/getVotes.d.ts +33 -0
  160. package/dist/src/client/types/app/bsky/feed/mediaEmbed.d.ts +18 -0
  161. package/dist/src/client/types/app/bsky/feed/post.d.ts +54 -0
  162. package/dist/src/client/types/app/bsky/feed/repost.d.ts +6 -0
  163. package/dist/src/client/types/app/bsky/feed/setVote.d.ts +25 -0
  164. package/dist/src/client/types/app/bsky/feed/trend.d.ts +6 -0
  165. package/dist/src/client/types/app/bsky/feed/vote.d.ts +7 -0
  166. package/dist/src/client/types/app/bsky/follow.d.ts +9 -0
  167. package/dist/src/client/types/app/bsky/getAuthorFeed.d.ts +56 -0
  168. package/dist/src/client/types/app/bsky/getBadgeMembers.d.ts +29 -0
  169. package/dist/src/client/types/app/bsky/getHomeFeed.d.ts +56 -0
  170. package/dist/src/client/types/app/bsky/getLikedBy.d.ts +29 -0
  171. package/dist/src/client/types/app/bsky/getNotificationCount.d.ts +16 -0
  172. package/dist/src/client/types/app/bsky/getNotifications.d.ts +33 -0
  173. package/dist/src/client/types/app/bsky/getPostThread.d.ts +55 -0
  174. package/dist/src/client/types/app/bsky/getProfile.d.ts +26 -0
  175. package/dist/src/client/types/app/bsky/getRepostedBy.d.ts +29 -0
  176. package/dist/src/client/types/app/bsky/getTimeline.d.ts +56 -0
  177. package/dist/src/client/types/app/bsky/getUserFollowers.d.ts +31 -0
  178. package/dist/src/client/types/app/bsky/getUserFollows.d.ts +31 -0
  179. package/dist/src/client/types/app/bsky/getUsersSearch.d.ts +26 -0
  180. package/dist/src/client/types/app/bsky/getUsersTypeahead.d.ts +22 -0
  181. package/dist/src/client/types/app/bsky/graph/assertCreator.d.ts +1 -0
  182. package/dist/src/client/types/app/bsky/graph/assertMember.d.ts +1 -0
  183. package/dist/src/client/types/app/bsky/graph/assertion.d.ts +7 -0
  184. package/dist/src/client/types/app/bsky/graph/confirmation.d.ts +8 -0
  185. package/dist/src/client/types/app/bsky/graph/follow.d.ts +6 -0
  186. package/dist/src/client/types/app/bsky/graph/getAssertions.d.ts +43 -0
  187. package/dist/src/client/types/app/bsky/graph/getFollowers.d.ts +34 -0
  188. package/dist/src/client/types/app/bsky/graph/getFollows.d.ts +33 -0
  189. package/dist/src/client/types/app/bsky/graph/getMembers.d.ts +33 -0
  190. package/dist/src/client/types/app/bsky/graph/getMemberships.d.ts +33 -0
  191. package/dist/src/client/types/app/bsky/invite.d.ts +10 -0
  192. package/dist/src/client/types/app/bsky/inviteAccept.d.ts +14 -0
  193. package/dist/src/client/types/app/bsky/like.d.ts +10 -0
  194. package/dist/src/client/types/app/bsky/mediaEmbed.d.ts +15 -0
  195. package/dist/src/client/types/app/bsky/notification/getCount.d.ts +17 -0
  196. package/dist/src/client/types/app/bsky/notification/list.d.ts +32 -0
  197. package/dist/src/client/types/app/bsky/notification/updateSeen.d.ts +17 -0
  198. package/dist/src/client/types/app/bsky/post.d.ts +23 -0
  199. package/dist/src/client/types/app/bsky/postNotificationsSeen.d.ts +20 -0
  200. package/dist/src/client/types/app/bsky/profile.d.ts +5 -0
  201. package/dist/src/client/types/app/bsky/repost.d.ts +10 -0
  202. package/dist/src/client/types/app/bsky/system/actorScene.d.ts +1 -0
  203. package/dist/src/client/types/app/bsky/system/actorUser.d.ts +1 -0
  204. package/dist/src/client/types/app/bsky/system/declRef.d.ts +5 -0
  205. package/dist/src/client/types/app/bsky/system/declaration.d.ts +4 -0
  206. package/dist/src/client/types/app/bsky/updateProfile.d.ts +23 -0
  207. package/dist/src/client/types/com/atproto/account/create.d.ts +41 -0
  208. package/dist/src/client/types/com/atproto/account/createInviteCode.d.ts +22 -0
  209. package/dist/src/client/types/com/atproto/account/delete.d.ts +13 -0
  210. package/dist/src/client/types/com/atproto/account/get.d.ts +12 -0
  211. package/dist/src/client/types/com/atproto/account/requestPasswordReset.d.ts +17 -0
  212. package/dist/src/client/types/com/atproto/account/resetPassword.d.ts +24 -0
  213. package/dist/src/client/types/com/atproto/blob/upload.d.ts +19 -0
  214. package/dist/src/client/types/com/atproto/createAccount.d.ts +40 -0
  215. package/dist/src/client/types/com/atproto/createInviteCode.d.ts +20 -0
  216. package/dist/src/client/types/com/atproto/createSession.d.ts +24 -0
  217. package/dist/src/client/types/com/atproto/data/uploadFile.d.ts +19 -0
  218. package/dist/src/client/types/com/atproto/deleteAccount.d.ts +20 -0
  219. package/dist/src/client/types/com/atproto/deleteSession.d.ts +17 -0
  220. package/dist/src/client/types/com/atproto/getAccount.d.ts +16 -0
  221. package/dist/src/client/types/com/atproto/getAccountsConfig.d.ts +17 -0
  222. package/dist/src/client/types/com/atproto/getSession.d.ts +17 -0
  223. package/dist/src/client/types/com/atproto/handle/resolve.d.ts +18 -0
  224. package/dist/src/client/types/com/atproto/refreshSession.d.ts +20 -0
  225. package/dist/src/client/types/com/atproto/repo/batchWrite.d.ts +39 -0
  226. package/dist/src/client/types/com/atproto/repo/createRecord.d.ts +26 -0
  227. package/dist/src/client/types/com/atproto/repo/deleteRecord.d.ts +19 -0
  228. package/dist/src/client/types/com/atproto/repo/describe.d.ts +22 -0
  229. package/dist/src/client/types/com/atproto/repo/getRecord.d.ts +23 -0
  230. package/dist/src/client/types/com/atproto/repo/listRecords.d.ts +30 -0
  231. package/dist/src/client/types/com/atproto/repo/putRecord.d.ts +27 -0
  232. package/dist/src/client/types/com/atproto/repo/strongRef.d.ts +5 -0
  233. package/dist/src/client/types/com/atproto/repoBatchWrite.d.ts +36 -0
  234. package/dist/src/client/types/com/atproto/repoCreateRecord.d.ts +24 -0
  235. package/dist/src/client/types/com/atproto/repoDeleteRecord.d.ts +18 -0
  236. package/dist/src/client/types/com/atproto/repoDescribe.d.ts +21 -0
  237. package/dist/src/client/types/com/atproto/repoGetRecord.d.ts +22 -0
  238. package/dist/src/client/types/com/atproto/repoListRecords.d.ts +27 -0
  239. package/dist/src/client/types/com/atproto/repoPutRecord.d.ts +25 -0
  240. package/dist/src/client/types/com/atproto/requestAccountPasswordReset.d.ts +19 -0
  241. package/dist/src/client/types/com/atproto/resetAccountPassword.d.ts +26 -0
  242. package/dist/src/client/types/com/atproto/resolveHandle.d.ts +17 -0
  243. package/dist/src/client/types/com/atproto/resolveName.d.ts +17 -0
  244. package/dist/src/client/types/com/atproto/server/getAccountsConfig.d.ts +24 -0
  245. package/dist/src/client/types/com/atproto/session/create.d.ts +26 -0
  246. package/dist/src/client/types/com/atproto/session/delete.d.ts +13 -0
  247. package/dist/src/client/types/com/atproto/session/get.d.ts +18 -0
  248. package/dist/src/client/types/com/atproto/session/refresh.d.ts +21 -0
  249. package/dist/src/client/types/com/atproto/sync/getRepo.d.ts +15 -0
  250. package/dist/src/client/types/com/atproto/sync/getRoot.d.ts +18 -0
  251. package/dist/src/client/types/com/atproto/sync/updateRepo.d.ts +15 -0
  252. package/dist/src/client/types/com/atproto/syncGetRepo.d.ts +15 -0
  253. package/dist/src/client/types/com/atproto/syncGetRoot.d.ts +17 -0
  254. package/dist/src/client/types/com/atproto/syncUpdateRepo.d.ts +15 -0
  255. package/dist/src/index.d.ts +4 -0
  256. package/dist/src/schemas.d.ts +19 -0
  257. package/dist/src/session.d.ts +42 -0
  258. package/dist/src/types/app/bsky/acceptedBadge.d.ts +10 -0
  259. package/dist/src/types/app/bsky/badge.d.ts +22 -0
  260. package/dist/src/types/app/bsky/badgeAccept.d.ts +11 -0
  261. package/dist/src/types/app/bsky/badgeOffer.d.ts +11 -0
  262. package/dist/src/types/app/bsky/declaration.d.ts +6 -0
  263. package/dist/src/types/app/bsky/follow.d.ts +9 -0
  264. package/dist/src/types/app/bsky/getAuthorFeed.d.ts +56 -0
  265. package/dist/src/types/app/bsky/getBadgeMembers.d.ts +29 -0
  266. package/dist/src/types/app/bsky/getHomeFeed.d.ts +56 -0
  267. package/dist/src/types/app/bsky/getLikedBy.d.ts +29 -0
  268. package/dist/src/types/app/bsky/getNotificationCount.d.ts +16 -0
  269. package/dist/src/types/app/bsky/getNotifications.d.ts +33 -0
  270. package/dist/src/types/app/bsky/getPostThread.d.ts +55 -0
  271. package/dist/src/types/app/bsky/getProfile.d.ts +42 -0
  272. package/dist/src/types/app/bsky/getRepostedBy.d.ts +29 -0
  273. package/dist/src/types/app/bsky/getUserFollowers.d.ts +31 -0
  274. package/dist/src/types/app/bsky/getUserFollows.d.ts +31 -0
  275. package/dist/src/types/app/bsky/getUsersSearch.d.ts +26 -0
  276. package/dist/src/types/app/bsky/getUsersTypeahead.d.ts +22 -0
  277. package/dist/src/types/app/bsky/invite.d.ts +10 -0
  278. package/dist/src/types/app/bsky/inviteAccept.d.ts +14 -0
  279. package/dist/src/types/app/bsky/like.d.ts +10 -0
  280. package/dist/src/types/app/bsky/mediaEmbed.d.ts +15 -0
  281. package/dist/src/types/app/bsky/post.d.ts +23 -0
  282. package/dist/src/types/app/bsky/postNotificationsSeen.d.ts +19 -0
  283. package/dist/src/types/app/bsky/profile.d.ts +11 -0
  284. package/dist/src/types/app/bsky/repost.d.ts +10 -0
  285. package/dist/src/types/app/bsky/updateProfile.d.ts +27 -0
  286. package/dist/src/types/com/atproto/createAccount.d.ts +39 -0
  287. package/dist/src/types/com/atproto/createInviteCode.d.ts +19 -0
  288. package/dist/src/types/com/atproto/createSession.d.ts +23 -0
  289. package/dist/src/types/com/atproto/deleteAccount.d.ts +19 -0
  290. package/dist/src/types/com/atproto/deleteSession.d.ts +16 -0
  291. package/dist/src/types/com/atproto/getAccount.d.ts +19 -0
  292. package/dist/src/types/com/atproto/getAccountsConfig.d.ts +17 -0
  293. package/dist/src/types/com/atproto/getSession.d.ts +17 -0
  294. package/dist/src/types/com/atproto/refreshSession.d.ts +19 -0
  295. package/dist/src/types/com/atproto/repoBatchWrite.d.ts +35 -0
  296. package/dist/src/types/com/atproto/repoCreateRecord.d.ts +23 -0
  297. package/dist/src/types/com/atproto/repoDeleteRecord.d.ts +15 -0
  298. package/dist/src/types/com/atproto/repoDescribe.d.ts +21 -0
  299. package/dist/src/types/com/atproto/repoGetRecord.d.ts +22 -0
  300. package/dist/src/types/com/atproto/repoListRecords.d.ts +27 -0
  301. package/dist/src/types/com/atproto/repoPutRecord.d.ts +24 -0
  302. package/dist/src/types/com/atproto/requestAccountPasswordReset.d.ts +18 -0
  303. package/dist/src/types/com/atproto/resetAccountPassword.d.ts +25 -0
  304. package/dist/src/types/com/atproto/resolveName.d.ts +17 -0
  305. package/dist/src/types/com/atproto/syncGetRepo.d.ts +15 -0
  306. package/dist/src/types/com/atproto/syncGetRoot.d.ts +17 -0
  307. package/dist/src/types/com/atproto/syncUpdateRepo.d.ts +14 -0
  308. package/dist/src/types/todo/adx/createAccount.d.ts +36 -0
  309. package/dist/src/types/todo/adx/createInviteCode.d.ts +19 -0
  310. package/dist/src/types/todo/adx/createSession.d.ts +22 -0
  311. package/dist/src/types/todo/adx/deleteAccount.d.ts +19 -0
  312. package/dist/src/types/todo/adx/deleteSession.d.ts +19 -0
  313. package/dist/src/types/todo/adx/getAccount.d.ts +19 -0
  314. package/dist/src/types/todo/adx/getAccountsConfig.d.ts +17 -0
  315. package/dist/src/types/todo/adx/getSession.d.ts +17 -0
  316. package/dist/src/types/todo/adx/repoBatchWrite.d.ts +34 -0
  317. package/dist/src/types/todo/adx/repoCreateRecord.d.ts +22 -0
  318. package/dist/src/types/todo/adx/repoDeleteRecord.d.ts +15 -0
  319. package/dist/src/types/todo/adx/repoDescribe.d.ts +21 -0
  320. package/dist/src/types/todo/adx/repoGetRecord.d.ts +20 -0
  321. package/dist/src/types/todo/adx/repoListRecords.d.ts +25 -0
  322. package/dist/src/types/todo/adx/repoPutRecord.d.ts +23 -0
  323. package/dist/src/types/todo/adx/requestAccountPasswordReset.d.ts +18 -0
  324. package/dist/src/types/todo/adx/resetAccountPassword.d.ts +25 -0
  325. package/dist/src/types/todo/adx/resolveName.d.ts +17 -0
  326. package/dist/src/types/todo/adx/syncGetRepo.d.ts +15 -0
  327. package/dist/src/types/todo/adx/syncGetRoot.d.ts +17 -0
  328. package/dist/src/types/todo/adx/syncUpdateRepo.d.ts +14 -0
  329. package/dist/src/types/todo/social/badge.d.ts +23 -0
  330. package/dist/src/types/todo/social/follow.d.ts +5 -0
  331. package/dist/src/types/todo/social/getAuthorFeed.d.ts +55 -0
  332. package/dist/src/types/todo/social/getFeed.d.ts +55 -0
  333. package/dist/src/types/todo/social/getHomeFeed.d.ts +55 -0
  334. package/dist/src/types/todo/social/getLikedBy.d.ts +26 -0
  335. package/dist/src/types/todo/social/getNotificationCount.d.ts +16 -0
  336. package/dist/src/types/todo/social/getNotifications.d.ts +31 -0
  337. package/dist/src/types/todo/social/getPostThread.d.ts +54 -0
  338. package/dist/src/types/todo/social/getProfile.d.ts +40 -0
  339. package/dist/src/types/todo/social/getRepostedBy.d.ts +26 -0
  340. package/dist/src/types/todo/social/getUserFollowers.d.ts +30 -0
  341. package/dist/src/types/todo/social/getUserFollows.d.ts +30 -0
  342. package/dist/src/types/todo/social/like.d.ts +5 -0
  343. package/dist/src/types/todo/social/mediaEmbed.d.ts +15 -0
  344. package/dist/src/types/todo/social/post.d.ts +18 -0
  345. package/dist/src/types/todo/social/postNotificationsSeen.d.ts +19 -0
  346. package/dist/src/types/todo/social/profile.d.ts +10 -0
  347. package/dist/src/types/todo/social/repost.d.ts +5 -0
  348. package/dist/types.d.ts +2 -4
  349. package/docs/labels.md +22 -468
  350. package/docs/moderation.md +0 -2
  351. package/package.json +5 -5
  352. package/scripts/code/labels.mjs +17 -35
  353. package/scripts/docs/labels.mjs +8 -85
  354. package/scripts/generate-code.mjs +0 -1
  355. package/scripts/generate-docs.mjs +0 -2
  356. package/src/agent.ts +24 -4
  357. package/src/bsky-agent.ts +184 -24
  358. package/src/client/index.ts +292 -173
  359. package/src/client/lexicons.ts +6192 -5926
  360. package/src/client/types/app/bsky/actor/defs.ts +57 -1
  361. package/src/client/types/app/bsky/embed/record.ts +2 -0
  362. package/src/client/types/app/bsky/labeler/defs.ts +93 -0
  363. package/src/client/types/app/bsky/labeler/getServices.ts +41 -0
  364. package/src/client/types/app/bsky/labeler/service.ts +31 -0
  365. package/src/client/types/com/atproto/admin/defs.ts +0 -694
  366. package/src/client/types/com/atproto/label/defs.ts +74 -0
  367. package/src/client/types/{com/atproto/admin/createCommunicationTemplate.ts → tools/ozone/communication/createTemplate.ts} +2 -2
  368. package/src/client/types/tools/ozone/communication/defs.ts +35 -0
  369. package/src/client/types/{com/atproto/admin/listCommunicationTemplates.ts → tools/ozone/communication/listTemplates.ts} +2 -2
  370. package/src/client/types/{com/atproto/admin/updateCommunicationTemplate.ts → tools/ozone/communication/updateTemplate.ts} +2 -2
  371. package/src/client/types/tools/ozone/moderation/defs.ts +641 -0
  372. package/src/client/types/{com/atproto/admin/emitModerationEvent.ts → tools/ozone/moderation/emitEvent.ts} +15 -14
  373. package/src/client/types/{com/atproto/admin/getModerationEvent.ts → tools/ozone/moderation/getEvent.ts} +2 -2
  374. package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.ts +2 -2
  375. package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.ts +2 -2
  376. package/src/client/types/{com/atproto/admin/queryModerationEvents.ts → tools/ozone/moderation/queryEvents.ts} +3 -3
  377. package/src/client/types/{com/atproto/admin/queryModerationStatuses.ts → tools/ozone/moderation/queryStatuses.ts} +2 -2
  378. package/src/client/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.ts +2 -2
  379. package/src/const.ts +1 -0
  380. package/src/index.ts +3 -2
  381. package/src/mocker.ts +214 -0
  382. package/src/moderation/const/labels.ts +247 -847
  383. package/src/moderation/decision.ts +337 -0
  384. package/src/moderation/index.ts +38 -304
  385. package/src/moderation/subjects/account.ts +6 -10
  386. package/src/moderation/subjects/feed-generator.ts +3 -6
  387. package/src/moderation/subjects/notification.ts +19 -0
  388. package/src/moderation/subjects/post.ts +6 -10
  389. package/src/moderation/subjects/profile.ts +6 -11
  390. package/src/moderation/subjects/user-list.ts +3 -6
  391. package/src/moderation/types.ts +81 -77
  392. package/src/moderation/ui.ts +21 -0
  393. package/src/moderation/util.ts +82 -72
  394. package/src/types.ts +3 -10
  395. package/tests/agent.test.ts +20 -0
  396. package/tests/bsky-agent.test.ts +401 -98
  397. package/tests/moderation-behaviors.test.ts +969 -0
  398. package/tests/moderation-custom-labels.test.ts +358 -0
  399. package/tests/moderation-prefs.test.ts +276 -0
  400. package/tests/moderation.test.ts +303 -201
  401. package/tests/util/echo-server.ts +21 -0
  402. package/tests/util/index.ts +1 -154
  403. package/tests/util/moderation-behavior.ts +129 -55
  404. package/definitions/locale/en/label-groups.json +0 -38
  405. package/definitions/locale/en/labels.json +0 -394
  406. package/definitions/locale/en/proposed-label-groups.json +0 -38
  407. package/definitions/locale/en/proposed-labels.json +0 -632
  408. package/definitions/moderation-behaviors.d.ts +0 -50
  409. package/definitions/post-moderation-behaviors.json +0 -1222
  410. package/definitions/profile-moderation-behaviors.json +0 -597
  411. package/definitions/proposed-labels.json +0 -326
  412. package/docs/moderation-behaviors/posts.md +0 -1813
  413. package/docs/moderation-behaviors/profiles.md +0 -833
  414. package/scripts/code/label-groups.mjs +0 -68
  415. package/scripts/docs/post-moderation-behaviors.mjs +0 -117
  416. package/scripts/docs/profile-moderation-behaviors.mjs +0 -122
  417. package/src/moderation/accumulator.ts +0 -217
  418. package/src/moderation/const/label-groups.ts +0 -149
  419. package/src/moderation/subjects/quoted-post.ts +0 -80
  420. package/tests/post-moderation.test.ts +0 -46
  421. package/tests/profile-moderation.test.ts +0 -46
  422. /package/src/client/types/{com/atproto/admin/deleteCommunicationTemplate.ts → tools/ozone/communication/deleteTemplate.ts} +0 -0
@@ -1,72 +1,81 @@
1
1
  import {
2
2
  AppBskyActorDefs,
3
3
  AppBskyFeedDefs,
4
+ AppBskyNotificationListNotifications,
4
5
  AppBskyGraphDefs,
5
6
  ComAtprotoLabelDefs,
6
7
  } from '../client/index'
8
+ import { KnownLabelValue } from './const/labels'
7
9
 
8
- // labels
10
+ // syntax
9
11
  // =
10
12
 
11
- export type Label = ComAtprotoLabelDefs.Label
12
-
13
- export type LabelPreference = 'ignore' | 'warn' | 'hide'
14
- export type LabelDefinitionFlag = 'no-override' | 'adult' | 'unauthed'
15
- export type LabelDefinitionOnWarnBehavior =
16
- | 'blur'
17
- | 'blur-media'
18
- | 'alert'
19
- | null
20
-
21
- export interface LabelDefinitionLocalizedStrings {
22
- name: string
23
- description: string
24
- }
13
+ export const CUSTOM_LABEL_VALUE_RE = /^[a-z-]+$/
25
14
 
26
- export type LabelDefinitionLocalizedStringsMap = Record<
27
- string,
28
- LabelDefinitionLocalizedStrings
29
- >
15
+ // behaviors
16
+ // =
30
17
 
31
- export interface LabelDefinition {
32
- id: string
33
- groupId: string
34
- configurable: boolean
35
- preferences: LabelPreference[]
36
- flags: LabelDefinitionFlag[]
37
- onwarn: LabelDefinitionOnWarnBehavior
38
- strings: {
39
- settings: LabelDefinitionLocalizedStringsMap
40
- account: LabelDefinitionLocalizedStringsMap
41
- content: LabelDefinitionLocalizedStringsMap
42
- }
18
+ export interface ModerationBehavior {
19
+ profileList?: 'blur' | 'alert' | 'inform'
20
+ profileView?: 'blur' | 'alert' | 'inform'
21
+ avatar?: 'blur' | 'alert'
22
+ banner?: 'blur'
23
+ displayName?: 'blur'
24
+ contentList?: 'blur' | 'alert' | 'inform'
25
+ contentView?: 'blur' | 'alert' | 'inform'
26
+ contentMedia?: 'blur'
43
27
  }
44
-
45
- export interface LabelGroupDefinition {
46
- id: string
47
- configurable: boolean
48
- labels: LabelDefinition[]
49
- strings: {
50
- settings: LabelDefinitionLocalizedStringsMap
51
- }
28
+ export const BLOCK_BEHAVIOR: ModerationBehavior = {
29
+ profileList: 'blur',
30
+ profileView: 'alert',
31
+ avatar: 'blur',
32
+ banner: 'blur',
33
+ contentList: 'blur',
34
+ contentView: 'blur',
52
35
  }
36
+ export const MUTE_BEHAVIOR: ModerationBehavior = {
37
+ profileList: 'inform',
38
+ profileView: 'alert',
39
+ contentList: 'blur',
40
+ contentView: 'inform',
41
+ }
42
+ export const HIDE_BEHAVIOR: ModerationBehavior = {
43
+ contentList: 'blur',
44
+ contentView: 'blur',
45
+ }
46
+ export const NOOP_BEHAVIOR: ModerationBehavior = {}
53
47
 
54
- export type LabelDefinitionMap = Record<string, LabelDefinition>
55
- export type LabelGroupDefinitionMap = Record<string, LabelGroupDefinition>
56
-
57
- // labelers
48
+ // labels
58
49
  // =
59
50
 
60
- interface Labeler {
61
- did: string
62
- displayName: string
63
- }
51
+ export type Label = ComAtprotoLabelDefs.Label
52
+ export type LabelTarget = 'account' | 'profile' | 'content'
53
+ export type LabelPreference = 'ignore' | 'warn' | 'hide'
64
54
 
65
- export interface LabelerSettings {
66
- labeler: Labeler
67
- labels: Record<string, LabelPreference>
55
+ export type LabelValueDefinitionFlag =
56
+ | 'no-override'
57
+ | 'adult'
58
+ | 'unauthed'
59
+ | 'no-self'
60
+
61
+ export interface InterprettedLabelValueDefinition
62
+ extends ComAtprotoLabelDefs.LabelValueDefinition {
63
+ // identifier: string
64
+ configurable: boolean
65
+ defaultSetting: LabelPreference // type narrowing
66
+ flags: LabelValueDefinitionFlag[]
67
+ behaviors: {
68
+ account?: ModerationBehavior
69
+ profile?: ModerationBehavior
70
+ content?: ModerationBehavior
71
+ }
68
72
  }
69
73
 
74
+ export type LabelDefinitionMap = Record<
75
+ KnownLabelValue,
76
+ InterprettedLabelValueDefinition
77
+ >
78
+
70
79
  // subjects
71
80
  // =
72
81
 
@@ -77,6 +86,9 @@ export type ModerationSubjectProfile =
77
86
 
78
87
  export type ModerationSubjectPost = AppBskyFeedDefs.PostView
79
88
 
89
+ export type ModerationSubjectNotification =
90
+ AppBskyNotificationListNotifications.Notification
91
+
80
92
  export type ModerationSubjectFeedGenerator = AppBskyFeedDefs.GeneratorView
81
93
 
82
94
  export type ModerationSubjectUserList =
@@ -86,6 +98,7 @@ export type ModerationSubjectUserList =
86
98
  export type ModerationSubject =
87
99
  | ModerationSubjectProfile
88
100
  | ModerationSubjectPost
101
+ | ModerationSubjectNotification
89
102
  | ModerationSubjectFeedGenerator
90
103
  | ModerationSubjectUserList
91
104
 
@@ -95,7 +108,7 @@ export type ModerationSubject =
95
108
  export type ModerationCauseSource =
96
109
  | { type: 'user' }
97
110
  | { type: 'list'; list: AppBskyGraphDefs.ListViewBasic }
98
- | { type: 'labeler'; labeler: Labeler }
111
+ | { type: 'labeler'; did: string }
99
112
 
100
113
  export type ModerationCause =
101
114
  | { type: 'blocking'; source: ModerationCauseSource; priority: 3 }
@@ -105,40 +118,31 @@ export type ModerationCause =
105
118
  type: 'label'
106
119
  source: ModerationCauseSource
107
120
  label: Label
108
- labelDef: LabelDefinition
121
+ labelDef: InterprettedLabelValueDefinition
109
122
  setting: LabelPreference
123
+ behavior: ModerationBehavior
124
+ noOverride: boolean
110
125
  priority: 1 | 2 | 5 | 7 | 8
111
126
  }
112
127
  | { type: 'muted'; source: ModerationCauseSource; priority: 6 }
128
+ | { type: 'hidden'; source: ModerationCauseSource; priority: 6 }
113
129
 
114
- export interface ModerationOpts {
115
- userDid: string
116
- adultContentEnabled: boolean
130
+ export interface ModerationPrefsModerator {
131
+ did: string
117
132
  labels: Record<string, LabelPreference>
118
- labelers: LabelerSettings[]
119
133
  }
120
134
 
121
- export class ModerationDecision {
122
- static noop() {
123
- return new ModerationDecision()
124
- }
125
-
126
- constructor(
127
- public cause: ModerationCause | undefined = undefined,
128
- public alert: boolean = false,
129
- public blur: boolean = false,
130
- public blurMedia: boolean = false,
131
- public filter: boolean = false,
132
- public noOverride: boolean = false,
133
- public additionalCauses: ModerationCause[] = [],
134
- public did: string = '',
135
- ) {}
135
+ export interface ModerationPrefs {
136
+ adultContentEnabled: boolean
137
+ labels: Record<string, LabelPreference>
138
+ mods: ModerationPrefsModerator[]
136
139
  }
137
140
 
138
- export interface ModerationUI {
139
- filter?: boolean
140
- blur?: boolean
141
- alert?: boolean
142
- cause?: ModerationCause
143
- noOverride?: boolean
141
+ export interface ModerationOpts {
142
+ userDid: string | undefined
143
+ prefs: ModerationPrefs
144
+ /**
145
+ * Map of labeler did -> custom definitions
146
+ */
147
+ labelDefs?: Record<string, InterprettedLabelValueDefinition[]>
144
148
  }
@@ -0,0 +1,21 @@
1
+ import { ModerationCause } from './types'
2
+
3
+ export class ModerationUI {
4
+ noOverride: boolean = false
5
+ filters: ModerationCause[] = []
6
+ blurs: ModerationCause[] = []
7
+ alerts: ModerationCause[] = []
8
+ informs: ModerationCause[] = []
9
+ get filter(): boolean {
10
+ return this.filters.length !== 0
11
+ }
12
+ get blur(): boolean {
13
+ return this.blurs.length !== 0
14
+ }
15
+ get alert(): boolean {
16
+ return this.alerts.length !== 0
17
+ }
18
+ get inform(): boolean {
19
+ return this.informs.length !== 0
20
+ }
21
+ }
@@ -1,69 +1,10 @@
1
- import { AppBskyEmbedRecord, AppBskyEmbedRecordWithMedia } from '../client'
2
- import { ModerationDecision, ModerationUI } from './types'
3
-
4
- export function takeHighestPriorityDecision(
5
- ...decisions: (ModerationDecision | undefined)[]
6
- ): ModerationDecision {
7
- // remove undefined decisions
8
- const filtered = decisions.filter((d) => !!d) as ModerationDecision[]
9
- if (filtered.length === 0) {
10
- return ModerationDecision.noop()
11
- }
12
-
13
- // sort by highest priority
14
- filtered.sort((a, b) => {
15
- if (a.cause && b.cause) {
16
- return a.cause.priority - b.cause.priority
17
- }
18
- if (a.cause) {
19
- return -1
20
- }
21
- if (b.cause) {
22
- return 1
23
- }
24
- return 0
25
- })
26
-
27
- // use the top priority
28
- return filtered[0]
29
- }
30
-
31
- export function downgradeDecision(
32
- decision: ModerationDecision,
33
- to: 'blur' | 'alert' | 'noop',
34
- ) {
35
- decision.filter = false
36
- decision.noOverride = false
37
- if (to === 'noop') {
38
- decision.blur = false
39
- decision.blurMedia = false
40
- decision.alert = false
41
- delete decision.cause
42
- } else if (to === 'alert') {
43
- decision.blur = false
44
- decision.blurMedia = false
45
- decision.alert = true
46
- }
47
- }
48
-
49
- export function isModerationDecisionNoop(
50
- decision: ModerationDecision | undefined,
51
- { ignoreFilter }: { ignoreFilter: boolean } = { ignoreFilter: false },
52
- ): boolean {
53
- if (!decision) {
54
- return true
55
- }
56
- if (decision.alert) {
57
- return false
58
- }
59
- if (decision.blur) {
60
- return false
61
- }
62
- if (decision.filter && !ignoreFilter) {
63
- return false
64
- }
65
- return true
66
- }
1
+ import {
2
+ AppBskyEmbedRecord,
3
+ AppBskyEmbedRecordWithMedia,
4
+ AppBskyLabelerDefs,
5
+ ComAtprotoLabelDefs,
6
+ } from '../client'
7
+ import { InterprettedLabelValueDefinition, ModerationBehavior } from './types'
67
8
 
68
9
  export function isQuotedPost(embed: unknown): embed is AppBskyEmbedRecord.View {
69
10
  return Boolean(embed && AppBskyEmbedRecord.isView(embed))
@@ -75,12 +16,81 @@ export function isQuotedPostWithMedia(
75
16
  return Boolean(embed && AppBskyEmbedRecordWithMedia.isView(embed))
76
17
  }
77
18
 
78
- export function toModerationUI(decision: ModerationDecision): ModerationUI {
19
+ export function interpretLabelValueDefinition(
20
+ def: ComAtprotoLabelDefs.LabelValueDefinition,
21
+ ): InterprettedLabelValueDefinition {
22
+ const behaviors: {
23
+ account: ModerationBehavior
24
+ profile: ModerationBehavior
25
+ content: ModerationBehavior
26
+ } = {
27
+ account: {},
28
+ profile: {},
29
+ content: {},
30
+ }
31
+ const alertOrInform: 'alert' | 'inform' | undefined =
32
+ def.severity === 'alert'
33
+ ? 'alert'
34
+ : def.severity === 'inform'
35
+ ? 'inform'
36
+ : undefined
37
+ if (def.blurs === 'content') {
38
+ // target=account, blurs=content
39
+ behaviors.account.profileList = alertOrInform
40
+ behaviors.account.profileView = alertOrInform
41
+ behaviors.account.contentList = 'blur'
42
+ behaviors.account.contentView = alertOrInform
43
+ // target=profile, blurs=content
44
+ behaviors.account.profileView = alertOrInform
45
+ behaviors.profile.avatar = 'blur'
46
+ behaviors.profile.banner = 'blur'
47
+ behaviors.profile.displayName = 'blur'
48
+ // target=content, blurs=content
49
+ behaviors.content.contentList = 'blur'
50
+ behaviors.content.contentView = alertOrInform
51
+ } else if (def.blurs === 'media') {
52
+ // target=account, blurs=media
53
+ behaviors.account.profileList = alertOrInform
54
+ behaviors.account.profileView = alertOrInform
55
+ behaviors.account.avatar = 'blur'
56
+ behaviors.account.banner = 'blur'
57
+ behaviors.account.contentMedia = 'blur'
58
+ // target=profile, blurs=media
59
+ behaviors.profile.profileView = alertOrInform
60
+ behaviors.profile.avatar = 'blur'
61
+ behaviors.profile.banner = 'blur'
62
+ // target=content, blurs=media
63
+ behaviors.content.contentMedia = 'blur'
64
+ } else if (def.blurs === 'none') {
65
+ // target=account, blurs=none
66
+ behaviors.account.profileList = alertOrInform
67
+ behaviors.account.profileView = alertOrInform
68
+ behaviors.account.contentList = alertOrInform
69
+ behaviors.account.contentView = alertOrInform
70
+ // target=profile, blurs=none
71
+ behaviors.profile.profileView = alertOrInform
72
+ // target=content, blurs=none
73
+ behaviors.content.contentList = alertOrInform
74
+ behaviors.content.contentView = alertOrInform
75
+ }
76
+
79
77
  return {
80
- cause: decision.cause,
81
- filter: decision.filter,
82
- blur: decision.blur,
83
- alert: decision.alert,
84
- noOverride: decision.noOverride,
78
+ ...def,
79
+ configurable: true,
80
+ defaultSetting: 'warn',
81
+ flags: ['no-self'],
82
+ behaviors,
85
83
  }
86
84
  }
85
+
86
+ export function interpretLabelValueDefinitions(
87
+ modserviceView: AppBskyLabelerDefs.LabelerViewDetailed,
88
+ ): InterprettedLabelValueDefinition[] {
89
+ return (modserviceView.policies?.labelValueDefinitions || [])
90
+ .filter(
91
+ (labelValDef) =>
92
+ ComAtprotoLabelDefs.isLabelValueDefinition(labelValDef) &&
93
+ ComAtprotoLabelDefs.validateLabelValueDefinition(labelValDef).success,
94
+ )
95
+ .map((labelValDef) => interpretLabelValueDefinition(labelValDef))
96
+ }
package/src/types.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { AppBskyActorNS, AppBskyActorDefs } from './client'
2
- import { LabelPreference } from './moderation/types'
1
+ import { AppBskyActorDefs } from './client'
2
+ import { ModerationPrefs } from './moderation/types'
3
3
 
4
4
  /**
5
5
  * Used by the PersistSessionHandler to indicate what change occurred
@@ -70,12 +70,6 @@ export interface AtpAgentGlobalOpts {
70
70
  fetch: AtpAgentFetchHandler
71
71
  }
72
72
 
73
- /**
74
- * Content-label preference
75
- */
76
- export type BskyLabelPreference = LabelPreference | 'show'
77
- // TEMP we need to permanently convert 'show' to 'ignore', for now we manually convert -prf
78
-
79
73
  /**
80
74
  * Bluesky feed view preferences
81
75
  */
@@ -116,8 +110,7 @@ export interface BskyPreferences {
116
110
  }
117
111
  feedViewPrefs: Record<string, BskyFeedViewPreference>
118
112
  threadViewPrefs: BskyThreadViewPreference
119
- adultContentEnabled: boolean
120
- contentLabels: Record<string, BskyLabelPreference>
113
+ moderationPrefs: ModerationPrefs
121
114
  birthDate: Date | undefined
122
115
  interests: BskyInterestsPreference
123
116
  mutedWords: AppBskyActorDefs.MutedWord[]
@@ -8,6 +8,7 @@ import {
8
8
  } from '..'
9
9
  import { TestNetworkNoAppView } from '@atproto/dev-env'
10
10
  import { getPdsEndpoint, isValidDidDoc } from '@atproto/common-web'
11
+ import { createHeaderEchoServer } from './util/echo-server'
11
12
 
12
13
  describe('agent', () => {
13
14
  let network: TestNetworkNoAppView
@@ -479,6 +480,25 @@ describe('agent', () => {
479
480
  expect(sessions[0]).toEqual(undefined)
480
481
  })
481
482
  })
483
+
484
+ describe('configureLabelersHeader', () => {
485
+ it('adds the labelers header as expected', async () => {
486
+ const server = await createHeaderEchoServer(15991)
487
+ const agent = new AtpAgent({ service: 'http://localhost:15991' })
488
+
489
+ agent.configureLabelersHeader(['did:plc:test1'])
490
+ const res1 = await agent.com.atproto.server.describeServer()
491
+ expect(res1.data['atproto-labelers']).toEqual('did:plc:test1')
492
+
493
+ agent.configureLabelersHeader(['did:plc:test1', 'did:plc:test2'])
494
+ const res2 = await agent.com.atproto.server.describeServer()
495
+ expect(res2.data['atproto-labelers']).toEqual(
496
+ 'did:plc:test1,did:plc:test2',
497
+ )
498
+
499
+ await new Promise((r) => server.close(r))
500
+ })
501
+ })
482
502
  })
483
503
 
484
504
  const createPost = async (agent: AtpAgent) => {