@authowl/core 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/native.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var Hi=Object.defineProperty;var Me=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var At=(e,t)=>{for(var n in t)Hi(e,n,{get:t[n],enumerable:true});};var Bt={};At(Bt,{abandonSession:()=>Nt,bindingNonce:()=>Kt,boundedSessionFetch:()=>Oe,clearSessionProofKeyMemoryForTests:()=>co,cookieCapability:()=>Ut,createSessionProof:()=>qt,createStoredSessionProof:()=>go,prepareSenderConstrainedSession:()=>so,sessionProofKey:()=>ke});async function Oe(e,t,n,i){let o=new AbortController,s,c=new Promise((p,u)=>{s=setTimeout(()=>{o.abort(),u(new Error("AuthOwl session transport request timed out."));},i);});try{return await Promise.race([e(t,{...n,signal:o.signal}),c])}finally{clearTimeout(s);}}async function Ut(e,t,n){let i=await Oe(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 Oe(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 s=await o.text();if(new TextEncoder().encode(s).byteLength>128)throw new Error("AuthOwl cookie capability response is invalid.");let c;try{c=JSON.parse(s);}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 Nt(e,t,n,i){let o=new Headers(n);o.set("authorization",i),o.set("x-authowl-session-transport","bearer");try{await Oe(e,t,{method:"POST",credentials:"include",headers:o},2e3);}catch{}}async function so(e){let{tokens:t}=e;if(t.beginSession(e.start),!e.clientOrigin)return {binding:null,cookieOnly:false};let n=null;if(t.hasToken()){let s=t.bindingThumbprint();if(s)try{let c=await ke(e.clientOrigin);if(c.thumbprint!==s)throw new Error("Session proof key changed.");n=c;}catch{let c=new Headers;t.declareOn(c);let p=c.get("authorization");p&&await Nt(e.fetcher,`${e.projectBaseURL}/session/abandon`,e.headers,p),t.endSession(),t.beginSession(e.start);}}let i;try{i=await Ut(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 ke(e.clientOrigin);return t.useBoundBearerTransport(o.thumbprint,o.persistent),{binding:{key:o,nonce:Kt()},cookieOnly:false}}function te(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function we(e){return new TextEncoder().encode(e)}async function Lt(e){return te(new Uint8Array(await crypto.subtle.digest("SHA-256",we(e))))}function Mt(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 Ft(e){return Lt(JSON.stringify({crv:e.crv,kty:e.kty,x:e.x,y:e.y}))}function ao(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 co(){Ae.clear();}async function uo(e){if(!e||typeof e!="object")return null;let t=e;if(!ao(t.privateKey)||!t.publicJwk||!Mt(t.publicJwk))return null;let n=await Ft(t.publicJwk);return t.thumbprint!==n?null:{privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:n,persistent:true}}function Ht(){return typeof indexedDB>"u"?Promise.resolve(null):new Promise(e=>{let t;try{t=indexedDB.open(ro,1);}catch{e(null);return}t.onupgradeneeded=()=>{t.result.objectStoreNames.contains(ne)||t.result.createObjectStore(ne,{keyPath:"origin"});},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null);})}async function _t(e){let t=await Ht();if(!t)return null;try{let n=await new Promise(i=>{let o=t.transaction(ne,"readonly").objectStore(ne).get(e);o.onsuccess=()=>i(o.result),o.onerror=()=>i(null);});return await uo(n)}finally{t.close();}}async function lo(e,t){let n=await Ht();if(!n)return "unavailable";try{return await new Promise(i=>{let o;try{o=n.transaction(ne,"readwrite"),o.objectStore(ne).add({origin:e,privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:t.thumbprint});}catch{i("unavailable");return}o.oncomplete=()=>i("stored"),o.onerror=()=>{let s=o.error;i(s?.name==="ConstraintError"?"conflict":"unavailable");},o.onabort=()=>{let s=o.error;i(s?.name==="ConstraintError"?"conflict":"unavailable");};})}finally{n.close();}}async function po(){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},false,["sign","verify"]),t=await crypto.subtle.exportKey("jwk",e.publicKey);if(!Mt(t))throw new Error("The browser produced an invalid proof key.");return {privateKey:e.privateKey,publicJwk:t,thumbprint:await Ft(t),persistent:false}}function ke(e){let t=Ae.get(e);if(t)return t;let n=(async()=>{let i=await _t(e);if(i)return i;let o=await po(),s=await lo(e,o);return s==="stored"?{...o,persistent:true}:s==="conflict"?await _t(e)??o:o})();return Ae.set(e,n),n.catch(()=>Ae.delete(e)),n}function Kt(){return te(crypto.getRandomValues(new Uint8Array(32)))}function fo(e){let t=new URL(e);return t.search="",t.hash="",t.toString()}async function qt(e){let t=te(we(JSON.stringify({typ:io,alg:oo,jwk:e.key.publicJwk}))),n=te(we(JSON.stringify({htm:e.method.toUpperCase(),htu:fo(e.url),iat:Math.floor(Date.now()/1e3),jti:te(crypto.getRandomValues(new Uint8Array(16))),ath:await Lt(e.token)}))),i=`${t}.${n}`,o=await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e.key.privateKey,we(i));return `${i}.${te(new Uint8Array(o))}`}async function go(e){let t=await ke(e.origin);if(t.thumbprint!==e.expectedThumbprint)throw new Error("Session proof key changed.");return qt({key:t,method:e.method,url:e.url,token:e.token})}var io,oo,ro,ne,Ae,Vt=Me(()=>{"use strict";io="pop+jwt",oo="ES256",ro="authowl-session-proof",ne="origin-keys",Ae=new Map;});function le(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var Xe=Me(()=>{"use strict";});var Ue={};At(Ue,{beginCrossSiteSignIn:()=>Qr,challengeFor:()=>Si,completeCrossSiteSignIn:()=>Zr,takeHandoffCode:()=>mt});function ki(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Si(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return ki(new Uint8Array(t))}function Wr(){return ki(crypto.getRandomValues(new Uint8Array(Jr)))}function Ri(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${Oi}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function Yr(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===Oi)return e.slice(t+1).trim()||null}return null}function Xr(){Ri("",0);}function wi(e){return new URL(e,window.location.href).toString()}async function Qr(e,t){let n=t.callbackURL?wi(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=Wr(),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 Gr){let p=t[c];p&&o.searchParams.set(c,p);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??s);for(let[c,p]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])p&&o.searchParams.set(c,wi(p));return o.searchParams.set("challenge",await Si(i)),Ri(i,$r),o.toString()}function mt(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(gt))return null;let n=new URLSearchParams(t.replace(/^#/,"")),i=n.get(gt);if(!i||e!==void 0&&i!==e)return null;n.delete(gt);let o=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),i}async function Zr(e,t,n){if(!le())return false;let i=n??mt();if(!i)return false;n&&mt(n);let o=Yr();if(Xr(),!o)return false;await t.prepareSession({remember:true});let{error:s}=await e.request("/session/exchange",{method:"POST",body:{code:i,verifier:o}});return s===null}var Oi,gt,Jr,$r,Gr,Ne=Me(()=>{"use strict";Xe();Oi="authowl_handoff_verifier",gt="authowl_code",Jr=32,$r=900,Gr=["email","providerId","domain","organizationSlug"];});var Ki=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,qi=/^sk_/i;function Fe(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(qi.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=Ki.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1].toLowerCase(),env:t[2].toLowerCase(),projectId:t[3].toLowerCase()}}var wt=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function He(e,t){throw new Error(`${e}: ${t}`)}function Ot(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&&wt.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function kt(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&He("apiUrl","origin required");let n;try{n=new URL(e);}catch{He("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!wt.test(e))&&He("apiUrl","HTTPS required except exact loopback"),n.origin}function $(e,t){try{return e?.getItem(t)??null}catch{return null}}function G(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function X(){try{return globalThis.localStorage}catch{return}}function W(){try{return globalThis.sessionStorage}catch{return}}var Bi="authowl.session-challenge",Vi=e=>`${Bi}.${e}`,ji="set-auth-challenge",St="x-authowl-challenge";var Tt="INVALID_TWO_FACTOR_COOKIE",Ji=2048,be=e=>e!==null&&e.length<=Ji,Rt=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function $i(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 Pt(e){let t=Vi(e),n=new Map;function i(){return n.size===0?null:[...n].map(([p,u])=>`${p}=${u}`).join("; ")}function o(){let p=i();G(W(),t,be(p)?p:null);}function s(p){for(let[u,h]of $i(p))Rt.test(u)&&(h===""?n.delete(u):Rt.test(h)&&n.set(u,h));}let c=$(W(),t);return be(c)&&s(c),{presentOn(p){let u=i();p.delete(St),be(u)&&p.set(St,u);},observe(p){let u=p.get(ji);be(u)&&(s(u),o());},clear(){n.clear(),o();}}}var It="set-auth-token",vt="x-authowl-session-transport",Ct="bearer";var Gi="authowl.session-token",Wi="authowl.session-binding",Yi="authowl.cookie-transport",Et="ok",Dt="bearer",Xi=e=>`${Gi}.${e}`,Qi=e=>`${Wi}.${e}`,Zi=e=>`${Yi}.${e}`;function eo(e){return e===Et?"cookies":e===Dt?"bearer":"unknown"}function to(e){return e==="cookies"?Et:e==="bearer"?Dt:null}function no(e){let t=Xi(e),n=Qi(e),i=Zi(e),o=Pt(e),s=null,c=null,p=null,u=false,h=null,r=eo($(X(),i)),l=()=>r==="unknown",d=0,b=null,a=false;function g(){let w=$(W(),t);if(w!==null)return u=true,w;let D=$(X(),t);return D!==null?(u=false,D):null}function y(){return $(W(),n)??$(X(),n)}s=g(),c=s===null?null:y(),s!==null&&l()&&(a=true);function A(){if(!(!a||!b)){a=false;try{b();}catch{}}}function S(){let w=r==="bearer"?s:null,D=w===null?null:c,[ce,bt]=u?[W(),X()]:[X(),W()];G(bt,t,null),G(bt,n,null),G(ce,t,w),G(ce,n,D);}function N(w){w!==null&&h!==null&&(u=h,h=null),w!==null&&p!==null?(c=p,p=null):w===null&&(c=null),s=w,S(),w!==null&&l()&&(a=true,A());}function _(w){r=w,G(X(),i,to(w));}function M(){_("unknown"),a=false;}function L(){return s===null&&(s=g(),c=s===null?null:y()),s}function O(){let w=g();return w!==null&&(s=w,c=y()),s}function I(w){O()===w&&S();}function J(){d+=1,h=null,p=null,u=false,N(null),o.clear(),M();}let Y=()=>r!=="cookies";return {hasToken:()=>L()!==null,bindingThumbprint:()=>(L(),c),declareOn(w){if(w.has("authorization"))return false;let D=L();return !D&&!Y()?false:(D&&w.set("authorization",`Bearer ${D}`),w.set(vt,Ct),o.presentOn(w),true)},wantsToken:Y,needsProbe:l,observe(w){let D=w.get(It);D&&N(D),o.observe(w);},dropChallenge:o.clear,measureWith(w){b=w,A();},beginRead(){let w=L(),D=d;return {carriedToken:w!==null,endIfDead(){w!==null&&O()===w&&d===D&&J();},recordCookieVerdict(ce){if(d===D&&l()){if(_(ce?"cookies":"bearer"),ce){N(null);return}I(w);}}}},beginSession({remember:w}){d+=1,h=!w,o.clear(),M();},useCookieTransport(){L()===null&&(p=null,_("cookies"));},completeCookieTransport(){_("cookies"),N(null);},useBoundBearerTransport(w,D){if(!w)throw new Error("A session proof thumbprint is required.");p=w,D||(h=true),_("bearer");},endSession:J}}var xt=new Map;function zt(e){let t=xt.get(e);if(t)return t;let n=no(e);return xt.set(e,n),n}var Ke="x-authowl-session-proof",jt="x-authowl-session-binding",Jt="x-authowl-session-binding-proof",Se=()=>Promise.resolve().then(()=>(Vt(),Bt));function mo(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function $t(e,t){let n=zt(e.projectId),i=(d,b)=>(t??globalThis.fetch)(d,b),o=typeof globalThis.location=="object"&&typeof globalThis.location.origin=="string"&&globalThis.location.origin!=="null"?globalThis.location.origin:null,s=null,c=false,p=()=>new Headers({"x-publishable-key":e.publishableKey});async function u(d){let b=d.get("authorization");b&&await Se().then(a=>a.abandonSession(i,`${e.projectBaseURL}/session/abandon`,p(),b));}async function h(d){s=null,c=false;let b=await Se().then(a=>a.prepareSenderConstrainedSession({tokens:n,start:d,clientOrigin:o,fetcher:i,projectBaseURL:e.projectBaseURL,headers:p()}));s=b.binding,c=b.cookieOnly;}return {fetch:async(d,b)=>{if(b?.credentials==="omit"||!n.wantsToken())return i(d,b);let a=mo(d,b),g=n.declareOn(a),y=a.get("authorization"),A=(b?.method??(typeof d=="object"&&d!==null&&"method"in d?d.method:"GET")).toUpperCase(),S=typeof d=="string"?d:d instanceof URL?d.toString():d.url;if(g&&o){let _=!!y;if(y){let M=y.replace(/^Bearer\s+/i,""),L=n.bindingThumbprint();if(L)try{a.set(Ke,await Se().then(O=>O.createStoredSessionProof({origin:o,expectedThumbprint:L,method:A,url:S,token:M})));}catch{await u(a),n.endSession(),a.delete("authorization"),a.delete(Ke),a.delete(jt),a.delete(Jt),_=false;}}if(s){let M=s;a.set(jt,M.nonce),a.set(_?Jt:Ke,await Se().then(L=>L.createSessionProof({key:M.key,method:A,url:S,token:M.nonce})));}}let N=await i(d,{...b,headers:a});return g&&(N.status===401&&y&&(new URL(S).pathname.endsWith("/get-session")||new URL(S).pathname.endsWith("/sign-out"))?(await u(a),n.endSession(),s=null,c=false):(n.observe(N.headers),N.headers.has("set-auth-token")&&(c&&n.completeCookieTransport(),s=null,c=false))),N},probe:i,tokens:n,prepareSession:h}}function ho(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Fe(e.publishableKey),n=kt(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function qe(e){let t=ho(e),{fetch:n,...i}=$t({projectId:t.decoded.projectId,projectBaseURL:t.projectBaseURL,publishableKey:t.publishableKey},e.fetch);return {...e,...t,fetch:n,session:i}}var yo=1e4,bo=1024*1024,z=class extends Error{kind;requestId;constructor(t,n){super(Po(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},Yt=new WeakSet;function U(e,t){let n=new z(e,t);return Yt.add(n),n}async function Xt({fetchImpl:e,url:t,init:n={},timeoutMs:i=yo,maxResponseBytes:o=bo,allowHttpLoopback:s=false,decode:c}){Wt(i,"timeoutMs"),Wt(o,"maxResponseBytes");let p=Ot(t,{allowHttpLoopback:s}),u=n.signal,h=new AbortController,r=null,l,d=new Promise(y=>{l=y;}),b=y=>{r===null&&(r=y,l({type:"abort",kind:y}),h.abort());},a=()=>b("aborted");u?.addEventListener("abort",a,{once:true});let g=setTimeout(()=>b("timeout"),i);u?.aborted&&a();try{if(r!==null)throw U(r);let y;try{y=await Promise.race([e(p.toString(),{...n,redirect:"error",signal:h.signal}).then(L=>({type:"response",response:L})),d]);}catch{throw U(r??"network")}if(y.type==="abort")throw U(y.kind);if(!Ao(y.response))throw U("invalid_response");let A=y.response,S=To(A.headers),N=await wo(A,o,d,()=>r,S),_=So(A,N,S),M;try{M=A.ok&&c?c(_,Object.freeze({status:A.status})):_;}catch{throw U("invalid_response",S)}return {response:A,data:M,...S===void 0?{}:{requestId:S}}}catch(y){throw y instanceof z&&Yt.has(y)?y:U(r??"network")}finally{clearTimeout(g),u?.removeEventListener("abort",a);}}function Ao(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 wo(e,t,n,i,o){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw Gt(e.body),U("invalid_response",o);if(Number(s)>t)throw Gt(e.body),U("response_too_large",o)}if(!e.body)return "";let c;try{c=e.body.getReader();}catch{throw U("network",o)}let p=[],u=0,h=null;try{for(;;){let d;try{d=await Promise.race([c.read(),n]);}catch{h=U(i()??"network",o);break}if(Oo(d)){h=U(d.kind,o);break}let{done:b,value:a}=d;if(b)break;if(a.byteLength!==0){if(u+=a.byteLength,u>t){h=U("response_too_large",o);break}p.push(a);}}}finally{h&&ko(c);try{c.releaseLock();}catch{}}if(h)throw h;let r=new Uint8Array(u),l=0;for(let d of p)r.set(d,l),l+=d.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{throw U("invalid_response",o)}}function Oo(e){return "type"in e&&e.type==="abort"}function Gt(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function ko(e){try{e.cancel().catch(()=>{});}catch{}}function So(e,t,n){if(e.status===204||e.status===205)return null;let i=Ro(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw U("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw U("invalid_response",n)}}function Ro(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function To(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function Wt(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Po(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 Be=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 Re(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),Xt({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 Qt(e,t){if(!e.response.ok)throw new Be(t,e.response,e.requestId);return e.data}var Io=new Map;function Zt(e){return typeof window>"u"?null:Io.get(e)?.at(-1)?.locale??null}var vo="x-authowl-turnstile-token",Co="x-authowl-locale",xo=1e4,Eo=32,Do=2e4;function ie(e,t){return {post:(n,i,o,s)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:s}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function $e(e,t=e.projectBaseURL){return {async request(n,i={}){let o=Uo(t,n,i.query),s=i.method??(i.body===void 0?"GET":"POST"),c=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&c.set(vo,i.fetchOptions.authChallengeToken);let p=Zt(e.decoded.projectId);p&&c.set(Co,p),i.body!==void 0&&c.set("content-type","application/json");let u={method:s,headers:c,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},h=Object.freeze({method:s,path:n});await i.fetchOptions?.onRequest?.(h);let r=_o(s,i.fetchOptions),l;try{l=await zo(e,o,{...u,signal:i.fetchOptions?.signal},r);}catch(A){let S=tn(A);return await i.fetchOptions?.onError?.(Ve(h,S,Mo(A))),{data:null,error:S}}let{response:d,requestId:b}=l,a=Ko(n,l.data),g=a;if(d.ok)try{g=Je(a),i.decode&&(g=i.decode(g));}catch{let A=tn(new z("invalid_response",b));return await i.fetchOptions?.onError?.(Ve(h,A,"invalid_response")),{data:null,error:A}}let y=Object.freeze({...h,status:d.status,...b===void 0?{}:{requestId:b}});if(await i.fetchOptions?.onResponse?.(y),!d.ok){let A=No(d,a,b);return A.code===Tt&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(Ve(h,A,"api")),{data:null,error:A}}return await i.fetchOptions?.onSuccess?.(y),{data:g,error:null}}}}async function zo(e,t,n,i){let o=Date.now()+xo;for(let s=0;s<i;s+=1){let c=o-Date.now();if(c<=0)throw new z("timeout");try{let p=await Re(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(c))});if(p.response.status<500||s===i-1)return p}catch(p){if(s===i-1||!(p instanceof z)||p.kind!=="network")throw p}await Fo(50*2**s,n.signal,o);}throw new z("network")}function _o(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 Uo(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,s]of Object.entries(n??{}))s!==void 0&&i.searchParams.set(o,String(s));return i.toString()}function No(e,t,n){let i=ue(t)?t:{},o=Lo(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 Lo(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??en(t.get("retry-after"))??en(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function en(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 tn(e){let t=e instanceof z?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 z&&e.requestId?{requestId:e.requestId}:{}}}function Ve(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function Mo(e){return e instanceof z?e.kind:"network"}function Fo(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new z("aborted"));return}let s=n-Date.now();if(s<=0){o(new z("timeout"));return}let c=Math.min(e,s),p=()=>{clearTimeout(u),o(new z("aborted"));},u=setTimeout(()=>{t?.removeEventListener("abort",p),Date.now()>=n?o(new z("timeout")):i();},c);t?.addEventListener("abort",p,{once:true}),t?.aborted&&p();})}function Je(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Eo||i.nodes>Do)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=>Je(o,"",n+1,i)):ue(e)?Object.fromEntries(Object.entries(e).map(([o,s])=>[o,Ho(o)?s:Je(s,o,n+1,i)])):e}function Ho(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function Ko(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>ue(o)?je(o):o);if(!ue(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-")?je(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")&&ue(i.session)&&(i={...i,session:je(i.session)}),i}function je(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function ue(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var qo=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 k(e){return typeof e!="string"&&f(),e}function P(e){return typeof e!="boolean"&&f(),e}function R(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&f(),e}function Q(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&f(),[...e]}function v(e,t){let n=e[t];return n==null||typeof n=="string"?n:f()}function nn(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:f()}function H(e){let t=m(e),n=t.email;return n!==null&&typeof n!="string"&&f(),{id:k(t.id),email:n,emailVerified:P(t.emailVerified),createdAt:R(t.createdAt),updatedAt:R(t.updatedAt),...F("phoneNumber",v(t,"phoneNumber")),...F("username",v(t,"username")),...F("displayUsername",v(t,"displayUsername")),...F("firstName",v(t,"firstName")),...F("lastName",v(t,"lastName")),...F("name",v(t,"name")),...F("image",v(t,"image")),...F("twoFactorEnabled",nn(t,"twoFactorEnabled"))}}function Te(e){let t=m(e),n=t.membership;return {id:k(t.id),userId:k(t.userId),expiresAt:R(t.expiresAt),...F("activeOrganizationId",v(t,"activeOrganizationId")),...F("activeTeamId",v(t,"activeTeamId")),...F("membership",n==null?n:Bo(n)),...F("pendingMfaEnrollment",nn(t,"pendingMfaEnrollment"))}}function f(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function q(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&f(),We(e,t,n)}function We(e,t=20,n=1e4){return Ge(e,0,{nodes:0},t,n)}function Bo(e){let t=m(e);return {role:k(t.role),...t.roles===void 0?{}:{roles:Q(t.roles)},permissions:Q(t.permissions),...t.teams===void 0?{}:{teams:Q(t.teams)}}}function Ge(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(p=>Ge(p,t+1,n,i,o));(!e||typeof e!="object")&&f();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&f();let c={};for(let[p,u]of Object.entries(e))qo.has(p)&&f(),c[p]=Ge(u,t+1,n,i,o);return c}function F(e,t){return t===void 0?{}:{[e]:t}}function on({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,s=null,c=null,p=null,u=null,h=null,r=null,l,d=O=>{g(O);};l={data:null,isPending:true,isRefetching:false,error:null,refetch:d};function b(O){l=O;for(let I of o)I();}async function a(O){return e.request("/get-session",{query:O?.query,decode:Ye})}function g(O){if(O?.query?.disableCookieCache===true)return A(O);if(u)return u;if(h)return h;let I=A(O).finally(()=>{h===I&&(h=null);});return h=I,I}function y(){if(u)return u;let O=A({query:{disableCookieCache:true}}).finally(()=>{u===O&&(u=null);});return u=O,O}async function A(O){p?.abort();let I=new AbortController;p=I,b({...l,isPending:l.data===null&&l.error===null,isRefetching:l.data!==null});let J=n.beginRead(),Y=await e.request("/get-session",{query:O?.query,fetchOptions:{signal:I.signal},decode:Ye});if(p===I&&(p=null,b({data:Y.data,error:Y.error,isPending:false,isRefetching:false,refetch:d}),Y.error===null)){if(Y.data===null){J.endIfDead();return}await S(J);}}async function S(O){if(n.needsProbe()){if(!O.carriedToken){O.recordCookieVerdict(true);return}return r||N(O)}}function N(O){let I=t.request("/get-session",{query:{disableCookieCache:true},decode:Ye}).then(J=>{r===I&&J.error===null&&O.recordCookieVerdict(J.data!==null);}).finally(()=>{r===I&&(r=null);});return r=I,I}function _(){s?.postMessage({type:"session-changed"});}function M(){if(typeof window>"u"||c)return;let O=()=>{g();},I=()=>{document.visibilityState==="visible"&&g();};window.addEventListener("focus",O),document.addEventListener("visibilitychange",I),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(i),s.addEventListener("message",O)),c=()=>{window.removeEventListener("focus",O),document.removeEventListener("visibilitychange",I),s?.close(),s=null,c=null;};}function L(O){return o.add(O),o.size===1&&(M(),g()),()=>{if(o.delete(O),o.size===0){let I=p;p=null,h=null,u=null,I?.abort(),c?.();}}}return n.measureWith(()=>{n.needsProbe()&&N(n.beginRead());}),{store:{subscribe:L,getSnapshot:()=>l,refresh:y},getSession:a,notifyMutation(){_(),r&&r.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&_();}),o.size>0&&g({query:{disableCookieCache:true}});}}}function Ye(e){if(e===null)return null;let t=m(e);return (t.session===void 0||t.user===void 0)&&f(),{session:Te(t.session),user:H(t.user)}}Xe();function Z(){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 rn(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:an})}async function sn(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:an})}function an(e){let t=m(e),n=q(t.public_metadata),i=q(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 un(e,t){let{post:n,mutation:i}=ie(e,t);return {getMetadata:o=>rn(e,o),updateUnsafeMetadata:(o,s)=>sn(e,o,s),updateProfile:(o,s)=>i(n("/update-user",o,s,de)),changeEmail:(o,s)=>i(n("/change-email",o,s,de)),changePassword:(o,s)=>i(n("/change-password",o,s,Vo)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:jo}),revokeSession:({sessionId:o},s)=>i(n("/revoke-session",{sessionId:o},s,de)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,de)),listSocialAccounts:async o=>{let s=await e.request("/list-accounts",{fetchOptions:o,decode:Jo});if(!s.data)return {data:null,error:s.error};let c=s.data.length>1;return {...s,data:s.data.filter(p=>p.providerId!=="credential").map(p=>({...p,canUnlink:c}))}},linkSocial:(o,s)=>n("/link-social",o,s,$o),unlinkSocial:(o,s)=>i(n("/unlink-account",o,s,de)),delete:(o={},s)=>i(n("/delete-user",o,s,Go))}}function de(e){let t=m(e);return {status:P(t.status)}}function Vo(e){let t=m(e);return {user:H(t.user)}}function jo(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:k(n.id),userId:k(n.userId),createdAt:R(n.createdAt),updatedAt:R(n.updatedAt),expiresAt:R(n.expiresAt),...cn("ipAddress",v(n,"ipAddress")),...cn("userAgent",v(n,"userAgent"))}})}function Jo(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:k(n.id),userId:k(n.userId),providerId:k(n.providerId),accountId:k(n.accountId),scopes:Q(n.scopes),createdAt:R(n.createdAt),updatedAt:R(n.updatedAt)}})}function $o(e){let t=m(e);return {url:k(t.url),redirect:P(t.redirect)}}function Go(e){let t=m(e);return {success:P(t.success),message:k(t.message)}}function cn(e,t){return t===void 0?{}:{[e]:t}}function Qe(e,t){return !e||!t?false:e.permissions.includes(t)}function Wo(e,t){return !e||!t?false:e.teams?.includes(t)??false}function Yo(e,t){return e?e.roles===void 0?e.role===t:e.roles.includes(t):false}function Ze(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&&!Yo(e,n)||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!Wo(e,o))}function Xo(e){return {has:t=>Ze(e,t),hasPermission:t=>Qe(e,t.permission)}}var Qo=new Set(["pending","accepted","rejected","canceled"]),et=1e4;function ln(e){let t=m(e);return t.recipientHint!==null&&t.recipientHint!=="new_user"&&f(),{recipientHint:t.recipientHint}}function oe(e,t,n){let i=m(e),o={id:T(i.id),name:T(i.name),slug:T(i.slug),createdAt:R(i.createdAt),...pe("logo",v(i,"logo")),...pe("metadata",i.metadata===void 0?void 0:We(i.metadata))};return K(o.id,t),K(o.slug,n),o}function dn(e){return B(e,oe)}function tt(e,t,n){return e===null?null:(t===null&&f(),oe(e,t,n))}function pn(e,t,n){if(e===null)return null;let i=m(e),o=oe(i,t,n);return {...o,members:B(i.members,s=>Rn(s,o.id)),invitations:B(i.invitations,s=>V(s,void 0,o.id))}}function nt(e,t,n=false){let i=B(e,o=>fe(o));return n||me(i.map(o=>o.organizationId),t),i}function fn(e,t){let n=B(e,i=>it(i));return me(n.map(i=>i.teamId),t),n}function it(e,t,n){let i=m(e),o={id:T(i.id),teamId:T(i.teamId),userId:T(i.userId),createdAt:R(i.createdAt)};return K(o.teamId,t),K(o.userId,n),o}function gn(e,t,n){return e===null?null:(t===null&&f(),fe(e,t,n))}function mn(e,t){let n=m(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&f(),{members:Zo(n.members,t),total:n.total}}function V(e,t,n){let i=m(e),o=T(i.status);Qo.has(o)||f();let s={id:T(i.id),organizationId:T(i.organizationId),email:ge(i.email),role:T(i.role),status:o,inviterId:T(i.inviterId),expiresAt:R(i.expiresAt),createdAt:R(i.createdAt)};return K(s.id,t),K(s.organizationId,n),s}function hn(e,t){let n=B(e,i=>V(i));return me(n.map(i=>i.organizationId),t),n}function yn(e){return B(e,t=>{let n=m(t);return {...V(n),organizationName:ge(n.organizationName)}})}function bn(e,t){let n=m(e);return {...V(n,t),organizationName:T(n.organizationName),organizationSlug:T(n.organizationSlug),inviterEmail:Tn(n.inviterEmail)}}function An(e,t){let n=m(e),i=V(n.invitation,t);return {invitation:i,member:re(n.member,void 0,i.organizationId)}}function wn(e,t){let n=m(e);return n.member!==null&&f(),{invitation:n.invitation===null?null:V(n.invitation,t),member:null}}function On(e,t){return e===null?null:V(e,t)}function kn(e,t,n){let i=m(e);return {member:re(i.member,n,t)}}function re(e,t,n){let i=m(e),o={id:T(i.id),organizationId:T(i.organizationId),userId:T(i.userId),role:T(i.role),createdAt:R(i.createdAt),...i.user===void 0?{}:{user:Pn(i.user)}};return K(o.id,t),K(o.organizationId,n),o}function Sn(e,t){let n=B(e,i=>{let o=m(i);return {organizationId:T(o.organizationId),data:{role:T(o.role),...pe("permission",o.permission===void 0?void 0:er(o.permission)),...pe("customPermissionKeys",o.customPermissionKeys===void 0?void 0:Q(o.customPermissionKeys))}}});return me(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function fe(e,t,n){let i=m(e),o=i.updatedAt,s={id:T(i.id),name:ge(i.name),organizationId:T(i.organizationId),createdAt:R(i.createdAt),...o===void 0?{}:{updatedAt:R(o)}};return K(s.id,t),K(s.organizationId,n),s}function ot(e){let t=m(e);return {message:ge(t.message)}}function Rn(e,t){let n=m(e);return {...re(n,void 0,t),user:Pn(n.user)}}function Zo(e,t){let n=B(e,i=>Rn(i));return me(n.map(i=>i.organizationId),t),n}function er(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>et||!Array.isArray(o))&&f(),n[i]=o.map(s=>T(s));return n}function T(e){let t=k(e);return (t.length===0||t.length>et)&&f(),t}function ge(e){if(e==null)return "";let t=k(e);return t.length>et&&f(),t}function Tn(e){return e===null?null:T(e)}function K(e,t){t!==void 0&&e!==t&&f();}function me(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&f();}function Pn(e){let t=m(e);return {id:T(t.id),name:ge(t.name),email:Tn(t.email),...pe("image",v(t,"image"))}}function B(e,t){return Array.isArray(e)||f(),e.map(n=>t(n))}function pe(e,t){return t===void 0?{}:{[e]:t}}function In(e,t,n=()=>null){let{post:i,mutation:o}=ie(e,t),s=new Set,c=()=>{for(let r of s)try{r();}catch{}},p=new Map,u=(r,l,d,b)=>{if(d)return e.request(r,{query:l,fetchOptions:d,decode:b});let a=`${r}\0${JSON.stringify(l??null)}`,g=p.get(a);if(g)return g;let y=e.request(r,{query:l,decode:b}).finally(()=>{p.delete(a);});return p.set(a,y),y},h=async r=>{let l=await o(r).finally(()=>p.clear());return l.error===null&&c(),l};return {subscribe(r){return s.add(r),()=>s.delete(r)},create:(r,l)=>h(i("/organization/create",r,l,oe)),list:r=>u("/organization/list",void 0,r,dn),get:(r={},l)=>u("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},l,d=>pn(d,r.organizationId,r.organizationSlug)),setActive:(r,l)=>h(i("/organization/set-active",r,l,d=>tt(d,r.organizationId,r.organizationSlug))),createTeam:(r,l)=>h(i("/organization/create-team",r,l,d=>fe(d,void 0,r.organizationId))),listTeams:(r={},l)=>u("/organization/list-teams",{organizationId:r.organizationId},l,d=>nt(d,r.organizationId)),updateTeam:(r,l)=>h(i("/organization/update-team",r,l,d=>fe(d,r.teamId,r.data.organizationId))),removeTeam:(r,l)=>h(i("/organization/remove-team",r,l,ot)),listUserTeams:r=>u("/organization/list-user-teams",void 0,r,l=>nt(l,void 0,true)),listTeamMembers:(r={},l)=>u("/organization/list-team-members",{teamId:r.teamId},l,d=>fn(d,r.teamId)),addTeamMember:(r,l)=>h(i("/organization/add-team-member",r,l,d=>it(d,r.teamId,r.userId))),removeTeamMember:(r,l)=>h(i("/organization/remove-team-member",r,l,ot)),setActiveTeam:(r,l)=>h(i("/organization/set-active-team",r,l,d=>gn(d,r.teamId))),update:(r,l)=>h(i("/organization/update",r,l,d=>tt(d,r.organizationId))),delete:(r,l)=>h(i("/organization/delete",r,l,d=>oe(d,r.organizationId))),listMembers:(r={},l)=>u("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},l,d=>mn(d,r.organizationId)),inviteMember:(r,l)=>h(i("/organization/invite-member",r,l,d=>V(d,void 0,r.organizationId))),listInvitations:(r={},l)=>u("/organization/list-invitations",{organizationId:r.organizationId},l,d=>hn(d,r.organizationId)),listUserInvitations:r=>u("/organization/list-user-invitations",void 0,r,yn),getInvitation:(r,l)=>u("/organization/get-invitation",{id:r.id},l,d=>bn(d,r.id)),getInvitationRecipientHint:(r,l)=>u("/organization/invitation-recipient-hint",{invitationId:r.invitationId},l,ln),acceptInvitation:(r,l)=>h(i("/organization/accept-invitation",r,l,d=>An(d,r.invitationId))),rejectInvitation:(r,l)=>h(i("/organization/reject-invitation",r,l,d=>wn(d,r.invitationId))),cancelInvitation:(r,l)=>h(i("/organization/cancel-invitation",r,l,d=>On(d,r.invitationId))),removeMember:(r,l)=>h(i("/organization/remove-member",r,l,d=>kn(d,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,l)=>h(i("/organization/update-member-role",r,l,d=>re(d,r.memberId,r.organizationId))),leave:(r,l)=>h(i("/organization/leave",r,l,d=>re(d,void 0,r.organizationId))),listRoles:(r={},l)=>u("/organization/list-roles",{organizationId:r.organizationId},l,d=>Sn(d,r.organizationId)),has:r=>Ze(n(),r),hasPermission:r=>Qe(n(),r.permission)}}function vn(e){return {listConsentPreferences:t=>e.request("/privacy/consent-decisions",{fetchOptions:t,decode:tr}),recordConsent:(t,n)=>e.request("/privacy/consent-decisions",{method:"POST",body:{...t,correlationId:t.correlationId??Z()},fetchOptions:n,decode:ir}),listRightsRequests:t=>e.request("/privacy/rights",{fetchOptions:t,decode:or}),createRightsRequest:(t,n)=>e.request("/privacy/rights",{method:"POST",body:t,fetchOptions:n,decode:rr})}}function tr(e){let t=m(e);return Array.isArray(t.preferences)||f(),{preferences:t.preferences.map(nr)}}function nr(e){let t=m(e);return {purposeId:k(t.purposeId),purposeVersionId:k(t.purposeVersionId),code:k(t.code),state:sr(t.state,["granted","refused","withdrawn"]),updatedAt:Pe(t.updatedAt),decidedAt:Pe(t.decidedAt)}}function ir(e){let t=m(e);return t.recorded!==true&&f(),{recorded:true,decision:he(t.decision,["granted","refused","withdrawn"]),decidedAt:Ie(t.decidedAt)}}function or(e){let t=m(e);return Array.isArray(t.requests)||f(),{requests:t.requests.map(Cn)}}function rr(e){return {request:Cn(m(e).request)}}function Cn(e){let t=m(e);return {id:k(t.id),rightType:he(t.rightType,["access","correction","portability","erasure","restriction","objection","consent_withdrawal"]),state:he(t.state,["received","identity_pending","in_progress","restricted","completed","denied","withdrawn"]),locale:he(t.locale,["en","ar"]),receivedAt:Ie(t.receivedAt),acknowledgedAt:Pe(t.acknowledgedAt),fulfilmentDeadline:Ie(t.fulfilmentDeadline),completedAt:Pe(t.completedAt)}}function Pe(e){return e===null?null:Ie(e)}function Ie(e){if(e instanceof Date)return R(e);typeof e!="string"&&f();let t=new Date(e);return Number.isNaN(t.getTime())&&f(),t}function he(e,t){return (typeof e!="string"||!t.includes(e))&&f(),e}function sr(e,t){return e===null?null:he(e,t)}var xn=4096,ar=4096,cr=100,ur=256,lr=16,dr=64,pr=12;function st(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:Gn(t.twoFactorMethods,lr,dr)}}):(t.twoFactorRedirect!==void 0&&f(),{redirect:P(t.redirect),...yr(t,"url"),user:H(t.user)})}function En(e){let t=m(e);return {user:H(t.user)}}function Dn(e){let t=m(e);return {sessionCreated:P(t.sessionCreated),user:H(t.user)}}function zn(e,t){let n=m(e),i=P(n.redirect);n.user===null&&f();let o=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return i?((o||!s)&&f(),{redirect:true,url:rt(n.url,t)}):(o===s&&f(),o?{redirect:false,user:H(n.user)}:{redirect:false,url:rt(n.url,t)})}function _n(e,t){let n=m(e);return (n.redirect!==true||n.user!==void 0)&&f(),{redirect:true,url:rt(n.url,t)}}function Un(e){return {status:P(m(e).status)}}function Nn(e){return {success:P(m(e).success)}}function Ln(e){return m(e).status!=="pending"&&f(),{status:"pending"}}function Mn(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:k(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:k(t.connectionId),challenge:k(t.challenge),difficulty:fr(t.difficulty),challengeToken:k(t.challengeToken),challengeRequired:P(t.challengeRequired),turnstile:{required:P(n.required),siteKey:i}}}function fr(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>pr)&&f(),Number(e)}function Fn(e){let t=m(e);return (t.status!==true||t.sessionCreated!==true)&&f(),{status:true,sessionCreated:true,user:gr(t.user)}}function at(e){return {status:P(m(e).status)}}function Hn(e){return {status:P(m(e).status)}}function Kn(e){let t=m(e);return {status:P(t.status),user:H(t.user)}}function qn(e){return {success:P(m(e).success)}}function Bn(e){let t=m(e);return {totpURI:hr(t.totpURI),backupCodes:$n(t.backupCodes)}}function Vn(e){return {status:P(m(e).status)}}function ve(e){return m(e).status!==true&&f(),{status:true}}function jn(e){return {status:P(m(e).status)}}function Jn(e){let t=m(e);return t.status!==void 0&&t.status!==true&&f(),{backupCodes:$n(t.backupCodes)}}function gr(e){let t=m(e);return {id:se(t.id,512),...br(t,"name",1024),phoneNumber:se(t.phoneNumber,64),phoneNumberVerified:P(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:R(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:R(t.updatedAt)}}}function rt(e,t){let n=se(e,xn);/[\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:"&&mr(i.hostname)?i.href:f()}function mr(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function hr(e){let t=se(e,ar),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 $n(e){return Gn(e,cr,ur)}function Gn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&f();let i=e.map(o=>se(o,n));return i.some(o=>o.trim().length===0)&&f(),new Set(i).size!==i.length&&f(),i}function se(e,t){let n=k(e);return (n.length===0||n.length>t)&&f(),n}function yr(e,t){let n=e[t];return n==null?{}:{[t]:se(n,xn)}}function br(e,t,n){let i=v(e,t);return i===void 0?{}:(i!==null&&i.length>n&&f(),{[t]:i})}var Wn=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),Ce=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 xe(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||Xn(n,i)||Yn(i)||Wn.has(i))return {valid:false}}let t=Ar(e);return ct(t)?{valid:true,value:t}:{valid:false}}function ct(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let s=o.codePointAt(0);if(s===void 0||Xn(o,s)||Yn(s)||Wn.has(s))return false;n??=s,i=s;}return t>0&&n!==void 0&&i!==void 0&&!Ce.has(n)&&!Ce.has(i)}function Ee(){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 Ar(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!Ce.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let s=i>=56320&&i<=57343?n-2:n-1,c=e.codePointAt(s);if(c===void 0||!Ce.has(c))break;n=s;}return e.slice(t,n)}function Yn(e){return e>=0&&e<=31||e>=127&&e<=159}function Xn(e,t){return e.length===1&&t>=55296&&t<=57343}var ei=12,ti=5e3,wr=8,Or=1e3,kr=16,Qn=512,ni=100,ii=8192,Sr=32768,ut=1024,Zn=256,dt=64,Rr=6e5,Tr=/^[A-Za-z0-9_-]+$/u,Pr=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ir=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,vr=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Cr=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,oi=new Set(["discouraged","preferred","required"]),xr=new Set(["singleDevice","multiDevice"]),ri=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),si=new Set(["hybrid","security-key","client-device"]),Er=new Set(["none","indirect","direct","enterprise"]),Dr=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),zr=new Set(["platform","cross-platform"]),_r=new Set(["discouraged","preferred","required"]),Ur=new Set([-8,-7,-257]);function ai(e){let t=q(e,ei,ti);return {challenge:yi(t.challenge),...x("timeout",mi(t.timeout)),...x("rpId",bi(t.rpId)),...x("allowCredentials",gi(t.allowCredentials)),...x("userVerification",ye(t.userVerification,oi)),...x("hints",De(t.hints,si)),...x("extensions",hi(t.extensions))}}function ci(e){let t=q(e,ei,ti);return {challenge:yi(t.challenge),rp:Nr(t.rp),user:Lr(t.user),pubKeyCredParams:Mr(t.pubKeyCredParams),...x("timeout",mi(t.timeout)),...x("excludeCredentials",gi(t.excludeCredentials)),...x("authenticatorSelection",Fr(t.authenticatorSelection)),...x("attestation",ye(t.attestation,Er)),...x("attestationFormats",De(t.attestationFormats,Dr)),...x("hints",De(t.hints,si)),...x("extensions",hi(t.extensions))}}function ui(e){let t=m(e),n=Te(t.session),i=H(t.user);return n.userId!==i.id&&f(),{session:n,user:i}}function pt(e){let t=m(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&f();let i=ft(t.deviceType,xr),o=P(t.backedUp);return o&&i!=="multiDevice"&&f(),{id:ae(t.id,Zn),...qr(t),publicKey:Hr(t.publicKey,Sr),userId:ae(t.userId,Zn),credentialID:_e(t.credentialID,ii),counter:n,deviceType:i,backedUp:o,...Br(t),createdAt:R(t.createdAt),...Vr(t)}}function li(e,t,n){let i=pt(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&f(),i}function di(e){(!Array.isArray(e)||e.length>ni)&&f();let t=e.map(pt);return ze(t.map(n=>n.id)),ze(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&f(),t}function pi(e,t,n){let i=m(e),o=pt(i.passkey);return (o.id!==t||o.name!==n)&&f(),{passkey:o}}function fi(e){return m(e).status!==true&&f(),{status:true}}function Nr(e){let t=m(e);return {name:lt(t.name,ut),...x("id",bi(t.id))}}function Lr(e){let t=m(e);return {id:_e(t.id,128,1,64),name:lt(t.name,ut),displayName:lt(t.displayName,ut)}}function Mr(e){(!Array.isArray(e)||e.length===0||e.length>dt)&&f();let t=e.map(n=>{let i=m(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Ur.has(i.alg))&&f(),{type:"public-key",alg:i.alg}});return jr(t.map(n=>n.alg)),t}function gi(e){if(e===void 0)return;(!Array.isArray(e)||e.length>ni)&&f();let t=e.map(n=>{let i=m(n);return i.type!=="public-key"&&f(),{type:"public-key",id:_e(i.id,ii),...x("transports",De(i.transports,ri))}});return ze(t.map(n=>n.id)),t}function Fr(e){if(e===void 0)return;let t=m(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&f();let n=ye(t.residentKey,_r);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&f(),{...x("authenticatorAttachment",ye(t.authenticatorAttachment,zr)),...x("residentKey",n),...x("requireResidentKey",t.requireResidentKey),...x("userVerification",ye(t.userVerification,oi))}}function mi(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Rr)&&f(),e}function hi(e){return e===void 0?void 0:q(e,wr,Or)}function De(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>dt)&&f();let n=e.map(i=>ft(i,t));return ze(n),n}function ye(e,t){if(e!==void 0)return ft(e,t)}function yi(e){return _e(e,Math.ceil(Qn*4/3),kr,Qn)}function _e(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=ae(e,t),s=o.length%4,c=Kr(o.at(-1)??""),p=Math.floor(o.length*3/4);return (!Tr.test(o)||s===1||s===2&&(c&15)!==0||s===3&&(c&3)!==0||p<n||p>i)&&f(),o}function ae(e,t){let n=k(e);return (n.length===0||n.length>t)&&f(),n}function lt(e,t){let n=ae(e,t);return Ir.test(n)&&f(),n}function bi(e){if(e===void 0)return;let t=ae(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!vr.test(n)))&&f(),t}function Hr(e,t){let n=ae(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),s=n.at(i?-3:o?-2:-1)??"",c=Ai(s);return (n.length%4!==0||!Pr.test(n)||i&&(c&15)!==0||o&&(c&3)!==0)&&f(),n}function Kr(e){return Ai(e,true)}function Ai(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function qr(e){let t=v(e,"name");return t===void 0?{}:(t!==null&&!ct(t)&&f(),{name:t})}function Br(e){let t=v(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>dt||n.some(i=>!ri.has(i))||new Set(n).size!==n.length)&&f(),{transports:t}}function Vr(e){let t=v(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Cr.test(t)||f(),{aaguid:t})}function ft(e,t){let n=k(e);return t.has(n)||f(),n}function x(e,t){return t===void 0?{}:{[e]:t}}function ze(e){new Set(e).size!==e.length&&f();}function jr(e){new Set(e).size!==e.length&&f();}function es(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 Ti=new Map;function ts(e,t,n){let i=Ti.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=Promise.resolve().then(()=>(Ne(),Ue)).then(s=>s.completeCrossSiteSignIn(e,t,o)),Ti.set(n,i);}return i}function Pi(e){return !le()||e.idToken||e.disableRedirect?"legacy":"first-party"}function ns(e,t=()=>{},n=rs){let i=$e(e),o=e.session.tokens,s=le()?ts(i,e.session,e.decoded.projectId):void 0,c=es(i,s),p=on({http:c,probe:$e({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`}),u=n(c,p.notifyMutation),h=()=>{p.notifyMutation(),t();},{post:r,mutation:l}=ie(c,h),d=e.decoded.env==="test",b=a=>e.session.prepareSession({remember:a?.rememberMe!==false});return {sessionStore:p.store,getSession:p.getSession,account:un(c,h),organization:In(c,h,()=>p.store.getSnapshot().data?.session.membership??null),privacy:vn(c),signIn:{email:async(a,g)=>(await b(a),l(r("/sign-in/email",a,g,st),y=>!("twoFactorRedirect"in y))),username:async(a,g)=>(await b(a),l(r("/sign-in/username",a,g,st),y=>!("twoFactorRedirect"in y))),social:async(a,g)=>{if(await b(),Pi(a)==="first-party"){let{beginCrossSiteSignIn:A}=await Promise.resolve().then(()=>(Ne(),Ue)),S=await A(e,{kind:"social",provider:a.provider,callbackURL:a.callbackURL,errorCallbackURL:a.errorCallbackURL,newUserCallbackURL:a.newUserCallbackURL,scopes:a.scopes,loginHint:a.loginHint,requestSignUp:a.requestSignUp});if(S)return window.location.assign(S),{data:{redirect:true,url:S},error:null}}let y=await l(r("/sign-in/social",a,g,A=>zn(A,d)),A=>"user"in A);return y.error!==null||y.data===null||"url"in y.data&&y.data.redirect&&!a.disableRedirect&&typeof window<"u"&&window.location.assign(y.data.url),y},sso:async(a,g)=>{if(Pi(a)==="first-party"){let{beginCrossSiteSignIn:A}=await Promise.resolve().then(()=>(Ne(),Ue)),S=await A(e,{kind:"sso",email:a.email,providerId:a.providerId,domain:a.domain,organizationSlug:a.organizationSlug,callbackURL:a.callbackURL,errorCallbackURL:a.errorCallbackURL,newUserCallbackURL:a.newUserCallbackURL});if(S)return window.location.assign(S),{data:{url:S,redirect:true},error:null}}let y=await r("/sign-in/sso",a,g,A=>_n(A,d));return y.error!==null||y.data===null||typeof window<"u"&&window.location.assign(y.data.url),y},magicLink:(a,g)=>r("/sign-in/magic-link",a,g,Un),emailOtp:async(a,g)=>(await b(),l(r("/sign-in/email-otp",a,g,En))),passkey:async(a,g)=>(await b(),u.signIn(a,g))},signUp:{email:async(a,g)=>(await b(),l(r("/sign-up/email",a,g,Dn),y=>y.sessionCreated))},emailOtp:{sendVerificationOtp:(a,g)=>r("/email-otp/send-verification-otp",a,g,Nn),verifyEmail:async(a,g)=>(await b(),l(r("/email-otp/verify-email",a,g,Kn)))},phoneOtp:{prepare:a=>r("/phone-otp/challenge",{},a,Mn),start:(a,g)=>r("/phone-otp/start",{...a,idempotencyKey:a.idempotencyKey??Z()},g,Ln),verify:async(a,g)=>(await b(),l(r("/phone-otp/verify",a,g,Fn)))},requestPasswordReset:(a,g)=>r("/request-password-reset",a,g,at),resetPassword:(a,g)=>r("/reset-password",a,g,at),sendVerificationEmail:(a,g)=>r("/send-verification-email",a,g,Hn),passkey:{addPasskey:(a,g)=>u.add(a,g),listUserPasskeys:()=>c.request("/passkey/list-user-passkeys",{decode:di}),updatePasskey:async(a,g)=>{let y=xe(a.name);if(!y.valid||y.value===void 0)return Ee();let A=y.value;return r("/passkey/update-passkey",{...a,name:A},g,S=>pi(S,a.id,A))},deletePasskey:(a,g)=>r("/passkey/delete-passkey",a,g,fi)},twoFactor:{enable:(a,g)=>r("/two-factor/enable",a,g,Bn),disable:(a,g)=>l(r("/two-factor/disable",a,g,Vn),y=>y.status),verifyTotp:(a,g)=>l(r("/two-factor/verify-totp",a,g,ve)),verifyBackupCode:(a,g)=>l(r("/two-factor/verify-backup-code",a,g,ve)),sendOtp:(a={},g)=>r("/two-factor/send-otp",a,g,jn),verifyOtp:(a,g)=>l(r("/two-factor/verify-otp",a,g,ve)),generateBackupCodes:(a,g)=>r("/two-factor/generate-backup-codes",a,g,Jn)},signOut:a=>l(c.request("/sign-out",{method:"POST",body:{},fetchOptions:a,decode:qn}).then(g=>(o.endSession(),g)),g=>g.success)}}function ht(e,t=()=>{},n){let i=ns(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Ii(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp,passkey:i.signIn.passkey},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey,addPasskey:i.passkey.addPasskey}}:{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Ii(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function Ii(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return is();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?os():i}}function is(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"NATIVE_SOCIAL_ID_TOKEN_REQUIRED",message:"Native social sign-in requires a provider ID token."}})}function os(){return Promise.resolve({data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_NATIVE_SOCIAL_RESPONSE",message:"The server returned a redirect for native ID-token sign-in."}})}function rs(){return {signIn:()=>vi(),add:()=>vi()}}function vi(){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 ss(e,t,n){let i=new Map;return {async signIn(o={},s){let c=await e.request("/passkey/generate-authenticate-options");if(!c.data)return Ei(c.error);let p;try{p=ai(c.data);}catch{return Ci()}let u;try{u=await n.authenticate({optionsJSON:p,useBrowserAutofill:o.autoFill});}catch(b){return Di(n,b,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!as(u))return xi();let{clientExtensionResults:h,...r}=u,l=i.get(u.id);if(l)return l;let d=(async()=>{let b=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:r},fetchOptions:s,decode:ui});return b.data&&t(),b})();i.set(u.id,d);try{return await d}finally{i.get(u.id)===d&&i.delete(u.id);}},async add(o={},s){let c=xe(o.name);if(!c.valid)return Ee();let p=await e.request("/passkey/generate-register-options",{query:{name:c.value,authenticatorAttachment:o.authenticatorAttachment}});if(!p.data)return Ei(p.error);let u;try{u=ci(p.data);}catch{return Ci()}let h;try{h=await n.register({optionsJSON:u});}catch(b){return Di(n,b,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!cs(h))return xi();let{clientExtensionResults:r,...l}=h,d=await e.request("/passkey/verify-registration",{method:"POST",body:{response:l,name:c.value},fetchOptions:s,decode:b=>li(b,h.id,c.value)});return d.data&&t(),d}}}function Ci(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function xi(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function _i(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 as(e){if(!_i(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 cs(e){if(!_i(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function Ei(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function Di(e,t,n,i){let o=ls(t,"page does not have focus"),s=e.errorCode?.(t),c=s!==void 0?s==="ERROR_CEREMONY_ABORTED":zi(t)==="AbortError",p=n!=="AUTH_CANCELLED",u=us(s,zi(t),p);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":c?n:s??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":c?i:u}}}function us(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 zi(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function ls(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}async function ds(e){let t=`${e.apiUrl}/api/projects/${e.decoded.projectId}/public-config`;return Qt(await Re(e,t,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:n=>ps(n,e)}),"public-config")}function ps(e,t){let n=q(e),i=n.environmentId,o=n.environmentType,s=`${t.apiUrl}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!yt(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==s)throw E();let c=C(n.branding),p=C(n.legal);if(!ee(n.enabledMethods,64)||!ee(n.socialProviders,64)||!Mi(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"||!Mi(p,["termsUrl","privacyUrl"])||!Number.isSafeInteger(p.version)||p.version<0||typeof p.required!="boolean")throw E();if(n.socialProviderClientIds!==void 0){let u=C(n.socialProviderClientIds);if(Object.keys(u).length>64||Object.values(u).some(h=>typeof h!="string"||h.length>2048))throw E()}if(!j(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!Ui(n.turnstileSiteKey)||!Ui(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw E();if(n.jwtIssuer!==null){let u=C(n.jwtIssuer),h=new URL(u.issuer),r=`${h.origin}/api/projects/${t.decoded.projectId}/auth`;if(u.issuer!==r||u.jwksUrl!==`${r}/jwks`||u.aud!==t.decoded.projectId||h.protocol!=="https:"&&h.origin!==t.apiUrl)throw E()}if(n.signUp!==void 0){let u=C(n.signUp).mode;if(typeof u!="string"||!["open","restricted","allowlist","waitlist"].includes(u))throw E()}if(n.authentication!==void 0&&fs(n.authentication),n.privacy!==void 0&&gs(n.privacy),n.emailVerification!==void 0){let u=C(n.emailVerification);if(!j(u,["required"])||u.method!=="link"&&u.method!=="code")throw E()}if(n.userModel!==void 0&&!j(C(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw E();if(n.mfa!==void 0){let u=C(n.mfa);if(!j(u,["totp","required","backupCodes"])||(u.required===true||u.backupCodes===true)&&u.totp!==true)throw E()}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 u=C(n.captcha);if(typeof u.provider!="string"||u.provider.length===0||u.provider.length>64||typeof u.siteKey!="string"||u.siteKey.length===0||u.siteKey.length>512)throw E();n.captcha={provider:u.provider,siteKey:u.siteKey};}return n}function yt(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 E(){return new TypeError("public-config returned an invalid response")}function C(e){if(!e||typeof e!="object"||Array.isArray(e))throw E();return e}function Ui(e){return e===null||typeof e=="string"&&e.length<=4096}function fs(e){let t=C(e),n=C(t.email),i=C(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!j(n,["signUp"])||!ee(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!j(C(t.phone),["signUp","signIn"])||!j(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!j(C(t.passkey),["signIn","add"])||!ms(C(t.passkey).relyingPartyId)||!j(C(t.username),["collectOnSignUp","signIn"]))throw E()}function gs(e){let t=C(e);if(!Array.isArray(t.notices)||!Array.isArray(t.consentPurposes)||t.notices.length>64||t.consentPurposes.length>64)throw E();for(let n of t.notices){let i=C(n);if(Ni(i,"noticeId","noticeVersionId"),Le(i.title,512),Le(i.body,1e5),Li(i.digest),!ee(i.activityCodes,128)||!ee(i.purposeCodes,128)||typeof i.effectiveFrom!="string"||!Number.isFinite(Date.parse(i.effectiveFrom)))throw E()}for(let n of t.consentPurposes){let i=C(n);if(Ni(i,"purposeId","purposeVersionId"),Le(i.title,512),Le(i.description,1e4),Li(i.digest),!ee(i.activityCodes,128)||!ee(i.dataCategories,128))throw E()}}function Ni(e,t,n){if(typeof e[t]!="string"||!yt(e[t])||typeof e[n]!="string"||!yt(e[n])||typeof e.code!="string"||!/^[a-z][a-z0-9_]{0,63}$/.test(e.code)||!Number.isSafeInteger(e.version)||e.version<1)throw E()}function Le(e,t){let n=C(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 E()}function Li(e){let t=C(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 E()}function ms(e){return e==null||typeof e=="string"}function j(e,t){return t.every(n=>typeof e[n]=="boolean")}function Mi(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function ee(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var Fi=["en","ar"];function hs(e){return e==="ar"?"rtl":"ltr"}function ys(e){return typeof e=="string"&&Fi.includes(e)}function bs(e,t,n,i=Z()){return {locale:t,correlationId:i,noticeVersionIds:e.notices.map(o=>o.noticeVersionId),consentDecisions:e.consentPurposes.flatMap(o=>{let s=e.notices.find(c=>c.purposeCodes.includes(o.code));return s?[{purposeCode:o.code,purposeVersionId:o.purposeVersionId,noticeVersionId:s.noticeVersionId,decision:n.has(o.code)?"granted":"refused",guardianRequired:false,guardianEvidenceId:null}]:[]})}}function As(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,s=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(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:s?.totp??e?.twoFactor??false,mfaRequired:s?.required??e?.mfaRequired??false,backupCodes:s?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}function ws(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}function Ja(e,t){return ht(qe(e),t)}
2
- exports.LOCALES=Fi;exports.buildPrivacySignUpEvidence=bs;exports.createIdempotencyKey=Z;exports.createMembershipHas=Xo;exports.createNativeAuthClient=ht;exports.createNativeClient=Ja;exports.createPasskeyClient=ss;exports.decodePublishableKey=Fe;exports.directionFor=hs;exports.getPublicConfig=ds;exports.isLocale=ys;exports.resolveConfig=qe;exports.resolveProjectCapabilities=As;exports.sessionCookieName=ws;
1
+ 'use strict';var Bi=Object.defineProperty;var Me=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var Ot=(e,t)=>{for(var n in t)Bi(e,n,{get:t[n],enumerable:true});};var Jt={};Ot(Jt,{abandonSession:()=>Ft,bindingNonce:()=>Vt,boundedSessionFetch:()=>Oe,clearSessionProofKeyMemoryForTests:()=>fo,cookieCapability:()=>Mt,createSessionProof:()=>jt,createStoredSessionProof:()=>bo,prepareSenderConstrainedSession:()=>lo,sessionProofKey:()=>Se});async function Oe(e,t,n,i){let o=new AbortController,r,u=new Promise((d,l)=>{r=setTimeout(()=>{o.abort(),l(new Error("AuthOwl session transport request timed out."));},i);});try{return await Promise.race([e(t,{...n,signal:o.signal}),u])}finally{clearTimeout(r);}}async function Mt(e,t,n){let i=await Oe(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 Oe(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 u;try{u=JSON.parse(r);}catch{throw new Error("AuthOwl cookie capability response is invalid.")}if(!u||typeof u!="object"||Array.isArray(u)||Object.keys(u).length!==1||typeof u.cookieSupported!="boolean")throw new Error("AuthOwl cookie capability response is invalid.");return u.cookieSupported}async function Ft(e,t,n,i){let o=new Headers(n);o.set("authorization",i),o.set("x-authowl-session-transport","bearer");try{await Oe(e,t,{method:"POST",credentials:"include",headers:o},2e3);}catch{}}async function lo(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 u=await Se(e.clientOrigin);if(u.thumbprint!==r)throw new Error("Session proof key changed.");n=u;}catch{let u=new Headers;t.declareOn(u);let d=u.get("authorization");d&&await Ft(e.fetcher,`${e.projectBaseURL}/session/abandon`,e.headers,d),t.endSession(),t.beginSession(e.start);}}let i;try{i=await Mt(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 Se(e.clientOrigin);return t.useBoundBearerTransport(o.thumbprint,o.persistent),{binding:{key:o,nonce:Vt()},cookieOnly:false}}function ne(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function we(e){return new TextEncoder().encode(e)}async function Ht(e){return ne(new Uint8Array(await crypto.subtle.digest("SHA-256",we(e))))}function Kt(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 qt(e){return Ht(JSON.stringify({crv:e.crv,kty:e.kty,x:e.x,y:e.y}))}function po(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 fo(){Ae.clear();}async function go(e){if(!e||typeof e!="object")return null;let t=e;if(!po(t.privateKey)||!t.publicJwk||!Kt(t.publicJwk))return null;let n=await qt(t.publicJwk);return t.thumbprint!==n?null:{privateKey:t.privateKey,publicJwk:t.publicJwk,thumbprint:n,persistent:true}}function Bt(){return typeof indexedDB>"u"?Promise.resolve(null):new Promise(e=>{let t;try{t=indexedDB.open(uo,1);}catch{e(null);return}t.onupgradeneeded=()=>{t.result.objectStoreNames.contains(ie)||t.result.createObjectStore(ie,{keyPath:"origin"});},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null);})}async function Lt(e){let t=await Bt();if(!t)return null;try{let n=await new Promise(i=>{let o=t.transaction(ie,"readonly").objectStore(ie).get(e);o.onsuccess=()=>i(o.result),o.onerror=()=>i(null);});return await go(n)}finally{t.close();}}async function mo(e,t){let n=await Bt();if(!n)return "unavailable";try{return await new Promise(i=>{let o;try{o=n.transaction(ie,"readwrite"),o.objectStore(ie).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 ho(){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},false,["sign","verify"]),t=await crypto.subtle.exportKey("jwk",e.publicKey);if(!Kt(t))throw new Error("The browser produced an invalid proof key.");return {privateKey:e.privateKey,publicJwk:t,thumbprint:await qt(t),persistent:false}}function Se(e){let t=Ae.get(e);if(t)return t;let n=(async()=>{let i=await Lt(e);if(i)return i;let o=await ho(),r=await mo(e,o);return r==="stored"?{...o,persistent:true}:r==="conflict"?await Lt(e)??o:o})();return Ae.set(e,n),n.catch(()=>Ae.delete(e)),n}function Vt(){return ne(crypto.getRandomValues(new Uint8Array(32)))}function yo(e){let t=new URL(e);return t.search="",t.hash="",t.toString()}async function jt(e){let t=ne(we(JSON.stringify({typ:ao,alg:co,jwk:e.key.publicJwk}))),n=ne(we(JSON.stringify({htm:e.method.toUpperCase(),htu:yo(e.url),iat:Math.floor(Date.now()/1e3),jti:ne(crypto.getRandomValues(new Uint8Array(16))),ath:await Ht(e.token)}))),i=`${t}.${n}`,o=await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e.key.privateKey,we(i));return `${i}.${ne(new Uint8Array(o))}`}async function bo(e){let t=await Se(e.origin);if(t.thumbprint!==e.expectedThumbprint)throw new Error("Session proof key changed.");return jt({key:t,method:e.method,url:e.url,token:e.token})}var ao,co,uo,ie,Ae,$t=Me(()=>{"use strict";ao="pop+jwt",co="ES256",uo="authowl-session-proof",ie="origin-keys",Ae=new Map;});function le(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var Xe=Me(()=>{"use strict";});var Ue={};Ot(Ue,{beginCrossSiteSignIn:()=>ns,challengeFor:()=>Pi,completeCrossSiteSignIn:()=>is,takeHandoffCode:()=>mt});function Ti(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Pi(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return Ti(new Uint8Array(t))}function Zr(){return Ti(crypto.getRandomValues(new Uint8Array(Yr)))}function Ii(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${Ri}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function es(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===Ri)return e.slice(t+1).trim()||null}return null}function ts(){Ii("",0);}function ki(e){return new URL(e,window.location.href).toString()}async function ns(e,t){let n=t.callbackURL?ki(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=Zr(),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 u of Qr){let d=t[u];d&&o.searchParams.set(u,d);}let r=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??r);for(let[u,d]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])d&&o.searchParams.set(u,ki(d));return o.searchParams.set("challenge",await Pi(i)),Ii(i,Xr),o.toString()}function mt(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(gt))return null;let n=new URLSearchParams(t.replace(/^#/,"")),i=n.get(gt);if(!i||e!==void 0&&i!==e)return null;n.delete(gt);let o=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),i}async function is(e,t,n){if(!le())return false;let i=n??mt();if(!i)return false;n&&mt(n);let o=es();if(ts(),!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 Ri,gt,Yr,Xr,Qr,Ne=Me(()=>{"use strict";Xe();Ri="authowl_handoff_verifier",gt="authowl_code",Yr=32,Xr=900,Qr=["email","providerId","domain","organizationSlug"];});var Vi=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,ji=/^sk_/i;function Fe(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(ji.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=Vi.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1].toLowerCase(),env:t[2].toLowerCase(),projectId:t[3].toLowerCase()}}var St=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function He(e,t){throw new Error(`${e}: ${t}`)}function kt(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&&St.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function Rt(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&He("apiUrl","origin required");let n;try{n=new URL(e);}catch{He("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!St.test(e))&&He("apiUrl","HTTPS required except exact loopback"),n.origin}function $(e,t){try{return e?.getItem(t)??null}catch{return null}}function G(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function Y(){try{return globalThis.localStorage}catch{return}}function W(){try{return globalThis.sessionStorage}catch{return}}var Ji="authowl.session-challenge",$i=e=>`${Ji}.${e}`,Gi="set-auth-challenge",Tt="x-authowl-challenge";var It="INVALID_TWO_FACTOR_COOKIE",Wi=2048,be=e=>e!==null&&e.length<=Wi,Pt=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function Yi(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 vt(e){let t=$i(e),n=new Map;function i(){return n.size===0?null:[...n].map(([d,l])=>`${d}=${l}`).join("; ")}function o(){let d=i();G(W(),t,be(d)?d:null);}function r(d){for(let[l,h]of Yi(d))Pt.test(l)&&(h===""?n.delete(l):Pt.test(h)&&n.set(l,h));}let u=$(W(),t);return be(u)&&r(u),{presentOn(d){let l=i();d.delete(Tt),be(l)&&d.set(Tt,l);},observe(d){let l=d.get(Gi);be(l)&&(r(l),o());},clear(){n.clear(),o();}}}var Ct="set-auth-token",Et="x-authowl-session-transport",xt="bearer";var Xi="authowl.session-token",Qi="authowl.session-binding",Zi="authowl.cookie-transport",_t="ok",zt="bearer",eo=e=>`${Xi}.${e}`,to=e=>`${Qi}.${e}`,no=e=>`${Zi}.${e}`;function io(e){return e===_t?"cookies":e===zt?"bearer":"unknown"}function oo(e){return e==="cookies"?_t:e==="bearer"?zt:null}function ro(e){let t=eo(e),n=to(e),i=no(e),o=vt(e),r=new Set;function u(A){for(let z of r)try{z(A);}catch{}}let d=null,l=null,h=null,s=false,a=null,p=io($(Y(),i)),y=()=>p==="unknown",w=0,S=null,c=false;function g(){let A=$(W(),t);if(A!==null)return s=true,A;let z=$(Y(),t);return z!==null?(s=false,z):null}function b(){return $(W(),n)??$(Y(),n)}d=g(),l=d===null?null:b(),d!==null&&y()&&(c=true);function R(){if(!(!c||!S)){c=false;try{S();}catch{}}}function v(){let A=p==="bearer"?d:null,z=A===null?null:l,[ce,wt]=s?[W(),Y()]:[Y(),W()];G(wt,t,null),G(wt,n,null),G(ce,t,A),G(ce,n,z);}function N(A){A!==null&&a!==null&&(s=a,a=null),A!==null&&h!==null?(l=h,h=null):A===null&&(l=null),d=A,v(),A!==null&&y()&&(c=true,R());}function M(A){p=A,G(Y(),i,oo(A));}function O(){M("unknown"),c=false;}function T(){return d===null&&(d=g(),l=d===null?null:b()),d}function J(){let A=g();return A!==null&&(d=A,l=b()),d}function te(A){J()===A&&v();}function bt(){w+=1,a=null,h=null,s=false,N(null),o.clear(),O(),u({type:"endSession"});}let At=()=>p!=="cookies";return {subscribeLifecycle(A){return r.add(A),()=>r.delete(A)},hasToken:()=>T()!==null,bindingThumbprint:()=>(T(),l),declareOn(A){if(A.has("authorization"))return false;let z=T();return !z&&!At()?false:(z&&A.set("authorization",`Bearer ${z}`),A.set(Et,xt),o.presentOn(A),true)},wantsToken:At,needsProbe:y,observe(A){let z=A.get(Ct);z&&N(z),o.observe(A);},dropChallenge:o.clear,measureWith(A){S=A,R();},beginRead(){let A=T(),z=w;return {carriedToken:A!==null,endIfDead(){A!==null&&J()===A&&w===z&&bt();},recordCookieVerdict(ce){if(w===z&&y()){if(M(ce?"cookies":"bearer"),ce){N(null);return}te(A);}}}},beginSession({remember:A}){w+=1,a=!A,o.clear(),O(),u({type:"beginSession",remember:A});},useCookieTransport(){T()===null&&(h=null,M("cookies"));},completeCookieTransport(){M("cookies"),N(null);},useBoundBearerTransport(A,z){if(!A)throw new Error("A session proof thumbprint is required.");h=A,z||(a=true),M("bearer");},endSession:bt}}var Dt=new Map;function Ut(e){let t=Dt.get(e);if(t)return t;let n=ro(e);return Dt.set(e,n),n}var so=Symbol.for("authowl.session-transport-integration.v1");function Nt(e){return e?e[so]??null:null}var Ke="x-authowl-session-proof",Gt="x-authowl-session-binding",Wt="x-authowl-session-binding-proof",ke=()=>Promise.resolve().then(()=>($t(),Jt));function Ao(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function Yt(e,t){let n=Ut(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,u=false,d=()=>new Headers({"x-publishable-key":e.publishableKey});async function l(p){let y=p.get("authorization");y&&await ke().then(w=>w.abandonSession(i,`${e.projectBaseURL}/session/abandon`,d(),y));}async function h(p){r=null,u=false;let y=await ke().then(w=>w.prepareSenderConstrainedSession({tokens:n,start:p,clientOrigin:o,fetcher:i,projectBaseURL:e.projectBaseURL,headers:d()}));r=y.binding,u=y.cookieOnly;}return {fetch:async(p,y)=>{if(y?.credentials==="omit"||!n.wantsToken())return i(p,y);let w=Ao(p,y),S=n.declareOn(w),c=w.get("authorization"),g=(y?.method??(typeof p=="object"&&p!==null&&"method"in p?p.method:"GET")).toUpperCase(),b=typeof p=="string"?p:p instanceof URL?p.toString():p.url;if(S&&o){let v=!!c;if(c){let N=c.replace(/^Bearer\s+/i,""),M=n.bindingThumbprint();if(M)try{w.set(Ke,await ke().then(O=>O.createStoredSessionProof({origin:o,expectedThumbprint:M,method:g,url:b,token:N})));}catch{await l(w),n.endSession(),w.delete("authorization"),w.delete(Ke),w.delete(Gt),w.delete(Wt),v=false;}}if(r){let N=r;w.set(Gt,N.nonce),w.set(v?Wt:Ke,await ke().then(M=>M.createSessionProof({key:N.key,method:g,url:b,token:N.nonce})));}}let R=await i(p,{...y,headers:w});return S&&(R.status===401&&c&&(new URL(b).pathname.endsWith("/get-session")||new URL(b).pathname.endsWith("/sign-out"))?(await l(w),n.endSession(),r=null,u=false):(n.observe(R.headers),R.headers.has("set-auth-token")&&(u&&n.completeCookieTransport(),r=null,u=false))),R},probe:i,tokens:n,integration:Nt(t),prepareSession:h}}function wo(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Fe(e.publishableKey),n=Rt(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function qe(e){let t=wo(e),{fetch:n,...i}=Yt({projectId:t.decoded.projectId,projectBaseURL:t.projectBaseURL,publishableKey:t.publishableKey},e.fetch);return {...e,...t,fetch:n,session:i}}var Oo=1e4,So=1024*1024,U=class extends Error{kind;requestId;constructor(t,n){super(Eo(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},Zt=new WeakSet;function L(e,t){let n=new U(e,t);return Zt.add(n),n}async function en({fetchImpl:e,url:t,init:n={},timeoutMs:i=Oo,maxResponseBytes:o=So,allowHttpLoopback:r=false,decode:u}){Qt(i,"timeoutMs"),Qt(o,"maxResponseBytes");let d=kt(t,{allowHttpLoopback:r}),l=n.signal,h=new AbortController,s=null,a,p=new Promise(c=>{a=c;}),y=c=>{s===null&&(s=c,a({type:"abort",kind:c}),h.abort());},w=()=>y("aborted");l?.addEventListener("abort",w,{once:true});let S=setTimeout(()=>y("timeout"),i);l?.aborted&&w();try{if(s!==null)throw L(s);let c;try{c=await Promise.race([e(d.toString(),{...n,redirect:"error",signal:h.signal}).then(M=>({type:"response",response:M})),p]);}catch{throw L(s??"network")}if(c.type==="abort")throw L(c.kind);if(!ko(c.response))throw L("invalid_response");let g=c.response,b=Co(g.headers),R=await Ro(g,o,p,()=>s,b),v=Io(g,R,b),N;try{N=g.ok&&u?u(v,Object.freeze({status:g.status})):v;}catch{throw L("invalid_response",b)}return {response:g,data:N,...b===void 0?{}:{requestId:b}}}catch(c){throw c instanceof U&&Zt.has(c)?c:L(s??"network")}finally{clearTimeout(S),l?.removeEventListener("abort",w);}}function ko(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 Ro(e,t,n,i,o){let r=e.headers.get("content-length");if(r!==null){if(!/^\d+$/.test(r))throw Xt(e.body),L("invalid_response",o);if(Number(r)>t)throw Xt(e.body),L("response_too_large",o)}if(!e.body)return "";let u;try{u=e.body.getReader();}catch{throw L("network",o)}let d=[],l=0,h=null;try{for(;;){let p;try{p=await Promise.race([u.read(),n]);}catch{h=L(i()??"network",o);break}if(To(p)){h=L(p.kind,o);break}let{done:y,value:w}=p;if(y)break;if(w.byteLength!==0){if(l+=w.byteLength,l>t){h=L("response_too_large",o);break}d.push(w);}}}finally{h&&Po(u);try{u.releaseLock();}catch{}}if(h)throw h;let s=new Uint8Array(l),a=0;for(let p of d)s.set(p,a),a+=p.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(s)}catch{throw L("invalid_response",o)}}function To(e){return "type"in e&&e.type==="abort"}function Xt(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Po(e){try{e.cancel().catch(()=>{});}catch{}}function Io(e,t,n){if(e.status===204||e.status===205)return null;let i=vo(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw L("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw L("invalid_response",n)}}function vo(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Co(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function Qt(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Eo(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 Be=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 Re(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),en({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 tn(e,t){if(!e.response.ok)throw new Be(t,e.response,e.requestId);return e.data}var xo=new Map;function nn(e){return typeof window>"u"?null:xo.get(e)?.at(-1)?.locale??null}var Do="x-authowl-turnstile-token",_o="x-authowl-locale",zo=1e4,Uo=32,No=2e4;function X(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 $e(e,t=e.projectBaseURL){return {async request(n,i={}){let o=Fo(t,n,i.query),r=i.method??(i.body===void 0?"GET":"POST"),u=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&u.set(Do,i.fetchOptions.authChallengeToken);let d=nn(e.decoded.projectId);d&&u.set(_o,d),i.body!==void 0&&u.set("content-type","application/json");let l={method:r,headers:u,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=Mo(r,i.fetchOptions),a;try{a=await Lo(e,o,{...l,signal:i.fetchOptions?.signal},s);}catch(g){let b=rn(g);return await i.fetchOptions?.onError?.(Ve(h,b,qo(g))),{data:null,error:b}}let{response:p,requestId:y}=a,w=jo(n,a.data),S=w;if(p.ok)try{S=Je(w),i.decode&&(S=i.decode(S));}catch{let g=rn(new U("invalid_response",y));return await i.fetchOptions?.onError?.(Ve(h,g,"invalid_response")),{data:null,error:g}}let c=Object.freeze({...h,status:p.status,...y===void 0?{}:{requestId:y}});if(await i.fetchOptions?.onResponse?.(c),!p.ok){let g=Ho(p,w,y);return g.code===It&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(Ve(h,g,"api")),{data:null,error:g}}return await i.fetchOptions?.onSuccess?.(c),{data:S,error:null}}}}async function Lo(e,t,n,i){let o=Date.now()+zo;for(let r=0;r<i;r+=1){let u=o-Date.now();if(u<=0)throw new U("timeout");try{let d=await Re(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(u))});if(d.response.status<500||r===i-1)return d}catch(d){if(r===i-1||!(d instanceof U)||d.kind!=="network")throw d}await Bo(50*2**r,n.signal,o);}throw new U("network")}function Mo(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 Fo(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 Ho(e,t,n){let i=ue(t)?t:{},o=Ko(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 Ko(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??on(t.get("retry-after"))??on(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function on(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 rn(e){let t=e instanceof U?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 U&&e.requestId?{requestId:e.requestId}:{}}}function Ve(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function qo(e){return e instanceof U?e.kind:"network"}function Bo(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new U("aborted"));return}let r=n-Date.now();if(r<=0){o(new U("timeout"));return}let u=Math.min(e,r),d=()=>{clearTimeout(l),o(new U("aborted"));},l=setTimeout(()=>{t?.removeEventListener("abort",d),Date.now()>=n?o(new U("timeout")):i();},u);t?.addEventListener("abort",d,{once:true}),t?.aborted&&d();})}function Je(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Uo||i.nodes>No)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=>Je(o,"",n+1,i)):ue(e)?Object.fromEntries(Object.entries(e).map(([o,r])=>[o,Vo(o)?r:Je(r,o,n+1,i)])):e}function Vo(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function jo(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>ue(o)?je(o):o);if(!ue(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-")?je(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")&&ue(i.session)&&(i={...i,session:je(i.session)}),i}function je(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function ue(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var Jo=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 k(e){return typeof e!="string"&&f(),e}function C(e){return typeof e!="boolean"&&f(),e}function P(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&f(),e}function Q(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&f(),[...e]}function E(e,t){let n=e[t];return n==null||typeof n=="string"?n:f()}function sn(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:f()}function H(e){let t=m(e),n=t.email;return n!==null&&typeof n!="string"&&f(),{id:k(t.id),email:n,emailVerified:C(t.emailVerified),createdAt:P(t.createdAt),updatedAt:P(t.updatedAt),...F("phoneNumber",E(t,"phoneNumber")),...F("username",E(t,"username")),...F("displayUsername",E(t,"displayUsername")),...F("firstName",E(t,"firstName")),...F("lastName",E(t,"lastName")),...F("name",E(t,"name")),...F("image",E(t,"image")),...F("twoFactorEnabled",sn(t,"twoFactorEnabled"))}}function Te(e){let t=m(e),n=t.membership;return {id:k(t.id),userId:k(t.userId),expiresAt:P(t.expiresAt),...F("activeOrganizationId",E(t,"activeOrganizationId")),...F("activeTeamId",E(t,"activeTeamId")),...F("membership",n==null?n:$o(n)),...F("pendingMfaEnrollment",sn(t,"pendingMfaEnrollment"))}}function f(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function q(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&f(),We(e,t,n)}function We(e,t=20,n=1e4){return Ge(e,0,{nodes:0},t,n)}function $o(e){let t=m(e);return {role:k(t.role),...t.roles===void 0?{}:{roles:Q(t.roles)},permissions:Q(t.permissions),...t.teams===void 0?{}:{teams:Q(t.teams)}}}function Ge(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(d=>Ge(d,t+1,n,i,o));(!e||typeof e!="object")&&f();let r=Object.getPrototypeOf(e);r!==Object.prototype&&r!==null&&f();let u={};for(let[d,l]of Object.entries(e))Jo.has(d)&&f(),u[d]=Ge(l,t+1,n,i,o);return u}function F(e,t){return t===void 0?{}:{[e]:t}}function an({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,r=null,u=null,d=null,l=null,h=null,s=null,a,p=O=>{S(O);};a={data:null,isPending:true,isRefetching:false,error:null,refetch:p};function y(O){a=O;for(let T of o)T();}async function w(O){return e.request("/get-session",{query:O?.query,decode:Ye})}function S(O){if(O?.query?.disableCookieCache===true)return g(O);if(l)return l;if(h)return h;let T=g(O).finally(()=>{h===T&&(h=null);});return h=T,T}function c(){if(l)return l;let O=g({query:{disableCookieCache:true}}).finally(()=>{l===O&&(l=null);});return l=O,O}async function g(O){d?.abort();let T=new AbortController;d=T,y({...a,isPending:a.data===null&&a.error===null,isRefetching:a.data!==null});let J=n.beginRead(),te=await e.request("/get-session",{query:O?.query,fetchOptions:{signal:T.signal},decode:Ye});if(d===T&&(d=null,y({data:te.data,error:te.error,isPending:false,isRefetching:false,refetch:p}),te.error===null)){if(te.data===null){J.endIfDead();return}await b(J);}}async function b(O){if(n.needsProbe()){if(!O.carriedToken){O.recordCookieVerdict(true);return}return s||R(O)}}function R(O){let T=t.request("/get-session",{query:{disableCookieCache:true},decode:Ye}).then(J=>{s===T&&J.error===null&&O.recordCookieVerdict(J.data!==null);}).finally(()=>{s===T&&(s=null);});return s=T,T}function v(){r?.postMessage({type:"session-changed"});}function N(){if(typeof window>"u"||u)return;let O=()=>{S();},T=()=>{document.visibilityState==="visible"&&S();};window.addEventListener("focus",O),document.addEventListener("visibilitychange",T),typeof BroadcastChannel<"u"&&(r=new BroadcastChannel(i),r.addEventListener("message",O)),u=()=>{window.removeEventListener("focus",O),document.removeEventListener("visibilitychange",T),r?.close(),r=null,u=null;};}function M(O){return o.add(O),o.size===1&&(N(),S()),()=>{if(o.delete(O),o.size===0){let T=d;d=null,h=null,l=null,T?.abort(),u?.();}}}return n.measureWith(()=>{n.needsProbe()&&R(n.beginRead());}),{store:{subscribe:M,getSnapshot:()=>a,refresh:c},getSession:w,notifyMutation(){v(),s&&s.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&v();}),o.size>0&&S({query:{disableCookieCache:true}});}}}function Ye(e){if(e===null)return null;let t=m(e);return (t.session===void 0||t.user===void 0)&&f(),{session:Te(t.session),user:H(t.user)}}Xe();function Z(){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 cn(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:ln})}async function un(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:ln})}function ln(e){let t=m(e),n=q(t.public_metadata),i=q(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 pn(e,t){let{post:n,mutation:i}=X(e,t);return {getMetadata:o=>cn(e,o),updateUnsafeMetadata:(o,r)=>un(e,o,r),updateProfile:(o,r)=>i(n("/update-user",o,r,de)),changeEmail:(o,r)=>i(n("/change-email",o,r,de)),changePassword:(o,r)=>i(n("/change-password",o,r,Go)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:Wo}),revokeSession:({sessionId:o},r)=>i(n("/revoke-session",{sessionId:o},r,de)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,de)),listSocialAccounts:async o=>{let r=await e.request("/list-accounts",{fetchOptions:o,decode:Yo});if(!r.data)return {data:null,error:r.error};let u=r.data.length>1;return {...r,data:r.data.filter(d=>d.providerId!=="credential").map(d=>({...d,canUnlink:u}))}},linkSocial:(o,r)=>n("/link-social",o,r,Xo),unlinkSocial:(o,r)=>i(n("/unlink-account",o,r,de)),delete:(o={},r)=>i(n("/delete-user",o,r,Qo))}}function de(e){let t=m(e);return {status:C(t.status)}}function Go(e){let t=m(e);return {user:H(t.user)}}function Wo(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:k(n.id),userId:k(n.userId),createdAt:P(n.createdAt),updatedAt:P(n.updatedAt),expiresAt:P(n.expiresAt),...dn("ipAddress",E(n,"ipAddress")),...dn("userAgent",E(n,"userAgent"))}})}function Yo(e){return Array.isArray(e)||f(),e.map(t=>{let n=m(t);return {id:k(n.id),userId:k(n.userId),providerId:k(n.providerId),accountId:k(n.accountId),scopes:Q(n.scopes),createdAt:P(n.createdAt),updatedAt:P(n.updatedAt)}})}function Xo(e){let t=m(e);return {url:k(t.url),redirect:C(t.redirect)}}function Qo(e){let t=m(e);return {success:C(t.success),message:k(t.message)}}function dn(e,t){return t===void 0?{}:{[e]:t}}function Qe(e,t){return !e||!t?false:e.permissions.includes(t)}function Zo(e,t){return !e||!t?false:e.teams?.includes(t)??false}function er(e,t){return e?e.roles===void 0?e.role===t:e.roles.includes(t):false}function Ze(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&&!er(e,n)||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!Zo(e,o))}function tr(e){return {has:t=>Ze(e,t),hasPermission:t=>Qe(e,t.permission)}}var nr=new Set(["pending","accepted","rejected","canceled"]),et=1e4;function fn(e){let t=m(e);return t.recipientHint!==null&&t.recipientHint!=="new_user"&&f(),{recipientHint:t.recipientHint}}function oe(e,t,n){let i=m(e),o={id:I(i.id),name:I(i.name),slug:I(i.slug),createdAt:P(i.createdAt),...pe("logo",E(i,"logo")),...pe("metadata",i.metadata===void 0?void 0:We(i.metadata))};return K(o.id,t),K(o.slug,n),o}function gn(e){return B(e,oe)}function tt(e,t,n){return e===null?null:(t===null&&f(),oe(e,t,n))}function mn(e,t,n){if(e===null)return null;let i=m(e),o=oe(i,t,n);return {...o,members:B(i.members,r=>In(r,o.id)),invitations:B(i.invitations,r=>V(r,void 0,o.id))}}function nt(e,t,n=false){let i=B(e,o=>fe(o));return n||me(i.map(o=>o.organizationId),t),i}function hn(e,t){let n=B(e,i=>it(i));return me(n.map(i=>i.teamId),t),n}function it(e,t,n){let i=m(e),o={id:I(i.id),teamId:I(i.teamId),userId:I(i.userId),createdAt:P(i.createdAt)};return K(o.teamId,t),K(o.userId,n),o}function yn(e,t,n){return e===null?null:(t===null&&f(),fe(e,t,n))}function bn(e,t){let n=m(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&f(),{members:ir(n.members,t),total:n.total}}function V(e,t,n){let i=m(e),o=I(i.status);nr.has(o)||f();let r={id:I(i.id),organizationId:I(i.organizationId),email:ge(i.email),role:I(i.role),status:o,inviterId:I(i.inviterId),expiresAt:P(i.expiresAt),createdAt:P(i.createdAt)};return K(r.id,t),K(r.organizationId,n),r}function An(e,t){let n=B(e,i=>V(i));return me(n.map(i=>i.organizationId),t),n}function wn(e){return B(e,t=>{let n=m(t);return {...V(n),organizationName:ge(n.organizationName)}})}function On(e,t){let n=m(e);return {...V(n,t),organizationName:I(n.organizationName),organizationSlug:I(n.organizationSlug),inviterEmail:vn(n.inviterEmail)}}function Sn(e,t){let n=m(e),i=V(n.invitation,t);return {invitation:i,member:re(n.member,void 0,i.organizationId)}}function kn(e,t){let n=m(e);return n.member!==null&&f(),{invitation:n.invitation===null?null:V(n.invitation,t),member:null}}function Rn(e,t){return e===null?null:V(e,t)}function Tn(e,t,n){let i=m(e);return {member:re(i.member,n,t)}}function re(e,t,n){let i=m(e),o={id:I(i.id),organizationId:I(i.organizationId),userId:I(i.userId),role:I(i.role),createdAt:P(i.createdAt),...i.user===void 0?{}:{user:Cn(i.user)}};return K(o.id,t),K(o.organizationId,n),o}function Pn(e,t){let n=B(e,i=>{let o=m(i);return {organizationId:I(o.organizationId),data:{role:I(o.role),...pe("permission",o.permission===void 0?void 0:or(o.permission)),...pe("customPermissionKeys",o.customPermissionKeys===void 0?void 0:Q(o.customPermissionKeys))}}});return me(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function fe(e,t,n){let i=m(e),o=i.updatedAt,r={id:I(i.id),name:ge(i.name),organizationId:I(i.organizationId),createdAt:P(i.createdAt),...o===void 0?{}:{updatedAt:P(o)}};return K(r.id,t),K(r.organizationId,n),r}function ot(e){let t=m(e);return {message:ge(t.message)}}function In(e,t){let n=m(e);return {...re(n,void 0,t),user:Cn(n.user)}}function ir(e,t){let n=B(e,i=>In(i));return me(n.map(i=>i.organizationId),t),n}function or(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>et||!Array.isArray(o))&&f(),n[i]=o.map(r=>I(r));return n}function I(e){let t=k(e);return (t.length===0||t.length>et)&&f(),t}function ge(e){if(e==null)return "";let t=k(e);return t.length>et&&f(),t}function vn(e){return e===null?null:I(e)}function K(e,t){t!==void 0&&e!==t&&f();}function me(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&f();}function Cn(e){let t=m(e);return {id:I(t.id),name:ge(t.name),email:vn(t.email),...pe("image",E(t,"image"))}}function B(e,t){return Array.isArray(e)||f(),e.map(n=>t(n))}function pe(e,t){return t===void 0?{}:{[e]:t}}function En(e,t,n=()=>null){let{post:i,mutation:o}=X(e,t),r=new Set,u=()=>{for(let s of r)try{s();}catch{}},d=new Map,l=(s,a,p,y)=>{if(p)return e.request(s,{query:a,fetchOptions:p,decode:y});let w=`${s}\0${JSON.stringify(a??null)}`,S=d.get(w);if(S)return S;let c=e.request(s,{query:a,decode:y}).finally(()=>{d.delete(w);});return d.set(w,c),c},h=async s=>{let a=await o(s).finally(()=>d.clear());return a.error===null&&u(),a};return {subscribe(s){return r.add(s),()=>r.delete(s)},create:(s,a)=>h(i("/organization/create",s,a,oe)),list:s=>l("/organization/list",void 0,s,gn),get:(s={},a)=>l("/organization/get-full-organization",{organizationId:s.organizationId,organizationSlug:s.organizationSlug,membersLimit:s.membersLimit},a,p=>mn(p,s.organizationId,s.organizationSlug)),setActive:(s,a)=>h(i("/organization/set-active",s,a,p=>tt(p,s.organizationId,s.organizationSlug))),createTeam:(s,a)=>h(i("/organization/create-team",s,a,p=>fe(p,void 0,s.organizationId))),listTeams:(s={},a)=>l("/organization/list-teams",{organizationId:s.organizationId},a,p=>nt(p,s.organizationId)),updateTeam:(s,a)=>h(i("/organization/update-team",s,a,p=>fe(p,s.teamId,s.data.organizationId))),removeTeam:(s,a)=>h(i("/organization/remove-team",s,a,ot)),listUserTeams:s=>l("/organization/list-user-teams",void 0,s,a=>nt(a,void 0,true)),listTeamMembers:(s={},a)=>l("/organization/list-team-members",{teamId:s.teamId},a,p=>hn(p,s.teamId)),addTeamMember:(s,a)=>h(i("/organization/add-team-member",s,a,p=>it(p,s.teamId,s.userId))),removeTeamMember:(s,a)=>h(i("/organization/remove-team-member",s,a,ot)),setActiveTeam:(s,a)=>h(i("/organization/set-active-team",s,a,p=>yn(p,s.teamId))),update:(s,a)=>h(i("/organization/update",s,a,p=>tt(p,s.organizationId))),delete:(s,a)=>h(i("/organization/delete",s,a,p=>oe(p,s.organizationId))),listMembers:(s={},a)=>l("/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},a,p=>bn(p,s.organizationId)),inviteMember:(s,a)=>h(i("/organization/invite-member",s,a,p=>V(p,void 0,s.organizationId))),listInvitations:(s={},a)=>l("/organization/list-invitations",{organizationId:s.organizationId},a,p=>An(p,s.organizationId)),listUserInvitations:s=>l("/organization/list-user-invitations",void 0,s,wn),getInvitation:(s,a)=>l("/organization/get-invitation",{id:s.id},a,p=>On(p,s.id)),getInvitationRecipientHint:(s,a)=>l("/organization/invitation-recipient-hint",{invitationId:s.invitationId},a,fn),acceptInvitation:(s,a)=>h(i("/organization/accept-invitation",s,a,p=>Sn(p,s.invitationId))),rejectInvitation:(s,a)=>h(i("/organization/reject-invitation",s,a,p=>kn(p,s.invitationId))),cancelInvitation:(s,a)=>h(i("/organization/cancel-invitation",s,a,p=>Rn(p,s.invitationId))),removeMember:(s,a)=>h(i("/organization/remove-member",s,a,p=>Tn(p,s.organizationId,s.memberIdOrEmail.includes("@")?void 0:s.memberIdOrEmail))),updateMemberRole:(s,a)=>h(i("/organization/update-member-role",s,a,p=>re(p,s.memberId,s.organizationId))),leave:(s,a)=>h(i("/organization/leave",s,a,p=>re(p,void 0,s.organizationId))),listRoles:(s={},a)=>l("/organization/list-roles",{organizationId:s.organizationId},a,p=>Pn(p,s.organizationId)),has:s=>Ze(n(),s),hasPermission:s=>Qe(n(),s.permission)}}function xn(e){return {listConsentPreferences:t=>e.request("/privacy/consent-decisions",{fetchOptions:t,decode:rr}),recordConsent:(t,n)=>e.request("/privacy/consent-decisions",{method:"POST",body:{...t,correlationId:t.correlationId??Z()},fetchOptions:n,decode:ar}),listRightsRequests:t=>e.request("/privacy/rights",{fetchOptions:t,decode:cr}),createRightsRequest:(t,n)=>e.request("/privacy/rights",{method:"POST",body:t,fetchOptions:n,decode:ur})}}function rr(e){let t=m(e);return Array.isArray(t.preferences)||f(),{preferences:t.preferences.map(sr)}}function sr(e){let t=m(e);return {purposeId:k(t.purposeId),purposeVersionId:k(t.purposeVersionId),code:k(t.code),state:lr(t.state,["granted","refused","withdrawn"]),updatedAt:Pe(t.updatedAt),decidedAt:Pe(t.decidedAt)}}function ar(e){let t=m(e);return t.recorded!==true&&f(),{recorded:true,decision:he(t.decision,["granted","refused","withdrawn"]),decidedAt:Ie(t.decidedAt)}}function cr(e){let t=m(e);return Array.isArray(t.requests)||f(),{requests:t.requests.map(Dn)}}function ur(e){return {request:Dn(m(e).request)}}function Dn(e){let t=m(e);return {id:k(t.id),rightType:he(t.rightType,["access","correction","portability","erasure","restriction","objection","consent_withdrawal"]),state:he(t.state,["received","identity_pending","in_progress","restricted","completed","denied","withdrawn"]),locale:he(t.locale,["en","ar"]),receivedAt:Ie(t.receivedAt),acknowledgedAt:Pe(t.acknowledgedAt),fulfilmentDeadline:Ie(t.fulfilmentDeadline),completedAt:Pe(t.completedAt)}}function Pe(e){return e===null?null:Ie(e)}function Ie(e){if(e instanceof Date)return P(e);typeof e!="string"&&f();let t=new Date(e);return Number.isNaN(t.getTime())&&f(),t}function he(e,t){return (typeof e!="string"||!t.includes(e))&&f(),e}function lr(e,t){return e===null?null:he(e,t)}var _n=4096,dr=4096,pr=100,fr=256,gr=16,mr=64,hr=12;function st(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:Xn(t.twoFactorMethods,gr,mr)}}):(t.twoFactorRedirect!==void 0&&f(),{redirect:C(t.redirect),...Or(t,"url"),user:H(t.user)})}function zn(e){let t=m(e);return {user:H(t.user)}}function Un(e){let t=m(e);return {sessionCreated:C(t.sessionCreated),user:H(t.user)}}function Nn(e,t){let n=m(e),i=C(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:rt(n.url,t)}):(o===r&&f(),o?{redirect:false,user:H(n.user)}:{redirect:false,url:rt(n.url,t)})}function Ln(e,t){let n=m(e);return (n.redirect!==true||n.user!==void 0)&&f(),{redirect:true,url:rt(n.url,t)}}function Mn(e){return {status:C(m(e).status)}}function Fn(e){return {success:C(m(e).success)}}function Hn(e){return m(e).status!=="pending"&&f(),{status:"pending"}}function Kn(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:k(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:k(t.connectionId),challenge:k(t.challenge),difficulty:yr(t.difficulty),challengeToken:k(t.challengeToken),challengeRequired:C(t.challengeRequired),turnstile:{required:C(n.required),siteKey:i}}}function yr(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>hr)&&f(),Number(e)}function qn(e){let t=m(e);return (t.status!==true||t.sessionCreated!==true)&&f(),{status:true,sessionCreated:true,user:br(t.user)}}function at(e){return {status:C(m(e).status)}}function Bn(e){return {status:C(m(e).status)}}function Vn(e){let t=m(e);return {status:C(t.status),user:H(t.user)}}function jn(e){return {success:C(m(e).success)}}function Jn(e){let t=m(e);return {totpURI:wr(t.totpURI),backupCodes:Yn(t.backupCodes)}}function $n(e){return {status:C(m(e).status)}}function ve(e){return m(e).status!==true&&f(),{status:true}}function Gn(e){return {status:C(m(e).status)}}function Wn(e){let t=m(e);return t.status!==void 0&&t.status!==true&&f(),{backupCodes:Yn(t.backupCodes)}}function br(e){let t=m(e);return {id:se(t.id,512),...Sr(t,"name",1024),phoneNumber:se(t.phoneNumber,64),phoneNumberVerified:C(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:P(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:P(t.updatedAt)}}}function rt(e,t){let n=se(e,_n);/[\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:"&&Ar(i.hostname)?i.href:f()}function Ar(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function wr(e){let t=se(e,dr),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 Yn(e){return Xn(e,pr,fr)}function Xn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&f();let i=e.map(o=>se(o,n));return i.some(o=>o.trim().length===0)&&f(),new Set(i).size!==i.length&&f(),i}function se(e,t){let n=k(e);return (n.length===0||n.length>t)&&f(),n}function Or(e,t){let n=e[t];return n==null?{}:{[t]:se(n,_n)}}function Sr(e,t,n){let i=E(e,t);return i===void 0?{}:(i!==null&&i.length>n&&f(),{[t]:i})}var Qn=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),Ce=new Set([9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279]);function Ee(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let i=n.codePointAt(0);if(i===void 0||ei(n,i)||Zn(i)||Qn.has(i))return {valid:false}}let t=kr(e);return ct(t)?{valid:true,value:t}:{valid:false}}function ct(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||ei(o,r)||Zn(r)||Qn.has(r))return false;n??=r,i=r;}return t>0&&n!==void 0&&i!==void 0&&!Ce.has(n)&&!Ce.has(i)}function xe(){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 kr(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!Ce.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,u=e.codePointAt(r);if(u===void 0||!Ce.has(u))break;n=r;}return e.slice(t,n)}function Zn(e){return e>=0&&e<=31||e>=127&&e<=159}function ei(e,t){return e.length===1&&t>=55296&&t<=57343}var ii=12,oi=5e3,Rr=8,Tr=1e3,Pr=16,ti=512,ri=100,si=8192,Ir=32768,ut=1024,ni=256,dt=64,vr=6e5,Cr=/^[A-Za-z0-9_-]+$/u,Er=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,xr=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Dr=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,_r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,ai=new Set(["discouraged","preferred","required"]),zr=new Set(["singleDevice","multiDevice"]),ci=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),ui=new Set(["hybrid","security-key","client-device"]),Ur=new Set(["none","indirect","direct","enterprise"]),Nr=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Lr=new Set(["platform","cross-platform"]),Mr=new Set(["discouraged","preferred","required"]),Fr=new Set([-8,-7,-257]);function li(e){let t=q(e,ii,oi);return {challenge:wi(t.challenge),...D("timeout",bi(t.timeout)),...D("rpId",Oi(t.rpId)),...D("allowCredentials",yi(t.allowCredentials)),...D("userVerification",ye(t.userVerification,ai)),...D("hints",De(t.hints,ui)),...D("extensions",Ai(t.extensions))}}function di(e){let t=q(e,ii,oi);return {challenge:wi(t.challenge),rp:Hr(t.rp),user:Kr(t.user),pubKeyCredParams:qr(t.pubKeyCredParams),...D("timeout",bi(t.timeout)),...D("excludeCredentials",yi(t.excludeCredentials)),...D("authenticatorSelection",Br(t.authenticatorSelection)),...D("attestation",ye(t.attestation,Ur)),...D("attestationFormats",De(t.attestationFormats,Nr)),...D("hints",De(t.hints,ui)),...D("extensions",Ai(t.extensions))}}function pi(e){let t=m(e),n=Te(t.session),i=H(t.user);return n.userId!==i.id&&f(),{session:n,user:i}}function pt(e){let t=m(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&f();let i=ft(t.deviceType,zr),o=C(t.backedUp);return o&&i!=="multiDevice"&&f(),{id:ae(t.id,ni),...Jr(t),publicKey:Vr(t.publicKey,Ir),userId:ae(t.userId,ni),credentialID:ze(t.credentialID,si),counter:n,deviceType:i,backedUp:o,...$r(t),createdAt:P(t.createdAt),...Gr(t)}}function fi(e,t,n){let i=pt(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&f(),i}function gi(e){(!Array.isArray(e)||e.length>ri)&&f();let t=e.map(pt);return _e(t.map(n=>n.id)),_e(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&f(),t}function mi(e,t,n){let i=m(e),o=pt(i.passkey);return (o.id!==t||o.name!==n)&&f(),{passkey:o}}function hi(e){return m(e).status!==true&&f(),{status:true}}function Hr(e){let t=m(e);return {name:lt(t.name,ut),...D("id",Oi(t.id))}}function Kr(e){let t=m(e);return {id:ze(t.id,128,1,64),name:lt(t.name,ut),displayName:lt(t.displayName,ut)}}function qr(e){(!Array.isArray(e)||e.length===0||e.length>dt)&&f();let t=e.map(n=>{let i=m(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Fr.has(i.alg))&&f(),{type:"public-key",alg:i.alg}});return Wr(t.map(n=>n.alg)),t}function yi(e){if(e===void 0)return;(!Array.isArray(e)||e.length>ri)&&f();let t=e.map(n=>{let i=m(n);return i.type!=="public-key"&&f(),{type:"public-key",id:ze(i.id,si),...D("transports",De(i.transports,ci))}});return _e(t.map(n=>n.id)),t}function Br(e){if(e===void 0)return;let t=m(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&f();let n=ye(t.residentKey,Mr);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&f(),{...D("authenticatorAttachment",ye(t.authenticatorAttachment,Lr)),...D("residentKey",n),...D("requireResidentKey",t.requireResidentKey),...D("userVerification",ye(t.userVerification,ai))}}function bi(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>vr)&&f(),e}function Ai(e){return e===void 0?void 0:q(e,Rr,Tr)}function De(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>dt)&&f();let n=e.map(i=>ft(i,t));return _e(n),n}function ye(e,t){if(e!==void 0)return ft(e,t)}function wi(e){return ze(e,Math.ceil(ti*4/3),Pr,ti)}function ze(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=ae(e,t),r=o.length%4,u=jr(o.at(-1)??""),d=Math.floor(o.length*3/4);return (!Cr.test(o)||r===1||r===2&&(u&15)!==0||r===3&&(u&3)!==0||d<n||d>i)&&f(),o}function ae(e,t){let n=k(e);return (n.length===0||n.length>t)&&f(),n}function lt(e,t){let n=ae(e,t);return xr.test(n)&&f(),n}function Oi(e){if(e===void 0)return;let t=ae(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Dr.test(n)))&&f(),t}function Vr(e,t){let n=ae(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),r=n.at(i?-3:o?-2:-1)??"",u=Si(r);return (n.length%4!==0||!Er.test(n)||i&&(u&15)!==0||o&&(u&3)!==0)&&f(),n}function jr(e){return Si(e,true)}function Si(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function Jr(e){let t=E(e,"name");return t===void 0?{}:(t!==null&&!ct(t)&&f(),{name:t})}function $r(e){let t=E(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>dt||n.some(i=>!ci.has(i))||new Set(n).size!==n.length)&&f(),{transports:t}}function Gr(e){let t=E(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(_r.test(t)||f(),{aaguid:t})}function ft(e,t){let n=k(e);return t.has(n)||f(),n}function D(e,t){return t===void 0?{}:{[e]:t}}function _e(e){new Set(e).size!==e.length&&f();}function Wr(e){new Set(e).size!==e.length&&f();}function os(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 vi=new Map;function rs(e,t,n){let i=vi.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=Promise.resolve().then(()=>(Ne(),Ue)).then(r=>r.completeCrossSiteSignIn(e,t,o)),vi.set(n,i);}return i}function Ci(e){return !le()||e.idToken||e.disableRedirect?"legacy":"first-party"}function ss(e,t=()=>{},n=us){let i=$e(e),o=e.session.tokens,r=le()?rs(i,e.session,e.decoded.projectId):void 0,u=os(i,r),d=an({http:u,probe:$e({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`});e.session.integration?.connect({authenticatedFetch:e.fetch,sessionStore:d.store,subscribeLifecycle:c=>o.subscribeLifecycle(c)});let l=()=>{d.notifyMutation(),t();},h=async()=>{await e.session.integration?.sessionEstablished(),l();},s=n(u,h),{post:a,mutation:p}=X(u,l),{mutation:y}=X(u,h),w=e.decoded.env==="test",S=c=>e.session.prepareSession({remember:c?.rememberMe!==false});return {sessionStore:d.store,getSession:d.getSession,account:pn(u,l),organization:En(u,l,()=>d.store.getSnapshot().data?.session.membership??null),privacy:xn(u),signIn:{email:async(c,g)=>(await S(c),y(a("/sign-in/email",c,g,st),b=>!("twoFactorRedirect"in b))),username:async(c,g)=>(await S(c),y(a("/sign-in/username",c,g,st),b=>!("twoFactorRedirect"in b))),social:async(c,g)=>{if(await S(),Ci(c)==="first-party"){let{beginCrossSiteSignIn:R}=await Promise.resolve().then(()=>(Ne(),Ue)),v=await R(e,{kind:"social",provider:c.provider,callbackURL:c.callbackURL,errorCallbackURL:c.errorCallbackURL,newUserCallbackURL:c.newUserCallbackURL,scopes:c.scopes,loginHint:c.loginHint,requestSignUp:c.requestSignUp});if(v)return window.location.assign(v),{data:{redirect:true,url:v},error:null}}let b=await y(a("/sign-in/social",c,g,R=>Nn(R,w)),R=>"user"in R);return b.error!==null||b.data===null||"url"in b.data&&b.data.redirect&&!c.disableRedirect&&typeof window<"u"&&window.location.assign(b.data.url),b},sso:async(c,g)=>{if(Ci(c)==="first-party"){let{beginCrossSiteSignIn:R}=await Promise.resolve().then(()=>(Ne(),Ue)),v=await R(e,{kind:"sso",email:c.email,providerId:c.providerId,domain:c.domain,organizationSlug:c.organizationSlug,callbackURL:c.callbackURL,errorCallbackURL:c.errorCallbackURL,newUserCallbackURL:c.newUserCallbackURL});if(v)return window.location.assign(v),{data:{url:v,redirect:true},error:null}}let b=await a("/sign-in/sso",c,g,R=>Ln(R,w));return b.error!==null||b.data===null||typeof window<"u"&&window.location.assign(b.data.url),b},magicLink:(c,g)=>a("/sign-in/magic-link",c,g,Mn),emailOtp:async(c,g)=>(await S(),y(a("/sign-in/email-otp",c,g,zn))),passkey:async(c,g)=>(await S(),s.signIn(c,g))},signUp:{email:async(c,g)=>(await S(),y(a("/sign-up/email",c,g,Un),b=>b.sessionCreated))},emailOtp:{sendVerificationOtp:(c,g)=>a("/email-otp/send-verification-otp",c,g,Fn),verifyEmail:async(c,g)=>(await S(),y(a("/email-otp/verify-email",c,g,Vn)))},phoneOtp:{prepare:c=>a("/phone-otp/challenge",{},c,Kn),start:(c,g)=>a("/phone-otp/start",{...c,idempotencyKey:c.idempotencyKey??Z()},g,Hn),verify:async(c,g)=>(await S(),y(a("/phone-otp/verify",c,g,qn)))},requestPasswordReset:(c,g)=>a("/request-password-reset",c,g,at),resetPassword:(c,g)=>a("/reset-password",c,g,at),sendVerificationEmail:(c,g)=>a("/send-verification-email",c,g,Bn),passkey:{addPasskey:(c,g)=>s.add(c,g),listUserPasskeys:()=>u.request("/passkey/list-user-passkeys",{decode:gi}),updatePasskey:async(c,g)=>{let b=Ee(c.name);if(!b.valid||b.value===void 0)return xe();let R=b.value;return a("/passkey/update-passkey",{...c,name:R},g,v=>mi(v,c.id,R))},deletePasskey:(c,g)=>a("/passkey/delete-passkey",c,g,hi)},twoFactor:{enable:(c,g)=>a("/two-factor/enable",c,g,Jn),disable:(c,g)=>p(a("/two-factor/disable",c,g,$n),b=>b.status),verifyTotp:(c,g)=>y(a("/two-factor/verify-totp",c,g,ve)),verifyBackupCode:(c,g)=>y(a("/two-factor/verify-backup-code",c,g,ve)),sendOtp:(c={},g)=>a("/two-factor/send-otp",c,g,Gn),verifyOtp:(c,g)=>y(a("/two-factor/verify-otp",c,g,ve)),generateBackupCodes:(c,g)=>a("/two-factor/generate-backup-codes",c,g,Wn)},signOut:c=>p(u.request("/sign-out",{method:"POST",body:{},fetchOptions:c,decode:jn}).then(g=>(o.endSession(),e.session.integration?.sessionEnded().then(()=>g)??g)),g=>g.success)}}function ht(e,t=()=>{},n){let i=ss(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Ei(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp,passkey:i.signIn.passkey},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey,addPasskey:i.passkey.addPasskey}}:{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Ei(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function Ei(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return as();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?cs():i}}function as(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"NATIVE_SOCIAL_ID_TOKEN_REQUIRED",message:"Native social sign-in requires a provider ID token."}})}function cs(){return Promise.resolve({data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_NATIVE_SOCIAL_RESPONSE",message:"The server returned a redirect for native ID-token sign-in."}})}function us(){return {signIn:()=>xi(),add:()=>xi()}}function xi(){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 ls(e,t,n){let i=new Map;return {async signIn(o={},r){let u=await e.request("/passkey/generate-authenticate-options");if(!u.data)return zi(u.error);let d;try{d=li(u.data);}catch{return Di()}let l;try{l=await n.authenticate({optionsJSON:d,useBrowserAutofill:o.autoFill});}catch(y){return Ui(n,y,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!ds(l))return _i();let{clientExtensionResults:h,...s}=l,a=i.get(l.id);if(a)return a;let p=(async()=>{let y=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:s},fetchOptions:r,decode:pi});return y.data&&await t(),y})();i.set(l.id,p);try{return await p}finally{i.get(l.id)===p&&i.delete(l.id);}},async add(o={},r){let u=Ee(o.name);if(!u.valid)return xe();let d=await e.request("/passkey/generate-register-options",{query:{name:u.value,authenticatorAttachment:o.authenticatorAttachment}});if(!d.data)return zi(d.error);let l;try{l=di(d.data);}catch{return Di()}let h;try{h=await n.register({optionsJSON:l});}catch(y){return Ui(n,y,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!ps(h))return _i();let{clientExtensionResults:s,...a}=h,p=await e.request("/passkey/verify-registration",{method:"POST",body:{response:a,name:u.value},fetchOptions:r,decode:y=>fi(y,h.id,u.value)});return p.data&&t(),p}}}function Di(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function _i(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function Li(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 ds(e){if(!Li(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 ps(e){if(!Li(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function zi(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function Ui(e,t,n,i){let o=gs(t,"page does not have focus"),r=e.errorCode?.(t),u=r!==void 0?r==="ERROR_CEREMONY_ABORTED":Ni(t)==="AbortError",d=n!=="AUTH_CANCELLED",l=fs(r,Ni(t),d);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":u?n:r??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":u?i:l}}}function fs(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 Ni(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function gs(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}async function ms(e){let t=`${e.apiUrl}/api/projects/${e.decoded.projectId}/public-config`;return tn(await Re(e,t,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:n=>hs(n,e)}),"public-config")}function hs(e,t){let n=q(e),i=n.environmentId,o=n.environmentType,r=`${t.apiUrl}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!yt(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==r)throw _();let u=x(n.branding),d=x(n.legal);if(!ee(n.enabledMethods,64)||!ee(n.socialProviders,64)||!Ki(u,["appName","logoUrl","primaryColor"])||u.showAppName!==void 0&&typeof u.showAppName!="boolean"||u.alignment!==void 0&&u.alignment!=="left"&&u.alignment!=="center"&&u.alignment!=="right"||u.theme!==void 0&&u.theme!=="light"&&u.theme!=="dark"&&u.theme!=="system"||!Ki(d,["termsUrl","privacyUrl"])||!Number.isSafeInteger(d.version)||d.version<0||typeof d.required!="boolean")throw _();if(n.socialProviderClientIds!==void 0){let l=x(n.socialProviderClientIds);if(Object.keys(l).length>64||Object.values(l).some(h=>typeof h!="string"||h.length>2048))throw _()}if(!j(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!Mi(n.turnstileSiteKey)||!Mi(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw _();if(n.jwtIssuer!==null){let l=x(n.jwtIssuer),h=new URL(l.issuer),s=`${h.origin}/api/projects/${t.decoded.projectId}/auth`;if(l.issuer!==s||l.jwksUrl!==`${s}/jwks`||l.aud!==t.decoded.projectId||h.protocol!=="https:"&&h.origin!==t.apiUrl)throw _()}if(n.signUp!==void 0){let l=x(n.signUp).mode;if(typeof l!="string"||!["open","restricted","allowlist","waitlist"].includes(l))throw _()}if(n.authentication!==void 0&&ys(n.authentication),n.privacy!==void 0&&bs(n.privacy),n.emailVerification!==void 0){let l=x(n.emailVerification);if(!j(l,["required"])||l.method!=="link"&&l.method!=="code")throw _()}if(n.userModel!==void 0&&!j(x(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw _();if(n.mfa!==void 0){let l=x(n.mfa);if(!j(l,["totp","required","backupCodes"])||l.emailOtpFallback!==void 0&&typeof l.emailOtpFallback!="boolean"||l.trustDevice!==void 0&&typeof l.trustDevice!="boolean"||(l.required===true||l.backupCodes===true)&&l.totp!==true)throw _()}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 l=x(n.captcha);if(typeof l.provider!="string"||l.provider.length===0||l.provider.length>64||typeof l.siteKey!="string"||l.siteKey.length===0||l.siteKey.length>512)throw _();n.captcha={provider:l.provider,siteKey:l.siteKey};}return n}function yt(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 _(){return new TypeError("public-config returned an invalid response")}function x(e){if(!e||typeof e!="object"||Array.isArray(e))throw _();return e}function Mi(e){return e===null||typeof e=="string"&&e.length<=4096}function ys(e){let t=x(e),n=x(t.email),i=x(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!j(n,["signUp"])||!ee(n.signIn,3)||n.signIn.some(r=>r!=="password"&&r!=="magic_link"&&r!=="email_otp")||!j(x(t.phone),["signUp","signIn"])||!j(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!j(x(t.passkey),["signIn","add"])||!As(x(t.passkey).relyingPartyId)||!j(x(t.username),["collectOnSignUp","signIn"]))throw _()}function bs(e){let t=x(e);if(!Array.isArray(t.notices)||!Array.isArray(t.consentPurposes)||t.notices.length>64||t.consentPurposes.length>64)throw _();for(let n of t.notices){let i=x(n);if(Fi(i,"noticeId","noticeVersionId"),Le(i.title,512),Le(i.body,1e5),Hi(i.digest),!ee(i.activityCodes,128)||!ee(i.purposeCodes,128)||typeof i.effectiveFrom!="string"||!Number.isFinite(Date.parse(i.effectiveFrom)))throw _()}for(let n of t.consentPurposes){let i=x(n);if(Fi(i,"purposeId","purposeVersionId"),Le(i.title,512),Le(i.description,1e4),Hi(i.digest),!ee(i.activityCodes,128)||!ee(i.dataCategories,128))throw _()}}function Fi(e,t,n){if(typeof e[t]!="string"||!yt(e[t])||typeof e[n]!="string"||!yt(e[n])||typeof e.code!="string"||!/^[a-z][a-z0-9_]{0,63}$/.test(e.code)||!Number.isSafeInteger(e.version)||e.version<1)throw _()}function Le(e,t){let n=x(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 _()}function Hi(e){let t=x(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 _()}function As(e){return e==null||typeof e=="string"}function j(e,t){return t.every(n=>typeof e[n]=="boolean")}function Ki(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function ee(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var qi=["en","ar"];function ws(e){return e==="ar"?"rtl":"ltr"}function Os(e){return typeof e=="string"&&qi.includes(e)}function Ss(e,t,n,i=Z()){return {locale:t,correlationId:i,noticeVersionIds:e.notices.map(o=>o.noticeVersionId),consentDecisions:e.consentPurposes.flatMap(o=>{let r=e.notices.find(u=>u.purposeCodes.includes(o.code));return r?[{purposeCode:o.code,purposeVersionId:o.purposeVersionId,noticeVersionId:r.noticeVersionId,decision:n.has(o.code)?"granted":"refused",guardianRequired:false,guardianEvidenceId:null}]:[]})}}function ks(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(u=>u==="password"||u==="magic_link"||u==="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}}function Rs(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}function Qa(e,t){return ht(qe(e),t)}
2
+ exports.LOCALES=qi;exports.buildPrivacySignUpEvidence=Ss;exports.createIdempotencyKey=Z;exports.createMembershipHas=tr;exports.createNativeAuthClient=ht;exports.createNativeClient=Qa;exports.createPasskeyClient=ls;exports.decodePublishableKey=Fe;exports.directionFor=ws;exports.getPublicConfig=ms;exports.isLocale=Os;exports.resolveConfig=qe;exports.resolveProjectCapabilities=ks;exports.sessionCookieName=Rs;
package/dist/native.d.cts CHANGED
@@ -1,10 +1,9 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-BIify9hZ.cjs';
2
- export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig } from './organization-membership-BIify9hZ.cjs';
3
- import { b as AuthOwlClient, S as SocialIdTokenOptions, c as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, d as PasskeyAuthData, e as AddPasskeyOptions, f as AuthPasskey } from './client-w6no1OpC.cjs';
4
- export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as PrivacyClient, m as PrivacyConsentPreference, n as PrivacyConsentState, o as PrivacyLocale, p as PrivacyRightState, q as PrivacyRightType, r as PrivacyRightsRequest, P as PublicConfig, R as RecordPrivacyConsentOptions, s as SessionState, t as SessionStore, u as SetActiveOrganizationOptions, v as SocialAuthData, w as getPublicConfig } from './client-w6no1OpC.cjs';
5
- import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-MKQZa2OJ.cjs';
6
- export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-MKQZa2OJ.cjs';
1
+ import { b as AuthOwlClient, S as SocialIdTokenOptions, R as ResolvedAuthConfig, P as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, c as PasskeyAuthData, d as AddPasskeyOptions, e as AuthPasskey, f as AuthConfig } from './config-CyUwyJ9B.cjs';
2
+ export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, H as HasParams, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as OrganizationMembership, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, u as SessionState, v as SessionStore, w as SetActiveOrganizationOptions, x as SocialAuthData, y as createMembershipHas, z as decodePublishableKey, B as resolveConfig } from './config-CyUwyJ9B.cjs';
3
+ import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-mYtBlnGY.cjs';
4
+ export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-mYtBlnGY.cjs';
7
5
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
6
+ export { P as PublicConfig, g as getPublicConfig } from './public-config-DojOd5F7.cjs';
8
7
  export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.cjs';
9
8
  export { buildPrivacySignUpEvidence } from './privacy.cjs';
10
9
  export { s as sessionCookieName } from './cookie-BqcfagTw.cjs';
@@ -24,7 +23,7 @@ interface PasskeyCeremonyClient {
24
23
  signIn: AuthActionClient['signIn']['passkey'];
25
24
  add: AuthActionClient['passkey']['addPasskey'];
26
25
  }
27
- type PasskeyCeremonyClientFactory = (http: ReturnType<typeof createAuthHttpClient>, sessionChanged: () => void) => PasskeyCeremonyClient;
26
+ type PasskeyCeremonyClientFactory = (http: ReturnType<typeof createAuthHttpClient>, sessionChanged: () => void | Promise<void>) => PasskeyCeremonyClient;
28
27
  /**
29
28
  * Auth actions that can execute without browser navigation or WebAuthn.
30
29
  *
@@ -118,7 +117,7 @@ interface PasskeyCeremony {
118
117
  */
119
118
  errorCode?(error: unknown): string | undefined;
120
119
  }
121
- declare function createPasskeyClient(http: AuthHttpClient, sessionChanged: () => void, ceremony: PasskeyCeremony): {
120
+ declare function createPasskeyClient(http: AuthHttpClient, sessionChanged: () => void | Promise<void>, ceremony: PasskeyCeremony): {
122
121
  signIn(options?: PasskeySignInOptions, fetchOptions?: ActionFetchOptions): Promise<AuthActionResult<PasskeyAuthData>>;
123
122
  add(options?: AddPasskeyOptions, fetchOptions?: ActionFetchOptions): Promise<AuthActionResult<AuthPasskey>>;
124
123
  };
package/dist/native.d.ts CHANGED
@@ -1,10 +1,9 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-BIify9hZ.js';
2
- export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig } from './organization-membership-BIify9hZ.js';
3
- import { b as AuthOwlClient, S as SocialIdTokenOptions, c as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, d as PasskeyAuthData, e as AddPasskeyOptions, f as AuthPasskey } from './client-BHufZSky.js';
4
- export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as PrivacyClient, m as PrivacyConsentPreference, n as PrivacyConsentState, o as PrivacyLocale, p as PrivacyRightState, q as PrivacyRightType, r as PrivacyRightsRequest, P as PublicConfig, R as RecordPrivacyConsentOptions, s as SessionState, t as SessionStore, u as SetActiveOrganizationOptions, v as SocialAuthData, w as getPublicConfig } from './client-BHufZSky.js';
5
- import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-DFT3sJwb.js';
6
- export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-DFT3sJwb.js';
1
+ import { b as AuthOwlClient, S as SocialIdTokenOptions, R as ResolvedAuthConfig, P as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, c as PasskeyAuthData, d as AddPasskeyOptions, e as AuthPasskey, f as AuthConfig } from './config-CyUwyJ9B.js';
2
+ export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, D as DecodedPublishableKey, H as HasParams, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as OrganizationMembership, m as PrivacyClient, n as PrivacyConsentPreference, o as PrivacyConsentState, p as PrivacyLocale, q as PrivacyRightState, r as PrivacyRightType, s as PrivacyRightsRequest, t as RecordPrivacyConsentOptions, u as SessionState, v as SessionStore, w as SetActiveOrganizationOptions, x as SocialAuthData, y as createMembershipHas, z as decodePublishableKey, B as resolveConfig } from './config-CyUwyJ9B.js';
3
+ import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-fDhUiiGz.js';
4
+ export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-fDhUiiGz.js';
7
5
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
6
+ export { P as PublicConfig, g as getPublicConfig } from './public-config-Drxchm7N.js';
8
7
  export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.js';
9
8
  export { buildPrivacySignUpEvidence } from './privacy.js';
10
9
  export { s as sessionCookieName } from './cookie-BqcfagTw.js';
@@ -24,7 +23,7 @@ interface PasskeyCeremonyClient {
24
23
  signIn: AuthActionClient['signIn']['passkey'];
25
24
  add: AuthActionClient['passkey']['addPasskey'];
26
25
  }
27
- type PasskeyCeremonyClientFactory = (http: ReturnType<typeof createAuthHttpClient>, sessionChanged: () => void) => PasskeyCeremonyClient;
26
+ type PasskeyCeremonyClientFactory = (http: ReturnType<typeof createAuthHttpClient>, sessionChanged: () => void | Promise<void>) => PasskeyCeremonyClient;
28
27
  /**
29
28
  * Auth actions that can execute without browser navigation or WebAuthn.
30
29
  *
@@ -118,7 +117,7 @@ interface PasskeyCeremony {
118
117
  */
119
118
  errorCode?(error: unknown): string | undefined;
120
119
  }
121
- declare function createPasskeyClient(http: AuthHttpClient, sessionChanged: () => void, ceremony: PasskeyCeremony): {
120
+ declare function createPasskeyClient(http: AuthHttpClient, sessionChanged: () => void | Promise<void>, ceremony: PasskeyCeremony): {
122
121
  signIn(options?: PasskeySignInOptions, fetchOptions?: ActionFetchOptions): Promise<AuthActionResult<PasskeyAuthData>>;
123
122
  add(options?: AddPasskeyOptions, fetchOptions?: ActionFetchOptions): Promise<AuthActionResult<AuthPasskey>>;
124
123
  };
package/dist/native.js CHANGED
@@ -1 +1 @@
1
- import {l}from'./chunk-6GILD4LY.js';export{l as createNativeAuthClient,m as createPasskeyClient,n as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-6GILD4LY.js';export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';export{a as buildPrivacySignUpEvidence}from'./chunk-MW6RNUTR.js';export{a as createIdempotencyKey}from'./chunk-5NL5GJW6.js';import {n}from'./chunk-IB6TFQFD.js';export{F as createMembershipHas,a as decodePublishableKey,n as resolveConfig,b as sessionCookieName}from'./chunk-IB6TFQFD.js';import'./chunk-T5SH3ZZP.js';function P(i,o){return l(n(i),o)}export{P as createNativeClient};
1
+ import {l}from'./chunk-LBCOMERN.js';export{l as createNativeAuthClient,m as createPasskeyClient,n as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-LBCOMERN.js';export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';export{a as buildPrivacySignUpEvidence}from'./chunk-MW6RNUTR.js';export{a as createIdempotencyKey}from'./chunk-5NL5GJW6.js';import {o}from'./chunk-YL2FF2VS.js';export{G as createMembershipHas,a as decodePublishableKey,o as resolveConfig,b as sessionCookieName}from'./chunk-YL2FF2VS.js';import'./chunk-T5SH3ZZP.js';function P(i,o$1){return l(o(i),o$1)}export{P as createNativeClient};
@@ -1,5 +1,5 @@
1
- import { P as PublicConfig, o as PrivacyLocale } from './client-w6no1OpC.cjs';
2
- import './organization-membership-BIify9hZ.cjs';
1
+ import { P as PublicConfig } from './public-config-DojOd5F7.cjs';
2
+ import { p as PrivacyLocale } from './config-CyUwyJ9B.cjs';
3
3
 
4
4
  type PrivacyPublicConfig = NonNullable<PublicConfig['privacy']>;
5
5
  /**
package/dist/privacy.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PublicConfig, o as PrivacyLocale } from './client-BHufZSky.js';
2
- import './organization-membership-BIify9hZ.js';
1
+ import { P as PublicConfig } from './public-config-Drxchm7N.js';
2
+ import { p as PrivacyLocale } from './config-CyUwyJ9B.js';
3
3
 
4
4
  type PrivacyPublicConfig = NonNullable<PublicConfig['privacy']>;
5
5
  /**