@authowl/core 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- export { A as AuthConfig, D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, R as ResolvedAuthConfig, c as createMembershipHas, d as decodePublishableKey, m as membershipHas, a as membershipHasPermission, b as membershipHasTeam, r as resolveConfig, s as sessionCookieName } from './organization-membership-B3m6PbmO.js';
2
- import { P as PhoneOtpChallengeData, A as AkedlyShieldStartProof } from './client-jpaYv3wu.js';
3
- export { a as AUTH_CHALLENGE_HEADER, b as AcceptOrganizationInvitationData, c as AccountClient, d as AccountSession, e as AccountStatusData, f as ActionFetchOptions, g as AddPasskeyOptions, h as AuthActionResult, i as AuthClientError, j as AuthErrorContext, k as AuthOwlClient, l as AuthOwlErrorCode, m as AuthPasskey, n as AuthRequestContext, o as AuthResponseContext, p as AuthSession, q as AuthUser, C as ChangeEmailOptions, r as ChangePasswordData, s as ChangePasswordOptions, t as ConsentAcceptResult, u as ConsentStatus, v as CreateOrganizationOptions, D as DeleteAccountData, w as DeleteAccountOptions, x as DeleteOrganizationOptions, y as DeletePasskeyData, z as DeletePasskeyOptions, B as DisableTwoFactorOptions, E as EmailAuthData, F as EmailOtpAuthData, G as EmailOtpSignInOptions, H as EmailOtpType, I as EmailSignInOptions, J as EmailSignUpData, K as EmailSignUpOptions, L as EnableTwoFactorOptions, M as EnvironmentType, N as GenerateBackupCodesOptions, O as GetOrganizationInvitationOptions, Q as GetOrganizationOptions, R as GetToken, S as GetTokenOptions, T as InviteOrganizationMemberOptions, U as JsonObject, V as JsonPrimitive, W as JsonValue, X as LeaveOrganizationOptions, Y as LinkSocialData, Z as LinkSocialOptions, _ as ListOrganizationInvitationsOptions, $ as ListOrganizationMembersOptions, a0 as ListOrganizationRolesOptions, a1 as ListOrganizationTeamsOptions, a2 as MagicLinkData, a3 as MagicLinkSignInOptions, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, a7 as OrganizationFilterOperator, a8 as OrganizationInvitation, a9 as OrganizationInvitationActionOptions, aa as OrganizationInvitationDetails, ab as OrganizationInvitationStatus, ac as OrganizationMember, ad as OrganizationMemberUser, ae as OrganizationMemberWithUser, af as OrganizationMembersData, ag as OrganizationRoleSummary, ah as OrganizationSelector, ai as OrganizationTeam, aj as OrganizationUserInvitation, ak as PasskeyAuthData, al as PasskeySignInOptions, am as PasswordResetData, an as PhoneAuthUser, ao as PhoneOtpStartData, ap as PhoneOtpStartOptions, aq as PhoneOtpVerifyData, ar as PhoneOtpVerifyOptions, as as ProjectCapabilities, at as PublicConfig, au as RejectOrganizationInvitationData, av as RemoveOrganizationMemberData, aw as RemoveOrganizationMemberOptions, ax as RequestPasswordResetOptions, ay as ResetPasswordOptions, az as RevokeSessionOptions, aA as SendOtpData, aB as SendTwoFactorOtpData, aC as SendTwoFactorOtpOptions, aD as SendVerificationOtpOptions, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aH as SetActiveTeamOptions, aI as SignOutData, aJ as SocialAccount, aK as SocialAuthData, aL as SocialIdTokenOptions, aM as SocialSignInOptions, aN as TokenClient, aO as TwoFactorBackupCodesData, aP as TwoFactorEnableData, aQ as TwoFactorRedirectData, aR as TwoFactorStatusData, aS as TwoFactorVerifyData, aT as UnlinkSocialOptions, aU as UpdateOrganizationMemberRoleOptions, aV as UpdateOrganizationOptions, aW as UpdatePasskeyData, aX as UpdatePasskeyOptions, aY as UpdateProfileOptions, aZ as UpdateUnsafeMetadataOptions, a_ as UserMetadata, a$ as UsernameSignInOptions, b0 as VerifyBackupCodeOptions, b1 as VerifyEmailOtpData, b2 as VerifyEmailOtpOptions, b3 as VerifyTotpOptions, b4 as VerifyTwoFactorOtpOptions, b5 as WaitlistJoinData, b6 as WaitlistJoinOptions, b7 as acceptConsent, b8 as createAuthOwlClient, b9 as createTokenClient, ba as getConsentStatus, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client-jpaYv3wu.js';
4
- export { T as TransportError, a as TransportErrorKind } from './transport-DcWDTRd4.js';
1
+ export { A as AuthConfig, D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, R as ResolvedAuthConfig, T as TransportError, a as TransportErrorKind, c as createMembershipHas, d as decodePublishableKey, m as membershipHas, b as membershipHasPermission, e as membershipHasTeam, r as resolveConfig, s as sessionCookieName } from './organization-membership--eTrgk_L.js';
2
+ import { P as PhoneOtpChallengeData, A as AkedlyShieldStartProof } from './client-DwK6spWA.js';
3
+ export { a as AUTH_CHALLENGE_HEADER, b as AcceptOrganizationInvitationData, c as AccountClient, d as AccountSession, e as AccountStatusData, f as ActionFetchOptions, g as AddPasskeyOptions, h as AuthActionResult, i as AuthClientError, j as AuthErrorContext, k as AuthOwlClient, l as AuthOwlErrorCode, m as AuthPasskey, n as AuthRequestContext, o as AuthResponseContext, p as AuthSession, q as AuthUser, C as ChangeEmailOptions, r as ChangePasswordData, s as ChangePasswordOptions, t as ConsentAcceptResult, u as ConsentStatus, v as CreateOrganizationOptions, D as DeleteAccountData, w as DeleteAccountOptions, x as DeleteOrganizationOptions, y as DeletePasskeyData, z as DeletePasskeyOptions, B as DisableTwoFactorOptions, E as EmailAuthData, F as EmailOtpAuthData, G as EmailOtpSignInOptions, H as EmailOtpType, I as EmailSignInOptions, J as EmailSignUpData, K as EmailSignUpOptions, L as EnableTwoFactorOptions, M as EnvironmentType, N as GenerateBackupCodesOptions, O as GetOrganizationInvitationOptions, Q as GetOrganizationOptions, R as GetToken, S as GetTokenOptions, T as InviteOrganizationMemberOptions, U as JsonObject, V as JsonPrimitive, W as JsonValue, X as LeaveOrganizationOptions, Y as LinkSocialData, Z as LinkSocialOptions, _ as ListOrganizationInvitationsOptions, $ as ListOrganizationMembersOptions, a0 as ListOrganizationRolesOptions, a1 as ListOrganizationTeamsOptions, a2 as MagicLinkData, a3 as MagicLinkSignInOptions, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, a7 as OrganizationFilterOperator, a8 as OrganizationInvitation, a9 as OrganizationInvitationActionOptions, aa as OrganizationInvitationDetails, ab as OrganizationInvitationStatus, ac as OrganizationMember, ad as OrganizationMemberUser, ae as OrganizationMemberWithUser, af as OrganizationMembersData, ag as OrganizationRoleSummary, ah as OrganizationSelector, ai as OrganizationTeam, aj as OrganizationUserInvitation, ak as PasskeyAuthData, al as PasskeySignInOptions, am as PasswordResetData, an as PhoneAuthUser, ao as PhoneOtpStartData, ap as PhoneOtpStartOptions, aq as PhoneOtpVerifyData, ar as PhoneOtpVerifyOptions, as as ProjectCapabilities, at as PublicConfig, au as RejectOrganizationInvitationData, av as RemoveOrganizationMemberData, aw as RemoveOrganizationMemberOptions, ax as RequestPasswordResetOptions, ay as ResetPasswordOptions, az as RevokeSessionOptions, aA as SendOtpData, aB as SendTwoFactorOtpData, aC as SendTwoFactorOtpOptions, aD as SendVerificationOtpOptions, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aH as SetActiveTeamOptions, aI as SignOutData, aJ as SocialAccount, aK as SocialAuthData, aL as SocialIdTokenOptions, aM as SocialSignInOptions, aN as TokenClient, aO as TwoFactorBackupCodesData, aP as TwoFactorEnableData, aQ as TwoFactorRedirectData, aR as TwoFactorStatusData, aS as TwoFactorVerifyData, aT as UnlinkSocialOptions, aU as UpdateOrganizationMemberRoleOptions, aV as UpdateOrganizationOptions, aW as UpdatePasskeyData, aX as UpdatePasskeyOptions, aY as UpdateProfileOptions, aZ as UpdateUnsafeMetadataOptions, a_ as UserMetadata, a$ as UsernameSignInOptions, b0 as VerifyBackupCodeOptions, b1 as VerifyEmailOtpData, b2 as VerifyEmailOtpOptions, b3 as VerifyTotpOptions, b4 as VerifyTwoFactorOtpOptions, b5 as WaitlistJoinData, b6 as WaitlistJoinOptions, b7 as acceptConsent, b8 as createAuthOwlClient, b9 as createTokenClient, ba as getConsentStatus, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client-DwK6spWA.js';
5
4
  export { L as LOCALES, a as Locale, d as directionFor, i as isLocale } from './index-hIdXOzRp.js';
6
5
 
7
6
  /**
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';import {i,j as j$1,e,g as g$1,c as c$1}from'./chunk-MX7KKUAW.js';export{b as AUTH_CHALLENGE_HEADER,h as AuthOwlHttpError,d as createIdempotencyKey,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-MX7KKUAW.js';import {h,j as j$2,i as i$1}from'./chunk-KPXCQZUX.js';export{f as TransportError,v as createMembershipHas,a as decodePublishableKey,u as membershipHas,s as membershipHasPermission,t as membershipHasTeam,e as resolveConfig,b as sessionCookieName}from'./chunk-KPXCQZUX.js';import'./chunk-T5SH3ZZP.js';function u(e){let n=new Uint8Array(e),t="";for(let o of n)t+=String.fromCharCode(o);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function g(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),t=(4-n.length%4)%4,i=n.padEnd(n.length+t,"="),o=atob(i),s=new ArrayBuffer(o.length),a=new Uint8Array(s);for(let l=0;l<o.length;l++)a[l]=o.charCodeAt(l);return s}function y(){return be.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var be={stubThis:e=>e};function C(e){let{id:n}=e;return {...e,id:g(n),transports:e.transports}}function T(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var c=class extends Error{constructor({message:n,code:t,cause:i,name:o}){super(n,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=t;}};function W({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===true)return new c({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(n.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new c({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return t.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new c({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new c({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(T(i)){if(t.rp.id!==i)return new c({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new c({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var I=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t);}let n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){let n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0;}}},k=new I;var Re=["cross-platform","platform"];function P(e){if(e&&!(Re.indexOf(e)<0))return e}async function j(e){!e.optionsJSON&&e.challenge&&(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."),e={optionsJSON:e});let{optionsJSON:n,useAutoRegister:t=false}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let i={...n,challenge:g(n.challenge),user:{...n.user,id:g(n.user.id)},excludeCredentials:n.excludeCredentials?.map(C)},o={};t&&(o.mediation="conditional"),o.publicKey=i,o.signal=k.createNewAbortSignal();let s;try{s=await navigator.credentials.create(o);}catch(p){throw W({error:p,options:o})}if(!s)throw new Error("Registration was not completed");let{id:a,rawId:l,response:r,type:O}=s,d;typeof r.getTransports=="function"&&(d=r.getTransports());let h;if(typeof r.getPublicKeyAlgorithm=="function")try{h=r.getPublicKeyAlgorithm();}catch(p){U("getPublicKeyAlgorithm()",p);}let f;if(typeof r.getPublicKey=="function")try{let p=r.getPublicKey();p!==null&&(f=u(p));}catch(p){U("getPublicKey()",p);}let m;if(typeof r.getAuthenticatorData=="function")try{m=u(r.getAuthenticatorData());}catch(p){U("getAuthenticatorData()",p);}return {id:a,rawId:u(l),response:{attestationObject:u(r.attestationObject),clientDataJSON:u(r.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:f,authenticatorData:m},type:O,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:P(s.authenticatorAttachment)}}function U(e,n){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
- `,n);}function $(){if(!y())return v.stubThis(new Promise(n=>n(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?v.stubThis(new Promise(n=>n(false))):v.stubThis(e.isConditionalMediationAvailable())}var v={stubThis:e=>e};function Y({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(T(i)){if(t.rpId!==i)return new c({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Q(e){!e.optionsJSON&&e.challenge&&(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."),e={optionsJSON:e});let{optionsJSON:n,useBrowserAutofill:t=false,verifyBrowserAutofillInput:i=true}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let o;n.allowCredentials?.length!==0&&(o=n.allowCredentials?.map(C));let s={...n,challenge:g(n.challenge),allowCredentials:o},a={};if(t){if(!await $())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&i)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');a.mediation="conditional",s.allowCredentials=[];}a.publicKey=s,a.signal=k.createNewAbortSignal();let l;try{l=await navigator.credentials.get(a);}catch(m){throw Y({error:m,options:a})}if(!l)throw new Error("Authentication was not completed");let{id:r,rawId:O,response:d,type:h}=l,f;return d.userHandle&&(f=u(d.userHandle)),{id:r,rawId:u(O),response:{authenticatorData:u(d.authenticatorData),clientDataJSON:u(d.clientDataJSON),signature:u(d.signature),userHandle:f},type:h,clientExtensionResults:l.getClientExtensionResults(),authenticatorAttachment:P(l.authenticatorAttachment)}}var Z={authenticate:e=>Q(e),register:e=>j(e),errorCode:e=>e instanceof c?e.code:void 0};function ee(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function _(e){let n=await i(e,ee(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:we});return n.response.status===401?{required:false}:j$1(n,"consent status")}async function F(e,n){if(!Number.isSafeInteger(n)||n<1)throw new TypeError("Consent version must be a positive integer.");return j$1(await i(e,ee(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:n})},maxResponseBytes:64*1024,decode:Se}),"consent accept")}function we(e){let n=h(e),t=j$2(n.required),i=Ee(n.needsConsent),o=te(n.version),s=X(n.termsUrl),a=X(n.privacyUrl);return {required:t,...i===void 0?{}:{needsConsent:i},...o===void 0?{}:{version:o},...s===void 0?{}:{termsUrl:s},...a===void 0?{}:{privacyUrl:a}}}function Se(e){let n=h(e),t=te(n.version);return {ok:j$2(n.ok),...t===void 0?{}:{version:t}}}function Ee(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function te(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function X(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var Ce=30;function Te(e){return typeof e?.exp=="number"?e.exp:null}function ke(e){let n=e.split(".")[1];if(!n)return null;try{let t=n.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(t));return typeof i=="object"&&i!==null?i:null}catch{return null}}function N(e){let n=new Map;async function t(s={}){let a=s.template===void 0?null:s.template.trim().toLowerCase();if(a==="")throw new TypeError("Template missing");let l=a??"",r=n.get(l);r||(r={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},n.set(l,r));let O=s.forceRefresh===true;if(!O){let p=r.activeKey?r.cachedByKey.get(r.activeKey):null;if(p&&p.exp-Date.now()/1e3>Ce)return p.token;if(r.inflight)return r.inflight}let d=++r.sequence,h=()=>n.get(l)===r&&r.sequence===d,f=(async()=>{let p=a?`${e.projectBaseURL}/token/${encodeURIComponent(a)}`:`${e.projectBaseURL}/token`,K=await i(e,p,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:E=>Pe(E,a!==null)});if(K.response.status===401)return h()&&i$1(),null;let z=j$1(K,"token"),ne=z.policyVersion,x=z.token,b=ke(x),M=Te(b);if(h())if(M!==null){let E=typeof b?.sub=="string"?b.sub:null,oe=typeof b?.org_id=="string"?b.org_id:null;if(!a||E){let B=JSON.stringify([e.projectBaseURL,E,oe,a,ne]);r.cachedByKey.clear(),r.cachedByKey.set(B,{token:x,exp:M}),r.activeKey=B;}else o(r);}else o(r);return x})();if(O)return f;let m=f.finally(()=>{r.inflight===m&&(r.inflight=null);});return r.inflight=m,m}function i$1(){n.clear();}function o(s){s.cachedByKey.clear(),s.activeKey=null;}return {getToken:t,clear:i$1}}function Pe(e,n){let t=h(e),i=i$1(t.token);if(i.length===0||i.length>32*1024)throw new TypeError("Invalid token response.");if(!n)return {token:i,policyVersion:0};let o=h(t.template);if(!Number.isSafeInteger(o.policyVersion)||o.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i,policyVersion:o.policyVersion}}function xe(e$1){let n=N(e$1),t=e(e$1,n.clear,(a,l)=>g$1(a,l,Z)),i=c$1(e$1,`${new URL(e$1.apiUrl).origin}/api/projects/${e$1.decoded.projectId}`),o=a=>(...l)=>(n.clear(),a(...l)),s={getConsentStatus:()=>_(e$1),acceptConsent:a=>F(e$1,a),getToken:n.getToken,waitlist:{join:(a,l)=>i.request("/waitlist",{method:"POST",body:a,fetchOptions:l,credentials:"omit"})},account:{...t.account,updateUnsafeMetadata:o(t.account.updateUnsafeMetadata),updateProfile:o(t.account.updateProfile),changeEmail:o(t.account.changeEmail),changePassword:o(t.account.changePassword),revokeSession:o(t.account.revokeSession),delete:o(t.account.delete)},signIn:{email:o(t.signIn.email),username:o(t.signIn.username),social:o(t.signIn.social),sso:t.signIn.sso,magicLink:t.signIn.magicLink,emailOtp:o(t.signIn.emailOtp),passkey:o(t.signIn.passkey)},signUp:{email:o(t.signUp.email)},emailOtp:{...t.emailOtp,verifyEmail:o(t.emailOtp.verifyEmail)},twoFactor:{enable:t.twoFactor.enable,disable:o(t.twoFactor.disable),verifyTotp:o(t.twoFactor.verifyTotp),verifyBackupCode:o(t.twoFactor.verifyBackupCode),sendOtp:t.twoFactor.sendOtp,verifyOtp:o(t.twoFactor.verifyOtp),generateBackupCodes:t.twoFactor.generateBackupCodes},phoneOtp:{prepare:t.phoneOtp.prepare,start:t.phoneOtp.start,verify:o(t.phoneOtp.verify)},signOut:o(t.signOut)};return {...t,...s}}async function De(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let n=await Ie(),t=e.challengeRequired?await n.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await n.getTurnstileToken(Ue(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...t?{challengeToken:e.challengeToken,nonce:t.nonce}:{},...i?{turnstileToken:i}:{}}}async function Ie(){return import('@akedly/shield')}function Ue(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}var S=class extends Error{constructor(t,i){super(t);this.cause=i;this.name="AuthOwlError";}cause},L=class extends S{constructor(t,i){super(`Rate limited. Retry after ${t}s.`,i);this.retryAfterSeconds=t;this.name="RateLimitedError";}retryAfterSeconds},V=class extends S{constructor(n="invalid publishable key",t){super(n,t),this.name="InvalidKeyError";}};
1
+ export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';import {c as c$1,d,h,j as j$1,f}from'./chunk-4VJL4WGF.js';export{e as AUTH_CHALLENGE_HEADER,b as AuthOwlHttpError,g as createIdempotencyKey,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-4VJL4WGF.js';import {i,k as k$1,j as j$2}from'./chunk-RRP2XNYV.js';export{g as TransportError,w as createMembershipHas,a as decodePublishableKey,v as membershipHas,t as membershipHasPermission,u as membershipHasTeam,f as resolveConfig,b as sessionCookieName}from'./chunk-RRP2XNYV.js';import'./chunk-T5SH3ZZP.js';function u(e){let n=new Uint8Array(e),t="";for(let o of n)t+=String.fromCharCode(o);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function g(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),t=(4-n.length%4)%4,i=n.padEnd(n.length+t,"="),o=atob(i),s=new ArrayBuffer(o.length),a=new Uint8Array(s);for(let l=0;l<o.length;l++)a[l]=o.charCodeAt(l);return s}function y(){return be.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var be={stubThis:e=>e};function C(e){let{id:n}=e;return {...e,id:g(n),transports:e.transports}}function T(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var c=class extends Error{constructor({message:n,code:t,cause:i,name:o}){super(n,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=t;}};function W({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===true)return new c({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(n.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new c({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return t.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new c({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new c({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(T(i)){if(t.rp.id!==i)return new c({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new c({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var I=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t);}let n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){let n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0;}}},k=new I;var Re=["cross-platform","platform"];function P(e){if(e&&!(Re.indexOf(e)<0))return e}async function j(e){!e.optionsJSON&&e.challenge&&(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."),e={optionsJSON:e});let{optionsJSON:n,useAutoRegister:t=false}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let i={...n,challenge:g(n.challenge),user:{...n.user,id:g(n.user.id)},excludeCredentials:n.excludeCredentials?.map(C)},o={};t&&(o.mediation="conditional"),o.publicKey=i,o.signal=k.createNewAbortSignal();let s;try{s=await navigator.credentials.create(o);}catch(p){throw W({error:p,options:o})}if(!s)throw new Error("Registration was not completed");let{id:a,rawId:l,response:r,type:O}=s,d;typeof r.getTransports=="function"&&(d=r.getTransports());let h;if(typeof r.getPublicKeyAlgorithm=="function")try{h=r.getPublicKeyAlgorithm();}catch(p){U("getPublicKeyAlgorithm()",p);}let f;if(typeof r.getPublicKey=="function")try{let p=r.getPublicKey();p!==null&&(f=u(p));}catch(p){U("getPublicKey()",p);}let m;if(typeof r.getAuthenticatorData=="function")try{m=u(r.getAuthenticatorData());}catch(p){U("getAuthenticatorData()",p);}return {id:a,rawId:u(l),response:{attestationObject:u(r.attestationObject),clientDataJSON:u(r.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:f,authenticatorData:m},type:O,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:P(s.authenticatorAttachment)}}function U(e,n){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
+ `,n);}function $(){if(!y())return v.stubThis(new Promise(n=>n(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?v.stubThis(new Promise(n=>n(false))):v.stubThis(e.isConditionalMediationAvailable())}var v={stubThis:e=>e};function Y({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(T(i)){if(t.rpId!==i)return new c({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Q(e){!e.optionsJSON&&e.challenge&&(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."),e={optionsJSON:e});let{optionsJSON:n,useBrowserAutofill:t=false,verifyBrowserAutofillInput:i=true}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let o;n.allowCredentials?.length!==0&&(o=n.allowCredentials?.map(C));let s={...n,challenge:g(n.challenge),allowCredentials:o},a={};if(t){if(!await $())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&i)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');a.mediation="conditional",s.allowCredentials=[];}a.publicKey=s,a.signal=k.createNewAbortSignal();let l;try{l=await navigator.credentials.get(a);}catch(m){throw Y({error:m,options:a})}if(!l)throw new Error("Authentication was not completed");let{id:r,rawId:O,response:d,type:h}=l,f;return d.userHandle&&(f=u(d.userHandle)),{id:r,rawId:u(O),response:{authenticatorData:u(d.authenticatorData),clientDataJSON:u(d.clientDataJSON),signature:u(d.signature),userHandle:f},type:h,clientExtensionResults:l.getClientExtensionResults(),authenticatorAttachment:P(l.authenticatorAttachment)}}var Z={authenticate:e=>Q(e),register:e=>j(e),errorCode:e=>e instanceof c?e.code:void 0};function ee(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function _(e){let n=await c$1(e,ee(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:we});return n.response.status===401?{required:false}:d(n,"consent status")}async function F(e,n){if(!Number.isSafeInteger(n)||n<1)throw new TypeError("Consent version must be a positive integer.");return d(await c$1(e,ee(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:n})},maxResponseBytes:64*1024,decode:Se}),"consent accept")}function we(e){let n=i(e),t=k$1(n.required),i$1=Ee(n.needsConsent),o=te(n.version),s=X(n.termsUrl),a=X(n.privacyUrl);return {required:t,...i$1===void 0?{}:{needsConsent:i$1},...o===void 0?{}:{version:o},...s===void 0?{}:{termsUrl:s},...a===void 0?{}:{privacyUrl:a}}}function Se(e){let n=i(e),t=te(n.version);return {ok:k$1(n.ok),...t===void 0?{}:{version:t}}}function Ee(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function te(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function X(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var Ce=30;function Te(e){return typeof e?.exp=="number"?e.exp:null}function ke(e){let n=e.split(".")[1];if(!n)return null;try{let t=n.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(t));return typeof i=="object"&&i!==null?i:null}catch{return null}}function N(e){let n=new Map;async function t(s={}){let a=s.template===void 0?null:s.template.trim().toLowerCase();if(a==="")throw new TypeError("Template missing");let l=a??"",r=n.get(l);r||(r={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},n.set(l,r));let O=s.forceRefresh===true;if(!O){let p=r.activeKey?r.cachedByKey.get(r.activeKey):null;if(p&&p.exp-Date.now()/1e3>Ce)return p.token;if(r.inflight)return r.inflight}let d$1=++r.sequence,h=()=>n.get(l)===r&&r.sequence===d$1,f=(async()=>{let p=a?`${e.projectBaseURL}/token/${encodeURIComponent(a)}`:`${e.projectBaseURL}/token`,K=await c$1(e,p,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:E=>Pe(E,a!==null)});if(K.response.status===401)return h()&&i(),null;let z=d(K,"token"),ne=z.policyVersion,x=z.token,b=ke(x),M=Te(b);if(h())if(M!==null){let E=typeof b?.sub=="string"?b.sub:null,oe=typeof b?.org_id=="string"?b.org_id:null;if(!a||E){let B=JSON.stringify([e.projectBaseURL,E,oe,a,ne]);r.cachedByKey.clear(),r.cachedByKey.set(B,{token:x,exp:M}),r.activeKey=B;}else o(r);}else o(r);return x})();if(O)return f;let m=f.finally(()=>{r.inflight===m&&(r.inflight=null);});return r.inflight=m,m}function i(){n.clear();}function o(s){s.cachedByKey.clear(),s.activeKey=null;}return {getToken:t,clear:i}}function Pe(e,n){let t=i(e),i$1=j$2(t.token);if(i$1.length===0||i$1.length>32*1024)throw new TypeError("Invalid token response.");if(!n)return {token:i$1,policyVersion:0};let o=i(t.template);if(!Number.isSafeInteger(o.policyVersion)||o.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i$1,policyVersion:o.policyVersion}}function xe(e){let n=N(e),t=h(e,n.clear,(a,l)=>j$1(a,l,Z)),i=f(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),o=a=>(...l)=>(n.clear(),a(...l)),s={getConsentStatus:()=>_(e),acceptConsent:a=>F(e,a),getToken:n.getToken,waitlist:{join:(a,l)=>i.request("/waitlist",{method:"POST",body:a,fetchOptions:l,credentials:"omit"})},account:{...t.account,updateUnsafeMetadata:o(t.account.updateUnsafeMetadata),updateProfile:o(t.account.updateProfile),changeEmail:o(t.account.changeEmail),changePassword:o(t.account.changePassword),revokeSession:o(t.account.revokeSession),delete:o(t.account.delete)},signIn:{email:o(t.signIn.email),username:o(t.signIn.username),social:o(t.signIn.social),sso:t.signIn.sso,magicLink:t.signIn.magicLink,emailOtp:o(t.signIn.emailOtp),passkey:o(t.signIn.passkey)},signUp:{email:o(t.signUp.email)},emailOtp:{...t.emailOtp,verifyEmail:o(t.emailOtp.verifyEmail)},twoFactor:{enable:t.twoFactor.enable,disable:o(t.twoFactor.disable),verifyTotp:o(t.twoFactor.verifyTotp),verifyBackupCode:o(t.twoFactor.verifyBackupCode),sendOtp:t.twoFactor.sendOtp,verifyOtp:o(t.twoFactor.verifyOtp),generateBackupCodes:t.twoFactor.generateBackupCodes},phoneOtp:{prepare:t.phoneOtp.prepare,start:t.phoneOtp.start,verify:o(t.phoneOtp.verify)},signOut:o(t.signOut)};return {...t,...s}}async function De(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let n=await Ie(),t=e.challengeRequired?await n.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await n.getTurnstileToken(Ue(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...t?{challengeToken:e.challengeToken,nonce:t.nonce}:{},...i?{turnstileToken:i}:{}}}async function Ie(){return import('@akedly/shield')}function Ue(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}var S=class extends Error{constructor(t,i){super(t);this.cause=i;this.name="AuthOwlError";}cause},L=class extends S{constructor(t,i){super(`Rate limited. Retry after ${t}s.`,i);this.retryAfterSeconds=t;this.name="RateLimitedError";}retryAfterSeconds},V=class extends S{constructor(n="invalid publishable key",t){super(n,t),this.name="InvalidKeyError";}};
3
3
  export{S as AuthOwlError,V as InvalidKeyError,L as RateLimitedError,F as acceptConsent,xe as createAuthOwlClient,N as createTokenClient,_ as getConsentStatus,De as solvePhoneOtpChallenge};
package/dist/native.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var vn=Object.defineProperty;var Ue=(e,t)=>()=>(e&&(t=e(e=0)),t);var Cn=(e,t)=>{for(var n in t)vn(e,n,{get:t[n],enumerable:true});};function j(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var me=Ue(()=>{});var re={};Cn(re,{beginCrossSiteSignIn:()=>ro,challengeFor:()=>ln,completeCrossSiteSignIn:()=>so,takeHandoffCode:()=>fn});function dn(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ln(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return dn(new Uint8Array(t))}function no(){return dn(crypto.getRandomValues(new Uint8Array(Zi)))}function pn(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${cn}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function io(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===cn)return e.slice(t+1).trim()||null}return null}function oo(){pn("",0);}function un(e){return new URL(e,window.location.href).toString()}async function ro(e,t){let n=t.callbackURL?un(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=no(),o=new URL(`${e.projectBaseURL}/session/start`);if(o.searchParams.set("pk",e.publishableKey),o.searchParams.set("kind",t.kind),t.kind==="social")o.searchParams.set("provider",t.provider),t.scopes?.length&&o.searchParams.set("scopes",t.scopes.join(",")),t.loginHint&&o.searchParams.set("loginHint",t.loginHint),t.requestSignUp!==void 0&&o.searchParams.set("requestSignUp",t.requestSignUp?"1":"0");else for(let r of to){let u=t[r];u&&o.searchParams.set(r,u);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??s);for(let[r,u]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])u&&o.searchParams.set(r,un(u));return o.searchParams.set("challenge",await ln(i)),pn(i,eo),o.toString()}function fn(){if(typeof window>"u")return null;let e=window.location.hash;if(!e.includes(xe))return null;let t=new URLSearchParams(e.replace(/^#/,"")),n=t.get(xe);if(!n)return null;t.delete(xe);let i=t.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${i?`#${i}`:""}`),n}async function so(e){if(!j())return false;let t=fn();if(!t)return false;let n=io();if(oo(),!n)return false;let{error:i}=await e.request("/session/exchange",{method:"POST",body:{code:t,verifier:n}});return i===null}var cn,xe,Zi,eo,to,se=Ue(()=>{me();cn="authowl_handoff_verifier",xe="authowl_code",Zi=32,eo=900,to=["email","providerId","domain","organizationSlug"];});var En=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,Dn=/^sk_/i;function ae(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(Dn.test(e))throw new Error("A secret key was passed where a publishable key was expected. Never embed secret keys in client code.");let t=En.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1],env:t[2],projectId:t[3]}}var Ne=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function ue(e,t){throw new Error(`${e}: ${t}`)}function _e(e,t){let n;try{n=new URL(String(e));}catch{throw new TypeError("Transport URL must be absolute.")}if(n.username||n.password||n.hash)throw new TypeError("Transport URL must not contain credentials or a fragment.");let i=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&Ne.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function Le(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&ue("apiUrl","origin required");let n;try{n=new URL(e);}catch{ue("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!Ne.test(e))&&ue("apiUrl","HTTPS required except exact loopback"),n.origin}function ce(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=ae(e.publishableKey),n=Le(e.apiUrl,{allowHttpLoopback:t.env==="test"}),i=`${n}/api/projects/${t.projectId}/auth`;return {...e,apiUrl:n,decoded:t,projectBaseURL:i}}var zn=1e4,Un=1024*1024,I=class extends Error{kind;requestId;constructor(t,n){super(Vn(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},qe=new WeakSet;function P(e,t){let n=new I(e,t);return qe.add(n),n}async function $({fetchImpl:e,url:t,init:n={},timeoutMs:i=zn,maxResponseBytes:o=Un,allowHttpLoopback:s=false,decode:r}){Fe(i,"timeoutMs"),Fe(o,"maxResponseBytes");let u=_e(t,{allowHttpLoopback:s}),c=n.signal,f=new AbortController,m=null,k,a=new Promise(h=>{k=h;}),d=h=>{m===null&&(m=h,k({type:"abort",kind:h}),f.abort());},g=()=>d("aborted");c?.addEventListener("abort",g,{once:true});let R=setTimeout(()=>d("timeout"),i);c?.aborted&&g();try{if(m!==null)throw P(m);let h;try{h=await Promise.race([e(u.toString(),{...n,redirect:"error",signal:f.signal}).then(xn=>({type:"response",response:xn})),a]);}catch{throw P(m??"network")}if(h.type==="abort")throw P(h.kind);if(!Nn(h.response))throw P("invalid_response");let E=h.response,V=Hn(E.headers),Tn=await _n(E,o,a,()=>m,V),De=Fn(E,Tn,V),ze;try{ze=E.ok&&r?r(De,Object.freeze({status:E.status})):De;}catch{throw P("invalid_response",V)}return {response:E,data:ze,...V===void 0?{}:{requestId:V}}}catch(h){throw h instanceof I&&qe.has(h)?h:P(m??"network")}finally{clearTimeout(R),c?.removeEventListener("abort",g);}}function Nn(e){if(!e||typeof e!="object")return false;let t=e;return Number.isInteger(t.status)&&t.status>=0&&t.status<=599&&typeof t.statusText=="string"&&typeof t.ok=="boolean"&&typeof t.headers?.get=="function"&&(t.body===null||typeof t.body=="object"&&typeof t.body?.getReader=="function"&&typeof t.body.cancel=="function")}async function _n(e,t,n,i,o){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw Me(e.body),P("invalid_response",o);if(Number(s)>t)throw Me(e.body),P("response_too_large",o)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw P("network",o)}let u=[],c=0,f=null;try{for(;;){let a;try{a=await Promise.race([r.read(),n]);}catch{f=P(i()??"network",o);break}if(Ln(a)){f=P(a.kind,o);break}let{done:d,value:g}=a;if(d)break;if(g.byteLength!==0){if(c+=g.byteLength,c>t){f=P("response_too_large",o);break}u.push(g);}}}finally{f&&Mn(r);try{r.releaseLock();}catch{}}if(f)throw f;let m=new Uint8Array(c),k=0;for(let a of u)m.set(a,k),k+=a.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(m)}catch{throw P("invalid_response",o)}}function Ln(e){return "type"in e&&e.type==="abort"}function Me(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Mn(e){try{e.cancel().catch(()=>{});}catch{}}function Fn(e,t,n){if(e.status===204||e.status===205)return null;let i=qn(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw P("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw P("invalid_response",n)}}function qn(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Hn(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function Fe(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Vn(e){switch(e){case "aborted":return "The request was cancelled.";case "timeout":return "The request timed out.";case "response_too_large":return "The response exceeded the allowed size.";case "invalid_response":return "The service returned an invalid response.";case "network":return "The network request could not be completed."}}var Kn="x-authowl-turnstile-token",jn=1e4,Bn=32,Jn=2e4;function L(e,t){return {post:(n,i,o,s)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:s}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function Ke(e,t=e.projectBaseURL){return {async request(n,i={}){let o=Gn(t,n,i.query),s=i.method??(i.body===void 0?"GET":"POST"),r=new Headers(i.fetchOptions?.headers);r.set("x-publishable-key",e.publishableKey),i.fetchOptions?.authChallengeToken&&r.set(Kn,i.fetchOptions.authChallengeToken),i.body!==void 0&&r.set("content-type","application/json");let u={method:s,headers:r,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},c=Object.freeze({method:s,path:n});await i.fetchOptions?.onRequest?.(c);let f=Wn(s,i.fetchOptions),m;try{m=await $n(e,o,{...u,signal:i.fetchOptions?.signal},f);}catch(h){let E=Ve(h);return await i.fetchOptions?.onError?.(de(c,E,Qn(h))),{data:null,error:E}}let{response:k,requestId:a}=m,d=ti(n,m.data),g=d;if(k.ok)try{g=pe(d),i.decode&&(g=i.decode(g));}catch{let h=Ve(new I("invalid_response",a));return await i.fetchOptions?.onError?.(de(c,h,"invalid_response")),{data:null,error:h}}let R=Object.freeze({...c,status:k.status,...a===void 0?{}:{requestId:a}});if(await i.fetchOptions?.onResponse?.(R),!k.ok){let h=Xn(k,d,a);return await i.fetchOptions?.onError?.(de(c,h,"api")),{data:null,error:h}}return await i.fetchOptions?.onSuccess?.(R),{data:g,error:null}}}}async function $n(e,t,n,i){let o=Date.now()+jn;for(let s=0;s<i;s+=1){let r=o-Date.now();if(r<=0)throw new I("timeout");try{let u=await $({fetchImpl:e.fetch??fetch,url:t,init:n,timeoutMs:Math.max(1,Math.ceil(r)),allowHttpLoopback:e.decoded.env==="test"});if(u.response.status<500||s===i-1)return u}catch(u){if(s===i-1||!(u instanceof I)||u.kind!=="network")throw u}await Zn(50*2**s,n.signal,o);}throw new I("network")}function Wn(e,t){if(e!=="GET"||t?.authChallengeToken)return 1;let n=t?.retry;return typeof n!="number"||!Number.isFinite(n)?1:Math.min(Math.max(Math.trunc(n),0),3)+1}function Gn(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,s]of Object.entries(n??{}))s!==void 0&&i.searchParams.set(o,String(s));return i.toString()}function Xn(e,t,n){let i=K(t)?t:{},o=Yn(i,e.headers);return {status:e.status,statusText:e.statusText,code:typeof i.code=="string"?i.code:void 0,...n===void 0?{}:{requestId:n},...typeof i.current_version=="number"?{currentVersion:i.current_version}:{},...o!==void 0?{retryAfterSeconds:o}:{},message:typeof i.message=="string"?i.message:typeof i.error=="string"?i.error:typeof i.detail=="string"?i.detail:e.statusText||"Request failed"}}function Yn(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??He(t.get("retry-after"))??He(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function He(e){if(!e)return;let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isFinite(n)?n:void 0}function Ve(e){let t=e instanceof I?e.kind:"network";return {status:0,...{aborted:{statusText:"ABORTED",code:"REQUEST_ABORTED",message:"The request was cancelled."},timeout:{statusText:"TIMEOUT",code:"REQUEST_TIMEOUT",message:"The request timed out."},response_too_large:{statusText:"INVALID_RESPONSE",code:"RESPONSE_TOO_LARGE",message:"The service response was too large."},invalid_response:{statusText:"INVALID_RESPONSE",code:"INVALID_RESPONSE",message:"The service returned an invalid response."},network:{statusText:"FETCH_ERROR",code:"FETCH_ERROR",message:"Network request failed."}}[t],...e instanceof I&&e.requestId?{requestId:e.requestId}:{}}}function de(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function Qn(e){return e instanceof I?e.kind:"network"}function Zn(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new I("aborted"));return}let s=n-Date.now();if(s<=0){o(new I("timeout"));return}let r=Math.min(e,s),u=()=>{clearTimeout(c),o(new I("aborted"));},c=setTimeout(()=>{t?.removeEventListener("abort",u),Date.now()>=n?o(new I("timeout")):i();},r);t?.addEventListener("abort",u,{once:true}),t?.aborted&&u();})}function pe(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Bn||i.nodes>Jn)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let o=new Date(e);return Number.isNaN(o.getTime())?e:o}return Array.isArray(e)?e.map(o=>pe(o,"",n+1,i)):K(e)?Object.fromEntries(Object.entries(e).map(([o,s])=>[o,ei(o)?s:pe(s,o,n+1,i)])):e}function ei(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function ti(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>K(o)?le(o):o);if(!K(t))return t;let i=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?le(t):t;return e==="/sign-up/email"&&!("sessionCreated"in i)&&(i={...i,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&K(i.session)&&(i={...i,session:le(i.session)}),i}function le(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function K(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var ni=new Set(["__proto__","constructor","prototype"]);function p(e){(!e||typeof e!="object"||Array.isArray(e))&&l();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&l(),e}function A(e){return typeof e!="string"&&l(),e}function b(e){return typeof e!="boolean"&&l(),e}function O(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&l(),e}function W(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&l(),[...e]}function w(e,t){let n=e[t];return n==null||typeof n=="string"?n:l()}function je(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:l()}function v(e){let t=p(e),n=t.email;return n!==null&&typeof n!="string"&&l(),{id:A(t.id),email:n,emailVerified:b(t.emailVerified),createdAt:O(t.createdAt),updatedAt:O(t.updatedAt),...x("phoneNumber",w(t,"phoneNumber")),...x("username",w(t,"username")),...x("displayUsername",w(t,"displayUsername")),...x("firstName",w(t,"firstName")),...x("lastName",w(t,"lastName")),...x("name",w(t,"name")),...x("image",w(t,"image")),...x("twoFactorEnabled",je(t,"twoFactorEnabled"))}}function G(e){let t=p(e),n=t.membership;return {id:A(t.id),userId:A(t.userId),expiresAt:O(t.expiresAt),...x("activeOrganizationId",w(t,"activeOrganizationId")),...x("activeTeamId",w(t,"activeTeamId")),...x("membership",n==null?n:ii(n)),...x("pendingMfaEnrollment",je(t,"pendingMfaEnrollment"))}}function l(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function D(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&l(),ge(e,t,n)}function ge(e,t=20,n=1e4){return fe(e,0,{nodes:0},t,n)}function ii(e){let t=p(e);return {role:A(t.role),permissions:W(t.permissions),...t.teams===void 0?{}:{teams:W(t.teams)}}}function fe(e,t,n,i,o){if(n.nodes+=1,(t>i||n.nodes>o)&&l(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||l(),e;if(Array.isArray(e))return e.map(u=>fe(u,t+1,n,i,o));(!e||typeof e!="object")&&l();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&l();let r={};for(let[u,c]of Object.entries(e))ni.has(u)&&l(),r[u]=fe(c,t+1,n,i,o);return r}function x(e,t){return t===void 0?{}:{[e]:t}}function Je(e,t){let n=new Set,i=null,o=null,s=null,r,u=d=>{m(d);};r={data:null,isPending:true,isRefetching:false,error:null,refetch:u};function c(d){r=d;for(let g of n)g();}async function f(d){return e.request("/get-session",{query:d?.query,decode:Be})}async function m(d){s?.abort();let g=new AbortController;s=g,c({...r,isPending:r.data===null&&r.error===null,isRefetching:r.data!==null});let R=await e.request("/get-session",{query:d?.query,fetchOptions:{signal:g.signal},decode:Be});s===g&&(s=null,c({data:R.data,error:R.error,isPending:false,isRefetching:false,refetch:u}));}function k(){if(typeof window>"u"||o)return;let d=()=>{m();},g=()=>{document.visibilityState==="visible"&&m();};window.addEventListener("focus",d),document.addEventListener("visibilitychange",g),typeof BroadcastChannel<"u"&&(i=new BroadcastChannel(`authowl:${t}`),i.addEventListener("message",d)),o=()=>{window.removeEventListener("focus",d),document.removeEventListener("visibilitychange",g),i?.close(),i=null,o=null;};}function a(d){return n.add(d),n.size===1&&(k(),m()),()=>{n.delete(d),n.size===0&&(s?.abort(),s=null,o?.());}}return {store:{subscribe:a,getSnapshot:()=>r},getSession:f,notifyMutation(){i?.postMessage({type:"session-changed"}),n.size>0&&m({query:{disableCookieCache:true}});}}}function Be(e){if(e===null)return null;let t=p(e);return (t.session===void 0||t.user===void 0)&&l(),{session:G(t.session),user:v(t.user)}}me();function $e(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function We(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:Xe})}async function Ge(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:Xe})}function Xe(e){let t=p(e),n=D(t.public_metadata),i=D(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:i,metadataVersion:t.metadata_version}}function Qe(e,t){let{post:n,mutation:i}=L(e,t);return {getMetadata:o=>We(e,o),updateUnsafeMetadata:(o,s)=>Ge(e,o,s),updateProfile:(o,s)=>i(n("/update-user",o,s,B)),changeEmail:(o,s)=>i(n("/change-email",o,s,B)),changePassword:(o,s)=>i(n("/change-password",o,s,oi)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:ri}),revokeSession:({sessionId:o},s)=>i(n("/revoke-session",{sessionId:o},s,B)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,B)),listSocialAccounts:async o=>{let s=await e.request("/list-accounts",{fetchOptions:o,decode:si});if(!s.data)return {data:null,error:s.error};let r=s.data.length>1;return {...s,data:s.data.filter(u=>u.providerId!=="credential").map(u=>({...u,canUnlink:r}))}},linkSocial:(o,s)=>n("/link-social",o,s,ai),unlinkSocial:(o,s)=>i(n("/unlink-account",o,s,B)),delete:(o={},s)=>i(n("/delete-user",o,s,ui))}}function B(e){let t=p(e);return {status:b(t.status)}}function oi(e){let t=p(e);return {user:v(t.user)}}function ri(e){return Array.isArray(e)||l(),e.map(t=>{let n=p(t);return {id:A(n.id),userId:A(n.userId),createdAt:O(n.createdAt),updatedAt:O(n.updatedAt),expiresAt:O(n.expiresAt),...Ye("ipAddress",w(n,"ipAddress")),...Ye("userAgent",w(n,"userAgent"))}})}function si(e){return Array.isArray(e)||l(),e.map(t=>{let n=p(t);return {id:A(n.id),userId:A(n.userId),providerId:A(n.providerId),accountId:A(n.accountId),scopes:W(n.scopes),createdAt:O(n.createdAt),updatedAt:O(n.updatedAt)}})}function ai(e){let t=p(e);return {url:A(t.url),redirect:b(t.redirect)}}function ui(e){let t=p(e);return {success:b(t.success),message:A(t.message)}}function Ye(e,t){return t===void 0?{}:{[e]:t}}function he(e,t){return !e||!t?false:e.permissions.includes(t)}function ci(e,t){return !e||!t?false:e.teams?.includes(t)??false}function ye(e,t){if(!e)return false;let{role:n,permission:i,teamId:o}=t;return !(n===void 0&&i===void 0&&o===void 0||n!==void 0&&e.role!==n||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!ci(e,o))}function di(e){return {has:t=>ye(e,t),hasPermission:t=>he(e,t.permission)}}var li=new Set(["pending","accepted","rejected","canceled"]),Ze=1e4;function M(e,t,n){let i=p(e),o={id:y(i.id),name:y(i.name),slug:y(i.slug),createdAt:O(i.createdAt),...X("logo",w(i,"logo")),...X("metadata",i.metadata===void 0?void 0:ge(i.metadata))};return N(o.id,t),N(o.slug,n),o}function et(e){return _(e,M)}function Ae(e,t,n){return e===null?null:(t===null&&l(),M(e,t,n))}function tt(e,t,n){if(e===null)return null;let i=p(e),o=M(i,t,n);return {...o,members:_(i.members,s=>gt(s,o.id)),invitations:_(i.invitations,s=>z(s,void 0,o.id))}}function nt(e,t){let n=_(e,i=>ft(i));return Y(n.map(i=>i.organizationId),t),n}function it(e,t,n){return e===null?null:(t===null&&l(),ft(e,t,n))}function ot(e,t){let n=p(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&l(),{members:pi(n.members,t),total:n.total}}function z(e,t,n){let i=p(e),o=y(i.status);li.has(o)||l();let s={id:y(i.id),organizationId:y(i.organizationId),email:y(i.email),role:y(i.role),status:o,inviterId:y(i.inviterId),expiresAt:O(i.expiresAt),createdAt:O(i.createdAt)};return N(s.id,t),N(s.organizationId,n),s}function rt(e,t){let n=_(e,i=>z(i));return Y(n.map(i=>i.organizationId),t),n}function st(e){return _(e,t=>{let n=p(t);return {...z(n),organizationName:y(n.organizationName)}})}function at(e,t){let n=p(e);return {...z(n,t),organizationName:y(n.organizationName),organizationSlug:y(n.organizationSlug),inviterEmail:y(n.inviterEmail)}}function ut(e,t){let n=p(e),i=z(n.invitation,t);return {invitation:i,member:F(n.member,void 0,i.organizationId)}}function ct(e,t){let n=p(e);return n.member!==null&&l(),{invitation:n.invitation===null?null:z(n.invitation,t),member:null}}function dt(e,t){return e===null?null:z(e,t)}function lt(e,t,n){let i=p(e);return {member:F(i.member,n,t)}}function F(e,t,n){let i=p(e),o={id:y(i.id),organizationId:y(i.organizationId),userId:y(i.userId),role:y(i.role),createdAt:O(i.createdAt),...i.user===void 0?{}:{user:mt(i.user)}};return N(o.id,t),N(o.organizationId,n),o}function pt(e,t){let n=_(e,i=>{let o=p(i);return {organizationId:y(o.organizationId),data:{role:y(o.role),...X("permission",o.permission===void 0?void 0:fi(o.permission))}}});return Y(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function ft(e,t,n){let i=p(e),o=i.updatedAt,s={id:y(i.id),name:y(i.name),organizationId:y(i.organizationId),createdAt:O(i.createdAt),...o===void 0?{}:{updatedAt:O(o)}};return N(s.id,t),N(s.organizationId,n),s}function gt(e,t){let n=p(e);return {...F(n,void 0,t),user:mt(n.user)}}function pi(e,t){let n=_(e,i=>gt(i));return Y(n.map(i=>i.organizationId),t),n}function fi(e){let t=p(e),n={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>Ze||!Array.isArray(o))&&l(),n[i]=o.map(s=>y(s));return n}function y(e){let t=A(e);return (t.length===0||t.length>Ze)&&l(),t}function N(e,t){t!==void 0&&e!==t&&l();}function Y(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&l();}function mt(e){let t=p(e);return {id:y(t.id),name:y(t.name),email:y(t.email),...X("image",w(t,"image"))}}function _(e,t){return Array.isArray(e)||l(),e.map(n=>t(n))}function X(e,t){return t===void 0?{}:{[e]:t}}function ht(e,t,n=()=>null){let{post:i,mutation:o}=L(e,t),s=(r,u,c,f)=>e.request(r,{query:u,fetchOptions:c,decode:f});return {create:(r,u)=>o(i("/organization/create",r,u,M)),list:r=>s("/organization/list",void 0,r,et),get:(r={},u)=>s("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},u,c=>tt(c,r.organizationId,r.organizationSlug)),setActive:(r,u)=>o(i("/organization/set-active",r,u,c=>Ae(c,r.organizationId,r.organizationSlug))),listTeams:(r={},u)=>s("/organization/list-teams",{organizationId:r.organizationId},u,c=>nt(c,r.organizationId)),setActiveTeam:(r,u)=>o(i("/organization/set-active-team",r,u,c=>it(c,r.teamId))),update:(r,u)=>o(i("/organization/update",r,u,c=>Ae(c,r.organizationId))),delete:(r,u)=>o(i("/organization/delete",r,u,c=>M(c,r.organizationId))),listMembers:(r={},u)=>s("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},u,c=>ot(c,r.organizationId)),inviteMember:(r,u)=>o(i("/organization/invite-member",r,u,c=>z(c,void 0,r.organizationId))),listInvitations:(r={},u)=>s("/organization/list-invitations",{organizationId:r.organizationId},u,c=>rt(c,r.organizationId)),listUserInvitations:r=>s("/organization/list-user-invitations",void 0,r,st),getInvitation:(r,u)=>s("/organization/get-invitation",{id:r.id},u,c=>at(c,r.id)),acceptInvitation:(r,u)=>o(i("/organization/accept-invitation",r,u,c=>ut(c,r.invitationId))),rejectInvitation:(r,u)=>o(i("/organization/reject-invitation",r,u,c=>ct(c,r.invitationId))),cancelInvitation:(r,u)=>o(i("/organization/cancel-invitation",r,u,c=>dt(c,r.invitationId))),removeMember:(r,u)=>o(i("/organization/remove-member",r,u,c=>lt(c,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,u)=>o(i("/organization/update-member-role",r,u,c=>F(c,r.memberId,r.organizationId))),leave:(r,u)=>o(i("/organization/leave",r,u,c=>F(c,void 0,r.organizationId))),listRoles:(r={},u)=>s("/organization/list-roles",{organizationId:r.organizationId},u,c=>pt(c,r.organizationId)),has:r=>ye(n(),r),hasPermission:r=>he(n(),r.permission)}}var yt=4096,gi=4096,mi=100,hi=256,yi=16,Ai=64,bi=12;function we(e){let t=p(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&l(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Nt(t.twoFactorMethods,yi,Ai)}}):(t.twoFactorRedirect!==void 0&&l(),{redirect:b(t.redirect),...Si(t,"url"),user:v(t.user)})}function At(e){let t=p(e);return {user:v(t.user)}}function bt(e){let t=p(e);return {sessionCreated:b(t.sessionCreated),user:v(t.user)}}function wt(e,t){let n=p(e),i=b(n.redirect);n.user===null&&l();let o=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return i?((o||!s)&&l(),{redirect:true,url:be(n.url,t)}):(o===s&&l(),o?{redirect:false,user:v(n.user)}:{redirect:false,url:be(n.url,t)})}function Ot(e,t){let n=p(e);return (n.redirect!==true||n.user!==void 0)&&l(),{redirect:true,url:be(n.url,t)}}function kt(e){return {status:b(p(e).status)}}function Rt(e){return {success:b(p(e).success)}}function St(e){return p(e).status!=="pending"&&l(),{status:"pending"}}function It(e){let t=p(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&l();let n=p(t.turnstile),i=n.siteKey===null?null:A(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:A(t.connectionId),challenge:A(t.challenge),difficulty:wi(t.difficulty),challengeToken:A(t.challengeToken),challengeRequired:b(t.challengeRequired),turnstile:{required:b(n.required),siteKey:i}}}function wi(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>bi)&&l(),Number(e)}function Pt(e){let t=p(e);return (t.status!==true||t.sessionCreated!==true)&&l(),{status:true,sessionCreated:true,user:Oi(t.user)}}function Oe(e){return {status:b(p(e).status)}}function Tt(e){return {status:b(p(e).status)}}function xt(e){let t=p(e);return {status:b(t.status),user:v(t.user)}}function vt(e){return {success:b(p(e).success)}}function Ct(e){let t=p(e);return {totpURI:Ri(t.totpURI),backupCodes:Ut(t.backupCodes)}}function Et(e){return {status:b(p(e).status)}}function Q(e){return p(e).status!==true&&l(),{status:true}}function Dt(e){return {status:b(p(e).status)}}function zt(e){let t=p(e);return t.status!==void 0&&t.status!==true&&l(),{backupCodes:Ut(t.backupCodes)}}function Oi(e){let t=p(e);return {id:q(t.id,512),...Ii(t,"name",1024),phoneNumber:q(t.phoneNumber,64),phoneNumberVerified:b(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:O(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:O(t.updatedAt)}}}function be(e,t){let n=q(e,yt);/[\u0000-\u0020\u007f]/u.test(n)&&l();let i;try{i=new URL(n);}catch{return l()}return (i.username||i.password)&&l(),i.protocol==="https:"||t&&i.protocol==="http:"&&ki(i.hostname)?i.href:l()}function ki(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Ri(e){let t=q(e,gi),n;try{n=new URL(t);}catch{return l()}let i=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||i===null||i.length===0||i.length>512||/\s/u.test(i))&&l(),t}function Ut(e){return Nt(e,mi,hi)}function Nt(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&l();let i=e.map(o=>q(o,n));return i.some(o=>o.trim().length===0)&&l(),new Set(i).size!==i.length&&l(),i}function q(e,t){let n=A(e);return (n.length===0||n.length>t)&&l(),n}function Si(e,t){let n=e[t];return n==null?{}:{[t]:q(n,yt)}}function Ii(e,t,n){let i=w(e,t);return i===void 0?{}:(i!==null&&i.length>n&&l(),{[t]:i})}var _t=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),Z=new Set([9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279]);function ee(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let i=n.codePointAt(0);if(i===void 0||Mt(n,i)||Lt(i)||_t.has(i))return {valid:false}}let t=Pi(e);return ke(t)?{valid:true,value:t}:{valid:false}}function ke(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let s=o.codePointAt(0);if(s===void 0||Mt(o,s)||Lt(s)||_t.has(s))return false;n??=s,i=s;}return t>0&&n!==void 0&&i!==void 0&&!Z.has(n)&&!Z.has(i)}function te(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_PASSKEY_NAME",message:"Passkey names must contain 1 to 256 safe Unicode characters."}}}function Pi(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!Z.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let s=i>=56320&&i<=57343?n-2:n-1,r=e.codePointAt(s);if(r===void 0||!Z.has(r))break;n=s;}return e.slice(t,n)}function Lt(e){return e>=0&&e<=31||e>=127&&e<=159}function Mt(e,t){return e.length===1&&t>=55296&&t<=57343}var Ht=12,Vt=5e3,Ti=8,xi=1e3,vi=16,Ft=512,Kt=100,jt=8192,Ci=32768,Re=1024,qt=256,Ie=64,Ei=6e5,Di=/^[A-Za-z0-9_-]+$/u,zi=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ui=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Ni=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,_i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Bt=new Set(["discouraged","preferred","required"]),Li=new Set(["singleDevice","multiDevice"]),Jt=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),$t=new Set(["hybrid","security-key","client-device"]),Mi=new Set(["none","indirect","direct","enterprise"]),Fi=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),qi=new Set(["platform","cross-platform"]),Hi=new Set(["discouraged","preferred","required"]),Vi=new Set([-8,-7,-257]);function Wt(e){let t=D(e,Ht,Vt);return {challenge:rn(t.challenge),...S("timeout",nn(t.timeout)),...S("rpId",sn(t.rpId)),...S("allowCredentials",tn(t.allowCredentials)),...S("userVerification",J(t.userVerification,Bt)),...S("hints",ne(t.hints,$t)),...S("extensions",on(t.extensions))}}function Gt(e){let t=D(e,Ht,Vt);return {challenge:rn(t.challenge),rp:Ki(t.rp),user:ji(t.user),pubKeyCredParams:Bi(t.pubKeyCredParams),...S("timeout",nn(t.timeout)),...S("excludeCredentials",tn(t.excludeCredentials)),...S("authenticatorSelection",Ji(t.authenticatorSelection)),...S("attestation",J(t.attestation,Mi)),...S("attestationFormats",ne(t.attestationFormats,Fi)),...S("hints",ne(t.hints,$t)),...S("extensions",on(t.extensions))}}function Xt(e){let t=p(e),n=G(t.session),i=v(t.user);return n.userId!==i.id&&l(),{session:n,user:i}}function Pe(e){let t=p(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&l();let i=Te(t.deviceType,Li),o=b(t.backedUp);return o&&i!=="multiDevice"&&l(),{id:H(t.id,qt),...Gi(t),publicKey:$i(t.publicKey,Ci),userId:H(t.userId,qt),credentialID:oe(t.credentialID,jt),counter:n,deviceType:i,backedUp:o,...Xi(t),createdAt:O(t.createdAt),...Yi(t)}}function Yt(e,t,n){let i=Pe(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&l(),i}function Qt(e){(!Array.isArray(e)||e.length>Kt)&&l();let t=e.map(Pe);return ie(t.map(n=>n.id)),ie(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&l(),t}function Zt(e,t,n){let i=p(e),o=Pe(i.passkey);return (o.id!==t||o.name!==n)&&l(),{passkey:o}}function en(e){return p(e).status!==true&&l(),{status:true}}function Ki(e){let t=p(e);return {name:Se(t.name,Re),...S("id",sn(t.id))}}function ji(e){let t=p(e);return {id:oe(t.id,128,1,64),name:Se(t.name,Re),displayName:Se(t.displayName,Re)}}function Bi(e){(!Array.isArray(e)||e.length===0||e.length>Ie)&&l();let t=e.map(n=>{let i=p(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Vi.has(i.alg))&&l(),{type:"public-key",alg:i.alg}});return Qi(t.map(n=>n.alg)),t}function tn(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Kt)&&l();let t=e.map(n=>{let i=p(n);return i.type!=="public-key"&&l(),{type:"public-key",id:oe(i.id,jt),...S("transports",ne(i.transports,Jt))}});return ie(t.map(n=>n.id)),t}function Ji(e){if(e===void 0)return;let t=p(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&l();let n=J(t.residentKey,Hi);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&l(),{...S("authenticatorAttachment",J(t.authenticatorAttachment,qi)),...S("residentKey",n),...S("requireResidentKey",t.requireResidentKey),...S("userVerification",J(t.userVerification,Bt))}}function nn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Ei)&&l(),e}function on(e){return e===void 0?void 0:D(e,Ti,xi)}function ne(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Ie)&&l();let n=e.map(i=>Te(i,t));return ie(n),n}function J(e,t){if(e!==void 0)return Te(e,t)}function rn(e){return oe(e,Math.ceil(Ft*4/3),vi,Ft)}function oe(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=H(e,t),s=o.length%4,r=Wi(o.at(-1)??""),u=Math.floor(o.length*3/4);return (!Di.test(o)||s===1||s===2&&(r&15)!==0||s===3&&(r&3)!==0||u<n||u>i)&&l(),o}function H(e,t){let n=A(e);return (n.length===0||n.length>t)&&l(),n}function Se(e,t){let n=H(e,t);return Ui.test(n)&&l(),n}function sn(e){if(e===void 0)return;let t=H(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Ni.test(n)))&&l(),t}function $i(e,t){let n=H(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),s=n.at(i?-3:o?-2:-1)??"",r=an(s);return (n.length%4!==0||!zi.test(n)||i&&(r&15)!==0||o&&(r&3)!==0)&&l(),n}function Wi(e){return an(e,true)}function an(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function Gi(e){let t=w(e,"name");return t===void 0?{}:(t!==null&&!ke(t)&&l(),{name:t})}function Xi(e){let t=w(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Ie||n.some(i=>!Jt.has(i))||new Set(n).size!==n.length)&&l(),{transports:t}}function Yi(e){let t=w(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(_i.test(t)||l(),{aaguid:t})}function Te(e,t){let n=A(e);return t.has(n)||l(),n}function S(e,t){return t===void 0?{}:{[e]:t}}function ie(e){new Set(e).size!==e.length&&l();}function Qi(e){new Set(e).size!==e.length&&l();}function ao(e,t){if(!t)return e;let n=t.catch(()=>{});return n.then(()=>{n=null;}),{async request(i,o){return n&&await n,e.request(i,o)}}}var gn=new Map;function uo(e,t){let n=gn.get(t);return n||(n=Promise.resolve().then(()=>(se(),re)).then(i=>i.completeCrossSiteSignIn(e)),gn.set(t,n)),n}function mn(e){return !j()||e.idToken||e.disableRedirect?"legacy":"first-party"}function co(e,t=()=>{},n=fo){let i=Ke(e),o=j()?uo(i,e.decoded.projectId):void 0,s=ao(i,o),r=Je(s,e.decoded.projectId),u=n(s,r.notifyMutation),c=()=>{r.notifyMutation(),t();},{post:f,mutation:m}=L(s,c),k=e.decoded.env==="test";return {sessionStore:r.store,getSession:r.getSession,account:Qe(s,c),organization:ht(s,c,()=>r.store.getSnapshot().data?.session.membership??null),signIn:{email:(a,d)=>m(f("/sign-in/email",a,d,we),g=>!("twoFactorRedirect"in g)),username:(a,d)=>m(f("/sign-in/username",a,d,we),g=>!("twoFactorRedirect"in g)),social:async(a,d)=>{if(mn(a)==="first-party"){let{beginCrossSiteSignIn:R}=await Promise.resolve().then(()=>(se(),re)),h=await R(e,{kind:"social",provider:a.provider,callbackURL:a.callbackURL,errorCallbackURL:a.errorCallbackURL,newUserCallbackURL:a.newUserCallbackURL,scopes:a.scopes,loginHint:a.loginHint,requestSignUp:a.requestSignUp});if(h)return window.location.assign(h),{data:{redirect:true,url:h},error:null}}let g=await m(f("/sign-in/social",a,d,R=>wt(R,k)),R=>"user"in R);return g.error!==null||g.data===null||"url"in g.data&&g.data.redirect&&!a.disableRedirect&&typeof window<"u"&&window.location.assign(g.data.url),g},sso:async(a,d)=>{if(mn(a)==="first-party"){let{beginCrossSiteSignIn:R}=await Promise.resolve().then(()=>(se(),re)),h=await R(e,{kind:"sso",email:a.email,providerId:a.providerId,domain:a.domain,organizationSlug:a.organizationSlug,callbackURL:a.callbackURL,errorCallbackURL:a.errorCallbackURL,newUserCallbackURL:a.newUserCallbackURL});if(h)return window.location.assign(h),{data:{url:h,redirect:true},error:null}}let g=await f("/sign-in/sso",a,d,R=>Ot(R,k));return g.error!==null||g.data===null||typeof window<"u"&&window.location.assign(g.data.url),g},magicLink:(a,d)=>f("/sign-in/magic-link",a,d,kt),emailOtp:(a,d)=>m(f("/sign-in/email-otp",a,d,At)),passkey:(a,d)=>u.signIn(a,d)},signUp:{email:(a,d)=>m(f("/sign-up/email",a,d,bt),g=>g.sessionCreated)},emailOtp:{sendVerificationOtp:(a,d)=>f("/email-otp/send-verification-otp",a,d,Rt),verifyEmail:(a,d)=>m(f("/email-otp/verify-email",a,d,xt))},phoneOtp:{prepare:a=>f("/phone-otp/challenge",{},a,It),start:(a,d)=>f("/phone-otp/start",{...a,idempotencyKey:a.idempotencyKey??$e()},d,St),verify:(a,d)=>m(f("/phone-otp/verify",a,d,Pt))},requestPasswordReset:(a,d)=>f("/request-password-reset",a,d,Oe),resetPassword:(a,d)=>f("/reset-password",a,d,Oe),sendVerificationEmail:(a,d)=>f("/send-verification-email",a,d,Tt),passkey:{addPasskey:(a,d)=>u.add(a,d),listUserPasskeys:()=>s.request("/passkey/list-user-passkeys",{decode:Qt}),updatePasskey:async(a,d)=>{let g=ee(a.name);if(!g.valid||g.value===void 0)return te();let R=g.value;return f("/passkey/update-passkey",{...a,name:R},d,h=>Zt(h,a.id,R))},deletePasskey:(a,d)=>f("/passkey/delete-passkey",a,d,en)},twoFactor:{enable:(a,d)=>f("/two-factor/enable",a,d,Ct),disable:(a,d)=>m(f("/two-factor/disable",a,d,Et),g=>g.status),verifyTotp:(a,d)=>m(f("/two-factor/verify-totp",a,d,Q)),verifyBackupCode:(a,d)=>m(f("/two-factor/verify-backup-code",a,d,Q)),sendOtp:(a={},d)=>f("/two-factor/send-otp",a,d,Dt),verifyOtp:(a,d)=>m(f("/two-factor/verify-otp",a,d,Q)),generateBackupCodes:(a,d)=>f("/two-factor/generate-backup-codes",a,d,zt)},signOut:a=>m(s.request("/sign-out",{method:"POST",body:{},fetchOptions:a,decode:vt}),d=>d.success)}}function ve(e,t=()=>{},n){let i=co(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:hn(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp,passkey:i.signIn.passkey},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey,addPasskey:i.passkey.addPasskey}}:{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:hn(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function hn(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return lo();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?po():i}}function lo(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"NATIVE_SOCIAL_ID_TOKEN_REQUIRED",message:"Native social sign-in requires a provider ID token."}})}function po(){return Promise.resolve({data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_NATIVE_SOCIAL_RESPONSE",message:"The server returned a redirect for native ID-token sign-in."}})}function fo(){return {signIn:()=>yn(),add:()=>yn()}}function yn(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"PASSKEY_BROWSER_REQUIRED",message:"This passkey ceremony requires a browser with WebAuthn."}})}function go(e,t,n){let i=new Map;return {async signIn(o={},s){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return wn(r.error);let u;try{u=Wt(r.data);}catch{return An()}let c;try{c=await n.authenticate({optionsJSON:u,useBrowserAutofill:o.autoFill});}catch(d){return On(n,d,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!mo(c))return bn();let{clientExtensionResults:f,...m}=c,k=i.get(c.id);if(k)return k;let a=(async()=>{let d=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:m},fetchOptions:s,decode:Xt});return d.data&&t(),d})();i.set(c.id,a);try{return await a}finally{i.get(c.id)===a&&i.delete(c.id);}},async add(o={},s){let r=ee(o.name);if(!r.valid)return te();let u=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:o.authenticatorAttachment}});if(!u.data)return wn(u.error);let c;try{c=Gt(u.data);}catch{return An()}let f;try{f=await n.register({optionsJSON:c});}catch(d){return On(n,d,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!ho(f))return bn();let{clientExtensionResults:m,...k}=f,a=await e.request("/passkey/verify-registration",{method:"POST",body:{response:k,name:r.value},fetchOptions:s,decode:d=>Yt(d,f.id,r.value)});return a.data&&t(),a}}}function An(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function bn(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function kn(e){if(!e||typeof e!="object")return false;let t=e;return typeof t.id=="string"&&t.id.length>0&&typeof t.rawId=="string"&&t.rawId.length>0&&t.type==="public-key"&&!!t.response&&typeof t.response=="object"}function mo(e){if(!kn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.authenticatorData=="string"&&typeof t.signature=="string"&&(t.userHandle===void 0||typeof t.userHandle=="string")}function ho(e){if(!kn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function wn(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function On(e,t,n,i){let o=Ao(t,"page does not have focus"),s=e.errorCode?.(t),r=s!==void 0?s==="ERROR_CEREMONY_ABORTED":yo(t)==="AbortError";return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":r?n:s??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":r?i:n==="AUTH_CANCELLED"?"Passkey authentication could not be completed by this browser.":"Passkey registration could not be completed by this browser."}}}function yo(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Ao(e,t){let n=t.toLowerCase(),i=new Set,o=e;for(;o&&typeof o=="object"&&!i.has(o);){if(i.add(o),"message"in o&&typeof o.message=="string"&&o.message.toLowerCase().includes(n))return true;o="cause"in o?o.cause:void 0;}return false}var Ce=class extends Error{status;requestId;constructor(t,n,i){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=i;}};function Rn(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),$({fetchImpl:e.fetch??fetch,url:t,init:{...n.init,headers:i},allowHttpLoopback:e.decoded.env==="test",...n.timeoutMs===void 0?{}:{timeoutMs:n.timeoutMs},...n.maxResponseBytes===void 0?{}:{maxResponseBytes:n.maxResponseBytes},...n.decode===void 0?{}:{decode:n.decode}})}function Sn(e,t){if(!e.response.ok)throw new Ce(t,e.response,e.requestId);return e.data}async function bo(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return Sn(await Rn(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:i=>wo(i,e)}),"public-config")}function wo(e,t){let n=D(e),i=n.environmentId,o=n.environmentType,s=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Oo(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==s)throw C();let r=T(n.branding),u=T(n.legal);if(!Ee(n.enabledMethods,64)||!Ee(n.socialProviders,64)||!Pn(r,["appName","logoUrl","primaryColor"])||r.showAppName!==void 0&&typeof r.showAppName!="boolean"||r.alignment!==void 0&&r.alignment!=="left"&&r.alignment!=="center"&&r.alignment!=="right"||r.theme!==void 0&&r.theme!=="light"&&r.theme!=="dark"&&r.theme!=="system"||!Pn(u,["termsUrl","privacyUrl"])||!Number.isSafeInteger(u.version)||u.version<0||typeof u.required!="boolean")throw C();if(n.socialProviderClientIds!==void 0){let c=T(n.socialProviderClientIds);if(Object.keys(c).length>64||Object.values(c).some(f=>typeof f!="string"||f.length>2048))throw C()}if(!U(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!In(n.turnstileSiteKey)||!In(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw C();if(n.jwtIssuer!==null){let c=T(n.jwtIssuer);if(c.issuer!==s||c.jwksUrl!==`${s}/jwks`||c.aud!==t.decoded.projectId)throw C()}if(n.signUp!==void 0){let c=T(n.signUp).mode;if(typeof c!="string"||!["open","restricted","allowlist","waitlist"].includes(c))throw C()}if(n.authentication!==void 0&&ko(n.authentication),n.emailVerification!==void 0){let c=T(n.emailVerification);if(!U(c,["required"])||c.method!=="link"&&c.method!=="code")throw C()}if(n.userModel!==void 0&&!U(T(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw C();if(n.mfa!==void 0){let c=T(n.mfa);if(!U(c,["totp","required","backupCodes"])||(c.required===true||c.backupCodes===true)&&c.totp!==true)throw C()}return n}function Oo(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function C(){return new TypeError("public-config returned an invalid response")}function T(e){if(!e||typeof e!="object"||Array.isArray(e))throw C();return e}function In(e){return e===null||typeof e=="string"&&e.length<=4096}function ko(e){let t=T(e),n=T(t.email),i=T(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!U(n,["signUp"])||!Ee(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!U(T(t.phone),["signUp","signIn"])||!U(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!U(T(t.passkey),["signIn","add"])||!U(T(t.username),["collectOnSignUp","signIn"]))throw C()}function U(e,t){return t.every(n=>typeof e[n]=="boolean")}function Pn(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function Ee(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}function Ro(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,s=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:o?.password.signUp??n,phoneSignUp:o?.phone.signUp??t.includes("phone_otp"),passwordSignIn:o?.email.signIn.includes("password")??n,passwordMinLength:o?.password.minLength??8,passwordMaxLength:o?.password.maxLength??128,magicLinkSignIn:o?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:o?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:o?.phone.signIn??t.includes("phone_otp"),usernameSignIn:o?.username.signIn??false,collectUsername:o?.username.collectOnSignUp??false,passkeySignIn:o?.passkey.signIn??i,passkeyAdd:o?.passkey.add??i,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:s?.totp??e?.twoFactor??false,mfaRequired:s?.required??e?.mfaRequired??false,backupCodes:s?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}function So(e,t){let n=`p_${e.replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}function xr(e,t){return ve(ce(e),t)}
2
- exports.createMembershipHas=di;exports.createNativeAuthClient=ve;exports.createNativeClient=xr;exports.createPasskeyClient=go;exports.decodePublishableKey=ae;exports.getPublicConfig=bo;exports.resolveConfig=ce;exports.resolveProjectCapabilities=Ro;exports.sessionCookieName=So;
1
+ 'use strict';var Jn=Object.defineProperty;var Je=(e,t)=>()=>(e&&(t=e(e=0)),t);var $n=(e,t)=>{for(var n in t)Jn(e,n,{get:t[n],enumerable:true});};function ee(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var ve=Je(()=>{});var ye={};$n(ye,{beginCrossSiteSignIn:()=>Fi,challengeFor:()=>Dn,completeCrossSiteSignIn:()=>Hi,takeHandoffCode:()=>Un});function En(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Dn(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return En(new Uint8Array(t))}function Ni(){return En(crypto.getRandomValues(new Uint8Array(zi)))}function zn(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${vn}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function Li(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===vn)return e.slice(t+1).trim()||null}return null}function Mi(){zn("",0);}function Cn(e){return new URL(e,window.location.href).toString()}async function Fi(e,t){let n=t.callbackURL?Cn(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let o=Ni(),i=new URL(`${e.projectBaseURL}/session/start`);if(i.searchParams.set("pk",e.publishableKey),i.searchParams.set("kind",t.kind),t.kind==="social")i.searchParams.set("provider",t.provider),t.scopes?.length&&i.searchParams.set("scopes",t.scopes.join(",")),t.loginHint&&i.searchParams.set("loginHint",t.loginHint),t.requestSignUp!==void 0&&i.searchParams.set("requestSignUp",t.requestSignUp?"1":"0");else for(let r of _i){let a=t[r];a&&i.searchParams.set(r,a);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;i.searchParams.set("cb",n??s);for(let[r,a]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])a&&i.searchParams.set(r,Cn(a));return i.searchParams.set("challenge",await Dn(o)),zn(o,Ui),i.toString()}function Un(){if(typeof window>"u")return null;let e=window.location.hash;if(!e.includes(Ke))return null;let t=new URLSearchParams(e.replace(/^#/,"")),n=t.get(Ke);if(!n)return null;t.delete(Ke);let o=t.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),n}async function Hi(e,t){if(!ee())return false;let n=Un();if(!n)return false;let o=Li();if(Mi(),!o)return false;t.beginSession({remember:true});let{error:i}=await e.request("/session/exchange",{method:"POST",body:{code:n,verifier:o}});return i===null}var vn,Ke,zi,Ui,_i,be=Je(()=>{ve();vn="authowl_handoff_verifier",Ke="authowl_code",zi=32,Ui=900,_i=["email","providerId","domain","organizationSlug"];});var Gn=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,Wn=/^sk_/i;function Ae(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(Wn.test(e))throw new Error("A secret key was passed where a publishable key was expected. Never embed secret keys in client code.");let t=Gn.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1].toLowerCase(),env:t[2].toLowerCase(),projectId:t[3].toLowerCase()}}var $e=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function we(e,t){throw new Error(`${e}: ${t}`)}function Ge(e,t){let n;try{n=new URL(String(e));}catch{throw new TypeError("Transport URL must be absolute.")}if(n.username||n.password||n.hash)throw new TypeError("Transport URL must not contain credentials or a fragment.");let o=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&$e.test(o)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function We(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&we("apiUrl","origin required");let n;try{n=new URL(e);}catch{we("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!$e.test(e))&&we("apiUrl","HTTPS required except exact loopback"),n.origin}function j(e,t){try{return e?.getItem(t)??null}catch{return null}}function J(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function $(){try{return globalThis.localStorage}catch{return}}function V(){try{return globalThis.sessionStorage}catch{return}}var Xn="authowl.session-challenge",Yn=e=>`${Xn}.${e}`,Qn="set-auth-challenge",Xe="x-authowl-challenge",Qe="INVALID_TWO_FACTOR_COOKIE",Zn=2048,ie=e=>e!==null&&e.length<=Zn,Ye=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function eo(e){let t=[];for(let n of e.split(";")){let o=n.trimStart(),i=o.indexOf("=");i<=0||t.push([o.slice(0,i).trimEnd(),o.slice(i+1)]);}return t}function Ze(e){let t=Yn(e),n=new Map;function o(){return n.size===0?null:[...n].map(([a,u])=>`${a}=${u}`).join("; ")}function i(){let a=o();J(V(),t,ie(a)?a:null);}function s(a){for(let[u,m]of eo(a))Ye.test(u)&&(m===""?n.delete(u):Ye.test(m)&&n.set(u,m));}let r=j(V(),t);return ie(r)&&s(r),{presentOn(a){let u=o();a.delete(Xe),ie(u)&&a.set(Xe,u);},observe(a){let u=a.get(Qn);ie(u)&&(s(u),i());},clear(){n.clear(),i();}}}var to="authowl.session-token",no="authowl.cookie-transport",tt="ok",nt="bearer",oo=e=>`${to}.${e}`,io=e=>`${no}.${e}`,ro="set-auth-token",so="x-authowl-session-transport",ao="bearer";function uo(e){return e===tt?"cookies":e===nt?"bearer":"unknown"}function co(e){return e==="cookies"?tt:e==="bearer"?nt:null}function lo(e){let t=oo(e),n=io(e),o=Ze(e),i=null,s=false,r=null,a=uo(j($(),n)),u=()=>a==="unknown",m=0,f=null,y=false;function b(){let h=j(V(),t);if(h!==null)return s=true,h;let C=j($(),t);return C!==null?(s=false,C):null}i=b(),i!==null&&u()&&(y=true);function A(){if(!(!y||!f)){y=false;try{f();}catch{}}}function c(){let h=a==="bearer"?i:null,[C,oe]=s?[V(),$()]:[$(),V()];J(oe,t,null),J(C,t,h);}function l(h){h!==null&&r!==null&&(s=r,r=null),i=h,c(),h!==null&&u()&&(y=true,A());}function g(h){a=h,J($(),n,co(h));}function O(){g("unknown"),y=false;}function R(){return i===null&&(i=b()),i}function K(){let h=b();return h!==null&&(i=h),i}function B(h){K()===h&&c();}function w(){m+=1,r=null,s=false,l(null),o.clear(),O();}let T=()=>a!=="cookies";return {hasToken:()=>R()!==null,declareOn(h){if(h.has("authorization"))return false;let C=R();return !C&&!T()?false:(C&&h.set("authorization",`Bearer ${C}`),h.set(so,ao),o.presentOn(h),true)},wantsToken:T,needsProbe:u,observe(h){let C=h.get(ro);C&&l(C),o.observe(h);},dropChallenge:o.clear,measureWith(h){f=h,A();},beginRead(){let h=R(),C=m;return {carriedToken:h!==null,endIfDead(){h!==null&&K()===h&&m===C&&w();},recordCookieVerdict(oe){if(m===C&&u()){if(g(oe?"cookies":"bearer"),oe){l(null);return}B(h);}}}},beginSession({remember:h}){m+=1,r=!h,o.clear(),O();},endSession:w}}var et=new Map;function ot(e){let t=et.get(e);if(t)return t;let n=lo(e);return et.set(e,n),n}function po(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function it(e,t){let n=ot(e),o=(r,a)=>(t??globalThis.fetch)(r,a);return {fetch:async(r,a)=>{if(a?.credentials==="omit"||!n.wantsToken())return o(r,a);let u=po(r,a),m=n.declareOn(u),f=await o(r,{...a,headers:u});return m&&n.observe(f.headers),f},probe:o,tokens:n}}function Oe(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Ae(e.publishableKey),n=We(e.apiUrl,{allowHttpLoopback:t.env==="test"}),o=`${n}/api/projects/${t.projectId}/auth`,{fetch:i,...s}=it(t.projectId,e.fetch);return {...e,apiUrl:n,decoded:t,projectBaseURL:o,fetch:i,session:s}}var fo=1e4,go=1024*1024,E=class extends Error{kind;requestId;constructor(t,n){super(ko(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},at=new WeakSet;function D(e,t){let n=new E(e,t);return at.add(n),n}async function ut({fetchImpl:e,url:t,init:n={},timeoutMs:o=fo,maxResponseBytes:i=go,allowHttpLoopback:s=false,decode:r}){st(o,"timeoutMs"),st(i,"maxResponseBytes");let a=Ge(t,{allowHttpLoopback:s}),u=n.signal,m=new AbortController,f=null,y,b=new Promise(g=>{y=g;}),A=g=>{f===null&&(f=g,y({type:"abort",kind:g}),m.abort());},c=()=>A("aborted");u?.addEventListener("abort",c,{once:true});let l=setTimeout(()=>A("timeout"),o);u?.aborted&&c();try{if(f!==null)throw D(f);let g;try{g=await Promise.race([e(a.toString(),{...n,redirect:"error",signal:m.signal}).then(T=>({type:"response",response:T})),b]);}catch{throw D(f??"network")}if(g.type==="abort")throw D(g.kind);if(!mo(g.response))throw D("invalid_response");let O=g.response,R=Oo(O.headers),K=await ho(O,i,b,()=>f,R),B=Ao(O,K,R),w;try{w=O.ok&&r?r(B,Object.freeze({status:O.status})):B;}catch{throw D("invalid_response",R)}return {response:O,data:w,...R===void 0?{}:{requestId:R}}}catch(g){throw g instanceof E&&at.has(g)?g:D(f??"network")}finally{clearTimeout(l),u?.removeEventListener("abort",c);}}function mo(e){if(!e||typeof e!="object")return false;let t=e;return Number.isInteger(t.status)&&t.status>=0&&t.status<=599&&typeof t.statusText=="string"&&typeof t.ok=="boolean"&&typeof t.headers?.get=="function"&&(t.body===null||typeof t.body=="object"&&typeof t.body?.getReader=="function"&&typeof t.body.cancel=="function")}async function ho(e,t,n,o,i){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw rt(e.body),D("invalid_response",i);if(Number(s)>t)throw rt(e.body),D("response_too_large",i)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw D("network",i)}let a=[],u=0,m=null;try{for(;;){let b;try{b=await Promise.race([r.read(),n]);}catch{m=D(o()??"network",i);break}if(yo(b)){m=D(b.kind,i);break}let{done:A,value:c}=b;if(A)break;if(c.byteLength!==0){if(u+=c.byteLength,u>t){m=D("response_too_large",i);break}a.push(c);}}}finally{m&&bo(r);try{r.releaseLock();}catch{}}if(m)throw m;let f=new Uint8Array(u),y=0;for(let b of a)f.set(b,y),y+=b.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(f)}catch{throw D("invalid_response",i)}}function yo(e){return "type"in e&&e.type==="abort"}function rt(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function bo(e){try{e.cancel().catch(()=>{});}catch{}}function Ao(e,t,n){if(e.status===204||e.status===205)return null;let o=wo(e.headers.get("content-type"));if(!e.ok&&(!o||t.length===0))return null;if(!o||t.length===0)throw D("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw D("invalid_response",n)}}function wo(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Oo(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function st(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function ko(e){switch(e){case "aborted":return "The request was cancelled.";case "timeout":return "The request timed out.";case "response_too_large":return "The response exceeded the allowed size.";case "invalid_response":return "The service returned an invalid response.";case "network":return "The network request could not be completed."}}var ke=class extends Error{status;requestId;constructor(t,n,o){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=o;}};function re(e,t,n={}){let o=new Headers(n.init?.headers);return o.set("x-publishable-key",e.publishableKey),ut({fetchImpl:e.fetch,url:t,init:{...n.init,headers:o},allowHttpLoopback:e.decoded.env==="test",...n.timeoutMs===void 0?{}:{timeoutMs:n.timeoutMs},...n.maxResponseBytes===void 0?{}:{maxResponseBytes:n.maxResponseBytes},...n.decode===void 0?{}:{decode:n.decode}})}function ct(e,t){if(!e.response.ok)throw new ke(t,e.response,e.requestId);return e.data}var So="x-authowl-turnstile-token",Ro=1e4,To=32,Io=2e4;function G(e,t){return {post:(n,o,i,s)=>e.request(n,{method:"POST",body:o,fetchOptions:i,decode:s}),mutation:async(n,o)=>{let i=await n;return i.error===null&&(o===void 0||i.data!==null&&o(i.data))&&t(),i}}}function Ie(e,t=e.projectBaseURL){return {async request(n,o={}){let i=Co(t,n,o.query),s=o.method??(o.body===void 0?"GET":"POST"),r=new Headers(o.fetchOptions?.headers);o.fetchOptions?.authChallengeToken&&r.set(So,o.fetchOptions.authChallengeToken),o.body!==void 0&&r.set("content-type","application/json");let a={method:s,headers:r,credentials:o.credentials??"include",...o.body===void 0?{}:{body:JSON.stringify(o.body)}},u=Object.freeze({method:s,path:n});await o.fetchOptions?.onRequest?.(u);let m=xo(s,o.fetchOptions),f;try{f=await Po(e,i,{...a,signal:o.fetchOptions?.signal},m);}catch(g){let O=lt(g);return await o.fetchOptions?.onError?.(Se(u,O,Do(g))),{data:null,error:O}}let{response:y,requestId:b}=f,A=_o(n,f.data),c=A;if(y.ok)try{c=Te(A),o.decode&&(c=o.decode(c));}catch{let g=lt(new E("invalid_response",b));return await o.fetchOptions?.onError?.(Se(u,g,"invalid_response")),{data:null,error:g}}let l=Object.freeze({...u,status:y.status,...b===void 0?{}:{requestId:b}});if(await o.fetchOptions?.onResponse?.(l),!y.ok){let g=vo(y,A,b);return g.code===Qe&&e.session.tokens.dropChallenge(),await o.fetchOptions?.onError?.(Se(u,g,"api")),{data:null,error:g}}return await o.fetchOptions?.onSuccess?.(l),{data:c,error:null}}}}async function Po(e,t,n,o){let i=Date.now()+Ro;for(let s=0;s<o;s+=1){let r=i-Date.now();if(r<=0)throw new E("timeout");try{let a=await re(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(r))});if(a.response.status<500||s===o-1)return a}catch(a){if(s===o-1||!(a instanceof E)||a.kind!=="network")throw a}await zo(50*2**s,n.signal,i);}throw new E("network")}function xo(e,t){if(e!=="GET"||t?.authChallengeToken)return 1;let n=t?.retry;return typeof n!="number"||!Number.isFinite(n)?1:Math.min(Math.max(Math.trunc(n),0),3)+1}function Co(e,t,n){let o=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[i,s]of Object.entries(n??{}))s!==void 0&&o.searchParams.set(i,String(s));return o.toString()}function vo(e,t,n){let o=Z(t)?t:{},i=Eo(o,e.headers);return {status:e.status,statusText:e.statusText,code:typeof o.code=="string"?o.code:void 0,...n===void 0?{}:{requestId:n},...typeof o.current_version=="number"?{currentVersion:o.current_version}:{},...i!==void 0?{retryAfterSeconds:i}:{},message:typeof o.message=="string"?o.message:typeof o.error=="string"?o.error:typeof o.detail=="string"?o.detail:e.statusText||"Request failed"}}function Eo(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??dt(t.get("retry-after"))??dt(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function dt(e){if(!e)return;let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isFinite(n)?n:void 0}function lt(e){let t=e instanceof E?e.kind:"network";return {status:0,...{aborted:{statusText:"ABORTED",code:"REQUEST_ABORTED",message:"The request was cancelled."},timeout:{statusText:"TIMEOUT",code:"REQUEST_TIMEOUT",message:"The request timed out."},response_too_large:{statusText:"INVALID_RESPONSE",code:"RESPONSE_TOO_LARGE",message:"The service response was too large."},invalid_response:{statusText:"INVALID_RESPONSE",code:"INVALID_RESPONSE",message:"The service returned an invalid response."},network:{statusText:"FETCH_ERROR",code:"FETCH_ERROR",message:"Network request failed."}}[t],...e instanceof E&&e.requestId?{requestId:e.requestId}:{}}}function Se(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function Do(e){return e instanceof E?e.kind:"network"}function zo(e,t,n){return new Promise((o,i)=>{if(t?.aborted){i(new E("aborted"));return}let s=n-Date.now();if(s<=0){i(new E("timeout"));return}let r=Math.min(e,s),a=()=>{clearTimeout(u),i(new E("aborted"));},u=setTimeout(()=>{t?.removeEventListener("abort",a),Date.now()>=n?i(new E("timeout")):o();},r);t?.addEventListener("abort",a,{once:true}),t?.aborted&&a();})}function Te(e,t="",n=0,o={nodes:0}){if(o.nodes+=1,n>To||o.nodes>Io)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let i=new Date(e);return Number.isNaN(i.getTime())?e:i}return Array.isArray(e)?e.map(i=>Te(i,"",n+1,o)):Z(e)?Object.fromEntries(Object.entries(e).map(([i,s])=>[i,Uo(i)?s:Te(s,i,n+1,o)])):e}function Uo(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function _o(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(i=>Z(i)?Re(i):i);if(!Z(t))return t;let o=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?Re(t):t;return e==="/sign-up/email"&&!("sessionCreated"in o)&&(o={...o,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&Z(o.session)&&(o={...o,session:Re(o.session)}),o}function Re(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function Z(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var No=new Set(["__proto__","constructor","prototype"]);function p(e){(!e||typeof e!="object"||Array.isArray(e))&&d();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&d(),e}function S(e){return typeof e!="string"&&d(),e}function I(e){return typeof e!="boolean"&&d(),e}function x(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&d(),e}function se(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&d(),[...e]}function P(e,t){let n=e[t];return n==null||typeof n=="string"?n:d()}function pt(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:d()}function _(e){let t=p(e),n=t.email;return n!==null&&typeof n!="string"&&d(),{id:S(t.id),email:n,emailVerified:I(t.emailVerified),createdAt:x(t.createdAt),updatedAt:x(t.updatedAt),...U("phoneNumber",P(t,"phoneNumber")),...U("username",P(t,"username")),...U("displayUsername",P(t,"displayUsername")),...U("firstName",P(t,"firstName")),...U("lastName",P(t,"lastName")),...U("name",P(t,"name")),...U("image",P(t,"image")),...U("twoFactorEnabled",pt(t,"twoFactorEnabled"))}}function ae(e){let t=p(e),n=t.membership;return {id:S(t.id),userId:S(t.userId),expiresAt:x(t.expiresAt),...U("activeOrganizationId",P(t,"activeOrganizationId")),...U("activeTeamId",P(t,"activeTeamId")),...U("membership",n==null?n:Lo(n)),...U("pendingMfaEnrollment",pt(t,"pendingMfaEnrollment"))}}function d(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function L(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&d(),xe(e,t,n)}function xe(e,t=20,n=1e4){return Pe(e,0,{nodes:0},t,n)}function Lo(e){let t=p(e);return {role:S(t.role),permissions:se(t.permissions),...t.teams===void 0?{}:{teams:se(t.teams)}}}function Pe(e,t,n,o,i){if(n.nodes+=1,(t>o||n.nodes>i)&&d(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||d(),e;if(Array.isArray(e))return e.map(a=>Pe(a,t+1,n,o,i));(!e||typeof e!="object")&&d();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&d();let r={};for(let[a,u]of Object.entries(e))No.has(a)&&d(),r[a]=Pe(u,t+1,n,o,i);return r}function U(e,t){return t===void 0?{}:{[e]:t}}function ft({http:e,probe:t,tokens:n,channelName:o}){let i=new Set,s=null,r=null,a=null,u=null,m=null,f,y=w=>{c(w);};f={data:null,isPending:true,isRefetching:false,error:null,refetch:y};function b(w){f=w;for(let T of i)T();}async function A(w){return e.request("/get-session",{query:w?.query,decode:Ce})}function c(w){if(w?.query?.disableCookieCache===true)return l(w);if(u)return u;let T=l(w).finally(()=>{u===T&&(u=null);});return u=T,T}async function l(w){a?.abort();let T=new AbortController;a=T,b({...f,isPending:f.data===null&&f.error===null,isRefetching:f.data!==null});let h=n.beginRead(),C=await e.request("/get-session",{query:w?.query,fetchOptions:{signal:T.signal},decode:Ce});if(a===T&&(a=null,b({data:C.data,error:C.error,isPending:false,isRefetching:false,refetch:y}),C.error===null)){if(C.data===null){h.endIfDead();return}await g(h);}}async function g(w){if(n.needsProbe()){if(!w.carriedToken){w.recordCookieVerdict(true);return}return m||O(w)}}function O(w){let T=t.request("/get-session",{query:{disableCookieCache:true},decode:Ce}).then(h=>{m===T&&h.error===null&&w.recordCookieVerdict(h.data!==null);}).finally(()=>{m===T&&(m=null);});return m=T,T}function R(){s?.postMessage({type:"session-changed"});}function K(){if(typeof window>"u"||r)return;let w=()=>{c();},T=()=>{document.visibilityState==="visible"&&c();};window.addEventListener("focus",w),document.addEventListener("visibilitychange",T),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(o),s.addEventListener("message",w)),r=()=>{window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",T),s?.close(),s=null,r=null;};}function B(w){return i.add(w),i.size===1&&(K(),c()),()=>{i.delete(w),i.size===0&&(a?.abort(),a=null,r?.());}}return n.measureWith(()=>{n.needsProbe()&&O(n.beginRead());}),{store:{subscribe:B,getSnapshot:()=>f},getSession:A,notifyMutation(){R(),m&&m.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&R();}),i.size>0&&c({query:{disableCookieCache:true}});}}}function Ce(e){if(e===null)return null;let t=p(e);return (t.session===void 0||t.user===void 0)&&d(),{session:ae(t.session),user:_(t.user)}}ve();function gt(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function mt(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:yt})}async function ht(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:yt})}function yt(e){let t=p(e),n=L(t.public_metadata),o=L(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:o,metadataVersion:t.metadata_version}}function At(e,t){let{post:n,mutation:o}=G(e,t);return {getMetadata:i=>mt(e,i),updateUnsafeMetadata:(i,s)=>ht(e,i,s),updateProfile:(i,s)=>o(n("/update-user",i,s,te)),changeEmail:(i,s)=>o(n("/change-email",i,s,te)),changePassword:(i,s)=>o(n("/change-password",i,s,Mo)),listSessions:i=>e.request("/list-sessions",{fetchOptions:i,decode:Fo}),revokeSession:({sessionId:i},s)=>o(n("/revoke-session",{sessionId:i},s,te)),revokeOtherSessions:i=>o(n("/revoke-other-sessions",{},i,te)),listSocialAccounts:async i=>{let s=await e.request("/list-accounts",{fetchOptions:i,decode:Ho});if(!s.data)return {data:null,error:s.error};let r=s.data.length>1;return {...s,data:s.data.filter(a=>a.providerId!=="credential").map(a=>({...a,canUnlink:r}))}},linkSocial:(i,s)=>n("/link-social",i,s,qo),unlinkSocial:(i,s)=>o(n("/unlink-account",i,s,te)),delete:(i={},s)=>o(n("/delete-user",i,s,Vo))}}function te(e){let t=p(e);return {status:I(t.status)}}function Mo(e){let t=p(e);return {user:_(t.user)}}function Fo(e){return Array.isArray(e)||d(),e.map(t=>{let n=p(t);return {id:S(n.id),userId:S(n.userId),createdAt:x(n.createdAt),updatedAt:x(n.updatedAt),expiresAt:x(n.expiresAt),...bt("ipAddress",P(n,"ipAddress")),...bt("userAgent",P(n,"userAgent"))}})}function Ho(e){return Array.isArray(e)||d(),e.map(t=>{let n=p(t);return {id:S(n.id),userId:S(n.userId),providerId:S(n.providerId),accountId:S(n.accountId),scopes:se(n.scopes),createdAt:x(n.createdAt),updatedAt:x(n.updatedAt)}})}function qo(e){let t=p(e);return {url:S(t.url),redirect:I(t.redirect)}}function Vo(e){let t=p(e);return {success:I(t.success),message:S(t.message)}}function bt(e,t){return t===void 0?{}:{[e]:t}}function Ee(e,t){return !e||!t?false:e.permissions.includes(t)}function Ko(e,t){return !e||!t?false:e.teams?.includes(t)??false}function De(e,t){if(!e)return false;let{role:n,permission:o,teamId:i}=t;return !(n===void 0&&o===void 0&&i===void 0||n!==void 0&&e.role!==n||o!==void 0&&!e.permissions.includes(o)||i!==void 0&&!Ko(e,i))}function Bo(e){return {has:t=>De(e,t),hasPermission:t=>Ee(e,t.permission)}}var jo=new Set(["pending","accepted","rejected","canceled"]),wt=1e4;function W(e,t,n){let o=p(e),i={id:k(o.id),name:k(o.name),slug:k(o.slug),createdAt:x(o.createdAt),...ue("logo",P(o,"logo")),...ue("metadata",o.metadata===void 0?void 0:xe(o.metadata))};return H(i.id,t),H(i.slug,n),i}function Ot(e){return q(e,W)}function ze(e,t,n){return e===null?null:(t===null&&d(),W(e,t,n))}function kt(e,t,n){if(e===null)return null;let o=p(e),i=W(o,t,n);return {...i,members:q(o.members,s=>_t(s,i.id)),invitations:q(o.invitations,s=>M(s,void 0,i.id))}}function St(e,t){let n=q(e,o=>Ut(o));return ce(n.map(o=>o.organizationId),t),n}function Rt(e,t,n){return e===null?null:(t===null&&d(),Ut(e,t,n))}function Tt(e,t){let n=p(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&d(),{members:Jo(n.members,t),total:n.total}}function M(e,t,n){let o=p(e),i=k(o.status);jo.has(i)||d();let s={id:k(o.id),organizationId:k(o.organizationId),email:k(o.email),role:k(o.role),status:i,inviterId:k(o.inviterId),expiresAt:x(o.expiresAt),createdAt:x(o.createdAt)};return H(s.id,t),H(s.organizationId,n),s}function It(e,t){let n=q(e,o=>M(o));return ce(n.map(o=>o.organizationId),t),n}function Pt(e){return q(e,t=>{let n=p(t);return {...M(n),organizationName:k(n.organizationName)}})}function xt(e,t){let n=p(e);return {...M(n,t),organizationName:k(n.organizationName),organizationSlug:k(n.organizationSlug),inviterEmail:k(n.inviterEmail)}}function Ct(e,t){let n=p(e),o=M(n.invitation,t);return {invitation:o,member:X(n.member,void 0,o.organizationId)}}function vt(e,t){let n=p(e);return n.member!==null&&d(),{invitation:n.invitation===null?null:M(n.invitation,t),member:null}}function Et(e,t){return e===null?null:M(e,t)}function Dt(e,t,n){let o=p(e);return {member:X(o.member,n,t)}}function X(e,t,n){let o=p(e),i={id:k(o.id),organizationId:k(o.organizationId),userId:k(o.userId),role:k(o.role),createdAt:x(o.createdAt),...o.user===void 0?{}:{user:Nt(o.user)}};return H(i.id,t),H(i.organizationId,n),i}function zt(e,t){let n=q(e,o=>{let i=p(o);return {organizationId:k(i.organizationId),data:{role:k(i.role),...ue("permission",i.permission===void 0?void 0:$o(i.permission))}}});return ce(n.map(o=>o.organizationId),t),n.map(o=>o.data)}function Ut(e,t,n){let o=p(e),i=o.updatedAt,s={id:k(o.id),name:k(o.name),organizationId:k(o.organizationId),createdAt:x(o.createdAt),...i===void 0?{}:{updatedAt:x(i)}};return H(s.id,t),H(s.organizationId,n),s}function _t(e,t){let n=p(e);return {...X(n,void 0,t),user:Nt(n.user)}}function Jo(e,t){let n=q(e,o=>_t(o));return ce(n.map(o=>o.organizationId),t),n}function $o(e){let t=p(e),n={};for(let[o,i]of Object.entries(t))(o==="__proto__"||o==="constructor"||o==="prototype"||o.length===0||o.length>wt||!Array.isArray(i))&&d(),n[o]=i.map(s=>k(s));return n}function k(e){let t=S(e);return (t.length===0||t.length>wt)&&d(),t}function H(e,t){t!==void 0&&e!==t&&d();}function ce(e,t){let n=t??e[0];n!==void 0&&e.some(o=>o!==n)&&d();}function Nt(e){let t=p(e);return {id:k(t.id),name:k(t.name),email:k(t.email),...ue("image",P(t,"image"))}}function q(e,t){return Array.isArray(e)||d(),e.map(n=>t(n))}function ue(e,t){return t===void 0?{}:{[e]:t}}function Lt(e,t,n=()=>null){let{post:o,mutation:i}=G(e,t),s=(r,a,u,m)=>e.request(r,{query:a,fetchOptions:u,decode:m});return {create:(r,a)=>i(o("/organization/create",r,a,W)),list:r=>s("/organization/list",void 0,r,Ot),get:(r={},a)=>s("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},a,u=>kt(u,r.organizationId,r.organizationSlug)),setActive:(r,a)=>i(o("/organization/set-active",r,a,u=>ze(u,r.organizationId,r.organizationSlug))),listTeams:(r={},a)=>s("/organization/list-teams",{organizationId:r.organizationId},a,u=>St(u,r.organizationId)),setActiveTeam:(r,a)=>i(o("/organization/set-active-team",r,a,u=>Rt(u,r.teamId))),update:(r,a)=>i(o("/organization/update",r,a,u=>ze(u,r.organizationId))),delete:(r,a)=>i(o("/organization/delete",r,a,u=>W(u,r.organizationId))),listMembers:(r={},a)=>s("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},a,u=>Tt(u,r.organizationId)),inviteMember:(r,a)=>i(o("/organization/invite-member",r,a,u=>M(u,void 0,r.organizationId))),listInvitations:(r={},a)=>s("/organization/list-invitations",{organizationId:r.organizationId},a,u=>It(u,r.organizationId)),listUserInvitations:r=>s("/organization/list-user-invitations",void 0,r,Pt),getInvitation:(r,a)=>s("/organization/get-invitation",{id:r.id},a,u=>xt(u,r.id)),acceptInvitation:(r,a)=>i(o("/organization/accept-invitation",r,a,u=>Ct(u,r.invitationId))),rejectInvitation:(r,a)=>i(o("/organization/reject-invitation",r,a,u=>vt(u,r.invitationId))),cancelInvitation:(r,a)=>i(o("/organization/cancel-invitation",r,a,u=>Et(u,r.invitationId))),removeMember:(r,a)=>i(o("/organization/remove-member",r,a,u=>Dt(u,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,a)=>i(o("/organization/update-member-role",r,a,u=>X(u,r.memberId,r.organizationId))),leave:(r,a)=>i(o("/organization/leave",r,a,u=>X(u,void 0,r.organizationId))),listRoles:(r={},a)=>s("/organization/list-roles",{organizationId:r.organizationId},a,u=>zt(u,r.organizationId)),has:r=>De(n(),r),hasPermission:r=>Ee(n(),r.permission)}}var Mt=4096,Go=4096,Wo=100,Xo=256,Yo=16,Qo=64,Zo=12;function _e(e){let t=p(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&d(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:nn(t.twoFactorMethods,Yo,Qo)}}):(t.twoFactorRedirect!==void 0&&d(),{redirect:I(t.redirect),...ii(t,"url"),user:_(t.user)})}function Ft(e){let t=p(e);return {user:_(t.user)}}function Ht(e){let t=p(e);return {sessionCreated:I(t.sessionCreated),user:_(t.user)}}function qt(e,t){let n=p(e),o=I(n.redirect);n.user===null&&d();let i=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return o?((i||!s)&&d(),{redirect:true,url:Ue(n.url,t)}):(i===s&&d(),i?{redirect:false,user:_(n.user)}:{redirect:false,url:Ue(n.url,t)})}function Vt(e,t){let n=p(e);return (n.redirect!==true||n.user!==void 0)&&d(),{redirect:true,url:Ue(n.url,t)}}function Kt(e){return {status:I(p(e).status)}}function Bt(e){return {success:I(p(e).success)}}function jt(e){return p(e).status!=="pending"&&d(),{status:"pending"}}function Jt(e){let t=p(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&d();let n=p(t.turnstile),o=n.siteKey===null?null:S(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:S(t.connectionId),challenge:S(t.challenge),difficulty:ei(t.difficulty),challengeToken:S(t.challengeToken),challengeRequired:I(t.challengeRequired),turnstile:{required:I(n.required),siteKey:o}}}function ei(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>Zo)&&d(),Number(e)}function $t(e){let t=p(e);return (t.status!==true||t.sessionCreated!==true)&&d(),{status:true,sessionCreated:true,user:ti(t.user)}}function Ne(e){return {status:I(p(e).status)}}function Gt(e){return {status:I(p(e).status)}}function Wt(e){let t=p(e);return {status:I(t.status),user:_(t.user)}}function Xt(e){return {success:I(p(e).success)}}function Yt(e){let t=p(e);return {totpURI:oi(t.totpURI),backupCodes:tn(t.backupCodes)}}function Qt(e){return {status:I(p(e).status)}}function de(e){return p(e).status!==true&&d(),{status:true}}function Zt(e){return {status:I(p(e).status)}}function en(e){let t=p(e);return t.status!==void 0&&t.status!==true&&d(),{backupCodes:tn(t.backupCodes)}}function ti(e){let t=p(e);return {id:Y(t.id,512),...ri(t,"name",1024),phoneNumber:Y(t.phoneNumber,64),phoneNumberVerified:I(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:x(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:x(t.updatedAt)}}}function Ue(e,t){let n=Y(e,Mt);/[\u0000-\u0020\u007f]/u.test(n)&&d();let o;try{o=new URL(n);}catch{return d()}return (o.username||o.password)&&d(),o.protocol==="https:"||t&&o.protocol==="http:"&&ni(o.hostname)?o.href:d()}function ni(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function oi(e){let t=Y(e,Go),n;try{n=new URL(t);}catch{return d()}let o=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||o===null||o.length===0||o.length>512||/\s/u.test(o))&&d(),t}function tn(e){return nn(e,Wo,Xo)}function nn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&d();let o=e.map(i=>Y(i,n));return o.some(i=>i.trim().length===0)&&d(),new Set(o).size!==o.length&&d(),o}function Y(e,t){let n=S(e);return (n.length===0||n.length>t)&&d(),n}function ii(e,t){let n=e[t];return n==null?{}:{[t]:Y(n,Mt)}}function ri(e,t,n){let o=P(e,t);return o===void 0?{}:(o!==null&&o.length>n&&d(),{[t]:o})}var on=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),le=new Set([9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279]);function pe(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let o=n.codePointAt(0);if(o===void 0||sn(n,o)||rn(o)||on.has(o))return {valid:false}}let t=si(e);return Le(t)?{valid:true,value:t}:{valid:false}}function Le(e){let t=0,n,o;for(let i of e){if(t+=1,t>256)return false;let s=i.codePointAt(0);if(s===void 0||sn(i,s)||rn(s)||on.has(s))return false;n??=s,o=s;}return t>0&&n!==void 0&&o!==void 0&&!le.has(n)&&!le.has(o)}function fe(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_PASSKEY_NAME",message:"Passkey names must contain 1 to 256 safe Unicode characters."}}}function si(e){let t=0,n=e.length;for(;t<n;){let o=e.codePointAt(t);if(o===void 0||!le.has(o))break;t+=o>65535?2:1;}for(;n>t;){let o=e.codePointAt(n-1);if(o===void 0)break;let s=o>=56320&&o<=57343?n-2:n-1,r=e.codePointAt(s);if(r===void 0||!le.has(r))break;n=s;}return e.slice(t,n)}function rn(e){return e>=0&&e<=31||e>=127&&e<=159}function sn(e,t){return e.length===1&&t>=55296&&t<=57343}var cn=12,dn=5e3,ai=8,ui=1e3,ci=16,an=512,ln=100,pn=8192,di=32768,Me=1024,un=256,He=64,li=6e5,pi=/^[A-Za-z0-9_-]+$/u,fi=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,gi=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,mi=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,hi=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,fn=new Set(["discouraged","preferred","required"]),yi=new Set(["singleDevice","multiDevice"]),gn=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),mn=new Set(["hybrid","security-key","client-device"]),bi=new Set(["none","indirect","direct","enterprise"]),Ai=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),wi=new Set(["platform","cross-platform"]),Oi=new Set(["discouraged","preferred","required"]),ki=new Set([-8,-7,-257]);function hn(e){let t=L(e,cn,dn);return {challenge:In(t.challenge),...v("timeout",Rn(t.timeout)),...v("rpId",Pn(t.rpId)),...v("allowCredentials",Sn(t.allowCredentials)),...v("userVerification",ne(t.userVerification,fn)),...v("hints",ge(t.hints,mn)),...v("extensions",Tn(t.extensions))}}function yn(e){let t=L(e,cn,dn);return {challenge:In(t.challenge),rp:Si(t.rp),user:Ri(t.user),pubKeyCredParams:Ti(t.pubKeyCredParams),...v("timeout",Rn(t.timeout)),...v("excludeCredentials",Sn(t.excludeCredentials)),...v("authenticatorSelection",Ii(t.authenticatorSelection)),...v("attestation",ne(t.attestation,bi)),...v("attestationFormats",ge(t.attestationFormats,Ai)),...v("hints",ge(t.hints,mn)),...v("extensions",Tn(t.extensions))}}function bn(e){let t=p(e),n=ae(t.session),o=_(t.user);return n.userId!==o.id&&d(),{session:n,user:o}}function qe(e){let t=p(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&d();let o=Ve(t.deviceType,yi),i=I(t.backedUp);return i&&o!=="multiDevice"&&d(),{id:Q(t.id,un),...Ci(t),publicKey:Pi(t.publicKey,di),userId:Q(t.userId,un),credentialID:he(t.credentialID,pn),counter:n,deviceType:o,backedUp:i,...vi(t),createdAt:x(t.createdAt),...Ei(t)}}function An(e,t,n){let o=qe(e);return (o.credentialID!==t||(n===void 0?o.name!==void 0&&o.name!==null:o.name!==n))&&d(),o}function wn(e){(!Array.isArray(e)||e.length>ln)&&d();let t=e.map(qe);return me(t.map(n=>n.id)),me(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&d(),t}function On(e,t,n){let o=p(e),i=qe(o.passkey);return (i.id!==t||i.name!==n)&&d(),{passkey:i}}function kn(e){return p(e).status!==true&&d(),{status:true}}function Si(e){let t=p(e);return {name:Fe(t.name,Me),...v("id",Pn(t.id))}}function Ri(e){let t=p(e);return {id:he(t.id,128,1,64),name:Fe(t.name,Me),displayName:Fe(t.displayName,Me)}}function Ti(e){(!Array.isArray(e)||e.length===0||e.length>He)&&d();let t=e.map(n=>{let o=p(n);return (o.type!=="public-key"||!Number.isSafeInteger(o.alg)||!ki.has(o.alg))&&d(),{type:"public-key",alg:o.alg}});return Di(t.map(n=>n.alg)),t}function Sn(e){if(e===void 0)return;(!Array.isArray(e)||e.length>ln)&&d();let t=e.map(n=>{let o=p(n);return o.type!=="public-key"&&d(),{type:"public-key",id:he(o.id,pn),...v("transports",ge(o.transports,gn))}});return me(t.map(n=>n.id)),t}function Ii(e){if(e===void 0)return;let t=p(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&d();let n=ne(t.residentKey,Oi);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&d(),{...v("authenticatorAttachment",ne(t.authenticatorAttachment,wi)),...v("residentKey",n),...v("requireResidentKey",t.requireResidentKey),...v("userVerification",ne(t.userVerification,fn))}}function Rn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>li)&&d(),e}function Tn(e){return e===void 0?void 0:L(e,ai,ui)}function ge(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>He)&&d();let n=e.map(o=>Ve(o,t));return me(n),n}function ne(e,t){if(e!==void 0)return Ve(e,t)}function In(e){return he(e,Math.ceil(an*4/3),ci,an)}function he(e,t,n=1,o=Number.POSITIVE_INFINITY){let i=Q(e,t),s=i.length%4,r=xi(i.at(-1)??""),a=Math.floor(i.length*3/4);return (!pi.test(i)||s===1||s===2&&(r&15)!==0||s===3&&(r&3)!==0||a<n||a>o)&&d(),i}function Q(e,t){let n=S(e);return (n.length===0||n.length>t)&&d(),n}function Fe(e,t){let n=Q(e,t);return gi.test(n)&&d(),n}function Pn(e){if(e===void 0)return;let t=Q(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!mi.test(n)))&&d(),t}function Pi(e,t){let n=Q(e,t),o=n.endsWith("=="),i=!o&&n.endsWith("="),s=n.at(o?-3:i?-2:-1)??"",r=xn(s);return (n.length%4!==0||!fi.test(n)||o&&(r&15)!==0||i&&(r&3)!==0)&&d(),n}function xi(e){return xn(e,true)}function xn(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function Ci(e){let t=P(e,"name");return t===void 0?{}:(t!==null&&!Le(t)&&d(),{name:t})}function vi(e){let t=P(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>He||n.some(o=>!gn.has(o))||new Set(n).size!==n.length)&&d(),{transports:t}}function Ei(e){let t=P(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(hi.test(t)||d(),{aaguid:t})}function Ve(e,t){let n=S(e);return t.has(n)||d(),n}function v(e,t){return t===void 0?{}:{[e]:t}}function me(e){new Set(e).size!==e.length&&d();}function Di(e){new Set(e).size!==e.length&&d();}function qi(e,t){if(!t)return e;let n=t.catch(()=>{});return n.then(()=>{n=null;}),{async request(o,i){return n&&await n,e.request(o,i)}}}var _n=new Map;function Vi(e,t,n){let o=_n.get(n);return o||(o=Promise.resolve().then(()=>(be(),ye)).then(i=>i.completeCrossSiteSignIn(e,t)),_n.set(n,o)),o}function Nn(e){return !ee()||e.idToken||e.disableRedirect?"legacy":"first-party"}function Ki(e,t=()=>{},n=Ji){let o=Ie(e),i=e.session.tokens,s=ee()?Vi(o,i,e.decoded.projectId):void 0,r=qi(o,s),a=ft({http:r,probe:Ie({...e,fetch:e.session.probe}),tokens:i,channelName:`authowl:${e.decoded.projectId}`}),u=n(r,a.notifyMutation),m=()=>{a.notifyMutation(),t();},{post:f,mutation:y}=G(r,m),b=e.decoded.env==="test",A=c=>{i.beginSession({remember:c?.rememberMe!==false});};return {sessionStore:a.store,getSession:a.getSession,account:At(r,m),organization:Lt(r,m,()=>a.store.getSnapshot().data?.session.membership??null),signIn:{email:(c,l)=>(A(c),y(f("/sign-in/email",c,l,_e),g=>!("twoFactorRedirect"in g))),username:(c,l)=>(A(c),y(f("/sign-in/username",c,l,_e),g=>!("twoFactorRedirect"in g))),social:async(c,l)=>{if(A(),Nn(c)==="first-party"){let{beginCrossSiteSignIn:O}=await Promise.resolve().then(()=>(be(),ye)),R=await O(e,{kind:"social",provider:c.provider,callbackURL:c.callbackURL,errorCallbackURL:c.errorCallbackURL,newUserCallbackURL:c.newUserCallbackURL,scopes:c.scopes,loginHint:c.loginHint,requestSignUp:c.requestSignUp});if(R)return window.location.assign(R),{data:{redirect:true,url:R},error:null}}let g=await y(f("/sign-in/social",c,l,O=>qt(O,b)),O=>"user"in O);return g.error!==null||g.data===null||"url"in g.data&&g.data.redirect&&!c.disableRedirect&&typeof window<"u"&&window.location.assign(g.data.url),g},sso:async(c,l)=>{if(Nn(c)==="first-party"){let{beginCrossSiteSignIn:O}=await Promise.resolve().then(()=>(be(),ye)),R=await O(e,{kind:"sso",email:c.email,providerId:c.providerId,domain:c.domain,organizationSlug:c.organizationSlug,callbackURL:c.callbackURL,errorCallbackURL:c.errorCallbackURL,newUserCallbackURL:c.newUserCallbackURL});if(R)return window.location.assign(R),{data:{url:R,redirect:true},error:null}}let g=await f("/sign-in/sso",c,l,O=>Vt(O,b));return g.error!==null||g.data===null||typeof window<"u"&&window.location.assign(g.data.url),g},magicLink:(c,l)=>f("/sign-in/magic-link",c,l,Kt),emailOtp:(c,l)=>(A(),y(f("/sign-in/email-otp",c,l,Ft))),passkey:(c,l)=>(A(),u.signIn(c,l))},signUp:{email:(c,l)=>(A(),y(f("/sign-up/email",c,l,Ht),g=>g.sessionCreated))},emailOtp:{sendVerificationOtp:(c,l)=>f("/email-otp/send-verification-otp",c,l,Bt),verifyEmail:(c,l)=>(A(),y(f("/email-otp/verify-email",c,l,Wt)))},phoneOtp:{prepare:c=>f("/phone-otp/challenge",{},c,Jt),start:(c,l)=>f("/phone-otp/start",{...c,idempotencyKey:c.idempotencyKey??gt()},l,jt),verify:(c,l)=>(A(),y(f("/phone-otp/verify",c,l,$t)))},requestPasswordReset:(c,l)=>f("/request-password-reset",c,l,Ne),resetPassword:(c,l)=>f("/reset-password",c,l,Ne),sendVerificationEmail:(c,l)=>f("/send-verification-email",c,l,Gt),passkey:{addPasskey:(c,l)=>u.add(c,l),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:wn}),updatePasskey:async(c,l)=>{let g=pe(c.name);if(!g.valid||g.value===void 0)return fe();let O=g.value;return f("/passkey/update-passkey",{...c,name:O},l,R=>On(R,c.id,O))},deletePasskey:(c,l)=>f("/passkey/delete-passkey",c,l,kn)},twoFactor:{enable:(c,l)=>f("/two-factor/enable",c,l,Yt),disable:(c,l)=>y(f("/two-factor/disable",c,l,Qt),g=>g.status),verifyTotp:(c,l)=>y(f("/two-factor/verify-totp",c,l,de)),verifyBackupCode:(c,l)=>y(f("/two-factor/verify-backup-code",c,l,de)),sendOtp:(c={},l)=>f("/two-factor/send-otp",c,l,Zt),verifyOtp:(c,l)=>y(f("/two-factor/verify-otp",c,l,de)),generateBackupCodes:(c,l)=>f("/two-factor/generate-backup-codes",c,l,en)},signOut:c=>y(r.request("/sign-out",{method:"POST",body:{},fetchOptions:c,decode:Xt}).then(l=>(i.endSession(),l)),l=>l.success)}}function Be(e,t=()=>{},n){let o=Ki(e,t,n);return n?{...o,signIn:{email:o.signIn.email,username:o.signIn.username,social:Ln(o),magicLink:o.signIn.magicLink,emailOtp:o.signIn.emailOtp,passkey:o.signIn.passkey},passkey:{listUserPasskeys:o.passkey.listUserPasskeys,updatePasskey:o.passkey.updatePasskey,deletePasskey:o.passkey.deletePasskey,addPasskey:o.passkey.addPasskey}}:{...o,signIn:{email:o.signIn.email,username:o.signIn.username,social:Ln(o),magicLink:o.signIn.magicLink,emailOtp:o.signIn.emailOtp},passkey:{listUserPasskeys:o.passkey.listUserPasskeys,updatePasskey:o.passkey.updatePasskey,deletePasskey:o.passkey.deletePasskey}}}function Ln(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return Bi();let o=await e.signIn.social({...t,disableRedirect:true},n);return o.data!==null&&"url"in o.data?ji():o}}function Bi(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"NATIVE_SOCIAL_ID_TOKEN_REQUIRED",message:"Native social sign-in requires a provider ID token."}})}function ji(){return Promise.resolve({data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_NATIVE_SOCIAL_RESPONSE",message:"The server returned a redirect for native ID-token sign-in."}})}function Ji(){return {signIn:()=>Mn(),add:()=>Mn()}}function Mn(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"PASSKEY_BROWSER_REQUIRED",message:"This passkey ceremony requires a browser with WebAuthn."}})}function $i(e,t,n){let o=new Map;return {async signIn(i={},s){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return qn(r.error);let a;try{a=hn(r.data);}catch{return Fn()}let u;try{u=await n.authenticate({optionsJSON:a,useBrowserAutofill:i.autoFill});}catch(A){return Vn(n,A,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!Gi(u))return Hn();let{clientExtensionResults:m,...f}=u,y=o.get(u.id);if(y)return y;let b=(async()=>{let A=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:f},fetchOptions:s,decode:bn});return A.data&&t(),A})();o.set(u.id,b);try{return await b}finally{o.get(u.id)===b&&o.delete(u.id);}},async add(i={},s){let r=pe(i.name);if(!r.valid)return fe();let a=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:i.authenticatorAttachment}});if(!a.data)return qn(a.error);let u;try{u=yn(a.data);}catch{return Fn()}let m;try{m=await n.register({optionsJSON:u});}catch(A){return Vn(n,A,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!Wi(m))return Hn();let{clientExtensionResults:f,...y}=m,b=await e.request("/passkey/verify-registration",{method:"POST",body:{response:y,name:r.value},fetchOptions:s,decode:A=>An(A,m.id,r.value)});return b.data&&t(),b}}}function Fn(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function Hn(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function Kn(e){if(!e||typeof e!="object")return false;let t=e;return typeof t.id=="string"&&t.id.length>0&&typeof t.rawId=="string"&&t.rawId.length>0&&t.type==="public-key"&&!!t.response&&typeof t.response=="object"}function Gi(e){if(!Kn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.authenticatorData=="string"&&typeof t.signature=="string"&&(t.userHandle===void 0||typeof t.userHandle=="string")}function Wi(e){if(!Kn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function qn(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function Vn(e,t,n,o){let i=Yi(t,"page does not have focus"),s=e.errorCode?.(t),r=s!==void 0?s==="ERROR_CEREMONY_ABORTED":Xi(t)==="AbortError";return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:i?"PASSKEY_PAGE_NOT_FOCUSED":r?n:s??"PASSKEY_BROWSER_ERROR",message:i?"Keep this page focused while completing the passkey prompt.":r?o:n==="AUTH_CANCELLED"?"Passkey authentication could not be completed by this browser.":"Passkey registration could not be completed by this browser."}}}function Xi(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Yi(e,t){let n=t.toLowerCase(),o=new Set,i=e;for(;i&&typeof i=="object"&&!o.has(i);){if(o.add(i),"message"in i&&typeof i.message=="string"&&i.message.toLowerCase().includes(n))return true;i="cause"in i?i.cause:void 0;}return false}async function Qi(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return ct(await re(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:o=>Zi(o,e)}),"public-config")}function Zi(e,t){let n=L(e),o=n.environmentId,i=n.environmentType,s=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!er(n.applicationId)||o!==t.decoded.projectId||i!=="development"&&i!=="production"||n.authBaseUrl!==s)throw N();let r=z(n.branding),a=z(n.legal);if(!je(n.enabledMethods,64)||!je(n.socialProviders,64)||!jn(r,["appName","logoUrl","primaryColor"])||r.showAppName!==void 0&&typeof r.showAppName!="boolean"||r.alignment!==void 0&&r.alignment!=="left"&&r.alignment!=="center"&&r.alignment!=="right"||r.theme!==void 0&&r.theme!=="light"&&r.theme!=="dark"&&r.theme!=="system"||!jn(a,["termsUrl","privacyUrl"])||!Number.isSafeInteger(a.version)||a.version<0||typeof a.required!="boolean")throw N();if(n.socialProviderClientIds!==void 0){let u=z(n.socialProviderClientIds);if(Object.keys(u).length>64||Object.values(u).some(m=>typeof m!="string"||m.length>2048))throw N()}if(!F(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!Bn(n.turnstileSiteKey)||!Bn(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw N();if(n.jwtIssuer!==null){let u=z(n.jwtIssuer);if(u.issuer!==s||u.jwksUrl!==`${s}/jwks`||u.aud!==t.decoded.projectId)throw N()}if(n.signUp!==void 0){let u=z(n.signUp).mode;if(typeof u!="string"||!["open","restricted","allowlist","waitlist"].includes(u))throw N()}if(n.authentication!==void 0&&tr(n.authentication),n.emailVerification!==void 0){let u=z(n.emailVerification);if(!F(u,["required"])||u.method!=="link"&&u.method!=="code")throw N()}if(n.userModel!==void 0&&!F(z(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw N();if(n.mfa!==void 0){let u=z(n.mfa);if(!F(u,["totp","required","backupCodes"])||(u.required===true||u.backupCodes===true)&&u.totp!==true)throw N()}return n}function er(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function N(){return new TypeError("public-config returned an invalid response")}function z(e){if(!e||typeof e!="object"||Array.isArray(e))throw N();return e}function Bn(e){return e===null||typeof e=="string"&&e.length<=4096}function tr(e){let t=z(e),n=z(t.email),o=z(t.password),i=o.minLength!==void 0||o.maxLength!==void 0;if(!F(n,["signUp"])||!je(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!F(z(t.phone),["signUp","signIn"])||!F(o,["signUp","add"])||i&&(!Number.isSafeInteger(o.minLength)||!Number.isSafeInteger(o.maxLength)||o.minLength<1||o.maxLength>4096||o.minLength>o.maxLength)||!F(z(t.passkey),["signIn","add"])||!F(z(t.username),["collectOnSignUp","signIn"]))throw N()}function F(e,t){return t.every(n=>typeof e[n]=="boolean")}function jn(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function je(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}function nr(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),o=t.includes("passkey"),i=e?.authentication,s=e?.mfa;return {emailSignUp:i?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:i?.password.signUp??n,phoneSignUp:i?.phone.signUp??t.includes("phone_otp"),passwordSignIn:i?.email.signIn.includes("password")??n,passwordMinLength:i?.password.minLength??8,passwordMaxLength:i?.password.maxLength??128,magicLinkSignIn:i?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:i?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:i?.phone.signIn??t.includes("phone_otp"),usernameSignIn:i?.username.signIn??false,collectUsername:i?.username.collectOnSignUp??false,passkeySignIn:i?.passkey.signIn??o,passkeyAdd:i?.passkey.add??o,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:s?.totp??e?.twoFactor??false,mfaRequired:s?.required??e?.mfaRequired??false,backupCodes:s?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}function or(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}function bs(e,t){return Be(Oe(e),t)}
2
+ exports.createMembershipHas=Bo;exports.createNativeAuthClient=Be;exports.createNativeClient=bs;exports.createPasskeyClient=$i;exports.decodePublishableKey=Ae;exports.getPublicConfig=Qi;exports.resolveConfig=Oe;exports.resolveProjectCapabilities=nr;exports.sessionCookieName=or;
package/dist/native.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-B3m6PbmO.cjs';
2
- export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig, s as sessionCookieName } from './organization-membership-B3m6PbmO.cjs';
3
- import { k as AuthOwlClient, aL as SocialIdTokenOptions, bd as createAuthHttpClient, be as AuthHttpClient, al as PasskeySignInOptions, f as ActionFetchOptions, h as AuthActionResult, ak as PasskeyAuthData, g as AddPasskeyOptions, m as AuthPasskey } from './client-DOOkDLWg.cjs';
4
- export { i as AuthClientError, p as AuthSession, q as AuthUser, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, as as ProjectCapabilities, at as PublicConfig, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aK as SocialAuthData, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client-DOOkDLWg.cjs';
1
+ import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership--eTrgk_L.cjs';
2
+ export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig, s as sessionCookieName } from './organization-membership--eTrgk_L.cjs';
3
+ import { k as AuthOwlClient, aL as SocialIdTokenOptions, bd as createAuthHttpClient, be as AuthHttpClient, al as PasskeySignInOptions, f as ActionFetchOptions, h as AuthActionResult, ak as PasskeyAuthData, g as AddPasskeyOptions, m as AuthPasskey } from './client--0Q9VjLt.cjs';
4
+ export { i as AuthClientError, p as AuthSession, q as AuthUser, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, as as ProjectCapabilities, at as PublicConfig, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aK as SocialAuthData, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client--0Q9VjLt.cjs';
5
5
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
6
6
 
7
7
  type AuthActionClient = Omit<AuthOwlClient, 'getToken' | 'getConsentStatus' | 'acceptConsent' | 'waitlist'>;
package/dist/native.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-B3m6PbmO.js';
2
- export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig, s as sessionCookieName } from './organization-membership-B3m6PbmO.js';
3
- import { k as AuthOwlClient, aL as SocialIdTokenOptions, bd as createAuthHttpClient, be as AuthHttpClient, al as PasskeySignInOptions, f as ActionFetchOptions, h as AuthActionResult, ak as PasskeyAuthData, g as AddPasskeyOptions, m as AuthPasskey } from './client-jpaYv3wu.js';
4
- export { i as AuthClientError, p as AuthSession, q as AuthUser, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, as as ProjectCapabilities, at as PublicConfig, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aK as SocialAuthData, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client-jpaYv3wu.js';
1
+ import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership--eTrgk_L.js';
2
+ export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig, s as sessionCookieName } from './organization-membership--eTrgk_L.js';
3
+ import { k as AuthOwlClient, aL as SocialIdTokenOptions, bd as createAuthHttpClient, be as AuthHttpClient, al as PasskeySignInOptions, f as ActionFetchOptions, h as AuthActionResult, ak as PasskeyAuthData, g as AddPasskeyOptions, m as AuthPasskey } from './client-DwK6spWA.js';
4
+ export { i as AuthClientError, p as AuthSession, q as AuthUser, a4 as Organization, a5 as OrganizationClient, a6 as OrganizationDetails, as as ProjectCapabilities, at as PublicConfig, aE as SessionState, aF as SessionStore, aG as SetActiveOrganizationOptions, aK as SocialAuthData, bb as getPublicConfig, bc as resolveProjectCapabilities } from './client-DwK6spWA.js';
5
5
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
6
6
 
7
7
  type AuthActionClient = Omit<AuthOwlClient, 'getToken' | 'getConsentStatus' | 'acceptConsent' | 'waitlist'>;
package/dist/native.js CHANGED
@@ -1 +1 @@
1
- import {f}from'./chunk-MX7KKUAW.js';export{f as createNativeAuthClient,g as createPasskeyClient,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-MX7KKUAW.js';import {e}from'./chunk-KPXCQZUX.js';export{v as createMembershipHas,a as decodePublishableKey,e as resolveConfig,b as sessionCookieName}from'./chunk-KPXCQZUX.js';import'./chunk-T5SH3ZZP.js';function u(i,o){return f(e(i),o)}export{u as createNativeClient};
1
+ import {i}from'./chunk-4VJL4WGF.js';export{i as createNativeAuthClient,j as createPasskeyClient,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-4VJL4WGF.js';import {f}from'./chunk-RRP2XNYV.js';export{w as createMembershipHas,a as decodePublishableKey,f as resolveConfig,b as sessionCookieName}from'./chunk-RRP2XNYV.js';import'./chunk-T5SH3ZZP.js';function u(i$1,o){return i(f(i$1),o)}export{u as createNativeClient};