@enbox/auth 0.4.0 → 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 +200 -4
  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 +13 -2
  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 +67 -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 +86 -1
  39. package/dist/types/types.d.ts.map +1 -1
  40. package/package.json +8 -9
  41. package/src/auth-manager.ts +236 -8
  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 +15 -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 +93 -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,6 +305,80 @@ 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() {
@@ -364,6 +472,84 @@ export class AuthManager {
364
472
  }
365
473
  });
366
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
+ }
367
553
  // ─── Multi-identity ────────────────────────────────────────────
368
554
  /**
369
555
  * List all stored identities.
@@ -521,6 +707,16 @@ export class AuthManager {
521
707
  get agent() {
522
708
  return this._userAgent;
523
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
+ }
524
720
  // ─── Private helpers ───────────────────────────────────────────
525
721
  _setState(state) {
526
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":"AAAA;;;;;;GAMG;;;;;;;;;;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAqB1D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,WAAW;IAyBtB,YAAoB,MAWnB;QA9BO,WAAM,GAAc,eAAe,CAAC;QACpC,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,KAAK,CAAC;QA6B1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAO,MAAM;6DAAC,UAA8B,EAAE;;YAClD,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,oBAAoB,EAAE,CAAC;YAE1D,mEAAmE;YACnE,iEAAiE;YACjE,mDAAmD;YACnD,EAAE;YACF,gEAAgE;YAChE,oEAAoE;YACpE,kDAAkD;YAClD,IAAI,gBAAoC,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACzD,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACnD,gEAAgE;gBAChE,gEAAgE;gBAChE,+DAA+D;YACjE,CAAC;YAED,8DAA8D;YAC9D,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,MAAM,cAAc,CAAC,MAAM,CAAC;gBAC7D,QAAQ,EAAW,OAAO,CAAC,QAAQ;gBACnC,UAAU,EAAS,OAAO,CAAC,UAAU;gBACrC,gBAAgB,EAAG,OAAO,CAAC,gBAAgB;gBAC3C,gBAAgB;aACjB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;gBAC9B,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,eAAe,EAAO,OAAO,CAAC,QAAQ;gBACtC,gBAAgB,EAAM,OAAO,CAAC,gBAAgB;gBAC9C,WAAW,EAAW,OAAO,CAAC,IAAI;gBAClC,mBAAmB,EAAG,OAAO,CAAC,YAAY;gBAC1C,YAAY,EAAU,OAAO,CAAC,YAAY;gBAC1C,gBAAgB;aACjB,CAAC,CAAC;YAEH,2BAA2B;YAC3B,IAAI,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;gBAChC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,kEAAkE;IAElE;;;;;;;;;OASG;IACG,OAAO,CAAC,OAA6B;;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC;oBACE,SAAS,EAAa,IAAI,CAAC,UAAU;oBACrC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,eAAe,EAAO,IAAI,CAAC,gBAAgB;oBAC3C,gBAAgB,EAAM,IAAI,CAAC,iBAAiB;oBAC5C,WAAW,EAAW,IAAI,CAAC,YAAY;oBACvC,mBAAmB,EAAG,IAAI,CAAC,oBAAoB;oBAC/C,YAAY,EAAU,IAAI,CAAC,aAAa;iBACzC,EACD,OAAO,CACR,CAAC;gBAEF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACG,aAAa,CAAC,OAA6B;;YAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,qEAAqE;gBACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAErC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;4BAClD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;yBAC5C,CAAC,CAAC;oBACL,CAAC;oBAAC,WAAM,CAAC;wBACP,sDAAsD;oBACxD,CAAC;gBACH,CAAC;gBAED,QAAQ,aAAR,QAAQ,cAAR,QAAQ,IAAR,QAAQ,GAAK,wBAAwB,EAAC;gBAEtC,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAEzC,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC;oBACE,SAAS,EAAa,IAAI,CAAC,UAAU;oBACrC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,WAAW,EAAW,IAAI,CAAC,YAAY;oBACvC,mBAAmB,EAAG,IAAI,CAAC,oBAAoB;oBAC/C,YAAY,EAAU,IAAI,CAAC,aAAa;iBACzC,EACD,OAAO,CACR,CAAC;gBAEF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,OAAgC;;YACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC;oBACE,SAAS,EAAa,IAAI,CAAC,UAAU;oBACrC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,WAAW,EAAW,IAAI,CAAC,YAAY;oBACvC,mBAAmB,EAAG,IAAI,CAAC,oBAAoB;oBAC/C,YAAY,EAAU,IAAI,CAAC,aAAa;iBACzC,EACD,OAAO,CACR,CAAC;gBAEF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAED;;;;OAIG;IACG,kBAAkB,CAAC,OAAkC;;YACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC;oBACE,SAAS,EAAa,IAAI,CAAC,UAAU;oBACrC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,OAAO,EAAe,IAAI,CAAC,QAAQ;oBACnC,WAAW,EAAW,IAAI,CAAC,YAAY;oBACvC,mBAAmB,EAAG,IAAI,CAAC,oBAAoB;oBAC/C,YAAY,EAAU,IAAI,CAAC,aAAa;iBACzC,EACD,OAAO,CACR,CAAC;gBAEF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACG,cAAc,CAAC,OAA+B;;YAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC;oBACE,SAAS,EAAU,IAAI,CAAC,UAAU;oBAClC,OAAO,EAAY,IAAI,CAAC,QAAQ;oBAChC,OAAO,EAAY,IAAI,CAAC,QAAQ;oBAChC,eAAe,EAAI,IAAI,CAAC,gBAAgB;oBACxC,gBAAgB,EAAG,IAAI,CAAC,iBAAiB;oBACzC,WAAW,EAAQ,IAAI,CAAC,YAAY;iBACrC,EACD,OAAO,CACR,CAAC;gBAEF,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,eAAe,CAAC,OAAgC;;;YACpD,IAAI,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,IAAI,CAAC,gBAAgB,CAAC;YAE1D,qDAAqD;YACrD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC1D,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;oBAClD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;iBAC5C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,uDAAuD;oBACvD,mFAAmF,CACpF,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAEzC,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAA,CAAC,QAAQ;gBACxB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC;gBACzF,CAAC,CAAC,SAAS,CACZ,mCAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAEnB,MAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,YAAY,mCAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAElF,MAAM,YAAY,GAAiB;gBACjC,MAAM,EAAS,YAAY;gBAC3B,IAAI,EAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBACrC,YAAY,EAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;aAC9C,CAAC;YAEF,4DAA4D;YAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC;gBAC9B,KAAK,EAAM,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAQ,YAAY;gBACvB,WAAW;gBACX,QAAQ,EAAG,YAAY;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KAAA;IAED,kEAAkE;IAElE,mEAAmE;IACnE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACG,IAAI;6DAAC,UAAgC,EAAE;;YAC3C,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YACnC,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC;YAE/B,gBAAgB;YAChB,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAA,MAAC,IAAI,CAAC,UAAkB,CAAC,IAAI,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE,CAAC;gBAC/F,MAAO,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,iDAAiD;YACjD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAEzB,uBAAuB;YACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEzB,sDAAsD;YACtD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,UAAU;6DAAC,UAA6B,EAAE;;YAC9C,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YACzD,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC;YAE/B,aAAa;YACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAA,MAAC,IAAI,CAAC,UAAkB,CAAC,IAAI,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE,CAAC;oBAC/F,MAAO,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,YAAY,EAAE,CAAC;gBACjB,+CAA+C;gBAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAE5B,gEAAgE;gBAChE,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;oBACnD,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;gBACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;wBACzD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;4BAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gCACZ,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,WAAM,CAAC;wBACP,uDAAuD;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE3B,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,QAAQ;6DAAC,UAA2B,EAAE;;YAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YACnC,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC;YAE/B,gBAAgB;YAChB,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU;gBACzB,OAAO,CAAA,MAAC,IAAI,CAAC,UAAkB,CAAC,IAAI,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE,CAAC;gBAClE,IAAI,CAAC;oBACH,MAAO,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;gBAAC,WAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,4CAA4C;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,WAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;YAED,+DAA+D;YAC/D,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU;gBACzB,OAAO,CAAA,MAAC,IAAI,CAAC,UAAkB,CAAC,IAAI,0CAAE,KAAK,CAAA,KAAK,UAAU,EAAE,CAAC;gBAC/D,IAAI,CAAC;oBACH,MAAO,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9C,CAAC;gBAAC,WAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAAC,WAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEzB,sDAAsD;YACtD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KAAA;IAED,kEAAkE;IAElE;;;;;OAKG;IACG,cAAc;;YAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAwB,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,EAAS,QAAQ,CAAC,GAAG,CAAC,GAAG;gBAC/B,IAAI,EAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBACrC,YAAY,EAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;aAC9C,CAAC,CAAC,CAAC;QACN,CAAC;KAAA;IAED;;;;;OAKG;IACG,cAAc,CAAC,MAAc;;;YACjC,kDAAkD;YAClD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,YAAY,mCAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAElF,sBAAsB;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAiB;gBACjC,MAAM,EAAS,YAAY;gBAC3B,IAAI,EAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBACrC,YAAY,EAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;aAC9C,CAAC;YAEF,mDAAmD;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,qFAAqF;gBACrF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBAC1C,GAAG,EAAO,YAAY;wBACtB,OAAO,EAAG,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;qBACzC,CAAC,CAAC;gBACL,CAAC;gBAAC,WAAM,CAAC;oBACP,uCAAuC;gBACzC,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;qBACvE,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC;gBAC9B,KAAK,EAAM,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAQ,YAAY;gBACvB,WAAW;gBACX,QAAQ,EAAG,YAAY;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE;aACpE,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KAAA;IAED;;;;;;OAMG;IACG,cAAc,CAAC,MAAc;;;YACjC,6CAA6C;YAC7C,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,MAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC/B,MAAM,EAAM,QAAQ,CAAC,GAAG,CAAC,GAAG;oBAC5B,MAAM,EAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM;oBACpC,SAAS,EAAG,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;YAED,8BAA8B;YAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;KAAA;IAED;;;;;OAKG;IACG,cAAc,CAAC,MAAc;;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;KAAA;IAED,kEAAkE;IAElE,kEAAkE;IAClE,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kEAAkE;IAElE;;;;;;OAMG;IACH,EAAE,CAAsB,KAAQ,EAAE,OAA4B;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,kEAAkE;IAElE,8BAA8B;IAC9B,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,wCAAwC;IACxC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;IACrC,CAAC;IAED,6CAA6C;IAC7C,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,mDAAmD;IACnD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,0DAA0D;IAC1D,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,kEAAkE;IAE1D,SAAS,CAAC,KAAgB;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC7D,kDAAkD,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -7,26 +7,21 @@
7
7
  *
8
8
  * ## Discovery channels (browser, highest to lowest priority)
9
9
  *
10
- * 1. **URL fragment payload** — A `dwn://register` redirect just landed
10
+ * 1. **URL fragment payload** — A `dwn://connect` redirect just landed
11
11
  * on the page with the endpoint in `#`. Highest priority because it's
12
12
  * fresh and explicit.
13
13
  * 2. **Persisted endpoint** (localStorage) — A previously discovered
14
14
  * endpoint restored and re-validated via `GET /info`.
15
- * 3. **Agent-level discovery** (transparent, runs on every `sendRequest`)
16
- * — `~/.enbox/dwn.json` discovery file (Node/Bun only; skipped in
17
- * browsers) and sequential port probing on `127.0.0.1:{3000,55500–55509}`.
18
- * This channel works even if the browser-specific functions here
19
- * return `false`.
20
15
  *
21
16
  * ## Discovery channels (CLI / native, all transparent)
22
17
  *
23
- * In Node/Bun environments, all discovery happens automatically inside
18
+ * In Node/Bun environments, the agent's `LocalDwnDiscovery` reads the
19
+ * `~/.enbox/dwn.json` discovery file automatically inside
24
20
  * `AgentDwnApi.getLocalDwnEndpoint()`. The browser-specific functions
25
21
  * in this module (`checkUrlForDwnDiscoveryPayload`, `requestLocalDwnDiscovery`)
26
- * are not needed the agent reads `~/.enbox/dwn.json` and probes ports
27
- * on its own.
22
+ * are not needed in those environments.
28
23
  *
29
- * @see https://github.com/enboxorg/enbox/issues/589
24
+ * @see https://github.com/enboxorg/enbox/issues/677
30
25
  * @module
31
26
  */
