@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.
- package/dist/esm/auth-manager.js +244 -121
- package/dist/esm/auth-manager.js.map +1 -1
- package/dist/esm/connect/import.js +131 -0
- package/dist/esm/connect/import.js.map +1 -0
- package/dist/esm/connect/lifecycle.js +235 -0
- package/dist/esm/connect/lifecycle.js.map +1 -0
- package/dist/esm/connect/local.js +91 -0
- package/dist/esm/connect/local.js.map +1 -0
- package/dist/esm/{flows/session-restore.js → connect/restore.js} +39 -50
- package/dist/esm/connect/restore.js.map +1 -0
- package/dist/esm/{flows/wallet-connect.js → connect/wallet.js} +33 -39
- package/dist/esm/connect/wallet.js.map +1 -0
- package/dist/esm/{flows/dwn-discovery.js → discovery.js} +98 -83
- package/dist/esm/discovery.js.map +1 -0
- package/dist/esm/index.js +7 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/password-provider.js +319 -0
- package/dist/esm/password-provider.js.map +1 -0
- package/dist/esm/{flows/dwn-registration.js → registration.js} +50 -4
- package/dist/esm/registration.js.map +1 -0
- package/dist/esm/types.js +11 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/wallet-connect-client.js +188 -0
- package/dist/esm/wallet-connect-client.js.map +1 -0
- package/dist/types/auth-manager.d.ts +86 -7
- package/dist/types/auth-manager.d.ts.map +1 -1
- package/dist/types/connect/import.d.ts +25 -0
- package/dist/types/connect/import.d.ts.map +1 -0
- package/dist/types/connect/lifecycle.d.ts +152 -0
- package/dist/types/connect/lifecycle.d.ts.map +1 -0
- package/dist/types/connect/local.d.ts +18 -0
- package/dist/types/connect/local.d.ts.map +1 -0
- package/dist/types/connect/restore.d.ts +18 -0
- package/dist/types/connect/restore.d.ts.map +1 -0
- package/dist/types/{flows/wallet-connect.d.ts → connect/wallet.d.ts} +7 -16
- package/dist/types/connect/wallet.d.ts.map +1 -0
- package/dist/types/{flows/dwn-discovery.d.ts → discovery.d.ts} +43 -56
- package/dist/types/discovery.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/password-provider.d.ts +194 -0
- package/dist/types/password-provider.d.ts.map +1 -0
- package/dist/types/{flows/dwn-registration.d.ts → registration.d.ts} +21 -2
- package/dist/types/registration.d.ts.map +1 -0
- package/dist/types/types.d.ts +92 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/wallet-connect-client.d.ts +89 -0
- package/dist/types/wallet-connect-client.d.ts.map +1 -0
- package/package.json +15 -12
- package/src/auth-manager.ts +279 -145
- package/src/connect/import.ts +148 -0
- package/src/connect/lifecycle.ts +321 -0
- package/src/connect/local.ts +101 -0
- package/src/connect/restore.ts +117 -0
- package/src/{flows/wallet-connect.ts → connect/wallet.ts} +42 -58
- package/src/{flows/dwn-discovery.ts → discovery.ts} +103 -82
- package/src/index.ts +14 -4
- package/src/password-provider.ts +383 -0
- package/src/{flows/dwn-registration.ts → registration.ts} +61 -6
- package/src/types.ts +100 -4
- package/src/wallet-connect-client.ts +278 -0
- package/dist/esm/flows/dwn-discovery.js.map +0 -1
- package/dist/esm/flows/dwn-registration.js.map +0 -1
- package/dist/esm/flows/import-identity.js +0 -175
- package/dist/esm/flows/import-identity.js.map +0 -1
- package/dist/esm/flows/local-connect.js +0 -141
- package/dist/esm/flows/local-connect.js.map +0 -1
- package/dist/esm/flows/session-restore.js.map +0 -1
- package/dist/esm/flows/wallet-connect.js.map +0 -1
- package/dist/esm/vault/vault-manager.js +0 -95
- package/dist/esm/vault/vault-manager.js.map +0 -1
- package/dist/types/flows/dwn-discovery.d.ts.map +0 -1
- package/dist/types/flows/dwn-registration.d.ts.map +0 -1
- package/dist/types/flows/import-identity.d.ts +0 -35
- package/dist/types/flows/import-identity.d.ts.map +0 -1
- package/dist/types/flows/local-connect.d.ts +0 -29
- package/dist/types/flows/local-connect.d.ts.map +0 -1
- package/dist/types/flows/session-restore.d.ts +0 -27
- package/dist/types/flows/session-restore.d.ts.map +0 -1
- package/dist/types/flows/wallet-connect.d.ts.map +0 -1
- package/dist/types/vault/vault-manager.d.ts +0 -57
- package/dist/types/vault/vault-manager.d.ts.map +0 -1
- package/src/flows/import-identity.ts +0 -217
- package/src/flows/local-connect.ts +0 -171
- package/src/flows/session-restore.ts +0 -142
- package/src/vault/vault-manager.ts +0 -89
package/dist/esm/auth-manager.js
CHANGED
|
@@ -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 {
|
|
22
|
-
import {
|
|
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 {
|
|
25
|
-
import {
|
|
26
|
-
import { importFromPhrase, importFromPortable } from './
|
|
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.
|
|
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
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
|
304
|
-
yield this.
|
|
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
|
|
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
|
-
|
|
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 (
|
|
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
|
|
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 (
|
|
496
|
+
catch (_a) {
|
|
422
497
|
// Already registered — safe to ignore.
|
|
423
498
|
}
|
|
424
|
-
|
|
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
|
|
560
|
+
/** Access the underlying identity vault for lock/unlock/backup operations. */
|
|
489
561
|
get vault() {
|
|
490
|
-
return this.
|
|
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.
|
|
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":"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,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;AAiB1D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,WAAW;IAetB,YAAoB,MASnB;QAlBO,WAAM,GAAc,eAAe,CAAC;QACpC,kBAAa,GAAG,KAAK,CAAC;QAkB5B,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,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,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,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;aAC5C,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,WAAW,EAAW,OAAO,CAAC,IAAI;gBAClC,mBAAmB,EAAG,OAAO,CAAC,YAAY;gBAC1C,YAAY,EAAU,OAAO,CAAC,YAAY;aAC3C,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,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,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,mCAAI,wBAAwB,CAAC;gBACnE,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxC,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,EAAS,IAAI,CAAC,UAAU;oBACjC,OAAO,EAAW,IAAI,CAAC,QAAQ;oBAC/B,OAAO,EAAW,IAAI,CAAC,QAAQ;oBAC/B,eAAe,EAAG,IAAI,CAAC,gBAAgB;oBACvC,WAAW,EAAO,IAAI,CAAC,YAAY;iBACpC,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,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,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,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"}
|
|
1
|
+
{"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../src/auth-manager.ts"],"names":[],"mappings":"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"}
|