@atproto/ozone 0.1.107 → 0.1.109

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 (222) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/api/health.js +1 -1
  3. package/dist/api/health.js.map +1 -1
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +6 -0
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/server/getConfig.d.ts.map +1 -1
  8. package/dist/api/server/getConfig.js +1 -0
  9. package/dist/api/server/getConfig.js.map +1 -1
  10. package/dist/api/setting/removeOptions.d.ts.map +1 -1
  11. package/dist/api/setting/removeOptions.js +1 -0
  12. package/dist/api/setting/removeOptions.js.map +1 -1
  13. package/dist/api/setting/upsertOption.js +7 -0
  14. package/dist/api/setting/upsertOption.js.map +1 -1
  15. package/dist/api/util.d.ts +1 -1
  16. package/dist/api/util.d.ts.map +1 -1
  17. package/dist/api/util.js +6 -1
  18. package/dist/api/util.js.map +1 -1
  19. package/dist/api/verification/grantVerifications.d.ts +4 -0
  20. package/dist/api/verification/grantVerifications.d.ts.map +1 -0
  21. package/dist/api/verification/grantVerifications.js +60 -0
  22. package/dist/api/verification/grantVerifications.js.map +1 -0
  23. package/dist/api/verification/listVerifications.d.ts +4 -0
  24. package/dist/api/verification/listVerifications.d.ts.map +1 -0
  25. package/dist/api/verification/listVerifications.js +32 -0
  26. package/dist/api/verification/listVerifications.js.map +1 -0
  27. package/dist/api/verification/revokeVerifications.d.ts +4 -0
  28. package/dist/api/verification/revokeVerifications.d.ts.map +1 -0
  29. package/dist/api/verification/revokeVerifications.js +36 -0
  30. package/dist/api/verification/revokeVerifications.js.map +1 -0
  31. package/dist/auth-verifier.d.ts +4 -1
  32. package/dist/auth-verifier.d.ts.map +1 -1
  33. package/dist/auth-verifier.js +4 -3
  34. package/dist/auth-verifier.js.map +1 -1
  35. package/dist/background.d.ts +3 -1
  36. package/dist/background.d.ts.map +1 -1
  37. package/dist/background.js +4 -3
  38. package/dist/background.js.map +1 -1
  39. package/dist/config/config.d.ts +9 -0
  40. package/dist/config/config.d.ts.map +1 -1
  41. package/dist/config/config.js +10 -0
  42. package/dist/config/config.js.map +1 -1
  43. package/dist/config/env.d.ts +5 -0
  44. package/dist/config/env.d.ts.map +1 -1
  45. package/dist/config/env.js +5 -0
  46. package/dist/config/env.js.map +1 -1
  47. package/dist/context.d.ts +6 -0
  48. package/dist/context.d.ts.map +1 -1
  49. package/dist/context.js +12 -0
  50. package/dist/context.js.map +1 -1
  51. package/dist/daemon/context.d.ts +3 -0
  52. package/dist/daemon/context.d.ts.map +1 -1
  53. package/dist/daemon/context.js +11 -0
  54. package/dist/daemon/context.js.map +1 -1
  55. package/dist/daemon/verification-listener.d.ts +29 -0
  56. package/dist/daemon/verification-listener.d.ts.map +1 -0
  57. package/dist/daemon/verification-listener.js +171 -0
  58. package/dist/daemon/verification-listener.js.map +1 -0
  59. package/dist/db/migrations/20250415T201720309Z-verification.d.ts +4 -0
  60. package/dist/db/migrations/20250415T201720309Z-verification.d.ts.map +1 -0
  61. package/dist/db/migrations/20250415T201720309Z-verification.js +35 -0
  62. package/dist/db/migrations/20250415T201720309Z-verification.js.map +1 -0
  63. package/dist/db/migrations/20250417T201720309Z-firehose-cursor.d.ts +4 -0
  64. package/dist/db/migrations/20250417T201720309Z-firehose-cursor.d.ts.map +1 -0
  65. package/dist/db/migrations/20250417T201720309Z-firehose-cursor.js +17 -0
  66. package/dist/db/migrations/20250417T201720309Z-firehose-cursor.js.map +1 -0
  67. package/dist/db/migrations/index.d.ts +2 -0
  68. package/dist/db/migrations/index.d.ts.map +1 -1
  69. package/dist/db/migrations/index.js +3 -1
  70. package/dist/db/migrations/index.js.map +1 -1
  71. package/dist/db/pagination.d.ts +15 -0
  72. package/dist/db/pagination.d.ts.map +1 -1
  73. package/dist/db/pagination.js +23 -1
  74. package/dist/db/pagination.js.map +1 -1
  75. package/dist/db/schema/firehose_cursor.d.ts +11 -0
  76. package/dist/db/schema/firehose_cursor.d.ts.map +1 -0
  77. package/dist/db/schema/firehose_cursor.js +5 -0
  78. package/dist/db/schema/firehose_cursor.js.map +1 -0
  79. package/dist/db/schema/index.d.ts +3 -1
  80. package/dist/db/schema/index.d.ts.map +1 -1
  81. package/dist/db/schema/member.d.ts +1 -1
  82. package/dist/db/schema/member.d.ts.map +1 -1
  83. package/dist/db/schema/verification.d.ts +19 -0
  84. package/dist/db/schema/verification.d.ts.map +1 -0
  85. package/dist/db/schema/verification.js +5 -0
  86. package/dist/db/schema/verification.js.map +1 -0
  87. package/dist/error.js +1 -1
  88. package/dist/error.js.map +1 -1
  89. package/dist/jetstream/service.d.ts +60 -0
  90. package/dist/jetstream/service.d.ts.map +1 -0
  91. package/dist/jetstream/service.js +65 -0
  92. package/dist/jetstream/service.js.map +1 -0
  93. package/dist/lexicon/index.d.ts +15 -0
  94. package/dist/lexicon/index.d.ts.map +1 -1
  95. package/dist/lexicon/index.js +36 -1
  96. package/dist/lexicon/index.js.map +1 -1
  97. package/dist/lexicon/lexicons.d.ts +918 -98
  98. package/dist/lexicon/lexicons.d.ts.map +1 -1
  99. package/dist/lexicon/lexicons.js +434 -0
  100. package/dist/lexicon/lexicons.js.map +1 -1
  101. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +21 -0
  102. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  103. package/dist/lexicon/types/app/bsky/actor/defs.js +9 -0
  104. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  105. package/dist/lexicon/types/app/bsky/actor/status.d.ts +23 -0
  106. package/dist/lexicon/types/app/bsky/actor/status.d.ts.map +1 -0
  107. package/dist/lexicon/types/app/bsky/actor/status.js +19 -0
  108. package/dist/lexicon/types/app/bsky/actor/status.js.map +1 -0
  109. package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts +3 -1
  110. package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts.map +1 -1
  111. package/dist/lexicon/types/tools/ozone/server/getConfig.js.map +1 -1
  112. package/dist/lexicon/types/tools/ozone/setting/defs.d.ts +1 -1
  113. package/dist/lexicon/types/tools/ozone/setting/defs.d.ts.map +1 -1
  114. package/dist/lexicon/types/tools/ozone/setting/defs.js.map +1 -1
  115. package/dist/lexicon/types/tools/ozone/setting/upsertOption.d.ts +1 -1
  116. package/dist/lexicon/types/tools/ozone/setting/upsertOption.d.ts.map +1 -1
  117. package/dist/lexicon/types/tools/ozone/team/addMember.d.ts +1 -1
  118. package/dist/lexicon/types/tools/ozone/team/addMember.d.ts.map +1 -1
  119. package/dist/lexicon/types/tools/ozone/team/defs.d.ts +3 -1
  120. package/dist/lexicon/types/tools/ozone/team/defs.d.ts.map +1 -1
  121. package/dist/lexicon/types/tools/ozone/team/defs.js +3 -1
  122. package/dist/lexicon/types/tools/ozone/team/defs.js.map +1 -1
  123. package/dist/lexicon/types/tools/ozone/team/updateMember.d.ts +1 -1
  124. package/dist/lexicon/types/tools/ozone/team/updateMember.d.ts.map +1 -1
  125. package/dist/lexicon/types/tools/ozone/verification/defs.d.ts +43 -0
  126. package/dist/lexicon/types/tools/ozone/verification/defs.d.ts.map +1 -0
  127. package/dist/lexicon/types/tools/ozone/verification/defs.js +16 -0
  128. package/dist/lexicon/types/tools/ozone/verification/defs.js.map +1 -0
  129. package/dist/lexicon/types/tools/ozone/verification/grantVerifications.d.ts +66 -0
  130. package/dist/lexicon/types/tools/ozone/verification/grantVerifications.d.ts.map +1 -0
  131. package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js +25 -0
  132. package/dist/lexicon/types/tools/ozone/verification/grantVerifications.js.map +1 -0
  133. package/dist/lexicon/types/tools/ozone/verification/listVerifications.d.ts +52 -0
  134. package/dist/lexicon/types/tools/ozone/verification/listVerifications.d.ts.map +1 -0
  135. package/dist/lexicon/types/tools/ozone/verification/listVerifications.js +7 -0
  136. package/dist/lexicon/types/tools/ozone/verification/listVerifications.js.map +1 -0
  137. package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.d.ts +56 -0
  138. package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.d.ts.map +1 -0
  139. package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js +16 -0
  140. package/dist/lexicon/types/tools/ozone/verification/revokeVerifications.js.map +1 -0
  141. package/dist/logger.d.ts +1 -0
  142. package/dist/logger.d.ts.map +1 -1
  143. package/dist/logger.js +2 -1
  144. package/dist/logger.js.map +1 -1
  145. package/dist/mod-service/index.js +1 -1
  146. package/dist/mod-service/index.js.map +1 -1
  147. package/dist/mod-service/status.d.ts +6 -0
  148. package/dist/mod-service/status.d.ts.map +1 -1
  149. package/dist/mod-service/views.d.ts.map +1 -1
  150. package/dist/mod-service/views.js +2 -0
  151. package/dist/mod-service/views.js.map +1 -1
  152. package/dist/team/index.d.ts +1 -0
  153. package/dist/team/index.d.ts.map +1 -1
  154. package/dist/team/index.js +5 -2
  155. package/dist/team/index.js.map +1 -1
  156. package/dist/verification/issuer.d.ts +37 -0
  157. package/dist/verification/issuer.d.ts.map +1 -0
  158. package/dist/verification/issuer.js +119 -0
  159. package/dist/verification/issuer.js.map +1 -0
  160. package/dist/verification/service.d.ts +47 -0
  161. package/dist/verification/service.d.ts.map +1 -0
  162. package/dist/verification/service.js +141 -0
  163. package/dist/verification/service.js.map +1 -0
  164. package/dist/verification/util.d.ts +6 -0
  165. package/dist/verification/util.d.ts.map +1 -0
  166. package/dist/verification/util.js +32 -0
  167. package/dist/verification/util.js.map +1 -0
  168. package/package.json +10 -9
  169. package/src/api/health.ts +1 -1
  170. package/src/api/index.ts +6 -0
  171. package/src/api/server/getConfig.ts +1 -0
  172. package/src/api/setting/removeOptions.ts +1 -0
  173. package/src/api/setting/upsertOption.ts +7 -0
  174. package/src/api/util.ts +7 -1
  175. package/src/api/verification/grantVerifications.ts +90 -0
  176. package/src/api/verification/listVerifications.ts +44 -0
  177. package/src/api/verification/revokeVerifications.ts +43 -0
  178. package/src/auth-verifier.ts +8 -4
  179. package/src/background.ts +8 -3
  180. package/src/config/config.ts +21 -0
  181. package/src/config/env.ts +10 -0
  182. package/src/context.ts +22 -0
  183. package/src/daemon/context.ts +19 -0
  184. package/src/daemon/verification-listener.ts +164 -0
  185. package/src/db/migrations/20250415T201720309Z-verification.ts +34 -0
  186. package/src/db/migrations/20250417T201720309Z-firehose-cursor.ts +16 -0
  187. package/src/db/migrations/index.ts +2 -0
  188. package/src/db/pagination.ts +31 -0
  189. package/src/db/schema/firehose_cursor.ts +13 -0
  190. package/src/db/schema/index.ts +5 -1
  191. package/src/db/schema/member.ts +1 -0
  192. package/src/db/schema/verification.ts +21 -0
  193. package/src/error.ts +1 -1
  194. package/src/jetstream/service.ts +104 -0
  195. package/src/lexicon/index.ts +50 -0
  196. package/src/lexicon/lexicons.ts +457 -0
  197. package/src/lexicon/types/app/bsky/actor/defs.ts +26 -0
  198. package/src/lexicon/types/app/bsky/actor/status.ts +40 -0
  199. package/src/lexicon/types/tools/ozone/server/getConfig.ts +3 -0
  200. package/src/lexicon/types/tools/ozone/setting/defs.ts +1 -0
  201. package/src/lexicon/types/tools/ozone/setting/upsertOption.ts +1 -0
  202. package/src/lexicon/types/tools/ozone/team/addMember.ts +1 -0
  203. package/src/lexicon/types/tools/ozone/team/defs.ts +3 -0
  204. package/src/lexicon/types/tools/ozone/team/updateMember.ts +1 -0
  205. package/src/lexicon/types/tools/ozone/verification/defs.ts +59 -0
  206. package/src/lexicon/types/tools/ozone/verification/grantVerifications.ts +100 -0
  207. package/src/lexicon/types/tools/ozone/verification/listVerifications.ts +70 -0
  208. package/src/lexicon/types/tools/ozone/verification/revokeVerifications.ts +81 -0
  209. package/src/logger.ts +2 -0
  210. package/src/mod-service/index.ts +1 -1
  211. package/src/mod-service/views.ts +4 -0
  212. package/src/team/index.ts +6 -5
  213. package/src/verification/issuer.ts +135 -0
  214. package/src/verification/service.ts +208 -0
  215. package/src/verification/util.ts +50 -0
  216. package/tests/__snapshots__/verification-listener.test.ts.snap +146 -0
  217. package/tests/__snapshots__/verification.test.ts.snap +288 -0
  218. package/tests/expiring-label.test.ts +72 -0
  219. package/tests/verification-listener.test.ts +102 -0
  220. package/tests/verification.test.ts +166 -0
  221. package/tsconfig.build.tsbuildinfo +1 -1
  222. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -0,0 +1,72 @@
