@atproto/api 0.20.26 → 0.20.27

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 (1459) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/age-assurance.test.js.map +1 -1
  3. package/dist/agent.d.ts +9 -9
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +1 -1
  6. package/dist/agent.js.map +1 -1
  7. package/dist/atp-agent.d.ts +4 -4
  8. package/dist/atp-agent.d.ts.map +1 -1
  9. package/dist/atp-agent.js.map +1 -1
  10. package/dist/client/index.js +264 -0
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/lexicons.d.ts +2 -2
  13. package/dist/client/lexicons.d.ts.map +1 -1
  14. package/dist/client/lexicons.js +1 -1
  15. package/dist/client/lexicons.js.map +1 -1
  16. package/dist/client/types/app/bsky/actor/defs.d.ts +1 -1
  17. package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
  18. package/dist/client/types/app/bsky/actor/defs.js +5 -0
  19. package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
  20. package/dist/client/types/app/bsky/actor/getPreferences.d.ts +1 -1
  21. package/dist/client/types/app/bsky/actor/getPreferences.d.ts.map +1 -1
  22. package/dist/client/types/app/bsky/actor/getPreferences.js +6 -0
  23. package/dist/client/types/app/bsky/actor/getPreferences.js.map +1 -1
  24. package/dist/client/types/app/bsky/actor/getProfile.d.ts +1 -1
  25. package/dist/client/types/app/bsky/actor/getProfile.d.ts.map +1 -1
  26. package/dist/client/types/app/bsky/actor/getProfile.js +6 -0
  27. package/dist/client/types/app/bsky/actor/getProfile.js.map +1 -1
  28. package/dist/client/types/app/bsky/actor/getProfiles.d.ts +1 -1
  29. package/dist/client/types/app/bsky/actor/getProfiles.d.ts.map +1 -1
  30. package/dist/client/types/app/bsky/actor/getProfiles.js +6 -0
  31. package/dist/client/types/app/bsky/actor/getProfiles.js.map +1 -1
  32. package/dist/client/types/app/bsky/actor/getSuggestions.d.ts +1 -1
  33. package/dist/client/types/app/bsky/actor/getSuggestions.d.ts.map +1 -1
  34. package/dist/client/types/app/bsky/actor/getSuggestions.js +6 -0
  35. package/dist/client/types/app/bsky/actor/getSuggestions.js.map +1 -1
  36. package/dist/client/types/app/bsky/actor/profile.js +5 -0
  37. package/dist/client/types/app/bsky/actor/profile.js.map +1 -1
  38. package/dist/client/types/app/bsky/actor/putPreferences.d.ts +1 -1
  39. package/dist/client/types/app/bsky/actor/putPreferences.d.ts.map +1 -1
  40. package/dist/client/types/app/bsky/actor/putPreferences.js +6 -0
  41. package/dist/client/types/app/bsky/actor/putPreferences.js.map +1 -1
  42. package/dist/client/types/app/bsky/actor/searchActors.d.ts +1 -1
  43. package/dist/client/types/app/bsky/actor/searchActors.d.ts.map +1 -1
  44. package/dist/client/types/app/bsky/actor/searchActors.js +6 -0
  45. package/dist/client/types/app/bsky/actor/searchActors.js.map +1 -1
  46. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts +1 -1
  47. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
  48. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js +6 -0
  49. package/dist/client/types/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
  50. package/dist/client/types/app/bsky/actor/status.js +5 -0
  51. package/dist/client/types/app/bsky/actor/status.js.map +1 -1
  52. package/dist/client/types/app/bsky/ageassurance/begin.d.ts +1 -1
  53. package/dist/client/types/app/bsky/ageassurance/begin.d.ts.map +1 -1
  54. package/dist/client/types/app/bsky/ageassurance/begin.js +2 -0
  55. package/dist/client/types/app/bsky/ageassurance/begin.js.map +1 -1
  56. package/dist/client/types/app/bsky/ageassurance/defs.js +5 -0
  57. package/dist/client/types/app/bsky/ageassurance/defs.js.map +1 -1
  58. package/dist/client/types/app/bsky/ageassurance/getConfig.d.ts +1 -1
  59. package/dist/client/types/app/bsky/ageassurance/getConfig.d.ts.map +1 -1
  60. package/dist/client/types/app/bsky/ageassurance/getConfig.js +6 -0
  61. package/dist/client/types/app/bsky/ageassurance/getConfig.js.map +1 -1
  62. package/dist/client/types/app/bsky/ageassurance/getState.d.ts +1 -1
  63. package/dist/client/types/app/bsky/ageassurance/getState.d.ts.map +1 -1
  64. package/dist/client/types/app/bsky/ageassurance/getState.js +6 -0
  65. package/dist/client/types/app/bsky/ageassurance/getState.js.map +1 -1
  66. package/dist/client/types/app/bsky/bookmark/createBookmark.d.ts +1 -1
  67. package/dist/client/types/app/bsky/bookmark/createBookmark.d.ts.map +1 -1
  68. package/dist/client/types/app/bsky/bookmark/createBookmark.js +2 -0
  69. package/dist/client/types/app/bsky/bookmark/createBookmark.js.map +1 -1
  70. package/dist/client/types/app/bsky/bookmark/defs.js +5 -0
  71. package/dist/client/types/app/bsky/bookmark/defs.js.map +1 -1
  72. package/dist/client/types/app/bsky/bookmark/deleteBookmark.d.ts +1 -1
  73. package/dist/client/types/app/bsky/bookmark/deleteBookmark.d.ts.map +1 -1
  74. package/dist/client/types/app/bsky/bookmark/deleteBookmark.js +2 -0
  75. package/dist/client/types/app/bsky/bookmark/deleteBookmark.js.map +1 -1
  76. package/dist/client/types/app/bsky/bookmark/getBookmarks.d.ts +1 -1
  77. package/dist/client/types/app/bsky/bookmark/getBookmarks.d.ts.map +1 -1
  78. package/dist/client/types/app/bsky/bookmark/getBookmarks.js +6 -0
  79. package/dist/client/types/app/bsky/bookmark/getBookmarks.js.map +1 -1
  80. package/dist/client/types/app/bsky/contact/defs.js +5 -0
  81. package/dist/client/types/app/bsky/contact/defs.js.map +1 -1
  82. package/dist/client/types/app/bsky/contact/dismissMatch.d.ts +1 -1
  83. package/dist/client/types/app/bsky/contact/dismissMatch.d.ts.map +1 -1
  84. package/dist/client/types/app/bsky/contact/dismissMatch.js +2 -0
  85. package/dist/client/types/app/bsky/contact/dismissMatch.js.map +1 -1
  86. package/dist/client/types/app/bsky/contact/getMatches.d.ts +1 -1
  87. package/dist/client/types/app/bsky/contact/getMatches.d.ts.map +1 -1
  88. package/dist/client/types/app/bsky/contact/getMatches.js +2 -0
  89. package/dist/client/types/app/bsky/contact/getMatches.js.map +1 -1
  90. package/dist/client/types/app/bsky/contact/getSyncStatus.d.ts +1 -1
  91. package/dist/client/types/app/bsky/contact/getSyncStatus.d.ts.map +1 -1
  92. package/dist/client/types/app/bsky/contact/getSyncStatus.js +2 -0
  93. package/dist/client/types/app/bsky/contact/getSyncStatus.js.map +1 -1
  94. package/dist/client/types/app/bsky/contact/importContacts.d.ts +1 -1
  95. package/dist/client/types/app/bsky/contact/importContacts.d.ts.map +1 -1
  96. package/dist/client/types/app/bsky/contact/importContacts.js +2 -0
  97. package/dist/client/types/app/bsky/contact/importContacts.js.map +1 -1
  98. package/dist/client/types/app/bsky/contact/removeData.d.ts +1 -1
  99. package/dist/client/types/app/bsky/contact/removeData.d.ts.map +1 -1
  100. package/dist/client/types/app/bsky/contact/removeData.js +2 -0
  101. package/dist/client/types/app/bsky/contact/removeData.js.map +1 -1
  102. package/dist/client/types/app/bsky/contact/sendNotification.d.ts +1 -1
  103. package/dist/client/types/app/bsky/contact/sendNotification.d.ts.map +1 -1
  104. package/dist/client/types/app/bsky/contact/sendNotification.js +6 -0
  105. package/dist/client/types/app/bsky/contact/sendNotification.js.map +1 -1
  106. package/dist/client/types/app/bsky/contact/startPhoneVerification.d.ts +1 -1
  107. package/dist/client/types/app/bsky/contact/startPhoneVerification.d.ts.map +1 -1
  108. package/dist/client/types/app/bsky/contact/startPhoneVerification.js +2 -0
  109. package/dist/client/types/app/bsky/contact/startPhoneVerification.js.map +1 -1
  110. package/dist/client/types/app/bsky/contact/verifyPhone.d.ts +1 -1
  111. package/dist/client/types/app/bsky/contact/verifyPhone.d.ts.map +1 -1
  112. package/dist/client/types/app/bsky/contact/verifyPhone.js +2 -0
  113. package/dist/client/types/app/bsky/contact/verifyPhone.js.map +1 -1
  114. package/dist/client/types/app/bsky/draft/createDraft.d.ts +1 -1
  115. package/dist/client/types/app/bsky/draft/createDraft.d.ts.map +1 -1
  116. package/dist/client/types/app/bsky/draft/createDraft.js +2 -0
  117. package/dist/client/types/app/bsky/draft/createDraft.js.map +1 -1
  118. package/dist/client/types/app/bsky/draft/defs.js +5 -0
  119. package/dist/client/types/app/bsky/draft/defs.js.map +1 -1
  120. package/dist/client/types/app/bsky/draft/deleteDraft.d.ts +1 -1
  121. package/dist/client/types/app/bsky/draft/deleteDraft.d.ts.map +1 -1
  122. package/dist/client/types/app/bsky/draft/deleteDraft.js +6 -0
  123. package/dist/client/types/app/bsky/draft/deleteDraft.js.map +1 -1
  124. package/dist/client/types/app/bsky/draft/getDrafts.d.ts +1 -1
  125. package/dist/client/types/app/bsky/draft/getDrafts.d.ts.map +1 -1
  126. package/dist/client/types/app/bsky/draft/getDrafts.js +6 -0
  127. package/dist/client/types/app/bsky/draft/getDrafts.js.map +1 -1
  128. package/dist/client/types/app/bsky/draft/updateDraft.d.ts +1 -1
  129. package/dist/client/types/app/bsky/draft/updateDraft.d.ts.map +1 -1
  130. package/dist/client/types/app/bsky/draft/updateDraft.js +6 -0
  131. package/dist/client/types/app/bsky/draft/updateDraft.js.map +1 -1
  132. package/dist/client/types/app/bsky/embed/defs.js +5 -0
  133. package/dist/client/types/app/bsky/embed/defs.js.map +1 -1
  134. package/dist/client/types/app/bsky/embed/external.js +5 -0
  135. package/dist/client/types/app/bsky/embed/external.js.map +1 -1
  136. package/dist/client/types/app/bsky/embed/gallery.js +5 -0
  137. package/dist/client/types/app/bsky/embed/gallery.js.map +1 -1
  138. package/dist/client/types/app/bsky/embed/getEmbedExternalView.d.ts +1 -1
  139. package/dist/client/types/app/bsky/embed/getEmbedExternalView.d.ts.map +1 -1
  140. package/dist/client/types/app/bsky/embed/getEmbedExternalView.js +6 -0
  141. package/dist/client/types/app/bsky/embed/getEmbedExternalView.js.map +1 -1
  142. package/dist/client/types/app/bsky/embed/images.js +5 -0
  143. package/dist/client/types/app/bsky/embed/images.js.map +1 -1
  144. package/dist/client/types/app/bsky/embed/record.js +5 -0
  145. package/dist/client/types/app/bsky/embed/record.js.map +1 -1
  146. package/dist/client/types/app/bsky/embed/recordWithMedia.js +5 -0
  147. package/dist/client/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  148. package/dist/client/types/app/bsky/embed/video.js +5 -0
  149. package/dist/client/types/app/bsky/embed/video.js.map +1 -1
  150. package/dist/client/types/app/bsky/feed/defs.js +5 -0
  151. package/dist/client/types/app/bsky/feed/defs.js.map +1 -1
  152. package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts +1 -1
  153. package/dist/client/types/app/bsky/feed/describeFeedGenerator.d.ts.map +1 -1
  154. package/dist/client/types/app/bsky/feed/describeFeedGenerator.js +6 -0
  155. package/dist/client/types/app/bsky/feed/describeFeedGenerator.js.map +1 -1
  156. package/dist/client/types/app/bsky/feed/generator.js +5 -0
  157. package/dist/client/types/app/bsky/feed/generator.js.map +1 -1
  158. package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts +1 -1
  159. package/dist/client/types/app/bsky/feed/getActorFeeds.d.ts.map +1 -1
  160. package/dist/client/types/app/bsky/feed/getActorFeeds.js +6 -0
  161. package/dist/client/types/app/bsky/feed/getActorFeeds.js.map +1 -1
  162. package/dist/client/types/app/bsky/feed/getActorLikes.d.ts +1 -1
  163. package/dist/client/types/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  164. package/dist/client/types/app/bsky/feed/getActorLikes.js +2 -0
  165. package/dist/client/types/app/bsky/feed/getActorLikes.js.map +1 -1
  166. package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts +1 -1
  167. package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  168. package/dist/client/types/app/bsky/feed/getAuthorFeed.js +2 -0
  169. package/dist/client/types/app/bsky/feed/getAuthorFeed.js.map +1 -1
  170. package/dist/client/types/app/bsky/feed/getFeed.d.ts +1 -1
  171. package/dist/client/types/app/bsky/feed/getFeed.d.ts.map +1 -1
  172. package/dist/client/types/app/bsky/feed/getFeed.js +2 -0
  173. package/dist/client/types/app/bsky/feed/getFeed.js.map +1 -1
  174. package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts +1 -1
  175. package/dist/client/types/app/bsky/feed/getFeedGenerator.d.ts.map +1 -1
  176. package/dist/client/types/app/bsky/feed/getFeedGenerator.js +6 -0
  177. package/dist/client/types/app/bsky/feed/getFeedGenerator.js.map +1 -1
  178. package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts +1 -1
  179. package/dist/client/types/app/bsky/feed/getFeedGenerators.d.ts.map +1 -1
  180. package/dist/client/types/app/bsky/feed/getFeedGenerators.js +6 -0
  181. package/dist/client/types/app/bsky/feed/getFeedGenerators.js.map +1 -1
  182. package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts +1 -1
  183. package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts.map +1 -1
  184. package/dist/client/types/app/bsky/feed/getFeedSkeleton.js +2 -0
  185. package/dist/client/types/app/bsky/feed/getFeedSkeleton.js.map +1 -1
  186. package/dist/client/types/app/bsky/feed/getLikes.d.ts +1 -1
  187. package/dist/client/types/app/bsky/feed/getLikes.d.ts.map +1 -1
  188. package/dist/client/types/app/bsky/feed/getLikes.js +6 -0
  189. package/dist/client/types/app/bsky/feed/getLikes.js.map +1 -1
  190. package/dist/client/types/app/bsky/feed/getListFeed.d.ts +1 -1
  191. package/dist/client/types/app/bsky/feed/getListFeed.d.ts.map +1 -1
  192. package/dist/client/types/app/bsky/feed/getListFeed.js +2 -0
  193. package/dist/client/types/app/bsky/feed/getListFeed.js.map +1 -1
  194. package/dist/client/types/app/bsky/feed/getPostThread.d.ts +1 -1
  195. package/dist/client/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
  196. package/dist/client/types/app/bsky/feed/getPostThread.js +2 -0
  197. package/dist/client/types/app/bsky/feed/getPostThread.js.map +1 -1
  198. package/dist/client/types/app/bsky/feed/getPosts.d.ts +1 -1
  199. package/dist/client/types/app/bsky/feed/getPosts.d.ts.map +1 -1
  200. package/dist/client/types/app/bsky/feed/getPosts.js +6 -0
  201. package/dist/client/types/app/bsky/feed/getPosts.js.map +1 -1
  202. package/dist/client/types/app/bsky/feed/getQuotes.d.ts +1 -1
  203. package/dist/client/types/app/bsky/feed/getQuotes.d.ts.map +1 -1
  204. package/dist/client/types/app/bsky/feed/getQuotes.js +6 -0
  205. package/dist/client/types/app/bsky/feed/getQuotes.js.map +1 -1
  206. package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts +1 -1
  207. package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts.map +1 -1
  208. package/dist/client/types/app/bsky/feed/getRepostedBy.js +6 -0
  209. package/dist/client/types/app/bsky/feed/getRepostedBy.js.map +1 -1
  210. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts +1 -1
  211. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.d.ts.map +1 -1
  212. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js +6 -0
  213. package/dist/client/types/app/bsky/feed/getSuggestedFeeds.js.map +1 -1
  214. package/dist/client/types/app/bsky/feed/getTimeline.d.ts +1 -1
  215. package/dist/client/types/app/bsky/feed/getTimeline.d.ts.map +1 -1
  216. package/dist/client/types/app/bsky/feed/getTimeline.js +6 -0
  217. package/dist/client/types/app/bsky/feed/getTimeline.js.map +1 -1
  218. package/dist/client/types/app/bsky/feed/like.js +5 -0
  219. package/dist/client/types/app/bsky/feed/like.js.map +1 -1
  220. package/dist/client/types/app/bsky/feed/post.js +5 -0
  221. package/dist/client/types/app/bsky/feed/post.js.map +1 -1
  222. package/dist/client/types/app/bsky/feed/postgate.js +5 -0
  223. package/dist/client/types/app/bsky/feed/postgate.js.map +1 -1
  224. package/dist/client/types/app/bsky/feed/repost.js +5 -0
  225. package/dist/client/types/app/bsky/feed/repost.js.map +1 -1
  226. package/dist/client/types/app/bsky/feed/searchPosts.d.ts +1 -1
  227. package/dist/client/types/app/bsky/feed/searchPosts.d.ts.map +1 -1
  228. package/dist/client/types/app/bsky/feed/searchPosts.js +2 -0
  229. package/dist/client/types/app/bsky/feed/searchPosts.js.map +1 -1
  230. package/dist/client/types/app/bsky/feed/searchPostsV2.d.ts +1 -1
  231. package/dist/client/types/app/bsky/feed/searchPostsV2.d.ts.map +1 -1
  232. package/dist/client/types/app/bsky/feed/searchPostsV2.js +2 -0
  233. package/dist/client/types/app/bsky/feed/searchPostsV2.js.map +1 -1
  234. package/dist/client/types/app/bsky/feed/sendInteractions.d.ts +1 -1
  235. package/dist/client/types/app/bsky/feed/sendInteractions.d.ts.map +1 -1
  236. package/dist/client/types/app/bsky/feed/sendInteractions.js +6 -0
  237. package/dist/client/types/app/bsky/feed/sendInteractions.js.map +1 -1
  238. package/dist/client/types/app/bsky/feed/threadgate.js +5 -0
  239. package/dist/client/types/app/bsky/feed/threadgate.js.map +1 -1
  240. package/dist/client/types/app/bsky/graph/block.js +5 -0
  241. package/dist/client/types/app/bsky/graph/block.js.map +1 -1
  242. package/dist/client/types/app/bsky/graph/defs.js +5 -0
  243. package/dist/client/types/app/bsky/graph/defs.js.map +1 -1
  244. package/dist/client/types/app/bsky/graph/follow.js +5 -0
  245. package/dist/client/types/app/bsky/graph/follow.js.map +1 -1
  246. package/dist/client/types/app/bsky/graph/getActorStarterPacks.d.ts +1 -1
  247. package/dist/client/types/app/bsky/graph/getActorStarterPacks.d.ts.map +1 -1
  248. package/dist/client/types/app/bsky/graph/getActorStarterPacks.js +6 -0
  249. package/dist/client/types/app/bsky/graph/getActorStarterPacks.js.map +1 -1
  250. package/dist/client/types/app/bsky/graph/getBlocks.d.ts +1 -1
  251. package/dist/client/types/app/bsky/graph/getBlocks.d.ts.map +1 -1
  252. package/dist/client/types/app/bsky/graph/getBlocks.js +6 -0
  253. package/dist/client/types/app/bsky/graph/getBlocks.js.map +1 -1
  254. package/dist/client/types/app/bsky/graph/getFollowers.d.ts +1 -1
  255. package/dist/client/types/app/bsky/graph/getFollowers.d.ts.map +1 -1
  256. package/dist/client/types/app/bsky/graph/getFollowers.js +6 -0
  257. package/dist/client/types/app/bsky/graph/getFollowers.js.map +1 -1
  258. package/dist/client/types/app/bsky/graph/getFollows.d.ts +1 -1
  259. package/dist/client/types/app/bsky/graph/getFollows.d.ts.map +1 -1
  260. package/dist/client/types/app/bsky/graph/getFollows.js +6 -0
  261. package/dist/client/types/app/bsky/graph/getFollows.js.map +1 -1
  262. package/dist/client/types/app/bsky/graph/getKnownFollowers.d.ts +1 -1
  263. package/dist/client/types/app/bsky/graph/getKnownFollowers.d.ts.map +1 -1
  264. package/dist/client/types/app/bsky/graph/getKnownFollowers.js +6 -0
  265. package/dist/client/types/app/bsky/graph/getKnownFollowers.js.map +1 -1
  266. package/dist/client/types/app/bsky/graph/getList.d.ts +1 -1
  267. package/dist/client/types/app/bsky/graph/getList.d.ts.map +1 -1
  268. package/dist/client/types/app/bsky/graph/getList.js +6 -0
  269. package/dist/client/types/app/bsky/graph/getList.js.map +1 -1
  270. package/dist/client/types/app/bsky/graph/getListBlocks.d.ts +1 -1
  271. package/dist/client/types/app/bsky/graph/getListBlocks.d.ts.map +1 -1
  272. package/dist/client/types/app/bsky/graph/getListBlocks.js +6 -0
  273. package/dist/client/types/app/bsky/graph/getListBlocks.js.map +1 -1
  274. package/dist/client/types/app/bsky/graph/getListMutes.d.ts +1 -1
  275. package/dist/client/types/app/bsky/graph/getListMutes.d.ts.map +1 -1
  276. package/dist/client/types/app/bsky/graph/getListMutes.js +6 -0
  277. package/dist/client/types/app/bsky/graph/getListMutes.js.map +1 -1
  278. package/dist/client/types/app/bsky/graph/getLists.d.ts +1 -1
  279. package/dist/client/types/app/bsky/graph/getLists.d.ts.map +1 -1
  280. package/dist/client/types/app/bsky/graph/getLists.js +6 -0
  281. package/dist/client/types/app/bsky/graph/getLists.js.map +1 -1
  282. package/dist/client/types/app/bsky/graph/getListsWithMembership.d.ts +1 -1
  283. package/dist/client/types/app/bsky/graph/getListsWithMembership.d.ts.map +1 -1
  284. package/dist/client/types/app/bsky/graph/getListsWithMembership.js +6 -0
  285. package/dist/client/types/app/bsky/graph/getListsWithMembership.js.map +1 -1
  286. package/dist/client/types/app/bsky/graph/getMutes.d.ts +1 -1
  287. package/dist/client/types/app/bsky/graph/getMutes.d.ts.map +1 -1
  288. package/dist/client/types/app/bsky/graph/getMutes.js +6 -0
  289. package/dist/client/types/app/bsky/graph/getMutes.js.map +1 -1
  290. package/dist/client/types/app/bsky/graph/getRelationships.d.ts +1 -1
  291. package/dist/client/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
  292. package/dist/client/types/app/bsky/graph/getRelationships.js +2 -0
  293. package/dist/client/types/app/bsky/graph/getRelationships.js.map +1 -1
  294. package/dist/client/types/app/bsky/graph/getStarterPack.d.ts +1 -1
  295. package/dist/client/types/app/bsky/graph/getStarterPack.d.ts.map +1 -1
  296. package/dist/client/types/app/bsky/graph/getStarterPack.js +6 -0
  297. package/dist/client/types/app/bsky/graph/getStarterPack.js.map +1 -1
  298. package/dist/client/types/app/bsky/graph/getStarterPacks.d.ts +1 -1
  299. package/dist/client/types/app/bsky/graph/getStarterPacks.d.ts.map +1 -1
  300. package/dist/client/types/app/bsky/graph/getStarterPacks.js +6 -0
  301. package/dist/client/types/app/bsky/graph/getStarterPacks.js.map +1 -1
  302. package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.d.ts +1 -1
  303. package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.d.ts.map +1 -1
  304. package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.js +6 -0
  305. package/dist/client/types/app/bsky/graph/getStarterPacksWithMembership.js.map +1 -1
  306. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts +1 -1
  307. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.d.ts.map +1 -1
  308. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js +6 -0
  309. package/dist/client/types/app/bsky/graph/getSuggestedFollowsByActor.js.map +1 -1
  310. package/dist/client/types/app/bsky/graph/list.js +5 -0
  311. package/dist/client/types/app/bsky/graph/list.js.map +1 -1
  312. package/dist/client/types/app/bsky/graph/listblock.js +5 -0
  313. package/dist/client/types/app/bsky/graph/listblock.js.map +1 -1
  314. package/dist/client/types/app/bsky/graph/listitem.js +5 -0
  315. package/dist/client/types/app/bsky/graph/listitem.js.map +1 -1
  316. package/dist/client/types/app/bsky/graph/muteActor.d.ts +1 -1
  317. package/dist/client/types/app/bsky/graph/muteActor.d.ts.map +1 -1
  318. package/dist/client/types/app/bsky/graph/muteActor.js +6 -0
  319. package/dist/client/types/app/bsky/graph/muteActor.js.map +1 -1
  320. package/dist/client/types/app/bsky/graph/muteActorList.d.ts +1 -1
  321. package/dist/client/types/app/bsky/graph/muteActorList.d.ts.map +1 -1
  322. package/dist/client/types/app/bsky/graph/muteActorList.js +6 -0
  323. package/dist/client/types/app/bsky/graph/muteActorList.js.map +1 -1
  324. package/dist/client/types/app/bsky/graph/muteThread.d.ts +1 -1
  325. package/dist/client/types/app/bsky/graph/muteThread.d.ts.map +1 -1
  326. package/dist/client/types/app/bsky/graph/muteThread.js +6 -0
  327. package/dist/client/types/app/bsky/graph/muteThread.js.map +1 -1
  328. package/dist/client/types/app/bsky/graph/searchStarterPacks.d.ts +1 -1
  329. package/dist/client/types/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
  330. package/dist/client/types/app/bsky/graph/searchStarterPacks.js +6 -0
  331. package/dist/client/types/app/bsky/graph/searchStarterPacks.js.map +1 -1
  332. package/dist/client/types/app/bsky/graph/starterpack.js +5 -0
  333. package/dist/client/types/app/bsky/graph/starterpack.js.map +1 -1
  334. package/dist/client/types/app/bsky/graph/unmuteActor.d.ts +1 -1
  335. package/dist/client/types/app/bsky/graph/unmuteActor.d.ts.map +1 -1
  336. package/dist/client/types/app/bsky/graph/unmuteActor.js +6 -0
  337. package/dist/client/types/app/bsky/graph/unmuteActor.js.map +1 -1
  338. package/dist/client/types/app/bsky/graph/unmuteActorList.d.ts +1 -1
  339. package/dist/client/types/app/bsky/graph/unmuteActorList.d.ts.map +1 -1
  340. package/dist/client/types/app/bsky/graph/unmuteActorList.js +6 -0
  341. package/dist/client/types/app/bsky/graph/unmuteActorList.js.map +1 -1
  342. package/dist/client/types/app/bsky/graph/unmuteThread.d.ts +1 -1
  343. package/dist/client/types/app/bsky/graph/unmuteThread.d.ts.map +1 -1
  344. package/dist/client/types/app/bsky/graph/unmuteThread.js +6 -0
  345. package/dist/client/types/app/bsky/graph/unmuteThread.js.map +1 -1
  346. package/dist/client/types/app/bsky/graph/verification.js +5 -0
  347. package/dist/client/types/app/bsky/graph/verification.js.map +1 -1
  348. package/dist/client/types/app/bsky/labeler/defs.js +5 -0
  349. package/dist/client/types/app/bsky/labeler/defs.js.map +1 -1
  350. package/dist/client/types/app/bsky/labeler/getServices.d.ts +1 -1
  351. package/dist/client/types/app/bsky/labeler/getServices.d.ts.map +1 -1
  352. package/dist/client/types/app/bsky/labeler/getServices.js +6 -0
  353. package/dist/client/types/app/bsky/labeler/getServices.js.map +1 -1
  354. package/dist/client/types/app/bsky/labeler/service.js +5 -0
  355. package/dist/client/types/app/bsky/labeler/service.js.map +1 -1
  356. package/dist/client/types/app/bsky/notification/declaration.js +5 -0
  357. package/dist/client/types/app/bsky/notification/declaration.js.map +1 -1
  358. package/dist/client/types/app/bsky/notification/defs.js +5 -0
  359. package/dist/client/types/app/bsky/notification/defs.js.map +1 -1
  360. package/dist/client/types/app/bsky/notification/getPreferences.d.ts +1 -1
  361. package/dist/client/types/app/bsky/notification/getPreferences.d.ts.map +1 -1
  362. package/dist/client/types/app/bsky/notification/getPreferences.js +6 -0
  363. package/dist/client/types/app/bsky/notification/getPreferences.js.map +1 -1
  364. package/dist/client/types/app/bsky/notification/getUnreadCount.d.ts +1 -1
  365. package/dist/client/types/app/bsky/notification/getUnreadCount.d.ts.map +1 -1
  366. package/dist/client/types/app/bsky/notification/getUnreadCount.js +6 -0
  367. package/dist/client/types/app/bsky/notification/getUnreadCount.js.map +1 -1
  368. package/dist/client/types/app/bsky/notification/listActivitySubscriptions.d.ts +1 -1
  369. package/dist/client/types/app/bsky/notification/listActivitySubscriptions.d.ts.map +1 -1
  370. package/dist/client/types/app/bsky/notification/listActivitySubscriptions.js +6 -0
  371. package/dist/client/types/app/bsky/notification/listActivitySubscriptions.js.map +1 -1
  372. package/dist/client/types/app/bsky/notification/listNotifications.d.ts +1 -1
  373. package/dist/client/types/app/bsky/notification/listNotifications.d.ts.map +1 -1
  374. package/dist/client/types/app/bsky/notification/listNotifications.js +6 -0
  375. package/dist/client/types/app/bsky/notification/listNotifications.js.map +1 -1
  376. package/dist/client/types/app/bsky/notification/putActivitySubscription.d.ts +1 -1
  377. package/dist/client/types/app/bsky/notification/putActivitySubscription.d.ts.map +1 -1
  378. package/dist/client/types/app/bsky/notification/putActivitySubscription.js +6 -0
  379. package/dist/client/types/app/bsky/notification/putActivitySubscription.js.map +1 -1
  380. package/dist/client/types/app/bsky/notification/putPreferences.d.ts +1 -1
  381. package/dist/client/types/app/bsky/notification/putPreferences.d.ts.map +1 -1
  382. package/dist/client/types/app/bsky/notification/putPreferences.js +6 -0
  383. package/dist/client/types/app/bsky/notification/putPreferences.js.map +1 -1
  384. package/dist/client/types/app/bsky/notification/putPreferencesV2.d.ts +1 -1
  385. package/dist/client/types/app/bsky/notification/putPreferencesV2.d.ts.map +1 -1
  386. package/dist/client/types/app/bsky/notification/putPreferencesV2.js +6 -0
  387. package/dist/client/types/app/bsky/notification/putPreferencesV2.js.map +1 -1
  388. package/dist/client/types/app/bsky/notification/registerPush.d.ts +1 -1
  389. package/dist/client/types/app/bsky/notification/registerPush.d.ts.map +1 -1
  390. package/dist/client/types/app/bsky/notification/registerPush.js +6 -0
  391. package/dist/client/types/app/bsky/notification/registerPush.js.map +1 -1
  392. package/dist/client/types/app/bsky/notification/unregisterPush.d.ts +1 -1
  393. package/dist/client/types/app/bsky/notification/unregisterPush.d.ts.map +1 -1
  394. package/dist/client/types/app/bsky/notification/unregisterPush.js +6 -0
  395. package/dist/client/types/app/bsky/notification/unregisterPush.js.map +1 -1
  396. package/dist/client/types/app/bsky/notification/updateSeen.d.ts +1 -1
  397. package/dist/client/types/app/bsky/notification/updateSeen.d.ts.map +1 -1
  398. package/dist/client/types/app/bsky/notification/updateSeen.js +6 -0
  399. package/dist/client/types/app/bsky/notification/updateSeen.js.map +1 -1
  400. package/dist/client/types/app/bsky/richtext/facet.js +5 -0
  401. package/dist/client/types/app/bsky/richtext/facet.js.map +1 -1
  402. package/dist/client/types/app/bsky/unspecced/defs.js +5 -0
  403. package/dist/client/types/app/bsky/unspecced/defs.js.map +1 -1
  404. package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.d.ts +1 -1
  405. package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.d.ts.map +1 -1
  406. package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.js +6 -0
  407. package/dist/client/types/app/bsky/unspecced/getAgeAssuranceState.js.map +1 -1
  408. package/dist/client/types/app/bsky/unspecced/getConfig.d.ts +1 -1
  409. package/dist/client/types/app/bsky/unspecced/getConfig.d.ts.map +1 -1
  410. package/dist/client/types/app/bsky/unspecced/getConfig.js +6 -0
  411. package/dist/client/types/app/bsky/unspecced/getConfig.js.map +1 -1
  412. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.d.ts +1 -1
  413. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.d.ts.map +1 -1
  414. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js +6 -0
  415. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js.map +1 -1
  416. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.d.ts +1 -1
  417. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.d.ts.map +1 -1
  418. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js +6 -0
  419. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.js.map +1 -1
  420. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.d.ts +1 -1
  421. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.d.ts.map +1 -1
  422. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js +6 -0
  423. package/dist/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.js.map +1 -1
  424. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts +1 -1
  425. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
  426. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js +6 -0
  427. package/dist/client/types/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
  428. package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts +1 -1
  429. package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -1
  430. package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js +6 -0
  431. package/dist/client/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -1
  432. package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts +1 -1
  433. package/dist/client/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
  434. package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js +6 -0
  435. package/dist/client/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
  436. package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.d.ts +1 -1
  437. package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.d.ts.map +1 -1
  438. package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.js +6 -0
  439. package/dist/client/types/app/bsky/unspecced/getSuggestedFeeds.js.map +1 -1
  440. package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.d.ts +1 -1
  441. package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.d.ts.map +1 -1
  442. package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js +6 -0
  443. package/dist/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js.map +1 -1
  444. package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.d.ts +1 -1
  445. package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.d.ts.map +1 -1
  446. package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js +6 -0
  447. package/dist/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.js.map +1 -1
  448. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts +1 -1
  449. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts.map +1 -1
  450. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.js +6 -0
  451. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -1
  452. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts +1 -1
  453. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts.map +1 -1
  454. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js +6 -0
  455. package/dist/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -1
  456. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.d.ts +1 -1
  457. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.d.ts.map +1 -1
  458. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js +6 -0
  459. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
  460. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.d.ts +1 -1
  461. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.d.ts.map +1 -1
  462. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js +6 -0
  463. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.js.map +1 -1
  464. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.d.ts +1 -1
  465. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.d.ts.map +1 -1
  466. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js +6 -0
  467. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.js.map +1 -1
  468. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.d.ts +1 -1
  469. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.d.ts.map +1 -1
  470. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.js +6 -0
  471. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.js.map +1 -1
  472. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.d.ts +1 -1
  473. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.d.ts.map +1 -1
  474. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js +6 -0
  475. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.js.map +1 -1
  476. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.d.ts +1 -1
  477. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.d.ts.map +1 -1
  478. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js +6 -0
  479. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.js.map +1 -1
  480. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.d.ts +1 -1
  481. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.d.ts.map +1 -1
  482. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js +6 -0
  483. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.js.map +1 -1
  484. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.d.ts +1 -1
  485. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.d.ts.map +1 -1
  486. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js +6 -0
  487. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
  488. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts +1 -1
  489. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.d.ts.map +1 -1
  490. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js +6 -0
  491. package/dist/client/types/app/bsky/unspecced/getSuggestionsSkeleton.js.map +1 -1
  492. package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +1 -1
  493. package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.d.ts.map +1 -1
  494. package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js +6 -0
  495. package/dist/client/types/app/bsky/unspecced/getTaggedSuggestions.js.map +1 -1
  496. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.d.ts +1 -1
  497. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.d.ts.map +1 -1
  498. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.js +6 -0
  499. package/dist/client/types/app/bsky/unspecced/getTrendingTopics.js.map +1 -1
  500. package/dist/client/types/app/bsky/unspecced/getTrends.d.ts +1 -1
  501. package/dist/client/types/app/bsky/unspecced/getTrends.d.ts.map +1 -1
  502. package/dist/client/types/app/bsky/unspecced/getTrends.js +6 -0
  503. package/dist/client/types/app/bsky/unspecced/getTrends.js.map +1 -1
  504. package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.d.ts +1 -1
  505. package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.d.ts.map +1 -1
  506. package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.js +6 -0
  507. package/dist/client/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -1
  508. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.d.ts +1 -1
  509. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
  510. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.js +2 -0
  511. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
  512. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts +1 -1
  513. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +1 -1
  514. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js +2 -0
  515. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.js.map +1 -1
  516. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts +1 -1
  517. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +1 -1
  518. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js +2 -0
  519. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.js.map +1 -1
  520. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts +1 -1
  521. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts.map +1 -1
  522. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.js +2 -0
  523. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.js.map +1 -1
  524. package/dist/client/types/app/bsky/video/defs.js +5 -0
  525. package/dist/client/types/app/bsky/video/defs.js.map +1 -1
  526. package/dist/client/types/app/bsky/video/getJobStatus.d.ts +1 -1
  527. package/dist/client/types/app/bsky/video/getJobStatus.d.ts.map +1 -1
  528. package/dist/client/types/app/bsky/video/getJobStatus.js +6 -0
  529. package/dist/client/types/app/bsky/video/getJobStatus.js.map +1 -1
  530. package/dist/client/types/app/bsky/video/getUploadLimits.d.ts +1 -1
  531. package/dist/client/types/app/bsky/video/getUploadLimits.d.ts.map +1 -1
  532. package/dist/client/types/app/bsky/video/getUploadLimits.js +6 -0
  533. package/dist/client/types/app/bsky/video/getUploadLimits.js.map +1 -1
  534. package/dist/client/types/app/bsky/video/uploadVideo.d.ts +1 -1
  535. package/dist/client/types/app/bsky/video/uploadVideo.d.ts.map +1 -1
  536. package/dist/client/types/app/bsky/video/uploadVideo.js +6 -0
  537. package/dist/client/types/app/bsky/video/uploadVideo.js.map +1 -1
  538. package/dist/client/types/chat/bsky/actor/declaration.js +5 -0
  539. package/dist/client/types/chat/bsky/actor/declaration.js.map +1 -1
  540. package/dist/client/types/chat/bsky/actor/defs.js +5 -0
  541. package/dist/client/types/chat/bsky/actor/defs.js.map +1 -1
  542. package/dist/client/types/chat/bsky/actor/deleteAccount.d.ts +1 -1
  543. package/dist/client/types/chat/bsky/actor/deleteAccount.d.ts.map +1 -1
  544. package/dist/client/types/chat/bsky/actor/deleteAccount.js +6 -0
  545. package/dist/client/types/chat/bsky/actor/deleteAccount.js.map +1 -1
  546. package/dist/client/types/chat/bsky/actor/exportAccountData.d.ts +1 -1
  547. package/dist/client/types/chat/bsky/actor/exportAccountData.d.ts.map +1 -1
  548. package/dist/client/types/chat/bsky/actor/exportAccountData.js +6 -0
  549. package/dist/client/types/chat/bsky/actor/exportAccountData.js.map +1 -1
  550. package/dist/client/types/chat/bsky/actor/getStatus.d.ts +1 -1
  551. package/dist/client/types/chat/bsky/actor/getStatus.d.ts.map +1 -1
  552. package/dist/client/types/chat/bsky/actor/getStatus.js +6 -0
  553. package/dist/client/types/chat/bsky/actor/getStatus.js.map +1 -1
  554. package/dist/client/types/chat/bsky/convo/acceptConvo.d.ts +1 -1
  555. package/dist/client/types/chat/bsky/convo/acceptConvo.d.ts.map +1 -1
  556. package/dist/client/types/chat/bsky/convo/acceptConvo.js +2 -0
  557. package/dist/client/types/chat/bsky/convo/acceptConvo.js.map +1 -1
  558. package/dist/client/types/chat/bsky/convo/addReaction.d.ts +1 -1
  559. package/dist/client/types/chat/bsky/convo/addReaction.d.ts.map +1 -1
  560. package/dist/client/types/chat/bsky/convo/addReaction.js +2 -0
  561. package/dist/client/types/chat/bsky/convo/addReaction.js.map +1 -1
  562. package/dist/client/types/chat/bsky/convo/defs.js +5 -0
  563. package/dist/client/types/chat/bsky/convo/defs.js.map +1 -1
  564. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.d.ts +1 -1
  565. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -1
  566. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.js +2 -0
  567. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -1
  568. package/dist/client/types/chat/bsky/convo/getConvo.d.ts +1 -1
  569. package/dist/client/types/chat/bsky/convo/getConvo.d.ts.map +1 -1
  570. package/dist/client/types/chat/bsky/convo/getConvo.js +2 -0
  571. package/dist/client/types/chat/bsky/convo/getConvo.js.map +1 -1
  572. package/dist/client/types/chat/bsky/convo/getConvoAvailability.d.ts +1 -1
  573. package/dist/client/types/chat/bsky/convo/getConvoAvailability.d.ts.map +1 -1
  574. package/dist/client/types/chat/bsky/convo/getConvoAvailability.js +6 -0
  575. package/dist/client/types/chat/bsky/convo/getConvoAvailability.js.map +1 -1
  576. package/dist/client/types/chat/bsky/convo/getConvoForMembers.d.ts +1 -1
  577. package/dist/client/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
  578. package/dist/client/types/chat/bsky/convo/getConvoForMembers.js +2 -0
  579. package/dist/client/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
  580. package/dist/client/types/chat/bsky/convo/getConvoMembers.d.ts +1 -1
  581. package/dist/client/types/chat/bsky/convo/getConvoMembers.d.ts.map +1 -1
  582. package/dist/client/types/chat/bsky/convo/getConvoMembers.js +2 -0
  583. package/dist/client/types/chat/bsky/convo/getConvoMembers.js.map +1 -1
  584. package/dist/client/types/chat/bsky/convo/getLog.d.ts +1 -1
  585. package/dist/client/types/chat/bsky/convo/getLog.d.ts.map +1 -1
  586. package/dist/client/types/chat/bsky/convo/getLog.js +6 -0
  587. package/dist/client/types/chat/bsky/convo/getLog.js.map +1 -1
  588. package/dist/client/types/chat/bsky/convo/getMessages.d.ts +1 -1
  589. package/dist/client/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
  590. package/dist/client/types/chat/bsky/convo/getMessages.js +2 -0
  591. package/dist/client/types/chat/bsky/convo/getMessages.js.map +1 -1
  592. package/dist/client/types/chat/bsky/convo/getUnreadCounts.d.ts +1 -1
  593. package/dist/client/types/chat/bsky/convo/getUnreadCounts.d.ts.map +1 -1
  594. package/dist/client/types/chat/bsky/convo/getUnreadCounts.js +6 -0
  595. package/dist/client/types/chat/bsky/convo/getUnreadCounts.js.map +1 -1
  596. package/dist/client/types/chat/bsky/convo/leaveConvo.d.ts +1 -1
  597. package/dist/client/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -1
  598. package/dist/client/types/chat/bsky/convo/leaveConvo.js +2 -0
  599. package/dist/client/types/chat/bsky/convo/leaveConvo.js.map +1 -1
  600. package/dist/client/types/chat/bsky/convo/listConvoRequests.d.ts +1 -1
  601. package/dist/client/types/chat/bsky/convo/listConvoRequests.d.ts.map +1 -1
  602. package/dist/client/types/chat/bsky/convo/listConvoRequests.js +6 -0
  603. package/dist/client/types/chat/bsky/convo/listConvoRequests.js.map +1 -1
  604. package/dist/client/types/chat/bsky/convo/listConvos.d.ts +1 -1
  605. package/dist/client/types/chat/bsky/convo/listConvos.d.ts.map +1 -1
  606. package/dist/client/types/chat/bsky/convo/listConvos.js +6 -0
  607. package/dist/client/types/chat/bsky/convo/listConvos.js.map +1 -1
  608. package/dist/client/types/chat/bsky/convo/lockConvo.d.ts +1 -1
  609. package/dist/client/types/chat/bsky/convo/lockConvo.d.ts.map +1 -1
  610. package/dist/client/types/chat/bsky/convo/lockConvo.js +2 -0
  611. package/dist/client/types/chat/bsky/convo/lockConvo.js.map +1 -1
  612. package/dist/client/types/chat/bsky/convo/muteConvo.d.ts +1 -1
  613. package/dist/client/types/chat/bsky/convo/muteConvo.d.ts.map +1 -1
  614. package/dist/client/types/chat/bsky/convo/muteConvo.js +2 -0
  615. package/dist/client/types/chat/bsky/convo/muteConvo.js.map +1 -1
  616. package/dist/client/types/chat/bsky/convo/removeReaction.d.ts +1 -1
  617. package/dist/client/types/chat/bsky/convo/removeReaction.d.ts.map +1 -1
  618. package/dist/client/types/chat/bsky/convo/removeReaction.js +2 -0
  619. package/dist/client/types/chat/bsky/convo/removeReaction.js.map +1 -1
  620. package/dist/client/types/chat/bsky/convo/sendMessage.d.ts +1 -1
  621. package/dist/client/types/chat/bsky/convo/sendMessage.d.ts.map +1 -1
  622. package/dist/client/types/chat/bsky/convo/sendMessage.js +2 -0
  623. package/dist/client/types/chat/bsky/convo/sendMessage.js.map +1 -1
  624. package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts +1 -1
  625. package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
  626. package/dist/client/types/chat/bsky/convo/sendMessageBatch.js +2 -0
  627. package/dist/client/types/chat/bsky/convo/sendMessageBatch.js.map +1 -1
  628. package/dist/client/types/chat/bsky/convo/unlockConvo.d.ts +1 -1
  629. package/dist/client/types/chat/bsky/convo/unlockConvo.d.ts.map +1 -1
  630. package/dist/client/types/chat/bsky/convo/unlockConvo.js +2 -0
  631. package/dist/client/types/chat/bsky/convo/unlockConvo.js.map +1 -1
  632. package/dist/client/types/chat/bsky/convo/unmuteConvo.d.ts +1 -1
  633. package/dist/client/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -1
  634. package/dist/client/types/chat/bsky/convo/unmuteConvo.js +2 -0
  635. package/dist/client/types/chat/bsky/convo/unmuteConvo.js.map +1 -1
  636. package/dist/client/types/chat/bsky/convo/updateAllRead.d.ts +1 -1
  637. package/dist/client/types/chat/bsky/convo/updateAllRead.d.ts.map +1 -1
  638. package/dist/client/types/chat/bsky/convo/updateAllRead.js +6 -0
  639. package/dist/client/types/chat/bsky/convo/updateAllRead.js.map +1 -1
  640. package/dist/client/types/chat/bsky/convo/updateRead.d.ts +1 -1
  641. package/dist/client/types/chat/bsky/convo/updateRead.d.ts.map +1 -1
  642. package/dist/client/types/chat/bsky/convo/updateRead.js +2 -0
  643. package/dist/client/types/chat/bsky/convo/updateRead.js.map +1 -1
  644. package/dist/client/types/chat/bsky/embed/joinLink.js +5 -0
  645. package/dist/client/types/chat/bsky/embed/joinLink.js.map +1 -1
  646. package/dist/client/types/chat/bsky/group/addMembers.d.ts +1 -1
  647. package/dist/client/types/chat/bsky/group/addMembers.d.ts.map +1 -1
  648. package/dist/client/types/chat/bsky/group/addMembers.js +2 -0
  649. package/dist/client/types/chat/bsky/group/addMembers.js.map +1 -1
  650. package/dist/client/types/chat/bsky/group/approveJoinRequest.d.ts +1 -1
  651. package/dist/client/types/chat/bsky/group/approveJoinRequest.d.ts.map +1 -1
  652. package/dist/client/types/chat/bsky/group/approveJoinRequest.js +2 -0
  653. package/dist/client/types/chat/bsky/group/approveJoinRequest.js.map +1 -1
  654. package/dist/client/types/chat/bsky/group/createGroup.d.ts +1 -1
  655. package/dist/client/types/chat/bsky/group/createGroup.d.ts.map +1 -1
  656. package/dist/client/types/chat/bsky/group/createGroup.js +2 -0
  657. package/dist/client/types/chat/bsky/group/createGroup.js.map +1 -1
  658. package/dist/client/types/chat/bsky/group/createJoinLink.d.ts +1 -1
  659. package/dist/client/types/chat/bsky/group/createJoinLink.d.ts.map +1 -1
  660. package/dist/client/types/chat/bsky/group/createJoinLink.js +2 -0
  661. package/dist/client/types/chat/bsky/group/createJoinLink.js.map +1 -1
  662. package/dist/client/types/chat/bsky/group/defs.js +5 -0
  663. package/dist/client/types/chat/bsky/group/defs.js.map +1 -1
  664. package/dist/client/types/chat/bsky/group/disableJoinLink.d.ts +1 -1
  665. package/dist/client/types/chat/bsky/group/disableJoinLink.d.ts.map +1 -1
  666. package/dist/client/types/chat/bsky/group/disableJoinLink.js +2 -0
  667. package/dist/client/types/chat/bsky/group/disableJoinLink.js.map +1 -1
  668. package/dist/client/types/chat/bsky/group/editGroup.d.ts +1 -1
  669. package/dist/client/types/chat/bsky/group/editGroup.d.ts.map +1 -1
  670. package/dist/client/types/chat/bsky/group/editGroup.js +2 -0
  671. package/dist/client/types/chat/bsky/group/editGroup.js.map +1 -1
  672. package/dist/client/types/chat/bsky/group/editJoinLink.d.ts +1 -1
  673. package/dist/client/types/chat/bsky/group/editJoinLink.d.ts.map +1 -1
  674. package/dist/client/types/chat/bsky/group/editJoinLink.js +2 -0
  675. package/dist/client/types/chat/bsky/group/editJoinLink.js.map +1 -1
  676. package/dist/client/types/chat/bsky/group/enableJoinLink.d.ts +1 -1
  677. package/dist/client/types/chat/bsky/group/enableJoinLink.d.ts.map +1 -1
  678. package/dist/client/types/chat/bsky/group/enableJoinLink.js +2 -0
  679. package/dist/client/types/chat/bsky/group/enableJoinLink.js.map +1 -1
  680. package/dist/client/types/chat/bsky/group/getJoinLinkPreviews.d.ts +1 -1
  681. package/dist/client/types/chat/bsky/group/getJoinLinkPreviews.d.ts.map +1 -1
  682. package/dist/client/types/chat/bsky/group/getJoinLinkPreviews.js +6 -0
  683. package/dist/client/types/chat/bsky/group/getJoinLinkPreviews.js.map +1 -1
  684. package/dist/client/types/chat/bsky/group/listJoinRequests.d.ts +1 -1
  685. package/dist/client/types/chat/bsky/group/listJoinRequests.d.ts.map +1 -1
  686. package/dist/client/types/chat/bsky/group/listJoinRequests.js +2 -0
  687. package/dist/client/types/chat/bsky/group/listJoinRequests.js.map +1 -1
  688. package/dist/client/types/chat/bsky/group/listMutualGroups.d.ts +1 -1
  689. package/dist/client/types/chat/bsky/group/listMutualGroups.d.ts.map +1 -1
  690. package/dist/client/types/chat/bsky/group/listMutualGroups.js +6 -0
  691. package/dist/client/types/chat/bsky/group/listMutualGroups.js.map +1 -1
  692. package/dist/client/types/chat/bsky/group/rejectJoinRequest.d.ts +1 -1
  693. package/dist/client/types/chat/bsky/group/rejectJoinRequest.d.ts.map +1 -1
  694. package/dist/client/types/chat/bsky/group/rejectJoinRequest.js +2 -0
  695. package/dist/client/types/chat/bsky/group/rejectJoinRequest.js.map +1 -1
  696. package/dist/client/types/chat/bsky/group/removeMembers.d.ts +1 -1
  697. package/dist/client/types/chat/bsky/group/removeMembers.d.ts.map +1 -1
  698. package/dist/client/types/chat/bsky/group/removeMembers.js +2 -0
  699. package/dist/client/types/chat/bsky/group/removeMembers.js.map +1 -1
  700. package/dist/client/types/chat/bsky/group/requestJoin.d.ts +1 -1
  701. package/dist/client/types/chat/bsky/group/requestJoin.d.ts.map +1 -1
  702. package/dist/client/types/chat/bsky/group/requestJoin.js +2 -0
  703. package/dist/client/types/chat/bsky/group/requestJoin.js.map +1 -1
  704. package/dist/client/types/chat/bsky/group/updateJoinRequestsRead.d.ts +1 -1
  705. package/dist/client/types/chat/bsky/group/updateJoinRequestsRead.d.ts.map +1 -1
  706. package/dist/client/types/chat/bsky/group/updateJoinRequestsRead.js +2 -0
  707. package/dist/client/types/chat/bsky/group/updateJoinRequestsRead.js.map +1 -1
  708. package/dist/client/types/chat/bsky/group/withdrawJoinRequest.d.ts +1 -1
  709. package/dist/client/types/chat/bsky/group/withdrawJoinRequest.d.ts.map +1 -1
  710. package/dist/client/types/chat/bsky/group/withdrawJoinRequest.js +2 -0
  711. package/dist/client/types/chat/bsky/group/withdrawJoinRequest.js.map +1 -1
  712. package/dist/client/types/chat/bsky/moderation/defs.js +5 -0
  713. package/dist/client/types/chat/bsky/moderation/defs.js.map +1 -1
  714. package/dist/client/types/chat/bsky/moderation/getActorMetadata.d.ts +1 -1
  715. package/dist/client/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -1
  716. package/dist/client/types/chat/bsky/moderation/getActorMetadata.js +6 -0
  717. package/dist/client/types/chat/bsky/moderation/getActorMetadata.js.map +1 -1
  718. package/dist/client/types/chat/bsky/moderation/getConvo.d.ts +1 -1
  719. package/dist/client/types/chat/bsky/moderation/getConvo.d.ts.map +1 -1
  720. package/dist/client/types/chat/bsky/moderation/getConvo.js +2 -0
  721. package/dist/client/types/chat/bsky/moderation/getConvo.js.map +1 -1
  722. package/dist/client/types/chat/bsky/moderation/getConvoMembers.d.ts +1 -1
  723. package/dist/client/types/chat/bsky/moderation/getConvoMembers.d.ts.map +1 -1
  724. package/dist/client/types/chat/bsky/moderation/getConvoMembers.js +2 -0
  725. package/dist/client/types/chat/bsky/moderation/getConvoMembers.js.map +1 -1
  726. package/dist/client/types/chat/bsky/moderation/getConvos.d.ts +1 -1
  727. package/dist/client/types/chat/bsky/moderation/getConvos.d.ts.map +1 -1
  728. package/dist/client/types/chat/bsky/moderation/getConvos.js +6 -0
  729. package/dist/client/types/chat/bsky/moderation/getConvos.js.map +1 -1
  730. package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts +1 -1
  731. package/dist/client/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -1
  732. package/dist/client/types/chat/bsky/moderation/getMessageContext.js +6 -0
  733. package/dist/client/types/chat/bsky/moderation/getMessageContext.js.map +1 -1
  734. package/dist/client/types/chat/bsky/moderation/subscribeModEvents.js +6 -0
  735. package/dist/client/types/chat/bsky/moderation/subscribeModEvents.js.map +1 -1
  736. package/dist/client/types/chat/bsky/moderation/updateActorAccess.d.ts +1 -1
  737. package/dist/client/types/chat/bsky/moderation/updateActorAccess.d.ts.map +1 -1
  738. package/dist/client/types/chat/bsky/moderation/updateActorAccess.js +6 -0
  739. package/dist/client/types/chat/bsky/moderation/updateActorAccess.js.map +1 -1
  740. package/dist/client/types/chat/bsky/notification/defs.js +5 -0
  741. package/dist/client/types/chat/bsky/notification/defs.js.map +1 -1
  742. package/dist/client/types/chat/bsky/notification/getPreferences.d.ts +1 -1
  743. package/dist/client/types/chat/bsky/notification/getPreferences.d.ts.map +1 -1
  744. package/dist/client/types/chat/bsky/notification/getPreferences.js +6 -0
  745. package/dist/client/types/chat/bsky/notification/getPreferences.js.map +1 -1
  746. package/dist/client/types/chat/bsky/notification/putPreferences.d.ts +1 -1
  747. package/dist/client/types/chat/bsky/notification/putPreferences.d.ts.map +1 -1
  748. package/dist/client/types/chat/bsky/notification/putPreferences.js +6 -0
  749. package/dist/client/types/chat/bsky/notification/putPreferences.js.map +1 -1
  750. package/dist/client/types/com/atproto/admin/defs.js +5 -0
  751. package/dist/client/types/com/atproto/admin/defs.js.map +1 -1
  752. package/dist/client/types/com/atproto/admin/deleteAccount.d.ts +1 -1
  753. package/dist/client/types/com/atproto/admin/deleteAccount.d.ts.map +1 -1
  754. package/dist/client/types/com/atproto/admin/deleteAccount.js +6 -0
  755. package/dist/client/types/com/atproto/admin/deleteAccount.js.map +1 -1
  756. package/dist/client/types/com/atproto/admin/disableAccountInvites.d.ts +1 -1
  757. package/dist/client/types/com/atproto/admin/disableAccountInvites.d.ts.map +1 -1
  758. package/dist/client/types/com/atproto/admin/disableAccountInvites.js +6 -0
  759. package/dist/client/types/com/atproto/admin/disableAccountInvites.js.map +1 -1
  760. package/dist/client/types/com/atproto/admin/disableInviteCodes.d.ts +1 -1
  761. package/dist/client/types/com/atproto/admin/disableInviteCodes.d.ts.map +1 -1
  762. package/dist/client/types/com/atproto/admin/disableInviteCodes.js +6 -0
  763. package/dist/client/types/com/atproto/admin/disableInviteCodes.js.map +1 -1
  764. package/dist/client/types/com/atproto/admin/enableAccountInvites.d.ts +1 -1
  765. package/dist/client/types/com/atproto/admin/enableAccountInvites.d.ts.map +1 -1
  766. package/dist/client/types/com/atproto/admin/enableAccountInvites.js +6 -0
  767. package/dist/client/types/com/atproto/admin/enableAccountInvites.js.map +1 -1
  768. package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts +1 -1
  769. package/dist/client/types/com/atproto/admin/getAccountInfo.d.ts.map +1 -1
  770. package/dist/client/types/com/atproto/admin/getAccountInfo.js +6 -0
  771. package/dist/client/types/com/atproto/admin/getAccountInfo.js.map +1 -1
  772. package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts +1 -1
  773. package/dist/client/types/com/atproto/admin/getAccountInfos.d.ts.map +1 -1
  774. package/dist/client/types/com/atproto/admin/getAccountInfos.js +6 -0
  775. package/dist/client/types/com/atproto/admin/getAccountInfos.js.map +1 -1
  776. package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts +1 -1
  777. package/dist/client/types/com/atproto/admin/getInviteCodes.d.ts.map +1 -1
  778. package/dist/client/types/com/atproto/admin/getInviteCodes.js +6 -0
  779. package/dist/client/types/com/atproto/admin/getInviteCodes.js.map +1 -1
  780. package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts +1 -1
  781. package/dist/client/types/com/atproto/admin/getSubjectStatus.d.ts.map +1 -1
  782. package/dist/client/types/com/atproto/admin/getSubjectStatus.js +6 -0
  783. package/dist/client/types/com/atproto/admin/getSubjectStatus.js.map +1 -1
  784. package/dist/client/types/com/atproto/admin/searchAccounts.d.ts +1 -1
  785. package/dist/client/types/com/atproto/admin/searchAccounts.d.ts.map +1 -1
  786. package/dist/client/types/com/atproto/admin/searchAccounts.js +6 -0
  787. package/dist/client/types/com/atproto/admin/searchAccounts.js.map +1 -1
  788. package/dist/client/types/com/atproto/admin/sendEmail.d.ts +1 -1
  789. package/dist/client/types/com/atproto/admin/sendEmail.d.ts.map +1 -1
  790. package/dist/client/types/com/atproto/admin/sendEmail.js +6 -0
  791. package/dist/client/types/com/atproto/admin/sendEmail.js.map +1 -1
  792. package/dist/client/types/com/atproto/admin/updateAccountEmail.d.ts +1 -1
  793. package/dist/client/types/com/atproto/admin/updateAccountEmail.d.ts.map +1 -1
  794. package/dist/client/types/com/atproto/admin/updateAccountEmail.js +6 -0
  795. package/dist/client/types/com/atproto/admin/updateAccountEmail.js.map +1 -1
  796. package/dist/client/types/com/atproto/admin/updateAccountHandle.d.ts +1 -1
  797. package/dist/client/types/com/atproto/admin/updateAccountHandle.d.ts.map +1 -1
  798. package/dist/client/types/com/atproto/admin/updateAccountHandle.js +6 -0
  799. package/dist/client/types/com/atproto/admin/updateAccountHandle.js.map +1 -1
  800. package/dist/client/types/com/atproto/admin/updateAccountPassword.d.ts +1 -1
  801. package/dist/client/types/com/atproto/admin/updateAccountPassword.d.ts.map +1 -1
  802. package/dist/client/types/com/atproto/admin/updateAccountPassword.js +6 -0
  803. package/dist/client/types/com/atproto/admin/updateAccountPassword.js.map +1 -1
  804. package/dist/client/types/com/atproto/admin/updateAccountSigningKey.d.ts +1 -1
  805. package/dist/client/types/com/atproto/admin/updateAccountSigningKey.d.ts.map +1 -1
  806. package/dist/client/types/com/atproto/admin/updateAccountSigningKey.js +6 -0
  807. package/dist/client/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -1
  808. package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts +1 -1
  809. package/dist/client/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  810. package/dist/client/types/com/atproto/admin/updateSubjectStatus.js +6 -0
  811. package/dist/client/types/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  812. package/dist/client/types/com/atproto/identity/defs.js +5 -0
  813. package/dist/client/types/com/atproto/identity/defs.js.map +1 -1
  814. package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.d.ts +1 -1
  815. package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.d.ts.map +1 -1
  816. package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js +6 -0
  817. package/dist/client/types/com/atproto/identity/getRecommendedDidCredentials.js.map +1 -1
  818. package/dist/client/types/com/atproto/identity/refreshIdentity.d.ts +1 -1
  819. package/dist/client/types/com/atproto/identity/refreshIdentity.d.ts.map +1 -1
  820. package/dist/client/types/com/atproto/identity/refreshIdentity.js +2 -0
  821. package/dist/client/types/com/atproto/identity/refreshIdentity.js.map +1 -1
  822. package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.d.ts +1 -1
  823. package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.d.ts.map +1 -1
  824. package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js +6 -0
  825. package/dist/client/types/com/atproto/identity/requestPlcOperationSignature.js.map +1 -1
  826. package/dist/client/types/com/atproto/identity/resolveDid.d.ts +1 -1
  827. package/dist/client/types/com/atproto/identity/resolveDid.d.ts.map +1 -1
  828. package/dist/client/types/com/atproto/identity/resolveDid.js +2 -0
  829. package/dist/client/types/com/atproto/identity/resolveDid.js.map +1 -1
  830. package/dist/client/types/com/atproto/identity/resolveHandle.d.ts +1 -1
  831. package/dist/client/types/com/atproto/identity/resolveHandle.d.ts.map +1 -1
  832. package/dist/client/types/com/atproto/identity/resolveHandle.js +2 -0
  833. package/dist/client/types/com/atproto/identity/resolveHandle.js.map +1 -1
  834. package/dist/client/types/com/atproto/identity/resolveIdentity.d.ts +1 -1
  835. package/dist/client/types/com/atproto/identity/resolveIdentity.d.ts.map +1 -1
  836. package/dist/client/types/com/atproto/identity/resolveIdentity.js +2 -0
  837. package/dist/client/types/com/atproto/identity/resolveIdentity.js.map +1 -1
  838. package/dist/client/types/com/atproto/identity/signPlcOperation.d.ts +1 -1
  839. package/dist/client/types/com/atproto/identity/signPlcOperation.d.ts.map +1 -1
  840. package/dist/client/types/com/atproto/identity/signPlcOperation.js +6 -0
  841. package/dist/client/types/com/atproto/identity/signPlcOperation.js.map +1 -1
  842. package/dist/client/types/com/atproto/identity/submitPlcOperation.d.ts +1 -1
  843. package/dist/client/types/com/atproto/identity/submitPlcOperation.d.ts.map +1 -1
  844. package/dist/client/types/com/atproto/identity/submitPlcOperation.js +6 -0
  845. package/dist/client/types/com/atproto/identity/submitPlcOperation.js.map +1 -1
  846. package/dist/client/types/com/atproto/identity/updateHandle.d.ts +1 -1
  847. package/dist/client/types/com/atproto/identity/updateHandle.d.ts.map +1 -1
  848. package/dist/client/types/com/atproto/identity/updateHandle.js +6 -0
  849. package/dist/client/types/com/atproto/identity/updateHandle.js.map +1 -1
  850. package/dist/client/types/com/atproto/label/defs.js +5 -0
  851. package/dist/client/types/com/atproto/label/defs.js.map +1 -1
  852. package/dist/client/types/com/atproto/label/queryLabels.d.ts +1 -1
  853. package/dist/client/types/com/atproto/label/queryLabels.d.ts.map +1 -1
  854. package/dist/client/types/com/atproto/label/queryLabels.js +6 -0
  855. package/dist/client/types/com/atproto/label/queryLabels.js.map +1 -1
  856. package/dist/client/types/com/atproto/label/subscribeLabels.js +6 -0
  857. package/dist/client/types/com/atproto/label/subscribeLabels.js.map +1 -1
  858. package/dist/client/types/com/atproto/lexicon/resolveLexicon.d.ts +1 -1
  859. package/dist/client/types/com/atproto/lexicon/resolveLexicon.d.ts.map +1 -1
  860. package/dist/client/types/com/atproto/lexicon/resolveLexicon.js +2 -0
  861. package/dist/client/types/com/atproto/lexicon/resolveLexicon.js.map +1 -1
  862. package/dist/client/types/com/atproto/lexicon/schema.js +5 -0
  863. package/dist/client/types/com/atproto/lexicon/schema.js.map +1 -1
  864. package/dist/client/types/com/atproto/moderation/createReport.d.ts +1 -1
  865. package/dist/client/types/com/atproto/moderation/createReport.d.ts.map +1 -1
  866. package/dist/client/types/com/atproto/moderation/createReport.js +6 -0
  867. package/dist/client/types/com/atproto/moderation/createReport.js.map +1 -1
  868. package/dist/client/types/com/atproto/moderation/defs.js +5 -0
  869. package/dist/client/types/com/atproto/moderation/defs.js.map +1 -1
  870. package/dist/client/types/com/atproto/repo/applyWrites.d.ts +1 -1
  871. package/dist/client/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
  872. package/dist/client/types/com/atproto/repo/applyWrites.js +2 -0
  873. package/dist/client/types/com/atproto/repo/applyWrites.js.map +1 -1
  874. package/dist/client/types/com/atproto/repo/createRecord.d.ts +1 -1
  875. package/dist/client/types/com/atproto/repo/createRecord.d.ts.map +1 -1
  876. package/dist/client/types/com/atproto/repo/createRecord.js +2 -0
  877. package/dist/client/types/com/atproto/repo/createRecord.js.map +1 -1
  878. package/dist/client/types/com/atproto/repo/defs.js +5 -0
  879. package/dist/client/types/com/atproto/repo/defs.js.map +1 -1
  880. package/dist/client/types/com/atproto/repo/deleteRecord.d.ts +1 -1
  881. package/dist/client/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
  882. package/dist/client/types/com/atproto/repo/deleteRecord.js +2 -0
  883. package/dist/client/types/com/atproto/repo/deleteRecord.js.map +1 -1
  884. package/dist/client/types/com/atproto/repo/describeRepo.d.ts +1 -1
  885. package/dist/client/types/com/atproto/repo/describeRepo.d.ts.map +1 -1
  886. package/dist/client/types/com/atproto/repo/describeRepo.js +6 -0
  887. package/dist/client/types/com/atproto/repo/describeRepo.js.map +1 -1
  888. package/dist/client/types/com/atproto/repo/getRecord.d.ts +1 -1
  889. package/dist/client/types/com/atproto/repo/getRecord.d.ts.map +1 -1
  890. package/dist/client/types/com/atproto/repo/getRecord.js +2 -0
  891. package/dist/client/types/com/atproto/repo/getRecord.js.map +1 -1
  892. package/dist/client/types/com/atproto/repo/importRepo.d.ts +1 -1
  893. package/dist/client/types/com/atproto/repo/importRepo.d.ts.map +1 -1
  894. package/dist/client/types/com/atproto/repo/importRepo.js +6 -0
  895. package/dist/client/types/com/atproto/repo/importRepo.js.map +1 -1
  896. package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts +1 -1
  897. package/dist/client/types/com/atproto/repo/listMissingBlobs.d.ts.map +1 -1
  898. package/dist/client/types/com/atproto/repo/listMissingBlobs.js +6 -0
  899. package/dist/client/types/com/atproto/repo/listMissingBlobs.js.map +1 -1
  900. package/dist/client/types/com/atproto/repo/listRecords.d.ts +1 -1
  901. package/dist/client/types/com/atproto/repo/listRecords.d.ts.map +1 -1
  902. package/dist/client/types/com/atproto/repo/listRecords.js +6 -0
  903. package/dist/client/types/com/atproto/repo/listRecords.js.map +1 -1
  904. package/dist/client/types/com/atproto/repo/putRecord.d.ts +1 -1
  905. package/dist/client/types/com/atproto/repo/putRecord.d.ts.map +1 -1
  906. package/dist/client/types/com/atproto/repo/putRecord.js +2 -0
  907. package/dist/client/types/com/atproto/repo/putRecord.js.map +1 -1
  908. package/dist/client/types/com/atproto/repo/strongRef.js +5 -0
  909. package/dist/client/types/com/atproto/repo/strongRef.js.map +1 -1
  910. package/dist/client/types/com/atproto/repo/uploadBlob.d.ts +1 -1
  911. package/dist/client/types/com/atproto/repo/uploadBlob.d.ts.map +1 -1
  912. package/dist/client/types/com/atproto/repo/uploadBlob.js +6 -0
  913. package/dist/client/types/com/atproto/repo/uploadBlob.js.map +1 -1
  914. package/dist/client/types/com/atproto/server/activateAccount.d.ts +1 -1
  915. package/dist/client/types/com/atproto/server/activateAccount.d.ts.map +1 -1
  916. package/dist/client/types/com/atproto/server/activateAccount.js +6 -0
  917. package/dist/client/types/com/atproto/server/activateAccount.js.map +1 -1
  918. package/dist/client/types/com/atproto/server/checkAccountStatus.d.ts +1 -1
  919. package/dist/client/types/com/atproto/server/checkAccountStatus.d.ts.map +1 -1
  920. package/dist/client/types/com/atproto/server/checkAccountStatus.js +6 -0
  921. package/dist/client/types/com/atproto/server/checkAccountStatus.js.map +1 -1
  922. package/dist/client/types/com/atproto/server/confirmEmail.d.ts +1 -1
  923. package/dist/client/types/com/atproto/server/confirmEmail.d.ts.map +1 -1
  924. package/dist/client/types/com/atproto/server/confirmEmail.js +2 -0
  925. package/dist/client/types/com/atproto/server/confirmEmail.js.map +1 -1
  926. package/dist/client/types/com/atproto/server/createAccount.d.ts +1 -1
  927. package/dist/client/types/com/atproto/server/createAccount.d.ts.map +1 -1
  928. package/dist/client/types/com/atproto/server/createAccount.js +2 -0
  929. package/dist/client/types/com/atproto/server/createAccount.js.map +1 -1
  930. package/dist/client/types/com/atproto/server/createAppPassword.d.ts +1 -1
  931. package/dist/client/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
  932. package/dist/client/types/com/atproto/server/createAppPassword.js +2 -0
  933. package/dist/client/types/com/atproto/server/createAppPassword.js.map +1 -1
  934. package/dist/client/types/com/atproto/server/createInviteCode.d.ts +1 -1
  935. package/dist/client/types/com/atproto/server/createInviteCode.d.ts.map +1 -1
  936. package/dist/client/types/com/atproto/server/createInviteCode.js +6 -0
  937. package/dist/client/types/com/atproto/server/createInviteCode.js.map +1 -1
  938. package/dist/client/types/com/atproto/server/createInviteCodes.d.ts +1 -1
  939. package/dist/client/types/com/atproto/server/createInviteCodes.d.ts.map +1 -1
  940. package/dist/client/types/com/atproto/server/createInviteCodes.js +6 -0
  941. package/dist/client/types/com/atproto/server/createInviteCodes.js.map +1 -1
  942. package/dist/client/types/com/atproto/server/createSession.d.ts +1 -1
  943. package/dist/client/types/com/atproto/server/createSession.d.ts.map +1 -1
  944. package/dist/client/types/com/atproto/server/createSession.js +2 -0
  945. package/dist/client/types/com/atproto/server/createSession.js.map +1 -1
  946. package/dist/client/types/com/atproto/server/deactivateAccount.d.ts +1 -1
  947. package/dist/client/types/com/atproto/server/deactivateAccount.d.ts.map +1 -1
  948. package/dist/client/types/com/atproto/server/deactivateAccount.js +6 -0
  949. package/dist/client/types/com/atproto/server/deactivateAccount.js.map +1 -1
  950. package/dist/client/types/com/atproto/server/defs.js +5 -0
  951. package/dist/client/types/com/atproto/server/defs.js.map +1 -1
  952. package/dist/client/types/com/atproto/server/deleteAccount.d.ts +1 -1
  953. package/dist/client/types/com/atproto/server/deleteAccount.d.ts.map +1 -1
  954. package/dist/client/types/com/atproto/server/deleteAccount.js +2 -0
  955. package/dist/client/types/com/atproto/server/deleteAccount.js.map +1 -1
  956. package/dist/client/types/com/atproto/server/deleteSession.d.ts +1 -1
  957. package/dist/client/types/com/atproto/server/deleteSession.d.ts.map +1 -1
  958. package/dist/client/types/com/atproto/server/deleteSession.js +2 -0
  959. package/dist/client/types/com/atproto/server/deleteSession.js.map +1 -1
  960. package/dist/client/types/com/atproto/server/describeServer.d.ts +1 -1
  961. package/dist/client/types/com/atproto/server/describeServer.d.ts.map +1 -1
  962. package/dist/client/types/com/atproto/server/describeServer.js +6 -0
  963. package/dist/client/types/com/atproto/server/describeServer.js.map +1 -1
  964. package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts +1 -1
  965. package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
  966. package/dist/client/types/com/atproto/server/getAccountInviteCodes.js +2 -0
  967. package/dist/client/types/com/atproto/server/getAccountInviteCodes.js.map +1 -1
  968. package/dist/client/types/com/atproto/server/getServiceAuth.d.ts +1 -1
  969. package/dist/client/types/com/atproto/server/getServiceAuth.d.ts.map +1 -1
  970. package/dist/client/types/com/atproto/server/getServiceAuth.js +2 -0
  971. package/dist/client/types/com/atproto/server/getServiceAuth.js.map +1 -1
  972. package/dist/client/types/com/atproto/server/getSession.d.ts +1 -1
  973. package/dist/client/types/com/atproto/server/getSession.d.ts.map +1 -1
  974. package/dist/client/types/com/atproto/server/getSession.js +6 -0
  975. package/dist/client/types/com/atproto/server/getSession.js.map +1 -1
  976. package/dist/client/types/com/atproto/server/listAppPasswords.d.ts +1 -1
  977. package/dist/client/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
  978. package/dist/client/types/com/atproto/server/listAppPasswords.js +2 -0
  979. package/dist/client/types/com/atproto/server/listAppPasswords.js.map +1 -1
  980. package/dist/client/types/com/atproto/server/refreshSession.d.ts +1 -1
  981. package/dist/client/types/com/atproto/server/refreshSession.d.ts.map +1 -1
  982. package/dist/client/types/com/atproto/server/refreshSession.js +2 -0
  983. package/dist/client/types/com/atproto/server/refreshSession.js.map +1 -1
  984. package/dist/client/types/com/atproto/server/requestAccountDelete.d.ts +1 -1
  985. package/dist/client/types/com/atproto/server/requestAccountDelete.d.ts.map +1 -1
  986. package/dist/client/types/com/atproto/server/requestAccountDelete.js +6 -0
  987. package/dist/client/types/com/atproto/server/requestAccountDelete.js.map +1 -1
  988. package/dist/client/types/com/atproto/server/requestEmailConfirmation.d.ts +1 -1
  989. package/dist/client/types/com/atproto/server/requestEmailConfirmation.d.ts.map +1 -1
  990. package/dist/client/types/com/atproto/server/requestEmailConfirmation.js +6 -0
  991. package/dist/client/types/com/atproto/server/requestEmailConfirmation.js.map +1 -1
  992. package/dist/client/types/com/atproto/server/requestEmailUpdate.d.ts +1 -1
  993. package/dist/client/types/com/atproto/server/requestEmailUpdate.d.ts.map +1 -1
  994. package/dist/client/types/com/atproto/server/requestEmailUpdate.js +6 -0
  995. package/dist/client/types/com/atproto/server/requestEmailUpdate.js.map +1 -1
  996. package/dist/client/types/com/atproto/server/requestPasswordReset.d.ts +1 -1
  997. package/dist/client/types/com/atproto/server/requestPasswordReset.d.ts.map +1 -1
  998. package/dist/client/types/com/atproto/server/requestPasswordReset.js +6 -0
  999. package/dist/client/types/com/atproto/server/requestPasswordReset.js.map +1 -1
  1000. package/dist/client/types/com/atproto/server/reserveSigningKey.d.ts +1 -1
  1001. package/dist/client/types/com/atproto/server/reserveSigningKey.d.ts.map +1 -1
  1002. package/dist/client/types/com/atproto/server/reserveSigningKey.js +6 -0
  1003. package/dist/client/types/com/atproto/server/reserveSigningKey.js.map +1 -1
  1004. package/dist/client/types/com/atproto/server/resetPassword.d.ts +1 -1
  1005. package/dist/client/types/com/atproto/server/resetPassword.d.ts.map +1 -1
  1006. package/dist/client/types/com/atproto/server/resetPassword.js +2 -0
  1007. package/dist/client/types/com/atproto/server/resetPassword.js.map +1 -1
  1008. package/dist/client/types/com/atproto/server/revokeAppPassword.d.ts +1 -1
  1009. package/dist/client/types/com/atproto/server/revokeAppPassword.d.ts.map +1 -1
  1010. package/dist/client/types/com/atproto/server/revokeAppPassword.js +6 -0
  1011. package/dist/client/types/com/atproto/server/revokeAppPassword.js.map +1 -1
  1012. package/dist/client/types/com/atproto/server/updateEmail.d.ts +1 -1
  1013. package/dist/client/types/com/atproto/server/updateEmail.d.ts.map +1 -1
  1014. package/dist/client/types/com/atproto/server/updateEmail.js +2 -0
  1015. package/dist/client/types/com/atproto/server/updateEmail.js.map +1 -1
  1016. package/dist/client/types/com/atproto/sync/defs.js +5 -0
  1017. package/dist/client/types/com/atproto/sync/defs.js.map +1 -1
  1018. package/dist/client/types/com/atproto/sync/getBlob.d.ts +1 -1
  1019. package/dist/client/types/com/atproto/sync/getBlob.d.ts.map +1 -1
  1020. package/dist/client/types/com/atproto/sync/getBlob.js +2 -0
  1021. package/dist/client/types/com/atproto/sync/getBlob.js.map +1 -1
  1022. package/dist/client/types/com/atproto/sync/getBlocks.d.ts +1 -1
  1023. package/dist/client/types/com/atproto/sync/getBlocks.d.ts.map +1 -1
  1024. package/dist/client/types/com/atproto/sync/getBlocks.js +2 -0
  1025. package/dist/client/types/com/atproto/sync/getBlocks.js.map +1 -1
  1026. package/dist/client/types/com/atproto/sync/getCheckout.d.ts +1 -1
  1027. package/dist/client/types/com/atproto/sync/getCheckout.d.ts.map +1 -1
  1028. package/dist/client/types/com/atproto/sync/getCheckout.js +6 -0
  1029. package/dist/client/types/com/atproto/sync/getCheckout.js.map +1 -1
  1030. package/dist/client/types/com/atproto/sync/getHead.d.ts +1 -1
  1031. package/dist/client/types/com/atproto/sync/getHead.d.ts.map +1 -1
  1032. package/dist/client/types/com/atproto/sync/getHead.js +2 -0
  1033. package/dist/client/types/com/atproto/sync/getHead.js.map +1 -1
  1034. package/dist/client/types/com/atproto/sync/getHostStatus.d.ts +1 -1
  1035. package/dist/client/types/com/atproto/sync/getHostStatus.d.ts.map +1 -1
  1036. package/dist/client/types/com/atproto/sync/getHostStatus.js +2 -0
  1037. package/dist/client/types/com/atproto/sync/getHostStatus.js.map +1 -1
  1038. package/dist/client/types/com/atproto/sync/getLatestCommit.d.ts +1 -1
  1039. package/dist/client/types/com/atproto/sync/getLatestCommit.d.ts.map +1 -1
  1040. package/dist/client/types/com/atproto/sync/getLatestCommit.js +2 -0
  1041. package/dist/client/types/com/atproto/sync/getLatestCommit.js.map +1 -1
  1042. package/dist/client/types/com/atproto/sync/getRecord.d.ts +1 -1
  1043. package/dist/client/types/com/atproto/sync/getRecord.d.ts.map +1 -1
  1044. package/dist/client/types/com/atproto/sync/getRecord.js +2 -0
  1045. package/dist/client/types/com/atproto/sync/getRecord.js.map +1 -1
  1046. package/dist/client/types/com/atproto/sync/getRepo.d.ts +1 -1
  1047. package/dist/client/types/com/atproto/sync/getRepo.d.ts.map +1 -1
  1048. package/dist/client/types/com/atproto/sync/getRepo.js +2 -0
  1049. package/dist/client/types/com/atproto/sync/getRepo.js.map +1 -1
  1050. package/dist/client/types/com/atproto/sync/getRepoStatus.d.ts +1 -1
  1051. package/dist/client/types/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
  1052. package/dist/client/types/com/atproto/sync/getRepoStatus.js +2 -0
  1053. package/dist/client/types/com/atproto/sync/getRepoStatus.js.map +1 -1
  1054. package/dist/client/types/com/atproto/sync/listBlobs.d.ts +1 -1
  1055. package/dist/client/types/com/atproto/sync/listBlobs.d.ts.map +1 -1
  1056. package/dist/client/types/com/atproto/sync/listBlobs.js +2 -0
  1057. package/dist/client/types/com/atproto/sync/listBlobs.js.map +1 -1
  1058. package/dist/client/types/com/atproto/sync/listHosts.d.ts +1 -1
  1059. package/dist/client/types/com/atproto/sync/listHosts.d.ts.map +1 -1
  1060. package/dist/client/types/com/atproto/sync/listHosts.js +6 -0
  1061. package/dist/client/types/com/atproto/sync/listHosts.js.map +1 -1
  1062. package/dist/client/types/com/atproto/sync/listRepos.d.ts +1 -1
  1063. package/dist/client/types/com/atproto/sync/listRepos.d.ts.map +1 -1
  1064. package/dist/client/types/com/atproto/sync/listRepos.js +6 -0
  1065. package/dist/client/types/com/atproto/sync/listRepos.js.map +1 -1
  1066. package/dist/client/types/com/atproto/sync/listReposByCollection.d.ts +1 -1
  1067. package/dist/client/types/com/atproto/sync/listReposByCollection.d.ts.map +1 -1
  1068. package/dist/client/types/com/atproto/sync/listReposByCollection.js +6 -0
  1069. package/dist/client/types/com/atproto/sync/listReposByCollection.js.map +1 -1
  1070. package/dist/client/types/com/atproto/sync/notifyOfUpdate.d.ts +1 -1
  1071. package/dist/client/types/com/atproto/sync/notifyOfUpdate.d.ts.map +1 -1
  1072. package/dist/client/types/com/atproto/sync/notifyOfUpdate.js +6 -0
  1073. package/dist/client/types/com/atproto/sync/notifyOfUpdate.js.map +1 -1
  1074. package/dist/client/types/com/atproto/sync/requestCrawl.d.ts +1 -1
  1075. package/dist/client/types/com/atproto/sync/requestCrawl.d.ts.map +1 -1
  1076. package/dist/client/types/com/atproto/sync/requestCrawl.js +2 -0
  1077. package/dist/client/types/com/atproto/sync/requestCrawl.js.map +1 -1
  1078. package/dist/client/types/com/atproto/sync/subscribeRepos.js +6 -0
  1079. package/dist/client/types/com/atproto/sync/subscribeRepos.js.map +1 -1
  1080. package/dist/client/types/com/atproto/temp/addReservedHandle.d.ts +1 -1
  1081. package/dist/client/types/com/atproto/temp/addReservedHandle.d.ts.map +1 -1
  1082. package/dist/client/types/com/atproto/temp/addReservedHandle.js +6 -0
  1083. package/dist/client/types/com/atproto/temp/addReservedHandle.js.map +1 -1
  1084. package/dist/client/types/com/atproto/temp/checkHandleAvailability.d.ts +1 -1
  1085. package/dist/client/types/com/atproto/temp/checkHandleAvailability.d.ts.map +1 -1
  1086. package/dist/client/types/com/atproto/temp/checkHandleAvailability.js +2 -0
  1087. package/dist/client/types/com/atproto/temp/checkHandleAvailability.js.map +1 -1
  1088. package/dist/client/types/com/atproto/temp/checkSignupQueue.d.ts +1 -1
  1089. package/dist/client/types/com/atproto/temp/checkSignupQueue.d.ts.map +1 -1
  1090. package/dist/client/types/com/atproto/temp/checkSignupQueue.js +6 -0
  1091. package/dist/client/types/com/atproto/temp/checkSignupQueue.js.map +1 -1
  1092. package/dist/client/types/com/atproto/temp/dereferenceScope.d.ts +1 -1
  1093. package/dist/client/types/com/atproto/temp/dereferenceScope.d.ts.map +1 -1
  1094. package/dist/client/types/com/atproto/temp/dereferenceScope.js +2 -0
  1095. package/dist/client/types/com/atproto/temp/dereferenceScope.js.map +1 -1
  1096. package/dist/client/types/com/atproto/temp/fetchLabels.d.ts +1 -1
  1097. package/dist/client/types/com/atproto/temp/fetchLabels.d.ts.map +1 -1
  1098. package/dist/client/types/com/atproto/temp/fetchLabels.js +6 -0
  1099. package/dist/client/types/com/atproto/temp/fetchLabels.js.map +1 -1
  1100. package/dist/client/types/com/atproto/temp/requestPhoneVerification.d.ts +1 -1
  1101. package/dist/client/types/com/atproto/temp/requestPhoneVerification.d.ts.map +1 -1
  1102. package/dist/client/types/com/atproto/temp/requestPhoneVerification.js +6 -0
  1103. package/dist/client/types/com/atproto/temp/requestPhoneVerification.js.map +1 -1
  1104. package/dist/client/types/com/atproto/temp/revokeAccountCredentials.d.ts +1 -1
  1105. package/dist/client/types/com/atproto/temp/revokeAccountCredentials.d.ts.map +1 -1
  1106. package/dist/client/types/com/atproto/temp/revokeAccountCredentials.js +6 -0
  1107. package/dist/client/types/com/atproto/temp/revokeAccountCredentials.js.map +1 -1
  1108. package/dist/client/types/com/germnetwork/declaration.js +5 -0
  1109. package/dist/client/types/com/germnetwork/declaration.js.map +1 -1
  1110. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts +1 -1
  1111. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts.map +1 -1
  1112. package/dist/client/types/tools/ozone/communication/createTemplate.js +2 -0
  1113. package/dist/client/types/tools/ozone/communication/createTemplate.js.map +1 -1
  1114. package/dist/client/types/tools/ozone/communication/defs.js +5 -0
  1115. package/dist/client/types/tools/ozone/communication/defs.js.map +1 -1
  1116. package/dist/client/types/tools/ozone/communication/deleteTemplate.d.ts +1 -1
  1117. package/dist/client/types/tools/ozone/communication/deleteTemplate.d.ts.map +1 -1
  1118. package/dist/client/types/tools/ozone/communication/deleteTemplate.js +6 -0
  1119. package/dist/client/types/tools/ozone/communication/deleteTemplate.js.map +1 -1
  1120. package/dist/client/types/tools/ozone/communication/listTemplates.d.ts +1 -1
  1121. package/dist/client/types/tools/ozone/communication/listTemplates.d.ts.map +1 -1
  1122. package/dist/client/types/tools/ozone/communication/listTemplates.js +6 -0
  1123. package/dist/client/types/tools/ozone/communication/listTemplates.js.map +1 -1
  1124. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts +1 -1
  1125. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts.map +1 -1
  1126. package/dist/client/types/tools/ozone/communication/updateTemplate.js +2 -0
  1127. package/dist/client/types/tools/ozone/communication/updateTemplate.js.map +1 -1
  1128. package/dist/client/types/tools/ozone/hosting/getAccountHistory.d.ts +1 -1
  1129. package/dist/client/types/tools/ozone/hosting/getAccountHistory.d.ts.map +1 -1
  1130. package/dist/client/types/tools/ozone/hosting/getAccountHistory.js +6 -0
  1131. package/dist/client/types/tools/ozone/hosting/getAccountHistory.js.map +1 -1
  1132. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts +1 -1
  1133. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.d.ts.map +1 -1
  1134. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js +6 -0
  1135. package/dist/client/types/tools/ozone/moderation/cancelScheduledActions.js.map +1 -1
  1136. package/dist/client/types/tools/ozone/moderation/defs.js +5 -0
  1137. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  1138. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  1139. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  1140. package/dist/client/types/tools/ozone/moderation/emitEvent.js +2 -0
  1141. package/dist/client/types/tools/ozone/moderation/emitEvent.js.map +1 -1
  1142. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts +1 -1
  1143. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
  1144. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.js +2 -0
  1145. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.js.map +1 -1
  1146. package/dist/client/types/tools/ozone/moderation/getEvent.d.ts +1 -1
  1147. package/dist/client/types/tools/ozone/moderation/getEvent.d.ts.map +1 -1
  1148. package/dist/client/types/tools/ozone/moderation/getEvent.js +6 -0
  1149. package/dist/client/types/tools/ozone/moderation/getEvent.js.map +1 -1
  1150. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts +1 -1
  1151. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts.map +1 -1
  1152. package/dist/client/types/tools/ozone/moderation/getRecord.js +2 -0
  1153. package/dist/client/types/tools/ozone/moderation/getRecord.js.map +1 -1
  1154. package/dist/client/types/tools/ozone/moderation/getRecords.d.ts +1 -1
  1155. package/dist/client/types/tools/ozone/moderation/getRecords.d.ts.map +1 -1
  1156. package/dist/client/types/tools/ozone/moderation/getRecords.js +6 -0
  1157. package/dist/client/types/tools/ozone/moderation/getRecords.js.map +1 -1
  1158. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts +1 -1
  1159. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts.map +1 -1
  1160. package/dist/client/types/tools/ozone/moderation/getRepo.js +2 -0
  1161. package/dist/client/types/tools/ozone/moderation/getRepo.js.map +1 -1
  1162. package/dist/client/types/tools/ozone/moderation/getReporterStats.d.ts +1 -1
  1163. package/dist/client/types/tools/ozone/moderation/getReporterStats.d.ts.map +1 -1
  1164. package/dist/client/types/tools/ozone/moderation/getReporterStats.js +6 -0
  1165. package/dist/client/types/tools/ozone/moderation/getReporterStats.js.map +1 -1
  1166. package/dist/client/types/tools/ozone/moderation/getRepos.d.ts +1 -1
  1167. package/dist/client/types/tools/ozone/moderation/getRepos.d.ts.map +1 -1
  1168. package/dist/client/types/tools/ozone/moderation/getRepos.js +6 -0
  1169. package/dist/client/types/tools/ozone/moderation/getRepos.js.map +1 -1
  1170. package/dist/client/types/tools/ozone/moderation/getSubjects.d.ts +1 -1
  1171. package/dist/client/types/tools/ozone/moderation/getSubjects.d.ts.map +1 -1
  1172. package/dist/client/types/tools/ozone/moderation/getSubjects.js +6 -0
  1173. package/dist/client/types/tools/ozone/moderation/getSubjects.js.map +1 -1
  1174. package/dist/client/types/tools/ozone/moderation/listScheduledActions.d.ts +1 -1
  1175. package/dist/client/types/tools/ozone/moderation/listScheduledActions.d.ts.map +1 -1
  1176. package/dist/client/types/tools/ozone/moderation/listScheduledActions.js +6 -0
  1177. package/dist/client/types/tools/ozone/moderation/listScheduledActions.js.map +1 -1
  1178. package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts +1 -1
  1179. package/dist/client/types/tools/ozone/moderation/queryEvents.d.ts.map +1 -1
  1180. package/dist/client/types/tools/ozone/moderation/queryEvents.js +6 -0
  1181. package/dist/client/types/tools/ozone/moderation/queryEvents.js.map +1 -1
  1182. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts +1 -1
  1183. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  1184. package/dist/client/types/tools/ozone/moderation/queryStatuses.js +6 -0
  1185. package/dist/client/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
  1186. package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts +1 -1
  1187. package/dist/client/types/tools/ozone/moderation/scheduleAction.d.ts.map +1 -1
  1188. package/dist/client/types/tools/ozone/moderation/scheduleAction.js +6 -0
  1189. package/dist/client/types/tools/ozone/moderation/scheduleAction.js.map +1 -1
  1190. package/dist/client/types/tools/ozone/moderation/searchRepos.d.ts +1 -1
  1191. package/dist/client/types/tools/ozone/moderation/searchRepos.d.ts.map +1 -1
  1192. package/dist/client/types/tools/ozone/moderation/searchRepos.js +6 -0
  1193. package/dist/client/types/tools/ozone/moderation/searchRepos.js.map +1 -1
  1194. package/dist/client/types/tools/ozone/queue/assignModerator.d.ts +1 -1
  1195. package/dist/client/types/tools/ozone/queue/assignModerator.d.ts.map +1 -1
  1196. package/dist/client/types/tools/ozone/queue/assignModerator.js +2 -0
  1197. package/dist/client/types/tools/ozone/queue/assignModerator.js.map +1 -1
  1198. package/dist/client/types/tools/ozone/queue/createQueue.d.ts +1 -1
  1199. package/dist/client/types/tools/ozone/queue/createQueue.d.ts.map +1 -1
  1200. package/dist/client/types/tools/ozone/queue/createQueue.js +2 -0
  1201. package/dist/client/types/tools/ozone/queue/createQueue.js.map +1 -1
  1202. package/dist/client/types/tools/ozone/queue/defs.js +5 -0
  1203. package/dist/client/types/tools/ozone/queue/defs.js.map +1 -1
  1204. package/dist/client/types/tools/ozone/queue/deleteQueue.d.ts +1 -1
  1205. package/dist/client/types/tools/ozone/queue/deleteQueue.d.ts.map +1 -1
  1206. package/dist/client/types/tools/ozone/queue/deleteQueue.js +6 -0
  1207. package/dist/client/types/tools/ozone/queue/deleteQueue.js.map +1 -1
  1208. package/dist/client/types/tools/ozone/queue/getAssignments.d.ts +1 -1
  1209. package/dist/client/types/tools/ozone/queue/getAssignments.d.ts.map +1 -1
  1210. package/dist/client/types/tools/ozone/queue/getAssignments.js +6 -0
  1211. package/dist/client/types/tools/ozone/queue/getAssignments.js.map +1 -1
  1212. package/dist/client/types/tools/ozone/queue/listQueues.d.ts +1 -1
  1213. package/dist/client/types/tools/ozone/queue/listQueues.d.ts.map +1 -1
  1214. package/dist/client/types/tools/ozone/queue/listQueues.js +6 -0
  1215. package/dist/client/types/tools/ozone/queue/listQueues.js.map +1 -1
  1216. package/dist/client/types/tools/ozone/queue/routeReports.d.ts +1 -1
  1217. package/dist/client/types/tools/ozone/queue/routeReports.d.ts.map +1 -1
  1218. package/dist/client/types/tools/ozone/queue/routeReports.js +2 -0
  1219. package/dist/client/types/tools/ozone/queue/routeReports.js.map +1 -1
  1220. package/dist/client/types/tools/ozone/queue/unassignModerator.d.ts +1 -1
  1221. package/dist/client/types/tools/ozone/queue/unassignModerator.d.ts.map +1 -1
  1222. package/dist/client/types/tools/ozone/queue/unassignModerator.js +2 -0
  1223. package/dist/client/types/tools/ozone/queue/unassignModerator.js.map +1 -1
  1224. package/dist/client/types/tools/ozone/queue/updateQueue.d.ts +1 -1
  1225. package/dist/client/types/tools/ozone/queue/updateQueue.d.ts.map +1 -1
  1226. package/dist/client/types/tools/ozone/queue/updateQueue.js +6 -0
  1227. package/dist/client/types/tools/ozone/queue/updateQueue.js.map +1 -1
  1228. package/dist/client/types/tools/ozone/report/assignModerator.d.ts +1 -1
  1229. package/dist/client/types/tools/ozone/report/assignModerator.d.ts.map +1 -1
  1230. package/dist/client/types/tools/ozone/report/assignModerator.js +2 -0
  1231. package/dist/client/types/tools/ozone/report/assignModerator.js.map +1 -1
  1232. package/dist/client/types/tools/ozone/report/createActivity.d.ts +1 -1
  1233. package/dist/client/types/tools/ozone/report/createActivity.d.ts.map +1 -1
  1234. package/dist/client/types/tools/ozone/report/createActivity.js +2 -0
  1235. package/dist/client/types/tools/ozone/report/createActivity.js.map +1 -1
  1236. package/dist/client/types/tools/ozone/report/defs.js +5 -0
  1237. package/dist/client/types/tools/ozone/report/defs.js.map +1 -1
  1238. package/dist/client/types/tools/ozone/report/getAssignments.d.ts +1 -1
  1239. package/dist/client/types/tools/ozone/report/getAssignments.d.ts.map +1 -1
  1240. package/dist/client/types/tools/ozone/report/getAssignments.js +6 -0
  1241. package/dist/client/types/tools/ozone/report/getAssignments.js.map +1 -1
  1242. package/dist/client/types/tools/ozone/report/getHistoricalStats.d.ts +1 -1
  1243. package/dist/client/types/tools/ozone/report/getHistoricalStats.d.ts.map +1 -1
  1244. package/dist/client/types/tools/ozone/report/getHistoricalStats.js +6 -0
  1245. package/dist/client/types/tools/ozone/report/getHistoricalStats.js.map +1 -1
  1246. package/dist/client/types/tools/ozone/report/getLatestReport.d.ts +1 -1
  1247. package/dist/client/types/tools/ozone/report/getLatestReport.d.ts.map +1 -1
  1248. package/dist/client/types/tools/ozone/report/getLatestReport.js +2 -0
  1249. package/dist/client/types/tools/ozone/report/getLatestReport.js.map +1 -1
  1250. package/dist/client/types/tools/ozone/report/getLiveStats.d.ts +1 -1
  1251. package/dist/client/types/tools/ozone/report/getLiveStats.d.ts.map +1 -1
  1252. package/dist/client/types/tools/ozone/report/getLiveStats.js +6 -0
  1253. package/dist/client/types/tools/ozone/report/getLiveStats.js.map +1 -1
  1254. package/dist/client/types/tools/ozone/report/getReport.d.ts +1 -1
  1255. package/dist/client/types/tools/ozone/report/getReport.d.ts.map +1 -1
  1256. package/dist/client/types/tools/ozone/report/getReport.js +2 -0
  1257. package/dist/client/types/tools/ozone/report/getReport.js.map +1 -1
  1258. package/dist/client/types/tools/ozone/report/listActivities.d.ts +1 -1
  1259. package/dist/client/types/tools/ozone/report/listActivities.d.ts.map +1 -1
  1260. package/dist/client/types/tools/ozone/report/listActivities.js +6 -0
  1261. package/dist/client/types/tools/ozone/report/listActivities.js.map +1 -1
  1262. package/dist/client/types/tools/ozone/report/queryActivities.d.ts +1 -1
  1263. package/dist/client/types/tools/ozone/report/queryActivities.d.ts.map +1 -1
  1264. package/dist/client/types/tools/ozone/report/queryActivities.js +6 -0
  1265. package/dist/client/types/tools/ozone/report/queryActivities.js.map +1 -1
  1266. package/dist/client/types/tools/ozone/report/queryReports.d.ts +1 -1
  1267. package/dist/client/types/tools/ozone/report/queryReports.d.ts.map +1 -1
  1268. package/dist/client/types/tools/ozone/report/queryReports.js +6 -0
  1269. package/dist/client/types/tools/ozone/report/queryReports.js.map +1 -1
  1270. package/dist/client/types/tools/ozone/report/reassignQueue.d.ts +1 -1
  1271. package/dist/client/types/tools/ozone/report/reassignQueue.d.ts.map +1 -1
  1272. package/dist/client/types/tools/ozone/report/reassignQueue.js +2 -0
  1273. package/dist/client/types/tools/ozone/report/reassignQueue.js.map +1 -1
  1274. package/dist/client/types/tools/ozone/report/refreshStats.d.ts +1 -1
  1275. package/dist/client/types/tools/ozone/report/refreshStats.d.ts.map +1 -1
  1276. package/dist/client/types/tools/ozone/report/refreshStats.js +6 -0
  1277. package/dist/client/types/tools/ozone/report/refreshStats.js.map +1 -1
  1278. package/dist/client/types/tools/ozone/report/unassignModerator.d.ts +1 -1
  1279. package/dist/client/types/tools/ozone/report/unassignModerator.d.ts.map +1 -1
  1280. package/dist/client/types/tools/ozone/report/unassignModerator.js +2 -0
  1281. package/dist/client/types/tools/ozone/report/unassignModerator.js.map +1 -1
  1282. package/dist/client/types/tools/ozone/safelink/addRule.d.ts +1 -1
  1283. package/dist/client/types/tools/ozone/safelink/addRule.d.ts.map +1 -1
  1284. package/dist/client/types/tools/ozone/safelink/addRule.js +2 -0
  1285. package/dist/client/types/tools/ozone/safelink/addRule.js.map +1 -1
  1286. package/dist/client/types/tools/ozone/safelink/defs.js +5 -0
  1287. package/dist/client/types/tools/ozone/safelink/defs.js.map +1 -1
  1288. package/dist/client/types/tools/ozone/safelink/queryEvents.d.ts +1 -1
  1289. package/dist/client/types/tools/ozone/safelink/queryEvents.d.ts.map +1 -1
  1290. package/dist/client/types/tools/ozone/safelink/queryEvents.js +6 -0
  1291. package/dist/client/types/tools/ozone/safelink/queryEvents.js.map +1 -1
  1292. package/dist/client/types/tools/ozone/safelink/queryRules.d.ts +1 -1
  1293. package/dist/client/types/tools/ozone/safelink/queryRules.d.ts.map +1 -1
  1294. package/dist/client/types/tools/ozone/safelink/queryRules.js +6 -0
  1295. package/dist/client/types/tools/ozone/safelink/queryRules.js.map +1 -1
  1296. package/dist/client/types/tools/ozone/safelink/removeRule.d.ts +1 -1
  1297. package/dist/client/types/tools/ozone/safelink/removeRule.d.ts.map +1 -1
  1298. package/dist/client/types/tools/ozone/safelink/removeRule.js +2 -0
  1299. package/dist/client/types/tools/ozone/safelink/removeRule.js.map +1 -1
  1300. package/dist/client/types/tools/ozone/safelink/updateRule.d.ts +1 -1
  1301. package/dist/client/types/tools/ozone/safelink/updateRule.d.ts.map +1 -1
  1302. package/dist/client/types/tools/ozone/safelink/updateRule.js +2 -0
  1303. package/dist/client/types/tools/ozone/safelink/updateRule.js.map +1 -1
  1304. package/dist/client/types/tools/ozone/server/getConfig.d.ts +1 -1
  1305. package/dist/client/types/tools/ozone/server/getConfig.d.ts.map +1 -1
  1306. package/dist/client/types/tools/ozone/server/getConfig.js +6 -0
  1307. package/dist/client/types/tools/ozone/server/getConfig.js.map +1 -1
  1308. package/dist/client/types/tools/ozone/set/addValues.d.ts +1 -1
  1309. package/dist/client/types/tools/ozone/set/addValues.d.ts.map +1 -1
  1310. package/dist/client/types/tools/ozone/set/addValues.js +6 -0
  1311. package/dist/client/types/tools/ozone/set/addValues.js.map +1 -1
  1312. package/dist/client/types/tools/ozone/set/defs.js +5 -0
  1313. package/dist/client/types/tools/ozone/set/defs.js.map +1 -1
  1314. package/dist/client/types/tools/ozone/set/deleteSet.d.ts +1 -1
  1315. package/dist/client/types/tools/ozone/set/deleteSet.d.ts.map +1 -1
  1316. package/dist/client/types/tools/ozone/set/deleteSet.js +2 -0
  1317. package/dist/client/types/tools/ozone/set/deleteSet.js.map +1 -1
  1318. package/dist/client/types/tools/ozone/set/deleteValues.d.ts +1 -1
  1319. package/dist/client/types/tools/ozone/set/deleteValues.d.ts.map +1 -1
  1320. package/dist/client/types/tools/ozone/set/deleteValues.js +2 -0
  1321. package/dist/client/types/tools/ozone/set/deleteValues.js.map +1 -1
  1322. package/dist/client/types/tools/ozone/set/getValues.d.ts +1 -1
  1323. package/dist/client/types/tools/ozone/set/getValues.d.ts.map +1 -1
  1324. package/dist/client/types/tools/ozone/set/getValues.js +2 -0
  1325. package/dist/client/types/tools/ozone/set/getValues.js.map +1 -1
  1326. package/dist/client/types/tools/ozone/set/querySets.d.ts +1 -1
  1327. package/dist/client/types/tools/ozone/set/querySets.d.ts.map +1 -1
  1328. package/dist/client/types/tools/ozone/set/querySets.js +6 -0
  1329. package/dist/client/types/tools/ozone/set/querySets.js.map +1 -1
  1330. package/dist/client/types/tools/ozone/set/upsertSet.d.ts +1 -1
  1331. package/dist/client/types/tools/ozone/set/upsertSet.d.ts.map +1 -1
  1332. package/dist/client/types/tools/ozone/set/upsertSet.js +6 -0
  1333. package/dist/client/types/tools/ozone/set/upsertSet.js.map +1 -1
  1334. package/dist/client/types/tools/ozone/setting/defs.js +5 -0
  1335. package/dist/client/types/tools/ozone/setting/defs.js.map +1 -1
  1336. package/dist/client/types/tools/ozone/setting/listOptions.d.ts +1 -1
  1337. package/dist/client/types/tools/ozone/setting/listOptions.d.ts.map +1 -1
  1338. package/dist/client/types/tools/ozone/setting/listOptions.js +6 -0
  1339. package/dist/client/types/tools/ozone/setting/listOptions.js.map +1 -1
  1340. package/dist/client/types/tools/ozone/setting/removeOptions.d.ts +1 -1
  1341. package/dist/client/types/tools/ozone/setting/removeOptions.d.ts.map +1 -1
  1342. package/dist/client/types/tools/ozone/setting/removeOptions.js +6 -0
  1343. package/dist/client/types/tools/ozone/setting/removeOptions.js.map +1 -1
  1344. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts +1 -1
  1345. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts.map +1 -1
  1346. package/dist/client/types/tools/ozone/setting/upsertOption.js +6 -0
  1347. package/dist/client/types/tools/ozone/setting/upsertOption.js.map +1 -1
  1348. package/dist/client/types/tools/ozone/signature/defs.js +5 -0
  1349. package/dist/client/types/tools/ozone/signature/defs.js.map +1 -1
  1350. package/dist/client/types/tools/ozone/signature/findCorrelation.d.ts +1 -1
  1351. package/dist/client/types/tools/ozone/signature/findCorrelation.d.ts.map +1 -1
  1352. package/dist/client/types/tools/ozone/signature/findCorrelation.js +6 -0
  1353. package/dist/client/types/tools/ozone/signature/findCorrelation.js.map +1 -1
  1354. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts +1 -1
  1355. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.d.ts.map +1 -1
  1356. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.js +6 -0
  1357. package/dist/client/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -1
  1358. package/dist/client/types/tools/ozone/signature/searchAccounts.d.ts +1 -1
  1359. package/dist/client/types/tools/ozone/signature/searchAccounts.d.ts.map +1 -1
  1360. package/dist/client/types/tools/ozone/signature/searchAccounts.js +6 -0
  1361. package/dist/client/types/tools/ozone/signature/searchAccounts.js.map +1 -1
  1362. package/dist/client/types/tools/ozone/team/addMember.d.ts +1 -1
  1363. package/dist/client/types/tools/ozone/team/addMember.d.ts.map +1 -1
  1364. package/dist/client/types/tools/ozone/team/addMember.js +2 -0
  1365. package/dist/client/types/tools/ozone/team/addMember.js.map +1 -1
  1366. package/dist/client/types/tools/ozone/team/defs.js +5 -0
  1367. package/dist/client/types/tools/ozone/team/defs.js.map +1 -1
  1368. package/dist/client/types/tools/ozone/team/deleteMember.d.ts +1 -1
  1369. package/dist/client/types/tools/ozone/team/deleteMember.d.ts.map +1 -1
  1370. package/dist/client/types/tools/ozone/team/deleteMember.js +2 -0
  1371. package/dist/client/types/tools/ozone/team/deleteMember.js.map +1 -1
  1372. package/dist/client/types/tools/ozone/team/listMembers.d.ts +1 -1
  1373. package/dist/client/types/tools/ozone/team/listMembers.d.ts.map +1 -1
  1374. package/dist/client/types/tools/ozone/team/listMembers.js +6 -0
  1375. package/dist/client/types/tools/ozone/team/listMembers.js.map +1 -1
  1376. package/dist/client/types/tools/ozone/team/updateMember.d.ts +1 -1
  1377. package/dist/client/types/tools/ozone/team/updateMember.d.ts.map +1 -1
  1378. package/dist/client/types/tools/ozone/team/updateMember.js +2 -0
  1379. package/dist/client/types/tools/ozone/team/updateMember.js.map +1 -1
  1380. package/dist/client/types/tools/ozone/verification/defs.js +5 -0
  1381. package/dist/client/types/tools/ozone/verification/defs.js.map +1 -1
  1382. package/dist/client/types/tools/ozone/verification/grantVerifications.d.ts +1 -1
  1383. package/dist/client/types/tools/ozone/verification/grantVerifications.d.ts.map +1 -1
  1384. package/dist/client/types/tools/ozone/verification/grantVerifications.js +6 -0
  1385. package/dist/client/types/tools/ozone/verification/grantVerifications.js.map +1 -1
  1386. package/dist/client/types/tools/ozone/verification/listVerifications.d.ts +1 -1
  1387. package/dist/client/types/tools/ozone/verification/listVerifications.d.ts.map +1 -1
  1388. package/dist/client/types/tools/ozone/verification/listVerifications.js +6 -0
  1389. package/dist/client/types/tools/ozone/verification/listVerifications.js.map +1 -1
  1390. package/dist/client/types/tools/ozone/verification/revokeVerifications.d.ts +1 -1
  1391. package/dist/client/types/tools/ozone/verification/revokeVerifications.d.ts.map +1 -1
  1392. package/dist/client/types/tools/ozone/verification/revokeVerifications.js +6 -0
  1393. package/dist/client/types/tools/ozone/verification/revokeVerifications.js.map +1 -1
  1394. package/dist/client/util.js +1 -0
  1395. package/dist/client/util.js.map +1 -1
  1396. package/dist/mocker.d.ts +2 -2
  1397. package/dist/mocker.d.ts.map +1 -1
  1398. package/dist/mocker.js.map +1 -1
  1399. package/dist/moderation/const/labels.d.ts +1 -1
  1400. package/dist/moderation/const/labels.d.ts.map +1 -1
  1401. package/dist/moderation/const/labels.js.map +1 -1
  1402. package/dist/moderation/decision.d.ts +3 -3
  1403. package/dist/moderation/decision.d.ts.map +1 -1
  1404. package/dist/moderation/decision.js.map +1 -1
  1405. package/dist/moderation/index.d.ts +1 -1
  1406. package/dist/moderation/index.d.ts.map +1 -1
  1407. package/dist/moderation/index.js.map +1 -1
  1408. package/dist/moderation/mutewords.d.ts +1 -1
  1409. package/dist/moderation/mutewords.d.ts.map +1 -1
  1410. package/dist/moderation/mutewords.js.map +1 -1
  1411. package/dist/moderation/subjects/account.d.ts +1 -1
  1412. package/dist/moderation/subjects/account.d.ts.map +1 -1
  1413. package/dist/moderation/subjects/account.js.map +1 -1
  1414. package/dist/moderation/subjects/feed-generator.d.ts +1 -1
  1415. package/dist/moderation/subjects/feed-generator.d.ts.map +1 -1
  1416. package/dist/moderation/subjects/feed-generator.js.map +1 -1
  1417. package/dist/moderation/subjects/notification.d.ts +1 -1
  1418. package/dist/moderation/subjects/notification.d.ts.map +1 -1
  1419. package/dist/moderation/subjects/notification.js.map +1 -1
  1420. package/dist/moderation/subjects/post.d.ts +1 -1
  1421. package/dist/moderation/subjects/post.d.ts.map +1 -1
  1422. package/dist/moderation/subjects/post.js.map +1 -1
  1423. package/dist/moderation/subjects/profile.d.ts +1 -1
  1424. package/dist/moderation/subjects/profile.d.ts.map +1 -1
  1425. package/dist/moderation/subjects/profile.js.map +1 -1
  1426. package/dist/moderation/subjects/status.d.ts +1 -1
  1427. package/dist/moderation/subjects/status.d.ts.map +1 -1
  1428. package/dist/moderation/subjects/status.js.map +1 -1
  1429. package/dist/moderation/subjects/user-list.d.ts +1 -1
  1430. package/dist/moderation/subjects/user-list.d.ts.map +1 -1
  1431. package/dist/moderation/subjects/user-list.js.map +1 -1
  1432. package/dist/moderation/types.d.ts +3 -3
  1433. package/dist/moderation/types.d.ts.map +1 -1
  1434. package/dist/moderation/types.js.map +1 -1
  1435. package/dist/moderation/ui.d.ts +1 -1
  1436. package/dist/moderation/ui.d.ts.map +1 -1
  1437. package/dist/moderation/ui.js.map +1 -1
  1438. package/dist/moderation/util.d.ts +2 -2
  1439. package/dist/moderation/util.d.ts.map +1 -1
  1440. package/dist/moderation/util.js.map +1 -1
  1441. package/dist/rich-text/detection.d.ts +2 -2
  1442. package/dist/rich-text/detection.d.ts.map +1 -1
  1443. package/dist/rich-text/detection.js.map +1 -1
  1444. package/dist/rich-text/rich-text.d.ts +1 -1
  1445. package/dist/rich-text/rich-text.d.ts.map +1 -1
  1446. package/dist/rich-text/rich-text.js.map +1 -1
  1447. package/dist/rich-text/sanitization.d.ts +1 -1
  1448. package/dist/rich-text/sanitization.d.ts.map +1 -1
  1449. package/dist/rich-text/sanitization.js.map +1 -1
  1450. package/dist/session-manager.d.ts +1 -1
  1451. package/dist/session-manager.d.ts.map +1 -1
  1452. package/dist/session-manager.js.map +1 -1
  1453. package/dist/types.d.ts +2 -2
  1454. package/dist/types.d.ts.map +1 -1
  1455. package/dist/types.js.map +1 -1
  1456. package/dist/util.d.ts +2 -2
  1457. package/dist/util.d.ts.map +1 -1
  1458. package/dist/util.js.map +1 -1
  1459. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../src/moderation/subjects/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,kBAAkB,CAChC,OAAsC,EACtC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport { ModerationOpts, ModerationSubjectNotification } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideNotification(\n subject: ModerationSubjectNotification,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n\n return ModerationDecision.merge(\n acc,\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n"]}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../src/moderation/subjects/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,kBAAkB,CAChC,OAAsC,EACtC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport type { ModerationOpts, ModerationSubjectNotification } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideNotification(\n subject: ModerationSubjectNotification,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n\n return ModerationDecision.merge(\n acc,\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ModerationDecision } from '../decision.js';
2
- import { ModerationOpts, ModerationSubjectPost } from '../types.js';
2
+ import type { ModerationOpts, ModerationSubjectPost } from '../types.js';
3
3
  export declare function decidePost(subject: ModerationSubjectPost, opts: ModerationOpts): ModerationDecision;
4
4
  //# sourceMappingURL=post.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAInE,wBAAgB,UAAU,CACxB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAOpB"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAIxE,wBAAgB,UAAU,CACxB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAOpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppBskyActorDefs,\n AppBskyEmbedExternal,\n AppBskyEmbedGallery,\n AppBskyEmbedImages,\n AppBskyEmbedRecord,\n AppBskyEmbedRecordWithMedia,\n AppBskyFeedPost,\n} from '../../client/index.js'\nimport { $Typed } from '../../client/util.js'\nimport { ModerationDecision } from '../decision.js'\nimport { MuteWordMatch, matchMuteWords } from '../mutewords.js'\nimport { ModerationOpts, ModerationSubjectPost } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decidePost(\n subject: ModerationSubjectPost,\n opts: ModerationOpts,\n): ModerationDecision {\n return ModerationDecision.merge(\n decideSubject(subject, opts),\n decideEmbed(subject.embed, opts)?.downgrade(),\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n\nfunction decideSubject(\n subject: ModerationSubjectPost,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n acc.addHidden(checkHiddenPost(subject, opts.prefs.hiddenPosts))\n if (!acc.isMe) {\n acc.addMutedWord(matchAllMuteWords(subject, opts.prefs.mutedWords))\n }\n\n return acc\n}\n\nfunction decideEmbed(\n embed:\n | undefined\n | $Typed<AppBskyEmbedRecord.View>\n | $Typed<AppBskyEmbedRecordWithMedia.View>\n | { $type: string },\n opts: ModerationOpts,\n) {\n if (embed) {\n if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewRecord(embed.record)\n ) {\n // quote post\n return decideQuotedPost(embed.record, opts)\n } else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewRecord(embed.record.record)\n ) {\n // quoted post with media\n return decideQuotedPost(embed.record.record, opts)\n } else if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewBlocked(embed.record)\n ) {\n // blocked quote post\n return decideBlockedQuotedPost(embed.record, opts)\n } else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewBlocked(embed.record.record)\n ) {\n // blocked quoted post with media\n return decideBlockedQuotedPost(embed.record.record, opts)\n }\n }\n\n return undefined\n}\n\nfunction decideQuotedPost(\n subject: AppBskyEmbedRecord.ViewRecord,\n opts: ModerationOpts,\n) {\n const acc = new ModerationDecision()\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return ModerationDecision.merge(\n acc,\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n\nfunction decideBlockedQuotedPost(\n subject: AppBskyEmbedRecord.ViewBlocked,\n opts: ModerationOpts,\n) {\n const acc = new ModerationDecision()\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.author.viewer?.muted) {\n if (subject.author.viewer?.mutedByList) {\n acc.addMutedByList(subject.author.viewer?.mutedByList)\n } else {\n acc.addMuted(subject.author.viewer?.muted)\n }\n }\n if (subject.author.viewer?.blocking) {\n if (subject.author.viewer?.blockingByList) {\n acc.addBlockingByList(subject.author.viewer?.blockingByList)\n } else {\n acc.addBlocking(subject.author.viewer?.blocking)\n }\n }\n acc.addBlockedBy(subject.author.viewer?.blockedBy)\n return acc\n}\n\nfunction checkHiddenPost(\n subject: ModerationSubjectPost,\n hiddenPosts: string[] | undefined,\n) {\n if (!hiddenPosts?.length) {\n return false\n }\n if (hiddenPosts.includes(subject.uri)) {\n return true\n }\n if (subject.embed) {\n if (\n AppBskyEmbedRecord.isView(subject.embed) &&\n AppBskyEmbedRecord.isViewRecord(subject.embed.record) &&\n hiddenPosts.includes(subject.embed.record.uri)\n ) {\n return true\n }\n if (\n AppBskyEmbedRecordWithMedia.isView(subject.embed) &&\n AppBskyEmbedRecord.isViewRecord(subject.embed.record.record) &&\n hiddenPosts.includes(subject.embed.record.record.uri)\n ) {\n return true\n }\n }\n return false\n}\n\nfunction matchAllMuteWords(\n subject: ModerationSubjectPost,\n mutedWords: AppBskyActorDefs.MutedWord[] | undefined,\n): MuteWordMatch[] | undefined {\n if (!mutedWords?.length) {\n return\n }\n\n const postAuthor = subject.author\n\n if (AppBskyFeedPost.isRecord(subject.record)) {\n const post = subject.record as AppBskyFeedPost.Record\n\n const matches = matchMuteWords({\n mutedWords,\n text: post.text,\n facets: post.facets,\n outlineTags: post.tags,\n languages: post.langs,\n actor: postAuthor,\n })\n // post text\n if (matches) {\n return matches\n }\n\n if (post.embed && AppBskyEmbedImages.isMain(post.embed)) {\n // post images\n for (const image of post.embed.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: post.langs,\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n if (post.embed && AppBskyEmbedGallery.isMain(post.embed)) {\n // post gallery items\n for (const item of post.embed.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: post.langs,\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n }\n\n const { embed } = subject\n if (embed) {\n // quote post\n if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewRecord(embed.record)\n ) {\n if (AppBskyFeedPost.isRecord(embed.record.value)) {\n const embeddedPost = embed.record.value as AppBskyFeedPost.Record\n const embedAuthor = embed.record.author\n const matches = matchMuteWords({\n mutedWords,\n text: embeddedPost.text,\n facets: embeddedPost.facets,\n outlineTags: embeddedPost.tags,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n\n // quoted post text\n if (matches) {\n return matches\n }\n\n // quoted post's images\n if (AppBskyEmbedImages.isMain(embeddedPost.embed)) {\n for (const image of embeddedPost.embed.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post's gallery\n if (AppBskyEmbedGallery.isMain(embeddedPost.embed)) {\n for (const item of embeddedPost.embed.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n\n // quoted post's link card\n if (AppBskyEmbedExternal.isMain(embeddedPost.embed)) {\n const { external } = embeddedPost.embed\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n if (AppBskyEmbedRecordWithMedia.isMain(embeddedPost.embed)) {\n // quoted post's link card when it did a quote + media\n if (AppBskyEmbedExternal.isMain(embeddedPost.embed.media)) {\n const { external } = embeddedPost.embed.media\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n // quoted post's images when it did a quote + media\n if (AppBskyEmbedImages.isMain(embeddedPost.embed.media)) {\n for (const image of embeddedPost.embed.media.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: AppBskyFeedPost.isRecord(embeddedPost.record)\n ? embeddedPost.langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post's gallery when it did a quote + media\n if (AppBskyEmbedGallery.isMain(embeddedPost.embed.media)) {\n for (const item of embeddedPost.embed.media.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: AppBskyFeedPost.isRecord(embeddedPost.record)\n ? embeddedPost.langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n }\n }\n }\n // link card\n else if (AppBskyEmbedExternal.isView(embed)) {\n const { external } = embed\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n // quote post with media\n else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewRecord(embed.record.record)\n ) {\n const embedAuthor = embed.record.record.author\n\n // quoted post text\n if (AppBskyFeedPost.isRecord(embed.record.record.value)) {\n const post = embed.record.record.value as AppBskyFeedPost.Record\n const matches = matchMuteWords({\n mutedWords,\n text: post.text,\n facets: post.facets,\n outlineTags: post.tags,\n languages: post.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n // quoted post images\n if (AppBskyEmbedImages.isView(embed.media)) {\n for (const image of embed.media.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: AppBskyFeedPost.isRecord(subject.record)\n ? (subject.record as AppBskyFeedPost.Record).langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post gallery\n if (AppBskyEmbedGallery.isView(embed.media)) {\n for (const item of embed.media.items) {\n if (AppBskyEmbedGallery.isViewImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: AppBskyFeedPost.isRecord(subject.record)\n ? (subject.record as AppBskyFeedPost.Record).langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n\n if (AppBskyEmbedExternal.isView(embed.media)) {\n const { external } = embed.media\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type AppBskyActorDefs,\n AppBskyEmbedExternal,\n AppBskyEmbedGallery,\n AppBskyEmbedImages,\n AppBskyEmbedRecord,\n AppBskyEmbedRecordWithMedia,\n AppBskyFeedPost,\n} from '../../client/index.js'\nimport type { $Typed } from '../../client/util.js'\nimport { ModerationDecision } from '../decision.js'\nimport { type MuteWordMatch, matchMuteWords } from '../mutewords.js'\nimport type { ModerationOpts, ModerationSubjectPost } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decidePost(\n subject: ModerationSubjectPost,\n opts: ModerationOpts,\n): ModerationDecision {\n return ModerationDecision.merge(\n decideSubject(subject, opts),\n decideEmbed(subject.embed, opts)?.downgrade(),\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n\nfunction decideSubject(\n subject: ModerationSubjectPost,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n acc.addHidden(checkHiddenPost(subject, opts.prefs.hiddenPosts))\n if (!acc.isMe) {\n acc.addMutedWord(matchAllMuteWords(subject, opts.prefs.mutedWords))\n }\n\n return acc\n}\n\nfunction decideEmbed(\n embed:\n | undefined\n | $Typed<AppBskyEmbedRecord.View>\n | $Typed<AppBskyEmbedRecordWithMedia.View>\n | { $type: string },\n opts: ModerationOpts,\n) {\n if (embed) {\n if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewRecord(embed.record)\n ) {\n // quote post\n return decideQuotedPost(embed.record, opts)\n } else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewRecord(embed.record.record)\n ) {\n // quoted post with media\n return decideQuotedPost(embed.record.record, opts)\n } else if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewBlocked(embed.record)\n ) {\n // blocked quote post\n return decideBlockedQuotedPost(embed.record, opts)\n } else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewBlocked(embed.record.record)\n ) {\n // blocked quoted post with media\n return decideBlockedQuotedPost(embed.record.record, opts)\n }\n }\n\n return undefined\n}\n\nfunction decideQuotedPost(\n subject: AppBskyEmbedRecord.ViewRecord,\n opts: ModerationOpts,\n) {\n const acc = new ModerationDecision()\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return ModerationDecision.merge(\n acc,\n decideAccount(subject.author, opts),\n decideProfile(subject.author, opts),\n )\n}\n\nfunction decideBlockedQuotedPost(\n subject: AppBskyEmbedRecord.ViewBlocked,\n opts: ModerationOpts,\n) {\n const acc = new ModerationDecision()\n acc.setDid(subject.author.did)\n acc.setIsMe(subject.author.did === opts.userDid)\n if (subject.author.viewer?.muted) {\n if (subject.author.viewer?.mutedByList) {\n acc.addMutedByList(subject.author.viewer?.mutedByList)\n } else {\n acc.addMuted(subject.author.viewer?.muted)\n }\n }\n if (subject.author.viewer?.blocking) {\n if (subject.author.viewer?.blockingByList) {\n acc.addBlockingByList(subject.author.viewer?.blockingByList)\n } else {\n acc.addBlocking(subject.author.viewer?.blocking)\n }\n }\n acc.addBlockedBy(subject.author.viewer?.blockedBy)\n return acc\n}\n\nfunction checkHiddenPost(\n subject: ModerationSubjectPost,\n hiddenPosts: string[] | undefined,\n) {\n if (!hiddenPosts?.length) {\n return false\n }\n if (hiddenPosts.includes(subject.uri)) {\n return true\n }\n if (subject.embed) {\n if (\n AppBskyEmbedRecord.isView(subject.embed) &&\n AppBskyEmbedRecord.isViewRecord(subject.embed.record) &&\n hiddenPosts.includes(subject.embed.record.uri)\n ) {\n return true\n }\n if (\n AppBskyEmbedRecordWithMedia.isView(subject.embed) &&\n AppBskyEmbedRecord.isViewRecord(subject.embed.record.record) &&\n hiddenPosts.includes(subject.embed.record.record.uri)\n ) {\n return true\n }\n }\n return false\n}\n\nfunction matchAllMuteWords(\n subject: ModerationSubjectPost,\n mutedWords: AppBskyActorDefs.MutedWord[] | undefined,\n): MuteWordMatch[] | undefined {\n if (!mutedWords?.length) {\n return\n }\n\n const postAuthor = subject.author\n\n if (AppBskyFeedPost.isRecord(subject.record)) {\n const post = subject.record as AppBskyFeedPost.Record\n\n const matches = matchMuteWords({\n mutedWords,\n text: post.text,\n facets: post.facets,\n outlineTags: post.tags,\n languages: post.langs,\n actor: postAuthor,\n })\n // post text\n if (matches) {\n return matches\n }\n\n if (post.embed && AppBskyEmbedImages.isMain(post.embed)) {\n // post images\n for (const image of post.embed.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: post.langs,\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n if (post.embed && AppBskyEmbedGallery.isMain(post.embed)) {\n // post gallery items\n for (const item of post.embed.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: post.langs,\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n }\n\n const { embed } = subject\n if (embed) {\n // quote post\n if (\n (AppBskyEmbedRecord.isView(embed) ||\n AppBskyEmbedRecordWithMedia.isView(embed)) &&\n AppBskyEmbedRecord.isViewRecord(embed.record)\n ) {\n if (AppBskyFeedPost.isRecord(embed.record.value)) {\n const embeddedPost = embed.record.value as AppBskyFeedPost.Record\n const embedAuthor = embed.record.author\n const matches = matchMuteWords({\n mutedWords,\n text: embeddedPost.text,\n facets: embeddedPost.facets,\n outlineTags: embeddedPost.tags,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n\n // quoted post text\n if (matches) {\n return matches\n }\n\n // quoted post's images\n if (AppBskyEmbedImages.isMain(embeddedPost.embed)) {\n for (const image of embeddedPost.embed.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post's gallery\n if (AppBskyEmbedGallery.isMain(embeddedPost.embed)) {\n for (const item of embeddedPost.embed.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: embeddedPost.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n\n // quoted post's link card\n if (AppBskyEmbedExternal.isMain(embeddedPost.embed)) {\n const { external } = embeddedPost.embed\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n if (AppBskyEmbedRecordWithMedia.isMain(embeddedPost.embed)) {\n // quoted post's link card when it did a quote + media\n if (AppBskyEmbedExternal.isMain(embeddedPost.embed.media)) {\n const { external } = embeddedPost.embed.media\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n // quoted post's images when it did a quote + media\n if (AppBskyEmbedImages.isMain(embeddedPost.embed.media)) {\n for (const image of embeddedPost.embed.media.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: AppBskyFeedPost.isRecord(embeddedPost.record)\n ? embeddedPost.langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post's gallery when it did a quote + media\n if (AppBskyEmbedGallery.isMain(embeddedPost.embed.media)) {\n for (const item of embeddedPost.embed.media.items) {\n if (AppBskyEmbedGallery.isImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: AppBskyFeedPost.isRecord(embeddedPost.record)\n ? embeddedPost.langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n }\n }\n }\n // link card\n else if (AppBskyEmbedExternal.isView(embed)) {\n const { external } = embed\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: postAuthor,\n })\n if (matches) {\n return matches\n }\n }\n // quote post with media\n else if (\n AppBskyEmbedRecordWithMedia.isView(embed) &&\n AppBskyEmbedRecord.isViewRecord(embed.record.record)\n ) {\n const embedAuthor = embed.record.record.author\n\n // quoted post text\n if (AppBskyFeedPost.isRecord(embed.record.record.value)) {\n const post = embed.record.record.value as AppBskyFeedPost.Record\n const matches = matchMuteWords({\n mutedWords,\n text: post.text,\n facets: post.facets,\n outlineTags: post.tags,\n languages: post.langs,\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n\n // quoted post images\n if (AppBskyEmbedImages.isView(embed.media)) {\n for (const image of embed.media.images) {\n const matches = matchMuteWords({\n mutedWords,\n text: image.alt,\n languages: AppBskyFeedPost.isRecord(subject.record)\n ? (subject.record as AppBskyFeedPost.Record).langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n\n // quoted post gallery\n if (AppBskyEmbedGallery.isView(embed.media)) {\n for (const item of embed.media.items) {\n if (AppBskyEmbedGallery.isViewImage(item)) {\n const matches = matchMuteWords({\n mutedWords,\n text: item.alt,\n languages: AppBskyFeedPost.isRecord(subject.record)\n ? (subject.record as AppBskyFeedPost.Record).langs\n : [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n\n if (AppBskyEmbedExternal.isView(embed.media)) {\n const { external } = embed.media\n const matches = matchMuteWords({\n mutedWords,\n text: external.title + ' ' + external.description,\n languages: [],\n actor: embedAuthor,\n })\n if (matches) {\n return matches\n }\n }\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ModerationDecision } from '../decision.js';
2
- import { Label, ModerationOpts, ModerationSubjectProfile } from '../types.js';
2
+ import type { Label, ModerationOpts, ModerationSubjectProfile } from '../types.js';
3
3
  export declare function decideProfile(subject: ModerationSubjectProfile, opts: ModerationOpts): ModerationDecision;
4
4
  export declare function filterProfileLabels(labels?: Label[]): Label[];
5
5
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE7E,wBAAgB,aAAa,CAC3B,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAO7D"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAEpB,wBAAgB,aAAa,CAC3B,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAO7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/moderation/subjects/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,MAAM,UAAU,aAAa,CAC3B,OAAiC,EACjC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CACnD,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport { Label, ModerationOpts, ModerationSubjectProfile } from '../types.js'\n\nexport function decideProfile(\n subject: ModerationSubjectProfile,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.did)\n acc.setIsMe(subject.did === opts.userDid)\n for (const label of filterProfileLabels(subject.labels)) {\n acc.addLabel('profile', label, opts)\n }\n\n return acc\n}\n\nexport function filterProfileLabels(labels?: Label[]): Label[] {\n if (!labels) {\n return []\n }\n return labels.filter((label) =>\n label.uri.endsWith('/app.bsky.actor.profile/self'),\n )\n}\n"]}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/moderation/subjects/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAOnD,MAAM,UAAU,aAAa,CAC3B,OAAiC,EACjC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAgB;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CACnD,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport type {\n Label,\n ModerationOpts,\n ModerationSubjectProfile,\n} from '../types.js'\n\nexport function decideProfile(\n subject: ModerationSubjectProfile,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.did)\n acc.setIsMe(subject.did === opts.userDid)\n for (const label of filterProfileLabels(subject.labels)) {\n acc.addLabel('profile', label, opts)\n }\n\n return acc\n}\n\nexport function filterProfileLabels(labels?: Label[]): Label[] {\n if (!labels) {\n return []\n }\n return labels.filter((label) =>\n label.uri.endsWith('/app.bsky.actor.profile/self'),\n )\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ModerationDecision } from '../decision.js';
2
- import { ModerationOpts, ModerationSubjectProfile } from '../types.js';
2
+ import type { ModerationOpts, ModerationSubjectProfile } from '../types.js';
3
3
  export declare function decideStatus(subject: ModerationSubjectProfile, opts: ModerationOpts): ModerationDecision;
