@interop/was-react 0.20.0 → 0.21.0

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 (104) hide show
  1. package/README.md +8 -2
  2. package/dist/dev/provisionDevGrants.js +1 -1
  3. package/dist/dev/provisionDevGrants.js.map +1 -1
  4. package/dist/index.d.ts +2 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +9 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/session/authStore.d.ts.map +1 -1
  9. package/dist/session/authStore.js +48 -11
  10. package/dist/session/authStore.js.map +1 -1
  11. package/dist/storage/adopt.d.ts.map +1 -1
  12. package/dist/storage/adopt.js +2 -1
  13. package/dist/storage/adopt.js.map +1 -1
  14. package/dist/storage/descriptorManager.d.ts +1 -0
  15. package/dist/storage/descriptorManager.d.ts.map +1 -1
  16. package/dist/storage/descriptorManager.js +39 -21
  17. package/dist/storage/descriptorManager.js.map +1 -1
  18. package/dist/{sync → storage}/docCipher.d.ts +3 -29
  19. package/dist/storage/docCipher.d.ts.map +1 -0
  20. package/dist/{sync → storage}/docCipher.js +0 -20
  21. package/dist/storage/docCipher.js.map +1 -0
  22. package/dist/storage/entityStore.d.ts.map +1 -1
  23. package/dist/storage/entityStore.js +2 -1
  24. package/dist/storage/entityStore.js.map +1 -1
  25. package/dist/storage/localStore.d.ts +1 -1
  26. package/dist/storage/localStore.d.ts.map +1 -1
  27. package/dist/storage/localStore.js +14 -2
  28. package/dist/storage/localStore.js.map +1 -1
  29. package/dist/storage/sharedCollectionReader.d.ts +1 -1
  30. package/dist/storage/sharedCollectionReader.d.ts.map +1 -1
  31. package/dist/storage/sharedCollectionReader.js +1 -1
  32. package/dist/storage/sharedCollectionReader.js.map +1 -1
  33. package/dist/storage/storageContext.d.ts +7 -5
  34. package/dist/storage/storageContext.d.ts.map +1 -1
  35. package/dist/storage/storageContext.js +8 -4
  36. package/dist/storage/storageContext.js.map +1 -1
  37. package/dist/storage/storageManager.d.ts +7 -3
  38. package/dist/storage/storageManager.d.ts.map +1 -1
  39. package/dist/storage/storageManager.js +6 -2
  40. package/dist/storage/storageManager.js.map +1 -1
  41. package/dist/storage/syncController.d.ts +30 -19
  42. package/dist/storage/syncController.d.ts.map +1 -1
  43. package/dist/storage/syncController.js +84 -157
  44. package/dist/storage/syncController.js.map +1 -1
  45. package/dist/storage/syncStatusStore.d.ts +8 -7
  46. package/dist/storage/syncStatusStore.d.ts.map +1 -1
  47. package/dist/storage/syncStatusStore.js.map +1 -1
  48. package/dist/storage/wasRemoteStore.d.ts +24 -10
  49. package/dist/storage/wasRemoteStore.d.ts.map +1 -1
  50. package/dist/storage/wasRemoteStore.js +92 -37
  51. package/dist/storage/wasRemoteStore.js.map +1 -1
  52. package/dist/storage/wasSync.d.ts +25 -10
  53. package/dist/storage/wasSync.d.ts.map +1 -1
  54. package/dist/storage/wasSync.js +53 -22
  55. package/dist/storage/wasSync.js.map +1 -1
  56. package/dist/{sync → storage}/wasSyncPort.d.ts +14 -8
  57. package/dist/storage/wasSyncPort.d.ts.map +1 -0
  58. package/dist/storage/wasSyncPort.js.map +1 -0
  59. package/dist/storage/writerId.d.ts +7 -13
  60. package/dist/storage/writerId.d.ts.map +1 -1
  61. package/dist/storage/writerId.js +30 -46
  62. package/dist/storage/writerId.js.map +1 -1
  63. package/package.json +13 -10
  64. package/dist/sync/changesQuery.d.ts +0 -44
  65. package/dist/sync/changesQuery.d.ts.map +0 -1
  66. package/dist/sync/changesQuery.js +0 -54
  67. package/dist/sync/changesQuery.js.map +0 -1
  68. package/dist/sync/docCipher.d.ts.map +0 -1
  69. package/dist/sync/docCipher.js.map +0 -1
  70. package/dist/sync/feedMasterPort.d.ts +0 -38
  71. package/dist/sync/feedMasterPort.d.ts.map +0 -1
  72. package/dist/sync/feedMasterPort.js +0 -116
  73. package/dist/sync/feedMasterPort.js.map +0 -1
  74. package/dist/sync/index.d.ts +0 -23
  75. package/dist/sync/index.d.ts.map +0 -1
  76. package/dist/sync/index.js +0 -27
  77. package/dist/sync/index.js.map +0 -1
  78. package/dist/sync/lww.d.ts +0 -50
  79. package/dist/sync/lww.d.ts.map +0 -1
  80. package/dist/sync/lww.js +0 -69
  81. package/dist/sync/lww.js.map +0 -1
  82. package/dist/sync/lwwConflictHandler.d.ts +0 -83
  83. package/dist/sync/lwwConflictHandler.d.ts.map +0 -1
  84. package/dist/sync/lwwConflictHandler.js +0 -114
  85. package/dist/sync/lwwConflictHandler.js.map +0 -1
  86. package/dist/sync/pushWrites.d.ts +0 -76
  87. package/dist/sync/pushWrites.d.ts.map +0 -1
  88. package/dist/sync/pushWrites.js +0 -221
  89. package/dist/sync/pushWrites.js.map +0 -1
  90. package/dist/sync/syncedDocSchema.d.ts +0 -22
  91. package/dist/sync/syncedDocSchema.d.ts.map +0 -1
  92. package/dist/sync/syncedDocSchema.js +0 -29
  93. package/dist/sync/syncedDocSchema.js.map +0 -1
  94. package/dist/sync/types.d.ts +0 -319
  95. package/dist/sync/types.d.ts.map +0 -1
  96. package/dist/sync/types.js +0 -58
  97. package/dist/sync/types.js.map +0 -1
  98. package/dist/sync/wasReplication.d.ts +0 -47
  99. package/dist/sync/wasReplication.d.ts.map +0 -1
  100. package/dist/sync/wasReplication.js +0 -92
  101. package/dist/sync/wasReplication.js.map +0 -1
  102. package/dist/sync/wasSyncPort.d.ts.map +0 -1
  103. package/dist/sync/wasSyncPort.js.map +0 -1
  104. /package/dist/{sync → storage}/wasSyncPort.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"wasRemoteStore.js","sourceRoot":"","sources":["../../src/storage/wasRemoteStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasRemoteStore.js","sourceRoot":"","sources":["../../src/storage/wasRemoteStore.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import type { ZcapClient } from '@interop/ezcap';
25
25
  import type { RxChangeEvent } from 'rxdb/plugins/core';
26
26
  import type { CollectionEncryption } from '@interop/was-client';
27
27
  import type { IKeyAgreementKey, IKeyResolver } from '@interop/data-integrity-core';
28
- import { type SyncedDoc } from '../sync/index.js';
28
+ import type { SyncedDoc } from '@interop/was-sync';
29
29
  import { type SharedCollectionConfig, type WasCollectionConfig } from '../config.js';
30
30
  import type { ParsedGrants } from '../grants.js';
31
31
  import { WasRemoteStore } from './wasRemoteStore.js';
@@ -41,28 +41,43 @@ export interface WasSyncBootstrap {
41
41
  remoteStore: WasRemoteStore;
42
42
  sharedCollections: Record<string, SharedCollectionReader>;
43
43
  }
44
+ /**
45
+ * What one pass of descriptor reads settled to: the epoch-bearing descriptors
46
+ * (a rosterless one cannot build a cipher) and, apart from them, every
47
+ * collection whose read failed rather than answering "no descriptor".
48
+ */
49
+ export type DescriptorReadOutcome = {
50
+ descriptors: Record<string, CollectionEncryption>;
51
+ failures: Array<{
52
+ collection: WasCollectionConfig;
53
+ err: unknown;
54
+ }>;
55
+ };
44
56
  /**
45
57
  * One live encryption-descriptor read per granted private collection, invoked
46
- * with the grants' delegated zcaps and keyed by WAS collection id. Only
47
- * epoch-bearing descriptors are returned (a rosterless one cannot build a
48
- * cipher). Used at login time, BEFORE any replication exists: the connected
49
- * replica must open epoch-aware -- epoch-from-birth leaves no single-key
50
- * fallback, and the adoption merge writes into it before sync starts. The
51
- * sync bootstrap reuses these reads (its `knownDescriptors` input) rather
52
- * than re-issuing them.
58
+ * with the grants' delegated zcaps and keyed by WAS collection id. Used at
59
+ * login time, BEFORE any replication exists: the connected replica must open
60
+ * epoch-aware -- epoch-from-birth leaves no single-key fallback, and the
61
+ * adoption merge writes into it before sync starts. The sync bootstrap reuses
62
+ * these reads (its `knownDescriptors` input) rather than re-issuing them.
63
+ *
64
+ * A failed read is reported on `failures` rather than rejecting, so the caller
65
+ * chooses: a login rejects on any failure (the adoption merge would write
66
+ * into a replica opened over a guess), while a hot restore skips the
67
+ * collection fail-closed and leaves the sync bootstrap to repair it.
53
68
  *
54
69
  * @param options {object}
55
70
  * @param options.parsed {ParsedGrants}
56
71
  * @param options.zcapClient {ZcapClient} invocation signer = grants' controller
57
72
  * @param options.collections {WasCollectionConfig[]} the collections to read
58
73
  * descriptors for (public ones are skipped)
59
- * @returns {Promise<Record<string, CollectionEncryption>>}
74
+ * @returns {Promise<DescriptorReadOutcome>}
60
75
  */
61
76
  export declare function readRemoteDescriptors({ parsed, zcapClient, collections }: {
62
77
  parsed: ParsedGrants;
63
78
  zcapClient: ZcapClient;
64
79
  collections: WasCollectionConfig[];
65
- }): Promise<Record<string, CollectionEncryption>>;
80
+ }): Promise<DescriptorReadOutcome>;
66
81
  /**
67
82
  * Builds the remote store, opens the shared-collection readers, and starts
68
83
  * background replication.
@@ -1 +1 @@
1
- {"version":3,"file":"wasSync.d.ts","sourceRoot":"","sources":["../../src/storage/wasSync.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,cAAc,EAA0B,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,cAAc,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC1D;AAyED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,UAAU,EACV,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,mBAAmB,EAAE,CAAA;CACnC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAOhD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,gBAAqB,EACtB,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,mBAAmB,EAAE,CAAA;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAC5B,IAAI,CAAA;IACT,iBAAiB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC5C,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,gBAAgB,CAAA;QACjC,WAAW,EAAE,YAAY,CAAA;KAC1B,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAC9C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACxD,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuK5B"}
1
+ {"version":3,"file":"wasSync.d.ts","sourceRoot":"","sources":["../../src/storage/wasSync.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,cAAc,EAA0B,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,cAAc,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC1D;AAyFD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,mBAAmB,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,UAAU,EACV,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,mBAAmB,EAAE,CAAA;CACnC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAOjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,gBAAqB,EACtB,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,mBAAmB,EAAE,CAAA;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAC5B,IAAI,CAAA;IACT,iBAAiB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC5C,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,gBAAgB,CAAA;QACjC,WAAW,EAAE,YAAY,CAAA;KAC1B,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAC9C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACxD,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqL5B"}
@@ -1,4 +1,4 @@
1
- import { hasKeyEpochs } from '../sync/index.js';
1
+ import { hasKeyEpochs } from '@interop/was-client/edv';
2
2
  import { isPublicCollection } from '../config.js';
3
3
  import { WasRemoteStore, remoteDescriptorSource } from './wasRemoteStore.js';
4
4
  import { SharedCollectionReader } from './sharedCollectionReader.js';
@@ -17,6 +17,14 @@ import { SharedCollectionReader } from './sharedCollectionReader.js';
17
17
  * read. Collections are processed concurrently, hook included, so one slow
18
18
  * collection never holds up the others.
19
19
  *
20
+ * A read that FAILS (rather than answering "no descriptor") is never taken
21
+ * for an absent descriptor. The collection is skipped entirely, hook included,
22
+ * and reported on `failures`, so neither a placeholder cipher nor a bare
23
+ * descriptor PUT is built on a guess about a collection whose roster could not
24
+ * be read. Every collection settles: an outage affecting several reports each
25
+ * of them, and the caller decides what a non-empty `failures` means (the
26
+ * login-time read rejects on it, the bootstrap warns and skips).
27
+ *
20
28
  * @param options {object}
21
29
  * @param options.remoteStore {WasRemoteStore}
22
30
  * @param options.collections {WasCollectionConfig[]}
@@ -25,21 +33,30 @@ import { SharedCollectionReader } from './sharedCollectionReader.js';
25
33
  * descriptors already read live in this bring-up, reused instead of re-read
26
34
  * @param [options.onCollection] {(options) => Promise<void>} per granted
27
35
  * collection, with its raw descriptor (absent for a public one)
28
- * @returns {Promise<Record<string, CollectionEncryption>>} the epoch-bearing
29
- * descriptors, keyed by WAS collection id
36
+ * @returns {Promise<DescriptorReadOutcome>} the epoch-bearing descriptors,
37
+ * keyed by WAS collection id, and the collections whose read failed
30
38
  */