1
+ import AtpAgent from '@atproto/api'
2
+ import {
3
+ ModeratorClient,
4
+ SeedClient,
5
+ TestNetwork,
6
+ basicSeed,
7
+ } from '@atproto/dev-env'
8
+ import { ids } from '../src/lexicon/lexicons'
9
+
10
+ describe('expiring label', () => {
11
+ let network: TestNetwork
12
+ let sc: SeedClient
13
+ let modClient: ModeratorClient
14
+ let agent: AtpAgent
15
+
16
+ beforeAll(async () => {
17
+ network = await TestNetwork.create({
18
+ dbPostgresSchema: 'ozone_expiring_label_test',
19
+ })
20
+ sc = network.getSeedClient()
21
+ agent = network.ozone.getClient()
22
+ modClient = network.ozone.getModClient()
23
+ await basicSeed(sc)
24
+ await network.processAll()
25
+ })
26
+
27
+ afterAll(async () => {
28
+ await network.close()
29
+ })
30
+
31
+ const emitExpiringLabel = async (did: string) =>
32
+ modClient.emitEvent(
33
+ {
34
+ subject: { $type: 'com.atproto.admin.defs#repoRef', did },
35
+ event: {
36
+ $type: 'tools.ozone.moderation.defs#modEventLabel',
37
+ comment: 'Testing expiring label',
38
+ createLabelVals: ['expiring'],
39
+ negateLabelVals: [],
40
+ durationInHours: 1,
41
+ },
42
+ createdBy: sc.dids.alice,
43
+ },
44
+ 'moderator',
45
+ )
46
+
47
+ it('Returns expiring label only within expiration period', async () => {
48
+ const getRepo = async (did: string) =>
49
+ agent.tools.ozone.moderation.getRepo(
50
+ { did },
51
+ {
52
+ headers: await network.ozone.modHeaders(
53
+ ids.ToolsOzoneModerationGetRepo,
54
+ ),
55
+ },
56
+ )
57
+
58
+ const now = new Date().toISOString()
59
+ await emitExpiringLabel(sc.dids.carol)
60
+ const { data: repoWithExpiringLabel } = await getRepo(sc.dids.carol)
61
+ expect(repoWithExpiringLabel.labels?.[0].val).toEqual('expiring')
62
+ // Manually expire the label in db
63
+ await network.ozone.ctx.db.db
64
+ .updateTable('label')
65
+ .set({ exp: now })
66
+ .where('uri', '=', sc.dids.carol)
67
+ .execute()
68
+
69
+ const { data: repoAfterExpiringLabel } = await getRepo(sc.dids.carol)
70
+ expect(repoAfterExpiringLabel.labels?.length).toEqual(0)
71
+ })
72
+ })
@@ -0,0 +1,102 @@
1
+ import { Sender, WebSocketServer } from 'ws'
2
+ import { AppBskyGraphVerification, AtpAgent } from '@atproto/api'
3
+ import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
4
+ import { forSnapshot } from './_util'
5
+
6
+ describe('verification-listener', () => {
7
+ let network: TestNetwork
8
+ let sc: SeedClient
9
+ let adminAgent: AtpAgent
10
+ let jetstream: WebSocketServer
11
+ let relay: Sender
12
+
13
+ beforeAll(async () => {
14
+ const jetstreamPort = 2511
15
+ jetstream = new WebSocketServer({
16
+ port: jetstreamPort,
17
+ })
18
+ jetstream.on('connection', (ws) => {
19
+ relay = ws
20
+ })
21
+ network = await TestNetwork.create({
22
+ dbPostgresSchema: 'ozone_verification_listener_test',
23
+ ozone: {
24
+ verifierUrl: 'http://localhost:2583',
25
+ verifierDid: 'did:example:verifier',
26
+ verifierPassword: 'test',
27
+ jetstreamUrl: `ws://localhost:${jetstreamPort}`,
28
+ },
29
+ })
30
+ sc = network.getSeedClient()
31
+ await basicSeed(sc)
32
+
33
+ adminAgent = network.pds.getClient()
34
+ await adminAgent.login({
35
+ identifier: sc.accounts[sc.dids.alice].handle,
36
+ password: sc.accounts[sc.dids.alice].password,
37
+ })
38
+ await network.ozone.addAdminDid(sc.dids.alice)
39
+
40
+ await network.processAll()
41
+ })
42
+
43
+ afterAll(async () => {
44
+ await jetstream.close()
45
+ await network.close()
46
+ })
47
+
48
+ it('indexes new and revoked verifications', async () => {
49
+ const { verificationListener } = network.ozone.daemon.ctx
50
+ const createEvent = {
51
+ kind: 'commit',
52
+ did: sc.dids.bob,
53
+ time_us: 123456789,
54
+ commit: {
55
+ rev: 'xyz',
56
+ operation: 'create',
57
+ collection: 'app.bsky.graph.verification',
58
+ rkey: 'abcdefg',
59
+ cid: 'xyz',
60
+ record: {
61
+ $type: 'app.bsky.graph.verification',
62
+ subject: sc.dids.alice,
63
+ handle: sc.accounts[sc.dids.alice].handle,
64
+ displayName: 'Alice',
65
+ createdAt: new Date().toISOString(),
66
+ } satisfies AppBskyGraphVerification.Record,
67
+ },
68
+ }
69
+ const deleteEvent = {
70
+ kind: 'commit',
71
+ did: sc.dids.bob,
72
+ time_us: 123456799,
73
+ commit: {
74
+ rev: 'yza',
75
+ operation: 'delete',
76
+ collection: 'app.bsky.graph.verification',
77
+ rkey: 'abcdefg',
78
+ },
79
+ }
80
+ relay.send(JSON.stringify(createEvent))
81
+ relay.send(JSON.stringify(deleteEvent))
82
+ const verificationService = network.ozone.ctx.verificationService(
83
+ network.ozone.ctx.db,
84
+ )
85
+ // Wait for the listener to process the events
86
+ let hasCursorUpdated = false
87
+ let attempt = 0
88
+ do {
89
+ const cursor = await verificationService.getFirehoseCursor()
90
+ hasCursorUpdated = cursor === 123456799
91
+ attempt++
92
+ } while (!hasCursorUpdated && attempt < 20)
93
+ // Give the processor enough time to handle the events
94
+ const {
95
+ data: { verifications },
96
+ } = await adminAgent.tools.ozone.verification.listVerifications({})
97
+ const cursor = await verificationListener?.getCursor()
98
+
99
+ expect(forSnapshot(verifications)).toMatchSnapshot()
100
+ expect(cursor).toEqual(123456799)
101
+ })
102
+ })
@@ -0,0 +1,166 @@
1
+ import { AppBskyActorDefs, AtpAgent, asPredicate } from '@atproto/api'
2
+ import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
3
+ import { forSnapshot } from './_util'
4
+
5
+ const isValidProfile = asPredicate(AppBskyActorDefs.validateProfileViewDetailed)
6
+
7
+ describe('verification', () => {
8
+ let network: TestNetwork
9
+ let adminAgent: AtpAgent
10
+ let triageAgent: AtpAgent
11
+ let sc: SeedClient
12
+
13
+ beforeAll(async () => {
14
+ network = await TestNetwork.create({
15
+ dbPostgresSchema: 'ozone_verification_test',
16
+ })
17
+ adminAgent = network.pds.getClient()
18
+ sc = network.getSeedClient()
19
+ await basicSeed(sc)
20
+ await network.processAll()
21
+
22
+ await network.ozone.addAdminDid(sc.dids.alice)
23
+ await network.ozone.addModeratorDid(sc.dids.bob)
24
+ await network.ozone.addTriageDid(sc.dids.carol)
25
+ await adminAgent.login({
26
+ identifier: sc.accounts[sc.dids.alice].handle,
27
+ password: sc.accounts[sc.dids.alice].password,
28
+ })
29
+ triageAgent = network.pds.getClient()
30
+ await triageAgent.login({
31
+ identifier: sc.accounts[sc.dids.carol].handle,
32
+ password: sc.accounts[sc.dids.carol].password,
33
+ })
34
+ const {
35
+ data: { password },
36
+ } = await adminAgent.com.atproto.server.createAppPassword({
37
+ name: 'verifier',
38
+ })
39
+ network.ozone.ctx.cfg.verifier = {
40
+ url: network.pds.url,
41
+ did: sc.dids.alice,
42
+ password,
43
+ }
44
+
45
+ await network.processAll()
46
+ await network.bsky.db.db
47
+ .updateTable('actor')
48
+ .set({ trustedVerifier: true })
49
+ .where('did', 'in', [sc.dids.alice])
50
+ .execute()
51
+ })
52
+
53
+ afterAll(async () => {
54
+ await network.close()
55
+ })
56
+
57
+ describe('list', () => {
58
+ // @TODO: This tests encapsulates the entire grant->revoke->list flow. we should have more detailed test for each path
59
+ it('returns paginated list of verifications', async () => {
60
+ const {
61
+ data: { verifications },
62
+ } = await adminAgent.tools.ozone.verification.grantVerifications({
63
+ verifications: [
64
+ {
65
+ subject: sc.dids.bob,
66
+ handle: sc.accounts[sc.dids.bob].handle,
67
+ displayName: 'bobby',
68
+ },
69
+ {
70
+ subject: sc.dids.carol,
71
+ handle: sc.accounts[sc.dids.carol].handle,
72
+ displayName: '',
73
+ },
74
+ ],
75
+ })
76
+
77
+ const grantedVerificationUri = verifications.find(
78
+ (v) => v.subject === sc.dids.carol,
79
+ )?.uri
80
+
81
+ expect(grantedVerificationUri).toBeDefined()
82
+
83
+ if (grantedVerificationUri) {
84
+ await adminAgent.tools.ozone.verification.revokeVerifications({
85
+ uris: [grantedVerificationUri],
86
+ revokeReason: 'Testing',
87
+ })
88
+ }
89
+
90
+ await network.processAll()
91
+
92
+ const { data } =
93
+ await adminAgent.tools.ozone.verification.listVerifications({})
94
+
95
+ expect(data.verifications.find((v) => v.revokedAt)?.uri).toEqual(
96
+ grantedVerificationUri,
97
+ )
98
+ const bob = data.verifications.find((v) => v.subject === sc.dids.bob)
99
+ const carol = data.verifications.find((v) => v.subject === sc.dids.carol)
100
+
101
+ if (
102
+ !isValidProfile(bob?.subjectProfile) ||
103
+ !isValidProfile(carol?.subjectProfile)
104
+ ) {
105
+ throw Error('Invalid profiles')
106
+ }
107
+
108
+ expect(forSnapshot(bob)).toMatchSnapshot()
109
+ expect(forSnapshot(carol)).toMatchSnapshot()
110
+
111
+ // Assert that profile record carries valid verification status for bob but not for carol
112
+ expect(carol.revokedAt).toBeDefined()
113
+ expect(carol.revokeReason).toEqual('Testing')
114
+ expect(carol.subjectProfile.verification).toBeUndefined()
115
+ expect(bob.subjectProfile?.verification?.verifiedStatus).toEqual('valid')
116
+ })
117
+ })
118
+
119
+ describe('grant', () => {
120
+ it('fails for non-admins and non-verifiers', async () => {
121
+ const attemptAsAdmin =
122
+ triageAgent.tools.ozone.verification.grantVerifications({
123
+ verifications: [
124
+ {
125
+ subject: sc.dids.bob,
126
+ handle: sc.accounts[sc.dids.bob].handle,
127
+ displayName: 'Bob',
128
+ },
129
+ ],
130
+ })
131
+ await expect(attemptAsAdmin).rejects.toThrow(
132
+ 'Must be an admin or verifier to grant verifications',
133
+ )
134
+ })
135
+ })
136
+
137
+ it('does not publish record if a valid one already exists', async () => {
138
+ const { data: beforePublish } =
139
+ await adminAgent.tools.ozone.verification.listVerifications({
140
+ subjects: [sc.dids.bob],
141
+ })
142
+ const {
143
+ data: { verifications },
144
+ } = await adminAgent.tools.ozone.verification.grantVerifications({
145
+ verifications: [
146
+ {
147
+ subject: sc.dids.bob,
148
+ handle: sc.accounts[sc.dids.bob].handle,
149
+ displayName: 'bobby',
150
+ },
151
+ ],
152
+ })
153
+
154
+ const { data: afterPublish } =
155
+ await adminAgent.tools.ozone.verification.listVerifications({
156
+ subjects: [sc.dids.bob],
157
+ })
158
+
159
+ // assert that the response does not contain any new verification
160
+ expect(verifications.length).toEqual(0)
161
+ // assert that the list of verifications in db hasn't changed
162
+ expect(afterPublish.verifications.length).toEqual(
163
+ beforePublish.verifications.length,
164
+ )
165
+ })
166
+ })
@@ -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/getReporterStats.ts","./src/api/moderation/getRepos.ts","./src/api/moderation/getSubjects.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/daemon/materialized-view-refresher.ts","./src/daemon/team-profile-synchronizer.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/20241220T144630860Z-stats-materialized-views.ts","./src/db/migrations/20250204T003647759Z-add-subject-priority-score.ts","./src/db/migrations/20250211T003647759Z-add-reporter-stats-index.ts","./src/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.ts","./src/db/migrations/20250221T132135150Z-member-details.ts","./src/db/migrations/20250404T201720309Z-subject-status-sort-idxs.ts","./src/db/migrations/index.ts","./src/db/migrations/provider.ts","./src/db/schema/account_events_stats.ts","./src/db/schema/account_record_events_stats.ts","./src/db/schema/account_record_status_stats.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_events_stats.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/graph/verification.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/defs.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/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.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/getTrends.ts","./src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.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/acceptConvo.ts","./src/lexicon/types/chat/bsky/convo/addReaction.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/getConvoAvailability.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/removeReaction.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/updateAllRead.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/updateAccountSigningKey.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/defs.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/refreshIdentity.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveDid.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/resolveIdentity.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/lexicon/schema.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/defs.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/getHostStatus.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/listHosts.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/listReposByCollection.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/hosting/getAccountHistory.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/getReporterStats.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/getSubjects.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.8.2"}
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/getReporterStats.ts","./src/api/moderation/getRepos.ts","./src/api/moderation/getSubjects.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/api/verification/grantVerifications.ts","./src/api/verification/listVerifications.ts","./src/api/verification/revokeVerifications.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/daemon/materialized-view-refresher.ts","./src/daemon/team-profile-synchronizer.ts","./src/daemon/verification-listener.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/20241220T144630860Z-stats-materialized-views.ts","./src/db/migrations/20250204T003647759Z-add-subject-priority-score.ts","./src/db/migrations/20250211T003647759Z-add-reporter-stats-index.ts","./src/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.ts","./src/db/migrations/20250221T132135150Z-member-details.ts","./src/db/migrations/20250404T201720309Z-subject-status-sort-idxs.ts","./src/db/migrations/20250415T201720309Z-verification.ts","./src/db/migrations/20250417T201720309Z-firehose-cursor.ts","./src/db/migrations/index.ts","./src/db/migrations/provider.ts","./src/db/schema/account_events_stats.ts","./src/db/schema/account_record_events_stats.ts","./src/db/schema/account_record_status_stats.ts","./src/db/schema/blob_push_event.ts","./src/db/schema/communication_template.ts","./src/db/schema/firehose_cursor.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_events_stats.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/db/schema/verification.ts","./src/jetstream/service.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/actor/status.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/graph/verification.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/defs.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/getSuggestedFeeds.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedUsersSkeleton.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/getTrends.ts","./src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.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/acceptConvo.ts","./src/lexicon/types/chat/bsky/convo/addReaction.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/getConvoAvailability.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/removeReaction.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/updateAllRead.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/updateAccountSigningKey.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/defs.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/refreshIdentity.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveDid.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/resolveIdentity.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/lexicon/schema.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/defs.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/getHostStatus.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/listHosts.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/listReposByCollection.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/hosting/getAccountHistory.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/getReporterStats.ts","./src/lexicon/types/tools/ozone/moderation/getRepos.ts","./src/lexicon/types/tools/ozone/moderation/getSubjects.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/lexicon/types/tools/ozone/verification/defs.ts","./src/lexicon/types/tools/ozone/verification/grantVerifications.ts","./src/lexicon/types/tools/ozone/verification/listVerifications.ts","./src/lexicon/types/tools/ozone/verification/revokeVerifications.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","./src/verification/issuer.ts","./src/verification/service.ts","./src/verification/util.ts"],"version":"5.8.2"}
@@ -1 +1 @@
1
- {"root":["./tests/3p-labeler.test.ts","./tests/_util.ts","./tests/ack-all-subjects-of-account.test.ts","./tests/blob-divert.test.ts","./tests/communication-templates.test.ts","./tests/content-tagger.test.ts","./tests/db.test.ts","./tests/get-config.test.ts","./tests/get-lists.test.ts","./tests/get-profiles.test.ts","./tests/get-record.test.ts","./tests/get-records.test.ts","./tests/get-repo.test.ts","./tests/get-reporter-stats.test.ts","./tests/get-repos.test.ts","./tests/get-starter-pack.test.ts","./tests/get-subjects.test.ts","./tests/moderation-appeals.test.ts","./tests/moderation-events.test.ts","./tests/moderation-status-tags.test.ts","./tests/moderation-statuses.test.ts","./tests/moderation.test.ts","./tests/protected-tags.test.ts","./tests/query-labels.test.ts","./tests/record-and-account-events.test.ts","./tests/repo-search.test.ts","./tests/report-muting.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/sets.test.ts","./tests/settings.test.ts","./tests/subject-priority-score.test.ts","./tests/takedown.test.ts","./tests/team.test.ts"],"version":"5.8.2"}
1
+ {"root":["./tests/3p-labeler.test.ts","./tests/_util.ts","./tests/ack-all-subjects-of-account.test.ts","./tests/blob-divert.test.ts","./tests/communication-templates.test.ts","./tests/content-tagger.test.ts","./tests/db.test.ts","./tests/expiring-label.test.ts","./tests/get-config.test.ts","./tests/get-lists.test.ts","./tests/get-profiles.test.ts","./tests/get-record.test.ts","./tests/get-records.test.ts","./tests/get-repo.test.ts","./tests/get-reporter-stats.test.ts","./tests/get-repos.test.ts","./tests/get-starter-pack.test.ts","./tests/get-subjects.test.ts","./tests/moderation-appeals.test.ts","./tests/moderation-events.test.ts","./tests/moderation-status-tags.test.ts","./tests/moderation-statuses.test.ts","./tests/moderation.test.ts","./tests/protected-tags.test.ts","./tests/query-labels.test.ts","./tests/record-and-account-events.test.ts","./tests/repo-search.test.ts","./tests/report-muting.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/sets.test.ts","./tests/settings.test.ts","./tests/subject-priority-score.test.ts","./tests/takedown.test.ts","./tests/team.test.ts","./tests/verification-listener.test.ts","./tests/verification.test.ts"],"version":"5.8.2"}