@atproto/bsky 0.0.80 → 0.0.82
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 +15 -0
- package/dist/data-plane/client.d.ts.map +1 -1
- package/dist/data-plane/client.js +2 -1
- package/dist/data-plane/client.js.map +1 -1
- package/dist/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.d.ts +4 -0
- package/dist/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.d.ts.map +1 -0
- package/dist/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.js +26 -0
- package/dist/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.js.map +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
- package/dist/data-plane/server/db/migrations/index.js +2 -1
- package/dist/data-plane/server/db/migrations/index.js.map +1 -1
- package/dist/data-plane/server/db/tables/actor-sync.d.ts +0 -3
- package/dist/data-plane/server/db/tables/actor-sync.d.ts.map +1 -1
- package/dist/data-plane/server/db/tables/actor-sync.js.map +1 -1
- package/dist/data-plane/server/indexing/index.d.ts +2 -7
- package/dist/data-plane/server/indexing/index.d.ts.map +1 -1
- package/dist/data-plane/server/indexing/index.js +4 -21
- package/dist/data-plane/server/indexing/index.js.map +1 -1
- package/dist/data-plane/server/subscription.d.ts +26 -0
- package/dist/data-plane/server/subscription.d.ts.map +1 -0
- package/dist/data-plane/server/subscription.js +115 -0
- package/dist/data-plane/server/subscription.js.map +1 -0
- package/dist/lexicon/lexicons.d.ts +110 -3
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +117 -6
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +38 -4
- package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js +31 -1
- package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +5 -2
- package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/defs.d.ts +12 -0
- package/dist/lexicon/types/com/atproto/repo/defs.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/repo/defs.js +16 -0
- package/dist/lexicon/types/com/atproto/repo/defs.js.map +1 -0
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts +14 -2
- package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +5 -2
- package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/data-plane/client.ts +4 -1
- package/src/data-plane/server/db/migrations/20240829T211238293Z-simplify-actor-sync.ts +23 -0
- package/src/data-plane/server/db/migrations/index.ts +1 -0
- package/src/data-plane/server/db/tables/actor-sync.ts +0 -3
- package/src/data-plane/server/indexing/index.ts +4 -25
- package/src/data-plane/server/subscription.ts +104 -0
- package/src/lexicon/lexicons.ts +117 -6
- package/src/lexicon/types/com/atproto/repo/applyWrites.ts +70 -3
- package/src/lexicon/types/com/atproto/repo/createRecord.ts +5 -2
- package/src/lexicon/types/com/atproto/repo/defs.ts +25 -0
- package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +13 -1
- package/src/lexicon/types/com/atproto/repo/putRecord.ts +5 -2
- package/tests/data-plane/indexing.test.ts +1 -1
- package/tests/data-plane/{subscription/repo.test.ts → subscription.test.ts} +4 -9
- package/tests/views/actor-search.test.ts +1 -1
- package/dist/data-plane/server/subscription/index.d.ts +0 -33
- package/dist/data-plane/server/subscription/index.d.ts.map +0 -1
- package/dist/data-plane/server/subscription/index.js +0 -341
- package/dist/data-plane/server/subscription/index.js.map +0 -1
- package/dist/data-plane/server/subscription/util.d.ts +0 -65
- package/dist/data-plane/server/subscription/util.d.ts.map +0 -1
- package/dist/data-plane/server/subscription/util.js +0 -215
- package/dist/data-plane/server/subscription/util.js.map +0 -1
- package/src/data-plane/server/subscription/index.ts +0 -352
- package/src/data-plane/server/subscription/util.ts +0 -156
- package/tests/data-plane/subscription/util.test.ts +0 -185
package/src/lexicon/lexicons.ts
CHANGED
|
@@ -1254,9 +1254,8 @@ export const schemaDict = {
|
|
|
1254
1254
|
},
|
|
1255
1255
|
validate: {
|
|
1256
1256
|
type: 'boolean',
|
|
1257
|
-
default: true,
|
|
1258
1257
|
description:
|
|
1259
|
-
"Can be set to 'false' to skip Lexicon schema validation of record data, for
|
|
1258
|
+
"Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons.",
|
|
1260
1259
|
},
|
|
1261
1260
|
writes: {
|
|
1262
1261
|
type: 'array',
|
|
@@ -1279,6 +1278,31 @@ export const schemaDict = {
|
|
|
1279
1278
|
},
|
|
1280
1279
|
},
|
|
1281
1280
|
},
|
|
1281
|
+
output: {
|
|
1282
|
+
encoding: 'application/json',
|
|
1283
|
+
schema: {
|
|
1284
|
+
type: 'object',
|
|
1285
|
+
required: [],
|
|
1286
|
+
properties: {
|
|
1287
|
+
commit: {
|
|
1288
|
+
type: 'ref',
|
|
1289
|
+
ref: 'lex:com.atproto.repo.defs#commitMeta',
|
|
1290
|
+
},
|
|
1291
|
+
results: {
|
|
1292
|
+
type: 'array',
|
|
1293
|
+
items: {
|
|
1294
|
+
type: 'union',
|
|
1295
|
+
refs: [
|
|
1296
|
+
'lex:com.atproto.repo.applyWrites#createResult',
|
|
1297
|
+
'lex:com.atproto.repo.applyWrites#updateResult',
|
|
1298
|
+
'lex:com.atproto.repo.applyWrites#deleteResult',
|
|
1299
|
+
],
|
|
1300
|
+
closed: true,
|
|
1301
|
+
},
|
|
1302
|
+
},
|
|
1303
|
+
},
|
|
1304
|
+
},
|
|
1305
|
+
},
|
|
1282
1306
|
errors: [
|
|
1283
1307
|
{
|
|
1284
1308
|
name: 'InvalidSwap',
|
|
@@ -1336,6 +1360,47 @@ export const schemaDict = {
|
|
|
1336
1360
|
},
|
|
1337
1361
|
},
|
|
1338
1362
|
},
|
|
1363
|
+
createResult: {
|
|
1364
|
+
type: 'object',
|
|
1365
|
+
required: ['uri', 'cid'],
|
|
1366
|
+
properties: {
|
|
1367
|
+
uri: {
|
|
1368
|
+
type: 'string',
|
|
1369
|
+
format: 'at-uri',
|
|
1370
|
+
},
|
|
1371
|
+
cid: {
|
|
1372
|
+
type: 'string',
|
|
1373
|
+
format: 'cid',
|
|
1374
|
+
},
|
|
1375
|
+
validationStatus: {
|
|
1376
|
+
type: 'string',
|
|
1377
|
+
knownValues: ['valid', 'unknown'],
|
|
1378
|
+
},
|
|
1379
|
+
},
|
|
1380
|
+
},
|
|
1381
|
+
updateResult: {
|
|
1382
|
+
type: 'object',
|
|
1383
|
+
required: ['uri', 'cid'],
|
|
1384
|
+
properties: {
|
|
1385
|
+
uri: {
|
|
1386
|
+
type: 'string',
|
|
1387
|
+
format: 'at-uri',
|
|
1388
|
+
},
|
|
1389
|
+
cid: {
|
|
1390
|
+
type: 'string',
|
|
1391
|
+
format: 'cid',
|
|
1392
|
+
},
|
|
1393
|
+
validationStatus: {
|
|
1394
|
+
type: 'string',
|
|
1395
|
+
knownValues: ['valid', 'unknown'],
|
|
1396
|
+
},
|
|
1397
|
+
},
|
|
1398
|
+
},
|
|
1399
|
+
deleteResult: {
|
|
1400
|
+
type: 'object',
|
|
1401
|
+
required: [],
|
|
1402
|
+
properties: {},
|
|
1403
|
+
},
|
|
1339
1404
|
},
|
|
1340
1405
|
},
|
|
1341
1406
|
ComAtprotoRepoCreateRecord: {
|
|
@@ -1370,9 +1435,8 @@ export const schemaDict = {
|
|
|
1370
1435
|
},
|
|
1371
1436
|
validate: {
|
|
1372
1437
|
type: 'boolean',
|
|
1373
|
-
default: true,
|
|
1374
1438
|
description:
|
|
1375
|
-
"Can be set to 'false' to skip Lexicon schema validation of record data.",
|
|
1439
|
+
"Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.",
|
|
1376
1440
|
},
|
|
1377
1441
|
record: {
|
|
1378
1442
|
type: 'unknown',
|
|
@@ -1401,6 +1465,14 @@ export const schemaDict = {
|
|
|
1401
1465
|
type: 'string',
|
|
1402
1466
|
format: 'cid',
|
|
1403
1467
|
},
|
|
1468
|
+
commit: {
|
|
1469
|
+
type: 'ref',
|
|
1470
|
+
ref: 'lex:com.atproto.repo.defs#commitMeta',
|
|
1471
|
+
},
|
|
1472
|
+
validationStatus: {
|
|
1473
|
+
type: 'string',
|
|
1474
|
+
knownValues: ['valid', 'unknown'],
|
|
1475
|
+
},
|
|
1404
1476
|
},
|
|
1405
1477
|
},
|
|
1406
1478
|
},
|
|
@@ -1414,6 +1486,25 @@ export const schemaDict = {
|
|
|
1414
1486
|
},
|
|
1415
1487
|
},
|
|
1416
1488
|
},
|
|
1489
|
+
ComAtprotoRepoDefs: {
|
|
1490
|
+
lexicon: 1,
|
|
1491
|
+
id: 'com.atproto.repo.defs',
|
|
1492
|
+
defs: {
|
|
1493
|
+
commitMeta: {
|
|
1494
|
+
type: 'object',
|
|
1495
|
+
required: ['cid', 'rev'],
|
|
1496
|
+
properties: {
|
|
1497
|
+
cid: {
|
|
1498
|
+
type: 'string',
|
|
1499
|
+
format: 'cid',
|
|
1500
|
+
},
|
|
1501
|
+
rev: {
|
|
1502
|
+
type: 'string',
|
|
1503
|
+
},
|
|
1504
|
+
},
|
|
1505
|
+
},
|
|
1506
|
+
},
|
|
1507
|
+
},
|
|
1417
1508
|
ComAtprotoRepoDeleteRecord: {
|
|
1418
1509
|
lexicon: 1,
|
|
1419
1510
|
id: 'com.atproto.repo.deleteRecord',
|
|
@@ -1458,6 +1549,18 @@ export const schemaDict = {
|
|
|
1458
1549
|
},
|
|
1459
1550
|
},
|
|
1460
1551
|
},
|
|
1552
|
+
output: {
|
|
1553
|
+
encoding: 'application/json',
|
|
1554
|
+
schema: {
|
|
1555
|
+
type: 'object',
|
|
1556
|
+
properties: {
|
|
1557
|
+
commit: {
|
|
1558
|
+
type: 'ref',
|
|
1559
|
+
ref: 'lex:com.atproto.repo.defs#commitMeta',
|
|
1560
|
+
},
|
|
1561
|
+
},
|
|
1562
|
+
},
|
|
1563
|
+
},
|
|
1461
1564
|
errors: [
|
|
1462
1565
|
{
|
|
1463
1566
|
name: 'InvalidSwap',
|
|
@@ -1778,9 +1881,8 @@ export const schemaDict = {
|
|
|
1778
1881
|
},
|
|
1779
1882
|
validate: {
|
|
1780
1883
|
type: 'boolean',
|
|
1781
|
-
default: true,
|
|
1782
1884
|
description:
|
|
1783
|
-
"Can be set to 'false' to skip Lexicon schema validation of record data.",
|
|
1885
|
+
"Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.",
|
|
1784
1886
|
},
|
|
1785
1887
|
record: {
|
|
1786
1888
|
type: 'unknown',
|
|
@@ -1815,6 +1917,14 @@ export const schemaDict = {
|
|
|
1815
1917
|
type: 'string',
|
|
1816
1918
|
format: 'cid',
|
|
1817
1919
|
},
|
|
1920
|
+
commit: {
|
|
1921
|
+
type: 'ref',
|
|
1922
|
+
ref: 'lex:com.atproto.repo.defs#commitMeta',
|
|
1923
|
+
},
|
|
1924
|
+
validationStatus: {
|
|
1925
|
+
type: 'string',
|
|
1926
|
+
knownValues: ['valid', 'unknown'],
|
|
1927
|
+
},
|
|
1818
1928
|
},
|
|
1819
1929
|
},
|
|
1820
1930
|
},
|
|
@@ -10366,6 +10476,7 @@ export const ids = {
|
|
|
10366
10476
|
ComAtprotoModerationDefs: 'com.atproto.moderation.defs',
|
|
10367
10477
|
ComAtprotoRepoApplyWrites: 'com.atproto.repo.applyWrites',
|
|
10368
10478
|
ComAtprotoRepoCreateRecord: 'com.atproto.repo.createRecord',
|
|
10479
|
+
ComAtprotoRepoDefs: 'com.atproto.repo.defs',
|
|
10369
10480
|
ComAtprotoRepoDeleteRecord: 'com.atproto.repo.deleteRecord',
|
|
10370
10481
|
ComAtprotoRepoDescribeRepo: 'com.atproto.repo.describeRepo',
|
|
10371
10482
|
ComAtprotoRepoGetRecord: 'com.atproto.repo.getRecord',
|
|
@@ -7,32 +7,45 @@ import { lexicons } from '../../../../lexicons'
|
|
|
7
7
|
import { isObj, hasProp } from '../../../../util'
|
|
8
8
|
import { CID } from 'multiformats/cid'
|
|
9
9
|
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
|
|
10
|
+
import * as ComAtprotoRepoDefs from './defs'
|
|
10
11
|
|
|
11
12
|
export interface QueryParams {}
|
|
12
13
|
|
|
13
14
|
export interface InputSchema {
|
|
14
15
|
/** The handle or DID of the repo (aka, current account). */
|
|
15
16
|
repo: string
|
|
16
|
-
/** Can be set to 'false' to skip Lexicon schema validation of record data, for
|
|
17
|
-
validate
|
|
17
|
+
/** Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons. */
|
|
18
|
+
validate?: boolean
|
|
18
19
|
writes: (Create | Update | Delete)[]
|
|
19
20
|
/** If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations. */
|
|
20
21
|
swapCommit?: string
|
|
21
22
|
[k: string]: unknown
|
|
22
23
|
}
|
|
23
24
|
|
|
25
|
+
export interface OutputSchema {
|
|
26
|
+
commit?: ComAtprotoRepoDefs.CommitMeta
|
|
27
|
+
results?: (CreateResult | UpdateResult | DeleteResult)[]
|
|
28
|
+
[k: string]: unknown
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
export interface HandlerInput {
|
|
25
32
|
encoding: 'application/json'
|
|
26
33
|
body: InputSchema
|
|
27
34
|
}
|
|
28
35
|
|
|
36
|
+
export interface HandlerSuccess {
|
|
37
|
+
encoding: 'application/json'
|
|
38
|
+
body: OutputSchema
|
|
39
|
+
headers?: { [key: string]: string }
|
|
40
|
+
}
|
|
41
|
+
|
|
29
42
|
export interface HandlerError {
|
|
30
43
|
status: number
|
|
31
44
|
message?: string
|
|
32
45
|
error?: 'InvalidSwap'
|
|
33
46
|
}
|
|
34
47
|
|
|
35
|
-
export type HandlerOutput = HandlerError |
|
|
48
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
|
|
36
49
|
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
37
50
|
auth: HA
|
|
38
51
|
params: QueryParams
|
|
@@ -102,3 +115,57 @@ export function isDelete(v: unknown): v is Delete {
|
|
|
102
115
|
export function validateDelete(v: unknown): ValidationResult {
|
|
103
116
|
return lexicons.validate('com.atproto.repo.applyWrites#delete', v)
|
|
104
117
|
}
|
|
118
|
+
|
|
119
|
+
export interface CreateResult {
|
|
120
|
+
uri: string
|
|
121
|
+
cid: string
|
|
122
|
+
validationStatus?: 'valid' | 'unknown' | (string & {})
|
|
123
|
+
[k: string]: unknown
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export function isCreateResult(v: unknown): v is CreateResult {
|
|
127
|
+
return (
|
|
128
|
+
isObj(v) &&
|
|
129
|
+
hasProp(v, '$type') &&
|
|
130
|
+
v.$type === 'com.atproto.repo.applyWrites#createResult'
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export function validateCreateResult(v: unknown): ValidationResult {
|
|
135
|
+
return lexicons.validate('com.atproto.repo.applyWrites#createResult', v)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface UpdateResult {
|
|
139
|
+
uri: string
|
|
140
|
+
cid: string
|
|
141
|
+
validationStatus?: 'valid' | 'unknown' | (string & {})
|
|
142
|
+
[k: string]: unknown
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function isUpdateResult(v: unknown): v is UpdateResult {
|
|
146
|
+
return (
|
|
147
|
+
isObj(v) &&
|
|
148
|
+
hasProp(v, '$type') &&
|
|
149
|
+
v.$type === 'com.atproto.repo.applyWrites#updateResult'
|
|
150
|
+
)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export function validateUpdateResult(v: unknown): ValidationResult {
|
|
154
|
+
return lexicons.validate('com.atproto.repo.applyWrites#updateResult', v)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface DeleteResult {
|
|
158
|
+
[k: string]: unknown
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export function isDeleteResult(v: unknown): v is DeleteResult {
|
|
162
|
+
return (
|
|
163
|
+
isObj(v) &&
|
|
164
|
+
hasProp(v, '$type') &&
|
|
165
|
+
v.$type === 'com.atproto.repo.applyWrites#deleteResult'
|
|
166
|
+
)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export function validateDeleteResult(v: unknown): ValidationResult {
|
|
170
|
+
return lexicons.validate('com.atproto.repo.applyWrites#deleteResult', v)
|
|
171
|
+
}
|
|
@@ -7,6 +7,7 @@ import { lexicons } from '../../../../lexicons'
|
|
|
7
7
|
import { isObj, hasProp } from '../../../../util'
|
|
8
8
|
import { CID } from 'multiformats/cid'
|
|
9
9
|
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
|
|
10
|
+
import * as ComAtprotoRepoDefs from './defs'
|
|
10
11
|
|
|
11
12
|
export interface QueryParams {}
|
|
12
13
|
|
|
@@ -17,8 +18,8 @@ export interface InputSchema {
|
|
|
17
18
|
collection: string
|
|
18
19
|
/** The Record Key. */
|
|
19
20
|
rkey?: string
|
|
20
|
-
/** Can be set to 'false' to skip Lexicon schema validation of record data. */
|
|
21
|
-
validate
|
|
21
|
+
/** Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons. */
|
|
22
|
+
validate?: boolean
|
|
22
23
|
/** The record itself. Must contain a $type field. */
|
|
23
24
|
record: {}
|
|
24
25
|
/** Compare and swap with the previous commit by CID. */
|
|
@@ -29,6 +30,8 @@ export interface InputSchema {
|
|
|
29
30
|
export interface OutputSchema {
|
|
30
31
|
uri: string
|
|
31
32
|
cid: string
|
|
33
|
+
commit?: ComAtprotoRepoDefs.CommitMeta
|
|
34
|
+
validationStatus?: 'valid' | 'unknown' | (string & {})
|
|
32
35
|
[k: string]: unknown
|
|
33
36
|
}
|
|
34
37
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import { ValidationResult, BlobRef } from '@atproto/lexicon'
|
|
5
|
+
import { lexicons } from '../../../../lexicons'
|
|
6
|
+
import { isObj, hasProp } from '../../../../util'
|
|
7
|
+
import { CID } from 'multiformats/cid'
|
|
8
|
+
|
|
9
|
+
export interface CommitMeta {
|
|
10
|
+
cid: string
|
|
11
|
+
rev: string
|
|
12
|
+
[k: string]: unknown
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function isCommitMeta(v: unknown): v is CommitMeta {
|
|
16
|
+
return (
|
|
17
|
+
isObj(v) &&
|
|
18
|
+
hasProp(v, '$type') &&
|
|
19
|
+
v.$type === 'com.atproto.repo.defs#commitMeta'
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function validateCommitMeta(v: unknown): ValidationResult {
|
|
24
|
+
return lexicons.validate('com.atproto.repo.defs#commitMeta', v)
|
|
25
|
+
}
|
|
@@ -7,6 +7,7 @@ import { lexicons } from '../../../../lexicons'
|
|
|
7
7
|
import { isObj, hasProp } from '../../../../util'
|
|
8
8
|
import { CID } from 'multiformats/cid'
|
|
9
9
|
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
|
|
10
|
+
import * as ComAtprotoRepoDefs from './defs'
|
|
10
11
|
|
|
11
12
|
export interface QueryParams {}
|
|
12
13
|
|
|
@@ -24,18 +25,29 @@ export interface InputSchema {
|
|
|
24
25
|
[k: string]: unknown
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
export interface OutputSchema {
|
|
29
|
+
commit?: ComAtprotoRepoDefs.CommitMeta
|
|
30
|
+
[k: string]: unknown
|
|
31
|
+
}
|
|
32
|
+
|
|
27
33
|
export interface HandlerInput {
|
|
28
34
|
encoding: 'application/json'
|
|
29
35
|
body: InputSchema
|
|
30
36
|
}
|
|
31
37
|
|
|
38
|
+
export interface HandlerSuccess {
|
|
39
|
+
encoding: 'application/json'
|
|
40
|
+
body: OutputSchema
|
|
41
|
+
headers?: { [key: string]: string }
|
|
42
|
+
}
|
|
43
|
+
|
|
32
44
|
export interface HandlerError {
|
|
33
45
|
status: number
|
|
34
46
|
message?: string
|
|
35
47
|
error?: 'InvalidSwap'
|
|
36
48
|
}
|
|
37
49
|
|
|
38
|
-
export type HandlerOutput = HandlerError |
|
|
50
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
|
|
39
51
|
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
40
52
|
auth: HA
|
|
41
53
|
params: QueryParams
|
|
@@ -7,6 +7,7 @@ import { lexicons } from '../../../../lexicons'
|
|
|
7
7
|
import { isObj, hasProp } from '../../../../util'
|
|
8
8
|
import { CID } from 'multiformats/cid'
|
|
9
9
|
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
|
|
10
|
+
import * as ComAtprotoRepoDefs from './defs'
|
|
10
11
|
|
|
11
12
|
export interface QueryParams {}
|
|
12
13
|
|
|
@@ -17,8 +18,8 @@ export interface InputSchema {
|
|
|
17
18
|
collection: string
|
|
18
19
|
/** The Record Key. */
|
|
19
20
|
rkey: string
|
|
20
|
-
/** Can be set to 'false' to skip Lexicon schema validation of record data. */
|
|
21
|
-
validate
|
|
21
|
+
/** Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons. */
|
|
22
|
+
validate?: boolean
|
|
22
23
|
/** The record to write. */
|
|
23
24
|
record: {}
|
|
24
25
|
/** Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation */
|
|
@@ -31,6 +32,8 @@ export interface InputSchema {
|
|
|
31
32
|
export interface OutputSchema {
|
|
32
33
|
uri: string
|
|
33
34
|
cid: string
|
|
35
|
+
commit?: ComAtprotoRepoDefs.CommitMeta
|
|
36
|
+
validationStatus?: 'valid' | 'unknown' | (string & {})
|
|
34
37
|
[k: string]: unknown
|
|
35
38
|
}
|
|
36
39
|
|
|
@@ -429,7 +429,7 @@ describe('indexing', () => {
|
|
|
429
429
|
|
|
430
430
|
describe('indexRepo', () => {
|
|
431
431
|
beforeAll(async () => {
|
|
432
|
-
network.bsky.sub.
|
|
432
|
+
await network.bsky.sub.restart()
|
|
433
433
|
await basicSeed(sc, false)
|
|
434
434
|
await network.processAll()
|
|
435
435
|
await network.bsky.sub.destroy()
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AtpAgent } from '@atproto/api'
|
|
2
2
|
import { cborDecode, cborEncode } from '@atproto/common'
|
|
3
|
-
import { DatabaseSchemaType } from '
|
|
3
|
+
import { DatabaseSchemaType } from '../../src/data-plane/server/db/database-schema'
|
|
4
4
|
import { SeedClient, TestNetwork, basicSeed } from '@atproto/dev-env'
|
|
5
5
|
import { PreparedWrite, sequencer } from '@atproto/pds'
|
|
6
6
|
import { CommitData } from '@atproto/repo'
|
|
7
|
-
import { ids } from '
|
|
8
|
-
import { forSnapshot } from '
|
|
7
|
+
import { ids } from '../../src/lexicon/lexicons'
|
|
8
|
+
import { forSnapshot } from '../_util'
|
|
9
9
|
|
|
10
10
|
type Database = TestNetwork['bsky']['db']
|
|
11
11
|
|
|
@@ -60,12 +60,7 @@ describe('sync', () => {
|
|
|
60
60
|
const originalTableDump = await getTableDump()
|
|
61
61
|
|
|
62
62
|
// Reprocess repos via sync subscription, on top of existing indices
|
|
63
|
-
await network.bsky.sub.
|
|
64
|
-
// Hard reset of state
|
|
65
|
-
network.bsky.sub.cursor = 0
|
|
66
|
-
network.bsky.sub.seenSeq = null
|
|
67
|
-
// Boot streams back up
|
|
68
|
-
network.bsky.sub.run()
|
|
63
|
+
await network.bsky.sub.restart()
|
|
69
64
|
await network.processAll()
|
|
70
65
|
|
|
71
66
|
// Permissive of indexedAt times changing
|
|
@@ -39,7 +39,7 @@ describe.skip('pds actor search views', () => {
|
|
|
39
39
|
.execute()
|
|
40
40
|
|
|
41
41
|
// Process remaining profiles
|
|
42
|
-
network.bsky.sub.
|
|
42
|
+
await network.bsky.sub.restart()
|
|
43
43
|
await network.processAll(50000)
|
|
44
44
|
headers = await network.serviceHeaders(
|
|
45
45
|
Object.values(sc.dids)[0],
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IdResolver } from '@atproto/identity';
|
|
3
|
-
import { IndexingService } from '../indexing';
|
|
4
|
-
import { Database } from '../db';
|
|
5
|
-
import { ConsecutiveList, PartitionedQueue } from './util';
|
|
6
|
-
import { BackgroundQueue } from '../background';
|
|
7
|
-
export declare class RepoSubscription {
|
|
8
|
-
private opts;
|
|
9
|
-
ac: AbortController;
|
|
10
|
-
running: Promise<void> | undefined;
|
|
11
|
-
cursor: number;
|
|
12
|
-
seenSeq: number | null;
|
|
13
|
-
repoQueue: PartitionedQueue;
|
|
14
|
-
consecutive: ConsecutiveList<number>;
|
|
15
|
-
background: BackgroundQueue;
|
|
16
|
-
indexingSvc: IndexingService;
|
|
17
|
-
constructor(opts: {
|
|
18
|
-
service: string;
|
|
19
|
-
db: Database;
|
|
20
|
-
idResolver: IdResolver;
|
|
21
|
-
background: BackgroundQueue;
|
|
22
|
-
});
|
|
23
|
-
run(): void;
|
|
24
|
-
private process;
|
|
25
|
-
private handleMessage;
|
|
26
|
-
private handleCommit;
|
|
27
|
-
private handleUpdateHandle;
|
|
28
|
-
private handleIdentityEvt;
|
|
29
|
-
private handleAccountEvt;
|
|
30
|
-
private getSubscription;
|
|
31
|
-
destroy(): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/subscription/index.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAY9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAEL,eAAe,EACf,gBAAgB,EAGjB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,qBAAa,gBAAgB;IAWzB,OAAO,CAAC,IAAI;IAVd,EAAE,kBAAwB;IAC1B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAClC,MAAM,SAAI;IACV,OAAO,EAAE,MAAM,GAAG,IAAI,CAAO;IAC7B,SAAS,mBAAkD;IAC3D,WAAW,0BAAgC;IAC3C,UAAU,EAAE,eAAe,CAAA;IAC3B,WAAW,EAAE,eAAe,CAAA;gBAGlB,IAAI,EAAE;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,EAAE,EAAE,QAAQ,CAAA;QACZ,UAAU,EAAE,UAAU,CAAA;QACtB,UAAU,EAAE,eAAe,CAAA;KAC5B;IAUH,GAAG;YAgBW,OAAO;YAqBP,aAAa;YAqCb,YAAY;YAgEZ,kBAAkB;YAIlB,iBAAiB;YAIjB,gBAAgB;IAQ9B,OAAO,CAAC,eAAe;IAkCjB,OAAO;CAMd"}
|