31
39
  async function readGrantedEncryption({ remoteStore, collections, parsed, knownDescriptors = {}, onCollection }) {
32
40
  const granted = collections.filter(collection => parsed.byCollectionId[collection.id] !== undefined);
33
41
  const descriptors = {};
42
+ const failures = [];
34
43
  await Promise.all(granted.map(async (collection) => {
35
44
  const { id: collectionId } = collection;
36
45
  let encryption;
37
46
  if (!isPublicCollection(collection)) {
38
47
  // A descriptor the caller read seconds ago is reused as-is; only ids it
39
48
  // did not cover (or a hot restore, which passes none) are read live.
40
- encryption =
41
- knownDescriptors[collectionId] ??
42
- (await remoteStore.readCollectionEncryption(collectionId));
49
+ encryption = knownDescriptors[collectionId];
50
+ if (!encryption) {
51
+ try {
52
+ encryption =
53
+ await remoteStore.readCollectionEncryption(collectionId);
54
+ }
55
+ catch (err) {
56
+ failures.push({ collection, err });
57
+ return;
58
+ }
59
+ }
43
60
  if (hasKeyEpochs(encryption)) {
44
61
  descriptors[collectionId] = encryption;
45
62
  }
@@ -51,24 +68,27 @@ async function readGrantedEncryption({ remoteStore, collections, parsed, knownDe
51
68
  });
52
69
  }
53
70
  }));
54
- return descriptors;
71
+ return { descriptors, failures };
55
72
  }
