@atproto/api 0.4.4 → 0.5.1

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 (64) hide show
  1. package/README.md +81 -0
  2. package/definitions/labels.json +212 -0
  3. package/definitions/locale/en/label-groups.json +38 -0
  4. package/definitions/locale/en/labels.json +366 -0
  5. package/definitions/locale/en/proposed-label-groups.json +38 -0
  6. package/definitions/locale/en/proposed-labels.json +632 -0
  7. package/definitions/moderation-behaviors.d.ts +48 -0
  8. package/definitions/post-moderation-behaviors.json +879 -0
  9. package/definitions/profile-moderation-behaviors.json +447 -0
  10. package/definitions/proposed-labels.json +326 -0
  11. package/dist/client/index.d.ts +3 -0
  12. package/dist/client/lexicons.d.ts +27 -1
  13. package/dist/client/types/app/bsky/unspecced/applyLabels.d.ts +18 -0
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.js +1401 -12
  16. package/dist/index.js.map +4 -4
  17. package/dist/moderation/accumulator.d.ts +14 -0
  18. package/dist/moderation/const/label-groups.d.ts +2 -0
  19. package/dist/moderation/const/labels.d.ts +2 -0
  20. package/dist/moderation/index.d.ts +44 -0
  21. package/dist/moderation/subjects/account.d.ts +3 -0
  22. package/dist/moderation/subjects/feed-generator.d.ts +2 -0
  23. package/dist/moderation/subjects/post.d.ts +2 -0
  24. package/dist/moderation/subjects/profile.d.ts +3 -0
  25. package/dist/moderation/subjects/quoted-post.d.ts +6 -0
  26. package/dist/moderation/subjects/user-list.d.ts +2 -0
  27. package/dist/moderation/types.d.ts +97 -0
  28. package/dist/moderation/util.d.ts +12 -0
  29. package/docs/labels.md +522 -0
  30. package/docs/moderation-behaviors/posts.md +1919 -0
  31. package/docs/moderation-behaviors/profiles.md +907 -0
  32. package/docs/moderation.md +144 -0
  33. package/package.json +5 -3
  34. package/scripts/code/label-groups.mjs +68 -0
  35. package/scripts/code/labels.mjs +68 -0
  36. package/scripts/docs/labels.mjs +164 -0
  37. package/scripts/docs/post-moderation-behaviors.mjs +122 -0
  38. package/scripts/docs/profile-moderation-behaviors.mjs +122 -0
  39. package/scripts/generate-code.mjs +4 -0
  40. package/scripts/generate-docs.mjs +5 -0
  41. package/src/client/index.ts +13 -0
  42. package/src/client/lexicons.ts +29 -3
  43. package/src/client/types/app/bsky/unspecced/applyLabels.ts +33 -0
  44. package/src/client/types/com/atproto/admin/enableAccountInvites.ts +1 -1
  45. package/src/client/types/com/atproto/moderation/defs.ts +1 -1
  46. package/src/index.ts +4 -0
  47. package/src/moderation/accumulator.ts +181 -0
  48. package/src/moderation/const/label-groups.ts +143 -0
  49. package/src/moderation/const/labels.ts +798 -0
  50. package/src/moderation/index.ts +343 -0
  51. package/src/moderation/subjects/account.ts +40 -0
  52. package/src/moderation/subjects/feed-generator.ts +13 -0
  53. package/src/moderation/subjects/post.ts +23 -0
  54. package/src/moderation/subjects/profile.ts +31 -0
  55. package/src/moderation/subjects/quoted-post.ts +62 -0
  56. package/src/moderation/subjects/user-list.ts +13 -0
  57. package/src/moderation/types.ts +141 -0
  58. package/src/moderation/util.ts +98 -0
  59. package/tests/post-moderation.test.ts +46 -0
  60. package/tests/profile-moderation.test.ts +46 -0
  61. package/tests/util/index.ts +176 -0
  62. package/tests/util/moderation-behavior.ts +180 -0
  63. package/tsconfig.build.tsbuildinfo +1 -1
  64. package/tests/_util.ts +0 -26
