@atproto/ozone 0.1.44 → 0.1.45

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 (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/api/moderation/emitEvent.d.ts.map +1 -1
  3. package/dist/api/moderation/emitEvent.js +3 -0
  4. package/dist/api/moderation/emitEvent.js.map +1 -1
  5. package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
  6. package/dist/api/moderation/queryStatuses.js +2 -1
  7. package/dist/api/moderation/queryStatuses.js.map +1 -1
  8. package/dist/api/util.d.ts.map +1 -1
  9. package/dist/api/util.js +11 -7
  10. package/dist/api/util.js.map +1 -1
  11. package/dist/lexicon/lexicons.d.ts +44 -0
  12. package/dist/lexicon/lexicons.d.ts.map +1 -1
  13. package/dist/lexicon/lexicons.js +44 -0
  14. package/dist/lexicon/lexicons.js.map +1 -1
  15. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +14 -0
  16. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  17. package/dist/lexicon/types/app/bsky/actor/defs.js +9 -1
  18. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  19. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -0
  20. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  21. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  22. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +3 -0
  23. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  24. package/dist/mod-service/index.d.ts +3 -1
  25. package/dist/mod-service/index.d.ts.map +1 -1
  26. package/dist/mod-service/index.js +48 -6
  27. package/dist/mod-service/index.js.map +1 -1
  28. package/dist/mod-service/views.d.ts.map +1 -1
  29. package/dist/mod-service/views.js +7 -0
  30. package/dist/mod-service/views.js.map +1 -1
  31. package/package.json +6 -6
  32. package/src/api/moderation/emitEvent.ts +4 -0
  33. package/src/api/moderation/queryStatuses.ts +2 -0
  34. package/src/api/util.ts +23 -7
  35. package/src/lexicon/lexicons.ts +48 -0
  36. package/src/lexicon/types/app/bsky/actor/defs.ts +23 -0
  37. package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -0
  38. package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +3 -0
  39. package/src/mod-service/index.ts +64 -4
  40. package/src/mod-service/views.ts +10 -0
  41. package/tests/ack-all-subjects-of-account.test.ts +131 -0
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/ozone",
3
- "version": "0.1.44",
3
+ "version": "0.1.45",
4
4
  "license": "MIT",
5
5
  "description": "Backend service for moderating the Bluesky network.",
6
6
  "keywords": [
@@ -32,14 +32,14 @@
32
32
  "structured-headers": "^1.0.1",
33
33
  "typed-emitter": "^2.1.0",
34
34
  "uint8arrays": "3.0.0",
35
- "@atproto/api": "^0.13.6",
36
- "@atproto/common": "^0.4.1",
35
+ "@atproto/api": "^0.13.7",
36
+ "@atproto/common": "^0.4.2",
37
37
  "@atproto/crypto": "^0.4.1",
38
38
  "@atproto/identity": "^0.4.1",
39
39
  "@atproto/lexicon": "^0.4.1",
40
40
  "@atproto/syntax": "^0.3.0",
41
- "@atproto/xrpc": "^0.6.1",
42
- "@atproto/xrpc-server": "^0.6.3"
41
+ "@atproto/xrpc": "^0.6.2",
42
+ "@atproto/xrpc-server": "^0.6.4"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@did-plc/server": "^0.0.1",
@@ -52,7 +52,7 @@
52
52
  "jest": "^28.1.2",
53
53
  "ts-node": "^10.8.2",
54
54
  "@atproto/lex-cli": "^0.5.0",
55
- "@atproto/pds": "^0.4.58"
55
+ "@atproto/pds": "^0.4.59"
56
56
  },
57
57
  "scripts": {
58
58
  "codegen": "lex gen-server --yes ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
@@ -162,6 +162,10 @@ const handleModerationEvent = async ({
162
162
  }
163
163
  }
164
164
 
165
+ if (isTakedownEvent && result.event.meta?.acknowledgeAccountSubjects) {
166
+ await moderationTxn.resolveSubjectsForAccount(subject.did, createdBy)
167
+ }
168
+
165
169
  if (isLabelEvent) {
166
170
  await moderationTxn.formatAndCreateLabels(
167
171
  result.event.subjectUri ?? result.event.subjectDid,
@@ -7,6 +7,7 @@ export default function (server: Server, ctx: AppContext) {
7
7
  auth: ctx.authVerifier.modOrAdminToken,
8
8
  handler: async ({ params }) => {
9
9
  const {
10
+ includeAllUserRecords,
10
11
  subject,
11
12
  takendown,
12
13
  appealed,
@@ -30,6 +31,7 @@ export default function (server: Server, ctx: AppContext) {
30
31
  const modService = ctx.modService(db)
31
32
  const results = await modService.getSubjectStatuses({
32
33
  reviewState: getReviewState(reviewState),
34
+ includeAllUserRecords,
33
35
  subject,
34
36
  takendown,
35
37
  appealed,
package/src/api/util.ts CHANGED
@@ -50,15 +50,31 @@ export const addAccountInfoToRepoViewDetail = (
50
50
  includeEmail = false,
51
51
  ): RepoViewDetail => {
52
52
  if (!accountInfo) return repoView
53
+ const {
54
+ email,
55
+ deactivatedAt,
56
+ emailConfirmedAt,
57
+ inviteNote,
58
+ invitedBy,
59
+ invites,
60
+ invitesDisabled,
61
+ // pick some duplicate/unwanted details out
62
+ did: _did,
63
+ handle: _handle,
64
+ indexedAt: _indexedAt,
65
+ relatedRecords: _relatedRecords,
66
+ ...otherAccountInfo
67
+ } = accountInfo
53
68
  return {
69
+ ...otherAccountInfo,
54
70
  ...repoView,
55
- email: includeEmail ? accountInfo.email : undefined,
56
- invitedBy: accountInfo.invitedBy,
57
- invitesDisabled: accountInfo.invitesDisabled,
58
- inviteNote: accountInfo.inviteNote,
59
- invites: accountInfo.invites,
60
- emailConfirmedAt: accountInfo.emailConfirmedAt,
61
- deactivatedAt: accountInfo.deactivatedAt,
71
+ email: includeEmail ? email : undefined,
72
+ invitedBy,
73
+ invitesDisabled,
74
+ inviteNote,
75
+ invites,
76
+ emailConfirmedAt,
77
+ deactivatedAt,
62
78
  }
63
79
  }
64
80
 
@@ -4572,6 +4572,15 @@ export const schemaDict = {
4572
4572
  maxLength: 100,
4573
4573
  },
4574
4574
  },
4575
+ nuxs: {
4576
+ description: 'Storage for NUXs the user has encountered.',
4577
+ type: 'array',
4578
+ maxLength: 100,
4579
+ items: {
4580
+ type: 'ref',
4581
+ ref: 'lex:app.bsky.actor.defs#nux',
4582
+ },
4583
+ },
4575
4584
  },
4576
4585
  },
4577
4586
  bskyAppProgressGuide: {
@@ -4586,6 +4595,34 @@ export const schemaDict = {
4586
4595
  },
4587
4596
  },
4588
4597
  },
4598
+ nux: {
4599
+ type: 'object',
4600
+ description: 'A new user experiences (NUX) storage object',
4601
+ required: ['id', 'completed'],
4602
+ properties: {
4603
+ id: {
4604
+ type: 'string',
4605
+ maxLength: 100,
4606
+ },
4607
+ completed: {
4608
+ type: 'boolean',
4609
+ default: false,
4610
+ },
4611
+ data: {
4612
+ description:
4613
+ 'Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters.',
4614
+ type: 'string',
4615
+ maxLength: 3000,
4616
+ maxGraphemes: 300,
4617
+ },
4618
+ expiresAt: {
4619
+ type: 'string',
4620
+ format: 'datetime',
4621
+ description:
4622
+ 'The date and time at which the NUX will expire and should be considered completed.',
4623
+ },
4624
+ },
4625
+ },
4589
4626
  },
4590
4627
  },
4591
4628
  AppBskyActorGetPreferences: {
@@ -10920,6 +10957,11 @@ export const schemaDict = {
10920
10957
  description:
10921
10958
  'Indicates how long the takedown should be in effect before automatically expiring.',
10922
10959
  },
10960
+ acknowledgeAccountSubjects: {
10961
+ type: 'boolean',
10962
+ description:
10963
+ 'If true, all other reports on content authored by this account will be resolved (acknowledged).',
10964
+ },
10923
10965
  },
10924
10966
  },
10925
10967
  modEventReverseTakedown: {
@@ -11731,9 +11773,15 @@ export const schemaDict = {
11731
11773
  parameters: {
11732
11774
  type: 'params',
11733
11775
  properties: {
11776
+ includeAllUserRecords: {
11777
+ type: 'boolean',
11778
+ description:
11779
+ "All subjects belonging to the account specified in the 'subject' param will be returned.",
11780
+ },
11734
11781
  subject: {
11735
11782
  type: 'string',
11736
11783
  format: 'uri',
11784
+ description: 'The subject to get the status for.',
11737
11785
  },
11738
11786
  comment: {
11739
11787
  type: 'string',
@@ -469,6 +469,8 @@ export interface BskyAppStatePref {
469
469
  activeProgressGuide?: BskyAppProgressGuide
470
470
  /** An array of tokens which identify nudges (modals, popups, tours, highlight dots) that should be shown to the user. */
471
471
  queuedNudges?: string[]
472
+ /** Storage for NUXs the user has encountered. */
473
+ nuxs?: Nux[]
472
474
  [k: string]: unknown
473
475
  }
474
476
 
@@ -501,3 +503,24 @@ export function isBskyAppProgressGuide(v: unknown): v is BskyAppProgressGuide {
501
503
  export function validateBskyAppProgressGuide(v: unknown): ValidationResult {
502
504
  return lexicons.validate('app.bsky.actor.defs#bskyAppProgressGuide', v)
503
505
  }
506
+
507
+ /** A new user experiences (NUX) storage object */
508
+ export interface Nux {
509
+ id: string
510
+ completed: boolean
511
+ /** Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. */
512
+ data?: string
513
+ /** The date and time at which the NUX will expire and should be considered completed. */
514
+ expiresAt?: string
515
+ [k: string]: unknown
516
+ }
517
+
518
+ export function isNux(v: unknown): v is Nux {
519
+ return (
520
+ isObj(v) && hasProp(v, '$type') && v.$type === 'app.bsky.actor.defs#nux'
521
+ )
522
+ }
523
+
524
+ export function validateNux(v: unknown): ValidationResult {
525
+ return lexicons.validate('app.bsky.actor.defs#nux', v)
526
+ }
@@ -162,6 +162,8 @@ export interface ModEventTakedown {
162
162
  comment?: string
163
163
  /** Indicates how long the takedown should be in effect before automatically expiring. */
164
164
  durationInHours?: number
165
+ /** If true, all other reports on content authored by this account will be resolved (acknowledged). */
166
+ acknowledgeAccountSubjects?: boolean
165
167
  [k: string]: unknown
166
168
  }
167
169
 
@@ -10,6 +10,9 @@ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
10
  import * as ToolsOzoneModerationDefs from './defs'
11
11
 
12
12
  export interface QueryParams {
13
+ /** All subjects belonging to the account specified in the 'subject' param will be returned. */
14
+ includeAllUserRecords?: boolean
15
+ /** The subject to get the status for. */
13
16
  subject?: string
14
17
  /** Search subjects by keyword from comments */
15
18
  comment?: string
@@ -3,7 +3,7 @@ import { Insertable, sql } from 'kysely'
3
3
  import { CID } from 'multiformats/cid'
4
4
  import { AtUri, INVALID_HANDLE } from '@atproto/syntax'
5
5
  import { InvalidRequestError } from '@atproto/xrpc-server'
6
- import { addHoursToDate } from '@atproto/common'
6
+ import { addHoursToDate, chunkArray } from '@atproto/common'
7
7
  import { Keypair } from '@atproto/crypto'
8
8
  import { IdResolver } from '@atproto/identity'
9
9
  import { AtpAgent } from '@atproto/api'
@@ -18,6 +18,8 @@ import {
18
18
  isModEventTakedown,
19
19
  isModEventEmail,
20
20
  isModEventTag,
21
+ REVIEWESCALATED,
22
+ REVIEWOPEN,
21
23
  } from '../lexicon/types/tools/ozone/moderation/defs'
22
24
  import { RepoRef, RepoBlobRef } from '../lexicon/types/com/atproto/admin/defs'
23
25
  import {
@@ -279,6 +281,52 @@ export class ModerationService {
279
281
  return await builder.execute()
280
282
  }
281
283
 
284
+ async resolveSubjectsForAccount(did: string, createdBy: string) {
285
+ const subjectsToBeResolved = await this.db.db
286
+ .selectFrom('moderation_subject_status')
287
+ .where('did', '=', did)
288
+ .where('recordPath', '!=', '')
289
+ .where('reviewState', 'in', [REVIEWESCALATED, REVIEWOPEN])
290
+ .selectAll()
291
+ .execute()
292
+
293
+ if (subjectsToBeResolved.length === 0) {
294
+ return
295
+ }
296
+
297
+ // Process subjects in chunks of 100 since each of these will trigger multiple db queries
298
+ for (const subjects of chunkArray(subjectsToBeResolved, 100)) {
299
+ await Promise.all(
300
+ subjects.map(async (subject) => {
301
+ const eventData = {
302
+ createdBy,
303
+ subject: subjectFromStatusRow(subject),
304
+ }
305
+ // For consistency's sake, when acknowledging appealed subjects, we should first resolve the appeal
306
+ if (subject.appealed) {
307
+ await this.logEvent({
308
+ event: {
309
+ $type: 'tools.ozone.moderation.defs#modEventResolveAppeal',
310
+ comment:
311
+ '[AUTO_RESOLVE_FOR_TAKENDOWN_ACCOUNT]: Automatically resolving all appealed content for a takendown account',
312
+ },
313
+ ...eventData,
314
+ })
315
+ }
316
+
317
+ await this.logEvent({
318
+ event: {
319
+ $type: 'tools.ozone.moderation.defs#modEventAcknowledge',
320
+ comment:
321
+ '[AUTO_RESOLVE_FOR_TAKENDOWN_ACCOUNT]: Automatically resolving all reported content for a takendown account',
322
+ },
323
+ ...eventData,
324
+ })
325
+ }),
326
+ )
327
+ }
328
+ }
329
+
282
330
  async logEvent(info: {
283
331
  event: ModEventType
284
332
  subject: ModSubject
@@ -320,6 +368,10 @@ export class ModerationService {
320
368
  }
321
369
  }
322
370
 
371
+ if (isModEventTakedown(event) && event.acknowledgeAccountSubjects) {
372
+ meta.acknowledgeAccountSubjects = true
373
+ }
374
+
323
375
  // Keep trace of reports that came in while the reporter was in muted stated
324
376
  if (isModEventReport(event)) {
325
377
  const isReportingMuted = await this.isReportingMutedForSubject(createdBy)
@@ -677,6 +729,7 @@ export class ModerationService {
677
729
  }
678
730
 
679
731
  async getSubjectStatuses({
732
+ includeAllUserRecords,
680
733
  cursor,
681
734
  limit = 50,
682
735
  takendown,
@@ -696,6 +749,7 @@ export class ModerationService {
696
749
  tags,
697
750
  excludeTags,
698
751
  }: {
752
+ includeAllUserRecords?: boolean
699
753
  cursor?: string
700
754
  limit?: number
701
755
  takendown?: boolean
@@ -720,13 +774,19 @@ export class ModerationService {
720
774
 
721
775
  if (subject) {
722
776
  const subjectInfo = getStatusIdentifierFromSubject(subject)
723
- builder = builder
724
- .where('moderation_subject_status.did', '=', subjectInfo.did)
725
- .where((qb) =>
777
+ builder = builder.where(
778
+ 'moderation_subject_status.did',
779
+ '=',
780
+ subjectInfo.did,
781
+ )
782
+
783
+ if (!includeAllUserRecords) {
784
+ builder = builder.where((qb) =>
726
785
  subjectInfo.recordPath
727
786
  ? qb.where('recordPath', '=', subjectInfo.recordPath)
728
787
  : qb.where('recordPath', '=', ''),
729
788
  )
789
+ }
730
790
  }
731
791
 
732
792
  if (ignoreSubjects?.length) {
@@ -122,6 +122,16 @@ export class ModerationViews {
122
122
  }
123
123
  }
124
124
 
125
+ if (
126
+ event.action === 'tools.ozone.moderation.defs#modEventTakedown' &&
127
+ event.meta?.acknowledgeAccountSubjects
128
+ ) {
129
+ eventView.event = {
130
+ ...eventView.event,
131
+ acknowledgeAccountSubjects: event.meta?.acknowledgeAccountSubjects,
132
+ }
133
+ }
134
+
125
135
  if (event.action === 'tools.ozone.moderation.defs#modEventLabel') {
126
136
  eventView.event = {
127
137
  ...eventView.event,
@@ -0,0 +1,131 @@
1
+ import {
2
+ TestNetwork,
3
+ RecordRef,
4
+ SeedClient,
5
+ basicSeed,
6
+ ModeratorClient,
7
+ } from '@atproto/dev-env'
8
+ import {
9
+ REASONAPPEAL,
10
+ REASONOTHER,
11
+ REASONSPAM,
12
+ } from '../src/lexicon/types/com/atproto/moderation/defs'
13
+ import {
14
+ REVIEWCLOSED,
15
+ REVIEWESCALATED,
16
+ REVIEWOPEN,
17
+ SubjectStatusView,
18
+ } from '../src/lexicon/types/tools/ozone/moderation/defs'
19
+ import { isRepoRef } from '../src/lexicon/types/com/atproto/admin/defs'
20
+ import { ComAtprotoRepoStrongRef } from '@atproto/api'
21
+
22
+ describe('moderation', () => {
23
+ let network: TestNetwork
24
+ let sc: SeedClient
25
+ let modClient: ModeratorClient
26
+
27
+ const repoSubject = (did: string) => ({
28
+ $type: 'com.atproto.admin.defs#repoRef',
29
+ did,
30
+ })
31
+
32
+ const recordSubject = (ref: RecordRef) => ({
33
+ $type: 'com.atproto.repo.strongRef',
34
+ uri: ref.uriStr,
35
+ cid: ref.cidStr,
36
+ })
37
+
38
+ beforeAll(async () => {
39
+ network = await TestNetwork.create({
40
+ dbPostgresSchema: 'ozone_ack_all_subjects_of_account',
41
+ })
42
+ sc = network.getSeedClient()
43
+ modClient = network.ozone.getModClient()
44
+ await basicSeed(sc)
45
+ await network.processAll()
46
+ })
47
+
48
+ afterAll(async () => {
49
+ await network.close()
50
+ })
51
+
52
+ it('acknowledges all open/escalated review subjects.', async () => {
53
+ const postOne = sc.posts[sc.dids.bob][0].ref
54
+ const postTwo = sc.posts[sc.dids.bob][1].ref
55
+ await Promise.all([
56
+ sc.createReport({
57
+ reasonType: REASONSPAM,
58
+ subject: repoSubject(sc.dids.bob),
59
+ reportedBy: sc.dids.alice,
60
+ }),
61
+ sc.createReport({
62
+ reasonType: REASONOTHER,
63
+ reason: 'defamation',
64
+ subject: recordSubject(postOne),
65
+ reportedBy: sc.dids.carol,
66
+ }),
67
+ sc.createReport({
68
+ reasonType: REASONOTHER,
69
+ reason: 'defamation',
70
+ subject: recordSubject(postTwo),
71
+ reportedBy: sc.dids.carol,
72
+ }),
73
+ ])
74
+
75
+ await modClient.emitEvent({
76
+ event: {
77
+ $type: 'tools.ozone.moderation.defs#modEventReport',
78
+ reportType: REASONAPPEAL,
79
+ },
80
+ subject: recordSubject(postTwo),
81
+ })
82
+
83
+ const { subjectStatuses: statusesBefore } = await modClient.queryStatuses({
84
+ subject: sc.dids.bob,
85
+ includeAllUserRecords: true,
86
+ })
87
+
88
+ await modClient.performTakedown({
89
+ subject: repoSubject(sc.dids.bob),
90
+ acknowledgeAccountSubjects: true,
91
+ })
92
+
93
+ const { subjectStatuses: statusesAfter } = await modClient.queryStatuses({
94
+ subject: sc.dids.bob,
95
+ includeAllUserRecords: true,
96
+ })
97
+
98
+ const getReviewStateBySubject = (subjects: SubjectStatusView[]) => {
99
+ const states = new Map<string, SubjectStatusView>()
100
+
101
+ subjects.forEach((item) => {
102
+ if (ComAtprotoRepoStrongRef.isMain(item.subject)) {
103
+ states.set(item.subject.uri, item)
104
+ } else if (isRepoRef(item.subject)) {
105
+ states.set(item.subject.did, item)
106
+ }
107
+ })
108
+
109
+ return states
110
+ }
111
+
112
+ const reviewStatesBefore = getReviewStateBySubject(statusesBefore)
113
+ const reviewStatesAfter = getReviewStateBySubject(statusesAfter)
114
+
115
+ // Check that review states before were different for different subjects
116
+ expect(reviewStatesBefore.get(postOne.uriStr)?.reviewState).toBe(REVIEWOPEN)
117
+ expect(reviewStatesBefore.get(postTwo.uriStr)?.reviewState).toBe(
118
+ REVIEWESCALATED,
119
+ )
120
+ expect(reviewStatesBefore.get(sc.dids.bob)?.reviewState).toBe(REVIEWOPEN)
121
+
122
+ // Check that review states after are all closed
123
+ expect(reviewStatesAfter.get(postOne.uriStr)?.reviewState).toBe(
124
+ REVIEWCLOSED,
125
+ )
126
+ expect(reviewStatesAfter.get(postTwo.uriStr)?.reviewState).toBe(
127
+ REVIEWCLOSED,
128
+ )
129
+ expect(reviewStatesAfter.get(sc.dids.bob)?.reviewState).toBe(REVIEWCLOSED)
130
+ })
131
+ })