@vibes.diy/api-pkg 2.2.5 → 2.2.7

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.
@@ -1,5 +1,5 @@
1
1
  import { Result, Option, URI, PeerStream, Peer } from "@adviser/cement";
2
- import { VibesAssetStorage, FetchResult } from "@vibes.diy/api-types";
2
+ import type { StorageProgressFn, VibesAssetStorage, FetchResult } from "@vibes.diy/api-types";
3
3
  import { sha256 } from "@noble/hashes/sha2.js";
4
4
  export interface CalcCidResult {
5
5
  cid: string;
@@ -23,8 +23,15 @@ export declare class Cider {
23
23
  constructor(inStream: ReadableStream<Uint8Array>);
24
24
  readonly getCID: () => Promise<CalcCidResult>;
25
25
  }
26
+ export interface PeerFactoryOptions {
27
+ readonly onProgress?: StorageProgressFn;
28
+ }
26
29
  export interface StoragePeer {
27
30
  fetch: PeerFetch;
28
- factory: (cider: Cider) => PeerWithCommit;
31
+ factory: (cider: Cider, opts?: PeerFactoryOptions) => PeerWithCommit;
32
+ }
33
+ export interface EnsureStorageOptions {
34
+ readonly peerTimeout?: number;
29
35
  }
30
36
  export declare function ensureStorage(...peers: StoragePeer[]): VibesAssetStorage;
37
+ export declare function ensureStorage(opts: EnsureStorageOptions, ...peers: StoragePeer[]): VibesAssetStorage;
package/ensure-storage.js CHANGED
@@ -22,7 +22,12 @@ export class Cider {
22
22
  });
23
23
  });
24
24
  }
25
- export function ensureStorage(...peers) {
25
+ const DEFAULT_PEER_TIMEOUT_MS = 5000;
26
+ export function ensureStorage(...args) {
27
+ const [first, ...rest] = args;
28
+ const opts = first && !("fetch" in first) ? first : {};
29
+ const peers = first && !("fetch" in first) ? rest : args;
30
+ const peerTimeout = opts.peerTimeout ?? DEFAULT_PEER_TIMEOUT_MS;
26
31
  return {
27
32
  fetch: async (iurl) => {
28
33
  const url = URI.from(iurl);
@@ -37,11 +42,19 @@ export function ensureStorage(...peers) {
37
42
  url: url.toString(),
38
43
  };
39
44
  },
40
- ensure: async (...items) => {
45
+ ensure: (async (...args) => {
46
+ const [firstArg, ...restArgs] = args;
47
+ const isStream = (v) => !!v && typeof v.getReader === "function";
48
+ const firstIsOpts = firstArg !== undefined && !isStream(firstArg);
49
+ const callOpts = firstIsOpts ? firstArg : {};
50
+ const items = firstIsOpts
51
+ ? restArgs
52
+ : args;
53
+ const factoryOpts = { onProgress: callOpts.onProgress };
41
54
  const tees = await Promise.allSettled(items.map((item) => {
42
55
  const [lag1, lag2] = coerceStreamUint8(item).tee();
43
56
  const cider = new Cider(lag1);
44
- return teeWriter(peers.map((i) => i.factory(cider)), lag2).then(async (rTee) => {
57
+ return teeWriter(peers.map((i) => i.factory(cider, factoryOpts)), lag2, { peerTimeout }).then(async (rTee) => {
45
58
  if (rTee.isErr()) {
46
59
  return Result.Err(rTee);
47
60
  }
@@ -76,7 +89,7 @@ export function ensureStorage(...peers) {
76
89
  size,
77
90
  });
78
91
  });
79
- },
92
+ }),
80
93
  };
81
94
  }
82
95
  //# sourceMappingURL=ensure-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-storage.js","sourceRoot":"","sources":["../jsr/ensure-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-storage.js","sourceRoot":"","sources":["../jsr/ensure-storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-pkg",
3
- "version": "2.2.5",
3
+ "version": "2.2.7",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -16,7 +16,7 @@
16
16
  "@fireproof/core-types-protocols-cloud": "~0.24.19",
17
17
  "@fireproof/core-types-protocols-dashboard": "~0.24.19",
18
18
  "@noble/hashes": "~2.0.1",
19
- "@vibes.diy/api-types": "2.2.5",
19
+ "@vibes.diy/api-types": "2.2.7",
20
20
  "acorn": "~8.16.0",
21
21
  "arktype": "~2.2.0",
22
22
  "multiformats": "~13.4.2",