@@ -0,0 +1,326 @@
1
+ [
2
+ {
3
+ "id": "system",
4
+ "configurable": false,
5
+ "labels": [
6
+ {
7
+ "id": "!hide",
8
+ "preferences": ["hide"],
9
+ "flags": ["no-override"],
10
+ "onwarn": "blur"
11
+ },
12
+ {
13
+ "id": "!no-promote",
14
+ "preferences": ["hide"],
15
+ "flags": [],
16
+ "onwarn": null
17
+ },
18
+ {
19
+ "id": "!warn",
20
+ "preferences": ["warn"],
21
+ "flags": [],
22
+ "onwarn": "blur"
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ "id": "legal",
28
+ "configurable": false,
29
+ "labels": [
30
+ {
31
+ "id": "nudity-nonconsensual",
32
+ "preferences": ["hide"],
33
+ "flags": ["no-override"],
34
+ "onwarn": "blur"
35
+ },
36
+ {
37
+ "id": "dmca-violation",
38
+ "preferences": ["hide"],
39
+ "flags": ["no-override"],
40
+ "onwarn": "blur"
41
+ },
42
+ {
43
+ "id": "doxxing",
44
+ "preferences": ["hide"],
45
+ "flags": ["no-override"],
46
+ "onwarn": "blur"
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "id": "sexual",
52
+ "configurable": true,
53
+ "labels": [
54
+ {
55
+ "id": "porn",
56
+ "preferences": ["ignore", "warn", "hide"],
57
+ "flags": ["adult"],
58
+ "onwarn": "blur-media"
59
+ },
60
+ {
61
+ "id": "sexual",
62
+ "preferences": ["ignore", "warn", "hide"],
63
+ "flags": ["adult"],
64
+ "onwarn": "blur-media"
65
+ },
66
+ {
67
+ "id": "nudity",
68
+ "preferences": ["ignore", "warn", "hide"],
69
+ "flags": ["adult"],
70
+ "onwarn": "blur-media"
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "id": "violence",
76
+ "configurable": true,
77
+ "labels": [
78
+ {
79
+ "id": "nsfl",
80
+ "preferences": ["ignore", "warn", "hide"],
81
+ "flags": ["adult"],
82
+ "onwarn": "blur-media"
83
+ },
84
+ {
85
+ "id": "corpse",
86
+ "preferences": ["ignore", "warn", "hide"],
87
+ "flags": ["adult"],
88
+ "onwarn": "blur-media"
89
+ },
90
+ {
91
+ "id": "gore",
92
+ "preferences": ["ignore", "warn", "hide"],
93
+ "flags": ["adult"],
94
+ "onwarn": "blur-media"
95
+ },
96
+ {
97
+ "id": "torture",
98
+ "preferences": ["ignore", "warn", "hide"],
99
+ "flags": ["adult"],
100
+ "onwarn": "blur"
101
+ },
102
+ {
103
+ "id": "self-harm",
104
+ "preferences": ["ignore", "warn", "hide"],
105
+ "flags": ["adult"],
106
+ "onwarn": "blur-media"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "id": "intolerance",
112
+ "configurable": true,
113
+ "labels": [
114
+ {
115
+ "id": "intolerant-race",
116
+ "preferences": ["ignore", "warn", "hide"],
117
+ "flags": [],
118
+ "onwarn": "blur"
119
+ },
120
+ {
121
+ "id": "intolerant-gender",
122
+ "preferences": ["ignore", "warn", "hide"],
123
+ "flags": [],
124
+ "onwarn": "blur"
125
+ },
126
+ {
127
+ "id": "intolerant-sexual-orientation",
128
+ "preferences": ["ignore", "warn", "hide"],
129
+ "flags": [],
130
+ "onwarn": "blur"
131
+ },
132
+ {
133
+ "id": "intolerant-religion",
134
+ "preferences": ["ignore", "warn", "hide"],
135
+ "flags": [],
136
+ "onwarn": "blur"
137
+ },
138
+ {
139
+ "id": "intolerant",
140
+ "preferences": ["ignore", "warn", "hide"],
141
+ "flags": [],
142
+ "onwarn": "blur"
143
+ },
144
+ {
145
+ "id": "icon-intolerant",
146
+ "preferences": ["ignore", "warn", "hide"],
147
+ "flags": [],
148
+ "onwarn": "blur-media"
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "id": "rude",
154
+ "configurable": true,
155
+ "labels": [
156
+ {
157
+ "id": "trolling",
158
+ "preferences": ["ignore", "warn", "hide"],
159
+ "flags": [],
160
+ "onwarn": "blur"
161
+ },
162
+ {
163
+ "id": "harassment",
164
+ "preferences": ["ignore", "warn", "hide"],
165
+ "flags": [],
166
+ "onwarn": "blur"
167
+ },
168
+ {
169
+ "id": "bullying",
170
+ "preferences": ["ignore", "warn", "hide"],
171
+ "flags": [],
172
+ "onwarn": "blur"
173
+ },
174
+ {
175
+ "id": "threat",
176
+ "preferences": ["ignore", "warn", "hide"],
177
+ "flags": [],
178
+ "onwarn": "blur"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "id": "curation",
184
+ "configurable": true,
185
+ "labels": [
186
+ {
187
+ "id": "disgusting",
188
+ "preferences": ["ignore", "warn", "hide"],
189
+ "flags": [],
190
+ "onwarn": "blur"
191
+ },
192
+ {
193
+ "id": "upsetting",
194
+ "preferences": ["ignore", "warn", "hide"],
195
+ "flags": [],
196
+ "onwarn": "blur"
197
+ },
198
+ {
199
+ "id": "profane",
200
+ "preferences": ["ignore", "warn", "hide"],
201
+ "flags": [],
202
+ "onwarn": "blur"
203
+ },
204
+ {
205
+ "id": "politics",
206
+ "preferences": ["ignore", "warn", "hide"],
207
+ "flags": [],
208
+ "onwarn": "blur"
209
+ },
210
+ {
211
+ "id": "troubling",
212
+ "preferences": ["ignore", "warn", "hide"],
213
+ "flags": [],
214
+ "onwarn": "blur"
215
+ },
216
+ {
217
+ "id": "negative",
218
+ "preferences": ["ignore", "warn", "hide"],
219
+ "flags": [],
220
+ "onwarn": "blur"
221
+ },
222
+ {
223
+ "id": "discourse",
224
+ "preferences": ["ignore", "warn", "hide"],
225
+ "flags": [],
226
+ "onwarn": "blur"
227
+ },
228
+ {
229
+ "id": "spoiler",
230
+ "preferences": ["ignore", "warn", "hide"],
231
+ "flags": [],
232
+ "onwarn": "blur"
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "id": "spam",
238
+ "configurable": true,
239
+ "labels": [
240
+ {
241
+ "id": "spam",
242
+ "preferences": ["ignore", "warn", "hide"],
243
+ "flags": [],
244
+ "onwarn": "blur"
245
+ },
246
+ {
247
+ "id": "clickbait",
248
+ "preferences": ["ignore", "warn", "hide"],
249
+ "flags": [],
250
+ "onwarn": "blur"
251
+ },
252
+ {
253
+ "id": "shill",
254
+ "preferences": ["ignore", "warn", "hide"],
255
+ "flags": [],
256
+ "onwarn": "blur"
257
+ },
258
+ {
259
+ "id": "promotion",
260
+ "preferences": ["ignore", "warn", "hide"],
261
+ "flags": [],
262
+ "onwarn": "blur"
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "id": "misinfo",
268
+ "configurable": true,
269
+ "labels": [
270
+ {
271
+ "id": "account-security",
272
+ "preferences": ["ignore", "warn", "hide"],
273
+ "flags": [],
274
+ "onwarn": "blur"
275
+ },
276
+ {
277
+ "id": "net-abuse",
278
+ "preferences": ["ignore", "warn", "hide"],
279
+ "flags": [],
280
+ "onwarn": "blur"
281
+ },
282
+ {
283
+ "id": "impersonation",
284
+ "preferences": ["ignore", "warn", "hide"],
285
+ "flags": [],
286
+ "onwarn": "alert"
287
+ },
288
+ {
289
+ "id": "scam",
290
+ "preferences": ["ignore", "warn", "hide"],
291
+ "flags": [],
292
+ "onwarn": "alert"
293
+ },
294
+ {
295
+ "id": "misinformation",
296
+ "preferences": ["ignore", "warn", "hide"],
297
+ "flags": [],
298
+ "onwarn": "alert"
299
+ },
300
+ {
301
+ "id": "unverified",
302
+ "preferences": ["ignore", "warn", "hide"],
303
+ "flags": [],
304
+ "onwarn": "alert"
305
+ },
306
+ {
307
+ "id": "manipulated",
308
+ "preferences": ["ignore", "warn", "hide"],
309
+ "flags": [],
310
+ "onwarn": "alert"
311
+ },
312
+ {
313
+ "id": "fringe",
314
+ "preferences": ["ignore", "warn", "hide"],
315
+ "flags": [],
316
+ "onwarn": "alert"
317
+ },
318
+ {
319
+ "id": "bullshit",
320
+ "preferences": ["ignore", "warn", "hide"],
321
+ "flags": [],
322
+ "onwarn": "alert"
323
+ }
324
+ ]
325
+ }
326
+ ]
@@ -99,6 +99,7 @@ import * as AppBskyGraphUnmuteActorList from './types/app/bsky/graph/unmuteActor
99
99
  import * as AppBskyNotificationGetUnreadCount from './types/app/bsky/notification/getUnreadCount';
100
100
  import * as AppBskyNotificationListNotifications from './types/app/bsky/notification/listNotifications';
101
101
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen';
102
+ import * as AppBskyUnspeccedApplyLabels from './types/app/bsky/unspecced/applyLabels';
102
103
  import * as AppBskyUnspeccedGetPopular from './types/app/bsky/unspecced/getPopular';
103
104
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators';
104
105
  import * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton';
@@ -217,6 +218,7 @@ export * as AppBskyNotificationGetUnreadCount from './types/app/bsky/notificatio
217
218
  export * as AppBskyNotificationListNotifications from './types/app/bsky/notification/listNotifications';
218
219
  export * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen';
219
220
  export * as AppBskyRichtextFacet from './types/app/bsky/richtext/facet';
221
+ export * as AppBskyUnspeccedApplyLabels from './types/app/bsky/unspecced/applyLabels';
220
222
  export * as AppBskyUnspeccedGetPopular from './types/app/bsky/unspecced/getPopular';
221
223
  export * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators';
222
224
  export * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton';
@@ -626,6 +628,7 @@ export declare class RichtextNS {
626
628
  export declare class UnspeccedNS {
627
629
  _service: AtpServiceClient;
628
630
  constructor(service: AtpServiceClient);
631
+ applyLabels(data?: AppBskyUnspeccedApplyLabels.InputSchema, opts?: AppBskyUnspeccedApplyLabels.CallOptions): Promise<AppBskyUnspeccedApplyLabels.Response>;
629
632
  getPopular(params?: AppBskyUnspeccedGetPopular.QueryParams, opts?: AppBskyUnspeccedGetPopular.CallOptions): Promise<AppBskyUnspeccedGetPopular.Response>;
630
633
  getPopularFeedGenerators(params?: AppBskyUnspeccedGetPopularFeedGenerators.QueryParams, opts?: AppBskyUnspeccedGetPopularFeedGenerators.CallOptions): Promise<AppBskyUnspeccedGetPopularFeedGenerators.Response>;
631
634
  getTimelineSkeleton(params?: AppBskyUnspeccedGetTimelineSkeleton.QueryParams, opts?: AppBskyUnspeccedGetTimelineSkeleton.CallOptions): Promise<AppBskyUnspeccedGetTimelineSkeleton.Response>;
@@ -447,7 +447,6 @@ export declare const schemaDict: {
447
447
  };
448
448
  moderation: {
449
449
  type: string;
450
- required: never[];
451
450
  properties: {
452
451
  currentAction: {
453
452
  type: string;
@@ -5939,6 +5938,32 @@ export declare const schemaDict: {
5939
5938
  };
5940
5939
  };
5941
5940
  };
5941
+ AppBskyUnspeccedApplyLabels: {
5942
+ lexicon: number;
5943
+ id: string;
5944
+ defs: {
5945
+ main: {
5946
+ type: string;
5947
+ description: string;
5948
+ input: {
5949
+ encoding: string;
5950
+ schema: {
5951
+ type: string;
5952
+ required: string[];
5953
+ properties: {
5954
+ labels: {
5955
+ type: string;
5956
+ items: {
5957
+ type: string;
5958
+ ref: string;
5959
+ };
5960
+ };
5961
+ };
5962
+ };
5963
+ };
5964
+ };
5965
+ };
5966
+ };
5942
5967
  AppBskyUnspeccedGetPopular: {
5943
5968
  lexicon: number;
5944
5969
  id: string;
@@ -6197,6 +6222,7 @@ export declare const ids: {
6197
6222
  AppBskyNotificationListNotifications: string;
6198
6223
  AppBskyNotificationUpdateSeen: string;
6199
6224
  AppBskyRichtextFacet: string;
6225
+ AppBskyUnspeccedApplyLabels: string;
6200
6226
  AppBskyUnspeccedGetPopular: string;
6201
6227
  AppBskyUnspeccedGetPopularFeedGenerators: string;
6202
6228
  AppBskyUnspeccedGetTimelineSkeleton: string;
@@ -0,0 +1,18 @@
1
+ import { Headers } from '@atproto/xrpc';
2
+ import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs';
3
+ export interface QueryParams {
4
+ }
5
+ export interface InputSchema {
6
+ labels: ComAtprotoLabelDefs.Label[];
7
+ [k: string]: unknown;
8
+ }
9
+ export interface CallOptions {
10
+ headers?: Headers;
11
+ qp?: QueryParams;
12
+ encoding: 'application/json';
13
+ }
14
+ export interface Response {
15
+ success: boolean;
16
+ headers: Headers;
17
+ }
18
+ export declare function toKnownErr(e: any): any;
package/dist/index.d.ts CHANGED
@@ -7,5 +7,9 @@ export * from './agent';
7
7
  export * from './rich-text/rich-text';
8
8
  export * from './rich-text/sanitization';
9
9
  export * from './rich-text/unicode';
10
+ export * from './moderation';
11
+ export * from './moderation/types';
12
+ export { LABELS } from './moderation/const/labels';
13
+ export { LABEL_GROUPS } from './moderation/const/label-groups';
10
14
  export { BskyAgent } from './bsky-agent';
11
15
  export { AtpAgent as default } from './agent';