@antasphere/chassis-server 1.3.0 → 1.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.
- package/dist/api/create-api.d.ts.map +1 -1
- package/dist/api/create-api.js +17 -0
- package/dist/api/create-api.js.map +1 -1
- package/dist/apps/index.d.ts +11 -0
- package/dist/apps/index.d.ts.map +1 -0
- package/dist/apps/index.js +11 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/routes.d.ts +14 -0
- package/dist/apps/routes.d.ts.map +1 -0
- package/dist/apps/routes.js +23 -0
- package/dist/apps/routes.js.map +1 -0
- package/dist/apps/select.d.ts +64 -0
- package/dist/apps/select.d.ts.map +1 -0
- package/dist/apps/select.js +168 -0
- package/dist/apps/select.js.map +1 -0
- package/dist/apps/service.d.ts +74 -0
- package/dist/apps/service.d.ts.map +1 -0
- package/dist/apps/service.js +165 -0
- package/dist/apps/service.js.map +1 -0
- package/dist/boot.d.ts.map +1 -1
- package/dist/boot.js +5 -0
- package/dist/boot.js.map +1 -1
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +2 -0
- package/dist/env.js.map +1 -1
- package/dist/identity/hub-grant.d.ts +70 -0
- package/dist/identity/hub-grant.d.ts.map +1 -1
- package/dist/identity/hub-grant.js +119 -14
- package/dist/identity/hub-grant.js.map +1 -1
- package/dist/identity/index.d.ts +1 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/testing/fake-hub.d.ts +20 -0
- package/dist/testing/fake-hub.d.ts.map +1 -1
- package/dist/testing/fake-hub.js +73 -1
- package/dist/testing/fake-hub.js.map +1 -1
- package/package.json +7 -3
- package/src/api/create-api.ts +21 -0
- package/src/apps/index.ts +17 -0
- package/src/apps/routes.ts +30 -0
- package/src/apps/select.ts +175 -0
- package/src/apps/service.ts +198 -0
- package/src/boot.ts +5 -0
- package/src/env.ts +2 -0
- package/src/identity/hub-grant.ts +187 -15
- package/src/identity/index.ts +6 -1
- package/src/testing/fake-hub.ts +83 -1
- package/test/integration/apps-route.test.ts +235 -0
- package/test/integration/hub-grant.test.ts +97 -0
- package/test/unit/apps.test.ts +544 -0
- package/test/unit/fake-hub-me-apps.test.ts +71 -0
- package/test/unit/hub-grant-refusal.test.ts +29 -0
- package/test/unit/hub-grant-sweep.test.ts +151 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub-grant.d.ts","sourceRoot":"","sources":["../../src/identity/hub-grant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAoB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAkC,KAAK,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA6E3C,qGAAqG;AACrG,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,EAAE,aAOjC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7B,2EAA2E;AAC3E,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,EAAE,CAAC;IACP,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,GAAG,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtC,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAeD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGxD;
|
|
1
|
+
{"version":3,"file":"hub-grant.d.ts","sourceRoot":"","sources":["../../src/identity/hub-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,6 +87,13 @@ export const DEFAULT_GRANT_DIALS = {
|
|
|
87
87
|
// constructor clamps anything smaller (see there).
|
|
88
88
|
lockWatchdogMs: 12_000
|
|
89
89
|
};
|
|
90
|
+
export const DEFAULT_GRANT_SWEEP_DIALS = {
|
|
91
|
+
intervalMs: 60_000,
|
|
92
|
+
renewAheadMs: 3 * 60_000,
|
|
93
|
+
activeWithinMs: 60 * 60_000
|
|
94
|
+
};
|
|
95
|
+
/** Bound the seen-map — a user-id flood must never balloon memory. */
|
|
96
|
+
const MAX_SEEN_USERS = 10_000;
|
|
90
97
|
/**
|
|
91
98
|
* Mirror of Better Auth 1.6.15's `isLikelyEncrypted` (dist/oauth2/utils.mjs):
|
|
92
99
|
* its decrypt path passes LEGACY PLAINTEXT tokens through untouched, and so
|
|
@@ -99,11 +106,18 @@ export function isLikelyEncrypted(token) {
|
|
|
99
106
|
return true;
|
|
100
107
|
return token.length % 2 === 0 && /^[0-9a-f]+$/i.test(token);
|
|
101
108
|
}
|
|
109
|
+
/** The `error_description` of an RFC 6749 error payload, when it is a non-empty string. */
|
|
110
|
+
export function refusalDescription(payload) {
|
|
111
|
+
const d = payload?.error_description;
|
|
112
|
+
return typeof d === 'string' && d.trim() ? d.trim().slice(0, 300) : null;
|
|
113
|
+
}
|
|
102
114
|
export class HubGrantService {
|
|
103
115
|
opts;
|
|
104
116
|
/** userId → fresh access token (in-memory only; the row is the durable store). */
|
|
105
117
|
cache = new Map();
|
|
106
118
|
inFlight = new Map();
|
|
119
|
+
/** userId → when this replica last read a token for them (the sweep's population). */
|
|
120
|
+
lastSeen = new Map();
|
|
107
121
|
tokenUrl;
|
|
108
122
|
introspectUrl;
|
|
109
123
|
fetchImpl;
|
|
@@ -209,11 +223,12 @@ export class HubGrantService {
|
|
|
209
223
|
}
|
|
210
224
|
/** A hub-callable access token for the user, refresh-on-demand. */
|
|
211
225
|
async accessToken(userId) {
|
|
226
|
+
this.markSeen(userId);
|
|
212
227
|
const cached = this.cache.get(userId);
|
|
213
228
|
if (cached && cached.expiresAtMs - this.now() > this.dials.accessSkewMs) {
|
|
214
229
|
return { kind: 'ok', accessToken: cached.token };
|
|
215
230
|
}
|
|
216
|
-
return this.acquire(userId,
|
|
231
|
+
return this.acquire(userId, 'demand');
|
|
217
232
|
}
|
|
218
233
|
/**
|
|
219
234
|
* Force a refresh (the caller saw the hub refuse the current token).
|
|
@@ -225,12 +240,85 @@ export class HubGrantService {
|
|
|
225
240
|
const existing = this.inFlight.get(userId);
|
|
226
241
|
if (existing)
|
|
227
242
|
await existing.catch(() => { });
|
|
228
|
-
return this.acquire(userId,
|
|
243
|
+
return this.acquire(userId, 'force');
|
|
244
|
+
}
|
|
245
|
+
markSeen(userId) {
|
|
246
|
+
if (!this.lastSeen.has(userId) && this.lastSeen.size >= MAX_SEEN_USERS) {
|
|
247
|
+
// Drop the oldest entry (Map keeps insertion order); a re-seen user is
|
|
248
|
+
// re-inserted at the end below.
|
|
249
|
+
const oldest = this.lastSeen.keys().next().value;
|
|
250
|
+
if (oldest !== undefined)
|
|
251
|
+
this.lastSeen.delete(oldest);
|
|
252
|
+
}
|
|
253
|
+
this.lastSeen.delete(userId);
|
|
254
|
+
this.lastSeen.set(userId, this.now());
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* One pass of the background renewal (GrantSweepDials): renew the cached
|
|
258
|
+
* token of every recently seen person whose token expires within the
|
|
259
|
+
* window, one at a time, through `renew()`. Answers how many renewals
|
|
260
|
+
* were attempted. Never throws: a failed renewal is the next request's
|
|
261
|
+
* on-demand refresh, exactly as before the sweep existed.
|
|
262
|
+
*/
|
|
263
|
+
async sweepExpiring(dials = DEFAULT_GRANT_SWEEP_DIALS) {
|
|
264
|
+
const now = this.now();
|
|
265
|
+
let attempted = 0;
|
|
266
|
+
for (const [userId, seenAt] of [...this.lastSeen]) {
|
|
267
|
+
if (now - seenAt > dials.activeWithinMs) {
|
|
268
|
+
this.lastSeen.delete(userId);
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
const cached = this.cache.get(userId);
|
|
272
|
+
if (!cached || cached.expiresAtMs - now > dials.renewAheadMs)
|
|
273
|
+
continue;
|
|
274
|
+
if (this.inFlight.has(userId))
|
|
275
|
+
continue;
|
|
276
|
+
attempted += 1;
|
|
277
|
+
try {
|
|
278
|
+
const out = await this.renew(userId, dials.renewAheadMs);
|
|
279
|
+
if (out.kind !== 'ok') {
|
|
280
|
+
this.opts.logger.info({ userId, outcome: out.kind }, 'hub grant: background renewal did not renew');
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
catch (err) {
|
|
284
|
+
this.opts.logger.warn({ err, userId }, 'hub grant: background renewal failed — the next request refreshes on demand');
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return attempted;
|
|
229
288
|
}
|
|
230
|
-
|
|
289
|
+
/**
|
|
290
|
+
* Run the sweep on a timer that never holds the process open and skips
|
|
291
|
+
* while the replica drains. Returns the function that stops it.
|
|
292
|
+
*/
|
|
293
|
+
startSweep(options = {}) {
|
|
294
|
+
const dials = { ...DEFAULT_GRANT_SWEEP_DIALS, ...options.dials };
|
|
295
|
+
let running = false;
|
|
296
|
+
const timer = setInterval(() => {
|
|
297
|
+
// One pass at a time: a slow hub must never stack passes.
|
|
298
|
+
if (running || options.isDraining?.())
|
|
299
|
+
return;
|
|
300
|
+
running = true;
|
|
301
|
+
void this.sweepExpiring(dials).finally(() => {
|
|
302
|
+
running = false;
|
|
303
|
+
});
|
|
304
|
+
}, dials.intervalMs);
|
|
305
|
+
timer.unref();
|
|
306
|
+
return { timer, stop: () => clearInterval(timer) };
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Renew the grant in the background (the sweep's path, PRDCT-3584): the
|
|
310
|
+
* cached token keeps being served until the rotation's result is known
|
|
311
|
+
* (nothing is evicted up front, unlike `refresh()`), and a token a sibling
|
|
312
|
+
* replica stored with at least `minLeftMs` of life left is adopted instead
|
|
313
|
+
* of rotating a second time. Joins an acquisition already in flight.
|
|
314
|
+
*/
|
|
315
|
+
async renew(userId, minLeftMs = DEFAULT_GRANT_SWEEP_DIALS.renewAheadMs) {
|
|
316
|
+
return this.acquire(userId, 'renew', minLeftMs);
|
|
317
|
+
}
|
|
318
|
+
acquire(userId, mode, minLeftMs) {
|
|
231
319
|
let flight = this.inFlight.get(userId);
|
|
232
320
|
if (!flight) {
|
|
233
|
-
flight = this.doAcquire(userId,
|
|
321
|
+
flight = this.doAcquire(userId, mode, minLeftMs).finally(() => {
|
|
234
322
|
if (this.inFlight.get(userId) === flight)
|
|
235
323
|
this.inFlight.delete(userId);
|
|
236
324
|
});
|
|
@@ -238,18 +326,26 @@ export class HubGrantService {
|
|
|
238
326
|
}
|
|
239
327
|
return flight;
|
|
240
328
|
}
|
|
241
|
-
async doAcquire(userId,
|
|
329
|
+
async doAcquire(userId, mode, minLeftMs) {
|
|
242
330
|
try {
|
|
243
331
|
const first = await this.readRow(userId);
|
|
244
332
|
if (!first)
|
|
245
333
|
return { kind: 'no_link' };
|
|
246
334
|
if (!first.refreshToken)
|
|
247
335
|
return { kind: 'grant_dead' };
|
|
248
|
-
if (
|
|
336
|
+
if (mode === 'demand') {
|
|
249
337
|
const stored = await this.storedAccess(userId, first);
|
|
250
338
|
if (stored)
|
|
251
339
|
return { kind: 'ok', accessToken: stored };
|
|
252
340
|
}
|
|
341
|
+
else if (mode === 'renew') {
|
|
342
|
+
// A sibling replica (or a login) already renewed: adopt its token
|
|
343
|
+
// without taking the lock (verifier round 6: the common case on
|
|
344
|
+
// several replicas was paying a dedicated connection for nothing).
|
|
345
|
+
const stored = await this.storedAccess(userId, first, minLeftMs);
|
|
346
|
+
if (stored)
|
|
347
|
+
return { kind: 'ok', accessToken: stored };
|
|
348
|
+
}
|
|
253
349
|
// Slow path: rotate under the cross-replica lock.
|
|
254
350
|
const lock = await this.acquireLock(userId);
|
|
255
351
|
try {
|
|
@@ -263,11 +359,19 @@ export class HubGrantService {
|
|
|
263
359
|
return { kind: 'no_link' };
|
|
264
360
|
if (!row.refreshToken)
|
|
265
361
|
return { kind: 'grant_dead' };
|
|
266
|
-
if (
|
|
362
|
+
if (mode === 'demand' || row.refreshToken !== first.refreshToken) {
|
|
267
363
|
const stored = await this.storedAccess(userId, row);
|
|
268
364
|
if (stored)
|
|
269
365
|
return { kind: 'ok', accessToken: stored };
|
|
270
366
|
}
|
|
367
|
+
else if (mode === 'renew') {
|
|
368
|
+
// A renewal rotates only what is about to expire: a stored token
|
|
369
|
+
// with more life than the renewal window is a sibling replica's
|
|
370
|
+
// fresh one (or a login's), adopted rather than rotated again.
|
|
371
|
+
const stored = await this.storedAccess(userId, row, minLeftMs);
|
|
372
|
+
if (stored)
|
|
373
|
+
return { kind: 'ok', accessToken: stored };
|
|
374
|
+
}
|
|
271
375
|
let refreshToken;
|
|
272
376
|
try {
|
|
273
377
|
refreshToken = await this.decrypt(row.refreshToken);
|
|
@@ -317,7 +421,7 @@ export class HubGrantService {
|
|
|
317
421
|
await this.clearPresentation(row.id);
|
|
318
422
|
this.cache.delete(userId);
|
|
319
423
|
this.refreshes.inc({ outcome: 'invalid_grant' });
|
|
320
|
-
this.opts.logger.warn({ userId }, 'hub grant: token endpoint answered invalid_grant — grant marked dead; a browser SSO login heals it');
|
|
424
|
+
this.opts.logger.warn({ userId, status: outcome.status, reason: outcome.description }, 'hub grant: token endpoint answered invalid_grant — grant marked dead; a browser SSO login heals it');
|
|
321
425
|
return { kind: 'grant_dead' };
|
|
322
426
|
}
|
|
323
427
|
if (outcome.kind === 'invalid_client') {
|
|
@@ -327,7 +431,7 @@ export class HubGrantService {
|
|
|
327
431
|
// is cleared, not kept.
|
|
328
432
|
await this.clearPresentation(row.id);
|
|
329
433
|
this.refreshes.inc({ outcome: 'invalid_client' });
|
|
330
|
-
this.opts.logger.error('hub grant: token endpoint answered invalid_client — HUB_CLIENT_ID/HUB_CLIENT_SECRET are broken; ' +
|
|
434
|
+
this.opts.logger.error({ status: outcome.status, reason: outcome.description }, 'hub grant: token endpoint answered invalid_client — HUB_CLIENT_ID/HUB_CLIENT_SECRET are broken; ' +
|
|
331
435
|
'refreshes are failing transient (grants are NOT being killed); fix the client credentials');
|
|
332
436
|
return { kind: 'inconclusive' };
|
|
333
437
|
}
|
|
@@ -453,11 +557,11 @@ export class HubGrantService {
|
|
|
453
557
|
return row ?? null;
|
|
454
558
|
}
|
|
455
559
|
/** Decrypt-and-cache the row's access token when it is still fresh. */
|
|
456
|
-
async storedAccess(userId, row) {
|
|
560
|
+
async storedAccess(userId, row, minLeftMs = this.dials.accessSkewMs) {
|
|
457
561
|
if (!row.accessToken || !row.accessTokenExpiresAt)
|
|
458
562
|
return null;
|
|
459
563
|
const expiresAtMs = row.accessTokenExpiresAt.getTime();
|
|
460
|
-
if (expiresAtMs - this.now() <=
|
|
564
|
+
if (expiresAtMs - this.now() <= minLeftMs)
|
|
461
565
|
return null;
|
|
462
566
|
try {
|
|
463
567
|
const token = await this.decrypt(row.accessToken);
|
|
@@ -546,11 +650,12 @@ export class HubGrantService {
|
|
|
546
650
|
// RFC 6749 errors ride 400/401; anything else (5xx…) is transient.
|
|
547
651
|
if (res.status === 400 || res.status === 401) {
|
|
548
652
|
const error = payload?.error;
|
|
653
|
+
const description = refusalDescription(payload);
|
|
549
654
|
if (error === 'invalid_grant')
|
|
550
|
-
return { kind: 'invalid_grant' };
|
|
655
|
+
return { kind: 'invalid_grant', status: res.status, description };
|
|
551
656
|
if (error === 'invalid_client')
|
|
552
|
-
return { kind: 'invalid_client' };
|
|
553
|
-
this.opts.logger.warn({ status: res.status, error }, 'hub grant: unrecognized token-endpoint error');
|
|
657
|
+
return { kind: 'invalid_client', status: res.status, description };
|
|
658
|
+
this.opts.logger.warn({ status: res.status, error, description }, 'hub grant: unrecognized token-endpoint error');
|
|
554
659
|
return { kind: 'transient' };
|
|
555
660
|
}
|
|
556
661
|
this.opts.logger.warn({ status: res.status }, 'hub grant: token endpoint answered non-2xx');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub-grant.js","sourceRoot":"","sources":["../../src/identity/hub-grant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hub-grant.js","sourceRoot":"","sources":["../../src/identity/hub-grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,SAAS,CAAC;AACzC,qGAAqG;AACrG,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAa/C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,KAAK;IACrB,mBAAmB,EAAE,KAAK;IAC1B,0EAA0E;IAC1E,mDAAmD;IACnD,cAAc,EAAE,MAAM;CACvB,CAAC;AA2BF,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,MAAM;IACxB,cAAc,EAAE,EAAE,GAAG,MAAM;CAC5B,CAAC;AAQF,sEAAsE;AACtE,MAAM,cAAc,GAAG,MAAM,CAAC;AA8D9B;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAoBD,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,CAAC,GAAI,OAAkD,EAAE,iBAAiB,CAAC;IACjF,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAaD,MAAM,OAAO,eAAe;IAgBG;IAf7B,kFAAkF;IACjE,KAAK,GAAG,IAAI,GAAG,EAAkD,CAAC;IAClE,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACpE,sFAAsF;IACrE,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,QAAQ,CAAS;IACjB,aAAa,CAAS;IACtB,SAAS,CAAe;IACxB,GAAG,CAAe;IAC1B,KAAK,CAAgB;IAE9B,oEAAoE;IAC3D,WAAW,CAAY;IACf,SAAS,CAAU;IAEpC,YAA6B,IAA4B;QAA5B,SAAI,GAAJ,IAAI,CAAwB;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,2BAA2B,CAAC;QACjF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,gCAAgC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAChC,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;QACtE,oEAAoE;QACpE,uEAAuE;QACvE,mEAAmE;QACnE,kDAAkD;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,yBAAyB,CAAC;QACrG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACxG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,EAC1D,+EAA+E,CAChF,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC;YAC3B,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,4CAA4C;YAClD,UAAU,EAAE,CAAC,SAAS,CAAU;YAChC,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,eAAuB;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aAC/B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC;YACH,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,IAAI;YAC1B,YAAY,EAAE,SAAS;YACvB,qBAAqB,EAAE,IAAI;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;aACnF,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAc,EAAE,WAAmB,EAAE,SAAsB;QAC/D,oEAAoE;QACpE,2BAA2B;QAC3B,MAAM,WAAW,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,mEAAmE;IACnE,gBAAgB,CAAC,MAAc;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,QAAQ,CAAC,MAAc;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YACvE,uEAAuE;YACvE,gCAAgC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACjD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,QAA6C,yBAAyB;QAEtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY;gBAAE,SAAS;YACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACxC,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBACzD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,6CAA6C,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,GAAG,EAAE,MAAM,EAAE,EACf,6EAA6E,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,UAAU,CACR,UAA4E,EAAE;QAE9E,MAAM,KAAK,GAAG,EAAE,GAAG,yBAAyB,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,0DAA0D;YAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;gBAAE,OAAO;YAC9C,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1C,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,MAAc,EACd,YAAoB,yBAAyB,CAAC,YAAY;QAE1D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAEO,OAAO,CAAC,MAAc,EAAE,IAAiB,EAAE,SAAkB;QACnE,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC5D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAiB,EAAE,SAAkB;QAC3E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAEvD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,MAAM;oBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YACzD,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,kEAAkE;gBAClE,gEAAgE;gBAChE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAI,MAAM;oBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YACzD,CAAC;YAED,kDAAkD;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,iEAAiE;gBACjE,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,wCAAwC;gBACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,GAAG;oBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,YAAY;oBAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBACrD,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;oBACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,MAAM;wBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBACzD,CAAC;qBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,iEAAiE;oBACjE,gEAAgE;oBAChE,+DAA+D;oBAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC/D,IAAI,MAAM;wBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBACzD,CAAC;gBAED,IAAI,YAAoB,CAAC;gBACzB,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,gEAAgE;oBAChE,wDAAwD;oBACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB,EAAE,GAAG,EAAE,MAAM,EAAE,EACf,qGAAqG,CACtG,CAAC;oBACF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBAClC,CAAC;gBAED,oEAAoE;gBACpE,mEAAmE;gBACnE,IAAI,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAClD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;wBACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;wBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,EACV,6FAA6F;4BAC3F,wGAAwG,CAC3G,CAAC;wBACF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;oBAChC,CAAC;oBACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;wBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACnD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;oBAClC,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC9C,8DAA8D;oBAC9D,6DAA6D;gBAC/D,CAAC;gBAED,gEAAgE;gBAChE,gEAAgE;gBAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACvC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACjG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1D,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACrC,oDAAoD;oBACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,EAC/D,oGAAoG,CACrG,CAAC;oBACF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACtC,kEAAkE;oBAClE,kEAAkE;oBAClE,gEAAgE;oBAChE,wBAAwB;oBACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,EACvD,kGAAkG;wBAChG,2FAA2F,CAC9F,CAAC;oBACF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBAClC,CAAC;gBACD,iEAAiE;gBACjE,kEAAkE;gBAClE,0CAA0C;gBAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAClC,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,uDAAuD,CAAC,CAAC;YAChG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E;;;;OAIG;IACK,KAAK,CAAC,QAAQ,CAAC,GAAa;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aACf,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC;YACH,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,IAAI;YAC1B,qBAAqB,EAAE,IAAI;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,YAAa,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,yBAAyB,CAAC,GAAa;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aAChC,MAAM,CAAC,EAAE,YAAY,EAAE,qBAAqB,CAAC,YAAY,EAAE,CAAC;aAC5D,IAAI,CAAC,qBAAqB,CAAC;aAC3B,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;aAClD,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,kEAAkE;QAClE,gEAAgE;QAChE,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAa;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aACf,MAAM,CAAC,qBAAqB,CAAC;aAC7B,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAa,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aACvF,kBAAkB,CAAC;YAClB,MAAM,EAAE,qBAAqB,CAAC,SAAS;YACvC,GAAG,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAa,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE;SAClE,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU,CAAC,YAAoB;QAC3C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,KAAK,EAAE,YAAY;YACnB,eAAe,EAAE,eAAe;YAChC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC7B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;SACtC,CAAC,CAAC;QACH,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC7C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBAC5F,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACrB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,oEAAoE,CAAC,CAAC;YACrG,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,GAAY,IAAI,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,MAAM,GAAI,OAAuC,EAAE,MAAM,CAAC;YAChE,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,QAAQ,CAAC;YACrC,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,UAAU,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yFAAyF,CAC1F,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB,mHAAmH,CACpH,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EACtB,gEAAgE,CACjE,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aAC7B,MAAM,CAAC;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;aACD,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;aACnF,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IAED,uEAAuE;IAC/D,KAAK,CAAC,YAAY,CACxB,MAAc,EACd,GAAa,EACb,YAAoB,IAAI,CAAC,KAAK,CAAC,YAAY;QAE3C,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,+DAA+D,CAAC,CAAC;YACxG,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CACzB,GAAa,EACb,OAAgD;QAEhD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY;YAC3C,CAAC,CAAC,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7D,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,qDAAqD;QAC3E,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;aACf,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC;YACH,WAAW,EAAE,eAAe;YAC5B,YAAY,EAAE,gBAAgB;YAC9B,oBAAoB,EAAE,OAAO,CAAC,SAAS;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,YAAa,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,+BAA+B;QAC9E,OAAO,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,WAAW,CAAC,YAAoB;QAC5C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,YAAY;YAC3B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC7B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;SACtC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBAC5F,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACrB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,GAAY,IAAI,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA8E,CAAC;YACvG,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;gBAC3F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,UAAU,GACd,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBACnF,CAAC,CAAC,CAAC,CAAC,UAAU;gBACd,CAAC,CAAC,GAAG,CAAC,CAAC,6CAA6C;YACxD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,CAAC,CAAC,YAAY;gBAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC;gBACnD,YAAY,EAAE,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;aAC9F,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAI,OAAsC,EAAE,KAAK,CAAC;YAC7D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,eAAe;gBAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACjG,IAAI,KAAK,KAAK,gBAAgB;gBAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACnG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAC1C,8CAA8C,CAC/C,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAC;QAC5F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,WAAW,CAAC,MAAc;QACtC,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/E,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,EACV,2EAA2E,CAC5E,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,WAAW,CAAC,IAAiB;QACzC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
package/dist/identity/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { type AccountEvent, type Auth, createAuth, mcpResourceUrl, signInOriginRefused, trustedOriginsFor } from './better-auth.js';
|
|
2
2
|
export { DEMO_PASS_DEFAULT_MINUTES, DEMO_PASS_MAX_MINUTES, DEMO_PASS_MAX_PATH_LENGTH, DEMO_SESSION_REFUSED_API_ROUTES, DEMO_SESSION_REFUSED_AUTH_PATHS, type DemoSessionRefusedApiRoute, demoSessionApiRefusalMessage, demoSessionAuthRefusal, isDemoAddress, isDemoSignInHost, isSafeDemoPath, parseDemoEmailDomains, parseDemoHosts } from './demo-pass-rules.js';
|
|
3
|
-
export { DEFAULT_GRANT_DIALS, type GrantAccess, HubGrantService, LOCK_WATCHDOG_HEADROOM_MS } from './hub-grant.js';
|
|
3
|
+
export { DEFAULT_GRANT_DIALS, DEFAULT_GRANT_SWEEP_DIALS, type GrantAccess, type GrantSweepDials, type GrantSweepHandle, HubGrantService, LOCK_WATCHDOG_HEADROOM_MS, type RefusalReason, refusalDescription } from './hub-grant.js';
|
|
4
4
|
export { HubJwtVerifier } from './hub-jwt.js';
|
|
5
5
|
export { HubLogoutService, hintCookieClearHeader } from './hub-logout.js';
|
|
6
6
|
export { projectOrgMembership } from './hub-projection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,eAAe,EACf,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,eAAe,EACf,yBAAyB,EACzB,KAAK,aAAa,EAClB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/identity/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createAuth, mcpResourceUrl, signInOriginRefused, trustedOriginsFor } from './better-auth.js';
|
|
2
2
|
export { DEMO_PASS_DEFAULT_MINUTES, DEMO_PASS_MAX_MINUTES, DEMO_PASS_MAX_PATH_LENGTH, DEMO_SESSION_REFUSED_API_ROUTES, DEMO_SESSION_REFUSED_AUTH_PATHS, demoSessionApiRefusalMessage, demoSessionAuthRefusal, isDemoAddress, isDemoSignInHost, isSafeDemoPath, parseDemoEmailDomains, parseDemoHosts } from './demo-pass-rules.js';
|
|
3
|
-
export { DEFAULT_GRANT_DIALS, HubGrantService, LOCK_WATCHDOG_HEADROOM_MS } from './hub-grant.js';
|
|
3
|
+
export { DEFAULT_GRANT_DIALS, DEFAULT_GRANT_SWEEP_DIALS, HubGrantService, LOCK_WATCHDOG_HEADROOM_MS, refusalDescription } from './hub-grant.js';
|
|
4
4
|
export { HubJwtVerifier } from './hub-jwt.js';
|
|
5
5
|
export { HubLogoutService, hintCookieClearHeader } from './hub-logout.js';
|
|
6
6
|
export { projectOrgMembership } from './hub-projection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAE/B,4BAA4B,EAC5B,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAE/B,4BAA4B,EAC5B,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAIzB,eAAe,EACf,yBAAyB,EAEzB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EAExB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,cAAc,EAEd,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAwB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -95,6 +95,13 @@ export interface HubUserFixture {
|
|
|
95
95
|
workspaceName?: string | null | undefined;
|
|
96
96
|
overrides?: HubTokenOverrides | undefined;
|
|
97
97
|
}
|
|
98
|
+
/** One tool of the fake's catalogue (what GET /me/apps serves, PRDCT-3493). */
|
|
99
|
+
export interface FakeHubTool {
|
|
100
|
+
slug: string;
|
|
101
|
+
name: string;
|
|
102
|
+
launchUrl: string;
|
|
103
|
+
descriptor?: Record<string, unknown> | undefined;
|
|
104
|
+
}
|
|
98
105
|
/** One entry of a user's org registry (what GET /orgs serves). */
|
|
99
106
|
export interface HubOrgEntry {
|
|
100
107
|
name: string | null;
|
|
@@ -141,6 +148,14 @@ export declare class FakeHub {
|
|
|
141
148
|
private readonly orgTeamRegistry;
|
|
142
149
|
/** sub → the orgs that do NOT open the tool to them (GET /orgs' top-level `denied`). */
|
|
143
150
|
private readonly userDenied;
|
|
151
|
+
/** The catalogue GET /me/apps serves (PRDCT-3493): the registry's tools, in order, with their descriptor. */
|
|
152
|
+
private tools;
|
|
153
|
+
/** Per user and tool, the organizations that do NOT open the tool to them (absent = open everywhere). */
|
|
154
|
+
private readonly userToolClosed;
|
|
155
|
+
readonly meAppsRequests: Array<{
|
|
156
|
+
auth: string | null;
|
|
157
|
+
orgId: string | null;
|
|
158
|
+
}>;
|
|
144
159
|
/** Every JWT access token this fake minted (bearer lookup for /api/v1). */
|
|
145
160
|
private readonly accessTokens;
|
|
146
161
|
/** Live + rotated-out refresh tokens (rotation families). */
|
|
@@ -407,6 +422,11 @@ export declare class FakeHub {
|
|
|
407
422
|
private handleUsageEvents;
|
|
408
423
|
private handleUsageEntitlements;
|
|
409
424
|
private handleUsageCheck;
|
|
425
|
+
/** The tools GET /me/apps lists, in this order. */
|
|
426
|
+
setTools(tools: FakeHubTool[]): void;
|
|
427
|
+
/** Close one tool to one user in one organization (the real hub's teams rule, reduced to its verdict). */
|
|
428
|
+
setToolClosed(sub: string, slug: string, orgId: string, closed?: boolean): void;
|
|
429
|
+
private handleMeApps;
|
|
410
430
|
private handleOrgs;
|
|
411
431
|
private handleTeams;
|
|
412
432
|
private handleOrgCreate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-hub.d.ts","sourceRoot":"","sources":["../../src/testing/fake-hub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fake-hub.d.ts","sourceRoot":"","sources":["../../src/testing/fake-hub.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/fake-hub.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createServer } from 'node:http';
|
|
2
|
-
import { entitlementProfileSchema, usageCheckRequestSchema, usageCheckSchema, usageEventSchema, usageEventsBatchSchema, usageIngestResultSchema } from '@antasphere/chassis-contract';
|
|
2
|
+
import { entitlementProfileSchema, usageCheckRequestSchema, usageCheckSchema, usageEventSchema, usageEventsBatchSchema, usageIngestResultSchema, meAppsSchema } from '@antasphere/chassis-contract';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { exportJWK, generateKeyPair, SignJWT } from 'jose';
|
|
5
5
|
/** What the tool requested before PRDCT-2443 — and what the hub's H3 connect grant carries. */
|
|
@@ -34,6 +34,11 @@ export class FakeHub {
|
|
|
34
34
|
orgTeamRegistry = new Map();
|
|
35
35
|
/** sub → the orgs that do NOT open the tool to them (GET /orgs' top-level `denied`). */
|
|
36
36
|
userDenied = new Map();
|
|
37
|
+
/** The catalogue GET /me/apps serves (PRDCT-3493): the registry's tools, in order, with their descriptor. */
|
|
38
|
+
tools = [];
|
|
39
|
+
/** Per user and tool, the organizations that do NOT open the tool to them (absent = open everywhere). */
|
|
40
|
+
userToolClosed = new Map();
|
|
41
|
+
meAppsRequests = [];
|
|
37
42
|
/** Every JWT access token this fake minted (bearer lookup for /api/v1). */
|
|
38
43
|
accessTokens = new Map();
|
|
39
44
|
/** Live + rotated-out refresh tokens (rotation families). */
|
|
@@ -331,6 +336,9 @@ export class FakeHub {
|
|
|
331
336
|
if (req.method === 'GET' && url.pathname === '/api/v1/teams') {
|
|
332
337
|
return this.handleTeams(req, res, url);
|
|
333
338
|
}
|
|
339
|
+
if (req.method === 'GET' && url.pathname === '/api/v1/me/apps') {
|
|
340
|
+
return this.handleMeApps(req, res);
|
|
341
|
+
}
|
|
334
342
|
if (req.method === 'POST' && url.pathname === '/api/v1/orgs') {
|
|
335
343
|
return this.handleOrgCreate(req, res);
|
|
336
344
|
}
|
|
@@ -643,6 +651,70 @@ export class FakeHub {
|
|
|
643
651
|
}));
|
|
644
652
|
}
|
|
645
653
|
// ── GET /api/v1/orgs: the caller-scoped org list ──────────────────────
|
|
654
|
+
/** The tools GET /me/apps lists, in this order. */
|
|
655
|
+
setTools(tools) {
|
|
656
|
+
this.tools = tools;
|
|
657
|
+
}
|
|
658
|
+
/** Close one tool to one user in one organization (the real hub's teams rule, reduced to its verdict). */
|
|
659
|
+
setToolClosed(sub, slug, orgId, closed = true) {
|
|
660
|
+
const key = `${sub}:${slug}`;
|
|
661
|
+
const set = this.userToolClosed.get(key) ?? new Set();
|
|
662
|
+
if (closed)
|
|
663
|
+
set.add(orgId);
|
|
664
|
+
else
|
|
665
|
+
set.delete(orgId);
|
|
666
|
+
this.userToolClosed.set(key, set);
|
|
667
|
+
}
|
|
668
|
+
// ── GET /api/v1/me/apps: the catalogue as one person sees it (PRDCT-3493) ─
|
|
669
|
+
// Mirrors the hub's api/me-apps.ts: the same bearer rule as /orgs, the
|
|
670
|
+
// organization the `X-Workspace-Id` header names (else the user's first org,
|
|
671
|
+
// the real hub's default), every registered tool with `open` from the
|
|
672
|
+
// per-user closures, `connected` false (the fake keeps no connection facts).
|
|
673
|
+
handleMeApps(req, res) {
|
|
674
|
+
const header = req.headers['x-workspace-id'];
|
|
675
|
+
const orgId = (Array.isArray(header) ? header[0] : header) ?? null;
|
|
676
|
+
this.meAppsRequests.push({ auth: req.headers.authorization ?? null, orgId });
|
|
677
|
+
const bearer = /^Bearer\s+(.+)$/i.exec(req.headers.authorization ?? '')?.[1] ?? null;
|
|
678
|
+
const record = bearer ? this.accessTokens.get(bearer) : undefined;
|
|
679
|
+
if (!record || record.expMs <= Date.now() || !record.aud.includes(this.apiResource)) {
|
|
680
|
+
return sendJson(res, 401, { error: { code: 'invalid_token', message: 'Unauthorized' } });
|
|
681
|
+
}
|
|
682
|
+
const orgs = this.userOrgs.get(record.sub) ?? new Map();
|
|
683
|
+
const resolved = orgId ?? orgs.keys().next().value ?? null;
|
|
684
|
+
if (!resolved || !orgs.has(resolved)) {
|
|
685
|
+
return sendJson(res, 401, { error: { code: 'unauthenticated', message: 'Authentication required' } });
|
|
686
|
+
}
|
|
687
|
+
const tools = this.tools.map((tool) => ({
|
|
688
|
+
slug: tool.slug,
|
|
689
|
+
clientId: `tool-${tool.slug}`,
|
|
690
|
+
name: tool.name,
|
|
691
|
+
launchUrl: tool.launchUrl,
|
|
692
|
+
returnOrigins: [new URL(tool.launchUrl).origin],
|
|
693
|
+
connected: false,
|
|
694
|
+
connectedAt: null,
|
|
695
|
+
lastUsedAt: null,
|
|
696
|
+
...(tool.descriptor ? { descriptor: tool.descriptor } : {}),
|
|
697
|
+
open: !(this.userToolClosed.get(`${record.sub}:${tool.slug}`)?.has(resolved) ?? false)
|
|
698
|
+
}));
|
|
699
|
+
const entry = orgs.get(resolved);
|
|
700
|
+
const body = {
|
|
701
|
+
organization: { id: resolved, name: entry?.name ?? '', status: entry?.status ?? 'active' },
|
|
702
|
+
tools
|
|
703
|
+
};
|
|
704
|
+
// The fake answers the hub's published shape and nothing else: a body the
|
|
705
|
+
// real hub would never send is a test proving nothing, so it is refused
|
|
706
|
+
// here, as a 500 naming the drift (a thrown error would only hang the socket).
|
|
707
|
+
const checked = meAppsSchema.safeParse(body);
|
|
708
|
+
if (!checked.success) {
|
|
709
|
+
return sendJson(res, 500, {
|
|
710
|
+
error: {
|
|
711
|
+
code: 'fake_hub_drift',
|
|
712
|
+
message: `/me/apps body is off the hub contract: ${checked.error.message}`
|
|
713
|
+
}
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
return sendJson(res, 200, body);
|
|
717
|
+
}
|
|
646
718
|
async handleOrgs(req, res) {
|
|
647
719
|
this.orgsRequests.push({ auth: req.headers.authorization ?? null });
|
|
648
720
|
if (this.orgsDelayMs > 0)
|