@interop/was-react 0.1.4 → 0.1.6
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/dist/auth/loginRequest.d.ts +4 -9
- package/dist/auth/loginRequest.d.ts.map +1 -1
- package/dist/auth/loginRequest.js +2 -13
- package/dist/auth/loginRequest.js.map +1 -1
- package/dist/auth/walletRequestTypes.d.ts +3 -2
- package/dist/auth/walletRequestTypes.d.ts.map +1 -1
- package/dist/config.d.ts +22 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/grants.d.ts +10 -8
- package/dist/grants.d.ts.map +1 -1
- package/dist/grants.js +12 -9
- package/dist/grants.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/mui/ClearDataDialog.d.ts +12 -0
- package/dist/mui/ClearDataDialog.d.ts.map +1 -0
- package/dist/mui/ClearDataDialog.js +30 -0
- package/dist/mui/ClearDataDialog.js.map +1 -0
- package/dist/mui/LogoutDialog.d.ts +12 -0
- package/dist/mui/LogoutDialog.d.ts.map +1 -0
- package/dist/mui/LogoutDialog.js +30 -0
- package/dist/mui/LogoutDialog.js.map +1 -0
- package/dist/mui/ProtectedRoute.d.ts +2 -2
- package/dist/mui/ProtectedRoute.d.ts.map +1 -1
- package/dist/mui/ProtectedRoute.js +30 -23
- package/dist/mui/ProtectedRoute.js.map +1 -1
- package/dist/mui/index.d.ts +2 -0
- package/dist/mui/index.d.ts.map +1 -1
- package/dist/mui/index.js +2 -0
- package/dist/mui/index.js.map +1 -1
- package/dist/react/WasSessionProvider.d.ts.map +1 -1
- package/dist/react/WasSessionProvider.js +8 -4
- package/dist/react/WasSessionProvider.js.map +1 -1
- package/dist/react/hooks.d.ts +19 -4
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/hooks.js +22 -6
- package/dist/react/hooks.js.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/session/authStore.d.ts +84 -21
- package/dist/session/authStore.d.ts.map +1 -1
- package/dist/session/authStore.js +231 -79
- package/dist/session/authStore.js.map +1 -1
- package/dist/session/index.d.ts +3 -4
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -3
- package/dist/session/index.js.map +1 -1
- package/dist/storage/entityStore.d.ts +3 -2
- package/dist/storage/entityStore.d.ts.map +1 -1
- package/dist/storage/entityStore.js +28 -3
- package/dist/storage/entityStore.js.map +1 -1
- package/dist/storage/localStore.d.ts +7 -0
- package/dist/storage/localStore.d.ts.map +1 -1
- package/dist/storage/localStore.js +9 -0
- package/dist/storage/localStore.js.map +1 -1
- package/dist/sync/types.d.ts +5 -1
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js.map +1 -1
- package/dist/sync/wasSyncPort.d.ts.map +1 -1
- package/dist/sync/wasSyncPort.js +19 -6
- package/dist/sync/wasSyncPort.js.map +1 -1
- package/package.json +1 -1
- package/dist/session/appReadyStore.d.ts +0 -10
- package/dist/session/appReadyStore.d.ts.map +0 -1
- package/dist/session/appReadyStore.js +0 -22
- package/dist/session/appReadyStore.js.map +0 -1
|
@@ -2,17 +2,24 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* The
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* The session auth store (zustand): a four-state machine
|
|
6
|
+
* (`boot` | `local` | `connected` | `reconnect`) that owns the whole session
|
|
7
|
+
* lifecycle -- boot (hot restore or fall to an anonymous local replica), Login
|
|
8
|
+
* With Wallet, the non-CHAPI `connectWithGrants` path, logout, clear-data, and
|
|
9
|
+
* the expired-access reconnect -- plus the open/hydrate/sync ordering.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* `boot` attempts a zero-popup session restore. A restore hit opens the
|
|
12
|
+
* encrypted {@link LocalStore} under the session seed, hydrates the entity
|
|
13
|
+
* stores, starts WAS replication, and lands `connected`. A restore miss (or any
|
|
14
|
+
* error) opens the store under a persisted ANONYMOUS seed instead and lands
|
|
15
|
+
* `local`: a fully usable, encrypted, local-only replica with no remote. Both
|
|
16
|
+
* successors finish open+hydrate before leaving `boot`, so "app ready" is simply
|
|
17
|
+
* `status !== 'boot'`.
|
|
13
18
|
*
|
|
14
|
-
* `
|
|
15
|
-
*
|
|
19
|
+
* Login (or `connectWithGrants`) tears the anonymous replica down and opens the
|
|
20
|
+
* connected replica under the wallet-derived seed. Logout returns to a fresh
|
|
21
|
+
* `local` (optionally wiping the connected replica); `clearLocalData` mints a
|
|
22
|
+
* brand-new anonymous seed and replica.
|
|
16
23
|
*
|
|
17
24
|
* The library cannot bind a module-level store to app config, so this is a
|
|
18
25
|
* FACTORY: {@link createAuthStore} captures the app's {@link WasAppConfig} and
|
|
@@ -20,11 +27,11 @@
|
|
|
20
27
|
* vanilla zustand store the hooks consume through context.
|
|
21
28
|
*/
|
|
22
29
|
import { createStore } from 'zustand/vanilla';
|
|
23
|
-
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS } from '../config.js';
|
|
30
|
+
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING } from '../config.js';
|
|
24
31
|
import { createDocumentLoader } from '../identity/documentLoader.js';
|
|
25
32
|
import { initAppSession } from '../identity/initAppSession.js';
|
|
26
33
|
import { createSeedStore } from '../identity/seedStore.js';
|
|
27
|
-
import { clearAppSession, persistAppSession, restoreAppSession, isNearExpiry } from '../identity/appSession.js';
|
|
34
|
+
import { clearAppSession, persistAppSession, restoreAppSession, isNearExpiry, earliestExpiry } from '../identity/appSession.js';
|
|
28
35
|
import { loginWithWallet, requestGrants, LoginCancelledError } from '../auth/loginFlow.js';
|
|
29
36
|
import { parseGrants } from '../grants.js';
|
|
30
37
|
import { LocalStore, dbNameForController } from '../storage/localStore.js';
|
|
@@ -34,9 +41,13 @@ import { startWasSync } from '../storage/wasSync.js';
|
|
|
34
41
|
import { errorMessage } from '../sync/index.js';
|
|
35
42
|
import { createSyncController } from '../storage/syncController.js';
|
|
36
43
|
import { useSyncStatusStore } from '../storage/syncStatusStore.js';
|
|
37
|
-
import { useAppReady } from './appReadyStore.js';
|
|
38
44
|
/**
|
|
39
|
-
*
|
|
45
|
+
* A nominal far-future expiry (ms) for grants minted without one (dev/test).
|
|
46
|
+
* Well past the near-expiry warning, so the watch never fires against them.
|
|
47
|
+
*/
|
|
48
|
+
const FAR_FUTURE_EXPIRY_MS = 100 * 365 * 24 * 60 * 60 * 1000;
|
|
49
|
+
/**
|
|
50
|
+
* Builds the session auth store bound to an app's config and store registry.
|
|
40
51
|
* Call once (the React provider does) and share the returned store through
|
|
41
52
|
* context; the hooks read it via `useStore`.
|
|
42
53
|
*
|
|
@@ -52,7 +63,12 @@ import { useAppReady } from './appReadyStore.js';
|
|
|
52
63
|
*/
|
|
53
64
|
export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
54
65
|
const dbName = config.dbName ?? DEFAULT_DB_NAME;
|
|
66
|
+
const onboarding = config.onboarding ?? DEFAULT_ONBOARDING;
|
|
55
67
|
const sessionStore = seedStore ?? createSeedStore({ dbName: `${dbName}-session` });
|
|
68
|
+
// The anonymous-seed persistence for `local` mode: only a raw 32-byte seed,
|
|
69
|
+
// no session record, in its own IndexedDB so it never collides with the
|
|
70
|
+
// wallet session or a connected replica.
|
|
71
|
+
const anonStore = createSeedStore({ dbName: `${dbName}-anon` });
|
|
56
72
|
const documentLoader = createDocumentLoader(config.wasServerUrl !== undefined
|
|
57
73
|
? { wasServerUrl: config.wasServerUrl }
|
|
58
74
|
: {});
|
|
@@ -133,7 +149,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
133
149
|
}
|
|
134
150
|
/**
|
|
135
151
|
* Persists the session record, kicks off background replication, and arms the
|
|
136
|
-
* near-expiry watch. Shared by the
|
|
152
|
+
* near-expiry watch. Shared by the connected activation and the reconnect
|
|
137
153
|
* re-grant paths (identical persist + begin-sync + arm sequence).
|
|
138
154
|
*
|
|
139
155
|
* @param options {object}
|
|
@@ -181,28 +197,78 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
181
197
|
}
|
|
182
198
|
}
|
|
183
199
|
/**
|
|
184
|
-
* Opens
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
200
|
+
* Opens the encrypted replica under `seed` (a per-controller database name),
|
|
201
|
+
* installs it as the process-wide store, and hydrates every entity store.
|
|
202
|
+
* Shared by `openLocal` and the connected activation.
|
|
203
|
+
*
|
|
204
|
+
* @param options {object}
|
|
205
|
+
* @param options.seed {Uint8Array}
|
|
206
|
+
* @param options.controllerDid {string}
|
|
207
|
+
* @returns {Promise<void>}
|
|
189
208
|
*/
|
|
190
|
-
async function
|
|
209
|
+
async function openAndHydrate({ seed, controllerDid }) {
|
|
210
|
+
const local = await LocalStore.init({
|
|
211
|
+
seed,
|
|
212
|
+
collections: config.collections,
|
|
213
|
+
dbName: dbNameForController({ dbName, controllerDid }),
|
|
214
|
+
...(storage && { storage })
|
|
215
|
+
});
|
|
216
|
+
setLocalStore(local);
|
|
217
|
+
await hydrateAll(registry);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Loads the persisted anonymous seed, minting and persisting a fresh random
|
|
221
|
+
* one on first use. `created` is true only when a new seed was generated (the
|
|
222
|
+
* signal for the one-time `seedLocal` fixtures hook).
|
|
223
|
+
*
|
|
224
|
+
* @returns {Promise<{ seed: Uint8Array, created: boolean }>}
|
|
225
|
+
*/
|
|
226
|
+
async function loadOrCreateAnonSeed() {
|
|
227
|
+
const existing = await anonStore.loadSeed();
|
|
228
|
+
if (existing) {
|
|
229
|
+
return { seed: existing, created: false };
|
|
230
|
+
}
|
|
231
|
+
const seed = crypto.getRandomValues(new Uint8Array(32));
|
|
232
|
+
await anonStore.saveSeed(seed);
|
|
233
|
+
return { seed, created: true };
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Opens (or re-opens) the anonymous local replica and lands `local`. Seeds
|
|
237
|
+
* dev fixtures only when the anonymous seed was just minted (so they run once
|
|
238
|
+
* per fresh replica, never on reload).
|
|
239
|
+
*
|
|
240
|
+
* @returns {Promise<void>}
|
|
241
|
+
*/
|
|
242
|
+
async function openLocal() {
|
|
243
|
+
const { seed, created } = await loadOrCreateAnonSeed();
|
|
244
|
+
const identity = await initAppSession({ seed });
|
|
245
|
+
await openAndHydrate({ seed, controllerDid: identity.controllerDid });
|
|
246
|
+
if (created && config.seedLocal) {
|
|
247
|
+
await config.seedLocal();
|
|
248
|
+
}
|
|
249
|
+
store.setState({
|
|
250
|
+
status: 'local',
|
|
251
|
+
controllerDid: identity.controllerDid,
|
|
252
|
+
expires: null,
|
|
253
|
+
accessExpired: false,
|
|
254
|
+
error: null
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Opens the connected replica under the session seed, hydrates, persists the
|
|
259
|
+
* session, and starts sync. On any failure the store is torn back down and the
|
|
260
|
+
* anonymous local replica re-opened (so the app never dead-ends), then the
|
|
261
|
+
* error is surfaced and rethrown for the caller to finalize.
|
|
262
|
+
*
|
|
263
|
+
* @param session {ActiveSession}
|
|
264
|
+
* @returns {Promise<void>}
|
|
265
|
+
*/
|
|
266
|
+
async function activateConnected(session) {
|
|
191
267
|
try {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
dbName: dbNameForController({
|
|
197
|
-
dbName,
|
|
198
|
-
controllerDid: session.identity.controllerDid
|
|
199
|
-
}),
|
|
200
|
-
...(storage && { storage })
|
|
201
|
-
});
|
|
202
|
-
setLocalStore(local);
|
|
203
|
-
}
|
|
204
|
-
await hydrateAll(registry);
|
|
205
|
-
// Flip the ready gate only once the session is durably persisted.
|
|
268
|
+
await openAndHydrate({
|
|
269
|
+
seed: session.seed,
|
|
270
|
+
controllerDid: session.identity.controllerDid
|
|
271
|
+
});
|
|
206
272
|
await persistAndStartSync({
|
|
207
273
|
seed: session.seed,
|
|
208
274
|
identity: session.identity,
|
|
@@ -210,19 +276,22 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
210
276
|
grants: session.grants,
|
|
211
277
|
expires: session.expires
|
|
212
278
|
});
|
|
213
|
-
useAppReady.getState().setReady();
|
|
214
279
|
}
|
|
215
280
|
catch (err) {
|
|
216
|
-
await
|
|
217
|
-
|
|
218
|
-
|
|
281
|
+
await deactivateStore();
|
|
282
|
+
await openLocal();
|
|
283
|
+
store.setState({ error: errorMessage(err) });
|
|
219
284
|
throw err;
|
|
220
285
|
}
|
|
221
286
|
}
|
|
222
287
|
/**
|
|
223
|
-
* Tears down
|
|
288
|
+
* Tears down the live replica + sync + entity stores WITHOUT touching either
|
|
289
|
+
* persisted seed (the anonymous seed and the session record survive). Closes
|
|
290
|
+
* the database; use {@link resetToFreshLocal} to delete it.
|
|
291
|
+
*
|
|
292
|
+
* @returns {Promise<void>}
|
|
224
293
|
*/
|
|
225
|
-
async function
|
|
294
|
+
async function deactivateStore() {
|
|
226
295
|
disarmExpiryWatch();
|
|
227
296
|
cancelScheduledRehydrates();
|
|
228
297
|
await stopController();
|
|
@@ -237,49 +306,97 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
237
306
|
}
|
|
238
307
|
clearAllEntityStores(registry);
|
|
239
308
|
useSyncStatusStore.getState().reset();
|
|
240
|
-
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Tears the current replica down and re-opens a fresh `local` replica. `wipe`
|
|
312
|
+
* (via `deleteDb`) deletes the current database rather than closing it (the
|
|
313
|
+
* logout-wipe and clear-data paths); `discardAnonSeed` drops the persisted
|
|
314
|
+
* anonymous seed BEFORE the re-open so `openLocal` mints a brand-new anonymous
|
|
315
|
+
* seed/DID + database (the clear-data path).
|
|
316
|
+
*
|
|
317
|
+
* @param options {object}
|
|
318
|
+
* @param options.deleteDb {boolean}
|
|
319
|
+
* @param [options.discardAnonSeed] {boolean}
|
|
320
|
+
* @returns {Promise<void>}
|
|
321
|
+
*/
|
|
322
|
+
async function resetToFreshLocal({ deleteDb, discardAnonSeed = false }) {
|
|
323
|
+
disarmExpiryWatch();
|
|
324
|
+
cancelScheduledRehydrates();
|
|
325
|
+
await stopController();
|
|
326
|
+
if (hasStore()) {
|
|
327
|
+
try {
|
|
328
|
+
if (deleteDb) {
|
|
329
|
+
await requireStore().remove();
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
await requireStore().close();
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
catch (err) {
|
|
336
|
+
console.warn('Error tearing down the local store:', err);
|
|
337
|
+
}
|
|
338
|
+
clearLocalStore();
|
|
339
|
+
}
|
|
340
|
+
clearAllEntityStores(registry);
|
|
341
|
+
useSyncStatusStore.getState().reset();
|
|
342
|
+
if (discardAnonSeed) {
|
|
343
|
+
await anonStore.clearSeedStore();
|
|
344
|
+
}
|
|
345
|
+
await openLocal();
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* The step-3 adoption seam: called from `login()` after the wallet returns
|
|
349
|
+
* identity + grants and before the connected replica opens. In step 2 it only
|
|
350
|
+
* tears the anonymous replica down; the anonymous seed and its IndexedDB are
|
|
351
|
+
* left intact (not migrated, not deleted) so a later step can adopt them.
|
|
352
|
+
*
|
|
353
|
+
* @returns {Promise<void>}
|
|
354
|
+
*/
|
|
355
|
+
async function adoptLocalIntoConnected() {
|
|
356
|
+
await deactivateStore();
|
|
241
357
|
}
|
|
242
358
|
// Declared last so `prefer-const` is satisfied; the lifecycle closures above
|
|
243
359
|
// only dereference `store` at call time, by which point it is assigned.
|
|
244
360
|
const store = createStore()((set, get) => ({
|
|
245
|
-
status: '
|
|
361
|
+
status: 'boot',
|
|
362
|
+
onboarding,
|
|
363
|
+
authenticating: false,
|
|
246
364
|
phase: null,
|
|
247
365
|
error: null,
|
|
248
366
|
controllerDid: null,
|
|
249
367
|
expires: null,
|
|
250
368
|
accessExpired: false,
|
|
251
369
|
reconnecting: false,
|
|
252
|
-
|
|
253
|
-
if (get().status !== '
|
|
370
|
+
boot: async () => {
|
|
371
|
+
if (get().status !== 'boot') {
|
|
254
372
|
return;
|
|
255
373
|
}
|
|
256
|
-
set({ status: 'restoring' });
|
|
257
374
|
try {
|
|
258
375
|
const restored = await restoreAppSession({ store: sessionStore });
|
|
259
376
|
if (!restored) {
|
|
260
|
-
|
|
377
|
+
await openLocal();
|
|
261
378
|
return;
|
|
262
379
|
}
|
|
263
380
|
const identity = await initAppSession({ seed: restored.seed });
|
|
264
381
|
if (identity.controllerDid !== restored.controllerDid) {
|
|
265
|
-
// A corrupt record; treat as logged out.
|
|
382
|
+
// A corrupt record; treat as logged out and fall to local.
|
|
266
383
|
await clearAppSession({ store: sessionStore });
|
|
267
|
-
|
|
384
|
+
await openLocal();
|
|
268
385
|
return;
|
|
269
386
|
}
|
|
270
387
|
const parsed = parseGrants(restored.grants);
|
|
271
388
|
if (config.wasServerUrl !== undefined &&
|
|
272
389
|
parsed.serverUrl !== config.wasServerUrl) {
|
|
273
390
|
await clearAppSession({ store: sessionStore });
|
|
274
|
-
|
|
391
|
+
await openLocal();
|
|
275
392
|
return;
|
|
276
393
|
}
|
|
277
394
|
// Unlike login/reconnect (which run `checkGrants`), a hot restore trusts
|
|
278
395
|
// the persisted grants; re-check that they still cover every configured
|
|
279
|
-
// collection so a partially-covered grant set raises the reconnect
|
|
280
|
-
// proactively rather than waiting for a per-collection 403
|
|
396
|
+
// collection so a partially-covered grant set raises the reconnect
|
|
397
|
+
// banner proactively rather than waiting for a per-collection 403.
|
|
281
398
|
const uncovered = config.collections.filter(collection => parsed.byCollectionId[collection.id] === undefined);
|
|
282
|
-
await
|
|
399
|
+
await activateConnected({
|
|
283
400
|
seed: restored.seed,
|
|
284
401
|
identity,
|
|
285
402
|
parsed,
|
|
@@ -287,7 +404,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
287
404
|
expires: restored.expires
|
|
288
405
|
});
|
|
289
406
|
set({
|
|
290
|
-
status: '
|
|
407
|
+
status: uncovered.length > 0 ? 'reconnect' : 'connected',
|
|
291
408
|
controllerDid: identity.controllerDid,
|
|
292
409
|
expires: restored.expires,
|
|
293
410
|
error: null,
|
|
@@ -295,22 +412,39 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
295
412
|
});
|
|
296
413
|
}
|
|
297
414
|
catch (err) {
|
|
298
|
-
console.warn('Session
|
|
299
|
-
|
|
415
|
+
console.warn('Session boot failed:', err);
|
|
416
|
+
// `activateConnected` already re-opens local on its own failure; only
|
|
417
|
+
// open local here for an earlier failure that never reached it.
|
|
418
|
+
if (get().status === 'boot') {
|
|
419
|
+
try {
|
|
420
|
+
await openLocal();
|
|
421
|
+
}
|
|
422
|
+
catch (localErr) {
|
|
423
|
+
// Even the anonymous local replica could not be opened: a genuine
|
|
424
|
+
// storage failure, the only case that leaves `status` at `boot`
|
|
425
|
+
// with an `error`. Surfacing it here (rather than a login/reconnect
|
|
426
|
+
// failure, which only ever sets `error` after `status` has left
|
|
427
|
+
// `boot`) is what lets `ProtectedRoute` scope its fatal alert to
|
|
428
|
+
// boot/storage failures alone.
|
|
429
|
+
set({ error: errorMessage(localErr) });
|
|
430
|
+
}
|
|
431
|
+
}
|
|
300
432
|
}
|
|
301
433
|
},
|
|
302
434
|
login: async () => {
|
|
303
|
-
|
|
304
|
-
if (status === 'authenticating' || status === 'authenticated') {
|
|
435
|
+
if (get().authenticating || get().status === 'connected') {
|
|
305
436
|
return;
|
|
306
437
|
}
|
|
307
|
-
set({
|
|
438
|
+
set({ authenticating: true, error: null, phase: 'probing' });
|
|
308
439
|
try {
|
|
309
440
|
const outcome = await loginWithWallet({
|
|
310
441
|
config: loginConfig,
|
|
311
442
|
onPhase: phase => set({ phase })
|
|
312
443
|
});
|
|
313
|
-
|
|
444
|
+
// The wallet succeeded: only now tear down the anonymous replica (a
|
|
445
|
+
// cancel above leaves `local` intact).
|
|
446
|
+
await adoptLocalIntoConnected();
|
|
447
|
+
await activateConnected({
|
|
314
448
|
seed: outcome.seed,
|
|
315
449
|
identity: outcome.identity,
|
|
316
450
|
parsed: outcome.parsed,
|
|
@@ -318,7 +452,8 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
318
452
|
expires: outcome.expires
|
|
319
453
|
});
|
|
320
454
|
set({
|
|
321
|
-
status: '
|
|
455
|
+
status: 'connected',
|
|
456
|
+
authenticating: false,
|
|
322
457
|
controllerDid: outcome.identity.controllerDid,
|
|
323
458
|
expires: outcome.expires,
|
|
324
459
|
phase: null,
|
|
@@ -332,12 +467,27 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
332
467
|
: err instanceof Error
|
|
333
468
|
? `Login failed: ${err.message}`
|
|
334
469
|
: 'Login failed.';
|
|
335
|
-
set({
|
|
470
|
+
set({ authenticating: false, phase: null, error: message });
|
|
336
471
|
}
|
|
337
472
|
},
|
|
473
|
+
connectWithGrants: async ({ seed, grants }) => {
|
|
474
|
+
const identity = await initAppSession({ seed });
|
|
475
|
+
const parsed = parseGrants(grants);
|
|
476
|
+
const expires = earliestExpiry(grants) ??
|
|
477
|
+
new Date(Date.now() + FAR_FUTURE_EXPIRY_MS).toISOString();
|
|
478
|
+
await deactivateStore();
|
|
479
|
+
await activateConnected({ seed, identity, parsed, grants, expires });
|
|
480
|
+
set({
|
|
481
|
+
status: 'connected',
|
|
482
|
+
controllerDid: identity.controllerDid,
|
|
483
|
+
expires,
|
|
484
|
+
error: null,
|
|
485
|
+
accessExpired: false
|
|
486
|
+
});
|
|
487
|
+
},
|
|
338
488
|
reconnect: async () => {
|
|
339
489
|
const { reconnecting, status } = get();
|
|
340
|
-
if (reconnecting || status !== '
|
|
490
|
+
if (reconnecting || status !== 'reconnect') {
|
|
341
491
|
return;
|
|
342
492
|
}
|
|
343
493
|
set({ reconnecting: true, error: null });
|
|
@@ -362,6 +512,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
362
512
|
expires: checked.expires
|
|
363
513
|
});
|
|
364
514
|
set({
|
|
515
|
+
status: 'connected',
|
|
365
516
|
accessExpired: false,
|
|
366
517
|
expires: checked.expires,
|
|
367
518
|
reconnecting: false
|
|
@@ -372,32 +523,33 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
372
523
|
set({ reconnecting: false, error: message });
|
|
373
524
|
}
|
|
374
525
|
},
|
|
375
|
-
logout: async () => {
|
|
376
|
-
await
|
|
526
|
+
logout: async ({ wipe = false } = {}) => {
|
|
527
|
+
await resetToFreshLocal({ deleteDb: wipe });
|
|
377
528
|
await clearAppSession({ store: sessionStore });
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
reconnecting: false
|
|
386
|
-
});
|
|
529
|
+
// `resetToFreshLocal` already landed `local` (fresh anon replica); clear
|
|
530
|
+
// the remaining transients.
|
|
531
|
+
set({ phase: null, reconnecting: false });
|
|
532
|
+
},
|
|
533
|
+
clearLocalData: async () => {
|
|
534
|
+
await resetToFreshLocal({ deleteDb: true, discardAnonSeed: true });
|
|
535
|
+
set({ phase: null, reconnecting: false });
|
|
387
536
|
},
|
|
388
537
|
notifyAccessExpired: () => {
|
|
389
|
-
if (
|
|
390
|
-
set({ accessExpired: true });
|
|
538
|
+
if (get().status === 'connected') {
|
|
539
|
+
set({ status: 'reconnect', accessExpired: true });
|
|
391
540
|
}
|
|
392
541
|
},
|
|
393
542
|
destroy: async () => {
|
|
394
|
-
await
|
|
395
|
-
// Back to `
|
|
396
|
-
// StrictMode remount's `
|
|
543
|
+
await deactivateStore();
|
|
544
|
+
// Back to `boot` (not `local`) and both persisted seeds left intact: a
|
|
545
|
+
// StrictMode remount's `boot()` re-opens the same session (or local).
|
|
397
546
|
set({
|
|
398
|
-
status: '
|
|
547
|
+
status: 'boot',
|
|
548
|
+
authenticating: false,
|
|
399
549
|
phase: null,
|
|
400
550
|
error: null,
|
|
551
|
+
controllerDid: null,
|
|
552
|
+
expires: null,
|
|
401
553
|
accessExpired: false,
|
|
402
554
|
reconnecting: false
|
|
403
555
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAA;AAG5D,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EAGxB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAkB,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EAGpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EACL,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,aAAa,EACd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EACL,oBAAoB,EAErB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AA2DhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EAMR;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,eAAe,CAAA;IAC/C,MAAM,YAAY,GAChB,SAAS,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC,CAAA;IAC/D,MAAM,cAAc,GAAG,oBAAoB,CACzC,MAAM,CAAC,YAAY,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;QACvC,CAAC,CAAC,EAAE,CACP,CAAA;IAED,8EAA8E;IAC9E,8BAA8B;IAC9B,MAAM,WAAW,GAAgB;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc;QACd,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;KACH,CAAA;IAED;;;;OAIG;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,yBAAyB,CAAA;IACvE;;OAEG;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,uBAAuB,CAAA;IAEjE,IAAI,WAAuD,CAAA;IAC3D,8EAA8E;IAC9E,0CAA0C;IAC1C,IAAI,UAAU,GAA0B,IAAI,CAAA;IAC5C,6EAA6E;IAC7E,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,WAAW,GAA4B,IAAI,CAAA;IAE/C;;OAEG;IACH,SAAS,iBAAiB;QACxB,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,CAAC,WAAW,CAAC,CAAA;YAC1B,WAAW,GAAG,SAAS,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,cAAc,CAAC,OAAe;QACrC,iBAAiB,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,QAAQ,EAAE,CAAC,mBAAmB,EAAE,CAAA;YACxC,CAAC;QACH,CAAC,CAAA;QACD,KAAK,EAAE,CAAA;QACP,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,SAAS,SAAS,CAAC,EACjB,MAAM,EACN,UAAU,EAIX;QACC,UAAU,GAAG,oBAAoB,CAAC;YAChC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1C,CAAC,CAAA;QACF,OAAO,YAAY,CAAC;YAClB,MAAM;YACN,UAAU;YACV,UAAU,EAAE,YAAY,EAAE;YAC1B,cAAc,EAAE,UAAU;YAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAC7B,KAAK,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;YAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,mBAAmB,EAAE;SAC1D,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,mBAAmB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EAOR;QACC,MAAM,iBAAiB,CAAC;YACtB,OAAO,EAAE;gBACP,IAAI;gBACJ,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM;gBACN,OAAO;aACR;YACD,KAAK,EAAE,YAAY;SACpB,CAAC,CAAA;QACF,0EAA0E;QAC1E,WAAW,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QACpE,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC3B,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAC/C,CAAA;QACD,cAAc,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,cAAc;QAC3B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,WAAW,CAAA;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;YACD,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;YACvB,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,eAAe,CAAC,OAAsB;QACnD,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,mBAAmB,CAAC;wBAC1B,MAAM;wBACN,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa;qBAC9C,CAAC;oBACF,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC5B,CAAC,CAAA;gBACF,aAAa,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;YACD,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;YAC1B,kEAAkE;YAClE,MAAM,mBAAmB,CAAC;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAA;YACF,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,iBAAiB,EAAE,CAAA;YACzB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;YACjC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACxC,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,iBAAiB;QAC9B,iBAAiB,EAAE,CAAA;QACnB,yBAAyB,EAAE,CAAA;QAC3B,MAAM,cAAc,EAAE,CAAA;QACtB,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,CAAA;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;YACrD,CAAC;YACD,eAAe,EAAE,CAAA;QACnB,CAAC;QACD,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9B,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;QACrC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,KAAK,GAAiB,WAAW,EAAa,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QAEnB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,GAAG,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAM;YACR,CAAC;YACD,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YAC5B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;gBACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;oBAClC,OAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC9D,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;oBACtD,yCAAyC;oBACzC,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;oBAC9C,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;oBAClC,OAAM;gBACR,CAAC;gBACD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAC3C,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;oBACjC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,YAAY,EACxC,CAAC;oBACD,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;oBAC9C,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;oBAClC,OAAM;gBACR,CAAC;gBACD,yEAAyE;gBACzE,wEAAwE;gBACxE,0EAA0E;gBAC1E,wEAAwE;gBACxE,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CACzC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,SAAS,CACjE,CAAA;gBACD,MAAM,eAAe,CAAC;oBACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,QAAQ;oBACR,MAAM;oBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CAAA;gBACF,GAAG,CAAC;oBACF,MAAM,EAAE,eAAe;oBACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,KAAK,EAAE,IAAI;oBACX,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;iBACpC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;gBAC5C,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAED,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAA;YACxB,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC9D,OAAM;YACR,CAAC;YACD,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAChE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;oBACpC,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;iBACjC,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC;oBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAA;gBACF,GAAG,CAAC;oBACF,MAAM,EAAE,eAAe;oBACvB,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa;oBAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;oBACX,aAAa,EAAE,KAAK;iBACrB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GACX,GAAG,YAAY,mBAAmB;oBAChC,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,GAAG,YAAY,KAAK;wBACpB,CAAC,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE;wBAChC,CAAC,CAAC,eAAe,CAAA;gBACvB,GAAG,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QAED,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAA;YACtC,IAAI,YAAY,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC/C,OAAM;YACR,CAAC;YACD,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,IAAI,CAAC;gBACH,yEAAyE;gBACzE,uEAAuE;gBACvE,mEAAmE;gBACnE,4DAA4D;gBAC5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;oBACpB,OAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;gBACtE,MAAM,cAAc,EAAE,CAAA;gBACtB,MAAM,mBAAmB,CAAC;oBACxB,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAA;gBACF,GAAG,CAAC;oBACF,aAAa,EAAE,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAA;gBACxE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,iBAAiB,EAAE,CAAA;YACzB,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;YAC9C,GAAG,CAAC;gBACF,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAA;QACJ,CAAC;QAED,mBAAmB,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;gBACzB,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,iBAAiB,EAAE,CAAA;YACzB,uEAAuE;YACvE,wEAAwE;YACxE,GAAG,CAAC;gBACF,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAC,CAAA;IAEH,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.d.ts
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* The session lifecycle layer: the
|
|
6
|
-
*
|
|
5
|
+
* The session lifecycle layer: the session auth store factory (the four-state
|
|
6
|
+
* `boot` | `local` | `connected` | `reconnect` machine).
|
|
7
7
|
*/
|
|
8
|
-
export { createAuthStore, type
|
|
9
|
-
export { useAppReady } from './appReadyStore.js';
|
|
8
|
+
export { createAuthStore, type SessionStatus, type AuthState, type WasAuthStore } from './authStore.js';
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA"}
|
package/dist/session/index.js
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* The session lifecycle layer: the
|
|
6
|
-
*
|
|
5
|
+
* The session lifecycle layer: the session auth store factory (the four-state
|
|
6
|
+
* `boot` | `local` | `connected` | `reconnect` machine).
|
|
7
7
|
*/
|
|
8
8
|
export { createAuthStore } from './authStore.js';
|
|
9
|
-
export { useAppReady } from './appReadyStore.js';
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EACL,eAAe,EAIhB,MAAM,gBAAgB,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EACL,eAAe,EAIhB,MAAM,gBAAgB,CAAA"}
|
|
@@ -25,7 +25,6 @@ export interface EntityStore<T extends {
|
|
|
25
25
|
* Decrypted payloads keyed by logical uuid.
|
|
26
26
|
*/
|
|
27
27
|
byId: Map<string, T>;
|
|
28
|
-
hydrated: boolean;
|
|
29
28
|
/**
|
|
30
29
|
* Decrypt every live row of the collection into the Map.
|
|
31
30
|
*/
|
|
@@ -53,7 +52,9 @@ export interface EntityStore<T extends {
|
|
|
53
52
|
* Upsert one already-decrypted doc into the Map WITHOUT persisting (the sync
|
|
54
53
|
* stream owns the persisted row already). Used for per-doc reactive patching
|
|
55
54
|
* of pulled/conflict-resolved remote changes; coalesced into one store update
|
|
56
|
-
* per pull burst (see the reactivity note above).
|
|
55
|
+
* per pull burst (see the reactivity note above). When both the incoming and
|
|
56
|
+
* the held doc carry the LWW fields (`updatedAt` + `deviceId`), a stale
|
|
57
|
+
* incoming doc is discarded rather than clobbering the newer held one.
|
|
57
58
|
*/
|
|
58
59
|
patch: (doc: T) => void;
|
|
59
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityStore.d.ts","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"entityStore.d.ts","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAwBnE,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACnD;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B;;OAEG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC;;OAEG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAC/B;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IACvB;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACxD,aAAa,EAAE,MAAM,GACpB,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAuGzC"}
|