32
27
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -38,13 +33,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
38
33
  step((generator = generator.apply(thisArg, _arguments || [])).next());
39
34
  });
40
35
  };
41
- import { buildDwnRegisterUrl, readDwnDiscoveryPayloadFromUrl } from '@enbox/agent';
36
+ import { EnboxRpcClient } from '@enbox/dwn-clients';
37
+ import { buildDwnConnectUrl, localDwnServerName, normalizeBaseUrl, readDwnDiscoveryPayloadFromUrl } from '@enbox/agent';
42
38
  import { STORAGE_KEYS } from '../types.js';
43
39
  /**
44
40
  * Check the current page URL for a `DwnDiscoveryPayload` in the fragment.
45
41
  *
46
42
  * This is called once at the start of a connection flow to detect whether
47
- * the user was just redirected back from a `dwn://register` handler. If a
43
+ * the user was just redirected back from a `dwn://connect` handler. If a
48
44
  * valid payload is found, the endpoint is persisted and the fragment is
49
45
  * cleared to prevent double-reads.
50
46
  *
@@ -67,6 +63,80 @@ export function checkUrlForDwnDiscoveryPayload() {
67
63
  }
68
64
  return payload.endpoint;
69
65
  }
66
+ // ─── Standalone (pre-agent) discovery ───────────────────────────
67
+ /**
68
+ * Validate a local DWN endpoint by calling `GET /info` and checking
69
+ * that the server identifies itself as `@enbox/dwn-server`.
70
+ *
71
+ * This function has **zero** agent or vault dependencies — it only uses
72
+ * the network. It is safe to call before the agent exists.
73
+ *
74
+ * @param endpoint - The candidate endpoint URL.
75
+ * @returns The normalised endpoint if valid, `undefined` otherwise.
76
+ */
77
+ function validateEndpointStandalone(endpoint) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const normalized = normalizeBaseUrl(endpoint);
80
+ try {
81
+ const rpc = new EnboxRpcClient();
82
+ const serverInfo = yield rpc.getServerInfo(normalized);
83
+ if (serverInfo.server === localDwnServerName) {
84
+ return normalized;
85
+ }
86
+ }
87
+ catch (_a) {
88
+ // Server not reachable or not ours.
89
+ }
90
+ return undefined;
91
+ });
92
+ }
93
+ /**
94
+ * Run local DWN discovery **before the agent exists**.
95
+ *
96
+ * This is the standalone counterpart of {@link applyLocalDwnDiscovery} and
97
+ * is designed to be called in `AuthManager.create()`, before
98
+ * `EnboxUserAgent.create()`, so the agent creation can decide whether to
99
+ * spin up an in-process DWN or operate in remote mode.
100
+ *
101
+ * Discovery channels (highest → lowest priority):
102
+ * 1. **URL fragment payload** — A `dwn://connect` redirect just landed.
103
+ * 2. **Persisted endpoint** (localStorage) — A previously discovered
104
+ * endpoint, re-validated via `GET /info`.
105
+ *
106
+ * When a valid endpoint is found it is persisted to storage. When a
107
+ * previously-persisted endpoint is stale, it is removed.
108
+ *
109
+ * @param storage - The auth storage adapter (for reading/writing the
110
+ * cached endpoint).
111
+ * @returns The validated endpoint URL, or `undefined` if no local DWN
112
+ * server is available.
113
+ */
114
+ export function discoverLocalDwn(storage) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ // Channel 1: Fresh redirect payload in the URL fragment.
117
+ const freshEndpoint = checkUrlForDwnDiscoveryPayload();
118
+ if (freshEndpoint) {
119
+ const validated = yield validateEndpointStandalone(freshEndpoint);
120
+ if (validated) {
121
+ yield persistLocalDwnEndpoint(storage, validated);
122
+ return validated;
123
+ }
124
+ // Payload was in the URL but the server is unreachable — fall through.
125
+ }
126
+ // Channel 2: Persisted endpoint from a previous session.
127
+ const cached = yield storage.get(STORAGE_KEYS.LOCAL_DWN_ENDPOINT);
128
+ if (cached) {
129
+ const validated = yield validateEndpointStandalone(cached);
130
+ if (validated) {
131
+ return validated;
132
+ }
133
+ // Stale — server no longer running.
134
+ yield clearLocalDwnEndpoint(storage);
135
+ }
136
+ return undefined;
137
+ });
138
+ }
139
+ // ─── Storage helpers ────────────────────────────────────────────
70
140
  /**
71
141
  * Persist a discovered local DWN endpoint in auth storage.
72
142
  *
@@ -121,25 +191,18 @@ export function restoreLocalDwnEndpoint(agent, storage) {
121
191
  * Run the full local DWN discovery sequence for a browser connection flow.
122
192
  *
123
193
  * This function handles the **receiving** side of local DWN discovery in
124
- * the browser. It does NOT trigger the `dwn://register` redirect — use
194
+ * the browser. It does NOT trigger the `dwn://connect` redirect — use
125
195
  * {@link requestLocalDwnDiscovery} for that.
126
196
  *
127
197
  * The discovery channels, from highest to lowest priority:
128
198
  *
129
- * 1. **URL fragment payload** — A `dwn://register` redirect just landed on
199
+ * 1. **URL fragment payload** — A `dwn://connect` redirect just landed on
130
200
  * this page with the DWN endpoint in `#`. This is the highest-priority
131
201
  * signal because it's fresh and explicit.
132
202
  *
133
203
  * 2. **Persisted endpoint** (localStorage) — A previously discovered
134
204
  * endpoint is restored and re-validated via `GET /info`.
135
205
  *
136
- * 3. **Agent-level discovery** (transparent) — Even if this function
137
- * returns `false`, the agent's `LocalDwnDiscovery` will independently
138
- * try the discovery file (`~/.enbox/dwn.json`) and port probing on
139
- * every `sendRequest()` call. Those channels are not available in
140
- * browsers (no filesystem access, CORS may block probes), but they
141
- * work transparently in Node/Bun CLI environments.
142
- *
143
206
  * When an `emitter` is provided, this function emits:
144
207
  * - `'local-dwn-available'` with the endpoint when discovery succeeds.
145
208
  * - `'local-dwn-unavailable'` when no local DWN could be reached.
@@ -176,36 +239,30 @@ export function applyLocalDwnDiscovery(agent, storage, emitter) {
176
239
  return restored;
177
240
  });
178
241
  }
179
- // ─── dwn://register trigger ─────────────────────────────────────
242
+ // ─── dwn://connect trigger ──────────────────────────────────────
180
243
  /**
181
- * Initiate the `dwn://register` flow by opening the register URL.
244
+ * Initiate the `dwn://connect` flow by opening the connect URL.
182
245
  *
183
- * This asks the operating system to route `dwn://register?callback=<url>`
246
+ * This asks the operating system to route `dwn://connect?callback=<url>`
184
247
  * to the registered handler (electrobun-dwn), which will redirect the
185
248
  * user's browser back to `callbackUrl` with the local DWN endpoint
186
249
  * encoded in the URL fragment.
187
250
  *
188
- * **Important:** There is no reliable cross-browser API to detect whether
189
- * a `dwn://` handler is installed. If no handler is registered, this call
190
- * will silently fail or show an OS-level error dialog. Use
191
- * {@link probeLocalDwn} first to check if a local DWN is already
192
- * reachable via port probing — if it is, you can skip the register flow
193
- * entirely and call {@link applyLocalDwnDiscovery} instead.
251
+ * **Note:** There is no reliable cross-browser API to detect whether a
252
+ * `dwn://` handler is installed. If no handler is registered, this call
253
+ * will silently fail or show an OS-level error dialog.
194
254
  *
195
255
  * @param callbackUrl - The URL to redirect back to. Defaults to the
196
256
  * current page URL (without its fragment) if running in a browser.
197
- * @returns `true` if the register URL was opened, `false` if no
257
+ * @returns `true` if the connect URL was opened, `false` if no
198
258
  * callback URL could be determined (e.g. no `globalThis.location`).
199
259
  *
200
260
  * @example
201
261
  * ```ts
202
- * // Check if local DWN is already available via direct probe.
203
- * const alreadyAvailable = await probeLocalDwn();
204
- * if (!alreadyAvailable) {
205
- * // No local DWN found trigger the dwn://register flow.
206
- * requestLocalDwnDiscovery();
207
- * // The page will reload with the endpoint in the URL fragment.
208
- * }
262
+ * // Trigger the dwn://connect flow to discover a local DWN.
263
+ * requestLocalDwnDiscovery();
264
+ * // The page will reload with the endpoint in the URL fragment.
265
+ * // On the next connect/restore, applyLocalDwnDiscovery() reads it.
209
266
  * ```
210
267
  */
