@authowl/core 0.24.0 → 0.24.1

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.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var No=Object.defineProperty;var ot=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var Qt=(e,t)=>{for(var n in t)No(e,n,{get:t[n],enumerable:true});};var Sn={};Qt(Sn,{abandonSession:()=>mn,bindingNonce:()=>On,boundedSessionFetch:()=>De,clearSessionProofKeyMemoryForTests:()=>rr,cookieCapability:()=>gn,createSessionProof:()=>wn,createStoredSessionProof:()=>lr,prepareSenderConstrainedSession:()=>ir,sessionProofKey:()=>_e});async function De(e,t,n,i){let o=new AbortController,r,c=new Promise((u,a)=>{r=setTimeout(()=>{o.abort(),a(new Error("AuthOwl session transport request timed out."));},i);});try{return await Promise.race([e(t,{...n,signal:o.signal}),c])}finally{clearTimeout(r);}}async function gn(e,t,n){let i=await De(e,t,{method:"POST",credentials:"include",headers:n},1e4);if(i.status===404||i.status===405)return "legacy";if(i.status!==204)throw new Error("AuthOwl cookie capability check failed.");let o=await De(e,t,{method:"GET",credentials:"include",headers:n},1e4);if(o.status===404||o.status===405)return "legacy";if(o.status!==200)throw new Error("AuthOwl cookie capability check failed.");let r=await o.text();if(new TextEncoder().encode(r).byteLength>128)throw new Error("AuthOwl cookie capability response is invalid.");let c;try{c=JSON.parse(r);}catch{throw new Error("AuthOwl cookie capability response is invalid.")}if(!c||typeof c!="object"||Array.isArray(c)||Object.keys(c).length!==1||typeof c.cookieSupported!="boolean")throw new Error("AuthOwl cookie capability response is invalid.");return c.cookieSupported}async function mn(e,t,n,i){let o=new Headers(n);o.set("authorization",i),o.set("x-authowl-session-transport","bearer");try{await De(e,t,{method:"POST",credentials:"include",headers:o},2e3);}catch{}}async function ir(e){let{tokens:t}=e;if(t.beginSession(e.start),!e.clientOrigin)return {binding:null,cookieOnly:false};let n=null;if(t.hasToken()){let r=t.bindingThumbprint();if(r)try{let c=await _e(e.clientOrigin);if(c.thumbprint!==r)throw new Error("Session proof key changed.");n=c;}catch{let c=new Headers;t.declareOn(c);let u=c.get("authorization");u&&await mn(e.fetcher,`${e.projectBaseURL}/session/abandon`,e.headers,u),t.endSession(),t.beginSession(e.start);}}let i;try{i=await gn(e.fetcher,`${e.projectBaseURL}/session/cookie-capability`,e.headers);}catch{return t.useCookieTransport(),{binding:null,cookieOnly:false}}if(i==="legacy")return {binding:null,cookieOnly:false};if(i)return t.hasToken()?{binding:null,cookieOnly:true}:(t.useCookieTransport(),{binding:null,cookieOnly:false});let o=n??await _e(e.clientOrigin);return t.useBoundBearerTransport(o.thumbprint,o.persistent),{binding:{key:o,nonce:On()},cookieOnly:false}}function ce(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function xe(e){return new TextEncoder().encode(e)}async function hn(e){return ce(new Uint8Array(await crypto.subtle.digest("SHA-256",xe(e))))}function yn(e){return e.kty==="EC"&&e.crv==="P-256"&&typeof e.x=="string"&&e.x.length>0&&typeof e.y=="string"&&e.y.length>0&&e.d===void 0}async function bn(e){return hn(JSON.stringify({crv:e.crv,kty:e.kty,x:e.x,y:e.y}))}function or(e){if(!e||typeof e!="object")return false;let t=e,n=t.algorithm;return t.type==="private"&&t.extractable===false&&t.usages.length===1&&t.usages[0]==="sign"&&n.name==="ECDSA"&&n.namedCurve==="P-256"}function rr(){Ce.clear();}async function sr(e){if(!e||typeof e!="object")return null;let t=e;if(!or(t.privateKey)||!t.publicJwk||!yn(t.publicJwk))return null;let n=await bn(t.publicJwk);return t.thumbprint!==n?null:{privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:n,persistent:true}}function An(){return typeof indexedDB>"u"?Promise.resolve(null):new Promise(e=>{let t;try{t=indexedDB.open(nr,1);}catch{e(null);return}t.onupgradeneeded=()=>{t.result.objectStoreNames.contains(ue)||t.result.createObjectStore(ue,{keyPath:"origin"});},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null);})}async function fn(e){let t=await An();if(!t)return null;try{let n=await new Promise(i=>{let o=t.transaction(ue,"readonly").objectStore(ue).get(e);o.onsuccess=()=>i(o.result),o.onerror=()=>i(null);});return await sr(n)}finally{t.close();}}async function ar(e,t){let n=await An();if(!n)return "unavailable";try{return await new Promise(i=>{let o;try{o=n.transaction(ue,"readwrite"),o.objectStore(ue).add({origin:e,privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:t.thumbprint});}catch{i("unavailable");return}o.oncomplete=()=>i("stored"),o.onerror=()=>{let r=o.error;i(r?.name==="ConstraintError"?"conflict":"unavailable");},o.onabort=()=>{let r=o.error;i(r?.name==="ConstraintError"?"conflict":"unavailable");};})}finally{n.close();}}async function cr(){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},false,["sign","verify"]),t=await crypto.subtle.exportKey("jwk",e.publicKey);if(!yn(t))throw new Error("The browser produced an invalid proof key.");return {privateKey:e.privateKey,publicJwk:t,thumbprint:await bn(t),persistent:false}}function _e(e){let t=Ce.get(e);if(t)return t;let n=(async()=>{let i=await fn(e);if(i)return i;let o=await cr(),r=await ar(e,o);return r==="stored"?{...o,persistent:true}:r==="conflict"?await fn(e)??o:o})();return Ce.set(e,n),n.catch(()=>Ce.delete(e)),n}function On(){return ce(crypto.getRandomValues(new Uint8Array(32)))}function ur(e){let t=new URL(e);return t.search="",t.hash="",t.toString()}async function wn(e){let t=ce(xe(JSON.stringify({typ:er,alg:tr,jwk:e.key.publicJwk}))),n=ce(xe(JSON.stringify({htm:e.method.toUpperCase(),htu:ur(e.url),iat:Math.floor(Date.now()/1e3),jti:ce(crypto.getRandomValues(new Uint8Array(16))),ath:await hn(e.token)}))),i=`${t}.${n}`,o=await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e.key.privateKey,xe(i));return `${i}.${ce(new Uint8Array(o))}`}async function lr(e){let t=await _e(e.origin);if(t.thumbprint!==e.expectedThumbprint)throw new Error("Session proof key changed.");return wn({key:t,method:e.method,url:e.url,token:e.token})}var er,tr,nr,ue,Ce,Rn=ot(()=>{"use strict";er="pop+jwt",tr="ES256",nr="authowl-session-proof",ue="origin-keys",Ce=new Map;});function Oe(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var Rt=ot(()=>{"use strict";});var Xe={};Qt(Xe,{beginCrossSiteSignIn:()=>ia,challengeFor:()=>ao,completeCrossSiteSignIn:()=>oa,takeHandoffCode:()=>Ft});function so(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ao(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return so(new Uint8Array(t))}function ea(){return so(crypto.getRandomValues(new Uint8Array(Xs)))}function co(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${ro}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function ta(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===ro)return e.slice(t+1).trim()||null}return null}function na(){co("",0);}function oo(e){return new URL(e,window.location.href).toString()}async function ia(e,t){let n=t.callbackURL?oo(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=ea(),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 c of Zs){let u=t[c];u&&o.searchParams.set(c,u);}let r=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??r);for(let[c,u]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])u&&o.searchParams.set(c,oo(u));return o.searchParams.set("challenge",await ao(i)),co(i,Qs),o.toString()}function Ft(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(Mt))return null;let n=new URLSearchParams(t.replace(/^#/,"")),i=n.get(Mt);if(!i||e!==void 0&&i!==e)return null;n.delete(Mt);let o=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),i}async function oa(e,t,n){if(!Oe())return false;let i=n??Ft();if(!i)return false;n&&Ft(n);let o=ta();if(na(),!o)return false;await t.prepareSession({remember:true});let{error:r}=await e.request("/session/exchange",{method:"POST",body:{code:i,verifier:o}});return r===null}var ro,Mt,Xs,Qs,Zs,Qe=ot(()=>{"use strict";Rt();ro="authowl_handoff_verifier",Mt="authowl_code",Xs=32,Qs=900,Zs=["email","providerId","domain","organizationSlug"];});var zo=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,Lo=/^sk_/i;function rt(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(Lo.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=zo.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()}}function Mo(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var Zt=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function st(e,t){throw new Error(`${e}: ${t}`)}function en(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&&Zt.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function tn(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&st("apiUrl","origin required");let n;try{n=new URL(e);}catch{st("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!Zt.test(e))&&st("apiUrl","HTTPS required except exact loopback"),n.origin}function V(e,t){try{return e?.getItem(t)??null}catch{return null}}function N(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function C(){try{return globalThis.localStorage}catch{return}}function Z(){try{return globalThis.sessionStorage}catch{return}}var Fo="authowl.session-challenge",Ko=e=>`${Fo}.${e}`,Vo="set-auth-challenge",at="x-authowl-challenge";function Ho(e){let t=e.get(at);return me(t)?rn(t).some(([n,i])=>n.endsWith(".dont_remember")&&i.length>0):false}var on="INVALID_TWO_FACTOR_COOKIE",qo=2048,me=e=>e!==null&&e.length<=qo,nn=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function rn(e){let t=[];for(let n of e.split(";")){let i=n.trimStart(),o=i.indexOf("=");o<=0||t.push([i.slice(0,o).trimEnd(),i.slice(o+1)]);}return t}function sn(e){let t=Ko(e),n=new Map;function i(){return n.size===0?null:[...n].map(([u,a])=>`${u}=${a}`).join("; ")}function o(){let u=i();N(Z(),t,me(u)?u:null);}function r(u){for(let[a,h]of rn(u))nn.test(a)&&(h===""?n.delete(a):nn.test(h)&&n.set(a,h));}let c=V(Z(),t);return me(c)&&r(c),{presentOn(u){let a=i();u.delete(at),me(a)&&u.set(at,a);},observe(u){let a=u.get(Vo);me(a)&&(r(a),o());},clear(){n.clear(),o();}}}var ct="set-auth-token",ut="x-authowl-session-transport",lt="bearer";var Bo="authowl.session-token",jo="authowl.session-binding",Jo="authowl.cookie-transport",cn="ok",un="bearer",$o=e=>`${Bo}.${e}`,Go=e=>`${jo}.${e}`,Wo=e=>`${Jo}.${e}`;function Yo(e){return e===cn?"cookies":e===un?"bearer":"unknown"}function Xo(e){return e==="cookies"?cn:e==="bearer"?un:null}function Qo(e){let t=$o(e),n=Go(e),i=Wo(e),o=sn(e),r=new Set;function c(O){for(let M of r)try{M(O);}catch{}}let u=null,a=null,h=null,s=false,l=null,p=Yo(V(C(),i)),y=()=>p==="unknown",b=0,S=null,d=false;function g(){let O=V(Z(),t);if(O!==null)return s=true,O;let M=V(C(),t);return M!==null?(s=false,M):null}function A(){return V(Z(),n)??V(C(),n)}u=g(),a=u===null?null:A(),u!==null&&y()&&(d=true);function k(){if(!(!d||!S)){d=false;try{S();}catch{}}}function T(){let O=p==="bearer"?u:null,M=O===null?null:a,[ge,Xt]=s?[Z(),C()]:[C(),Z()];N(Xt,t,null),N(Xt,n,null),N(ge,t,O),N(ge,n,M);}function U(O){O!==null&&l!==null&&(s=l,l=null),O!==null&&h!==null?(a=h,h=null):O===null&&(a=null),u=O,T(),O!==null&&y()&&(d=true,k());}function K(O){p=O,N(C(),i,Xo(O));}function w(){K("unknown"),d=false;}function I(){return u===null&&(u=g(),a=u===null?null:A()),u}function Q(){let O=g();return O!==null&&(u=O,a=A()),u}function ae(O){Q()===O&&T();}function Wt(){b+=1,l=null,h=null,s=false,U(null),o.clear(),w(),c({type:"endSession"});}let Yt=()=>p!=="cookies";return {subscribeLifecycle(O){return r.add(O),()=>r.delete(O)},hasToken:()=>I()!==null,bindingThumbprint:()=>(I(),a),declareOn(O){if(O.has("authorization"))return false;let M=I();return !M&&!Yt()?false:(M&&O.set("authorization",`Bearer ${M}`),O.set(ut,lt),o.presentOn(O),true)},wantsToken:Yt,needsProbe:y,observe(O){let M=O.get(ct);M&&U(M),o.observe(O);},dropChallenge:o.clear,measureWith(O){S=O,k();},beginRead(){let O=I(),M=b;return {carriedToken:O!==null,endIfDead(){O!==null&&Q()===O&&b===M&&Wt();},recordCookieVerdict(ge){if(b===M&&y()){if(K(ge?"cookies":"bearer"),ge){U(null);return}ae(O);}}}},beginSession({remember:O}){b+=1,l=!O,o.clear(),w(),c({type:"beginSession",remember:O});},useCookieTransport(){I()===null&&(h=null,K("cookies"));},completeCookieTransport(){K("cookies"),U(null);},useBoundBearerTransport(O,M){if(!O)throw new Error("A session proof thumbprint is required.");h=O,M||(l=true),K("bearer");},endSession:Wt}}var an=new Map;function ln(e){let t=an.get(e);if(t)return t;let n=Qo(e);return an.set(e,n),n}var dn=Symbol.for("authowl.session-transport-integration.v1");function Zo(e,t){return Object.defineProperty(e,dn,{value:t,configurable:false,enumerable:false,writable:false}),e}function pn(e){return e?e[dn]??null:null}var dt="x-authowl-session-proof",kn="x-authowl-session-binding",Tn="x-authowl-session-binding-proof",Ue=()=>Promise.resolve().then(()=>(Rn(),Sn));function dr(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function In(e,t){let n=ln(e.projectId),i=(p,y)=>(t??globalThis.fetch)(p,y),o=typeof globalThis.location=="object"&&typeof globalThis.location.origin=="string"&&globalThis.location.origin!=="null"?globalThis.location.origin:null,r=null,c=false,u=()=>new Headers({"x-publishable-key":e.publishableKey});async function a(p){let y=p.get("authorization");y&&await Ue().then(b=>b.abandonSession(i,`${e.projectBaseURL}/session/abandon`,u(),y));}async function h(p){r=null,c=false;let y=await Ue().then(b=>b.prepareSenderConstrainedSession({tokens:n,start:p,clientOrigin:o,fetcher:i,projectBaseURL:e.projectBaseURL,headers:u()}));r=y.binding,c=y.cookieOnly;}return {fetch:async(p,y)=>{if(y?.credentials==="omit"||!n.wantsToken())return i(p,y);let b=dr(p,y),S=n.declareOn(b),d=b.get("authorization"),g=(y?.method??(typeof p=="object"&&p!==null&&"method"in p?p.method:"GET")).toUpperCase(),A=typeof p=="string"?p:p instanceof URL?p.toString():p.url;if(S&&o){let T=!!d;if(d){let U=d.replace(/^Bearer\s+/i,""),K=n.bindingThumbprint();if(K)try{b.set(dt,await Ue().then(w=>w.createStoredSessionProof({origin:o,expectedThumbprint:K,method:g,url:A,token:U})));}catch{await a(b),n.endSession(),b.delete("authorization"),b.delete(dt),b.delete(kn),b.delete(Tn),T=false;}}if(r){let U=r;b.set(kn,U.nonce),b.set(T?Tn:dt,await Ue().then(K=>K.createSessionProof({key:U.key,method:g,url:A,token:U.nonce})));}}let k=await i(p,{...y,headers:b});return S&&(k.status===401&&d&&(new URL(A).pathname.endsWith("/get-session")||new URL(A).pathname.endsWith("/sign-out"))?(await a(b),n.endSession(),r=null,c=false):(n.observe(k.headers),k.headers.has("set-auth-token")&&(c&&n.completeCookieTransport(),r=null,c=false))),k},probe:i,tokens:n,integration:pn(t),prepareSession:h}}function Pn(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=rt(e.publishableKey),n=tn(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function pr(e){let t=Pn(e),{fetch:n,...i}=In({projectId:t.decoded.projectId,projectBaseURL:t.projectBaseURL,publishableKey:t.publishableKey},e.fetch);return {...e,...t,fetch:n,session:i}}var pt="authowl_invitation",ft="authowl.invitation-claim",En=/^[A-Za-z0-9_-]{1,128}$/,vn=10080*60*1e3;function fr(e=Date.now()){if(typeof window>"u")return he(e);let t;try{t=new URL(window.location.href);}catch{return he(e)}let n=t.searchParams.get(pt);if(n===null)return he(e);t.searchParams.delete(pt);try{window.history.replaceState(window.history.state,"",t.toString());}catch{}if(!En.test(n))return he(e);let i={id:n,capturedAt:e};return N(C(),ft,JSON.stringify(i)),i}function he(e=Date.now()){let t=V(C(),ft);if(t===null)return null;let n;try{n=JSON.parse(t);}catch{return ye(),null}if(typeof n!="object"||n===null)return ye(),null;let{id:i,capturedAt:o}=n;return typeof i!="string"||!En.test(i)||typeof o!="number"||e-o>vn?(ye(),null):{id:i,capturedAt:o}}function ye(){N(C(),ft,null);}var Cn="authowl.last-used-method",gr=/^(password|username|magic-link|email-otp|phone-otp|passkey|sso|social:[a-z0-9][a-z0-9_-]{0,63})$/,gt=e=>`${Cn}.${e}`;function ze(e){return gr.test(e)}function mr(e){let t=V(C(),gt(e));return t===null||!ze(t)?null:t}function hr(e,t){ze(t)&&(N(C(),Ne(e),null),N(C(),gt(e),t));}var Ne=e=>`${Cn}.pending.${e}`;function yr(e,t){ze(t)&&N(C(),Ne(e),t);}function br(e,t){let n=V(C(),Ne(e));N(C(),Ne(e),null),t&&n!==null&&ze(n)&&N(C(),gt(e),n);}var Ar="authowl.passkey-offer",xn="done",Or=720*60*60*1e3,mt=(e,t)=>`${Ar}.${e}.${t}`;function wr(e,t,n=Date.now()){let i=V(C(),mt(e,t));if(i===null)return true;if(i===xn)return false;let o=Number(i);if(!Number.isFinite(o))return true;let r=n-o;return r<0||r>=Or}function Sr(e,t,n=Date.now()){N(C(),mt(e,t),String(n));}function Rr(e,t){N(C(),mt(e,t),xn);}function kr(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,r=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(c=>c==="password"||c==="magic_link"||c==="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:r?.totp??e?.twoFactor??false,mfaRequired:r?.required??e?.mfaRequired??false,backupCodes:r?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}var Tr=1e4,Ir=1024*1024,F=class extends Error{kind;requestId;constructor(t,n){super(Ur(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},Un=new WeakSet;function H(e,t){let n=new F(e,t);return Un.add(n),n}async function Nn({fetchImpl:e,url:t,init:n={},timeoutMs:i=Tr,maxResponseBytes:o=Ir,allowHttpLoopback:r=false,decode:c}){_n(i,"timeoutMs"),_n(o,"maxResponseBytes");let u=en(t,{allowHttpLoopback:r}),a=n.signal,h=new AbortController,s=null,l,p=new Promise(d=>{l=d;}),y=d=>{s===null&&(s=d,l({type:"abort",kind:d}),h.abort());},b=()=>y("aborted");a?.addEventListener("abort",b,{once:true});let S=setTimeout(()=>y("timeout"),i);a?.aborted&&b();try{if(s!==null)throw H(s);let d;try{d=await Promise.race([e(u.toString(),{...n,redirect:"error",signal:h.signal}).then(K=>({type:"response",response:K})),p]);}catch{throw H(s??"network")}if(d.type==="abort")throw H(d.kind);if(!Pr(d.response))throw H("invalid_response");let g=d.response,A=_r(g.headers),k=await Er(g,o,p,()=>s,A),T=xr(g,k,A),U;try{U=g.ok&&c?c(T,Object.freeze({status:g.status})):T;}catch{throw H("invalid_response",A)}return {response:g,data:U,...A===void 0?{}:{requestId:A}}}catch(d){throw d instanceof F&&Un.has(d)?d:H(s??"network")}finally{clearTimeout(S),a?.removeEventListener("abort",b);}}function Pr(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 Er(e,t,n,i,o){let r=e.headers.get("content-length");if(r!==null){if(!/^\d+$/.test(r))throw Dn(e.body),H("invalid_response",o);if(Number(r)>t)throw Dn(e.body),H("response_too_large",o)}if(!e.body)return "";let c;try{c=e.body.getReader();}catch{throw H("network",o)}let u=[],a=0,h=null;try{for(;;){let p;try{p=await Promise.race([c.read(),n]);}catch{h=H(i()??"network",o);break}if(vr(p)){h=H(p.kind,o);break}let{done:y,value:b}=p;if(y)break;if(b.byteLength!==0){if(a+=b.byteLength,a>t){h=H("response_too_large",o);break}u.push(b);}}}finally{h&&Cr(c);try{c.releaseLock();}catch{}}if(h)throw h;let s=new Uint8Array(a),l=0;for(let p of u)s.set(p,l),l+=p.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(s)}catch{throw H("invalid_response",o)}}function vr(e){return "type"in e&&e.type==="abort"}function Dn(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Cr(e){try{e.cancel().catch(()=>{});}catch{}}function xr(e,t,n){if(e.status===204||e.status===205)return null;let i=Dr(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw H("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw H("invalid_response",n)}}function Dr(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function _r(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function _n(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Ur(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 Le=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 $(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),Nn({fetchImpl:e.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 ee(e,t){if(!e.response.ok)throw new Le(t,e.response,e.requestId);return e.data}var te=new Map,Nr=/^[a-z]{2}$/;function zr(e,t){if(typeof window>"u")return ()=>{};if(t===null)return te.delete(e),()=>{};let n=t.trim().toLowerCase();if(!Nr.test(n))return ()=>{};let i=Symbol(e),o=te.get(e)??[];return o.push({token:i,locale:n}),te.set(e,o),()=>{let r=te.get(e);if(!r)return;let c=r.filter(u=>u.token!==i);c.length===0?te.delete(e):te.set(e,c);}}function ht(e){return typeof window>"u"?null:te.get(e)?.at(-1)?.locale??null}var Mn="x-authowl-turnstile-token",Fn="x-authowl-locale",Lr=1e4,Mr=32,Fr=2e4;function ne(e,t){return {post:(n,i,o,r)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:r}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&await t(),o}}}function Ae(e,t=e.projectBaseURL){return {async request(n,i={}){let o=Hr(t,n,i.query),r=i.method??(i.body===void 0?"GET":"POST"),c=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&c.set(Mn,i.fetchOptions.authChallengeToken);let u=ht(e.decoded.projectId);u&&c.set(Fn,u),i.body!==void 0&&c.set("content-type","application/json");let a={method:r,headers:c,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},h=Object.freeze({method:r,path:n});await i.fetchOptions?.onRequest?.(h);let s=Vr(r,i.fetchOptions),l;try{l=await Kr(e,o,{...a,signal:i.fetchOptions?.signal},s);}catch(g){let A=Ln(g);return await i.fetchOptions?.onError?.(yt(h,A,jr(g))),{data:null,error:A}}let{response:p,requestId:y}=l,b=Gr(n,l.data),S=b;if(p.ok)try{S=At(b),i.decode&&(S=i.decode(S));}catch{let g=Ln(new F("invalid_response",y));return await i.fetchOptions?.onError?.(yt(h,g,"invalid_response")),{data:null,error:g}}let d=Object.freeze({...h,status:p.status,...y===void 0?{}:{requestId:y}});if(await i.fetchOptions?.onResponse?.(d),!p.ok){let g=qr(p,b,y);return g.code===on&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(yt(h,g,"api")),{data:null,error:g}}return await i.fetchOptions?.onSuccess?.(d),{data:S,error:null}}}}async function Kr(e,t,n,i){let o=Date.now()+Lr;for(let r=0;r<i;r+=1){let c=o-Date.now();if(c<=0)throw new F("timeout");try{let u=await $(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(c))});if(u.response.status<500||r===i-1)return u}catch(u){if(r===i-1||!(u instanceof F)||u.kind!=="network")throw u}await Jr(50*2**r,n.signal,o);}throw new F("network")}function Vr(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 Hr(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,r]of Object.entries(n??{}))r!==void 0&&i.searchParams.set(o,String(r));return i.toString()}function qr(e,t,n){let i=be(t)?t:{},o=Br(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 Br(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??zn(t.get("retry-after"))??zn(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function zn(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 Ln(e){let t=e instanceof F?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 F&&e.requestId?{requestId:e.requestId}:{}}}function yt(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function jr(e){return e instanceof F?e.kind:"network"}function Jr(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new F("aborted"));return}let r=n-Date.now();if(r<=0){o(new F("timeout"));return}let c=Math.min(e,r),u=()=>{clearTimeout(a),o(new F("aborted"));},a=setTimeout(()=>{t?.removeEventListener("abort",u),Date.now()>=n?o(new F("timeout")):i();},c);t?.addEventListener("abort",u,{once:true}),t?.aborted&&u();})}function At(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Mr||i.nodes>Fr)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=>At(o,"",n+1,i)):be(e)?Object.fromEntries(Object.entries(e).map(([o,r])=>[o,$r(o)?r:At(r,o,n+1,i)])):e}function $r(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function Gr(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>be(o)?bt(o):o);if(!be(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-")?bt(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")&&be(i.session)&&(i={...i,session:bt(i.session)}),i}function bt(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function be(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var Wr=new Set(["__proto__","constructor","prototype"]);function m(e){(!e||typeof e!="object"||Array.isArray(e))&&f();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&f(),e}function R(e){return typeof e!="string"&&f(),e}function P(e){return typeof e!="boolean"&&f(),e}function E(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&f(),e}function ie(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&f(),[...e]}function D(e,t){let n=e[t];return n==null||typeof n=="string"?n:f()}function Kn(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:f()}function B(e){let t=m(e),n=t.email;return n!==null&&typeof n!="string"&&f(),{id:R(t.id),email:n,emailVerified:P(t.emailVerified),createdAt:E(t.createdAt),updatedAt:E(t.updatedAt),...q("phoneNumber",D(t,"phoneNumber")),...q("username",D(t,"username")),...q("displayUsername",D(t,"displayUsername")),...q("firstName",D(t,"firstName")),...q("lastName",D(t,"lastName")),...q("name",D(t,"name")),...q("image",D(t,"image")),...q("twoFactorEnabled",Kn(t,"twoFactorEnabled"))}}function Me(e){let t=m(e),n=t.membership;return {id:R(t.id),userId:R(t.userId),expiresAt:E(t.expiresAt),...q("activeOrganizationId",D(t,"activeOrganizationId")),...q("activeTeamId",D(t,"activeTeamId")),...q("membership",n==null?n:Yr(n)),...q("pendingMfaEnrollment",Kn(t,"pendingMfaEnrollment"))}}function f(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function G(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&f(),wt(e,t,n)}function wt(e,t=20,n=1e4){return Ot(e,0,{nodes:0},t,n)}function Yr(e){let t=m(e);return {role:R(t.role),...t.roles===void 0?{}:{roles:ie(t.roles)},permissions:ie(t.permissions),...t.teams===void 0?{}:{teams:ie(t.teams)}}}function Ot(e,t,n,i,o){if(n.nodes+=1,(t>i||n.nodes>o)&&f(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||f(),e;if(Array.isArray(e))return e.map(u=>Ot(u,t+1,n,i,o));(!e||typeof e!="object")&&f();let r=Object.getPrototypeOf(e);r!==Object.prototype&&r!==null&&f();let c={};for(let[u,a]of Object.entries(e))Wr.has(u)&&f(),c[u]=Ot(a,t+1,n,i,o);return c}function q(e,t){return t===void 0?{}:{[e]:t}}function Vn({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,r=null,c=null,u=null,a=null,h=null,s=null,l,p=w=>{S(w);};l={data:null,isPending:true,isRefetching:false,error:null,refetch:p};function y(w){l=w;for(let I of o)I();}async function b(w){return e.request("/get-session",{query:w?.query,decode:St})}function S(w){if(w?.query?.disableCookieCache===true)return g(w);if(a)return a;if(h)return h;let I=g(w).finally(()=>{h===I&&(h=null);});return h=I,I}function d(){if(a)return a;let w=g({query:{disableCookieCache:true}}).finally(()=>{a===w&&(a=null);});return a=w,w}async function g(w){u?.abort();let I=new AbortController;u=I,y({...l,isPending:l.data===null&&l.error===null,isRefetching:l.data!==null});let Q=n.beginRead(),ae=await e.request("/get-session",{query:w?.query,fetchOptions:{signal:I.signal},decode:St});if(u===I&&(u=null,y({data:ae.data,error:ae.error,isPending:false,isRefetching:false,refetch:p}),ae.error===null)){if(ae.data===null){Q.endIfDead();return}await A(Q);}}async function A(w){if(n.needsProbe()){if(!w.carriedToken){w.recordCookieVerdict(true);return}return s||k(w)}}function k(w){let I=t.request("/get-session",{query:{disableCookieCache:true},decode:St}).then(Q=>{s===I&&Q.error===null&&w.recordCookieVerdict(Q.data!==null);}).finally(()=>{s===I&&(s=null);});return s=I,I}function T(){r?.postMessage({type:"session-changed"});}function U(){if(typeof window>"u"||c)return;let w=()=>{S();},I=()=>{document.visibilityState==="visible"&&S();};window.addEventListener("focus",w),document.addEventListener("visibilitychange",I),typeof BroadcastChannel<"u"&&(r=new BroadcastChannel(i),r.addEventListener("message",w)),c=()=>{window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",I),r?.close(),r=null,c=null;};}function K(w){return o.add(w),o.size===1&&(U(),S()),()=>{if(o.delete(w),o.size===0){let I=u;u=null,h=null,a=null,I?.abort(),c?.();}}}return n.measureWith(()=>{n.needsProbe()&&k(n.beginRead());}),{store:{subscribe:K,getSnapshot:()=>l,refresh:d},getSession:b,notifyMutation(){T(),s&&s.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&T();}),o.size>0&&S({query:{disableCookieCache:true}});}}}function St(e){if(e===null)return null;let t=m(e);return (t.session===void 0||t.user===void 0)&&f(),{session:Me(t.session),user:B(t.user)}}Rt();function we(){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 Hn(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:Bn})}async function qn(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:Bn})}function Bn(e){let t=m(e),n=G(t.public_metadata),i=G(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 Jn(e,t){let{post:n,mutation:i}=ne(e,t);return {getMetadata:o=>Hn(e,o),updateUnsafeMetadata:(o,r)=>qn(e,o,r),updateProfile:(o,r)=>i(n("/update-user",o,r,Se)),changeEmail:(o,r)=>i(n("/change-email",o,r,Se)),changePassword:(o,r)=>i(n("/change-password",o,r,Xr)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:Qr}),revokeSession:({sessionId:o},r)=>i(n("/revoke-session",{sessionId:o},r,Se)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,Se)),listSocialAccounts:async o=>{let r=await e.request("/list-accounts",{fetchOptions:o,decode:Zr});if(!r.data)return {data:null,error:r.error};let c=r.data.length>1;return {...r,data:r.data.filter(u=>u.providerId!=="credential").map(u=>({...u,canUnlink:c}))}},linkSocial:(o,r)=>n("/link-social",o,r,es),unlinkSocial:(o,r)=>i(n("/unlink-account",o,r,Se)),delete:(o={},r)=>i(n("/delete-user",o,r,ts))}}function Se(e){let t=m(e);return {status:P(t.status)}}function Xr(e){let t=m(e);return {user:B(t.user)}}function Qr(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt),expiresAt:E(n.expiresAt),...jn("ipAddress",D(n,"ipAddress")),...jn("userAgent",D(n,"userAgent"))}})}function Zr(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),providerId:R(n.providerId),accountId:R(n.accountId),scopes:ie(n.scopes),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt)}})}function es(e){let t=m(e);return {url:R(t.url),redirect:P(t.redirect)}}function ts(e){let t=m(e);return {success:P(t.success),message:R(t.message)}}function jn(e,t){return t===void 0?{}:{[e]:t}}function Fe(e,t){return !e||!t?false:e.permissions.includes(t)}function $n(e,t){return !e||!t?false:e.teams?.includes(t)??false}function Gn(e,t){return e?e.roles===void 0?e.role===t:e.roles.includes(t):false}function Ke(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&&!Gn(e,n)||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!$n(e,o))}function ns(e){return {has:t=>Ke(e,t),hasPermission:t=>Fe(e,t.permission)}}var is=new Set(["pending","accepted","rejected","canceled"]),kt=1e4;function Wn(e){let t=m(e);return t.recipientHint!==null&&t.recipientHint!=="new_user"&&f(),{recipientHint:t.recipientHint}}function le(e,t,n){let i=m(e),o={id:v(i.id),name:v(i.name),slug:v(i.slug),createdAt:E(i.createdAt),...Re("logo",D(i,"logo")),...Re("metadata",i.metadata===void 0?void 0:wt(i.metadata))};return J(o.id,t),J(o.slug,n),o}function Yn(e){return W(e,le)}function Tt(e,t,n){return e===null?null:(t===null&&f(),le(e,t,n))}function Xn(e,t,n){if(e===null)return null;let i=m(e),o=le(i,t,n);return {...o,members:W(i.members,r=>ui(r,o.id)),invitations:W(i.invitations,r=>Y(r,void 0,o.id))}}function It(e,t,n=false){let i=W(e,o=>ke(o));return n||Ie(i.map(o=>o.organizationId),t),i}function Qn(e,t){let n=W(e,i=>Pt(i));return Ie(n.map(i=>i.teamId),t),n}function Pt(e,t,n){let i=m(e),o={id:v(i.id),teamId:v(i.teamId),userId:v(i.userId),createdAt:E(i.createdAt)};return J(o.teamId,t),J(o.userId,n),o}function Zn(e,t,n){return e===null?null:(t===null&&f(),ke(e,t,n))}function ei(e,t){let n=m(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&f(),{members:os(n.members,t),total:n.total}}function Y(e,t,n){let i=m(e),o=v(i.status);is.has(o)||f();let r={id:v(i.id),organizationId:v(i.organizationId),email:Te(i.email),role:v(i.role),status:o,inviterId:v(i.inviterId),expiresAt:E(i.expiresAt),createdAt:E(i.createdAt)};return J(r.id,t),J(r.organizationId,n),r}function ti(e,t){let n=W(e,i=>Y(i));return Ie(n.map(i=>i.organizationId),t),n}function ni(e){return W(e,t=>{let n=m(t);return {...Y(n),organizationName:Te(n.organizationName)}})}function ii(e,t){let n=m(e);return {...Y(n,t),organizationName:v(n.organizationName),organizationSlug:v(n.organizationSlug),inviterEmail:li(n.inviterEmail)}}function oi(e,t){let n=m(e),i=Y(n.invitation,t);return {invitation:i,member:de(n.member,void 0,i.organizationId)}}function ri(e,t){let n=m(e);return n.member!==null&&f(),{invitation:n.invitation===null?null:Y(n.invitation,t),member:null}}function si(e,t){return e===null?null:Y(e,t)}function ai(e,t,n){let i=m(e);return {member:de(i.member,n,t)}}function de(e,t,n){let i=m(e),o={id:v(i.id),organizationId:v(i.organizationId),userId:v(i.userId),role:v(i.role),createdAt:E(i.createdAt),...i.user===void 0?{}:{user:di(i.user)}};return J(o.id,t),J(o.organizationId,n),o}function ci(e,t){let n=W(e,i=>{let o=m(i);return {organizationId:v(o.organizationId),data:{role:v(o.role),...Re("permission",o.permission===void 0?void 0:rs(o.permission)),...Re("customPermissionKeys",o.customPermissionKeys===void 0?void 0:ie(o.customPermissionKeys))}}});return Ie(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function ke(e,t,n){let i=m(e),o=i.updatedAt,r={id:v(i.id),name:Te(i.name),organizationId:v(i.organizationId),createdAt:E(i.createdAt),...o===void 0?{}:{updatedAt:E(o)}};return J(r.id,t),J(r.organizationId,n),r}function Et(e){let t=m(e);return {message:Te(t.message)}}function ui(e,t){let n=m(e);return {...de(n,void 0,t),user:di(n.user)}}function os(e,t){let n=W(e,i=>ui(i));return Ie(n.map(i=>i.organizationId),t),n}function rs(e){let t=m(e),n={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>kt||!Array.isArray(o))&&f(),n[i]=o.map(r=>v(r));return n}function v(e){let t=R(e);return (t.length===0||t.length>kt)&&f(),t}function Te(e){if(e==null)return "";let t=R(e);return t.length>kt&&f(),t}function li(e){return e===null?null:v(e)}function J(e,t){t!==void 0&&e!==t&&f();}function Ie(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&f();}function di(e){let t=m(e);return {id:v(t.id),name:Te(t.name),email:li(t.email),...Re("image",D(t,"image"))}}function W(e,t){return Array.isArray(e)||f(),e.map(n=>t(n))}function Re(e,t){return t===void 0?{}:{[e]:t}}function pi(e,t,n=()=>null){let{post:i,mutation:o}=ne(e,t),r=new Set,c=()=>{for(let s of r)try{s();}catch{}},u=new Map,a=(s,l,p,y)=>{if(p)return e.request(s,{query:l,fetchOptions:p,decode:y});let b=`${s}\0${JSON.stringify(l??null)}`,S=u.get(b);if(S)return S;let d=e.request(s,{query:l,decode:y}).finally(()=>{u.delete(b);});return u.set(b,d),d},h=async s=>{let l=await o(s).finally(()=>u.clear());return l.error===null&&c(),l};return {subscribe(s){return r.add(s),()=>r.delete(s)},create:(s,l)=>h(i("/organization/create",s,l,le)),list:s=>a("/organization/list",void 0,s,Yn),get:(s={},l)=>a("/organization/get-full-organization",{organizationId:s.organizationId,organizationSlug:s.organizationSlug,membersLimit:s.membersLimit},l,p=>Xn(p,s.organizationId,s.organizationSlug)),setActive:(s,l)=>h(i("/organization/set-active",s,l,p=>Tt(p,s.organizationId,s.organizationSlug))),createTeam:(s,l)=>h(i("/organization/create-team",s,l,p=>ke(p,void 0,s.organizationId))),listTeams:(s={},l)=>a("/organization/list-teams",{organizationId:s.organizationId},l,p=>It(p,s.organizationId)),updateTeam:(s,l)=>h(i("/organization/update-team",s,l,p=>ke(p,s.teamId,s.data.organizationId))),removeTeam:(s,l)=>h(i("/organization/remove-team",s,l,Et)),listUserTeams:s=>a("/organization/list-user-teams",void 0,s,l=>It(l,void 0,true)),listTeamMembers:(s={},l)=>a("/organization/list-team-members",{teamId:s.teamId},l,p=>Qn(p,s.teamId)),addTeamMember:(s,l)=>h(i("/organization/add-team-member",s,l,p=>Pt(p,s.teamId,s.userId))),removeTeamMember:(s,l)=>h(i("/organization/remove-team-member",s,l,Et)),setActiveTeam:(s,l)=>h(i("/organization/set-active-team",s,l,p=>Zn(p,s.teamId))),update:(s,l)=>h(i("/organization/update",s,l,p=>Tt(p,s.organizationId))),delete:(s,l)=>h(i("/organization/delete",s,l,p=>le(p,s.organizationId))),listMembers:(s={},l)=>a("/organization/list-members",{organizationId:s.organizationId,organizationSlug:s.organizationSlug,limit:s.limit,offset:s.offset,sortBy:s.sortBy,sortDirection:s.sortDirection,filterField:s.filterField,filterValue:s.filterValue,filterOperator:s.filterOperator},l,p=>ei(p,s.organizationId)),inviteMember:(s,l)=>h(i("/organization/invite-member",s,l,p=>Y(p,void 0,s.organizationId))),listInvitations:(s={},l)=>a("/organization/list-invitations",{organizationId:s.organizationId},l,p=>ti(p,s.organizationId)),listUserInvitations:s=>a("/organization/list-user-invitations",void 0,s,ni),getInvitation:(s,l)=>a("/organization/get-invitation",{id:s.id},l,p=>ii(p,s.id)),getInvitationRecipientHint:(s,l)=>a("/organization/invitation-recipient-hint",{invitationId:s.invitationId},l,Wn),acceptInvitation:(s,l)=>h(i("/organization/accept-invitation",s,l,p=>oi(p,s.invitationId))),rejectInvitation:(s,l)=>h(i("/organization/reject-invitation",s,l,p=>ri(p,s.invitationId))),cancelInvitation:(s,l)=>h(i("/organization/cancel-invitation",s,l,p=>si(p,s.invitationId))),removeMember:(s,l)=>h(i("/organization/remove-member",s,l,p=>ai(p,s.organizationId,s.memberIdOrEmail.includes("@")?void 0:s.memberIdOrEmail))),updateMemberRole:(s,l)=>h(i("/organization/update-member-role",s,l,p=>de(p,s.memberId,s.organizationId))),leave:(s,l)=>h(i("/organization/leave",s,l,p=>de(p,void 0,s.organizationId))),listRoles:(s={},l)=>a("/organization/list-roles",{organizationId:s.organizationId},l,p=>ci(p,s.organizationId)),has:s=>Ke(n(),s),hasPermission:s=>Fe(n(),s.permission)}}function qe(e){return {listConsentPreferences:t=>e.request("/privacy/consent-decisions",{fetchOptions:t,decode:ss}),recordConsent:(t,n)=>e.request("/privacy/consent-decisions",{method:"POST",body:{...t,correlationId:t.correlationId??we()},fetchOptions:n,decode:cs}),listRightsRequests:t=>e.request("/privacy/rights",{fetchOptions:t,decode:us}),createRightsRequest:(t,n)=>e.request("/privacy/rights",{method:"POST",body:t,fetchOptions:n,decode:ls})}}function ss(e){let t=m(e);return Array.isArray(t.preferences)||f(),{preferences:t.preferences.map(as)}}function as(e){let t=m(e);return {purposeId:R(t.purposeId),purposeVersionId:R(t.purposeVersionId),code:R(t.code),state:ds(t.state,["granted","refused","withdrawn"]),updatedAt:Ve(t.updatedAt),decidedAt:Ve(t.decidedAt)}}function cs(e){let t=m(e);return t.recorded!==true&&f(),{recorded:true,decision:Pe(t.decision,["granted","refused","withdrawn"]),decidedAt:He(t.decidedAt)}}function us(e){let t=m(e);return Array.isArray(t.requests)||f(),{requests:t.requests.map(fi)}}function ls(e){return {request:fi(m(e).request)}}function fi(e){let t=m(e);return {id:R(t.id),rightType:Pe(t.rightType,["access","correction","portability","erasure","restriction","objection","consent_withdrawal"]),state:Pe(t.state,["received","identity_pending","in_progress","restricted","completed","denied","withdrawn"]),locale:Pe(t.locale,["en","ar"]),receivedAt:He(t.receivedAt),acknowledgedAt:Ve(t.acknowledgedAt),fulfilmentDeadline:He(t.fulfilmentDeadline),completedAt:Ve(t.completedAt)}}function Ve(e){return e===null?null:He(e)}function He(e){if(e instanceof Date)return E(e);typeof e!="string"&&f();let t=new Date(e);return Number.isNaN(t.getTime())&&f(),t}function Pe(e,t){return (typeof e!="string"||!t.includes(e))&&f(),e}function ds(e,t){return e===null?null:Pe(e,t)}var gi=4096,ps=4096,fs=100,gs=256,ms=16,hs=64,ys=12;function Ct(e){let t=m(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&f(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Di(t.twoFactorMethods,ms,hs)}}):(t.twoFactorRedirect!==void 0&&f(),{redirect:P(t.redirect),...Ss(t,"url"),user:B(t.user)})}function mi(e){let t=m(e);return {user:B(t.user)}}function hi(e){let t=m(e);return {sessionCreated:P(t.sessionCreated),user:B(t.user)}}function yi(e,t){let n=m(e),i=P(n.redirect);n.user===null&&f();let o=n.user!==void 0&&n.user!==null,r=n.url!==void 0&&n.url!==null;return i?((o||!r)&&f(),{redirect:true,url:vt(n.url,t)}):(o===r&&f(),o?{redirect:false,user:B(n.user)}:{redirect:false,url:vt(n.url,t)})}function bi(e,t){let n=m(e);return (n.redirect!==true||n.user!==void 0)&&f(),{redirect:true,url:vt(n.url,t)}}function Ai(e){return {status:P(m(e).status)}}function Oi(e){return {success:P(m(e).success)}}function wi(e){return m(e).status!=="pending"&&f(),{status:"pending"}}function Si(e){let t=m(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&f();let n=m(t.turnstile),i=n.siteKey===null?null:R(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:R(t.connectionId),challenge:R(t.challenge),difficulty:bs(t.difficulty),challengeToken:R(t.challengeToken),challengeRequired:P(t.challengeRequired),turnstile:{required:P(n.required),siteKey:i}}}function bs(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>ys)&&f(),Number(e)}function Ri(e){let t=m(e);return (t.status!==true||t.sessionCreated!==true)&&f(),{status:true,sessionCreated:true,user:As(t.user)}}function xt(e){return {status:P(m(e).status)}}function ki(e){return {status:P(m(e).status)}}function Ti(e){let t=m(e);return {status:P(t.status),user:B(t.user)}}function Ii(e){return {success:P(m(e).success)}}function Pi(e){let t=m(e);return {totpURI:ws(t.totpURI),backupCodes:xi(t.backupCodes)}}function Ei(e){return {status:P(m(e).status)}}function Be(e){return m(e).status!==true&&f(),{status:true}}function vi(e){return {status:P(m(e).status)}}function Ci(e){let t=m(e);return t.status!==void 0&&t.status!==true&&f(),{backupCodes:xi(t.backupCodes)}}function As(e){let t=m(e);return {id:pe(t.id,512),...Rs(t,"name",1024),phoneNumber:pe(t.phoneNumber,64),phoneNumberVerified:P(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:E(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:E(t.updatedAt)}}}function vt(e,t){let n=pe(e,gi);/[\u0000-\u0020\u007f]/u.test(n)&&f();let i;try{i=new URL(n);}catch{return f()}return (i.username||i.password)&&f(),i.protocol==="https:"||t&&i.protocol==="http:"&&Os(i.hostname)?i.href:f()}function Os(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function ws(e){let t=pe(e,ps),n;try{n=new URL(t);}catch{return f()}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))&&f(),t}function xi(e){return Di(e,fs,gs)}function Di(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&f();let i=e.map(o=>pe(o,n));return i.some(o=>o.trim().length===0)&&f(),new Set(i).size!==i.length&&f(),i}function pe(e,t){let n=R(e);return (n.length===0||n.length>t)&&f(),n}function Ss(e,t){let n=e[t];return n==null?{}:{[t]:pe(n,gi)}}function Rs(e,t,n){let i=D(e,t);return i===void 0?{}:(i!==null&&i.length>n&&f(),{[t]:i})}var _i=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),je=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 Je(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||Ni(n,i)||Ui(i)||_i.has(i))return {valid:false}}let t=ks(e);return Dt(t)?{valid:true,value:t}:{valid:false}}function Dt(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let r=o.codePointAt(0);if(r===void 0||Ni(o,r)||Ui(r)||_i.has(r))return false;n??=r,i=r;}return t>0&&n!==void 0&&i!==void 0&&!je.has(n)&&!je.has(i)}function $e(){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 ks(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!je.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let r=i>=56320&&i<=57343?n-2:n-1,c=e.codePointAt(r);if(c===void 0||!je.has(c))break;n=r;}return e.slice(t,n)}function Ui(e){return e>=0&&e<=31||e>=127&&e<=159}function Ni(e,t){return e.length===1&&t>=55296&&t<=57343}var Mi=12,Fi=5e3,Ts=8,Is=1e3,Ps=16,zi=512,Ki=100,Vi=8192,Es=32768,_t=1024,Li=256,Nt=64,vs=6e5,Cs=/^[A-Za-z0-9_-]+$/u,xs=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ds=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,_s=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Us=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Hi=new Set(["discouraged","preferred","required"]),Ns=new Set(["singleDevice","multiDevice"]),qi=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),Bi=new Set(["hybrid","security-key","client-device"]),zs=new Set(["none","indirect","direct","enterprise"]),Ls=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Ms=new Set(["platform","cross-platform"]),Fs=new Set(["discouraged","preferred","required"]),Ks=new Set([-8,-7,-257]);function ji(e){let t=G(e,Mi,Fi);return {challenge:to(t.challenge),...z("timeout",Zi(t.timeout)),...z("rpId",no(t.rpId)),...z("allowCredentials",Qi(t.allowCredentials)),...z("userVerification",Ee(t.userVerification,Hi)),...z("hints",Ge(t.hints,Bi)),...z("extensions",eo(t.extensions))}}function Ji(e){let t=G(e,Mi,Fi);return {challenge:to(t.challenge),rp:Vs(t.rp),user:Hs(t.user),pubKeyCredParams:qs(t.pubKeyCredParams),...z("timeout",Zi(t.timeout)),...z("excludeCredentials",Qi(t.excludeCredentials)),...z("authenticatorSelection",Bs(t.authenticatorSelection)),...z("attestation",Ee(t.attestation,zs)),...z("attestationFormats",Ge(t.attestationFormats,Ls)),...z("hints",Ge(t.hints,Bi)),...z("extensions",eo(t.extensions))}}function $i(e){let t=m(e),n=Me(t.session),i=B(t.user);return n.userId!==i.id&&f(),{session:n,user:i}}function zt(e){let t=m(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&f();let i=Lt(t.deviceType,Ns),o=P(t.backedUp);return o&&i!=="multiDevice"&&f(),{id:fe(t.id,Li),...$s(t),publicKey:js(t.publicKey,Es),userId:fe(t.userId,Li),credentialID:Ye(t.credentialID,Vi),counter:n,deviceType:i,backedUp:o,...Gs(t),createdAt:E(t.createdAt),...Ws(t)}}function Gi(e,t,n){let i=zt(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&f(),i}function Wi(e){(!Array.isArray(e)||e.length>Ki)&&f();let t=e.map(zt);return We(t.map(n=>n.id)),We(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&f(),t}function Yi(e,t,n){let i=m(e),o=zt(i.passkey);return (o.id!==t||o.name!==n)&&f(),{passkey:o}}function Xi(e){return m(e).status!==true&&f(),{status:true}}function Vs(e){let t=m(e);return {name:Ut(t.name,_t),...z("id",no(t.id))}}function Hs(e){let t=m(e);return {id:Ye(t.id,128,1,64),name:Ut(t.name,_t),displayName:Ut(t.displayName,_t)}}function qs(e){(!Array.isArray(e)||e.length===0||e.length>Nt)&&f();let t=e.map(n=>{let i=m(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Ks.has(i.alg))&&f(),{type:"public-key",alg:i.alg}});return Ys(t.map(n=>n.alg)),t}function Qi(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Ki)&&f();let t=e.map(n=>{let i=m(n);return i.type!=="public-key"&&f(),{type:"public-key",id:Ye(i.id,Vi),...z("transports",Ge(i.transports,qi))}});return We(t.map(n=>n.id)),t}function Bs(e){if(e===void 0)return;let t=m(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&f();let n=Ee(t.residentKey,Fs);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&f(),{...z("authenticatorAttachment",Ee(t.authenticatorAttachment,Ms)),...z("residentKey",n),...z("requireResidentKey",t.requireResidentKey),...z("userVerification",Ee(t.userVerification,Hi))}}function Zi(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>vs)&&f(),e}function eo(e){return e===void 0?void 0:G(e,Ts,Is)}function Ge(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Nt)&&f();let n=e.map(i=>Lt(i,t));return We(n),n}function Ee(e,t){if(e!==void 0)return Lt(e,t)}function to(e){return Ye(e,Math.ceil(zi*4/3),Ps,zi)}function Ye(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=fe(e,t),r=o.length%4,c=Js(o.at(-1)??""),u=Math.floor(o.length*3/4);return (!Cs.test(o)||r===1||r===2&&(c&15)!==0||r===3&&(c&3)!==0||u<n||u>i)&&f(),o}function fe(e,t){let n=R(e);return (n.length===0||n.length>t)&&f(),n}function Ut(e,t){let n=fe(e,t);return Ds.test(n)&&f(),n}function no(e){if(e===void 0)return;let t=fe(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!_s.test(n)))&&f(),t}function js(e,t){let n=fe(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),r=n.at(i?-3:o?-2:-1)??"",c=io(r);return (n.length%4!==0||!xs.test(n)||i&&(c&15)!==0||o&&(c&3)!==0)&&f(),n}function Js(e){return io(e,true)}function io(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function $s(e){let t=D(e,"name");return t===void 0?{}:(t!==null&&!Dt(t)&&f(),{name:t})}function Gs(e){let t=D(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Nt||n.some(i=>!qi.has(i))||new Set(n).size!==n.length)&&f(),{transports:t}}function Ws(e){let t=D(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Us.test(t)||f(),{aaguid:t})}function Lt(e,t){let n=R(e);return t.has(n)||f(),n}function z(e,t){return t===void 0?{}:{[e]:t}}function We(e){new Set(e).size!==e.length&&f();}function Ys(e){new Set(e).size!==e.length&&f();}function ra(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 uo=new Map;function sa(e,t,n){let i=uo.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=Promise.resolve().then(()=>(Qe(),Xe)).then(r=>r.completeCrossSiteSignIn(e,t,o)),uo.set(n,i);}return i}function lo(e){return !Oe()||e.idToken||e.disableRedirect?"legacy":"first-party"}function fo(e,t=()=>{},n=aa){let i=Ae(e),o=e.session.tokens,r=Oe()?sa(i,e.session,e.decoded.projectId):void 0,c=ra(i,r),u=Vn({http:c,probe:Ae({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`});e.session.integration?.connect({authenticatedFetch:e.fetch,sessionStore:u.store,subscribeLifecycle:d=>o.subscribeLifecycle(d)});let a=()=>{u.notifyMutation(),t();},h=async()=>{await e.session.integration?.sessionEstablished(),a();},s=n(c,h),{post:l,mutation:p}=ne(c,a),{mutation:y}=ne(c,h),b=e.decoded.env==="test",S=d=>e.session.prepareSession({remember:d?.rememberMe!==false});return {sessionStore:u.store,getSession:u.getSession,account:Jn(c,a),organization:pi(c,a,()=>u.store.getSnapshot().data?.session.membership??null),privacy:qe(c),signIn:{email:async(d,g)=>(await S(d),y(l("/sign-in/email",d,g,Ct),A=>!("twoFactorRedirect"in A))),username:async(d,g)=>(await S(d),y(l("/sign-in/username",d,g,Ct),A=>!("twoFactorRedirect"in A))),social:async(d,g)=>{if(await S(),lo(d)==="first-party"){let{beginCrossSiteSignIn:k}=await Promise.resolve().then(()=>(Qe(),Xe)),T=await k(e,{kind:"social",provider:d.provider,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL,scopes:d.scopes,loginHint:d.loginHint,requestSignUp:d.requestSignUp});if(T)return window.location.assign(T),{data:{redirect:true,url:T},error:null}}let A=await y(l("/sign-in/social",d,g,k=>yi(k,b)),k=>"user"in k);return A.error!==null||A.data===null||"url"in A.data&&A.data.redirect&&!d.disableRedirect&&typeof window<"u"&&window.location.assign(A.data.url),A},sso:async(d,g)=>{if(lo(d)==="first-party"){let{beginCrossSiteSignIn:k}=await Promise.resolve().then(()=>(Qe(),Xe)),T=await k(e,{kind:"sso",email:d.email,providerId:d.providerId,domain:d.domain,organizationSlug:d.organizationSlug,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL});if(T)return window.location.assign(T),{data:{url:T,redirect:true},error:null}}let A=await l("/sign-in/sso",d,g,k=>bi(k,b));return A.error!==null||A.data===null||typeof window<"u"&&window.location.assign(A.data.url),A},magicLink:(d,g)=>l("/sign-in/magic-link",d,g,Ai),emailOtp:async(d,g)=>(await S(),y(l("/sign-in/email-otp",d,g,mi))),passkey:async(d,g)=>(await S(),s.signIn(d,g))},signUp:{email:async(d,g)=>(await S(),y(l("/sign-up/email",d,g,hi),A=>A.sessionCreated))},emailOtp:{sendVerificationOtp:(d,g)=>l("/email-otp/send-verification-otp",d,g,Oi),verifyEmail:async(d,g)=>(await S(),y(l("/email-otp/verify-email",d,g,Ti)))},phoneOtp:{prepare:d=>l("/phone-otp/challenge",{},d,Si),start:(d,g)=>l("/phone-otp/start",{...d,idempotencyKey:d.idempotencyKey??we()},g,wi),verify:async(d,g)=>(await S(),y(l("/phone-otp/verify",d,g,Ri)))},requestPasswordReset:(d,g)=>l("/request-password-reset",d,g,xt),resetPassword:(d,g)=>l("/reset-password",d,g,xt),sendVerificationEmail:(d,g)=>l("/send-verification-email",d,g,ki),passkey:{addPasskey:(d,g)=>s.add(d,g),listUserPasskeys:()=>c.request("/passkey/list-user-passkeys",{decode:Wi}),updatePasskey:async(d,g)=>{let A=Je(d.name);if(!A.valid||A.value===void 0)return $e();let k=A.value;return l("/passkey/update-passkey",{...d,name:k},g,T=>Yi(T,d.id,k))},deletePasskey:(d,g)=>l("/passkey/delete-passkey",d,g,Xi)},twoFactor:{enable:(d,g)=>l("/two-factor/enable",d,g,Pi),disable:(d,g)=>p(l("/two-factor/disable",d,g,Ei),A=>A.status),verifyTotp:(d,g)=>y(l("/two-factor/verify-totp",d,g,Be)),verifyBackupCode:(d,g)=>y(l("/two-factor/verify-backup-code",d,g,Be)),sendOtp:(d={},g)=>l("/two-factor/send-otp",d,g,vi),verifyOtp:(d,g)=>y(l("/two-factor/verify-otp",d,g,Be)),generateBackupCodes:(d,g)=>l("/two-factor/generate-backup-codes",d,g,Ci)},signOut:d=>p(c.request("/sign-out",{method:"POST",body:{},fetchOptions:d,decode:Ii}).then(g=>(o.endSession(),e.session.integration?.sessionEnded().then(()=>g)??g)),g=>g.success)}}function aa(){return {signIn:()=>po(),add:()=>po()}}function po(){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 Ao(e,t,n){let i=new Map;return {async signIn(o={},r){let c=await e.request("/passkey/generate-authenticate-options");if(!c.data)return ho(c.error);let u;try{u=ji(c.data);}catch{return go()}let a;try{a=await n.authenticate({optionsJSON:u,useBrowserAutofill:o.autoFill});}catch(y){return yo(n,y,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!ca(a))return mo();let{clientExtensionResults:h,...s}=a,l=i.get(a.id);if(l)return l;let p=(async()=>{let y=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:s},fetchOptions:r,decode:$i});return y.data&&await t(),y})();i.set(a.id,p);try{return await p}finally{i.get(a.id)===p&&i.delete(a.id);}},async add(o={},r){let c=Je(o.name);if(!c.valid)return $e();let u=await e.request("/passkey/generate-register-options",{query:{name:c.value,authenticatorAttachment:o.authenticatorAttachment}});if(!u.data)return ho(u.error);let a;try{a=Ji(u.data);}catch{return go()}let h;try{h=await n.register({optionsJSON:a});}catch(y){return yo(n,y,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!ua(h))return mo();let{clientExtensionResults:s,...l}=h,p=await e.request("/passkey/verify-registration",{method:"POST",body:{response:l,name:c.value},fetchOptions:r,decode:y=>Gi(y,h.id,c.value)});return p.data&&t(),p}}}function go(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function mo(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function Oo(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 ca(e){if(!Oo(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 ua(e){if(!Oo(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function ho(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function yo(e,t,n,i){let o=da(t,"page does not have focus"),r=e.errorCode?.(t),c=r!==void 0?r==="ERROR_CEREMONY_ABORTED":bo(t)==="AbortError",u=n!=="AUTH_CANCELLED",a=la(r,bo(t),u);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":c?n:r??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":c?i:a}}}function la(e,t,n){switch(e){case "ERROR_INVALID_DOMAIN":case "ERROR_INVALID_RP_ID":return "Passkeys are not set up for this site\u2019s domain.";case "ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED":return "This device already has a passkey for this account.";case "ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEY_ALGS":case "ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT":case "ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT":return "This device cannot create a passkey for this site.";}return t==="NotAllowedError"?n?"No passkey was created. The prompt was dismissed or timed out.":"No passkey was used. This device may not have one saved for this site yet, or the prompt was dismissed.":t==="SecurityError"?"Passkeys are not set up for this site\u2019s domain.":n?"Passkey registration did not complete.":"Passkey sign-in did not complete."}function bo(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function da(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}function j(e){let t=new Uint8Array(e),n="";for(let o of t)n+=String.fromCharCode(o);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function oe(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,i=t.padEnd(t.length+n,"="),o=atob(i),r=new ArrayBuffer(o.length),c=new Uint8Array(r);for(let u=0;u<o.length;u++)c[u]=o.charCodeAt(u);return r}function re(){return pa.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var pa={stubThis:e=>e};function Ze(e){let{id:t}=e;return {...e,id:oe(t),transports:e.transports}}function et(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 x=class extends Error{constructor({message:t,code:n,cause:i,name:o}){super(t,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=n;}};function wo({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new x({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new x({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new x({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new x({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 x({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new x({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new x({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new x({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(et(i)){if(n.rp.id!==i)return new x({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new x({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new x({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 x({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 Kt=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},tt=new Kt;var fa=["cross-platform","platform"];function nt(e){if(e&&!(fa.indexOf(e)<0))return e}async function So(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:t,useAutoRegister:n=false}=e;if(!re())throw new Error("WebAuthn is not supported in this browser");let i={...t,challenge:oe(t.challenge),user:{...t.user,id:oe(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Ze)},o={};n&&(o.mediation="conditional"),o.publicKey=i,o.signal=tt.createNewAbortSignal();let r;try{r=await navigator.credentials.create(o);}catch(b){throw wo({error:b,options:o})}if(!r)throw new Error("Registration was not completed");let{id:c,rawId:u,response:a,type:h}=r,s;typeof a.getTransports=="function"&&(s=a.getTransports());let l;if(typeof a.getPublicKeyAlgorithm=="function")try{l=a.getPublicKeyAlgorithm();}catch(b){Vt("getPublicKeyAlgorithm()",b);}let p;if(typeof a.getPublicKey=="function")try{let b=a.getPublicKey();b!==null&&(p=j(b));}catch(b){Vt("getPublicKey()",b);}let y;if(typeof a.getAuthenticatorData=="function")try{y=j(a.getAuthenticatorData());}catch(b){Vt("getAuthenticatorData()",b);}return {id:c,rawId:j(u),response:{attestationObject:j(a.attestationObject),clientDataJSON:j(a.clientDataJSON),transports:s,publicKeyAlgorithm:l,publicKey:p,authenticatorData:y},type:h,clientExtensionResults:r.getClientExtensionResults(),authenticatorAttachment:nt(r.authenticatorAttachment)}}function Vt(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
- `,t);}function Ro(){if(!re())return Ht.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Ht.stubThis(new Promise(t=>t(false))):Ht.stubThis(e.isConditionalMediationAvailable())}var Ht={stubThis:e=>e};function ko({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new x({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new x({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(et(i)){if(n.rpId!==i)return new x({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new x({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new x({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 To(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:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:i=true}=e;if(!re())throw new Error("WebAuthn is not supported in this browser");let o;t.allowCredentials?.length!==0&&(o=t.allowCredentials?.map(Ze));let r={...t,challenge:oe(t.challenge),allowCredentials:o},c={};if(n){if(!await Ro())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');c.mediation="conditional",r.allowCredentials=[];}c.publicKey=r,c.signal=tt.createNewAbortSignal();let u;try{u=await navigator.credentials.get(c);}catch(y){throw ko({error:y,options:c})}if(!u)throw new Error("Authentication was not completed");let{id:a,rawId:h,response:s,type:l}=u,p;return s.userHandle&&(p=j(s.userHandle)),{id:a,rawId:j(h),response:{authenticatorData:j(s.authenticatorData),clientDataJSON:j(s.clientDataJSON),signature:j(s.signature),userHandle:p},type:l,clientExtensionResults:u.getClientExtensionResults(),authenticatorAttachment:nt(u.authenticatorAttachment)}}var Io={authenticate:e=>To(e),register:e=>So(e),errorCode:e=>e instanceof x?e.code:void 0};function Eo(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function qt(e){let t=await $(e,Eo(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:ga});return t.response.status===401?{required:false}:ee(t,"consent status")}async function Bt(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return ee(await $(e,Eo(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:ma}),"consent accept")}function ga(e){let t=m(e),n=P(t.required),i=ha(t.needsConsent),o=vo(t.version),r=Po(t.termsUrl),c=Po(t.privacyUrl);return {required:n,...i===void 0?{}:{needsConsent:i},...o===void 0?{}:{version:o},...r===void 0?{}:{termsUrl:r},...c===void 0?{}:{privacyUrl:c}}}function ma(e){let t=m(e),n=vo(t.version);return {ok:P(t.ok),...n===void 0?{}:{version:n}}}function ha(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function vo(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function Po(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var ya=30;function ba(e){return typeof e?.exp=="number"?e.exp:null}function Aa(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(n));return typeof i=="object"&&i!==null?i:null}catch{return null}}function jt(e){let t=new Map;async function n(r={}){let c=r.template===void 0?null:r.template.trim().toLowerCase();if(c==="")throw new TypeError("Template missing");let u=c??"",a=t.get(u);a||(a={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(u,a));let h=r.forceRefresh===true;if(!h){let b=a.activeKey?a.cachedByKey.get(a.activeKey):null;if(b&&b.exp-Date.now()/1e3>ya)return b.token;if(a.inflight)return a.inflight}let s=++a.sequence,l=()=>t.get(u)===a&&a.sequence===s,p=(async()=>{let b=c?`${e.projectBaseURL}/token/${encodeURIComponent(c)}`:`${e.projectBaseURL}/token`,S=await $(e,b,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:U=>Oa(U,c!==null)});if(S.response.status===401)return l()&&i(),null;let d=ee(S,"token"),g=d.policyVersion,A=d.token,k=Aa(A),T=ba(k);if(l())if(T!==null){let U=typeof k?.sub=="string"?k.sub:null,K=typeof k?.org_id=="string"?k.org_id:null;if(!c||U){let w=JSON.stringify([e.projectBaseURL,U,K,c,g]);a.cachedByKey.clear(),a.cachedByKey.set(w,{token:A,exp:T}),a.activeKey=w;}else o(a);}else o(a);return A})();if(h)return p;let y=p.finally(()=>{a.inflight===y&&(a.inflight=null);});return a.inflight=y,y}function i(){t.clear();}function o(r){r.cachedByKey.clear(),r.activeKey=null;}return {getToken:n,clear:i}}function Oa(e,t){let n=m(e),i=R(n.token);if(i.length===0||i.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:i,policyVersion:0};let o=m(n.template);if(!Number.isSafeInteger(o.policyVersion)||o.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i,policyVersion:o.policyVersion}}function wa(e){let t=jt(e),n=fo(e,t.clear,(u,a)=>Ao(u,a,Io)),i=Ae(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),o=qe(i),r=u=>(...a)=>(t.clear(),u(...a)),c={getConsentStatus:()=>qt(e),acceptConsent:u=>Bt(e,u),getToken:t.getToken,privacy:o,waitlist:{join:(u,a)=>i.request("/waitlist",{method:"POST",body:u,fetchOptions:a,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:r(n.account.updateUnsafeMetadata),updateProfile:r(n.account.updateProfile),changeEmail:r(n.account.changeEmail),changePassword:r(n.account.changePassword),revokeSession:r(n.account.revokeSession),delete:r(n.account.delete)},signIn:{email:r(n.signIn.email),username:r(n.signIn.username),social:r(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:r(n.signIn.emailOtp),passkey:r(n.signIn.passkey)},signUp:{email:r(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:r(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:r(n.twoFactor.disable),verifyTotp:r(n.twoFactor.verifyTotp),verifyBackupCode:r(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:r(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{prepare:n.phoneOtp.prepare,start:n.phoneOtp.start,verify:r(n.phoneOtp.verify)},signOut:r(n.signOut)};return {...n,...c}}async function Sa(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let t=await Ra(),n=e.challengeRequired?await t.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await t.getTurnstileToken(ka(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...n?{challengeToken:e.challengeToken,nonce:n.nonce}:{},...i?{turnstileToken:i}:{}}}async function Ra(){return import('@akedly/shield')}function ka(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}async function Ta(e){let t=`${e.apiUrl}/api/projects/${e.decoded.projectId}/public-config`;return ee(await $(e,t,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:n=>Ia(n,e)}),"public-config")}function Ia(e,t){let n=G(e),i=n.environmentId,o=n.environmentType,r=`${t.apiUrl}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Jt(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==r)throw L();let c=_(n.branding),u=_(n.legal);if(!se(n.enabledMethods,64)||!se(n.socialProviders,64)||!_o(c,["appName","logoUrl","primaryColor"])||c.showAppName!==void 0&&typeof c.showAppName!="boolean"||c.alignment!==void 0&&c.alignment!=="left"&&c.alignment!=="center"&&c.alignment!=="right"||c.theme!==void 0&&c.theme!=="light"&&c.theme!=="dark"&&c.theme!=="system"||!_o(u,["termsUrl","privacyUrl"])||!Number.isSafeInteger(u.version)||u.version<0||typeof u.required!="boolean")throw L();if(n.socialProviderClientIds!==void 0){let a=_(n.socialProviderClientIds);if(Object.keys(a).length>64||Object.values(a).some(h=>typeof h!="string"||h.length>2048))throw L()}if(!X(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!Co(n.turnstileSiteKey)||!Co(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw L();if(n.jwtIssuer!==null){let a=_(n.jwtIssuer),h=new URL(a.issuer),s=`${h.origin}/api/projects/${t.decoded.projectId}/auth`;if(a.issuer!==s||a.jwksUrl!==`${s}/jwks`||a.aud!==t.decoded.projectId||h.protocol!=="https:"&&h.origin!==t.apiUrl)throw L()}if(n.signUp!==void 0){let a=_(n.signUp).mode;if(typeof a!="string"||!["open","restricted","allowlist","waitlist"].includes(a))throw L()}if(n.authentication!==void 0&&Pa(n.authentication),n.privacy!==void 0&&Ea(n.privacy),n.emailVerification!==void 0){let a=_(n.emailVerification);if(!X(a,["required"])||a.method!=="link"&&a.method!=="code")throw L()}if(n.userModel!==void 0&&!X(_(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw L();if(n.mfa!==void 0){let a=_(n.mfa);if(!X(a,["totp","required","backupCodes"])||a.emailOtpFallback!==void 0&&typeof a.emailOtpFallback!="boolean"||a.trustDevice!==void 0&&typeof a.trustDevice!="boolean"||(a.required===true||a.backupCodes===true)&&a.totp!==true)throw L()}if(n.captcha===void 0||n.captcha===null)n.captcha=typeof n.authTurnstileSiteKey=="string"&&n.authTurnstileSiteKey.length>0?{provider:"turnstile",siteKey:n.authTurnstileSiteKey}:null;else {let a=_(n.captcha);if(typeof a.provider!="string"||a.provider.length===0||a.provider.length>64||typeof a.siteKey!="string"||a.siteKey.length===0||a.siteKey.length>512)throw L();n.captcha={provider:a.provider,siteKey:a.siteKey};}return n}function Jt(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 L(){return new TypeError("public-config returned an invalid response")}function _(e){if(!e||typeof e!="object"||Array.isArray(e))throw L();return e}function Co(e){return e===null||typeof e=="string"&&e.length<=4096}function Pa(e){let t=_(e),n=_(t.email),i=_(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!X(n,["signUp"])||!se(n.signIn,3)||n.signIn.some(r=>r!=="password"&&r!=="magic_link"&&r!=="email_otp")||!X(_(t.phone),["signUp","signIn"])||!X(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!X(_(t.passkey),["signIn","add"])||!va(_(t.passkey).relyingPartyId)||!X(_(t.username),["collectOnSignUp","signIn"]))throw L()}function Ea(e){let t=_(e);if(!Array.isArray(t.notices)||!Array.isArray(t.consentPurposes)||t.notices.length>64||t.consentPurposes.length>64)throw L();for(let n of t.notices){let i=_(n);if(xo(i,"noticeId","noticeVersionId"),it(i.title,512),it(i.body,1e5),Do(i.digest),!se(i.activityCodes,128)||!se(i.purposeCodes,128)||typeof i.effectiveFrom!="string"||!Number.isFinite(Date.parse(i.effectiveFrom)))throw L()}for(let n of t.consentPurposes){let i=_(n);if(xo(i,"purposeId","purposeVersionId"),it(i.title,512),it(i.description,1e4),Do(i.digest),!se(i.activityCodes,128)||!se(i.dataCategories,128))throw L()}}function xo(e,t,n){if(typeof e[t]!="string"||!Jt(e[t])||typeof e[n]!="string"||!Jt(e[n])||typeof e.code!="string"||!/^[a-z][a-z0-9_]{0,63}$/.test(e.code)||!Number.isSafeInteger(e.version)||e.version<1)throw L()}function it(e,t){let n=_(e);if(typeof n.en!="string"||n.en.length===0||n.en.length>t||typeof n.ar!="string"||n.ar.length===0||n.ar.length>t)throw L()}function Do(e){let t=_(e);if(typeof t.en!="string"||!/^[a-f0-9]{64}$/.test(t.en)||typeof t.ar!="string"||!/^[a-f0-9]{64}$/.test(t.ar))throw L()}function va(e){return e==null||typeof e=="string"}function X(e,t){return t.every(n=>typeof e[n]=="boolean")}function _o(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function se(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var ve=class extends Error{constructor(n,i){super(n);this.cause=i;this.name="AuthOwlError";}cause},$t=class extends ve{constructor(n,i){super(`Rate limited. Retry after ${n}s.`,i);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},Gt=class extends ve{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var Uo=["en","ar"];function Ca(e){return e==="ar"?"rtl":"ltr"}function xa(e){return typeof e=="string"&&Uo.includes(e)}
3
- exports.AUTH_CHALLENGE_HEADER=Mn;exports.AUTH_LOCALE_HEADER=Fn;exports.AuthOwlError=ve;exports.AuthOwlHttpError=Le;exports.INVITATION_CLAIM_MAX_AGE_MS=vn;exports.INVITATION_QUERY_PARAM=pt;exports.InvalidKeyError=Gt;exports.LOCALES=Uo;exports.RateLimitedError=$t;exports.SESSION_TOKEN_HEADER=ct;exports.SESSION_TRANSPORT_BEARER=lt;exports.SESSION_TRANSPORT_HEADER=ut;exports.TransportError=F;exports.acceptConsent=Bt;exports.activeLocale=ht;exports.captureInvitationClaim=fr;exports.clearInvitationClaim=ye;exports.createAuthOwlClient=wa;exports.createIdempotencyKey=we;exports.createMembershipHas=ns;exports.createTokenClient=jt;exports.decodePublishableKey=rt;exports.directionFor=Ca;exports.getConsentStatus=qt;exports.getPublicConfig=Ta;exports.isLocale=xa;exports.membershipHas=Ke;exports.membershipHasPermission=Fe;exports.membershipHasRole=Gn;exports.membershipHasTeam=$n;exports.passkeyOfferIsDue=wr;exports.readInvitationClaim=he;exports.readLastUsedSignInMethod=mr;exports.recordLastUsedSignInMethod=hr;exports.recordPasskeyOfferDismissed=Sr;exports.recordPasskeyOfferSettled=Rr;exports.rememberPendingSignInMethod=yr;exports.resolveAuthTarget=Pn;exports.resolveConfig=pr;exports.resolveProjectCapabilities=kr;exports.sessionChallengeIsEphemeral=Ho;exports.sessionCookieName=Mo;exports.setActiveLocale=zr;exports.settlePendingSignInMethod=br;exports.solvePhoneOtpChallenge=Sa;exports.withSessionTransportIntegration=Zo;
1
+ 'use strict';var zo=Object.defineProperty;var ot=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var Zt=(e,t)=>{for(var n in t)zo(e,n,{get:t[n],enumerable:true});};var Rn={};Zt(Rn,{abandonSession:()=>hn,bindingNonce:()=>wn,boundedSessionFetch:()=>De,clearSessionProofKeyMemoryForTests:()=>sr,cookieCapability:()=>mn,createSessionProof:()=>Sn,createStoredSessionProof:()=>dr,prepareSenderConstrainedSession:()=>or,sessionProofKey:()=>_e});async function De(e,t,n,i){let o=new AbortController,r,c=new Promise((u,a)=>{r=setTimeout(()=>{o.abort(),a(new Error("AuthOwl session transport request timed out."));},i);});try{return await Promise.race([e(t,{...n,signal:o.signal}),c])}finally{clearTimeout(r);}}async function mn(e,t,n){let i=await De(e,t,{method:"POST",credentials:"include",headers:n},1e4);if(i.status===404||i.status===405)return "legacy";if(i.status!==204)throw new Error("AuthOwl cookie capability check failed.");let o=await De(e,t,{method:"GET",credentials:"include",headers:n},1e4);if(o.status===404||o.status===405)return "legacy";if(o.status!==200)throw new Error("AuthOwl cookie capability check failed.");let r=await o.text();if(new TextEncoder().encode(r).byteLength>128)throw new Error("AuthOwl cookie capability response is invalid.");let c;try{c=JSON.parse(r);}catch{throw new Error("AuthOwl cookie capability response is invalid.")}if(!c||typeof c!="object"||Array.isArray(c)||Object.keys(c).length!==1||typeof c.cookieSupported!="boolean")throw new Error("AuthOwl cookie capability response is invalid.");return c.cookieSupported}async function hn(e,t,n,i){let o=new Headers(n);o.set("authorization",i),o.set("x-authowl-session-transport","bearer");try{await De(e,t,{method:"POST",credentials:"include",headers:o},2e3);}catch{}}async function or(e){let{tokens:t}=e;if(t.beginSession(e.start),!e.clientOrigin)return {binding:null,cookieOnly:false};let n=null;if(t.hasToken()){let r=t.bindingThumbprint();if(r)try{let c=await _e(e.clientOrigin);if(c.thumbprint!==r)throw new Error("Session proof key changed.");n=c;}catch{let c=new Headers;t.declareOn(c);let u=c.get("authorization");u&&await hn(e.fetcher,`${e.projectBaseURL}/session/abandon`,e.headers,u),t.endSession(),t.beginSession(e.start);}}let i;try{i=await mn(e.fetcher,`${e.projectBaseURL}/session/cookie-capability`,e.headers);}catch{return t.useCookieTransport(),{binding:null,cookieOnly:false}}if(i==="legacy")return {binding:null,cookieOnly:false};if(i)return t.hasToken()?{binding:null,cookieOnly:true}:(t.useCookieTransport(),{binding:null,cookieOnly:false});let o=n??await _e(e.clientOrigin);return t.useBoundBearerTransport(o.thumbprint,o.persistent),{binding:{key:o,nonce:wn()},cookieOnly:false}}function ce(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function xe(e){return new TextEncoder().encode(e)}async function yn(e){return ce(new Uint8Array(await crypto.subtle.digest("SHA-256",xe(e))))}function bn(e){return e.kty==="EC"&&e.crv==="P-256"&&typeof e.x=="string"&&e.x.length>0&&typeof e.y=="string"&&e.y.length>0&&e.d===void 0}async function An(e){return yn(JSON.stringify({crv:e.crv,kty:e.kty,x:e.x,y:e.y}))}function rr(e){if(!e||typeof e!="object")return false;let t=e,n=t.algorithm;return t.type==="private"&&t.extractable===false&&t.usages.length===1&&t.usages[0]==="sign"&&n.name==="ECDSA"&&n.namedCurve==="P-256"}function sr(){Ce.clear();}async function ar(e){if(!e||typeof e!="object")return null;let t=e;if(!rr(t.privateKey)||!t.publicJwk||!bn(t.publicJwk))return null;let n=await An(t.publicJwk);return t.thumbprint!==n?null:{privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:n,persistent:true}}function On(){return typeof indexedDB>"u"?Promise.resolve(null):new Promise(e=>{let t;try{t=indexedDB.open(ir,1);}catch{e(null);return}t.onupgradeneeded=()=>{t.result.objectStoreNames.contains(ue)||t.result.createObjectStore(ue,{keyPath:"origin"});},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null);})}async function gn(e){let t=await On();if(!t)return null;try{let n=await new Promise(i=>{let o=t.transaction(ue,"readonly").objectStore(ue).get(e);o.onsuccess=()=>i(o.result),o.onerror=()=>i(null);});return await ar(n)}finally{t.close();}}async function cr(e,t){let n=await On();if(!n)return "unavailable";try{return await new Promise(i=>{let o;try{o=n.transaction(ue,"readwrite"),o.objectStore(ue).add({origin:e,privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:t.thumbprint});}catch{i("unavailable");return}o.oncomplete=()=>i("stored"),o.onerror=()=>{let r=o.error;i(r?.name==="ConstraintError"?"conflict":"unavailable");},o.onabort=()=>{let r=o.error;i(r?.name==="ConstraintError"?"conflict":"unavailable");};})}finally{n.close();}}async function ur(){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},false,["sign","verify"]),t=await crypto.subtle.exportKey("jwk",e.publicKey);if(!bn(t))throw new Error("The browser produced an invalid proof key.");return {privateKey:e.privateKey,publicJwk:t,thumbprint:await An(t),persistent:false}}function _e(e){let t=Ce.get(e);if(t)return t;let n=(async()=>{let i=await gn(e);if(i)return i;let o=await ur(),r=await cr(e,o);return r==="stored"?{...o,persistent:true}:r==="conflict"?await gn(e)??o:o})();return Ce.set(e,n),n.catch(()=>Ce.delete(e)),n}function wn(){return ce(crypto.getRandomValues(new Uint8Array(32)))}function lr(e){let t=new URL(e);return t.search="",t.hash="",t.toString()}async function Sn(e){let t=ce(xe(JSON.stringify({typ:tr,alg:nr,jwk:e.key.publicJwk}))),n=ce(xe(JSON.stringify({htm:e.method.toUpperCase(),htu:lr(e.url),iat:Math.floor(Date.now()/1e3),jti:ce(crypto.getRandomValues(new Uint8Array(16))),ath:await yn(e.token)}))),i=`${t}.${n}`,o=await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e.key.privateKey,xe(i));return `${i}.${ce(new Uint8Array(o))}`}async function dr(e){let t=await _e(e.origin);if(t.thumbprint!==e.expectedThumbprint)throw new Error("Session proof key changed.");return Sn({key:t,method:e.method,url:e.url,token:e.token})}var tr,nr,ir,ue,Ce,kn=ot(()=>{"use strict";tr="pop+jwt",nr="ES256",ir="authowl-session-proof",ue="origin-keys",Ce=new Map;});function Oe(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var Rt=ot(()=>{"use strict";});var Xe={};Zt(Xe,{beginCrossSiteSignIn:()=>ra,challengeFor:()=>co,completeCrossSiteSignIn:()=>sa,takeHandoffCode:()=>Kt});function ao(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function co(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return ao(new Uint8Array(t))}function na(){return ao(crypto.getRandomValues(new Uint8Array(Zs)))}function uo(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${so}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function ia(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===so)return e.slice(t+1).trim()||null}return null}function oa(){uo("",0);}function ro(e){return new URL(e,window.location.href).toString()}async function ra(e,t){let n=t.callbackURL?ro(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=na(),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 c of ta){let u=t[c];u&&o.searchParams.set(c,u);}let r=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??r);for(let[c,u]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])u&&o.searchParams.set(c,ro(u));return o.searchParams.set("challenge",await co(i)),uo(i,ea),o.toString()}function Kt(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(Ft))return null;let n=new URLSearchParams(t.replace(/^#/,"")),i=n.get(Ft);if(!i||e!==void 0&&i!==e)return null;n.delete(Ft);let o=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),i}async function sa(e,t,n){if(!Oe())return false;let i=n??Kt();if(!i)return false;n&&Kt(n);let o=ia();if(oa(),!o)return false;await t.prepareSession({remember:true});let{error:r}=await e.request("/session/exchange",{method:"POST",body:{code:i,verifier:o}});return r===null}var so,Ft,Zs,ea,ta,Qe=ot(()=>{"use strict";Rt();so="authowl_handoff_verifier",Ft="authowl_code",Zs=32,ea=900,ta=["email","providerId","domain","organizationSlug"];});var Lo=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,Mo=/^sk_/i;function rt(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(Mo.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=Lo.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()}}function Fo(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var en=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function st(e,t){throw new Error(`${e}: ${t}`)}function tn(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&&en.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function nn(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&st("apiUrl","origin required");let n;try{n=new URL(e);}catch{st("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!en.test(e))&&st("apiUrl","HTTPS required except exact loopback"),n.origin}function V(e,t){try{return e?.getItem(t)??null}catch{return null}}function N(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function C(){try{return globalThis.localStorage}catch{return}}function Z(){try{return globalThis.sessionStorage}catch{return}}var Ko="authowl.session-challenge",Vo=e=>`${Ko}.${e}`,Ho="set-auth-challenge",at="x-authowl-challenge";function qo(e){let t=e.get(at);return me(t)?sn(t).some(([n,i])=>n.endsWith(".dont_remember")&&i.length>0):false}var rn="INVALID_TWO_FACTOR_COOKIE",Bo=2048,me=e=>e!==null&&e.length<=Bo,on=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function sn(e){let t=[];for(let n of e.split(";")){let i=n.trimStart(),o=i.indexOf("=");o<=0||t.push([i.slice(0,o).trimEnd(),i.slice(o+1)]);}return t}function an(e){let t=Vo(e),n=new Map;function i(){return n.size===0?null:[...n].map(([u,a])=>`${u}=${a}`).join("; ")}function o(){let u=i();N(Z(),t,me(u)?u:null);}function r(u){for(let[a,h]of sn(u))on.test(a)&&(h===""?n.delete(a):on.test(h)&&n.set(a,h));}let c=V(Z(),t);return me(c)&&r(c),{presentOn(u){let a=i();u.delete(at),me(a)&&u.set(at,a);},observe(u){let a=u.get(Ho);me(a)&&(r(a),o());},clear(){n.clear(),o();}}}var ct="set-auth-token",ut="x-authowl-session-transport",lt="bearer";var jo="authowl.session-token",Jo="authowl.session-binding",$o="authowl.cookie-transport",un="ok",ln="bearer",Go=e=>`${jo}.${e}`,Wo=e=>`${Jo}.${e}`,Yo=e=>`${$o}.${e}`;function Xo(e){return e===un?"cookies":e===ln?"bearer":"unknown"}function Qo(e){return e==="cookies"?un:e==="bearer"?ln:null}function Zo(e){let t=Go(e),n=Wo(e),i=Yo(e),o=an(e),r=new Set;function c(O){for(let M of r)try{M(O);}catch{}}let u=null,a=null,h=null,s=false,l=null,p=Xo(V(C(),i)),y=()=>p==="unknown",b=0,S=null,d=false;function g(){let O=V(Z(),t);if(O!==null)return s=true,O;let M=V(C(),t);return M!==null?(s=false,M):null}function A(){return V(Z(),n)??V(C(),n)}u=g(),a=u===null?null:A(),u!==null&&y()&&(d=true);function k(){if(!(!d||!S)){d=false;try{S();}catch{}}}function T(){let O=p==="bearer"?u:null,M=O===null?null:a,[ge,Qt]=s?[Z(),C()]:[C(),Z()];N(Qt,t,null),N(Qt,n,null),N(ge,t,O),N(ge,n,M);}function U(O){O!==null&&l!==null&&(s=l,l=null),O!==null&&h!==null?(a=h,h=null):O===null&&(a=null),u=O,T(),O!==null&&y()&&(d=true,k());}function K(O){p=O,N(C(),i,Qo(O));}function w(){K("unknown"),d=false;}function I(){return u===null&&(u=g(),a=u===null?null:A()),u}function Q(){let O=g();return O!==null&&(u=O,a=A()),u}function ae(O){Q()===O&&T();}function Yt(){b+=1,l=null,h=null,s=false,U(null),o.clear(),w(),c({type:"endSession"});}let Xt=()=>p!=="cookies";return {subscribeLifecycle(O){return r.add(O),()=>r.delete(O)},hasToken:()=>I()!==null,bindingThumbprint:()=>(I(),a),declareOn(O){if(O.has("authorization"))return false;let M=I();return !M&&!Xt()?false:(M&&O.set("authorization",`Bearer ${M}`),O.set(ut,lt),o.presentOn(O),true)},wantsToken:Xt,needsProbe:y,observe(O){let M=O.get(ct);M&&U(M),o.observe(O);},dropChallenge:o.clear,measureWith(O){S=O,k();},beginRead(){let O=I(),M=b;return {carriedToken:O!==null,endIfDead(){O!==null&&Q()===O&&b===M&&Yt();},recordCookieVerdict(ge){if(b===M&&y()){if(K(ge?"cookies":"bearer"),ge){U(null);return}ae(O);}}}},beginSession({remember:O}){b+=1,l=!O,o.clear(),w(),c({type:"beginSession",remember:O});},useCookieTransport(){I()===null&&(h=null,K("cookies"));},completeCookieTransport(){K("cookies"),U(null);},useBoundBearerTransport(O,M){if(!O)throw new Error("A session proof thumbprint is required.");h=O,M||(l=true),K("bearer");},endSession:Yt}}var cn=new Map;function dn(e){let t=cn.get(e);if(t)return t;let n=Zo(e);return cn.set(e,n),n}var pn=Symbol.for("authowl.session-transport-integration.v1");function er(e,t){return Object.defineProperty(e,pn,{value:t,configurable:false,enumerable:false,writable:false}),e}function fn(e){return e?e[pn]??null:null}var dt="x-authowl-session-proof",Tn="x-authowl-session-binding",In="x-authowl-session-binding-proof",Ue=()=>Promise.resolve().then(()=>(kn(),Rn));function pr(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function Pn(e,t){let n=dn(e.projectId),i=(p,y)=>(t??globalThis.fetch)(p,y),o=typeof globalThis.location=="object"&&typeof globalThis.location.origin=="string"&&globalThis.location.origin!=="null"?globalThis.location.origin:null,r=null,c=false,u=()=>new Headers({"x-publishable-key":e.publishableKey});async function a(p){let y=p.get("authorization");y&&await Ue().then(b=>b.abandonSession(i,`${e.projectBaseURL}/session/abandon`,u(),y));}async function h(p){r=null,c=false;let y=await Ue().then(b=>b.prepareSenderConstrainedSession({tokens:n,start:p,clientOrigin:o,fetcher:i,projectBaseURL:e.projectBaseURL,headers:u()}));r=y.binding,c=y.cookieOnly;}return {fetch:async(p,y)=>{if(y?.credentials==="omit"||!n.wantsToken())return i(p,y);let b=pr(p,y),S=n.declareOn(b),d=b.get("authorization"),g=(y?.method??(typeof p=="object"&&p!==null&&"method"in p?p.method:"GET")).toUpperCase(),A=typeof p=="string"?p:p instanceof URL?p.toString():p.url;if(S&&o){let T=!!d;if(d){let U=d.replace(/^Bearer\s+/i,""),K=n.bindingThumbprint();if(K)try{b.set(dt,await Ue().then(w=>w.createStoredSessionProof({origin:o,expectedThumbprint:K,method:g,url:A,token:U})));}catch{await a(b),n.endSession(),b.delete("authorization"),b.delete(dt),b.delete(Tn),b.delete(In),T=false;}}if(r){let U=r;b.set(Tn,U.nonce),b.set(T?In:dt,await Ue().then(K=>K.createSessionProof({key:U.key,method:g,url:A,token:U.nonce})));}}let k=await i(p,{...y,headers:b});return S&&(k.status===401&&d&&(new URL(A).pathname.endsWith("/get-session")||new URL(A).pathname.endsWith("/sign-out"))?(await a(b),n.endSession(),r=null,c=false):(n.observe(k.headers),k.headers.has("set-auth-token")&&(c&&n.completeCookieTransport(),r=null,c=false))),k},probe:i,tokens:n,integration:fn(t),prepareSession:h}}function En(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=rt(e.publishableKey),n=nn(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function fr(e){let t=En(e),{fetch:n,...i}=Pn({projectId:t.decoded.projectId,projectBaseURL:t.projectBaseURL,publishableKey:t.publishableKey},e.fetch);return {...e,...t,fetch:n,session:i}}var pt="authowl_invitation",ft="authowl.invitation-claim",vn=/^[A-Za-z0-9_-]{1,128}$/,Cn=10080*60*1e3;function gr(e=Date.now()){if(typeof window>"u")return he(e);let t;try{t=new URL(window.location.href);}catch{return he(e)}let n=t.searchParams.get(pt);if(n===null)return he(e);t.searchParams.delete(pt);try{window.history.replaceState(window.history.state,"",t.toString());}catch{}if(!vn.test(n))return he(e);let i={id:n,capturedAt:e};return N(C(),ft,JSON.stringify(i)),i}function he(e=Date.now()){let t=V(C(),ft);if(t===null)return null;let n;try{n=JSON.parse(t);}catch{return ye(),null}if(typeof n!="object"||n===null)return ye(),null;let{id:i,capturedAt:o}=n;return typeof i!="string"||!vn.test(i)||typeof o!="number"||e-o>Cn?(ye(),null):{id:i,capturedAt:o}}function ye(){N(C(),ft,null);}var xn="authowl.last-used-method",mr=/^(password|username|magic-link|email-otp|phone-otp|passkey|sso|social:[a-z0-9][a-z0-9_-]{0,63})$/,gt=e=>`${xn}.${e}`;function ze(e){return mr.test(e)}function hr(e){let t=V(C(),gt(e));return t===null||!ze(t)?null:t}function yr(e,t){ze(t)&&(N(C(),Ne(e),null),N(C(),gt(e),t));}var Ne=e=>`${xn}.pending.${e}`;function br(e,t){ze(t)&&N(C(),Ne(e),t);}function Ar(e,t){let n=V(C(),Ne(e));N(C(),Ne(e),null),t&&n!==null&&ze(n)&&N(C(),gt(e),n);}var Or="authowl.passkey-offer",Dn="done",wr=720*60*60*1e3,mt=(e,t)=>`${Or}.${e}.${t}`;function Sr(e,t,n=Date.now()){let i=V(C(),mt(e,t));if(i===null)return true;if(i===Dn)return false;let o=Number(i);if(!Number.isFinite(o))return true;let r=n-o;return r<0||r>=wr}function Rr(e,t,n=Date.now()){N(C(),mt(e,t),String(n));}function kr(e,t){N(C(),mt(e,t),Dn);}function Tr(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,r=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(c=>c==="password"||c==="magic_link"||c==="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:r?.totp??e?.twoFactor??false,mfaRequired:r?.required??e?.mfaRequired??false,backupCodes:r?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}var Ir=1e4,Pr=1024*1024,F=class extends Error{kind;requestId;constructor(t,n){super(Nr(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},Nn=new WeakSet;function H(e,t){let n=new F(e,t);return Nn.add(n),n}async function zn({fetchImpl:e,url:t,init:n={},timeoutMs:i=Ir,maxResponseBytes:o=Pr,allowHttpLoopback:r=false,decode:c}){Un(i,"timeoutMs"),Un(o,"maxResponseBytes");let u=tn(t,{allowHttpLoopback:r}),a=n.signal,h=new AbortController,s=null,l,p=new Promise(d=>{l=d;}),y=d=>{s===null&&(s=d,l({type:"abort",kind:d}),h.abort());},b=()=>y("aborted");a?.addEventListener("abort",b,{once:true});let S=setTimeout(()=>y("timeout"),i);a?.aborted&&b();try{if(s!==null)throw H(s);let d;try{d=await Promise.race([e(u.toString(),{...n,redirect:"error",signal:h.signal}).then(K=>({type:"response",response:K})),p]);}catch{throw H(s??"network")}if(d.type==="abort")throw H(d.kind);if(!Er(d.response))throw H("invalid_response");let g=d.response,A=Ur(g.headers),k=await vr(g,o,p,()=>s,A),T=Dr(g,k,A),U;try{U=g.ok&&c?c(T,Object.freeze({status:g.status})):T;}catch{throw H("invalid_response",A)}return {response:g,data:U,...A===void 0?{}:{requestId:A}}}catch(d){throw d instanceof F&&Nn.has(d)?d:H(s??"network")}finally{clearTimeout(S),a?.removeEventListener("abort",b);}}function Er(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 vr(e,t,n,i,o){let r=e.headers.get("content-length");if(r!==null){if(!/^\d+$/.test(r))throw _n(e.body),H("invalid_response",o);if(Number(r)>t)throw _n(e.body),H("response_too_large",o)}if(!e.body)return "";let c;try{c=e.body.getReader();}catch{throw H("network",o)}let u=[],a=0,h=null;try{for(;;){let p;try{p=await Promise.race([c.read(),n]);}catch{h=H(i()??"network",o);break}if(Cr(p)){h=H(p.kind,o);break}let{done:y,value:b}=p;if(y)break;if(b.byteLength!==0){if(a+=b.byteLength,a>t){h=H("response_too_large",o);break}u.push(b);}}}finally{h&&xr(c);try{c.releaseLock();}catch{}}if(h)throw h;let s=new Uint8Array(a),l=0;for(let p of u)s.set(p,l),l+=p.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(s)}catch{throw H("invalid_response",o)}}function Cr(e){return "type"in e&&e.type==="abort"}function _n(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function xr(e){try{e.cancel().catch(()=>{});}catch{}}function Dr(e,t,n){if(e.status===204||e.status===205)return null;let i=_r(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw H("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw H("invalid_response",n)}}function _r(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Ur(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function Un(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Nr(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 Le=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 $(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),zn({fetchImpl:e.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 ee(e,t){if(!e.response.ok)throw new Le(t,e.response,e.requestId);return e.data}var te=new Map,zr=/^[a-z]{2}$/;function Lr(e,t){if(typeof window>"u")return ()=>{};if(t===null)return te.delete(e),()=>{};let n=t.trim().toLowerCase();if(!zr.test(n))return ()=>{};let i=Symbol(e),o=te.get(e)??[];return o.push({token:i,locale:n}),te.set(e,o),()=>{let r=te.get(e);if(!r)return;let c=r.filter(u=>u.token!==i);c.length===0?te.delete(e):te.set(e,c);}}function ht(e){return typeof window>"u"?null:te.get(e)?.at(-1)?.locale??null}var Fn="x-authowl-turnstile-token",Kn="x-authowl-locale",Mr=1e4,Fr=32,Kr=2e4;function ne(e,t){return {post:(n,i,o,r)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:r}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&await t(),o}}}function Ae(e,t=e.projectBaseURL){return {async request(n,i={}){let o=qr(t,n,i.query),r=i.method??(i.body===void 0?"GET":"POST"),c=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&c.set(Fn,i.fetchOptions.authChallengeToken);let u=ht(e.decoded.projectId);u&&c.set(Kn,u),i.body!==void 0&&c.set("content-type","application/json");let a={method:r,headers:c,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},h=Object.freeze({method:r,path:n});await i.fetchOptions?.onRequest?.(h);let s=Hr(r,i.fetchOptions),l;try{l=await Vr(e,o,{...a,signal:i.fetchOptions?.signal},s);}catch(g){let A=Mn(g);return await i.fetchOptions?.onError?.(yt(h,A,Jr(g))),{data:null,error:A}}let{response:p,requestId:y}=l,b=Wr(n,l.data),S=b;if(p.ok)try{S=At(b),i.decode&&(S=i.decode(S));}catch{let g=Mn(new F("invalid_response",y));return await i.fetchOptions?.onError?.(yt(h,g,"invalid_response")),{data:null,error:g}}let d=Object.freeze({...h,status:p.status,...y===void 0?{}:{requestId:y}});if(await i.fetchOptions?.onResponse?.(d),!p.ok){let g=Br(p,b,y);return g.code===rn&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(yt(h,g,"api")),{data:null,error:g}}return await i.fetchOptions?.onSuccess?.(d),{data:S,error:null}}}}async function Vr(e,t,n,i){let o=Date.now()+Mr;for(let r=0;r<i;r+=1){let c=o-Date.now();if(c<=0)throw new F("timeout");try{let u=await $(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(c))});if(u.response.status<500||r===i-1)return u}catch(u){if(r===i-1||!(u instanceof F)||u.kind!=="network")throw u}await $r(50*2**r,n.signal,o);}throw new F("network")}function Hr(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 qr(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,r]of Object.entries(n??{}))r!==void 0&&i.searchParams.set(o,String(r));return i.toString()}function Br(e,t,n){let i=be(t)?t:{},o=jr(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 jr(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??Ln(t.get("retry-after"))??Ln(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function Ln(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 Mn(e){let t=e instanceof F?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 F&&e.requestId?{requestId:e.requestId}:{}}}function yt(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function Jr(e){return e instanceof F?e.kind:"network"}function $r(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new F("aborted"));return}let r=n-Date.now();if(r<=0){o(new F("timeout"));return}let c=Math.min(e,r),u=()=>{clearTimeout(a),o(new F("aborted"));},a=setTimeout(()=>{t?.removeEventListener("abort",u),Date.now()>=n?o(new F("timeout")):i();},c);t?.addEventListener("abort",u,{once:true}),t?.aborted&&u();})}function At(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Fr||i.nodes>Kr)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=>At(o,"",n+1,i)):be(e)?Object.fromEntries(Object.entries(e).map(([o,r])=>[o,Gr(o)?r:At(r,o,n+1,i)])):e}function Gr(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function Wr(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>be(o)?bt(o):o);if(!be(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-")?bt(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")&&be(i.session)&&(i={...i,session:bt(i.session)}),i}function bt(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function be(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var Yr=new Set(["__proto__","constructor","prototype"]);function m(e){(!e||typeof e!="object"||Array.isArray(e))&&f();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&f(),e}function R(e){return typeof e!="string"&&f(),e}function P(e){return typeof e!="boolean"&&f(),e}function E(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&f(),e}function ie(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&f(),[...e]}function _(e,t){let n=e[t];return n==null||typeof n=="string"?n:f()}function Vn(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:f()}function B(e){let t=m(e),n=t.email;return n!==null&&typeof n!="string"&&f(),{id:R(t.id),email:n,emailVerified:P(t.emailVerified),createdAt:E(t.createdAt),updatedAt:E(t.updatedAt),...q("phoneNumber",_(t,"phoneNumber")),...q("username",_(t,"username")),...q("displayUsername",_(t,"displayUsername")),...q("firstName",_(t,"firstName")),...q("lastName",_(t,"lastName")),...q("name",_(t,"name")),...q("image",_(t,"image")),...q("twoFactorEnabled",Vn(t,"twoFactorEnabled"))}}function Me(e){let t=m(e),n=t.membership;return {id:R(t.id),userId:R(t.userId),expiresAt:E(t.expiresAt),...q("activeOrganizationId",_(t,"activeOrganizationId")),...q("activeTeamId",_(t,"activeTeamId")),...q("membership",n==null?n:Xr(n)),...q("pendingMfaEnrollment",Vn(t,"pendingMfaEnrollment"))}}function f(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function G(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&f(),wt(e,t,n)}function wt(e,t=20,n=1e4){return Ot(e,0,{nodes:0},t,n)}function Xr(e){let t=m(e);return {role:R(t.role),...t.roles===void 0?{}:{roles:ie(t.roles)},permissions:ie(t.permissions),...t.teams===void 0?{}:{teams:ie(t.teams)}}}function Ot(e,t,n,i,o){if(n.nodes+=1,(t>i||n.nodes>o)&&f(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||f(),e;if(Array.isArray(e))return e.map(u=>Ot(u,t+1,n,i,o));(!e||typeof e!="object")&&f();let r=Object.getPrototypeOf(e);r!==Object.prototype&&r!==null&&f();let c={};for(let[u,a]of Object.entries(e))Yr.has(u)&&f(),c[u]=Ot(a,t+1,n,i,o);return c}function q(e,t){return t===void 0?{}:{[e]:t}}function Hn({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,r=null,c=null,u=null,a=null,h=null,s=null,l,p=w=>{S(w);};l={data:null,isPending:true,isRefetching:false,error:null,refetch:p};function y(w){l=w;for(let I of o)I();}async function b(w){return e.request("/get-session",{query:w?.query,decode:St})}function S(w){if(w?.query?.disableCookieCache===true)return g(w);if(a)return a;if(h)return h;let I=g(w).finally(()=>{h===I&&(h=null);});return h=I,I}function d(){if(a)return a;let w=g({query:{disableCookieCache:true}}).finally(()=>{a===w&&(a=null);});return a=w,w}async function g(w){u?.abort();let I=new AbortController;u=I,y({...l,isPending:l.data===null&&l.error===null,isRefetching:l.data!==null});let Q=n.beginRead(),ae=await e.request("/get-session",{query:w?.query,fetchOptions:{signal:I.signal},decode:St});if(u===I&&(u=null,y({data:ae.data,error:ae.error,isPending:false,isRefetching:false,refetch:p}),ae.error===null)){if(ae.data===null){Q.endIfDead();return}await A(Q);}}async function A(w){if(n.needsProbe()){if(!w.carriedToken){w.recordCookieVerdict(true);return}return s||k(w)}}function k(w){let I=t.request("/get-session",{query:{disableCookieCache:true},decode:St}).then(Q=>{s===I&&Q.error===null&&w.recordCookieVerdict(Q.data!==null);}).finally(()=>{s===I&&(s=null);});return s=I,I}function T(){r?.postMessage({type:"session-changed"});}function U(){if(typeof window>"u"||c)return;let w=()=>{S();},I=()=>{document.visibilityState==="visible"&&S();};window.addEventListener("focus",w),document.addEventListener("visibilitychange",I),typeof BroadcastChannel<"u"&&(r=new BroadcastChannel(i),r.addEventListener("message",w)),c=()=>{window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",I),r?.close(),r=null,c=null;};}function K(w){return o.add(w),o.size===1&&(U(),S()),()=>{if(o.delete(w),o.size===0){let I=u;u=null,h=null,a=null,I?.abort(),c?.();}}}return n.measureWith(()=>{n.needsProbe()&&k(n.beginRead());}),{store:{subscribe:K,getSnapshot:()=>l,refresh:d},getSession:b,notifyMutation(){T(),s&&s.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&T();}),o.size>0&&S({query:{disableCookieCache:true}});}}}function St(e){if(e===null)return null;let t=m(e);return (t.session===void 0||t.user===void 0)&&f(),{session:Me(t.session),user:B(t.user)}}Rt();function we(){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 qn(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:jn})}async function Bn(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:jn})}function jn(e){let t=m(e),n=G(t.public_metadata),i=G(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 $n(e,t){let{post:n,mutation:i}=ne(e,t);return {getMetadata:o=>qn(e,o),updateUnsafeMetadata:(o,r)=>Bn(e,o,r),updateProfile:(o,r)=>i(n("/update-user",o,r,Se)),changeEmail:(o,r)=>i(n("/change-email",o,r,Se)),changePassword:(o,r)=>i(n("/change-password",o,r,Qr)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:Zr}),revokeSession:({sessionId:o},r)=>i(n("/revoke-session",{sessionId:o},r,Se)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,Se)),listSocialAccounts:async o=>{let r=await e.request("/list-accounts",{fetchOptions:o,decode:es});if(!r.data)return {data:null,error:r.error};let c=r.data.length>1;return {...r,data:r.data.filter(u=>u.providerId!=="credential").map(u=>({...u,canUnlink:c}))}},linkSocial:(o,r)=>n("/link-social",o,r,ts),unlinkSocial:(o,r)=>i(n("/unlink-account",o,r,Se)),delete:(o={},r)=>i(n("/delete-user",o,r,ns))}}function Se(e){let t=m(e);return {status:P(t.status)}}function Qr(e){let t=m(e);return {user:B(t.user)}}function Zr(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt),expiresAt:E(n.expiresAt),...Jn("ipAddress",_(n,"ipAddress")),...Jn("userAgent",_(n,"userAgent"))}})}function es(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),providerId:R(n.providerId),accountId:R(n.accountId),scopes:ie(n.scopes),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt)}})}function ts(e){let t=m(e);return {url:R(t.url),redirect:P(t.redirect)}}function ns(e){let t=m(e);return {success:P(t.success),message:R(t.message)}}function Jn(e,t){return t===void 0?{}:{[e]:t}}function Fe(e,t){return !e||!t?false:e.permissions.includes(t)}function Gn(e,t){return !e||!t?false:e.teams?.includes(t)??false}function Wn(e,t){return e?e.roles===void 0?e.role===t:e.roles.includes(t):false}function Ke(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&&!Wn(e,n)||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!Gn(e,o))}function is(e){return {has:t=>Ke(e,t),hasPermission:t=>Fe(e,t.permission)}}var os=new Set(["pending","accepted","rejected","canceled"]),kt=1e4;function Yn(e){let t=m(e);return t.recipientHint!==null&&t.recipientHint!=="new_user"&&f(),{recipientHint:t.recipientHint}}function le(e,t,n){let i=m(e),o={id:v(i.id),name:v(i.name),slug:v(i.slug),createdAt:E(i.createdAt),...Re("logo",_(i,"logo")),...Re("metadata",i.metadata===void 0?void 0:wt(i.metadata))};return J(o.id,t),J(o.slug,n),o}function Xn(e){return W(e,le)}function Tt(e,t,n){return e===null?null:(t===null&&f(),le(e,t,n))}function Qn(e,t,n){if(e===null)return null;let i=m(e),o=le(i,t,n);return {...o,members:W(i.members,r=>li(r,o.id)),invitations:W(i.invitations,r=>Y(r,void 0,o.id))}}function It(e,t,n=false){let i=W(e,o=>ke(o));return n||Ie(i.map(o=>o.organizationId),t),i}function Zn(e,t){let n=W(e,i=>Pt(i));return Ie(n.map(i=>i.teamId),t),n}function Pt(e,t,n){let i=m(e),o={id:v(i.id),teamId:v(i.teamId),userId:v(i.userId),createdAt:E(i.createdAt)};return J(o.teamId,t),J(o.userId,n),o}function ei(e,t,n){return e===null?null:(t===null&&f(),ke(e,t,n))}function ti(e,t){let n=m(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&f(),{members:rs(n.members,t),total:n.total}}function Y(e,t,n){let i=m(e),o=v(i.status);os.has(o)||f();let r={id:v(i.id),organizationId:v(i.organizationId),email:Te(i.email),role:v(i.role),status:o,inviterId:v(i.inviterId),expiresAt:E(i.expiresAt),createdAt:E(i.createdAt)};return J(r.id,t),J(r.organizationId,n),r}function ni(e,t){let n=W(e,i=>Y(i));return Ie(n.map(i=>i.organizationId),t),n}function ii(e){return W(e,t=>{let n=m(t);return {...Y(n),organizationName:Te(n.organizationName)}})}function oi(e,t){let n=m(e);return {...Y(n,t),organizationName:v(n.organizationName),organizationSlug:v(n.organizationSlug),inviterEmail:di(n.inviterEmail)}}function ri(e,t){let n=m(e),i=Y(n.invitation,t);return {invitation:i,member:de(n.member,void 0,i.organizationId)}}function si(e,t){let n=m(e);return n.member!==null&&f(),{invitation:n.invitation===null?null:Y(n.invitation,t),member:null}}function ai(e,t){return e===null?null:Y(e,t)}function ci(e,t,n){let i=m(e);return {member:de(i.member,n,t)}}function de(e,t,n){let i=m(e),o={id:v(i.id),organizationId:v(i.organizationId),userId:v(i.userId),role:v(i.role),createdAt:E(i.createdAt),...i.user===void 0?{}:{user:pi(i.user)}};return J(o.id,t),J(o.organizationId,n),o}function ui(e,t){let n=W(e,i=>{let o=m(i);return {organizationId:v(o.organizationId),data:{role:v(o.role),...Re("permission",o.permission===void 0?void 0:ss(o.permission)),...Re("customPermissionKeys",o.customPermissionKeys===void 0?void 0:ie(o.customPermissionKeys))}}});return Ie(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function ke(e,t,n){let i=m(e),o=i.updatedAt,r={id:v(i.id),name:Te(i.name),organizationId:v(i.organizationId),createdAt:E(i.createdAt),...o===void 0?{}:{updatedAt:E(o)}};return J(r.id,t),J(r.organizationId,n),r}function Et(e){let t=m(e);return {message:Te(t.message)}}function li(e,t){let n=m(e);return {...de(n,void 0,t),user:pi(n.user)}}function rs(e,t){let n=W(e,i=>li(i));return Ie(n.map(i=>i.organizationId),t),n}function ss(e){let t=m(e),n={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>kt||!Array.isArray(o))&&f(),n[i]=o.map(r=>v(r));return n}function v(e){let t=R(e);return (t.length===0||t.length>kt)&&f(),t}function Te(e){if(e==null)return "";let t=R(e);return t.length>kt&&f(),t}function di(e){return e===null?null:v(e)}function J(e,t){t!==void 0&&e!==t&&f();}function Ie(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&f();}function pi(e){let t=m(e);return {id:v(t.id),name:Te(t.name),email:di(t.email),...Re("image",_(t,"image"))}}function W(e,t){return Array.isArray(e)||f(),e.map(n=>t(n))}function Re(e,t){return t===void 0?{}:{[e]:t}}function fi(e,t,n=()=>null){let{post:i,mutation:o}=ne(e,t),r=new Set,c=()=>{for(let s of r)try{s();}catch{}},u=new Map,a=(s,l,p,y)=>{if(p)return e.request(s,{query:l,fetchOptions:p,decode:y});let b=`${s}\0${JSON.stringify(l??null)}`,S=u.get(b);if(S)return S;let d=e.request(s,{query:l,decode:y}).finally(()=>{u.delete(b);});return u.set(b,d),d},h=async s=>{let l=await o(s).finally(()=>u.clear());return l.error===null&&c(),l};return {subscribe(s){return r.add(s),()=>r.delete(s)},create:(s,l)=>h(i("/organization/create",s,l,le)),list:s=>a("/organization/list",void 0,s,Xn),get:(s={},l)=>a("/organization/get-full-organization",{organizationId:s.organizationId,organizationSlug:s.organizationSlug,membersLimit:s.membersLimit},l,p=>Qn(p,s.organizationId,s.organizationSlug)),setActive:(s,l)=>h(i("/organization/set-active",s,l,p=>Tt(p,s.organizationId,s.organizationSlug))),createTeam:(s,l)=>h(i("/organization/create-team",s,l,p=>ke(p,void 0,s.organizationId))),listTeams:(s={},l)=>a("/organization/list-teams",{organizationId:s.organizationId},l,p=>It(p,s.organizationId)),updateTeam:(s,l)=>h(i("/organization/update-team",s,l,p=>ke(p,s.teamId,s.data.organizationId))),removeTeam:(s,l)=>h(i("/organization/remove-team",s,l,Et)),listUserTeams:s=>a("/organization/list-user-teams",void 0,s,l=>It(l,void 0,true)),listTeamMembers:(s={},l)=>a("/organization/list-team-members",{teamId:s.teamId},l,p=>Zn(p,s.teamId)),addTeamMember:(s,l)=>h(i("/organization/add-team-member",s,l,p=>Pt(p,s.teamId,s.userId))),removeTeamMember:(s,l)=>h(i("/organization/remove-team-member",s,l,Et)),setActiveTeam:(s,l)=>h(i("/organization/set-active-team",s,l,p=>ei(p,s.teamId))),update:(s,l)=>h(i("/organization/update",s,l,p=>Tt(p,s.organizationId))),delete:(s,l)=>h(i("/organization/delete",s,l,p=>le(p,s.organizationId))),listMembers:(s={},l)=>a("/organization/list-members",{organizationId:s.organizationId,organizationSlug:s.organizationSlug,limit:s.limit,offset:s.offset,sortBy:s.sortBy,sortDirection:s.sortDirection,filterField:s.filterField,filterValue:s.filterValue,filterOperator:s.filterOperator},l,p=>ti(p,s.organizationId)),inviteMember:(s,l)=>h(i("/organization/invite-member",s,l,p=>Y(p,void 0,s.organizationId))),listInvitations:(s={},l)=>a("/organization/list-invitations",{organizationId:s.organizationId},l,p=>ni(p,s.organizationId)),listUserInvitations:s=>a("/organization/list-user-invitations",void 0,s,ii),getInvitation:(s,l)=>a("/organization/get-invitation",{id:s.id},l,p=>oi(p,s.id)),getInvitationRecipientHint:(s,l)=>a("/organization/invitation-recipient-hint",{invitationId:s.invitationId},l,Yn),acceptInvitation:(s,l)=>h(i("/organization/accept-invitation",s,l,p=>ri(p,s.invitationId))),rejectInvitation:(s,l)=>h(i("/organization/reject-invitation",s,l,p=>si(p,s.invitationId))),cancelInvitation:(s,l)=>h(i("/organization/cancel-invitation",s,l,p=>ai(p,s.invitationId))),removeMember:(s,l)=>h(i("/organization/remove-member",s,l,p=>ci(p,s.organizationId,s.memberIdOrEmail.includes("@")?void 0:s.memberIdOrEmail))),updateMemberRole:(s,l)=>h(i("/organization/update-member-role",s,l,p=>de(p,s.memberId,s.organizationId))),leave:(s,l)=>h(i("/organization/leave",s,l,p=>de(p,void 0,s.organizationId))),listRoles:(s={},l)=>a("/organization/list-roles",{organizationId:s.organizationId},l,p=>ui(p,s.organizationId)),has:s=>Ke(n(),s),hasPermission:s=>Fe(n(),s.permission)}}var vt=["access","correction","portability","erasure","restriction","objection","consent_withdrawal"];function as(e){return e===void 0?[...vt]:vt.filter(t=>e.includes(t))}function qe(e){return {listConsentPreferences:t=>e.request("/privacy/consent-decisions",{fetchOptions:t,decode:cs}),recordConsent:(t,n)=>e.request("/privacy/consent-decisions",{method:"POST",body:{...t,correlationId:t.correlationId??we()},fetchOptions:n,decode:ls}),listRightsRequests:t=>e.request("/privacy/rights",{fetchOptions:t,decode:ds}),createRightsRequest:(t,n)=>e.request("/privacy/rights",{method:"POST",body:t,fetchOptions:n,decode:ps})}}function cs(e){let t=m(e);return Array.isArray(t.preferences)||f(),{preferences:t.preferences.map(us)}}function us(e){let t=m(e);return {purposeId:R(t.purposeId),purposeVersionId:R(t.purposeVersionId),code:R(t.code),state:fs(t.state,["granted","refused","withdrawn"]),updatedAt:Ve(t.updatedAt),decidedAt:Ve(t.decidedAt)}}function ls(e){let t=m(e);return t.recorded!==true&&f(),{recorded:true,decision:Pe(t.decision,["granted","refused","withdrawn"]),decidedAt:He(t.decidedAt)}}function ds(e){let t=m(e);return Array.isArray(t.requests)||f(),{requests:t.requests.map(gi)}}function ps(e){return {request:gi(m(e).request)}}function gi(e){let t=m(e);return {id:R(t.id),rightType:Pe(t.rightType,["access","correction","portability","erasure","restriction","objection","consent_withdrawal"]),state:Pe(t.state,["received","identity_pending","in_progress","restricted","completed","denied","withdrawn"]),locale:Pe(t.locale,["en","ar"]),receivedAt:He(t.receivedAt),acknowledgedAt:Ve(t.acknowledgedAt),fulfilmentDeadline:He(t.fulfilmentDeadline),completedAt:Ve(t.completedAt)}}function Ve(e){return e===null?null:He(e)}function He(e){if(e instanceof Date)return E(e);typeof e!="string"&&f();let t=new Date(e);return Number.isNaN(t.getTime())&&f(),t}function Pe(e,t){return (typeof e!="string"||!t.includes(e))&&f(),e}function fs(e,t){return e===null?null:Pe(e,t)}var mi=4096,gs=4096,ms=100,hs=256,ys=16,bs=64,As=12;function xt(e){let t=m(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&f(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:_i(t.twoFactorMethods,ys,bs)}}):(t.twoFactorRedirect!==void 0&&f(),{redirect:P(t.redirect),...ks(t,"url"),user:B(t.user)})}function hi(e){let t=m(e);return {user:B(t.user)}}function yi(e){let t=m(e);return {sessionCreated:P(t.sessionCreated),user:B(t.user)}}function bi(e,t){let n=m(e),i=P(n.redirect);n.user===null&&f();let o=n.user!==void 0&&n.user!==null,r=n.url!==void 0&&n.url!==null;return i?((o||!r)&&f(),{redirect:true,url:Ct(n.url,t)}):(o===r&&f(),o?{redirect:false,user:B(n.user)}:{redirect:false,url:Ct(n.url,t)})}function Ai(e,t){let n=m(e);return (n.redirect!==true||n.user!==void 0)&&f(),{redirect:true,url:Ct(n.url,t)}}function Oi(e){return {status:P(m(e).status)}}function wi(e){return {success:P(m(e).success)}}function Si(e){return m(e).status!=="pending"&&f(),{status:"pending"}}function Ri(e){let t=m(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&f();let n=m(t.turnstile),i=n.siteKey===null?null:R(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:R(t.connectionId),challenge:R(t.challenge),difficulty:Os(t.difficulty),challengeToken:R(t.challengeToken),challengeRequired:P(t.challengeRequired),turnstile:{required:P(n.required),siteKey:i}}}function Os(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>As)&&f(),Number(e)}function ki(e){let t=m(e);return (t.status!==true||t.sessionCreated!==true)&&f(),{status:true,sessionCreated:true,user:ws(t.user)}}function Dt(e){return {status:P(m(e).status)}}function Ti(e){return {status:P(m(e).status)}}function Ii(e){let t=m(e);return {status:P(t.status),user:B(t.user)}}function Pi(e){return {success:P(m(e).success)}}function Ei(e){let t=m(e);return {totpURI:Rs(t.totpURI),backupCodes:Di(t.backupCodes)}}function vi(e){return {status:P(m(e).status)}}function Be(e){return m(e).status!==true&&f(),{status:true}}function Ci(e){return {status:P(m(e).status)}}function xi(e){let t=m(e);return t.status!==void 0&&t.status!==true&&f(),{backupCodes:Di(t.backupCodes)}}function ws(e){let t=m(e);return {id:pe(t.id,512),...Ts(t,"name",1024),phoneNumber:pe(t.phoneNumber,64),phoneNumberVerified:P(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:E(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:E(t.updatedAt)}}}function Ct(e,t){let n=pe(e,mi);/[\u0000-\u0020\u007f]/u.test(n)&&f();let i;try{i=new URL(n);}catch{return f()}return (i.username||i.password)&&f(),i.protocol==="https:"||t&&i.protocol==="http:"&&Ss(i.hostname)?i.href:f()}function Ss(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Rs(e){let t=pe(e,gs),n;try{n=new URL(t);}catch{return f()}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))&&f(),t}function Di(e){return _i(e,ms,hs)}function _i(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&f();let i=e.map(o=>pe(o,n));return i.some(o=>o.trim().length===0)&&f(),new Set(i).size!==i.length&&f(),i}function pe(e,t){let n=R(e);return (n.length===0||n.length>t)&&f(),n}function ks(e,t){let n=e[t];return n==null?{}:{[t]:pe(n,mi)}}function Ts(e,t,n){let i=_(e,t);return i===void 0?{}:(i!==null&&i.length>n&&f(),{[t]:i})}var Ui=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),je=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 Je(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||zi(n,i)||Ni(i)||Ui.has(i))return {valid:false}}let t=Is(e);return _t(t)?{valid:true,value:t}:{valid:false}}function _t(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let r=o.codePointAt(0);if(r===void 0||zi(o,r)||Ni(r)||Ui.has(r))return false;n??=r,i=r;}return t>0&&n!==void 0&&i!==void 0&&!je.has(n)&&!je.has(i)}function $e(){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 Is(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!je.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let r=i>=56320&&i<=57343?n-2:n-1,c=e.codePointAt(r);if(c===void 0||!je.has(c))break;n=r;}return e.slice(t,n)}function Ni(e){return e>=0&&e<=31||e>=127&&e<=159}function zi(e,t){return e.length===1&&t>=55296&&t<=57343}var Fi=12,Ki=5e3,Ps=8,Es=1e3,vs=16,Li=512,Vi=100,Hi=8192,Cs=32768,Ut=1024,Mi=256,zt=64,xs=6e5,Ds=/^[A-Za-z0-9_-]+$/u,_s=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Us=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Ns=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,zs=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,qi=new Set(["discouraged","preferred","required"]),Ls=new Set(["singleDevice","multiDevice"]),Bi=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),ji=new Set(["hybrid","security-key","client-device"]),Ms=new Set(["none","indirect","direct","enterprise"]),Fs=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Ks=new Set(["platform","cross-platform"]),Vs=new Set(["discouraged","preferred","required"]),Hs=new Set([-8,-7,-257]);function Ji(e){let t=G(e,Fi,Ki);return {challenge:no(t.challenge),...z("timeout",eo(t.timeout)),...z("rpId",io(t.rpId)),...z("allowCredentials",Zi(t.allowCredentials)),...z("userVerification",Ee(t.userVerification,qi)),...z("hints",Ge(t.hints,ji)),...z("extensions",to(t.extensions))}}function $i(e){let t=G(e,Fi,Ki);return {challenge:no(t.challenge),rp:qs(t.rp),user:Bs(t.user),pubKeyCredParams:js(t.pubKeyCredParams),...z("timeout",eo(t.timeout)),...z("excludeCredentials",Zi(t.excludeCredentials)),...z("authenticatorSelection",Js(t.authenticatorSelection)),...z("attestation",Ee(t.attestation,Ms)),...z("attestationFormats",Ge(t.attestationFormats,Fs)),...z("hints",Ge(t.hints,ji)),...z("extensions",to(t.extensions))}}function Gi(e){let t=m(e),n=Me(t.session),i=B(t.user);return n.userId!==i.id&&f(),{session:n,user:i}}function Lt(e){let t=m(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&f();let i=Mt(t.deviceType,Ls),o=P(t.backedUp);return o&&i!=="multiDevice"&&f(),{id:fe(t.id,Mi),...Ws(t),publicKey:$s(t.publicKey,Cs),userId:fe(t.userId,Mi),credentialID:Ye(t.credentialID,Hi),counter:n,deviceType:i,backedUp:o,...Ys(t),createdAt:E(t.createdAt),...Xs(t)}}function Wi(e,t,n){let i=Lt(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&f(),i}function Yi(e){(!Array.isArray(e)||e.length>Vi)&&f();let t=e.map(Lt);return We(t.map(n=>n.id)),We(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&f(),t}function Xi(e,t,n){let i=m(e),o=Lt(i.passkey);return (o.id!==t||o.name!==n)&&f(),{passkey:o}}function Qi(e){return m(e).status!==true&&f(),{status:true}}function qs(e){let t=m(e);return {name:Nt(t.name,Ut),...z("id",io(t.id))}}function Bs(e){let t=m(e);return {id:Ye(t.id,128,1,64),name:Nt(t.name,Ut),displayName:Nt(t.displayName,Ut)}}function js(e){(!Array.isArray(e)||e.length===0||e.length>zt)&&f();let t=e.map(n=>{let i=m(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Hs.has(i.alg))&&f(),{type:"public-key",alg:i.alg}});return Qs(t.map(n=>n.alg)),t}function Zi(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Vi)&&f();let t=e.map(n=>{let i=m(n);return i.type!=="public-key"&&f(),{type:"public-key",id:Ye(i.id,Hi),...z("transports",Ge(i.transports,Bi))}});return We(t.map(n=>n.id)),t}function Js(e){if(e===void 0)return;let t=m(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&f();let n=Ee(t.residentKey,Vs);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&f(),{...z("authenticatorAttachment",Ee(t.authenticatorAttachment,Ks)),...z("residentKey",n),...z("requireResidentKey",t.requireResidentKey),...z("userVerification",Ee(t.userVerification,qi))}}function eo(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>xs)&&f(),e}function to(e){return e===void 0?void 0:G(e,Ps,Es)}function Ge(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>zt)&&f();let n=e.map(i=>Mt(i,t));return We(n),n}function Ee(e,t){if(e!==void 0)return Mt(e,t)}function no(e){return Ye(e,Math.ceil(Li*4/3),vs,Li)}function Ye(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=fe(e,t),r=o.length%4,c=Gs(o.at(-1)??""),u=Math.floor(o.length*3/4);return (!Ds.test(o)||r===1||r===2&&(c&15)!==0||r===3&&(c&3)!==0||u<n||u>i)&&f(),o}function fe(e,t){let n=R(e);return (n.length===0||n.length>t)&&f(),n}function Nt(e,t){let n=fe(e,t);return Us.test(n)&&f(),n}function io(e){if(e===void 0)return;let t=fe(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Ns.test(n)))&&f(),t}function $s(e,t){let n=fe(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),r=n.at(i?-3:o?-2:-1)??"",c=oo(r);return (n.length%4!==0||!_s.test(n)||i&&(c&15)!==0||o&&(c&3)!==0)&&f(),n}function Gs(e){return oo(e,true)}function oo(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function Ws(e){let t=_(e,"name");return t===void 0?{}:(t!==null&&!_t(t)&&f(),{name:t})}function Ys(e){let t=_(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>zt||n.some(i=>!Bi.has(i))||new Set(n).size!==n.length)&&f(),{transports:t}}function Xs(e){let t=_(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(zs.test(t)||f(),{aaguid:t})}function Mt(e,t){let n=R(e);return t.has(n)||f(),n}function z(e,t){return t===void 0?{}:{[e]:t}}function We(e){new Set(e).size!==e.length&&f();}function Qs(e){new Set(e).size!==e.length&&f();}function aa(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 lo=new Map;function ca(e,t,n){let i=lo.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=Promise.resolve().then(()=>(Qe(),Xe)).then(r=>r.completeCrossSiteSignIn(e,t,o)),lo.set(n,i);}return i}function po(e){return !Oe()||e.idToken||e.disableRedirect?"legacy":"first-party"}function go(e,t=()=>{},n=ua){let i=Ae(e),o=e.session.tokens,r=Oe()?ca(i,e.session,e.decoded.projectId):void 0,c=aa(i,r),u=Hn({http:c,probe:Ae({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`});e.session.integration?.connect({authenticatedFetch:e.fetch,sessionStore:u.store,subscribeLifecycle:d=>o.subscribeLifecycle(d)});let a=()=>{u.notifyMutation(),t();},h=async()=>{await e.session.integration?.sessionEstablished(),a();},s=n(c,h),{post:l,mutation:p}=ne(c,a),{mutation:y}=ne(c,h),b=e.decoded.env==="test",S=d=>e.session.prepareSession({remember:d?.rememberMe!==false});return {sessionStore:u.store,getSession:u.getSession,account:$n(c,a),organization:fi(c,a,()=>u.store.getSnapshot().data?.session.membership??null),privacy:qe(c),signIn:{email:async(d,g)=>(await S(d),y(l("/sign-in/email",d,g,xt),A=>!("twoFactorRedirect"in A))),username:async(d,g)=>(await S(d),y(l("/sign-in/username",d,g,xt),A=>!("twoFactorRedirect"in A))),social:async(d,g)=>{if(await S(),po(d)==="first-party"){let{beginCrossSiteSignIn:k}=await Promise.resolve().then(()=>(Qe(),Xe)),T=await k(e,{kind:"social",provider:d.provider,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL,scopes:d.scopes,loginHint:d.loginHint,requestSignUp:d.requestSignUp});if(T)return window.location.assign(T),{data:{redirect:true,url:T},error:null}}let A=await y(l("/sign-in/social",d,g,k=>bi(k,b)),k=>"user"in k);return A.error!==null||A.data===null||"url"in A.data&&A.data.redirect&&!d.disableRedirect&&typeof window<"u"&&window.location.assign(A.data.url),A},sso:async(d,g)=>{if(po(d)==="first-party"){let{beginCrossSiteSignIn:k}=await Promise.resolve().then(()=>(Qe(),Xe)),T=await k(e,{kind:"sso",email:d.email,providerId:d.providerId,domain:d.domain,organizationSlug:d.organizationSlug,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL});if(T)return window.location.assign(T),{data:{url:T,redirect:true},error:null}}let A=await l("/sign-in/sso",d,g,k=>Ai(k,b));return A.error!==null||A.data===null||typeof window<"u"&&window.location.assign(A.data.url),A},magicLink:(d,g)=>l("/sign-in/magic-link",d,g,Oi),emailOtp:async(d,g)=>(await S(),y(l("/sign-in/email-otp",d,g,hi))),passkey:async(d,g)=>(await S(),s.signIn(d,g))},signUp:{email:async(d,g)=>(await S(),y(l("/sign-up/email",d,g,yi),A=>A.sessionCreated))},emailOtp:{sendVerificationOtp:(d,g)=>l("/email-otp/send-verification-otp",d,g,wi),verifyEmail:async(d,g)=>(await S(),y(l("/email-otp/verify-email",d,g,Ii)))},phoneOtp:{prepare:d=>l("/phone-otp/challenge",{},d,Ri),start:(d,g)=>l("/phone-otp/start",{...d,idempotencyKey:d.idempotencyKey??we()},g,Si),verify:async(d,g)=>(await S(),y(l("/phone-otp/verify",d,g,ki)))},requestPasswordReset:(d,g)=>l("/request-password-reset",d,g,Dt),resetPassword:(d,g)=>l("/reset-password",d,g,Dt),sendVerificationEmail:(d,g)=>l("/send-verification-email",d,g,Ti),passkey:{addPasskey:(d,g)=>s.add(d,g),listUserPasskeys:()=>c.request("/passkey/list-user-passkeys",{decode:Yi}),updatePasskey:async(d,g)=>{let A=Je(d.name);if(!A.valid||A.value===void 0)return $e();let k=A.value;return l("/passkey/update-passkey",{...d,name:k},g,T=>Xi(T,d.id,k))},deletePasskey:(d,g)=>l("/passkey/delete-passkey",d,g,Qi)},twoFactor:{enable:(d,g)=>l("/two-factor/enable",d,g,Ei),disable:(d,g)=>p(l("/two-factor/disable",d,g,vi),A=>A.status),verifyTotp:(d,g)=>y(l("/two-factor/verify-totp",d,g,Be)),verifyBackupCode:(d,g)=>y(l("/two-factor/verify-backup-code",d,g,Be)),sendOtp:(d={},g)=>l("/two-factor/send-otp",d,g,Ci),verifyOtp:(d,g)=>y(l("/two-factor/verify-otp",d,g,Be)),generateBackupCodes:(d,g)=>l("/two-factor/generate-backup-codes",d,g,xi)},signOut:d=>p(c.request("/sign-out",{method:"POST",body:{},fetchOptions:d,decode:Pi}).then(g=>(o.endSession(),e.session.integration?.sessionEnded().then(()=>g)??g)),g=>g.success)}}function ua(){return {signIn:()=>fo(),add:()=>fo()}}function fo(){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 Oo(e,t,n){let i=new Map;return {async signIn(o={},r){let c=await e.request("/passkey/generate-authenticate-options");if(!c.data)return yo(c.error);let u;try{u=Ji(c.data);}catch{return mo()}let a;try{a=await n.authenticate({optionsJSON:u,useBrowserAutofill:o.autoFill});}catch(y){return bo(n,y,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!la(a))return ho();let{clientExtensionResults:h,...s}=a,l=i.get(a.id);if(l)return l;let p=(async()=>{let y=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:s},fetchOptions:r,decode:Gi});return y.data&&await t(),y})();i.set(a.id,p);try{return await p}finally{i.get(a.id)===p&&i.delete(a.id);}},async add(o={},r){let c=Je(o.name);if(!c.valid)return $e();let u=await e.request("/passkey/generate-register-options",{query:{name:c.value,authenticatorAttachment:o.authenticatorAttachment}});if(!u.data)return yo(u.error);let a;try{a=$i(u.data);}catch{return mo()}let h;try{h=await n.register({optionsJSON:a});}catch(y){return bo(n,y,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!da(h))return ho();let{clientExtensionResults:s,...l}=h,p=await e.request("/passkey/verify-registration",{method:"POST",body:{response:l,name:c.value},fetchOptions:r,decode:y=>Wi(y,h.id,c.value)});return p.data&&t(),p}}}function mo(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function ho(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function wo(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 la(e){if(!wo(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 da(e){if(!wo(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function yo(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function bo(e,t,n,i){let o=fa(t,"page does not have focus"),r=e.errorCode?.(t),c=r!==void 0?r==="ERROR_CEREMONY_ABORTED":Ao(t)==="AbortError",u=n!=="AUTH_CANCELLED",a=pa(r,Ao(t),u);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":c?n:r??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":c?i:a}}}function pa(e,t,n){switch(e){case "ERROR_INVALID_DOMAIN":case "ERROR_INVALID_RP_ID":return "Passkeys are not set up for this site\u2019s domain.";case "ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED":return "This device already has a passkey for this account.";case "ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEY_ALGS":case "ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT":case "ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT":return "This device cannot create a passkey for this site.";}return t==="NotAllowedError"?n?"No passkey was created. The prompt was dismissed or timed out.":"No passkey was used. This device may not have one saved for this site yet, or the prompt was dismissed.":t==="SecurityError"?"Passkeys are not set up for this site\u2019s domain.":n?"Passkey registration did not complete.":"Passkey sign-in did not complete."}function Ao(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function fa(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}function j(e){let t=new Uint8Array(e),n="";for(let o of t)n+=String.fromCharCode(o);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function oe(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,i=t.padEnd(t.length+n,"="),o=atob(i),r=new ArrayBuffer(o.length),c=new Uint8Array(r);for(let u=0;u<o.length;u++)c[u]=o.charCodeAt(u);return r}function re(){return ga.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var ga={stubThis:e=>e};function Ze(e){let{id:t}=e;return {...e,id:oe(t),transports:e.transports}}function et(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 x=class extends Error{constructor({message:t,code:n,cause:i,name:o}){super(t,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=n;}};function So({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new x({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new x({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new x({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new x({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 x({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new x({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new x({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new x({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(et(i)){if(n.rp.id!==i)return new x({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new x({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new x({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 x({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 Vt=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},tt=new Vt;var ma=["cross-platform","platform"];function nt(e){if(e&&!(ma.indexOf(e)<0))return e}async function Ro(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:t,useAutoRegister:n=false}=e;if(!re())throw new Error("WebAuthn is not supported in this browser");let i={...t,challenge:oe(t.challenge),user:{...t.user,id:oe(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Ze)},o={};n&&(o.mediation="conditional"),o.publicKey=i,o.signal=tt.createNewAbortSignal();let r;try{r=await navigator.credentials.create(o);}catch(b){throw So({error:b,options:o})}if(!r)throw new Error("Registration was not completed");let{id:c,rawId:u,response:a,type:h}=r,s;typeof a.getTransports=="function"&&(s=a.getTransports());let l;if(typeof a.getPublicKeyAlgorithm=="function")try{l=a.getPublicKeyAlgorithm();}catch(b){Ht("getPublicKeyAlgorithm()",b);}let p;if(typeof a.getPublicKey=="function")try{let b=a.getPublicKey();b!==null&&(p=j(b));}catch(b){Ht("getPublicKey()",b);}let y;if(typeof a.getAuthenticatorData=="function")try{y=j(a.getAuthenticatorData());}catch(b){Ht("getAuthenticatorData()",b);}return {id:c,rawId:j(u),response:{attestationObject:j(a.attestationObject),clientDataJSON:j(a.clientDataJSON),transports:s,publicKeyAlgorithm:l,publicKey:p,authenticatorData:y},type:h,clientExtensionResults:r.getClientExtensionResults(),authenticatorAttachment:nt(r.authenticatorAttachment)}}function Ht(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
+ `,t);}function ko(){if(!re())return qt.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?qt.stubThis(new Promise(t=>t(false))):qt.stubThis(e.isConditionalMediationAvailable())}var qt={stubThis:e=>e};function To({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new x({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new x({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(et(i)){if(n.rpId!==i)return new x({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new x({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new x({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 Io(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:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:i=true}=e;if(!re())throw new Error("WebAuthn is not supported in this browser");let o;t.allowCredentials?.length!==0&&(o=t.allowCredentials?.map(Ze));let r={...t,challenge:oe(t.challenge),allowCredentials:o},c={};if(n){if(!await ko())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');c.mediation="conditional",r.allowCredentials=[];}c.publicKey=r,c.signal=tt.createNewAbortSignal();let u;try{u=await navigator.credentials.get(c);}catch(y){throw To({error:y,options:c})}if(!u)throw new Error("Authentication was not completed");let{id:a,rawId:h,response:s,type:l}=u,p;return s.userHandle&&(p=j(s.userHandle)),{id:a,rawId:j(h),response:{authenticatorData:j(s.authenticatorData),clientDataJSON:j(s.clientDataJSON),signature:j(s.signature),userHandle:p},type:l,clientExtensionResults:u.getClientExtensionResults(),authenticatorAttachment:nt(u.authenticatorAttachment)}}var Po={authenticate:e=>Io(e),register:e=>Ro(e),errorCode:e=>e instanceof x?e.code:void 0};function vo(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function Bt(e){let t=await $(e,vo(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:ha});return t.response.status===401?{required:false}:ee(t,"consent status")}async function jt(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return ee(await $(e,vo(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:ya}),"consent accept")}function ha(e){let t=m(e),n=P(t.required),i=ba(t.needsConsent),o=Co(t.version),r=Eo(t.termsUrl),c=Eo(t.privacyUrl);return {required:n,...i===void 0?{}:{needsConsent:i},...o===void 0?{}:{version:o},...r===void 0?{}:{termsUrl:r},...c===void 0?{}:{privacyUrl:c}}}function ya(e){let t=m(e),n=Co(t.version);return {ok:P(t.ok),...n===void 0?{}:{version:n}}}function ba(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function Co(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function Eo(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var Aa=30;function Oa(e){return typeof e?.exp=="number"?e.exp:null}function wa(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(n));return typeof i=="object"&&i!==null?i:null}catch{return null}}function Jt(e){let t=new Map;async function n(r={}){let c=r.template===void 0?null:r.template.trim().toLowerCase();if(c==="")throw new TypeError("Template missing");let u=c??"",a=t.get(u);a||(a={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(u,a));let h=r.forceRefresh===true;if(!h){let b=a.activeKey?a.cachedByKey.get(a.activeKey):null;if(b&&b.exp-Date.now()/1e3>Aa)return b.token;if(a.inflight)return a.inflight}let s=++a.sequence,l=()=>t.get(u)===a&&a.sequence===s,p=(async()=>{let b=c?`${e.projectBaseURL}/token/${encodeURIComponent(c)}`:`${e.projectBaseURL}/token`,S=await $(e,b,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:U=>Sa(U,c!==null)});if(S.response.status===401)return l()&&i(),null;let d=ee(S,"token"),g=d.policyVersion,A=d.token,k=wa(A),T=Oa(k);if(l())if(T!==null){let U=typeof k?.sub=="string"?k.sub:null,K=typeof k?.org_id=="string"?k.org_id:null;if(!c||U){let w=JSON.stringify([e.projectBaseURL,U,K,c,g]);a.cachedByKey.clear(),a.cachedByKey.set(w,{token:A,exp:T}),a.activeKey=w;}else o(a);}else o(a);return A})();if(h)return p;let y=p.finally(()=>{a.inflight===y&&(a.inflight=null);});return a.inflight=y,y}function i(){t.clear();}function o(r){r.cachedByKey.clear(),r.activeKey=null;}return {getToken:n,clear:i}}function Sa(e,t){let n=m(e),i=R(n.token);if(i.length===0||i.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:i,policyVersion:0};let o=m(n.template);if(!Number.isSafeInteger(o.policyVersion)||o.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i,policyVersion:o.policyVersion}}function Ra(e){let t=Jt(e),n=go(e,t.clear,(u,a)=>Oo(u,a,Po)),i=Ae(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),o=qe(i),r=u=>(...a)=>(t.clear(),u(...a)),c={getConsentStatus:()=>Bt(e),acceptConsent:u=>jt(e,u),getToken:t.getToken,privacy:o,waitlist:{join:(u,a)=>i.request("/waitlist",{method:"POST",body:u,fetchOptions:a,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:r(n.account.updateUnsafeMetadata),updateProfile:r(n.account.updateProfile),changeEmail:r(n.account.changeEmail),changePassword:r(n.account.changePassword),revokeSession:r(n.account.revokeSession),delete:r(n.account.delete)},signIn:{email:r(n.signIn.email),username:r(n.signIn.username),social:r(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:r(n.signIn.emailOtp),passkey:r(n.signIn.passkey)},signUp:{email:r(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:r(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:r(n.twoFactor.disable),verifyTotp:r(n.twoFactor.verifyTotp),verifyBackupCode:r(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:r(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{prepare:n.phoneOtp.prepare,start:n.phoneOtp.start,verify:r(n.phoneOtp.verify)},signOut:r(n.signOut)};return {...n,...c}}async function ka(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let t=await Ta(),n=e.challengeRequired?await t.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await t.getTurnstileToken(Ia(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...n?{challengeToken:e.challengeToken,nonce:n.nonce}:{},...i?{turnstileToken:i}:{}}}async function Ta(){return import('@akedly/shield')}function Ia(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}async function Pa(e){let t=`${e.apiUrl}/api/projects/${e.decoded.projectId}/public-config`;return ee(await $(e,t,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:n=>Ea(n,e)}),"public-config")}function Ea(e,t){let n=G(e),i=n.environmentId,o=n.environmentType,r=`${t.apiUrl}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!$t(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==r)throw L();let c=D(n.branding),u=D(n.legal);if(!se(n.enabledMethods,64)||!se(n.socialProviders,64)||!Uo(c,["appName","logoUrl","primaryColor"])||c.showAppName!==void 0&&typeof c.showAppName!="boolean"||c.alignment!==void 0&&c.alignment!=="left"&&c.alignment!=="center"&&c.alignment!=="right"||c.theme!==void 0&&c.theme!=="light"&&c.theme!=="dark"&&c.theme!=="system"||!Uo(u,["termsUrl","privacyUrl"])||!Number.isSafeInteger(u.version)||u.version<0||typeof u.required!="boolean")throw L();if(n.socialProviderClientIds!==void 0){let a=D(n.socialProviderClientIds);if(Object.keys(a).length>64||Object.values(a).some(h=>typeof h!="string"||h.length>2048))throw L()}if(!X(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!xo(n.turnstileSiteKey)||!xo(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw L();if(n.jwtIssuer!==null){let a=D(n.jwtIssuer),h=new URL(a.issuer),s=`${h.origin}/api/projects/${t.decoded.projectId}/auth`;if(a.issuer!==s||a.jwksUrl!==`${s}/jwks`||a.aud!==t.decoded.projectId||h.protocol!=="https:"&&h.origin!==t.apiUrl)throw L()}if(n.signUp!==void 0){let a=D(n.signUp).mode;if(typeof a!="string"||!["open","restricted","allowlist","waitlist"].includes(a))throw L()}if(n.authentication!==void 0&&va(n.authentication),n.privacy!==void 0&&Ca(n.privacy),n.emailVerification!==void 0){let a=D(n.emailVerification);if(!X(a,["required"])||a.method!=="link"&&a.method!=="code")throw L()}if(n.userModel!==void 0&&!X(D(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw L();if(n.mfa!==void 0){let a=D(n.mfa);if(!X(a,["totp","required","backupCodes"])||a.emailOtpFallback!==void 0&&typeof a.emailOtpFallback!="boolean"||a.trustDevice!==void 0&&typeof a.trustDevice!="boolean"||(a.required===true||a.backupCodes===true)&&a.totp!==true)throw L()}if(n.captcha===void 0||n.captcha===null)n.captcha=typeof n.authTurnstileSiteKey=="string"&&n.authTurnstileSiteKey.length>0?{provider:"turnstile",siteKey:n.authTurnstileSiteKey}:null;else {let a=D(n.captcha);if(typeof a.provider!="string"||a.provider.length===0||a.provider.length>64||typeof a.siteKey!="string"||a.siteKey.length===0||a.siteKey.length>512)throw L();n.captcha={provider:a.provider,siteKey:a.siteKey};}if(n.privacy!==void 0&&n.privacy!==null){let a=D(n.privacy);a.availableRightTypes!==void 0&&(a.availableRightTypes=Da(a.availableRightTypes));}return n}function $t(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 L(){return new TypeError("public-config returned an invalid response")}function D(e){if(!e||typeof e!="object"||Array.isArray(e))throw L();return e}function xo(e){return e===null||typeof e=="string"&&e.length<=4096}function va(e){let t=D(e),n=D(t.email),i=D(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!X(n,["signUp"])||!se(n.signIn,3)||n.signIn.some(r=>r!=="password"&&r!=="magic_link"&&r!=="email_otp")||!X(D(t.phone),["signUp","signIn"])||!X(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!X(D(t.passkey),["signIn","add"])||!xa(D(t.passkey).relyingPartyId)||!X(D(t.username),["collectOnSignUp","signIn"]))throw L()}function Ca(e){let t=D(e);if(!Array.isArray(t.notices)||!Array.isArray(t.consentPurposes)||t.notices.length>64||t.consentPurposes.length>64)throw L();for(let n of t.notices){let i=D(n);if(Do(i,"noticeId","noticeVersionId"),it(i.title,512),it(i.body,1e5),_o(i.digest),!se(i.activityCodes,128)||!se(i.purposeCodes,128)||typeof i.effectiveFrom!="string"||!Number.isFinite(Date.parse(i.effectiveFrom)))throw L()}for(let n of t.consentPurposes){let i=D(n);if(Do(i,"purposeId","purposeVersionId"),it(i.title,512),it(i.description,1e4),_o(i.digest),!se(i.activityCodes,128)||!se(i.dataCategories,128))throw L()}}function Do(e,t,n){if(typeof e[t]!="string"||!$t(e[t])||typeof e[n]!="string"||!$t(e[n])||typeof e.code!="string"||!/^[a-z][a-z0-9_]{0,63}$/.test(e.code)||!Number.isSafeInteger(e.version)||e.version<1)throw L()}function it(e,t){let n=D(e);if(typeof n.en!="string"||n.en.length===0||n.en.length>t||typeof n.ar!="string"||n.ar.length===0||n.ar.length>t)throw L()}function _o(e){let t=D(e);if(typeof t.en!="string"||!/^[a-f0-9]{64}$/.test(t.en)||typeof t.ar!="string"||!/^[a-f0-9]{64}$/.test(t.ar))throw L()}function xa(e){return e==null||typeof e=="string"}function X(e,t){return t.every(n=>typeof e[n]=="boolean")}function Uo(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function Da(e){if(!Array.isArray(e)||e.length>64)return;let t=e.filter(n=>typeof n=="string"&&n.length<=128);return t.length===e.length?t:void 0}function se(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var ve=class extends Error{constructor(n,i){super(n);this.cause=i;this.name="AuthOwlError";}cause},Gt=class extends ve{constructor(n,i){super(`Rate limited. Retry after ${n}s.`,i);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},Wt=class extends ve{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var No=["en","ar"];function _a(e){return e==="ar"?"rtl":"ltr"}function Ua(e){return typeof e=="string"&&No.includes(e)}
3
+ exports.AUTH_CHALLENGE_HEADER=Fn;exports.AUTH_LOCALE_HEADER=Kn;exports.AuthOwlError=ve;exports.AuthOwlHttpError=Le;exports.INVITATION_CLAIM_MAX_AGE_MS=Cn;exports.INVITATION_QUERY_PARAM=pt;exports.InvalidKeyError=Wt;exports.LOCALES=No;exports.PRIVACY_RIGHT_TYPES=vt;exports.RateLimitedError=Gt;exports.SESSION_TOKEN_HEADER=ct;exports.SESSION_TRANSPORT_BEARER=lt;exports.SESSION_TRANSPORT_HEADER=ut;exports.TransportError=F;exports.acceptConsent=jt;exports.activeLocale=ht;exports.captureInvitationClaim=gr;exports.clearInvitationClaim=ye;exports.createAuthOwlClient=Ra;exports.createIdempotencyKey=we;exports.createMembershipHas=is;exports.createTokenClient=Jt;exports.decodePublishableKey=rt;exports.directionFor=_a;exports.getConsentStatus=Bt;exports.getPublicConfig=Pa;exports.isLocale=Ua;exports.membershipHas=Ke;exports.membershipHasPermission=Fe;exports.membershipHasRole=Wn;exports.membershipHasTeam=Gn;exports.offeredRightTypes=as;exports.passkeyOfferIsDue=Sr;exports.readInvitationClaim=he;exports.readLastUsedSignInMethod=hr;exports.recordLastUsedSignInMethod=yr;exports.recordPasskeyOfferDismissed=Rr;exports.recordPasskeyOfferSettled=kr;exports.rememberPendingSignInMethod=br;exports.resolveAuthTarget=En;exports.resolveConfig=fr;exports.resolveProjectCapabilities=Tr;exports.sessionChallengeIsEphemeral=qo;exports.sessionCookieName=Fo;exports.setActiveLocale=Lr;exports.settlePendingSignInMethod=Ar;exports.solvePhoneOtpChallenge=ka;exports.withSessionTransportIntegration=er;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { E as PhoneOtpChallengeData, F as AkedlyShieldStartProof } from './config-ZhNp65dI.cjs';
2
- export { G as AcceptOrganizationInvitationData, I as AccountClient, J as AccountSession, K as AccountStatusData, A as ActionFetchOptions, L as AddOrganizationTeamMemberOptions, d as AddPasskeyOptions, a as AuthActionResult, g as AuthClientError, f as AuthConfig, M as AuthErrorContext, b as AuthOwlClient, N as AuthOwlErrorCode, e as AuthPasskey, Q as AuthRequestContext, T as AuthResponseContext, h as AuthSession, i as AuthUser, U as ChangeEmailOptions, V as ChangePasswordData, W as ChangePasswordOptions, X as ConsentAcceptResult, Y as ConsentStatus, Z as CreateOrganizationOptions, _ as CreateOrganizationTeamOptions, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, $ as DeleteAccountData, a0 as DeleteAccountOptions, a1 as DeleteOrganizationOptions, a2 as DeletePasskeyData, a3 as DeletePasskeyOptions, a4 as DisableTwoFactorOptions, a5 as EmailAuthData, a6 as EmailOtpAuthData, a7 as EmailOtpSignInOptions, a8 as EmailOtpType, a9 as EmailSignInOptions, aa as EmailSignUpData, ab as EmailSignUpOptions, ac as EnableTwoFactorOptions, ad as GenerateBackupCodesOptions, ae as GetOrganizationInvitationOptions, af as GetOrganizationOptions, ag as GetToken, ah as GetTokenOptions, H as HasParams, ai as INVITATION_CLAIM_MAX_AGE_MS, aj as INVITATION_QUERY_PARAM, ak as InvitationClaim, al as InvitationRecipientHint, am as InviteOrganizationMemberOptions, an as JsonObject, ao as JsonPrimitive, ap as JsonValue, aq as LeaveOrganizationOptions, ar as LinkSocialData, as as LinkSocialOptions, at as ListOrganizationInvitationsOptions, au as ListOrganizationMembersOptions, av as ListOrganizationRolesOptions, aw as ListOrganizationTeamMembersOptions, ax as ListOrganizationTeamsOptions, ay as MagicLinkData, az as MagicLinkSignInOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, aA as OrganizationFilterOperator, aB as OrganizationInvitation, aC as OrganizationInvitationActionOptions, aD as OrganizationInvitationDetails, aE as OrganizationInvitationStatus, aF as OrganizationMember, aG as OrganizationMemberUser, aH as OrganizationMemberWithUser, aI as OrganizationMembersData, l as OrganizationMembership, aJ as OrganizationRoleSummary, aK as OrganizationSelector, aL as OrganizationTeam, aM as OrganizationTeamMember, aN as OrganizationUserInvitation, c as PasskeyAuthData, P as PasskeySignInOptions, aO as PasswordResetData, aP as PhoneAuthUser, aQ as PhoneOtpStartData, aR as PhoneOtpStartOptions, aS as PhoneOtpVerifyData, aT as PhoneOtpVerifyOptions, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, aU as RejectOrganizationInvitationData, aV as RemoveOrganizationMemberData, aW as RemoveOrganizationMemberOptions, aX as RemoveOrganizationTeamData, aY as RemoveOrganizationTeamMemberData, aZ as RemoveOrganizationTeamMemberOptions, a_ as RemoveOrganizationTeamOptions, a$ as RequestPasswordResetOptions, b0 as ResetPasswordOptions, R as ResolvedAuthConfig, b1 as ResolvedAuthTarget, b2 as RevokeSessionOptions, b3 as SendOtpData, b4 as SendTwoFactorOtpData, b5 as SendTwoFactorOtpOptions, b6 as SendVerificationOtpOptions, b7 as SessionLifecycleEvent, u as SessionState, v as SessionStore, b8 as SessionTransportConnection, b9 as SessionTransportIntegration, w as SetActiveOrganizationOptions, ba as SetActiveTeamOptions, bb as SignOutData, bc as SocialAccount, x as SocialAuthData, S as SocialIdTokenOptions, bd as SocialSignInOptions, be as TokenClient, bf as TransportError, bg as TransportErrorKind, bh as TwoFactorBackupCodesData, bi as TwoFactorEnableData, bj as TwoFactorRedirectData, bk as TwoFactorStatusData, bl as TwoFactorVerifyData, bm as UnlinkSocialOptions, bn as UpdateOrganizationMemberRoleOptions, bo as UpdateOrganizationOptions, bp as UpdateOrganizationTeamOptions, bq as UpdatePasskeyData, br as UpdatePasskeyOptions, bs as UpdateProfileOptions, bt as UpdateUnsafeMetadataOptions, bu as UserMetadata, bv as UsernameSignInOptions, bw as VerifyBackupCodeOptions, bx as VerifyEmailOtpData, by as VerifyEmailOtpOptions, bz as VerifyTotpOptions, bA as VerifyTwoFactorOtpOptions, bB as WaitlistJoinData, bC as WaitlistJoinOptions, bD as acceptConsent, bE as captureInvitationClaim, bF as clearInvitationClaim, bG as createAuthOwlClient, y as createMembershipHas, bH as createTokenClient, z as decodePublishableKey, bI as getConsentStatus, bJ as membershipHas, bK as membershipHasPermission, bL as membershipHasRole, bM as membershipHasTeam, bN as readInvitationClaim, bO as resolveAuthTarget, B as resolveConfig, bP as withSessionTransportIntegration } from './config-ZhNp65dI.cjs';
1
+ import { E as PhoneOtpChallengeData, F as AkedlyShieldStartProof } from './config-Chtx47rL.cjs';
2
+ export { G as AcceptOrganizationInvitationData, I as AccountClient, J as AccountSession, K as AccountStatusData, A as ActionFetchOptions, L as AddOrganizationTeamMemberOptions, d as AddPasskeyOptions, a as AuthActionResult, g as AuthClientError, f as AuthConfig, M as AuthErrorContext, b as AuthOwlClient, N as AuthOwlErrorCode, e as AuthPasskey, Q as AuthRequestContext, T as AuthResponseContext, h as AuthSession, i as AuthUser, U as ChangeEmailOptions, V as ChangePasswordData, W as ChangePasswordOptions, X as ConsentAcceptResult, Y as ConsentStatus, Z as CreateOrganizationOptions, _ as CreateOrganizationTeamOptions, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, $ as DeleteAccountData, a0 as DeleteAccountOptions, a1 as DeleteOrganizationOptions, a2 as DeletePasskeyData, a3 as DeletePasskeyOptions, a4 as DisableTwoFactorOptions, a5 as EmailAuthData, a6 as EmailOtpAuthData, a7 as EmailOtpSignInOptions, a8 as EmailOtpType, a9 as EmailSignInOptions, aa as EmailSignUpData, ab as EmailSignUpOptions, ac as EnableTwoFactorOptions, ad as GenerateBackupCodesOptions, ae as GetOrganizationInvitationOptions, af as GetOrganizationOptions, ag as GetToken, ah as GetTokenOptions, H as HasParams, ai as INVITATION_CLAIM_MAX_AGE_MS, aj as INVITATION_QUERY_PARAM, ak as InvitationClaim, al as InvitationRecipientHint, am as InviteOrganizationMemberOptions, an as JsonObject, ao as JsonPrimitive, ap as JsonValue, aq as LeaveOrganizationOptions, ar as LinkSocialData, as as LinkSocialOptions, at as ListOrganizationInvitationsOptions, au as ListOrganizationMembersOptions, av as ListOrganizationRolesOptions, aw as ListOrganizationTeamMembersOptions, ax as ListOrganizationTeamsOptions, ay as MagicLinkData, az as MagicLinkSignInOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, aA as OrganizationFilterOperator, aB as OrganizationInvitation, aC as OrganizationInvitationActionOptions, aD as OrganizationInvitationDetails, aE as OrganizationInvitationStatus, aF as OrganizationMember, aG as OrganizationMemberUser, aH as OrganizationMemberWithUser, aI as OrganizationMembersData, l as OrganizationMembership, aJ as OrganizationRoleSummary, aK as OrganizationSelector, aL as OrganizationTeam, aM as OrganizationTeamMember, aN as OrganizationUserInvitation, aO as PRIVACY_RIGHT_TYPES, c as PasskeyAuthData, P as PasskeySignInOptions, aP as PasswordResetData, aQ as PhoneAuthUser, aR as PhoneOtpStartData, aS as PhoneOtpStartOptions, aT as PhoneOtpVerifyData, aU as PhoneOtpVerifyOptions, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, aV as RejectOrganizationInvitationData, aW as RemoveOrganizationMemberData, aX as RemoveOrganizationMemberOptions, aY as RemoveOrganizationTeamData, aZ as RemoveOrganizationTeamMemberData, a_ as RemoveOrganizationTeamMemberOptions, a$ as RemoveOrganizationTeamOptions, b0 as RequestPasswordResetOptions, b1 as ResetPasswordOptions, R as ResolvedAuthConfig, b2 as ResolvedAuthTarget, b3 as RevokeSessionOptions, b4 as SendOtpData, b5 as SendTwoFactorOtpData, b6 as SendTwoFactorOtpOptions, b7 as SendVerificationOtpOptions, b8 as SessionLifecycleEvent, u as SessionState, v as SessionStore, b9 as SessionTransportConnection, ba as SessionTransportIntegration, w as SetActiveOrganizationOptions, bb as SetActiveTeamOptions, bc as SignOutData, bd as SocialAccount, x as SocialAuthData, S as SocialIdTokenOptions, be as SocialSignInOptions, bf as TokenClient, bg as TransportError, bh as TransportErrorKind, bi as TwoFactorBackupCodesData, bj as TwoFactorEnableData, bk as TwoFactorRedirectData, bl as TwoFactorStatusData, bm as TwoFactorVerifyData, bn as UnlinkSocialOptions, bo as UpdateOrganizationMemberRoleOptions, bp as UpdateOrganizationOptions, bq as UpdateOrganizationTeamOptions, br as UpdatePasskeyData, bs as UpdatePasskeyOptions, bt as UpdateProfileOptions, bu as UpdateUnsafeMetadataOptions, bv as UserMetadata, bw as UsernameSignInOptions, bx as VerifyBackupCodeOptions, by as VerifyEmailOtpData, bz as VerifyEmailOtpOptions, bA as VerifyTotpOptions, bB as VerifyTwoFactorOtpOptions, bC as WaitlistJoinData, bD as WaitlistJoinOptions, bE as acceptConsent, bF as captureInvitationClaim, bG as clearInvitationClaim, bH as createAuthOwlClient, y as createMembershipHas, bI as createTokenClient, z as decodePublishableKey, bJ as getConsentStatus, bK as membershipHas, bL as membershipHasPermission, bM as membershipHasRole, bN as membershipHasTeam, bO as offeredRightTypes, bP as readInvitationClaim, bQ as resolveAuthTarget, B as resolveConfig, bR as withSessionTransportIntegration } from './config-Chtx47rL.cjs';
3
3
  export { s as sessionCookieName } from './cookie-BqcfagTw.cjs';
4
4
  export { S as SESSION_TOKEN_HEADER, a as SESSION_TRANSPORT_BEARER, b as SESSION_TRANSPORT_HEADER } from './session-transport-contract-HDPYRum8.cjs';
5
- export { b as AUTH_CHALLENGE_HEADER, d as AUTH_LOCALE_HEADER, P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-CG0ZpMnW.cjs';
6
- export { E as EnvironmentType, P as PublicConfig, g as getPublicConfig } from './public-config-DdTDwDF7.cjs';
5
+ export { b as AUTH_CHALLENGE_HEADER, d as AUTH_LOCALE_HEADER, P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-rqL0wN3c.cjs';
6
+ export { E as EnvironmentType, P as PublicConfig, g as getPublicConfig } from './public-config-DwlH-HqZ.cjs';
7
7
  export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.cjs';
8
8
 
9
9
  /**
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { E as PhoneOtpChallengeData, F as AkedlyShieldStartProof } from './config-ZhNp65dI.js';
2
- export { G as AcceptOrganizationInvitationData, I as AccountClient, J as AccountSession, K as AccountStatusData, A as ActionFetchOptions, L as AddOrganizationTeamMemberOptions, d as AddPasskeyOptions, a as AuthActionResult, g as AuthClientError, f as AuthConfig, M as AuthErrorContext, b as AuthOwlClient, N as AuthOwlErrorCode, e as AuthPasskey, Q as AuthRequestContext, T as AuthResponseContext, h as AuthSession, i as AuthUser, U as ChangeEmailOptions, V as ChangePasswordData, W as ChangePasswordOptions, X as ConsentAcceptResult, Y as ConsentStatus, Z as CreateOrganizationOptions, _ as CreateOrganizationTeamOptions, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, $ as DeleteAccountData, a0 as DeleteAccountOptions, a1 as DeleteOrganizationOptions, a2 as DeletePasskeyData, a3 as DeletePasskeyOptions, a4 as DisableTwoFactorOptions, a5 as EmailAuthData, a6 as EmailOtpAuthData, a7 as EmailOtpSignInOptions, a8 as EmailOtpType, a9 as EmailSignInOptions, aa as EmailSignUpData, ab as EmailSignUpOptions, ac as EnableTwoFactorOptions, ad as GenerateBackupCodesOptions, ae as GetOrganizationInvitationOptions, af as GetOrganizationOptions, ag as GetToken, ah as GetTokenOptions, H as HasParams, ai as INVITATION_CLAIM_MAX_AGE_MS, aj as INVITATION_QUERY_PARAM, ak as InvitationClaim, al as InvitationRecipientHint, am as InviteOrganizationMemberOptions, an as JsonObject, ao as JsonPrimitive, ap as JsonValue, aq as LeaveOrganizationOptions, ar as LinkSocialData, as as LinkSocialOptions, at as ListOrganizationInvitationsOptions, au as ListOrganizationMembersOptions, av as ListOrganizationRolesOptions, aw as ListOrganizationTeamMembersOptions, ax as ListOrganizationTeamsOptions, ay as MagicLinkData, az as MagicLinkSignInOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, aA as OrganizationFilterOperator, aB as OrganizationInvitation, aC as OrganizationInvitationActionOptions, aD as OrganizationInvitationDetails, aE as OrganizationInvitationStatus, aF as OrganizationMember, aG as OrganizationMemberUser, aH as OrganizationMemberWithUser, aI as OrganizationMembersData, l as OrganizationMembership, aJ as OrganizationRoleSummary, aK as OrganizationSelector, aL as OrganizationTeam, aM as OrganizationTeamMember, aN as OrganizationUserInvitation, c as PasskeyAuthData, P as PasskeySignInOptions, aO as PasswordResetData, aP as PhoneAuthUser, aQ as PhoneOtpStartData, aR as PhoneOtpStartOptions, aS as PhoneOtpVerifyData, aT as PhoneOtpVerifyOptions, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, aU as RejectOrganizationInvitationData, aV as RemoveOrganizationMemberData, aW as RemoveOrganizationMemberOptions, aX as RemoveOrganizationTeamData, aY as RemoveOrganizationTeamMemberData, aZ as RemoveOrganizationTeamMemberOptions, a_ as RemoveOrganizationTeamOptions, a$ as RequestPasswordResetOptions, b0 as ResetPasswordOptions, R as ResolvedAuthConfig, b1 as ResolvedAuthTarget, b2 as RevokeSessionOptions, b3 as SendOtpData, b4 as SendTwoFactorOtpData, b5 as SendTwoFactorOtpOptions, b6 as SendVerificationOtpOptions, b7 as SessionLifecycleEvent, u as SessionState, v as SessionStore, b8 as SessionTransportConnection, b9 as SessionTransportIntegration, w as SetActiveOrganizationOptions, ba as SetActiveTeamOptions, bb as SignOutData, bc as SocialAccount, x as SocialAuthData, S as SocialIdTokenOptions, bd as SocialSignInOptions, be as TokenClient, bf as TransportError, bg as TransportErrorKind, bh as TwoFactorBackupCodesData, bi as TwoFactorEnableData, bj as TwoFactorRedirectData, bk as TwoFactorStatusData, bl as TwoFactorVerifyData, bm as UnlinkSocialOptions, bn as UpdateOrganizationMemberRoleOptions, bo as UpdateOrganizationOptions, bp as UpdateOrganizationTeamOptions, bq as UpdatePasskeyData, br as UpdatePasskeyOptions, bs as UpdateProfileOptions, bt as UpdateUnsafeMetadataOptions, bu as UserMetadata, bv as UsernameSignInOptions, bw as VerifyBackupCodeOptions, bx as VerifyEmailOtpData, by as VerifyEmailOtpOptions, bz as VerifyTotpOptions, bA as VerifyTwoFactorOtpOptions, bB as WaitlistJoinData, bC as WaitlistJoinOptions, bD as acceptConsent, bE as captureInvitationClaim, bF as clearInvitationClaim, bG as createAuthOwlClient, y as createMembershipHas, bH as createTokenClient, z as decodePublishableKey, bI as getConsentStatus, bJ as membershipHas, bK as membershipHasPermission, bL as membershipHasRole, bM as membershipHasTeam, bN as readInvitationClaim, bO as resolveAuthTarget, B as resolveConfig, bP as withSessionTransportIntegration } from './config-ZhNp65dI.js';
1
+ import { E as PhoneOtpChallengeData, F as AkedlyShieldStartProof } from './config-Chtx47rL.js';
2
+ export { G as AcceptOrganizationInvitationData, I as AccountClient, J as AccountSession, K as AccountStatusData, A as ActionFetchOptions, L as AddOrganizationTeamMemberOptions, d as AddPasskeyOptions, a as AuthActionResult, g as AuthClientError, f as AuthConfig, M as AuthErrorContext, b as AuthOwlClient, N as AuthOwlErrorCode, e as AuthPasskey, Q as AuthRequestContext, T as AuthResponseContext, h as AuthSession, i as AuthUser, U as ChangeEmailOptions, V as ChangePasswordData, W as ChangePasswordOptions, X as ConsentAcceptResult, Y as ConsentStatus, Z as CreateOrganizationOptions, _ as CreateOrganizationTeamOptions, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, $ as DeleteAccountData, a0 as DeleteAccountOptions, a1 as DeleteOrganizationOptions, a2 as DeletePasskeyData, a3 as DeletePasskeyOptions, a4 as DisableTwoFactorOptions, a5 as EmailAuthData, a6 as EmailOtpAuthData, a7 as EmailOtpSignInOptions, a8 as EmailOtpType, a9 as EmailSignInOptions, aa as EmailSignUpData, ab as EmailSignUpOptions, ac as EnableTwoFactorOptions, ad as GenerateBackupCodesOptions, ae as GetOrganizationInvitationOptions, af as GetOrganizationOptions, ag as GetToken, ah as GetTokenOptions, H as HasParams, ai as INVITATION_CLAIM_MAX_AGE_MS, aj as INVITATION_QUERY_PARAM, ak as InvitationClaim, al as InvitationRecipientHint, am as InviteOrganizationMemberOptions, an as JsonObject, ao as JsonPrimitive, ap as JsonValue, aq as LeaveOrganizationOptions, ar as LinkSocialData, as as LinkSocialOptions, at as ListOrganizationInvitationsOptions, au as ListOrganizationMembersOptions, av as ListOrganizationRolesOptions, aw as ListOrganizationTeamMembersOptions, ax as ListOrganizationTeamsOptions, ay as MagicLinkData, az as MagicLinkSignInOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, aA as OrganizationFilterOperator, aB as OrganizationInvitation, aC as OrganizationInvitationActionOptions, aD as OrganizationInvitationDetails, aE as OrganizationInvitationStatus, aF as OrganizationMember, aG as OrganizationMemberUser, aH as OrganizationMemberWithUser, aI as OrganizationMembersData, l as OrganizationMembership, aJ as OrganizationRoleSummary, aK as OrganizationSelector, aL as OrganizationTeam, aM as OrganizationTeamMember, aN as OrganizationUserInvitation, aO as PRIVACY_RIGHT_TYPES, c as PasskeyAuthData, P as PasskeySignInOptions, aP as PasswordResetData, aQ as PhoneAuthUser, aR as PhoneOtpStartData, aS as PhoneOtpStartOptions, aT as PhoneOtpVerifyData, aU as PhoneOtpVerifyOptions, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, aV as RejectOrganizationInvitationData, aW as RemoveOrganizationMemberData, aX as RemoveOrganizationMemberOptions, aY as RemoveOrganizationTeamData, aZ as RemoveOrganizationTeamMemberData, a_ as RemoveOrganizationTeamMemberOptions, a$ as RemoveOrganizationTeamOptions, b0 as RequestPasswordResetOptions, b1 as ResetPasswordOptions, R as ResolvedAuthConfig, b2 as ResolvedAuthTarget, b3 as RevokeSessionOptions, b4 as SendOtpData, b5 as SendTwoFactorOtpData, b6 as SendTwoFactorOtpOptions, b7 as SendVerificationOtpOptions, b8 as SessionLifecycleEvent, u as SessionState, v as SessionStore, b9 as SessionTransportConnection, ba as SessionTransportIntegration, w as SetActiveOrganizationOptions, bb as SetActiveTeamOptions, bc as SignOutData, bd as SocialAccount, x as SocialAuthData, S as SocialIdTokenOptions, be as SocialSignInOptions, bf as TokenClient, bg as TransportError, bh as TransportErrorKind, bi as TwoFactorBackupCodesData, bj as TwoFactorEnableData, bk as TwoFactorRedirectData, bl as TwoFactorStatusData, bm as TwoFactorVerifyData, bn as UnlinkSocialOptions, bo as UpdateOrganizationMemberRoleOptions, bp as UpdateOrganizationOptions, bq as UpdateOrganizationTeamOptions, br as UpdatePasskeyData, bs as UpdatePasskeyOptions, bt as UpdateProfileOptions, bu as UpdateUnsafeMetadataOptions, bv as UserMetadata, bw as UsernameSignInOptions, bx as VerifyBackupCodeOptions, by as VerifyEmailOtpData, bz as VerifyEmailOtpOptions, bA as VerifyTotpOptions, bB as VerifyTwoFactorOtpOptions, bC as WaitlistJoinData, bD as WaitlistJoinOptions, bE as acceptConsent, bF as captureInvitationClaim, bG as clearInvitationClaim, bH as createAuthOwlClient, y as createMembershipHas, bI as createTokenClient, z as decodePublishableKey, bJ as getConsentStatus, bK as membershipHas, bL as membershipHasPermission, bM as membershipHasRole, bN as membershipHasTeam, bO as offeredRightTypes, bP as readInvitationClaim, bQ as resolveAuthTarget, B as resolveConfig, bR as withSessionTransportIntegration } from './config-Chtx47rL.js';
3
3
  export { s as sessionCookieName } from './cookie-BqcfagTw.js';
4
4
  export { S as SESSION_TOKEN_HEADER, a as SESSION_TRANSPORT_BEARER, b as SESSION_TRANSPORT_HEADER } from './session-transport-contract-HDPYRum8.js';
5
- export { b as AUTH_CHALLENGE_HEADER, d as AUTH_LOCALE_HEADER, P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-BbNZaxT8.js';
6
- export { E as EnvironmentType, P as PublicConfig, g as getPublicConfig } from './public-config-BfuiC8Ph.js';
5
+ export { b as AUTH_CHALLENGE_HEADER, d as AUTH_LOCALE_HEADER, P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-Benjy1FL.js';
6
+ export { E as EnvironmentType, P as PublicConfig, g as getPublicConfig } from './public-config-B7Tth7Cs.js';
7
7
  export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.js';
8
8
 
9
9
  /**