@atproto/bsky 0.0.15 → 0.0.16

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 (170) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/api/com/atproto/moderation/util.d.ts +4 -3
  3. package/dist/context.d.ts +15 -0
  4. package/dist/db/index.js +26 -1
  5. package/dist/db/index.js.map +3 -3
  6. package/dist/db/migrations/20231003T202833377Z-create-moderation-subject-status.d.ts +3 -0
  7. package/dist/db/migrations/index.d.ts +1 -0
  8. package/dist/db/pagination.d.ts +2 -1
  9. package/dist/db/{periodic-moderation-action-reversal.d.ts → periodic-moderation-event-reversal.d.ts} +3 -5
  10. package/dist/db/tables/moderation.d.ts +24 -34
  11. package/dist/feed-gen/types.d.ts +1 -1
  12. package/dist/index.d.ts +2 -1
  13. package/dist/index.js +2750 -2121
  14. package/dist/index.js.map +3 -3
  15. package/dist/lexicon/index.d.ts +11 -18
  16. package/dist/lexicon/lexicons.d.ts +414 -399
  17. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -7
  18. package/dist/lexicon/types/app/bsky/graph/defs.d.ts +1 -0
  19. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +114 -48
  20. package/dist/lexicon/types/com/atproto/admin/{takeModerationAction.d.ts → emitModerationEvent.d.ts} +5 -6
  21. package/dist/lexicon/types/com/atproto/admin/{getModerationAction.d.ts → getModerationEvent.d.ts} +1 -1
  22. package/dist/lexicon/types/com/atproto/admin/{getModerationActions.d.ts → queryModerationEvents.d.ts} +5 -1
  23. package/dist/lexicon/types/com/atproto/admin/{getModerationReports.d.ts → queryModerationStatuses.d.ts} +12 -6
  24. package/dist/lexicon/types/com/atproto/admin/sendEmail.d.ts +1 -0
  25. package/dist/migrate-moderation-data.d.ts +1 -0
  26. package/dist/services/actor/views.d.ts +2 -5
  27. package/dist/services/feed/index.d.ts +1 -0
  28. package/dist/services/feed/util.d.ts +9 -1
  29. package/dist/services/feed/views.d.ts +6 -17
  30. package/dist/services/graph/index.d.ts +5 -29
  31. package/dist/services/graph/types.d.ts +1 -0
  32. package/dist/services/moderation/index.d.ts +135 -72
  33. package/dist/services/moderation/pagination.d.ts +36 -0
  34. package/dist/services/moderation/status.d.ts +13 -0
  35. package/dist/services/moderation/types.d.ts +35 -0
  36. package/dist/services/moderation/views.d.ts +18 -14
  37. package/dist/util/debug.d.ts +1 -1
  38. package/package.json +11 -11
  39. package/src/api/app/bsky/feed/getActorFeeds.ts +2 -1
  40. package/src/api/app/bsky/feed/getActorLikes.ts +1 -3
  41. package/src/api/app/bsky/feed/getAuthorFeed.ts +1 -3
  42. package/src/api/app/bsky/feed/getFeed.ts +9 -9
  43. package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -0
  44. package/src/api/app/bsky/feed/getFeedGenerators.ts +2 -1
  45. package/src/api/app/bsky/feed/getListFeed.ts +1 -3
  46. package/src/api/app/bsky/feed/getPostThread.ts +15 -54
  47. package/src/api/app/bsky/feed/getPosts.ts +21 -18
  48. package/src/api/app/bsky/feed/getSuggestedFeeds.ts +2 -1
  49. package/src/api/app/bsky/feed/getTimeline.ts +1 -3
  50. package/src/api/app/bsky/feed/searchPosts.ts +20 -17
  51. package/src/api/app/bsky/graph/getList.ts +6 -3
  52. package/src/api/app/bsky/graph/getListBlocks.ts +3 -2
  53. package/src/api/app/bsky/graph/getListMutes.ts +2 -1
  54. package/src/api/app/bsky/graph/getLists.ts +2 -1
  55. package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +3 -1
  56. package/src/api/blob-resolver.ts +6 -11
  57. package/src/api/com/atproto/admin/emitModerationEvent.ts +220 -0
  58. package/src/api/com/atproto/admin/{getModerationActions.ts → getModerationEvent.ts} +5 -11
  59. package/src/api/com/atproto/admin/getRecord.ts +1 -0
  60. package/src/api/com/atproto/admin/{getModerationReports.ts → queryModerationEvents.ts} +13 -16
  61. package/src/api/com/atproto/admin/queryModerationStatuses.ts +55 -0
  62. package/src/api/com/atproto/moderation/createReport.ts +9 -7
  63. package/src/api/com/atproto/moderation/util.ts +38 -20
  64. package/src/api/index.ts +8 -14
  65. package/src/auth.ts +29 -21
  66. package/src/auto-moderator/index.ts +26 -19
  67. package/src/context.ts +4 -0
  68. package/src/db/migrations/20231003T202833377Z-create-moderation-subject-status.ts +123 -0
  69. package/src/db/migrations/index.ts +1 -0
  70. package/src/db/pagination.ts +26 -3
  71. package/src/db/{periodic-moderation-action-reversal.ts → periodic-moderation-event-reversal.ts} +50 -46
  72. package/src/db/tables/moderation.ts +35 -52
  73. package/src/feed-gen/best-of-follows.ts +6 -3
  74. package/src/feed-gen/bsky-team.ts +1 -1
  75. package/src/feed-gen/hot-classic.ts +1 -1
  76. package/src/feed-gen/mutuals.ts +6 -2
  77. package/src/feed-gen/types.ts +1 -1
  78. package/src/feed-gen/whats-hot.ts +1 -1
  79. package/src/feed-gen/with-friends.ts +7 -3
  80. package/src/index.ts +2 -1
  81. package/src/lexicon/index.ts +30 -67
  82. package/src/lexicon/lexicons.ts +526 -491
  83. package/src/lexicon/types/app/bsky/feed/defs.ts +1 -18
  84. package/src/lexicon/types/app/bsky/graph/defs.ts +1 -0
  85. package/src/lexicon/types/com/atproto/admin/defs.ts +276 -84
  86. package/src/lexicon/types/com/atproto/admin/{takeModerationAction.ts → emitModerationEvent.ts} +13 -11
  87. package/src/lexicon/types/com/atproto/admin/{getModerationReport.ts → getModerationEvent.ts} +1 -1
  88. package/src/lexicon/types/com/atproto/admin/{getModerationActions.ts → queryModerationEvents.ts} +8 -1
  89. package/src/lexicon/types/com/atproto/admin/{getModerationReports.ts → queryModerationStatuses.ts} +21 -14
  90. package/src/lexicon/types/com/atproto/admin/sendEmail.ts +1 -0
  91. package/src/migrate-moderation-data.ts +414 -0
  92. package/src/services/actor/views.ts +5 -14
  93. package/src/services/feed/index.ts +26 -7
  94. package/src/services/feed/util.ts +47 -19
  95. package/src/services/feed/views.ts +68 -4
  96. package/src/services/graph/index.ts +21 -3
  97. package/src/services/graph/types.ts +1 -0
  98. package/src/services/indexing/plugins/block.ts +2 -3
  99. package/src/services/indexing/plugins/feed-generator.ts +2 -3
  100. package/src/services/indexing/plugins/follow.ts +2 -3
  101. package/src/services/indexing/plugins/like.ts +2 -3
  102. package/src/services/indexing/plugins/list-block.ts +2 -3
  103. package/src/services/indexing/plugins/list-item.ts +2 -3
  104. package/src/services/indexing/plugins/list.ts +2 -3
  105. package/src/services/indexing/plugins/post.ts +3 -4
  106. package/src/services/indexing/plugins/repost.ts +2 -3
  107. package/src/services/indexing/plugins/thread-gate.ts +2 -3
  108. package/src/services/label/index.ts +2 -3
  109. package/src/services/moderation/index.ts +380 -395
  110. package/src/services/moderation/pagination.ts +96 -0
  111. package/src/services/moderation/status.ts +244 -0
  112. package/src/services/moderation/types.ts +49 -0
  113. package/src/services/moderation/views.ts +278 -329
  114. package/src/util/debug.ts +2 -2
  115. package/tests/__snapshots__/feed-generation.test.ts.snap +322 -6
  116. package/tests/__snapshots__/indexing.test.ts.snap +0 -6
  117. package/tests/admin/__snapshots__/get-record.test.ts.snap +30 -132
  118. package/tests/admin/__snapshots__/get-repo.test.ts.snap +14 -60
  119. package/tests/admin/__snapshots__/moderation-events.test.ts.snap +146 -0
  120. package/tests/admin/__snapshots__/moderation-statuses.test.ts.snap +64 -0
  121. package/tests/admin/__snapshots__/moderation.test.ts.snap +0 -125
  122. package/tests/admin/get-record.test.ts +5 -9
  123. package/tests/admin/get-repo.test.ts +5 -9
  124. package/tests/admin/moderation-events.test.ts +221 -0
  125. package/tests/admin/moderation-statuses.test.ts +145 -0
  126. package/tests/admin/moderation.test.ts +512 -860
  127. package/tests/admin/repo-search.test.ts +2 -3
  128. package/tests/auto-moderator/fuzzy-matcher.test.ts +2 -1
  129. package/tests/auto-moderator/takedowns.test.ts +45 -18
  130. package/tests/feed-generation.test.ts +57 -9
  131. package/tests/views/__snapshots__/block-lists.test.ts.snap +3 -9
  132. package/tests/views/__snapshots__/blocks.test.ts.snap +0 -9
  133. package/tests/views/__snapshots__/mute-lists.test.ts.snap +5 -5
  134. package/tests/views/__snapshots__/mutes.test.ts.snap +0 -3
  135. package/tests/views/__snapshots__/thread.test.ts.snap +0 -30
  136. package/tests/views/actor-search.test.ts +2 -3
  137. package/tests/views/author-feed.test.ts +42 -36
  138. package/tests/views/follows.test.ts +40 -35
  139. package/tests/views/list-feed.test.ts +17 -9
  140. package/tests/views/notifications.test.ts +13 -9
  141. package/tests/views/profile.test.ts +20 -18
  142. package/tests/views/thread.test.ts +54 -26
  143. package/tests/views/threadgating.test.ts +51 -19
  144. package/tests/views/timeline.test.ts +21 -13
  145. package/dist/api/com/atproto/admin/resolveModerationReports.d.ts +0 -3
  146. package/dist/api/com/atproto/admin/reverseModerationAction.d.ts +0 -3
  147. package/dist/api/com/atproto/admin/takeModerationAction.d.ts +0 -3
  148. package/dist/lexicon/types/com/atproto/admin/getModerationReport.d.ts +0 -29
  149. package/dist/lexicon/types/com/atproto/admin/resolveModerationReports.d.ts +0 -36
  150. package/dist/lexicon/types/com/atproto/admin/reverseModerationAction.d.ts +0 -36
  151. package/src/api/com/atproto/admin/getModerationAction.ts +0 -44
  152. package/src/api/com/atproto/admin/getModerationReport.ts +0 -43
  153. package/src/api/com/atproto/admin/resolveModerationReports.ts +0 -24
  154. package/src/api/com/atproto/admin/reverseModerationAction.ts +0 -115
  155. package/src/api/com/atproto/admin/takeModerationAction.ts +0 -156
  156. package/src/lexicon/types/com/atproto/admin/getModerationAction.ts +0 -41
  157. package/src/lexicon/types/com/atproto/admin/resolveModerationReports.ts +0 -49
  158. package/src/lexicon/types/com/atproto/admin/reverseModerationAction.ts +0 -49
  159. package/tests/admin/__snapshots__/get-moderation-action.test.ts.snap +0 -172
  160. package/tests/admin/__snapshots__/get-moderation-actions.test.ts.snap +0 -178
  161. package/tests/admin/__snapshots__/get-moderation-report.test.ts.snap +0 -177
  162. package/tests/admin/__snapshots__/get-moderation-reports.test.ts.snap +0 -307
  163. package/tests/admin/get-moderation-action.test.ts +0 -100
  164. package/tests/admin/get-moderation-actions.test.ts +0 -164
  165. package/tests/admin/get-moderation-report.test.ts +0 -100
  166. package/tests/admin/get-moderation-reports.test.ts +0 -332
  167. /package/dist/api/com/atproto/admin/{getModerationAction.d.ts → emitModerationEvent.d.ts} +0 -0
  168. /package/dist/api/com/atproto/admin/{getModerationActions.d.ts → getModerationEvent.d.ts} +0 -0
  169. /package/dist/api/com/atproto/admin/{getModerationReport.d.ts → queryModerationEvents.d.ts} +0 -0
  170. /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,6 +670,154 @@ export const schemaDict = {
716
670
  },
