@robelest/convex-auth 0.0.2-preview.2 → 0.0.3-preview
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/bin.cjs +467 -64
- package/dist/client/index.d.ts +127 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +424 -1
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +56 -1
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +141 -3
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/convex.config.d.ts.map +1 -1
- package/dist/component/convex.config.js +2 -0
- package/dist/component/convex.config.js.map +1 -1
- package/dist/component/index.d.ts +5 -4
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/index.js +4 -3
- package/dist/component/index.js.map +1 -1
- package/dist/component/portalBridge.d.ts +80 -0
- package/dist/component/portalBridge.d.ts.map +1 -0
- package/dist/component/portalBridge.js +102 -0
- package/dist/component/portalBridge.js.map +1 -0
- package/dist/component/public.d.ts +353 -9
- package/dist/component/public.d.ts.map +1 -1
- package/dist/component/public.js +328 -33
- package/dist/component/public.js.map +1 -1
- package/dist/component/schema.d.ts +168 -9
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +113 -7
- package/dist/component/schema.js.map +1 -1
- package/dist/providers/passkey.d.ts +20 -0
- package/dist/providers/passkey.d.ts.map +1 -0
- package/dist/providers/passkey.js +32 -0
- package/dist/providers/passkey.js.map +1 -0
- package/dist/providers/totp.d.ts +14 -0
- package/dist/providers/totp.d.ts.map +1 -0
- package/dist/providers/totp.js +23 -0
- package/dist/providers/totp.js.map +1 -0
- package/dist/server/convex-auth.d.ts +296 -0
- package/dist/server/convex-auth.d.ts.map +1 -0
- package/dist/server/convex-auth.js +480 -0
- package/dist/server/convex-auth.js.map +1 -0
- package/dist/server/email-templates.d.ts +18 -0
- package/dist/server/email-templates.d.ts.map +1 -0
- package/dist/server/email-templates.js +74 -0
- package/dist/server/email-templates.js.map +1 -0
- package/dist/server/implementation/apiKey.d.ts +74 -0
- package/dist/server/implementation/apiKey.d.ts.map +1 -0
- package/dist/server/implementation/apiKey.js +140 -0
- package/dist/server/implementation/apiKey.js.map +1 -0
- package/dist/server/implementation/index.d.ts +169 -7
- package/dist/server/implementation/index.d.ts.map +1 -1
- package/dist/server/implementation/index.js +220 -5
- package/dist/server/implementation/index.js.map +1 -1
- package/dist/server/implementation/passkey.d.ts +33 -0
- package/dist/server/implementation/passkey.d.ts.map +1 -0
- package/dist/server/implementation/passkey.js +450 -0
- package/dist/server/implementation/passkey.js.map +1 -0
- package/dist/server/implementation/redirects.d.ts.map +1 -1
- package/dist/server/implementation/redirects.js +4 -9
- package/dist/server/implementation/redirects.js.map +1 -1
- package/dist/server/implementation/signIn.d.ts +13 -0
- package/dist/server/implementation/signIn.d.ts.map +1 -1
- package/dist/server/implementation/signIn.js +29 -15
- package/dist/server/implementation/signIn.js.map +1 -1
- package/dist/server/implementation/totp.d.ts +40 -0
- package/dist/server/implementation/totp.d.ts.map +1 -0
- package/dist/server/implementation/totp.js +211 -0
- package/dist/server/implementation/totp.js.map +1 -0
- package/dist/server/index.d.ts +26 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +63 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server/portal-email.d.ts +19 -0
- package/dist/server/portal-email.d.ts.map +1 -0
- package/dist/server/portal-email.js +89 -0
- package/dist/server/portal-email.js.map +1 -0
- package/dist/server/provider_utils.d.ts +3 -1
- package/dist/server/provider_utils.d.ts.map +1 -1
- package/dist/server/provider_utils.js +39 -1
- package/dist/server/provider_utils.js.map +1 -1
- package/dist/server/types.d.ts +263 -4
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/version.d.ts +2 -0
- package/dist/server/version.d.ts.map +1 -0
- package/dist/server/version.js +3 -0
- package/dist/server/version.js.map +1 -0
- package/package.json +7 -3
- package/src/cli/index.ts +49 -7
- package/src/cli/portal-link.ts +112 -0
- package/src/cli/portal-upload.ts +411 -0
- package/src/cli/utils.ts +248 -0
- package/src/client/index.ts +489 -1
- package/src/component/_generated/api.ts +72 -1
- package/src/component/_generated/component.ts +241 -4
- package/src/component/convex.config.ts +3 -0
- package/src/component/index.ts +8 -3
- package/src/component/portalBridge.ts +116 -0
- package/src/component/public.ts +373 -37
- package/src/component/schema.ts +122 -7
- package/src/providers/passkey.ts +35 -0
- package/src/providers/totp.ts +26 -0
- package/src/server/convex-auth.ts +602 -0
- package/src/server/email-templates.ts +77 -0
- package/src/server/implementation/apiKey.ts +185 -0
- package/src/server/implementation/index.ts +301 -8
- package/src/server/implementation/passkey.ts +650 -0
- package/src/server/implementation/redirects.ts +4 -11
- package/src/server/implementation/signIn.ts +41 -13
- package/src/server/implementation/totp.ts +366 -0
- package/src/server/index.ts +98 -34
- package/src/server/portal-email.ts +95 -0
- package/src/server/provider_utils.ts +42 -1
- package/src/server/types.ts +285 -4
- package/src/server/version.ts +2 -0
|
@@ -8,6 +8,7 @@ import { LOG_LEVELS, TOKEN_SUB_CLAIM_DIVIDER, logError, logWithLevel, } from "./
|
|
|
8
8
|
import { callCreateAccountFromCredentials, callInvalidateSessions, callModifyAccount, callRetreiveAccountWithCredentials, callSignOut, callUserOAuth, callVerifierSignature, storeArgs, storeImpl, } from "./mutations/index.js";
|
|
9
9
|
import { signInImpl } from "./signIn.js";
|
|
10
10
|
import { redirectAbsoluteUrl, setURLSearchParam } from "./redirects.js";
|
|
11
|
+
import { generateApiKey, hashApiKey, buildScopeChecker, validateScopes, checkKeyRateLimit, } from "./apiKey.js";
|
|
11
12
|
import { getAuthorizationUrl } from "../oauth/authorizationUrl.js";
|
|
12
13
|
import { defaultCookiesOptions, oAuthConfigToInternalProvider, } from "../oauth/convexAuth.js";
|
|
13
14
|
import { handleOAuth } from "../oauth/callback.js";
|
|
@@ -294,12 +295,15 @@ export function Auth(config_) {
|
|
|
294
295
|
* Create a new invitation.
|
|
295
296
|
*
|
|
296
297
|
* @param data.groupId - Optional group to invite the user into.
|
|
297
|
-
* @param data.invitedByUserId -
|
|
298
|
-
*
|
|
298
|
+
* @param data.invitedByUserId - Optional user sending the invitation
|
|
299
|
+
* (omit for CLI-generated invites).
|
|
300
|
+
* @param data.email - Optional email of the invitee (omit for
|
|
301
|
+
* CLI-generated invite links where the email is unknown upfront).
|
|
299
302
|
* @param data.tokenHash - Hashed token for secure acceptance.
|
|
300
303
|
* @param data.role - Optional role to assign on acceptance.
|
|
301
304
|
* @param data.status - Initial status (typically "pending").
|
|
302
|
-
* @param data.expiresTime -
|
|
305
|
+
* @param data.expiresTime - Optional expiration timestamp (omit for
|
|
306
|
+
* single-use, non-expiring invites).
|
|
303
307
|
* @param data.extend - Optional arbitrary JSON extension data.
|
|
304
308
|
* @throws ConvexError with code `DUPLICATE_INVITE` if a pending invite
|
|
305
309
|
* already exists for this email and scope.
|
|
@@ -314,6 +318,12 @@ export function Auth(config_) {
|
|
|
314
318
|
get: async (ctx, inviteId) => {
|
|
315
319
|
return await ctx.runQuery(config.component.public.inviteGet, { inviteId });
|
|
316
320
|
},
|
|
321
|
+
/**
|
|
322
|
+
* Retrieve an invite by its token hash. Returns `null` if not found.
|
|
323
|
+
*/
|
|
324
|
+
getByTokenHash: async (ctx, tokenHash) => {
|
|
325
|
+
return await ctx.runQuery(config.component.public.inviteGetByTokenHash, { tokenHash });
|
|
326
|
+
},
|
|
317
327
|
/**
|
|
318
328
|
* List invites, optionally filtered by group and/or status.
|
|
319
329
|
*/
|
|
@@ -354,8 +364,11 @@ export function Auth(config_) {
|
|
|
354
364
|
* });
|
|
355
365
|
* ```
|
|
356
366
|
*/
|
|
357
|
-
accept: async (ctx, inviteId) => {
|
|
358
|
-
await ctx.runMutation(config.component.public.inviteAccept, {
|
|
367
|
+
accept: async (ctx, inviteId, acceptedByUserId) => {
|
|
368
|
+
await ctx.runMutation(config.component.public.inviteAccept, {
|
|
369
|
+
inviteId,
|
|
370
|
+
...(acceptedByUserId ? { acceptedByUserId } : {}),
|
|
371
|
+
});
|
|
359
372
|
},
|
|
360
373
|
/**
|
|
361
374
|
* Revoke a pending invitation.
|
|
@@ -369,6 +382,202 @@ export function Auth(config_) {
|
|
|
369
382
|
await ctx.runMutation(config.component.public.inviteRevoke, { inviteId });
|
|
370
383
|
},
|
|
371
384
|
},
|
|
385
|
+
/**
|
|
386
|
+
* Manage passkey credentials for users.
|
|
387
|
+
*
|
|
388
|
+
* ```ts
|
|
389
|
+
* const passkeys = await auth.passkey.list(ctx, { userId });
|
|
390
|
+
* await auth.passkey.rename(ctx, passkeyId, "MacBook Touch ID");
|
|
391
|
+
* await auth.passkey.remove(ctx, passkeyId);
|
|
392
|
+
* ```
|
|
393
|
+
*/
|
|
394
|
+
passkey: {
|
|
395
|
+
/**
|
|
396
|
+
* List all passkeys for a user.
|
|
397
|
+
*
|
|
398
|
+
* @param opts.userId - The user whose passkeys to list.
|
|
399
|
+
* @returns Array of passkey records with credentialId, name, deviceType,
|
|
400
|
+
* backedUp, createdAt, and lastUsedAt.
|
|
401
|
+
*/
|
|
402
|
+
list: async (ctx, opts) => {
|
|
403
|
+
return await ctx.runQuery(config.component.public.passkeyListByUserId, opts);
|
|
404
|
+
},
|
|
405
|
+
/**
|
|
406
|
+
* Rename a passkey (set a user-friendly display name).
|
|
407
|
+
*
|
|
408
|
+
* @param passkeyId - The passkey document ID.
|
|
409
|
+
* @param name - New display name (e.g. "MacBook Touch ID").
|
|
410
|
+
*/
|
|
411
|
+
rename: async (ctx, passkeyId, name) => {
|
|
412
|
+
await ctx.runMutation(config.component.public.passkeyUpdateMeta, { passkeyId, data: { name } });
|
|
413
|
+
},
|
|
414
|
+
/**
|
|
415
|
+
* Delete a passkey credential.
|
|
416
|
+
*
|
|
417
|
+
* @param passkeyId - The passkey document ID to remove.
|
|
418
|
+
*/
|
|
419
|
+
remove: async (ctx, passkeyId) => {
|
|
420
|
+
await ctx.runMutation(config.component.public.passkeyDelete, { passkeyId });
|
|
421
|
+
},
|
|
422
|
+
},
|
|
423
|
+
/**
|
|
424
|
+
* Manage TOTP two-factor authentication enrollments for users.
|
|
425
|
+
*
|
|
426
|
+
* ```ts
|
|
427
|
+
* const enrollments = await auth.totp.list(ctx, { userId });
|
|
428
|
+
* await auth.totp.remove(ctx, totpId);
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
totp: {
|
|
432
|
+
/**
|
|
433
|
+
* List all TOTP enrollments for a user.
|
|
434
|
+
*
|
|
435
|
+
* @param opts.userId - The user whose enrollments to list.
|
|
436
|
+
* @returns Array of TOTP enrollment records.
|
|
437
|
+
*/
|
|
438
|
+
list: async (ctx, opts) => {
|
|
439
|
+
return await ctx.runQuery(config.component.public.totpListByUserId, opts);
|
|
440
|
+
},
|
|
441
|
+
/**
|
|
442
|
+
* Delete a TOTP enrollment.
|
|
443
|
+
*
|
|
444
|
+
* @param totpId - The TOTP document ID to remove.
|
|
445
|
+
*/
|
|
446
|
+
remove: async (ctx, totpId) => {
|
|
447
|
+
await ctx.runMutation(config.component.public.totpDelete, { totpId });
|
|
448
|
+
},
|
|
449
|
+
},
|
|
450
|
+
/**
|
|
451
|
+
* Manage API keys for programmatic access.
|
|
452
|
+
*
|
|
453
|
+
* Keys use SHA-256 hashing (via `@oslojs/crypto`) and support
|
|
454
|
+
* scoped resource:action permissions with optional per-key rate limiting.
|
|
455
|
+
*
|
|
456
|
+
* ```ts
|
|
457
|
+
* const { keyId, raw } = await auth.key.create(ctx, {
|
|
458
|
+
* userId,
|
|
459
|
+
* name: "CI Pipeline",
|
|
460
|
+
* scopes: [{ resource: "users", actions: ["read", "list"] }],
|
|
461
|
+
* });
|
|
462
|
+
* // raw = "sk_live_abc123..." — show once, never stored
|
|
463
|
+
*
|
|
464
|
+
* const result = await auth.key.verify(ctx, rawKey);
|
|
465
|
+
* result.scopes.can("users", "read"); // true
|
|
466
|
+
* ```
|
|
467
|
+
*/
|
|
468
|
+
key: {
|
|
469
|
+
/**
|
|
470
|
+
* Create a new API key. Returns the raw key **once** — it cannot
|
|
471
|
+
* be retrieved again after creation.
|
|
472
|
+
*
|
|
473
|
+
* @param opts.userId - The user this key belongs to.
|
|
474
|
+
* @param opts.name - Human-readable name (e.g. "CI Pipeline").
|
|
475
|
+
* @param opts.scopes - Resource:action permissions for this key.
|
|
476
|
+
* @param opts.rateLimit - Optional per-key rate limit override.
|
|
477
|
+
* @param opts.expiresAt - Optional expiration timestamp.
|
|
478
|
+
* @returns `{ keyId, raw }` where `raw` is the full key string.
|
|
479
|
+
*/
|
|
480
|
+
create: async (ctx, opts) => {
|
|
481
|
+
const prefix = config.apiKeys?.prefix ?? "sk_live_";
|
|
482
|
+
// Validate scopes against config if defined
|
|
483
|
+
validateScopes(opts.scopes, config.apiKeys?.scopes);
|
|
484
|
+
const { raw, hashedKey, displayPrefix } = await generateApiKey(prefix);
|
|
485
|
+
const keyId = await ctx.runMutation(config.component.public.keyInsert, {
|
|
486
|
+
userId: opts.userId,
|
|
487
|
+
prefix: displayPrefix,
|
|
488
|
+
hashedKey,
|
|
489
|
+
name: opts.name,
|
|
490
|
+
scopes: opts.scopes,
|
|
491
|
+
rateLimit: opts.rateLimit ?? config.apiKeys?.defaultRateLimit,
|
|
492
|
+
expiresAt: opts.expiresAt,
|
|
493
|
+
});
|
|
494
|
+
return { keyId: keyId, raw };
|
|
495
|
+
},
|
|
496
|
+
/**
|
|
497
|
+
* Verify a raw API key string. Returns the userId and a scope checker
|
|
498
|
+
* if the key is valid, not revoked, not expired, and not rate-limited.
|
|
499
|
+
*
|
|
500
|
+
* Also updates `lastUsedAt` and rate limit state as a side effect.
|
|
501
|
+
*
|
|
502
|
+
* @throws Error if the key is invalid, revoked, expired, or rate-limited.
|
|
503
|
+
*/
|
|
504
|
+
verify: async (ctx, rawKey) => {
|
|
505
|
+
const hashedKey = await hashApiKey(rawKey);
|
|
506
|
+
const key = await ctx.runQuery(config.component.public.keyGetByHashedKey, { hashedKey });
|
|
507
|
+
if (!key) {
|
|
508
|
+
throw new Error("Invalid API key");
|
|
509
|
+
}
|
|
510
|
+
if (key.revoked) {
|
|
511
|
+
throw new Error("API key has been revoked");
|
|
512
|
+
}
|
|
513
|
+
if (key.expiresAt && key.expiresAt < Date.now()) {
|
|
514
|
+
throw new Error("API key has expired");
|
|
515
|
+
}
|
|
516
|
+
// Check per-key rate limit
|
|
517
|
+
const patchData = { lastUsedAt: Date.now() };
|
|
518
|
+
if (key.rateLimit) {
|
|
519
|
+
const { limited, newState } = checkKeyRateLimit(key.rateLimit, key.rateLimitState ?? undefined);
|
|
520
|
+
if (limited) {
|
|
521
|
+
throw new Error("API key rate limit exceeded");
|
|
522
|
+
}
|
|
523
|
+
patchData.rateLimitState = newState;
|
|
524
|
+
}
|
|
525
|
+
// Update lastUsedAt (and rate limit state if applicable)
|
|
526
|
+
await ctx.runMutation(config.component.public.keyPatch, {
|
|
527
|
+
keyId: key._id,
|
|
528
|
+
data: patchData,
|
|
529
|
+
});
|
|
530
|
+
return {
|
|
531
|
+
userId: key.userId,
|
|
532
|
+
keyId: key._id,
|
|
533
|
+
scopes: buildScopeChecker(key.scopes),
|
|
534
|
+
};
|
|
535
|
+
},
|
|
536
|
+
/**
|
|
537
|
+
* List all API keys for a user.
|
|
538
|
+
* Never includes the raw key — only the display prefix.
|
|
539
|
+
*/
|
|
540
|
+
list: async (ctx, opts) => {
|
|
541
|
+
return await ctx.runQuery(config.component.public.keyListByUserId, { userId: opts.userId });
|
|
542
|
+
},
|
|
543
|
+
/**
|
|
544
|
+
* Get a single API key by its document ID.
|
|
545
|
+
* Returns `null` if not found.
|
|
546
|
+
*/
|
|
547
|
+
get: async (ctx, keyId) => {
|
|
548
|
+
return await ctx.runQuery(config.component.public.keyGetById, { keyId: keyId });
|
|
549
|
+
},
|
|
550
|
+
/**
|
|
551
|
+
* Update an API key's metadata (name, scopes, rate limit).
|
|
552
|
+
*/
|
|
553
|
+
update: async (ctx, keyId, data) => {
|
|
554
|
+
if (data.scopes) {
|
|
555
|
+
validateScopes(data.scopes, config.apiKeys?.scopes);
|
|
556
|
+
}
|
|
557
|
+
await ctx.runMutation(config.component.public.keyPatch, {
|
|
558
|
+
keyId: keyId,
|
|
559
|
+
data,
|
|
560
|
+
});
|
|
561
|
+
},
|
|
562
|
+
/**
|
|
563
|
+
* Revoke an API key (soft delete). The key record is preserved
|
|
564
|
+
* for audit purposes but can no longer be used for authentication.
|
|
565
|
+
*/
|
|
566
|
+
revoke: async (ctx, keyId) => {
|
|
567
|
+
await ctx.runMutation(config.component.public.keyPatch, {
|
|
568
|
+
keyId: keyId,
|
|
569
|
+
data: { revoked: true },
|
|
570
|
+
});
|
|
571
|
+
},
|
|
572
|
+
/**
|
|
573
|
+
* Hard delete an API key record.
|
|
574
|
+
*/
|
|
575
|
+
remove: async (ctx, keyId) => {
|
|
576
|
+
await ctx.runMutation(config.component.public.keyDelete, {
|
|
577
|
+
keyId: keyId,
|
|
578
|
+
});
|
|
579
|
+
},
|
|
580
|
+
},
|
|
372
581
|
/**
|
|
373
582
|
* Add HTTP actions for JWT verification and OAuth sign-in.
|
|
374
583
|
*
|
|
@@ -572,6 +781,12 @@ export function Auth(config_) {
|
|
|
572
781
|
return { tokens: result.signedIn?.tokens ?? null };
|
|
573
782
|
case "started":
|
|
574
783
|
return { started: true };
|
|
784
|
+
case "passkeyOptions":
|
|
785
|
+
return { options: result.options, verifier: result.verifier };
|
|
786
|
+
case "totpRequired":
|
|
787
|
+
return { totpRequired: true, verifier: result.verifier };
|
|
788
|
+
case "totpSetup":
|
|
789
|
+
return { totpSetup: { uri: result.uri, secret: result.secret, totpId: result.totpId }, verifier: result.verifier };
|
|
575
790
|
default: {
|
|
576
791
|
const _typecheck = result;
|
|
577
792
|
throw new Error(`Unexpected result from signIn, ${result}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/implementation/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/implementation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,aAAa,EACb,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAa,CAAC,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,QAAQ,EACR,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,gCAAgC,EAChC,sBAAsB,EACtB,iBAAiB,EACjB,kCAAkC,EAClC,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAoBnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB;IAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAc,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CACpC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CACpE,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,sBAA+B,KAAK,EAAE,EAAE;QACvE,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;YACvD,CAAC,mBAAmB;gBAClB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC,CACf,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,kBAAkB,GAA2B,CACjD,EAAU,EACV,sBAA+B,KAAK,EACpC,EAAE;QACF,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GACX,cAAc,EAAE,wBAAwB;gBACxC,2BAA2B,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;YACpF,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAqBF,MAAM,IAAI,GAAG;QACX,IAAI,EAAE;YACJ;;;eAGG;YACH,OAAO,EAAE,KAAK,EAAE,GAAmB,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACjE,OAAO,MAA2B,CAAC;YACrC,CAAC;YACD;;;eAGG;YACH,OAAO,EAAE,KAAK,EAAE,GAAmB,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACjE,OAAO,MAA2B,CAAC;YACrC,CAAC;YACD;;eAEG;YACH,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,MAAc,EAAE,EAAE;gBACnD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD;;;eAGG;YACH,MAAM,EAAE,KAAK,EAAE,GAAyB,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD;;eAEG;YACH,KAAK,EAAE;gBACL;;;mBAGG;gBACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAwB,EAAE,EAAE;oBAC9D,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;gBAC5E,CAAC;gBACD;;;;mBAIG;gBACH,GAAG,EAAE,KAAK,EACR,GAAqB,EACrB,IAAyC,EACzC,EAAE;oBACF,OAAO,MAAM,GAAG,CAAC,QAAQ,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAC/C,IAAI,CACL,CAAC;gBACJ,CAAC;aACF;SACF;QACD,OAAO,EAAE;YACP;;;eAGG;YACH,OAAO,EAAE,KAAK,EAAE,GAAmB,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACtE,OAAO,SAAiC,CAAC;YAC3C,CAAC;YACD;;eAEG;YACH,UAAU,EAAE,KAAK,EACf,GAAgC,EAChC,IAGC,EACc,EAAE;gBACjB,MAAM,SAAS,GAAG,GAA2B,CAAC;gBAC9C,OAAO,MAAM,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;SACF;QACD,OAAO,EAAE;YACP;;eAEG;YACH,MAAM,EAAE,KAAK,EACX,GAAgC,EAChC,IAAuB,EACvB,EAAE;gBACF,MAAM,SAAS,GAAG,GAA2B,CAAC;gBAC9C,OAAO,MAAM,gCAAgC,CAAC,SAAS,EAAE,IAAW,CAAC,CAAC;YACxE,CAAC;YACD;;eAEG;YACH,GAAG,EAAE,KAAK,EACR,GAAgC,EAChC,IAAyB,EACzB,EAAE;gBACF,MAAM,SAAS,GAAG,GAA2B,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD;;eAEG;YACH,iBAAiB,EAAE,KAAK,EACtB,GAAgC,EAChC,IAAkC,EACnB,EAAE;gBACjB,MAAM,SAAS,GAAG,GAA2B,CAAC;gBAC9C,OAAO,MAAM,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;SACF;QACD,QAAQ,EAAE;YACR;;eAEG;YACH,MAAM,EAAE,KAAK,EACX,GAAgC,EAChC,QAA4B,EAC5B,IAGC,EACD,EAAE;gBACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,SAAS,CAAC,GAAG,CAAC,EACd,mBAAmB,CAAC,QAAQ,CAAC,EAC7B,IAAW,EACX;oBACE,cAAc,EAAE,KAAK;oBACrB,mBAAmB,EAAE,IAAI;iBAC1B,CACF,CAAC;gBACF,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;oBAC/B,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI;wBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;wBAC1E,CAAC,CAAC,IAAI;oBACR,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;SACF;QACD;;;;;;;;;;;WAWG;QACH,KAAK,EAAE;YACL;;;;;eAKG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,IAKC,EACgB,EAAE;gBACnB,OAAO,CAAC,MAAM,GAAG,CAAC,WAAW,CAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EACnC,IAAI,CACL,CAAW,CAAC;YACf,CAAC;YACD;;eAEG;YACH,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAe,EAAE,EAAE;gBACpD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD;;;eAGG;YACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAiC,EAAE,EAAE;gBACvE,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC3D,aAAa,EAAE,IAAI,EAAE,aAAa;iBACnC,CAAC,CAAC;YACL,CAAC;YACD;;eAEG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,OAAe,EACf,IAA6B,EAC7B,EAAE;gBACF,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;YACD;;;;eAIG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,OAAe,EAAE,EAAE;gBACnD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED;;;;;;eAMG;YACH,MAAM,EAAE;gBACN;;;;;;;;;;;mBAWG;gBACH,GAAG,EAAE,KAAK,EACR,GAAiB,EACjB,IAMC,EACgB,EAAE;oBACnB,OAAO,CAAC,MAAM,GAAG,CAAC,WAAW,CAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,CACL,CAAW,CAAC;gBACf,CAAC;gBACD;;mBAEG;gBACH,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,QAAgB,EAAE,EAAE;oBACrD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBACD;;mBAEG;gBACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAyB,EAAE,EAAE;oBAC/D,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACtE,CAAC;gBACD;;mBAEG;gBACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,QAAgB,EAAE,EAAE;oBACpD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD;;;;;;mBAMG;gBACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,QAAgB,EAChB,IAA6B,EAC7B,EAAE;oBACF,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE;wBAC1D,QAAQ;wBACR,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;aACF;SAEF;QACD;;;;;WAKG;QACH,MAAM,EAAE;YACN;;;;;;;;;;;;;;;;;eAiBG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,IASC,EACgB,EAAE;gBACnB,OAAO,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAW,CAAC;YACvF,CAAC;YACD;;eAEG;YACH,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,QAAgB,EAAE,EAAE;gBACrD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD;;eAEG;YACH,cAAc,EAAE,KAAK,EAAE,GAAqB,EAAE,SAAiB,EAAE,EAAE;gBACjE,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,CAAC;YACD;;eAEG;YACH,IAAI,EAAE,KAAK,EACT,GAAqB,EACrB,IAGC,EACD,EAAE;gBACF,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC5D,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,MAAM,EAAE,IAAI,EAAE,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC;YACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,QAAgB,EAAE,gBAAyB,EAAE,EAAE;gBAC/E,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE;oBAC1D,QAAQ;oBACR,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClD,CAAC,CAAC;YACL,CAAC;YACA;;;;;;;eAOG;YACJ,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,QAAgB,EAAE,EAAE;gBACpD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5E,CAAC;SACF;QACD;;;;;;;;WAQG;QACH,OAAO,EAAE;YACP;;;;;;eAMG;YACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAwB,EAAE,EAAE;gBAC9D,OAAO,MAAM,GAAG,CAAC,QAAQ,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAC3C,IAAI,CACL,CAAC;YACJ,CAAC;YACD;;;;;eAKG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,SAAiB,EAAE,IAAY,EAAE,EAAE;gBACnE,MAAM,GAAG,CAAC,WAAW,CACnB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EACzC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAC9B,CAAC;YACJ,CAAC;YACD;;;;eAIG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,SAAiB,EAAE,EAAE;gBACrD,MAAM,GAAG,CAAC,WAAW,CACnB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EACrC,EAAE,SAAS,EAAE,CACd,CAAC;YACJ,CAAC;SACF;QACD;;;;;;;WAOG;QACH,IAAI,EAAE;YACJ;;;;;eAKG;YACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAwB,EAAE,EAAE;gBAC9D,OAAO,MAAM,GAAG,CAAC,QAAQ,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EACxC,IAAI,CACL,CAAC;YACJ,CAAC;YACD;;;;eAIG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,MAAc,EAAE,EAAE;gBAClD,MAAM,GAAG,CAAC,WAAW,CACnB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAClC,EAAE,MAAM,EAAE,CACX,CAAC;YACJ,CAAC;SACF;QACD;;;;;;;;;;;;;;;;;WAiBG;QACH,GAAG,EAAE;YACH;;;;;;;;;;eAUG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,IAMC,EACwC,EAAE;gBAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,UAAU,CAAC;gBAEpD,4CAA4C;gBAC5C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAEpD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEvE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CACjC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EACjC;oBACE,MAAM,EAAE,IAAI,CAAC,MAAa;oBAC1B,MAAM,EAAE,aAAa;oBACrB,SAAS;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,gBAAgB;oBAC7D,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CACF,CAAC;gBAEF,OAAO,EAAE,KAAK,EAAE,KAAe,EAAE,GAAG,EAAE,CAAC;YACzC,CAAC;YAED;;;;;;;eAOG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,MAAc,EAKb,EAAE;gBACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;gBAE3C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAC5B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EACzC,EAAE,SAAS,EAAE,CACd,CAAC;gBACF,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,SAAS,GAAwB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAElE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAC7C,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,cAAc,IAAI,SAAS,CAChC,CAAC;oBACF,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACjD,CAAC;oBACD,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC;gBACtC,CAAC;gBAED,yDAAyD;gBACzD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACtD,KAAK,EAAE,GAAG,CAAC,GAAG;oBACd,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,OAAO;oBACL,MAAM,EAAE,GAAG,CAAC,MAAgB;oBAC5B,KAAK,EAAE,GAAG,CAAC,GAAa;oBACxB,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;iBACtC,CAAC;YACJ,CAAC;YAED;;;eAGG;YACH,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,IAAwB,EAAE,EAAE;gBAC9D,OAAO,MAAM,GAAG,CAAC,QAAQ,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EACvC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAa,EAAE,CAC/B,CAAC;YACJ,CAAC;YAED;;;eAGG;YACH,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,KAAa,EAAE,EAAE;gBAClD,OAAO,MAAM,GAAG,CAAC,QAAQ,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAClC,EAAE,KAAK,EAAE,KAAY,EAAE,CACxB,CAAC;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,KAAK,EACX,GAAiB,EACjB,KAAa,EACb,IAIC,EACD,EAAE;gBACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACtD,KAAK,EAAE,KAAY;oBACnB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YAED;;;eAGG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAa,EAAE,EAAE;gBACjD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACtD,KAAK,EAAE,KAAY;oBACnB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAC;YACL,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAa,EAAE,EAAE;gBACjD,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;oBACvD,KAAK,EAAE,KAAY;iBACpB,CAAC,CAAC;YACL,CAAC;SACF;QACD;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,aAAa,EAAE,CAAC,IAAgB,EAAE,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE;oBACpC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC;wBACrC,QAAQ,EACN,UAAU,CAAC,iBAAiB,CAAC,GAAG,wBAAwB;wBAC1D,sBAAsB,EACpB,UAAU,CAAC,iBAAiB,CAAC,GAAG,kBAAkB;qBACrD,CAAC,EACF;wBACE,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,eAAe,EACb,qEAAqE;yBACxE;qBACF,CACF,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,EAAE,wBAAwB;gBAC9B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE;oBACpC,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;wBACtC,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,eAAe,EACb,qEAAqE;yBACxE;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC;oBACT,UAAU,EAAE,mBAAmB;oBAC/B,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,iBAAiB,CACxB,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;wBAClD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;wBACrC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;wBACzC,CAAC;wBACD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;wBAC9C,CAAC;wBACD,MAAM,QAAQ,GAAG,kBAAkB,CACjC,UAAU,CACS,CAAC;wBACtB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GACpC,MAAM,mBAAmB,CAAC;4BACxB,QAAQ,EAAE,MAAM,6BAA6B,CAAC,QAAQ,CAAC;4BACvD,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC;yBAC3C,CAAC,CAAC;wBAEL,MAAM,qBAAqB,CAAC,GAAG,EAAE;4BAC/B,QAAQ;4BACR,SAAS;yBACV,CAAC,CAAC;wBAEH,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAEtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;wBAC9D,CAAC;wBAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACpD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;4BAC/C,OAAO,CAAC,MAAM,CACZ,YAAY,EACZ,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CACtC,CAAC;wBACJ,CAAC;wBAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtD,CAAC,CAAC,CACH;iBACF,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,iBAAiB,CACtC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;oBAC5B,MAAM,GAAG,GAAG,UAAkC,CAAC;oBAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;oBACrC,YAAY,CACV,UAAU,CAAC,KAAK,EAChB,uCAAuC,EACvC,UAAU,CACX,CAAC;oBACF,MAAM,QAAQ,GAAG,kBAAkB,CACjC,UAAU,CACU,CAAC;oBAEvB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;oBAEpC,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAEjE,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;wBACvD,UAAU,EAAE,eAAe,EAAE,UAAU;qBACxC,CAAC,CAAC;oBAEH,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;oBAEhC,2DAA2D;oBAC3D,IACE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;wBACnC,mCAAmC,EACnC,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;4BAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gCAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BAC5B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,WAAW,CACtD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EACpC,OAAO,EACP;4BACE,QAAQ,EAAE,MAAM,6BAA6B,CAAC,QAAQ,CAAC;4BACvD,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;yBAC5C,CACF,CAAC;wBAEF,MAAM,EAAE,EAAE,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAQ,CAC5D,OAAO,EACP,MAAM,CACP,CAAC;wBAEF,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;4BAC3B,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,iCAAiC,CACzE,CAAC;wBACJ,CAAC;wBAED,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE;4BAChD,QAAQ,EAAE,UAAU;4BACpB,iBAAiB,EAAE,EAAE;4BACrB,OAAO,EAAE,mBAAmB;4BAC5B,SAAS;yBACV,CAAC,CAAC;wBAEH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACxB,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE;gCACP,QAAQ,EAAE,iBAAiB,CACzB,cAAc,EACd,MAAM,EACN,gBAAgB,CACjB;gCACD,eAAe,EAAE,iBAAiB;6BACnC;yBACF,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAChB,OAAO,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC,CACF,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC;oBACT,UAAU,EAAE,qBAAqB;oBACjC,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC;oBACT,UAAU,EAAE,qBAAqB;oBACjC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,SAAS,GAAG,CAChB,GAAgC,EAChC,EAAE,CAAC,CAAC;QACJ,GAAG,GAAG;QACN,IAAI,EAAE;YACJ,GAAG,GAAG,CAAC,IAAI;YACX,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;KACF,CAAC,CAAC;IAEH,OAAO;QACL;;WAEG;QACH,IAAI;QACJ;;;;WAIG;QACH,MAAM,EAAE,aAAa,CAAC;YACpB,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjC;YACD,OAAO,EAAE,KAAK,EACZ,GAAG,EACH,IAAI,EASH,EAAE;gBACH,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,YAAY,CAAC,MAAM,EAAE,6BAA6B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,SAAS;oBACzB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC9D,cAAc,EAAE,IAAI;oBACpB,mBAAmB,EAAE,KAAK;iBAC3B,CAAC,CAAC;gBACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,UAAU;wBACb,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClE,KAAK,UAAU,CAAC;oBAChB,KAAK,eAAe;wBAClB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;oBACrD,KAAK,SAAS;wBACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC3B,KAAK,gBAAgB;wBACnB,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChE,KAAK,cAAc;wBACjB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC3D,KAAK,WAAW;wBACd,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrH,OAAO,CAAC,CAAC,CAAC;wBACR,MAAM,UAAU,GAAU,MAAM,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAa,EAAE,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;QACF;;WAEG;QACH,OAAO,EAAE,aAAa,CAAC;YACrB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;QAEF;;;WAGG;QACH,KAAK,EAAE,uBAAuB,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,IAAI,EAAE,EAAE;gBACxC,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC;KAEH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,eAAuB,EACvB,MAA2E;IAE3E,OAAO,KAAK,EAAE,GAA0B,EAAE,OAAgB,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,eAAe;oBACvB,UAAU,EAAE,KAAK,CAAC,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,uBAAuB;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AACD,SAAS,UAAU,CAAC,OAAgB;IAClC,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side WebAuthn ceremony logic for passkey authentication.
|
|
3
|
+
*
|
|
4
|
+
* Handles the four phases of the WebAuthn flow:
|
|
5
|
+
* 1. register-options — generate PublicKeyCredentialCreationOptions
|
|
6
|
+
* 2. register-verify — verify attestation and store credential
|
|
7
|
+
* 3. auth-options — generate PublicKeyCredentialRequestOptions
|
|
8
|
+
* 4. auth-verify — verify assertion signature and sign in
|
|
9
|
+
*
|
|
10
|
+
* Uses `@oslojs/webauthn` for attestation/assertion parsing and
|
|
11
|
+
* `@oslojs/crypto` for signature verification.
|
|
12
|
+
*/
|
|
13
|
+
import { PasskeyProviderConfig, GenericActionCtxWithAuthConfig } from "../types.js";
|
|
14
|
+
import { AuthDataModel, SessionInfo } from "./types.js";
|
|
15
|
+
type EnrichedActionCtx = GenericActionCtxWithAuthConfig<AuthDataModel>;
|
|
16
|
+
/**
|
|
17
|
+
* Main passkey handler dispatched from signIn.ts.
|
|
18
|
+
*
|
|
19
|
+
* Routes to the appropriate phase based on `params.flow`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function handlePasskey(ctx: EnrichedActionCtx, provider: PasskeyProviderConfig, args: {
|
|
22
|
+
params?: Record<string, any>;
|
|
23
|
+
verifier?: string;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
kind: "signedIn";
|
|
26
|
+
signedIn: SessionInfo | null;
|
|
27
|
+
} | {
|
|
28
|
+
kind: "passkeyOptions";
|
|
29
|
+
options: Record<string, any>;
|
|
30
|
+
verifier: string;
|
|
31
|
+
}>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=passkey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../../src/server/implementation/passkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+BH,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMxD,KAAK,iBAAiB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;AA+hBvE;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CACN;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAC7E,CAsBA"}
|