@interop/was-react 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/AdoptDialog.d.ts +12 -0
- package/dist/mui/AdoptDialog.d.ts.map +1 -0
- package/dist/mui/AdoptDialog.js +31 -0
- package/dist/mui/AdoptDialog.js.map +1 -0
- 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 +3 -0
- package/dist/mui/index.d.ts.map +1 -1
- package/dist/mui/index.js +3 -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 +33 -5
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/hooks.js +36 -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 +111 -22
- package/dist/session/authStore.d.ts.map +1 -1
- package/dist/session/authStore.js +337 -81
- 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/adopt.d.ts +20 -0
- package/dist/storage/adopt.d.ts.map +1 -0
- package/dist/storage/adopt.js +78 -0
- package/dist/storage/adopt.js.map +1 -0
- package/dist/storage/entityStore.d.ts.map +1 -1
- package/dist/storage/entityStore.js +1 -15
- package/dist/storage/entityStore.js.map +1 -1
- package/dist/storage/localStore.d.ts +33 -3
- package/dist/storage/localStore.d.ts.map +1 -1
- package/dist/storage/localStore.js +35 -1
- package/dist/storage/localStore.js.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/lww.d.ts +12 -0
- package/dist/sync/lww.d.ts.map +1 -1
- package/dist/sync/lww.js +14 -0
- package/dist/sync/lww.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,29 @@
|
|
|
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. By default it ADOPTS the
|
|
21
|
+
* anonymous replica's data first (`adopt: 'merge'`): the decrypted payloads are
|
|
22
|
+
* collected before teardown, LWW-merged into the connected replica before its
|
|
23
|
+
* first hydrate/sync (so they reach the server as ordinary creates), and the
|
|
24
|
+
* anonymous seed + database are deleted once the activation lands. `adopt:
|
|
25
|
+
* 'leave'` sets the anonymous replica aside untouched instead (it returns after
|
|
26
|
+
* a logout). Logout returns to a fresh `local` (optionally wiping the connected
|
|
27
|
+
* replica); `clearLocalData` mints a brand-new anonymous seed and replica.
|
|
16
28
|
*
|
|
17
29
|
* The library cannot bind a module-level store to app config, so this is a
|
|
18
30
|
* FACTORY: {@link createAuthStore} captures the app's {@link WasAppConfig} and
|
|
@@ -20,23 +32,28 @@
|
|
|
20
32
|
* vanilla zustand store the hooks consume through context.
|
|
21
33
|
*/
|
|
22
34
|
import { createStore } from 'zustand/vanilla';
|
|
23
|
-
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS } from '../config.js';
|
|
35
|
+
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING } from '../config.js';
|
|
24
36
|
import { createDocumentLoader } from '../identity/documentLoader.js';
|
|
25
37
|
import { initAppSession } from '../identity/initAppSession.js';
|
|
26
38
|
import { createSeedStore } from '../identity/seedStore.js';
|
|
27
|
-
import { clearAppSession, persistAppSession, restoreAppSession, isNearExpiry } from '../identity/appSession.js';
|
|
39
|
+
import { clearAppSession, persistAppSession, restoreAppSession, isNearExpiry, earliestExpiry } from '../identity/appSession.js';
|
|
28
40
|
import { loginWithWallet, requestGrants, LoginCancelledError } from '../auth/loginFlow.js';
|
|
29
41
|
import { parseGrants } from '../grants.js';
|
|
30
42
|
import { LocalStore, dbNameForController } from '../storage/localStore.js';
|
|
31
43
|
import { clearLocalStore, hasStore, requireStore, setLocalStore } from '../storage/storageManager.js';
|
|
32
44
|
import { cancelScheduledRehydrates, clearAllEntityStores, hydrateAll, patchFromChange } from '../storage/rehydrate.js';
|
|
45
|
+
import { mergeAdopted } from '../storage/adopt.js';
|
|
33
46
|
import { startWasSync } from '../storage/wasSync.js';
|
|
34
47
|
import { errorMessage } from '../sync/index.js';
|
|
35
48
|
import { createSyncController } from '../storage/syncController.js';
|
|
36
49
|
import { useSyncStatusStore } from '../storage/syncStatusStore.js';
|
|
37
|
-
import { useAppReady } from './appReadyStore.js';
|
|
38
50
|
/**
|
|
39
|
-
*
|
|
51
|
+
* A nominal far-future expiry (ms) for grants minted without one (dev/test).
|
|
52
|
+
* Well past the near-expiry warning, so the watch never fires against them.
|
|
53
|
+
*/
|
|
54
|
+
const FAR_FUTURE_EXPIRY_MS = 100 * 365 * 24 * 60 * 60 * 1000;
|
|
55
|
+
/**
|
|
56
|
+
* Builds the session auth store bound to an app's config and store registry.
|
|
40
57
|
* Call once (the React provider does) and share the returned store through
|
|
41
58
|
* context; the hooks read it via `useStore`.
|
|
42
59
|
*
|
|
@@ -52,7 +69,12 @@ import { useAppReady } from './appReadyStore.js';
|
|
|
52
69
|
*/
|
|
53
70
|
export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
54
71
|
const dbName = config.dbName ?? DEFAULT_DB_NAME;
|
|
72
|
+
const onboarding = config.onboarding ?? DEFAULT_ONBOARDING;
|
|
55
73
|
const sessionStore = seedStore ?? createSeedStore({ dbName: `${dbName}-session` });
|
|
74
|
+
// The anonymous-seed persistence for `local` mode: only a raw 32-byte seed,
|
|
75
|
+
// no session record, in its own IndexedDB so it never collides with the
|
|
76
|
+
// wallet session or a connected replica.
|
|
77
|
+
const anonStore = createSeedStore({ dbName: `${dbName}-anon` });
|
|
56
78
|
const documentLoader = createDocumentLoader(config.wasServerUrl !== undefined
|
|
57
79
|
? { wasServerUrl: config.wasServerUrl }
|
|
58
80
|
: {});
|
|
@@ -133,7 +155,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
133
155
|
}
|
|
134
156
|
/**
|
|
135
157
|
* Persists the session record, kicks off background replication, and arms the
|
|
136
|
-
* near-expiry watch. Shared by the
|
|
158
|
+
* near-expiry watch. Shared by the connected activation and the reconnect
|
|
137
159
|
* re-grant paths (identical persist + begin-sync + arm sequence).
|
|
138
160
|
*
|
|
139
161
|
* @param options {object}
|
|
@@ -181,28 +203,86 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
181
203
|
}
|
|
182
204
|
}
|
|
183
205
|
/**
|
|
184
|
-
* Opens
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
206
|
+
* Opens the encrypted replica under `seed` (a per-controller database name),
|
|
207
|
+
* installs it as the process-wide store, and hydrates every entity store.
|
|
208
|
+
* Shared by `openLocal` and the connected activation. When `adopt` is given
|
|
209
|
+
* (a connected activation following a merge login), the collected anonymous
|
|
210
|
+
* payloads are LWW-merged in BEFORE the hydrate -- and before sync starts --
|
|
211
|
+
* so the entity stores and the first push both see them as ordinary rows.
|
|
212
|
+
*
|
|
213
|
+
* @param options {object}
|
|
214
|
+
* @param options.seed {Uint8Array}
|
|
215
|
+
* @param options.controllerDid {string}
|
|
216
|
+
* @param [options.adopt] {AdoptSource}
|
|
217
|
+
* @returns {Promise<void>}
|
|
218
|
+
*/
|
|
219
|
+
async function openAndHydrate({ seed, controllerDid, adopt }) {
|
|
220
|
+
const local = await LocalStore.init({
|
|
221
|
+
seed,
|
|
222
|
+
collections: config.collections,
|
|
223
|
+
dbName: dbNameForController({ dbName, controllerDid }),
|
|
224
|
+
...(storage && { storage })
|
|
225
|
+
});
|
|
226
|
+
setLocalStore(local);
|
|
227
|
+
if (adopt) {
|
|
228
|
+
await mergeAdopted({ store: local, entities: adopt.entities });
|
|
229
|
+
}
|
|
230
|
+
await hydrateAll(registry);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Loads the persisted anonymous seed, minting and persisting a fresh random
|
|
234
|
+
* one on first use. `created` is true only when a new seed was generated (the
|
|
235
|
+
* signal for the one-time `seedLocal` fixtures hook).
|
|
236
|
+
*
|
|
237
|
+
* @returns {Promise<{ seed: Uint8Array, created: boolean }>}
|
|
238
|
+
*/
|
|
239
|
+
async function loadOrCreateAnonSeed() {
|
|
240
|
+
const existing = await anonStore.loadSeed();
|
|
241
|
+
if (existing) {
|
|
242
|
+
return { seed: existing, created: false };
|
|
243
|
+
}
|
|
244
|
+
const seed = crypto.getRandomValues(new Uint8Array(32));
|
|
245
|
+
await anonStore.saveSeed(seed);
|
|
246
|
+
return { seed, created: true };
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Opens (or re-opens) the anonymous local replica and lands `local`. Seeds
|
|
250
|
+
* dev fixtures only when the anonymous seed was just minted (so they run once
|
|
251
|
+
* per fresh replica, never on reload).
|
|
252
|
+
*
|
|
253
|
+
* @returns {Promise<void>}
|
|
254
|
+
*/
|
|
255
|
+
async function openLocal() {
|
|
256
|
+
const { seed, created } = await loadOrCreateAnonSeed();
|
|
257
|
+
const identity = await initAppSession({ seed });
|
|
258
|
+
await openAndHydrate({ seed, controllerDid: identity.controllerDid });
|
|
259
|
+
if (created && config.seedLocal) {
|
|
260
|
+
await config.seedLocal();
|
|
261
|
+
}
|
|
262
|
+
store.setState({
|
|
263
|
+
status: 'local',
|
|
264
|
+
controllerDid: identity.controllerDid,
|
|
265
|
+
expires: null,
|
|
266
|
+
accessExpired: false,
|
|
267
|
+
error: null
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Opens the connected replica under the session seed, hydrates, persists the
|
|
272
|
+
* session, and starts sync. On any failure the store is torn back down and the
|
|
273
|
+
* anonymous local replica re-opened (so the app never dead-ends), then the
|
|
274
|
+
* error is surfaced and rethrown for the caller to finalize.
|
|
275
|
+
*
|
|
276
|
+
* @param session {ActiveSession}
|
|
277
|
+
* @returns {Promise<void>}
|
|
189
278
|
*/
|
|
190
|
-
async function
|
|
279
|
+
async function activateConnected(session) {
|
|
191
280
|
try {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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.
|
|
281
|
+
await openAndHydrate({
|
|
282
|
+
seed: session.seed,
|
|
283
|
+
controllerDid: session.identity.controllerDid,
|
|
284
|
+
...(session.adopt && { adopt: session.adopt })
|
|
285
|
+
});
|
|
206
286
|
await persistAndStartSync({
|
|
207
287
|
seed: session.seed,
|
|
208
288
|
identity: session.identity,
|
|
@@ -210,19 +290,22 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
210
290
|
grants: session.grants,
|
|
211
291
|
expires: session.expires
|
|
212
292
|
});
|
|
213
|
-
useAppReady.getState().setReady();
|
|
214
293
|
}
|
|
215
294
|
catch (err) {
|
|
216
|
-
await
|
|
217
|
-
|
|
218
|
-
|
|
295
|
+
await deactivateStore();
|
|
296
|
+
await openLocal();
|
|
297
|
+
store.setState({ error: errorMessage(err) });
|
|
219
298
|
throw err;
|
|
220
299
|
}
|
|
221
300
|
}
|
|
222
301
|
/**
|
|
223
|
-
* Tears down
|
|
302
|
+
* Tears down the live replica + sync + entity stores WITHOUT touching either
|
|
303
|
+
* persisted seed (the anonymous seed and the session record survive). Closes
|
|
304
|
+
* the database; use {@link resetToFreshLocal} to delete it.
|
|
305
|
+
*
|
|
306
|
+
* @returns {Promise<void>}
|
|
224
307
|
*/
|
|
225
|
-
async function
|
|
308
|
+
async function deactivateStore() {
|
|
226
309
|
disarmExpiryWatch();
|
|
227
310
|
cancelScheduledRehydrates();
|
|
228
311
|
await stopController();
|
|
@@ -237,49 +320,149 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
237
320
|
}
|
|
238
321
|
clearAllEntityStores(registry);
|
|
239
322
|
useSyncStatusStore.getState().reset();
|
|
240
|
-
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Tears the current replica down and re-opens a fresh `local` replica. `wipe`
|
|
326
|
+
* (via `deleteDb`) deletes the current database rather than closing it (the
|
|
327
|
+
* logout-wipe and clear-data paths); `discardAnonSeed` drops the persisted
|
|
328
|
+
* anonymous seed BEFORE the re-open so `openLocal` mints a brand-new anonymous
|
|
329
|
+
* seed/DID + database (the clear-data path).
|
|
330
|
+
*
|
|
331
|
+
* @param options {object}
|
|
332
|
+
* @param options.deleteDb {boolean}
|
|
333
|
+
* @param [options.discardAnonSeed] {boolean}
|
|
334
|
+
* @returns {Promise<void>}
|
|
335
|
+
*/
|
|
336
|
+
async function resetToFreshLocal({ deleteDb, discardAnonSeed = false }) {
|
|
337
|
+
disarmExpiryWatch();
|
|
338
|
+
cancelScheduledRehydrates();
|
|
339
|
+
await stopController();
|
|
340
|
+
if (hasStore()) {
|
|
341
|
+
try {
|
|
342
|
+
if (deleteDb) {
|
|
343
|
+
await requireStore().remove();
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
await requireStore().close();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (err) {
|
|
350
|
+
console.warn('Error tearing down the local store:', err);
|
|
351
|
+
}
|
|
352
|
+
clearLocalStore();
|
|
353
|
+
}
|
|
354
|
+
clearAllEntityStores(registry);
|
|
355
|
+
useSyncStatusStore.getState().reset();
|
|
356
|
+
if (discardAnonSeed) {
|
|
357
|
+
await anonStore.clearSeedStore();
|
|
358
|
+
}
|
|
359
|
+
await openLocal();
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Reads every decrypted payload out of the anonymous replica ahead of its
|
|
363
|
+
* teardown (adoption is a copy: the anonymous and connected replicas derive
|
|
364
|
+
* their ciphers from different seeds, so envelopes cannot move across).
|
|
365
|
+
* Returns null when there is nothing to adopt -- not in `local`, or every
|
|
366
|
+
* collection empty -- in which case the anonymous replica is simply left
|
|
367
|
+
* intact, exactly as an `adopt: 'leave'` login leaves it.
|
|
368
|
+
*
|
|
369
|
+
* Reads through a FRESH handle on the anonymous database (re-derived from
|
|
370
|
+
* the persisted anonymous seed), not the process-wide holder: a StrictMode
|
|
371
|
+
* double-boot can leave the holder as a closed duplicate (`closeDuplicates`),
|
|
372
|
+
* and this read must not be able to abort the connect.
|
|
373
|
+
*
|
|
374
|
+
* @returns {Promise<AdoptSource | null>}
|
|
375
|
+
*/
|
|
376
|
+
async function collectAdoptable() {
|
|
377
|
+
const { status, controllerDid } = store.getState();
|
|
378
|
+
if (status !== 'local' || controllerDid === null) {
|
|
379
|
+
return null;
|
|
380
|
+
}
|
|
381
|
+
const seed = await anonStore.loadSeed();
|
|
382
|
+
if (!seed) {
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
385
|
+
const anonLocal = await LocalStore.init({
|
|
386
|
+
seed,
|
|
387
|
+
collections: config.collections,
|
|
388
|
+
dbName: dbNameForController({ dbName, controllerDid }),
|
|
389
|
+
...(storage && { storage })
|
|
390
|
+
});
|
|
391
|
+
try {
|
|
392
|
+
const entities = {};
|
|
393
|
+
let total = 0;
|
|
394
|
+
for (const { key } of config.collections) {
|
|
395
|
+
const payloads = await anonLocal.listEntities(key);
|
|
396
|
+
if (payloads.length > 0) {
|
|
397
|
+
entities[key] = payloads;
|
|
398
|
+
total += payloads.length;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return total > 0 ? { controllerDid, entities } : null;
|
|
402
|
+
}
|
|
403
|
+
finally {
|
|
404
|
+
await anonLocal.close();
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Deletes the adopted anonymous replica -- its persisted seed and its
|
|
409
|
+
* per-controller database -- so the data lives on only in the connected
|
|
410
|
+
* replica and a later logout lands in a genuinely fresh `local`. Called only
|
|
411
|
+
* after the connected activation has succeeded; any earlier failure leaves
|
|
412
|
+
* the anonymous replica intact for the fallback to re-open.
|
|
413
|
+
*
|
|
414
|
+
* @param controllerDid {string} the anonymous controller DID
|
|
415
|
+
* @returns {Promise<void>}
|
|
416
|
+
*/
|
|
417
|
+
async function discardAnonReplica(controllerDid) {
|
|
418
|
+
await anonStore.clearSeedStore();
|
|
419
|
+
await LocalStore.removeDatabase({
|
|
420
|
+
dbName: dbNameForController({ dbName, controllerDid }),
|
|
421
|
+
...(storage && { storage })
|
|
422
|
+
});
|
|
241
423
|
}
|
|
242
424
|
// Declared last so `prefer-const` is satisfied; the lifecycle closures above
|
|
243
425
|
// only dereference `store` at call time, by which point it is assigned.
|
|
244
426
|
const store = createStore()((set, get) => ({
|
|
245
|
-
status: '
|
|
427
|
+
status: 'boot',
|
|
428
|
+
onboarding,
|
|
429
|
+
authenticating: false,
|
|
246
430
|
phase: null,
|
|
247
431
|
error: null,
|
|
248
432
|
controllerDid: null,
|
|
249
433
|
expires: null,
|
|
250
434
|
accessExpired: false,
|
|
251
435
|
reconnecting: false,
|
|
252
|
-
|
|
253
|
-
if (get().status !== '
|
|
436
|
+
boot: async () => {
|
|
437
|
+
if (get().status !== 'boot') {
|
|
254
438
|
return;
|
|
255
439
|
}
|
|
256
|
-
set({ status: 'restoring' });
|
|
257
440
|
try {
|
|
258
441
|
const restored = await restoreAppSession({ store: sessionStore });
|
|
259
442
|
if (!restored) {
|
|
260
|
-
|
|
443
|
+
await openLocal();
|
|
261
444
|
return;
|
|
262
445
|
}
|
|
263
446
|
const identity = await initAppSession({ seed: restored.seed });
|
|
264
447
|
if (identity.controllerDid !== restored.controllerDid) {
|
|
265
|
-
// A corrupt record; treat as logged out.
|
|
448
|
+
// A corrupt record; treat as logged out and fall to local.
|
|
266
449
|
await clearAppSession({ store: sessionStore });
|
|
267
|
-
|
|
450
|
+
await openLocal();
|
|
268
451
|
return;
|
|
269
452
|
}
|
|
270
453
|
const parsed = parseGrants(restored.grants);
|
|
271
454
|
if (config.wasServerUrl !== undefined &&
|
|
272
455
|
parsed.serverUrl !== config.wasServerUrl) {
|
|
273
456
|
await clearAppSession({ store: sessionStore });
|
|
274
|
-
|
|
457
|
+
await openLocal();
|
|
275
458
|
return;
|
|
276
459
|
}
|
|
277
460
|
// Unlike login/reconnect (which run `checkGrants`), a hot restore trusts
|
|
278
461
|
// 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
|
|
462
|
+
// collection so a partially-covered grant set raises the reconnect
|
|
463
|
+
// banner proactively rather than waiting for a per-collection 403.
|
|
281
464
|
const uncovered = config.collections.filter(collection => parsed.byCollectionId[collection.id] === undefined);
|
|
282
|
-
await
|
|
465
|
+
await activateConnected({
|
|
283
466
|
seed: restored.seed,
|
|
284
467
|
identity,
|
|
285
468
|
parsed,
|
|
@@ -287,7 +470,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
287
470
|
expires: restored.expires
|
|
288
471
|
});
|
|
289
472
|
set({
|
|
290
|
-
status: '
|
|
473
|
+
status: uncovered.length > 0 ? 'reconnect' : 'connected',
|
|
291
474
|
controllerDid: identity.controllerDid,
|
|
292
475
|
expires: restored.expires,
|
|
293
476
|
error: null,
|
|
@@ -295,30 +478,56 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
295
478
|
});
|
|
296
479
|
}
|
|
297
480
|
catch (err) {
|
|
298
|
-
console.warn('Session
|
|
299
|
-
|
|
481
|
+
console.warn('Session boot failed:', err);
|
|
482
|
+
// `activateConnected` already re-opens local on its own failure; only
|
|
483
|
+
// open local here for an earlier failure that never reached it.
|
|
484
|
+
if (get().status === 'boot') {
|
|
485
|
+
try {
|
|
486
|
+
await openLocal();
|
|
487
|
+
}
|
|
488
|
+
catch (localErr) {
|
|
489
|
+
// Even the anonymous local replica could not be opened: a genuine
|
|
490
|
+
// storage failure, the only case that leaves `status` at `boot`
|
|
491
|
+
// with an `error`. Surfacing it here (rather than a login/reconnect
|
|
492
|
+
// failure, which only ever sets `error` after `status` has left
|
|
493
|
+
// `boot`) is what lets `ProtectedRoute` scope its fatal alert to
|
|
494
|
+
// boot/storage failures alone.
|
|
495
|
+
set({ error: errorMessage(localErr) });
|
|
496
|
+
}
|
|
497
|
+
}
|
|
300
498
|
}
|
|
301
499
|
},
|
|
302
|
-
login: async () => {
|
|
303
|
-
|
|
304
|
-
if (status === 'authenticating' || status === 'authenticated') {
|
|
500
|
+
login: async ({ adopt = 'merge' } = {}) => {
|
|
501
|
+
if (get().authenticating || get().status === 'connected') {
|
|
305
502
|
return;
|
|
306
503
|
}
|
|
307
|
-
set({
|
|
504
|
+
set({ authenticating: true, error: null, phase: 'probing' });
|
|
308
505
|
try {
|
|
309
506
|
const outcome = await loginWithWallet({
|
|
310
507
|
config: loginConfig,
|
|
311
508
|
onPhase: phase => set({ phase })
|
|
312
509
|
});
|
|
313
|
-
|
|
510
|
+
// The wallet succeeded: collect the anonymous replica's payloads (merge
|
|
511
|
+
// only), then -- only now -- tear it down (a cancel above leaves
|
|
512
|
+
// `local` intact). The anonymous seed and database are deleted only
|
|
513
|
+
// after the activation lands, so a failure below still falls back to an
|
|
514
|
+
// intact `local`.
|
|
515
|
+
const source = adopt === 'merge' ? await collectAdoptable() : null;
|
|
516
|
+
await deactivateStore();
|
|
517
|
+
await activateConnected({
|
|
314
518
|
seed: outcome.seed,
|
|
315
519
|
identity: outcome.identity,
|
|
316
520
|
parsed: outcome.parsed,
|
|
317
521
|
grants: outcome.grants,
|
|
318
|
-
expires: outcome.expires
|
|
522
|
+
expires: outcome.expires,
|
|
523
|
+
...(source && { adopt: source })
|
|
319
524
|
});
|
|
525
|
+
if (source) {
|
|
526
|
+
await discardAnonReplica(source.controllerDid);
|
|
527
|
+
}
|
|
320
528
|
set({
|
|
321
|
-
status: '
|
|
529
|
+
status: 'connected',
|
|
530
|
+
authenticating: false,
|
|
322
531
|
controllerDid: outcome.identity.controllerDid,
|
|
323
532
|
expires: outcome.expires,
|
|
324
533
|
phase: null,
|
|
@@ -332,12 +541,38 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
332
541
|
: err instanceof Error
|
|
333
542
|
? `Login failed: ${err.message}`
|
|
334
543
|
: 'Login failed.';
|
|
335
|
-
set({
|
|
544
|
+
set({ authenticating: false, phase: null, error: message });
|
|
336
545
|
}
|
|
337
546
|
},
|
|
547
|
+
connectWithGrants: async ({ seed, grants, adopt = 'merge' }) => {
|
|
548
|
+
const identity = await initAppSession({ seed });
|
|
549
|
+
const parsed = parseGrants(grants);
|
|
550
|
+
const expires = earliestExpiry(grants) ??
|
|
551
|
+
new Date(Date.now() + FAR_FUTURE_EXPIRY_MS).toISOString();
|
|
552
|
+
const source = adopt === 'merge' ? await collectAdoptable() : null;
|
|
553
|
+
await deactivateStore();
|
|
554
|
+
await activateConnected({
|
|
555
|
+
seed,
|
|
556
|
+
identity,
|
|
557
|
+
parsed,
|
|
558
|
+
grants,
|
|
559
|
+
expires,
|
|
560
|
+
...(source && { adopt: source })
|
|
561
|
+
});
|
|
562
|
+
if (source) {
|
|
563
|
+
await discardAnonReplica(source.controllerDid);
|
|
564
|
+
}
|
|
565
|
+
set({
|
|
566
|
+
status: 'connected',
|
|
567
|
+
controllerDid: identity.controllerDid,
|
|
568
|
+
expires,
|
|
569
|
+
error: null,
|
|
570
|
+
accessExpired: false
|
|
571
|
+
});
|
|
572
|
+
},
|
|
338
573
|
reconnect: async () => {
|
|
339
574
|
const { reconnecting, status } = get();
|
|
340
|
-
if (reconnecting || status !== '
|
|
575
|
+
if (reconnecting || status !== 'reconnect') {
|
|
341
576
|
return;
|
|
342
577
|
}
|
|
343
578
|
set({ reconnecting: true, error: null });
|
|
@@ -362,6 +597,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
362
597
|
expires: checked.expires
|
|
363
598
|
});
|
|
364
599
|
set({
|
|
600
|
+
status: 'connected',
|
|
365
601
|
accessExpired: false,
|
|
366
602
|
expires: checked.expires,
|
|
367
603
|
reconnecting: false
|
|
@@ -372,32 +608,52 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
372
608
|
set({ reconnecting: false, error: message });
|
|
373
609
|
}
|
|
374
610
|
},
|
|
375
|
-
logout: async () => {
|
|
376
|
-
await
|
|
611
|
+
logout: async ({ wipe = false } = {}) => {
|
|
612
|
+
await resetToFreshLocal({ deleteDb: wipe });
|
|
377
613
|
await clearAppSession({ store: sessionStore });
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
614
|
+
// `resetToFreshLocal` already landed `local` (fresh anon replica); clear
|
|
615
|
+
// the remaining transients.
|
|
616
|
+
set({ phase: null, reconnecting: false });
|
|
617
|
+
},
|
|
618
|
+
clearLocalData: async () => {
|
|
619
|
+
await resetToFreshLocal({ deleteDb: true, discardAnonSeed: true });
|
|
620
|
+
set({ phase: null, reconnecting: false });
|
|
621
|
+
},
|
|
622
|
+
hasLocalData: async () => {
|
|
623
|
+
if (get().status !== 'local' || !hasStore()) {
|
|
624
|
+
return false;
|
|
625
|
+
}
|
|
626
|
+
try {
|
|
627
|
+
for (const { key } of config.collections) {
|
|
628
|
+
if ((await requireStore().countEntities(key)) > 0) {
|
|
629
|
+
return true;
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
catch {
|
|
634
|
+
// The holder can be a closed duplicate after a StrictMode double-boot;
|
|
635
|
+
// false only skips the adoption prompt, and login's `'merge'` default
|
|
636
|
+
// still collects (through a fresh handle) whatever exists.
|
|
637
|
+
return false;
|
|
638
|
+
}
|
|
639
|
+
return false;
|
|
387
640
|
},
|
|
388
641
|
notifyAccessExpired: () => {
|
|
389
|
-
if (
|
|
390
|
-
set({ accessExpired: true });
|
|
642
|
+
if (get().status === 'connected') {
|
|
643
|
+
set({ status: 'reconnect', accessExpired: true });
|
|
391
644
|
}
|
|
392
645
|
},
|
|
393
646
|
destroy: async () => {
|
|
394
|
-
await
|
|
395
|
-
// Back to `
|
|
396
|
-
// StrictMode remount's `
|
|
647
|
+
await deactivateStore();
|
|
648
|
+
// Back to `boot` (not `local`) and both persisted seeds left intact: a
|
|
649
|
+
// StrictMode remount's `boot()` re-opens the same session (or local).
|
|
397
650
|
set({
|
|
398
|
-
status: '
|
|
651
|
+
status: 'boot',
|
|
652
|
+
authenticating: false,
|
|
399
653
|
phase: null,
|
|
400
654
|
error: null,
|
|
655
|
+
controllerDid: null,
|
|
656
|
+
expires: null,
|
|
401
657
|
accessExpired: false,
|
|
402
658
|
reconnecting: false
|
|
403
659
|
});
|
|
@@ -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
|