4
4
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAItE,wBAAgB,YAAY,CAC1B,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAkBpB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAI3E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAkBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/moderation/subjects/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,YAAY,CAC1B,OAAiC,EACjC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC1C,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAC7B,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport { ModerationOpts, ModerationSubjectProfile } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideStatus(\n subject: ModerationSubjectProfile,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.did)\n acc.setIsMe(subject.did === opts.userDid)\n if ('status' in subject) {\n if (subject.status?.labels?.length) {\n for (const label of subject.status.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n }\n\n return ModerationDecision.merge(\n acc,\n decideAccount(subject, opts),\n decideProfile(subject, opts),\n )\n}\n"]}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/moderation/subjects/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,YAAY,CAC1B,OAAiC,EACjC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC1C,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAC7B,CAAA;AACH,CAAC","sourcesContent":["import { ModerationDecision } from '../decision.js'\nimport type { ModerationOpts, ModerationSubjectProfile } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideStatus(\n subject: ModerationSubjectProfile,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n acc.setDid(subject.did)\n acc.setIsMe(subject.did === opts.userDid)\n if ('status' in subject) {\n if (subject.status?.labels?.length) {\n for (const label of subject.status.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n }\n\n return ModerationDecision.merge(\n acc,\n decideAccount(subject, opts),\n decideProfile(subject, opts),\n )\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ModerationDecision } from '../decision.js';
2
- import { ModerationOpts, ModerationSubjectUserList } from '../types.js';
2
+ import type { ModerationOpts, ModerationSubjectUserList } from '../types.js';
3
3
  export declare function decideUserList(subject: ModerationSubjectUserList, opts: ModerationOpts): ModerationDecision;
4
4
  //# sourceMappingURL=user-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-list.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/user-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAIvE,wBAAgB,cAAc,CAC5B,OAAO,EAAE,yBAAyB,EAClC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAiCpB"}
1
+ {"version":3,"file":"user-list.d.ts","sourceRoot":"","sources":["../../../src/moderation/subjects/user-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAI5E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,yBAAyB,EAClC,IAAI,EAAE,cAAc,GACnB,kBAAkB,CAiCpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-list.js","sourceRoot":"","sources":["../../../src/moderation/subjects/user-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,cAAc,CAC5B,OAAkC,EAClC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,MAAM,OAAO;IACX,sFAAsF;IACtF,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAChD,CAAC,CAAC,OAAO,CAAC,OAAO;QACjB,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAC7B,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IAClD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACtB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,CAAM;IACvB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import { AtUri } from '@atproto/syntax'\nimport { AppBskyActorDefs } from '../../client/index.js'\nimport { ModerationDecision } from '../decision.js'\nimport { ModerationOpts, ModerationSubjectUserList } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideUserList(\n subject: ModerationSubjectUserList,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n const creator =\n // Note: ListViewBasic should not contain a creator field, but let's support it anyway\n 'creator' in subject && isProfile(subject.creator)\n ? subject.creator\n : undefined\n\n if (creator) {\n acc.setDid(creator.did)\n acc.setIsMe(creator.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return ModerationDecision.merge(\n acc,\n decideAccount(creator, opts),\n decideProfile(creator, opts),\n )\n }\n\n const creatorDid = new AtUri(subject.uri).hostname\n acc.setDid(creatorDid)\n acc.setIsMe(creatorDid === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return acc\n}\n\nfunction isProfile(v: any): v is AppBskyActorDefs.ProfileViewBasic {\n return v && typeof v === 'object' && 'did' in v\n}\n"]}
1
+ {"version":3,"file":"user-list.js","sourceRoot":"","sources":["../../../src/moderation/subjects/user-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,UAAU,cAAc,CAC5B,OAAkC,EAClC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEpC,MAAM,OAAO;IACX,sFAAsF;IACtF,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAChD,CAAC,CAAC,OAAO,CAAC,OAAO;QACjB,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAC7B,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IAClD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACtB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,CAAM;IACvB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import { AtUri } from '@atproto/syntax'\nimport type { AppBskyActorDefs } from '../../client/index.js'\nimport { ModerationDecision } from '../decision.js'\nimport type { ModerationOpts, ModerationSubjectUserList } from '../types.js'\nimport { decideAccount } from './account.js'\nimport { decideProfile } from './profile.js'\n\nexport function decideUserList(\n subject: ModerationSubjectUserList,\n opts: ModerationOpts,\n): ModerationDecision {\n const acc = new ModerationDecision()\n\n const creator =\n // Note: ListViewBasic should not contain a creator field, but let's support it anyway\n 'creator' in subject && isProfile(subject.creator)\n ? subject.creator\n : undefined\n\n if (creator) {\n acc.setDid(creator.did)\n acc.setIsMe(creator.did === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return ModerationDecision.merge(\n acc,\n decideAccount(creator, opts),\n decideProfile(creator, opts),\n )\n }\n\n const creatorDid = new AtUri(subject.uri).hostname\n acc.setDid(creatorDid)\n acc.setIsMe(creatorDid === opts.userDid)\n if (subject.labels?.length) {\n for (const label of subject.labels) {\n acc.addLabel('content', label, opts)\n }\n }\n return acc\n}\n\nfunction isProfile(v: any): v is AppBskyActorDefs.ProfileViewBasic {\n return v && typeof v === 'object' && 'did' in v\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphDefs, AppBskyNotificationListNotifications, ChatBskyActorDefs, ComAtprotoLabelDefs } from '../client/index.js';
2
- import { KnownLabelValue } from './const/labels.js';
3
- import { MuteWordMatch } from './mutewords.js';
1
+ import type { AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphDefs, AppBskyNotificationListNotifications, ChatBskyActorDefs, ComAtprotoLabelDefs } from '../client/index.js';
2
+ import type { KnownLabelValue } from './const/labels.js';
3
+ import type { MuteWordMatch } from './mutewords.js';
4
4
  export declare const CUSTOM_LABEL_VALUE_RE: RegExp;
5
5
  export interface ModerationBehavior {
6
6
  profileList?: 'blur' | 'alert' | 'inform';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oCAAoC,EACpC,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,eAAO,MAAM,qBAAqB,QAAc,CAAA;AAKhD,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AACD,eAAO,MAAM,cAAc,EAAE,kBAO5B,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,kBAK3B,CAAA;AACD,eAAO,MAAM,iBAAiB,EAAE,kBAG/B,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,kBAG3B,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,kBAAuB,CAAA;AAKnD,MAAM,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAC7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAC3D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,OAAO,GACP,UAAU,GACV,SAAS,CAAA;AAEb,MAAM,WAAW,+BACf,SAAQ,mBAAmB,CAAC,oBAAoB;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,eAAe,CAAA;IAC/B,KAAK,EAAE,wBAAwB,EAAE,CAAA;IACjC,SAAS,EAAE;QACT,OAAO,CAAC,EAAE,kBAAkB,CAAA;QAC5B,OAAO,CAAC,EAAE,kBAAkB,CAAA;QAC5B,OAAO,CAAC,EAAE,kBAAkB,CAAA;KAC7B,CAAA;CACF;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC,eAAe,EACf,+BAA+B,CAChC,CAAA;AAKD,MAAM,MAAM,wBAAwB,GAChC,gBAAgB,CAAC,gBAAgB,GACjC,gBAAgB,CAAC,WAAW,GAC5B,gBAAgB,CAAC,mBAAmB,GACpC,iBAAiB,CAAC,gBAAgB,CAAA;AAEtC,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,QAAQ,CAAA;AAE5D,MAAM,MAAM,6BAA6B,GACvC,oCAAoC,CAAC,YAAY,CAAA;AAEnD,MAAM,MAAM,8BAA8B,GAAG,eAAe,CAAC,aAAa,CAAA;AAE1E,MAAM,MAAM,yBAAyB,GACjC,gBAAgB,CAAC,aAAa,GAC9B,gBAAgB,CAAC,QAAQ,CAAA;AAE7B,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,6BAA6B,GAC7B,8BAA8B,GAC9B,yBAAyB,CAAA;AAK7B,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpC,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACD;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,+BAA+B,CAAA;IACzC,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,qBAAqB,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAEL,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACvC,QAAQ,EAAE,sBAAsB,EAAE,CAAA;IAClC,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAA;IACxC,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,EAAE,eAAe,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAA;CAC9D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"AAWA,SAAS;AACT,IAAI;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAA;AAehD,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,QAAQ;CACtB,CAAA;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB,EAAE,CAAA","sourcesContent":["import {\n AppBskyActorDefs,\n AppBskyFeedDefs,\n AppBskyGraphDefs,\n AppBskyNotificationListNotifications,\n ChatBskyActorDefs,\n ComAtprotoLabelDefs,\n} from '../client/index.js'\nimport { KnownLabelValue } from './const/labels.js'\nimport { MuteWordMatch } from './mutewords.js'\n\n// syntax\n// =\n\nexport const CUSTOM_LABEL_VALUE_RE = /^[a-z-]+$/\n\n// behaviors\n// =\n\nexport interface ModerationBehavior {\n profileList?: 'blur' | 'alert' | 'inform'\n profileView?: 'blur' | 'alert' | 'inform'\n avatar?: 'blur' | 'alert'\n banner?: 'blur'\n displayName?: 'blur'\n contentList?: 'blur' | 'alert' | 'inform'\n contentView?: 'blur' | 'alert' | 'inform'\n contentMedia?: 'blur'\n}\nexport const BLOCK_BEHAVIOR: ModerationBehavior = {\n profileList: 'blur',\n profileView: 'alert',\n avatar: 'blur',\n banner: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const MUTE_BEHAVIOR: ModerationBehavior = {\n profileList: 'inform',\n profileView: 'alert',\n contentList: 'blur',\n contentView: 'inform',\n}\nexport const MUTEWORD_BEHAVIOR: ModerationBehavior = {\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const HIDE_BEHAVIOR: ModerationBehavior = {\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const NOOP_BEHAVIOR: ModerationBehavior = {}\n\n// labels\n// =\n\nexport type Label = ComAtprotoLabelDefs.Label\nexport type LabelTarget = 'account' | 'profile' | 'content'\nexport type LabelPreference = 'ignore' | 'warn' | 'hide'\n\nexport type LabelValueDefinitionFlag =\n | 'no-override'\n | 'adult'\n | 'unauthed'\n | 'no-self'\n\nexport interface InterpretedLabelValueDefinition\n extends ComAtprotoLabelDefs.LabelValueDefinition {\n definedBy?: string | undefined // did of labeler or undefined for global\n configurable: boolean\n defaultSetting: LabelPreference // type narrowing\n flags: LabelValueDefinitionFlag[]\n behaviors: {\n account?: ModerationBehavior\n profile?: ModerationBehavior\n content?: ModerationBehavior\n }\n}\n\nexport type LabelDefinitionMap = Record<\n KnownLabelValue,\n InterpretedLabelValueDefinition\n>\n\n// subjects\n// =\n\nexport type ModerationSubjectProfile =\n | AppBskyActorDefs.ProfileViewBasic\n | AppBskyActorDefs.ProfileView\n | AppBskyActorDefs.ProfileViewDetailed\n | ChatBskyActorDefs.ProfileViewBasic\n\nexport type ModerationSubjectPost = AppBskyFeedDefs.PostView\n\nexport type ModerationSubjectNotification =\n AppBskyNotificationListNotifications.Notification\n\nexport type ModerationSubjectFeedGenerator = AppBskyFeedDefs.GeneratorView\n\nexport type ModerationSubjectUserList =\n | AppBskyGraphDefs.ListViewBasic\n | AppBskyGraphDefs.ListView\n\nexport type ModerationSubject =\n | ModerationSubjectProfile\n | ModerationSubjectPost\n | ModerationSubjectNotification\n | ModerationSubjectFeedGenerator\n | ModerationSubjectUserList\n\n// behaviors\n// =\n\nexport type ModerationCauseSource =\n | { type: 'user' }\n | { type: 'list'; list: AppBskyGraphDefs.ListViewBasic }\n | { type: 'labeler'; did: string }\n\nexport type ModerationCause =\n | {\n type: 'blocking'\n source: ModerationCauseSource\n priority: 3\n downgraded?: boolean\n }\n | {\n type: 'blocked-by'\n source: ModerationCauseSource\n priority: 4\n downgraded?: boolean\n }\n | {\n type: 'block-other'\n source: ModerationCauseSource\n priority: 4\n downgraded?: boolean\n }\n | {\n type: 'label'\n source: ModerationCauseSource\n label: Label\n labelDef: InterpretedLabelValueDefinition\n target: LabelTarget\n setting: LabelPreference\n behavior: ModerationBehavior\n noOverride: boolean\n priority: 1 | 2 | 5 | 7 | 8\n downgraded?: boolean\n }\n | {\n type: 'muted'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n }\n | {\n type: 'mute-word'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n matches: MuteWordMatch[]\n }\n | {\n type: 'hidden'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n }\n\nexport interface ModerationPrefsLabeler {\n did: string\n labels: Record<string, LabelPreference>\n}\n\nexport interface ModerationPrefs {\n adultContentEnabled: boolean\n labels: Record<string, LabelPreference>\n labelers: ModerationPrefsLabeler[]\n mutedWords: AppBskyActorDefs.MutedWord[]\n hiddenPosts: string[]\n}\n\nexport interface ModerationOpts {\n userDid: string | undefined\n prefs: ModerationPrefs\n /**\n * Map of labeler did -> custom definitions\n */\n labelDefs?: Record<string, InterpretedLabelValueDefinition[]>\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"AAWA,SAAS;AACT,IAAI;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAA;AAehD,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,QAAQ;CACtB,CAAA;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAuB,EAAE,CAAA","sourcesContent":["import type {\n AppBskyActorDefs,\n AppBskyFeedDefs,\n AppBskyGraphDefs,\n AppBskyNotificationListNotifications,\n ChatBskyActorDefs,\n ComAtprotoLabelDefs,\n} from '../client/index.js'\nimport type { KnownLabelValue } from './const/labels.js'\nimport type { MuteWordMatch } from './mutewords.js'\n\n// syntax\n// =\n\nexport const CUSTOM_LABEL_VALUE_RE = /^[a-z-]+$/\n\n// behaviors\n// =\n\nexport interface ModerationBehavior {\n profileList?: 'blur' | 'alert' | 'inform'\n profileView?: 'blur' | 'alert' | 'inform'\n avatar?: 'blur' | 'alert'\n banner?: 'blur'\n displayName?: 'blur'\n contentList?: 'blur' | 'alert' | 'inform'\n contentView?: 'blur' | 'alert' | 'inform'\n contentMedia?: 'blur'\n}\nexport const BLOCK_BEHAVIOR: ModerationBehavior = {\n profileList: 'blur',\n profileView: 'alert',\n avatar: 'blur',\n banner: 'blur',\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const MUTE_BEHAVIOR: ModerationBehavior = {\n profileList: 'inform',\n profileView: 'alert',\n contentList: 'blur',\n contentView: 'inform',\n}\nexport const MUTEWORD_BEHAVIOR: ModerationBehavior = {\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const HIDE_BEHAVIOR: ModerationBehavior = {\n contentList: 'blur',\n contentView: 'blur',\n}\nexport const NOOP_BEHAVIOR: ModerationBehavior = {}\n\n// labels\n// =\n\nexport type Label = ComAtprotoLabelDefs.Label\nexport type LabelTarget = 'account' | 'profile' | 'content'\nexport type LabelPreference = 'ignore' | 'warn' | 'hide'\n\nexport type LabelValueDefinitionFlag =\n | 'no-override'\n | 'adult'\n | 'unauthed'\n | 'no-self'\n\nexport interface InterpretedLabelValueDefinition\n extends ComAtprotoLabelDefs.LabelValueDefinition {\n definedBy?: string | undefined // did of labeler or undefined for global\n configurable: boolean\n defaultSetting: LabelPreference // type narrowing\n flags: LabelValueDefinitionFlag[]\n behaviors: {\n account?: ModerationBehavior\n profile?: ModerationBehavior\n content?: ModerationBehavior\n }\n}\n\nexport type LabelDefinitionMap = Record<\n KnownLabelValue,\n InterpretedLabelValueDefinition\n>\n\n// subjects\n// =\n\nexport type ModerationSubjectProfile =\n | AppBskyActorDefs.ProfileViewBasic\n | AppBskyActorDefs.ProfileView\n | AppBskyActorDefs.ProfileViewDetailed\n | ChatBskyActorDefs.ProfileViewBasic\n\nexport type ModerationSubjectPost = AppBskyFeedDefs.PostView\n\nexport type ModerationSubjectNotification =\n AppBskyNotificationListNotifications.Notification\n\nexport type ModerationSubjectFeedGenerator = AppBskyFeedDefs.GeneratorView\n\nexport type ModerationSubjectUserList =\n | AppBskyGraphDefs.ListViewBasic\n | AppBskyGraphDefs.ListView\n\nexport type ModerationSubject =\n | ModerationSubjectProfile\n | ModerationSubjectPost\n | ModerationSubjectNotification\n | ModerationSubjectFeedGenerator\n | ModerationSubjectUserList\n\n// behaviors\n// =\n\nexport type ModerationCauseSource =\n | { type: 'user' }\n | { type: 'list'; list: AppBskyGraphDefs.ListViewBasic }\n | { type: 'labeler'; did: string }\n\nexport type ModerationCause =\n | {\n type: 'blocking'\n source: ModerationCauseSource\n priority: 3\n downgraded?: boolean\n }\n | {\n type: 'blocked-by'\n source: ModerationCauseSource\n priority: 4\n downgraded?: boolean\n }\n | {\n type: 'block-other'\n source: ModerationCauseSource\n priority: 4\n downgraded?: boolean\n }\n | {\n type: 'label'\n source: ModerationCauseSource\n label: Label\n labelDef: InterpretedLabelValueDefinition\n target: LabelTarget\n setting: LabelPreference\n behavior: ModerationBehavior\n noOverride: boolean\n priority: 1 | 2 | 5 | 7 | 8\n downgraded?: boolean\n }\n | {\n type: 'muted'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n }\n | {\n type: 'mute-word'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n matches: MuteWordMatch[]\n }\n | {\n type: 'hidden'\n source: ModerationCauseSource\n priority: 6\n downgraded?: boolean\n }\n\nexport interface ModerationPrefsLabeler {\n did: string\n labels: Record<string, LabelPreference>\n}\n\nexport interface ModerationPrefs {\n adultContentEnabled: boolean\n labels: Record<string, LabelPreference>\n labelers: ModerationPrefsLabeler[]\n mutedWords: AppBskyActorDefs.MutedWord[]\n hiddenPosts: string[]\n}\n\nexport interface ModerationOpts {\n userDid: string | undefined\n prefs: ModerationPrefs\n /**\n * Map of labeler did -> custom definitions\n */\n labelDefs?: Record<string, InterpretedLabelValueDefinition[]>\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ModerationCause } from './types.js';
1
+ import type { ModerationCause } from './types.js';
2
2
  export declare class ModerationUI {
3
3
  noOverride: boolean;
4
4
  filters: ModerationCause[];
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/moderation/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,qBAAa,YAAY;IACvB,UAAU,UAAQ;IAClB,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,KAAK,EAAE,eAAe,EAAE,CAAK;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAK;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,IAAI,MAAM,IAAI,OAAO,CAEpB;IACD,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/moderation/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,qBAAa,YAAY;IACvB,UAAU,UAAQ;IAClB,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,KAAK,EAAE,eAAe,EAAE,CAAK;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAK;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,IAAI,MAAM,IAAI,OAAO,CAEpB;IACD,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/moderation/ui.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACE,eAAU,GAAG,KAAK,CAAA;QAClB,YAAO,GAAsB,EAAE,CAAA;QAC/B,UAAK,GAAsB,EAAE,CAAA;QAC7B,WAAM,GAAsB,EAAE,CAAA;QAC9B,YAAO,GAAsB,EAAE,CAAA;IAajC,CAAC;IAZC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;CACF","sourcesContent":["import { ModerationCause } from './types.js'\n\nexport class ModerationUI {\n noOverride = false\n filters: ModerationCause[] = []\n blurs: ModerationCause[] = []\n alerts: ModerationCause[] = []\n informs: ModerationCause[] = []\n get filter(): boolean {\n return this.filters.length !== 0\n }\n get blur(): boolean {\n return this.blurs.length !== 0\n }\n get alert(): boolean {\n return this.alerts.length !== 0\n }\n get inform(): boolean {\n return this.informs.length !== 0\n }\n}\n"]}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/moderation/ui.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACE,eAAU,GAAG,KAAK,CAAA;QAClB,YAAO,GAAsB,EAAE,CAAA;QAC/B,UAAK,GAAsB,EAAE,CAAA;QAC7B,WAAM,GAAsB,EAAE,CAAA;QAC9B,YAAO,GAAsB,EAAE,CAAA;IAajC,CAAC;IAZC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;CACF","sourcesContent":["import type { ModerationCause } from './types.js'\n\nexport class ModerationUI {\n noOverride = false\n filters: ModerationCause[] = []\n blurs: ModerationCause[] = []\n alerts: ModerationCause[] = []\n informs: ModerationCause[] = []\n get filter(): boolean {\n return this.filters.length !== 0\n }\n get blur(): boolean {\n return this.blurs.length !== 0\n }\n get alert(): boolean {\n return this.alerts.length !== 0\n }\n get inform(): boolean {\n return this.informs.length !== 0\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { AppBskyEmbedRecord, AppBskyEmbedRecordWithMedia, AppBskyLabelerDefs, ComAtprotoLabelDefs } from '../client/index.js';
2
- import { InterpretedLabelValueDefinition } from './types.js';
1
+ import { AppBskyEmbedRecord, AppBskyEmbedRecordWithMedia, type AppBskyLabelerDefs, ComAtprotoLabelDefs } from '../client/index.js';
2
+ import type { InterpretedLabelValueDefinition } from './types.js';
3
3
  export declare function isQuotedPost(embed: unknown): embed is AppBskyEmbedRecord.View;
4
4
  export declare function isQuotedPostWithMedia(embed: unknown): embed is AppBskyEmbedRecordWithMedia.View;
5
5
  export declare function interpretLabelValueDefinition(def: ComAtprotoLabelDefs.LabelValueDefinition, definedBy: string | undefined): InterpretedLabelValueDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/moderation/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,+BAA+B,EAIhC,MAAM,YAAY,CAAA;AAEnB,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAE7E;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,2BAA2B,CAAC,IAAI,CAE3C;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,mBAAmB,CAAC,oBAAoB,EAC7C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,+BAA+B,CAyEjC;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,kBAAkB,CAAC,mBAAmB,GAClD,+BAA+B,EAAE,CAMnC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/moderation/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EACV,+BAA+B,EAIhC,MAAM,YAAY,CAAA;AAEnB,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAE7E;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,2BAA2B,CAAC,IAAI,CAE3C;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,mBAAmB,CAAC,oBAAoB,EAC7C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,+BAA+B,CAyEjC;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,kBAAkB,CAAC,mBAAmB,GAClD,+BAA+B,EAAE,CAMnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/moderation/util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppBskyEmbedRecord,\n AppBskyEmbedRecordWithMedia,\n AppBskyLabelerDefs,\n ComAtprotoLabelDefs,\n} from '../client/index.js'\nimport { asPredicate } from '../client/util.js'\nimport {\n InterpretedLabelValueDefinition,\n LabelPreference,\n LabelValueDefinitionFlag,\n ModerationBehavior,\n} from './types.js'\n\nexport function isQuotedPost(embed: unknown): embed is AppBskyEmbedRecord.View {\n return Boolean(embed && AppBskyEmbedRecord.isView(embed))\n}\n\nexport function isQuotedPostWithMedia(\n embed: unknown,\n): embed is AppBskyEmbedRecordWithMedia.View {\n return Boolean(embed && AppBskyEmbedRecordWithMedia.isView(embed))\n}\n\nexport function interpretLabelValueDefinition(\n def: ComAtprotoLabelDefs.LabelValueDefinition,\n definedBy: string | undefined,\n): InterpretedLabelValueDefinition {\n const behaviors: {\n account: ModerationBehavior\n profile: ModerationBehavior\n content: ModerationBehavior\n } = {\n account: {},\n profile: {},\n content: {},\n }\n const alertOrInform: 'alert' | 'inform' | undefined =\n def.severity === 'alert'\n ? 'alert'\n : def.severity === 'inform'\n ? 'inform'\n : undefined\n if (def.blurs === 'content') {\n // target=account, blurs=content\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.contentList = 'blur'\n behaviors.account.contentView = def.adultOnly ? 'blur' : alertOrInform\n // target=profile, blurs=content\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n // target=content, blurs=content\n behaviors.content.contentList = 'blur'\n behaviors.content.contentView = def.adultOnly ? 'blur' : alertOrInform\n } else if (def.blurs === 'media') {\n // target=account, blurs=media\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.avatar = 'blur'\n behaviors.account.banner = 'blur'\n // target=profile, blurs=media\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n behaviors.profile.avatar = 'blur'\n behaviors.profile.banner = 'blur'\n // target=content, blurs=media\n behaviors.content.contentMedia = 'blur'\n } else if (def.blurs === 'none') {\n // target=account, blurs=none\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.contentList = alertOrInform\n behaviors.account.contentView = alertOrInform\n // target=profile, blurs=none\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n // target=content, blurs=none\n behaviors.content.contentList = alertOrInform\n behaviors.content.contentView = alertOrInform\n }\n\n let defaultSetting: LabelPreference = 'warn'\n if (def.defaultSetting === 'hide' || def.defaultSetting === 'ignore') {\n defaultSetting = def.defaultSetting as LabelPreference\n }\n\n const flags: LabelValueDefinitionFlag[] = ['no-self']\n if (def.adultOnly) {\n flags.push('adult')\n }\n\n return {\n ...def,\n definedBy,\n configurable: true,\n defaultSetting,\n flags,\n behaviors,\n }\n}\n\nexport function interpretLabelValueDefinitions(\n labelerView: AppBskyLabelerDefs.LabelerViewDetailed,\n): InterpretedLabelValueDefinition[] {\n return (labelerView.policies?.labelValueDefinitions || [])\n .filter(asPredicate(ComAtprotoLabelDefs.validateLabelValueDefinition))\n .map((labelValDef) =>\n interpretLabelValueDefinition(labelValDef, labelerView.creator.did),\n )\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/moderation/util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppBskyEmbedRecord,\n AppBskyEmbedRecordWithMedia,\n type AppBskyLabelerDefs,\n ComAtprotoLabelDefs,\n} from '../client/index.js'\nimport { asPredicate } from '../client/util.js'\nimport type {\n InterpretedLabelValueDefinition,\n LabelPreference,\n LabelValueDefinitionFlag,\n ModerationBehavior,\n} from './types.js'\n\nexport function isQuotedPost(embed: unknown): embed is AppBskyEmbedRecord.View {\n return Boolean(embed && AppBskyEmbedRecord.isView(embed))\n}\n\nexport function isQuotedPostWithMedia(\n embed: unknown,\n): embed is AppBskyEmbedRecordWithMedia.View {\n return Boolean(embed && AppBskyEmbedRecordWithMedia.isView(embed))\n}\n\nexport function interpretLabelValueDefinition(\n def: ComAtprotoLabelDefs.LabelValueDefinition,\n definedBy: string | undefined,\n): InterpretedLabelValueDefinition {\n const behaviors: {\n account: ModerationBehavior\n profile: ModerationBehavior\n content: ModerationBehavior\n } = {\n account: {},\n profile: {},\n content: {},\n }\n const alertOrInform: 'alert' | 'inform' | undefined =\n def.severity === 'alert'\n ? 'alert'\n : def.severity === 'inform'\n ? 'inform'\n : undefined\n if (def.blurs === 'content') {\n // target=account, blurs=content\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.contentList = 'blur'\n behaviors.account.contentView = def.adultOnly ? 'blur' : alertOrInform\n // target=profile, blurs=content\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n // target=content, blurs=content\n behaviors.content.contentList = 'blur'\n behaviors.content.contentView = def.adultOnly ? 'blur' : alertOrInform\n } else if (def.blurs === 'media') {\n // target=account, blurs=media\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.avatar = 'blur'\n behaviors.account.banner = 'blur'\n // target=profile, blurs=media\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n behaviors.profile.avatar = 'blur'\n behaviors.profile.banner = 'blur'\n // target=content, blurs=media\n behaviors.content.contentMedia = 'blur'\n } else if (def.blurs === 'none') {\n // target=account, blurs=none\n behaviors.account.profileList = alertOrInform\n behaviors.account.profileView = alertOrInform\n behaviors.account.contentList = alertOrInform\n behaviors.account.contentView = alertOrInform\n // target=profile, blurs=none\n behaviors.profile.profileList = alertOrInform\n behaviors.profile.profileView = alertOrInform\n // target=content, blurs=none\n behaviors.content.contentList = alertOrInform\n behaviors.content.contentView = alertOrInform\n }\n\n let defaultSetting: LabelPreference = 'warn'\n if (def.defaultSetting === 'hide' || def.defaultSetting === 'ignore') {\n defaultSetting = def.defaultSetting as LabelPreference\n }\n\n const flags: LabelValueDefinitionFlag[] = ['no-self']\n if (def.adultOnly) {\n flags.push('adult')\n }\n\n return {\n ...def,\n definedBy,\n configurable: true,\n defaultSetting,\n flags,\n behaviors,\n }\n}\n\nexport function interpretLabelValueDefinitions(\n labelerView: AppBskyLabelerDefs.LabelerViewDetailed,\n): InterpretedLabelValueDefinition[] {\n return (labelerView.policies?.labelValueDefinitions || [])\n .filter(asPredicate(ComAtprotoLabelDefs.validateLabelValueDefinition))\n .map((labelValDef) =>\n interpretLabelValueDefinition(labelValDef, labelerView.creator.did),\n )\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { AppBskyRichtextFacet } from '../client/index.js';
2
- import { UnicodeString } from './unicode.js';
1
+ import type { AppBskyRichtextFacet } from '../client/index.js';
2
+ import type { UnicodeString } from './unicode.js';
3
3
  export type Facet = AppBskyRichtextFacet.Main;
4
4
  export declare function detectFacets(text: UnicodeString): Facet[] | undefined;
5
5
  //# sourceMappingURL=detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/rich-text/detection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAS5C,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAE7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,SAAS,CA6HrE"}
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/rich-text/detection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AASjD,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAE7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,SAAS,CA6HrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/rich-text/detection.ts"],"names":[],"mappings":"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","sourcesContent":["import TLDs from 'tlds' with { type: 'json' }\nimport { graphemeLen } from '@atproto/common-web'\nimport { AppBskyRichtextFacet } from '../client/index.js'\nimport { UnicodeString } from './unicode.js'\nimport {\n CASHTAG_REGEX,\n MENTION_REGEX,\n TAG_REGEX,\n TRAILING_PUNCTUATION_REGEX,\n URL_REGEX,\n} from './util.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\n\nexport function detectFacets(text: UnicodeString): Facet[] | undefined {\n let match\n const facets: Facet[] = []\n {\n // mentions\n const re = MENTION_REGEX\n while ((match = re.exec(text.utf16))) {\n if (!isValidDomain(match[3]) && !match[3].endsWith('.test')) {\n continue // probably not a handle\n }\n\n const start = text.utf16.indexOf(match[3], match.index) - 1\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(start),\n byteEnd: text.utf16IndexToUtf8Index(start + match[3].length + 1),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#mention',\n did: match[3], // must be resolved afterwards\n },\n ],\n })\n }\n }\n {\n // links\n const re = URL_REGEX\n while ((match = re.exec(text.utf16))) {\n let uri = match[2]\n if (!uri.startsWith('http')) {\n const domain = match.groups?.domain\n if (!domain || !isValidDomain(domain)) {\n continue\n }\n uri = `https://${uri}`\n }\n const start = text.utf16.indexOf(match[2], match.index)\n const index = { start, end: start + match[2].length }\n // strip ending puncuation\n if (/[.,;:!?]$/.test(uri)) {\n uri = uri.slice(0, -1)\n index.end--\n }\n if (/[)]$/.test(uri) && !uri.includes('(')) {\n uri = uri.slice(0, -1)\n index.end--\n }\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index.start),\n byteEnd: text.utf16IndexToUtf8Index(index.end),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#link',\n uri,\n },\n ],\n })\n }\n }\n {\n const re = TAG_REGEX\n while ((match = re.exec(text.utf16))) {\n const leading = match[1]\n let tag = match[2]\n\n if (!tag) continue\n\n // strip ending punctuation and any spaces\n tag = tag.trim().replace(TRAILING_PUNCTUATION_REGEX, '')\n\n // tag.length (UTF-16) is always >= graphemeLen(tag), so only pay for\n // the grapheme count when the UTF-16 length already exceeds the limit.\n if (tag.length === 0 || (tag.length > 64 && graphemeLen(tag) > 64))\n continue\n\n const index = match.index + leading.length\n\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index),\n byteEnd: text.utf16IndexToUtf8Index(index + 1 + tag.length),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#tag',\n tag: tag,\n },\n ],\n })\n }\n }\n {\n // cashtags\n const re = CASHTAG_REGEX\n while ((match = re.exec(text.utf16))) {\n const leading = match[1]\n let ticker = match[2]\n\n if (!ticker) continue\n\n // Normalize to uppercase\n ticker = ticker.toUpperCase()\n\n const index = match.index + leading.length\n\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index),\n byteEnd: text.utf16IndexToUtf8Index(index + 1 + ticker.length), // +1 for $\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#tag',\n tag: '$' + ticker, // Store with $ prefix\n },\n ],\n })\n }\n }\n return facets.length > 0 ? facets : undefined\n}\n\nfunction isValidDomain(str: string): boolean {\n return !!TLDs.find((tld) => {\n const i = str.lastIndexOf(tld)\n if (i === -1) {\n return false\n }\n return str.charAt(i - 1) === '.' && i === str.length - tld.length\n })\n}\n"]}
1
+ {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/rich-text/detection.ts"],"names":[],"mappings":"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","sourcesContent":["import TLDs from 'tlds' with { type: 'json' }\nimport { graphemeLen } from '@atproto/common-web'\nimport type { AppBskyRichtextFacet } from '../client/index.js'\nimport type { UnicodeString } from './unicode.js'\nimport {\n CASHTAG_REGEX,\n MENTION_REGEX,\n TAG_REGEX,\n TRAILING_PUNCTUATION_REGEX,\n URL_REGEX,\n} from './util.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\n\nexport function detectFacets(text: UnicodeString): Facet[] | undefined {\n let match\n const facets: Facet[] = []\n {\n // mentions\n const re = MENTION_REGEX\n while ((match = re.exec(text.utf16))) {\n if (!isValidDomain(match[3]) && !match[3].endsWith('.test')) {\n continue // probably not a handle\n }\n\n const start = text.utf16.indexOf(match[3], match.index) - 1\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(start),\n byteEnd: text.utf16IndexToUtf8Index(start + match[3].length + 1),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#mention',\n did: match[3], // must be resolved afterwards\n },\n ],\n })\n }\n }\n {\n // links\n const re = URL_REGEX\n while ((match = re.exec(text.utf16))) {\n let uri = match[2]\n if (!uri.startsWith('http')) {\n const domain = match.groups?.domain\n if (!domain || !isValidDomain(domain)) {\n continue\n }\n uri = `https://${uri}`\n }\n const start = text.utf16.indexOf(match[2], match.index)\n const index = { start, end: start + match[2].length }\n // strip ending puncuation\n if (/[.,;:!?]$/.test(uri)) {\n uri = uri.slice(0, -1)\n index.end--\n }\n if (/[)]$/.test(uri) && !uri.includes('(')) {\n uri = uri.slice(0, -1)\n index.end--\n }\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index.start),\n byteEnd: text.utf16IndexToUtf8Index(index.end),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#link',\n uri,\n },\n ],\n })\n }\n }\n {\n const re = TAG_REGEX\n while ((match = re.exec(text.utf16))) {\n const leading = match[1]\n let tag = match[2]\n\n if (!tag) continue\n\n // strip ending punctuation and any spaces\n tag = tag.trim().replace(TRAILING_PUNCTUATION_REGEX, '')\n\n // tag.length (UTF-16) is always >= graphemeLen(tag), so only pay for\n // the grapheme count when the UTF-16 length already exceeds the limit.\n if (tag.length === 0 || (tag.length > 64 && graphemeLen(tag) > 64))\n continue\n\n const index = match.index + leading.length\n\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index),\n byteEnd: text.utf16IndexToUtf8Index(index + 1 + tag.length),\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#tag',\n tag: tag,\n },\n ],\n })\n }\n }\n {\n // cashtags\n const re = CASHTAG_REGEX\n while ((match = re.exec(text.utf16))) {\n const leading = match[1]\n let ticker = match[2]\n\n if (!ticker) continue\n\n // Normalize to uppercase\n ticker = ticker.toUpperCase()\n\n const index = match.index + leading.length\n\n facets.push({\n index: {\n byteStart: text.utf16IndexToUtf8Index(index),\n byteEnd: text.utf16IndexToUtf8Index(index + 1 + ticker.length), // +1 for $\n },\n features: [\n {\n $type: 'app.bsky.richtext.facet#tag',\n tag: '$' + ticker, // Store with $ prefix\n },\n ],\n })\n }\n }\n return facets.length > 0 ? facets : undefined\n}\n\nfunction isValidDomain(str: string): boolean {\n return !!TLDs.find((tld) => {\n const i = str.lastIndexOf(tld)\n if (i === -1) {\n return false\n }\n return str.charAt(i - 1) === '.' && i === str.length - tld.length\n })\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { AppBskyFeedPost, AppBskyRichtextFacet, AtpBaseClient } from '../client/index.js';
1
+ import { type AppBskyFeedPost, AppBskyRichtextFacet, type AtpBaseClient } from '../client/index.js';
2
2
  import { UnicodeString } from './unicode.js';
3
3
  export type Facet = AppBskyRichtextFacet.Main;
4
4
  export type FacetLink = AppBskyRichtextFacet.Link;
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"AA6FA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EACd,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAC7C,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAA;AACvD,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,eAAe;IAEjB,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,EAAE,KAAK;IAFtB,YACS,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,YAAA,EAClB;IAEJ,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,MAAM,YAEL;IAED,IAAI,OAAO,IAAI,YAAY,GAAG,SAAS,CAEtC;IAED,SAAS,YAER;IAED,IAAI,GAAG,IAAI,QAAQ,GAAG,SAAS,CAE9B;IAED,KAAK,YAEJ;CACF;AAED,qBAAa,QAAQ;IACnB,WAAW,EAAE,aAAa,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAEhB,YAAY,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,YAAY,EAYpD;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAEjB;IAED,KAAK,aAKJ;IAED,QAAQ,CAAC,MAAM,EAAE,QAAQ,QAGxB;IAEA,QAAQ,IAAI,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAuClD;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAgC7C;IAED,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAkEtD;IAED;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,iBAsBtC;IAED;;;;OAIG;IACH,6BAA6B,SAK5B;CACF"}
1
+ {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"AA6FA,OAAO,EACL,KAAK,eAAe,EACpB,oBAAoB,EACpB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAC7C,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAA;AACvD,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,eAAe;IAEjB,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,EAAE,KAAK;IAFtB,YACS,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,YAAA,EAClB;IAEJ,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,MAAM,YAEL;IAED,IAAI,OAAO,IAAI,YAAY,GAAG,SAAS,CAEtC;IAED,SAAS,YAER;IAED,IAAI,GAAG,IAAI,QAAQ,GAAG,SAAS,CAE9B;IAED,KAAK,YAEJ;CACF;AAED,qBAAa,QAAQ;IACnB,WAAW,EAAE,aAAa,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAEhB,YAAY,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,YAAY,EAYpD;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAEjB;IAED,KAAK,aAKJ;IAED,QAAQ,CAAC,MAAM,EAAE,QAAQ,QAGxB;IAEA,QAAQ,IAAI,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAuClD;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAgC7C;IAED,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAkEtD;IAED;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,iBAsBtC;IAED;;;;OAIG;IACH,6BAA6B,SAK5B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n= Rich Text Manipulation\n\nWhen we sanitize rich text, we have to update the entity indices as the\ntext is modified. This can be modeled as inserts() and deletes() of the\nrich text string. The possible scenarios are outlined below, along with\ntheir expected behaviors.\n\nNOTE: Slices are start inclusive, end exclusive\n\n== richTextInsert()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^ // insert \"test\" at 0\nB: ^ // insert \"test\" at 4\nC: ^ // insert \"test\" at 8\n\nA = before -> move both by num added\nB = inner -> move end by num added\nC = after -> noop\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n t e s t h e l l o w // string value\n ^-------^ // target slice {start: 6, end: 11}\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l t e s t o w // string value\n ^---------------^ // target slice {start: 2, end: 11}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o t e s // string value\n ^-------^ // target slice {start: 2, end: 7}\n\n== richTextDelete()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^---------------^ // remove slice {start: 0, end: 9}\nB: ^-----^ // remove slice {start: 7, end: 11}\nC: ^-----------^ // remove slice {start: 4, end: 11}\nD: ^-^ // remove slice {start: 3, end: 5}\nE: ^-----^ // remove slice {start: 1, end: 5}\nF: ^-^ // remove slice {start: 0, end: 2}\n\nA = entirely outer -> delete slice\nB = entirely after -> noop\nC = partially after -> move end to remove-start\nD = entirely inner -> move end by num removed\nE = partially before -> move start to remove-start index, move end by num removed\nF = entirely before -> move both by num removed\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n l d // string value\n // target slice (deleted)\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l // string value\n ^-^ // target slice {start: 2, end: 4}\n\nD: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l w o r l d // string value\n ^---^ // target slice {start: 2, end: 5}\n\nE: 0 1 2 3 4 5 6 7 8 910 // string indices\n h w o r l d // string value\n ^-^ // target slice {start: 1, end: 3}\n\nF: 0 1 2 3 4 5 6 7 8 910 // string indices\n l l o w o r l d // string value\n ^-------^ // target slice {start: 0, end: 5}\n */\n\nimport {\n AppBskyFeedPost,\n AppBskyRichtextFacet,\n AtpBaseClient,\n} from '../client/index.js'\nimport { detectFacets } from './detection.js'\nimport { sanitizeRichText } from './sanitization.js'\nimport { UnicodeString } from './unicode.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\nexport type FacetLink = AppBskyRichtextFacet.Link\nexport type FacetMention = AppBskyRichtextFacet.Mention\nexport type FacetTag = AppBskyRichtextFacet.Tag\nexport type Entity = AppBskyFeedPost.Entity\n\nexport interface RichTextProps {\n text: string\n facets?: Facet[]\n /**\n * @deprecated Use facets instead\n */\n entities?: Entity[]\n}\n\nexport interface RichTextOpts {\n cleanNewlines?: boolean\n}\n\nexport class RichTextSegment {\n constructor(\n public text: string,\n public facet?: Facet,\n ) {}\n\n get link(): FacetLink | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isLink)\n }\n\n isLink() {\n return !!this.link\n }\n\n get mention(): FacetMention | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isMention)\n }\n\n isMention() {\n return !!this.mention\n }\n\n get tag(): FacetTag | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isTag)\n }\n\n isTag() {\n return !!this.tag\n }\n}\n\nexport class RichText {\n unicodeText: UnicodeString\n facets?: Facet[]\n\n constructor(props: RichTextProps, opts?: RichTextOpts) {\n this.unicodeText = new UnicodeString(props.text)\n this.facets = props.facets\n if (!this.facets?.length && props.entities?.length) {\n this.facets = entitiesToFacets(this.unicodeText, props.entities)\n }\n if (this.facets) {\n this.facets = this.facets.filter(facetFilter).sort(facetSort)\n }\n if (opts?.cleanNewlines) {\n sanitizeRichText(this, { cleanNewlines: true }).copyInto(this)\n }\n }\n\n get text() {\n return this.unicodeText.toString()\n }\n\n get length() {\n return this.unicodeText.length\n }\n\n get graphemeLength() {\n return this.unicodeText.graphemeLength\n }\n\n clone() {\n return new RichText({\n text: this.unicodeText.utf16,\n facets: cloneDeep(this.facets),\n })\n }\n\n copyInto(target: RichText) {\n target.unicodeText = this.unicodeText\n target.facets = cloneDeep(this.facets)\n }\n\n *segments(): Generator<RichTextSegment, void, void> {\n const facets = this.facets || []\n if (!facets.length) {\n yield new RichTextSegment(this.unicodeText.utf16)\n return\n }\n\n let textCursor = 0\n let facetCursor = 0\n do {\n const currFacet = facets[facetCursor]\n if (textCursor < currFacet.index.byteStart) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, currFacet.index.byteStart),\n )\n } else if (textCursor > currFacet.index.byteStart) {\n facetCursor++\n continue\n }\n if (currFacet.index.byteStart < currFacet.index.byteEnd) {\n const subtext = this.unicodeText.slice(\n currFacet.index.byteStart,\n currFacet.index.byteEnd,\n )\n if (!subtext.trim()) {\n // dont empty string entities\n yield new RichTextSegment(subtext)\n } else {\n yield new RichTextSegment(subtext, currFacet)\n }\n }\n textCursor = currFacet.index.byteEnd\n facetCursor++\n } while (facetCursor < facets.length)\n if (textCursor < this.unicodeText.length) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, this.unicodeText.length),\n )\n }\n }\n\n insert(insertIndex: number, insertText: string) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, insertIndex) +\n insertText +\n this.unicodeText.slice(insertIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsAdded = insertText.length\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (before)\n if (insertIndex <= ent.index.byteStart) {\n // move both by num added\n ent.index.byteStart += numCharsAdded\n ent.index.byteEnd += numCharsAdded\n }\n // scenario B (inner)\n else if (\n insertIndex >= ent.index.byteStart &&\n insertIndex < ent.index.byteEnd\n ) {\n // move end by num added\n ent.index.byteEnd += numCharsAdded\n }\n // scenario C (after)\n // noop\n }\n return this\n }\n\n delete(removeStartIndex: number, removeEndIndex: number) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, removeStartIndex) +\n this.unicodeText.slice(removeEndIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsRemoved = removeEndIndex - removeStartIndex\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (entirely outer)\n if (\n removeStartIndex <= ent.index.byteStart &&\n removeEndIndex >= ent.index.byteEnd\n ) {\n // delete slice (will get removed in final pass)\n ent.index.byteStart = 0\n ent.index.byteEnd = 0\n }\n // scenario B (entirely after)\n else if (removeStartIndex > ent.index.byteEnd) {\n // noop\n }\n // scenario C (partially after)\n else if (\n removeStartIndex > ent.index.byteStart &&\n removeStartIndex <= ent.index.byteEnd &&\n removeEndIndex > ent.index.byteEnd\n ) {\n // move end to remove start\n ent.index.byteEnd = removeStartIndex\n }\n // scenario D (entirely inner)\n else if (\n removeStartIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move end by num removed\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario E (partially before)\n else if (\n removeStartIndex < ent.index.byteStart &&\n removeEndIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move start to remove-start index, move end by num removed\n ent.index.byteStart = removeStartIndex\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario F (entirely before)\n else if (removeEndIndex < ent.index.byteStart) {\n // move both by num removed\n ent.index.byteStart -= numCharsRemoved\n ent.index.byteEnd -= numCharsRemoved\n }\n }\n\n // filter out any facets that were made irrelevant\n this.facets = this.facets.filter(\n (ent) => ent.index.byteStart < ent.index.byteEnd,\n )\n return this\n }\n\n /**\n * Detects facets such as links and mentions\n * Note: Overwrites the existing facets with auto-detected facets\n */\n async detectFacets(agent: AtpBaseClient) {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n const promises: Promise<void>[] = []\n for (const facet of this.facets) {\n for (const feature of facet.features) {\n if (AppBskyRichtextFacet.isMention(feature)) {\n promises.push(\n agent.com.atproto.identity\n .resolveHandle({ handle: feature.did })\n .then((res) => res?.data.did)\n .catch((_) => undefined)\n .then((did) => {\n feature.did = did || ''\n }),\n )\n }\n }\n }\n await Promise.allSettled(promises)\n this.facets.sort(facetSort)\n }\n }\n\n /**\n * Detects facets such as links and mentions but does not resolve them\n * Will produce invalid facets! For instance, mentions will not have their DIDs set.\n * Note: Overwrites the existing facets with auto-detected facets\n */\n detectFacetsWithoutResolution() {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n this.facets.sort(facetSort)\n }\n }\n}\n\nconst facetSort = (a: Facet, b: Facet) => a.index.byteStart - b.index.byteStart\n\nconst facetFilter = (facet: Facet) =>\n // discard negative-length facets. zero-length facets are valid\n facet.index.byteStart <= facet.index.byteEnd\n\nfunction entitiesToFacets(text: UnicodeString, entities: Entity[]): Facet[] {\n const facets: Facet[] = []\n for (const ent of entities) {\n if (ent.type === 'link') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [{ $type: 'app.bsky.richtext.facet#link', uri: ent.value }],\n })\n } else if (ent.type === 'mention') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [\n { $type: 'app.bsky.richtext.facet#mention', did: ent.value },\n ],\n })\n }\n }\n return facets\n}\n\nfunction cloneDeep<T>(v: T): T {\n if (typeof v === 'undefined') {\n return v\n }\n return JSON.parse(JSON.stringify(v))\n}\n"]}
1
+ {"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n= Rich Text Manipulation\n\nWhen we sanitize rich text, we have to update the entity indices as the\ntext is modified. This can be modeled as inserts() and deletes() of the\nrich text string. The possible scenarios are outlined below, along with\ntheir expected behaviors.\n\nNOTE: Slices are start inclusive, end exclusive\n\n== richTextInsert()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^ // insert \"test\" at 0\nB: ^ // insert \"test\" at 4\nC: ^ // insert \"test\" at 8\n\nA = before -> move both by num added\nB = inner -> move end by num added\nC = after -> noop\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n t e s t h e l l o w // string value\n ^-------^ // target slice {start: 6, end: 11}\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l t e s t o w // string value\n ^---------------^ // target slice {start: 2, end: 11}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o t e s // string value\n ^-------^ // target slice {start: 2, end: 7}\n\n== richTextDelete()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^---------------^ // remove slice {start: 0, end: 9}\nB: ^-----^ // remove slice {start: 7, end: 11}\nC: ^-----------^ // remove slice {start: 4, end: 11}\nD: ^-^ // remove slice {start: 3, end: 5}\nE: ^-----^ // remove slice {start: 1, end: 5}\nF: ^-^ // remove slice {start: 0, end: 2}\n\nA = entirely outer -> delete slice\nB = entirely after -> noop\nC = partially after -> move end to remove-start\nD = entirely inner -> move end by num removed\nE = partially before -> move start to remove-start index, move end by num removed\nF = entirely before -> move both by num removed\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n l d // string value\n // target slice (deleted)\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l // string value\n ^-^ // target slice {start: 2, end: 4}\n\nD: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l w o r l d // string value\n ^---^ // target slice {start: 2, end: 5}\n\nE: 0 1 2 3 4 5 6 7 8 910 // string indices\n h w o r l d // string value\n ^-^ // target slice {start: 1, end: 3}\n\nF: 0 1 2 3 4 5 6 7 8 910 // string indices\n l l o w o r l d // string value\n ^-------^ // target slice {start: 0, end: 5}\n */\n\nimport {\n type AppBskyFeedPost,\n AppBskyRichtextFacet,\n type AtpBaseClient,\n} from '../client/index.js'\nimport { detectFacets } from './detection.js'\nimport { sanitizeRichText } from './sanitization.js'\nimport { UnicodeString } from './unicode.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\nexport type FacetLink = AppBskyRichtextFacet.Link\nexport type FacetMention = AppBskyRichtextFacet.Mention\nexport type FacetTag = AppBskyRichtextFacet.Tag\nexport type Entity = AppBskyFeedPost.Entity\n\nexport interface RichTextProps {\n text: string\n facets?: Facet[]\n /**\n * @deprecated Use facets instead\n */\n entities?: Entity[]\n}\n\nexport interface RichTextOpts {\n cleanNewlines?: boolean\n}\n\nexport class RichTextSegment {\n constructor(\n public text: string,\n public facet?: Facet,\n ) {}\n\n get link(): FacetLink | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isLink)\n }\n\n isLink() {\n return !!this.link\n }\n\n get mention(): FacetMention | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isMention)\n }\n\n isMention() {\n return !!this.mention\n }\n\n get tag(): FacetTag | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isTag)\n }\n\n isTag() {\n return !!this.tag\n }\n}\n\nexport class RichText {\n unicodeText: UnicodeString\n facets?: Facet[]\n\n constructor(props: RichTextProps, opts?: RichTextOpts) {\n this.unicodeText = new UnicodeString(props.text)\n this.facets = props.facets\n if (!this.facets?.length && props.entities?.length) {\n this.facets = entitiesToFacets(this.unicodeText, props.entities)\n }\n if (this.facets) {\n this.facets = this.facets.filter(facetFilter).sort(facetSort)\n }\n if (opts?.cleanNewlines) {\n sanitizeRichText(this, { cleanNewlines: true }).copyInto(this)\n }\n }\n\n get text() {\n return this.unicodeText.toString()\n }\n\n get length() {\n return this.unicodeText.length\n }\n\n get graphemeLength() {\n return this.unicodeText.graphemeLength\n }\n\n clone() {\n return new RichText({\n text: this.unicodeText.utf16,\n facets: cloneDeep(this.facets),\n })\n }\n\n copyInto(target: RichText) {\n target.unicodeText = this.unicodeText\n target.facets = cloneDeep(this.facets)\n }\n\n *segments(): Generator<RichTextSegment, void, void> {\n const facets = this.facets || []\n if (!facets.length) {\n yield new RichTextSegment(this.unicodeText.utf16)\n return\n }\n\n let textCursor = 0\n let facetCursor = 0\n do {\n const currFacet = facets[facetCursor]\n if (textCursor < currFacet.index.byteStart) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, currFacet.index.byteStart),\n )\n } else if (textCursor > currFacet.index.byteStart) {\n facetCursor++\n continue\n }\n if (currFacet.index.byteStart < currFacet.index.byteEnd) {\n const subtext = this.unicodeText.slice(\n currFacet.index.byteStart,\n currFacet.index.byteEnd,\n )\n if (!subtext.trim()) {\n // dont empty string entities\n yield new RichTextSegment(subtext)\n } else {\n yield new RichTextSegment(subtext, currFacet)\n }\n }\n textCursor = currFacet.index.byteEnd\n facetCursor++\n } while (facetCursor < facets.length)\n if (textCursor < this.unicodeText.length) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, this.unicodeText.length),\n )\n }\n }\n\n insert(insertIndex: number, insertText: string) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, insertIndex) +\n insertText +\n this.unicodeText.slice(insertIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsAdded = insertText.length\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (before)\n if (insertIndex <= ent.index.byteStart) {\n // move both by num added\n ent.index.byteStart += numCharsAdded\n ent.index.byteEnd += numCharsAdded\n }\n // scenario B (inner)\n else if (\n insertIndex >= ent.index.byteStart &&\n insertIndex < ent.index.byteEnd\n ) {\n // move end by num added\n ent.index.byteEnd += numCharsAdded\n }\n // scenario C (after)\n // noop\n }\n return this\n }\n\n delete(removeStartIndex: number, removeEndIndex: number) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, removeStartIndex) +\n this.unicodeText.slice(removeEndIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsRemoved = removeEndIndex - removeStartIndex\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (entirely outer)\n if (\n removeStartIndex <= ent.index.byteStart &&\n removeEndIndex >= ent.index.byteEnd\n ) {\n // delete slice (will get removed in final pass)\n ent.index.byteStart = 0\n ent.index.byteEnd = 0\n }\n // scenario B (entirely after)\n else if (removeStartIndex > ent.index.byteEnd) {\n // noop\n }\n // scenario C (partially after)\n else if (\n removeStartIndex > ent.index.byteStart &&\n removeStartIndex <= ent.index.byteEnd &&\n removeEndIndex > ent.index.byteEnd\n ) {\n // move end to remove start\n ent.index.byteEnd = removeStartIndex\n }\n // scenario D (entirely inner)\n else if (\n removeStartIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move end by num removed\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario E (partially before)\n else if (\n removeStartIndex < ent.index.byteStart &&\n removeEndIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move start to remove-start index, move end by num removed\n ent.index.byteStart = removeStartIndex\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario F (entirely before)\n else if (removeEndIndex < ent.index.byteStart) {\n // move both by num removed\n ent.index.byteStart -= numCharsRemoved\n ent.index.byteEnd -= numCharsRemoved\n }\n }\n\n // filter out any facets that were made irrelevant\n this.facets = this.facets.filter(\n (ent) => ent.index.byteStart < ent.index.byteEnd,\n )\n return this\n }\n\n /**\n * Detects facets such as links and mentions\n * Note: Overwrites the existing facets with auto-detected facets\n */\n async detectFacets(agent: AtpBaseClient) {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n const promises: Promise<void>[] = []\n for (const facet of this.facets) {\n for (const feature of facet.features) {\n if (AppBskyRichtextFacet.isMention(feature)) {\n promises.push(\n agent.com.atproto.identity\n .resolveHandle({ handle: feature.did })\n .then((res) => res?.data.did)\n .catch((_) => undefined)\n .then((did) => {\n feature.did = did || ''\n }),\n )\n }\n }\n }\n await Promise.allSettled(promises)\n this.facets.sort(facetSort)\n }\n }\n\n /**\n * Detects facets such as links and mentions but does not resolve them\n * Will produce invalid facets! For instance, mentions will not have their DIDs set.\n * Note: Overwrites the existing facets with auto-detected facets\n */\n detectFacetsWithoutResolution() {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n this.facets.sort(facetSort)\n }\n }\n}\n\nconst facetSort = (a: Facet, b: Facet) => a.index.byteStart - b.index.byteStart\n\nconst facetFilter = (facet: Facet) =>\n // discard negative-length facets. zero-length facets are valid\n facet.index.byteStart <= facet.index.byteEnd\n\nfunction entitiesToFacets(text: UnicodeString, entities: Entity[]): Facet[] {\n const facets: Facet[] = []\n for (const ent of entities) {\n if (ent.type === 'link') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [{ $type: 'app.bsky.richtext.facet#link', uri: ent.value }],\n })\n } else if (ent.type === 'mention') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [\n { $type: 'app.bsky.richtext.facet#mention', did: ent.value },\n ],\n })\n }\n }\n return facets\n}\n\nfunction cloneDeep<T>(v: T): T {\n if (typeof v === 'undefined') {\n return v\n }\n return JSON.parse(JSON.stringify(v))\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RichText } from './rich-text.js';
1
+ import type { RichText } from './rich-text.js';
2
2
  export declare function sanitizeRichText(richText: RichText, opts: {
3
3
  cleanNewlines?: boolean;
4
4
  }): RichText;
@@ -1 +1 @@
1
- {"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../src/rich-text/sanitization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQzC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,YAMlC"}
1
+ {"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../src/rich-text/sanitization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQ9C,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,YAMlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../src/rich-text/sanitization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,eAAe,GAAG,uDAAuD,CAAA;AAC/E,MAAM,eAAe,GAAG,MAAM,CAAA;AAE9B,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,IAAiC;IAEjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,KAAK,CACZ,QAAkB,EAClB,YAAoB,EACpB,iBAAyB;IAEzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;IAE3B,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1D,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAA;QACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,qBAAqB,CACjE,KAAK,CAAC,KAAK,CACZ,CAAA;QACD,MAAM,cAAc,GAAG,gBAAgB,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5E,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QACjD,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,MAAK,CAAC,eAAe;QACvB,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;QACpD,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC","sourcesContent":["import { RichText } from './rich-text.js'\nimport { UnicodeString } from './unicode.js'\n\n// this regex is intentionally matching on the zero-with-separator codepoint\n// eslint-disable-next-line no-misleading-character-class\nconst EXCESS_SPACE_RE = /[\\r\\n]([\\u00AD\\u2060\\u200D\\u200C\\u200B\\s]*[\\r\\n]){2,}/\nconst REPLACEMENT_STR = '\\n\\n'\n\nexport function sanitizeRichText(\n richText: RichText,\n opts: { cleanNewlines?: boolean },\n) {\n if (opts.cleanNewlines) {\n richText = clean(richText, EXCESS_SPACE_RE, REPLACEMENT_STR)\n }\n return richText\n}\n\nfunction clean(\n richText: RichText,\n targetRegexp: RegExp,\n replacementString: string,\n): RichText {\n richText = richText.clone()\n\n let match = richText.unicodeText.utf16.match(targetRegexp)\n while (match && typeof match.index !== 'undefined') {\n const oldText = richText.unicodeText\n const removeStartIndex = richText.unicodeText.utf16IndexToUtf8Index(\n match.index,\n )\n const removeEndIndex = removeStartIndex + new UnicodeString(match[0]).length\n richText.delete(removeStartIndex, removeEndIndex)\n if (richText.unicodeText.utf16 === oldText.utf16) {\n break // sanity check\n }\n richText.insert(removeStartIndex, replacementString)\n match = richText.unicodeText.utf16.match(targetRegexp)\n }\n\n return richText\n}\n"]}
1
+ {"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../src/rich-text/sanitization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,eAAe,GAAG,uDAAuD,CAAA;AAC/E,MAAM,eAAe,GAAG,MAAM,CAAA;AAE9B,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,IAAiC;IAEjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,KAAK,CACZ,QAAkB,EAClB,YAAoB,EACpB,iBAAyB;IAEzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;IAE3B,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1D,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAA;QACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,qBAAqB,CACjE,KAAK,CAAC,KAAK,CACZ,CAAA;QACD,MAAM,cAAc,GAAG,gBAAgB,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5E,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QACjD,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,MAAK,CAAC,eAAe;QACvB,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;QACpD,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC","sourcesContent":["import type { RichText } from './rich-text.js'\nimport { UnicodeString } from './unicode.js'\n\n// this regex is intentionally matching on the zero-with-separator codepoint\n// eslint-disable-next-line no-misleading-character-class\nconst EXCESS_SPACE_RE = /[\\r\\n]([\\u00AD\\u2060\\u200D\\u200C\\u200B\\s]*[\\r\\n]){2,}/\nconst REPLACEMENT_STR = '\\n\\n'\n\nexport function sanitizeRichText(\n richText: RichText,\n opts: { cleanNewlines?: boolean },\n) {\n if (opts.cleanNewlines) {\n richText = clean(richText, EXCESS_SPACE_RE, REPLACEMENT_STR)\n }\n return richText\n}\n\nfunction clean(\n richText: RichText,\n targetRegexp: RegExp,\n replacementString: string,\n): RichText {\n richText = richText.clone()\n\n let match = richText.unicodeText.utf16.match(targetRegexp)\n while (match && typeof match.index !== 'undefined') {\n const oldText = richText.unicodeText\n const removeStartIndex = richText.unicodeText.utf16IndexToUtf8Index(\n match.index,\n )\n const removeEndIndex = removeStartIndex + new UnicodeString(match[0]).length\n richText.delete(removeStartIndex, removeEndIndex)\n if (richText.unicodeText.utf16 === oldText.utf16) {\n break // sanity check\n }\n richText.insert(removeStartIndex, replacementString)\n match = richText.unicodeText.utf16.match(targetRegexp)\n }\n\n return richText\n}\n"]}