@enbox/auth 0.3.1 → 0.5.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 (50) hide show
  1. package/dist/esm/auth-manager.js +245 -5
  2. package/dist/esm/auth-manager.js.map +1 -1
  3. package/dist/esm/flows/dwn-discovery.js +96 -81
  4. package/dist/esm/flows/dwn-discovery.js.map +1 -1
  5. package/dist/esm/flows/dwn-registration.js +49 -3
  6. package/dist/esm/flows/dwn-registration.js.map +1 -1
  7. package/dist/esm/flows/import-identity.js +2 -0
  8. package/dist/esm/flows/import-identity.js.map +1 -1
  9. package/dist/esm/flows/local-connect.js +25 -8
  10. package/dist/esm/flows/local-connect.js.map +1 -1
  11. package/dist/esm/flows/session-restore.js +20 -4
  12. package/dist/esm/flows/session-restore.js.map +1 -1
  13. package/dist/esm/flows/wallet-connect.js +5 -4
  14. package/dist/esm/flows/wallet-connect.js.map +1 -1
  15. package/dist/esm/index.js +5 -1
  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/types.js +9 -1
  20. package/dist/esm/types.js.map +1 -1
  21. package/dist/types/auth-manager.d.ts +83 -2
  22. package/dist/types/auth-manager.d.ts.map +1 -1
  23. package/dist/types/flows/dwn-discovery.d.ts +40 -53
  24. package/dist/types/flows/dwn-discovery.d.ts.map +1 -1
  25. package/dist/types/flows/dwn-registration.d.ts +20 -1
  26. package/dist/types/flows/dwn-registration.d.ts.map +1 -1
  27. package/dist/types/flows/import-identity.d.ts.map +1 -1
  28. package/dist/types/flows/local-connect.d.ts +2 -0
  29. package/dist/types/flows/local-connect.d.ts.map +1 -1
  30. package/dist/types/flows/session-restore.d.ts +2 -0
  31. package/dist/types/flows/session-restore.d.ts.map +1 -1
  32. package/dist/types/flows/wallet-connect.d.ts +2 -2
  33. package/dist/types/flows/wallet-connect.d.ts.map +1 -1
  34. package/dist/types/index.d.ts +5 -2
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/password-provider.d.ts +194 -0
  37. package/dist/types/password-provider.d.ts.map +1 -0
  38. package/dist/types/types.d.ts +106 -1
  39. package/dist/types/types.d.ts.map +1 -1
  40. package/package.json +8 -9
  41. package/src/auth-manager.ts +284 -9
  42. package/src/flows/dwn-discovery.ts +99 -79
  43. package/src/flows/dwn-registration.ts +60 -5
  44. package/src/flows/import-identity.ts +2 -0
  45. package/src/flows/local-connect.ts +24 -3
  46. package/src/flows/session-restore.ts +22 -2
  47. package/src/flows/wallet-connect.ts +5 -4
  48. package/src/index.ts +10 -1
  49. package/src/password-provider.ts +383 -0
  50. package/src/types.ts +114 -1
@@ -18,6 +18,7 @@ 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 { discoverLocalDwn } from './flows/dwn-discovery.js';
21
22
  import { localConnect } from './flows/local-connect.js';
22
23
  import { restoreSession } from './flows/session-restore.js';
23
24
  import { STORAGE_KEYS } from './types.js';
@@ -61,14 +62,17 @@ 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
69
  this._vault = params.vault;
68
70
  this._defaultPassword = params.defaultPassword;
71
+ this._passwordProvider = params.passwordProvider;
69
72
  this._defaultSync = params.defaultSync;
70
73
  this._defaultDwnEndpoints = params.defaultDwnEndpoints;
71
74
  this._registration = params.registration;
75
+ this._localDwnEndpoint = params.localDwnEndpoint;
72
76
  }
