@atcute/repo 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,13 +7,25 @@ npm install @atcute/repo
7
7
  ```
8
8
 
9
9
  AT Protocol stores user data in repositories - Merkle tree structures containing records organized
10
- by collection. this package reads repository CAR exports (from `com.atproto.sync.getRepo` or
11
- account exports) and iterates over the records.
10
+ by collection. this package reads repository CAR exports (from `com.atproto.sync.getRepo` or account
11
+ exports) and iterates over the records.
12
12
 
13
13
  ## usage
14
14
 
15
15
  ### streaming usage
16
16
 
17
+ > [!NOTE]
18
+ > PDS implementations, including the reference PDS, may not emit blocks in the efficient order
19
+ > specified by [Sync v1.1][sync-1.1]. the streaming reader compensates by buffering internally, so
20
+ > memory usage may be higher than expected.
21
+ >
22
+ > streaming may still be useful when responsiveness matters, such as web apps that want to display
23
+ > records as they arrive rather than waiting for the entire CAR to load.
24
+ >
25
+ > this library intends to enforce efficient block ordering once Sync v1.1 is finalized.
26
+
27
+ [sync-1.1]: https://github.com/bluesky-social/proposals/blob/main/0006-sync-iteration/README.md
28
+
17
29
  ```ts
18
30
  import { fromStream } from '@atcute/repo';
19
31
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { isCommit } from './types.js';
2
- export type { Commit, RepoEntry } from './types.js';
3
- export * from './reader.js';
4
- export * from './streamed-reader.js';
5
- export * from './verify.js';
1
+ export { isCommit } from './types.ts';
2
+ export type { Commit, RepoEntry } from './types.ts';
3
+ export * from './reader.ts';
4
+ export * from './streamed-reader.ts';
5
+ export * from './verify.ts';
6
6
  //# sourceMappingURL=index.d.ts.map
package/dist/reader.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { RepoEntry } from './types.js';
1
+ import { RepoEntry } from './types.ts';
2
2
  export declare function fromUint8Array(buf: Uint8Array): Generator<RepoEntry>;
3
3
  //# sourceMappingURL=reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAYjD,wBAAiB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAwBrE"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAajD,wBAAiB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAwBrE"}
package/dist/reader.js CHANGED
@@ -5,6 +5,7 @@ import { isNodeData } from '@atcute/mst';
5
5
  import { decodeUtf8From } from '@atcute/uint8array';
6
6
  import { isCommit, RepoEntry } from './types.js';
7
7
  import { assert } from './utils.js';
