@robelest/convex-auth 0.0.2-preview.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/bin.cjs +466 -63
  2. package/dist/client/index.d.ts +211 -30
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +673 -59
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/component/_generated/api.d.ts +56 -1
  7. package/dist/component/_generated/api.d.ts.map +1 -1
  8. package/dist/component/_generated/api.js.map +1 -1
  9. package/dist/component/_generated/component.d.ts +93 -3
  10. package/dist/component/_generated/component.d.ts.map +1 -1
  11. package/dist/component/convex.config.d.ts.map +1 -1
  12. package/dist/component/convex.config.js +2 -0
  13. package/dist/component/convex.config.js.map +1 -1
  14. package/dist/component/index.d.ts +5 -3
  15. package/dist/component/index.d.ts.map +1 -1
  16. package/dist/component/index.js +5 -3
  17. package/dist/component/index.js.map +1 -1
  18. package/dist/component/portalBridge.d.ts +80 -0
  19. package/dist/component/portalBridge.d.ts.map +1 -0
  20. package/dist/component/portalBridge.js +102 -0
  21. package/dist/component/portalBridge.js.map +1 -0
  22. package/dist/component/public.d.ts +193 -9
  23. package/dist/component/public.d.ts.map +1 -1
  24. package/dist/component/public.js +204 -33
  25. package/dist/component/public.js.map +1 -1
  26. package/dist/component/schema.d.ts +89 -9
  27. package/dist/component/schema.d.ts.map +1 -1
  28. package/dist/component/schema.js +68 -7
  29. package/dist/component/schema.js.map +1 -1
  30. package/dist/providers/{Anonymous.d.ts → anonymous.d.ts} +8 -8
  31. package/dist/providers/{Anonymous.d.ts.map → anonymous.d.ts.map} +1 -1
  32. package/dist/providers/{Anonymous.js → anonymous.js} +9 -10
  33. package/dist/providers/anonymous.js.map +1 -0
  34. package/dist/providers/{ConvexCredentials.d.ts → credentials.d.ts} +11 -11
  35. package/dist/providers/credentials.d.ts.map +1 -0
  36. package/dist/providers/{ConvexCredentials.js → credentials.js} +8 -8
  37. package/dist/providers/credentials.js.map +1 -0
  38. package/dist/providers/{Email.d.ts → email.d.ts} +6 -6
  39. package/dist/providers/email.d.ts.map +1 -0
  40. package/dist/providers/{Email.js → email.js} +6 -6
  41. package/dist/providers/email.js.map +1 -0
  42. package/dist/providers/passkey.d.ts +20 -0
  43. package/dist/providers/passkey.d.ts.map +1 -0
  44. package/dist/providers/passkey.js +32 -0
  45. package/dist/providers/passkey.js.map +1 -0
  46. package/dist/providers/{Password.d.ts → password.d.ts} +10 -10
  47. package/dist/providers/{Password.d.ts.map → password.d.ts.map} +1 -1
  48. package/dist/providers/{Password.js → password.js} +19 -20
  49. package/dist/providers/password.js.map +1 -0
  50. package/dist/providers/{Phone.d.ts → phone.d.ts} +3 -3
  51. package/dist/providers/{Phone.d.ts.map → phone.d.ts.map} +1 -1
  52. package/dist/providers/{Phone.js → phone.js} +3 -3
  53. package/dist/providers/{Phone.js.map → phone.js.map} +1 -1
  54. package/dist/providers/totp.d.ts +14 -0
  55. package/dist/providers/totp.d.ts.map +1 -0
  56. package/dist/providers/totp.js +23 -0
  57. package/dist/providers/totp.js.map +1 -0
  58. package/dist/server/convex-auth.d.ts +243 -0
  59. package/dist/server/convex-auth.d.ts.map +1 -0
  60. package/dist/server/convex-auth.js +365 -0
  61. package/dist/server/convex-auth.js.map +1 -0
  62. package/dist/server/implementation/index.d.ts +153 -166
  63. package/dist/server/implementation/index.d.ts.map +1 -1
  64. package/dist/server/implementation/index.js +162 -105
  65. package/dist/server/implementation/index.js.map +1 -1
  66. package/dist/server/implementation/passkey.d.ts +33 -0
  67. package/dist/server/implementation/passkey.d.ts.map +1 -0
  68. package/dist/server/implementation/passkey.js +450 -0
  69. package/dist/server/implementation/passkey.js.map +1 -0
  70. package/dist/server/implementation/redirects.d.ts.map +1 -1
  71. package/dist/server/implementation/redirects.js +4 -9
  72. package/dist/server/implementation/redirects.js.map +1 -1
  73. package/dist/server/implementation/sessions.d.ts +2 -20
  74. package/dist/server/implementation/sessions.d.ts.map +1 -1
  75. package/dist/server/implementation/sessions.js +2 -20
  76. package/dist/server/implementation/sessions.js.map +1 -1
  77. package/dist/server/implementation/signIn.d.ts +13 -0
  78. package/dist/server/implementation/signIn.d.ts.map +1 -1
  79. package/dist/server/implementation/signIn.js +26 -1
  80. package/dist/server/implementation/signIn.js.map +1 -1
  81. package/dist/server/implementation/totp.d.ts +40 -0
  82. package/dist/server/implementation/totp.d.ts.map +1 -0
  83. package/dist/server/implementation/totp.js +211 -0
  84. package/dist/server/implementation/totp.js.map +1 -0
  85. package/dist/server/index.d.ts +18 -0
  86. package/dist/server/index.d.ts.map +1 -1
  87. package/dist/server/index.js +255 -0
  88. package/dist/server/index.js.map +1 -1
  89. package/dist/server/portal-email.d.ts +19 -0
  90. package/dist/server/portal-email.d.ts.map +1 -0
  91. package/dist/server/portal-email.js +89 -0
  92. package/dist/server/portal-email.js.map +1 -0
  93. package/dist/server/portal.d.ts +116 -0
  94. package/dist/server/portal.d.ts.map +1 -0
  95. package/dist/server/portal.js +294 -0
  96. package/dist/server/portal.js.map +1 -0
  97. package/dist/server/provider_utils.d.ts +1 -1
  98. package/dist/server/provider_utils.d.ts.map +1 -1
  99. package/dist/server/provider_utils.js +39 -1
  100. package/dist/server/provider_utils.js.map +1 -1
  101. package/dist/server/types.d.ts +128 -11
  102. package/dist/server/types.d.ts.map +1 -1
  103. package/package.json +7 -7
  104. package/src/cli/index.ts +48 -6
  105. package/src/cli/portal-link.ts +112 -0
  106. package/src/cli/portal-upload.ts +411 -0
  107. package/src/client/index.ts +823 -109
  108. package/src/component/_generated/api.ts +72 -1
  109. package/src/component/_generated/component.ts +180 -4
  110. package/src/component/convex.config.ts +3 -0
  111. package/src/component/index.ts +5 -10
  112. package/src/component/portalBridge.ts +116 -0
  113. package/src/component/public.ts +231 -37
  114. package/src/component/schema.ts +70 -7
  115. package/src/providers/{Anonymous.ts → anonymous.ts} +10 -11
  116. package/src/providers/{ConvexCredentials.ts → credentials.ts} +11 -11
  117. package/src/providers/{Email.ts → email.ts} +5 -5
  118. package/src/providers/passkey.ts +35 -0
  119. package/src/providers/{Password.ts → password.ts} +22 -27
  120. package/src/providers/{Phone.ts → phone.ts} +2 -2
  121. package/src/providers/totp.ts +26 -0
  122. package/src/server/convex-auth.ts +470 -0
  123. package/src/server/implementation/index.ts +228 -239
  124. package/src/server/implementation/passkey.ts +650 -0
  125. package/src/server/implementation/redirects.ts +4 -11
  126. package/src/server/implementation/sessions.ts +2 -20
  127. package/src/server/implementation/signIn.ts +39 -1
  128. package/src/server/implementation/totp.ts +366 -0
  129. package/src/server/index.ts +373 -0
  130. package/src/server/portal-email.ts +95 -0
  131. package/src/server/portal.ts +375 -0
  132. package/src/server/provider_utils.ts +42 -1
  133. package/src/server/types.ts +161 -10
  134. package/dist/providers/Anonymous.js.map +0 -1
  135. package/dist/providers/ConvexCredentials.d.ts.map +0 -1
  136. package/dist/providers/ConvexCredentials.js.map +0 -1
  137. package/dist/providers/Email.d.ts.map +0 -1
  138. package/dist/providers/Email.js.map +0 -1
  139. package/dist/providers/Password.js.map +0 -1
  140. package/providers/Anonymous/package.json +0 -6
  141. package/providers/ConvexCredentials/package.json +0 -6
  142. package/providers/Email/package.json +0 -6
  143. package/providers/Password/package.json +0 -6
  144. package/providers/Phone/package.json +0 -6
  145. package/server/package.json +0 -6
