@atproto/pds 0.4.100 → 0.4.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/actor-store/repo/transactor.d.ts +5 -5
  3. package/dist/actor-store/repo/transactor.d.ts.map +1 -1
  4. package/dist/actor-store/repo/transactor.js +38 -18
  5. package/dist/actor-store/repo/transactor.js.map +1 -1
  6. package/dist/actor-store/repo/util.d.ts +5 -0
  7. package/dist/actor-store/repo/util.d.ts.map +1 -0
  8. package/dist/actor-store/repo/util.js +25 -0
  9. package/dist/actor-store/repo/util.js.map +1 -0
  10. package/dist/api/com/atproto/repo/applyWrites.js +1 -1
  11. package/dist/api/com/atproto/repo/applyWrites.js.map +1 -1
  12. package/dist/api/com/atproto/repo/createRecord.d.ts.map +1 -1
  13. package/dist/api/com/atproto/repo/createRecord.js +3 -3
  14. package/dist/api/com/atproto/repo/createRecord.js.map +1 -1
  15. package/dist/api/com/atproto/repo/deleteRecord.js +1 -1
  16. package/dist/api/com/atproto/repo/deleteRecord.js.map +1 -1
  17. package/dist/api/com/atproto/repo/putRecord.d.ts.map +1 -1
  18. package/dist/api/com/atproto/repo/putRecord.js +1 -1
  19. package/dist/api/com/atproto/repo/putRecord.js.map +1 -1
  20. package/dist/api/com/atproto/server/activateAccount.d.ts.map +1 -1
  21. package/dist/api/com/atproto/server/activateAccount.js +4 -1
  22. package/dist/api/com/atproto/server/activateAccount.js.map +1 -1
  23. package/dist/api/com/atproto/server/createAccount.js +1 -1
  24. package/dist/api/com/atproto/server/createAccount.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/lexicon/index.d.ts +2 -0
  28. package/dist/lexicon/index.d.ts.map +1 -1
  29. package/dist/lexicon/index.js +4 -0
  30. package/dist/lexicon/index.js.map +1 -1
  31. package/dist/lexicon/lexicons.d.ts +166 -32
  32. package/dist/lexicon/lexicons.d.ts.map +1 -1
  33. package/dist/lexicon/lexicons.js +105 -15
  34. package/dist/lexicon/lexicons.js.map +1 -1
  35. package/dist/lexicon/types/chat/bsky/convo/updateAllRead.d.ts +40 -0
  36. package/dist/lexicon/types/chat/bsky/convo/updateAllRead.d.ts.map +1 -0
  37. package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js +7 -0
  38. package/dist/lexicon/types/chat/bsky/convo/updateAllRead.js.map +1 -0
  39. package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts +1 -1
  40. package/dist/lexicon/types/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
  41. package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts +1 -1
  42. package/dist/lexicon/types/com/atproto/sync/listRepos.d.ts.map +1 -1
  43. package/dist/lexicon/types/com/atproto/sync/listRepos.js.map +1 -1
  44. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts +25 -7
  45. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.d.ts.map +1 -1
  46. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js +9 -0
  47. package/dist/lexicon/types/com/atproto/sync/subscribeRepos.js.map +1 -1
  48. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -2
  49. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  50. package/dist/repo/types.d.ts +12 -1
  51. package/dist/repo/types.d.ts.map +1 -1
  52. package/dist/repo/types.js.map +1 -1
  53. package/dist/scripts/rebuild-repo.d.ts.map +1 -1
  54. package/dist/scripts/rebuild-repo.js +4 -1
  55. package/dist/scripts/rebuild-repo.js.map +1 -1
  56. package/dist/sequencer/events.d.ts +22 -16
  57. package/dist/sequencer/events.d.ts.map +1 -1
  58. package/dist/sequencer/events.js +31 -39
  59. package/dist/sequencer/events.js.map +1 -1
  60. package/dist/sequencer/sequencer.d.ts +2 -3
  61. package/dist/sequencer/sequencer.d.ts.map +1 -1
  62. package/dist/sequencer/sequencer.js +2 -2
  63. package/dist/sequencer/sequencer.js.map +1 -1
  64. package/package.json +6 -6
  65. package/src/actor-store/repo/transactor.ts +47 -21
  66. package/src/actor-store/repo/util.ts +22 -0
  67. package/src/api/com/atproto/repo/applyWrites.ts +1 -1
  68. package/src/api/com/atproto/repo/createRecord.ts +28 -31
  69. package/src/api/com/atproto/repo/deleteRecord.ts +1 -1
  70. package/src/api/com/atproto/repo/putRecord.ts +3 -3
  71. package/src/api/com/atproto/server/activateAccount.ts +4 -1
  72. package/src/api/com/atproto/server/createAccount.ts +1 -1
  73. package/src/index.ts +1 -1
  74. package/src/lexicon/index.ts +12 -0
  75. package/src/lexicon/lexicons.ts +114 -16
  76. package/src/lexicon/types/chat/bsky/convo/updateAllRead.ts +53 -0
  77. package/src/lexicon/types/com/atproto/sync/getRepoStatus.ts +8 -1
  78. package/src/lexicon/types/com/atproto/sync/listRepos.ts +8 -1
  79. package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +41 -6
  80. package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -2
  81. package/src/repo/types.ts +14 -1
  82. package/src/scripts/rebuild-repo.ts +4 -1
  83. package/src/sequencer/events.ts +35 -49
  84. package/src/sequencer/sequencer.ts +3 -5
  85. package/tests/crud.test.ts +1 -1
  86. package/tests/sequencer.test.ts +1 -5
  87. package/tests/sync/invertible-ops.test.ts +104 -0
  88. package/tsconfig.build.tsbuildinfo +1 -1
  89. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -5,58 +5,49 @@ const zod_1 = require("zod");
