@enbox/auth 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/esm/auth-manager.js +244 -121
  2. package/dist/esm/auth-manager.js.map +1 -1
  3. package/dist/esm/connect/import.js +131 -0
  4. package/dist/esm/connect/import.js.map +1 -0
  5. package/dist/esm/connect/lifecycle.js +235 -0
  6. package/dist/esm/connect/lifecycle.js.map +1 -0
  7. package/dist/esm/connect/local.js +91 -0
  8. package/dist/esm/connect/local.js.map +1 -0
  9. package/dist/esm/{flows/session-restore.js → connect/restore.js} +39 -50
  10. package/dist/esm/connect/restore.js.map +1 -0
  11. package/dist/esm/{flows/wallet-connect.js → connect/wallet.js} +33 -39
  12. package/dist/esm/connect/wallet.js.map +1 -0
  13. package/dist/esm/{flows/dwn-discovery.js → discovery.js} +98 -83
  14. package/dist/esm/discovery.js.map +1 -0
  15. package/dist/esm/index.js +7 -3
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/password-provider.js +319 -0
  18. package/dist/esm/password-provider.js.map +1 -0
  19. package/dist/esm/{flows/dwn-registration.js → registration.js} +50 -4
  20. package/dist/esm/registration.js.map +1 -0
  21. package/dist/esm/types.js +11 -1
  22. package/dist/esm/types.js.map +1 -1
  23. package/dist/esm/wallet-connect-client.js +188 -0
  24. package/dist/esm/wallet-connect-client.js.map +1 -0
  25. package/dist/types/auth-manager.d.ts +86 -7
  26. package/dist/types/auth-manager.d.ts.map +1 -1
  27. package/dist/types/connect/import.d.ts +25 -0
  28. package/dist/types/connect/import.d.ts.map +1 -0
  29. package/dist/types/connect/lifecycle.d.ts +152 -0
  30. package/dist/types/connect/lifecycle.d.ts.map +1 -0
  31. package/dist/types/connect/local.d.ts +18 -0
  32. package/dist/types/connect/local.d.ts.map +1 -0
  33. package/dist/types/connect/restore.d.ts +18 -0
  34. package/dist/types/connect/restore.d.ts.map +1 -0
  35. package/dist/types/{flows/wallet-connect.d.ts → connect/wallet.d.ts} +7 -16
  36. package/dist/types/connect/wallet.d.ts.map +1 -0
  37. package/dist/types/{flows/dwn-discovery.d.ts → discovery.d.ts} +43 -56
  38. package/dist/types/discovery.d.ts.map +1 -0
  39. package/dist/types/index.d.ts +8 -4
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/types/password-provider.d.ts +194 -0
  42. package/dist/types/password-provider.d.ts.map +1 -0
  43. package/dist/types/{flows/dwn-registration.d.ts → registration.d.ts} +21 -2
  44. package/dist/types/registration.d.ts.map +1 -0
  45. package/dist/types/types.d.ts +92 -4
  46. package/dist/types/types.d.ts.map +1 -1
  47. package/dist/types/wallet-connect-client.d.ts +89 -0
  48. package/dist/types/wallet-connect-client.d.ts.map +1 -0
  49. package/package.json +15 -12
  50. package/src/auth-manager.ts +279 -145
  51. package/src/connect/import.ts +148 -0
  52. package/src/connect/lifecycle.ts +321 -0
  53. package/src/connect/local.ts +101 -0
  54. package/src/connect/restore.ts +117 -0
  55. package/src/{flows/wallet-connect.ts → connect/wallet.ts} +42 -58
  56. package/src/{flows/dwn-discovery.ts → discovery.ts} +103 -82
  57. package/src/index.ts +14 -4
  58. package/src/password-provider.ts +383 -0
  59. package/src/{flows/dwn-registration.ts → registration.ts} +61 -6
  60. package/src/types.ts +100 -4
  61. package/src/wallet-connect-client.ts +278 -0
  62. package/dist/esm/flows/dwn-discovery.js.map +0 -1
  63. package/dist/esm/flows/dwn-registration.js.map +0 -1
  64. package/dist/esm/flows/import-identity.js +0 -175
  65. package/dist/esm/flows/import-identity.js.map +0 -1
  66. package/dist/esm/flows/local-connect.js +0 -141
  67. package/dist/esm/flows/local-connect.js.map +0 -1
  68. package/dist/esm/flows/session-restore.js.map +0 -1
  69. package/dist/esm/flows/wallet-connect.js.map +0 -1
  70. package/dist/esm/vault/vault-manager.js +0 -95
  71. package/dist/esm/vault/vault-manager.js.map +0 -1
  72. package/dist/types/flows/dwn-discovery.d.ts.map +0 -1
  73. package/dist/types/flows/dwn-registration.d.ts.map +0 -1
  74. package/dist/types/flows/import-identity.d.ts +0 -35
  75. package/dist/types/flows/import-identity.d.ts.map +0 -1
  76. package/dist/types/flows/local-connect.d.ts +0 -29
  77. package/dist/types/flows/local-connect.d.ts.map +0 -1
  78. package/dist/types/flows/session-restore.d.ts +0 -27
  79. package/dist/types/flows/session-restore.d.ts.map +0 -1
  80. package/dist/types/flows/wallet-connect.d.ts.map +0 -1
  81. package/dist/types/vault/vault-manager.d.ts +0 -57
  82. package/dist/types/vault/vault-manager.d.ts.map +0 -1
  83. package/src/flows/import-identity.ts +0 -217
  84. package/src/flows/local-connect.ts +0 -171
  85. package/src/flows/session-restore.ts +0 -142
  86. package/src/vault/vault-manager.ts +0 -89