@@ -11,7 +11,6 @@ import { redirectAbsoluteUrl, setURLSearchParam } from "./redirects.js";
11
11
  import { getAuthorizationUrl } from "../oauth/authorizationUrl.js";
12
12
  import { defaultCookiesOptions, oAuthConfigToInternalProvider, } from "../oauth/convexAuth.js";
13
13
  import { handleOAuth } from "../oauth/callback.js";
14
- export { getAuthSessionId } from "./sessions.js";
15
14
  /**
16
15
  * Configure the Convex Auth library. Returns an object with
17
16
  * functions and `auth` helper. You must export the functions
@@ -49,7 +48,6 @@ export function Auth(config_) {
49
48
  }
50
49
  return provider;
51
50
  };
52
- const enrichCtx = (ctx) => ({ ...ctx, auth: { ...ctx.auth, config } });
53
51
  const auth = {
54
52
  user: {
55
53
  /**
@@ -114,6 +112,70 @@ export function Auth(config_) {
114
112
  },
115
113
  },
116
114
  },
115
+ session: {
116
+ /**
117
+ * Get the current session ID from the auth context, or `null` if
118
+ * not signed in.
119
+ */
120
+ current: async (ctx) => {
121
+ const identity = await ctx.auth.getUserIdentity();
122
+ if (identity === null) {
123
+ return null;
124
+ }
125
+ const [, sessionId] = identity.subject.split(TOKEN_SUB_CLAIM_DIVIDER);
126
+ return sessionId;
127
+ },
128
+ /**
129
+ * Invalidate sessions for a user, optionally preserving specific sessions.
130
+ */
131
+ invalidate: async (ctx, args) => {
132
+ const actionCtx = ctx;
133
+ return await callInvalidateSessions(actionCtx, args);
134
+ },
135
+ },
136
+ account: {
137
+ /**
138
+ * Create an account and user for a credentials provider.
139
+ */
140
+ create: async (ctx, args) => {
141
+ const actionCtx = ctx;
142
+ return await callCreateAccountFromCredentials(actionCtx, args);
143
+ },
144
+ /**
145
+ * Retrieve an account and user for a credentials provider.
146
+ */
147
+ get: async (ctx, args) => {
148
+ const actionCtx = ctx;
149
+ const result = await callRetreiveAccountWithCredentials(actionCtx, args);
150
+ if (typeof result === "string") {
151
+ throw new Error(result);
152
+ }
153
+ return result;
154
+ },
155
+ /**
156
+ * Update credentials for an existing account.
157
+ */
158
+ updateCredentials: async (ctx, args) => {
159
+ const actionCtx = ctx;
160
+ return await callModifyAccount(actionCtx, args);
161
+ },
162
+ },
163
+ provider: {
164
+ /**
165
+ * Sign in via another provider, typically from a credentials flow.
166
+ */
167
+ signIn: async (ctx, provider, args) => {
168
+ const result = await signInImpl(enrichCtx(ctx), materializeProvider(provider), args, {
169
+ generateTokens: false,
170
+ allowExtraProviders: true,
171
+ });
172
+ return result.kind === "signedIn"
173
+ ? result.signedIn !== null
174
+ ? { userId: result.signedIn.userId, sessionId: result.signedIn.sessionId }
175
+ : null
176
+ : null;
177
+ },
178
+ },
117
179
  /**
118
180
  * Hierarchical group management. Groups can nest arbitrarily deep
119
181
  * via `parentGroupId`. A root group has no parent.
@@ -232,12 +294,15 @@ export function Auth(config_) {
232
294
  * Create a new invitation.
233
295
  *
234
296
  * @param data.groupId - Optional group to invite the user into.
235
- * @param data.invitedByUserId - The user sending the invitation.
236
- * @param data.email - The email address of the invitee.
297
+ * @param data.invitedByUserId - Optional user sending the invitation
298
+ * (omit for CLI-generated invites).
299
+ * @param data.email - Optional email of the invitee (omit for
300
+ * CLI-generated invite links where the email is unknown upfront).
237
301
  * @param data.tokenHash - Hashed token for secure acceptance.
238
302
  * @param data.role - Optional role to assign on acceptance.
239
303
  * @param data.status - Initial status (typically "pending").
240
- * @param data.expiresTime - Timestamp when the invite expires.
304
+ * @param data.expiresTime - Optional expiration timestamp (omit for
305
+ * single-use, non-expiring invites).
241
306
  * @param data.extend - Optional arbitrary JSON extension data.
242
307
  * @throws ConvexError with code `DUPLICATE_INVITE` if a pending invite
243
308
  * already exists for this email and scope.
@@ -252,6 +317,12 @@ export function Auth(config_) {
252
317
  get: async (ctx, inviteId) => {
253
318
  return await ctx.runQuery(config.component.public.inviteGet, { inviteId });
254
319
  },
320
+ /**
321
+ * Retrieve an invite by its token hash. Returns `null` if not found.
322
+ */
323
+ getByTokenHash: async (ctx, tokenHash) => {
324
+ return await ctx.runQuery(config.component.public.inviteGetByTokenHash, { tokenHash });
325
+ },
255
326
  /**
256
327
  * List invites, optionally filtered by group and/or status.
257
328
  */