5
5
  const common_1 = require("@atproto/common");
6
6
  const repo_1 = require("@atproto/repo");
7
7
  const account_manager_1 = require("../account-manager");
8
- const formatSeqCommit = async (did, commitData, writes) => {
9
- let tooBig;
10
- const ops = [];
11
- const blobs = new repo_1.CidSet();
12
- let carSlice;
8
+ const formatSeqCommit = async (did, commitData) => {
13
9
  const blocksToSend = new repo_1.BlockMap();
14
10
  blocksToSend.addMap(commitData.newBlocks);
15
11
  blocksToSend.addMap(commitData.relevantBlocks);
16
- // max 200 ops or 1MB of data
17
- if (writes.length > 200 || blocksToSend.byteSize > 1000000) {
18
- tooBig = true;
12
+ let evt;
13
+ // If event is too big (max 200 ops or 1MB of data)
14
+ if (commitData.ops.length > 200 || blocksToSend.byteSize > 1000000) {
19
15
  const justRoot = new repo_1.BlockMap();
20
16
  const rootBlock = blocksToSend.get(commitData.cid);
21
17
  if (rootBlock) {
22
18
  justRoot.set(commitData.cid, rootBlock);
23
19
  }
24
- carSlice = await (0, repo_1.blocksToCarFile)(commitData.cid, justRoot);
20
+ evt = {
21
+ rebase: false,
22
+ tooBig: true,
23
+ repo: did,
24
+ commit: commitData.cid,
25
+ rev: commitData.rev,
26
+ since: commitData.since,
27
+ blocks: await (0, repo_1.blocksToCarFile)(commitData.cid, justRoot),
28
+ ops: [],
29
+ blobs: [],
30
+ prevData: commitData.prevData ?? undefined,
31
+ };
25
32
  }
26
33
  else {
27
- tooBig = false;
28
- for (const w of writes) {
29
- const path = w.uri.collection + '/' + w.uri.rkey;
30
- let cid;
31
- if (w.action === repo_1.WriteOpAction.Delete) {
32
- cid = null;
33
- }
34
- else {
35
- cid = w.cid;
36
- w.blobs.forEach((blob) => {
37
- blobs.add(blob.cid);
38
- });
39
- }
40
- ops.push({ action: w.action, path, cid });
41
- }
42
- carSlice = await (0, repo_1.blocksToCarFile)(commitData.cid, blocksToSend);
34
+ evt = {
35
+ rebase: false,
36
+ tooBig: false,
37
+ repo: did,
38
+ commit: commitData.cid,
39
+ rev: commitData.rev,
40
+ since: commitData.since,
41
+ blocks: await (0, repo_1.blocksToCarFile)(commitData.cid, blocksToSend),
42
+ ops: commitData.ops,
43
+ blobs: commitData.blobs.toList(),
44
+ prevData: commitData.prevData ?? undefined,
45
+ };
43
46
  }
44
- const evt = {
45
- rebase: false,
46
- tooBig,
47
- repo: did,
48
- commit: commitData.cid,
49
- prev: commitData.prev,
50
- rev: commitData.rev,
51
- since: commitData.since,
52
- ops,
53
- blocks: carSlice,
54
- blobs: blobs.toList(),
55
- };
56
47
  return {
57
48
  did,
58
49
  eventType: 'append',
59
- event: (0, common_1.cborEncode)(evt),
50
+ event: (0, common_1.cborEncode)((0, common_1.noUndefinedVals)(evt)),
60
51
  sequencedAt: new Date().toISOString(),
61
52
  };
62
53
  };
@@ -125,18 +116,19 @@ exports.commitEvtOp = zod_1.z.object({
125
116
  ]),
126
117
  path: zod_1.z.string(),
127
118
  cid: common_1.schema.cid.nullable(),
119
+ prev: common_1.schema.cid.optional(),
128
120
  });
