@atproto/repo 0.8.9 → 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 (64) hide show
  1. package/CHANGELOG.md +16 -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 +10 -0
  6. package/dist/car.d.ts.map +1 -1
  7. package/dist/car.js +70 -27
  8. package/dist/car.js.map +1 -1
  9. package/dist/cid-set.js.map +1 -1
  10. package/dist/data-diff.js.map +1 -1
  11. package/dist/error.js.map +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/logger.js.map +1 -1
  14. package/dist/mst/diff.js.map +1 -1
  15. package/dist/mst/index.js.map +1 -1
  16. package/dist/mst/mst.d.ts.map +1 -1
  17. package/dist/mst/mst.js +1 -0
  18. package/dist/mst/mst.js.map +1 -1
  19. package/dist/mst/util.d.ts.map +1 -1
  20. package/dist/mst/util.js +1 -0
  21. package/dist/mst/util.js.map +1 -1
  22. package/dist/mst/walker.js.map +1 -1
  23. package/dist/parse.d.ts.map +1 -1
  24. package/dist/parse.js +1 -0
  25. package/dist/parse.js.map +1 -1
  26. package/dist/readable-repo.d.ts.map +1 -1
  27. package/dist/readable-repo.js +1 -0
  28. package/dist/readable-repo.js.map +1 -1
  29. package/dist/repo.d.ts.map +1 -1
  30. package/dist/repo.js +1 -0
  31. package/dist/repo.js.map +1 -1
  32. package/dist/storage/index.js.map +1 -1
  33. package/dist/storage/memory-blockstore.js.map +1 -1
  34. package/dist/storage/readable-blockstore.d.ts.map +1 -1
  35. package/dist/storage/readable-blockstore.js +1 -0
  36. package/dist/storage/readable-blockstore.js.map +1 -1
  37. package/dist/storage/sync-storage.js.map +1 -1
  38. package/dist/storage/types.d.ts.map +1 -1
  39. package/dist/storage/types.js +1 -0
  40. package/dist/storage/types.js.map +1 -1
  41. package/dist/sync/consumer.js.map +1 -1
  42. package/dist/sync/index.js.map +1 -1
  43. package/dist/sync/provider.js.map +1 -1
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +1 -0
  46. package/dist/types.js.map +1 -1
  47. package/dist/util.d.ts.map +1 -1
  48. package/dist/util.js +1 -0
  49. package/dist/util.js.map +1 -1
  50. package/package.json +4 -4
  51. package/src/block-map.ts +2 -0
  52. package/src/car.ts +72 -28
  53. package/src/mst/mst.ts +2 -0
  54. package/src/mst/util.ts +2 -0
  55. package/src/parse.ts +2 -0
  56. package/src/readable-repo.ts +2 -0
  57. package/src/repo.ts +2 -0
  58. package/src/storage/readable-blockstore.ts +2 -0
  59. package/src/storage/types.ts +2 -0
  60. package/src/types.ts +2 -0
  61. package/src/util.ts +2 -0
  62. package/tests/_util.ts +2 -0
  63. package/tests/car.test.ts +2 -0
  64. package/tests/proofs.test.ts +2 -0
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","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.9",
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,6 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
3
+ import { setImmediate } from 'node:timers/promises'
1
4
  import * as cbor from '@ipld/dag-cbor'
2
5
  import { CID } from 'multiformats/cid'
3
6
  import * as ui8 from 'uint8arrays'
