@atproto/pds 0.4.117 → 0.4.119
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.
- package/CHANGELOG.md +23 -0
- package/dist/account-manager/account-manager.d.ts +5 -2
- package/dist/account-manager/account-manager.d.ts.map +1 -1
- package/dist/account-manager/account-manager.js.map +1 -1
- package/dist/actor-store/blob/transactor.d.ts +2 -1
- package/dist/actor-store/blob/transactor.d.ts.map +1 -1
- package/dist/actor-store/blob/transactor.js +19 -5
- package/dist/actor-store/blob/transactor.js.map +1 -1
- package/dist/api/com/atproto/repo/uploadBlob.d.ts.map +1 -1
- package/dist/api/com/atproto/repo/uploadBlob.js +1 -0
- package/dist/api/com/atproto/repo/uploadBlob.js.map +1 -1
- package/dist/config/env.d.ts +1 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +1 -0
- package/dist/config/env.js.map +1 -1
- package/dist/config/secrets.d.ts +1 -0
- package/dist/config/secrets.d.ts.map +1 -1
- package/dist/config/secrets.js +1 -0
- package/dist/config/secrets.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +19 -0
- package/dist/context.js.map +1 -1
- package/dist/lexicon/index.d.ts +10 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +20 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +516 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +277 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +27 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.js +18 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts +36 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts +37 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts +36 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts +38 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts +31 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js +7 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -0
- package/dist/repo/prepare.d.ts.map +1 -1
- package/dist/repo/prepare.js +1 -0
- package/dist/repo/prepare.js.map +1 -1
- package/dist/repo/types.d.ts +1 -0
- package/dist/repo/types.d.ts.map +1 -1
- package/dist/repo/types.js.map +1 -1
- package/dist/scripts/index.d.ts +8 -1
- package/dist/scripts/index.d.ts.map +1 -1
- package/dist/scripts/index.js +11 -0
- package/dist/scripts/index.js.map +1 -1
- package/dist/scripts/publish-identity.d.ts +8 -0
- package/dist/scripts/publish-identity.d.ts.map +1 -0
- package/dist/scripts/publish-identity.js +46 -0
- package/dist/scripts/publish-identity.js.map +1 -0
- package/dist/scripts/rebuild-repo.d.ts +10 -2
- package/dist/scripts/rebuild-repo.d.ts.map +1 -1
- package/dist/scripts/rebuild-repo.js +21 -12
- package/dist/scripts/rebuild-repo.js.map +1 -1
- package/dist/scripts/rotate-keys.d.ts +18 -0
- package/dist/scripts/rotate-keys.d.ts.map +1 -0
- package/dist/scripts/rotate-keys.js +115 -0
- package/dist/scripts/rotate-keys.js.map +1 -0
- package/dist/scripts/sequencer-recovery/index.d.ts +3 -0
- package/dist/scripts/sequencer-recovery/index.d.ts.map +1 -0
- package/dist/scripts/sequencer-recovery/index.js +17 -0
- package/dist/scripts/sequencer-recovery/index.js.map +1 -0
- package/dist/scripts/sequencer-recovery/recoverer.d.ts +27 -0
- package/dist/scripts/sequencer-recovery/recoverer.d.ts.map +1 -0
- package/dist/scripts/sequencer-recovery/recoverer.js +235 -0
- package/dist/scripts/sequencer-recovery/recoverer.js.map +1 -0
- package/dist/scripts/sequencer-recovery/recovery-db.d.ts +18 -0
- package/dist/scripts/sequencer-recovery/recovery-db.d.ts.map +1 -0
- package/dist/scripts/sequencer-recovery/recovery-db.js +45 -0
- package/dist/scripts/sequencer-recovery/recovery-db.js.map +1 -0
- package/dist/scripts/sequencer-recovery/repair-repos.d.ts +3 -0
- package/dist/scripts/sequencer-recovery/repair-repos.d.ts.map +1 -0
- package/dist/scripts/sequencer-recovery/repair-repos.js +45 -0
- package/dist/scripts/sequencer-recovery/repair-repos.js.map +1 -0
- package/dist/scripts/sequencer-recovery/user-queues.d.ts +12 -0
- package/dist/scripts/sequencer-recovery/user-queues.d.ts.map +1 -0
- package/dist/scripts/sequencer-recovery/user-queues.js +54 -0
- package/dist/scripts/sequencer-recovery/user-queues.js.map +1 -0
- package/dist/scripts/util.d.ts +2 -0
- package/dist/scripts/util.d.ts.map +1 -0
- package/dist/scripts/util.js +12 -0
- package/dist/scripts/util.js.map +1 -0
- package/dist/sequencer/sequencer.d.ts +2 -0
- package/dist/sequencer/sequencer.d.ts.map +1 -1
- package/dist/sequencer/sequencer.js +52 -42
- package/dist/sequencer/sequencer.js.map +1 -1
- package/package.json +11 -11
- package/src/account-manager/account-manager.ts +6 -2
- package/src/actor-store/blob/transactor.ts +25 -7
- package/src/api/com/atproto/repo/uploadBlob.ts +1 -0
- package/src/config/env.ts +2 -0
- package/src/config/secrets.ts +2 -0
- package/src/context.ts +23 -0
- package/src/lexicon/index.ts +62 -0
- package/src/lexicon/lexicons.ts +285 -0
- package/src/lexicon/types/app/bsky/unspecced/defs.ts +45 -0
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts +54 -0
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts +55 -0
- package/src/lexicon/types/app/bsky/unspecced/getTrends.ts +54 -0
- package/src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts +56 -0
- package/src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts +48 -0
- package/src/repo/prepare.ts +1 -0
- package/src/repo/types.ts +1 -0
- package/src/scripts/README.md +40 -0
- package/src/scripts/index.ts +15 -0
- package/src/scripts/publish-identity.ts +54 -0
- package/src/scripts/rebuild-repo.ts +39 -12
- package/src/scripts/rotate-keys.ts +141 -0
- package/src/scripts/sequencer-recovery/index.ts +23 -0
- package/src/scripts/sequencer-recovery/recoverer.ts +289 -0
- package/src/scripts/sequencer-recovery/recovery-db.ts +64 -0
- package/src/scripts/sequencer-recovery/repair-repos.ts +48 -0
- package/src/scripts/sequencer-recovery/user-queues.ts +41 -0
- package/src/scripts/util.ts +7 -0
- package/src/sequencer/sequencer.ts +43 -40
- package/tests/recovery.test.ts +178 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
@@ -0,0 +1,178 @@
|
|
1
|
+
import fs from 'node:fs/promises'
|
2
|
+
import * as ui8 from 'uint8arrays'
|
3
|
+
import AtpAgent from '@atproto/api'
|
4
|
+
import { renameIfExists, rmIfExists } from '@atproto/common'
|
5
|
+
import { SeedClient, TestNetworkNoAppView, basicSeed } from '@atproto/dev-env'
|
6
|
+
import { verifyRepoCar } from '@atproto/repo'
|
7
|
+
import { AppContext, scripts } from '../dist'
|
8
|
+
|
9
|
+
describe('recovery', () => {
|
10
|
+
let network: TestNetworkNoAppView
|
11
|
+
let ctx: AppContext
|
12
|
+
let sc: SeedClient
|
13
|
+
let agent: AtpAgent
|
14
|
+
let alice: string
|
15
|
+
let bob: string
|
16
|
+
let elli: string
|
17
|
+
|
18
|
+
beforeAll(async () => {
|
19
|
+
network = await TestNetworkNoAppView.create({
|
20
|
+
dbPostgresSchema: 'recovery',
|
21
|
+
})
|
22
|
+
ctx = network.pds.ctx
|
23
|
+
sc = network.getSeedClient()
|
24
|
+
agent = network.pds.getClient()
|
25
|
+
await basicSeed(sc)
|
26
|
+
alice = sc.dids.alice
|
27
|
+
bob = sc.dids.bob
|
28
|
+
await network.processAll()
|
29
|
+
})
|
30
|
+
|
31
|
+
afterAll(async () => {
|
32
|
+
await network.close()
|
33
|
+
})
|
34
|
+
|
35
|
+
const getStats = (did: string) => {
|
36
|
+
return ctx.actorStore.read(did, async (store) => {
|
37
|
+
const recordCount = await store.record.recordCount()
|
38
|
+
const root = await store.repo.storage.getRootDetailed()
|
39
|
+
return {
|
40
|
+
recordCount,
|
41
|
+
rev: root.rev,
|
42
|
+
commit: root.cid,
|
43
|
+
}
|
44
|
+
})
|
45
|
+
}
|
46
|
+
|
47
|
+
const getRev = (did: string) => {
|
48
|
+
return ctx.actorStore.read(did, async (store) => {
|
49
|
+
const root = await store.repo.storage.getRootDetailed()
|
50
|
+
return root.rev
|
51
|
+
})
|
52
|
+
}
|
53
|
+
|
54
|
+
const getCar = async (did: string, since?: string) => {
|
55
|
+
const res = await agent.api.com.atproto.sync.getRepo({
|
56
|
+
did,
|
57
|
+
since,
|
58
|
+
})
|
59
|
+
return res.data
|
60
|
+
}
|
61
|
+
|
62
|
+
const backup = async (dids: string[]) => {
|
63
|
+
for (const did of dids) {
|
64
|
+
const { dbLocation, keyLocation } = await ctx.actorStore.getLocation(did)
|
65
|
+
await fs.copyFile(dbLocation, `${dbLocation}-backup`)
|
66
|
+
await fs.copyFile(keyLocation, `${keyLocation}-backup`)
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
const restore = async (dids: string[]) => {
|
71
|
+
for (const did of dids) {
|
72
|
+
const { dbLocation, keyLocation } = await ctx.actorStore.getLocation(did)
|
73
|
+
await rmIfExists(dbLocation)
|
74
|
+
await rmIfExists(keyLocation)
|
75
|
+
await renameIfExists(`${dbLocation}-backup`, dbLocation)
|
76
|
+
await renameIfExists(`${keyLocation}-backup`, keyLocation)
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
it('recovers repos based on the sequencer ', async () => {
|
81
|
+
// backup alice & bob
|
82
|
+
await backup([alice, bob])
|
83
|
+
|
84
|
+
// grab rev times from intermediate repo states
|
85
|
+
// process a bunch of record creates, updates, and delets for alice
|
86
|
+
const startRev = await getRev(alice)
|
87
|
+
let middleRev = ''
|
88
|
+
for (let i = 0; i < 100; i++) {
|
89
|
+
if (i === 0) {
|
90
|
+
middleRev = await getRev(alice)
|
91
|
+
}
|
92
|
+
const ref = await sc.post(alice, `post-${i}`)
|
93
|
+
if (i % 20 === 0) {
|
94
|
+
await sc.updateProfile(alice, { displayName: `name-${i}` })
|
95
|
+
}
|
96
|
+
if (i % 10 === 0) {
|
97
|
+
await sc.deletePost(alice, ref.ref.uri)
|
98
|
+
} else {
|
99
|
+
await sc.like(alice, ref.ref)
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
// delete bob's account
|
104
|
+
const deleteToken = await ctx.accountManager.createEmailToken(
|
105
|
+
bob,
|
106
|
+
'delete_account',
|
107
|
+
)
|
108
|
+
await agent.com.atproto.server.deleteAccount({
|
109
|
+
token: deleteToken,
|
110
|
+
did: bob,
|
111
|
+
password: sc.accounts[bob].password,
|
112
|
+
})
|
113
|
+
|
114
|
+
// create a new account (elli)
|
115
|
+
await sc.createAccount('elli', {
|
116
|
+
handle: 'elli.test',
|
117
|
+
password: 'elli-pass',
|
118
|
+
email: 'elli@test.com',
|
119
|
+
})
|
120
|
+
elli = sc.dids.elli
|
121
|
+
for (let i = 0; i < 10; i++) {
|
122
|
+
await sc.post(elli, `post-${i}`)
|
123
|
+
}
|
124
|
+
// get some stats & snapshots from before we do a recovery
|
125
|
+
const endRev = await getRev(alice)
|
126
|
+
const startCarBefore = await getCar(alice, startRev)
|
127
|
+
const middleCarBefore = await getCar(alice, middleRev)
|
128
|
+
const endCarBefore = await getCar(alice, endRev)
|
129
|
+
const aliceStatsBefore = await getStats(alice)
|
130
|
+
const elliCarBefore = await getCar(elli)
|
131
|
+
const elliStatsBefore = await getStats(elli)
|
132
|
+
|
133
|
+
// "restore" all 3 accounts to their backedup state, effectively rolling back the previous mutations
|
134
|
+
// deleting alice's mutations, restoring bob's account, and deleting elli's account
|
135
|
+
await restore([alice, bob, elli])
|
136
|
+
|
137
|
+
// run recovery operation
|
138
|
+
await scripts['sequencer-recovery'](network.pds.ctx, ['0', '10', 'true'])
|
139
|
+
|
140
|
+
// ensure alice's CAR is exactly the same as before the loss, including intermediate states based on tracked revs
|
141
|
+
const startCarAfter = await getCar(alice, startRev)
|
142
|
+
const middleCarAfter = await getCar(alice, middleRev)
|
143
|
+
const endCarAfter = await getCar(alice, endRev)
|
144
|
+
const aliceStatsAfter = await getStats(alice)
|
145
|
+
expect(ui8.equals(startCarAfter, startCarBefore)).toBe(true)
|
146
|
+
expect(ui8.equals(middleCarAfter, middleCarBefore)).toBe(true)
|
147
|
+
expect(ui8.equals(endCarAfter, endCarBefore)).toBe(true)
|
148
|
+
expect(aliceStatsAfter).toMatchObject(aliceStatsBefore)
|
149
|
+
|
150
|
+
// ensure bob's account is re-deleted
|
151
|
+
const attempt = getCar(bob)
|
152
|
+
await expect(attempt).rejects.toThrow(/Could not find repo for DID/)
|
153
|
+
const bobExists = await ctx.actorStore.exists(bob)
|
154
|
+
expect(bobExists).toBe(false)
|
155
|
+
|
156
|
+
// ensure elli's CAR is exactly the same as before the loss
|
157
|
+
// this involves creating a new signing key for her and updating her DID document
|
158
|
+
const elliCarAfter = await getCar(elli)
|
159
|
+
const elliStatsAfter = await getStats(elli)
|
160
|
+
expect(ui8.equals(elliCarAfter, elliCarBefore)).toBe(true)
|
161
|
+
expect(elliStatsAfter).toMatchObject(elliStatsBefore)
|
162
|
+
// it creates a new keypair for elli
|
163
|
+
const elliKey = await ctx.actorStore.keypair(elli)
|
164
|
+
expect(elliKey.did()).toBeDefined()
|
165
|
+
})
|
166
|
+
|
167
|
+
it('rotates keys for users', async () => {
|
168
|
+
await scripts['rotate-keys'](network.pds.ctx, [elli])
|
169
|
+
const elliKey = await ctx.actorStore.keypair(elli)
|
170
|
+
|
171
|
+
const plcData = await ctx.plcClient.getDocumentData(elli)
|
172
|
+
expect(plcData.verificationMethods['atproto']).toEqual(elliKey.did())
|
173
|
+
|
174
|
+
// it correctly resigned elli's repo
|
175
|
+
const elliCar = await getCar(elli)
|
176
|
+
await verifyRepoCar(elliCar, elli, elliKey.did())
|
177
|
+
})
|
178
|
+
})
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["./src/app-view.ts","./src/auth-routes.ts","./src/auth-verifier.ts","./src/background.ts","./src/basic-routes.ts","./src/bsky-app-view.ts","./src/context.ts","./src/crawlers.ts","./src/disk-blobstore.ts","./src/error.ts","./src/index.ts","./src/logger.ts","./src/pipethrough.ts","./src/redis.ts","./src/well-known.ts","./src/account-manager/account-manager.ts","./src/account-manager/oauth-store.ts","./src/account-manager/db/index.ts","./src/account-manager/db/migrations/001-init.ts","./src/account-manager/db/migrations/002-account-deactivation.ts","./src/account-manager/db/migrations/003-privileged-app-passwords.ts","./src/account-manager/db/migrations/004-oauth.ts","./src/account-manager/db/migrations/index.ts","./src/account-manager/db/schema/account.ts","./src/account-manager/db/schema/actor.ts","./src/account-manager/db/schema/app-password.ts","./src/account-manager/db/schema/authorization-request.ts","./src/account-manager/db/schema/device-account.ts","./src/account-manager/db/schema/device.ts","./src/account-manager/db/schema/email-token.ts","./src/account-manager/db/schema/index.ts","./src/account-manager/db/schema/invite-code.ts","./src/account-manager/db/schema/refresh-token.ts","./src/account-manager/db/schema/repo-root.ts","./src/account-manager/db/schema/token.ts","./src/account-manager/db/schema/used-refresh-token.ts","./src/account-manager/helpers/account.ts","./src/account-manager/helpers/auth.ts","./src/account-manager/helpers/authorization-request.ts","./src/account-manager/helpers/device-account.ts","./src/account-manager/helpers/device.ts","./src/account-manager/helpers/email-token.ts","./src/account-manager/helpers/invite.ts","./src/account-manager/helpers/password.ts","./src/account-manager/helpers/repo.ts","./src/account-manager/helpers/scrypt.ts","./src/account-manager/helpers/token.ts","./src/account-manager/helpers/used-refresh-token.ts","./src/actor-store/actor-store-reader.ts","./src/actor-store/actor-store-resources.ts","./src/actor-store/actor-store-transactor.ts","./src/actor-store/actor-store-writer.ts","./src/actor-store/actor-store.ts","./src/actor-store/migrate.ts","./src/actor-store/blob/reader.ts","./src/actor-store/blob/transactor.ts","./src/actor-store/db/index.ts","./src/actor-store/db/migrations/001-init.ts","./src/actor-store/db/migrations/index.ts","./src/actor-store/db/schema/account-pref.ts","./src/actor-store/db/schema/backlink.ts","./src/actor-store/db/schema/blob.ts","./src/actor-store/db/schema/index.ts","./src/actor-store/db/schema/record-blob.ts","./src/actor-store/db/schema/record.ts","./src/actor-store/db/schema/repo-block.ts","./src/actor-store/db/schema/repo-root.ts","./src/actor-store/preference/reader.ts","./src/actor-store/preference/transactor.ts","./src/actor-store/preference/util.ts","./src/actor-store/record/reader.ts","./src/actor-store/record/transactor.ts","./src/actor-store/repo/reader.ts","./src/actor-store/repo/sql-repo-reader.ts","./src/actor-store/repo/sql-repo-transactor.ts","./src/actor-store/repo/transactor.ts","./src/api/index.ts","./src/api/proxy.ts","./src/api/app/bsky/index.ts","./src/api/app/bsky/actor/getPreferences.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/index.ts","./src/api/app/bsky/actor/putPreferences.ts","./src/api/app/bsky/feed/getActorLikes.ts","./src/api/app/bsky/feed/getAuthorFeed.ts","./src/api/app/bsky/feed/getFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/index.ts","./src/api/app/bsky/notification/index.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/util/resolver.ts","./src/api/com/atproto/index.ts","./src/api/com/atproto/admin/deleteAccount.ts","./src/api/com/atproto/admin/disableAccountInvites.ts","./src/api/com/atproto/admin/disableInviteCodes.ts","./src/api/com/atproto/admin/enableAccountInvites.ts","./src/api/com/atproto/admin/getAccountInfo.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getInviteCodes.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/index.ts","./src/api/com/atproto/admin/sendEmail.ts","./src/api/com/atproto/admin/updateAccountEmail.ts","./src/api/com/atproto/admin/updateAccountHandle.ts","./src/api/com/atproto/admin/updateAccountPassword.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/admin/util.ts","./src/api/com/atproto/identity/getRecommendedDidCredentials.ts","./src/api/com/atproto/identity/index.ts","./src/api/com/atproto/identity/requestPlcOperationSignature.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/identity/signPlcOperation.ts","./src/api/com/atproto/identity/submitPlcOperation.ts","./src/api/com/atproto/identity/updateHandle.ts","./src/api/com/atproto/moderation/createReport.ts","./src/api/com/atproto/moderation/index.ts","./src/api/com/atproto/repo/applyWrites.ts","./src/api/com/atproto/repo/createRecord.ts","./src/api/com/atproto/repo/deleteRecord.ts","./src/api/com/atproto/repo/describeRepo.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/repo/importRepo.ts","./src/api/com/atproto/repo/index.ts","./src/api/com/atproto/repo/listMissingBlobs.ts","./src/api/com/atproto/repo/listRecords.ts","./src/api/com/atproto/repo/putRecord.ts","./src/api/com/atproto/repo/uploadBlob.ts","./src/api/com/atproto/server/activateAccount.ts","./src/api/com/atproto/server/checkAccountStatus.ts","./src/api/com/atproto/server/confirmEmail.ts","./src/api/com/atproto/server/createAccount.ts","./src/api/com/atproto/server/createAppPassword.ts","./src/api/com/atproto/server/createInviteCode.ts","./src/api/com/atproto/server/createInviteCodes.ts","./src/api/com/atproto/server/createSession.ts","./src/api/com/atproto/server/deactivateAccount.ts","./src/api/com/atproto/server/deleteAccount.ts","./src/api/com/atproto/server/deleteSession.ts","./src/api/com/atproto/server/describeServer.ts","./src/api/com/atproto/server/getAccountInviteCodes.ts","./src/api/com/atproto/server/getServiceAuth.ts","./src/api/com/atproto/server/getSession.ts","./src/api/com/atproto/server/index.ts","./src/api/com/atproto/server/listAppPasswords.ts","./src/api/com/atproto/server/refreshSession.ts","./src/api/com/atproto/server/requestAccountDelete.ts","./src/api/com/atproto/server/requestEmailConfirmation.ts","./src/api/com/atproto/server/requestEmailUpdate.ts","./src/api/com/atproto/server/requestPasswordReset.ts","./src/api/com/atproto/server/reserveSigningKey.ts","./src/api/com/atproto/server/resetPassword.ts","./src/api/com/atproto/server/revokeAppPassword.ts","./src/api/com/atproto/server/updateEmail.ts","./src/api/com/atproto/server/util.ts","./src/api/com/atproto/sync/getBlob.ts","./src/api/com/atproto/sync/getBlocks.ts","./src/api/com/atproto/sync/getLatestCommit.ts","./src/api/com/atproto/sync/getRecord.ts","./src/api/com/atproto/sync/getRepo.ts","./src/api/com/atproto/sync/getRepoStatus.ts","./src/api/com/atproto/sync/index.ts","./src/api/com/atproto/sync/listBlobs.ts","./src/api/com/atproto/sync/listRepos.ts","./src/api/com/atproto/sync/subscribeRepos.ts","./src/api/com/atproto/sync/util.ts","./src/api/com/atproto/sync/deprecated/getCheckout.ts","./src/api/com/atproto/sync/deprecated/getHead.ts","./src/api/com/atproto/temp/checkSignupQueue.ts","./src/api/com/atproto/temp/index.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/db/cast.ts","./src/db/db.ts","./src/db/index.ts","./src/db/migrator.ts","./src/db/pagination.ts","./src/db/util.ts","./src/db/tables/moderation.ts","./src/did-cache/index.ts","./src/did-cache/db/index.ts","./src/did-cache/db/migrations.ts","./src/did-cache/db/schema.ts","./src/handle/explicit-slurs.ts","./src/handle/index.ts","./src/handle/reserved.ts","./src/image/image-url-builder.ts","./src/image/image-url.ts","./src/image/index.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/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/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/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/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/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/mailer/index.ts","./src/mailer/moderation.ts","./src/mailer/templates.ts","./src/mailer/templates/confirm-email.d.ts","./src/mailer/templates/delete-account.d.ts","./src/mailer/templates/plc-operation.d.ts","./src/mailer/templates/reset-password.d.ts","./src/mailer/templates/update-email.d.ts","./src/read-after-write/index.ts","./src/read-after-write/types.ts","./src/read-after-write/util.ts","./src/read-after-write/viewer.ts","./src/repo/index.ts","./src/repo/prepare.ts","./src/repo/types.ts","./src/scripts/index.ts","./src/scripts/rebuild-repo.ts","./src/sequencer/events.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/sequencer/db/index.ts","./src/sequencer/db/schema.ts","./src/sequencer/db/migrations/001-init.ts","./src/sequencer/db/migrations/index.ts","./src/util/compression.ts","./src/util/debug.ts","./src/util/params.ts"],"version":"5.6.3"}
|
1
|
+
{"root":["./src/app-view.ts","./src/auth-routes.ts","./src/auth-verifier.ts","./src/background.ts","./src/basic-routes.ts","./src/bsky-app-view.ts","./src/context.ts","./src/crawlers.ts","./src/disk-blobstore.ts","./src/error.ts","./src/index.ts","./src/logger.ts","./src/pipethrough.ts","./src/redis.ts","./src/well-known.ts","./src/account-manager/account-manager.ts","./src/account-manager/oauth-store.ts","./src/account-manager/db/index.ts","./src/account-manager/db/migrations/001-init.ts","./src/account-manager/db/migrations/002-account-deactivation.ts","./src/account-manager/db/migrations/003-privileged-app-passwords.ts","./src/account-manager/db/migrations/004-oauth.ts","./src/account-manager/db/migrations/index.ts","./src/account-manager/db/schema/account.ts","./src/account-manager/db/schema/actor.ts","./src/account-manager/db/schema/app-password.ts","./src/account-manager/db/schema/authorization-request.ts","./src/account-manager/db/schema/device-account.ts","./src/account-manager/db/schema/device.ts","./src/account-manager/db/schema/email-token.ts","./src/account-manager/db/schema/index.ts","./src/account-manager/db/schema/invite-code.ts","./src/account-manager/db/schema/refresh-token.ts","./src/account-manager/db/schema/repo-root.ts","./src/account-manager/db/schema/token.ts","./src/account-manager/db/schema/used-refresh-token.ts","./src/account-manager/helpers/account.ts","./src/account-manager/helpers/auth.ts","./src/account-manager/helpers/authorization-request.ts","./src/account-manager/helpers/device-account.ts","./src/account-manager/helpers/device.ts","./src/account-manager/helpers/email-token.ts","./src/account-manager/helpers/invite.ts","./src/account-manager/helpers/password.ts","./src/account-manager/helpers/repo.ts","./src/account-manager/helpers/scrypt.ts","./src/account-manager/helpers/token.ts","./src/account-manager/helpers/used-refresh-token.ts","./src/actor-store/actor-store-reader.ts","./src/actor-store/actor-store-resources.ts","./src/actor-store/actor-store-transactor.ts","./src/actor-store/actor-store-writer.ts","./src/actor-store/actor-store.ts","./src/actor-store/migrate.ts","./src/actor-store/blob/reader.ts","./src/actor-store/blob/transactor.ts","./src/actor-store/db/index.ts","./src/actor-store/db/migrations/001-init.ts","./src/actor-store/db/migrations/index.ts","./src/actor-store/db/schema/account-pref.ts","./src/actor-store/db/schema/backlink.ts","./src/actor-store/db/schema/blob.ts","./src/actor-store/db/schema/index.ts","./src/actor-store/db/schema/record-blob.ts","./src/actor-store/db/schema/record.ts","./src/actor-store/db/schema/repo-block.ts","./src/actor-store/db/schema/repo-root.ts","./src/actor-store/preference/reader.ts","./src/actor-store/preference/transactor.ts","./src/actor-store/preference/util.ts","./src/actor-store/record/reader.ts","./src/actor-store/record/transactor.ts","./src/actor-store/repo/reader.ts","./src/actor-store/repo/sql-repo-reader.ts","./src/actor-store/repo/sql-repo-transactor.ts","./src/actor-store/repo/transactor.ts","./src/api/index.ts","./src/api/proxy.ts","./src/api/app/bsky/index.ts","./src/api/app/bsky/actor/getPreferences.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/index.ts","./src/api/app/bsky/actor/putPreferences.ts","./src/api/app/bsky/feed/getActorLikes.ts","./src/api/app/bsky/feed/getAuthorFeed.ts","./src/api/app/bsky/feed/getFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/index.ts","./src/api/app/bsky/notification/index.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/util/resolver.ts","./src/api/com/atproto/index.ts","./src/api/com/atproto/admin/deleteAccount.ts","./src/api/com/atproto/admin/disableAccountInvites.ts","./src/api/com/atproto/admin/disableInviteCodes.ts","./src/api/com/atproto/admin/enableAccountInvites.ts","./src/api/com/atproto/admin/getAccountInfo.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getInviteCodes.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/index.ts","./src/api/com/atproto/admin/sendEmail.ts","./src/api/com/atproto/admin/updateAccountEmail.ts","./src/api/com/atproto/admin/updateAccountHandle.ts","./src/api/com/atproto/admin/updateAccountPassword.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/admin/util.ts","./src/api/com/atproto/identity/getRecommendedDidCredentials.ts","./src/api/com/atproto/identity/index.ts","./src/api/com/atproto/identity/requestPlcOperationSignature.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/identity/signPlcOperation.ts","./src/api/com/atproto/identity/submitPlcOperation.ts","./src/api/com/atproto/identity/updateHandle.ts","./src/api/com/atproto/moderation/createReport.ts","./src/api/com/atproto/moderation/index.ts","./src/api/com/atproto/repo/applyWrites.ts","./src/api/com/atproto/repo/createRecord.ts","./src/api/com/atproto/repo/deleteRecord.ts","./src/api/com/atproto/repo/describeRepo.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/repo/importRepo.ts","./src/api/com/atproto/repo/index.ts","./src/api/com/atproto/repo/listMissingBlobs.ts","./src/api/com/atproto/repo/listRecords.ts","./src/api/com/atproto/repo/putRecord.ts","./src/api/com/atproto/repo/uploadBlob.ts","./src/api/com/atproto/server/activateAccount.ts","./src/api/com/atproto/server/checkAccountStatus.ts","./src/api/com/atproto/server/confirmEmail.ts","./src/api/com/atproto/server/createAccount.ts","./src/api/com/atproto/server/createAppPassword.ts","./src/api/com/atproto/server/createInviteCode.ts","./src/api/com/atproto/server/createInviteCodes.ts","./src/api/com/atproto/server/createSession.ts","./src/api/com/atproto/server/deactivateAccount.ts","./src/api/com/atproto/server/deleteAccount.ts","./src/api/com/atproto/server/deleteSession.ts","./src/api/com/atproto/server/describeServer.ts","./src/api/com/atproto/server/getAccountInviteCodes.ts","./src/api/com/atproto/server/getServiceAuth.ts","./src/api/com/atproto/server/getSession.ts","./src/api/com/atproto/server/index.ts","./src/api/com/atproto/server/listAppPasswords.ts","./src/api/com/atproto/server/refreshSession.ts","./src/api/com/atproto/server/requestAccountDelete.ts","./src/api/com/atproto/server/requestEmailConfirmation.ts","./src/api/com/atproto/server/requestEmailUpdate.ts","./src/api/com/atproto/server/requestPasswordReset.ts","./src/api/com/atproto/server/reserveSigningKey.ts","./src/api/com/atproto/server/resetPassword.ts","./src/api/com/atproto/server/revokeAppPassword.ts","./src/api/com/atproto/server/updateEmail.ts","./src/api/com/atproto/server/util.ts","./src/api/com/atproto/sync/getBlob.ts","./src/api/com/atproto/sync/getBlocks.ts","./src/api/com/atproto/sync/getLatestCommit.ts","./src/api/com/atproto/sync/getRecord.ts","./src/api/com/atproto/sync/getRepo.ts","./src/api/com/atproto/sync/getRepoStatus.ts","./src/api/com/atproto/sync/index.ts","./src/api/com/atproto/sync/listBlobs.ts","./src/api/com/atproto/sync/listRepos.ts","./src/api/com/atproto/sync/subscribeRepos.ts","./src/api/com/atproto/sync/util.ts","./src/api/com/atproto/sync/deprecated/getCheckout.ts","./src/api/com/atproto/sync/deprecated/getHead.ts","./src/api/com/atproto/temp/checkSignupQueue.ts","./src/api/com/atproto/temp/index.ts","./src/config/config.ts","./src/config/env.ts","./src/config/index.ts","./src/config/secrets.ts","./src/db/cast.ts","./src/db/db.ts","./src/db/index.ts","./src/db/migrator.ts","./src/db/pagination.ts","./src/db/util.ts","./src/db/tables/moderation.ts","./src/did-cache/index.ts","./src/did-cache/db/index.ts","./src/did-cache/db/migrations.ts","./src/did-cache/db/schema.ts","./src/handle/explicit-slurs.ts","./src/handle/index.ts","./src/handle/reserved.ts","./src/image/image-url-builder.ts","./src/image/image-url.ts","./src/image/index.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/getSuggestedStarterPacks.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.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/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/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/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/mailer/index.ts","./src/mailer/moderation.ts","./src/mailer/templates.ts","./src/mailer/templates/confirm-email.d.ts","./src/mailer/templates/delete-account.d.ts","./src/mailer/templates/plc-operation.d.ts","./src/mailer/templates/reset-password.d.ts","./src/mailer/templates/update-email.d.ts","./src/read-after-write/index.ts","./src/read-after-write/types.ts","./src/read-after-write/util.ts","./src/read-after-write/viewer.ts","./src/repo/index.ts","./src/repo/prepare.ts","./src/repo/types.ts","./src/scripts/index.ts","./src/scripts/publish-identity.ts","./src/scripts/rebuild-repo.ts","./src/scripts/rotate-keys.ts","./src/scripts/util.ts","./src/scripts/sequencer-recovery/index.ts","./src/scripts/sequencer-recovery/recoverer.ts","./src/scripts/sequencer-recovery/recovery-db.ts","./src/scripts/sequencer-recovery/repair-repos.ts","./src/scripts/sequencer-recovery/user-queues.ts","./src/sequencer/events.ts","./src/sequencer/index.ts","./src/sequencer/outbox.ts","./src/sequencer/sequencer.ts","./src/sequencer/db/index.ts","./src/sequencer/db/schema.ts","./src/sequencer/db/migrations/001-init.ts","./src/sequencer/db/migrations/index.ts","./src/util/compression.ts","./src/util/debug.ts","./src/util/params.ts"],"version":"5.6.3"}
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["./tests/_util.ts","./tests/account-deactivation.test.ts","./tests/account-deletion.test.ts","./tests/account-migration.test.ts","./tests/account.test.ts","./tests/app-passwords.test.ts","./tests/auth.test.ts","./tests/blob-deletes.test.ts","./tests/create-post.test.ts","./tests/crud.test.ts","./tests/db.test.ts","./tests/email-confirmation.test.ts","./tests/entryway.test.ts","./tests/file-uploads.test.ts","./tests/handle-validation.test.ts","./tests/handles.test.ts","./tests/invite-codes.test.ts","./tests/invites-admin.test.ts","./tests/moderation.test.ts","./tests/moderator-auth.test.ts","./tests/oauth.test.ts","./tests/plc-operations.test.ts","./tests/preferences.test.ts","./tests/races.test.ts","./tests/rate-limits.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/takedown-appeal.test.ts","./tests/proxied/admin.test.ts","./tests/proxied/feedgen.test.ts","./tests/proxied/notif.test.ts","./tests/proxied/procedures.test.ts","./tests/proxied/proxy-catchall.test.ts","./tests/proxied/proxy-header.test.ts","./tests/proxied/read-after-write.test.ts","./tests/proxied/views.test.ts","./tests/seeds/basic.ts","./tests/seeds/follows.ts","./tests/seeds/likes.ts","./tests/seeds/reposts.ts","./tests/seeds/thread.ts","./tests/seeds/users-bulk.ts","./tests/seeds/users.ts","./tests/sync/invertible-ops.test.ts","./tests/sync/list.test.ts","./tests/sync/subscribe-repos.test.ts","./tests/sync/sync.test.ts"],"version":"5.6.3"}
|
1
|
+
{"root":["./tests/_util.ts","./tests/account-deactivation.test.ts","./tests/account-deletion.test.ts","./tests/account-migration.test.ts","./tests/account.test.ts","./tests/app-passwords.test.ts","./tests/auth.test.ts","./tests/blob-deletes.test.ts","./tests/create-post.test.ts","./tests/crud.test.ts","./tests/db.test.ts","./tests/email-confirmation.test.ts","./tests/entryway.test.ts","./tests/file-uploads.test.ts","./tests/handle-validation.test.ts","./tests/handles.test.ts","./tests/invite-codes.test.ts","./tests/invites-admin.test.ts","./tests/moderation.test.ts","./tests/moderator-auth.test.ts","./tests/oauth.test.ts","./tests/plc-operations.test.ts","./tests/preferences.test.ts","./tests/races.test.ts","./tests/rate-limits.test.ts","./tests/recovery.test.ts","./tests/sequencer.test.ts","./tests/server.test.ts","./tests/takedown-appeal.test.ts","./tests/proxied/admin.test.ts","./tests/proxied/feedgen.test.ts","./tests/proxied/notif.test.ts","./tests/proxied/procedures.test.ts","./tests/proxied/proxy-catchall.test.ts","./tests/proxied/proxy-header.test.ts","./tests/proxied/read-after-write.test.ts","./tests/proxied/views.test.ts","./tests/seeds/basic.ts","./tests/seeds/follows.ts","./tests/seeds/likes.ts","./tests/seeds/reposts.ts","./tests/seeds/thread.ts","./tests/seeds/users-bulk.ts","./tests/seeds/users.ts","./tests/sync/invertible-ops.test.ts","./tests/sync/list.test.ts","./tests/sync/subscribe-repos.test.ts","./tests/sync/sync.test.ts"],"version":"5.6.3"}
|