717
671
  },
718
672
  },
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',
683
+ description:
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.',
707
+ },
708
+ },
709
+ },
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.',
717
+ },
718
+ },
719
+ },
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
+ },
719
821
  },
720
822
  },
721
823
  ComAtprotoAdminDisableAccountInvites: {
@@ -777,121 +879,52 @@ export const schemaDict = {
777
879
  },
778
880
  },
779
881
  },
780
- ComAtprotoAdminEnableAccountInvites: {
882
+ ComAtprotoAdminEmitModerationEvent: {
781
883
  lexicon: 1,
782
- id: 'com.atproto.admin.enableAccountInvites',
884
+ id: 'com.atproto.admin.emitModerationEvent',
783
885
  defs: {
784
886
  main: {
785
887
  type: 'procedure',
786
- description: "Re-enable an account's ability to receive invite codes.",
888
+ description: 'Take a moderation action on an actor.',
787
889
  input: {
788
890
  encoding: 'application/json',
789
891
  schema: {
790
892
  type: 'object',
791
- required: ['account'],
893
+ required: ['event', 'subject', 'createdBy'],
792
894
  properties: {
793
- account: {
794
- type: 'string',
795
- format: 'did',
796
- },
797
- note: {
798
- type: 'string',
799
- description: 'Optional reason for enabled invites.',
895
+ event: {
896
+ type: 'union',
897
+ refs: [
898
+ 'lex:com.atproto.admin.defs#modEventTakedown',
899
+ 'lex:com.atproto.admin.defs#modEventAcknowledge',
900
+ 'lex:com.atproto.admin.defs#modEventEscalate',
901
+ 'lex:com.atproto.admin.defs#modEventComment',
902
+ 'lex:com.atproto.admin.defs#modEventLabel',
903
+ 'lex:com.atproto.admin.defs#modEventReport',
904
+ 'lex:com.atproto.admin.defs#modEventMute',
905
+ 'lex:com.atproto.admin.defs#modEventReverseTakedown',
906
+ 'lex:com.atproto.admin.defs#modEventUnmute',
907
+ 'lex:com.atproto.admin.defs#modEventEmail',
908
+ ],
800
909
  },
801
- },
802
- },
803
- },
804
- },
805
- },
806
- },
807
- ComAtprotoAdminGetAccountInfo: {
808
- lexicon: 1,
809
- id: 'com.atproto.admin.getAccountInfo',
810
- defs: {
811
- 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: {
825
- encoding: 'application/json',
826
- schema: {
827
- type: 'ref',
828
- ref: 'lex:com.atproto.admin.defs#accountView',
829
- },
830
- },
831
- },
832
- },
833
- },
834
- ComAtprotoAdminGetInviteCodes: {
835
- lexicon: 1,
836
- id: 'com.atproto.admin.getInviteCodes',
837
- defs: {
838
- 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: {
861
- encoding: 'application/json',
862
- schema: {
863
- type: 'object',
864
- required: ['codes'],
865
- properties: {
866
- cursor: {
867
- type: 'string',
910
+ subject: {
911
+ type: 'union',
912
+ refs: [
913
+ 'lex:com.atproto.admin.defs#repoRef',
914
+ 'lex:com.atproto.repo.strongRef',
915
+ ],
868
916
  },
869
- codes: {
917
+ subjectBlobCids: {
870
918
  type: 'array',
871
919
  items: {
872
- type: 'ref',
873
- ref: 'lex:com.atproto.server.defs#inviteCode',
920
+ type: 'string',
921
+ format: 'cid',
874
922
  },
875
923
  },
876
- },
877
- },
878
- },
879
- },
880
- },
881
- },
882
- ComAtprotoAdminGetModerationAction: {
883
- lexicon: 1,
884
- id: 'com.atproto.admin.getModerationAction',
885
- defs: {
886
- 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',
924
+ createdBy: {
925
+ type: 'string',
926
+ format: 'did',
927
+ },
895
928
  },
896
929
  },
897
930
  },
@@ -899,51 +932,37 @@ export const schemaDict = {
899
932
  encoding: 'application/json',
900
933
  schema: {
901
934
  type: 'ref',
902
- ref: 'lex:com.atproto.admin.defs#actionViewDetail',
935
+ ref: 'lex:com.atproto.admin.defs#modEventView',
903
936
  },
904
937
  },
938
+ errors: [
939
+ {
940
+ name: 'SubjectHasAction',
941
+ },
942
+ ],
905
943
  },