@@ -18,12 +18,13 @@ import { EnboxUserAgent } from '@enbox/agent';
18
18
  import { AuthEventEmitter } from './events.js';
19
19
  import { AuthSession } from './identity-session.js';
20
20
  import { createDefaultStorage } from './storage/storage.js';
21
- import { localConnect } from './flows/local-connect.js';
22
- import { restoreSession } from './flows/session-restore.js';
21
+ import { discoverLocalDwn } from './discovery.js';
22
+ import { localConnect } from './connect/local.js';
23
+ import { restoreSession } from './connect/restore.js';
23
24
  import { STORAGE_KEYS } from './types.js';
24
- import { VaultManager } from './vault/vault-manager.js';
25
- import { walletConnect } from './flows/wallet-connect.js';
26
- import { importFromPhrase, importFromPortable } from './flows/import-identity.js';
25
+ import { walletConnect } from './connect/wallet.js';
26
+ import { ensureVaultReady, resolveIdentityDids, startSyncIfEnabled } from './connect/lifecycle.js';
27
+ import { importFromPhrase, importFromPortable } from './connect/import.js';
27
28
  /**
28
29
  * The primary entry point for authentication and identity management.
29
30
  *
@@ -61,14 +62,16 @@ export class AuthManager {
61
62
  constructor(params) {
62
63
  this._state = 'uninitialized';
63
64
  this._isConnecting = false;
65
+ this._isShutDown = false;
64
66
  this._userAgent = params.userAgent;
65
67
  this._emitter = params.emitter;
66
68
  this._storage = params.storage;
67
- this._vault = params.vault;
68
69
  this._defaultPassword = params.defaultPassword;
70
+ this._passwordProvider = params.passwordProvider;
69
71
  this._defaultSync = params.defaultSync;
70
72
  this._defaultDwnEndpoints = params.defaultDwnEndpoints;
71
73
  this._registration = params.registration;
74
+ this._localDwnEndpoint = params.localDwnEndpoint;
72
75
  }
73
76
  /**
74
77
  * Create a new AuthManager instance.
@@ -85,26 +88,41 @@ export class AuthManager {
85
88
  var _a, _b;
86
89
  const emitter = new AuthEventEmitter();
87
90
  const storage = (_a = options.storage) !== null && _a !== void 0 ? _a : createDefaultStorage();
91
+ // Run local DWN discovery BEFORE creating the agent. Discovery has
92
+ // zero vault/DWN dependencies — it only checks the URL fragment,
93
+ // reads localStorage, and validates via GET /info.
94
+ //
95
+ // When a local DWN server is available, the agent is created in
96
+ // "remote mode": it skips creating an in-process DWN and routes all
97
+ // DWN operations through RPC to the local server.
98
+ let localDwnEndpoint;
99
+ if (!options.agent && options.localDwnStrategy !== 'off') {
100
+ localDwnEndpoint = yield discoverLocalDwn(storage);
101
+ // NOTE: We intentionally do NOT emit 'local-dwn-available' here
102
+ // because event listeners aren't attached yet. Consumers should
103
+ // check `authManager.localDwnEndpoint` after create() returns.
104
+ }
88
105
  // Use a pre-built agent or create one with the given options.
89
106
  const userAgent = (_b = options.agent) !== null && _b !== void 0 ? _b : yield EnboxUserAgent.create({
90
107
  dataPath: options.dataPath,
91
108
  agentVault: options.agentVault,
92
109
  localDwnStrategy: options.localDwnStrategy,
110
+ localDwnEndpoint,
93
111
  });
94
- const vault = new VaultManager(userAgent.vault, emitter);
95
112
  const manager = new AuthManager({
96
113
  userAgent,
97
114
  emitter,
98
115
  storage,
99
- vault,
100
116
  defaultPassword: options.password,
117
+ passwordProvider: options.passwordProvider,
101
118
  defaultSync: options.sync,
102
119
  defaultDwnEndpoints: options.dwnEndpoints,
103
120
  registration: options.registration,
121
+ localDwnEndpoint,
104
122
  });
105
123
  // Determine initial state.
106
- if (yield vault.isInitialized()) {
107
- manager._setState(vault.isLocked ? 'locked' : 'unlocked');
124
+ if (yield userAgent.vault.isInitialized()) {
125
+ manager._setState(userAgent.vault.isLocked() ? 'locked' : 'unlocked');
108
126
  }
109
127
  else {
110
128
  manager._setState('uninitialized');
@@ -125,29 +143,11 @@ export class AuthManager {
125
143
  */
