@interop/was-react 0.16.0 → 0.18.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 +12 -9
- package/dist/identity/seedStore.d.ts +58 -2
- package/dist/identity/seedStore.d.ts.map +1 -1
- package/dist/identity/seedStore.js +27 -8
- package/dist/identity/seedStore.js.map +1 -1
- package/dist/session/authStore.d.ts.map +1 -1
- package/dist/session/authStore.js +20 -146
- package/dist/session/authStore.js.map +1 -1
- package/dist/storage/descriptorManager.d.ts +61 -0
- package/dist/storage/descriptorManager.d.ts.map +1 -0
- package/dist/storage/descriptorManager.js +177 -0
- package/dist/storage/descriptorManager.js.map +1 -0
- package/dist/storage/localStore.d.ts +32 -0
- package/dist/storage/localStore.d.ts.map +1 -1
- package/dist/storage/localStore.js +59 -1
- package/dist/storage/localStore.js.map +1 -1
- package/dist/storage/wasRemoteStore.d.ts +24 -4
- package/dist/storage/wasRemoteStore.d.ts.map +1 -1
- package/dist/storage/wasRemoteStore.js +40 -5
- package/dist/storage/wasRemoteStore.js.map +1 -1
- package/dist/storage/wasSync.d.ts.map +1 -1
- package/dist/storage/wasSync.js +120 -54
- package/dist/storage/wasSync.js.map +1 -1
- package/dist/sync/docCipher.d.ts +26 -1
- package/dist/sync/docCipher.d.ts.map +1 -1
- package/dist/sync/docCipher.js +9 -2
- package/dist/sync/docCipher.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -365,20 +365,23 @@ are written, so a returning session declares nothing. A collection provisioned
|
|
|
365
365
|
without the key is warned about and keeps replicating in full; only its queries
|
|
366
366
|
are unavailable.
|
|
367
367
|
|
|
368
|
+
The bootstrap also installs that persisted schema on the collection's own
|
|
369
|
+
document cipher, so documents this app writes carry the same blinded index
|
|
370
|
+
entries as a write through `@interop/was-client`'s `Collection.add` -- a
|
|
371
|
+
document created or edited here is findable by an equality query, on this client
|
|
372
|
+
and on every other recipient.
|
|
373
|
+
|
|
368
374
|
On the wire, attribute names and values are blinded in the browser with the
|
|
369
375
|
collection's blinding key before the request is sent. The server matches opaque
|
|
370
376
|
tokens and never sees the names or the values, and the returned envelopes are
|
|
371
377
|
decrypted locally.
|
|
372
378
|
|
|
373
|
-
|
|
374
|
-
before its attribute was declared
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
as the wallet's own writes or `@interop/was-client`'s `Collection.add`. Those
|
|
380
|
-
writes light up in a future `@interop/was-client` release, and existing
|
|
381
|
-
documents become findable once rewritten.
|
|
379
|
+
One limitation to plan around: index entries are stamped at write time, so they
|
|
380
|
+
are prospective. A document written before its attribute was declared -- or
|
|
381
|
+
before the sync bootstrap installed the schema, which covers anything written
|
|
382
|
+
offline before the first connect, including data carried in by the login-time
|
|
383
|
+
adoption merge -- carries no blinded entry and stays unfindable until it is
|
|
384
|
+
rewritten.
|
|
382
385
|
|
|
383
386
|
### Share links (publish-copy)
|
|
384
387
|
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Seed persistence: the master seed at rest in the app's own IndexedDB, so a
|
|
6
|
+
* reload restores the session with zero wallet popups. A raw-IndexedDB pattern
|
|
7
|
+
* (one db, one object store, fixed record keys, `db.close()` after every
|
|
8
|
+
* operation). Wiped on logout.
|
|
9
|
+
*
|
|
10
|
+
* `createSeedStore` binds a database name (each app supplies its own) and an
|
|
11
|
+
* optional `idb` factory (injectable for tests, e.g. fake-indexeddb), returning
|
|
12
|
+
* the five bound operations.
|
|
13
|
+
*
|
|
14
|
+
* {@link createDescriptorCache} presents the descriptor record of one such
|
|
15
|
+
* store as the `EncryptionDescriptorCache` seam
|
|
16
|
+
* (`@interop/wallet-core/descriptors`), which is what the session's
|
|
17
|
+
* descriptor acquisition reads and writes through. It adds two BULK operations
|
|
18
|
+
* on top of that seam ({@link SessionDescriptorCache}): the whole cache in one
|
|
19
|
+
* read, and a whole set of descriptors in one read-modify-write. A session
|
|
20
|
+
* bring-up phase reads or writes every registered collection at once, so the
|
|
21
|
+
* bulk pair costs one IndexedDB open/close per phase instead of one per
|
|
22
|
+
* collection.
|
|
23
|
+
*/
|
|
24
|
+
import type { CollectionEncryption } from '@interop/was-client';
|
|
1
25
|
import type { EncryptionDescriptorCache } from '@interop/wallet-core/descriptors';
|
|
2
26
|
/**
|
|
3
27
|
* The bound seed-store operations returned by `createSeedStore`.
|
|
@@ -48,6 +72,33 @@ export declare function createSeedStore({ dbName, idb }: {
|
|
|
48
72
|
dbName: string;
|
|
49
73
|
idb?: IDBFactory;
|
|
50
74
|
}): SeedStore;
|
|
75
|
+
/**
|
|
76
|
+
* The session's descriptor cache: the `EncryptionDescriptorCache` seam
|
|
77
|
+
* `@interop/wallet-core/descriptors` acquires through, plus the two bulk
|
|
78
|
+
* operations a session bring-up works in. Every op reads (or read-modify-writes)
|
|
79
|
+
* the same single stored blob, so doing a whole phase at once costs one
|
|
80
|
+
* IndexedDB open/close rather than one per collection.
|
|
81
|
+
*/
|
|
82
|
+
export interface SessionDescriptorCache extends EncryptionDescriptorCache {
|
|
83
|
+
/**
|
|
84
|
+
* Reads the whole cached set (by WAS collection id) in one blob read. Empty
|
|
85
|
+
* when nothing is cached, or when the blob belongs to another controller.
|
|
86
|
+
*/
|
|
87
|
+
readAllDescriptors(): Promise<Record<string, CollectionEncryption>>;
|
|
88
|
+
/**
|
|
89
|
+
* Merges a whole set of descriptors into the cache in ONE serialized
|
|
90
|
+
* read-modify-write, on the same write chain `writeDescriptor` rides (so the
|
|
91
|
+
* two can never lose one another's entries). Entries not named here are left
|
|
92
|
+
* as they are.
|
|
93
|
+
*
|
|
94
|
+
* @param options {object}
|
|
95
|
+
* @param options.descriptors {Record<string, CollectionEncryption>}
|
|
96
|
+
* @returns {Promise<void>}
|
|
97
|
+
*/
|
|
98
|
+
writeDescriptors(options: {
|
|
99
|
+
descriptors: Record<string, CollectionEncryption>;
|
|
100
|
+
}): Promise<void>;
|
|
101
|
+
}
|
|
51
102
|
/**
|
|
52
103
|
* Presents a {@link SeedStore}'s persisted descriptor record as the
|
|
53
104
|
* `EncryptionDescriptorCache` seam that `@interop/wallet-core/descriptors`
|
|
@@ -66,14 +117,19 @@ export declare function createSeedStore({ dbName, idb }: {
|
|
|
66
117
|
* one-record persistence allows; concurrent puts are serialized through a
|
|
67
118
|
* promise chain so two of them cannot lose one another's entry.
|
|
68
119
|
*
|
|
120
|
+
* The returned cache is a superset of the seam
|
|
121
|
+
* ({@link SessionDescriptorCache}): `readAllDescriptors` and `writeDescriptors`
|
|
122
|
+
* do a whole bring-up phase in one blob read, or one read-modify-write,
|
|
123
|
+
* instead of one IndexedDB open/close per collection.
|
|
124
|
+
*
|
|
69
125
|
* @param options {object}
|
|
70
126
|
* @param options.store {SeedStore} the session seed store to persist through
|
|
71
127
|
* @param options.controller {string} the controller DID the cached
|
|
72
128
|
* descriptors belong to
|
|
73
|
-
* @returns {
|
|
129
|
+
* @returns {SessionDescriptorCache}
|
|
74
130
|
*/
|
|
75
131
|
export declare function createDescriptorCache({ store, controller }: {
|
|
76
132
|
store: SeedStore;
|
|
77
133
|
controller: string;
|
|
78
|
-
}):
|
|
134
|
+
}): SessionDescriptorCache;
|
|
79
135
|
//# sourceMappingURL=seedStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seedStore.d.ts","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seedStore.d.ts","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAOjF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACtC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACrC;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC1C;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,GAAe,EAChB,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB,GAAG,SAAS,CAwEZ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACnE;;;;;;;;;OASG;IACH,gBAAgB,CAAC,OAAO,EAAE;QACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;KAClD,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAU,EACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,sBAAsB,CAgEzB"}
|
|
@@ -86,11 +86,16 @@ export function createSeedStore({ dbName, idb = indexedDB }) {
|
|
|
86
86
|
* one-record persistence allows; concurrent puts are serialized through a
|
|
87
87
|
* promise chain so two of them cannot lose one another's entry.
|
|
88
88
|
*
|
|
89
|
+
* The returned cache is a superset of the seam
|
|
90
|
+
* ({@link SessionDescriptorCache}): `readAllDescriptors` and `writeDescriptors`
|
|
91
|
+
* do a whole bring-up phase in one blob read, or one read-modify-write,
|
|
92
|
+
* instead of one IndexedDB open/close per collection.
|
|
93
|
+
*
|
|
89
94
|
* @param options {object}
|
|
90
95
|
* @param options.store {SeedStore} the session seed store to persist through
|
|
91
96
|
* @param options.controller {string} the controller DID the cached
|
|
92
97
|
* descriptors belong to
|
|
93
|
-
* @returns {
|
|
98
|
+
* @returns {SessionDescriptorCache}
|
|
94
99
|
*/
|
|
95
100
|
export function createDescriptorCache({ store, controller }) {
|
|
96
101
|
async function readAll() {
|
|
@@ -105,18 +110,32 @@ export function createDescriptorCache({ store, controller }) {
|
|
|
105
110
|
}
|
|
106
111
|
// Serializes the read-modify-write of the single stored record.
|
|
107
112
|
let writes = Promise.resolve();
|
|
113
|
+
/**
|
|
114
|
+
* Queues one read-modify-write merging `entries` into the stored blob. Both
|
|
115
|
+
* write verbs go through it, so a per-collection put and a bulk put can never
|
|
116
|
+
* lose one another's entries.
|
|
117
|
+
*/
|
|
118
|
+
function mergeIntoBlob(entries) {
|
|
119
|
+
const next = writes.then(async () => {
|
|
120
|
+
const descriptors = await readAll();
|
|
121
|
+
Object.assign(descriptors, entries);
|
|
122
|
+
await store.saveDescriptors({ controller, descriptors });
|
|
123
|
+
});
|
|
124
|
+
writes = next.then(() => { }, () => { });
|
|
125
|
+
return next;
|
|
126
|
+
}
|
|
108
127
|
return {
|
|
109
128
|
async readDescriptor({ collectionId }) {
|
|
110
129
|
return (await readAll())[collectionId];
|
|
111
130
|
},
|
|
131
|
+
async readAllDescriptors() {
|
|
132
|
+
return await readAll();
|
|
133
|
+
},
|
|
112
134
|
writeDescriptor({ collectionId, descriptor }) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
});
|
|
118
|
-
writes = next.then(() => { }, () => { });
|
|
119
|
-
return next;
|
|
135
|
+
return mergeIntoBlob({ [collectionId]: descriptor });
|
|
136
|
+
},
|
|
137
|
+
writeDescriptors({ descriptors }) {
|
|
138
|
+
return mergeIntoBlob(descriptors);
|
|
120
139
|
}
|
|
121
140
|
};
|
|
122
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seedStore.js","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seedStore.js","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"AA0BA,MAAM,aAAa,GAAG,SAAS,CAAA;AAC/B,MAAM,WAAW,GAAG,MAAM,CAAA;AAC1B,MAAM,cAAc,GAAG,QAAQ,CAAA;AAC/B,MAAM,kBAAkB,GAAG,aAAa,CAAA;AAuCxC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,GAAG,GAAG,SAAS,EAIhB;IACC,KAAK,UAAU,aAAa;QAC1B,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACnC,OAAO,CAAC,eAAe,GAAG,GAAG,EAAE;gBAC7B,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YACjD,CAAC,CAAA;YACD,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CACrB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,gBAAgB,CAC7B,IAAwB,EACxB,SAAgD;QAEhD,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAA;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;gBACvD,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAA;gBACjE,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACjD,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CACrB,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAA;YACrE,CAAC,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,IAAgB;YAC7B,MAAM,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CACxD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CACvB,CAAA;YACD,OAAO,MAAM,YAAY,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;gBACzD,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,MAAe;YAC9B,MAAM,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAC1C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAClC,CAAA;QACH,CAAC;QACD,KAAK,CAAC,UAAU;YACd,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CACxD,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAC1B,CAAA;YACD,OAAO,MAAM,IAAI,IAAI,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,WAAoB;YACxC,MAAM,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAC1C,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAC3C,CAAA;QACH,CAAC;QACD,KAAK,CAAC,eAAe;YACnB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CACxD,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAC9B,CAAA;YACD,OAAO,MAAM,IAAI,IAAI,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,cAAc;YAClB,uEAAuE;YACvE,8DAA8D;YAC9D,eAAe;YACf,MAAM,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7D,CAAC;KACF,CAAA;AACH,CAAC;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAU,EAIX;IACC,KAAK,UAAU,OAAO;QACpB,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,eAAe,EAAE,CAGrC,CAAA;QACR,IACE,MAAM,EAAE,UAAU,KAAK,UAAU;YACjC,MAAM,CAAC,WAAW;YAClB,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACtC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAClC,CAAC;YACD,OAAO,EAAE,GAAI,MAAM,CAAC,WAAoD,EAAE,CAAA;QAC5E,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,gEAAgE;IAChE,IAAI,MAAM,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAE7C;;;;OAIG;IACH,SAAS,aAAa,CACpB,OAA6C;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACnC,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,IAAI,CAAC,IAAI,CAChB,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,EAAE,YAAY,EAA4B;YAC7D,OAAO,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAA;QACxC,CAAC;QACD,KAAK,CAAC,kBAAkB;YACtB,OAAO,MAAM,OAAO,EAAE,CAAA;QACxB,CAAC;QACD,eAAe,CAAC,EACd,YAAY,EACZ,UAAU,EAIX;YACC,OAAO,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,gBAAgB,CAAC,EACf,WAAW,EAGZ;YACC,OAAO,aAAa,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,11 @@
|
|
|
34
34
|
* vanilla zustand store the hooks consume through context.
|
|
35
35
|
*/
|
|
36
36
|
import { createStore } from 'zustand/vanilla';
|
|
37
|
-
import {
|
|
38
|
-
import { mintRecordEncryption } from '@interop/wallet-core/keyring';
|
|
39
|
-
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING, isPublicCollection } from '../config.js';
|
|
37
|
+
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING } from '../config.js';
|
|
40
38
|
import { createDocumentLoader } from '../identity/documentLoader.js';
|
|
41
39
|
import { deriveIdentity } from '../identity/agents.js';
|
|
42
|
-
import {
|
|
40
|
+
import { createSeedStore } from '../identity/seedStore.js';
|
|
41
|
+
import { createDescriptorManager } from '../storage/descriptorManager.js';
|
|
43
42
|
import { clearAppSession, peekAppSession, persistAppSession, restoreAppSession, isNearExpiry, earliestExpiry, NO_EXPIRY_MS } from '../identity/appSession.js';
|
|
44
43
|
import { loginWithWallet, requestGrants, LoginCancelledError } from '../auth/loginFlow.js';
|
|
45
44
|
import { parseGrants } from '../grants.js';
|
|
@@ -47,7 +46,7 @@ import { LocalStore, dbNameForController } from '../storage/localStore.js';
|
|
|
47
46
|
import { clearLocalStore, clearRemoteStore, getWriterId, hasStore, requireStore, setLocalStore, setRemoteStore, setWriterId } from '../storage/storageManager.js';
|
|
48
47
|
import { cancelScheduledRehydrates, clearAllEntityStores, hydrateAll, patchFromChange } from '../storage/rehydrate.js';
|
|
49
48
|
import { mergeAdopted } from '../storage/adopt.js';
|
|
50
|
-
import {
|
|
49
|
+
import { startWasSync } from '../storage/wasSync.js';
|
|
51
50
|
import { errorMessage } from '../sync/index.js';
|
|
52
51
|
import { SyncController } from '../storage/syncController.js';
|
|
53
52
|
import { useSyncStatusStore } from '../storage/syncStatusStore.js';
|
|
@@ -80,23 +79,19 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
80
79
|
});
|
|
81
80
|
setWriterId(writerId);
|
|
82
81
|
const sessionStore = seedStore ?? createSeedStore({ dbName: `${dbName}-session` });
|
|
83
|
-
// The offline encryption-descriptor cache, presented as the seam
|
|
84
|
-
// `@interop/wallet-core/descriptors` acquires through. Reads serve the
|
|
85
|
-
// connected replica's epoch-aware open (cache-only, no network); writes land
|
|
86
|
-
// the descriptors the sync bootstrap fetched. Bound per controller DID at
|
|
87
|
-
// each use: a login under a different controller than the one that cached
|
|
88
|
-
// the descriptors reads the cache as empty rather than building ciphers the
|
|
89
|
-
// new identity is no epoch recipient of.
|
|
90
|
-
function sessionDescriptorCache(controllerDid) {
|
|
91
|
-
return createDescriptorCache({
|
|
92
|
-
store: sessionStore,
|
|
93
|
-
controller: controllerDid
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
82
|
// The anonymous-seed persistence for `local` mode: only a raw 32-byte seed,
|
|
97
83
|
// no session record, in its own IndexedDB so it never collides with the
|
|
98
84
|
// wallet session or a connected replica.
|
|
99
85
|
const anonStore = createSeedStore({ dbName: `${dbName}-anon` });
|
|
86
|
+
// Where every encryption descriptor of this session comes from: minted at an
|
|
87
|
+
// anonymous collection's birth, read from the offline cache, completed with
|
|
88
|
+
// live reads, cached again after the sync bootstrap fetched. The store only
|
|
89
|
+
// sequences these.
|
|
90
|
+
const descriptorManager = createDescriptorManager({
|
|
91
|
+
collections: config.collections,
|
|
92
|
+
sessionStore,
|
|
93
|
+
anonStore
|
|
94
|
+
});
|
|
100
95
|
const documentLoader = createDocumentLoader();
|
|
101
96
|
// The login flow consumes only the WAS collection ids + visibility; this
|
|
102
97
|
// config layer owns the `{ key, id }` registry.
|
|
@@ -222,7 +217,9 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
222
217
|
}),
|
|
223
218
|
identityKeys: { keyAgreementKey, keyResolver },
|
|
224
219
|
onAuthError: () => store.getState().notifyAccessExpired(),
|
|
225
|
-
onDescriptorsFetched: descriptors => void
|
|
220
|
+
onDescriptorsFetched: descriptors => void descriptorManager
|
|
221
|
+
.cacheDescriptors({ descriptors, controllerDid })
|
|
222
|
+
.catch(err => console.warn('Failed to cache encryption descriptors:', err)),
|
|
226
223
|
...(knownDescriptors && { knownDescriptors })
|
|
227
224
|
});
|
|
228
225
|
setRemoteStore(remoteStore);
|
|
@@ -356,45 +353,6 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
356
353
|
await anonStore.saveSeed(seed);
|
|
357
354
|
return { seed, created: true };
|
|
358
355
|
}
|
|
359
|
-
/**
|
|
360
|
-
* Loads -- or on first use mints and persists -- the anonymous replica's
|
|
361
|
-
* per-collection encryption descriptors. Epoch-from-birth applies locally
|
|
362
|
-
* too: a private collection's cipher only exists from an epoch-bearing
|
|
363
|
-
* descriptor, and with no wallet to provision one the app mints it at the
|
|
364
|
-
* collection's local birth -- a one-epoch roster sealed to the anonymous
|
|
365
|
-
* identity's KAK alone (the same record-own-epoch construction wallet-core
|
|
366
|
-
* uses for its own locally stored records). Persisted so a reload decrypts
|
|
367
|
-
* the rows the previous session sealed.
|
|
368
|
-
*
|
|
369
|
-
* @param identity {IdentityAgents} the anonymous identity
|
|
370
|
-
* @returns {Promise<Record<string, CollectionEncryption>>}
|
|
371
|
-
*/
|
|
372
|
-
async function loadOrMintAnonDescriptors(identity) {
|
|
373
|
-
// The anonymous replica's descriptor cache, persisted alongside the anon
|
|
374
|
-
// seed (and wiped with it). Kept apart from the connected session's cache
|
|
375
|
-
// and bound to the anon controller: the two identities' epochs must never
|
|
376
|
-
// cross.
|
|
377
|
-
const cache = createDescriptorCache({
|
|
378
|
-
store: anonStore,
|
|
379
|
-
controller: identity.controllerDid
|
|
380
|
-
});
|
|
381
|
-
const descriptors = {};
|
|
382
|
-
for (const collection of config.collections) {
|
|
383
|
-
if (isPublicCollection(collection)) {
|
|
384
|
-
continue;
|
|
385
|
-
}
|
|
386
|
-
const { id } = collection;
|
|
387
|
-
let descriptor = await cache.readDescriptor({ collectionId: id });
|
|
388
|
-
if (!descriptor) {
|
|
389
|
-
descriptor = await mintRecordEncryption({
|
|
390
|
-
keyAgreementKey: identity.keyAgreementKey
|
|
391
|
-
});
|
|
392
|
-
await cache.writeDescriptor({ collectionId: id, descriptor });
|
|
393
|
-
}
|
|
394
|
-
descriptors[id] = descriptor;
|
|
395
|
-
}
|
|
396
|
-
return descriptors;
|
|
397
|
-
}
|
|
398
356
|
/**
|
|
399
357
|
* Opens (or re-opens) the anonymous local replica and lands `local`. Seeds
|
|
400
358
|
* dev fixtures only when the anonymous seed was just minted (so they run once
|
|
@@ -407,7 +365,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
407
365
|
const identity = await deriveIdentity({ seed });
|
|
408
366
|
await openAndHydrate({
|
|
409
367
|
identity,
|
|
410
|
-
descriptors: await loadOrMintAnonDescriptors(identity)
|
|
368
|
+
descriptors: await descriptorManager.loadOrMintAnonDescriptors(identity)
|
|
411
369
|
});
|
|
412
370
|
if (created && config.seedLocal) {
|
|
413
371
|
await config.seedLocal();
|
|
@@ -429,98 +387,14 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
429
387
|
* grants and expiry, plus the payloads to adopt (merge logins only)
|
|
430
388
|
* @returns {Promise<void>}
|
|
431
389
|
*/
|
|
432
|
-
/**
|
|
433
|
-
* Loads the cached encryption descriptors for the registered collections
|
|
434
|
-
* (keyed by WAS collection id), or `undefined` when none are cached.
|
|
435
|
-
*
|
|
436
|
-
* Acquired CACHE-ONLY -- `acquireDescriptors` with no `source` -- because
|
|
437
|
-
* this runs before any remote store exists and must not touch the network:
|
|
438
|
-
* the whole point is that an offline hot restore opens epoch-aware. The
|
|
439
|
-
* connected session refreshes them from the server once sync bootstraps.
|
|
440
|
-
* Best-effort: on a read failure the private collections open fail-closed
|
|
441
|
-
* until the sync bootstrap supplies live descriptors.
|
|
442
|
-
*/
|
|
443
|
-
async function loadCachedDescriptors({ controllerDid }) {
|
|
444
|
-
try {
|
|
445
|
-
const descriptors = await acquireDescriptors({
|
|
446
|
-
cache: sessionDescriptorCache(controllerDid),
|
|
447
|
-
collectionIds: config.collections.map(collection => collection.id)
|
|
448
|
-
});
|
|
449
|
-
return Object.keys(descriptors).length > 0 ? descriptors : undefined;
|
|
450
|
-
}
|
|
451
|
-
catch (err) {
|
|
452
|
-
console.warn('Failed to load cached encryption descriptors:', err);
|
|
453
|
-
return undefined;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
/**
|
|
457
|
-
* Writes the descriptors the sync bootstrap fetched into the offline cache,
|
|
458
|
-
* through the same seam {@link loadCachedDescriptors} reads.
|
|
459
|
-
*
|
|
460
|
-
* @param options {object}
|
|
461
|
-
* @param options.descriptors {Record<string, CollectionEncryption>}
|
|
462
|
-
* @param options.controllerDid {string} the identity the descriptors were
|
|
463
|
-
* fetched for (the cache stamp)
|
|
464
|
-
* @returns {Promise<void>}
|
|
465
|
-
*/
|
|
466
|
-
async function cacheDescriptors({ descriptors, controllerDid }) {
|
|
467
|
-
const cache = sessionDescriptorCache(controllerDid);
|
|
468
|
-
await Promise.all(Object.entries(descriptors).map(([collectionId, descriptor]) => cache.writeDescriptor({ collectionId, descriptor })));
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* Completes the cached descriptor set with live reads for any granted
|
|
472
|
-
* private collection the cache does not cover. A first login has no cache at
|
|
473
|
-
* all, and the connected replica must open epoch-aware BEFORE sync starts:
|
|
474
|
-
* the adoption merge writes into it right after open, and epoch-from-birth
|
|
475
|
-
* leaves no single-key fallback to write under. Best-effort: a failed read
|
|
476
|
-
* leaves those collections fail-closed until the sync bootstrap's own
|
|
477
|
-
* descriptor read lands. Freshly fetched descriptors enter the offline cache
|
|
478
|
-
* immediately, and come back separately as `fresh` so the sync bootstrap can
|
|
479
|
-
* reuse them instead of re-issuing the same reads seconds later (cached
|
|
480
|
-
* descriptors are NOT passed on -- the bootstrap read is their freshness
|
|
481
|
-
* refresh).
|
|
482
|
-
*
|
|
483
|
-
* @param options {object}
|
|
484
|
-
* @param [options.cached] {Record<string, CollectionEncryption>}
|
|
485
|
-
* @param options.identity {IdentityAgents}
|
|
486
|
-
* @param options.parsed {ParsedGrants}
|
|
487
|
-
* @returns {Promise<object>} `descriptors` (the completed set, or
|
|
488
|
-
* undefined when there are none) and `fresh` (the live-read subset)
|
|
489
|
-
*/
|
|
490
|
-
async function completeDescriptors({ cached, identity, parsed }) {
|
|
491
|
-
const missing = config.collections.filter(collection => !isPublicCollection(collection) &&
|
|
492
|
-
parsed.byCollectionId[collection.id] !== undefined &&
|
|
493
|
-
!cached?.[collection.id]);
|
|
494
|
-
if (missing.length === 0) {
|
|
495
|
-
return { descriptors: cached, fresh: {} };
|
|
496
|
-
}
|
|
497
|
-
try {
|
|
498
|
-
const fetched = await readRemoteDescriptors({
|
|
499
|
-
parsed,
|
|
500
|
-
zcapClient: identity.zcapClient,
|
|
501
|
-
collections: missing
|
|
502
|
-
});
|
|
503
|
-
if (Object.keys(fetched).length > 0) {
|
|
504
|
-
await cacheDescriptors({
|
|
505
|
-
descriptors: fetched,
|
|
506
|
-
controllerDid: identity.controllerDid
|
|
507
|
-
});
|
|
508
|
-
return { descriptors: { ...fetched, ...cached }, fresh: fetched };
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
catch (err) {
|
|
512
|
-
console.warn('Failed to read encryption descriptors at login:', err);
|
|
513
|
-
}
|
|
514
|
-
return { descriptors: cached, fresh: {} };
|
|
515
|
-
}
|
|
516
390
|
async function activateConnected(session) {
|
|
517
391
|
try {
|
|
518
392
|
// Load the cached encryption descriptors so the connected replica opens
|
|
519
393
|
// epoch-aware: an offline hot restore then decrypts multi-recipient
|
|
520
394
|
// envelopes with no live description read, while a first login (no cache
|
|
521
395
|
// yet) completes the set with live reads before the replica opens.
|
|
522
|
-
const { descriptors, fresh } = await completeDescriptors({
|
|
523
|
-
cached: await loadCachedDescriptors({
|
|
396
|
+
const { descriptors, fresh } = await descriptorManager.completeDescriptors({
|
|
397
|
+
cached: await descriptorManager.loadCachedDescriptors({
|
|
524
398
|
controllerDid: session.identity.controllerDid
|
|
525
399
|
}),
|
|
526
400
|
identity: session.identity,
|
|
@@ -640,7 +514,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
640
514
|
keyResolver: identity.keyResolver,
|
|
641
515
|
collections: config.collections,
|
|
642
516
|
dbName: dbNameForController({ dbName, controllerDid }),
|
|
643
|
-
descriptors: await loadOrMintAnonDescriptors(identity),
|
|
517
|
+
descriptors: await descriptorManager.loadOrMintAnonDescriptors(identity),
|
|
644
518
|
...(storage && { storage })
|
|
645
519
|
});
|
|
646
520
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The session's collection-encryption descriptor policy, bound once to the app's
|
|
6
|
+
* collection registry and its two seed stores (the connected session's and the
|
|
7
|
+
* anonymous replica's). It owns where a descriptor comes from at each point of a
|
|
8
|
+
* bring-up: minted locally at an anonymous collection's birth, read from the
|
|
9
|
+
* offline cache before any remote exists, completed with live reads for a
|
|
10
|
+
* granted private collection the cache does not cover, and written back to the
|
|
11
|
+
* cache once the sync bootstrap has fetched a fresh set. The auth store merely
|
|
12
|
+
* sequences these four operations.
|
|
13
|
+
*
|
|
14
|
+
* Every operation is best-effort in the same way: a failure leaves the affected
|
|
15
|
+
* collections fail-closed (epoch-from-birth has no single-key fallback) and is
|
|
16
|
+
* warned about, rather than failing the session.
|
|
17
|
+
*/
|
|
18
|
+
import type { CollectionEncryption } from '@interop/was-client';
|
|
19
|
+
import { type WasCollectionConfig } from '../config.js';
|
|
20
|
+
import type { IdentityAgents } from '../identity/agents.js';
|
|
21
|
+
import { type SeedStore } from '../identity/seedStore.js';
|
|
22
|
+
import type { ParsedGrants } from '../grants.js';
|
|
23
|
+
/**
|
|
24
|
+
* The four descriptor operations, bound to one app's collections and stores.
|
|
25
|
+
*/
|
|
26
|
+
export interface DescriptorManager {
|
|
27
|
+
loadOrMintAnonDescriptors(identity: IdentityAgents): Promise<Record<string, CollectionEncryption>>;
|
|
28
|
+
loadCachedDescriptors(options: {
|
|
29
|
+
controllerDid: string;
|
|
30
|
+
}): Promise<Record<string, CollectionEncryption> | undefined>;
|
|
31
|
+
cacheDescriptors(options: {
|
|
32
|
+
descriptors: Record<string, CollectionEncryption>;
|
|
33
|
+
controllerDid: string;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
completeDescriptors(options: {
|
|
36
|
+
cached?: Record<string, CollectionEncryption>;
|
|
37
|
+
identity: IdentityAgents;
|
|
38
|
+
parsed: ParsedGrants;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
descriptors?: Record<string, CollectionEncryption>;
|
|
41
|
+
fresh: Record<string, CollectionEncryption>;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Builds the descriptor manager for one app session.
|
|
46
|
+
*
|
|
47
|
+
* @param options {object}
|
|
48
|
+
* @param options.collections {WasCollectionConfig[]} the app-owned collection
|
|
49
|
+
* registry (public collections carry no descriptor)
|
|
50
|
+
* @param options.sessionStore {SeedStore} the connected session's persistence,
|
|
51
|
+
* holding the offline descriptor cache
|
|
52
|
+
* @param options.anonStore {SeedStore} the anonymous replica's persistence,
|
|
53
|
+
* holding the descriptors minted at local birth
|
|
54
|
+
* @returns {DescriptorManager}
|
|
55
|
+
*/
|
|
56
|
+
export declare function createDescriptorManager({ collections, sessionStore, anonStore }: {
|
|
57
|
+
collections: WasCollectionConfig[];
|
|
58
|
+
sessionStore: SeedStore;
|
|
59
|
+
anonStore: SeedStore;
|
|
60
|
+
}): DescriptorManager;
|
|
61
|
+
//# sourceMappingURL=descriptorManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptorManager.d.ts","sourceRoot":"","sources":["../../src/storage/descriptorManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGhD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB,CACvB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAChD,qBAAqB,CAAC,OAAO,EAAE;QAC7B,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAC,CAAA;IAC7D,gBAAgB,CAAC,OAAO,EAAE;QACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACjD,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,mBAAmB,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAC7C,QAAQ,EAAE,cAAc,CAAA;QACxB,MAAM,EAAE,YAAY,CAAA;KACrB,GAAG,OAAO,CAAC;QACV,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAClD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;KAC5C,CAAC,CAAA;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,YAAY,EACZ,SAAS,EACV,EAAE;IACD,WAAW,EAAE,mBAAmB,EAAE,CAAA;IAClC,YAAY,EAAE,SAAS,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;CACrB,GAAG,iBAAiB,CA6LpB"}
|