@@ -65,7 +68,7 @@ export const readCar = async (
65
68
  bytes: Uint8Array,
66
69
  opts?: ReadCarOptions,
67
70
  ): Promise<{ roots: CID[]; blocks: BlockMap }> => {
68
- const { roots, blocks } = await readCarStream([bytes], opts)
71
+ const { roots, blocks } = await readCarReader(new Ui8Reader(bytes), opts)
69
72
  const blockMap = new BlockMap()
70
73
  for await (const block of blocks) {
71
74
  blockMap.set(block.cid, block.bytes)
@@ -98,9 +101,18 @@ export const readCarStream = async (
98
101
  roots: CID[]
99
102
  blocks: CarBlockIterable
100
103
  }> => {
101
- const reader = new BufferedReader(car)
104
+ return readCarReader(new BufferedReader(car), opts)
105
+ }
106
+
107
+ export const readCarReader = async (
108
+ reader: BytesReader,
109
+ opts?: ReadCarOptions,
110
+ ): Promise<{
111
+ roots: CID[]
112
+ blocks: CarBlockIterable
113
+ }> => {
102
114
  try {
103
- const headerSize = await reader.readVarint()
115
+ const headerSize = await readVarint(reader)
104
116
  if (headerSize === null) {
105
117
  throw new Error('Could not parse CAR header')
106
118
  }
@@ -120,7 +132,7 @@ export const readCarStream = async (
120
132
  }
121
133
 
122
134
  const readCarBlocksIter = (
123
- reader: BufferedReader,
135
+ reader: BytesReader,
124
136
  opts?: ReadCarOptions,
125
137
  ): CarBlockIterable => {
126
138
  let generator = readCarBlocksIterGenerator(reader)
@@ -143,11 +155,12 @@ const readCarBlocksIter = (
143
155
  }
144
156
 
145
157
  async function* readCarBlocksIterGenerator(
146
- reader: BufferedReader,
158
+ reader: BytesReader,
147
159
  ): AsyncGenerator<CarBlock, void, unknown> {
160
+ let blocks = 0
148
161
  try {
149
162
  while (!reader.isDone) {
150
- const blockSize = await reader.readVarint()
163
+ const blockSize = await readVarint(reader)
151
164
  if (blockSize === null) {
152
165
  break
153
166
  }
@@ -155,6 +168,13 @@ async function* readCarBlocksIterGenerator(
155
168
  const cid = parseCidFromBytes(blockBytes.subarray(0, 36))
156
169
  const bytes = blockBytes.subarray(36)
157
170
  yield { cid, bytes }
171
+
172
+ // yield to the event loop every 25 blocks
173
+ // in the case the incoming CAR is synchronous, this can end up jamming up the thread
174
+ blocks++
175
+ if (blocks % 25 === 0) {
176
+ await setImmediate()
177
+ }
158
178
  }
159
179
  } finally {
160
180
  await reader.close()
@@ -170,7 +190,52 @@ export async function* verifyIncomingCarBlocks(
170
190
  }
171
191
  }
172
192
 
173
- class BufferedReader {
193
+ const readVarint = async (reader: BytesReader): Promise<number | null> => {
194
+ let done = false
195
+ const bytes: Uint8Array[] = []
196
+ while (!done) {
197
+ const byte = await reader.read(1)
198
+ if (byte.byteLength === 0) {
199
+ if (bytes.length > 0) {
200
+ throw new Error('could not parse varint')
201
+ } else {
202
+ return null
203
+ }
204
+ }
205
+ bytes.push(byte)
206
+ if (byte[0] < 128) {
207
+ done = true
208
+ }
209
+ }
210
+ const concatted = ui8.concat(bytes)
211
+ return varint.decode(concatted)
212
+ }
213
+
214
+ interface BytesReader {
215
+ isDone: boolean
216
+ read(bytesToRead: number): Promise<Uint8Array>
217
+ close(): Promise<void>
218
+ }
219
+
220
+ class Ui8Reader implements BytesReader {
221
+ idx = 0
222
+ isDone = false
223
+
224
+ constructor(public bytes: Uint8Array) {}
225
+
226
+ async read(bytesToRead: number): Promise<Uint8Array> {
227
+ const value = this.bytes.subarray(this.idx, this.idx + bytesToRead)
228
+ this.idx += bytesToRead
229
+ if (this.idx >= this.bytes.length) {
230
+ this.isDone = true
231
+ }
232
+ return value
233
+ }
234
+
235
+ async close(): Promise<void> {}
236
+ }
237
+
238
+ class BufferedReader implements BytesReader {
174
239
  buffer: Uint8Array = new Uint8Array()
175
240
  iterator: Iterator<Uint8Array> | AsyncIterator<Uint8Array>
176
241
  isDone = false
@@ -189,27 +254,6 @@ class BufferedReader {
189
254
  return value
190
255
  }
191
256
 
192
- async readVarint(): Promise<number | null> {
193
- let done = false
194
- const bytes: Uint8Array[] = []
195
- while (!done) {
196
- const byte = await this.read(1)
197
- if (byte.byteLength === 0) {
198
- if (bytes.length > 0) {
199
- throw new Error('could not parse varint')
200
- } else {
201
- return null
202
- }
203
- }
204
- bytes.push(byte)
205
- if (byte[0] < 128) {
206
- done = true
207
- }
208
- }
209
- const concatted = ui8.concat(bytes)
210
- return varint.decode(concatted)
211
- }
212
-
213
257
  private async readUntilBuffered(bytesToRead: number) {
214
258
  if (this.isDone) {
215
259
  return
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'