906
944
  },
907
945
  },
908
- ComAtprotoAdminGetModerationActions: {
946
+ ComAtprotoAdminEnableAccountInvites: {
909
947
  lexicon: 1,
910
- id: 'com.atproto.admin.getModerationActions',
948
+ id: 'com.atproto.admin.enableAccountInvites',
911
949
  defs: {
912
950
  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: {
951
+ type: 'procedure',
952
+ description: "Re-enable an account's ability to receive invite codes.",
953
+ input: {
933
954
  encoding: 'application/json',
934
955
  schema: {
935
956
  type: 'object',
936
- required: ['actions'],
957
+ required: ['account'],
937
958
  properties: {
938
- cursor: {
959
+ account: {
939
960
  type: 'string',
961
+ format: 'did',
940
962
  },
941
- actions: {
942
- type: 'array',
943
- items: {
944
- type: 'ref',
945
- ref: 'lex:com.atproto.admin.defs#actionView',
946
- },
963
+ note: {
964
+ type: 'string',
965
+ description: 'Optional reason for enabled invites.',
947
966
  },
948
967
  },
949
968
  },
@@ -951,19 +970,20 @@ export const schemaDict = {
951
970
  },
952
971
  },
953
972
  },
954
- ComAtprotoAdminGetModerationReport: {
973
+ ComAtprotoAdminGetAccountInfo: {
955
974
  lexicon: 1,
956
- id: 'com.atproto.admin.getModerationReport',
975
+ id: 'com.atproto.admin.getAccountInfo',
957
976
  defs: {
958
977
  main: {
959
978
  type: 'query',
960
- description: 'Get details about a moderation report.',
979
+ description: 'Get details about an account.',
961
980
  parameters: {
962
981
  type: 'params',
963
- required: ['id'],
982
+ required: ['did'],
964
983
  properties: {
965
- id: {
966
- type: 'integer',
984
+ did: {
985
+ type: 'string',
986
+ format: 'did',
967
987
  },
968
988
  },
969
989
  },
@@ -971,86 +991,52 @@ export const schemaDict = {
971
991
  encoding: 'application/json',
972
992
  schema: {
973
993
  type: 'ref',
974
- ref: 'lex:com.atproto.admin.defs#reportViewDetail',
994
+ ref: 'lex:com.atproto.admin.defs#accountView',
975
995
  },
976
996
  },
977
997
  },
978
998
  },
979
- },
980
- ComAtprotoAdminGetModerationReports: {
981
- lexicon: 1,
982
- id: 'com.atproto.admin.getModerationReports',
983
- defs: {
984
- main: {
985
- type: 'query',
986
- description: 'Get moderation reports related to a subject.',
987
- parameters: {
988
- type: 'params',
989
- 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: {
999
+ },
1000
+ ComAtprotoAdminGetInviteCodes: {
1001
+ lexicon: 1,
1002
+ id: 'com.atproto.admin.getInviteCodes',
1003
+ defs: {
1004
+ main: {
1005
+ type: 'query',
1006
+ description: 'Get an admin view of invite codes.',
1007
+ parameters: {
1008
+ type: 'params',
1009
+ properties: {
1010
+ sort: {
1016
1011
  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
- ],
1012
+ knownValues: ['recent', 'usage'],
1013
+ default: 'recent',
1023
1014
  },
1024
1015
  limit: {
1025
1016
  type: 'integer',
1026
1017
  minimum: 1,
1027
- maximum: 100,
1028
- default: 50,
1018
+ maximum: 500,
1019
+ default: 100,
1029
1020
  },
1030
1021
  cursor: {
1031
1022
  type: 'string',
1032
1023
  },
1033
- reverse: {
1034
- type: 'boolean',
1035
- description:
1036
- 'Reverse the order of the returned records. When true, returns reports in chronological order.',
1037
- },
1038
1024
  },
1039
1025
  },
1040
1026
  output: {
1041
1027
  encoding: 'application/json',
1042
1028
  schema: {
1043
1029
  type: 'object',
1044
- required: ['reports'],
1030
+ required: ['codes'],
1045
1031
  properties: {
1046
1032
  cursor: {
1047
1033
  type: 'string',
1048
1034
  },
1049
- reports: {
1035
+ codes: {
1050
1036
  type: 'array',
1051
1037
  items: {
1052
1038
  type: 'ref',
1053
- ref: 'lex:com.atproto.admin.defs#reportView',
1039
+ ref: 'lex:com.atproto.server.defs#inviteCode',
1054
1040
  },
1055
1041
  },
1056
1042
  },
@@ -1059,6 +1045,32 @@ export const schemaDict = {
1059
1045
  },
1060
1046
  },
1061
1047
  },
1048
+ ComAtprotoAdminGetModerationEvent: {
1049
+ lexicon: 1,
1050
+ id: 'com.atproto.admin.getModerationEvent',
1051
+ defs: {
1052
+ main: {
1053
+ type: 'query',
1054
+ description: 'Get details about a moderation event.',
1055
+ parameters: {
1056
+ type: 'params',
1057
+ required: ['id'],
1058
+ properties: {
1059
+ id: {
1060
+ type: 'integer',
1061
+ },
1062
+ },
1063
+ },
1064
+ output: {
1065
+ encoding: 'application/json',
1066
+ schema: {
1067
+ type: 'ref',
1068
+ ref: 'lex:com.atproto.admin.defs#modEventViewDetail',
1069
+ },
1070
+ },
1071
+ },
1072
+ },
1073
+ },
1062
1074
  ComAtprotoAdminGetRecord: {
1063
1075
  lexicon: 1,
1064
1076
  id: 'com.atproto.admin.getRecord',
@@ -1176,76 +1188,180 @@ export const schemaDict = {
1176
1188
  },
1177
1189
  },
1178
1190
  },
1179
- ComAtprotoAdminResolveModerationReports: {
1191
+ ComAtprotoAdminQueryModerationEvents: {
1180
1192
  lexicon: 1,
1181
- id: 'com.atproto.admin.resolveModerationReports',
1193
+ id: 'com.atproto.admin.queryModerationEvents',
1182
1194
  defs: {
1183
1195
  main: {
1184
- type: 'procedure',
1185
- description: 'Resolve moderation reports by an action.',
1186
- input: {
1196
+ type: 'query',
1197
+ description: 'List moderation events related to a subject.',
1198
+ parameters: {
1199
+ type: 'params',
1200
+ properties: {
1201
+ types: {
1202
+ type: 'array',
1203
+ items: {
1204
+ type: 'string',
1205
+ },
1206
+ description:
1207
+ '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.',
1208
+ },
1209
+ createdBy: {
1210
+ type: 'string',
1211
+ format: 'did',
1212
+ },
1213
+ sortDirection: {
1214
+ type: 'string',
1215
+ default: 'desc',
1216
+ enum: ['asc', 'desc'],
1217
+ description:
1218
+ 'Sort direction for the events. Defaults to descending order of created at timestamp.',
1219
+ },
1220
+ subject: {
1221
+ type: 'string',
1222
+ format: 'uri',
1223
+ },
1224
+ includeAllUserRecords: {
1225
+ type: 'boolean',
1226
+ default: false,
1227
+ description:
1228
+ 'If true, events on all record types (posts, lists, profile etc.) owned by the did are returned',
1229
+ },
1230
+ limit: {
1231
+ type: 'integer',
1232
+ minimum: 1,
1233
+ maximum: 100,
1234
+ default: 50,
1235
+ },
1236
+ cursor: {
1237
+ type: 'string',
1238
+ },
1239
+ },
1240
+ },
1241
+ output: {
1187
1242
  encoding: 'application/json',
1188
1243
  schema: {
1189
1244
  type: 'object',
1190
- required: ['actionId', 'reportIds', 'createdBy'],
1245
+ required: ['events'],
1191
1246
  properties: {
1192
- actionId: {
1193
- type: 'integer',
1247
+ cursor: {
1248
+ type: 'string',
1194
1249
  },
1195
- reportIds: {
1250
+ events: {
1196
1251
  type: 'array',
1197
1252
  items: {
1198
- type: 'integer',
1253
+ type: 'ref',
1254
+ ref: 'lex:com.atproto.admin.defs#modEventView',
1199
1255
  },
1200
1256
  },
1201
- createdBy: {
1202
- type: 'string',
1203
- format: 'did',
1204
- },
1205
1257
  },
1206
1258
  },
1207
1259
  },
1208
- output: {
1209
- encoding: 'application/json',
1210
- schema: {
1211
- type: 'ref',
1212
- ref: 'lex:com.atproto.admin.defs#actionView',
1213
- },
1214
- },
1215
1260
  },
1216
1261
  },
1217
1262
  },
1218
- ComAtprotoAdminReverseModerationAction: {
1263
+ ComAtprotoAdminQueryModerationStatuses: {
1219
1264
  lexicon: 1,
1220
- id: 'com.atproto.admin.reverseModerationAction',
1265
+ id: 'com.atproto.admin.queryModerationStatuses',
1221
1266
  defs: {
1222
1267
  main: {
1223
- type: 'procedure',
1224
- description: 'Reverse a moderation action.',
1225
- input: {
1226
- encoding: 'application/json',
1227
- schema: {
1228
- type: 'object',
1229
- required: ['id', 'reason', 'createdBy'],
1230
- properties: {
1231
- id: {
1232
- type: 'integer',
1233
- },
1234
- reason: {
1235
- type: 'string',
1236
- },
1237
- createdBy: {
1268
+ type: 'query',
1269
+ description: 'View moderation statuses of subjects (record or repo).',
1270
+ parameters: {
1271
+ type: 'params',
1272
+ properties: {
1273
+ subject: {
1274
+ type: 'string',
1275
+ format: 'uri',
1276
+ },
1277
+ comment: {
1278
+ type: 'string',
1279
+ description: 'Search subjects by keyword from comments',
1280
+ },
1281
+ reportedAfter: {
1282
+ type: 'string',
1283
+ format: 'datetime',
1284
+ description: 'Search subjects reported after a given timestamp',
1285
+ },
1286
+ reportedBefore: {
1287
+ type: 'string',
1288
+ format: 'datetime',
1289
+ description: 'Search subjects reported before a given timestamp',
1290
+ },
1291
+ reviewedAfter: {
1292
+ type: 'string',
1293
+ format: 'datetime',
1294
+ description: 'Search subjects reviewed after a given timestamp',
1295
+ },
1296
+ reviewedBefore: {
1297
+ type: 'string',
1298
+ format: 'datetime',
1299
+ description: 'Search subjects reviewed before a given timestamp',
1300
+ },
1301
+ includeMuted: {
1302
+ type: 'boolean',
1303
+ description:
1304
+ "By default, we don't include muted subjects in the results. Set this to true to include them.",
1305
+ },
1306
+ reviewState: {
1307
+ type: 'string',
1308
+ description: 'Specify when fetching subjects in a certain state',
1309
+ },
1310
+ ignoreSubjects: {
1311
+ type: 'array',
1312
+ items: {
1238
1313
  type: 'string',
1239
- format: 'did',
1314
+ format: 'uri',
1240
1315
  },
1241
1316
  },
1317
+ lastReviewedBy: {
1318
+ type: 'string',
1319
+ format: 'did',
1320
+ description:
1321
+ 'Get all subject statuses that were reviewed by a specific moderator',
1322
+ },
1323
+ sortField: {
1324
+ type: 'string',
1325
+ default: 'lastReportedAt',
1326
+ enum: ['lastReviewedAt', 'lastReportedAt'],
1327
+ },
1328
+ sortDirection: {
1329
+ type: 'string',
1330
+ default: 'desc',
1331
+ enum: ['asc', 'desc'],
1332
+ },
1333
+ takendown: {
1334
+ type: 'boolean',
1335
+ description: 'Get subjects that were taken down',
1336
+ },
1337
+ limit: {
1338
+ type: 'integer',
1339
+ minimum: 1,
1340
+ maximum: 100,
1341
+ default: 50,
1342
+ },
1343
+ cursor: {
1344
+ type: 'string',
1345
+ },
1242
1346
  },
1243
1347
  },
1244
1348
  output: {
1245
1349
  encoding: 'application/json',
1246
1350
  schema: {
1247
- type: 'ref',
1248
- ref: 'lex:com.atproto.admin.defs#actionView',
1351
+ type: 'object',
1352
+ required: ['subjectStatuses'],
1353
+ properties: {
1354
+ cursor: {
1355
+ type: 'string',
1356
+ },
1357
+ subjectStatuses: {
1358
+ type: 'array',
1359
+ items: {
1360
+ type: 'ref',
1361
+ ref: 'lex:com.atproto.admin.defs#subjectStatusView',
1362
+ },
1363
+ },
1364
+ },
1249
1365
  },
1250
1366
  },
1251
1367
  },
@@ -1312,7 +1428,7 @@ export const schemaDict = {
1312
1428
  encoding: 'application/json',
1313
1429
  schema: {
1314
1430
  type: 'object',
1315
- required: ['recipientDid', 'content'],
1431
+ required: ['recipientDid', 'content', 'senderDid'],
1316
1432
  properties: {
1317
1433
  recipientDid: {
1318
1434
  type: 'string',
@@ -1324,6 +1440,10 @@ export const schemaDict = {
1324
1440
  subject: {
1325
1441
  type: 'string',
1326
1442
  },
1443
+ senderDid: {
1444
+ type: 'string',
1445
+ format: 'did',
1446
+ },
1327
1447
  },
1328
1448
  },
1329
1449
  },
@@ -1342,83 +1462,6 @@ export const schemaDict = {
1342
1462
  },
1343
1463
  },
1344
1464
  },
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
1465
  ComAtprotoAdminUpdateAccountEmail: {
1423
1466
  lexicon: 1,
1424
1467
  id: 'com.atproto.admin.updateAccountEmail',
@@ -4892,6 +4935,9 @@ export const schemaDict = {
4892
4935
  type: 'string',
4893
4936
  format: 'at-uri',
4894
4937
  },
4938
+ replyDisabled: {
4939
+ type: 'boolean',
4940
+ },
4895
4941
  },
4896
4942
  },
4897
4943
  feedViewPost: {
@@ -4975,10 +5021,6 @@ export const schemaDict = {
4975
5021
  ],
4976
5022
  },
4977
5023
  },
4978
- viewer: {
4979
- type: 'ref',
4980
- ref: 'lex:app.bsky.feed.defs#viewerThreadState',
4981
- },
4982
5024
  },
4983
5025
  },
4984
5026
  notFoundPost: {
@@ -5027,14 +5069,6 @@ export const schemaDict = {
5027
5069
  },
5028
5070
  },
5029
5071
  },
5030
- viewerThreadState: {
5031
- type: 'object',
5032
- properties: {
5033
- canReply: {
5034
- type: 'boolean',
5035
- },
5036
- },
5037
- },
5038
5072
  generatorView: {
5039
5073
  type: 'object',
5040
5074
  required: ['uri', 'cid', 'did', 'creator', 'displayName', 'indexedAt'],
@@ -6389,8 +6423,12 @@ export const schemaDict = {
6389
6423
  },
6390
6424
  listItemView: {
6391
6425
  type: 'object',
6392
- required: ['subject'],
6426
+ required: ['uri', 'subject'],
6393
6427
  properties: {
6428
+ uri: {
6429
+ type: 'string',
6430
+ format: 'at-uri',
6431
+ },
6394
6432
  subject: {
6395
6433
  type: 'ref',
6396
6434
  ref: 'lex:app.bsky.actor.defs#profileView',
@@ -7636,23 +7674,20 @@ export const ids = {
7636
7674
  ComAtprotoAdminDisableAccountInvites:
7637
7675
  'com.atproto.admin.disableAccountInvites',
7638
7676
  ComAtprotoAdminDisableInviteCodes: 'com.atproto.admin.disableInviteCodes',
7677
+ ComAtprotoAdminEmitModerationEvent: 'com.atproto.admin.emitModerationEvent',
7639
7678
  ComAtprotoAdminEnableAccountInvites: 'com.atproto.admin.enableAccountInvites',
7640
7679
  ComAtprotoAdminGetAccountInfo: 'com.atproto.admin.getAccountInfo',
7641
7680
  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',
7681
+ ComAtprotoAdminGetModerationEvent: 'com.atproto.admin.getModerationEvent',
7646
7682
  ComAtprotoAdminGetRecord: 'com.atproto.admin.getRecord',
7647
7683
  ComAtprotoAdminGetRepo: 'com.atproto.admin.getRepo',
7648
7684
  ComAtprotoAdminGetSubjectStatus: 'com.atproto.admin.getSubjectStatus',
7649
- ComAtprotoAdminResolveModerationReports:
7650
- 'com.atproto.admin.resolveModerationReports',
7651
- ComAtprotoAdminReverseModerationAction:
7652
- 'com.atproto.admin.reverseModerationAction',
7685
+ ComAtprotoAdminQueryModerationEvents:
7686
+ 'com.atproto.admin.queryModerationEvents',
7687
+ ComAtprotoAdminQueryModerationStatuses:
7688
+ 'com.atproto.admin.queryModerationStatuses',
7653
7689
  ComAtprotoAdminSearchRepos: 'com.atproto.admin.searchRepos',
7654
7690
  ComAtprotoAdminSendEmail: 'com.atproto.admin.sendEmail',
7655
- ComAtprotoAdminTakeModerationAction: 'com.atproto.admin.takeModerationAction',
7656
7691
  ComAtprotoAdminUpdateAccountEmail: 'com.atproto.admin.updateAccountEmail',
7657
7692
  ComAtprotoAdminUpdateAccountHandle: 'com.atproto.admin.updateAccountHandle',
7658
7693
  ComAtprotoAdminUpdateSubjectStatus: 'com.atproto.admin.updateSubjectStatus',