8
+ import { parseMstKey } from './utils/mst.js';
8
9
  export function* fromUint8Array(buf) {
9
10
  const car = CAR.fromUint8Array(buf);
10
11
  const roots = car.roots;
@@ -17,7 +18,7 @@ export function* fromUint8Array(buf) {
17
18
  assert(map.size >= 2, `expected at least 2 blocks in the archive; got=${map.size}`);
18
19
  const commit = readEntry(map, roots[0], isCommit);
19
20
  for (const { key, cid } of walkMstEntries(map, commit.data)) {
20
- const [collection, rkey] = key.split('/');
21
+ const { collection, rkey } = parseMstKey(key);
21
22
  const carEntry = map.get(cid.$link);
22
23
  assert(carEntry != null, `cid not found in blockmap; cid=${cid}`);
23
24
  yield new RepoEntry(collection, rkey, cid, carEntry);
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAWpC,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAe,EAAwB;IACtE,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAExB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,gDAAgD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3F,MAAM,GAAG,GAAa,IAAI,GAAG,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,kDAAkD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;AAAA,CACD;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,GAAa,EAAE,IAAa,EAAE,QAAwC,EAAK,EAAE,CAAC;IAC1G,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAE3D,OAAO,IAAI,CAAC;AAAA,CACZ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAa,EAAE,OAAgB,EAAwB;IACtF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAEhD,OAAO,GAAG,GAAG,CAAC;QAEd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAEjC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;AAAA,CACD"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAe,EAAwB;IACtE,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAExB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,gDAAgD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3F,MAAM,GAAG,GAAa,IAAI,GAAG,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,kDAAkD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAElD,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;AAAA,CACD;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,GAAa,EAAE,IAAa,EAAE,QAAwC,EAAK,EAAE,CAAC;IAC1G,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAEvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAE3D,OAAO,IAAI,CAAC;AAAA,CACZ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,GAAa,EAAE,OAAgB,EAAwB;IACtF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAEhD,OAAO,GAAG,GAAG,CAAC;QAEd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAEjC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;AAAA,CACD"}
@@ -1,4 +1,4 @@
1
- import { RepoEntry } from './types.js';
1
+ import { RepoEntry } from './types.ts';
2
2
  export type MissingBlockEntry = {
3
3
  cid: string;
4
4
  type: 'record';
@@ -1 +1 @@
1
- {"version":3,"file":"streamed-reader.d.ts","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAYjD,MAAM,MAAM,iBAAiB,GAC1B;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACX,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAChB,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CACd,CAAC;AAEL,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,kBAAkB,oEA6B9B,CAAC;AAEF,eAAO,MAAM,UAAU,6EAiItB,CAAC"}
1
+ {"version":3,"file":"streamed-reader.d.ts","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAajD,MAAM,MAAM,iBAAiB,GAC1B;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACX,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAChB,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CACd,CAAC;AAEL,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,kBAAkB,oEA6B9B,CAAC;AAEF,eAAO,MAAM,UAAU,6EAiItB,CAAC"}
@@ -5,6 +5,7 @@ import { isNodeData } from '@atcute/mst';
5
5
  import { decodeUtf8From } from '@atcute/uint8array';
6
6
  import { isCommit, RepoEntry } from './types.js';
7
7
  import { assert } from './utils.js';
8
+ import { parseMstKey } from './utils/mst.js';
8
9
  import Queue from './utils/queue.js';
9
10
  export const repoEntryTransform = () => {
10
11
  const transform = new TransformStream();
@@ -113,7 +114,7 @@ export const fromStream = (stream) => {
113
114
  break;
114
115
  }
115
116
  case 2: {
116
- const [collection, rkey] = meta.k.split('/');
117
+ const { collection, rkey } = parseMstKey(meta.k);
117
118
  yield new RepoEntry(collection, rkey, CID.toCidLink(entry.cid), entry);
118
119
  break;
119
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamed-reader.js","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamed-reader.js","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -25,8 +25,9 @@ export interface Commit {
25
25
  did: string;
26
26
  data: CidLink;
27
27
  rev: string;
28
- prev: CidLink | null;
29
28
  sig: Bytes;
29
+ /** backwards compatibility with v2, history bookkeeping is not required */
30
+ prev: CidLink | null;
30
31
  }
31
32
  /**
32
33
  * checks if value is a valid commit object
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtD,qBAAa,SAAS;IAGpB,4CAA4C;aAC5B,UAAU,EAAE,MAAM;IAClC,iBAAiB;aACD,IAAI,EAAE,MAAM;IAC5B,yBAAyB;aACT,GAAG,EAAE,OAAO;IAC5B,8CAA8C;aAC9B,QAAQ,EAAE,QAAQ;IAGnC;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;CACD;AAED,oBAAoB;AACpB,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,qCAepB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtD,qBAAa,SAAS;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iBAAiB;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAU5B;;OAEG;IACH,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;CACD;AAED,oBAAoB;AACpB,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,KAAK,CAAC;IACX,2EAA2E;IAC3E,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,qCAepB,CAAC"}
package/dist/types.js CHANGED
@@ -2,20 +2,16 @@ import * as CBOR from '@atcute/cbor';
2
2
  import { isBytes } from '@atcute/cbor';
3
3
  import { isCidLink } from '@atcute/cid';
4
4
  export class RepoEntry {
5
+ /** the collection this record belongs to */
5
6
  collection;
7
+ /** record key */
6
8
  rkey;
9
+ /** CID of this record */
7
10
  cid;
11
+ /** the associated CarEntry for this record */
8
12
  carEntry;
9
13
  /** @internal */
10
- constructor(
11
- /** the collection this record belongs to */
12
- collection,
13
- /** record key */
14
- rkey,
15
- /** CID of this record */
16
- cid,
17
- /** the associated CarEntry for this record */
18
- carEntry) {
14
+ constructor(collection, rkey, cid, carEntry) {
19
15
  this.collection = collection;
20
16
  this.rkey = rkey;
21
17
  this.cid = cid;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAc,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAEtD,MAAM,OAAO,SAAS;IAIJ,UAAU;IAEV,IAAI;IAEJ,GAAG;IAEH,QAAQ;IATzB,gBAAgB;IAChB;IACC,4CAA4C;IAC5B,UAAkB;IAClC,iBAAiB;IACD,IAAY;IAC5B,yBAAyB;IACT,GAAY;IAC5B,8CAA8C;IAC9B,QAAkB,EACjC;0BAPe,UAAU;oBAEV,IAAI;mBAEJ,GAAG;wBAEH,QAAQ;IACtB,CAAC;IAEJ;;OAEG;IACH,IAAI,KAAK,GAAe;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAAA,CAC3B;IAED;;OAEG;IACH,IAAI,MAAM,GAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAA,CAC/B;CACD;AAYD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,GAAG,CAAC,OAAO,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAChB,CAAC;AAAA,CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAc,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAEtD,MAAM,OAAO,SAAS;IACrB,4CAA4C;IACnC,UAAU,CAAS;IAC5B,iBAAiB;IACR,IAAI,CAAS;IACtB,yBAAyB;IAChB,GAAG,CAAU;IACtB,8CAA8C;IACrC,QAAQ,CAAW;IAE5B,gBAAgB;IAChB,YAAY,UAAkB,EAAE,IAAY,EAAE,GAAY,EAAE,QAAkB,EAAE;QAC/E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAAA,CACzB;IAED;;OAEG;IACH,IAAI,KAAK,GAAe;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAAA,CAC3B;IAED;;OAEG;IACH,IAAI,MAAM,GAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAA,CAC/B;CACD;AAaD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,GAAG,CAAC,OAAO,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAChB,CAAC;AAAA,CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const parseMstKey: (key: string) => {
2
+ collection: string;
3
+ rkey: string;
4
+ };
5
+ //# sourceMappingURL=mst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mst.d.ts","sourceRoot":"","sources":["../../lib/utils/mst.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;CAKvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { assert } from '../utils.js';
2
+ export const parseMstKey = (key) => {
3
+ const slash = key.indexOf('/');
4
+ assert(slash !== -1, `invalid mst key; key=${key}`);
5
+ return { collection: key.slice(0, slash), rkey: key.slice(slash + 1) };
6
+ };
7
+ //# sourceMappingURL=mst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mst.js","sourceRoot":"","sources":["../../lib/utils/mst.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAwC,EAAE,CAAC;IACjF,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAEpD,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAAA,CACvE,CAAC"}
package/lib/index.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { isCommit } from './types.js';
2
- export type { Commit, RepoEntry } from './types.js';
1
+ export { isCommit } from './types.ts';
2
+ export type { Commit, RepoEntry } from './types.ts';
3
3
 
4
- export * from './reader.js';
5
- export * from './streamed-reader.js';
6
- export * from './verify.js';
4
+ export * from './reader.ts';
5
+ export * from './streamed-reader.ts';
6
+ export * from './verify.ts';
package/lib/reader.ts CHANGED
@@ -6,8 +6,9 @@ import * as CID from '@atcute/cid';
6
6
  import { isNodeData } from '@atcute/mst';
7
7
  import { decodeUtf8From } from '@atcute/uint8array';
8
8
 
9
- import { isCommit, RepoEntry } from './types.js';
10
- import { assert } from './utils.js';
9
+ import { isCommit, RepoEntry } from './types.ts';
10
+ import { assert } from './utils.ts';
11
+ import { parseMstKey } from './utils/mst.ts';
11
12
 
12
13
  /** @internal */
13
14
  type EntryMap = Map<string, CarEntry>;
@@ -35,7 +36,7 @@ export function* fromUint8Array(buf: Uint8Array): Generator<RepoEntry> {
35
36
  const commit = readEntry(map, roots[0], isCommit);
36
37
 
37
38
  for (const { key, cid } of walkMstEntries(map, commit.data)) {
38
- const [collection, rkey] = key.split('/');
39
+ const { collection, rkey } = parseMstKey(key);
39
40
 
40
41
  const carEntry = map.get(cid.$link);
41
42
  assert(carEntry != null, `cid not found in blockmap; cid=${cid}`);
@@ -5,9 +5,10 @@ import * as CID from '@atcute/cid';
5
5
  import { isNodeData } from '@atcute/mst';
6
6
  import { decodeUtf8From } from '@atcute/uint8array';
7
7
 
8
- import { isCommit, RepoEntry } from './types.js';
9
- import { assert } from './utils.js';
10
- import Queue from './utils/queue.js';
8
+ import { isCommit, RepoEntry } from './types.ts';
9
+ import { assert } from './utils.ts';
10
+ import { parseMstKey } from './utils/mst.ts';
11
+ import Queue from './utils/queue.ts';
11
12
 
12
13
  type EntryMeta = { t: 0 } | { t: 1 } | { t: 2; k: string };
13
14
 
@@ -178,7 +179,7 @@ export const fromStream = (stream: ReadableStream<Uint8Array>): StreamedRepoRead
178
179
  break;
179
180
  }
180
181
  case 2: {
181
- const [collection, rkey] = meta.k.split('/');
182
+ const { collection, rkey } = parseMstKey(meta.k);
182
183
 
183
184
  yield new RepoEntry(collection, rkey, CID.toCidLink(entry.cid), entry);
184
185
  break;
package/lib/types.ts CHANGED
@@ -4,17 +4,22 @@ import { isBytes, type Bytes } from '@atcute/cbor';
4
4
  import { isCidLink, type CidLink } from '@atcute/cid';
5
5
 
6
6
  export class RepoEntry {
7
+ /** the collection this record belongs to */
8
+ readonly collection: string;
9
+ /** record key */
10
+ readonly rkey: string;
11
+ /** CID of this record */
12
+ readonly cid: CidLink;
13
+ /** the associated CarEntry for this record */
14
+ readonly carEntry: CarEntry;
15
+
7
16
  /** @internal */
8
- constructor(
9
- /** the collection this record belongs to */
10
- public readonly collection: string,
11
- /** record key */
12
- public readonly rkey: string,
13
- /** CID of this record */
14
- public readonly cid: CidLink,
15
- /** the associated CarEntry for this record */
16
- public readonly carEntry: CarEntry,
17
- ) {}
17
+ constructor(collection: string, rkey: string, cid: CidLink, carEntry: CarEntry) {
18
+ this.collection = collection;
19
+ this.rkey = rkey;
20
+ this.cid = cid;
21
+ this.carEntry = carEntry;
22
+ }
18
23
 
19
24
  /**
20
25
  * raw contents of this record
@@ -37,8 +42,9 @@ export interface Commit {
37
42
  did: string;
38
43
  data: CidLink;
39
44
  rev: string;
40
- prev: CidLink | null;
41
45
  sig: Bytes;
46
+ /** backwards compatibility with v2, history bookkeeping is not required */
47
+ prev: CidLink | null;
42
48
  }
43
49
 
44
50
  /**
@@ -0,0 +1,8 @@
1
+ import { assert } from '../utils.ts';
2
+
3
+ export const parseMstKey = (key: string): { collection: string; rkey: string } => {
4
+ const slash = key.indexOf('/');
5
+ assert(slash !== -1, `invalid mst key; key=${key}`);
6
+
7
+ return { collection: key.slice(0, slash), rkey: key.slice(slash + 1) };
8
+ };
package/lib/verify.ts CHANGED
@@ -6,7 +6,7 @@ import type { AtprotoDid } from '@atcute/lexicons/syntax';
6
6
  import { isNodeData, type NodeData } from '@atcute/mst';
7
7
  import { decodeUtf8From, encodeUtf8, toSha256 } from '@atcute/uint8array';
8
8
 
9
- import { isCommit, type Commit } from './types.js';
9
+ import { isCommit, type Commit } from './types.ts';
10
10
 
11
11
  type BlockMap = Map<string, Uint8Array>;
12
12
 
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
- "type": "module",
3
2
  "name": "@atcute/repo",
4
- "version": "0.1.1",
3
+ "version": "0.1.3",
5
4
  "description": "AT Protocol repository decoder for AT Protocol.",
6
5
  "keywords": [
7
6
  "atproto",
@@ -12,32 +11,33 @@
12
11
  "url": "https://github.com/mary-ext/atcute",
13
12
  "directory": "packages/utilities/repo"
14
13
  },
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
14
  "files": [
19
15
  "dist/",
20
16
  "lib/",
21
17
  "!lib/**/*.bench.ts",
22
18
  "!lib/**/*.test.ts"
23
19
  ],
20
+ "type": "module",
21
+ "sideEffects": false,
24
22
  "exports": {
25
23
  ".": "./dist/index.js"
26
24
  },
27
- "sideEffects": false,
28
- "devDependencies": {
29
- "@vitest/coverage-v8": "^4.0.16",
30
- "vitest": "^4.0.16",
31
- "@atcute/multibase": "^1.1.6"
25
+ "publishConfig": {
26
+ "access": "public"
32
27
  },
33
28
  "dependencies": {
34
- "@atcute/car": "^5.0.0",
35
- "@atcute/cbor": "^2.2.8",
36
- "@atcute/cid": "^2.2.6",
37
- "@atcute/crypto": "^2.3.0",
38
- "@atcute/lexicons": "^1.2.5",
39
- "@atcute/mst": "^0.1.0",
40
- "@atcute/uint8array": "^1.0.6"
29
+ "@atcute/cid": "^2.4.1",
30
+ "@atcute/car": "^5.1.1",
31
+ "@atcute/cbor": "^2.3.2",
32
+ "@atcute/crypto": "^2.4.0",
33
+ "@atcute/lexicons": "^1.2.9",
34
+ "@atcute/mst": "^1.0.0",
35
+ "@atcute/uint8array": "^1.1.1"
36
+ },
37
+ "devDependencies": {
38
+ "@vitest/coverage-v8": "^4.0.18",
39
+ "vitest": "^4.0.18",
40
+ "@atcute/multibase": "^1.1.8"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "tsgo --project tsconfig.build.json",