73
77
  /**
74
78
  * Create a new AuthManager instance.
@@ -85,11 +89,26 @@ export class AuthManager {
85
89
  var _a, _b;
86
90
  const emitter = new AuthEventEmitter();
87
91
  const storage = (_a = options.storage) !== null && _a !== void 0 ? _a : createDefaultStorage();
92
+ // Run local DWN discovery BEFORE creating the agent. Discovery has
93
+ // zero vault/DWN dependencies — it only checks the URL fragment,
94
+ // reads localStorage, and validates via GET /info.
95
+ //
96
+ // When a local DWN server is available, the agent is created in
97
+ // "remote mode": it skips creating an in-process DWN and routes all
98
+ // DWN operations through RPC to the local server.
99
+ let localDwnEndpoint;
100
+ if (!options.agent && options.localDwnStrategy !== 'off') {
101
+ localDwnEndpoint = yield discoverLocalDwn(storage);
102
+ // NOTE: We intentionally do NOT emit 'local-dwn-available' here
103
+ // because event listeners aren't attached yet. Consumers should
104
+ // check `authManager.localDwnEndpoint` after create() returns.
105
+ }
88
106
  // Use a pre-built agent or create one with the given options.
89
107
  const userAgent = (_b = options.agent) !== null && _b !== void 0 ? _b : yield EnboxUserAgent.create({
90
108
  dataPath: options.dataPath,
91
109
  agentVault: options.agentVault,
92
110
  localDwnStrategy: options.localDwnStrategy,
111
+ localDwnEndpoint,
93
112
  });
94
113
  const vault = new VaultManager(userAgent.vault, emitter);
95
114
  const manager = new AuthManager({
@@ -98,9 +117,11 @@ export class AuthManager {
98
117
  storage,
99
118
  vault,
100
119
  defaultPassword: options.password,
120
+ passwordProvider: options.passwordProvider,
101
121
  defaultSync: options.sync,
102
122
  defaultDwnEndpoints: options.dwnEndpoints,
103
123
  registration: options.registration,
124
+ localDwnEndpoint,
104
125
  });
105
126
  // Determine initial state.
106
127
  if (yield vault.isInitialized()) {
@@ -133,6 +154,7 @@ export class AuthManager {
133
154
  emitter: this._emitter,
134
155
  storage: this._storage,
135
156
  defaultPassword: this._defaultPassword,
157
+ passwordProvider: this._passwordProvider,
136
158
  defaultSync: this._defaultSync,
137
159
  defaultDwnEndpoints: this._defaultDwnEndpoints,
138
160
  registration: this._registration,
@@ -147,7 +169,7 @@ export class AuthManager {
147
169
  });
148
170
  }
149
171
  /**
150
- * Connect to an external wallet via the OIDC/QR relay protocol.
172
+ * Connect to an external wallet via the Enbox Connect relay protocol.
151
173
  *
152
174
  * This runs the full WalletConnect flow: generates a URI for QR display,
153
175
  * validates the PIN, imports the delegated DID, and processes grants.
@@ -159,13 +181,24 @@ export class AuthManager {
159
181
  */
