@atproto/ozone 0.1.60 → 0.1.62

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 (58) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/api/health.d.ts.map +1 -1
  3. package/dist/api/health.js +28 -0
  4. package/dist/api/health.js.map +1 -1
  5. package/dist/api/moderation/emitEvent.d.ts.map +1 -1
  6. package/dist/api/moderation/emitEvent.js +5 -1
  7. package/dist/api/moderation/emitEvent.js.map +1 -1
  8. package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
  9. package/dist/api/moderation/queryStatuses.js +4 -1
  10. package/dist/api/moderation/queryStatuses.js.map +1 -1
  11. package/dist/api/report/createReport.d.ts.map +1 -1
  12. package/dist/api/report/createReport.js +23 -1
  13. package/dist/api/report/createReport.js.map +1 -1
  14. package/dist/lexicon/index.d.ts +2 -2
  15. package/dist/lexicon/index.d.ts.map +1 -1
  16. package/dist/lexicon/lexicons.d.ts +36 -0
  17. package/dist/lexicon/lexicons.d.ts.map +1 -1
  18. package/dist/lexicon/lexicons.js +18 -0
  19. package/dist/lexicon/lexicons.js.map +1 -1
  20. package/dist/lexicon/types/com/atproto/server/createSession.d.ts +2 -0
  21. package/dist/lexicon/types/com/atproto/server/createSession.d.ts.map +1 -1
  22. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +6 -0
  23. package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  24. package/dist/mod-service/index.d.ts +6 -1
  25. package/dist/mod-service/index.d.ts.map +1 -1
  26. package/dist/mod-service/index.js +46 -2
  27. package/dist/mod-service/index.js.map +1 -1
  28. package/dist/tag-service/index.d.ts +1 -1
  29. package/dist/tag-service/index.d.ts.map +1 -1
  30. package/dist/tag-service/index.js +15 -6
  31. package/dist/tag-service/index.js.map +1 -1
  32. package/dist/tag-service/util.d.ts +3 -0
  33. package/dist/tag-service/util.d.ts.map +1 -0
  34. package/dist/tag-service/util.js +8 -0
  35. package/dist/tag-service/util.js.map +1 -0
  36. package/package.json +4 -4
  37. package/src/api/health.ts +32 -0
  38. package/src/api/moderation/emitEvent.ts +6 -1
  39. package/src/api/moderation/queryStatuses.ts +6 -0
  40. package/src/api/report/createReport.ts +44 -2
  41. package/src/lexicon/index.ts +2 -2
  42. package/src/lexicon/lexicons.ts +22 -0
  43. package/src/lexicon/types/com/atproto/server/createSession.ts +2 -0
  44. package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +6 -0
  45. package/src/mod-service/index.ts +65 -6
  46. package/src/tag-service/index.ts +16 -5
  47. package/src/tag-service/util.ts +5 -0
  48. package/tests/__snapshots__/get-record.test.ts.snap +4 -0
  49. package/tests/__snapshots__/get-records.test.ts.snap +2 -0
  50. package/tests/__snapshots__/get-repo.test.ts.snap +2 -0
  51. package/tests/__snapshots__/get-repos.test.ts.snap +2 -0
  52. package/tests/__snapshots__/moderation-events.test.ts.snap +7 -3
  53. package/tests/__snapshots__/moderation-statuses.test.ts.snap +6 -0
  54. package/tests/__snapshots__/moderation.test.ts.snap +4 -4
  55. package/tests/content-tagger.test.ts +29 -0
  56. package/tests/moderation-status-tags.test.ts +37 -0
  57. package/tests/report-muting.test.ts +1 -1
  58. package/tsconfig.build.tsbuildinfo +1 -1
@@ -2412,6 +2412,11 @@ export const schemaDict = {
2412
2412
  authFactorToken: {
2413
2413
  type: 'string',
2414
2414
  },
2415
+ allowTakendown: {
2416
+ type: 'boolean',
2417
+ description:
2418
+ 'When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned',
2419
+ },
2415
2420
  },
2416
2421
  },
2417
2422
  },
