@atproto/bsky 0.0.15 → 0.0.17

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 (236) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/com/atproto/moderation/util.d.ts +4 -3
  3. package/dist/cache/read-through.d.ts +30 -0
  4. package/dist/config.d.ts +18 -0
  5. package/dist/context.d.ts +21 -6
  6. package/dist/daemon/config.d.ts +15 -0
  7. package/dist/daemon/context.d.ts +15 -0
  8. package/dist/daemon/index.d.ts +23 -0
  9. package/dist/daemon/logger.d.ts +3 -0
  10. package/dist/daemon/notifications.d.ts +18 -0
  11. package/dist/daemon/services.d.ts +11 -0
  12. package/dist/db/database-schema.d.ts +1 -2
  13. package/dist/db/index.js +41 -1
  14. package/dist/db/index.js.map +3 -3
  15. package/dist/db/migrations/20231003T202833377Z-create-moderation-subject-status.d.ts +3 -0
  16. package/dist/db/migrations/20231205T000257238Z-remove-did-cache.d.ts +3 -0
  17. package/dist/db/migrations/index.d.ts +2 -0
  18. package/dist/db/pagination.d.ts +2 -1
  19. package/dist/db/{periodic-moderation-action-reversal.d.ts → periodic-moderation-event-reversal.d.ts} +3 -5
  20. package/dist/db/tables/moderation.d.ts +24 -34
  21. package/dist/did-cache.d.ts +10 -7
  22. package/dist/feed-gen/types.d.ts +1 -1
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.js +4370 -2758
  25. package/dist/index.js.map +3 -3
  26. package/dist/indexer/context.d.ts +2 -0
  27. package/dist/indexer/index.d.ts +1 -0
  28. package/dist/lexicon/index.d.ts +23 -18
  29. package/dist/lexicon/lexicons.d.ts +561 -412
  30. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -7
  31. package/dist/lexicon/types/app/bsky/graph/defs.d.ts +1 -0
  32. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +114 -48
  33. package/dist/lexicon/types/com/atproto/admin/{resolveModerationReports.d.ts → deleteAccount.d.ts} +2 -13
  34. package/dist/lexicon/types/com/atproto/admin/{takeModerationAction.d.ts → emitModerationEvent.d.ts} +5 -6
  35. package/dist/lexicon/types/com/atproto/admin/{getModerationAction.d.ts → getModerationEvent.d.ts} +1 -1
  36. package/dist/lexicon/types/com/atproto/admin/{getModerationActions.d.ts → queryModerationEvents.d.ts} +5 -1
  37. package/dist/lexicon/types/com/atproto/admin/{getModerationReports.d.ts → queryModerationStatuses.d.ts} +12 -6
  38. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +1 -0
  39. package/dist/lexicon/types/com/atproto/{admin/getModerationReport.d.ts → temp/importRepo.d.ts} +10 -7
  40. package/dist/lexicon/types/com/atproto/temp/pushBlob.d.ts +25 -0
  41. package/dist/lexicon/types/com/atproto/{admin/reverseModerationAction.d.ts → temp/transferAccount.d.ts} +11 -5
  42. package/dist/logger.d.ts +1 -0
  43. package/dist/migrate-moderation-data.d.ts +1 -0
  44. package/dist/redis.d.ts +10 -1
  45. package/dist/services/actor/index.d.ts +18 -4
  46. package/dist/services/actor/views.d.ts +6 -8
  47. package/dist/services/feed/index.d.ts +7 -4
  48. package/dist/services/feed/util.d.ts +9 -1
  49. package/dist/services/feed/views.d.ts +11 -21
  50. package/dist/services/graph/index.d.ts +5 -29
  51. package/dist/services/graph/types.d.ts +1 -0
  52. package/dist/services/index.d.ts +3 -7
  53. package/dist/services/label/index.d.ts +10 -4
  54. package/dist/services/moderation/index.d.ts +134 -72
  55. package/dist/services/moderation/pagination.d.ts +36 -0
  56. package/dist/services/moderation/status.d.ts +13 -0
  57. package/dist/services/moderation/types.d.ts +35 -0
  58. package/dist/services/moderation/views.d.ts +18 -14
  59. package/dist/services/types.d.ts +3 -0
  60. package/dist/services/util/notification.d.ts +5 -0
  61. package/dist/services/util/post.d.ts +6 -6
  62. package/dist/util/debug.d.ts +1 -1
  63. package/dist/util/retry.d.ts +1 -6
  64. package/package.json +11 -11
  65. package/src/api/app/bsky/feed/getActorFeeds.ts +2 -1
  66. package/src/api/app/bsky/feed/getActorLikes.ts +1 -3
  67. package/src/api/app/bsky/feed/getAuthorFeed.ts +1 -3
  68. package/src/api/app/bsky/feed/getFeed.ts +9 -9
  69. package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -0
  70. package/src/api/app/bsky/feed/getFeedGenerators.ts +2 -1
  71. package/src/api/app/bsky/feed/getListFeed.ts +1 -3
  72. package/src/api/app/bsky/feed/getPostThread.ts +15 -54
  73. package/src/api/app/bsky/feed/getPosts.ts +21 -18
  74. package/src/api/app/bsky/feed/getSuggestedFeeds.ts +2 -1
  75. package/src/api/app/bsky/feed/getTimeline.ts +1 -3
  76. package/src/api/app/bsky/feed/searchPosts.ts +20 -17
  77. package/src/api/app/bsky/graph/getList.ts +6 -3
  78. package/src/api/app/bsky/graph/getListBlocks.ts +3 -2
  79. package/src/api/app/bsky/graph/getListMutes.ts +2 -1
  80. package/src/api/app/bsky/graph/getLists.ts +2 -1
  81. package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +3 -1
  82. package/src/api/blob-resolver.ts +6 -11
  83. package/src/api/com/atproto/admin/emitModerationEvent.ts +220 -0
  84. package/src/api/com/atproto/admin/{getModerationActions.ts → getModerationEvent.ts} +5 -11
  85. package/src/api/com/atproto/admin/getRecord.ts +1 -0
  86. package/src/api/com/atproto/admin/{getModerationReports.ts → queryModerationEvents.ts} +13 -16
  87. package/src/api/com/atproto/admin/queryModerationStatuses.ts +55 -0
  88. package/src/api/com/atproto/moderation/createReport.ts +9 -7
  89. package/src/api/com/atproto/moderation/util.ts +38 -20
  90. package/src/api/index.ts +8 -14
  91. package/src/auth.ts +29 -21
  92. package/src/auto-moderator/index.ts +26 -19
  93. package/src/cache/read-through.ts +151 -0
  94. package/src/config.ts +90 -1
  95. package/src/context.ts +11 -7
  96. package/src/daemon/config.ts +60 -0
  97. package/src/daemon/context.ts +27 -0
  98. package/src/daemon/index.ts +78 -0
  99. package/src/daemon/logger.ts +6 -0
  100. package/src/daemon/notifications.ts +54 -0
  101. package/src/daemon/services.ts +22 -0
  102. package/src/db/database-schema.ts +0 -2
  103. package/src/db/migrations/20231003T202833377Z-create-moderation-subject-status.ts +123 -0
  104. package/src/db/migrations/20231205T000257238Z-remove-did-cache.ts +14 -0
  105. package/src/db/migrations/index.ts +2 -0
  106. package/src/db/pagination.ts +26 -3
  107. package/src/db/{periodic-moderation-action-reversal.ts → periodic-moderation-event-reversal.ts} +50 -46
  108. package/src/db/tables/moderation.ts +35 -52
  109. package/src/did-cache.ts +33 -56
  110. package/src/feed-gen/bsky-team.ts +1 -1
  111. package/src/feed-gen/hot-classic.ts +1 -1
  112. package/src/feed-gen/index.ts +0 -4
  113. package/src/feed-gen/mutuals.ts +6 -2
  114. package/src/feed-gen/types.ts +1 -1
  115. package/src/index.ts +57 -17
  116. package/src/indexer/context.ts +5 -0
  117. package/src/indexer/index.ts +10 -7
  118. package/src/lexicon/index.ts +80 -67
  119. package/src/lexicon/lexicons.ts +698 -507
  120. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -18
  121. package/src/lexicon/types/app/bsky/graph/defs.ts +1 -0
  122. package/src/lexicon/types/com/atproto/admin/defs.ts +276 -84
  123. package/src/lexicon/types/com/atproto/admin/{resolveModerationReports.ts → deleteAccount.ts} +2 -13
  124. package/src/lexicon/types/com/atproto/admin/{takeModerationAction.ts → emitModerationEvent.ts} +13 -11
  125. package/src/lexicon/types/com/atproto/admin/{getModerationReport.ts → getModerationEvent.ts} +1 -1
  126. package/src/lexicon/types/com/atproto/admin/{getModerationActions.ts → queryModerationEvents.ts} +8 -1
  127. package/src/lexicon/types/com/atproto/admin/{getModerationReports.ts → queryModerationStatuses.ts} +21 -14
  128. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +1 -0
  129. package/src/lexicon/types/com/atproto/{admin/getModerationAction.ts → temp/importRepo.ts} +11 -7
  130. package/src/lexicon/types/com/atproto/temp/pushBlob.ts +39 -0
  131. package/src/lexicon/types/com/atproto/{admin/reverseModerationAction.ts → temp/transferAccount.ts} +18 -5
  132. package/src/logger.ts +2 -0
  133. package/src/migrate-moderation-data.ts +414 -0
  134. package/src/redis.ts +43 -3
  135. package/src/services/actor/index.ts +55 -7
  136. package/src/services/actor/views.ts +18 -21
  137. package/src/services/feed/index.ts +52 -19
  138. package/src/services/feed/util.ts +47 -19
  139. package/src/services/feed/views.ts +87 -13
  140. package/src/services/graph/index.ts +21 -3
  141. package/src/services/graph/types.ts +1 -0
  142. package/src/services/index.ts +14 -14
  143. package/src/services/indexing/index.ts +7 -10
  144. package/src/services/indexing/plugins/block.ts +2 -3
  145. package/src/services/indexing/plugins/feed-generator.ts +2 -3
  146. package/src/services/indexing/plugins/follow.ts +2 -3
  147. package/src/services/indexing/plugins/like.ts +2 -3
  148. package/src/services/indexing/plugins/list-block.ts +2 -3
  149. package/src/services/indexing/plugins/list-item.ts +2 -3
  150. package/src/services/indexing/plugins/list.ts +2 -3
  151. package/src/services/indexing/plugins/post.ts +16 -4
  152. package/src/services/indexing/plugins/repost.ts +2 -3
  153. package/src/services/indexing/plugins/thread-gate.ts +2 -3
  154. package/src/services/label/index.ts +68 -25
  155. package/src/services/moderation/index.ts +380 -395
  156. package/src/services/moderation/pagination.ts +96 -0
  157. package/src/services/moderation/status.ts +241 -0
  158. package/src/services/moderation/types.ts +49 -0
  159. package/src/services/moderation/views.ts +278 -329
  160. package/src/services/types.ts +4 -0
  161. package/src/services/util/notification.ts +70 -0
  162. package/src/util/debug.ts +2 -2
  163. package/src/util/retry.ts +1 -44
  164. package/tests/__snapshots__/feed-generation.test.ts.snap +322 -6
  165. package/tests/__snapshots__/indexing.test.ts.snap +0 -6
  166. package/tests/admin/__snapshots__/get-record.test.ts.snap +30 -132
  167. package/tests/admin/__snapshots__/get-repo.test.ts.snap +14 -60
  168. package/tests/admin/__snapshots__/moderation-events.test.ts.snap +146 -0
  169. package/tests/admin/__snapshots__/moderation-statuses.test.ts.snap +64 -0
  170. package/tests/admin/__snapshots__/moderation.test.ts.snap +0 -125
  171. package/tests/admin/get-record.test.ts +5 -9
  172. package/tests/admin/get-repo.test.ts +10 -12
  173. package/tests/admin/moderation-events.test.ts +221 -0
  174. package/tests/admin/moderation-statuses.test.ts +145 -0
  175. package/tests/admin/moderation.test.ts +512 -860
  176. package/tests/admin/repo-search.test.ts +3 -3
  177. package/tests/algos/hot-classic.test.ts +1 -2
  178. package/tests/auth.test.ts +1 -1
  179. package/tests/auto-moderator/fuzzy-matcher.test.ts +2 -1
  180. package/tests/auto-moderator/labeler.test.ts +19 -20
  181. package/tests/auto-moderator/takedowns.test.ts +61 -28
  182. package/tests/blob-resolver.test.ts +4 -2
  183. package/tests/daemon.test.ts +191 -0
  184. package/tests/did-cache.test.ts +20 -5
  185. package/tests/feed-generation.test.ts +57 -9
  186. package/tests/handle-invalidation.test.ts +1 -5
  187. package/tests/indexing.test.ts +20 -13
  188. package/tests/redis-cache.test.ts +231 -0
  189. package/tests/seeds/basic.ts +3 -0
  190. package/tests/subscription/repo.test.ts +4 -7
  191. package/tests/views/__snapshots__/block-lists.test.ts.snap +3 -9
  192. package/tests/views/__snapshots__/blocks.test.ts.snap +0 -9
  193. package/tests/views/__snapshots__/mute-lists.test.ts.snap +5 -5
  194. package/tests/views/__snapshots__/mutes.test.ts.snap +0 -3
  195. package/tests/views/__snapshots__/thread.test.ts.snap +0 -30
  196. package/tests/views/actor-search.test.ts +2 -3
  197. package/tests/views/author-feed.test.ts +42 -36
  198. package/tests/views/follows.test.ts +40 -35
  199. package/tests/views/list-feed.test.ts +17 -9
  200. package/tests/views/notifications.test.ts +13 -9
  201. package/tests/views/profile.test.ts +20 -19
  202. package/tests/views/thread.test.ts +117 -94
  203. package/tests/views/threadgating.test.ts +89 -19
  204. package/tests/views/timeline.test.ts +21 -13
  205. package/dist/api/com/atproto/admin/resolveModerationReports.d.ts +0 -3
  206. package/dist/api/com/atproto/admin/reverseModerationAction.d.ts +0 -3
  207. package/dist/api/com/atproto/admin/takeModerationAction.d.ts +0 -3
  208. package/dist/db/tables/did-cache.d.ts +0 -10
  209. package/dist/feed-gen/best-of-follows.d.ts +0 -29
  210. package/dist/feed-gen/whats-hot.d.ts +0 -29
  211. package/dist/feed-gen/with-friends.d.ts +0 -3
  212. package/dist/label-cache.d.ts +0 -19
  213. package/src/api/com/atproto/admin/getModerationAction.ts +0 -44
  214. package/src/api/com/atproto/admin/getModerationReport.ts +0 -43
  215. package/src/api/com/atproto/admin/resolveModerationReports.ts +0 -24
  216. package/src/api/com/atproto/admin/reverseModerationAction.ts +0 -115
  217. package/src/api/com/atproto/admin/takeModerationAction.ts +0 -156
  218. package/src/db/tables/did-cache.ts +0 -13
  219. package/src/feed-gen/best-of-follows.ts +0 -74
  220. package/src/feed-gen/whats-hot.ts +0 -101
  221. package/src/feed-gen/with-friends.ts +0 -39
  222. package/src/label-cache.ts +0 -90
  223. package/tests/admin/__snapshots__/get-moderation-action.test.ts.snap +0 -172
  224. package/tests/admin/__snapshots__/get-moderation-actions.test.ts.snap +0 -178
  225. package/tests/admin/__snapshots__/get-moderation-report.test.ts.snap +0 -177
  226. package/tests/admin/__snapshots__/get-moderation-reports.test.ts.snap +0 -307
  227. package/tests/admin/get-moderation-action.test.ts +0 -100
  228. package/tests/admin/get-moderation-actions.test.ts +0 -164
  229. package/tests/admin/get-moderation-report.test.ts +0 -100
  230. package/tests/admin/get-moderation-reports.test.ts +0 -332
  231. package/tests/algos/whats-hot.test.ts +0 -118
  232. package/tests/algos/with-friends.test.ts +0 -145
  233. /package/dist/api/com/atproto/admin/{getModerationAction.d.ts → emitModerationEvent.d.ts} +0 -0
  234. /package/dist/api/com/atproto/admin/{getModerationActions.d.ts → getModerationEvent.d.ts} +0 -0
  235. /package/dist/api/com/atproto/admin/{getModerationReport.d.ts → queryModerationEvents.d.ts} +0 -0
  236. /package/dist/api/com/atproto/admin/{getModerationReports.d.ts → queryModerationStatuses.d.ts} +0 -0