160
182
  walletConnect(options) {
161
183
  return __awaiter(this, void 0, void 0, function* () {
162
- var _a;
163
184
  this._guardConcurrency();
164
185
  this._isConnecting = true;
165
186
  try {
166
187
  // 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()) {
188
+ const isFirstLaunch = yield this._userAgent.firstLaunch();
189
+ let password = this._defaultPassword;
190
+ if (!password && this._passwordProvider) {
191
+ try {
192
+ password = yield this._passwordProvider.getPassword({
193
+ reason: isFirstLaunch ? 'create' : 'unlock',
194
+ });
195
+ }
196
+ catch (_a) {
197
+ // Provider failed — fall through to insecure default.
198
+ }
199
+ }
200
+ password !== null && password !== void 0 ? password : (password = 'insecure-static-phrase');
201
+ if (isFirstLaunch) {
169
202
  yield this._userAgent.initialize({ password });
170
203
  }
171
204
  yield this._userAgent.start({ password });
@@ -258,6 +291,7 @@ export class AuthManager {
258
291
  emitter: this._emitter,
259
292
  storage: this._storage,
260
293
  defaultPassword: this._defaultPassword,
294
+ passwordProvider: this._passwordProvider,
261
295
  defaultSync: this._defaultSync,
262
296
  }, options);
263
297
  if (session) {
@@ -271,11 +305,119 @@ export class AuthManager {
271
305
  }
272
306
  });
273
307
  }
308
+ /**
309
+ * Lightweight vault unlock for one-shot utilities and subprocesses.
310
+ *
311
+ * Unlocks the vault and retrieves the active (or first available)
312
+ * identity **without** starting sync, DWN registration, or persisting
313
+ * session markers. This is the recommended replacement for calling
314
+ * `agent.start({ password })` directly.
315
+ *
316
+ * Typical use cases:
317
+ * - Git credential helpers that need to sign a token and exit
318
+ * - CLI utilities that perform a single operation
319
+ * - Any subprocess that shares a data directory with a long-running daemon
320
+ *
321
+ * @param options - Optional password override.
322
+ * @returns An active AuthSession (with sync disabled).
323
+ *
324
+ * @example
325
+ * ```ts
326
+ * const session = await auth.connectHeadless({ password });
327
+ * const did = session.did; // ready to use
328
+ * await auth.shutdown(); // clean exit
329
+ * ```
330
+ */
331
+ connectHeadless(options) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ var _a, _b, _c;
334
+ let password = (_a = options === null || options === void 0 ? void 0 : options.password) !== null && _a !== void 0 ? _a : this._defaultPassword;
335
+ // Try the password provider if no explicit password.
336
+ if (!password && this._passwordProvider) {
337
+ const isFirstLaunch = yield this._userAgent.firstLaunch();
338
+ password = yield this._passwordProvider.getPassword({
339
+ reason: isFirstLaunch ? 'create' : 'unlock',
340
+ });
341
+ }
342
+ if (!password) {
343
+ throw new Error('[@enbox/auth] connectHeadless() requires a password. ' +
344
+ 'Provide one via options.password, a passwordProvider, or the AuthManager default.');
345
+ }
346
+ // Unlock the vault (initialise on first launch).
347
+ if (yield this._userAgent.firstLaunch()) {
348
+ yield this._userAgent.initialize({ password });
349
+ }
350
+ else {
351
+ yield this._userAgent.start({ password });
352
+ }
353
+ this._emitter.emit('vault-unlocked', {});
354
+ // Find the active identity.
355
+ const identities = yield this._userAgent.identity.list();
356
+ if (identities.length === 0) {
357
+ throw new Error('[@enbox/auth] No identities found in vault.');
358
+ }
359
+ // Prefer the previously-active identity, fall back to first.
360
+ const savedDid = yield this._storage.get(STORAGE_KEYS.ACTIVE_IDENTITY);
361
+ const identity = (_b = (savedDid
362
+ ? identities.find(id => id.did.uri === savedDid || id.metadata.connectedDid === savedDid)
363
+ : undefined)) !== null && _b !== void 0 ? _b : identities[0];
364
+ const connectedDid = (_c = identity.metadata.connectedDid) !== null && _c !== void 0 ? _c : identity.did.uri;
365
+ const delegateDid = identity.metadata.connectedDid ? identity.did.uri : undefined;
366
+ const identityInfo = {
367
+ didUri: connectedDid,
368
+ name: identity.metadata.name,
369
+ connectedDid: identity.metadata.connectedDid,
370
+ };
371
+ // No sync, no registration, no session persistence markers.
372
+ this._session = new AuthSession({
373
+ agent: this._userAgent,
374
+ did: connectedDid,
375
+ delegateDid,
376
+ identity: identityInfo,
377
+ });
378
+ this._setState('connected');
379
+ return this._session;
380
+ });
381
+ }
274
382
  // ─── Session management ────────────────────────────────────────
275
383
  /** The current active session, or `undefined` if not connected. */
276
384
  get session() {
277
385
  return this._session;
278
386
  }
