@atproto/bsky 0.0.91 → 0.0.93
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/api/app/bsky/feed/getFeed.d.ts.map +1 -1
- package/dist/api/app/bsky/feed/getFeed.js +4 -3
- package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/api/app/bsky/unspecced/getConfig.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/getConfig.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/getConfig.js +17 -0
- package/dist/api/app/bsky/unspecced/getConfig.js.map +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/auth-verifier.d.ts +2 -0
- package/dist/auth-verifier.d.ts.map +1 -1
- package/dist/auth-verifier.js +25 -4
- package/dist/auth-verifier.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/hydration/actor.d.ts +1 -0
- package/dist/hydration/actor.d.ts.map +1 -1
- package/dist/hydration/actor.js +1 -0
- package/dist/hydration/actor.js.map +1 -1
- package/dist/hydration/hydrator.d.ts.map +1 -1
- package/dist/hydration/hydrator.js +1 -0
- package/dist/hydration/hydrator.js.map +1 -1
- package/dist/hydration/util.d.ts +1 -0
- package/dist/hydration/util.d.ts.map +1 -1
- package/dist/hydration/util.js +2 -0
- package/dist/hydration/util.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/lexicon/index.d.ts +2 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +4 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +23 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +26 -3
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts +34 -0
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js +3 -0
- package/dist/lexicon/types/app/bsky/unspecced/getConfig.js.map +1 -0
- package/dist/views/index.d.ts +11 -1
- package/dist/views/index.d.ts.map +1 -1
- package/dist/views/index.js +36 -13
- package/dist/views/index.js.map +1 -1
- package/package.json +10 -10
- package/src/api/app/bsky/feed/getFeed.ts +5 -3
- package/src/api/app/bsky/unspecced/getConfig.ts +16 -0
- package/src/api/index.ts +2 -0
- package/src/auth-verifier.ts +56 -2
- package/src/config.ts +22 -0
- package/src/hydration/actor.ts +2 -0
- package/src/hydration/hydrator.ts +1 -0
- package/src/hydration/util.ts +3 -0
- package/src/index.ts +5 -1
- package/src/lexicon/index.ts +12 -0
- package/src/lexicon/lexicons.ts +26 -3
- package/src/lexicon/types/app/bsky/unspecced/getConfig.ts +43 -0
- package/src/views/index.ts +30 -12
- package/tests/auth.test.ts +26 -0
- package/tsconfig.build.tsbuildinfo +1 -1
package/src/config.ts
CHANGED
|
@@ -36,10 +36,13 @@ export interface ServerConfigValues {
|
|
|
36
36
|
modServiceDid: string
|
|
37
37
|
adminPasswords: string[]
|
|
38
38
|
labelsFromIssuerDids?: string[]
|
|
39
|
+
indexedAtEpoch?: Date
|
|
39
40
|
// misc/dev
|
|
40
41
|
blobCacheLocation?: string
|
|
41
42
|
statsigKey?: string
|
|
42
43
|
statsigEnv?: string
|
|
44
|
+
// client config
|
|
45
|
+
clientCheckEmailConfirmed?: boolean
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
export class ServerConfig {
|
|
@@ -121,6 +124,15 @@ export class ServerConfig {
|
|
|
121
124
|
process.env.NODE_ENV === 'test'
|
|
122
125
|
? 'test'
|
|
123
126
|
: process.env.BSKY_STATSIG_ENV || 'development'
|
|
127
|
+
const clientCheckEmailConfirmed =
|
|
128
|
+
process.env.BSKY_CLIENT_CHECK_EMAIL_CONFIRMED === 'true'
|
|
129
|
+
const indexedAtEpoch = process.env.BSKY_INDEXED_AT_EPOCH
|
|
130
|
+
? new Date(process.env.BSKY_INDEXED_AT_EPOCH)
|
|
131
|
+
: undefined
|
|
132
|
+
assert(
|
|
133
|
+
!indexedAtEpoch || !isNaN(indexedAtEpoch.getTime()),
|
|
134
|
+
'invalid BSKY_INDEXED_AT_EPOCH',
|
|
135
|
+
)
|
|
124
136
|
return new ServerConfig({
|
|
125
137
|
version,
|
|
126
138
|
debugMode,
|
|
@@ -156,6 +168,8 @@ export class ServerConfig {
|
|
|
156
168
|
modServiceDid,
|
|
157
169
|
statsigKey,
|
|
158
170
|
statsigEnv,
|
|
171
|
+
clientCheckEmailConfirmed,
|
|
172
|
+
indexedAtEpoch,
|
|
159
173
|
...stripUndefineds(overrides ?? {}),
|
|
160
174
|
})
|
|
161
175
|
}
|
|
@@ -308,6 +322,14 @@ export class ServerConfig {
|
|
|
308
322
|
get statsigEnv() {
|
|
309
323
|
return this.cfg.statsigEnv
|
|
310
324
|
}
|
|
325
|
+
|
|
326
|
+
get clientCheckEmailConfirmed() {
|
|
327
|
+
return this.cfg.clientCheckEmailConfirmed
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
get indexedAtEpoch() {
|
|
331
|
+
return this.cfg.indexedAtEpoch
|
|
332
|
+
}
|
|
311
333
|
}
|
|
312
334
|
|
|
313
335
|
function stripUndefineds(
|
package/src/hydration/actor.ts
CHANGED
|
@@ -17,6 +17,7 @@ export type Actor = {
|
|
|
17
17
|
profileCid?: string
|
|
18
18
|
profileTakedownRef?: string
|
|
19
19
|
sortedAt?: Date
|
|
20
|
+
indexedAt?: Date
|
|
20
21
|
takedownRef?: string
|
|
21
22
|
isLabeler: boolean
|
|
22
23
|
allowIncomingChatsFrom?: string
|
|
@@ -126,6 +127,7 @@ export class ActorHydrator {
|
|
|
126
127
|
profileCid: profile?.cid,
|
|
127
128
|
profileTakedownRef: safeTakedownRef(profile),
|
|
128
129
|
sortedAt: profile?.sortedAt?.toDate(),
|
|
130
|
+
indexedAt: profile?.indexedAt?.toDate(),
|
|
129
131
|
takedownRef: safeTakedownRef(actor),
|
|
130
132
|
isLabeler: actor.labeler ?? false,
|
|
131
133
|
allowIncomingChatsFrom: actor.allowIncomingChatsFrom || undefined,
|
|
@@ -976,6 +976,7 @@ export class Hydrator {
|
|
|
976
976
|
record: actor.profile,
|
|
977
977
|
cid: actor.profileCid,
|
|
978
978
|
sortedAt: actor.sortedAt ?? new Date(0), // @NOTE will be present since profile record is present
|
|
979
|
+
indexedAt: actor.indexedAt ?? new Date(0), // @NOTE will be present since profile record is present
|
|
979
980
|
takedownRef: actor.profileTakedownRef,
|
|
980
981
|
}
|
|
981
982
|
}
|
package/src/hydration/util.ts
CHANGED
|
@@ -22,6 +22,7 @@ export type RecordInfo<T> = {
|
|
|
22
22
|
record: T
|
|
23
23
|
cid: string
|
|
24
24
|
sortedAt: Date
|
|
25
|
+
indexedAt: Date
|
|
25
26
|
takedownRef: string | undefined
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -65,6 +66,7 @@ export const parseRecord = <T>(
|
|
|
65
66
|
const record = parseRecordBytes<T>(entry.record)
|
|
66
67
|
const cid = entry.cid
|
|
67
68
|
const sortedAt = entry.sortedAt?.toDate() ?? new Date(0)
|
|
69
|
+
const indexedAt = entry.indexedAt?.toDate() ?? new Date(0)
|
|
68
70
|
if (!record || !cid) return
|
|
69
71
|
if (!isValidRecord(record)) {
|
|
70
72
|
return
|
|
@@ -73,6 +75,7 @@ export const parseRecord = <T>(
|
|
|
73
75
|
record,
|
|
74
76
|
cid,
|
|
75
77
|
sortedAt,
|
|
78
|
+
indexedAt,
|
|
76
79
|
takedownRef: safeTakedownRef(entry),
|
|
77
80
|
}
|
|
78
81
|
}
|
package/src/index.ts
CHANGED
|
@@ -101,7 +101,11 @@ export class BskyAppView {
|
|
|
101
101
|
rejectUnauthorized: !config.dataplaneIgnoreBadTls,
|
|
102
102
|
})
|
|
103
103
|
const hydrator = new Hydrator(dataplane, config.labelsFromIssuerDids)
|
|
104
|
-
const views = new Views(
|
|
104
|
+
const views = new Views({
|
|
105
|
+
imgUriBuilder: imgUriBuilder,
|
|
106
|
+
videoUriBuilder: videoUriBuilder,
|
|
107
|
+
indexedAtEpoch: config.indexedAtEpoch,
|
|
108
|
+
})
|
|
105
109
|
|
|
106
110
|
const bsyncClient = createBsyncClient({
|
|
107
111
|
baseUrl: config.bsyncUrl,
|
package/src/lexicon/index.ts
CHANGED
|
@@ -134,6 +134,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
|
|
|
134
134
|
import * as AppBskyNotificationPutPreferences from './types/app/bsky/notification/putPreferences'
|
|
135
135
|
import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush'
|
|
136
136
|
import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'
|
|
137
|
+
import * as AppBskyUnspeccedGetConfig from './types/app/bsky/unspecced/getConfig'
|
|
137
138
|
import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators'
|
|
138
139
|
import * as AppBskyUnspeccedGetSuggestionsSkeleton from './types/app/bsky/unspecced/getSuggestionsSkeleton'
|
|
139
140
|
import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
|
|
@@ -1783,6 +1784,17 @@ export class AppBskyUnspeccedNS {
|
|
|
1783
1784
|
this._server = server
|
|
1784
1785
|
}
|
|
1785
1786
|
|
|
1787
|
+
getConfig<AV extends AuthVerifier>(
|
|
1788
|
+
cfg: ConfigOf<
|
|
1789
|
+
AV,
|
|
1790
|
+
AppBskyUnspeccedGetConfig.Handler<ExtractAuth<AV>>,
|
|
1791
|
+
AppBskyUnspeccedGetConfig.HandlerReqCtx<ExtractAuth<AV>>
|
|
1792
|
+
>,
|
|
1793
|
+
) {
|
|
1794
|
+
const nsid = 'app.bsky.unspecced.getConfig' // @ts-ignore
|
|
1795
|
+
return this._server.xrpc.method(nsid, cfg)
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1786
1798
|
getPopularFeedGenerators<AV extends AuthVerifier>(
|
|
1787
1799
|
cfg: ConfigOf<
|
|
1788
1800
|
AV,
|
package/src/lexicon/lexicons.ts
CHANGED
|
@@ -1341,7 +1341,7 @@ export const schemaDict = {
|
|
|
1341
1341
|
},
|
|
1342
1342
|
rkey: {
|
|
1343
1343
|
type: 'string',
|
|
1344
|
-
maxLength:
|
|
1344
|
+
maxLength: 512,
|
|
1345
1345
|
},
|
|
1346
1346
|
value: {
|
|
1347
1347
|
type: 'unknown',
|
|
@@ -1450,7 +1450,7 @@ export const schemaDict = {
|
|
|
1450
1450
|
rkey: {
|
|
1451
1451
|
type: 'string',
|
|
1452
1452
|
description: 'The Record Key.',
|
|
1453
|
-
maxLength:
|
|
1453
|
+
maxLength: 512,
|
|
1454
1454
|
},
|
|
1455
1455
|
validate: {
|
|
1456
1456
|
type: 'boolean',
|
|
@@ -1901,7 +1901,7 @@ export const schemaDict = {
|
|
|
1901
1901
|
rkey: {
|
|
1902
1902
|
type: 'string',
|
|
1903
1903
|
description: 'The Record Key.',
|
|
1904
|
-
maxLength:
|
|
1904
|
+
maxLength: 512,
|
|
1905
1905
|
},
|
|
1906
1906
|
validate: {
|
|
1907
1907
|
type: 'boolean',
|
|
@@ -9155,6 +9155,28 @@ export const schemaDict = {
|
|
|
9155
9155
|
},
|
|
9156
9156
|
},
|
|
9157
9157
|
},
|
|
9158
|
+
AppBskyUnspeccedGetConfig: {
|
|
9159
|
+
lexicon: 1,
|
|
9160
|
+
id: 'app.bsky.unspecced.getConfig',
|
|
9161
|
+
defs: {
|
|
9162
|
+
main: {
|
|
9163
|
+
type: 'query',
|
|
9164
|
+
description: 'Get miscellaneous runtime configuration.',
|
|
9165
|
+
output: {
|
|
9166
|
+
encoding: 'application/json',
|
|
9167
|
+
schema: {
|
|
9168
|
+
type: 'object',
|
|
9169
|
+
required: [],
|
|
9170
|
+
properties: {
|
|
9171
|
+
checkEmailConfirmed: {
|
|
9172
|
+
type: 'boolean',
|
|
9173
|
+
},
|
|
9174
|
+
},
|
|
9175
|
+
},
|
|
9176
|
+
},
|
|
9177
|
+
},
|
|
9178
|
+
},
|
|
9179
|
+
},
|
|
9158
9180
|
AppBskyUnspeccedGetPopularFeedGenerators: {
|
|
9159
9181
|
lexicon: 1,
|
|
9160
9182
|
id: 'app.bsky.unspecced.getPopularFeedGenerators',
|
|
@@ -10714,6 +10736,7 @@ export const ids = {
|
|
|
10714
10736
|
AppBskyNotificationUpdateSeen: 'app.bsky.notification.updateSeen',
|
|
10715
10737
|
AppBskyRichtextFacet: 'app.bsky.richtext.facet',
|
|
10716
10738
|
AppBskyUnspeccedDefs: 'app.bsky.unspecced.defs',
|
|
10739
|
+
AppBskyUnspeccedGetConfig: 'app.bsky.unspecced.getConfig',
|
|
10717
10740
|
AppBskyUnspeccedGetPopularFeedGenerators:
|
|
10718
10741
|
'app.bsky.unspecced.getPopularFeedGenerators',
|
|
10719
10742
|
AppBskyUnspeccedGetSuggestionsSkeleton:
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express'
|
|
5
|
+
import { ValidationResult, BlobRef } from '@atproto/lexicon'
|
|
6
|
+
import { lexicons } from '../../../../lexicons'
|
|
7
|
+
import { isObj, hasProp } from '../../../../util'
|
|
8
|
+
import { CID } from 'multiformats/cid'
|
|
9
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
|
|
10
|
+
|
|
11
|
+
export interface QueryParams {}
|
|
12
|
+
|
|
13
|
+
export type InputSchema = undefined
|
|
14
|
+
|
|
15
|
+
export interface OutputSchema {
|
|
16
|
+
checkEmailConfirmed?: boolean
|
|
17
|
+
[k: string]: unknown
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type HandlerInput = undefined
|
|
21
|
+
|
|
22
|
+
export interface HandlerSuccess {
|
|
23
|
+
encoding: 'application/json'
|
|
24
|
+
body: OutputSchema
|
|
25
|
+
headers?: { [key: string]: string }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface HandlerError {
|
|
29
|
+
status: number
|
|
30
|
+
message?: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
|
|
34
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
35
|
+
auth: HA
|
|
36
|
+
params: QueryParams
|
|
37
|
+
input: HandlerInput
|
|
38
|
+
req: express.Request
|
|
39
|
+
res: express.Response
|
|
40
|
+
}
|
|
41
|
+
export type Handler<HA extends HandlerAuth = never> = (
|
|
42
|
+
ctx: HandlerReqCtx<HA>,
|
|
43
|
+
) => Promise<HandlerOutput> | HandlerOutput
|
package/src/views/index.ts
CHANGED
|
@@ -75,9 +75,15 @@ import { Notification } from '../proto/bsky_pb'
|
|
|
75
75
|
import { postUriToThreadgateUri, postUriToPostgateUri } from '../util/uris'
|
|
76
76
|
|
|
77
77
|
export class Views {
|
|
78
|
+
public imgUriBuilder: ImageUriBuilder = this.opts.imgUriBuilder
|
|
79
|
+
public videoUriBuilder: VideoUriBuilder = this.opts.videoUriBuilder
|
|
80
|
+
public indexedAtEpoch: Date | undefined = this.opts.indexedAtEpoch
|
|
78
81
|
constructor(
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
private opts: {
|
|
83
|
+
imgUriBuilder: ImageUriBuilder
|
|
84
|
+
videoUriBuilder: VideoUriBuilder
|
|
85
|
+
indexedAtEpoch: Date | undefined
|
|
86
|
+
},
|
|
81
87
|
) {}
|
|
82
88
|
|
|
83
89
|
// Actor
|
|
@@ -182,7 +188,13 @@ export class Views {
|
|
|
182
188
|
return {
|
|
183
189
|
...basicView,
|
|
184
190
|
description: actor.profile?.description || undefined,
|
|
185
|
-
indexedAt:
|
|
191
|
+
indexedAt:
|
|
192
|
+
actor.indexedAt && actor.sortedAt
|
|
193
|
+
? this.indexedAt({
|
|
194
|
+
sortedAt: actor.sortedAt,
|
|
195
|
+
indexedAt: actor.indexedAt,
|
|
196
|
+
}).toISOString()
|
|
197
|
+
: undefined,
|
|
186
198
|
}
|
|
187
199
|
}
|
|
188
200
|
|
|
@@ -330,7 +342,7 @@ export class Views {
|
|
|
330
342
|
creator,
|
|
331
343
|
description: list.record.description,
|
|
332
344
|
descriptionFacets: list.record.descriptionFacets,
|
|
333
|
-
indexedAt: list.
|
|
345
|
+
indexedAt: this.indexedAt(list).toISOString(),
|
|
334
346
|
}
|
|
335
347
|
}
|
|
336
348
|
|
|
@@ -356,7 +368,7 @@ export class Views {
|
|
|
356
368
|
)
|
|
357
369
|
: undefined,
|
|
358
370
|
listItemCount: listAgg?.listItems ?? 0,
|
|
359
|
-
indexedAt: list.
|
|
371
|
+
indexedAt: this.indexedAt(list).toISOString(),
|
|
360
372
|
labels,
|
|
361
373
|
viewer: listViewer
|
|
362
374
|
? {
|
|
@@ -386,7 +398,7 @@ export class Views {
|
|
|
386
398
|
joinedAllTimeCount: agg?.joinedAllTime ?? 0,
|
|
387
399
|
joinedWeekCount: agg?.joinedWeek ?? 0,
|
|
388
400
|
labels,
|
|
389
|
-
indexedAt: sp.
|
|
401
|
+
indexedAt: this.indexedAt(sp).toISOString(),
|
|
390
402
|
}
|
|
391
403
|
}
|
|
392
404
|
|
|
@@ -463,7 +475,7 @@ export class Views {
|
|
|
463
475
|
like: viewer.like,
|
|
464
476
|
}
|
|
465
477
|
: undefined,
|
|
466
|
-
indexedAt: labeler.
|
|
478
|
+
indexedAt: this.indexedAt(labeler).toISOString(),
|
|
467
479
|
labels,
|
|
468
480
|
}
|
|
469
481
|
}
|
|
@@ -551,7 +563,7 @@ export class Views {
|
|
|
551
563
|
like: viewer.like,
|
|
552
564
|
}
|
|
553
565
|
: undefined,
|
|
554
|
-
indexedAt: feedgen.
|
|
566
|
+
indexedAt: this.indexedAt(feedgen).toISOString(),
|
|
555
567
|
}
|
|
556
568
|
}
|
|
557
569
|
|
|
@@ -600,7 +612,7 @@ export class Views {
|
|
|
600
612
|
repostCount: aggs?.reposts ?? 0,
|
|
601
613
|
likeCount: aggs?.likes ?? 0,
|
|
602
614
|
quoteCount: aggs?.quotes ?? 0,
|
|
603
|
-
indexedAt: post.
|
|
615
|
+
indexedAt: this.indexedAt(post).toISOString(),
|
|
604
616
|
viewer: viewer
|
|
605
617
|
? {
|
|
606
618
|
repost: viewer.repost,
|
|
@@ -724,7 +736,7 @@ export class Views {
|
|
|
724
736
|
return {
|
|
725
737
|
$type: 'app.bsky.feed.defs#reasonRepost',
|
|
726
738
|
by: creator,
|
|
727
|
-
indexedAt: repost.
|
|
739
|
+
indexedAt: this.indexedAt(repost).toISOString(),
|
|
728
740
|
}
|
|
729
741
|
}
|
|
730
742
|
|
|
@@ -1170,11 +1182,12 @@ export class Views {
|
|
|
1170
1182
|
} else if (uri.collection === ids.AppBskyActorProfile) {
|
|
1171
1183
|
const actor = state.actors?.get(authorDid)
|
|
1172
1184
|
recordInfo =
|
|
1173
|
-
actor && actor.profile && actor.profileCid
|
|
1185
|
+
actor && actor.profile && actor.profileCid
|
|
1174
1186
|
? {
|
|
1175
1187
|
record: actor.profile,
|
|
1176
1188
|
cid: actor.profileCid,
|
|
1177
|
-
sortedAt: actor.sortedAt,
|
|
1189
|
+
sortedAt: actor.sortedAt ?? new Date(0), // @NOTE will be present since profile record is present
|
|
1190
|
+
indexedAt: actor.indexedAt ?? new Date(0), // @NOTE will be present since profile record is present
|
|
1178
1191
|
takedownRef: actor.profileTakedownRef,
|
|
1179
1192
|
}
|
|
1180
1193
|
: null
|
|
@@ -1202,6 +1215,11 @@ export class Views {
|
|
|
1202
1215
|
labels: [...labels, ...selfLabels],
|
|
1203
1216
|
}
|
|
1204
1217
|
}
|
|
1218
|
+
|
|
1219
|
+
indexedAt({ sortedAt, indexedAt }: { sortedAt: Date; indexedAt: Date }) {
|
|
1220
|
+
if (!this.indexedAtEpoch) return sortedAt
|
|
1221
|
+
return indexedAt && indexedAt > this.indexedAtEpoch ? indexedAt : sortedAt
|
|
1222
|
+
}
|
|
1205
1223
|
}
|
|
1206
1224
|
|
|
1207
1225
|
const getRootUri = (uri: string, post: Post): string => {
|
package/tests/auth.test.ts
CHANGED
|
@@ -9,6 +9,10 @@ describe('auth', () => {
|
|
|
9
9
|
let agent: AtpAgent
|
|
10
10
|
let sc: SeedClient
|
|
11
11
|
|
|
12
|
+
// account dids, for convenience
|
|
13
|
+
let alice: string
|
|
14
|
+
let bob: string
|
|
15
|
+
|
|
12
16
|
beforeAll(async () => {
|
|
13
17
|
network = await TestNetwork.create({
|
|
14
18
|
dbPostgresSchema: 'bsky_auth',
|
|
@@ -17,6 +21,8 @@ describe('auth', () => {
|
|
|
17
21
|
sc = network.getSeedClient()
|
|
18
22
|
await usersSeed(sc)
|
|
19
23
|
await network.processAll()
|
|
24
|
+
alice = sc.dids.alice
|
|
25
|
+
bob = sc.dids.bob
|
|
20
26
|
})
|
|
21
27
|
|
|
22
28
|
afterAll(async () => {
|
|
@@ -63,4 +69,24 @@ describe('auth', () => {
|
|
|
63
69
|
'jwt signature does not match jwt issuer',
|
|
64
70
|
)
|
|
65
71
|
})
|
|
72
|
+
|
|
73
|
+
it('throws if the user key is incorrect', async () => {
|
|
74
|
+
const bobKeypair = await network.pds.ctx.actorStore.keypair(bob)
|
|
75
|
+
|
|
76
|
+
const jwt = await createServiceJwt({
|
|
77
|
+
iss: alice,
|
|
78
|
+
aud: network.bsky.ctx.cfg.serverDid,
|
|
79
|
+
lxm: ids.AppBskyFeedGetTimeline,
|
|
80
|
+
keypair: bobKeypair,
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
await expect(
|
|
84
|
+
agent.api.app.bsky.actor.getProfile(
|
|
85
|
+
{ actor: sc.dids.carol },
|
|
86
|
+
{
|
|
87
|
+
headers: { authorization: `Bearer ${jwt}` },
|
|
88
|
+
},
|
|
89
|
+
),
|
|
90
|
+
).rejects.toThrow()
|
|
91
|
+
})
|
|
66
92
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/auth-verifier.ts","./src/bsync.ts","./src/config.ts","./src/context.ts","./src/courier.ts","./src/error.ts","./src/feature-gates.ts","./src/index.ts","./src/logger.ts","./src/pipeline.ts","./src/redis.ts","./src/util.ts","./src/api/blob-resolver.ts","./src/api/health.ts","./src/api/index.ts","./src/api/util.ts","./src/api/well-known.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/getSuggestions.ts","./src/api/app/bsky/actor/searchActors.ts","./src/api/app/bsky/actor/searchActorsTypeahead.ts","./src/api/app/bsky/feed/getActorFeeds.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/getFeedGenerator.ts","./src/api/app/bsky/feed/getFeedGenerators.ts","./src/api/app/bsky/feed/getLikes.ts","./src/api/app/bsky/feed/getListFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getPosts.ts","./src/api/app/bsky/feed/getQuotes.ts","./src/api/app/bsky/feed/getRepostedBy.ts","./src/api/app/bsky/feed/getSuggestedFeeds.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/searchPosts.ts","./src/api/app/bsky/graph/getActorStarterPacks.ts","./src/api/app/bsky/graph/getBlocks.ts","./src/api/app/bsky/graph/getFollowers.ts","./src/api/app/bsky/graph/getFollows.ts","./src/api/app/bsky/graph/getKnownFollowers.ts","./src/api/app/bsky/graph/getList.ts","./src/api/app/bsky/graph/getListBlocks.ts","./src/api/app/bsky/graph/getListMutes.ts","./src/api/app/bsky/graph/getLists.ts","./src/api/app/bsky/graph/getMutes.ts","./src/api/app/bsky/graph/getRelationships.ts","./src/api/app/bsky/graph/getStarterPack.ts","./src/api/app/bsky/graph/getStarterPacks.ts","./src/api/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/api/app/bsky/graph/muteActor.ts","./src/api/app/bsky/graph/muteActorList.ts","./src/api/app/bsky/graph/muteThread.ts","./src/api/app/bsky/graph/unmuteActor.ts","./src/api/app/bsky/graph/unmuteActorList.ts","./src/api/app/bsky/graph/unmuteThread.ts","./src/api/app/bsky/labeler/getServices.ts","./src/api/app/bsky/notification/getUnreadCount.ts","./src/api/app/bsky/notification/listNotifications.ts","./src/api/app/bsky/notification/putPreferences.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/notification/updateSeen.ts","./src/api/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/api/app/bsky/unspecced/getTaggedSuggestions.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/label/queryLabels.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/temp/fetchLabels.ts","./src/cache/read-through.ts","./src/data-plane/client.ts","./src/data-plane/index.ts","./src/data-plane/bsync/index.ts","./src/data-plane/server/background.ts","./src/data-plane/server/index.ts","./src/data-plane/server/subscription.ts","./src/data-plane/server/util.ts","./src/data-plane/server/db/database-schema.ts","./src/data-plane/server/db/db.ts","./src/data-plane/server/db/index.ts","./src/data-plane/server/db/pagination.ts","./src/data-plane/server/db/types.ts","./src/data-plane/server/db/util.ts","./src/data-plane/server/db/migrations/20230309T045948368Z-init.ts","./src/data-plane/server/db/migrations/20230408T152211201Z-notification-init.ts","./src/data-plane/server/db/migrations/20230417T210628672Z-moderation-init.ts","./src/data-plane/server/db/migrations/20230420T211446071Z-did-cache.ts","./src/data-plane/server/db/migrations/20230427T194702079Z-notif-record-index.ts","./src/data-plane/server/db/migrations/20230605T144730094Z-post-profile-aggs.ts","./src/data-plane/server/db/migrations/20230607T211442112Z-feed-generator-init.ts","./src/data-plane/server/db/migrations/20230608T155101190Z-algo-whats-hot-view.ts","./src/data-plane/server/db/migrations/20230608T201813132Z-mute-lists.ts","./src/data-plane/server/db/migrations/20230608T205147239Z-mutes.ts","./src/data-plane/server/db/migrations/20230609T153623961Z-blocks.ts","./src/data-plane/server/db/migrations/20230609T232122649Z-actor-deletion-indexes.ts","./src/data-plane/server/db/migrations/20230610T203555962Z-suggested-follows.ts","./src/data-plane/server/db/migrations/20230611T215300060Z-actor-state.ts","./src/data-plane/server/db/migrations/20230620T161134972Z-post-langs.ts","./src/data-plane/server/db/migrations/20230627T212437895Z-optional-handle.ts","./src/data-plane/server/db/migrations/20230629T220835893Z-remove-post-hierarchy.ts","./src/data-plane/server/db/migrations/20230703T045536691Z-feed-and-label-indices.ts","./src/data-plane/server/db/migrations/20230720T164800037Z-posts-cursor-idx.ts","./src/data-plane/server/db/migrations/20230807T035309811Z-feed-item-delete-invite-for-user-idx.ts","./src/data-plane/server/db/migrations/20230808T172902639Z-repo-rev.ts","./src/data-plane/server/db/migrations/20230810T203349843Z-action-duration.ts","./src/data-plane/server/db/migrations/20230817T195936007Z-native-notifications.ts","./src/data-plane/server/db/migrations/20230830T205507322Z-suggested-feeds.ts","./src/data-plane/server/db/migrations/20230904T211011773Z-block-lists.ts","./src/data-plane/server/db/migrations/20230906T222220386Z-thread-gating.ts","./src/data-plane/server/db/migrations/20230920T213858047Z-add-tags-to-post.ts","./src/data-plane/server/db/migrations/20230929T192920807Z-record-cursor-indexes.ts","./src/data-plane/server/db/migrations/20231003T202833377Z-create-moderation-subject-status.ts","./src/data-plane/server/db/migrations/20231220T225126090Z-blob-takedowns.ts","./src/data-plane/server/db/migrations/20240124T023719200Z-tagged-suggestions.ts","./src/data-plane/server/db/migrations/20240226T225725627Z-labelers.ts","./src/data-plane/server/db/migrations/20240530T170337073Z-account-deactivation.ts","./src/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.ts","./src/data-plane/server/db/migrations/20240606T222548219Z-starter-packs.ts","./src/data-plane/server/db/migrations/20240719T203853939Z-priority-notifs.ts","./src/data-plane/server/db/migrations/20240723T220700077Z-quotes-post-aggs.ts","./src/data-plane/server/db/migrations/20240723T220703655Z-quotes.ts","./src/data-plane/server/db/migrations/20240801T193939827Z-post-gate.ts","./src/data-plane/server/db/migrations/20240808T224251220Z-post-gate-flags.ts","./src/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.ts","./src/data-plane/server/db/migrations/20240831T134810923Z-pinned-posts.ts","./src/data-plane/server/db/migrations/index.ts","./src/data-plane/server/db/migrations/provider.ts","./src/data-plane/server/db/tables/actor-block.ts","./src/data-plane/server/db/tables/actor-state.ts","./src/data-plane/server/db/tables/actor-sync.ts","./src/data-plane/server/db/tables/actor.ts","./src/data-plane/server/db/tables/algo.ts","./src/data-plane/server/db/tables/blob-takedown.ts","./src/data-plane/server/db/tables/did-cache.ts","./src/data-plane/server/db/tables/duplicate-record.ts","./src/data-plane/server/db/tables/feed-generator.ts","./src/data-plane/server/db/tables/feed-item.ts","./src/data-plane/server/db/tables/follow.ts","./src/data-plane/server/db/tables/label.ts","./src/data-plane/server/db/tables/labeler.ts","./src/data-plane/server/db/tables/like.ts","./src/data-plane/server/db/tables/list-block.ts","./src/data-plane/server/db/tables/list-item.ts","./src/data-plane/server/db/tables/list-mute.ts","./src/data-plane/server/db/tables/list.ts","./src/data-plane/server/db/tables/mute.ts","./src/data-plane/server/db/tables/notification-push-token.ts","./src/data-plane/server/db/tables/notification.ts","./src/data-plane/server/db/tables/post-agg.ts","./src/data-plane/server/db/tables/post-embed.ts","./src/data-plane/server/db/tables/post-gate.ts","./src/data-plane/server/db/tables/post.ts","./src/data-plane/server/db/tables/profile-agg.ts","./src/data-plane/server/db/tables/profile.ts","./src/data-plane/server/db/tables/quote.ts","./src/data-plane/server/db/tables/record.ts","./src/data-plane/server/db/tables/repost.ts","./src/data-plane/server/db/tables/starter-pack.ts","./src/data-plane/server/db/tables/subscription.ts","./src/data-plane/server/db/tables/suggested-feed.ts","./src/data-plane/server/db/tables/suggested-follow.ts","./src/data-plane/server/db/tables/tagged-suggestion.ts","./src/data-plane/server/db/tables/thread-gate.ts","./src/data-plane/server/db/tables/thread-mute.ts","./src/data-plane/server/db/tables/view-param.ts","./src/data-plane/server/indexing/index.ts","./src/data-plane/server/indexing/processor.ts","./src/data-plane/server/indexing/plugins/block.ts","./src/data-plane/server/indexing/plugins/chat-declaration.ts","./src/data-plane/server/indexing/plugins/feed-generator.ts","./src/data-plane/server/indexing/plugins/follow.ts","./src/data-plane/server/indexing/plugins/labeler.ts","./src/data-plane/server/indexing/plugins/like.ts","./src/data-plane/server/indexing/plugins/list-block.ts","./src/data-plane/server/indexing/plugins/list-item.ts","./src/data-plane/server/indexing/plugins/list.ts","./src/data-plane/server/indexing/plugins/post-gate.ts","./src/data-plane/server/indexing/plugins/post.ts","./src/data-plane/server/indexing/plugins/profile.ts","./src/data-plane/server/indexing/plugins/repost.ts","./src/data-plane/server/indexing/plugins/starter-pack.ts","./src/data-plane/server/indexing/plugins/thread-gate.ts","./src/data-plane/server/routes/blocks.ts","./src/data-plane/server/routes/feed-gens.ts","./src/data-plane/server/routes/feeds.ts","./src/data-plane/server/routes/follows.ts","./src/data-plane/server/routes/identity.ts","./src/data-plane/server/routes/index.ts","./src/data-plane/server/routes/interactions.ts","./src/data-plane/server/routes/labels.ts","./src/data-plane/server/routes/likes.ts","./src/data-plane/server/routes/lists.ts","./src/data-plane/server/routes/moderation.ts","./src/data-plane/server/routes/mutes.ts","./src/data-plane/server/routes/notifs.ts","./src/data-plane/server/routes/posts.ts","./src/data-plane/server/routes/profile.ts","./src/data-plane/server/routes/quotes.ts","./src/data-plane/server/routes/records.ts","./src/data-plane/server/routes/relationships.ts","./src/data-plane/server/routes/reposts.ts","./src/data-plane/server/routes/search.ts","./src/data-plane/server/routes/starter-packs.ts","./src/data-plane/server/routes/suggestions.ts","./src/data-plane/server/routes/sync.ts","./src/data-plane/server/routes/threads.ts","./src/hydration/actor.ts","./src/hydration/feed.ts","./src/hydration/graph.ts","./src/hydration/hydrator.ts","./src/hydration/label.ts","./src/hydration/util.ts","./src/image/index.ts","./src/image/invalidator.ts","./src/image/logger.ts","./src/image/server.ts","./src/image/sharp.ts","./src/image/uri.ts","./src/image/util.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/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/getPopularFeedGenerators.ts","./src/lexicon/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/proto/bsky_connect.ts","./src/proto/bsky_pb.ts","./src/proto/bsync_connect.ts","./src/proto/bsync_pb.ts","./src/proto/courier_connect.ts","./src/proto/courier_pb.ts","./src/util/debug.ts","./src/util/retry.ts","./src/util/uris.ts","./src/views/index.ts","./src/views/types.ts","./src/views/util.ts"],"version":"5.6.3"}
|
|
1
|
+
{"root":["./src/auth-verifier.ts","./src/bsync.ts","./src/config.ts","./src/context.ts","./src/courier.ts","./src/error.ts","./src/feature-gates.ts","./src/index.ts","./src/logger.ts","./src/pipeline.ts","./src/redis.ts","./src/util.ts","./src/api/blob-resolver.ts","./src/api/health.ts","./src/api/index.ts","./src/api/util.ts","./src/api/well-known.ts","./src/api/app/bsky/actor/getProfile.ts","./src/api/app/bsky/actor/getProfiles.ts","./src/api/app/bsky/actor/getSuggestions.ts","./src/api/app/bsky/actor/searchActors.ts","./src/api/app/bsky/actor/searchActorsTypeahead.ts","./src/api/app/bsky/feed/getActorFeeds.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/getFeedGenerator.ts","./src/api/app/bsky/feed/getFeedGenerators.ts","./src/api/app/bsky/feed/getLikes.ts","./src/api/app/bsky/feed/getListFeed.ts","./src/api/app/bsky/feed/getPostThread.ts","./src/api/app/bsky/feed/getPosts.ts","./src/api/app/bsky/feed/getQuotes.ts","./src/api/app/bsky/feed/getRepostedBy.ts","./src/api/app/bsky/feed/getSuggestedFeeds.ts","./src/api/app/bsky/feed/getTimeline.ts","./src/api/app/bsky/feed/searchPosts.ts","./src/api/app/bsky/graph/getActorStarterPacks.ts","./src/api/app/bsky/graph/getBlocks.ts","./src/api/app/bsky/graph/getFollowers.ts","./src/api/app/bsky/graph/getFollows.ts","./src/api/app/bsky/graph/getKnownFollowers.ts","./src/api/app/bsky/graph/getList.ts","./src/api/app/bsky/graph/getListBlocks.ts","./src/api/app/bsky/graph/getListMutes.ts","./src/api/app/bsky/graph/getLists.ts","./src/api/app/bsky/graph/getMutes.ts","./src/api/app/bsky/graph/getRelationships.ts","./src/api/app/bsky/graph/getStarterPack.ts","./src/api/app/bsky/graph/getStarterPacks.ts","./src/api/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/api/app/bsky/graph/muteActor.ts","./src/api/app/bsky/graph/muteActorList.ts","./src/api/app/bsky/graph/muteThread.ts","./src/api/app/bsky/graph/unmuteActor.ts","./src/api/app/bsky/graph/unmuteActorList.ts","./src/api/app/bsky/graph/unmuteThread.ts","./src/api/app/bsky/labeler/getServices.ts","./src/api/app/bsky/notification/getUnreadCount.ts","./src/api/app/bsky/notification/listNotifications.ts","./src/api/app/bsky/notification/putPreferences.ts","./src/api/app/bsky/notification/registerPush.ts","./src/api/app/bsky/notification/updateSeen.ts","./src/api/app/bsky/unspecced/getConfig.ts","./src/api/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/api/app/bsky/unspecced/getTaggedSuggestions.ts","./src/api/com/atproto/admin/getAccountInfos.ts","./src/api/com/atproto/admin/getSubjectStatus.ts","./src/api/com/atproto/admin/updateSubjectStatus.ts","./src/api/com/atproto/identity/resolveHandle.ts","./src/api/com/atproto/label/queryLabels.ts","./src/api/com/atproto/repo/getRecord.ts","./src/api/com/atproto/temp/fetchLabels.ts","./src/cache/read-through.ts","./src/data-plane/client.ts","./src/data-plane/index.ts","./src/data-plane/bsync/index.ts","./src/data-plane/server/background.ts","./src/data-plane/server/index.ts","./src/data-plane/server/subscription.ts","./src/data-plane/server/util.ts","./src/data-plane/server/db/database-schema.ts","./src/data-plane/server/db/db.ts","./src/data-plane/server/db/index.ts","./src/data-plane/server/db/pagination.ts","./src/data-plane/server/db/types.ts","./src/data-plane/server/db/util.ts","./src/data-plane/server/db/migrations/20230309T045948368Z-init.ts","./src/data-plane/server/db/migrations/20230408T152211201Z-notification-init.ts","./src/data-plane/server/db/migrations/20230417T210628672Z-moderation-init.ts","./src/data-plane/server/db/migrations/20230420T211446071Z-did-cache.ts","./src/data-plane/server/db/migrations/20230427T194702079Z-notif-record-index.ts","./src/data-plane/server/db/migrations/20230605T144730094Z-post-profile-aggs.ts","./src/data-plane/server/db/migrations/20230607T211442112Z-feed-generator-init.ts","./src/data-plane/server/db/migrations/20230608T155101190Z-algo-whats-hot-view.ts","./src/data-plane/server/db/migrations/20230608T201813132Z-mute-lists.ts","./src/data-plane/server/db/migrations/20230608T205147239Z-mutes.ts","./src/data-plane/server/db/migrations/20230609T153623961Z-blocks.ts","./src/data-plane/server/db/migrations/20230609T232122649Z-actor-deletion-indexes.ts","./src/data-plane/server/db/migrations/20230610T203555962Z-suggested-follows.ts","./src/data-plane/server/db/migrations/20230611T215300060Z-actor-state.ts","./src/data-plane/server/db/migrations/20230620T161134972Z-post-langs.ts","./src/data-plane/server/db/migrations/20230627T212437895Z-optional-handle.ts","./src/data-plane/server/db/migrations/20230629T220835893Z-remove-post-hierarchy.ts","./src/data-plane/server/db/migrations/20230703T045536691Z-feed-and-label-indices.ts","./src/data-plane/server/db/migrations/20230720T164800037Z-posts-cursor-idx.ts","./src/data-plane/server/db/migrations/20230807T035309811Z-feed-item-delete-invite-for-user-idx.ts","./src/data-plane/server/db/migrations/20230808T172902639Z-repo-rev.ts","./src/data-plane/server/db/migrations/20230810T203349843Z-action-duration.ts","./src/data-plane/server/db/migrations/20230817T195936007Z-native-notifications.ts","./src/data-plane/server/db/migrations/20230830T205507322Z-suggested-feeds.ts","./src/data-plane/server/db/migrations/20230904T211011773Z-block-lists.ts","./src/data-plane/server/db/migrations/20230906T222220386Z-thread-gating.ts","./src/data-plane/server/db/migrations/20230920T213858047Z-add-tags-to-post.ts","./src/data-plane/server/db/migrations/20230929T192920807Z-record-cursor-indexes.ts","./src/data-plane/server/db/migrations/20231003T202833377Z-create-moderation-subject-status.ts","./src/data-plane/server/db/migrations/20231220T225126090Z-blob-takedowns.ts","./src/data-plane/server/db/migrations/20240124T023719200Z-tagged-suggestions.ts","./src/data-plane/server/db/migrations/20240226T225725627Z-labelers.ts","./src/data-plane/server/db/migrations/20240530T170337073Z-account-deactivation.ts","./src/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.ts","./src/data-plane/server/db/migrations/20240606T222548219Z-starter-packs.ts","./src/data-plane/server/db/migrations/20240719T203853939Z-priority-notifs.ts","./src/data-plane/server/db/migrations/20240723T220700077Z-quotes-post-aggs.ts","./src/data-plane/server/db/migrations/20240723T220703655Z-quotes.ts","./src/data-plane/server/db/migrations/20240801T193939827Z-post-gate.ts","./src/data-plane/server/db/migrations/20240808T224251220Z-post-gate-flags.ts","./src/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.ts","./src/data-plane/server/db/migrations/20240831T134810923Z-pinned-posts.ts","./src/data-plane/server/db/migrations/index.ts","./src/data-plane/server/db/migrations/provider.ts","./src/data-plane/server/db/tables/actor-block.ts","./src/data-plane/server/db/tables/actor-state.ts","./src/data-plane/server/db/tables/actor-sync.ts","./src/data-plane/server/db/tables/actor.ts","./src/data-plane/server/db/tables/algo.ts","./src/data-plane/server/db/tables/blob-takedown.ts","./src/data-plane/server/db/tables/did-cache.ts","./src/data-plane/server/db/tables/duplicate-record.ts","./src/data-plane/server/db/tables/feed-generator.ts","./src/data-plane/server/db/tables/feed-item.ts","./src/data-plane/server/db/tables/follow.ts","./src/data-plane/server/db/tables/label.ts","./src/data-plane/server/db/tables/labeler.ts","./src/data-plane/server/db/tables/like.ts","./src/data-plane/server/db/tables/list-block.ts","./src/data-plane/server/db/tables/list-item.ts","./src/data-plane/server/db/tables/list-mute.ts","./src/data-plane/server/db/tables/list.ts","./src/data-plane/server/db/tables/mute.ts","./src/data-plane/server/db/tables/notification-push-token.ts","./src/data-plane/server/db/tables/notification.ts","./src/data-plane/server/db/tables/post-agg.ts","./src/data-plane/server/db/tables/post-embed.ts","./src/data-plane/server/db/tables/post-gate.ts","./src/data-plane/server/db/tables/post.ts","./src/data-plane/server/db/tables/profile-agg.ts","./src/data-plane/server/db/tables/profile.ts","./src/data-plane/server/db/tables/quote.ts","./src/data-plane/server/db/tables/record.ts","./src/data-plane/server/db/tables/repost.ts","./src/data-plane/server/db/tables/starter-pack.ts","./src/data-plane/server/db/tables/subscription.ts","./src/data-plane/server/db/tables/suggested-feed.ts","./src/data-plane/server/db/tables/suggested-follow.ts","./src/data-plane/server/db/tables/tagged-suggestion.ts","./src/data-plane/server/db/tables/thread-gate.ts","./src/data-plane/server/db/tables/thread-mute.ts","./src/data-plane/server/db/tables/view-param.ts","./src/data-plane/server/indexing/index.ts","./src/data-plane/server/indexing/processor.ts","./src/data-plane/server/indexing/plugins/block.ts","./src/data-plane/server/indexing/plugins/chat-declaration.ts","./src/data-plane/server/indexing/plugins/feed-generator.ts","./src/data-plane/server/indexing/plugins/follow.ts","./src/data-plane/server/indexing/plugins/labeler.ts","./src/data-plane/server/indexing/plugins/like.ts","./src/data-plane/server/indexing/plugins/list-block.ts","./src/data-plane/server/indexing/plugins/list-item.ts","./src/data-plane/server/indexing/plugins/list.ts","./src/data-plane/server/indexing/plugins/post-gate.ts","./src/data-plane/server/indexing/plugins/post.ts","./src/data-plane/server/indexing/plugins/profile.ts","./src/data-plane/server/indexing/plugins/repost.ts","./src/data-plane/server/indexing/plugins/starter-pack.ts","./src/data-plane/server/indexing/plugins/thread-gate.ts","./src/data-plane/server/routes/blocks.ts","./src/data-plane/server/routes/feed-gens.ts","./src/data-plane/server/routes/feeds.ts","./src/data-plane/server/routes/follows.ts","./src/data-plane/server/routes/identity.ts","./src/data-plane/server/routes/index.ts","./src/data-plane/server/routes/interactions.ts","./src/data-plane/server/routes/labels.ts","./src/data-plane/server/routes/likes.ts","./src/data-plane/server/routes/lists.ts","./src/data-plane/server/routes/moderation.ts","./src/data-plane/server/routes/mutes.ts","./src/data-plane/server/routes/notifs.ts","./src/data-plane/server/routes/posts.ts","./src/data-plane/server/routes/profile.ts","./src/data-plane/server/routes/quotes.ts","./src/data-plane/server/routes/records.ts","./src/data-plane/server/routes/relationships.ts","./src/data-plane/server/routes/reposts.ts","./src/data-plane/server/routes/search.ts","./src/data-plane/server/routes/starter-packs.ts","./src/data-plane/server/routes/suggestions.ts","./src/data-plane/server/routes/sync.ts","./src/data-plane/server/routes/threads.ts","./src/hydration/actor.ts","./src/hydration/feed.ts","./src/hydration/graph.ts","./src/hydration/hydrator.ts","./src/hydration/label.ts","./src/hydration/util.ts","./src/image/index.ts","./src/image/invalidator.ts","./src/image/logger.ts","./src/image/server.ts","./src/image/sharp.ts","./src/image/uri.ts","./src/image/util.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/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/searchActorsSkeleton.ts","./src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/lexicon/types/app/bsky/video/defs.ts","./src/lexicon/types/app/bsky/video/getJobStatus.ts","./src/lexicon/types/app/bsky/video/getUploadLimits.ts","./src/lexicon/types/app/bsky/video/uploadVideo.ts","./src/lexicon/types/chat/bsky/actor/declaration.ts","./src/lexicon/types/chat/bsky/actor/defs.ts","./src/lexicon/types/chat/bsky/actor/deleteAccount.ts","./src/lexicon/types/chat/bsky/actor/exportAccountData.ts","./src/lexicon/types/chat/bsky/convo/defs.ts","./src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/lexicon/types/chat/bsky/convo/getConvo.ts","./src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts","./src/lexicon/types/chat/bsky/convo/getLog.ts","./src/lexicon/types/chat/bsky/convo/getMessages.ts","./src/lexicon/types/chat/bsky/convo/leaveConvo.ts","./src/lexicon/types/chat/bsky/convo/listConvos.ts","./src/lexicon/types/chat/bsky/convo/muteConvo.ts","./src/lexicon/types/chat/bsky/convo/sendMessage.ts","./src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts","./src/lexicon/types/chat/bsky/convo/unmuteConvo.ts","./src/lexicon/types/chat/bsky/convo/updateRead.ts","./src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts","./src/lexicon/types/chat/bsky/moderation/getMessageContext.ts","./src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts","./src/lexicon/types/com/atproto/admin/defs.ts","./src/lexicon/types/com/atproto/admin/deleteAccount.ts","./src/lexicon/types/com/atproto/admin/disableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/disableInviteCodes.ts","./src/lexicon/types/com/atproto/admin/enableAccountInvites.ts","./src/lexicon/types/com/atproto/admin/getAccountInfo.ts","./src/lexicon/types/com/atproto/admin/getAccountInfos.ts","./src/lexicon/types/com/atproto/admin/getInviteCodes.ts","./src/lexicon/types/com/atproto/admin/getSubjectStatus.ts","./src/lexicon/types/com/atproto/admin/searchAccounts.ts","./src/lexicon/types/com/atproto/admin/sendEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountEmail.ts","./src/lexicon/types/com/atproto/admin/updateAccountHandle.ts","./src/lexicon/types/com/atproto/admin/updateAccountPassword.ts","./src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts","./src/lexicon/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/lexicon/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/lexicon/types/com/atproto/identity/resolveHandle.ts","./src/lexicon/types/com/atproto/identity/signPlcOperation.ts","./src/lexicon/types/com/atproto/identity/submitPlcOperation.ts","./src/lexicon/types/com/atproto/identity/updateHandle.ts","./src/lexicon/types/com/atproto/label/defs.ts","./src/lexicon/types/com/atproto/label/queryLabels.ts","./src/lexicon/types/com/atproto/label/subscribeLabels.ts","./src/lexicon/types/com/atproto/moderation/createReport.ts","./src/lexicon/types/com/atproto/moderation/defs.ts","./src/lexicon/types/com/atproto/repo/applyWrites.ts","./src/lexicon/types/com/atproto/repo/createRecord.ts","./src/lexicon/types/com/atproto/repo/defs.ts","./src/lexicon/types/com/atproto/repo/deleteRecord.ts","./src/lexicon/types/com/atproto/repo/describeRepo.ts","./src/lexicon/types/com/atproto/repo/getRecord.ts","./src/lexicon/types/com/atproto/repo/importRepo.ts","./src/lexicon/types/com/atproto/repo/listMissingBlobs.ts","./src/lexicon/types/com/atproto/repo/listRecords.ts","./src/lexicon/types/com/atproto/repo/putRecord.ts","./src/lexicon/types/com/atproto/repo/strongRef.ts","./src/lexicon/types/com/atproto/repo/uploadBlob.ts","./src/lexicon/types/com/atproto/server/activateAccount.ts","./src/lexicon/types/com/atproto/server/checkAccountStatus.ts","./src/lexicon/types/com/atproto/server/confirmEmail.ts","./src/lexicon/types/com/atproto/server/createAccount.ts","./src/lexicon/types/com/atproto/server/createAppPassword.ts","./src/lexicon/types/com/atproto/server/createInviteCode.ts","./src/lexicon/types/com/atproto/server/createInviteCodes.ts","./src/lexicon/types/com/atproto/server/createSession.ts","./src/lexicon/types/com/atproto/server/deactivateAccount.ts","./src/lexicon/types/com/atproto/server/defs.ts","./src/lexicon/types/com/atproto/server/deleteAccount.ts","./src/lexicon/types/com/atproto/server/deleteSession.ts","./src/lexicon/types/com/atproto/server/describeServer.ts","./src/lexicon/types/com/atproto/server/getAccountInviteCodes.ts","./src/lexicon/types/com/atproto/server/getServiceAuth.ts","./src/lexicon/types/com/atproto/server/getSession.ts","./src/lexicon/types/com/atproto/server/listAppPasswords.ts","./src/lexicon/types/com/atproto/server/refreshSession.ts","./src/lexicon/types/com/atproto/server/requestAccountDelete.ts","./src/lexicon/types/com/atproto/server/requestEmailConfirmation.ts","./src/lexicon/types/com/atproto/server/requestEmailUpdate.ts","./src/lexicon/types/com/atproto/server/requestPasswordReset.ts","./src/lexicon/types/com/atproto/server/reserveSigningKey.ts","./src/lexicon/types/com/atproto/server/resetPassword.ts","./src/lexicon/types/com/atproto/server/revokeAppPassword.ts","./src/lexicon/types/com/atproto/server/updateEmail.ts","./src/lexicon/types/com/atproto/sync/getBlob.ts","./src/lexicon/types/com/atproto/sync/getBlocks.ts","./src/lexicon/types/com/atproto/sync/getCheckout.ts","./src/lexicon/types/com/atproto/sync/getHead.ts","./src/lexicon/types/com/atproto/sync/getLatestCommit.ts","./src/lexicon/types/com/atproto/sync/getRecord.ts","./src/lexicon/types/com/atproto/sync/getRepo.ts","./src/lexicon/types/com/atproto/sync/getRepoStatus.ts","./src/lexicon/types/com/atproto/sync/listBlobs.ts","./src/lexicon/types/com/atproto/sync/listRepos.ts","./src/lexicon/types/com/atproto/sync/notifyOfUpdate.ts","./src/lexicon/types/com/atproto/sync/requestCrawl.ts","./src/lexicon/types/com/atproto/sync/subscribeRepos.ts","./src/lexicon/types/com/atproto/temp/checkSignupQueue.ts","./src/lexicon/types/com/atproto/temp/fetchLabels.ts","./src/lexicon/types/com/atproto/temp/requestPhoneVerification.ts","./src/proto/bsky_connect.ts","./src/proto/bsky_pb.ts","./src/proto/bsync_connect.ts","./src/proto/bsync_pb.ts","./src/proto/courier_connect.ts","./src/proto/courier_pb.ts","./src/util/debug.ts","./src/util/retry.ts","./src/util/uris.ts","./src/views/index.ts","./src/views/types.ts","./src/views/util.ts"],"version":"5.6.3"}
|