56
73
  /**
57
74
  * One live encryption-descriptor read per granted private collection, invoked
58
- * with the grants' delegated zcaps and keyed by WAS collection id. Only
59
- * epoch-bearing descriptors are returned (a rosterless one cannot build a
60
- * cipher). Used at login time, BEFORE any replication exists: the connected
61
- * replica must open epoch-aware -- epoch-from-birth leaves no single-key
62
- * fallback, and the adoption merge writes into it before sync starts. The
63
- * sync bootstrap reuses these reads (its `knownDescriptors` input) rather
64
- * than re-issuing them.
75
+ * with the grants' delegated zcaps and keyed by WAS collection id. Used at
76
+ * login time, BEFORE any replication exists: the connected replica must open
77
+ * epoch-aware -- epoch-from-birth leaves no single-key fallback, and the
78
+ * adoption merge writes into it before sync starts. The sync bootstrap reuses
79
+ * these reads (its `knownDescriptors` input) rather than re-issuing them.
80
+ *
81
+ * A failed read is reported on `failures` rather than rejecting, so the caller
82
+ * chooses: a login rejects on any failure (the adoption merge would write
83
+ * into a replica opened over a guess), while a hot restore skips the
84
+ * collection fail-closed and leaves the sync bootstrap to repair it.
65
85
  *
66
86
  * @param options {object}
67
87
  * @param options.parsed {ParsedGrants}
68
88
  * @param options.zcapClient {ZcapClient} invocation signer = grants' controller
69
89
  * @param options.collections {WasCollectionConfig[]} the collections to read
70
90
  * descriptors for (public ones are skipped)
71
- * @returns {Promise<Record<string, CollectionEncryption>>}
91
+ * @returns {Promise<DescriptorReadOutcome>}
72
92
  */