@@ -20,30 +20,33 @@ export const schemaDict = {
20
20
  },
21
21
  },
22
22
  },
23
- actionView: {
23
+ modEventView: {
24
24
  type: 'object',
25
25
  required: [
26
26
  'id',
27
- 'action',
27
+ 'event',
28
28
  'subject',
29
29
  'subjectBlobCids',
30
- 'reason',
31
30
  'createdBy',
32
31
  'createdAt',
33
- 'resolvedReportIds',
34
32
  ],
35
33
  properties: {
36
34
  id: {
37
35
  type: 'integer',
38
36
  },
39
- action: {
40
- type: 'ref',
41
- ref: 'lex:com.atproto.admin.defs#actionType',
42
- },
43
- durationInHours: {
44
- type: 'integer',
45
- description:
46
- 'Indicates how long this action is meant to be in effect before automatically expiring.',
37
+ event: {
38
+ type: 'union',
39
+ refs: [
40
+ 'lex:com.atproto.admin.defs#modEventTakedown',
41
+ 'lex:com.atproto.admin.defs#modEventReverseTakedown',
42
+ 'lex:com.atproto.admin.defs#modEventComment',
43
+ 'lex:com.atproto.admin.defs#modEventReport',
44
+ 'lex:com.atproto.admin.defs#modEventLabel',
45
+ 'lex:com.atproto.admin.defs#modEventAcknowledge',
46
+ 'lex:com.atproto.admin.defs#modEventEscalate',
47
+ 'lex:com.atproto.admin.defs#modEventMute',
48
+ 'lex:com.atproto.admin.defs#modEventEmail',
49
+ ],
47
50
  },
48
51
  subject: {
49
52
  type: 'union',
@@ -58,21 +61,6 @@ export const schemaDict = {
58
61
  type: 'string',
59
62
  },
60
63
  },
61
- createLabelVals: {
62
- type: 'array',
63
- items: {
64
- type: 'string',
65
- },
66
- },
67
- negateLabelVals: {
68
- type: 'array',
69
- items: {
70
- type: 'string',
71
- },
72
- },
73
- reason: {
74
- type: 'string',
75
- },
76
64
  createdBy: {
77
65
  type: 'string',
78
66
  format: 'did',
@@ -81,42 +69,40 @@ export const schemaDict = {
81
69
  type: 'string',
82
70
  format: 'datetime',
83
71
  },
84
- reversal: {
85
- type: 'ref',
86
- ref: 'lex:com.atproto.admin.defs#actionReversal',
72
+ creatorHandle: {
73
+ type: 'string',
87
74
  },
88
- resolvedReportIds: {
89
- type: 'array',
90
- items: {
91
- type: 'integer',
92
- },
75
+ subjectHandle: {
76
+ type: 'string',
93
77
  },
94
78
  },
95
79
  },
96
- actionViewDetail: {
80
+ modEventViewDetail: {
97
81
  type: 'object',
98
82
  required: [
99
83
  'id',
100
- 'action',
84
+ 'event',
101
85
  'subject',
102
86
  'subjectBlobs',
103
- 'reason',
104
87
  'createdBy',
105
88
  'createdAt',
106
- 'resolvedReports',
107
89
  ],
108
90
  properties: {
109
91
  id: {
110
92
  type: 'integer',
111
93
  },
112
- action: {
113
- type: 'ref',
114
- ref: 'lex:com.atproto.admin.defs#actionType',
115
- },
116
- durationInHours: {
117
- type: 'integer',
118
- description:
119
- 'Indicates how long this action is meant to be in effect before automatically expiring.',
94
+ event: {
95
+ type: 'union',
96
+ refs: [
97
+ 'lex:com.atproto.admin.defs#modEventTakedown',
98
+ 'lex:com.atproto.admin.defs#modEventReverseTakedown',
99
+ 'lex:com.atproto.admin.defs#modEventComment',
100
+ 'lex:com.atproto.admin.defs#modEventReport',
101
+ 'lex:com.atproto.admin.defs#modEventLabel',
102
+ 'lex:com.atproto.admin.defs#modEventAcknowledge',
103
+ 'lex:com.atproto.admin.defs#modEventEscalate',
104
+ 'lex:com.atproto.admin.defs#modEventMute',
105
+ ],
120
106
  },
121
107
  subject: {
122
108
  type: 'union',
@@ -134,67 +120,6 @@ export const schemaDict = {
134
120
  ref: 'lex:com.atproto.admin.defs#blobView',
135
121
  },
136
122
  },
137
- createLabelVals: {
138
- type: 'array',
139
- items: {
140
- type: 'string',
141
- },
142
- },
143
- negateLabelVals: {
144
- type: 'array',
145
- items: {
146
- type: 'string',
147
- },
148
- },
149
- reason: {
150
- type: 'string',
151
- },
152
- createdBy: {
153
- type: 'string',
154
- format: 'did',
155
- },
156
- createdAt: {
157
- type: 'string',
158
- format: 'datetime',
159
- },
160
- reversal: {
161
- type: 'ref',
162
- ref: 'lex:com.atproto.admin.defs#actionReversal',
163
- },
164
- resolvedReports: {
165
- type: 'array',
166
- items: {
167
- type: 'ref',
168
- ref: 'lex:com.atproto.admin.defs#reportView',
169
- },
170
- },
171
- },
172
- },
173
- actionViewCurrent: {
174
- type: 'object',
175
- required: ['id', 'action'],
176
- properties: {
177
- id: {
178
- type: 'integer',
179
- },
180
- action: {
181
- type: 'ref',
182
- ref: 'lex:com.atproto.admin.defs#actionType',
183
- },
184
- durationInHours: {
185
- type: 'integer',
186
- description:
187
- 'Indicates how long this action is meant to be in effect before automatically expiring.',
188
- },
189
- },
190
- },
191
- actionReversal: {
192
- type: 'object',
193
- required: ['reason', 'createdBy', 'createdAt'],
194
- properties: {
195
- reason: {
196
- type: 'string',
197
- },
198
123
  createdBy: {
199
124
  type: 'string',
200
125
  format: 'did',
@@ -205,35 +130,6 @@ export const schemaDict = {
205
130
  },
206
131
  },
207
132
  },
208
- actionType: {
209
- type: 'string',
210
- knownValues: [
211
- 'lex:com.atproto.admin.defs#takedown',
212
- 'lex:com.atproto.admin.defs#flag',
213
- 'lex:com.atproto.admin.defs#acknowledge',
214
- 'lex:com.atproto.admin.defs#escalate',
215
- ],
216
- },
217
- takedown: {
218
- type: 'token',
219
- description:
220
- 'Moderation action type: Takedown. Indicates that content should not be served by the PDS.',
221
- },
222
- flag: {
223
- type: 'token',
224
- description:
225
- 'Moderation action type: Flag. Indicates that the content was reviewed and considered to violate PDS rules, but may still be served.',
226
- },
227
- acknowledge: {
228
- type: 'token',
229
- description:
230
- 'Moderation action type: Acknowledge. Indicates that the content was reviewed and not considered to violate PDS rules.',
231
- },
232
- escalate: {
233
- type: 'token',
234
- description:
235
- 'Moderation action type: Escalate. Indicates that the content has been flagged for additional review.',
236
- },
237
133
  reportView: {
238
134
  type: 'object',
239
135
  required: [
@@ -252,7 +148,7 @@ export const schemaDict = {
252
148
  type: 'ref',
253
149
  ref: 'lex:com.atproto.moderation.defs#reasonType',
254
150
  },
255
- reason: {
151
+ comment: {
256
152
  type: 'string',
257
153
  },
258
154
  subjectRepoHandle: {
@@ -281,6 +177,75 @@ export const schemaDict = {
281
177
  },
282
178
  },
283
179
  },
180
+ subjectStatusView: {
181
+ type: 'object',
182
+ required: ['id', 'subject', 'createdAt', 'updatedAt', 'reviewState'],
183
+ properties: {
184
+ id: {
185
+ type: 'integer',
186
+ },
187
+ subject: {
188
+ type: 'union',
189
+ refs: [
190
+ 'lex:com.atproto.admin.defs#repoRef',
191
+ 'lex:com.atproto.repo.strongRef',
192
+ ],
193
+ },
194
+ subjectBlobCids: {
195
+ type: 'array',
196
+ items: {
197
+ type: 'string',
198
+ format: 'cid',
199
+ },
200
+ },
201
+ subjectRepoHandle: {
202
+ type: 'string',
203
+ },
204
+ updatedAt: {
205
+ type: 'string',
206
+ format: 'datetime',
207
+ description:
208
+ 'Timestamp referencing when the last update was made to the moderation status of the subject',
209
+ },
210
+ createdAt: {
211
+ type: 'string',
212
+ format: 'datetime',
213
+ description:
214
+ 'Timestamp referencing the first moderation status impacting event was emitted on the subject',
215
+ },
216
+ reviewState: {
217
+ type: 'ref',
218
+ ref: 'lex:com.atproto.admin.defs#subjectReviewState',
219
+ },
220
+ comment: {
221
+ type: 'string',
222
+ description: 'Sticky comment on the subject.',
223
+ },
224
+ muteUntil: {
225
+ type: 'string',
226
+ format: 'datetime',
227
+ },
228
+ lastReviewedBy: {
229
+ type: 'string',
230
+ format: 'did',
231
+ },
232
+ lastReviewedAt: {
233
+ type: 'string',
234
+ format: 'datetime',
235
+ },
236
+ lastReportedAt: {
237
+ type: 'string',
238
+ format: 'datetime',
239
+ },
240
+ takendown: {
241
+ type: 'boolean',
242
+ },
243
+ suspendUntil: {
244
+ type: 'string',
245
+ format: 'datetime',
246
+ },
247
+ },
248
+ },
284
249
  reportViewDetail: {
285
250
  type: 'object',
286
251
  required: [
@@ -299,7 +264,7 @@ export const schemaDict = {
299
264
  type: 'ref',
300
265
  ref: 'lex:com.atproto.moderation.defs#reasonType',
301
266
  },
302
- reason: {
267
+ comment: {
303
268
  type: 'string',
304
269
  },
305
270
  subject: {
@@ -311,6 +276,10 @@ export const schemaDict = {
311
276
  'lex:com.atproto.admin.defs#recordViewNotFound',
312
277
  ],
313
278
  },
279
+ subjectStatus: {
280
+ type: 'ref',
281
+ ref: 'lex:com.atproto.admin.defs#subjectStatusView',
282
+ },
314
283
  reportedBy: {
315
284
  type: 'string',
316
285
  format: 'did',
@@ -323,7 +292,7 @@ export const schemaDict = {
323
292
  type: 'array',
324
293
  items: {
325
294
  type: 'ref',
326
- ref: 'lex:com.atproto.admin.defs#actionView',
295
+ ref: 'lex:com.atproto.admin.defs#modEventView',
327
296
  },
328
297
  },
329
298
  },
@@ -628,33 +597,18 @@ export const schemaDict = {
628
597
  moderation: {
629
598
  type: 'object',
630
599
  properties: {
631
- currentAction: {
600
+ subjectStatus: {
632
601
  type: 'ref',
633
- ref: 'lex:com.atproto.admin.defs#actionViewCurrent',
602
+ ref: 'lex:com.atproto.admin.defs#subjectStatusView',
634
603
  },
635
604
  },
636
605
  },
637
606
  moderationDetail: {
638
607
  type: 'object',
639
- required: ['actions', 'reports'],
640
608
  properties: {
641
- currentAction: {
609
+ subjectStatus: {
642
610
  type: 'ref',
643
- ref: 'lex:com.atproto.admin.defs#actionViewCurrent',
644
- },
645
- actions: {
646
- type: 'array',
647
- items: {
648
- type: 'ref',
649
- ref: 'lex:com.atproto.admin.defs#actionView',
650
- },
651
- },
652
- reports: {
653
- type: 'array',
654
- items: {
655
- type: 'ref',
656
- ref: 'lex:com.atproto.admin.defs#reportView',
657
- },
611
+ ref: 'lex:com.atproto.admin.defs#subjectStatusView',
658
612
  },
659
613
  },
660
614
  },
@@ -716,161 +670,230 @@ export const schemaDict = {
716
670
  },
717
671
  },
718
672
  },
719
- },
720
- },
721
- ComAtprotoAdminDisableAccountInvites: {
722
- lexicon: 1,
723
- id: 'com.atproto.admin.disableAccountInvites',
724
- defs: {
725
- main: {
726
- type: 'procedure',
673
+ subjectReviewState: {
674
+ type: 'string',
675
+ knownValues: [
676
+ 'lex:com.atproto.admin.defs#reviewOpen',
677
+ 'lex:com.atproto.admin.defs#reviewEscalated',
678
+ 'lex:com.atproto.admin.defs#reviewClosed',
679
+ ],
680
+ },
681
+ reviewOpen: {
682
+ type: 'token',
727
683
  description:
728
- 'Disable an account from receiving new invite codes, but does not invalidate existing codes.',
729
- input: {
730
- encoding: 'application/json',
731
- schema: {
732
- type: 'object',
733
- required: ['account'],
734
- properties: {
735
- account: {
736
- type: 'string',
737
- format: 'did',
738
- },
739
- note: {
740
- type: 'string',
741
- description: 'Optional reason for disabled invites.',
742
- },
743
- },
684
+ 'Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator',
685
+ },
686
+ reviewEscalated: {
687
+ type: 'token',
688
+ description:
689
+ 'Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator',
690
+ },
691
+ reviewClosed: {
692
+ type: 'token',
693
+ description:
694
+ 'Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator',
695
+ },
696
+ modEventTakedown: {
697
+ type: 'object',
698
+ description: 'Take down a subject permanently or temporarily',
699
+ properties: {
700
+ comment: {
701
+ type: 'string',
702
+ },
703
+ durationInHours: {
704
+ type: 'integer',
705
+ description:
706
+ 'Indicates how long the takedown should be in effect before automatically expiring.',
744
707
  },
745
708
  },
746
709
  },
747
- },
748
- },
749
- ComAtprotoAdminDisableInviteCodes: {
750
- lexicon: 1,
751
- id: 'com.atproto.admin.disableInviteCodes',
752
- defs: {
753
- main: {
754
- type: 'procedure',
755
- description:
756
- 'Disable some set of codes and/or all codes associated with a set of users.',
757
- input: {
758
- encoding: 'application/json',
759
- schema: {
760
- type: 'object',
761
- properties: {
762
- codes: {
763
- type: 'array',
764
- items: {
765
- type: 'string',
766
- },
767
- },
768
- accounts: {
769
- type: 'array',
770
- items: {
771
- type: 'string',
772
- },
773
- },
774
- },
710
+ modEventReverseTakedown: {
711
+ type: 'object',
712
+ description: 'Revert take down action on a subject',
713
+ properties: {
714
+ comment: {
715
+ type: 'string',
716
+ description: 'Describe reasoning behind the reversal.',
775
717
  },
776
718
  },
777
719
  },
778
- },
779
- },
780
- ComAtprotoAdminEnableAccountInvites: {
781
- lexicon: 1,
782
- id: 'com.atproto.admin.enableAccountInvites',
720
+ modEventComment: {
721
+ type: 'object',
722
+ description: 'Add a comment to a subject',
723
+ required: ['comment'],
724
+ properties: {
725
+ comment: {
726
+ type: 'string',
727
+ },
728
+ sticky: {
729
+ type: 'boolean',
730
+ description: 'Make the comment persistent on the subject',
731
+ },
732
+ },
733
+ },
734
+ modEventReport: {
735
+ type: 'object',
736
+ description: 'Report a subject',
737
+ required: ['reportType'],
738
+ properties: {
739
+ comment: {
740
+ type: 'string',
741
+ },
742
+ reportType: {
743
+ type: 'ref',
744
+ ref: 'lex:com.atproto.moderation.defs#reasonType',
745
+ },
746
+ },
747
+ },
748
+ modEventLabel: {
749
+ type: 'object',
750
+ description: 'Apply/Negate labels on a subject',
751
+ required: ['createLabelVals', 'negateLabelVals'],
752
+ properties: {
753
+ comment: {
754
+ type: 'string',
755
+ },
756
+ createLabelVals: {
757
+ type: 'array',
758
+ items: {
759
+ type: 'string',
760
+ },
761
+ },
762
+ negateLabelVals: {
763
+ type: 'array',
764
+ items: {
765
+ type: 'string',
766
+ },
767
+ },
768
+ },
769
+ },
770
+ modEventAcknowledge: {
771
+ type: 'object',
772
+ properties: {
773
+ comment: {
774
+ type: 'string',
775
+ },
776
+ },
777
+ },
778
+ modEventEscalate: {
779
+ type: 'object',
780
+ properties: {
781
+ comment: {
782
+ type: 'string',
783
+ },
784
+ },
785
+ },
786
+ modEventMute: {
787
+ type: 'object',
788
+ description: 'Mute incoming reports on a subject',
789
+ required: ['durationInHours'],
790
+ properties: {
791
+ comment: {
792
+ type: 'string',
793
+ },
794
+ durationInHours: {
795
+ type: 'integer',
796
+ description: 'Indicates how long the subject should remain muted.',
797
+ },
798
+ },
799
+ },
800
+ modEventUnmute: {
801
+ type: 'object',
802
+ description: 'Unmute action on a subject',
803
+ properties: {
804
+ comment: {
805
+ type: 'string',
806
+ description: 'Describe reasoning behind the reversal.',
807
+ },
808
+ },
809
+ },
810
+ modEventEmail: {
811
+ type: 'object',
812
+ description: 'Keep a log of outgoing email to a user',
813
+ required: ['subjectLine'],
814
+ properties: {
815
+ subjectLine: {
816
+ type: 'string',
817
+ description: 'The subject line of the email sent to the user.',
818
+ },
819
+ },
820
+ },
821
+ },
822
+ },
823
+ ComAtprotoAdminDeleteAccount: {
824
+ lexicon: 1,
825
+ id: 'com.atproto.admin.deleteAccount',
783
826
  defs: {
784
827
  main: {
785
828
  type: 'procedure',
786
- description: "Re-enable an account's ability to receive invite codes.",
829
+ description: 'Delete a user account as an administrator.',
787
830
  input: {
788
831
  encoding: 'application/json',
789
832
  schema: {
790
833
  type: 'object',
791
- required: ['account'],
834
+ required: ['did'],
792
835
  properties: {
793
- account: {
836
+ did: {
794
837
  type: 'string',
795
838
  format: 'did',
796
839
  },
797
- note: {
798
- type: 'string',
799
- description: 'Optional reason for enabled invites.',
800
- },
801
840
  },
802
841
  },
803
842
  },
804
843
  },
805
844
  },
806
845
  },
807
- ComAtprotoAdminGetAccountInfo: {
846
+ ComAtprotoAdminDisableAccountInvites: {
808
847
  lexicon: 1,
809
- id: 'com.atproto.admin.getAccountInfo',
848
+ id: 'com.atproto.admin.disableAccountInvites',
810
849
  defs: {
811
850
  main: {
812
- type: 'query',
813
- description: 'Get details about an account.',
814
- parameters: {
815
- type: 'params',
816
- required: ['did'],
817
- properties: {
818
- did: {
819
- type: 'string',
820
- format: 'did',
821
- },
822
- },
823
- },
824
- output: {
851
+ type: 'procedure',
852
+ description:
853
+ 'Disable an account from receiving new invite codes, but does not invalidate existing codes.',
854
+ input: {
825
855
  encoding: 'application/json',
826
856
  schema: {
827
- type: 'ref',
828
- ref: 'lex:com.atproto.admin.defs#accountView',
857
+ type: 'object',
858
+ required: ['account'],
859
+ properties: {
860
+ account: {
861
+ type: 'string',
862
+ format: 'did',
863
+ },
864
+ note: {
865
+ type: 'string',
866
+ description: 'Optional reason for disabled invites.',
867
+ },
868
+ },
829
869
  },
830
870
  },
831
871
  },
832
872
  },
833
873
  },
834
- ComAtprotoAdminGetInviteCodes: {
874
+ ComAtprotoAdminDisableInviteCodes: {
835
875
  lexicon: 1,
836
- id: 'com.atproto.admin.getInviteCodes',
876
+ id: 'com.atproto.admin.disableInviteCodes',
837
877
  defs: {
838
878
  main: {
839
- type: 'query',
840
- description: 'Get an admin view of invite codes.',
841
- parameters: {
842
- type: 'params',
843
- properties: {
844
- sort: {
845
- type: 'string',
846
- knownValues: ['recent', 'usage'],
847
- default: 'recent',
848
- },
849
- limit: {
850
- type: 'integer',
851
- minimum: 1,
852
- maximum: 500,
853
- default: 100,
854
- },
855
- cursor: {
856
- type: 'string',
857
- },
858
- },
859
- },
860
- output: {
879
+ type: 'procedure',
880
+ description:
881
+ 'Disable some set of codes and/or all codes associated with a set of users.',
882
+ input: {
861
883
  encoding: 'application/json',
862
884
  schema: {
863
885
  type: 'object',
864
- required: ['codes'],
865
886
  properties: {
866
- cursor: {
867
- type: 'string',
868
- },
869
887
  codes: {
870
888
  type: 'array',
871
889
  items: {
872
- type: 'ref',
873
- ref: 'lex:com.atproto.server.defs#inviteCode',
890
+ type: 'string',
891
+ },
892
+ },
893
+ accounts: {
894
+ type: 'array',
895
+ items: {
896
+ type: 'string',
874
897
  },
875
898
  },
876
899
  },
@@ -879,19 +902,52 @@ export const schemaDict = {
879
902
  },
880
903
  },
881
904
  },
882
- ComAtprotoAdminGetModerationAction: {
905
+ ComAtprotoAdminEmitModerationEvent: {
883
906
  lexicon: 1,
884
- id: 'com.atproto.admin.getModerationAction',
907
+ id: 'com.atproto.admin.emitModerationEvent',
885
908
  defs: {
886
909
  main: {
887
- type: 'query',
888
- description: 'Get details about a moderation action.',
889
- parameters: {
890
- type: 'params',
891
- required: ['id'],
892
- properties: {
893
- id: {
894
- type: 'integer',
910
+ type: 'procedure',
911
+ description: 'Take a moderation action on an actor.',
912
+ input: {
913
+ encoding: 'application/json',
914
+ schema: {
915
+ type: 'object',
916
+ required: ['event', 'subject', 'createdBy'],
917
+ properties: {
918
+ event: {
919
+ type: 'union',
920
+ refs: [
921
+ 'lex:com.atproto.admin.defs#modEventTakedown',
922
+ 'lex:com.atproto.admin.defs#modEventAcknowledge',
923
+ 'lex:com.atproto.admin.defs#modEventEscalate',
924
+ 'lex:com.atproto.admin.defs#modEventComment',
925
+ 'lex:com.atproto.admin.defs#modEventLabel',
926
+ 'lex:com.atproto.admin.defs#modEventReport',
927
+ 'lex:com.atproto.admin.defs#modEventMute',
928
+ 'lex:com.atproto.admin.defs#modEventReverseTakedown',
929
+ 'lex:com.atproto.admin.defs#modEventUnmute',
930
+ 'lex:com.atproto.admin.defs#modEventEmail',
931
+ ],
932
+ },
933
+ subject: {
934
+ type: 'union',
935
+ refs: [
936
+ 'lex:com.atproto.admin.defs#repoRef',
937
+ 'lex:com.atproto.repo.strongRef',
938
+ ],
939
+ },
940
+ subjectBlobCids: {
941
+ type: 'array',
942
+ items: {
943
+ type: 'string',
944
+ format: 'cid',
945
+ },
946
+ },
947
+ createdBy: {
948
+ type: 'string',
949
+ format: 'did',
950
+ },
895
951
  },
896
952
  },
897
953
  },
@@ -899,51 +955,37 @@ export const schemaDict = {
899
955
  encoding: 'application/json',
900
956
  schema: {
901
957
  type: 'ref',
902
- ref: 'lex:com.atproto.admin.defs#actionViewDetail',
958
+ ref: 'lex:com.atproto.admin.defs#modEventView',
903
959
  },
904
960
  },
961
+ errors: [
962
+ {
963
+ name: 'SubjectHasAction',
964
+ },
965
+ ],
905
966
  },
906
967
  },
907
968
  },
908
- ComAtprotoAdminGetModerationActions: {
969
+ ComAtprotoAdminEnableAccountInvites: {
909
970
  lexicon: 1,
910
- id: 'com.atproto.admin.getModerationActions',
971
+ id: 'com.atproto.admin.enableAccountInvites',
911
972
  defs: {
912
973
  main: {
913
- type: 'query',
914
- description: 'Get a list of moderation actions related to a subject.',
915
- parameters: {
916
- type: 'params',
917
- properties: {
918
- subject: {
919
- type: 'string',
920
- },
921
- limit: {
922
- type: 'integer',
923
- minimum: 1,
924
- maximum: 100,
925
- default: 50,
926
- },
927
- cursor: {
928
- type: 'string',
929
- },
930
- },
931
- },
932
- output: {
974
+ type: 'procedure',
975
+ description: "Re-enable an account's ability to receive invite codes.",
976
+ input: {
933
977
  encoding: 'application/json',
934
978
  schema: {
935
979
  type: 'object',
936
- required: ['actions'],
980
+ required: ['account'],
937
981
  properties: {
938
- cursor: {
982
+ account: {
939
983
  type: 'string',
984
+ format: 'did',
940
985
  },
941
- actions: {
942
- type: 'array',
943
- items: {
944
- type: 'ref',
945
- ref: 'lex:com.atproto.admin.defs#actionView',
946
- },
986
+ note: {
987
+ type: 'string',
988
+ description: 'Optional reason for enabled invites.',
947
989
  },
948
990
  },
949
991
  },
@@ -951,19 +993,20 @@ export const schemaDict = {
951
993
  },
952
994
  },
953
995
  },
954
- ComAtprotoAdminGetModerationReport: {
996
+ ComAtprotoAdminGetAccountInfo: {
955
997
  lexicon: 1,
956
- id: 'com.atproto.admin.getModerationReport',
998
+ id: 'com.atproto.admin.getAccountInfo',
957
999
  defs: {
958
1000
  main: {
959
1001
  type: 'query',
960
- description: 'Get details about a moderation report.',
1002
+ description: 'Get details about an account.',
961
1003
  parameters: {
962
1004
  type: 'params',
963
- required: ['id'],
1005
+ required: ['did'],
964
1006
  properties: {
965
- id: {
966
- type: 'integer',
1007
+ did: {
1008
+ type: 'string',
1009
+ format: 'did',
967
1010
  },
968
1011
  },
969
1012
  },
@@ -971,86 +1014,52 @@ export const schemaDict = {
971
1014
  encoding: 'application/json',
972
1015
  schema: {
973
1016
  type: 'ref',
974
- ref: 'lex:com.atproto.admin.defs#reportViewDetail',
1017
+ ref: 'lex:com.atproto.admin.defs#accountView',
975
1018
  },
976
1019
  },
977
1020
  },
978
1021
  },
979
1022
  },
980
- ComAtprotoAdminGetModerationReports: {
1023
+ ComAtprotoAdminGetInviteCodes: {
981
1024
  lexicon: 1,
982
- id: 'com.atproto.admin.getModerationReports',
1025
+ id: 'com.atproto.admin.getInviteCodes',
983
1026
  defs: {
984
1027
  main: {
985
1028
  type: 'query',
986
- description: 'Get moderation reports related to a subject.',
1029
+ description: 'Get an admin view of invite codes.',
987
1030
  parameters: {
988
1031
  type: 'params',
989
1032
  properties: {
990
- subject: {
991
- type: 'string',
992
- },
993
- ignoreSubjects: {
994
- type: 'array',
995
- items: {
996
- type: 'string',
997
- },
998
- },
999
- actionedBy: {
1000
- type: 'string',
1001
- format: 'did',
1002
- description:
1003
- 'Get all reports that were actioned by a specific moderator.',
1004
- },
1005
- reporters: {
1006
- type: 'array',
1007
- items: {
1008
- type: 'string',
1009
- },
1010
- description: 'Filter reports made by one or more DIDs.',
1011
- },
1012
- resolved: {
1013
- type: 'boolean',
1014
- },
1015
- actionType: {
1033
+ sort: {
1016
1034
  type: 'string',
1017
- knownValues: [
1018
- 'com.atproto.admin.defs#takedown',
1019
- 'com.atproto.admin.defs#flag',
1020
- 'com.atproto.admin.defs#acknowledge',
1021
- 'com.atproto.admin.defs#escalate',
1022
- ],
1035
+ knownValues: ['recent', 'usage'],
1036
+ default: 'recent',
1023
1037
  },
1024
1038
  limit: {
1025
1039
  type: 'integer',
1026
1040
  minimum: 1,
1027
- maximum: 100,
1028
- default: 50,
1041
+ maximum: 500,
1042
+ default: 100,
1029
1043
  },
1030
1044
  cursor: {
1031
1045
  type: 'string',
1032
1046
  },
1033
- reverse: {
1034
- type: 'boolean',
1035
- description:
1036
- 'Reverse the order of the returned records. When true, returns reports in chronological order.',
1037
- },
1038
1047
  },
1039
1048
  },
1040
1049
  output: {
1041
1050
  encoding: 'application/json',
1042
1051
  schema: {
1043
1052
  type: 'object',
1044
- required: ['reports'],
1053
+ required: ['codes'],
1045
1054
  properties: {
1046
1055
  cursor: {
1047
1056
  type: 'string',
1048
1057
  },
1049
- reports: {
1058
+ codes: {
1050
1059
  type: 'array',
1051
1060
  items: {
1052
1061
  type: 'ref',
1053
- ref: 'lex:com.atproto.admin.defs#reportView',
1062
+ ref: 'lex:com.atproto.server.defs#inviteCode',
1054
1063
  },
1055
1064
  },
1056
1065
  },
@@ -1059,6 +1068,32 @@ export const schemaDict = {
1059
1068
  },
1060
1069
  },
1061
1070
  },
1071
+ ComAtprotoAdminGetModerationEvent: {
1072
+ lexicon: 1,
1073
+ id: 'com.atproto.admin.getModerationEvent',
1074
+ defs: {
1075
+ main: {
1076
+ type: 'query',
1077
+ description: 'Get details about a moderation event.',
1078
+ parameters: {
1079
+ type: 'params',
1080
+ required: ['id'],
1081
+ properties: {
1082
+ id: {
1083
+ type: 'integer',
1084
+ },
1085
+ },
1086
+ },
1087
+ output: {
1088
+ encoding: 'application/json',
1089
+ schema: {
1090
+ type: 'ref',
1091
+ ref: 'lex:com.atproto.admin.defs#modEventViewDetail',
1092
+ },
1093
+ },
1094
+ },
1095
+ },
1096
+ },
1062
1097
  ComAtprotoAdminGetRecord: {
1063
1098
  lexicon: 1,
1064
1099
  id: 'com.atproto.admin.getRecord',
@@ -1176,78 +1211,182 @@ export const schemaDict = {
1176
1211
  },
1177
1212
  },
1178
1213
  },
1179
- ComAtprotoAdminResolveModerationReports: {
1214
+ ComAtprotoAdminQueryModerationEvents: {
1180
1215
  lexicon: 1,
1181
- id: 'com.atproto.admin.resolveModerationReports',
1216
+ id: 'com.atproto.admin.queryModerationEvents',
1182
1217
  defs: {
1183
1218
  main: {
1184
- type: 'procedure',
1185
- description: 'Resolve moderation reports by an action.',
1186
- input: {
1219
+ type: 'query',
1220
+ description: 'List moderation events related to a subject.',
1221
+ parameters: {
1222
+ type: 'params',
1223
+ properties: {
1224
+ types: {
1225
+ type: 'array',
1226
+ items: {
1227
+ type: 'string',
1228
+ },
1229
+ description:
1230
+ 'The types of events (fully qualified string in the format of com.atproto.admin#modEvent<name>) to filter by. If not specified, all events are returned.',
1231
+ },
1232
+ createdBy: {
1233
+ type: 'string',
1234
+ format: 'did',
1235
+ },
1236
+ sortDirection: {
1237
+ type: 'string',
1238
+ default: 'desc',
1239
+ enum: ['asc', 'desc'],
1240
+ description:
1241
+ 'Sort direction for the events. Defaults to descending order of created at timestamp.',
1242
+ },
1243
+ subject: {
1244
+ type: 'string',
1245
+ format: 'uri',
1246
+ },
1247
+ includeAllUserRecords: {
1248
+ type: 'boolean',
1249
+ default: false,
1250
+ description:
1251
+ 'If true, events on all record types (posts, lists, profile etc.) owned by the did are returned',
1252
+ },
1253
+ limit: {
1254
+ type: 'integer',
1255
+ minimum: 1,
1256
+ maximum: 100,
1257
+ default: 50,
1258
+ },
1259
+ cursor: {
1260
+ type: 'string',
1261
+ },
1262
+ },
1263
+ },
1264
+ output: {
1187
1265
  encoding: 'application/json',
1188
1266
  schema: {
1189
1267
  type: 'object',
1190
- required: ['actionId', 'reportIds', 'createdBy'],
1268
+ required: ['events'],
1191
1269
  properties: {
1192
- actionId: {
1193
- type: 'integer',
1270
+ cursor: {
1271
+ type: 'string',
1194
1272
  },
1195
- reportIds: {
1273
+ events: {
1196
1274
  type: 'array',
1197
1275
  items: {
1198
- type: 'integer',
1276
+ type: 'ref',
1277
+ ref: 'lex:com.atproto.admin.defs#modEventView',
1199
1278
  },
1200
1279
  },
1201
- createdBy: {
1280
+ },
1281
+ },
1282
+ },
1283
+ },
1284
+ },
1285
+ },
1286
+ ComAtprotoAdminQueryModerationStatuses: {
1287
+ lexicon: 1,
1288
+ id: 'com.atproto.admin.queryModerationStatuses',
1289
+ defs: {
1290
+ main: {
1291
+ type: 'query',
1292
+ description: 'View moderation statuses of subjects (record or repo).',
1293
+ parameters: {
1294
+ type: 'params',
1295
+ properties: {
1296
+ subject: {
1297
+ type: 'string',
1298
+ format: 'uri',
1299
+ },
1300
+ comment: {
1301
+ type: 'string',
1302
+ description: 'Search subjects by keyword from comments',
1303
+ },
1304
+ reportedAfter: {
1305
+ type: 'string',
1306
+ format: 'datetime',
1307
+ description: 'Search subjects reported after a given timestamp',
1308
+ },
1309
+ reportedBefore: {
1310
+ type: 'string',
1311
+ format: 'datetime',
1312
+ description: 'Search subjects reported before a given timestamp',
1313
+ },
1314
+ reviewedAfter: {
1315
+ type: 'string',
1316
+ format: 'datetime',
1317
+ description: 'Search subjects reviewed after a given timestamp',
1318
+ },
1319
+ reviewedBefore: {
1320
+ type: 'string',
1321
+ format: 'datetime',
1322
+ description: 'Search subjects reviewed before a given timestamp',
1323
+ },
1324
+ includeMuted: {
1325
+ type: 'boolean',
1326
+ description:
1327
+ "By default, we don't include muted subjects in the results. Set this to true to include them.",
1328
+ },
1329
+ reviewState: {
1330
+ type: 'string',
1331
+ description: 'Specify when fetching subjects in a certain state',
1332
+ },
1333
+ ignoreSubjects: {
1334
+ type: 'array',
1335
+ items: {
1202
1336
  type: 'string',
1203
- format: 'did',
1337
+ format: 'uri',
1204
1338
  },
1205
1339
  },
1340
+ lastReviewedBy: {
1341
+ type: 'string',
1342
+ format: 'did',
1343
+ description:
1344
+ 'Get all subject statuses that were reviewed by a specific moderator',
1345
+ },
1346
+ sortField: {
1347
+ type: 'string',
1348
+ default: 'lastReportedAt',
1349
+ enum: ['lastReviewedAt', 'lastReportedAt'],
1350
+ },
1351
+ sortDirection: {
1352
+ type: 'string',
1353
+ default: 'desc',
1354
+ enum: ['asc', 'desc'],
1355
+ },
1356
+ takendown: {
1357
+ type: 'boolean',
1358
+ description: 'Get subjects that were taken down',
1359
+ },
1360
+ limit: {
1361
+ type: 'integer',
1362
+ minimum: 1,
1363
+ maximum: 100,
1364
+ default: 50,
1365
+ },
1366
+ cursor: {
1367
+ type: 'string',
1368
+ },
1206
1369
  },
1207
1370
  },
1208
1371
  output: {
1209
- encoding: 'application/json',
1210
- schema: {
1211
- type: 'ref',
1212
- ref: 'lex:com.atproto.admin.defs#actionView',
1213
- },
1214
- },
1215
- },
1216
- },
1217
- },
1218
- ComAtprotoAdminReverseModerationAction: {
1219
- lexicon: 1,
1220
- id: 'com.atproto.admin.reverseModerationAction',
1221
- defs: {
1222
- main: {
1223
- type: 'procedure',
1224
- description: 'Reverse a moderation action.',
1225
- input: {
1226
1372
  encoding: 'application/json',
1227
1373
  schema: {
1228
1374
  type: 'object',
1229
- required: ['id', 'reason', 'createdBy'],
1375
+ required: ['subjectStatuses'],
1230
1376
  properties: {
1231
- id: {
1232
- type: 'integer',
1233
- },
1234
- reason: {
1377
+ cursor: {
1235
1378
  type: 'string',
1236
1379
  },
1237
- createdBy: {
1238
- type: 'string',
1239
- format: 'did',
1380
+ subjectStatuses: {
1381
+ type: 'array',
1382
+ items: {
1383
+ type: 'ref',
1384
+ ref: 'lex:com.atproto.admin.defs#subjectStatusView',
1385
+ },
1240
1386
  },
1241
1387
  },
1242
1388
  },
1243
1389
  },
1244
- output: {
1245
- encoding: 'application/json',
1246
- schema: {
1247
- type: 'ref',
1248
- ref: 'lex:com.atproto.admin.defs#actionView',
1249
- },
1250
- },
1251
1390
  },
1252
1391
  },
1253
1392
  },
@@ -1312,7 +1451,7 @@ export const schemaDict = {
1312
1451
  encoding: 'application/json',
1313
1452
  schema: {
1314
1453
  type: 'object',
1315
- required: ['recipientDid', 'content'],
1454
+ required: ['recipientDid', 'content', 'senderDid'],
1316
1455
  properties: {
1317
1456
  recipientDid: {
1318
1457
  type: 'string',
@@ -1324,6 +1463,10 @@ export const schemaDict = {
1324
1463
  subject: {
1325
1464
  type: 'string',
1326
1465
  },
1466
+ senderDid: {
1467
+ type: 'string',
1468
+ format: 'did',
1469
+ },
1327
1470
  },
1328
1471
  },
1329
1472
  },
@@ -1342,83 +1485,6 @@ export const schemaDict = {
1342
1485
  },
1343
1486
  },
1344
1487
  },
1345
- ComAtprotoAdminTakeModerationAction: {
1346
- lexicon: 1,
1347
- id: 'com.atproto.admin.takeModerationAction',
1348
- defs: {
1349
- main: {
1350
- type: 'procedure',
1351
- description: 'Take a moderation action on an actor.',
1352
- input: {
1353
- encoding: 'application/json',
1354
- schema: {
1355
- type: 'object',
1356
- required: ['action', 'subject', 'reason', 'createdBy'],
1357
- properties: {
1358
- action: {
1359
- type: 'string',
1360
- knownValues: [
1361
- 'com.atproto.admin.defs#takedown',
1362
- 'com.atproto.admin.defs#flag',
1363
- 'com.atproto.admin.defs#acknowledge',
1364
- ],
1365
- },
1366
- subject: {
1367
- type: 'union',
1368
- refs: [
1369
- 'lex:com.atproto.admin.defs#repoRef',
1370
- 'lex:com.atproto.repo.strongRef',
1371
- ],
1372
- },
1373
- subjectBlobCids: {
1374
- type: 'array',
1375
- items: {
1376
- type: 'string',
1377
- format: 'cid',
1378
- },
1379
- },
1380
- createLabelVals: {
1381
- type: 'array',
1382
- items: {
1383
- type: 'string',
1384
- },
1385
- },
1386
- negateLabelVals: {
1387
- type: 'array',
1388
- items: {
1389
- type: 'string',
1390
- },
1391
- },
1392
- reason: {
1393
- type: 'string',
1394
- },
1395
- durationInHours: {
1396
- type: 'integer',
1397
- description:
1398
- 'Indicates how long this action is meant to be in effect before automatically expiring.',
1399
- },
1400
- createdBy: {
1401
- type: 'string',
1402
- format: 'did',
1403
- },
1404
- },
1405
- },
1406
- },
1407
- output: {
1408
- encoding: 'application/json',
1409
- schema: {
1410
- type: 'ref',
1411
- ref: 'lex:com.atproto.admin.defs#actionView',
1412
- },
1413
- },
1414
- errors: [
1415
- {
1416
- name: 'SubjectHasAction',
1417
- },
1418
- ],
1419
- },
1420
- },
1421
- },
1422
1488
  ComAtprotoAdminUpdateAccountEmail: {
1423
1489
  lexicon: 1,
1424
1490
  id: 'com.atproto.admin.updateAccountEmail',
@@ -3936,6 +4002,135 @@ export const schemaDict = {
3936
4002
  },
3937
4003
  },
3938
4004
  },
4005
+ ComAtprotoTempImportRepo: {
4006
+ lexicon: 1,
4007
+ id: 'com.atproto.temp.importRepo',
4008
+ defs: {
4009
+ main: {
4010
+ type: 'procedure',
4011
+ description:
4012
+ "Gets the did's repo, optionally catching up from a specific revision.",
4013
+ parameters: {
4014
+ type: 'params',
4015
+ required: ['did'],
4016
+ properties: {
4017
+ did: {
4018
+ type: 'string',
4019
+ format: 'did',
4020
+ description: 'The DID of the repo.',
4021
+ },
4022
+ },
4023
+ },
4024
+ input: {
4025
+ encoding: 'application/vnd.ipld.car',
4026
+ },
4027
+ output: {
4028
+ encoding: 'text/plain',
4029
+ },
4030
+ },
4031
+ },
4032
+ },
4033
+ ComAtprotoTempPushBlob: {
4034
+ lexicon: 1,
4035
+ id: 'com.atproto.temp.pushBlob',
4036
+ defs: {
4037
+ main: {
4038
+ type: 'procedure',
4039
+ description:
4040
+ "Gets the did's repo, optionally catching up from a specific revision.",
4041
+ parameters: {
4042
+ type: 'params',
4043
+ required: ['did'],
4044
+ properties: {
4045
+ did: {
4046
+ type: 'string',
4047
+ format: 'did',
4048
+ description: 'The DID of the repo.',
4049
+ },
4050
+ },
4051
+ },
4052
+ input: {
4053
+ encoding: '*/*',
4054
+ },
4055
+ },
4056
+ },
4057
+ },
4058
+ ComAtprotoTempTransferAccount: {
4059
+ lexicon: 1,
4060
+ id: 'com.atproto.temp.transferAccount',
4061
+ defs: {
4062
+ main: {
4063
+ type: 'procedure',
4064
+ description: 'Transfer an account.',
4065
+ input: {
4066
+ encoding: 'application/json',
4067
+ schema: {
4068
+ type: 'object',
4069
+ required: ['handle', 'did', 'plcOp'],
4070
+ properties: {
4071
+ handle: {
4072
+ type: 'string',
4073
+ format: 'handle',
4074
+ },
4075
+ did: {
4076
+ type: 'string',
4077
+ format: 'did',
4078
+ },
4079
+ plcOp: {
4080
+ type: 'unknown',
4081
+ },
4082
+ },
4083
+ },
4084
+ },
4085
+ output: {
4086
+ encoding: 'application/json',
4087
+ schema: {
4088
+ type: 'object',
4089
+ required: ['accessJwt', 'refreshJwt', 'handle', 'did'],
4090
+ properties: {
4091
+ accessJwt: {
4092
+ type: 'string',
4093
+ },
4094
+ refreshJwt: {
4095
+ type: 'string',
4096
+ },
4097
+ handle: {
4098
+ type: 'string',
4099
+ format: 'handle',
4100
+ },
4101
+ did: {
4102
+ type: 'string',
4103
+ format: 'did',
4104
+ },
4105
+ },
4106
+ },
4107
+ },
4108
+ errors: [
4109
+ {
4110
+ name: 'InvalidHandle',
4111
+ },
4112
+ {
4113
+ name: 'InvalidPassword',
4114
+ },
4115
+ {
4116
+ name: 'InvalidInviteCode',
4117
+ },
4118
+ {
4119
+ name: 'HandleNotAvailable',
4120
+ },
4121
+ {
4122
+ name: 'UnsupportedDomain',
4123
+ },
4124
+ {
4125
+ name: 'UnresolvableDid',
4126
+ },
4127
+ {
4128
+ name: 'IncompatibleDidDoc',
4129
+ },
4130
+ ],
4131
+ },
4132
+ },
4133
+ },
3939
4134
  AppBskyActorDefs: {
3940
4135
  lexicon: 1,
3941
4136
  id: 'app.bsky.actor.defs',
@@ -4892,6 +5087,9 @@ export const schemaDict = {
4892
5087
  type: 'string',
4893
5088
  format: 'at-uri',
4894
5089
  },
5090
+ replyDisabled: {
5091
+ type: 'boolean',
5092
+ },
4895
5093
  },
4896
5094
  },
4897
5095
  feedViewPost: {
@@ -4975,10 +5173,6 @@ export const schemaDict = {
4975
5173
  ],
4976
5174
  },
4977
5175
  },
4978
- viewer: {
4979
- type: 'ref',
4980
- ref: 'lex:app.bsky.feed.defs#viewerThreadState',
4981
- },
4982
5176
  },
4983
5177
  },
4984
5178
  notFoundPost: {
@@ -5027,14 +5221,6 @@ export const schemaDict = {
5027
5221
  },
5028
5222
  },
5029
5223
  },
5030
- viewerThreadState: {
5031
- type: 'object',
5032
- properties: {
5033
- canReply: {
5034
- type: 'boolean',
5035
- },
5036
- },
5037
- },
5038
5224
  generatorView: {
5039
5225
  type: 'object',
5040
5226
  required: ['uri', 'cid', 'did', 'creator', 'displayName', 'indexedAt'],
@@ -6389,8 +6575,12 @@ export const schemaDict = {
6389
6575
  },
6390
6576
  listItemView: {
6391
6577
  type: 'object',
6392
- required: ['subject'],
6578
+ required: ['uri', 'subject'],
6393
6579
  properties: {
6580
+ uri: {
6581
+ type: 'string',
6582
+ format: 'at-uri',
6583
+ },
6394
6584
  subject: {
6395
6585
  type: 'ref',
6396
6586
  ref: 'lex:app.bsky.actor.defs#profileView',
@@ -7633,26 +7823,24 @@ export const schemas: LexiconDoc[] = Object.values(schemaDict) as LexiconDoc[]
7633
7823
  export const lexicons: Lexicons = new Lexicons(schemas)
7634
7824
  export const ids = {
7635
7825
  ComAtprotoAdminDefs: 'com.atproto.admin.defs',
7826
+ ComAtprotoAdminDeleteAccount: 'com.atproto.admin.deleteAccount',
7636
7827
  ComAtprotoAdminDisableAccountInvites:
7637
7828
  'com.atproto.admin.disableAccountInvites',
7638
7829
  ComAtprotoAdminDisableInviteCodes: 'com.atproto.admin.disableInviteCodes',
7830
+ ComAtprotoAdminEmitModerationEvent: 'com.atproto.admin.emitModerationEvent',
7639
7831
  ComAtprotoAdminEnableAccountInvites: 'com.atproto.admin.enableAccountInvites',
7640
7832
  ComAtprotoAdminGetAccountInfo: 'com.atproto.admin.getAccountInfo',
7641
7833
  ComAtprotoAdminGetInviteCodes: 'com.atproto.admin.getInviteCodes',
7642
- ComAtprotoAdminGetModerationAction: 'com.atproto.admin.getModerationAction',
7643
- ComAtprotoAdminGetModerationActions: 'com.atproto.admin.getModerationActions',
7644
- ComAtprotoAdminGetModerationReport: 'com.atproto.admin.getModerationReport',
7645
- ComAtprotoAdminGetModerationReports: 'com.atproto.admin.getModerationReports',
7834
+ ComAtprotoAdminGetModerationEvent: 'com.atproto.admin.getModerationEvent',
7646
7835
  ComAtprotoAdminGetRecord: 'com.atproto.admin.getRecord',
7647
7836
  ComAtprotoAdminGetRepo: 'com.atproto.admin.getRepo',
7648
7837
  ComAtprotoAdminGetSubjectStatus: 'com.atproto.admin.getSubjectStatus',
7649
- ComAtprotoAdminResolveModerationReports:
7650
- 'com.atproto.admin.resolveModerationReports',
7651
- ComAtprotoAdminReverseModerationAction:
7652
- 'com.atproto.admin.reverseModerationAction',
7838
+ ComAtprotoAdminQueryModerationEvents:
7839
+ 'com.atproto.admin.queryModerationEvents',
7840
+ ComAtprotoAdminQueryModerationStatuses:
7841
+ 'com.atproto.admin.queryModerationStatuses',
7653
7842
  ComAtprotoAdminSearchRepos: 'com.atproto.admin.searchRepos',
7654
7843
  ComAtprotoAdminSendEmail: 'com.atproto.admin.sendEmail',
7655
- ComAtprotoAdminTakeModerationAction: 'com.atproto.admin.takeModerationAction',
7656
7844
  ComAtprotoAdminUpdateAccountEmail: 'com.atproto.admin.updateAccountEmail',
7657
7845
  ComAtprotoAdminUpdateAccountHandle: 'com.atproto.admin.updateAccountHandle',
7658
7846
  ComAtprotoAdminUpdateSubjectStatus: 'com.atproto.admin.updateSubjectStatus',
@@ -7711,6 +7899,9 @@ export const ids = {
7711
7899
  ComAtprotoSyncRequestCrawl: 'com.atproto.sync.requestCrawl',
7712
7900
  ComAtprotoSyncSubscribeRepos: 'com.atproto.sync.subscribeRepos',
7713
7901
  ComAtprotoTempFetchLabels: 'com.atproto.temp.fetchLabels',
7902
+ ComAtprotoTempImportRepo: 'com.atproto.temp.importRepo',
7903
+ ComAtprotoTempPushBlob: 'com.atproto.temp.pushBlob',
7904
+ ComAtprotoTempTransferAccount: 'com.atproto.temp.transferAccount',
7714
7905
  AppBskyActorDefs: 'app.bsky.actor.defs',
7715
7906
  AppBskyActorGetPreferences: 'app.bsky.actor.getPreferences',
7716
7907
  AppBskyActorGetProfile: 'app.bsky.actor.getProfile',