@@ -12377,6 +12382,20 @@ export const schemaDict = {
12377
12382
  parameters: {
12378
12383
  type: 'params',
12379
12384
  properties: {
12385
+ queueCount: {
12386
+ type: 'integer',
12387
+ description:
12388
+ 'Number of queues being used by moderators. Subjects will be split among all queues.',
12389
+ },
12390
+ queueIndex: {
12391
+ type: 'integer',
12392
+ description:
12393
+ 'Index of the queue to fetch subjects from. Works only when queueCount value is specified.',
12394
+ },
12395
+ queueSeed: {
12396
+ type: 'string',
12397
+ description: 'A seeder to shuffle/balance the queue items.',
12398
+ },
12380
12399
  includeAllUserRecords: {
12381
12400
  type: 'boolean',
12382
12401
  description:
@@ -12498,6 +12517,9 @@ export const schemaDict = {
12498
12517
  type: 'array',
12499
12518
  items: {
12500
12519
  type: 'string',
12520
+ maxLength: 25,
12521
+ description:
12522
+ 'Items in this array are applied with OR filters. To apply AND filter, put all tags in the same string and separate using && characters',
12501
12523
  },
12502
12524
  },
12503
12525
  excludeTags: {
@@ -15,6 +15,8 @@ export interface InputSchema {
15
15
  identifier: string
16
16
  password: string
17
17
  authFactorToken?: string
18
+ /** When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned */
19
+ allowTakendown?: boolean
18
20
  [k: string]: unknown
19
21
  }
20
22
 
@@ -10,6 +10,12 @@ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
10
  import * as ToolsOzoneModerationDefs from './defs'
11
11
 
12
12
  export interface QueryParams {
13
+ /** Number of queues being used by moderators. Subjects will be split among all queues. */
14
+ queueCount?: number
15
+ /** Index of the queue to fetch subjects from. Works only when queueCount value is specified. */
16
+ queueIndex?: number
17
+ /** A seeder to shuffle/balance the queue items. */
18
+ queueSeed?: string
13
19
  /** All subjects, or subjects from given 'collections' param, belonging to the account specified in the 'subject' param will be returned. */
14
20
  includeAllUserRecords?: boolean
15
21
  /** The subject to get the status for. */
@@ -1,5 +1,5 @@
1
1
  import net from 'node:net'
2
- import { Insertable, sql } from 'kysely'
2
+ import { Insertable, SelectQueryBuilder, 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'
@@ -791,7 +791,49 @@ export class ModerationService {
791
791
  return result
792
792
  }
793
793
 
794
+ applyTagFilter = (
795
+ builder: SelectQueryBuilder<any, any, any>,
796
+ tags: string[],
797
+ ) => {
798
+ const { ref } = this.db.db.dynamic
799
+ // Build an array of conditions
800
+ const conditions = tags
801
+ .map((tag) => {
802
+ if (tag.includes('&&')) {
803
+ // Split by '&&' for AND logic
804
+ const subTags = tag
805
+ .split('&&')
806
+ // Make sure spaces on either sides of '&&' are trimmed
807
+ .map((subTag) => subTag.trim())
808
+ // Remove empty strings after trimming is applied
809
+ .filter(Boolean)
810
+
811
+ if (!subTags.length) return null
812
+
813
+ return sql`(${sql.join(
814
+ subTags.map(
815
+ (subTag) =>
816
+ sql`${ref('moderation_subject_status.tags')} ? ${subTag}`,
817
+ ),
818
+ sql` AND `,
819
+ )})`
820
+ } else {
821
+ // Single tag condition
822
+ return sql`${ref('moderation_subject_status.tags')} ? ${tag}`
823
+ }
824
+ })
825
+ .filter(Boolean)
826
+
827
+ if (!conditions.length) return builder
828
+
829
+ // Combine all conditions with OR
830
+ return builder.where(sql`(${sql.join(conditions, sql` OR `)})`)
831
+ }
832
+
794
833
  async getSubjectStatuses({
834
+ queueCount,
835
+ queueIndex,
836
+ queueSeed = '',
795
837
  includeAllUserRecords,
796
838
  cursor,
797
839
  limit = 50,
@@ -819,6 +861,9 @@ export class ModerationService {
819
861
  collections,
820
862
  subjectType,
821
863
  }: {
864
+ queueCount?: number
865
+ queueIndex?: number
866
+ queueSeed?: string
822
867
  includeAllUserRecords?: boolean
823
868
  cursor?: string
824
869
  limit?: number
@@ -870,6 +915,24 @@ export class ModerationService {
870
915
  builder = builder.where('recordPath', '!=', '')
871
916
  }
872
917
 
918
+ // Only fetch items that belongs to the specified queue when specified
919
+ if (
920
+ !subject &&
921
+ queueCount &&
922
+ queueCount > 0 &&
923
+ queueIndex !== undefined &&
924
+ queueIndex >= 0 &&
925
+ queueIndex < queueCount
926
+ ) {
927
+ builder = builder.where(
928
+ queueSeed
929
+ ? sql`ABS(HASHTEXT(${queueSeed} || did)) % ${queueCount}`
930
+ : sql`ABS(HASHTEXT(did)) % ${queueCount}`,
931
+ '=',
932
+ queueIndex,
933
+ )
934
+ }
935
+
873
936
  // If subjectType is set to 'account' let that take priority and ignore collections filter
874
937
  if (collections.length && subjectType !== 'account') {
875
938
  builder = builder.where('recordPath', '!=', '').where((qb) => {
@@ -958,11 +1021,7 @@ export class ModerationService {
958
1021
  }
959
1022
 
960
1023
  if (tags.length) {
961
- builder = builder.where(
962
- sql`${ref('moderation_subject_status.tags')} ?| array[${sql.join(
963
- tags,
964
- )}]::TEXT[]`,
965
- )
1024
+ builder = this.applyTagFilter(builder, tags)
966
1025
  }
967
1026
 
968
1027
  if (excludeTags.length) {
@@ -22,15 +22,18 @@ export class TagService {
22
22
  ]
23
23
  }
24
24
 
25
- async evaluateForSubject() {
25
+ // Allow the caller to seed the initial tags
26
+ async evaluateForSubject(initialTags?: Iterable<string>) {
26
27
  try {
27
- const tags: string[] = []
28
+ const tags = new Set(initialTags)
28
29
 
29
30
  await Promise.all(
30
31
  this.taggers.map(async (tagger) => {
31
32
  try {
32
33
  const newTags = await tagger.getTags()
33
- if (newTags.length) tags.push(...newTags)
34
+ for (const newTag of newTags) {
35
+ tags.add(newTag)
36
+ }
34
37
  } catch (e) {
35
38
  // Don't let one tagger error stop the rest from running
36
39
  log.error(
@@ -41,11 +44,19 @@ export class TagService {
41
44
  }),
42
45
  )
43
46
 
44
- if (tags.length > 0) {
47
+ // Ensure that before inserting new tags, we discard any tag that may
48
+ // have been evaluated to be added but is already present in the subject
49
+ if (this.subjectStatus?.tags?.length) {
50
+ for (const tag of this.subjectStatus.tags) {
51
+ tags.delete(tag)
52
+ }
53
+ }
54
+
55
+ if (tags.size) {
45
56
  await this.moderationService.logEvent({
46
57
  event: {
47
58
  $type: 'tools.ozone.moderation.defs#modEventTag',
48
- add: tags,
59
+ add: [...tags],
49
60
  remove: [],
50
61
  },
51
62
  subject: this.subject,
@@ -0,0 +1,5 @@
1
+ import { ReasonType } from '../lexicon/types/com/atproto/moderation/defs'
2
+
3
+ export const getTagForReport = (reasonType: ReasonType) => {
4
+ return `report:${reasonType.replace('com.atproto.moderation.defs#reason', '').toLowerCase()}`
5
+ }
@@ -46,7 +46,9 @@ Object {
46
46
  "subjectBlobCids": Array [],
47
47
  "subjectRepoHandle": "alice.test",
48
48
  "tags": Array [
49
+ "report:spam",
49
50
  "lang:en",
51
+ "report:other",
50
52
  ],
51
53
  "takendown": true,
52
54
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -150,7 +152,9 @@ Object {
150
152
  "subjectBlobCids": Array [],
151
153
  "subjectRepoHandle": "alice.test",
152
154
  "tags": Array [
155
+ "report:spam",
153
156
  "lang:en",
157
+ "report:other",
154
158
  ],
155
159
  "takendown": true,
156
160
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -49,7 +49,9 @@ Object {
49
49
  "subjectBlobCids": Array [],
50
50
  "subjectRepoHandle": "alice.test",
51
51
  "tags": Array [
52
+ "report:spam",
52
53
  "lang:en",
54
+ "report:other",
53
55
  ],
54
56
  "takendown": true,
55
57
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -40,6 +40,8 @@ Object {
40
40
  "subjectRepoHandle": "alice.test",
41
41
  "tags": Array [
42
42
  "lang:und",
43
+ "report:spam",
44
+ "report:other",
43
45
  ],
44
46
  "takendown": true,
45
47
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -43,6 +43,8 @@ Object {
43
43
  "subjectRepoHandle": "alice.test",
44
44
  "tags": Array [
45
45
  "lang:und",
46
+ "report:spam",
47
+ "report:other",
46
48
  ],
47
49
  "takendown": true,
48
50
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -35,7 +35,9 @@ Object {
35
35
  "subjectBlobCids": Array [],
36
36
  "subjectRepoHandle": "alice.test",
37
37
  "tags": Array [
38
+ "report:misleading",
38
39
  "lang:und",
40
+ "report:spam",
39
41
  ],
40
42
  "takendown": false,
41
43
  "updatedAt": "1970-01-01T00:00:00.000Z",
@@ -101,6 +103,7 @@ Array [
101
103
  "event": Object {
102
104
  "$type": "tools.ozone.moderation.defs#modEventTag",
103
105
  "add": Array [
106
+ "report:spam",
104
107
  "lang:en",
105
108
  "lang:i",
106
109
  ],
@@ -163,6 +166,7 @@ Array [
163
166
  "event": Object {
164
167
  "$type": "tools.ozone.moderation.defs#modEventTag",
165
168
  "add": Array [
169
+ "report:spam",
166
170
  "lang:en",
167
171
  ],
168
172
  "remove": Array [],
@@ -210,7 +214,7 @@ Array [
210
214
  "isReporterMuted": false,
211
215
  "reportType": "com.atproto.moderation.defs#reasonSpam",
212
216
  },
213
- "id": 16,
217
+ "id": 17,
214
218
  "subject": Object {
215
219
  "$type": "com.atproto.admin.defs#repoRef",
216
220
  "did": "user(0)",
@@ -251,7 +255,7 @@ Array [
251
255
  "isReporterMuted": false,
252
256
  "reportType": "com.atproto.moderation.defs#reasonSpam",
253
257
  },
254
- "id": 16,
258
+ "id": 17,
255
259
  "subject": Object {
256
260
  "$type": "com.atproto.admin.defs#repoRef",
257
261
  "did": "user(0)",
@@ -292,7 +296,7 @@ Array [
292
296
  "isReporterMuted": false,
293
297
  "reportType": "com.atproto.moderation.defs#reasonSpam",
294
298
  },
295
- "id": 16,
299
+ "id": 17,
296
300
  "subject": Object {
297
301
  "$type": "com.atproto.admin.defs#repoRef",
298
302
  "did": "user(0)",
@@ -19,6 +19,7 @@ Array [
19
19
  "subjectBlobCids": Array [],
20
20
  "subjectRepoHandle": "bob.test",
21
21
  "tags": Array [
22
+ "report:spam",
22
23
  "lang:en",
23
24
  "lang:i",
24
25
  ],
@@ -41,6 +42,7 @@ Array [
41
42
  "subjectBlobCids": Array [],
42
43
  "subjectRepoHandle": "bob.test",
43
44
  "tags": Array [
45
+ "report:spam",
44
46
  "lang:en",
45
47
  "lang:i",
46
48
  ],
@@ -69,6 +71,7 @@ Array [
69
71
  "subjectBlobCids": Array [],
70
72
  "subjectRepoHandle": "bob.test",
71
73
  "tags": Array [
74
+ "report:spam",
72
75
  "lang:en",
73
76
  "lang:i",
74
77
  ],
@@ -91,6 +94,7 @@ Array [
91
94
  "subjectBlobCids": Array [],
92
95
  "subjectRepoHandle": "bob.test",
93
96
  "tags": Array [
97
+ "report:spam",
94
98
  "lang:en",
95
99
  "lang:i",
96
100
  ],
@@ -114,6 +118,7 @@ Array [
114
118
  "subjectBlobCids": Array [],
115
119
  "subjectRepoHandle": "alice.test",
116
120
  "tags": Array [
121
+ "report:spam",
117
122
  "lang:ha",
118
123
  ],
119
124
  "takendown": false,
@@ -135,6 +140,7 @@ Array [
135
140
  "subjectBlobCids": Array [],
136
141
  "subjectRepoHandle": "alice.test",
137
142
  "tags": Array [
143
+ "report:misleading",
138
144
  "lang:und",
139
145
  ],
140
146
  "takendown": false,
@@ -4,7 +4,7 @@ exports[`moderation reporting creates reports of a DM chat. 1`] = `
4
4
  Array [
5
5
  Object {
6
6
  "createdAt": "1970-01-01T00:00:00.000Z",
7
- "id": 12,
7
+ "id": 14,
8
8
  "reasonType": "com.atproto.moderation.defs#reasonSpam",
9
9
  "reportedBy": "user(0)",
10
10
  "subject": Object {
@@ -16,7 +16,7 @@ Array [
16
16
  },
17
17
  Object {
18
18
  "createdAt": "1970-01-01T00:00:00.000Z",
19
- "id": 14,
19
+ "id": 16,
20
20
  "reason": "defamation",
21
21
  "reasonType": "com.atproto.moderation.defs#reasonOther",
22
22
  "reportedBy": "user(1)",
@@ -34,7 +34,7 @@ exports[`moderation reporting creates reports of a record. 1`] = `
34
34
  Array [
35
35
  Object {
36
36
  "createdAt": "1970-01-01T00:00:00.000Z",
37
- "id": 5,
37
+ "id": 7,
38
38
  "reasonType": "com.atproto.moderation.defs#reasonSpam",
39
39
  "reportedBy": "user(0)",
40
40
  "subject": Object {
@@ -45,7 +45,7 @@ Array [
45
45
  },
46
46
  Object {
47
47
  "createdAt": "1970-01-01T00:00:00.000Z",
48
- "id": 7,
48
+ "id": 9,
49
49
  "reason": "defamation",
50
50
  "reasonType": "com.atproto.moderation.defs#reasonOther",
51
51
  "reportedBy": "user(1)",
@@ -5,6 +5,7 @@ import {
5
5
  basicSeed,
6
6
  } from '@atproto/dev-env'
7
7
  import { REASONSPAM } from '../src/lexicon/types/com/atproto/moderation/defs'
8
+ import { REASONMISLEADING } from '../dist/lexicon/types/com/atproto/moderation/defs'
8
9
 
9
10
  describe('moderation subject content tagging', () => {
10
11
  let network: TestNetwork
@@ -138,4 +139,32 @@ describe('moderation subject content tagging', () => {
138
139
  expect(imagePostStatus.tags).toContain('embed:image')
139
140
  })
140
141
  })
142
+
143
+ describe('report tagger', () => {
144
+ it('Adds report reason tag', async () => {
145
+ await Promise.all([
146
+ sc.createReport({
147
+ reasonType: REASONSPAM,
148
+ subject: {
149
+ $type: 'com.atproto.admin.defs#repoRef',
150
+ did: sc.dids.carol,
151
+ },
152
+ reportedBy: sc.dids.alice,
153
+ }),
154
+ sc.createReport({
155
+ reasonType: REASONMISLEADING,
156
+ subject: {
157
+ $type: 'com.atproto.admin.defs#repoRef',
158
+ did: sc.dids.carol,
159
+ },
160
+ reportedBy: sc.dids.alice,
161
+ }),
162
+ ])
163
+
164
+ const accountStatus = await getStatus(sc.dids.carol)
165
+
166
+ expect(accountStatus.tags).toContain('report:spam')
167
+ expect(accountStatus.tags).toContain('report:misleading')
168
+ })
169
+ })
141
170
  })
@@ -71,5 +71,42 @@ describe('moderation-status-tags', () => {
71
71
  'follow-churn',
72
72
  )
73
73
  })
74
+
75
+ it('allows filtering by tags', async () => {
76
+ await modClient.emitEvent({
77
+ subject: {
78
+ $type: 'com.atproto.admin.defs#repoRef',
79
+ did: sc.dids.alice,
80
+ },
81
+ event: {
82
+ $type: 'tools.ozone.moderation.defs#modEventTag',
83
+ add: ['report:spam', 'lang:ja', 'lang:en'],
84
+ remove: [],
85
+ },
86
+ })
87
+ const [englishAndJapaneseQueue, englishOrJapaneseQueue] =
88
+ await Promise.all([
89
+ modClient.queryStatuses({
90
+ tags: ['lang:ja&&lang:en'],
91
+ }),
92
+ modClient.queryStatuses({
93
+ tags: ['report:ja', 'lang:en'],
94
+ }),
95
+ ])
96
+
97
+ // Verify that the queue only contains 1 item with both en and ja tags which is alice's account
98
+ expect(englishAndJapaneseQueue.subjectStatuses.length).toEqual(1)
99
+ expect(englishAndJapaneseQueue.subjectStatuses[0].subject.did).toEqual(
100
+ sc.dids.alice,
101
+ )
102
+
103
+ // Verify that when querying for either en or ja tags, both alice and bob are returned
104
+ expect(englishOrJapaneseQueue.subjectStatuses.length).toEqual(2)
105
+ const englishOrJapaneseDids = englishOrJapaneseQueue.subjectStatuses.map(
106
+ ({ subject }) => subject.did,
107
+ )
108
+ expect(englishOrJapaneseDids).toContain(sc.dids.alice)
109
+ expect(englishOrJapaneseDids).toContain(sc.dids.bob)
110
+ })
74
111
  })
75
112
  })
@@ -69,7 +69,7 @@ describe('report-muting', () => {
69
69
  })
70
70
 
71
71
  // Verify that a subject status was not created for bob's post since the reporter was muted
72
- await assertSubjectStatus(bobsPostSubject.uri, undefined)
72
+ await assertSubjectStatus(bobsPostSubject.uri, REVIEWNONE)
73
73
  // Verify, however, that the event was logged
74
74
  await modClient.queryEvents({
75
75
  subject: bobsPostSubject.uri,
@@ -1 +1 @@
1
- {"root":["./src/auth-verifier.ts","./src/background.ts","./src/context.ts","./src/error.ts","./src/image-invalidator.ts","./src/index.ts","./src/logger.ts","./src/util.ts","./src/api/health.ts","./src/api/index.ts","./src/api/proxied.ts","./src/api/util.ts","./src/api/well-known.ts","./src/api/chat/getActorMetadata.ts","./src/api/chat/getMessageContext.ts","./src/api/chat/index.ts","./src/api/communication/createTemplate.ts","./src/api/communication/deleteTemplate.ts","./src/api/communication/listTemplates.ts","./src/api/communication/updateTemplate.ts","./src/api/label/fetchLabels.ts","./src/api/label/queryLabels.ts","./src/api/label/subscribeLabels.ts","./src/api/moderation/emitEvent.ts","./src/api/moderation/getEvent.ts","./src/api/moderation/getRecord.ts","./src/api/moderation/getRecords.ts","./src/api/moderation/getRepo.ts","./src/api/moderation/getRepos.ts","./src/api/moderation/queryEvents.ts","./src/api/moderation/queryStatuses.ts","./src/api/moderation/searchRepos.ts","./src/api/report/createReport.ts","./src/api/server/getConfig.ts","./src/api/set/addValues.ts","./src/api/set/deleteSet.ts","./src/api/set/deleteValues.ts","./src/api/set/getValues.ts","./src/api/set/querySets.ts","./src/api/set/upsertSet.ts","./src/api/setting/listOptions.ts","./src/api/setting/removeOptions.ts","./src/api/setting/upsertOption.ts","./src/api/team/addMember.ts","./src/api/team/deleteMember.ts","./src/api/team/listMembers.ts","./src/api/team/updateMember.ts","./src/communication-service/template.ts","./src/communication-service/util.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/daemon/blob-diverter.ts","./src/daemon/context.ts","./src/daemon/event-pusher.ts","./src/daemon/event-reverser.ts","./src/daemon/index.ts","./src/db/index.ts","./src/db/pagination.ts","./src/db/types.ts","./src/db/migrations/20231219T205730722Z-init.ts","./src/db/migrations/20240116T085607200Z-communication-template.ts","./src/db/migrations/20240201T051104136Z-mod-event-blobs.ts","./src/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.ts","./src/db/migrations/20240228T003647759Z-add-label-sigs.ts","./src/db/migrations/20240408T192432676Z-mute-reporting.ts","./src/db/migrations/20240506T225055595Z-message-subject.ts","./src/db/migrations/20240521T211332580Z-member.ts","./src/db/migrations/20240814T003647759Z-event-created-at-index.ts","./src/db/migrations/20240903T205730722Z-add-template-lang.ts","./src/db/migrations/20240904T205730722Z-add-subject-did-index.ts","./src/db/migrations/20241001T205730722Z-subject-status-review-state-index.ts","./src/db/migrations/20241008T205730722Z-sets.ts","./src/db/migrations/20241018T205730722Z-setting.ts","./src/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.ts","./src/db/migrations/index.ts","./src/db/migrations/provider.ts","./src/db/schema/blob_push_event.ts","./src/db/schema/communication_template.ts","./src/db/schema/index.ts","./src/db/schema/label.ts","./src/db/schema/member.ts","./src/db/schema/moderation_event.ts","./src/db/schema/moderation_subject_status.ts","./src/db/schema/ozone_set.ts","./src/db/schema/record_push_event.ts","./src/db/schema/repo_push_event.ts","./src/db/schema/setting.ts","./src/db/schema/signing_key.ts","./src/lexicon/index.ts","./src/lexicon/lexicons.ts","./src/lexicon/util.ts","./src/lexicon/types/app/bsky/actor/defs.ts","./src/lexicon/types/app/bsky/actor/getPreferences.ts","./src/lexicon/types/app/bsky/actor/getProfile.ts","./src/lexicon/types/app/bsky/actor/getProfiles.ts","./src/lexicon/types/app/bsky/actor/getSuggestions.ts","./src/lexicon/types/app/bsky/actor/profile.ts","./src/lexicon/types/app/bsky/actor/putPreferences.ts","./src/lexicon/types/app/bsky/actor/searchActors.ts","./src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts","./src/lexicon/types/app/bsky/embed/defs.ts","./src/lexicon/types/app/bsky/embed/external.ts","./src/lexicon/types/app/bsky/embed/images.ts","./src/lexicon/types/app/bsky/embed/record.ts","./src/lexicon/types/app/bsky/embed/recordWithMedia.ts","./src/lexicon/types/app/bsky/embed/video.ts","./src/lexicon/types/app/bsky/feed/defs.ts","./src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/generator.ts","./src/lexicon/types/app/bsky/feed/getActorFeeds.ts","./src/lexicon/types/app/bsky/feed/getActorLikes.ts","./src/lexicon/types/app/bsky/feed/getAuthorFeed.ts","./src/lexicon/types/app/bsky/feed/getFeed.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerators.ts","./src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts","./src/lexicon/types/app/bsky/feed/getLikes.ts","./src/lexicon/types/app/bsky/feed/getListFeed.ts","./src/lexicon/types/app/bsky/feed/getPostThread.ts","./src/lexicon/types/app/bsky/feed/getPosts.ts","./src/lexicon/types/app/bsky/feed/getQuotes.ts","./src/lexicon/types/app/bsky/feed/getRepostedBy.ts","./src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/feed/getTimeline.ts","./src/lexicon/types/app/bsky/feed/like.ts","./src/lexicon/types/app/bsky/feed/post.ts","./src/lexicon/types/app/bsky/feed/postgate.ts","./src/lexicon/types/app/bsky/feed/repost.ts","./src/lexicon/types/app/bsky/feed/searchPosts.ts","./src/lexicon/types/app/bsky/feed/sendInteractions.ts","./src/lexicon/types/app/bsky/feed/threadgate.ts","./src/lexicon/types/app/bsky/graph/block.ts","./src/lexicon/types/app/bsky/graph/defs.ts","./src/lexicon/types/app/bsky/graph/follow.ts","./src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getBlocks.ts","./src/lexicon/types/app/bsky/graph/getFollowers.ts","./src/lexicon/types/app/bsky/graph/getFollows.ts","./src/lexicon/types/app/bsky/graph/getKnownFollowers.ts","./src/lexicon/types/app/bsky/graph/getList.ts","./src/lexicon/types/app/bsky/graph/getListBlocks.ts","./src/lexicon/types/app/bsky/graph/getListMutes.ts","./src/lexicon/types/app/bsky/graph/getLists.ts","./src/lexicon/types/app/bsky/graph/getMutes.ts","./src/lexicon/types/app/bsky/graph/getRelationships.ts","./src/lexicon/types/app/bsky/graph/getStarterPack.ts","./src/lexicon/types/app/bsky/graph/getStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/lexicon/types/app/bsky/graph/list.ts","./src/lexicon/types/app/bsky/graph/listblock.ts","./src/lexicon/types/app/bsky/graph/listitem.ts","./src/lexicon/types/app/bsky/graph/muteActor.ts","./src/lexicon/types/app/bsky/graph/muteActorList.ts","./src/lexicon/types/app/bsky/graph/muteThread.ts","./src/lexicon/types/app/bsky/graph/searchStarterPacks.ts","./src/lexicon/types/app/bsky/graph/starterpack.ts","./src/lexicon/types/app/bsky/graph/unmuteActor.ts","./src/lexicon/types/app/bsky/graph/unmuteActorList.ts","./src/lexicon/types/app/bsky/graph/unmuteThread.ts","./src/lexicon/types/app/bsky/labeler/defs.ts","./src/lexicon/types/app/bsky/labeler/getServices.ts","./src/lexicon/types/app/bsky/labeler/service.ts","./src/lexicon/types/app/bsky/notification/getUnreadCount.ts","./src/lexicon/types/app/bsky/notification/listNotifications.ts","./src/lexicon/types/app/bsky/notification/putPreferences.ts","./src/lexicon/types/app/bsky/notification/registerPush.ts","./src/lexicon/types/app/bsky/notification/updateSeen.ts","./src/lexicon/types/app/bsky/richtext/facet.ts","./src/lexicon/types/app/bsky/unspecced/defs.ts","./src/lexicon/types/app/bsky/unspecced/getConfig.ts","./src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts","./src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/addReservedHandle.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/lexicon/types/tools/ozone/communication/createTemplate.ts","./src/lexicon/types/tools/ozone/communication/defs.ts","./src/lexicon/types/tools/ozone/communication/deleteTemplate.ts","./src/lexicon/types/tools/ozone/communication/listTemplates.ts","./src/lexicon/types/tools/ozone/communication/updateTemplate.ts","./src/lexicon/types/tools/ozone/moderation/defs.ts","./src/lexicon/types/tools/ozone/moderation/emitEvent.ts","./src/lexicon/types/tools/ozone/moderation/getEvent.ts","./src/lexicon/types/tools/ozone/moderation/getRecord.ts","./src/lexicon/types/tools/ozone/moderation/getRecords.ts","./src/lexicon/types/tools/ozone/moderation/getRepo.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/queryEvents.ts","./src/lexicon/types/tools/ozone/moderation/queryStatuses.ts","./src/lexicon/types/tools/ozone/moderation/searchRepos.ts","./src/lexicon/types/tools/ozone/server/getConfig.ts","./src/lexicon/types/tools/ozone/set/addValues.ts","./src/lexicon/types/tools/ozone/set/defs.ts","./src/lexicon/types/tools/ozone/set/deleteSet.ts","./src/lexicon/types/tools/ozone/set/deleteValues.ts","./src/lexicon/types/tools/ozone/set/getValues.ts","./src/lexicon/types/tools/ozone/set/querySets.ts","./src/lexicon/types/tools/ozone/set/upsertSet.ts","./src/lexicon/types/tools/ozone/setting/defs.ts","./src/lexicon/types/tools/ozone/setting/listOptions.ts","./src/lexicon/types/tools/ozone/setting/removeOptions.ts","./src/lexicon/types/tools/ozone/setting/upsertOption.ts","./src/lexicon/types/tools/ozone/signature/defs.ts","./src/lexicon/types/tools/ozone/signature/findCorrelation.ts","./src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts","./src/lexicon/types/tools/ozone/signature/searchAccounts.ts","./src/lexicon/types/tools/ozone/team/addMember.ts","./src/lexicon/types/tools/ozone/team/defs.ts","./src/lexicon/types/tools/ozone/team/deleteMember.ts","./src/lexicon/types/tools/ozone/team/listMembers.ts","./src/lexicon/types/tools/ozone/team/updateMember.ts","./src/mod-service/index.ts","./src/mod-service/status.ts","./src/mod-service/subject.ts","./src/mod-service/types.ts","./src/mod-service/util.ts","./src/mod-service/views.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/set/service.ts","./src/setting/constants.ts","./src/setting/service.ts","./src/setting/types.ts","./src/setting/validators.ts","./src/tag-service/content-tagger.ts","./src/tag-service/embed-tagger.ts","./src/tag-service/index.ts","./src/tag-service/language-data.ts","./src/tag-service/language-tagger.ts","./src/team/index.ts"],"version":"5.6.3"}
1
+ {"root":["./src/auth-verifier.ts","./src/background.ts","./src/context.ts","./src/error.ts","./src/image-invalidator.ts","./src/index.ts","./src/logger.ts","./src/util.ts","./src/api/health.ts","./src/api/index.ts","./src/api/proxied.ts","./src/api/util.ts","./src/api/well-known.ts","./src/api/chat/getActorMetadata.ts","./src/api/chat/getMessageContext.ts","./src/api/chat/index.ts","./src/api/communication/createTemplate.ts","./src/api/communication/deleteTemplate.ts","./src/api/communication/listTemplates.ts","./src/api/communication/updateTemplate.ts","./src/api/label/fetchLabels.ts","./src/api/label/queryLabels.ts","./src/api/label/subscribeLabels.ts","./src/api/moderation/emitEvent.ts","./src/api/moderation/getEvent.ts","./src/api/moderation/getRecord.ts","./src/api/moderation/getRecords.ts","./src/api/moderation/getRepo.ts","./src/api/moderation/getRepos.ts","./src/api/moderation/queryEvents.ts","./src/api/moderation/queryStatuses.ts","./src/api/moderation/searchRepos.ts","./src/api/report/createReport.ts","./src/api/server/getConfig.ts","./src/api/set/addValues.ts","./src/api/set/deleteSet.ts","./src/api/set/deleteValues.ts","./src/api/set/getValues.ts","./src/api/set/querySets.ts","./src/api/set/upsertSet.ts","./src/api/setting/listOptions.ts","./src/api/setting/removeOptions.ts","./src/api/setting/upsertOption.ts","./src/api/team/addMember.ts","./src/api/team/deleteMember.ts","./src/api/team/listMembers.ts","./src/api/team/updateMember.ts","./src/communication-service/template.ts","./src/communication-service/util.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/daemon/blob-diverter.ts","./src/daemon/context.ts","./src/daemon/event-pusher.ts","./src/daemon/event-reverser.ts","./src/daemon/index.ts","./src/db/index.ts","./src/db/pagination.ts","./src/db/types.ts","./src/db/migrations/20231219T205730722Z-init.ts","./src/db/migrations/20240116T085607200Z-communication-template.ts","./src/db/migrations/20240201T051104136Z-mod-event-blobs.ts","./src/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.ts","./src/db/migrations/20240228T003647759Z-add-label-sigs.ts","./src/db/migrations/20240408T192432676Z-mute-reporting.ts","./src/db/migrations/20240506T225055595Z-message-subject.ts","./src/db/migrations/20240521T211332580Z-member.ts","./src/db/migrations/20240814T003647759Z-event-created-at-index.ts","./src/db/migrations/20240903T205730722Z-add-template-lang.ts","./src/db/migrations/20240904T205730722Z-add-subject-did-index.ts","./src/db/migrations/20241001T205730722Z-subject-status-review-state-index.ts","./src/db/migrations/20241008T205730722Z-sets.ts","./src/db/migrations/20241018T205730722Z-setting.ts","./src/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.ts","./src/db/migrations/index.ts","./src/db/migrations/provider.ts","./src/db/schema/blob_push_event.ts","./src/db/schema/communication_template.ts","./src/db/schema/index.ts","./src/db/schema/label.ts","./src/db/schema/member.ts","./src/db/schema/moderation_event.ts","./src/db/schema/moderation_subject_status.ts","./src/db/schema/ozone_set.ts","./src/db/schema/record_push_event.ts","./src/db/schema/repo_push_event.ts","./src/db/schema/setting.ts","./src/db/schema/signing_key.ts","./src/lexicon/index.ts","./src/lexicon/lexicons.ts","./src/lexicon/util.ts","./src/lexicon/types/app/bsky/actor/defs.ts","./src/lexicon/types/app/bsky/actor/getPreferences.ts","./src/lexicon/types/app/bsky/actor/getProfile.ts","./src/lexicon/types/app/bsky/actor/getProfiles.ts","./src/lexicon/types/app/bsky/actor/getSuggestions.ts","./src/lexicon/types/app/bsky/actor/profile.ts","./src/lexicon/types/app/bsky/actor/putPreferences.ts","./src/lexicon/types/app/bsky/actor/searchActors.ts","./src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts","./src/lexicon/types/app/bsky/embed/defs.ts","./src/lexicon/types/app/bsky/embed/external.ts","./src/lexicon/types/app/bsky/embed/images.ts","./src/lexicon/types/app/bsky/embed/record.ts","./src/lexicon/types/app/bsky/embed/recordWithMedia.ts","./src/lexicon/types/app/bsky/embed/video.ts","./src/lexicon/types/app/bsky/feed/defs.ts","./src/lexicon/types/app/bsky/feed/describeFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/generator.ts","./src/lexicon/types/app/bsky/feed/getActorFeeds.ts","./src/lexicon/types/app/bsky/feed/getActorLikes.ts","./src/lexicon/types/app/bsky/feed/getAuthorFeed.ts","./src/lexicon/types/app/bsky/feed/getFeed.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerator.ts","./src/lexicon/types/app/bsky/feed/getFeedGenerators.ts","./src/lexicon/types/app/bsky/feed/getFeedSkeleton.ts","./src/lexicon/types/app/bsky/feed/getLikes.ts","./src/lexicon/types/app/bsky/feed/getListFeed.ts","./src/lexicon/types/app/bsky/feed/getPostThread.ts","./src/lexicon/types/app/bsky/feed/getPosts.ts","./src/lexicon/types/app/bsky/feed/getQuotes.ts","./src/lexicon/types/app/bsky/feed/getRepostedBy.ts","./src/lexicon/types/app/bsky/feed/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/feed/getTimeline.ts","./src/lexicon/types/app/bsky/feed/like.ts","./src/lexicon/types/app/bsky/feed/post.ts","./src/lexicon/types/app/bsky/feed/postgate.ts","./src/lexicon/types/app/bsky/feed/repost.ts","./src/lexicon/types/app/bsky/feed/searchPosts.ts","./src/lexicon/types/app/bsky/feed/sendInteractions.ts","./src/lexicon/types/app/bsky/feed/threadgate.ts","./src/lexicon/types/app/bsky/graph/block.ts","./src/lexicon/types/app/bsky/graph/defs.ts","./src/lexicon/types/app/bsky/graph/follow.ts","./src/lexicon/types/app/bsky/graph/getActorStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getBlocks.ts","./src/lexicon/types/app/bsky/graph/getFollowers.ts","./src/lexicon/types/app/bsky/graph/getFollows.ts","./src/lexicon/types/app/bsky/graph/getKnownFollowers.ts","./src/lexicon/types/app/bsky/graph/getList.ts","./src/lexicon/types/app/bsky/graph/getListBlocks.ts","./src/lexicon/types/app/bsky/graph/getListMutes.ts","./src/lexicon/types/app/bsky/graph/getLists.ts","./src/lexicon/types/app/bsky/graph/getMutes.ts","./src/lexicon/types/app/bsky/graph/getRelationships.ts","./src/lexicon/types/app/bsky/graph/getStarterPack.ts","./src/lexicon/types/app/bsky/graph/getStarterPacks.ts","./src/lexicon/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/lexicon/types/app/bsky/graph/list.ts","./src/lexicon/types/app/bsky/graph/listblock.ts","./src/lexicon/types/app/bsky/graph/listitem.ts","./src/lexicon/types/app/bsky/graph/muteActor.ts","./src/lexicon/types/app/bsky/graph/muteActorList.ts","./src/lexicon/types/app/bsky/graph/muteThread.ts","./src/lexicon/types/app/bsky/graph/searchStarterPacks.ts","./src/lexicon/types/app/bsky/graph/starterpack.ts","./src/lexicon/types/app/bsky/graph/unmuteActor.ts","./src/lexicon/types/app/bsky/graph/unmuteActorList.ts","./src/lexicon/types/app/bsky/graph/unmuteThread.ts","./src/lexicon/types/app/bsky/labeler/defs.ts","./src/lexicon/types/app/bsky/labeler/getServices.ts","./src/lexicon/types/app/bsky/labeler/service.ts","./src/lexicon/types/app/bsky/notification/getUnreadCount.ts","./src/lexicon/types/app/bsky/notification/listNotifications.ts","./src/lexicon/types/app/bsky/notification/putPreferences.ts","./src/lexicon/types/app/bsky/notification/registerPush.ts","./src/lexicon/types/app/bsky/notification/updateSeen.ts","./src/lexicon/types/app/bsky/richtext/facet.ts","./src/lexicon/types/app/bsky/unspecced/defs.ts","./src/lexicon/types/app/bsky/unspecced/getConfig.ts","./src/lexicon/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/lexicon/types/app/bsky/unspecced/getTrendingTopics.ts","./src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/addReservedHandle.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/lexicon/types/tools/ozone/communication/createTemplate.ts","./src/lexicon/types/tools/ozone/communication/defs.ts","./src/lexicon/types/tools/ozone/communication/deleteTemplate.ts","./src/lexicon/types/tools/ozone/communication/listTemplates.ts","./src/lexicon/types/tools/ozone/communication/updateTemplate.ts","./src/lexicon/types/tools/ozone/moderation/defs.ts","./src/lexicon/types/tools/ozone/moderation/emitEvent.ts","./src/lexicon/types/tools/ozone/moderation/getEvent.ts","./src/lexicon/types/tools/ozone/moderation/getRecord.ts","./src/lexicon/types/tools/ozone/moderation/getRecords.ts","./src/lexicon/types/tools/ozone/moderation/getRepo.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/queryEvents.ts","./src/lexicon/types/tools/ozone/moderation/queryStatuses.ts","./src/lexicon/types/tools/ozone/moderation/searchRepos.ts","./src/lexicon/types/tools/ozone/server/getConfig.ts","./src/lexicon/types/tools/ozone/set/addValues.ts","./src/lexicon/types/tools/ozone/set/defs.ts","./src/lexicon/types/tools/ozone/set/deleteSet.ts","./src/lexicon/types/tools/ozone/set/deleteValues.ts","./src/lexicon/types/tools/ozone/set/getValues.ts","./src/lexicon/types/tools/ozone/set/querySets.ts","./src/lexicon/types/tools/ozone/set/upsertSet.ts","./src/lexicon/types/tools/ozone/setting/defs.ts","./src/lexicon/types/tools/ozone/setting/listOptions.ts","./src/lexicon/types/tools/ozone/setting/removeOptions.ts","./src/lexicon/types/tools/ozone/setting/upsertOption.ts","./src/lexicon/types/tools/ozone/signature/defs.ts","./src/lexicon/types/tools/ozone/signature/findCorrelation.ts","./src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts","./src/lexicon/types/tools/ozone/signature/searchAccounts.ts","./src/lexicon/types/tools/ozone/team/addMember.ts","./src/lexicon/types/tools/ozone/team/defs.ts","./src/lexicon/types/tools/ozone/team/deleteMember.ts","./src/lexicon/types/tools/ozone/team/listMembers.ts","./src/lexicon/types/tools/ozone/team/updateMember.ts","./src/mod-service/index.ts","./src/mod-service/status.ts","./src/mod-service/subject.ts","./src/mod-service/types.ts","./src/mod-service/util.ts","./src/mod-service/views.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/set/service.ts","./src/setting/constants.ts","./src/setting/service.ts","./src/setting/types.ts","./src/setting/validators.ts","./src/tag-service/content-tagger.ts","./src/tag-service/embed-tagger.ts","./src/tag-service/index.ts","./src/tag-service/language-data.ts","./src/tag-service/language-tagger.ts","./src/tag-service/util.ts","./src/team/index.ts"],"version":"5.6.3"}