211
268
  export function requestLocalDwnDiscovery(callbackUrl) {
@@ -213,7 +270,7 @@ export function requestLocalDwnDiscovery(callbackUrl) {
213
270
  if (!resolvedCallback) {
214
271
  return false;
215
272
  }
216
- const registerUrl = buildDwnRegisterUrl(resolvedCallback);
273
+ const registerUrl = buildDwnConnectUrl(resolvedCallback);
217
274
  // Open the dwn:// URL. Use window.open() rather than location.href
218
275
  // assignment to avoid navigating away from the current page if the
219
276
  // OS handler isn't installed.
@@ -228,48 +285,6 @@ export function requestLocalDwnDiscovery(callbackUrl) {
228
285
  }
229
286
  return false;
230
287
  }
231
- /**
232
- * Probe whether a local DWN server is reachable via direct HTTP fetch.
233
- *
234
- * Attempts `GET http://127.0.0.1:{port}/info` on the well-known port
235
- * candidates and returns the endpoint URL of the first server that
236
- * responds with a valid `@enbox/dwn-server` identity.
237
- *
238
- * This is useful in browsers to check if a local DWN is available
239
- * *before* triggering the `dwn://register` redirect flow — if the
240
- * server is already reachable (CORS permitting), the redirect is
241
- * unnecessary.
242
- *
243
- * @returns The local DWN endpoint URL, or `undefined` if no server
244
- * was found. Returns `undefined` (rather than throwing) on CORS
245
- * errors or network failures.
246
- */
247
- export function probeLocalDwn() {
248
- return __awaiter(this, void 0, void 0, function* () {
249
- // Import port candidates from @enbox/agent. Using a dynamic import
250
- // here keeps the function self-contained and avoids circular deps.
251
- const { localDwnPortCandidates, localDwnHostCandidates } = yield import('@enbox/agent');
252
- for (const port of localDwnPortCandidates) {
253
- for (const host of localDwnHostCandidates) {
254
- const endpoint = `http://${host}:${port}`;
255
- try {
256
- const response = yield fetch(`${endpoint}/info`, { signal: AbortSignal.timeout(2000) });
257
- if (!response.ok) {
258
- continue;
259
- }
260
- const serverInfo = yield response.json();
261
- if ((serverInfo === null || serverInfo === void 0 ? void 0 : serverInfo.server) === '@enbox/dwn-server') {
262
- return endpoint;
263
- }
264
- }
265
- catch (_a) {
266
- // Network error, CORS block, or timeout — try next candidate.
267
- }
268
- }
269
- }
270
- return undefined;
271
- });
272
- }
273
288
  // ─── Internal helpers ───────────────────────────────────────────
274
289
  /** Return the current page URL without the fragment, or `undefined`. */
275
290
  function currentPageUrl() {
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-discovery.js","sourceRoot":"","sources":["../../../src/flows/dwn-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-discovery.js","sourceRoot":"","sources":["../../../src/flows/dwn-discovery.ts"],"names":[],"mappings":"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"}