@atproto/repo 0.8.10 → 0.8.11

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 (63) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/block-map.d.ts.map +1 -1
  3. package/dist/block-map.js +1 -0
  4. package/dist/block-map.js.map +1 -1
  5. package/dist/car.d.ts.map +1 -1
  6. package/dist/car.js +1 -0
  7. package/dist/car.js.map +1 -1
  8. package/dist/cid-set.js.map +1 -1
  9. package/dist/data-diff.js.map +1 -1
  10. package/dist/error.js.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/logger.js.map +1 -1
  13. package/dist/mst/diff.js.map +1 -1
  14. package/dist/mst/index.js.map +1 -1
  15. package/dist/mst/mst.d.ts.map +1 -1
  16. package/dist/mst/mst.js +1 -0
  17. package/dist/mst/mst.js.map +1 -1
  18. package/dist/mst/util.d.ts.map +1 -1
  19. package/dist/mst/util.js +1 -0
  20. package/dist/mst/util.js.map +1 -1
  21. package/dist/mst/walker.js.map +1 -1
  22. package/dist/parse.d.ts.map +1 -1
  23. package/dist/parse.js +1 -0
  24. package/dist/parse.js.map +1 -1
  25. package/dist/readable-repo.d.ts.map +1 -1
  26. package/dist/readable-repo.js +1 -0
  27. package/dist/readable-repo.js.map +1 -1
  28. package/dist/repo.d.ts.map +1 -1
  29. package/dist/repo.js +1 -0
  30. package/dist/repo.js.map +1 -1
  31. package/dist/storage/index.js.map +1 -1
  32. package/dist/storage/memory-blockstore.js.map +1 -1
  33. package/dist/storage/readable-blockstore.d.ts.map +1 -1
  34. package/dist/storage/readable-blockstore.js +1 -0
  35. package/dist/storage/readable-blockstore.js.map +1 -1
  36. package/dist/storage/sync-storage.js.map +1 -1
  37. package/dist/storage/types.d.ts.map +1 -1
  38. package/dist/storage/types.js +1 -0
  39. package/dist/storage/types.js.map +1 -1
  40. package/dist/sync/consumer.js.map +1 -1
  41. package/dist/sync/index.js.map +1 -1
  42. package/dist/sync/provider.js.map +1 -1
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +1 -0
  45. package/dist/types.js.map +1 -1
  46. package/dist/util.d.ts.map +1 -1
  47. package/dist/util.js +1 -0
  48. package/dist/util.js.map +1 -1
  49. package/package.json +4 -4
  50. package/src/block-map.ts +2 -0
  51. package/src/car.ts +2 -0
  52. package/src/mst/mst.ts +2 -0
  53. package/src/mst/util.ts +2 -0
  54. package/src/parse.ts +2 -0
  55. package/src/readable-repo.ts +2 -0
  56. package/src/repo.ts +2 -0
  57. package/src/storage/readable-blockstore.ts +2 -0
  58. package/src/storage/types.ts +2 -0
  59. package/src/types.ts +2 -0
  60. package/src/util.ts +2 -0
  61. package/tests/_util.ts +2 -0
  62. package/tests/car.test.ts +2 -0
  63. package/tests/proofs.test.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atproto/repo
2
2
 
3
+ ## 0.8.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7)]:
8
+ - @atproto/common-web@0.4.4
9
+ - @atproto/common@0.5.0
10
+ - @atproto/lexicon@0.5.2
11
+ - @atproto/crypto@0.4.4
12
+
3
13
  ## 0.8.10
4
14
 
