@authowl/core 0.21.0 → 0.21.1

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