73
93
  export async function readRemoteDescriptors({ parsed, zcapClient, collections }) {
74
94
  const remoteStore = WasRemoteStore.fromGrants({
@@ -153,7 +173,7 @@ export async function startWasSync({ parsed, zcapClient, collections, localStore
153
173
  // SHARED collections never appear here: they are wallet-owned, absent from
154
174
  // the app-owned registry, and a read-only grant would draw nothing but a
155
175
  // pointless 403.
156
- const descriptors = await readGrantedEncryption({
176
+ const { descriptors, failures } = await readGrantedEncryption({
157
177
  remoteStore,
158
178
  collections,
159
179
  parsed,
@@ -194,18 +214,22 @@ export async function startWasSync({ parsed, zcapClient, collections, localStore
194
214
  // now on carry blinded `indexed` entries. A descriptor with no `hmac`
195
215
  // carries no blinding key at all, so the install could only be a no-op:
196
216
  // the metadata read is skipped rather than spent.
217
+ // A read that fails (rather than answering "no metadata") skips the
218
+ // install for this session with a warning: the answer is unknown, and
219
+ // an install skipped over a guess is the same outcome either way, but
220
+ // the warning says why.
197
221
  if (hasKeyEpochs(encryption) && encryption.hmac) {
198
- const meta = await remoteStore.readCollectionMeta(collectionId);
199
- if (meta) {
200
- try {
222
+ try {
223
+ const meta = await remoteStore.readCollectionMeta(collectionId);
224
+ if (meta) {
201
225
  await localStore.applyCollectionMeta({
202
226
  collectionId,
203
227
  custom: meta.custom
204
228
  });
205
229
  }
206
- catch (err) {
207
- console.warn(`Blinded-index schema install failed for "${collectionId}":`, err);
208
- }
230
+ }
231
+ catch (err) {
232
+ console.warn(`Blinded-index schema install failed for "${collectionId}":`, err);
209
233
  }
210
234
  }
211
235
  }
@@ -215,6 +239,13 @@ export async function startWasSync({ parsed, zcapClient, collections, localStore
215
239
  }
216
240
  }
217
241
  });
242
+ // A read that failed degrades that one collection: it keeps the cipher it
243
+ // opened with (the cached descriptor, or fail-closed) and receives no
244
+ // description PUT this session. It is not "no descriptor".
245
+ for (const { collection, err } of failures) {
246
+ console.warn(`Skipping the sync bootstrap of collection "${collection.id}": its ` +
247
+ `encryption descriptor could not be read.`, err);
248
+ }
218
249
  // Install the encryption-descriptor source so a decrypt that meets an unseen
219
250
  // epoch (a rotation on another device) re-reads the descriptor and rebuilds
220
251
  // the cipher -- once per collection per session.
@@ -1 +1 @@
1
- {"version":3,"file":"wasSync.js","sourceRoot":"","sources":["../../src/storage/wasSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasSync.js","sourceRoot":"","sources":["../../src/storage/wasSync.ts"],"names":[],"mappings":"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"}
@@ -2,22 +2,28 @@
2
2
  * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
3
  */
4
4
  /**
5
- * The app-side seam between the generic sync adapter and `@interop/was-client`.
5
+ * The app-side seam between the replication driver and `@interop/was-client`.
6
6
  * Delegates to the client's own `createWasSyncPort` -- which owns the WAS URL
7
7
  * grammar, the verbatim (codec-bypassing) `was.request()` writes, the `changes`
8
8
  * feed pull, the key-epoch header, and the conditional-write ETag handling --
9
- * and pins the two options this package needs: the collection's delegated
9
+ * and pins the two options this library needs: the collection's delegated
10
10
  * capability, and `mapAuthErrors` so a `401` / `403` / the server's masked `404`
11
- * arrive as a `WasSyncAuthError` the sync controller can `instanceof`-match.
11
+ * arrive as a `WasSyncAuthError` the sync controller matches by name.
12
12
  *
13
- * What stays here is the narrowing to a {@link WasSyncBasePort}: the 412
14
- * conflict re-read (`get`) is supplied separately by `withFeedMasterRead`, which
15
- * resolves the master state from the changes-feed BODY -- origin-independent,
16
- * unlike a cross-origin `GET` whose ETag header CORS hides.
13
+ * What stays here is the narrowing to a `WasSyncBasePort`: the 412 conflict
14
+ * re-read (`get`) is supplied separately by `withFeedPrimaryRead`
15
+ * (`@interop/was-sync/rxdb`), which resolves the primary state from the
16
+ * changes-feed BODY -- origin-independent, unlike a cross-origin `GET` whose
17
+ * ETag header CORS hides.
18
+ *
19
+ * The session binding no longer builds its port through here: the controller
20
+ * core takes the same two options as port flags and calls the client directly.
21
+ * This wrapper stays as the published seam for a consumer driving replication
22
+ * itself.
17
23
  */
18
24
  import type { WasClient } from '@interop/was-client';
19
25
  import type { IZcap } from '@interop/data-integrity-core';
20
- import type { WasSyncBasePort } from './types.js';
26
+ import type { WasSyncBasePort } from '@interop/was-sync';
21
27
  /**
22
28
  * Builds a `WasSyncBasePort` bound to a single Space + Collection on the remote
23
29
  * WAS server, backed by the session's signed `WasClient`.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasSyncPort.d.ts","sourceRoot":"","sources":["../../src/storage/wasSyncPort.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,OAAO,EACP,YAAY,EACZ,UAAU,EACX,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GAAG,eAAe,CAqClB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasSyncPort.js","sourceRoot":"","sources":["../../src/storage/wasSyncPort.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAQpF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,GAAG,EACH,OAAO,EACP,YAAY,EACZ,UAAU,EAMX;IACC,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAChC,GAAG;QACH,OAAO;QACP,YAAY;QACZ,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,aAAa,EAAE,IAAI;KACpB,CAAC,CAAA;IACF,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,+BAA+B;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,6DAA6D;YAC3D,iCAAiC,CACpC,CAAA;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,sEAAsE;YACtE,qEAAqE;YACrE,uDAAuD;YACvD,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAGhC,CAAA;QACH,CAAC;QAED,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAE/C,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAErD,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;KACrC,CAAA;AACH,CAAC"}
@@ -1,13 +1,8 @@
1
1
  /**
2
2
  * A stable per-install writer id (the last-write-wins tiebreak stamped into
3
- * every payload), persisted in localStorage under `<prefix>writerId`. In an
4
- * environment without `localStorage` it falls back to a process-stable
5
- * unpersisted id instead of throwing.
3
+ * every payload), persisted in localStorage under `<prefix>writerId`.
6
4
  *
7
- * The id is an unkeyed, clearable attribution label -- never an identity. On a
8
- * miss it adopts a value left under the pre-rename `<prefix>clientId` key and
9
- * removes the old one, so an existing install keeps stamping the same id
10
- * across the rename rather than looking like a second writer.
5
+ * The id is an unkeyed, clearable attribution label -- never an identity.
11
6
  *
12
7
  * @param [options] {object}
13
8
  * @param [options.storageKeyPrefix] {string} the localStorage key prefix
@@ -18,12 +13,11 @@ export declare function getWriterId({ storageKeyPrefix }?: {
18
13
  storageKeyPrefix?: string;
19
14
  }): string;
20
15
  /**
21
- * Clears the persisted writer id (the clear-data grade of the wipe): removes
22
- * both the current key and the pre-rename one, so nothing this library wrote
23
- * survives in localStorage. Only persistence is touched; the running session's
24
- * in-memory id is replaced by {@link StorageContext.resetWriterId}, because the
25
- * session keeps running over its new anonymous replica and its write verbs
26
- * still have to stamp.
16
+ * Clears the persisted writer id (the clear-data grade of the wipe), so nothing
17
+ * this library wrote survives in localStorage. Only persistence is touched; the
18
+ * running session's in-memory id is replaced by
19
+ * {@link StorageContext.resetWriterId}, because the session keeps running over
20
+ * its new anonymous replica and its write verbs still have to stamp.
27
21
  *
28
22
  * @param [options] {object}
29
23
  * @param [options.storageKeyPrefix] {string} the localStorage key prefix
@@ -1 +1 @@
1
- {"version":3,"file":"writerId.d.ts","sourceRoot":"","sources":["../../src/storage/writerId.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,gBAA6C,EAC9C,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAe7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,gBAA6C,EAC9C,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAQ3C"}
1
+ {"version":3,"file":"writerId.d.ts","sourceRoot":"","sources":["../../src/storage/writerId.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAC1B,gBAA6C,EAC9C,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,gBAA6C,EAC9C,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAE3C"}
@@ -3,30 +3,36 @@
3
3
  */
4
4
  /**
5
5
  * Persistence of the per-install writer id: the last-write-wins tiebreak the
6
- * storage context stamps into every payload. {@link getWriterId} resolves it
7
- * from localStorage (minting one on a miss), {@link clearPersistedWriterId}
8
- * removes it (the clear-data grade of the wipe). The in-memory value a session
9
- * stamps with lives on its {@link StorageContext}; nothing here holds state
10
- * beyond the no-localStorage fallback.
6
+ * storage context stamps into every payload. The mint itself lives in
7
+ * `@interop/was-sync`, which takes both the key prefix and the storage as
8
+ * required inputs; this module is the browser binding that supplies
9
+ * {@link DEFAULT_STORAGE_KEY_PREFIX} and `localStorage`, so callers here keep
10
+ * passing an optional prefix and nothing else.
11
+ *
12
+ * {@link getWriterId} resolves the id from localStorage (minting one on a
13
+ * miss), {@link clearPersistedWriterId} removes it (the clear-data grade of the
14
+ * wipe). The in-memory value a session stamps with lives on its
15
+ * {@link StorageContext}; nothing here holds state.
11
16
  */
12
- import { uuidv7 } from 'uuidv7';
17
+ import { clearPersistedWriterId as clearMintedWriterId, getWriterId as mintWriterId } from '@interop/was-sync';
13
18
  import { DEFAULT_STORAGE_KEY_PREFIX } from '../config.js';
14
19
  /**
15
- * The unpersisted fallback writer id for environments without `localStorage`
16
- * (tests, SSR): process-stable, so every resolution within one run agrees,
17
- * minted fresh on the next run.
20
+ * `localStorage` as the mint's storage port. Reading the global lazily (rather
21
+ * than capturing it at module load) keeps this module importable where there is
22
+ * none: the mint's own try/catch then answers with a fresh id per call, since a
23
+ * remembered module-level fallback would stamp one label into two accounts'
24
+ * histories in the same tab.
18
25
  */
19
- let fallbackWriterId = null;
26
+ const browserStorage = {
27
+ getItem: key => localStorage.getItem(key),
28
+ setItem: (key, value) => localStorage.setItem(key, value),
29
+ removeItem: key => localStorage.removeItem(key)
30
+ };
20
31
  /**
21
32
  * A stable per-install writer id (the last-write-wins tiebreak stamped into
22
- * every payload), persisted in localStorage under `<prefix>writerId`. In an
23
- * environment without `localStorage` it falls back to a process-stable
24
- * unpersisted id instead of throwing.
33
+ * every payload), persisted in localStorage under `<prefix>writerId`.
25
34
  *
26
- * The id is an unkeyed, clearable attribution label -- never an identity. On a
27
- * miss it adopts a value left under the pre-rename `<prefix>clientId` key and
28
- * removes the old one, so an existing install keeps stamping the same id
29
- * across the rename rather than looking like a second writer.
35
+ * The id is an unkeyed, clearable attribution label -- never an identity.
30
36
  *
31
37
  * @param [options] {object}
32
38
  * @param [options.storageKeyPrefix] {string} the localStorage key prefix
@@ -34,29 +40,14 @@ let fallbackWriterId = null;
34
40
  * @returns {string}
35
41
  */
36
42
  export function getWriterId({ storageKeyPrefix = DEFAULT_STORAGE_KEY_PREFIX } = {}) {
37
- const writerIdKey = `${storageKeyPrefix}writerId`;
38
- const legacyKey = `${storageKeyPrefix}clientId`;
39
- try {
40
- let id = localStorage.getItem(writerIdKey);
41
- if (!id) {
42
- id = localStorage.getItem(legacyKey) || uuidv7();
43
- localStorage.setItem(writerIdKey, id);
44
- localStorage.removeItem(legacyKey);
45
- }
46
- return id;
47
- }
48
- catch {
49
- fallbackWriterId ??= uuidv7();
50
- return fallbackWriterId;
51
- }
43
+ return mintWriterId({ storageKeyPrefix, storage: browserStorage });
52
44
  }
53
45
  /**
54
- * Clears the persisted writer id (the clear-data grade of the wipe): removes
55
- * both the current key and the pre-rename one, so nothing this library wrote
56
- * survives in localStorage. Only persistence is touched; the running session's
57
- * in-memory id is replaced by {@link StorageContext.resetWriterId}, because the
58
- * session keeps running over its new anonymous replica and its write verbs
59
- * still have to stamp.
46
+ * Clears the persisted writer id (the clear-data grade of the wipe), so nothing
47
+ * this library wrote survives in localStorage. Only persistence is touched; the
48
+ * running session's in-memory id is replaced by
49
+ * {@link StorageContext.resetWriterId}, because the session keeps running over
50
+ * its new anonymous replica and its write verbs still have to stamp.
60
51
  *
61
52
  * @param [options] {object}
62
53
  * @param [options.storageKeyPrefix] {string} the localStorage key prefix
@@ -64,13 +55,6 @@ export function getWriterId({ storageKeyPrefix = DEFAULT_STORAGE_KEY_PREFIX } =
64
55
  * @returns {void}
65
56
  */
66
57
  export function clearPersistedWriterId({ storageKeyPrefix = DEFAULT_STORAGE_KEY_PREFIX } = {}) {
67
- try {
68
- localStorage.removeItem(`${storageKeyPrefix}writerId`);
69
- localStorage.removeItem(`${storageKeyPrefix}clientId`);
70
- }
71
- catch {
72
- // No localStorage in this environment: nothing was persisted to clear.
73
- }
74
- fallbackWriterId = null;
58
+ clearMintedWriterId({ storageKeyPrefix, storage: browserStorage });
75
59
  }
76
60
  //# sourceMappingURL=writerId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writerId.js","sourceRoot":"","sources":["../../src/storage/writerId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEzD;;;;GAIG;AACH,IAAI,gBAAgB,GAAkB,IAAI,CAAA;AAE1C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,gBAAgB,GAAG,0BAA0B,KACZ,EAAE;IACnC,MAAM,WAAW,GAAG,GAAG,gBAAgB,UAAU,CAAA;IACjD,MAAM,SAAS,GAAG,GAAG,gBAAgB,UAAU,CAAA;IAC/C,IAAI,CAAC;QACH,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,CAAA;YAChD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACrC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB,KAAK,MAAM,EAAE,CAAA;QAC7B,OAAO,gBAAgB,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,gBAAgB,GAAG,0BAA0B,KACZ,EAAE;IACnC,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,CAAC,GAAG,gBAAgB,UAAU,CAAC,CAAA;QACtD,YAAY,CAAC,UAAU,CAAC,GAAG,gBAAgB,UAAU,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,gBAAgB,GAAG,IAAI,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"writerId.js","sourceRoot":"","sources":["../../src/storage/writerId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,sBAAsB,IAAI,mBAAmB,EAC7C,WAAW,IAAI,YAAY,EAE5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEzD;;;;;;GAMG;AACH,MAAM,cAAc,GAAoB;IACtC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;IACzC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;IACzD,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;CAChD,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,gBAAgB,GAAG,0BAA0B,KACZ,EAAE;IACnC,OAAO,YAAY,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;AACpE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,gBAAgB,GAAG,0BAA0B,KACZ,EAAE;IACnC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;AACpE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/was-react",
3
3
  "description": "React library for building 'Bring Your Own Everything' (BYOE) apps on Wallet Attached Storage: DID Auth login via CHAPI wallet, local-first encrypted storage, and background sync to a WAS server.",
4
- "version": "0.20.0",
4
+ "version": "0.21.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -47,18 +47,21 @@
47
47
  "sideEffects": false,
48
48
  "dependencies": {
49
49
  "@interop/data-integrity-core": "^8.7.1",
50
- "@interop/did-method-webvh": "^5.6.1",
51
- "@interop/ed25519-signature": "^7.2.0",
52
- "@interop/ezcap": "^7.4.5",
53
- "@interop/security-document-loader": "^10.1.0",
54
- "@interop/vc": "^11.0.7",
55
- "@interop/verifier-core": "^3.5.5",
56
- "@interop/wallet-core": "^0.66.0",
57
- "@interop/was-client": "^0.47.0",
58
- "@interop/webkms-client": "^14.7.4",
50
+ "@interop/did-method-webvh": "^5.8.0",
51
+ "@interop/ed25519-signature": "^7.2.1",
52
+ "@interop/ezcap": "^7.4.6",
53
+ "@interop/security-document-loader": "^10.1.1",
54
+ "@interop/social-core": "^0.8.1",
55
+ "@interop/vc": "^11.0.8",
56
+ "@interop/verifier-core": "^3.5.6",
57
+ "@interop/wallet-core": "^0.67.0",
58
+ "@interop/was-client": "^0.49.0",
59
+ "@interop/was-sync": "^0.1.1",
60
+ "@interop/webkms-client": "^14.7.5",
59
61
  "@scure/base": "^2.2.0",
60
62
  "byoe-context": "^0.5.0",
61
63
  "credential-handler-polyfill": "^4.1.0",
64
+ "json-canonicalize": "^3.0.0",
62
65
  "uuidv7": "^1.2.1"
63
66
  },
64
67
  "peerDependencies": {
@@ -1,44 +0,0 @@
1
- /*!
2
- * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
- */
4
- /**
5
- * The pull side of the WAS replication adapter: the `changes`-feed request /
6
- * response mapping and the RxDB pull handler built from it. Maps each wire
7
- * document (`{ id, _deleted, updatedAt, version, metaVersion?, data?, custom? }`)
8
- * into an RxDB `WithDeleted<SyncedDoc>`, and applies the empty-page
9
- * `checkpoint: null` rule.
10
- */
11
- import type { WithDeleted } from 'rxdb/plugins/core';
12
- import type { SyncCheckpoint, SyncedDoc, WasSyncPort, WireDoc } from './types.js';
13
- /**
14
- * Maps one `changes`-feed wire document into an RxDB document. The envelope
15
- * fields map straight across; the content body stays under `data` (omitted for
16
- * tombstones, which carry no `data`) and the metadata body under `custom`.
17
- * `metaVersion` / `custom` are present only once metadata has been written for
18
- * the resource, and are simply absent otherwise (forward-compatible with a
19
- * server that does not yet surface them on the feed). `_deleted` becomes RxDB's
20
- * native deleted flag.
21
- *
22
- * @param doc {WireDoc}
23
- * @returns {WithDeleted<SyncedDoc>}
24
- */
25
- export declare function wireDocToRxDoc(doc: WireDoc): WithDeleted<SyncedDoc>;
26
- /**
27
- * Builds the RxDB pull handler that fetches one `changes` page per call and
28
- * resumes from the previous checkpoint. RxDB passes the last stored checkpoint
29
- * (`undefined` on the first pull -- which the port omits from the request) and
30
- * the batch size.
31
- *
32
- * The empty-page rule: when the server returns `checkpoint: null` (no change),
33
- * keep the checkpoint RxDB gave us rather than persisting `null`, so the next
34
- * pull resumes from the same position instead of restarting the feed.
35
- *
36
- * @param port {WasSyncPort}
37
- * @returns {(lastCheckpoint: SyncCheckpoint | undefined, batchSize: number) =>
38
- * Promise<{ documents: WithDeleted<SyncedDoc>[], checkpoint: SyncCheckpoint | undefined }>}
39
- */
40
- export declare function createPullHandler(port: WasSyncPort): (lastCheckpoint: SyncCheckpoint | undefined, batchSize: number) => Promise<{
41
- documents: WithDeleted<SyncedDoc>[];
42
- checkpoint: SyncCheckpoint | undefined;
43
- }>;
44
- //# sourceMappingURL=changesQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"changesQuery.d.ts","sourceRoot":"","sources":["../../src/sync/changesQuery.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAA;AAGnB;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CASnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,IAE/C,gBAAgB,cAAc,GAAG,SAAS,EAC1C,WAAW,MAAM,KAChB,OAAO,CAAC;IACT,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAA;IACnC,UAAU,EAAE,cAAc,GAAG,SAAS,CAAA;CACvC,CAAC,CAcH"}