126
144
  connect(options) {
127
145
  return __awaiter(this, void 0, void 0, function* () {
128
- this._guardConcurrency();
129
- this._isConnecting = true;
130
- try {
131
- const session = yield localConnect({
132
- userAgent: this._userAgent,
133
- emitter: this._emitter,
134
- storage: this._storage,
135
- defaultPassword: this._defaultPassword,
136
- defaultSync: this._defaultSync,
137
- defaultDwnEndpoints: this._defaultDwnEndpoints,
138
- registration: this._registration,
139
- }, options);
140
- this._session = session;
141
- this._setState('connected');
142
- return session;
143
- }
144
- finally {
145
- this._isConnecting = false;
146
- }
146
+ return this._withConnect(() => localConnect(this._flowContext(), options));
147
147
  });
148
148
  }
149
149
  /**
150
- * Connect to an external wallet via the OIDC/QR relay protocol.
150
+ * Connect to an external wallet via the Enbox Connect relay protocol.
151
151
  *
152
152
  * This runs the full WalletConnect flow: generates a URI for QR display,
153
153
  * validates the PIN, imports the delegated DID, and processes grants.
@@ -159,32 +159,7 @@ export class AuthManager {
159
159
  */
160
160
  walletConnect(options) {
161
161
  return __awaiter(this, void 0, void 0, function* () {
162
- var _a;
163
- this._guardConcurrency();
164
- this._isConnecting = true;
165
- try {
166
- // Ensure the agent is initialized and started before wallet connect.
167
- const password = (_a = this._defaultPassword) !== null && _a !== void 0 ? _a : 'insecure-static-phrase';
168
- if (yield this._userAgent.firstLaunch()) {
169
- yield this._userAgent.initialize({ password });
170
- }
171
- yield this._userAgent.start({ password });
172
- this._emitter.emit('vault-unlocked', {});
173
- const session = yield walletConnect({
174
- userAgent: this._userAgent,
175
- emitter: this._emitter,
176
- storage: this._storage,
177
- defaultSync: this._defaultSync,
178
- defaultDwnEndpoints: this._defaultDwnEndpoints,
179
- registration: this._registration,
180
- }, options);
181
- this._session = session;
182
- this._setState('connected');
183
- return session;
184
- }
185
- finally {
186
- this._isConnecting = false;
187
- }
162
+ return this._withConnect(() => walletConnect(this._flowContext(), options));
188
163
  });
189
164
  }