387
+ /**
388
+ * Lock the auth manager.
389
+ *
390
+ * Stops sync, clears the active session, and locks the underlying vault
391
+ * so the password must be provided again to resume. Session storage
392
+ * markers are preserved so {@link restoreSession} can reconnect after
393
+ * the vault is unlocked again.
394
+ *
395
+ * After locking, the state transitions to `'locked'`.
396
+ *
397
+ * @param options - Optional lock configuration.
398
+ * @param options.timeout - Milliseconds to wait for sync to stop. Default: `2000`.
399
+ */
400
+ lock() {
401
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
402
+ var _a, _b;
403
+ const { timeout = 2000 } = options;
404
+ const did = (_a = this._session) === null || _a === void 0 ? void 0 : _a.did;
405
+ // 1. Stop sync.
406
+ if ('sync' in this._userAgent && typeof ((_b = this._userAgent.sync) === null || _b === void 0 ? void 0 : _b.stopSync) === 'function') {
407
+ yield this._userAgent.sync.stopSync(timeout);
408
+ }
409
+ // 2. Clear the session (but keep storage markers for restore).
410
+ this._session = undefined;
411
+ // 3. Lock the vault (also emits 'vault-locked').
412
+ yield this._vault.lock();
413
+ // 4. Transition state.
414
+ this._setState('locked');
415
+ // 5. Emit session-end if there was an active session.
416
+ if (did) {
417
+ this._emitter.emit('session-end', { did });
418
+ }
419
+ });
420
+ }
279
421
  /**
280
422
  * Disconnect the current session.
281
423
  *
@@ -330,6 +472,84 @@ export class AuthManager {
330
472
  }
331
473
  });
332
474
  }
475
+ /**
476
+ * Gracefully shut down the auth manager, releasing all resources.
477
+ *
478
+ * This goes beyond {@link disconnect} or {@link lock}: it stops sync,
479
+ * clears the active session, locks the vault, and **closes** the
480
+ * underlying storage handles (e.g. LevelDB) so the process can exit
481
+ * without dangling timers or open file descriptors.
482
+ *
483
+ * After calling `shutdown()`, the `AuthManager` instance should not be
484
+ * reused — create a new one via {@link AuthManager.create} if needed.
485
+ *
486
+ * Idempotent: calling `shutdown()` more than once is safe.
487
+ *
488
+ * @param options - Optional shutdown configuration.
489
+ * @param options.timeout - Milliseconds to wait for sync to stop. Default: `2000`.
490
+ *
491
+ * @example
492
+ * ```ts
493
+ * const session = await auth.connectHeadless({ password });
494
+ * // ... perform work ...
495
+ * await auth.shutdown(); // clean exit, no process.exit() needed
496
+ * ```
497
+ */
498
+ shutdown() {
499
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
500
+ var _a, _b, _c;
501
+ if (this._isShutDown) {
502
+ return;
503
+ }
504
+ const { timeout = 2000 } = options;
505
+ const did = (_a = this._session) === null || _a === void 0 ? void 0 : _a.did;
506
+ // 1. Stop sync.
507
+ if ('sync' in this._userAgent &&
508
+ typeof ((_b = this._userAgent.sync) === null || _b === void 0 ? void 0 : _b.stopSync) === 'function') {
509
+ try {
510
+ yield this._userAgent.sync.stopSync(timeout);
511
+ }
512
+ catch (_d) {
513
+ // Best-effort — don't block shutdown on sync errors.
514
+ }
515
+ }
516
+ // 2. Clear the active session.
517
+ this._session = undefined;
518
+ // 3. Lock the vault (emits 'vault-locked').
519
+ try {
520
+ yield this._vault.lock();
521
+ }
522
+ catch (_e) {
523
+ // Vault may already be locked or uninitialised — safe to ignore.
524
+ }
525
+ // 4. Close the sync engine (releases LevelDB handles, timers).
526
+ if ('sync' in this._userAgent &&
527
+ typeof ((_c = this._userAgent.sync) === null || _c === void 0 ? void 0 : _c.close) === 'function') {
528
+ try {
529
+ yield this._userAgent.sync.close();
530
+ }
531
+ catch (_f) {
532
+ // Best-effort.
533
+ }
534
+ }
535
+ // 5. Close the storage adapter (e.g. LevelDB session store).
536
+ if (typeof this._storage.close === 'function') {
537
+ try {
538
+ yield this._storage.close();
539
+ }
540
+ catch (_g) {
541
+ // Best-effort.
542
+ }
543
+ }
544
+ // 6. Mark as shut down and transition state.
545
+ this._isShutDown = true;
546
+ this._setState('locked');
547
+ // 7. Emit session-end if there was an active session.
548
+ if (did) {
549
+ this._emitter.emit('session-end', { did });
550
+ }
551
+ });
552
+ }
333
553
  // ─── Multi-identity ────────────────────────────────────────────
334
554
  /**
335
555
  * List all stored identities.
@@ -374,9 +594,19 @@ export class AuthManager {
374
594
  name: identity.metadata.name,
375
595
  connectedDid: identity.metadata.connectedDid,
376
596
  };
377
- // Restart sync.
597
+ // Register the identity for sync and restart sync.
378
598
  const sync = this._defaultSync;
379
599
  if (sync !== 'off') {
600
+ // Register the identity for sync (idempotent — ignores "already registered" errors).
601
+ try {
602
+ yield this._userAgent.sync.registerIdentity({
603
+ did: connectedDid,
604
+ options: { delegateDid, protocols: [] },
605
+ });
606
+ }
607
+ catch (_b) {
608
+ // Already registered — safe to ignore.
609
+ }
380
610
  const syncMode = sync === undefined ? 'live' : 'poll';
381
611
  const syncInterval = sync !== null && sync !== void 0 ? sync : (syncMode === 'live' ? '5m' : '2m');
382
612
  this._userAgent.sync.startSync({ mode: syncMode, interval: syncInterval })
@@ -477,6 +707,16 @@ export class AuthManager {
477
707
  get agent() {
478
708
  return this._userAgent;
479
709
  }
710
+ /**
711
+ * The local DWN server endpoint discovered during `create()`, if any.
712
+ *
713
+ * When set, the agent is operating in remote mode (no in-process DWN).
714
+ * This property is available immediately after `create()` returns,
715
+ * before any event listeners are attached.
716
+ */
717
+ get localDwnEndpoint() {
718
+ return this._localDwnEndpoint;
719
+ }
480
720
  // ─── Private helpers ───────────────────────────────────────────
481
721
  _setState(state) {
482
722
  if (state === this._state) {
@@ -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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"}