5
15
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"block-map.d.ts","sourceRoot":"","sources":["../src/block-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAA;AAEtD,qBAAa,QAAS,YAAW,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAqC;gBAEpC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAQhE,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAMxC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,QAAQ;IAK1C,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS;IAIrC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ;IAK1B,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE;IAc1D,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAItB,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIxD,OAAO,IAAI,KAAK,EAAE;IAIlB,IAAI,IAAI,GAAG,EAAE;IAIb,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAKjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAIrB;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAc/B,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;IAMrC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;IAI9C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;CAKlE;AAMD,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"block-map.d.ts","sourceRoot":"","sources":["../src/block-map.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAA;AAEtD,qBAAa,QAAS,YAAW,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAqC;gBAEpC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAQhE,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAMxC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,QAAQ;IAK1C,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS;IAIrC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ;IAK1B,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE;IAc1D,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAItB,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIxD,OAAO,IAAI,KAAK,EAAE;IAIlB,IAAI,IAAI,GAAG,EAAE;IAIb,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAKjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAIrB;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAc/B,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;IAMrC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;IAI9C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;CAKlE;AAMD,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,eAAe,QAAQ,CAAA"}
package/dist/block-map.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"block-map.js","sourceRoot":"","sources":["../src/block-map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAsC;AACtC,yDAA0C;AAC1C,4CAAiD;AACjD,8CAAsD;AAEtD,MAAa,QAAQ;IAGnB,YAAY,OAA0D;QAF9D;;;;mBAA+B,IAAI,GAAG,EAAE;WAAA;QAG9C,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAe;QACvB,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAe,EAAC,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,KAAK,CAAC,GAAG,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAiB;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,IAAW;QACjB,MAAM,OAAO,GAAU,EAAE,CAAA;QACzB,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,EAAyC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI;YAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,CAAC,IAAI;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,CAAC,MAAM;QACL,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;CACF;AA7GD,4BA6GC;AAED,SAAS,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAA6B;IACvD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACvB,CAAC;AAOD,kBAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"block-map.js","sourceRoot":"","sources":["../src/block-map.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport * as uint8arrays from 'uint8arrays'\nimport { dataToCborBlock } from '@atproto/common'\nimport { LexValue, lexToIpld } from '@atproto/lexicon'\n\nexport class BlockMap implements Iterable<[cid: CID, bytes: Uint8Array]> {\n private map: Map<string, Uint8Array> = new Map()\n\n constructor(entries?: Iterable<readonly [cid: CID, bytes: Uint8Array]>) {\n if (entries) {\n for (const [cid, bytes] of entries) {\n this.set(cid, bytes)\n }\n }\n }\n\n async add(value: LexValue): Promise<CID> {\n const block = await dataToCborBlock(lexToIpld(value))\n this.set(block.cid, block.bytes)\n return block.cid\n }\n\n set(cid: CID, bytes: Uint8Array): BlockMap {\n this.map.set(cid.toString(), bytes)\n return this\n }\n\n get(cid: CID): Uint8Array | undefined {\n return this.map.get(cid.toString())\n }\n\n delete(cid: CID): BlockMap {\n this.map.delete(cid.toString())\n return this\n }\n\n getMany(cids: CID[]): { blocks: BlockMap; missing: CID[] } {\n const missing: CID[] = []\n const blocks = new BlockMap()\n for (const cid of cids) {\n const got = this.map.get(cid.toString())\n if (got) {\n blocks.set(cid, got)\n } else {\n missing.push(cid)\n }\n }\n return { blocks, missing }\n }\n\n has(cid: CID): boolean {\n return this.map.has(cid.toString())\n }\n\n clear(): void {\n this.map.clear()\n }\n\n forEach(cb: (bytes: Uint8Array, cid: CID) => void): void {\n for (const [cid, bytes] of this) cb(bytes, cid)\n }\n\n entries(): Entry[] {\n return Array.from(this, toEntry)\n }\n\n cids(): CID[] {\n return Array.from(this.keys())\n }\n\n addMap(toAdd: BlockMap): BlockMap {\n for (const [cid, bytes] of toAdd) this.set(cid, bytes)\n return this\n }\n\n get size(): number {\n return this.map.size\n }\n\n get byteSize(): number {\n let size = 0\n for (const bytes of this.values()) size += bytes.length\n return size\n }\n\n equals(other: BlockMap): boolean {\n if (this.size !== other.size) {\n return false\n }\n for (const [cid, bytes] of this) {\n const otherBytes = other.get(cid)\n if (!otherBytes) return false\n if (!uint8arrays.equals(bytes, otherBytes)) {\n return false\n }\n }\n return true\n }\n\n *keys(): Generator<CID, void, unknown> {\n for (const key of this.map.keys()) {\n yield CID.parse(key)\n }\n }\n\n *values(): Generator<Uint8Array, void, unknown> {\n yield* this.map.values()\n }\n\n *[Symbol.iterator](): Generator<[CID, Uint8Array], void, unknown> {\n for (const [key, value] of this.map) {\n yield [CID.parse(key), value]\n }\n }\n}\n\nfunction toEntry([cid, bytes]: readonly [CID, Uint8Array]): Entry {\n return { cid, bytes }\n}\n\ntype Entry = {\n cid: CID\n bytes: Uint8Array\n}\n\nexport default BlockMap\n"]}
package/dist/car.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"car.d.ts","sourceRoot":"","sources":["../src/car.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAUtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,wBAAuB,cAAc,CACnC,IAAI,EAAE,GAAG,GAAG,IAAI,EAChB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,aAAa,CAAC,UAAU,CAAC,CAgB3B;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,GAAG,GAAG,IAAI,EAChB,QAAQ,QAAQ,KACf,OAAO,CAAC,UAAU,CAGpB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,MAAM,GAAG,GAAG,IAAI,EAChB,QAAQ,QAAQ,KACf,aAAa,CAAC,UAAU,CAE1B,CAAA;AAQD,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,OAAO,GAClB,OAAO,UAAU,EACjB,OAAO,cAAc,KACpB,OAAO,CAAC;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAO5C,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,EACjB,OAAO,cAAc,KACpB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAUzC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;IACvE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,EACrD,OAAO,cAAc,KACpB,OAAO,CAAC;IACT,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAEA,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,EACnB,OAAO,cAAc,KACpB,OAAO,CAAC;IACT,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAmBA,CAAA;AAoDD,wBAAuB,uBAAuB,CAC5C,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC3B,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAKzC;AAuBD,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB"}
1
+ {"version":3,"file":"car.d.ts","sourceRoot":"","sources":["../src/car.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAUtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,wBAAuB,cAAc,CACnC,IAAI,EAAE,GAAG,GAAG,IAAI,EAChB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,aAAa,CAAC,UAAU,CAAC,CAgB3B;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,GAAG,GAAG,IAAI,EAChB,QAAQ,QAAQ,KACf,OAAO,CAAC,UAAU,CAGpB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,MAAM,GAAG,GAAG,IAAI,EAChB,QAAQ,QAAQ,KACf,aAAa,CAAC,UAAU,CAE1B,CAAA;AAQD,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,OAAO,GAClB,OAAO,UAAU,EACjB,OAAO,cAAc,KACpB,OAAO,CAAC;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAO5C,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,EACjB,OAAO,cAAc,KACpB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAUzC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;IACvE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,EACrD,OAAO,cAAc,KACpB,OAAO,CAAC;IACT,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAEA,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,EACnB,OAAO,cAAc,KACpB,OAAO,CAAC;IACT,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAmBA,CAAA;AAoDD,wBAAuB,uBAAuB,CAC5C,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC3B,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAKzC;AAuBD,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB"}
package/dist/car.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
package/dist/car.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"car.js","sourceRoot":"","sources":["../src/car.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"car.js","sourceRoot":"","sources":["../src/car.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { setImmediate } from 'node:timers/promises'\nimport * as cbor from '@ipld/dag-cbor'\nimport { CID } from 'multiformats/cid'\nimport * as ui8 from 'uint8arrays'\nimport * as varint from 'varint'\nimport {\n check,\n parseCidFromBytes,\n schema,\n streamToBuffer,\n verifyCidForBytes,\n} from '@atproto/common'\nimport { BlockMap } from './block-map'\nimport { CarBlock } from './types'\n\nexport async function* writeCarStream(\n root: CID | null,\n blocks: AsyncIterable<CarBlock>,\n): AsyncIterable<Uint8Array> {\n const header = new Uint8Array(\n cbor.encode({\n version: 1,\n roots: root ? [root] : [],\n }),\n )\n yield new Uint8Array(varint.encode(header.byteLength))\n yield header\n for await (const block of blocks) {\n yield new Uint8Array(\n varint.encode(block.cid.bytes.byteLength + block.bytes.byteLength),\n )\n yield block.cid.bytes\n yield block.bytes\n }\n}\n\nexport const blocksToCarFile = (\n root: CID | null,\n blocks: BlockMap,\n): Promise<Uint8Array> => {\n const carStream = blocksToCarStream(root, blocks)\n return streamToBuffer(carStream)\n}\n\nexport const blocksToCarStream = (\n root: CID | null,\n blocks: BlockMap,\n): AsyncIterable<Uint8Array> => {\n return writeCarStream(root, iterateBlocks(blocks))\n}\n\nasync function* iterateBlocks(blocks: BlockMap) {\n for (const entry of blocks.entries()) {\n yield { cid: entry.cid, bytes: entry.bytes }\n }\n}\n\nexport type ReadCarOptions = {\n /**\n * When true, does not verify CID-to-content mapping within CAR.\n */\n skipCidVerification?: boolean\n}\n\nexport const readCar = async (\n bytes: Uint8Array,\n opts?: ReadCarOptions,\n): Promise<{ roots: CID[]; blocks: BlockMap }> => {\n const { roots, blocks } = await readCarReader(new Ui8Reader(bytes), opts)\n const blockMap = new BlockMap()\n for await (const block of blocks) {\n blockMap.set(block.cid, block.bytes)\n }\n return { roots, blocks: blockMap }\n}\n\nexport const readCarWithRoot = async (\n bytes: Uint8Array,\n opts?: ReadCarOptions,\n): Promise<{ root: CID; blocks: BlockMap }> => {\n const { roots, blocks } = await readCar(bytes, opts)\n if (roots.length !== 1) {\n throw new Error(`Expected one root, got ${roots.length}`)\n }\n const root = roots[0]\n return {\n root,\n blocks,\n }\n}\nexport type CarBlockIterable = AsyncGenerator<CarBlock, void, unknown> & {\n dump: () => Promise<void>\n}\n\nexport const readCarStream = async (\n car: Iterable<Uint8Array> | AsyncIterable<Uint8Array>,\n opts?: ReadCarOptions,\n): Promise<{\n roots: CID[]\n blocks: CarBlockIterable\n}> => {\n return readCarReader(new BufferedReader(car), opts)\n}\n\nexport const readCarReader = async (\n reader: BytesReader,\n opts?: ReadCarOptions,\n): Promise<{\n roots: CID[]\n blocks: CarBlockIterable\n}> => {\n try {\n const headerSize = await readVarint(reader)\n if (headerSize === null) {\n throw new Error('Could not parse CAR header')\n }\n const headerBytes = await reader.read(headerSize)\n const header = cbor.decode(headerBytes)\n if (!check.is(header, schema.carHeader)) {\n throw new Error('Could not parse CAR header')\n }\n return {\n roots: header.roots,\n blocks: readCarBlocksIter(reader, opts),\n }\n } catch (err) {\n await reader.close()\n throw err\n }\n}\n\nconst readCarBlocksIter = (\n reader: BytesReader,\n opts?: ReadCarOptions,\n): CarBlockIterable => {\n let generator = readCarBlocksIterGenerator(reader)\n if (!opts?.skipCidVerification) {\n generator = verifyIncomingCarBlocks(generator)\n }\n return Object.assign(generator, {\n async dump() {\n // try/finally to ensure that reader.close is called even if blocks.return throws.\n try {\n // Prevent the iterator from being started after this method is called.\n await generator.return()\n } finally {\n // @NOTE the \"finally\" block of the async generator won't be called\n // if the iteration was never started so we need to manually close here.\n await reader.close()\n }\n },\n })\n}\n\nasync function* readCarBlocksIterGenerator(\n reader: BytesReader,\n): AsyncGenerator<CarBlock, void, unknown> {\n let blocks = 0\n try {\n while (!reader.isDone) {\n const blockSize = await readVarint(reader)\n if (blockSize === null) {\n break\n }\n const blockBytes = await reader.read(blockSize)\n const cid = parseCidFromBytes(blockBytes.subarray(0, 36))\n const bytes = blockBytes.subarray(36)\n yield { cid, bytes }\n\n // yield to the event loop every 25 blocks\n // in the case the incoming CAR is synchronous, this can end up jamming up the thread\n blocks++\n if (blocks % 25 === 0) {\n await setImmediate()\n }\n }\n } finally {\n await reader.close()\n }\n}\n\nexport async function* verifyIncomingCarBlocks(\n car: AsyncIterable<CarBlock>,\n): AsyncGenerator<CarBlock, void, unknown> {\n for await (const block of car) {\n await verifyCidForBytes(block.cid, block.bytes)\n yield block\n }\n}\n\nconst readVarint = async (reader: BytesReader): Promise<number | null> => {\n let done = false\n const bytes: Uint8Array[] = []\n while (!done) {\n const byte = await reader.read(1)\n if (byte.byteLength === 0) {\n if (bytes.length > 0) {\n throw new Error('could not parse varint')\n } else {\n return null\n }\n }\n bytes.push(byte)\n if (byte[0] < 128) {\n done = true\n }\n }\n const concatted = ui8.concat(bytes)\n return varint.decode(concatted)\n}\n\ninterface BytesReader {\n isDone: boolean\n read(bytesToRead: number): Promise<Uint8Array>\n close(): Promise<void>\n}\n\nclass Ui8Reader implements BytesReader {\n idx = 0\n isDone = false\n\n constructor(public bytes: Uint8Array) {}\n\n async read(bytesToRead: number): Promise<Uint8Array> {\n const value = this.bytes.subarray(this.idx, this.idx + bytesToRead)\n this.idx += bytesToRead\n if (this.idx >= this.bytes.length) {\n this.isDone = true\n }\n return value\n }\n\n async close(): Promise<void> {}\n}\n\nclass BufferedReader implements BytesReader {\n buffer: Uint8Array = new Uint8Array()\n iterator: Iterator<Uint8Array> | AsyncIterator<Uint8Array>\n isDone = false\n\n constructor(stream: Iterable<Uint8Array> | AsyncIterable<Uint8Array>) {\n this.iterator =\n Symbol.asyncIterator in stream\n ? stream[Symbol.asyncIterator]()\n : stream[Symbol.iterator]()\n }\n\n async read(bytesToRead: number): Promise<Uint8Array> {\n await this.readUntilBuffered(bytesToRead)\n const value = this.buffer.subarray(0, bytesToRead)\n this.buffer = this.buffer.subarray(bytesToRead)\n return value\n }\n\n private async readUntilBuffered(bytesToRead: number) {\n if (this.isDone) {\n return\n }\n while (this.buffer.length < bytesToRead) {\n const next = await this.iterator.next()\n if (next.done) {\n this.isDone = true\n return\n }\n this.buffer = ui8.concat([this.buffer, next.value])\n }\n }\n\n async close(): Promise<void> {\n if (!this.isDone && this.iterator.return) {\n await this.iterator.return()\n }\n this.isDone = true\n this.buffer = new Uint8Array()\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cid-set.js","sourceRoot":"","sources":["../src/cid-set.ts"],"names":[],"mappings":";;;AAAA,+CAAkC;AAElC,MAAa,MAAM;IAGjB,YAAY,MAAa,EAAE;QAFnB;;;;;WAAgB;QAGtB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;CACF;AA5CD,wBA4CC;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"cid-set.js","sourceRoot":"","sources":["../src/cid-set.ts"],"names":[],"mappings":";;;AAAA,+CAAkC;AAElC,MAAa,MAAM;IAGjB,YAAY,MAAa,EAAE;QAFnB;;;;;WAAgB;QAGtB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;CACF;AA5CD,wBA4CC;AAED,kBAAe,MAAM,CAAA","sourcesContent":["import { CID } from 'multiformats'\n\nexport class CidSet {\n private set: Set<string>\n\n constructor(arr: CID[] = []) {\n const strArr = arr.map((c) => c.toString())\n this.set = new Set(strArr)\n }\n\n add(cid: CID): CidSet {\n this.set.add(cid.toString())\n return this\n }\n\n addSet(toMerge: CidSet): CidSet {\n toMerge.toList().map((c) => this.add(c))\n return this\n }\n\n subtractSet(toSubtract: CidSet): CidSet {\n toSubtract.toList().map((c) => this.delete(c))\n return this\n }\n\n delete(cid: CID) {\n this.set.delete(cid.toString())\n return this\n }\n\n has(cid: CID): boolean {\n return this.set.has(cid.toString())\n }\n\n size(): number {\n return this.set.size\n }\n\n clear(): CidSet {\n this.set.clear()\n return this\n }\n\n toList(): CID[] {\n return [...this.set].map((c) => CID.parse(c))\n }\n}\n\nexport default CidSet\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"data-diff.js","sourceRoot":"","sources":["../src/data-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-diff.js","sourceRoot":"","sources":["../src/data-diff.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats'\nimport { BlockMap } from './block-map'\nimport { CidSet } from './cid-set'\nimport { MST, NodeEntry, mstDiff } from './mst'\n\nexport class DataDiff {\n adds: Record<string, DataAdd> = {}\n updates: Record<string, DataUpdate> = {}\n deletes: Record<string, DataDelete> = {}\n\n newMstBlocks: BlockMap = new BlockMap()\n newLeafCids: CidSet = new CidSet()\n removedCids: CidSet = new CidSet()\n\n static async of(curr: MST, prev: MST | null): Promise<DataDiff> {\n return mstDiff(curr, prev)\n }\n\n async nodeAdd(node: NodeEntry) {\n if (node.isLeaf()) {\n this.leafAdd(node.key, node.value)\n } else {\n const data = await node.serialize()\n this.treeAdd(data.cid, data.bytes)\n }\n }\n\n async nodeDelete(node: NodeEntry) {\n if (node.isLeaf()) {\n const key = node.key\n const cid = node.value\n this.deletes[key] = { key, cid }\n this.removedCids.add(cid)\n } else {\n const cid = await node.getPointer()\n this.treeDelete(cid)\n }\n }\n\n leafAdd(key: string, cid: CID) {\n this.adds[key] = { key, cid }\n if (this.removedCids.has(cid)) {\n this.removedCids.delete(cid)\n } else {\n this.newLeafCids.add(cid)\n }\n }\n\n leafUpdate(key: string, prev: CID, cid: CID) {\n if (prev.equals(cid)) return\n this.updates[key] = { key, prev, cid }\n this.removedCids.add(prev)\n this.newLeafCids.add(cid)\n }\n\n leafDelete(key: string, cid: CID) {\n this.deletes[key] = { key, cid }\n if (this.newLeafCids.has(cid)) {\n this.newLeafCids.delete(cid)\n } else {\n this.removedCids.add(cid)\n }\n }\n\n treeAdd(cid: CID, bytes: Uint8Array) {\n if (this.removedCids.has(cid)) {\n this.removedCids.delete(cid)\n } else {\n this.newMstBlocks.set(cid, bytes)\n }\n }\n\n treeDelete(cid: CID) {\n if (this.newMstBlocks.has(cid)) {\n this.newMstBlocks.delete(cid)\n } else {\n this.removedCids.add(cid)\n }\n }\n\n addList(): DataAdd[] {\n return Object.values(this.adds)\n }\n\n updateList(): DataUpdate[] {\n return Object.values(this.updates)\n }\n\n deleteList(): DataDelete[] {\n return Object.values(this.deletes)\n }\n\n updatedKeys(): string[] {\n const keys = [\n ...Object.keys(this.adds),\n ...Object.keys(this.updates),\n ...Object.keys(this.deletes),\n ]\n return [...new Set(keys)]\n }\n}\n\nexport type DataAdd = {\n key: string\n cid: CID\n}\n\nexport type DataUpdate = {\n key: string\n prev: CID\n cid: CID\n}\n\nexport type DataDelete = {\n key: string\n cid: CID\n}\n"]}
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YACS,GAAQ,EACf,GAAY;QAEZ,IAAI,GAAG,GAAG,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;QAC9C,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,IAAI,oBAAoB,GAAG,EAAE,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAA;QAPV;;;;mBAAO,GAAG;WAAK;IAQjB,CAAC;CACF;AAXD,8CAWC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YACS,OAAe,EACf,IAAW;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,WAAW,OAAO,YAAY,MAAM,EAAE,CAAC,CAAA;QAJ7C;;;;mBAAO,OAAO;WAAQ;QACtB;;;;mBAAO,IAAI;WAAO;IAIpB,CAAC;CACF;AARD,gDAQC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IACjD,YACS,MAAW,EACX,IAAW;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC,CAAA;QAJlE;;;;mBAAO,MAAM;WAAK;QAClB;;;;mBAAO,IAAI;WAAO;IAIpB,CAAC;CACF;AARD,4DAQC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YACS,GAAQ,EACR,GAAW;QAElB,KAAK,CAAC,wBAAwB,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,EAAE,CAAC,CAAA;QAHjE;;;;mBAAO,GAAG;WAAK;QACf;;;;mBAAO,GAAG;WAAQ;IAGpB,CAAC;CACF;AAPD,sDAOC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YACS,GAAQ,EACf,GAAY;QAEZ,IAAI,GAAG,GAAG,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;QAC9C,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,IAAI,oBAAoB,GAAG,EAAE,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAA;QAPV;;;;mBAAO,GAAG;WAAK;IAQjB,CAAC;CACF;AAXD,8CAWC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YACS,OAAe,EACf,IAAW;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,WAAW,OAAO,YAAY,MAAM,EAAE,CAAC,CAAA;QAJ7C;;;;mBAAO,OAAO;WAAQ;QACtB;;;;mBAAO,IAAI;WAAO;IAIpB,CAAC;CACF;AARD,gDAQC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IACjD,YACS,MAAW,EACX,IAAW;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC,CAAA;QAJlE;;;;mBAAO,MAAM;WAAK;QAClB;;;;mBAAO,IAAI;WAAO;IAIpB,CAAC;CACF;AARD,4DAQC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YACS,GAAQ,EACR,GAAW;QAElB,KAAK,CAAC,wBAAwB,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,EAAE,CAAC,CAAA;QAHjE;;;;mBAAO,GAAG;WAAK;QACf;;;;mBAAO,GAAG;WAAQ;IAGpB,CAAC;CACF;AAPD,sDAOC","sourcesContent":["import { CID } from 'multiformats/cid'\n\nexport class MissingBlockError extends Error {\n constructor(\n public cid: CID,\n def?: string,\n ) {\n let msg = `block not found: ${cid.toString()}`\n if (def) {\n msg += `, expected type: ${def}`\n }\n super(msg)\n }\n}\n\nexport class MissingBlocksError extends Error {\n constructor(\n public context: string,\n public cids: CID[],\n ) {\n const cidStr = cids.map((c) => c.toString())\n super(`missing ${context} blocks: ${cidStr}`)\n }\n}\n\nexport class MissingCommitBlocksError extends Error {\n constructor(\n public commit: CID,\n public cids: CID[],\n ) {\n const cidStr = cids.map((c) => c.toString())\n super(`missing blocks for commit ${commit.toString()}: ${cidStr}`)\n }\n}\n\nexport class UnexpectedObjectError extends Error {\n constructor(\n public cid: CID,\n public def: string,\n ) {\n super(`unexpected object at ${cid.toString()}, expected: ${def}`)\n }\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4CAAyB;AACzB,yCAAsB;AACtB,wCAAqB;AACrB,0CAAuB;AACvB,4CAAyB;AACzB,yCAAsB;AACtB,0CAAuB;AACvB,8CAA2B;AAC3B,wCAAqB;AACrB,yCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4CAAyB;AACzB,yCAAsB;AACtB,wCAAqB;AACrB,0CAAuB;AACvB,4CAAyB;AACzB,yCAAsB;AACtB,0CAAuB;AACvB,8CAA2B;AAC3B,wCAAqB;AACrB,yCAAsB","sourcesContent":["export * from './block-map'\nexport * from './cid-set'\nexport * from './repo'\nexport * from './mst'\nexport * from './parse'\nexport * from './storage'\nexport * from './sync'\nexport * from './types'\nexport * from './data-diff'\nexport * from './car'\nexport * from './util'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AAEpC,QAAA,MAAM,GACjB,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAA;AAEzB,kBAAe,cAAM,CAAA"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AAEpC,QAAA,MAAM,GACjB,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAA;AAEzB,kBAAe,cAAM,CAAA","sourcesContent":["import { subsystemLogger } from '@atproto/common'\n\nexport const logger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('repo')\n\nexport default logger\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/mst/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/mst/diff.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEvC,qCAAoC;AAE7B,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAS,EAAqB,EAAE;IAC7D,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AANY,QAAA,QAAQ,YAMpB;AAEM,MAAM,OAAO,GAAG,KAAK,EAC1B,IAAS,EACT,IAAgB,EACG,EAAE;IACrB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAA;IAE3B,MAAM,UAAU,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3D,4EAA4E;QAC5E,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3C,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC3B,SAAQ;QACV,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAC1B,SAAQ;QACV,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI;YAAE,MAAK;QAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA;QACnC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAA;QACrC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;YAAE,MAAK;QAE1C,iHAAiH;QACjH,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpD,CAAC;gBACD,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;gBAC1B,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC7B,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC7B,CAAC;YACD,SAAQ;QACV,CAAC;QAED,4CAA4C;QAC5C,qFAAqF;QACrF,mGAAmG;QACnG,yGAAyG;QACzG,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACzB,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC7B,CAAC;YACD,SAAQ;QACV,CAAC;aAAM,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACzB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAA;YAC9B,CAAC;YACD,SAAQ;QACV,CAAC;QAED,2EAA2E;QAC3E,oFAAoF;QACpF,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;gBAC3B,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;gBAC3B,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAA;YAC9B,CAAC;YACD,SAAQ;QACV,CAAC;QAED,uFAAuF;QACvF,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACzB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAA;YAC5B,SAAQ;QACV,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC3B,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AArGY,QAAA,OAAO,WAqGnB","sourcesContent":["import { DataDiff } from '../data-diff'\nimport { MST } from './mst'\nimport { MstWalker } from './walker'\n\nexport const nullDiff = async (tree: MST): Promise<DataDiff> => {\n const diff = new DataDiff()\n for await (const entry of tree.walk()) {\n await diff.nodeAdd(entry)\n }\n return diff\n}\n\nexport const mstDiff = async (\n curr: MST,\n prev: MST | null,\n): Promise<DataDiff> => {\n await curr.getPointer()\n if (prev === null) {\n return nullDiff(curr)\n }\n\n await prev.getPointer()\n const diff = new DataDiff()\n\n const leftWalker = new MstWalker(prev)\n const rightWalker = new MstWalker(curr)\n while (!leftWalker.status.done || !rightWalker.status.done) {\n // if one walker is finished, continue walking the other & logging all nodes\n if (leftWalker.status.done && !rightWalker.status.done) {\n await diff.nodeAdd(rightWalker.status.curr)\n await rightWalker.advance()\n continue\n } else if (!leftWalker.status.done && rightWalker.status.done) {\n await diff.nodeDelete(leftWalker.status.curr)\n await leftWalker.advance()\n continue\n }\n if (leftWalker.status.done || rightWalker.status.done) break\n const left = leftWalker.status.curr\n const right = rightWalker.status.curr\n if (left === null || right === null) break\n\n // if both pointers are leaves, record an update & advance both or record the lowest key and advance that pointer\n if (left.isLeaf() && right.isLeaf()) {\n if (left.key === right.key) {\n if (!left.value.equals(right.value)) {\n diff.leafUpdate(left.key, left.value, right.value)\n }\n await leftWalker.advance()\n await rightWalker.advance()\n } else if (left.key < right.key) {\n diff.leafDelete(left.key, left.value)\n await leftWalker.advance()\n } else {\n diff.leafAdd(right.key, right.value)\n await rightWalker.advance()\n }\n continue\n }\n\n // next, ensure that we're on the same layer\n // if one walker is at a higher layer than the other, we need to do one of two things\n // if the higher walker is pointed at a tree, step into that tree to try to catch up with the lower\n // if the higher walker is pointed at a leaf, then advance the lower walker to try to catch up the higher\n if (leftWalker.layer() > rightWalker.layer()) {\n if (left.isLeaf()) {\n await diff.nodeAdd(right)\n await rightWalker.advance()\n } else {\n await diff.nodeDelete(left)\n await leftWalker.stepInto()\n }\n continue\n } else if (leftWalker.layer() < rightWalker.layer()) {\n if (right.isLeaf()) {\n await diff.nodeDelete(left)\n await leftWalker.advance()\n } else {\n await diff.nodeAdd(right)\n await rightWalker.stepInto()\n }\n continue\n }\n\n // if we're on the same level, and both pointers are trees, do a comparison\n // if they're the same, step over. if they're different, step in to find the subdiff\n if (left.isTree() && right.isTree()) {\n if (left.pointer.equals(right.pointer)) {\n await leftWalker.stepOver()\n await rightWalker.stepOver()\n } else {\n await diff.nodeAdd(right)\n await diff.nodeDelete(left)\n await leftWalker.stepInto()\n await rightWalker.stepInto()\n }\n continue\n }\n\n // finally, if one pointer is a tree and the other is a leaf, simply step into the tree\n if (left.isLeaf() && right.isTree()) {\n await diff.nodeAdd(right)\n await rightWalker.stepInto()\n continue\n } else if (left.isTree() && right.isLeaf()) {\n await diff.nodeDelete(left)\n await leftWalker.stepInto()\n continue\n }\n\n throw new Error('Unidentifiable case in diff walk')\n }\n return diff\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mst/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,yCAAsB;AACtB,2CAAwB;AACxB,kDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mst/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,yCAAsB;AACtB,2CAAwB;AACxB,kDAAiC","sourcesContent":["export * from './mst'\nexport * from './diff'\nexport * from './walker'\nexport * as mstUtil from './util'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mst.d.ts","sourceRoot":"","sources":["../../src/mst/mst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mst.d.ts","sourceRoot":"","sources":["../../src/mst/mst.ts"],"names":[],"mappings":"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"}
package/dist/mst/mst.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"mst.js","sourceRoot":"","sources":["../../src/mst/mst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mst.js","sourceRoot":"","sources":["../../src/mst/mst.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats'\nimport { z } from 'zod'\nimport { cidForCbor, dataToCborBlock, schema as common } from '@atproto/common'\nimport { BlockMap } from '../block-map'\nimport { CidSet } from '../cid-set'\nimport { MissingBlockError, MissingBlocksError } from '../error'\nimport * as parse from '../parse'\nimport { ReadableBlockstore } from '../storage'\nimport { CarBlock } from '../types'\nimport * as util from './util'\n\n/**\n * This is an implementation of a Merkle Search Tree (MST)\n * The data structure is described here: https://hal.inria.fr/hal-02303490/document\n * The MST is an ordered, insert-order-independent, deterministic tree.\n * Keys are laid out in alphabetic order.\n * The key insight of an MST is that each key is hashed and starting 0s are counted\n * to determine which layer it falls on (5 zeros for ~32 fanout).\n * This is a merkle tree, so each subtree is referred to by it's hash (CID).\n * When a leaf is changed, ever tree on the path to that leaf is changed as well,\n * thereby updating the root hash.\n *\n * For atproto, we use SHA-256 as the key hashing algorithm, and ~4 fanout\n * (2-bits of zero per layer).\n */\n\n/**\n * A couple notes on CBOR encoding:\n *\n * There are never two neighboring subtrees.\n * Therefore, we can represent a node as an array of\n * leaves & pointers to their right neighbor (possibly null),\n * along with a pointer to the left-most subtree (also possibly null).\n *\n * Most keys in a subtree will have overlap.\n * We do compression on prefixes by describing keys as:\n * - the length of the prefix that it shares in common with the preceding key\n * - the rest of the string\n *\n * For example:\n * If the first leaf in a tree is `bsky/posts/abcdefg` and the second is `bsky/posts/abcdehi`\n * Then the first will be described as `prefix: 0, key: 'bsky/posts/abcdefg'`,\n * and the second will be described as `prefix: 16, key: 'hi'.`\n */\nconst subTreePointer = z.nullable(common.cid)\nconst treeEntry = z.object({\n p: z.number(), // prefix count of ascii chars that this key shares with the prev key\n k: common.bytes, // the rest of the key outside the shared prefix\n v: common.cid, // value\n t: subTreePointer, // next subtree (to the right of leaf)\n})\nconst nodeData = z.object({\n l: subTreePointer, // left-most subtree\n e: z.array(treeEntry), //entries\n})\nexport type NodeData = z.infer<typeof nodeData>\n\nexport const nodeDataDef = {\n name: 'mst node',\n schema: nodeData,\n}\n\nexport type NodeEntry = MST | Leaf\n\nexport type MstOpts = {\n layer: number\n}\n\nexport class MST {\n storage: ReadableBlockstore\n entries: NodeEntry[] | null\n layer: number | null\n pointer: CID\n outdatedPointer = false\n\n constructor(\n storage: ReadableBlockstore,\n pointer: CID,\n entries: NodeEntry[] | null,\n layer: number | null,\n ) {\n this.storage = storage\n this.entries = entries\n this.layer = layer\n this.pointer = pointer\n }\n\n static async create(\n storage: ReadableBlockstore,\n entries: NodeEntry[] = [],\n opts?: Partial<MstOpts>,\n ): Promise<MST> {\n const pointer = await util.cidForEntries(entries)\n const { layer = null } = opts || {}\n return new MST(storage, pointer, entries, layer)\n }\n\n static async fromData(\n storage: ReadableBlockstore,\n data: NodeData,\n opts?: Partial<MstOpts>,\n ): Promise<MST> {\n const { layer = null } = opts || {}\n const entries = await util.deserializeNodeData(storage, data, opts)\n const pointer = await cidForCbor(data)\n return new MST(storage, pointer, entries, layer)\n }\n\n // this is really a *lazy* load, doesn't actually touch storage\n static load(\n storage: ReadableBlockstore,\n cid: CID,\n opts?: Partial<MstOpts>,\n ): MST {\n const { layer = null } = opts || {}\n return new MST(storage, cid, null, layer)\n }\n\n // Immutability\n // -------------------\n\n // We never mutate an MST, we just return a new MST with updated values\n async newTree(entries: NodeEntry[]): Promise<MST> {\n const mst = new MST(this.storage, this.pointer, entries, this.layer)\n mst.outdatedPointer = true\n return mst\n }\n\n // Getters (lazy load)\n // -------------------\n\n // We don't want to load entries of every subtree, just the ones we need\n async getEntries(): Promise<NodeEntry[]> {\n if (this.entries) return [...this.entries]\n if (this.pointer) {\n const data = await this.storage.readObj(this.pointer, nodeDataDef)\n const firstLeaf = data.e[0]\n const layer =\n firstLeaf !== undefined\n ? await util.leadingZerosOnHash(firstLeaf.k)\n : undefined\n this.entries = await util.deserializeNodeData(this.storage, data, {\n layer,\n })\n\n return this.entries\n }\n throw new Error('No entries or CID provided')\n }\n\n // We don't hash the node on every mutation for performance reasons\n // Instead we keep track of whether the pointer is outdated and only (recursively) calculate when needed\n async getPointer(): Promise<CID> {\n if (!this.outdatedPointer) return this.pointer\n const { cid } = await this.serialize()\n this.pointer = cid\n this.outdatedPointer = false\n return this.pointer\n }\n\n async serialize(): Promise<{ cid: CID; bytes: Uint8Array }> {\n let entries = await this.getEntries()\n const outdated = entries.filter(\n (e) => e.isTree() && e.outdatedPointer,\n ) as MST[]\n if (outdated.length > 0) {\n await Promise.all(outdated.map((e) => e.getPointer()))\n entries = await this.getEntries()\n }\n const data = util.serializeNodeData(entries)\n const block = await dataToCborBlock(data)\n return {\n cid: block.cid,\n bytes: block.bytes,\n }\n }\n\n // In most cases, we get the layer of a node from a hint on creation\n // In the case of the topmost node in the tree, we look for a key in the node & determine the layer\n // In the case where we don't find one, we recurse down until we do.\n // If we still can't find one, then we have an empty tree and the node is layer 0\n async getLayer(): Promise<number> {\n this.layer = await this.attemptGetLayer()\n if (this.layer === null) this.layer = 0\n return this.layer\n }\n\n async attemptGetLayer(): Promise<number | null> {\n if (this.layer !== null) return this.layer\n const entries = await this.getEntries()\n let layer = await util.layerForEntries(entries)\n if (layer === null) {\n for (const entry of entries) {\n if (entry.isTree()) {\n const childLayer = await entry.attemptGetLayer()\n if (childLayer !== null) {\n layer = childLayer + 1\n break\n }\n }\n }\n }\n if (layer !== null) this.layer = layer\n return layer\n }\n\n // Core functionality\n // -------------------\n\n // Return the necessary blocks to persist the MST to repo storage\n async getUnstoredBlocks(): Promise<{ root: CID; blocks: BlockMap }> {\n const blocks = new BlockMap()\n const pointer = await this.getPointer()\n const alreadyHas = await this.storage.has(pointer)\n if (alreadyHas) return { root: pointer, blocks }\n const entries = await this.getEntries()\n const data = util.serializeNodeData(entries)\n await blocks.add(data)\n for (const entry of entries) {\n if (entry.isTree()) {\n const subtree = await entry.getUnstoredBlocks()\n blocks.addMap(subtree.blocks)\n }\n }\n return { root: pointer, blocks: blocks }\n }\n\n // Adds a new leaf for the given key/value pair\n // Throws if a leaf with that key already exists\n async add(key: string, value: CID, knownZeros?: number): Promise<MST> {\n util.ensureValidMstKey(key)\n const keyZeros = knownZeros ?? (await util.leadingZerosOnHash(key))\n const layer = await this.getLayer()\n const newLeaf = new Leaf(key, value)\n if (keyZeros === layer) {\n // it belongs in this layer\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n if (found?.isLeaf() && found.key === key) {\n throw new Error(`There is already a value at key: ${key}`)\n }\n const prevNode = await this.atIndex(index - 1)\n if (!prevNode || prevNode.isLeaf()) {\n // if entry before is a leaf, (or we're on far left) we can just splice in\n return this.spliceIn(newLeaf, index)\n } else {\n // else we try to split the subtree around the key\n const splitSubTree = await prevNode.splitAround(key)\n return this.replaceWithSplit(\n index - 1,\n splitSubTree[0],\n newLeaf,\n splitSubTree[1],\n )\n }\n } else if (keyZeros < layer) {\n // it belongs on a lower layer\n const index = await this.findGtOrEqualLeafIndex(key)\n const prevNode = await this.atIndex(index - 1)\n if (prevNode && prevNode.isTree()) {\n // if entry before is a tree, we add it to that tree\n const newSubtree = await prevNode.add(key, value, keyZeros)\n return this.updateEntry(index - 1, newSubtree)\n } else {\n const subTree = await this.createChild()\n const newSubTree = await subTree.add(key, value, keyZeros)\n return this.spliceIn(newSubTree, index)\n }\n } else {\n // it belongs on a higher layer & we must push the rest of the tree down\n const split = await this.splitAround(key)\n // if the newly added key has >=2 more leading zeros than the current highest layer\n // then we need to add in structural nodes in between as well\n let left: MST | null = split[0]\n let right: MST | null = split[1]\n const layer = await this.getLayer()\n const extraLayersToAdd = keyZeros - layer\n // intentionally starting at 1, since first layer is taken care of by split\n for (let i = 1; i < extraLayersToAdd; i++) {\n if (left !== null) {\n left = await left.createParent()\n }\n if (right !== null) {\n right = await right.createParent()\n }\n }\n const updated: NodeEntry[] = []\n if (left) updated.push(left)\n updated.push(new Leaf(key, value))\n if (right) updated.push(right)\n const newRoot = await MST.create(this.storage, updated, {\n layer: keyZeros,\n })\n newRoot.outdatedPointer = true\n return newRoot\n }\n }\n\n // Gets the value at the given key\n async get(key: string): Promise<CID | null> {\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n if (found && found.isLeaf() && found.key === key) {\n return found.value\n }\n const prev = await this.atIndex(index - 1)\n if (prev && prev.isTree()) {\n return prev.get(key)\n }\n return null\n }\n\n // Edits the value at the given key\n // Throws if the given key does not exist\n async update(key: string, value: CID): Promise<MST> {\n util.ensureValidMstKey(key)\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n if (found && found.isLeaf() && found.key === key) {\n return this.updateEntry(index, new Leaf(key, value))\n }\n const prev = await this.atIndex(index - 1)\n if (prev && prev.isTree()) {\n const updatedTree = await prev.update(key, value)\n return this.updateEntry(index - 1, updatedTree)\n }\n throw new Error(`Could not find a record with key: ${key}`)\n }\n\n // Deletes the value at the given key\n async delete(key: string): Promise<MST> {\n const altered = await this.deleteRecurse(key)\n return altered.trimTop()\n }\n\n async deleteRecurse(key: string): Promise<MST> {\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n // if found, remove it on this level\n if (found?.isLeaf() && found.key === key) {\n const prev = await this.atIndex(index - 1)\n const next = await this.atIndex(index + 1)\n if (prev?.isTree() && next?.isTree()) {\n const merged = await prev.appendMerge(next)\n return this.newTree([\n ...(await this.slice(0, index - 1)),\n merged,\n ...(await this.slice(index + 2)),\n ])\n } else {\n return this.removeEntry(index)\n }\n }\n // else recurse down to find it\n const prev = await this.atIndex(index - 1)\n if (prev?.isTree()) {\n const subtree = await prev.deleteRecurse(key)\n const subTreeEntries = await subtree.getEntries()\n if (subTreeEntries.length === 0) {\n return this.removeEntry(index - 1)\n } else {\n return this.updateEntry(index - 1, subtree)\n }\n } else {\n throw new Error(`Could not find a record with key: ${key}`)\n }\n }\n\n // Simple Operations\n // -------------------\n\n // update entry in place\n async updateEntry(index: number, entry: NodeEntry): Promise<MST> {\n const update = [\n ...(await this.slice(0, index)),\n entry,\n ...(await this.slice(index + 1)),\n ]\n return this.newTree(update)\n }\n\n // remove entry at index\n async removeEntry(index: number): Promise<MST> {\n const updated = [\n ...(await this.slice(0, index)),\n ...(await this.slice(index + 1)),\n ]\n return this.newTree(updated)\n }\n\n // append entry to end of the node\n async append(entry: NodeEntry): Promise<MST> {\n const entries = await this.getEntries()\n return this.newTree([...entries, entry])\n }\n\n // prepend entry to start of the node\n async prepend(entry: NodeEntry): Promise<MST> {\n const entries = await this.getEntries()\n return this.newTree([entry, ...entries])\n }\n\n // returns entry at index\n async atIndex(index: number): Promise<NodeEntry | null> {\n const entries = await this.getEntries()\n return entries[index] ?? null\n }\n\n // returns a slice of the node (like array.slice)\n async slice(\n start?: number | undefined,\n end?: number | undefined,\n ): Promise<NodeEntry[]> {\n const entries = await this.getEntries()\n return entries.slice(start, end)\n }\n\n // inserts entry at index\n async spliceIn(entry: NodeEntry, index: number): Promise<MST> {\n const update = [\n ...(await this.slice(0, index)),\n entry,\n ...(await this.slice(index)),\n ]\n return this.newTree(update)\n }\n\n // replaces an entry with [ Maybe(tree), Leaf, Maybe(tree) ]\n async replaceWithSplit(\n index: number,\n left: MST | null,\n leaf: Leaf,\n right: MST | null,\n ): Promise<MST> {\n const update = await this.slice(0, index)\n if (left) update.push(left)\n update.push(leaf)\n if (right) update.push(right)\n update.push(...(await this.slice(index + 1)))\n return this.newTree(update)\n }\n\n // if the topmost node in the tree only points to another tree, trim the top and return the subtree\n async trimTop(): Promise<MST> {\n let entries: NodeEntry[]\n try {\n entries = await this.getEntries()\n } catch (err) {\n if (err instanceof MissingBlockError) {\n return this\n } else {\n throw err\n }\n }\n if (entries.length === 1 && entries[0].isTree()) {\n return entries[0].trimTop()\n } else {\n return this\n }\n }\n\n // Subtree & Splits\n // -------------------\n\n // Recursively splits a sub tree around a given key\n async splitAround(key: string): Promise<[MST | null, MST | null]> {\n const index = await this.findGtOrEqualLeafIndex(key)\n // split tree around key\n const leftData = await this.slice(0, index)\n const rightData = await this.slice(index)\n let left = await this.newTree(leftData)\n let right = await this.newTree(rightData)\n\n // if the far right of the left side is a subtree,\n // we need to split it on the key as well\n const lastInLeft = leftData[leftData.length - 1]\n if (lastInLeft?.isTree()) {\n left = await left.removeEntry(leftData.length - 1)\n const split = await lastInLeft.splitAround(key)\n if (split[0]) {\n left = await left.append(split[0])\n }\n if (split[1]) {\n right = await right.prepend(split[1])\n }\n }\n\n return [\n (await left.getEntries()).length > 0 ? left : null,\n (await right.getEntries()).length > 0 ? right : null,\n ]\n }\n\n // The simple merge case where every key in the right tree is greater than every key in the left tree\n // (used primarily for deletes)\n async appendMerge(toMerge: MST): Promise<MST> {\n if ((await this.getLayer()) !== (await toMerge.getLayer())) {\n throw new Error(\n 'Trying to merge two nodes from different layers of the MST',\n )\n }\n const thisEntries = await this.getEntries()\n const toMergeEntries = await toMerge.getEntries()\n const lastInLeft = thisEntries[thisEntries.length - 1]\n const firstInRight = toMergeEntries[0]\n if (lastInLeft?.isTree() && firstInRight?.isTree()) {\n const merged = await lastInLeft.appendMerge(firstInRight)\n return this.newTree([\n ...thisEntries.slice(0, thisEntries.length - 1),\n merged,\n ...toMergeEntries.slice(1),\n ])\n } else {\n return this.newTree([...thisEntries, ...toMergeEntries])\n }\n }\n\n // Create relatives\n // -------------------\n\n async createChild(): Promise<MST> {\n const layer = await this.getLayer()\n return MST.create(this.storage, [], {\n layer: layer - 1,\n })\n }\n\n async createParent(): Promise<MST> {\n const layer = await this.getLayer()\n const parent = await MST.create(this.storage, [this], {\n layer: layer + 1,\n })\n parent.outdatedPointer = true\n return parent\n }\n\n // Finding insertion points\n // -------------------\n\n // finds index of first leaf node that is greater than or equal to the value\n async findGtOrEqualLeafIndex(key: string): Promise<number> {\n const entries = await this.getEntries()\n const maybeIndex = entries.findIndex(\n (entry) => entry.isLeaf() && entry.key >= key,\n )\n // if we can't find, we're on the end\n return maybeIndex >= 0 ? maybeIndex : entries.length\n }\n\n // List operations (partial tree traversal)\n // -------------------\n\n // @TODO write tests for these\n\n // Walk tree starting at key\n async *walkFrom(key: string): AsyncIterable<NodeEntry> {\n yield this\n const index = await this.findGtOrEqualLeafIndex(key)\n const entries = await this.getEntries()\n const found = entries[index]\n if (found && found.isLeaf() && found.key === key) {\n yield found\n } else {\n const prev = entries[index - 1]\n if (prev) {\n if (prev.isLeaf() && prev.key === key) {\n yield prev\n } else if (prev.isTree()) {\n yield* prev.walkFrom(key)\n }\n }\n }\n\n for (let i = index; i < entries.length; i++) {\n const entry = entries[i]\n if (entry.isLeaf()) {\n yield entry\n } else {\n yield* entry.walkFrom(key)\n }\n }\n }\n\n async *walkLeavesFrom(key: string): AsyncIterable<Leaf> {\n for await (const node of this.walkFrom(key)) {\n if (node.isLeaf()) {\n yield node\n }\n }\n }\n\n async list(\n count = Number.MAX_SAFE_INTEGER,\n after?: string,\n before?: string,\n ): Promise<Leaf[]> {\n const vals: Leaf[] = []\n for await (const leaf of this.walkLeavesFrom(after || '')) {\n if (leaf.key === after) continue\n if (vals.length >= count) break\n if (before && leaf.key >= before) break\n vals.push(leaf)\n }\n return vals\n }\n\n async listWithPrefix(\n prefix: string,\n count = Number.MAX_SAFE_INTEGER,\n ): Promise<Leaf[]> {\n const vals: Leaf[] = []\n for await (const leaf of this.walkLeavesFrom(prefix)) {\n if (vals.length >= count || !leaf.key.startsWith(prefix)) break\n vals.push(leaf)\n }\n return vals\n }\n\n // Full tree traversal\n // -------------------\n\n // Walk full tree & emit nodes, consumer can bail at any point by returning false\n async *walk(): AsyncIterable<NodeEntry> {\n yield this\n const entries = await this.getEntries()\n for (const entry of entries) {\n if (entry.isTree()) {\n for await (const e of entry.walk()) {\n yield e\n }\n } else {\n yield entry\n }\n }\n }\n\n // Walk full tree & emit nodes, consumer can bail at any point by returning false\n async paths(): Promise<NodeEntry[][]> {\n const entries = await this.getEntries()\n let paths: NodeEntry[][] = []\n for (const entry of entries) {\n if (entry.isLeaf()) {\n paths.push([entry])\n }\n if (entry.isTree()) {\n const subPaths = await entry.paths()\n paths = [...paths, ...subPaths.map((p) => [entry, ...p])]\n }\n }\n return paths\n }\n\n // Walks tree & returns all nodes\n async allNodes(): Promise<NodeEntry[]> {\n const nodes: NodeEntry[] = []\n for await (const entry of this.walk()) {\n nodes.push(entry)\n }\n return nodes\n }\n\n // Walks tree & returns all cids\n async allCids(): Promise<CidSet> {\n const cids = new CidSet()\n const entries = await this.getEntries()\n for (const entry of entries) {\n if (entry.isLeaf()) {\n cids.add(entry.value)\n } else {\n const subtreeCids = await entry.allCids()\n cids.addSet(subtreeCids)\n }\n }\n cids.add(await this.getPointer())\n return cids\n }\n\n // Walks tree & returns all leaves\n async leaves() {\n const leaves: Leaf[] = []\n for await (const entry of this.walk()) {\n if (entry.isLeaf()) leaves.push(entry)\n }\n return leaves\n }\n\n // Returns total leaf count\n async leafCount(): Promise<number> {\n const leaves = await this.leaves()\n return leaves.length\n }\n\n // Reachable tree traversal\n // -------------------\n\n // Walk reachable branches of tree & emit nodes, consumer can bail at any point by returning false\n async *walkReachable(): AsyncIterable<NodeEntry> {\n yield this\n const entries = await this.getEntries()\n for (const entry of entries) {\n if (entry.isTree()) {\n try {\n for await (const e of entry.walkReachable()) {\n yield e\n }\n } catch (err) {\n if (err instanceof MissingBlockError) {\n continue\n } else {\n throw err\n }\n }\n } else {\n yield entry\n }\n }\n }\n\n async reachableLeaves(): Promise<Leaf[]> {\n const leaves: Leaf[] = []\n for await (const entry of this.walkReachable()) {\n if (entry.isLeaf()) leaves.push(entry)\n }\n return leaves\n }\n\n // Sync Protocol\n\n async *carBlockStream(): AsyncIterable<CarBlock> {\n const leaves = new CidSet()\n let toFetch = new CidSet()\n toFetch.add(await this.getPointer())\n while (toFetch.size() > 0) {\n const nextLayer = new CidSet()\n const fetched = await this.storage.getBlocks(toFetch.toList())\n if (fetched.missing.length > 0) {\n throw new MissingBlocksError('mst node', fetched.missing)\n }\n for (const cid of toFetch.toList()) {\n const found = await parse.getAndParseByDef(\n fetched.blocks,\n cid,\n nodeDataDef,\n )\n yield { cid, bytes: found.bytes }\n const entries = await util.deserializeNodeData(this.storage, found.obj)\n\n for (const entry of entries) {\n if (entry.isLeaf()) {\n leaves.add(entry.value)\n } else {\n nextLayer.add(await entry.getPointer())\n }\n }\n }\n toFetch = nextLayer\n }\n const leafData = await this.storage.getBlocks(leaves.toList())\n if (leafData.missing.length > 0) {\n throw new MissingBlocksError('mst leaf', leafData.missing)\n }\n\n for (const leaf of leafData.blocks.entries()) {\n yield leaf\n }\n }\n\n async cidsForPath(key: string): Promise<CID[]> {\n const cids: CID[] = [await this.getPointer()]\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n if (found && found.isLeaf() && found.key === key) {\n return [...cids, found.value]\n }\n const prev = await this.atIndex(index - 1)\n if (prev && prev.isTree()) {\n return [...cids, ...(await prev.cidsForPath(key))]\n }\n return cids\n }\n\n // A covering proof is all MST nodes (leaves excluded) needed to prove the value of a given leaf\n // and its siblings to its immediate right and left (if applicable)\n // We simply find the immediately preceeding node and then walk from that node until we reach the\n // first key that is greater than the requested key (the right sibling)\n async getCoveringProof(key: string): Promise<BlockMap> {\n const [self, left, right] = await Promise.all([\n this.proofForKey(key),\n this.proofForLeftSib(key),\n this.proofForRightSib(key),\n ])\n return self.addMap(left).addMap(right)\n }\n\n async proofForKey(key: string): Promise<BlockMap> {\n const index = await this.findGtOrEqualLeafIndex(key)\n const found = await this.atIndex(index)\n let blocks: BlockMap\n if (found && found.isLeaf() && found.key === key) {\n blocks = new BlockMap()\n } else {\n const prev = await this.atIndex(index - 1)\n if (!prev || prev.isLeaf()) {\n return new BlockMap()\n } else {\n blocks = await prev.proofForKey(key)\n }\n }\n const serialized = await this.serialize()\n return blocks.set(serialized.cid, serialized.bytes)\n }\n\n async proofForLeftSib(key: string): Promise<BlockMap> {\n const index = await this.findGtOrEqualLeafIndex(key)\n const prev = await this.atIndex(index - 1)\n let blocks: BlockMap\n if (!prev || prev.isLeaf()) {\n blocks = new BlockMap()\n } else {\n blocks = await prev.proofForLeftSib(key)\n }\n const serialized = await this.serialize()\n return blocks.set(serialized.cid, serialized.bytes)\n }\n\n async proofForRightSib(key: string): Promise<BlockMap> {\n const index = await this.findGtOrEqualLeafIndex(key)\n let found = await this.atIndex(index)\n if (!found) {\n found = await this.atIndex(index - 1)\n }\n let blocks: BlockMap\n if (!found) {\n // shouldn't ever hit, null case\n blocks = new BlockMap()\n } else if (found.isTree()) {\n blocks = await found.proofForRightSib(key)\n // recurse down\n } else {\n const node =\n found.key === key\n ? await this.atIndex(index + 1)\n : await this.atIndex(index - 1)\n if (!node || node.isLeaf()) {\n blocks = new BlockMap()\n } else {\n blocks = await node.proofForRightSib(key)\n }\n }\n const serialized = await this.serialize()\n return blocks.set(serialized.cid, serialized.bytes)\n }\n\n // Matching Leaf interface\n // -------------------\n\n isTree(): this is MST {\n return true\n }\n\n isLeaf(): this is Leaf {\n return false\n }\n\n async equals(other: NodeEntry): Promise<boolean> {\n if (other.isLeaf()) return false\n const thisPointer = await this.getPointer()\n const otherPointer = await other.getPointer()\n return thisPointer.equals(otherPointer)\n }\n}\n\nexport class Leaf {\n constructor(\n public key: string,\n public value: CID,\n ) {}\n\n isTree(): this is MST {\n return false\n }\n\n isLeaf(): this is Leaf {\n return true\n }\n\n equals(entry: NodeEntry): boolean {\n if (entry.isLeaf()) {\n return this.key === entry.key && this.value.equals(entry.value)\n } else {\n return false\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/mst/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAIlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAa,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE/D,eAAO,MAAM,kBAAkB,GAAU,KAAK,MAAM,GAAG,UAAU,oBAehE,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,SAAS,EAAE,KACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAIvB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,kBAAkB,EAC3B,MAAM,QAAQ,EACd,OAAO,OAAO,CAAC,OAAO,CAAC,KACtB,OAAO,CAAC,SAAS,EAAE,CA0BrB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,SAAS,EAAE,KAAG,QAmCxD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAQrD,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,SAAS,SAAS,EAAE,KAAG,OAAO,CAAC,GAAG,CAGrE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAU3C,CAAA;AAED,eAAO,MAAM,eAAe,QAAyB,CAAA;AAErD,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAE1C,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,SAI5C,CAAA;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAG/B"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/mst/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAIlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAa,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE/D,eAAO,MAAM,kBAAkB,GAAU,KAAK,MAAM,GAAG,UAAU,oBAehE,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,SAAS,EAAE,KACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAIvB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,kBAAkB,EAC3B,MAAM,QAAQ,EACd,OAAO,OAAO,CAAC,OAAO,CAAC,KACtB,OAAO,CAAC,SAAS,EAAE,CA0BrB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,SAAS,EAAE,KAAG,QAmCxD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAQrD,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,SAAS,SAAS,EAAE,KAAG,OAAO,CAAC,GAAG,CAGrE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAU3C,CAAA;AAED,eAAO,MAAM,eAAe,QAAyB,CAAA;AAErD,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAE1C,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,SAI5C,CAAA;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAG/B"}
package/dist/mst/util.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/mst/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/mst/util.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats'\nimport * as uint8arrays from 'uint8arrays'\nimport { cidForCbor } from '@atproto/common'\nimport { sha256 } from '@atproto/crypto'\nimport { ReadableBlockstore } from '../storage'\nimport { Leaf, MST, MstOpts, NodeData, NodeEntry } from './mst'\n\nexport const leadingZerosOnHash = async (key: string | Uint8Array) => {\n const hash = await sha256(key)\n let leadingZeros = 0\n for (let i = 0; i < hash.length; i++) {\n const byte = hash[i]\n if (byte < 64) leadingZeros++\n if (byte < 16) leadingZeros++\n if (byte < 4) leadingZeros++\n if (byte === 0) {\n leadingZeros++\n } else {\n break\n }\n }\n return leadingZeros\n}\n\nexport const layerForEntries = async (\n entries: NodeEntry[],\n): Promise<number | null> => {\n const firstLeaf = entries.find((entry) => entry.isLeaf())\n if (!firstLeaf || firstLeaf.isTree()) return null\n return await leadingZerosOnHash(firstLeaf.key)\n}\n\nexport const deserializeNodeData = async (\n storage: ReadableBlockstore,\n data: NodeData,\n opts?: Partial<MstOpts>,\n): Promise<NodeEntry[]> => {\n const { layer } = opts || {}\n const entries: NodeEntry[] = []\n if (data.l !== null) {\n entries.push(\n await MST.load(storage, data.l, {\n layer: layer ? layer - 1 : undefined,\n }),\n )\n }\n let lastKey = ''\n for (const entry of data.e) {\n const keyStr = uint8arrays.toString(entry.k, 'ascii')\n const key = lastKey.slice(0, entry.p) + keyStr\n ensureValidMstKey(key)\n entries.push(new Leaf(key, entry.v))\n lastKey = key\n if (entry.t !== null) {\n entries.push(\n await MST.load(storage, entry.t, {\n layer: layer ? layer - 1 : undefined,\n }),\n )\n }\n }\n return entries\n}\n\nexport const serializeNodeData = (entries: NodeEntry[]): NodeData => {\n const data: NodeData = {\n l: null,\n e: [],\n }\n let i = 0\n if (entries[0]?.isTree()) {\n i++\n data.l = entries[0].pointer\n }\n let lastKey = ''\n while (i < entries.length) {\n const leaf = entries[i]\n const next = entries[i + 1]\n if (!leaf.isLeaf()) {\n throw new Error('Not a valid node: two subtrees next to each other')\n }\n i++\n let subtree: CID | null = null\n if (next?.isTree()) {\n subtree = next.pointer\n i++\n }\n ensureValidMstKey(leaf.key)\n const prefixLen = countPrefixLen(lastKey, leaf.key)\n data.e.push({\n p: prefixLen,\n k: uint8arrays.fromString(leaf.key.slice(prefixLen), 'ascii'),\n v: leaf.value,\n t: subtree,\n })\n\n lastKey = leaf.key\n }\n return data\n}\n\nexport const countPrefixLen = (a: string, b: string): number => {\n let i\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n break\n }\n }\n return i\n}\n\nexport const cidForEntries = async (entries: NodeEntry[]): Promise<CID> => {\n const data = serializeNodeData(entries)\n return cidForCbor(data)\n}\n\nexport const isValidMstKey = (str: string): boolean => {\n const split = str.split('/')\n return (\n str.length <= 1024 &&\n split.length === 2 &&\n split[0].length > 0 &&\n split[1].length > 0 &&\n isValidChars(split[0]) &&\n isValidChars(split[1])\n )\n}\n\nexport const validCharsRegex = /^[a-zA-Z0-9_~\\-:.]*$/\n\nexport const isValidChars = (str: string): boolean => {\n return str.match(validCharsRegex) !== null\n}\n\nexport const ensureValidMstKey = (str: string) => {\n if (!isValidMstKey(str)) {\n throw new InvalidMstKeyError(str)\n }\n}\n\nexport class InvalidMstKeyError extends Error {\n constructor(public key: string) {\n super(`Not a valid MST key: ${key}`)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/mst/walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/mst/walker.ts"],"names":[],"mappings":";;;AAeA,MAAa,SAAS;IAIpB,YAAmB,IAAS;QAAhB;;;;mBAAO,IAAI;WAAK;QAH5B;;;;mBAAwB,EAAE;WAAA;QAC1B;;;;;WAAoB;QAGlB,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC;SACT,CAAA;IACH,CAAC;IAED,uDAAuD;IACvD,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;QACvC,CAAC;QACD,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAM;QAC5B,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC5B,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBAC5B,OAAM;YACR,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACrB,OAAM;YACR,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QACzB,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAM;QAC5B,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC1D,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACzB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,CAAC;iBACT,CAAA;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,oDAAoD;IACpD,8CAA8C;IAC9C,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAM;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;CACF;AAtGD,8BAsGC","sourcesContent":["import { MST, NodeEntry } from './mst'\n\ntype WalkerStatusDone = {\n done: true\n}\n\ntype WalkerStatusProgress = {\n done: false\n curr: NodeEntry\n walking: MST | null // walking set to null if `curr` is the root of the tree\n index: number\n}\n\ntype WalkerStatus = WalkerStatusDone | WalkerStatusProgress\n\nexport class MstWalker {\n stack: WalkerStatus[] = []\n status: WalkerStatus\n\n constructor(public root: MST) {\n this.status = {\n done: false,\n curr: root,\n walking: null,\n index: 0,\n }\n }\n\n // return the current layer of the node you are walking\n layer(): number {\n if (this.status.done) {\n throw new Error('Walk is done')\n }\n if (this.status.walking) {\n return this.status.walking.layer ?? 0\n }\n // if curr is the root of the tree, add 1\n if (this.status.curr.isTree()) {\n return (this.status.curr.layer ?? 0) + 1\n }\n throw new Error('Could not identify layer of walk')\n }\n\n // move to the next node in the subtree, skipping over the subtree\n async stepOver(): Promise<void> {\n if (this.status.done) return\n // if stepping over the root of the node, we're done\n if (this.status.walking === null) {\n this.status = { done: true }\n return\n }\n const entries = await this.status.walking.getEntries()\n this.status.index++\n const next = entries[this.status.index]\n if (!next) {\n const popped = this.stack.pop()\n if (!popped) {\n this.status = { done: true }\n return\n } else {\n this.status = popped\n await this.stepOver()\n return\n }\n } else {\n this.status.curr = next\n }\n }\n\n // step into a subtree, throws if currently pointed at a leaf\n async stepInto(): Promise<void> {\n if (this.status.done) return\n // edge case for very start of walk\n if (this.status.walking === null) {\n if (!this.status.curr.isTree()) {\n throw new Error('The root of the tree cannot be a leaf')\n }\n const next = await this.status.curr.atIndex(0)\n if (!next) {\n this.status = { done: true }\n } else {\n this.status = {\n done: false,\n walking: this.status.curr,\n curr: next,\n index: 0,\n }\n }\n return\n }\n if (!this.status.curr.isTree()) {\n throw new Error('No tree at pointer, cannot step into')\n }\n\n const next = await this.status.curr.atIndex(0)\n if (!next) {\n throw new Error(\n 'Tried to step into a node with 0 entries which is invalid',\n )\n }\n\n this.stack.push({ ...this.status })\n this.status.walking = this.status.curr\n this.status.curr = next\n this.status.index = 0\n }\n\n // advance the pointer to the next node in the tree,\n // stepping into the current node if necessary\n async advance(): Promise<void> {\n if (this.status.done) return\n if (this.status.curr.isLeaf()) {\n await this.stepOver()\n } else {\n await this.stepInto()\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAc,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAItC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,QAAQ,EAChB,KAAK,GAAG,KACP,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAOnD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,CAAC,EACtC,QAAQ,QAAQ,EAChB,KAAK,GAAG,EACR,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAMvC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,OAAO,UAAU,EACjB,KAAK,GAAG,EACR,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAChB;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAQ7B,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAc,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAItC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,QAAQ,EAChB,KAAK,GAAG,KACP,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAOnD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,CAAC,EACtC,QAAQ,QAAQ,EAChB,KAAK,GAAG,EACR,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAMvC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,OAAO,UAAU,EACjB,KAAK,GAAG,EACR,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAChB;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAQ7B,CAAA"}
package/dist/parse.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.parseObjByDef = exports.getAndParseByDef = exports.getAndParseRecord = void 0;
4
5
  const common_1 = require("@atproto/common");
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;AACA,4CAAmD;AAGnD,mCAAkE;AAClE,iCAAwC;AAEjC,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAgB,EAChB,GAAQ,EAC4C,EAAE;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B;AAEM,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAgB,EAChB,GAAQ,EACR,GAAiB,EACuB,EAAE;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,IAAA,qBAAa,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,aAAa,GAAG,CAC3B,KAAiB,EACjB,GAAQ,EACR,GAAiB,EACc,EAAE;IACjC,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,6BAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,aAAa,iBAYzB"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAGzC,4CAAmD;AAGnD,mCAAkE;AAClE,iCAAwC;AAEjC,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAgB,EAChB,GAAQ,EAC4C,EAAE;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B;AAEM,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAgB,EAChB,GAAQ,EACR,GAAiB,EACuB,EAAE;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,IAAA,qBAAa,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,aAAa,GAAG,CAC3B,KAAiB,EACjB,GAAQ,EACR,GAAiB,EACc,EAAE;IACjC,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,6BAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,aAAa,iBAYzB","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { cborDecode, check } from '@atproto/common'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { BlockMap } from './block-map'\nimport { MissingBlockError, UnexpectedObjectError } from './error'\nimport { cborToLexRecord } from './util'\n\nexport const getAndParseRecord = async (\n blocks: BlockMap,\n cid: CID,\n): Promise<{ record: RepoRecord; bytes: Uint8Array }> => {\n const bytes = blocks.get(cid)\n if (!bytes) {\n throw new MissingBlockError(cid, 'record')\n }\n const record = cborToLexRecord(bytes)\n return { record, bytes }\n}\n\nexport const getAndParseByDef = async <T>(\n blocks: BlockMap,\n cid: CID,\n def: check.Def<T>,\n): Promise<{ obj: T; bytes: Uint8Array }> => {\n const bytes = blocks.get(cid)\n if (!bytes) {\n throw new MissingBlockError(cid, def.name)\n }\n return parseObjByDef(bytes, cid, def)\n}\n\nexport const parseObjByDef = <T>(\n bytes: Uint8Array,\n cid: CID,\n def: check.Def<T>,\n): { obj: T; bytes: Uint8Array } => {\n const obj = cborDecode(bytes)\n const res = def.schema.safeParse(obj)\n if (res.success) {\n return { obj: res.data, bytes }\n } else {\n throw new UnexpectedObjectError(cid, def.name)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"readable-repo.d.ts","sourceRoot":"","sources":["../src/readable-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAO,MAAM,SAAS,CAAA;AAGnD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,qBAAa,YAAY;IACvB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;gBAEI,MAAM,EAAE,MAAM;WAOb,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG;IAY7D,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEM,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,GAAG,CAAA;QACR,MAAM,EAAE,UAAU,CAAA;KACnB,CAAC;IAQI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOpE,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;CAgB3C"}
1
+ {"version":3,"file":"readable-repo.d.ts","sourceRoot":"","sources":["../src/readable-repo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAO,MAAM,SAAS,CAAA;AAGnD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,qBAAa,YAAY;IACvB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;gBAEI,MAAM,EAAE,MAAM;WAOb,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG;IAY7D,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAEM,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,GAAG,CAAA;QACR,MAAM,EAAE,UAAU,CAAA;KACnB,CAAC;IAQI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOpE,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;CAgB3C"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"readable-repo.js","sourceRoot":"","sources":["../src/readable-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable-repo.js","sourceRoot":"","sources":["../src/readable-repo.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { MissingBlocksError } from './error'\nimport log from './logger'\nimport { MST } from './mst'\nimport * as parse from './parse'\nimport { ReadableBlockstore } from './storage'\nimport { Commit, RepoContents, def } from './types'\nimport * as util from './util'\n\ntype Params = {\n storage: ReadableBlockstore\n data: MST\n commit: Commit\n cid: CID\n}\n\nexport class ReadableRepo {\n storage: ReadableBlockstore\n data: MST\n commit: Commit\n cid: CID\n\n constructor(params: Params) {\n this.storage = params.storage\n this.data = params.data\n this.commit = params.commit\n this.cid = params.cid\n }\n\n static async load(storage: ReadableBlockstore, commitCid: CID) {\n const commit = await storage.readObj(commitCid, def.versionedCommit)\n const data = await MST.load(storage, commit.data)\n log.info({ did: commit.did }, 'loaded repo for')\n return new ReadableRepo({\n storage,\n data,\n commit: util.ensureV3Commit(commit),\n cid: commitCid,\n })\n }\n\n get did(): string {\n return this.commit.did\n }\n\n get version(): number {\n return this.commit.version\n }\n\n async *walkRecords(from?: string): AsyncIterable<{\n collection: string\n rkey: string\n cid: CID\n record: RepoRecord\n }> {\n for await (const leaf of this.data.walkLeavesFrom(from ?? '')) {\n const { collection, rkey } = util.parseDataKey(leaf.key)\n const record = await this.storage.readRecord(leaf.value)\n yield { collection, rkey, cid: leaf.value, record }\n }\n }\n\n async getRecord(collection: string, rkey: string): Promise<unknown | null> {\n const dataKey = collection + '/' + rkey\n const cid = await this.data.get(dataKey)\n if (!cid) return null\n return this.storage.readObj(cid, def.unknown)\n }\n\n async getContents(): Promise<RepoContents> {\n const entries = await this.data.list()\n const cids = entries.map((e) => e.value)\n const { blocks, missing } = await this.storage.getBlocks(cids)\n if (missing.length > 0) {\n throw new MissingBlocksError('getContents record', missing)\n }\n const contents: RepoContents = {}\n for (const entry of entries) {\n const { collection, rkey } = util.parseDataKey(entry.key)\n contents[collection] ??= {}\n const parsed = await parse.getAndParseRecord(blocks, entry.value)\n contents[collection][rkey] = parsed.record\n }\n return contents\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EACL,MAAM,EACN,UAAU,EACV,cAAc,EACd,aAAa,EAGd,MAAM,SAAS,CAAA;AAGhB,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,WAAW,CAAA;IACpB,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,EAAE,WAAW,CAAA;gBAER,MAAM,EAAE,MAAM;WAKb,gBAAgB,CAC3B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,aAAa,GAAE,cAAc,EAAO,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC;WAoCT,gBAAgB,CAC3B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC;WAKH,MAAM,CACjB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,aAAa,GAAE,cAAc,EAAO,GACnC,OAAO,CAAC,IAAI,CAAC;WAUH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG;IAgB3C,YAAY,CAChB,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,GACtB,OAAO,CAAC,UAAU,CAAC;IAqEhB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,WAAW,CACf,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC;IAKV,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;;;;;;;;;IAwBvD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;CAIxD;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EACL,MAAM,EACN,UAAU,EACV,cAAc,EACd,aAAa,EAGd,MAAM,SAAS,CAAA;AAGhB,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,WAAW,CAAA;IACpB,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,EAAE,WAAW,CAAA;gBAER,MAAM,EAAE,MAAM;WAKb,gBAAgB,CAC3B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,aAAa,GAAE,cAAc,EAAO,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC;WAoCT,gBAAgB,CAC3B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC;WAKH,MAAM,CACjB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,aAAa,GAAE,cAAc,EAAO,GACnC,OAAO,CAAC,IAAI,CAAC;WAUH,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG;IAgB3C,YAAY,CAChB,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,GACtB,OAAO,CAAC,UAAU,CAAC;IAqEhB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,WAAW,CACf,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC;IAKV,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;;;;;;;;;IAwBvD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;CAIxD;AAED,eAAe,IAAI,CAAA"}
package/dist/repo.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
package/dist/repo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { TID, dataToCborBlock } from '@atproto/common'\nimport * as crypto from '@atproto/crypto'\nimport { lexToIpld } from '@atproto/lexicon'\nimport { BlockMap } from './block-map'\nimport { CidSet } from './cid-set'\nimport { DataDiff } from './data-diff'\nimport log from './logger'\nimport { MST } from './mst'\nimport { ReadableRepo } from './readable-repo'\nimport { RepoStorage } from './storage'\nimport {\n Commit,\n CommitData,\n RecordCreateOp,\n RecordWriteOp,\n WriteOpAction,\n def,\n} from './types'\nimport * as util from './util'\n\ntype Params = {\n storage: RepoStorage\n data: MST\n commit: Commit\n cid: CID\n}\n\nexport class Repo extends ReadableRepo {\n storage: RepoStorage\n\n constructor(params: Params) {\n super(params)\n this.storage = params.storage\n }\n\n static async formatInitCommit(\n storage: RepoStorage,\n did: string,\n keypair: crypto.Keypair,\n initialWrites: RecordCreateOp[] = [],\n revOverride?: string,\n ): Promise<CommitData> {\n const newBlocks = new BlockMap()\n\n let data = await MST.create(storage)\n for (const record of initialWrites) {\n const cid = await newBlocks.add(record.record)\n const dataKey = util.formatDataKey(record.collection, record.rkey)\n data = await data.add(dataKey, cid)\n }\n const dataCid = await data.getPointer()\n const diff = await DataDiff.of(data, null)\n newBlocks.addMap(diff.newMstBlocks)\n\n const rev = revOverride ?? TID.nextStr()\n const commit = await util.signCommit(\n {\n did,\n version: 3,\n rev,\n prev: null, // added for backwards compatibility with v2\n data: dataCid,\n },\n keypair,\n )\n const commitCid = await newBlocks.add(commit)\n return {\n cid: commitCid,\n rev,\n since: null,\n prev: null,\n newBlocks,\n relevantBlocks: newBlocks,\n removedCids: diff.removedCids,\n }\n }\n\n static async createFromCommit(\n storage: RepoStorage,\n commit: CommitData,\n ): Promise<Repo> {\n await storage.applyCommit(commit)\n return Repo.load(storage, commit.cid)\n }\n\n static async create(\n storage: RepoStorage,\n did: string,\n keypair: crypto.Keypair,\n initialWrites: RecordCreateOp[] = [],\n ): Promise<Repo> {\n const commit = await Repo.formatInitCommit(\n storage,\n did,\n keypair,\n initialWrites,\n )\n return Repo.createFromCommit(storage, commit)\n }\n\n static async load(storage: RepoStorage, cid?: CID) {\n const commitCid = cid || (await storage.getRoot())\n if (!commitCid) {\n throw new Error('No cid provided and none in storage')\n }\n const commit = await storage.readObj(commitCid, def.versionedCommit)\n const data = await MST.load(storage, commit.data)\n log.info({ did: commit.did }, 'loaded repo for')\n return new Repo({\n storage,\n data,\n commit: util.ensureV3Commit(commit),\n cid: commitCid,\n })\n }\n\n async formatCommit(\n toWrite: RecordWriteOp | RecordWriteOp[],\n keypair: crypto.Keypair,\n ): Promise<CommitData> {\n const writes = Array.isArray(toWrite) ? toWrite : [toWrite]\n const leaves = new BlockMap()\n\n let data = this.data\n for (const write of writes) {\n if (write.action === WriteOpAction.Create) {\n const cid = await leaves.add(write.record)\n const dataKey = write.collection + '/' + write.rkey\n data = await data.add(dataKey, cid)\n } else if (write.action === WriteOpAction.Update) {\n const cid = await leaves.add(write.record)\n const dataKey = write.collection + '/' + write.rkey\n data = await data.update(dataKey, cid)\n } else if (write.action === WriteOpAction.Delete) {\n const dataKey = write.collection + '/' + write.rkey\n data = await data.delete(dataKey)\n }\n }\n\n const dataCid = await data.getPointer()\n const diff = await DataDiff.of(data, this.data)\n const newBlocks = diff.newMstBlocks\n const removedCids = diff.removedCids\n\n const proofs = await Promise.all(\n writes.map((op) =>\n data.getCoveringProof(util.formatDataKey(op.collection, op.rkey)),\n ),\n )\n const relevantBlocks = new BlockMap()\n for (const proof of proofs) relevantBlocks.addMap(proof)\n\n const addedLeaves = leaves.getMany(diff.newLeafCids.toList())\n if (addedLeaves.missing.length > 0) {\n throw new Error(`Missing leaf blocks: ${addedLeaves.missing}`)\n }\n newBlocks.addMap(addedLeaves.blocks)\n relevantBlocks.addMap(addedLeaves.blocks)\n\n const rev = TID.nextStr(this.commit.rev)\n const commit = await util.signCommit(\n {\n did: this.did,\n version: 3,\n rev,\n prev: null, // added for backwards compatibility with v2\n data: dataCid,\n },\n keypair,\n )\n const commitBlock = await dataToCborBlock(lexToIpld(commit))\n if (!commitBlock.cid.equals(this.cid)) {\n newBlocks.set(commitBlock.cid, commitBlock.bytes)\n relevantBlocks.set(commitBlock.cid, commitBlock.bytes)\n removedCids.add(this.cid)\n }\n\n return {\n cid: commitBlock.cid,\n rev,\n since: this.commit.rev,\n prev: this.cid,\n newBlocks,\n relevantBlocks,\n removedCids,\n }\n }\n\n async applyCommit(commitData: CommitData): Promise<Repo> {\n await this.storage.applyCommit(commitData)\n return Repo.load(this.storage, commitData.cid)\n }\n\n async applyWrites(\n toWrite: RecordWriteOp | RecordWriteOp[],\n keypair: crypto.Keypair,\n ): Promise<Repo> {\n const commit = await this.formatCommit(toWrite, keypair)\n return this.applyCommit(commit)\n }\n\n async formatResignCommit(rev: string, keypair: crypto.Keypair) {\n const commit = await util.signCommit(\n {\n did: this.did,\n version: 3,\n rev,\n prev: null, // added for backwards compatibility with v2\n data: this.commit.data,\n },\n keypair,\n )\n const newBlocks = new BlockMap()\n const commitCid = await newBlocks.add(commit)\n return {\n cid: commitCid,\n rev,\n since: null,\n prev: null,\n newBlocks,\n relevantBlocks: newBlocks,\n removedCids: new CidSet([this.cid]),\n }\n }\n\n async resignCommit(rev: string, keypair: crypto.Keypair) {\n const formatted = await this.formatResignCommit(rev, keypair)\n return this.applyCommit(formatted)\n }\n}\n\nexport default Repo\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,sDAAmC;AACnC,iDAA8B;AAC9B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,sDAAmC;AACnC,iDAA8B;AAC9B,0CAAuB","sourcesContent":["export * from './readable-blockstore'\nexport * from './memory-blockstore'\nexport * from './sync-storage'\nexport * from './types'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-blockstore.js","sourceRoot":"","sources":["../../src/storage/memory-blockstore.ts"],"names":[],"mappings":";;;AACA,4CAAuC;AAEvC,+DAA0D;AAG1D,MAAa,gBACX,SAAQ,wCAAkB;IAO1B,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QALT;;;;;WAAgB;QAChB;;;;mBAAmB,IAAI;WAAA;QACvB;;;;mBAAqB,IAAI;WAAA;QAIvB,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAQ,EAAE,CAAA;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,KAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgB;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,GAAW;QACpC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB;QAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,KAAK,IAAI,KAAK,CAAC,UAAU,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAnED,4CAmEC;AAED,kBAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"memory-blockstore.js","sourceRoot":"","sources":["../../src/storage/memory-blockstore.ts"],"names":[],"mappings":";;;AACA,4CAAuC;AAEvC,+DAA0D;AAG1D,MAAa,gBACX,SAAQ,wCAAkB;IAO1B,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QALT;;;;;WAAgB;QAChB;;;;mBAAmB,IAAI;WAAA;QACvB;;;;mBAAqB,IAAI;WAAA;QAIvB,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAQ,EAAE,CAAA;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,KAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgB;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,GAAW;QACpC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB;QAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,KAAK,IAAI,KAAK,CAAC,UAAU,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAnED,4CAmEC;AAED,kBAAe,gBAAgB,CAAA","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { BlockMap } from '../block-map'\nimport { CommitData } from '../types'\nimport { ReadableBlockstore } from './readable-blockstore'\nimport { RepoStorage } from './types'\n\nexport class MemoryBlockstore\n extends ReadableBlockstore\n implements RepoStorage\n{\n blocks: BlockMap\n root: CID | null = null\n rev: string | null = null\n\n constructor(blocks?: BlockMap) {\n super()\n this.blocks = new BlockMap()\n if (blocks) {\n this.blocks.addMap(blocks)\n }\n }\n\n async getRoot(): Promise<CID | null> {\n return this.root\n }\n\n async getBytes(cid: CID): Promise<Uint8Array | null> {\n return this.blocks.get(cid) || null\n }\n\n async has(cid: CID): Promise<boolean> {\n return this.blocks.has(cid)\n }\n\n async getBlocks(cids: CID[]): Promise<{ blocks: BlockMap; missing: CID[] }> {\n return this.blocks.getMany(cids)\n }\n\n async putBlock(cid: CID, block: Uint8Array): Promise<void> {\n this.blocks.set(cid, block)\n }\n\n async putMany(blocks: BlockMap): Promise<void> {\n this.blocks.addMap(blocks)\n }\n\n async updateRoot(cid: CID, rev: string): Promise<void> {\n this.root = cid\n this.rev = rev\n }\n\n async applyCommit(commit: CommitData): Promise<void> {\n this.root = commit.cid\n const rmCids = commit.removedCids.toList()\n for (const cid of rmCids) {\n this.blocks.delete(cid)\n }\n commit.newBlocks.forEach((bytes, cid) => {\n this.blocks.set(cid, bytes)\n })\n }\n\n async sizeInBytes(): Promise<number> {\n let total = 0\n this.blocks.forEach((bytes) => {\n total += bytes.byteLength\n })\n return total\n }\n\n async destroy(): Promise<void> {\n this.blocks.clear()\n }\n}\n\nexport default MemoryBlockstore\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"readable-blockstore.d.ts","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,8BAAsB,kBAAkB;IACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAExE,WAAW,CAAC,CAAC,EACjB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAM1C,eAAe,CAAC,CAAC,EACrB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAQnC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnD,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQvD,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;CAOhD;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"readable-blockstore.d.ts","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,8BAAsB,kBAAkB;IACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAExE,WAAW,CAAC,CAAC,EACjB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAM1C,eAAe,CAAC,CAAC,EACrB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAQnC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnD,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQvD,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;CAOhD;AAED,eAAe,kBAAkB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"readable-blockstore.js","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oCAA4C;AAC5C,gDAAiC;AACjC,kCAAyC;AAEzC,MAAsB,kBAAkB;IAKtC,KAAK,CAAC,WAAW,CACf,GAAQ,EACR,GAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAQ,EACR,GAAiB;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,GAAQ,EAAE,GAAiB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF;AA7CD,gDA6CC;AAED,kBAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"readable-blockstore.js","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMzC,oCAA4C;AAC5C,gDAAiC;AACjC,kCAAyC;AAEzC,MAAsB,kBAAkB;IAKtC,KAAK,CAAC,WAAW,CACf,GAAQ,EACR,GAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAQ,EACR,GAAiB;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,GAAQ,EAAE,GAAiB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF;AA7CD,gDA6CC;AAED,kBAAe,kBAAkB,CAAA","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { check } from '@atproto/common'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { BlockMap } from '../block-map'\nimport { MissingBlockError } from '../error'\nimport * as parse from '../parse'\nimport { cborToLexRecord } from '../util'\n\nexport abstract class ReadableBlockstore {\n abstract getBytes(cid: CID): Promise<Uint8Array | null>\n abstract has(cid: CID): Promise<boolean>\n abstract getBlocks(cids: CID[]): Promise<{ blocks: BlockMap; missing: CID[] }>\n\n async attemptRead<T>(\n cid: CID,\n def: check.Def<T>,\n ): Promise<{ obj: T; bytes: Uint8Array } | null> {\n const bytes = await this.getBytes(cid)\n if (!bytes) return null\n return parse.parseObjByDef(bytes, cid, def)\n }\n\n async readObjAndBytes<T>(\n cid: CID,\n def: check.Def<T>,\n ): Promise<{ obj: T; bytes: Uint8Array }> {\n const read = await this.attemptRead(cid, def)\n if (!read) {\n throw new MissingBlockError(cid, def.name)\n }\n return read\n }\n\n async readObj<T>(cid: CID, def: check.Def<T>): Promise<T> {\n const obj = await this.readObjAndBytes(cid, def)\n return obj.obj\n }\n\n async attemptReadRecord(cid: CID): Promise<RepoRecord | null> {\n try {\n return await this.readRecord(cid)\n } catch {\n return null\n }\n }\n\n async readRecord(cid: CID): Promise<RepoRecord> {\n const bytes = await this.getBytes(cid)\n if (!bytes) {\n throw new MissingBlockError(cid)\n }\n return cborToLexRecord(bytes)\n }\n}\n\nexport default ReadableBlockstore\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-storage.js","sourceRoot":"","sources":["../../src/storage/sync-storage.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,MAAa,WAAY,SAAQ,wCAAkB;IACjD,YACS,MAA0B,EAC1B,KAAyB;QAEhC,KAAK,EAAE,CAAA;QAHP;;;;mBAAO,MAAM;WAAoB;QACjC;;;;mBAAO,KAAK;WAAoB;IAGlC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC/B,OAAO;YACL,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpE,CAAC;CACF;AA5BD,kCA4BC;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"sync-storage.js","sourceRoot":"","sources":["../../src/storage/sync-storage.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,MAAa,WAAY,SAAQ,wCAAkB;IACjD,YACS,MAA0B,EAC1B,KAAyB;QAEhC,KAAK,EAAE,CAAA;QAHP;;;;mBAAO,MAAM;WAAoB;QACjC;;;;mBAAO,KAAK;WAAoB;IAGlC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC/B,OAAO;YACL,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpE,CAAC;CACF;AA5BD,kCA4BC;AAED,kBAAe,WAAW,CAAA","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { BlockMap } from '../block-map'\nimport { ReadableBlockstore } from './readable-blockstore'\n\nexport class SyncStorage extends ReadableBlockstore {\n constructor(\n public staged: ReadableBlockstore,\n public saved: ReadableBlockstore,\n ) {\n super()\n }\n\n async getBytes(cid: CID): Promise<Uint8Array | null> {\n const got = await this.staged.getBytes(cid)\n if (got) return got\n return this.saved.getBytes(cid)\n }\n\n async getBlocks(cids: CID[]): Promise<{ blocks: BlockMap; missing: CID[] }> {\n const fromStaged = await this.staged.getBlocks(cids)\n const fromSaved = await this.saved.getBlocks(fromStaged.missing)\n const blocks = fromStaged.blocks\n blocks.addMap(fromSaved.blocks)\n return {\n blocks,\n missing: fromSaved.missing,\n }\n }\n\n async has(cid: CID): Promise<boolean> {\n return (await this.staged.has(cid)) || (await this.saved.has(cid))\n }\n}\n\nexport default SyncStorage\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.BlobNotFoundError = void 0;
4
5
  class BlobNotFoundError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":";;;AA8CA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAgDzC,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport stream from 'node:stream'\nimport { CID } from 'multiformats/cid'\nimport { check } from '@atproto/common'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { BlockMap } from '../block-map'\nimport { CommitData } from '../types'\n\nexport interface RepoStorage {\n // Writable\n getRoot(): Promise<CID | null>\n putBlock(cid: CID, block: Uint8Array, rev: string): Promise<void>\n putMany(blocks: BlockMap, rev: string): Promise<void>\n updateRoot(cid: CID, rev: string): Promise<void>\n applyCommit(commit: CommitData)\n\n // Readable\n getBytes(cid: CID): Promise<Uint8Array | null>\n has(cid: CID): Promise<boolean>\n getBlocks(cids: CID[]): Promise<{ blocks: BlockMap; missing: CID[] }>\n attemptRead<T>(\n cid: CID,\n def: check.Def<T>,\n ): Promise<{ obj: T; bytes: Uint8Array } | null>\n readObjAndBytes<T>(\n cid: CID,\n def: check.Def<T>,\n ): Promise<{ obj: T; bytes: Uint8Array }>\n readObj<T>(cid: CID, def: check.Def<T>): Promise<T>\n attemptReadRecord(cid: CID): Promise<RepoRecord | null>\n readRecord(cid: CID): Promise<RepoRecord>\n}\n\nexport interface BlobStore {\n putTemp(bytes: Uint8Array | stream.Readable): Promise<string>\n makePermanent(key: string, cid: CID): Promise<void>\n putPermanent(cid: CID, bytes: Uint8Array | stream.Readable): Promise<void>\n quarantine(cid: CID): Promise<void>\n unquarantine(cid: CID): Promise<void>\n getBytes(cid: CID): Promise<Uint8Array>\n getStream(cid: CID): Promise<stream.Readable>\n hasTemp(key: string): Promise<boolean>\n hasStored(cid: CID): Promise<boolean>\n delete(cid: CID): Promise<void>\n deleteMany(cid: CID[]): Promise<void>\n}\n\nexport class BlobNotFoundError extends Error {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../src/sync/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../src/sync/consumer.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { BlockMap } from '../block-map'\nimport { readCarWithRoot } from '../car'\nimport { DataDiff } from '../data-diff'\nimport { MST } from '../mst'\nimport { ReadableRepo } from '../readable-repo'\nimport { MemoryBlockstore, ReadableBlockstore, SyncStorage } from '../storage'\nimport {\n RecordCidClaim,\n RecordClaim,\n VerifiedDiff,\n VerifiedRepo,\n def,\n} from '../types'\nimport * as util from '../util'\n\nexport const verifyRepoCar = async (\n carBytes: Uint8Array,\n did?: string,\n signingKey?: string,\n): Promise<VerifiedRepo> => {\n const car = await readCarWithRoot(carBytes)\n return verifyRepo(car.blocks, car.root, did, signingKey)\n}\n\nexport const verifyRepo = async (\n blocks: BlockMap,\n head: CID,\n did?: string,\n signingKey?: string,\n opts?: { ensureLeaves?: boolean },\n): Promise<VerifiedRepo> => {\n const diff = await verifyDiff(null, blocks, head, did, signingKey, opts)\n const creates = util.ensureCreates(diff.writes)\n return {\n creates,\n commit: diff.commit,\n }\n}\n\nexport const verifyDiffCar = async (\n repo: ReadableRepo | null,\n carBytes: Uint8Array,\n did?: string,\n signingKey?: string,\n opts?: { ensureLeaves?: boolean },\n): Promise<VerifiedDiff> => {\n const car = await readCarWithRoot(carBytes)\n return verifyDiff(repo, car.blocks, car.root, did, signingKey, opts)\n}\n\nexport const verifyDiff = async (\n repo: ReadableRepo | null,\n updateBlocks: BlockMap,\n updateRoot: CID,\n did?: string,\n signingKey?: string,\n opts?: { ensureLeaves?: boolean },\n): Promise<VerifiedDiff> => {\n const { ensureLeaves = true } = opts ?? {}\n const stagedStorage = new MemoryBlockstore(updateBlocks)\n const updateStorage = repo\n ? new SyncStorage(stagedStorage, repo.storage)\n : stagedStorage\n const updated = await verifyRepoRoot(\n updateStorage,\n updateRoot,\n did,\n signingKey,\n )\n const diff = await DataDiff.of(updated.data, repo?.data ?? null)\n const writes = await util.diffToWriteDescripts(diff)\n const newBlocks = diff.newMstBlocks\n const leaves = updateBlocks.getMany(diff.newLeafCids.toList())\n if (leaves.missing.length > 0 && ensureLeaves) {\n throw new Error(`missing leaf blocks: ${leaves.missing}`)\n }\n newBlocks.addMap(leaves.blocks)\n const removedCids = diff.removedCids\n const commitCid = await newBlocks.add(updated.commit)\n // ensure the commit cid actually changed\n if (repo) {\n if (commitCid.equals(repo.cid)) {\n newBlocks.delete(commitCid)\n } else {\n removedCids.add(repo.cid)\n }\n }\n return {\n writes,\n commit: {\n cid: updated.cid,\n rev: updated.commit.rev,\n prev: repo?.cid ?? null,\n since: repo?.commit.rev ?? null,\n newBlocks,\n relevantBlocks: newBlocks,\n removedCids,\n },\n }\n}\n\n// @NOTE only verifies the root, not the repo contents\nconst verifyRepoRoot = async (\n storage: ReadableBlockstore,\n head: CID,\n did?: string,\n signingKey?: string,\n): Promise<ReadableRepo> => {\n const repo = await ReadableRepo.load(storage, head)\n if (did !== undefined && repo.did !== did) {\n throw new RepoVerificationError(`Invalid repo did: ${repo.did}`)\n }\n if (signingKey !== undefined) {\n const validSig = await util.verifyCommitSig(repo.commit, signingKey)\n if (!validSig) {\n throw new RepoVerificationError(\n `Invalid signature on commit: ${repo.cid.toString()}`,\n )\n }\n }\n return repo\n}\n\nexport const verifyProofs = async (\n proofs: Uint8Array,\n claims: RecordCidClaim[],\n did: string,\n didKey: string,\n): Promise<{ verified: RecordCidClaim[]; unverified: RecordCidClaim[] }> => {\n const car = await readCarWithRoot(proofs)\n const blockstore = new MemoryBlockstore(car.blocks)\n const commit = await blockstore.readObj(car.root, def.commit)\n if (commit.did !== did) {\n throw new RepoVerificationError(`Invalid repo did: ${commit.did}`)\n }\n const validSig = await util.verifyCommitSig(commit, didKey)\n if (!validSig) {\n throw new RepoVerificationError(\n `Invalid signature on commit: ${car.root.toString()}`,\n )\n }\n const mst = MST.load(blockstore, commit.data)\n const verified: RecordCidClaim[] = []\n const unverified: RecordCidClaim[] = []\n for (const claim of claims) {\n const found = await mst.get(\n util.formatDataKey(claim.collection, claim.rkey),\n )\n const record = found ? await blockstore.readObj(found, def.map) : null\n if (claim.cid === null) {\n if (record === null) {\n verified.push(claim)\n } else {\n unverified.push(claim)\n }\n } else {\n if (claim.cid.equals(found)) {\n verified.push(claim)\n } else {\n unverified.push(claim)\n }\n }\n }\n return { verified, unverified }\n}\n\nexport const verifyRecords = async (\n proofs: Uint8Array,\n did: string,\n signingKey: string,\n): Promise<RecordClaim[]> => {\n const car = await readCarWithRoot(proofs)\n const blockstore = new MemoryBlockstore(car.blocks)\n const commit = await blockstore.readObj(car.root, def.commit)\n if (commit.did !== did) {\n throw new RepoVerificationError(`Invalid repo did: ${commit.did}`)\n }\n const validSig = await util.verifyCommitSig(commit, signingKey)\n if (!validSig) {\n throw new RepoVerificationError(\n `Invalid signature on commit: ${car.root.toString()}`,\n )\n }\n const mst = MST.load(blockstore, commit.data)\n\n const records: RecordClaim[] = []\n const leaves = await mst.reachableLeaves()\n for (const leaf of leaves) {\n const { collection, rkey } = util.parseDataKey(leaf.key)\n const record = await blockstore.attemptReadRecord(leaf.value)\n if (record) {\n records.push({\n collection,\n rkey,\n record,\n })\n }\n }\n return records\n}\n\nexport class RepoVerificationError extends Error {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B","sourcesContent":["export * from './consumer'\nexport * from './provider'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/sync/provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gCAAuC;AACvC,wCAAmC;AACnC,oCAA6C;AAC7C,gCAA4B;AAE5B,oCAA0C;AAC1C,8CAA+B;AAE/B,YAAY;AACZ,gBAAgB;AAET,MAAM,WAAW,GAAG,CACzB,OAAoB,EACpB,SAAc,EACa,EAAE;IAC7B,OAAO,IAAA,oBAAc,EAAC,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AACvE,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB;AAED,KAAK,SAAS,CAAC,CAAC,eAAe,CAAC,OAAoB,EAAE,SAAc;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,WAAG,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,gBAAgB;AAET,MAAM,UAAU,GAAG,CACxB,OAA2B,EAC3B,SAAc,EACd,KAAmB,EACQ,EAAE;IAC7B,OAAO,IAAA,oBAAc,EACnB,SAAS,EACT,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAC/C,CAAA;AACH,CAAC,CAAA;AATY,QAAA,UAAU,cAStB;AAED,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACjC,OAA2B,EAC3B,SAAc,EACd,KAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,WAAG,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5E,CAAA;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,gBAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACpC,CAAC,EAAE,IAAI,gBAAM,EAAE,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAAkB,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/sync/provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gCAAuC;AACvC,wCAAmC;AACnC,oCAA6C;AAC7C,gCAA4B;AAE5B,oCAA0C;AAC1C,8CAA+B;AAE/B,YAAY;AACZ,gBAAgB;AAET,MAAM,WAAW,GAAG,CACzB,OAAoB,EACpB,SAAc,EACa,EAAE;IAC7B,OAAO,IAAA,oBAAc,EAAC,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AACvE,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB;AAED,KAAK,SAAS,CAAC,CAAC,eAAe,CAAC,OAAoB,EAAE,SAAc;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,WAAG,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,gBAAgB;AAET,MAAM,UAAU,GAAG,CACxB,OAA2B,EAC3B,SAAc,EACd,KAAmB,EACQ,EAAE;IAC7B,OAAO,IAAA,oBAAc,EACnB,SAAS,EACT,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAC/C,CAAA;AACH,CAAC,CAAA;AATY,QAAA,UAAU,cAStB;AAED,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACjC,OAA2B,EAC3B,SAAc,EACd,KAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,WAAG,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5E,CAAA;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,gBAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACpC,CAAC,EAAE,IAAI,gBAAM,EAAE,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAAkB,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { writeCarStream } from '../car'\nimport { CidSet } from '../cid-set'\nimport { MissingBlocksError } from '../error'\nimport { MST } from '../mst'\nimport { ReadableBlockstore, RepoStorage } from '../storage'\nimport { RecordPath, def } from '../types'\nimport * as util from '../util'\n\n// Full Repo\n// -------------\n\nexport const getFullRepo = (\n storage: RepoStorage,\n commitCid: CID,\n): AsyncIterable<Uint8Array> => {\n return writeCarStream(commitCid, iterateFullRepo(storage, commitCid))\n}\n\nasync function* iterateFullRepo(storage: RepoStorage, commitCid: CID) {\n const commit = await storage.readObjAndBytes(commitCid, def.commit)\n yield { cid: commitCid, bytes: commit.bytes }\n const mst = MST.load(storage, commit.obj.data)\n for await (const block of mst.carBlockStream()) {\n yield block\n }\n}\n\n// Narrow slices\n// -------------\n\nexport const getRecords = (\n storage: ReadableBlockstore,\n commitCid: CID,\n paths: RecordPath[],\n): AsyncIterable<Uint8Array> => {\n return writeCarStream(\n commitCid,\n iterateRecordBlocks(storage, commitCid, paths),\n )\n}\n\nasync function* iterateRecordBlocks(\n storage: ReadableBlockstore,\n commitCid: CID,\n paths: RecordPath[],\n) {\n const commit = await storage.readObjAndBytes(commitCid, def.commit)\n yield { cid: commitCid, bytes: commit.bytes }\n const mst = MST.load(storage, commit.obj.data)\n const cidsForPaths = await Promise.all(\n paths.map((p) => mst.cidsForPath(util.formatDataKey(p.collection, p.rkey))),\n )\n const allCids = cidsForPaths.reduce((acc, cur) => {\n return acc.addSet(new CidSet(cur))\n }, new CidSet())\n const found = await storage.getBlocks(allCids.toList())\n if (found.missing.length > 0) {\n throw new MissingBlocksError('writeRecordsToCarStream', found.missing)\n }\n for (const block of found.blocks.entries()) {\n yield block\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKlC,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOlB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE7E,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;EAOV,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAA;AAE3C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAOlB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGnB,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAlCG,EACpB,UAAQ,CAAC,EAAE,UACV;eACY,EAAG,SAAS;iBAAmB,EAAG,UAAU;eAAmB,EAAG,QAAQ,CAAC,EAAE,UACtF,CAAE,EAAC,UAAU;gBAEQ,EAAE,UAAU;;;;;;;WAK9B,EAAG,OAAO,0BAEd,EAAG,UAAU;YAGhB,EAAG,SAAS;WAAY,EAAG,QAAQ,CAAC,EAAE,UAEnC;SAAmB,EAAG,SACzB,CAAC,EAAE,SAAS,EAAC,EACb,UAAO;aACP,EAAA,UAAU;CAkBX,CAAA;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUf,CAAA;AAKD,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,CAAA;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,GAAG,CAAA;IACT,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,CAAA;AAExB,MAAM,MAAM,QAAQ,GAAG,mBAAmB,EAAE,EAAE,CAAA;AAK9C,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;IAChB,SAAS,EAAE,QAAQ,CAAA;IACnB,cAAc,EAAE,QAAQ,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,GAAG,EAAE,aAAa,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAC3D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAA;AAC/D,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1B,CAAA;AAKD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA"}
package/dist/types.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.WriteOpAction = exports.def = exports.schema = void 0;
4
5
  const zod_1 = require("zod");
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,4CAAkD;AAClD,oDAAsD;AAKtD,aAAa;AACb,kBAAkB;AAElB,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,6FAA6F;IAC7F,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAGF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IACtB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,eAAM,CAAC,KAAK;CAClB,CAAC,CAAA;AAGF,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,eAAM,CAAC,KAAK;CAClB,CAAC,CAAA;AAGF,MAAM,eAAe,GAAG,OAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACtD,MAAM;IACN,cAAc;CACf,CAAC,CAAA;AAGW,QAAA,MAAM,GAAG;IACpB,GAAG,eAAM;IACT,MAAM;IACN,cAAc;IACd,eAAe;CAChB,CAAA;AAEY,QAAA,GAAG,GAAG;IACjB,GAAG,gBAAS;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,cAAM,CAAC,MAAM;KACtB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,cAAM,CAAC,eAAe;KAC/B;CACF,CAAA;AAED,kBAAkB;AAClB,kBAAkB;AAElB,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAGzC,6BAAuB;AACvB,4CAAkD;AAClD,oDAAsD;AAKtD,aAAa;AACb,kBAAkB;AAElB,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,6FAA6F;IAC7F,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAGF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IACtB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,eAAM,CAAC,KAAK;CAClB,CAAC,CAAA;AAGF,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,eAAM,CAAC,KAAK;CAClB,CAAC,CAAA;AAGF,MAAM,eAAe,GAAG,OAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACtD,MAAM;IACN,cAAc;CACf,CAAC,CAAA;AAGW,QAAA,MAAM,GAAG;IACpB,GAAG,eAAM;IACT,MAAM;IACN,cAAc;IACd,eAAe;CAChB,CAAA;AAEY,QAAA,GAAG,GAAG;IACjB,GAAG,gBAAS;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,cAAM,CAAC,MAAM;KACtB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,cAAM,CAAC,eAAe;KAC/B;CACF,CAAA;AAED,kBAAkB;AAClB,kBAAkB;AAElB,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats'\nimport { z } from 'zod'\nimport { schema as common } from '@atproto/common'\nimport { def as commonDef } from '@atproto/common-web'\nimport { RepoRecord } from '@atproto/lexicon'\nimport { BlockMap } from './block-map'\nimport { CidSet } from './cid-set'\n\n// Repo nodes\n// ---------------\n\nconst unsignedCommit = z.object({\n did: z.string(),\n version: z.literal(3),\n data: common.cid,\n rev: z.string(),\n // `prev` added for backwards compatibility with v2, no requirement of keeping around history\n prev: common.cid.nullable(),\n})\nexport type UnsignedCommit = z.infer<typeof unsignedCommit> & { sig?: never }\n\nconst commit = z.object({\n did: z.string(),\n version: z.literal(3),\n data: common.cid,\n rev: z.string(),\n prev: common.cid.nullable(),\n sig: common.bytes,\n})\nexport type Commit = z.infer<typeof commit>\n\nconst legacyV2Commit = z.object({\n did: z.string(),\n version: z.literal(2),\n data: common.cid,\n rev: z.string().optional(),\n prev: common.cid.nullable(),\n sig: common.bytes,\n})\nexport type LegacyV2Commit = z.infer<typeof legacyV2Commit>\n\nconst versionedCommit = z.discriminatedUnion('version', [\n commit,\n legacyV2Commit,\n])\nexport type VersionedCommit = z.infer<typeof versionedCommit>\n\nexport const schema = {\n ...common,\n commit,\n legacyV2Commit,\n versionedCommit,\n}\n\nexport const def = {\n ...commonDef,\n commit: {\n name: 'commit',\n schema: schema.commit,\n },\n versionedCommit: {\n name: 'versioned_commit',\n schema: schema.versionedCommit,\n },\n}\n\n// Repo Operations\n// ---------------\n\nexport enum WriteOpAction {\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n}\n\nexport type RecordCreateOp = {\n action: WriteOpAction.Create\n collection: string\n rkey: string\n record: RepoRecord\n}\n\nexport type RecordUpdateOp = {\n action: WriteOpAction.Update\n collection: string\n rkey: string\n record: RepoRecord\n}\n\nexport type RecordDeleteOp = {\n action: WriteOpAction.Delete\n collection: string\n rkey: string\n}\n\nexport type RecordWriteOp = RecordCreateOp | RecordUpdateOp | RecordDeleteOp\n\nexport type RecordCreateDescript = {\n action: WriteOpAction.Create\n collection: string\n rkey: string\n cid: CID\n}\n\nexport type RecordUpdateDescript = {\n action: WriteOpAction.Update\n collection: string\n rkey: string\n prev: CID\n cid: CID\n}\n\nexport type RecordDeleteDescript = {\n action: WriteOpAction.Delete\n collection: string\n rkey: string\n cid: CID\n}\n\nexport type RecordWriteDescript =\n | RecordCreateDescript\n | RecordUpdateDescript\n | RecordDeleteDescript\n\nexport type WriteLog = RecordWriteDescript[][]\n\n// Updates/Commits\n// ---------------\n\nexport type CommitData = {\n cid: CID\n rev: string\n since: string | null\n prev: CID | null\n newBlocks: BlockMap\n relevantBlocks: BlockMap\n removedCids: CidSet\n}\n\nexport type RepoUpdate = CommitData & {\n ops: RecordWriteOp[]\n}\n\nexport type CollectionContents = Record<string, RepoRecord>\nexport type RepoContents = Record<string, CollectionContents>\n\nexport type RepoRecordWithCid = { cid: CID; value: RepoRecord }\nexport type CollectionContentsWithCids = Record<string, RepoRecordWithCid>\nexport type RepoContentsWithCids = Record<string, CollectionContentsWithCids>\n\nexport type DatastoreContents = Record<string, CID>\n\nexport type RecordPath = {\n collection: string\n rkey: string\n}\n\nexport type RecordCidClaim = {\n collection: string\n rkey: string\n cid: CID | null\n}\n\nexport type RecordClaim = {\n collection: string\n rkey: string\n record: RepoRecord | null\n}\n\n// Sync\n// ---------------\n\nexport type VerifiedDiff = {\n writes: RecordWriteDescript[]\n commit: CommitData\n}\n\nexport type VerifiedRepo = {\n creates: RecordCreateDescript[]\n commit: CommitData\n}\n\nexport type CarBlock = {\n cid: CID\n bytes: Uint8Array\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EACL,MAAM,EACN,cAAc,EACd,oBAAoB,EAEpB,UAAU,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,KACb,OAAO,CAAC,mBAAmB,EAAE,CA+B/B,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,mBAAmB,EAAE,KAC/B,oBAAoB,EAUtB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,UAI1C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,MAAM,MAAM,KAAG,MAEhE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAEhD,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,UAAU,cAAc,EACxB,SAAS,OAAO,KACf,OAAO,CAAC,MAAM,CAOhB,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAIjB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,UAAU,KAAG,QAE3C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,UAAU,KAAG,UAMjD,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,KAAK,QAAQ,4CAE/C,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,GAAG,MAAM,KAAG,MAUhE,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EACL,MAAM,EACN,cAAc,EACd,oBAAoB,EAEpB,UAAU,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,KACb,OAAO,CAAC,mBAAmB,EAAE,CA+B/B,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,mBAAmB,EAAE,KAC/B,oBAAoB,EAUtB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,UAI1C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,MAAM,MAAM,KAAG,MAEhE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAEhD,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,UAAU,cAAc,EACxB,SAAS,OAAO,KACf,OAAO,CAAC,MAAM,CAOhB,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAIjB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,UAAU,KAAG,QAE3C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,UAAU,KAAG,UAMjD,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,KAAK,QAAQ,4CAE/C,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,GAAG,MAAM,KAAG,MAUhE,CAAA"}
package/dist/util.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,qDAAsC;AACtC,4CAA4E;AAC5E,wDAAyC;AAEzC,8CAA6E;AAE7E,mCAUgB;AAET,MAAM,oBAAoB,GAAG,CAClC,IAAc,EACkB,EAAE;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC;QACjB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClD,OAAO;gBACL,MAAM,EAAE,qBAAa,CAAC,MAAM;gBAC5B,UAAU;gBACV,IAAI;gBACJ,GAAG,EAAE,GAAG,CAAC,GAAG;aACW,CAAA;QAC3B,CAAC,CAAC;QACF,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClD,OAAO;gBACL,MAAM,EAAE,qBAAa,CAAC,MAAM;gBAC5B,UAAU;gBACV,IAAI;gBACJ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;aACS,CAAA;QAC3B,CAAC,CAAC;QACF,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClD,OAAO;gBACL,MAAM,EAAE,qBAAa,CAAC,MAAM;gBAC5B,UAAU;gBACV,IAAI;gBACJ,GAAG,EAAE,GAAG,CAAC,GAAG;aACW,CAAA;QAC3B,CAAC,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA;AAjCY,QAAA,oBAAoB,wBAiChC;AAEM,MAAM,aAAa,GAAG,CAC3B,SAAgC,EACR,EAAE;IAC1B,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,qBAAa,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAZY,QAAA,aAAa,iBAYzB;AAEM,MAAM,YAAY,GAAG,CAAC,GAAW,EAAc,EAAE;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;IACrE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACjD,CAAC,CAAA;AAJY,QAAA,YAAY,gBAIxB;AAEM,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,IAAY,EAAU,EAAE;IACxE,OAAO,UAAU,GAAG,GAAG,GAAG,IAAI,CAAA;AAChC,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;IACzD,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAwB,EACxB,OAAgB,EACC,EAAE;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvC,OAAO;QACL,GAAG,QAAQ;QACX,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAVY,QAAA,UAAU,cAUtB;AAEM,MAAM,eAAe,GAAG,KAAK,EAClC,MAAc,EACd,MAAc,EACI,EAAE;IACpB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B;AAEM,MAAM,SAAS,GAAG,CAAC,GAAe,EAAY,EAAE;IACrD,OAAO,IAAA,mBAAS,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAe,EAAc,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,cAAK,CAAC,EAAE,CAAC,MAAM,EAAE,eAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,GAAa,EAAE,EAAE;IAClD,OAAO,IAAA,mBAAU,EAAC,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,cAAc,GAAG,CAAC,MAA+B,EAAU,EAAE;IACxE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,YAAG,CAAC,OAAO,EAAE;SACjC,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAVY,QAAA,cAAc,kBAU1B","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport * as cbor from '@ipld/dag-cbor'\nimport { TID, cborDecode, check, cidForCbor, schema } from '@atproto/common'\nimport * as crypto from '@atproto/crypto'\nimport { Keypair } from '@atproto/crypto'\nimport { LexValue, RepoRecord, ipldToLex, lexToIpld } from '@atproto/lexicon'\nimport { DataDiff } from './data-diff'\nimport {\n Commit,\n LegacyV2Commit,\n RecordCreateDescript,\n RecordDeleteDescript,\n RecordPath,\n RecordUpdateDescript,\n RecordWriteDescript,\n UnsignedCommit,\n WriteOpAction,\n} from './types'\n\nexport const diffToWriteDescripts = (\n diff: DataDiff,\n): Promise<RecordWriteDescript[]> => {\n return Promise.all([\n ...diff.addList().map(async (add) => {\n const { collection, rkey } = parseDataKey(add.key)\n return {\n action: WriteOpAction.Create,\n collection,\n rkey,\n cid: add.cid,\n } as RecordCreateDescript\n }),\n ...diff.updateList().map(async (upd) => {\n const { collection, rkey } = parseDataKey(upd.key)\n return {\n action: WriteOpAction.Update,\n collection,\n rkey,\n cid: upd.cid,\n prev: upd.prev,\n } as RecordUpdateDescript\n }),\n ...diff.deleteList().map((del) => {\n const { collection, rkey } = parseDataKey(del.key)\n return {\n action: WriteOpAction.Delete,\n collection,\n rkey,\n cid: del.cid,\n } as RecordDeleteDescript\n }),\n ])\n}\n\nexport const ensureCreates = (\n descripts: RecordWriteDescript[],\n): RecordCreateDescript[] => {\n const creates: RecordCreateDescript[] = []\n for (const descript of descripts) {\n if (descript.action !== WriteOpAction.Create) {\n throw new Error(`Unexpected action: ${descript.action}`)\n } else {\n creates.push(descript)\n }\n }\n return creates\n}\n\nexport const parseDataKey = (key: string): RecordPath => {\n const parts = key.split('/')\n if (parts.length !== 2) throw new Error(`Invalid record key: ${key}`)\n return { collection: parts[0], rkey: parts[1] }\n}\n\nexport const formatDataKey = (collection: string, rkey: string): string => {\n return collection + '/' + rkey\n}\n\nexport const metaEqual = (a: Commit, b: Commit): boolean => {\n return a.did === b.did && a.version === b.version\n}\n\nexport const signCommit = async (\n unsigned: UnsignedCommit,\n keypair: Keypair,\n): Promise<Commit> => {\n const encoded = cbor.encode(unsigned)\n const sig = await keypair.sign(encoded)\n return {\n ...unsigned,\n sig,\n }\n}\n\nexport const verifyCommitSig = async (\n commit: Commit,\n didKey: string,\n): Promise<boolean> => {\n const { sig, ...rest } = commit\n const encoded = cbor.encode(rest)\n return crypto.verifySignature(didKey, encoded, sig)\n}\n\nexport const cborToLex = (val: Uint8Array): LexValue => {\n return ipldToLex(cborDecode(val))\n}\n\nexport const cborToLexRecord = (val: Uint8Array): RepoRecord => {\n const parsed = cborToLex(val)\n if (!check.is(parsed, schema.map)) {\n throw new Error('lexicon records be a json object')\n }\n return parsed\n}\n\nexport const cidForRecord = async (val: LexValue) => {\n return cidForCbor(lexToIpld(val))\n}\n\nexport const ensureV3Commit = (commit: LegacyV2Commit | Commit): Commit => {\n if (commit.version === 3) {\n return commit\n } else {\n return {\n ...commit,\n version: 3,\n rev: commit.rev ?? TID.nextStr(),\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/repo",
3
- "version": "0.8.10",
3
+ "version": "0.8.11",
4
4
  "license": "MIT",
5
5
  "description": "atproto repo and MST implementation",
6
6
  "keywords": [
@@ -24,10 +24,10 @@
24
24
  "uint8arrays": "3.0.0",
25
25
  "varint": "^6.0.0",
26
26
  "zod": "^3.23.8",
27
- "@atproto/common": "^0.4.12",
28
- "@atproto/common-web": "^0.4.3",
27
+ "@atproto/common": "^0.5.0",
28
+ "@atproto/common-web": "^0.4.4",
29
29
  "@atproto/crypto": "^0.4.4",
30
- "@atproto/lexicon": "^0.5.1"
30
+ "@atproto/lexicon": "^0.5.2"
31
31
  },
32
32
  "devDependencies": {
33
33
  "jest": "^28.1.2",
package/src/block-map.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import * as uint8arrays from 'uint8arrays'
3
5
  import { dataToCborBlock } from '@atproto/common'
package/src/car.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { setImmediate } from 'node:timers/promises'
2
4
  import * as cbor from '@ipld/dag-cbor'
3
5
  import { CID } from 'multiformats/cid'
package/src/mst/mst.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats'
2
4
  import { z } from 'zod'
3
5
  import { cidForCbor, dataToCborBlock, schema as common } from '@atproto/common'
package/src/mst/util.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats'
2
4
  import * as uint8arrays from 'uint8arrays'
3
5
  import { cidForCbor } from '@atproto/common'
package/src/parse.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import { cborDecode, check } from '@atproto/common'
3
5
  import { RepoRecord } from '@atproto/lexicon'
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import { RepoRecord } from '@atproto/lexicon'
3
5
  import { MissingBlocksError } from './error'
package/src/repo.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import { TID, dataToCborBlock } from '@atproto/common'
3
5
  import * as crypto from '@atproto/crypto'
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import { check } from '@atproto/common'
3
5
  import { RepoRecord } from '@atproto/lexicon'
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import stream from 'node:stream'
2
4
  import { CID } from 'multiformats/cid'
3
5
  import { check } from '@atproto/common'
package/src/types.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats'
2
4
  import { z } from 'zod'
3
5
  import { schema as common } from '@atproto/common'
package/src/util.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import * as cbor from '@ipld/dag-cbor'
2
4
  import { TID, cborDecode, check, cidForCbor, schema } from '@atproto/common'
3
5
  import * as crypto from '@atproto/crypto'
package/tests/_util.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import fs from 'node:fs'
2
4
  import { CID } from 'multiformats'
3
5
  import { TID, dataToCborBlock } from '@atproto/common'
package/tests/car.test.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import * as ui8 from 'uint8arrays'
3
5
  import { dataToCborBlock, streamToBytes, wait } from '@atproto/common'
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { TID, cidForCbor, streamToBuffer } from '@atproto/common'
2
4
  import * as crypto from '@atproto/crypto'
3
5
  import { RecordCidClaim, RecordPath, Repo, RepoContents } from '../src'