190
165
  /**
@@ -195,24 +170,7 @@ export class AuthManager {
195
170
  */
196
171
  importFromPhrase(options) {
197
172
  return __awaiter(this, void 0, void 0, function* () {
198
- this._guardConcurrency();
199
- this._isConnecting = true;
200
- try {
201
- const session = yield importFromPhrase({
202
- userAgent: this._userAgent,
203
- emitter: this._emitter,
204
- storage: this._storage,
205
- defaultSync: this._defaultSync,
206
- defaultDwnEndpoints: this._defaultDwnEndpoints,
207
- registration: this._registration,
208
- }, options);
209
- this._session = session;
210
- this._setState('connected');
211
- return session;
212
- }
213
- finally {
214
- this._isConnecting = false;
215
- }
173
+ return this._withConnect(() => importFromPhrase(this._flowContext(), options));
216
174
  });
217
175
  }
218
176
  /**
@@ -222,24 +180,7 @@ export class AuthManager {
222
180
  */
223
181
  importFromPortable(options) {
224
182
  return __awaiter(this, void 0, void 0, function* () {
225
- this._guardConcurrency();
226
- this._isConnecting = true;
227
- try {
228
- const session = yield importFromPortable({
229
- userAgent: this._userAgent,
230
- emitter: this._emitter,
231
- storage: this._storage,
232
- defaultSync: this._defaultSync,
233
- defaultDwnEndpoints: this._defaultDwnEndpoints,
234
- registration: this._registration,
235
- }, options);
236
- this._session = session;
237
- this._setState('connected');
238
- return session;
239
- }
240
- finally {
241
- this._isConnecting = false;
242
- }
183
+ return this._withConnect(() => importFromPortable(this._flowContext(), options));
243
184
  });
244
185
  }
245
186
  /**
@@ -253,13 +194,7 @@ export class AuthManager {
253
194
  this._guardConcurrency();
254
195
  this._isConnecting = true;
255
196
  try {
256
- const session = yield restoreSession({
257
- userAgent: this._userAgent,
258
- emitter: this._emitter,
259
- storage: this._storage,
260
- defaultPassword: this._defaultPassword,
261
- defaultSync: this._defaultSync,
262
- }, options);
197
+ const session = yield restoreSession(this._flowContext(), options);
263
198
  if (session) {
264
199
  this._session = session;
265
200
  this._setState('connected');
@@ -271,6 +206,78 @@ export class AuthManager {
271
206
  }
272
207
  });
273
208
  }
209
+ /**
210
+ * Lightweight vault unlock for one-shot utilities and subprocesses.
211
+ *
212
+ * Unlocks the vault and retrieves the active (or first available)
213
+ * identity **without** starting sync, DWN registration, or persisting
214
+ * session markers. This is the recommended replacement for calling
215
+ * `agent.start({ password })` directly.
216
+ *
217
+ * Typical use cases:
218
+ * - Git credential helpers that need to sign a token and exit
219
+ * - CLI utilities that perform a single operation
220
+ * - Any subprocess that shares a data directory with a long-running daemon
221
+ *
222
+ * @param options - Optional password override.
223
+ * @returns An active AuthSession (with sync disabled).
224
+ *
225
+ * @example
226
+ * ```ts
227
+ * const session = await auth.connectHeadless({ password });
228
+ * const did = session.did; // ready to use
229
+ * await auth.shutdown(); // clean exit
230
+ * ```
231
+ */
232
+ connectHeadless(options) {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ var _a, _b;
235
+ let password = (_a = options === null || options === void 0 ? void 0 : options.password) !== null && _a !== void 0 ? _a : this._defaultPassword;
236
+ const isFirstLaunch = yield this._userAgent.firstLaunch();
237
+ // Try the password provider if no explicit password.
238
+ if (!password && this._passwordProvider) {
239
+ password = yield this._passwordProvider.getPassword({
240
+ reason: isFirstLaunch ? 'create' : 'unlock',
241
+ });
242
+ }
243
+ if (!password) {
244
+ throw new Error('[@enbox/auth] connectHeadless() requires a password. ' +
245
+ 'Provide one via options.password, a passwordProvider, or the AuthManager default.');
246
+ }
247
+ // Unlock the vault (initialise on first launch, always start).
248
+ yield ensureVaultReady({
249
+ userAgent: this._userAgent,
250
+ emitter: this._emitter,
251
+ password,
252
+ isFirstLaunch,
253
+ });
254
+ // Find the active identity.
255
+ const identities = yield this._userAgent.identity.list();
256
+ if (identities.length === 0) {
257
+ throw new Error('[@enbox/auth] No identities found in vault.');
258
+ }
259
+ // Prefer the previously-active identity, fall back to first.
260
+ const savedDid = yield this._storage.get(STORAGE_KEYS.ACTIVE_IDENTITY);
261
+ const identity = (_b = (savedDid
262
+ ? identities.find(id => id.did.uri === savedDid || id.metadata.connectedDid === savedDid)
263
+ : undefined)) !== null && _b !== void 0 ? _b : identities[0];
264
+ const { connectedDid, delegateDid } = resolveIdentityDids(identity);
265
+ const identityInfo = {
266
+ didUri: connectedDid,
267
+ name: identity.metadata.name,
268
+ connectedDid: identity.metadata.connectedDid,
269
+ };
270
+ // No sync, no registration, no session persistence markers.
271
+ this._session = new AuthSession({
272
+ agent: this._userAgent,
273
+ did: connectedDid,
274
+ delegateDid,
275
+ identity: identityInfo,
276
+ });
277
+ this._setState('connected');
278
+ return this._session;
279
+ });
280
+ }
274
281
  // ─── Session management ────────────────────────────────────────
