@absolutejs/auth 0.45.9 → 0.46.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.
@@ -16,7 +16,7 @@ var __export = (target, all) => {
16
16
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
17
  var __require = import.meta.require;
18
18
 
19
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js
19
+ // node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js
20
20
  function bufferToBase64URLString(buffer) {
21
21
  const bytes = new Uint8Array(buffer);
22
22
  let str = "";
@@ -27,7 +27,7 @@ function bufferToBase64URLString(buffer) {
27
27
  return base64String.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
28
28
  }
29
29
 
30
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js
30
+ // node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js
31
31
  function base64URLStringToBuffer(base64URLString) {
32
32
  const base64 = base64URLString.replace(/-/g, "+").replace(/_/g, "/");
33
33
  const padLength = (4 - base64.length % 4) % 4;
@@ -41,7 +41,7 @@ function base64URLStringToBuffer(base64URLString) {
41
41
  return buffer;
42
42
  }
43
43
 
44
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js
44
+ // node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js
45
45
  function browserSupportsWebAuthn() {
46
46
  return _browserSupportsWebAuthnInternals.stubThis(globalThis?.PublicKeyCredential !== undefined && typeof globalThis.PublicKeyCredential === "function");
47
47
  }
@@ -52,7 +52,7 @@ var init_browserSupportsWebAuthn = __esm(() => {
52
52
  };
53
53
  });
54
54
 
55
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js
55
+ // node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js
56
56
  function toPublicKeyCredentialDescriptor(descriptor) {
57
57
  const { id } = descriptor;
58
58
  return {
@@ -63,12 +63,12 @@ function toPublicKeyCredentialDescriptor(descriptor) {
63
63
  }
64
64
  var init_toPublicKeyCredentialDescriptor = () => {};
65
65
 
66
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js
66
+ // node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js
67
67
  function isValidDomain(hostname) {
68
68
  return hostname === "localhost" || /^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(hostname);
69
69
  }
70
70
 
71
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js
71
+ // node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js
72
72
  var WebAuthnError;
73
73
  var init_webAuthnError = __esm(() => {
74
74
  WebAuthnError = class WebAuthnError extends Error {
@@ -86,7 +86,7 @@ var init_webAuthnError = __esm(() => {
86
86
  };
87
87
  });
88
88
 
89
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js
89
+ // node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js
90
90
  function identifyRegistrationError({ error, options }) {
91
91
  const { publicKey } = options;
92
92
  if (!publicKey) {
@@ -182,7 +182,7 @@ var init_identifyRegistrationError = __esm(() => {
182
182
  init_webAuthnError();
183
183
  });
184
184
 
185
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js
185
+ // node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js
186
186
  class BaseWebAuthnAbortService {
187
187
  constructor() {
188
188
  Object.defineProperty(this, "controller", {
@@ -216,7 +216,7 @@ var init_webAuthnAbortService = __esm(() => {
216
216
  WebAuthnAbortService = new BaseWebAuthnAbortService;
217
217
  });
218
218
 
219
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js
219
+ // node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js
220
220
  function toAuthenticatorAttachment(attachment) {
221
221
  if (!attachment) {
222
222
  return;
@@ -231,7 +231,7 @@ var init_toAuthenticatorAttachment = __esm(() => {
231
231
  attachments = ["cross-platform", "platform"];
232
232
  });
233
233
 
234
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js
234
+ // node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js
235
235
  async function startRegistration(options) {
236
236
  if (!options.optionsJSON && options.challenge) {
237
237
  console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.");
@@ -325,7 +325,7 @@ var init_startRegistration = __esm(() => {
325
325
  init_toAuthenticatorAttachment();
326
326
  });
327
327
 
328
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js
328
+ // node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js
329
329
  function browserSupportsWebAuthnAutofill() {
330
330
  if (!browserSupportsWebAuthn()) {
331
331
  return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));
@@ -344,7 +344,7 @@ var init_browserSupportsWebAuthnAutofill = __esm(() => {
344
344
  };
345
345
  });
346
346
 
347
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js
347
+ // node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js
348
348
  function identifyAuthenticationError({ error, options }) {
349
349
  const { publicKey } = options;
350
350
  if (!publicKey) {
@@ -392,7 +392,7 @@ var init_identifyAuthenticationError = __esm(() => {
392
392
  init_webAuthnError();
393
393
  });
394
394
 
395
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js
395
+ // node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js
396
396
  async function startAuthentication(options) {
397
397
  if (!options.optionsJSON && options.challenge) {
398
398
  console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.");
@@ -462,7 +462,7 @@ var init_startAuthentication = __esm(() => {
462
462
  init_toAuthenticatorAttachment();
463
463
  });
464
464
 
465
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js
465
+ // node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js
466
466
  function platformAuthenticatorIsAvailable() {
467
467
  if (!browserSupportsWebAuthn()) {
468
468
  return new Promise((resolve) => resolve(false));
@@ -473,10 +473,10 @@ var init_platformAuthenticatorIsAvailable = __esm(() => {
473
473
  init_browserSupportsWebAuthn();
474
474
  });
475
475
 
476
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/types/index.js
476
+ // node_modules/@simplewebauthn/browser/esm/types/index.js
477
477
  var init_types = () => {};
478
478
 
479
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/index.js
479
+ // node_modules/@simplewebauthn/browser/esm/index.js
480
480
  var exports_esm = {};
481
481
  __export(exports_esm, {
482
482
  startRegistration: () => startRegistration,
@@ -679,5 +679,5 @@ export {
679
679
  createAuthClient
680
680
  };
681
681
 
682
- //# debugId=EA43BAB2DE2E0E7764756E2164756E21
682
+ //# debugId=711362557A269C4164756E2164756E21
683
683
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js", "../../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/index.js", "../src/client/createAuthClient.ts", "../src/client/passkeyHelpers.ts"],
3
+ "sources": ["../node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js", "../node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js", "../node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js", "../node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js", "../node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js", "../node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js", "../node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js", "../node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js", "../node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js", "../node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js", "../node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js", "../node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js", "../node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js", "../node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js", "../node_modules/@simplewebauthn/browser/esm/index.js", "../src/client/createAuthClient.ts", "../src/client/passkeyHelpers.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various\n * credential response ArrayBuffers to string for sending back to the server as JSON.\n *\n * Helper method to compliment `base64URLStringToBuffer`\n */\nexport function bufferToBase64URLString(buffer) {\n const bytes = new Uint8Array(buffer);\n let str = '';\n for (const charCode of bytes) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n return base64String.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\n",
6
6
  "/**\n * Convert from a Base64URL-encoded string to an Array Buffer. Best used when converting a\n * credential ID from a JSON string to an ArrayBuffer, like in allowCredentials or\n * excludeCredentials\n *\n * Helper method to compliment `bufferToBase64URLString`\n */\nexport function base64URLStringToBuffer(base64URLString) {\n // Convert from Base64URL to Base64\n const base64 = base64URLString.replace(/-/g, '+').replace(/_/g, '/');\n /**\n * Pad with '=' until it's a multiple of four\n * (4 - (85 % 4 = 1) = 3) % 4 = 3 padding\n * (4 - (86 % 4 = 2) = 2) % 4 = 2 padding\n * (4 - (87 % 4 = 3) = 1) % 4 = 1 padding\n * (4 - (88 % 4 = 0) = 4) % 4 = 0 padding\n */\n const padLength = (4 - (base64.length % 4)) % 4;\n const padded = base64.padEnd(base64.length + padLength, '=');\n // Convert to a binary string\n const binary = atob(padded);\n // Convert binary string to buffer\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n",
@@ -17,10 +17,10 @@
17
17
  "import { bufferToBase64URLString } from '../helpers/bufferToBase64URLString.js';\nimport { base64URLStringToBuffer } from '../helpers/base64URLStringToBuffer.js';\nimport { browserSupportsWebAuthn } from '../helpers/browserSupportsWebAuthn.js';\nimport { browserSupportsWebAuthnAutofill } from '../helpers/browserSupportsWebAuthnAutofill.js';\nimport { toPublicKeyCredentialDescriptor } from '../helpers/toPublicKeyCredentialDescriptor.js';\nimport { identifyAuthenticationError } from '../helpers/identifyAuthenticationError.js';\nimport { WebAuthnAbortService } from '../helpers/webAuthnAbortService.js';\nimport { toAuthenticatorAttachment } from '../helpers/toAuthenticatorAttachment.js';\n/**\n * Begin authenticator \"login\" via WebAuthn assertion\n *\n * @param optionsJSON Output from **@simplewebauthn/server**'s `generateAuthenticationOptions()`\n * @param useBrowserAutofill (Optional) Initialize conditional UI to enable logging in via browser autofill prompts. Defaults to `false`.\n * @param verifyBrowserAutofillInput (Optional) Ensure a suitable `<input>` element is present when `useBrowserAutofill` is `true`. Defaults to `true`.\n */\nexport async function startAuthentication(options) {\n // @ts-ignore: Intentionally check for old call structure to warn about improper API call\n if (!options.optionsJSON && options.challenge) {\n console.warn('startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.');\n // @ts-ignore: Reassign the options, passed in as a positional argument, to the expected variable\n options = { optionsJSON: options };\n }\n const { optionsJSON, useBrowserAutofill = false, verifyBrowserAutofillInput = true, } = options;\n if (!browserSupportsWebAuthn()) {\n throw new Error('WebAuthn is not supported in this browser');\n }\n // We need to avoid passing empty array to avoid blocking retrieval\n // of public key\n let allowCredentials;\n if (optionsJSON.allowCredentials?.length !== 0) {\n allowCredentials = optionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor);\n }\n // We need to convert some values to Uint8Arrays before passing the credentials to the navigator\n const publicKey = {\n ...optionsJSON,\n challenge: base64URLStringToBuffer(optionsJSON.challenge),\n allowCredentials,\n };\n // Prepare options for `.get()`\n const getOptions = {};\n /**\n * Set up the page to prompt the user to select a credential for authentication via the browser's\n * input autofill mechanism.\n */\n if (useBrowserAutofill) {\n if (!(await browserSupportsWebAuthnAutofill())) {\n throw Error('Browser does not support WebAuthn autofill');\n }\n // Check for an <input> with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete$='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1 && verifyBrowserAutofillInput) {\n throw Error('No <input> with \"webauthn\" as the only or last value in its `autocomplete` attribute was detected');\n }\n // `CredentialMediationRequirement` doesn't know about \"conditional\" yet as of\n // typescript@4.6.3\n getOptions.mediation = 'conditional';\n // Conditional UI requires an empty allow list\n publicKey.allowCredentials = [];\n }\n // Finalize options\n getOptions.publicKey = publicKey;\n // Set up the ability to cancel this request if the user attempts another\n getOptions.signal = WebAuthnAbortService.createNewAbortSignal();\n // Wait for the user to complete assertion\n let credential;\n try {\n credential = (await navigator.credentials.get(getOptions));\n }\n catch (err) {\n throw identifyAuthenticationError({ error: err, options: getOptions });\n }\n if (!credential) {\n throw new Error('Authentication was not completed');\n }\n const { id, rawId, response, type } = credential;\n let userHandle = undefined;\n if (response.userHandle) {\n userHandle = bufferToBase64URLString(response.userHandle);\n }\n // Convert values to base64 to make it easier to send back to the server\n return {\n id,\n rawId: bufferToBase64URLString(rawId),\n response: {\n authenticatorData: bufferToBase64URLString(response.authenticatorData),\n clientDataJSON: bufferToBase64URLString(response.clientDataJSON),\n signature: bufferToBase64URLString(response.signature),\n userHandle,\n },\n type,\n clientExtensionResults: credential.getClientExtensionResults(),\n authenticatorAttachment: toAuthenticatorAttachment(credential.authenticatorAttachment),\n };\n}\n",
18
18
  "import { browserSupportsWebAuthn } from './browserSupportsWebAuthn.js';\n/**\n * Determine whether the browser can communicate with a built-in authenticator, like\n * Touch ID, Android fingerprint scanner, or Windows Hello.\n *\n * This method will _not_ be able to tell you the name of the platform authenticator.\n */\nexport function platformAuthenticatorIsAvailable() {\n if (!browserSupportsWebAuthn()) {\n return new Promise((resolve) => resolve(false));\n }\n return PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n}\n",
19
19
  "export * from './methods/startRegistration.js';\nexport * from './methods/startAuthentication.js';\nexport * from './helpers/browserSupportsWebAuthn.js';\nexport * from './helpers/platformAuthenticatorIsAvailable.js';\nexport * from './helpers/browserSupportsWebAuthnAutofill.js';\nexport * from './helpers/base64URLStringToBuffer.js';\nexport * from './helpers/bufferToBase64URLString.js';\nexport * from './helpers/webAuthnAbortService.js';\nexport * from './helpers/webAuthnError.js';\nexport * from './types/index.js';\n",
20
- "// Framework-agnostic client SDK over the auth endpoints. Thin fetch wrappers with\n// configurable routes, a uniform `{ data, error }` return, and same-origin cookies on by\n// default — the primitive the React hooks (`./react`) and future Vue/Solid composables wrap.\n// HTMX is the special case (declarative server fragments via `./htmx`); for every other UI\n// framework the natural primitive is this client + your framework's reactivity.\n\nexport type AuthClientError = {\n\tbody: unknown;\n\tmessage: string;\n\tstatus: number;\n};\n\nexport type AuthClientResult<T> =\n\t| { data: null; error: AuthClientError }\n\t| { data: T; error: null };\n\n// Each entry is the URL the consumer's auth() mounted that flow at. Defaults match the\n// package defaults; override to match your own custom routes.\nexport type AuthClientRoutes = {\n\temailVerify?: string;\n\temailVerifyRequest?: string;\n\tlogin?: string;\n\tmagicLinkRequest?: string;\n\tmagicLinkVerify?: string;\n\tmfaChallenge?: string;\n\tmfaSetup?: string;\n\tmfaVerifySetup?: string;\n\tpasskeyAuthenticateOptions?: string;\n\tpasskeyAuthenticateVerify?: string;\n\tpasskeyList?: string;\n\tpasskeyRegisterOptions?: string;\n\tpasskeyRegisterVerify?: string;\n\tpasskeyRemove?: string;\n\tpasswordReset?: string;\n\tpasswordResetRequest?: string;\n\tregister?: string;\n\tsessions?: string;\n\tsignout?: string;\n};\n\nconst DEFAULT_ROUTES: Required<AuthClientRoutes> = {\n\temailVerify: '/auth/verify-email',\n\temailVerifyRequest: '/auth/verify-email/request',\n\tlogin: '/auth/login',\n\tmagicLinkRequest: '/auth/passwordless/magic-link',\n\tmagicLinkVerify: '/auth/passwordless/magic-link/verify',\n\tmfaChallenge: '/auth/mfa/totp/challenge',\n\tmfaSetup: '/auth/mfa/totp/setup',\n\tmfaVerifySetup: '/auth/mfa/totp/verify',\n\tpasskeyAuthenticateOptions: '/auth/webauthn/authenticate/options',\n\tpasskeyAuthenticateVerify: '/auth/webauthn/authenticate/verify',\n\tpasskeyList: '/auth/webauthn/credentials',\n\tpasskeyRegisterOptions: '/auth/webauthn/register/options',\n\tpasskeyRegisterVerify: '/auth/webauthn/register/verify',\n\tpasskeyRemove: '/auth/webauthn/credentials',\n\tpasswordReset: '/auth/reset-password',\n\tpasswordResetRequest: '/auth/reset-password/request',\n\tregister: '/auth/register',\n\tsessions: '/auth/sessions',\n\tsignout: '/auth/signout'\n};\n\nexport type AuthClientConfig = {\n\tbaseUrl?: string;\n\tcredentials?: RequestCredentials;\n\tfetch?: typeof fetch;\n\troutes?: AuthClientRoutes;\n};\n\nconst succeed = <T>(data: T): AuthClientResult<T> => ({\n\tdata,\n\terror: null\n});\n\nconst fail = (error: AuthClientError): AuthClientResult<never> => ({\n\tdata: null,\n\terror\n});\n\nconst errorFor = (response: Response, body: unknown): AuthClientError => ({\n\tbody,\n\tmessage:\n\t\ttypeof body === 'string'\n\t\t\t? body\n\t\t\t: (readMessage(body) ?? response.statusText),\n\tstatus: response.status\n});\n\nexport const createAuthClient = ({\n\tbaseUrl = '',\n\tcredentials = 'same-origin',\n\tfetch: fetchImpl = fetch,\n\troutes\n}: AuthClientConfig = {}) => {\n\tconst resolvedRoutes: Required<AuthClientRoutes> = {\n\t\t...DEFAULT_ROUTES,\n\t\t...routes\n\t};\n\n\tconst request = async <T>(path: string, init: RequestInit) => {\n\t\ttry {\n\t\t\tconst response = await fetchImpl(`${baseUrl}${path}`, {\n\t\t\t\tcredentials,\n\t\t\t\t...init\n\t\t\t});\n\t\t\tconst text = await response.text();\n\t\t\tconst body: unknown = text === '' ? null : safeJson(text);\n\t\t\tif (!response.ok) return fail(errorFor(response, body));\n\n\t\t\t// Trust the caller's expectation at the deserialization boundary.\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- HTTP response is unknown until parsed; the call site declares the expected T\n\t\t\treturn succeed(body as T);\n\t\t} catch (caught) {\n\t\t\tconst message = caught instanceof Error ? caught.message : 'network';\n\n\t\t\treturn fail({ body: null, message, status: 0 });\n\t\t}\n\t};\n\n\tconst post = <T>(path: string, body?: unknown, method = 'POST') =>\n\t\trequest<T>(path, {\n\t\t\tbody: body === undefined ? undefined : JSON.stringify(body),\n\t\t\theaders:\n\t\t\t\tbody === undefined ? undefined : { 'content-type': 'application/json' },\n\t\t\tmethod\n\t\t});\n\n\tconst get = <T>(path: string) => request<T>(path, { method: 'GET' });\n\n\tconst del = <T>(path: string) => request<T>(path, { method: 'DELETE' });\n\n\treturn {\n\t\temailVerification: {\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerifyRequest, body),\n\t\t\tverify: (body: { token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerify, body)\n\t\t},\n\t\tmfa: {\n\t\t\tchallenge: (body: { code: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(resolvedRoutes.mfaChallenge, body),\n\t\t\tsetup: () =>\n\t\t\t\tpost<{ secret: string; uri: string }>(resolvedRoutes.mfaSetup),\n\t\t\tverifySetup: (body: { code: string }) =>\n\t\t\t\tpost<{ backupCodes: string[] }>(\n\t\t\t\t\tresolvedRoutes.mfaVerifySetup,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasskeys: {\n\t\t\tauthenticateOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyAuthenticateOptions),\n\t\t\tauthenticateVerify: (response: unknown) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.passkeyAuthenticateVerify,\n\t\t\t\t\tresponse\n\t\t\t\t),\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.passkeyList),\n\t\t\tregisterOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyRegisterOptions),\n\t\t\tregisterVerify: (response: unknown) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passkeyRegisterVerify, response),\n\t\t\tremove: (credentialId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.passkeyRemove}/${encodeURIComponent(credentialId)}`\n\t\t\t\t)\n\t\t},\n\t\tpasswordless: {\n\t\t\trequestMagicLink: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.magicLinkRequest, body),\n\t\t\tverifyMagicLink: (body: { token: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.magicLinkVerify,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasswordReset: {\n\t\t\tconfirm: (body: { password: string; token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordReset, body),\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordResetRequest, body)\n\t\t},\n\t\tsessions: {\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.sessions),\n\t\t\trevoke: (sessionId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.sessions}/${encodeURIComponent(sessionId)}`\n\t\t\t\t)\n\t\t},\n\t\tsignIn: {\n\t\t\temail: (body: { email: string; password: string }) =>\n\t\t\t\tpost<{\n\t\t\t\t\tpasswordCompromised?: boolean;\n\t\t\t\t\tstatus: 'authenticated' | 'mfa_required';\n\t\t\t\t}>(resolvedRoutes.login, body)\n\t\t},\n\t\tsignUp: {\n\t\t\temail: (body: {\n\t\t\t\temail: string;\n\t\t\t\tpassword: string;\n\t\t\t\t[extra: string]: unknown;\n\t\t\t}) =>\n\t\t\t\tpost<\n\t\t\t\t\t| { status: 'authenticated' }\n\t\t\t\t\t| { status: 'verification_required' }\n\t\t\t\t>(resolvedRoutes.register, body)\n\t\t},\n\t\tsignOut: () => post<{ ok: true } | null>(resolvedRoutes.signout)\n\t};\n};\n\nconst safeJson = (text: string) => {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- deserialization boundary\n\t\treturn JSON.parse(text) as unknown;\n\t} catch {\n\t\treturn text;\n\t}\n};\n\nconst readMessage = (body: unknown) => {\n\tif (typeof body !== 'object' || body === null) return undefined;\n\tconst message: unknown = Reflect.get(body, 'message');\n\n\treturn typeof message === 'string' ? message : undefined;\n};\n\nexport type AuthClient = ReturnType<typeof createAuthClient>;\n",
21
- "// Framework-agnostic glue between the WebAuthn ceremonies the package exposes via\n// `createAuthClient` and the browser's `navigator.credentials.{get,create}` APIs.\n// Used by the framework composables (`./react`, `./vue`, `./solid`, `./svelte`) so the\n// React + Vue + Solid + Svelte hooks all share the same imperative core; the framework\n// wrappers only add reactivity.\n//\n// `@simplewebauthn/browser` is an OPTIONAL peer dep — consumers that don't import any\n// of the passkey composables never load it. We dynamic-import lazily on first call so a\n// non-passkey consumer pays nothing at module load.\n\nimport type { AuthClient, AuthClientError } from './createAuthClient';\n\ntype StartAuthentication = (options: {\n\toptionsJSON: unknown;\n\tuseBrowserAutofill?: boolean;\n}) => Promise<unknown>;\n\ntype StartRegistration = (options: {\n\toptionsJSON: unknown;\n}) => Promise<unknown>;\n\nconst loadBrowser = async () => {\n\tconst mod: { startAuthentication: StartAuthentication; startRegistration: StartRegistration } =\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- @simplewebauthn/browser is an optional peer dep; the dynamic import is gated by composable use sites + the shape matches the upstream signature we depend on\n\t\t(await import('@simplewebauthn/browser')) as {\n\t\t\tstartAuthentication: StartAuthentication;\n\t\t\tstartRegistration: StartRegistration;\n\t\t};\n\n\treturn mod;\n};\n\nconst errorFor = (caught: unknown): AuthClientError => ({\n\tbody: null,\n\tmessage: caught instanceof Error ? caught.message : 'webauthn_failed',\n\tstatus: 0\n});\n\n// Runs the WebAuthn authentication ceremony in conditional-UI mode (the browser surfaces\n// saved passkeys directly via autofill on a focused `<input autocomplete=\"webauthn\">`).\n// Returns the same `{ data, error }` shape `createAuthClient` already uses, so composables\n// can pipe the result into their state setters unchanged.\nexport const runConditionalAuthentication = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.authenticateOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startAuthentication } = await loadBrowser();\n\t\tconst credential = await startAuthentication({\n\t\t\toptionsJSON: options.data,\n\t\t\tuseBrowserAutofill: true\n\t\t});\n\n\t\treturn client.passkeys.authenticateVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n\n// Runs the WebAuthn registration ceremony for the currently authenticated user. Used by\n// the \"upgrade to passkey\" prompt — after a password sign-in, surface a \"save a passkey\n// to this device for next time?\" CTA.\nexport const runPasskeyRegistration = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.registerOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startRegistration } = await loadBrowser();\n\t\tconst credential = await startRegistration({\n\t\t\toptionsJSON: options.data\n\t\t});\n\n\t\treturn client.passkeys.registerVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n"
20
+ "// Framework-agnostic client SDK over the auth endpoints. Thin fetch wrappers with\n// configurable routes, a uniform `{ data, error }` return, and same-origin cookies on by\n// default — the primitive the React hooks (`./react`) and future Vue/Solid composables wrap.\n// HTMX is the special case (declarative server fragments via `./htmx`); for every other UI\n// framework the natural primitive is this client + your framework's reactivity.\n\nexport type AuthClientError = {\n\tbody: unknown;\n\tmessage: string;\n\tstatus: number;\n};\n\nexport type AuthClientResult<T> =\n\t| { data: null; error: AuthClientError }\n\t| { data: T; error: null };\n\n// Each entry is the URL the consumer's auth() mounted that flow at. Defaults match the\n// package defaults; override to match your own custom routes.\nexport type AuthClientRoutes = {\n\temailVerify?: string;\n\temailVerifyRequest?: string;\n\tlogin?: string;\n\tmagicLinkRequest?: string;\n\tmagicLinkVerify?: string;\n\tmfaChallenge?: string;\n\tmfaSetup?: string;\n\tmfaVerifySetup?: string;\n\tpasskeyAuthenticateOptions?: string;\n\tpasskeyAuthenticateVerify?: string;\n\tpasskeyList?: string;\n\tpasskeyRegisterOptions?: string;\n\tpasskeyRegisterVerify?: string;\n\tpasskeyRemove?: string;\n\tpasswordReset?: string;\n\tpasswordResetRequest?: string;\n\tregister?: string;\n\tsessions?: string;\n\tsignout?: string;\n};\n\nconst DEFAULT_ROUTES: Required<AuthClientRoutes> = {\n\temailVerify: '/auth/verify-email',\n\temailVerifyRequest: '/auth/verify-email/request',\n\tlogin: '/auth/login',\n\tmagicLinkRequest: '/auth/passwordless/magic-link',\n\tmagicLinkVerify: '/auth/passwordless/magic-link/verify',\n\tmfaChallenge: '/auth/mfa/totp/challenge',\n\tmfaSetup: '/auth/mfa/totp/setup',\n\tmfaVerifySetup: '/auth/mfa/totp/verify',\n\tpasskeyAuthenticateOptions: '/auth/webauthn/authenticate/options',\n\tpasskeyAuthenticateVerify: '/auth/webauthn/authenticate/verify',\n\tpasskeyList: '/auth/webauthn/credentials',\n\tpasskeyRegisterOptions: '/auth/webauthn/register/options',\n\tpasskeyRegisterVerify: '/auth/webauthn/register/verify',\n\tpasskeyRemove: '/auth/webauthn/credentials',\n\tpasswordReset: '/auth/reset-password',\n\tpasswordResetRequest: '/auth/reset-password/request',\n\tregister: '/auth/register',\n\tsessions: '/auth/sessions',\n\tsignout: '/auth/signout'\n};\n\nexport type AuthClientConfig = {\n\tbaseUrl?: string;\n\tcredentials?: RequestCredentials;\n\tfetch?: typeof fetch;\n\troutes?: AuthClientRoutes;\n};\n\nconst succeed = <T>(data: T): AuthClientResult<T> => ({\n\tdata,\n\terror: null\n});\n\nconst fail = (error: AuthClientError): AuthClientResult<never> => ({\n\tdata: null,\n\terror\n});\n\nconst errorFor = (response: Response, body: unknown): AuthClientError => ({\n\tbody,\n\tmessage:\n\t\ttypeof body === 'string'\n\t\t\t? body\n\t\t\t: (readMessage(body) ?? response.statusText),\n\tstatus: response.status\n});\n\nexport const createAuthClient = ({\n\tbaseUrl = '',\n\tcredentials = 'same-origin',\n\tfetch: fetchImpl = fetch,\n\troutes\n}: AuthClientConfig = {}) => {\n\tconst resolvedRoutes: Required<AuthClientRoutes> = {\n\t\t...DEFAULT_ROUTES,\n\t\t...routes\n\t};\n\n\tconst request = async <T>(path: string, init: RequestInit) => {\n\t\ttry {\n\t\t\tconst response = await fetchImpl(`${baseUrl}${path}`, {\n\t\t\t\tcredentials,\n\t\t\t\t...init\n\t\t\t});\n\t\t\tconst text = await response.text();\n\t\t\tconst body: unknown = text === '' ? null : safeJson(text);\n\t\t\tif (!response.ok) return fail(errorFor(response, body));\n\n\t\t\t// Trust the caller's expectation at the deserialization boundary.\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- HTTP response is unknown until parsed; the call site declares the expected T\n\t\t\treturn succeed(body as T);\n\t\t} catch (caught) {\n\t\t\tconst message =\n\t\t\t\tcaught instanceof Error ? caught.message : 'network';\n\n\t\t\treturn fail({ body: null, message, status: 0 });\n\t\t}\n\t};\n\n\tconst post = <T>(path: string, body?: unknown, method = 'POST') =>\n\t\trequest<T>(path, {\n\t\t\tbody: body === undefined ? undefined : JSON.stringify(body),\n\t\t\theaders:\n\t\t\t\tbody === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: { 'content-type': 'application/json' },\n\t\t\tmethod\n\t\t});\n\n\tconst get = <T>(path: string) => request<T>(path, { method: 'GET' });\n\n\tconst del = <T>(path: string) => request<T>(path, { method: 'DELETE' });\n\n\treturn {\n\t\temailVerification: {\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerifyRequest, body),\n\t\t\tverify: (body: { token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.emailVerify, body)\n\t\t},\n\t\tmfa: {\n\t\t\tchallenge: (body: { code: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.mfaChallenge,\n\t\t\t\t\tbody\n\t\t\t\t),\n\t\t\tsetup: () =>\n\t\t\t\tpost<{ secret: string; uri: string }>(resolvedRoutes.mfaSetup),\n\t\t\tverifySetup: (body: { code: string }) =>\n\t\t\t\tpost<{ backupCodes: string[] }>(\n\t\t\t\t\tresolvedRoutes.mfaVerifySetup,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasskeys: {\n\t\t\tauthenticateOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyAuthenticateOptions),\n\t\t\tauthenticateVerify: (response: unknown) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.passkeyAuthenticateVerify,\n\t\t\t\t\tresponse\n\t\t\t\t),\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.passkeyList),\n\t\t\tregisterOptions: () =>\n\t\t\t\tpost<unknown>(resolvedRoutes.passkeyRegisterOptions),\n\t\t\tregisterVerify: (response: unknown) =>\n\t\t\t\tpost<{ ok: true }>(\n\t\t\t\t\tresolvedRoutes.passkeyRegisterVerify,\n\t\t\t\t\tresponse\n\t\t\t\t),\n\t\t\tremove: (credentialId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.passkeyRemove}/${encodeURIComponent(credentialId)}`\n\t\t\t\t)\n\t\t},\n\t\tpasswordless: {\n\t\t\trequestMagicLink: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.magicLinkRequest, body),\n\t\t\tverifyMagicLink: (body: { token: string }) =>\n\t\t\t\tpost<{ status: 'authenticated' }>(\n\t\t\t\t\tresolvedRoutes.magicLinkVerify,\n\t\t\t\t\tbody\n\t\t\t\t)\n\t\t},\n\t\tpasswordReset: {\n\t\t\tconfirm: (body: { password: string; token: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordReset, body),\n\t\t\trequest: (body: { email: string }) =>\n\t\t\t\tpost<{ ok: true }>(resolvedRoutes.passwordResetRequest, body)\n\t\t},\n\t\tsessions: {\n\t\t\tlist: () => get<unknown[]>(resolvedRoutes.sessions),\n\t\t\trevoke: (sessionId: string) =>\n\t\t\t\tdel<{ ok: true }>(\n\t\t\t\t\t`${resolvedRoutes.sessions}/${encodeURIComponent(sessionId)}`\n\t\t\t\t)\n\t\t},\n\t\tsignIn: {\n\t\t\temail: (body: { email: string; password: string }) =>\n\t\t\t\tpost<{\n\t\t\t\t\tpasswordCompromised?: boolean;\n\t\t\t\t\tstatus: 'authenticated' | 'mfa_required';\n\t\t\t\t}>(resolvedRoutes.login, body)\n\t\t},\n\t\tsignUp: {\n\t\t\temail: (body: {\n\t\t\t\temail: string;\n\t\t\t\tpassword: string;\n\t\t\t\t[extra: string]: unknown;\n\t\t\t}) =>\n\t\t\t\tpost<\n\t\t\t\t\t| { status: 'authenticated' }\n\t\t\t\t\t| { status: 'verification_required' }\n\t\t\t\t>(resolvedRoutes.register, body)\n\t\t},\n\t\tsignOut: () => post<{ ok: true } | null>(resolvedRoutes.signout)\n\t};\n};\n\nconst safeJson = (text: string) => {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- deserialization boundary\n\t\treturn JSON.parse(text) as unknown;\n\t} catch {\n\t\treturn text;\n\t}\n};\n\nconst readMessage = (body: unknown) => {\n\tif (typeof body !== 'object' || body === null) return undefined;\n\tconst message: unknown = Reflect.get(body, 'message');\n\n\treturn typeof message === 'string' ? message : undefined;\n};\n\nexport type AuthClient = ReturnType<typeof createAuthClient>;\n",
21
+ "// Framework-agnostic glue between the WebAuthn ceremonies the package exposes via\n// `createAuthClient` and the browser's `navigator.credentials.{get,create}` APIs.\n// Used by the framework composables (`./react`, `./vue`, `./solid`, `./svelte`) so the\n// React + Vue + Solid + Svelte hooks all share the same imperative core; the framework\n// wrappers only add reactivity.\n//\n// `@simplewebauthn/browser` is an OPTIONAL peer dep — consumers that don't import any\n// of the passkey composables never load it. We dynamic-import lazily on first call so a\n// non-passkey consumer pays nothing at module load.\n\nimport type { AuthClient, AuthClientError } from './createAuthClient';\n\ntype StartAuthentication = (options: {\n\toptionsJSON: unknown;\n\tuseBrowserAutofill?: boolean;\n}) => Promise<unknown>;\n\ntype StartRegistration = (options: {\n\toptionsJSON: unknown;\n}) => Promise<unknown>;\n\nconst loadBrowser = async () => {\n\tconst mod: {\n\t\tstartAuthentication: StartAuthentication;\n\t\tstartRegistration: StartRegistration;\n\t} =\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- @simplewebauthn/browser is an optional peer dep; the dynamic import is gated by composable use sites + the shape matches the upstream signature we depend on\n\t\t(await import('@simplewebauthn/browser')) as {\n\t\t\tstartAuthentication: StartAuthentication;\n\t\t\tstartRegistration: StartRegistration;\n\t\t};\n\n\treturn mod;\n};\n\nconst errorFor = (caught: unknown): AuthClientError => ({\n\tbody: null,\n\tmessage: caught instanceof Error ? caught.message : 'webauthn_failed',\n\tstatus: 0\n});\n\n// Runs the WebAuthn authentication ceremony in conditional-UI mode (the browser surfaces\n// saved passkeys directly via autofill on a focused `<input autocomplete=\"webauthn\">`).\n// Returns the same `{ data, error }` shape `createAuthClient` already uses, so composables\n// can pipe the result into their state setters unchanged.\nexport const runConditionalAuthentication = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.authenticateOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startAuthentication } = await loadBrowser();\n\t\tconst credential = await startAuthentication({\n\t\t\toptionsJSON: options.data,\n\t\t\tuseBrowserAutofill: true\n\t\t});\n\n\t\treturn client.passkeys.authenticateVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n\n// Runs the WebAuthn registration ceremony for the currently authenticated user. Used by\n// the \"upgrade to passkey\" prompt — after a password sign-in, surface a \"save a passkey\n// to this device for next time?\" CTA.\nexport const runPasskeyRegistration = async (client: AuthClient) => {\n\tif (typeof window === 'undefined' || !window.PublicKeyCredential) {\n\t\treturn {\n\t\t\tdata: null,\n\t\t\terror: errorFor(new Error('webauthn_unavailable'))\n\t\t};\n\t}\n\tconst options = await client.passkeys.registerOptions();\n\tif (options.error) return { data: null, error: options.error };\n\ttry {\n\t\tconst { startRegistration } = await loadBrowser();\n\t\tconst credential = await startRegistration({\n\t\t\toptionsJSON: options.data\n\t\t});\n\n\t\treturn client.passkeys.registerVerify(credential);\n\t} catch (caught) {\n\t\treturn { data: null, error: errorFor(caught) };\n\t}\n};\n"
22
22
  ],
23
- "mappings": "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",
24
- "debugId": "EA43BAB2DE2E0E7764756E2164756E21",
23
+ "mappings": "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",
24
+ "debugId": "711362557A269C4164756E2164756E21",
25
25
  "names": []
26
26
  }
@@ -16,7 +16,7 @@ var __export = (target, all) => {
16
16
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
17
  var __require = import.meta.require;
18
18
 
19
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js
19
+ // node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js
20
20
  function bufferToBase64URLString(buffer) {
21
21
  const bytes = new Uint8Array(buffer);
22
22
  let str = "";
@@ -27,7 +27,7 @@ function bufferToBase64URLString(buffer) {
27
27
  return base64String.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
28
28
  }
29
29
 
30
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js
30
+ // node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js
31
31
  function base64URLStringToBuffer(base64URLString) {
32
32
  const base64 = base64URLString.replace(/-/g, "+").replace(/_/g, "/");
33
33
  const padLength = (4 - base64.length % 4) % 4;
@@ -41,7 +41,7 @@ function base64URLStringToBuffer(base64URLString) {
41
41
  return buffer;
42
42
  }
43
43
 
44
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js
44
+ // node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js
45
45
  function browserSupportsWebAuthn() {
46
46
  return _browserSupportsWebAuthnInternals.stubThis(globalThis?.PublicKeyCredential !== undefined && typeof globalThis.PublicKeyCredential === "function");
47
47
  }
@@ -52,7 +52,7 @@ var init_browserSupportsWebAuthn = __esm(() => {
52
52
  };
53
53
  });
54
54
 
55
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js
55
+ // node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js
56
56
  function toPublicKeyCredentialDescriptor(descriptor) {
57
57
  const { id } = descriptor;
58
58
  return {
@@ -63,12 +63,12 @@ function toPublicKeyCredentialDescriptor(descriptor) {
63
63
  }
64
64
  var init_toPublicKeyCredentialDescriptor = () => {};
65
65
 
66
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js
66
+ // node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js
67
67
  function isValidDomain(hostname) {
68
68
  return hostname === "localhost" || /^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(hostname);
69
69
  }
70
70
 
71
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js
71
+ // node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js
72
72
  var WebAuthnError;
73
73
  var init_webAuthnError = __esm(() => {
74
74
  WebAuthnError = class WebAuthnError extends Error {
@@ -86,7 +86,7 @@ var init_webAuthnError = __esm(() => {
86
86
  };
87
87
  });
88
88
 
89
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js
89
+ // node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js
90
90
  function identifyRegistrationError({ error, options }) {
91
91
  const { publicKey } = options;
92
92
  if (!publicKey) {
@@ -182,7 +182,7 @@ var init_identifyRegistrationError = __esm(() => {
182
182
  init_webAuthnError();
183
183
  });
184
184
 
185
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js
185
+ // node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js
186
186
  class BaseWebAuthnAbortService {
187
187
  constructor() {
188
188
  Object.defineProperty(this, "controller", {
@@ -216,7 +216,7 @@ var init_webAuthnAbortService = __esm(() => {
216
216
  WebAuthnAbortService = new BaseWebAuthnAbortService;
217
217
  });
218
218
 
219
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js
219
+ // node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js
220
220
  function toAuthenticatorAttachment(attachment) {
221
221
  if (!attachment) {
222
222
  return;
@@ -231,7 +231,7 @@ var init_toAuthenticatorAttachment = __esm(() => {
231
231
  attachments = ["cross-platform", "platform"];
232
232
  });
233
233
 
234
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js
234
+ // node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js
235
235
  async function startRegistration(options) {
236
236
  if (!options.optionsJSON && options.challenge) {
237
237
  console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.");
@@ -325,7 +325,7 @@ var init_startRegistration = __esm(() => {
325
325
  init_toAuthenticatorAttachment();
326
326
  });
327
327
 
328
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js
328
+ // node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js
329
329
  function browserSupportsWebAuthnAutofill() {
330
330
  if (!browserSupportsWebAuthn()) {
331
331
  return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));
@@ -344,7 +344,7 @@ var init_browserSupportsWebAuthnAutofill = __esm(() => {
344
344
  };
345
345
  });
346
346
 
347
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js
347
+ // node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js
348
348
  function identifyAuthenticationError({ error, options }) {
349
349
  const { publicKey } = options;
350
350
  if (!publicKey) {
@@ -392,7 +392,7 @@ var init_identifyAuthenticationError = __esm(() => {
392
392
  init_webAuthnError();
393
393
  });
394
394
 
395
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js
395
+ // node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js
396
396
  async function startAuthentication(options) {
397
397
  if (!options.optionsJSON && options.challenge) {
398
398
  console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.");
@@ -462,7 +462,7 @@ var init_startAuthentication = __esm(() => {
462
462
  init_toAuthenticatorAttachment();
463
463
  });
464
464
 
465
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js
465
+ // node_modules/@simplewebauthn/browser/esm/helpers/platformAuthenticatorIsAvailable.js
466
466
  function platformAuthenticatorIsAvailable() {
467
467
  if (!browserSupportsWebAuthn()) {
468
468
  return new Promise((resolve) => resolve(false));
@@ -473,10 +473,10 @@ var init_platformAuthenticatorIsAvailable = __esm(() => {
473
473
  init_browserSupportsWebAuthn();
474
474
  });
475
475
 
476
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/types/index.js
476
+ // node_modules/@simplewebauthn/browser/esm/types/index.js
477
477
  var init_types = () => {};
478
478
 
479
- // ../../home/alexkahn/abs/auth/node_modules/@simplewebauthn/browser/esm/index.js
479
+ // node_modules/@simplewebauthn/browser/esm/index.js
480
480
  var exports_esm = {};
481
481
  __export(exports_esm, {
482
482
  startRegistration: () => startRegistration,
@@ -878,5 +878,5 @@ export {
878
878
  SignIn
879
879
  };
880
880
 
881
- //# debugId=6CDEA86B65519ADF64756E2164756E21
881
+ //# debugId=4DC9FD53D6285B0364756E2164756E21
882
882
  //# sourceMappingURL=react.js.map