129
121
  exports.commitEvt = zod_1.z.object({
130
122
  rebase: zod_1.z.boolean(),
131
123
  tooBig: zod_1.z.boolean(),
132
124
  repo: zod_1.z.string(),
133
125
  commit: common_1.schema.cid,
134
- prev: common_1.schema.cid.nullable(),
135
126
  rev: zod_1.z.string(),
136
127
  since: zod_1.z.string().nullable(),
137
128
  blocks: common_1.schema.bytes,
138
129
  ops: zod_1.z.array(exports.commitEvtOp),
139
130
  blobs: zod_1.z.array(common_1.schema.cid),
131
+ prevData: common_1.schema.cid.optional(),
140
132
  });
141
133
  exports.handleEvt = zod_1.z.object({
142
134
  did: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import TypedEmitter from 'typed-emitter';
2
- import { CommitData } from '@atproto/repo';
3
2
  import { AccountStatus } from '../account-manager/helpers/account';
4
3
  import { Crawlers } from '../crawlers';
5
- import { PreparedWrite } from '../repo';
4
+ import { CommitDataWithOps } from '../repo';
6
5
  import { RepoSeqEntry, RepoSeqInsert, SequencerDb } from './db';
7
6
  import { SeqEvt } from './events';
8
7
  export * from './events';
@@ -29,7 +28,7 @@ export declare class Sequencer extends Sequencer_base {
29
28
  private pollDb;
30
29
  private exponentialBackoff;
31
30
  sequenceEvt(evt: RepoSeqInsert): Promise<number>;
32
- sequenceCommit(did: string, commitData: CommitData, writes: PreparedWrite[]): Promise<number>;
31
+ sequenceCommit(did: string, commitData: CommitDataWithOps): Promise<number>;
33
32
  sequenceHandleUpdate(did: string, handle: string): Promise<number>;
34
33
  sequenceIdentityEvt(did: string, handle?: string): Promise<number>;
35
34
  sequenceAccountEvt(did: string, status: AccountStatus): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EAGZ,MAAM,MAAM,CAAA;AACb,OAAO,EAKL,MAAM,EAOP,MAAM,UAAU,CAAA;AAEjB,cAAc,UAAU,CAAA;wCAEkC,gBAAgB;AAA1E,qBAAa,SAAU,SAAQ,cAA4C;IAQhE,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IARjB,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,UAAQ;IACjB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IACxC,kBAAkB,SAAI;gBAGpB,UAAU,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,QAAQ,SAAI,EACnB,wBAAwB,UAAQ;IAQ5B,KAAK;IAWL,OAAO;IAQP,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU9B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAW5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWvD,eAAe,CAAC,IAAI,EAAE;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA0EP,MAAM;YAwBN,kBAAkB;IAM1B,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAQhD,cAAc,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,aAAa,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC;IAKZ,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlE,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlE,kBAAkB,CACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC;IAKZ,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,EAAO;CAUjE;AAED,KAAK,MAAM,GAAG,YAAY,CAAA;AAE1B,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;AAE5D,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EAGZ,MAAM,MAAM,CAAA;AACb,OAAO,EAKL,MAAM,EAOP,MAAM,UAAU,CAAA;AAEjB,cAAc,UAAU,CAAA;wCAEkC,gBAAgB;AAA1E,qBAAa,SAAU,SAAQ,cAA4C;IAQhE,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IARjB,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,UAAQ;IACjB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IACxC,kBAAkB,SAAI;gBAGpB,UAAU,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,QAAQ,SAAI,EACnB,wBAAwB,UAAQ;IAQ5B,KAAK;IAWL,OAAO;IAQP,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU9B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAW5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWvD,eAAe,CAAC,IAAI,EAAE;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA0EP,MAAM;YAwBN,kBAAkB;IAM1B,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAQhD,cAAc,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAKZ,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlE,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlE,kBAAkB,CACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC;IAKZ,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,EAAO;CAUjE;AAED,KAAK,MAAM,GAAG,YAAY,CAAA;AAE1B,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;AAE5D,eAAe,SAAS,CAAA"}
@@ -222,8 +222,8 @@ class Sequencer extends node_events_1.default {
222
222
  this.crawlers.notifyOfUpdate();
223
223
  return res[0].seq;
224
224
  }
225
- async sequenceCommit(did, commitData, writes) {
226
- const evt = await (0, events_1.formatSeqCommit)(did, commitData, writes);
225
+ async sequenceCommit(did, commitData) {
226
+ const evt = await (0, events_1.formatSeqCommit)(did, commitData);
227
227
  return await this.sequenceEvt(evt);
228
228
  }
229
229
  async sequenceHandleUpdate(did, handle) {
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer.js","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,4CAA0D;AAI1D,sCAA4C;AAE5C,6BAMa;AACb,qCAYiB;AAEjB,2CAAwB;AAExB,MAAa,SAAU,SAAS,qBAA2C;IAMzE,YACE,UAAkB,EACX,QAAkB,EAClB,WAAW,CAAC,EACnB,wBAAwB,GAAG,KAAK;QAEhC,KAAK,EAAE,CAAA;QAJP;;;;mBAAO,QAAQ;WAAU;QACzB;;;;mBAAO,QAAQ;WAAI;QARrB;;;;;WAAe;QACf;;;;mBAAY,KAAK;WAAA;QACjB;;;;mBAAoC,IAAI;WAAA;QACxC;;;;mBAAqB,CAAC;WAAA;QASpB,0EAA0E;QAC1E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,CAAC,EAAE,GAAG,IAAA,UAAK,EAAC,UAAU,EAAE,wBAAwB,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,QAAQ,CAAC,sBAAsB,EAAE,CAAA;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,WAAW,CAAA;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACzB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,KAAK,CAAC,CAAC,CAAC;aACR,gBAAgB,EAAE,CAAA;QACrB,OAAO,GAAG,EAAE,GAAG,IAAI,IAAI,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACzB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;aACzB,KAAK,CAAC,CAAC,CAAC;aACR,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,gBAAgB,EAAE,CAAA;QACrB,OAAO,GAAG,IAAI,IAAI,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE;aACzB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;aAChC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;aAC7B,KAAK,CAAC,CAAC,CAAC;aACR,gBAAgB,EAAE,CAAA;QACrB,OAAO,GAAG,IAAI,IAAI,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAKrB;QACC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QAE5D,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;aACnB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QAClC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,gDAAgD;YAChD,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACrB,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,GAAG,EAAE,GAAgB;iBACtB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,GAAG,EAAE,GAAgB;iBACtB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,GAAG,EAAE,GAAkB;iBACxB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,GAAG,EAAE,GAAiB;iBACvB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,GAAG,EAAE,GAAmB;iBACzB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;gBACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACjC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,6BAA6B,CAAC,CAAA;YAC1E,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAM,CAAC,CAAA;QACvE,MAAM,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAkB;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CACxC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAC7D,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAA;QAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAW,EACX,UAAsB,EACtB,MAAuB;QAEvB,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAe,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QAC1D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,MAAc;QACpD,MAAM,GAAG,GAAG,MAAM,IAAA,8BAAqB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACpD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,MAAe;QACpD,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACnD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAW,EACX,MAAqB;QAErB,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAmB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACjC,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAA;QACzC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,gBAA0B,EAAE;QAC9D,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAC5B,IAAI,CAAC,EAAE,CAAC,EAAE;aACP,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;aACtB,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CACnC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CACzC,CACJ,CAAA;IACH,CAAC;CACF;AApOD,8BAoOC;AAWD,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"sequencer.js","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/pds",
3
- "version": "0.4.100",
3
+ "version": "0.4.102",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of atproto Personal Data Server (PDS)",
6
6
  "keywords": [
@@ -50,14 +50,14 @@
50
50
  "zod": "^3.23.8",
51
51
  "@atproto-labs/fetch-node": "0.1.7",
52
52
  "@atproto-labs/xrpc-utils": "0.0.7",
53
- "@atproto/api": "^0.14.4",
54
- "@atproto/aws": "^0.2.15",
53
+ "@atproto/api": "^0.14.6",
54
+ "@atproto/aws": "^0.2.16",
55
55
  "@atproto/common": "^0.4.8",
56
56
  "@atproto/crypto": "^0.4.4",
57
57
  "@atproto/identity": "^0.4.6",
58
58
  "@atproto/lexicon": "^0.4.7",
59
59
  "@atproto/oauth-provider": "^0.3.1",
60
- "@atproto/repo": "^0.6.5",
60
+ "@atproto/repo": "^0.7.0",
61
61
  "@atproto/syntax": "^0.3.3",
62
62
  "@atproto/xrpc": "^0.6.9",
63
63
  "@atproto/xrpc-server": "^0.7.11"
@@ -78,8 +78,8 @@
78
78
  "ts-node": "^10.8.2",
79
79
  "typescript": "^5.6.3",
80
80
  "ws": "^8.12.0",
81
- "@atproto/api": "^0.14.4",
82
- "@atproto/bsky": "^0.0.121",
81
+ "@atproto/api": "^0.14.6",
82
+ "@atproto/bsky": "^0.0.123",
83
83
  "@atproto/lex-cli": "^0.6.1",
84
84
  "@atproto/oauth-client-browser-example": "0.0.1"
85
85
  },
@@ -1,6 +1,6 @@
1
1
  import { CID } from 'multiformats/cid'
2
2
  import * as crypto from '@atproto/crypto'
3
- import { BlobStore, CommitData, Repo, WriteOpAction } from '@atproto/repo'
3
+ import { BlobStore, Repo, WriteOpAction, formatDataKey } from '@atproto/repo'
4
4
  import { AtUri } from '@atproto/syntax'
5
5
  import { InvalidRequestError } from '@atproto/xrpc-server'
6
6
  import { BackgroundQueue } from '../../background'
@@ -8,6 +8,8 @@ import { createWriteToOp, writeToOp } from '../../repo'
8
8
  import {
9
9
  BadCommitSwapError,
10
10
  BadRecordSwapError,
11
+ CommitDataWithOps,
12
+ CommitOp,
11
13
  PreparedCreate,
12
14
  PreparedWrite,
13
15
  } from '../../repo/types'
@@ -16,6 +18,7 @@ import { ActorDb } from '../db'
16
18
  import { RecordTransactor } from '../record/transactor'
17
19
  import { RepoReader } from './reader'
18
20
  import { SqlRepoTransactor } from './sql-repo-transactor'
21
+ import { blobCidsFromWrites, commitOpsFromCreates } from './util'
19
22
 
20
23
  export class RepoTransactor extends RepoReader {
21
24
  blob: BlobTransactor
@@ -45,24 +48,31 @@ export class RepoTransactor extends RepoReader {
45
48
  return res ? Repo.load(this.storage, CID.parse(res.cid)) : null
46
49
  }
47
50
 
48
- async createRepo(writes: PreparedCreate[]): Promise<CommitData> {
51
+ async createRepo(writes: PreparedCreate[]): Promise<CommitDataWithOps> {
49
52
  this.db.assertTransaction()
50
- const writeOps = writes.map(createWriteToOp)
51
53
  const commit = await Repo.formatInitCommit(
52
54
  this.storage,
53
55
  this.did,
54
56
  this.signingKey,
55
- writeOps,
57
+ writes.map(createWriteToOp),
56
58
  )
57
59
  await Promise.all([
58
60
  this.storage.applyCommit(commit, true),
59
61
  this.indexWrites(writes, commit.rev),
60
62
  this.blob.processWriteBlobs(commit.rev, writes),
61
63
  ])
62
- return commit
64
+ return {
65
+ ...commit,
66
+ ops: commitOpsFromCreates(writes),
67
+ blobs: blobCidsFromWrites(writes),
68
+ prevData: null,
69
+ }
63
70
  }
64
71
 
65
- async processWrites(writes: PreparedWrite[], swapCommitCid?: CID) {
72
+ async processWrites(
73
+ writes: PreparedWrite[],
74
+ swapCommitCid?: CID,
75
+ ): Promise<CommitDataWithOps> {
66
76
  this.db.assertTransaction()
67
77
  const commit = await this.formatCommit(writes, swapCommitCid)
68
78
  await Promise.all([
@@ -79,7 +89,7 @@ export class RepoTransactor extends RepoReader {
79
89
  async formatCommit(
80
90
  writes: PreparedWrite[],
81
91
  swapCommit?: CID,
82
- ): Promise<CommitData> {
92
+ ): Promise<CommitDataWithOps> {
83
93
  // this is not in a txn, so this won't actually hold the lock,
84
94
  // we just check if it is currently held by another txn
85
95
  const currRoot = await this.storage.getRootDetailed()
@@ -93,6 +103,7 @@ export class RepoTransactor extends RepoReader {
93
103
  await this.storage.cacheRev(currRoot.rev)
94
104
  const newRecordCids: CID[] = []
95
105
  const delAndUpdateUris: AtUri[] = []
106
+ const commitOps: CommitOp[] = []
96
107
  for (const write of writes) {
97
108
  const { action, uri, swapCid } = write
98
109
  if (action !== WriteOpAction.Delete) {
@@ -101,26 +112,36 @@ export class RepoTransactor extends RepoReader {
101
112
  if (action !== WriteOpAction.Create) {
102
113
  delAndUpdateUris.push(uri)
103
114
  }
104
- if (swapCid === undefined) {
105
- continue
106
- }
107
115
  const record = await this.record.getRecord(uri, null, true)
108
- const currRecord = record && CID.parse(record.cid)
109
- if (action === WriteOpAction.Create && swapCid !== null) {
110
- throw new BadRecordSwapError(currRecord) // There should be no current record for a create
111
- }
112
- if (action === WriteOpAction.Update && swapCid === null) {
113
- throw new BadRecordSwapError(currRecord) // There should be a current record for an update
116
+ const currRecord = record ? CID.parse(record.cid) : null
117
+
118
+ const op: CommitOp = {
119
+ action,
120
+ path: formatDataKey(uri.collection, uri.rkey),
121
+ cid: write.action === WriteOpAction.Delete ? null : write.cid,
114
122
  }
115
- if (action === WriteOpAction.Delete && swapCid === null) {
116
- throw new BadRecordSwapError(currRecord) // There should be a current record for a delete
123
+ if (currRecord) {
124
+ op.prev = currRecord
117
125
  }
118
- if ((currRecord || swapCid) && !currRecord?.equals(swapCid)) {
119
- throw new BadRecordSwapError(currRecord)
126
+ commitOps.push(op)
127
+ if (swapCid !== undefined) {
128
+ if (action === WriteOpAction.Create && swapCid !== null) {
129
+ throw new BadRecordSwapError(currRecord) // There should be no current record for a create
130
+ }
131
+ if (action === WriteOpAction.Update && swapCid === null) {
132
+ throw new BadRecordSwapError(currRecord) // There should be a current record for an update
133
+ }
134
+ if (action === WriteOpAction.Delete && swapCid === null) {
135
+ throw new BadRecordSwapError(currRecord) // There should be a current record for a delete
136
+ }
137
+ if ((currRecord || swapCid) && !currRecord?.equals(swapCid)) {
138
+ throw new BadRecordSwapError(currRecord)
139
+ }
120
140
  }
121
141
  }
122
142
 
123
143
  const repo = await Repo.load(this.storage, currRoot.cid)
144
+ const prevData = repo.commit.data
124
145
  const writeOps = writes.map(writeToOp)
125
146
  const commit = await repo.formatCommit(writeOps, this.signingKey)
126
147
 
@@ -142,7 +163,12 @@ export class RepoTransactor extends RepoReader {
142
163
  )
143
164
  commit.relevantBlocks.addMap(missingBlocks.blocks)
144
165
  }
145
- return commit
166
+ return {
167
+ ...commit,
168
+ ops: commitOps,
169
+ blobs: blobCidsFromWrites(writes),
170
+ prevData,
171
+ }
146
172
  }
147
173
 
148
174
  async indexWrites(writes: PreparedWrite[], rev: string) {
@@ -0,0 +1,22 @@
1
+ import { CidSet, formatDataKey } from '@atproto/repo'
2
+ import { CommitOp, PreparedCreate, PreparedWrite } from '../../repo'
3
+
4
+ export const blobCidsFromWrites = (writes: PreparedWrite[]): CidSet => {
5
+ const blobCids = new CidSet()
6
+ for (const w of writes) {
7
+ if (w.action === 'create' || w.action === 'update') {
8
+ for (const blob of w.blobs) {
9
+ blobCids.add(blob.cid)
10
+ }
11
+ }
12
+ }
13
+ return blobCids
14
+ }
15
+
16
+ export const commitOpsFromCreates = (writes: PreparedCreate[]): CommitOp[] => {
17
+ return writes.map((w) => ({
18
+ action: 'create' as const,
19
+ path: formatDataKey(w.uri.collection, w.uri.rkey),
20
+ cid: w.cid,
21
+ }))
22
+ }
@@ -130,7 +130,7 @@ export default function (server: Server, ctx: AppContext) {
130
130
  }
131
131
  })
132
132
 
133
- await ctx.sequencer.sequenceCommit(did, commit, writes)
133
+ await ctx.sequencer.sequenceCommit(did, commit)
134
134
  await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
135
135
 
136
136
  return {
@@ -66,40 +66,37 @@ export default function (server: Server, ctx: AppContext) {
66
66
  throw err
67
67
  }
68
68
 
69
- const { commit, writes } = await ctx.actorStore.transact(
70
- did,
71
- async (actorTxn) => {
72
- const backlinkConflicts =
73
- validate !== false
74
- ? await actorTxn.record.getBacklinkConflicts(
75
- write.uri,
76
- write.record,
77
- )
78
- : []
79
- const backlinkDeletions = backlinkConflicts.map((uri) =>
80
- prepareDelete({
81
- did: uri.hostname,
82
- collection: uri.collection,
83
- rkey: uri.rkey,
84
- }),
69
+ const commit = await ctx.actorStore.transact(did, async (actorTxn) => {
70
+ const backlinkConflicts =
71
+ validate !== false
72
+ ? await actorTxn.record.getBacklinkConflicts(
73
+ write.uri,
74
+ write.record,
75
+ )
76
+ : []
77
+ const backlinkDeletions = backlinkConflicts.map((uri) =>
78
+ prepareDelete({
79
+ did: uri.hostname,
80
+ collection: uri.collection,
81
+ rkey: uri.rkey,
82
+ }),
83
+ )
84
+ const writes = [...backlinkDeletions, write]
85
+ try {
86
+ const commit = await actorTxn.repo.processWrites(
87
+ writes,
88
+ swapCommitCid,
85
89
  )
86
- const writes = [...backlinkDeletions, write]
87
- try {
88
- const commit = await actorTxn.repo.processWrites(
89
- writes,
90
- swapCommitCid,
91
- )
92
- return { commit, writes }
93
- } catch (err) {
94
- if (err instanceof BadCommitSwapError) {
95
- throw new InvalidRequestError(err.message, 'InvalidSwap')
96
- }
97
- throw err
90
+ return commit
91
+ } catch (err) {
92
+ if (err instanceof BadCommitSwapError) {
93
+ throw new InvalidRequestError(err.message, 'InvalidSwap')
98
94
  }
99
- },
100
- )
95
+ throw err
96
+ }
97
+ })
101
98
 
102
- await ctx.sequencer.sequenceCommit(did, commit, writes)
99
+ await ctx.sequencer.sequenceCommit(did, commit)
103
100
  await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
104
101
 
105
102
  return {
@@ -71,7 +71,7 @@ export default function (server: Server, ctx: AppContext) {
71
71
  })
72
72
 
73
73
  if (commit !== null) {
74
- await ctx.sequencer.sequenceCommit(did, commit, [write])
74
+ await ctx.sequencer.sequenceCommit(did, commit)
75
75
  await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
76
76
  }
77
77
  return {
@@ -1,6 +1,5 @@
1
1
  import { CID } from 'multiformats/cid'
2
2
  import { BlobRef } from '@atproto/lexicon'
3
- import { CommitData } from '@atproto/repo'
4
3
  import { AtUri } from '@atproto/syntax'
5
4
  import { AuthRequiredError, InvalidRequestError } from '@atproto/xrpc-server'
6
5
  import { ActorStoreTransactor } from '../../../../actor-store/actor-store-transactor'
@@ -11,6 +10,7 @@ import { Record as ProfileRecord } from '../../../../lexicon/types/app/bsky/acto
11
10
  import {
12
11
  BadCommitSwapError,
13
12
  BadRecordSwapError,
13
+ CommitDataWithOps,
14
14
  InvalidRecordError,
15
15
  PreparedCreate,
16
16
  PreparedUpdate,
@@ -104,7 +104,7 @@ export default function (server: Server, ctx: AppContext) {
104
104
  }
105
105
  }
106
106
 
107
- let commit: CommitData
107
+ let commit: CommitDataWithOps
108
108
  try {
109
109
  commit = await actorTxn.repo.processWrites([write], swapCommitCid)
110
110
  } catch (err) {
@@ -122,7 +122,7 @@ export default function (server: Server, ctx: AppContext) {
122
122
  )
123
123
 
124
124
  if (commit !== null) {
125
- await ctx.sequencer.sequenceCommit(did, commit, [write])
125
+ await ctx.sequencer.sequenceCommit(did, commit)
126
126
  await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
127
127
  }
128
128
 
@@ -43,6 +43,9 @@ export default function (server: Server, ctx: AppContext) {
43
43
  newBlocks: blocks.blocks,
44
44
  relevantBlocks: blocks.blocks,
45
45
  removedCids: new CidSet(),
46
+ ops: [],
47
+ blobs: new CidSet(),
48
+ prevData: null,
46
49
  }
47
50
  })
48
51
 
@@ -53,7 +56,7 @@ export default function (server: Server, ctx: AppContext) {
53
56
  requester,
54
57
  account.handle ?? INVALID_HANDLE,
55
58
  )
56
- await ctx.sequencer.sequenceCommit(requester, commitData, [])
59
+ await ctx.sequencer.sequenceCommit(requester, commitData)
57
60
  },
58
61
  })
59
62
  }
@@ -74,7 +74,7 @@ export default function (server: Server, ctx: AppContext) {
74
74
  if (!deactivated) {
75
75
  await ctx.sequencer.sequenceIdentityEvt(did, handle)
76
76
  await ctx.sequencer.sequenceAccountEvt(did, AccountStatus.Active)
77
- await ctx.sequencer.sequenceCommit(did, commit, [])
77
+ await ctx.sequencer.sequenceCommit(did, commit)
78
78
  }
79
79
  await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
80
80
  await ctx.actorStore.clearReservedKeypair(signingKey.did(), did)
package/src/index.ts CHANGED
@@ -37,7 +37,7 @@ export { createSecretKeyObject } from './auth-verifier'
37
37
  export { type Handler as SkeletonHandler } from './lexicon/types/app/bsky/feed/getFeedSkeleton'
38
38
  export { createServer as createLexiconServer } from './lexicon'
39
39
  export * as sequencer from './sequencer'
40
- export { type PreparedWrite } from './repo'
40
+ export { type CommitDataWithOps, type PreparedWrite } from './repo'
41
41
  export * as repoPrepare from './repo/prepare'
42
42
  export { scripts } from './scripts'
43
43
 
@@ -163,6 +163,7 @@ import * as ChatBskyConvoMuteConvo from './types/chat/bsky/convo/muteConvo.js'
163
163
  import * as ChatBskyConvoSendMessage from './types/chat/bsky/convo/sendMessage.js'
164
164
  import * as ChatBskyConvoSendMessageBatch from './types/chat/bsky/convo/sendMessageBatch.js'
165
165
  import * as ChatBskyConvoUnmuteConvo from './types/chat/bsky/convo/unmuteConvo.js'
166
+ import * as ChatBskyConvoUpdateAllRead from './types/chat/bsky/convo/updateAllRead.js'
166
167
  import * as ChatBskyConvoUpdateRead from './types/chat/bsky/convo/updateRead.js'
167
168
  import * as ChatBskyModerationGetActorMetadata from './types/chat/bsky/moderation/getActorMetadata.js'
168
169
  import * as ChatBskyModerationGetMessageContext from './types/chat/bsky/moderation/getMessageContext.js'
@@ -2214,6 +2215,17 @@ export class ChatBskyConvoNS {
2214
2215
  return this._server.xrpc.method(nsid, cfg)
2215
2216
  }
2216
2217
 
2218
+ updateAllRead<AV extends AuthVerifier>(
2219
+ cfg: ConfigOf<
2220
+ AV,
2221
+ ChatBskyConvoUpdateAllRead.Handler<ExtractAuth<AV>>,
2222
+ ChatBskyConvoUpdateAllRead.HandlerReqCtx<ExtractAuth<AV>>
2223
+ >,
2224
+ ) {
2225
+ const nsid = 'chat.bsky.convo.updateAllRead' // @ts-ignore
2226
+ return this._server.xrpc.method(nsid, cfg)
2227
+ }
2228
+
2217
2229
  updateRead<AV extends AuthVerifier>(
2218
2230
  cfg: ConfigOf<
2219
2231
  AV,