275
282
  /** The current active session, or `undefined` if not connected. */
276
283
  get session() {
@@ -291,17 +298,16 @@ export class AuthManager {
291
298
  */
292
299
  lock() {
293
300
  return __awaiter(this, arguments, void 0, function* (options = {}) {
294
- var _a, _b;
301
+ var _a;
295
302
  const { timeout = 2000 } = options;
296
303
  const did = (_a = this._session) === null || _a === void 0 ? void 0 : _a.did;
297
304
  // 1. Stop sync.
298
- if ('sync' in this._userAgent && typeof ((_b = this._userAgent.sync) === null || _b === void 0 ? void 0 : _b.stopSync) === 'function') {
299
- yield this._userAgent.sync.stopSync(timeout);
300
- }
305
+ yield this._userAgent.sync.stopSync(timeout);
301
306
  // 2. Clear the session (but keep storage markers for restore).
302
307
  this._session = undefined;
303
- // 3. Lock the vault (also emits 'vault-locked').
304
- yield this._vault.lock();
308
+ // 3. Lock the vault.
309
+ yield this._userAgent.vault.lock();
310
+ this._emitter.emit('vault-locked', {});
305
311
  // 4. Transition state.
306
312
  this._setState('locked');
307
313
  // 5. Emit session-end if there was an active session.
@@ -320,14 +326,12 @@ export class AuthManager {
320
326
  */
321
327
  disconnect() {
322
328
  return __awaiter(this, arguments, void 0, function* (options = {}) {
323
- var _a, _b;
329
+ var _a;
324
330
  const { clearStorage = false, timeout = 2000 } = options;
325
331
  const did = (_a = this._session) === null || _a === void 0 ? void 0 : _a.did;
326
332
  // Stop sync.
327
333
  if (this._session) {
328
- if ('sync' in this._userAgent && typeof ((_b = this._userAgent.sync) === null || _b === void 0 ? void 0 : _b.stopSync) === 'function') {
329
- yield this._userAgent.sync.stopSync(timeout);
330
- }
334
+ yield this._userAgent.sync.stopSync(timeout);
331
335
  }
332
336
  this._session = undefined;
333
337
  if (clearStorage) {
@@ -346,7 +350,7 @@ export class AuthManager {
346
350
  }
347
351
  }
348
352
  }
349
- catch (_c) {
353
+ catch (_b) {
350
354
  // indexedDB.databases() not available in all browsers.
351
355
  }
352
356
  }
@@ -364,6 +368,79 @@ export class AuthManager {
364
368
  }
365
369
  });
366
370
  }
371
+ /**
372
+ * Gracefully shut down the auth manager, releasing all resources.
373
+ *
374
+ * This goes beyond {@link disconnect} or {@link lock}: it stops sync,
375
+ * clears the active session, locks the vault, and **closes** the
376
+ * underlying storage handles (e.g. LevelDB) so the process can exit
377
+ * without dangling timers or open file descriptors.
378
+ *
379
+ * After calling `shutdown()`, the `AuthManager` instance should not be
380
+ * reused — create a new one via {@link AuthManager.create} if needed.
381
+ *
382
+ * Idempotent: calling `shutdown()` more than once is safe.
383
+ *
384
+ * @param options - Optional shutdown configuration.
385
+ * @param options.timeout - Milliseconds to wait for sync to stop. Default: `2000`.
386
+ *
387
+ * @example
388
+ * ```ts
389
+ * const session = await auth.connectHeadless({ password });
390
+ * // ... perform work ...
391
+ * await auth.shutdown(); // clean exit, no process.exit() needed
392
+ * ```
393
+ */
394
+ shutdown() {
395
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
396
+ var _a;
397
+ if (this._isShutDown) {
398
+ return;
399
+ }
400
+ const { timeout = 2000 } = options;
401
+ const did = (_a = this._session) === null || _a === void 0 ? void 0 : _a.did;
402
+ // 1. Stop sync.
403
+ try {
404
+ yield this._userAgent.sync.stopSync(timeout);
405
+ }
406
+ catch (_b) {
407
+ // Best-effort — don't block shutdown on sync errors.
408
+ }
409
+ // 2. Clear the active session.
410
+ this._session = undefined;
411
+ // 3. Lock the vault.
412
+ try {
413
+ yield this._userAgent.vault.lock();
414
+ this._emitter.emit('vault-locked', {});
415
+ }
416
+ catch (_c) {
417
+ // Vault may already be locked or uninitialised — safe to ignore.
418
+ }
419
+ // 4. Close the sync engine (releases LevelDB handles, timers).
420
+ try {
421
+ yield this._userAgent.sync.close();
422
+ }
423
+ catch (_d) {
424
+ // Best-effort.
425
+ }
426
+ // 5. Close the storage adapter (e.g. LevelDB session store).
427
+ if (typeof this._storage.close === 'function') {
428
+ try {
429
+ yield this._storage.close();
430
+ }
431
+ catch (_e) {
432
+ // Best-effort.
433
+ }
434
+ }
435
+ // 6. Mark as shut down and transition state.
436
+ this._isShutDown = true;
437
+ this._setState('locked');
438
+ // 7. Emit session-end if there was an active session.
439
+ if (did) {
440
+ this._emitter.emit('session-end', { did });
441
+ }
442
+ });
443
+ }
367
444
  // ─── Multi-identity ────────────────────────────────────────────
368
445
  /**
369
446
  * List all stored identities.
@@ -389,7 +466,6 @@ export class AuthManager {
389
466
  */
390
467
  switchIdentity(didUri) {
391
468
  return __awaiter(this, void 0, void 0, function* () {
392
- var _a;
393
469
  // Disconnect current session cleanly (keep data).
394
470
  if (this._session) {
395
471
  yield this.disconnect();
@@ -398,8 +474,7 @@ export class AuthManager {
398
474
  if (!identity) {
399
475
  throw new Error(`[@enbox/auth] Identity not found: ${didUri}`);
400
476
  }
401
- const connectedDid = (_a = identity.metadata.connectedDid) !== null && _a !== void 0 ? _a : identity.did.uri;
402
- const delegateDid = identity.metadata.connectedDid ? identity.did.uri : undefined;
477
+ const { connectedDid, delegateDid } = resolveIdentityDids(identity);
403
478
  // Persist the switch.
404
479
  yield this._storage.set(STORAGE_KEYS.PREVIOUSLY_CONNECTED, 'true');
405
480
  yield this._storage.set(STORAGE_KEYS.ACTIVE_IDENTITY, connectedDid);
@@ -418,13 +493,10 @@ export class AuthManager {
418
493
  options: { delegateDid, protocols: [] },
419
494
  });
420
495
  }
421
- catch (_b) {
496
+ catch (_a) {
422
497
  // Already registered — safe to ignore.
423
498
  }
424
- const syncMode = sync === undefined ? 'live' : 'poll';
425
- const syncInterval = sync !== null && sync !== void 0 ? sync : (syncMode === 'live' ? '5m' : '2m');
426
- this._userAgent.sync.startSync({ mode: syncMode, interval: syncInterval })
427
- .catch((err) => console.error('[@enbox/auth] Sync failed:', err));
499
+ startSyncIfEnabled(this._userAgent, sync);
428
500
  }
429
501
  this._session = new AuthSession({
430
502
  agent: this._userAgent,
@@ -485,9 +557,9 @@ export class AuthManager {
485
557
  });
486
558
  }
487
559
  // ─── Vault ─────────────────────────────────────────────────────
488
- /** Access the vault manager for lock/unlock/backup operations. */
560
+ /** Access the underlying identity vault for lock/unlock/backup operations. */
489
561
  get vault() {
490
- return this._vault;
562
+ return this._userAgent.vault;
491
563
  }
492
564
  // ─── Events ────────────────────────────────────────────────────
493
565
  /**
@@ -511,7 +583,7 @@ export class AuthManager {
511
583
  }
512
584
  /** Whether the vault is currently locked. */
513
585
  get isLocked() {
514
- return this._vault.isLocked;
586
+ return this._userAgent.vault.isLocked();
515
587
  }
516
588
  /** Whether a connection attempt is in progress. */
517
589
  get isConnecting() {
@@ -521,7 +593,58 @@ export class AuthManager {
521
593
  get agent() {
522
594
  return this._userAgent;
523
595
  }
596
+ /**
597
+ * The local DWN server endpoint discovered during `create()`, if any.
598
+ *
599
+ * When set, the agent is operating in remote mode (no in-process DWN).
600
+ * This property is available immediately after `create()` returns,
601
+ * before any event listeners are attached.
602
+ */
603
+ get localDwnEndpoint() {
604
+ return this._localDwnEndpoint;
605
+ }
524
606
  // ─── Private helpers ───────────────────────────────────────────
607
+ /**
608
+ * Build a `FlowContext` from the manager's current state.
609
+ *
610
+ * Replaces the 5 manual inline context constructions that were
611
+ * previously duplicated across `connect()`, `walletConnect()`,
612
+ * `importFromPhrase()`, `importFromPortable()`, and `restoreSession()`.
613
+ */
614
+ _flowContext() {
615
+ return {
616
+ userAgent: this._userAgent,
617
+ emitter: this._emitter,
618
+ storage: this._storage,
619
+ defaultPassword: this._defaultPassword,
620
+ passwordProvider: this._passwordProvider,
621
+ defaultSync: this._defaultSync,
622
+ defaultDwnEndpoints: this._defaultDwnEndpoints,
623
+ registration: this._registration,
624
+ };
625
+ }
626
+ /**
627
+ * Template for connection flows that follow the guard → try/finally → setState pattern.
628
+ *
629
+ * Consolidates the duplicated concurrency guard, `_isConnecting` flag management,
630
+ * session assignment, and state transition across `connect()`, `walletConnect()`,
631
+ * `importFromPhrase()`, and `importFromPortable()`.
632
+ */
633
+ _withConnect(fn) {
634
+ return __awaiter(this, void 0, void 0, function* () {
635
+ this._guardConcurrency();
636
+ this._isConnecting = true;
637
+ try {
638
+ const session = yield fn();
639
+ this._session = session;
640
+ this._setState('connected');
641
+ return session;
642
+ }
643
+ finally {
644
+ this._isConnecting = false;
645
+ }
646
+ });
647
+ }
525
648
  _setState(state) {
526
649
  if (state === this._state) {
527
650
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../src/auth-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../src/auth-manager.ts"],"names":[],"mappings":"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"}