@authowl/core 0.18.2 → 0.19.0

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