@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.
- package/README.md +8 -2
- package/dist/dev/provisionDevGrants.js +1 -1
- package/dist/dev/provisionDevGrants.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/session/authStore.d.ts.map +1 -1
- package/dist/session/authStore.js +48 -11
- package/dist/session/authStore.js.map +1 -1
- package/dist/storage/adopt.d.ts.map +1 -1
- package/dist/storage/adopt.js +2 -1
- package/dist/storage/adopt.js.map +1 -1
- package/dist/storage/descriptorManager.d.ts +1 -0
- package/dist/storage/descriptorManager.d.ts.map +1 -1
- package/dist/storage/descriptorManager.js +39 -21
- package/dist/storage/descriptorManager.js.map +1 -1
- package/dist/{sync → storage}/docCipher.d.ts +3 -29
- package/dist/storage/docCipher.d.ts.map +1 -0
- package/dist/{sync → storage}/docCipher.js +0 -20
- package/dist/storage/docCipher.js.map +1 -0
- package/dist/storage/entityStore.d.ts.map +1 -1
- package/dist/storage/entityStore.js +2 -1
- package/dist/storage/entityStore.js.map +1 -1
- package/dist/storage/localStore.d.ts +1 -1
- package/dist/storage/localStore.d.ts.map +1 -1
- package/dist/storage/localStore.js +14 -2
- package/dist/storage/localStore.js.map +1 -1
- package/dist/storage/sharedCollectionReader.d.ts +1 -1
- package/dist/storage/sharedCollectionReader.d.ts.map +1 -1
- package/dist/storage/sharedCollectionReader.js +1 -1
- package/dist/storage/sharedCollectionReader.js.map +1 -1
- package/dist/storage/storageContext.d.ts +7 -5
- package/dist/storage/storageContext.d.ts.map +1 -1
- package/dist/storage/storageContext.js +8 -4
- package/dist/storage/storageContext.js.map +1 -1
- package/dist/storage/storageManager.d.ts +7 -3
- package/dist/storage/storageManager.d.ts.map +1 -1
- package/dist/storage/storageManager.js +6 -2
- package/dist/storage/storageManager.js.map +1 -1
- package/dist/storage/syncController.d.ts +30 -19
- package/dist/storage/syncController.d.ts.map +1 -1
- package/dist/storage/syncController.js +84 -157
- package/dist/storage/syncController.js.map +1 -1
- package/dist/storage/syncStatusStore.d.ts +8 -7
- package/dist/storage/syncStatusStore.d.ts.map +1 -1
- package/dist/storage/syncStatusStore.js.map +1 -1
- package/dist/storage/wasRemoteStore.d.ts +24 -10
- package/dist/storage/wasRemoteStore.d.ts.map +1 -1
- package/dist/storage/wasRemoteStore.js +92 -37
- package/dist/storage/wasRemoteStore.js.map +1 -1
- package/dist/storage/wasSync.d.ts +25 -10
- package/dist/storage/wasSync.d.ts.map +1 -1
- package/dist/storage/wasSync.js +53 -22
- package/dist/storage/wasSync.js.map +1 -1
- package/dist/{sync → storage}/wasSyncPort.d.ts +14 -8
- package/dist/storage/wasSyncPort.d.ts.map +1 -0
- package/dist/storage/wasSyncPort.js.map +1 -0
- package/dist/storage/writerId.d.ts +7 -13
- package/dist/storage/writerId.d.ts.map +1 -1
- package/dist/storage/writerId.js +30 -46
- package/dist/storage/writerId.js.map +1 -1
- package/package.json +13 -10
- package/dist/sync/changesQuery.d.ts +0 -44
- package/dist/sync/changesQuery.d.ts.map +0 -1
- package/dist/sync/changesQuery.js +0 -54
- package/dist/sync/changesQuery.js.map +0 -1
- package/dist/sync/docCipher.d.ts.map +0 -1
- package/dist/sync/docCipher.js.map +0 -1
- package/dist/sync/feedMasterPort.d.ts +0 -38
- package/dist/sync/feedMasterPort.d.ts.map +0 -1
- package/dist/sync/feedMasterPort.js +0 -116
- package/dist/sync/feedMasterPort.js.map +0 -1
- package/dist/sync/index.d.ts +0 -23
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js +0 -27
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/lww.d.ts +0 -50
- package/dist/sync/lww.d.ts.map +0 -1
- package/dist/sync/lww.js +0 -69
- package/dist/sync/lww.js.map +0 -1
- package/dist/sync/lwwConflictHandler.d.ts +0 -83
- package/dist/sync/lwwConflictHandler.d.ts.map +0 -1
- package/dist/sync/lwwConflictHandler.js +0 -114
- package/dist/sync/lwwConflictHandler.js.map +0 -1
- package/dist/sync/pushWrites.d.ts +0 -76
- package/dist/sync/pushWrites.d.ts.map +0 -1
- package/dist/sync/pushWrites.js +0 -221
- package/dist/sync/pushWrites.js.map +0 -1
- package/dist/sync/syncedDocSchema.d.ts +0 -22
- package/dist/sync/syncedDocSchema.d.ts.map +0 -1
- package/dist/sync/syncedDocSchema.js +0 -29
- package/dist/sync/syncedDocSchema.js.map +0 -1
- package/dist/sync/types.d.ts +0 -319
- package/dist/sync/types.d.ts.map +0 -1
- package/dist/sync/types.js +0 -58
- package/dist/sync/types.js.map +0 -1
- package/dist/sync/wasReplication.d.ts +0 -47
- package/dist/sync/wasReplication.d.ts.map +0 -1
- package/dist/sync/wasReplication.js +0 -92
- package/dist/sync/wasReplication.js.map +0 -1
- package/dist/sync/wasSyncPort.d.ts.map +0 -1
- package/dist/sync/wasSyncPort.js.map +0 -1
- /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 {
|
|
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.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* than
|
|
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<
|
|
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<
|
|
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;
|
|
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"}
|
package/dist/storage/wasSync.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasKeyEpochs } from '
|
|
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<
|
|
29
|
-
*
|
|
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
|
-
|
|
42
|
-
|
|
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.
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* than
|
|
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<
|
|
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
|
-
|
|
199
|
-
|
|
200
|
-
|
|
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
|
-
|
|
207
|
-
|
|
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":"AA8BA,OAAO,EAAE,YAAY,
|
|
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
|
|
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
|
|
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
|
|
11
|
+
* arrive as a `WasSyncAuthError` the sync controller matches by name.
|
|
12
12
|
*
|
|
13
|
-
* What stays here is the narrowing to a
|
|
14
|
-
*
|
|
15
|
-
* resolves the
|
|
16
|
-
* unlike a cross-origin `GET` whose
|
|
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 '
|
|
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`.
|
|
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.
|
|
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)
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
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":"
|
|
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"}
|
package/dist/storage/writerId.js
CHANGED
|
@@ -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.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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 {
|
|
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
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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
|
-
|
|
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`.
|
|
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.
|
|
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
|
-
|
|
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)
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
51
|
-
"@interop/ed25519-signature": "^7.2.
|
|
52
|
-
"@interop/ezcap": "^7.4.
|
|
53
|
-
"@interop/security-document-loader": "^10.1.
|
|
54
|
-
"@interop/
|
|
55
|
-
"@interop/
|
|
56
|
-
"@interop/
|
|
57
|
-
"@interop/
|
|
58
|
-
"@interop/
|
|
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"}
|