@@ -292,8 +363,11 @@ export function Auth(config_) {
292
363
  * });
293
364
  * ```
294
365
  */
295
- accept: async (ctx, inviteId) => {
296
- await ctx.runMutation(config.component.public.inviteAccept, { inviteId });
366
+ accept: async (ctx, inviteId, acceptedByUserId) => {
367
+ await ctx.runMutation(config.component.public.inviteAccept, {
368
+ inviteId,
369
+ ...(acceptedByUserId ? { acceptedByUserId } : {}),
370
+ });
297
371
  },
298
372
  /**
299
373
  * Revoke a pending invitation.
@@ -307,6 +381,71 @@ export function Auth(config_) {
307
381
  await ctx.runMutation(config.component.public.inviteRevoke, { inviteId });
308
382
  },
309
383
  },
384
+ /**
385
+ * Manage passkey credentials for users.
386
+ *
387
+ * ```ts
388
+ * const passkeys = await auth.passkey.list(ctx, { userId });
389
+ * await auth.passkey.rename(ctx, passkeyId, "MacBook Touch ID");
390
+ * await auth.passkey.remove(ctx, passkeyId);
391
+ * ```
392
+ */
393
+ passkey: {
394
+ /**
395
+ * List all passkeys for a user.
396
+ *
397
+ * @param opts.userId - The user whose passkeys to list.
398
+ * @returns Array of passkey records with credentialId, name, deviceType,
399
+ * backedUp, createdAt, and lastUsedAt.
400
+ */
401
+ list: async (ctx, opts) => {
402
+ return await ctx.runQuery(config.component.public.passkeyListByUserId, opts);
403
+ },
404
+ /**
405
+ * Rename a passkey (set a user-friendly display name).
406
+ *
407
+ * @param passkeyId - The passkey document ID.
408
+ * @param name - New display name (e.g. "MacBook Touch ID").
409
+ */
410
+ rename: async (ctx, passkeyId, name) => {
411
+ await ctx.runMutation(config.component.public.passkeyUpdateMeta, { passkeyId, data: { name } });
412
+ },
413
+ /**
414
+ * Delete a passkey credential.
415
+ *
416
+ * @param passkeyId - The passkey document ID to remove.
417
+ */
418
+ remove: async (ctx, passkeyId) => {
419
+ await ctx.runMutation(config.component.public.passkeyDelete, { passkeyId });
420
+ },
421
+ },
422
+ /**
423
+ * Manage TOTP two-factor authentication enrollments for users.
424
+ *
425
+ * ```ts
426
+ * const enrollments = await auth.totp.list(ctx, { userId });
427
+ * await auth.totp.remove(ctx, totpId);
428
+ * ```
429
+ */
430
+ totp: {
431
+ /**
432
+ * List all TOTP enrollments for a user.
433
+ *
434
+ * @param opts.userId - The user whose enrollments to list.
435
+ * @returns Array of TOTP enrollment records.
436
+ */
437
+ list: async (ctx, opts) => {
438
+ return await ctx.runQuery(config.component.public.totpListByUserId, opts);
439
+ },
440
+ /**
441
+ * Delete a TOTP enrollment.
442
+ *
443
+ * @param totpId - The TOTP document ID to remove.
444
+ */
445
+ remove: async (ctx, totpId) => {
446
+ await ctx.runMutation(config.component.public.totpDelete, { totpId });
447
+ },
448
+ },
310
449
  /**
311
450
  * Add HTTP actions for JWT verification and OAuth sign-in.
312
451
  *
@@ -463,6 +602,16 @@ export function Auth(config_) {
463
602
  }
464
603
  },
465
604
  };
605
+ const enrichCtx = (ctx) => ({
606
+ ...ctx,
607
+ auth: {
608
+ ...ctx.auth,
609
+ config,
610
+ account: auth.account,
611
+ session: auth.session,
612
+ provider: auth.provider,
613
+ },
614
+ });
466
615
  return {
467
616
  /**
468
617
  * Helper for configuring HTTP actions.
@@ -500,6 +649,12 @@ export function Auth(config_) {
500
649
  return { tokens: result.signedIn?.tokens ?? null };
501
650
  case "started":
502
651
  return { started: true };
652
+ case "passkeyOptions":
653
+ return { options: result.options, verifier: result.verifier };
654
+ case "totpRequired":
655
+ return { totpRequired: true, verifier: result.verifier };
656
+ case "totpSetup":
657
+ return { totpSetup: { uri: result.uri, secret: result.secret, totpId: result.totpId }, verifier: result.verifier };
503
658
  default: {
504
659
  const _typecheck = result;
505
660
  throw new Error(`Unexpected result from signIn, ${result}`);
@@ -528,104 +683,6 @@ export function Auth(config_) {
528
683
  }),
529
684
  };
530
685
  }
531
- /**
532
- * Return the currently signed-in user's ID.
533
- *
534
- * ```ts filename="convex/myFunctions.tsx"
535
- * import { mutation } from "./_generated/server";
536
- * import { getAuthUserId } from "@robelest/convex-auth/component";
537
- *
538
- * export const doSomething = mutation({
539
- * args: {/* ... *\/},
540
- * handler: async (ctx, args) => {
541
- * const userId = await getAuthUserId(ctx);
542
- * if (userId === null) {
543
- * throw new Error("Client is not authenticated!")
544
- * }
545
- * const user = await ctx.db.get(userId);
546
- * // ...
547
- * },
548
- * });
549
- * ```
550
- *
551
- * @param ctx query, mutation or action `ctx`
552
- * @returns the user ID or `null` if the client isn't authenticated
553
- */
554
- export async function getAuthUserId(ctx) {
555
- const identity = await ctx.auth.getUserIdentity();
556
- if (identity === null) {
557
- return null;
558
- }
559
- const [userId] = identity.subject.split(TOKEN_SUB_CLAIM_DIVIDER);
560
- return userId;
561
- }
562
- /**
563
- * Use this function from a
564
- * [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
565
- * provider to create an account and a user with a unique account "id" (OAuth
566
- * provider ID, email address, phone number, username etc.).
567
- *
568
- * @returns user ID if it successfully creates the account
569
- * or throws an error.
570
- */
571
- export async function createAccount(ctx, args) {
572
- const actionCtx = ctx;
573
- return (await callCreateAccountFromCredentials(actionCtx, args));
574
- }
575
- /**
576
- * Use this function from a
577
- * [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
578
- * provider to retrieve a user given the account provider ID and
579
- * the provider-specific account ID.
580
- *
581
- * @returns the retrieved user document, or `null` if there is no account
582
- * for given account ID or throws if the provided
583
- * secret does not match.
584
- */
585
- export async function retrieveAccount(ctx, args) {
586
- const actionCtx = ctx;
587
- const result = await callRetreiveAccountWithCredentials(actionCtx, args);
588
- if (typeof result === "string") {
589
- throw new Error(result);
590
- }
591
- return result;
592
- }
593
- /**
594
- * Use this function to modify the account credentials
595
- * from a [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
596
- * provider.
597
- */
598
- export async function modifyAccountCredentials(ctx, args) {
599
- const actionCtx = ctx;
600
- return await callModifyAccount(actionCtx, args);
601
- }
602
- /**
603
- * Use this function to invalidate existing sessions.
604
- */
605
- export async function invalidateSessions(ctx, args) {
606
- const actionCtx = ctx;
607
- return await callInvalidateSessions(actionCtx, args);
608
- }
609
- /**
610
- * Use this function from a
611
- * [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
612
- * provider to sign in the user via another provider (usually
613
- * for email verification on sign up or password reset).
614
- *
615
- * Returns the user ID if the sign can proceed,
616
- * or `null`.
617
- */
618
- export async function signInViaProvider(ctx, provider, args) {
619
- const result = await signInImpl(ctx, materializeProvider(provider), args, {
620
- generateTokens: false,
621
- allowExtraProviders: true,
622
- });
623
- return result.kind === "signedIn"
624
- ? result.signedIn !== null
625
- ? { userId: result.signedIn.userId, sessionId: result.signedIn.sessionId }
626
- : null
627
- : null;
628
- }
629
686
  function convertErrorsToResponse(errorStatusCode, action) {
630
687
  return async (ctx, request) => {
631
688
  try {
@@ -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,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;;;;;;;;;;;;;;;;;;;;;;;;;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"}