@authowl/core 0.19.0 → 0.21.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:()=>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
- 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;
1
+ 'use strict';var gi=Object.defineProperty;var st=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var mi=(e,t)=>{for(var n in t)gi(e,n,{get:t[n],enumerable:true});};function oe(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var Fe=st(()=>{"use strict";});var Te={};mi(Te,{beginCrossSiteSignIn:()=>gr,challengeFor:()=>Xn,completeCrossSiteSignIn:()=>mr,takeHandoffCode:()=>it});function Yn(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Xn(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return Yn(new Uint8Array(t))}function lr(){return Yn(crypto.getRandomValues(new Uint8Array(cr)))}function Qn(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${Wn}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function pr(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===Wn)return e.slice(t+1).trim()||null}return null}function fr(){Qn("",0);}function Gn(e){return new URL(e,window.location.href).toString()}async function gr(e,t){let n=t.callbackURL?Gn(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let i=lr(),o=new URL(`${e.projectBaseURL}/session/start`);if(o.searchParams.set("pk",e.publishableKey),o.searchParams.set("kind",t.kind),t.kind==="social")o.searchParams.set("provider",t.provider),t.scopes?.length&&o.searchParams.set("scopes",t.scopes.join(",")),t.loginHint&&o.searchParams.set("loginHint",t.loginHint),t.requestSignUp!==void 0&&o.searchParams.set("requestSignUp",t.requestSignUp?"1":"0");else for(let c of dr){let l=t[c];l&&o.searchParams.set(c,l);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;o.searchParams.set("cb",n??s);for(let[c,l]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])l&&o.searchParams.set(c,Gn(l));return o.searchParams.set("challenge",await Xn(i)),Qn(i,ur),o.toString()}function it(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(nt))return null;let n=new URLSearchParams(t.replace(/^#/,"")),i=n.get(nt);if(!i||e!==void 0&&i!==e)return null;n.delete(nt);let o=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),i}async function mr(e,t,n){if(!oe())return false;let i=n??it();if(!i)return false;n&&it(n);let o=pr();if(fr(),!o)return false;t.beginSession({remember:true});let{error:s}=await e.request("/session/exchange",{method:"POST",body:{code:i,verifier:o}});return s===null}var Wn,nt,cr,ur,dr,Ie=st(()=>{"use strict";Fe();Wn="authowl_handoff_verifier",nt="authowl_code",cr=32,ur=900,dr=["email","providerId","domain","organizationSlug"];});var hi=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,yi=/^sk_/i;function ve(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(yi.test(e))throw new Error("A secret key was passed where a publishable key was expected. Never embed secret keys in client code.");let t=hi.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1].toLowerCase(),env:t[2].toLowerCase(),projectId:t[3].toLowerCase()}}var at=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function Ce(e,t){throw new Error(`${e}: ${t}`)}function ct(e,t){let n;try{n=new URL(String(e));}catch{throw new TypeError("Transport URL must be absolute.")}if(n.username||n.password||n.hash)throw new TypeError("Transport URL must not contain credentials or a fragment.");let i=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&at.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function ut(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&Ce("apiUrl","origin required");let n;try{n=new URL(e);}catch{Ce("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!at.test(e))&&Ce("apiUrl","HTTPS required except exact loopback"),n.origin}function W(e,t){try{return e?.getItem(t)??null}catch{return null}}function Y(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function X(){try{return globalThis.localStorage}catch{return}}function B(){try{return globalThis.sessionStorage}catch{return}}var Ai="authowl.session-challenge",bi=e=>`${Ai}.${e}`,Oi="set-auth-challenge",dt="x-authowl-challenge";var pt="INVALID_TWO_FACTOR_COOKIE",wi=2048,fe=e=>e!==null&&e.length<=wi,lt=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function Ri(e){let t=[];for(let n of e.split(";")){let i=n.trimStart(),o=i.indexOf("=");o<=0||t.push([i.slice(0,o).trimEnd(),i.slice(o+1)]);}return t}function ft(e){let t=bi(e),n=new Map;function i(){return n.size===0?null:[...n].map(([l,u])=>`${l}=${u}`).join("; ")}function o(){let l=i();Y(B(),t,fe(l)?l:null);}function s(l){for(let[u,h]of Ri(l))lt.test(u)&&(h===""?n.delete(u):lt.test(h)&&n.set(u,h));}let c=W(B(),t);return fe(c)&&s(c),{presentOn(l){let u=i();l.delete(dt),fe(u)&&l.set(dt,u);},observe(l){let u=l.get(Oi);fe(u)&&(s(u),o());},clear(){n.clear(),o();}}}var gt="set-auth-token",mt="x-authowl-session-transport",ht="bearer";var ki="authowl.session-token",Si="authowl.cookie-transport",At="ok",bt="bearer",Ti=e=>`${ki}.${e}`,Ii=e=>`${Si}.${e}`;function Pi(e){return e===At?"cookies":e===bt?"bearer":"unknown"}function vi(e){return e==="cookies"?At:e==="bearer"?bt:null}function Ci(e){let t=Ti(e),n=Ii(e),i=ft(e),o=null,s=false,c=null,l=Pi(W(X(),n)),u=()=>l==="unknown",h=0,r=null,a=false;function f(){let y=W(B(),t);if(y!==null)return s=true,y;let w=W(X(),t);return w!==null?(s=false,w):null}o=f(),o!==null&&u()&&(a=true);function b(){if(!(!a||!r)){a=false;try{r();}catch{}}}function d(){let y=l==="bearer"?o:null,[w,U]=s?[B(),X()]:[X(),B()];Y(U,t,null),Y(w,t,y);}function g(y){y!==null&&c!==null&&(s=c,c=null),o=y,d(),y!==null&&u()&&(a=true,b());}function A(y){l=y,Y(X(),n,vi(y));}function O(){A("unknown"),a=false;}function k(){return o===null&&(o=f()),o}function q(){let y=f();return y!==null&&(o=y),o}function V(y){q()===y&&d();}function K(){h+=1,c=null,s=false,g(null),i.clear(),O();}let G=()=>l!=="cookies";return {hasToken:()=>k()!==null,declareOn(y){if(y.has("authorization"))return false;let w=k();return !w&&!G()?false:(w&&y.set("authorization",`Bearer ${w}`),y.set(mt,ht),i.presentOn(y),true)},wantsToken:G,needsProbe:u,observe(y){let w=y.get(gt);w&&g(w),i.observe(y);},dropChallenge:i.clear,measureWith(y){r=y,b();},beginRead(){let y=k(),w=h;return {carriedToken:y!==null,endIfDead(){y!==null&&q()===y&&h===w&&K();},recordCookieVerdict(U){if(h===w&&u()){if(A(U?"cookies":"bearer"),U){g(null);return}V(y);}}}},beginSession({remember:y}){h+=1,c=!y,i.clear(),O();},endSession:K}}var yt=new Map;function Ot(e){let t=yt.get(e);if(t)return t;let n=Ci(e);return yt.set(e,n),n}function xi(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function wt(e,t){let n=Ot(e),i=(c,l)=>(t??globalThis.fetch)(c,l);return {fetch:async(c,l)=>{if(l?.credentials==="omit"||!n.wantsToken())return i(c,l);let u=xi(c,l),h=n.declareOn(u),r=await i(c,{...l,headers:u});return h&&n.observe(r.headers),r},probe:i,tokens:n}}function Ei(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=ve(e.publishableKey),n=ut(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function xe(e){let t=Ei(e),{fetch:n,...i}=wt(t.decoded.projectId,e.fetch);return {...e,...t,fetch:n,session:i}}var Di=1e4,zi=1024*1024,E=class extends Error{kind;requestId;constructor(t,n){super(qi(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},St=new WeakSet;function D(e,t){let n=new E(e,t);return St.add(n),n}async function Tt({fetchImpl:e,url:t,init:n={},timeoutMs:i=Di,maxResponseBytes:o=zi,allowHttpLoopback:s=false,decode:c}){kt(i,"timeoutMs"),kt(o,"maxResponseBytes");let l=ct(t,{allowHttpLoopback:s}),u=n.signal,h=new AbortController,r=null,a,f=new Promise(A=>{a=A;}),b=A=>{r===null&&(r=A,a({type:"abort",kind:A}),h.abort());},d=()=>b("aborted");u?.addEventListener("abort",d,{once:true});let g=setTimeout(()=>b("timeout"),i);u?.aborted&&d();try{if(r!==null)throw D(r);let A;try{A=await Promise.race([e(l.toString(),{...n,redirect:"error",signal:h.signal}).then(G=>({type:"response",response:G})),f]);}catch{throw D(r??"network")}if(A.type==="abort")throw D(A.kind);if(!_i(A.response))throw D("invalid_response");let O=A.response,k=Hi(O.headers),q=await Ui(O,o,f,()=>r,k),V=Mi(O,q,k),K;try{K=O.ok&&c?c(V,Object.freeze({status:O.status})):V;}catch{throw D("invalid_response",k)}return {response:O,data:K,...k===void 0?{}:{requestId:k}}}catch(A){throw A instanceof E&&St.has(A)?A:D(r??"network")}finally{clearTimeout(g),u?.removeEventListener("abort",d);}}function _i(e){if(!e||typeof e!="object")return false;let t=e;return Number.isInteger(t.status)&&t.status>=0&&t.status<=599&&typeof t.statusText=="string"&&typeof t.ok=="boolean"&&typeof t.headers?.get=="function"&&(t.body===null||typeof t.body=="object"&&typeof t.body?.getReader=="function"&&typeof t.body.cancel=="function")}async function Ui(e,t,n,i,o){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw Rt(e.body),D("invalid_response",o);if(Number(s)>t)throw Rt(e.body),D("response_too_large",o)}if(!e.body)return "";let c;try{c=e.body.getReader();}catch{throw D("network",o)}let l=[],u=0,h=null;try{for(;;){let f;try{f=await Promise.race([c.read(),n]);}catch{h=D(i()??"network",o);break}if(Ni(f)){h=D(f.kind,o);break}let{done:b,value:d}=f;if(b)break;if(d.byteLength!==0){if(u+=d.byteLength,u>t){h=D("response_too_large",o);break}l.push(d);}}}finally{h&&Li(c);try{c.releaseLock();}catch{}}if(h)throw h;let r=new Uint8Array(u),a=0;for(let f of l)r.set(f,a),a+=f.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{throw D("invalid_response",o)}}function Ni(e){return "type"in e&&e.type==="abort"}function Rt(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Li(e){try{e.cancel().catch(()=>{});}catch{}}function Mi(e,t,n){if(e.status===204||e.status===205)return null;let i=Fi(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw D("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw D("invalid_response",n)}}function Fi(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Hi(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function kt(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function qi(e){switch(e){case "aborted":return "The request was cancelled.";case "timeout":return "The request timed out.";case "response_too_large":return "The response exceeded the allowed size.";case "invalid_response":return "The service returned an invalid response.";case "network":return "The network request could not be completed."}}var Ee=class extends Error{status;requestId;constructor(t,n,i){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=i;}};function ge(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),Tt({fetchImpl:e.fetch,url:t,init:{...n.init,headers:i},allowHttpLoopback:e.decoded.env==="test",...n.timeoutMs===void 0?{}:{timeoutMs:n.timeoutMs},...n.maxResponseBytes===void 0?{}:{maxResponseBytes:n.maxResponseBytes},...n.decode===void 0?{}:{decode:n.decode}})}function It(e,t){if(!e.response.ok)throw new Ee(t,e.response,e.requestId);return e.data}var Vi=new Map;function Pt(e){return typeof window>"u"?null:Vi.get(e)?.at(-1)?.locale??null}var Ki="x-authowl-turnstile-token",Bi="x-authowl-locale",ji=1e4,Ji=32,$i=2e4;function Q(e,t){return {post:(n,i,o,s)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:s}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function Ue(e,t=e.projectBaseURL){return {async request(n,i={}){let o=Yi(t,n,i.query),s=i.method??(i.body===void 0?"GET":"POST"),c=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&c.set(Ki,i.fetchOptions.authChallengeToken);let l=Pt(e.decoded.projectId);l&&c.set(Bi,l),i.body!==void 0&&c.set("content-type","application/json");let u={method:s,headers:c,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},h=Object.freeze({method:s,path:n});await i.fetchOptions?.onRequest?.(h);let r=Wi(s,i.fetchOptions),a;try{a=await Gi(e,o,{...u,signal:i.fetchOptions?.signal},r);}catch(O){let k=Ct(O);return await i.fetchOptions?.onError?.(De(h,k,Zi(O))),{data:null,error:k}}let{response:f,requestId:b}=a,d=no(n,a.data),g=d;if(f.ok)try{g=_e(d),i.decode&&(g=i.decode(g));}catch{let O=Ct(new E("invalid_response",b));return await i.fetchOptions?.onError?.(De(h,O,"invalid_response")),{data:null,error:O}}let A=Object.freeze({...h,status:f.status,...b===void 0?{}:{requestId:b}});if(await i.fetchOptions?.onResponse?.(A),!f.ok){let O=Xi(f,d,b);return O.code===pt&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(De(h,O,"api")),{data:null,error:O}}return await i.fetchOptions?.onSuccess?.(A),{data:g,error:null}}}}async function Gi(e,t,n,i){let o=Date.now()+ji;for(let s=0;s<i;s+=1){let c=o-Date.now();if(c<=0)throw new E("timeout");try{let l=await ge(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(c))});if(l.response.status<500||s===i-1)return l}catch(l){if(s===i-1||!(l instanceof E)||l.kind!=="network")throw l}await eo(50*2**s,n.signal,o);}throw new E("network")}function Wi(e,t){if(e!=="GET"||t?.authChallengeToken)return 1;let n=t?.retry;return typeof n!="number"||!Number.isFinite(n)?1:Math.min(Math.max(Math.trunc(n),0),3)+1}function Yi(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,s]of Object.entries(n??{}))s!==void 0&&i.searchParams.set(o,String(s));return i.toString()}function Xi(e,t,n){let i=ie(t)?t:{},o=Qi(i,e.headers);return {status:e.status,statusText:e.statusText,code:typeof i.code=="string"?i.code:void 0,...n===void 0?{}:{requestId:n},...typeof i.current_version=="number"?{currentVersion:i.current_version}:{},...o!==void 0?{retryAfterSeconds:o}:{},message:typeof i.message=="string"?i.message:typeof i.error=="string"?i.error:typeof i.detail=="string"?i.detail:e.statusText||"Request failed"}}function Qi(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??vt(t.get("retry-after"))??vt(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function vt(e){if(!e)return;let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isFinite(n)?n:void 0}function Ct(e){let t=e instanceof E?e.kind:"network";return {status:0,...{aborted:{statusText:"ABORTED",code:"REQUEST_ABORTED",message:"The request was cancelled."},timeout:{statusText:"TIMEOUT",code:"REQUEST_TIMEOUT",message:"The request timed out."},response_too_large:{statusText:"INVALID_RESPONSE",code:"RESPONSE_TOO_LARGE",message:"The service response was too large."},invalid_response:{statusText:"INVALID_RESPONSE",code:"INVALID_RESPONSE",message:"The service returned an invalid response."},network:{statusText:"FETCH_ERROR",code:"FETCH_ERROR",message:"Network request failed."}}[t],...e instanceof E&&e.requestId?{requestId:e.requestId}:{}}}function De(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function Zi(e){return e instanceof E?e.kind:"network"}function eo(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new E("aborted"));return}let s=n-Date.now();if(s<=0){o(new E("timeout"));return}let c=Math.min(e,s),l=()=>{clearTimeout(u),o(new E("aborted"));},u=setTimeout(()=>{t?.removeEventListener("abort",l),Date.now()>=n?o(new E("timeout")):i();},c);t?.addEventListener("abort",l,{once:true}),t?.aborted&&l();})}function _e(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>Ji||i.nodes>$i)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let o=new Date(e);return Number.isNaN(o.getTime())?e:o}return Array.isArray(e)?e.map(o=>_e(o,"",n+1,i)):ie(e)?Object.fromEntries(Object.entries(e).map(([o,s])=>[o,to(o)?s:_e(s,o,n+1,i)])):e}function to(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function no(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>ie(o)?ze(o):o);if(!ie(t))return t;let i=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?ze(t):t;return e==="/sign-up/email"&&!("sessionCreated"in i)&&(i={...i,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&ie(i.session)&&(i={...i,session:ze(i.session)}),i}function ze(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function ie(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var io=new Set(["__proto__","constructor","prototype"]);function m(e){(!e||typeof e!="object"||Array.isArray(e))&&p();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&p(),e}function R(e){return typeof e!="string"&&p(),e}function I(e){return typeof e!="boolean"&&p(),e}function S(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&p(),e}function j(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&p(),[...e]}function P(e,t){let n=e[t];return n==null||typeof n=="string"?n:p()}function xt(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:p()}function _(e){let t=m(e),n=t.email;return n!==null&&typeof n!="string"&&p(),{id:R(t.id),email:n,emailVerified:I(t.emailVerified),createdAt:S(t.createdAt),updatedAt:S(t.updatedAt),...z("phoneNumber",P(t,"phoneNumber")),...z("username",P(t,"username")),...z("displayUsername",P(t,"displayUsername")),...z("firstName",P(t,"firstName")),...z("lastName",P(t,"lastName")),...z("name",P(t,"name")),...z("image",P(t,"image")),...z("twoFactorEnabled",xt(t,"twoFactorEnabled"))}}function me(e){let t=m(e),n=t.membership;return {id:R(t.id),userId:R(t.userId),expiresAt:S(t.expiresAt),...z("activeOrganizationId",P(t,"activeOrganizationId")),...z("activeTeamId",P(t,"activeTeamId")),...z("membership",n==null?n:oo(n)),...z("pendingMfaEnrollment",xt(t,"pendingMfaEnrollment"))}}function p(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function L(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&p(),Le(e,t,n)}function Le(e,t=20,n=1e4){return Ne(e,0,{nodes:0},t,n)}function oo(e){let t=m(e);return {role:R(t.role),...t.roles===void 0?{}:{roles:j(t.roles)},permissions:j(t.permissions),...t.teams===void 0?{}:{teams:j(t.teams)}}}function Ne(e,t,n,i,o){if(n.nodes+=1,(t>i||n.nodes>o)&&p(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||p(),e;if(Array.isArray(e))return e.map(l=>Ne(l,t+1,n,i,o));(!e||typeof e!="object")&&p();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&p();let c={};for(let[l,u]of Object.entries(e))io.has(l)&&p(),c[l]=Ne(u,t+1,n,i,o);return c}function z(e,t){return t===void 0?{}:{[e]:t}}function Et({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,s=null,c=null,l=null,u=null,h=null,r=null,a,f=y=>{g(y);};a={data:null,isPending:true,isRefetching:false,error:null,refetch:f};function b(y){a=y;for(let w of o)w();}async function d(y){return e.request("/get-session",{query:y?.query,decode:Me})}function g(y){if(y?.query?.disableCookieCache===true)return O(y);if(u)return u;if(h)return h;let w=O(y).finally(()=>{h===w&&(h=null);});return h=w,w}function A(){if(u)return u;let y=O({query:{disableCookieCache:true}}).finally(()=>{u===y&&(u=null);});return u=y,y}async function O(y){l?.abort();let w=new AbortController;l=w,b({...a,isPending:a.data===null&&a.error===null,isRefetching:a.data!==null});let U=n.beginRead(),pe=await e.request("/get-session",{query:y?.query,fetchOptions:{signal:w.signal},decode:Me});if(l===w&&(l=null,b({data:pe.data,error:pe.error,isPending:false,isRefetching:false,refetch:f}),pe.error===null)){if(pe.data===null){U.endIfDead();return}await k(U);}}async function k(y){if(n.needsProbe()){if(!y.carriedToken){y.recordCookieVerdict(true);return}return r||q(y)}}function q(y){let w=t.request("/get-session",{query:{disableCookieCache:true},decode:Me}).then(U=>{r===w&&U.error===null&&y.recordCookieVerdict(U.data!==null);}).finally(()=>{r===w&&(r=null);});return r=w,w}function V(){s?.postMessage({type:"session-changed"});}function K(){if(typeof window>"u"||c)return;let y=()=>{g();},w=()=>{document.visibilityState==="visible"&&g();};window.addEventListener("focus",y),document.addEventListener("visibilitychange",w),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(i),s.addEventListener("message",y)),c=()=>{window.removeEventListener("focus",y),document.removeEventListener("visibilitychange",w),s?.close(),s=null,c=null;};}function G(y){return o.add(y),o.size===1&&(K(),g()),()=>{if(o.delete(y),o.size===0){let w=l;l=null,h=null,u=null,w?.abort(),c?.();}}}return n.measureWith(()=>{n.needsProbe()&&q(n.beginRead());}),{store:{subscribe:G,getSnapshot:()=>a,refresh:A},getSession:d,notifyMutation(){V(),r&&r.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&V();}),o.size>0&&g({query:{disableCookieCache:true}});}}}function Me(e){if(e===null)return null;let t=m(e);return (t.session===void 0||t.user===void 0)&&p(),{session:me(t.session),user:_(t.user)}}Fe();function J(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function Dt(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:_t})}async function zt(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:_t})}function _t(e){let t=m(e),n=L(t.public_metadata),i=L(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:i,metadataVersion:t.metadata_version}}function Nt(e,t){let{post:n,mutation:i}=Q(e,t);return {getMetadata:o=>Dt(e,o),updateUnsafeMetadata:(o,s)=>zt(e,o,s),updateProfile:(o,s)=>i(n("/update-user",o,s,re)),changeEmail:(o,s)=>i(n("/change-email",o,s,re)),changePassword:(o,s)=>i(n("/change-password",o,s,ro)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:so}),revokeSession:({sessionId:o},s)=>i(n("/revoke-session",{sessionId:o},s,re)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,re)),listSocialAccounts:async o=>{let s=await e.request("/list-accounts",{fetchOptions:o,decode:ao});if(!s.data)return {data:null,error:s.error};let c=s.data.length>1;return {...s,data:s.data.filter(l=>l.providerId!=="credential").map(l=>({...l,canUnlink:c}))}},linkSocial:(o,s)=>n("/link-social",o,s,co),unlinkSocial:(o,s)=>i(n("/unlink-account",o,s,re)),delete:(o={},s)=>i(n("/delete-user",o,s,uo))}}function re(e){let t=m(e);return {status:I(t.status)}}function ro(e){let t=m(e);return {user:_(t.user)}}function so(e){return Array.isArray(e)||p(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),createdAt:S(n.createdAt),updatedAt:S(n.updatedAt),expiresAt:S(n.expiresAt),...Ut("ipAddress",P(n,"ipAddress")),...Ut("userAgent",P(n,"userAgent"))}})}function ao(e){return Array.isArray(e)||p(),e.map(t=>{let n=m(t);return {id:R(n.id),userId:R(n.userId),providerId:R(n.providerId),accountId:R(n.accountId),scopes:j(n.scopes),createdAt:S(n.createdAt),updatedAt:S(n.updatedAt)}})}function co(e){let t=m(e);return {url:R(t.url),redirect:I(t.redirect)}}function uo(e){let t=m(e);return {success:I(t.success),message:R(t.message)}}function Ut(e,t){return t===void 0?{}:{[e]:t}}function He(e,t){return !e||!t?false:e.permissions.includes(t)}function lo(e,t){return !e||!t?false:e.teams?.includes(t)??false}function po(e,t){return e?e.roles===void 0?e.role===t:e.roles.includes(t):false}function qe(e,t){if(!e)return false;let{role:n,permission:i,teamId:o}=t;return !(n===void 0&&i===void 0&&o===void 0||n!==void 0&&!po(e,n)||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!lo(e,o))}function fo(e){return {has:t=>qe(e,t),hasPermission:t=>He(e,t.permission)}}var go=new Set(["pending","accepted","rejected","canceled"]),Ve=1e4;function Lt(e){let t=m(e);return t.recipientHint!==null&&t.recipientHint!=="new_user"&&p(),{recipientHint:t.recipientHint}}function Z(e,t,n){let i=m(e),o={id:T(i.id),name:T(i.name),slug:T(i.slug),createdAt:S(i.createdAt),...se("logo",P(i,"logo")),...se("metadata",i.metadata===void 0?void 0:Le(i.metadata))};return N(o.id,t),N(o.slug,n),o}function Mt(e){return M(e,Z)}function Ke(e,t,n){return e===null?null:(t===null&&p(),Z(e,t,n))}function Ft(e,t,n){if(e===null)return null;let i=m(e),o=Z(i,t,n);return {...o,members:M(i.members,s=>Xt(s,o.id)),invitations:M(i.invitations,s=>F(s,void 0,o.id))}}function Be(e,t,n=false){let i=M(e,o=>ae(o));return n||ue(i.map(o=>o.organizationId),t),i}function Ht(e,t){let n=M(e,i=>je(i));return ue(n.map(i=>i.teamId),t),n}function je(e,t,n){let i=m(e),o={id:T(i.id),teamId:T(i.teamId),userId:T(i.userId),createdAt:S(i.createdAt)};return N(o.teamId,t),N(o.userId,n),o}function qt(e,t,n){return e===null?null:(t===null&&p(),ae(e,t,n))}function Vt(e,t){let n=m(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&p(),{members:mo(n.members,t),total:n.total}}function F(e,t,n){let i=m(e),o=T(i.status);go.has(o)||p();let s={id:T(i.id),organizationId:T(i.organizationId),email:ce(i.email),role:T(i.role),status:o,inviterId:T(i.inviterId),expiresAt:S(i.expiresAt),createdAt:S(i.createdAt)};return N(s.id,t),N(s.organizationId,n),s}function Kt(e,t){let n=M(e,i=>F(i));return ue(n.map(i=>i.organizationId),t),n}function Bt(e){return M(e,t=>{let n=m(t);return {...F(n),organizationName:ce(n.organizationName)}})}function jt(e,t){let n=m(e);return {...F(n,t),organizationName:T(n.organizationName),organizationSlug:T(n.organizationSlug),inviterEmail:Qt(n.inviterEmail)}}function Jt(e,t){let n=m(e),i=F(n.invitation,t);return {invitation:i,member:ee(n.member,void 0,i.organizationId)}}function $t(e,t){let n=m(e);return n.member!==null&&p(),{invitation:n.invitation===null?null:F(n.invitation,t),member:null}}function Gt(e,t){return e===null?null:F(e,t)}function Wt(e,t,n){let i=m(e);return {member:ee(i.member,n,t)}}function ee(e,t,n){let i=m(e),o={id:T(i.id),organizationId:T(i.organizationId),userId:T(i.userId),role:T(i.role),createdAt:S(i.createdAt),...i.user===void 0?{}:{user:Zt(i.user)}};return N(o.id,t),N(o.organizationId,n),o}function Yt(e,t){let n=M(e,i=>{let o=m(i);return {organizationId:T(o.organizationId),data:{role:T(o.role),...se("permission",o.permission===void 0?void 0:ho(o.permission)),...se("customPermissionKeys",o.customPermissionKeys===void 0?void 0:j(o.customPermissionKeys))}}});return ue(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function ae(e,t,n){let i=m(e),o=i.updatedAt,s={id:T(i.id),name:ce(i.name),organizationId:T(i.organizationId),createdAt:S(i.createdAt),...o===void 0?{}:{updatedAt:S(o)}};return N(s.id,t),N(s.organizationId,n),s}function Je(e){let t=m(e);return {message:ce(t.message)}}function Xt(e,t){let n=m(e);return {...ee(n,void 0,t),user:Zt(n.user)}}function mo(e,t){let n=M(e,i=>Xt(i));return ue(n.map(i=>i.organizationId),t),n}function ho(e){let t=m(e),n={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>Ve||!Array.isArray(o))&&p(),n[i]=o.map(s=>T(s));return n}function T(e){let t=R(e);return (t.length===0||t.length>Ve)&&p(),t}function ce(e){if(e==null)return "";let t=R(e);return t.length>Ve&&p(),t}function Qt(e){return e===null?null:T(e)}function N(e,t){t!==void 0&&e!==t&&p();}function ue(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&p();}function Zt(e){let t=m(e);return {id:T(t.id),name:ce(t.name),email:Qt(t.email),...se("image",P(t,"image"))}}function M(e,t){return Array.isArray(e)||p(),e.map(n=>t(n))}function se(e,t){return t===void 0?{}:{[e]:t}}function en(e,t,n=()=>null){let{post:i,mutation:o}=Q(e,t),s=new Set,c=()=>{for(let r of s)try{r();}catch{}},l=new Map,u=(r,a,f,b)=>{if(f)return e.request(r,{query:a,fetchOptions:f,decode:b});let d=`${r}\0${JSON.stringify(a??null)}`,g=l.get(d);if(g)return g;let A=e.request(r,{query:a,decode:b}).finally(()=>{l.delete(d);});return l.set(d,A),A},h=async r=>{let a=await o(r).finally(()=>l.clear());return a.error===null&&c(),a};return {subscribe(r){return s.add(r),()=>s.delete(r)},create:(r,a)=>h(i("/organization/create",r,a,Z)),list:r=>u("/organization/list",void 0,r,Mt),get:(r={},a)=>u("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},a,f=>Ft(f,r.organizationId,r.organizationSlug)),setActive:(r,a)=>h(i("/organization/set-active",r,a,f=>Ke(f,r.organizationId,r.organizationSlug))),createTeam:(r,a)=>h(i("/organization/create-team",r,a,f=>ae(f,void 0,r.organizationId))),listTeams:(r={},a)=>u("/organization/list-teams",{organizationId:r.organizationId},a,f=>Be(f,r.organizationId)),updateTeam:(r,a)=>h(i("/organization/update-team",r,a,f=>ae(f,r.teamId,r.data.organizationId))),removeTeam:(r,a)=>h(i("/organization/remove-team",r,a,Je)),listUserTeams:r=>u("/organization/list-user-teams",void 0,r,a=>Be(a,void 0,true)),listTeamMembers:(r={},a)=>u("/organization/list-team-members",{teamId:r.teamId},a,f=>Ht(f,r.teamId)),addTeamMember:(r,a)=>h(i("/organization/add-team-member",r,a,f=>je(f,r.teamId,r.userId))),removeTeamMember:(r,a)=>h(i("/organization/remove-team-member",r,a,Je)),setActiveTeam:(r,a)=>h(i("/organization/set-active-team",r,a,f=>qt(f,r.teamId))),update:(r,a)=>h(i("/organization/update",r,a,f=>Ke(f,r.organizationId))),delete:(r,a)=>h(i("/organization/delete",r,a,f=>Z(f,r.organizationId))),listMembers:(r={},a)=>u("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},a,f=>Vt(f,r.organizationId)),inviteMember:(r,a)=>h(i("/organization/invite-member",r,a,f=>F(f,void 0,r.organizationId))),listInvitations:(r={},a)=>u("/organization/list-invitations",{organizationId:r.organizationId},a,f=>Kt(f,r.organizationId)),listUserInvitations:r=>u("/organization/list-user-invitations",void 0,r,Bt),getInvitation:(r,a)=>u("/organization/get-invitation",{id:r.id},a,f=>jt(f,r.id)),getInvitationRecipientHint:(r,a)=>u("/organization/invitation-recipient-hint",{invitationId:r.invitationId},a,Lt),acceptInvitation:(r,a)=>h(i("/organization/accept-invitation",r,a,f=>Jt(f,r.invitationId))),rejectInvitation:(r,a)=>h(i("/organization/reject-invitation",r,a,f=>$t(f,r.invitationId))),cancelInvitation:(r,a)=>h(i("/organization/cancel-invitation",r,a,f=>Gt(f,r.invitationId))),removeMember:(r,a)=>h(i("/organization/remove-member",r,a,f=>Wt(f,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,a)=>h(i("/organization/update-member-role",r,a,f=>ee(f,r.memberId,r.organizationId))),leave:(r,a)=>h(i("/organization/leave",r,a,f=>ee(f,void 0,r.organizationId))),listRoles:(r={},a)=>u("/organization/list-roles",{organizationId:r.organizationId},a,f=>Yt(f,r.organizationId)),has:r=>qe(n(),r),hasPermission:r=>He(n(),r.permission)}}function tn(e){return {listConsentPreferences:t=>e.request("/privacy/consent-decisions",{fetchOptions:t,decode:yo}),recordConsent:(t,n)=>e.request("/privacy/consent-decisions",{method:"POST",body:{...t,correlationId:t.correlationId??J()},fetchOptions:n,decode:bo}),listRightsRequests:t=>e.request("/privacy/rights",{fetchOptions:t,decode:Oo}),createRightsRequest:(t,n)=>e.request("/privacy/rights",{method:"POST",body:t,fetchOptions:n,decode:wo})}}function yo(e){let t=m(e);return Array.isArray(t.preferences)||p(),{preferences:t.preferences.map(Ao)}}function Ao(e){let t=m(e);return {purposeId:R(t.purposeId),purposeVersionId:R(t.purposeVersionId),code:R(t.code),state:Ro(t.state,["granted","refused","withdrawn"]),updatedAt:he(t.updatedAt),decidedAt:he(t.decidedAt)}}function bo(e){let t=m(e);return t.recorded!==true&&p(),{recorded:true,decision:de(t.decision,["granted","refused","withdrawn"]),decidedAt:ye(t.decidedAt)}}function Oo(e){let t=m(e);return Array.isArray(t.requests)||p(),{requests:t.requests.map(nn)}}function wo(e){return {request:nn(m(e).request)}}function nn(e){let t=m(e);return {id:R(t.id),rightType:de(t.rightType,["access","correction","portability","erasure","restriction","objection","consent_withdrawal"]),state:de(t.state,["received","identity_pending","in_progress","restricted","completed","denied","withdrawn"]),locale:de(t.locale,["en","ar"]),receivedAt:ye(t.receivedAt),acknowledgedAt:he(t.acknowledgedAt),fulfilmentDeadline:ye(t.fulfilmentDeadline),completedAt:he(t.completedAt)}}function he(e){return e===null?null:ye(e)}function ye(e){if(e instanceof Date)return S(e);typeof e!="string"&&p();let t=new Date(e);return Number.isNaN(t.getTime())&&p(),t}function de(e,t){return (typeof e!="string"||!t.includes(e))&&p(),e}function Ro(e,t){return e===null?null:de(e,t)}var on=4096,ko=4096,So=100,To=256,Io=16,Po=64,vo=12;function Ge(e){let t=m(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&p(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Rn(t.twoFactorMethods,Io,Po)}}):(t.twoFactorRedirect!==void 0&&p(),{redirect:I(t.redirect),...zo(t,"url"),user:_(t.user)})}function rn(e){let t=m(e);return {user:_(t.user)}}function sn(e){let t=m(e);return {sessionCreated:I(t.sessionCreated),user:_(t.user)}}function an(e,t){let n=m(e),i=I(n.redirect);n.user===null&&p();let o=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return i?((o||!s)&&p(),{redirect:true,url:$e(n.url,t)}):(o===s&&p(),o?{redirect:false,user:_(n.user)}:{redirect:false,url:$e(n.url,t)})}function cn(e,t){let n=m(e);return (n.redirect!==true||n.user!==void 0)&&p(),{redirect:true,url:$e(n.url,t)}}function un(e){return {status:I(m(e).status)}}function dn(e){return {success:I(m(e).success)}}function ln(e){return m(e).status!=="pending"&&p(),{status:"pending"}}function pn(e){let t=m(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&p();let n=m(t.turnstile),i=n.siteKey===null?null:R(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:R(t.connectionId),challenge:R(t.challenge),difficulty:Co(t.difficulty),challengeToken:R(t.challengeToken),challengeRequired:I(t.challengeRequired),turnstile:{required:I(n.required),siteKey:i}}}function Co(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>vo)&&p(),Number(e)}function fn(e){let t=m(e);return (t.status!==true||t.sessionCreated!==true)&&p(),{status:true,sessionCreated:true,user:xo(t.user)}}function We(e){return {status:I(m(e).status)}}function gn(e){return {status:I(m(e).status)}}function mn(e){let t=m(e);return {status:I(t.status),user:_(t.user)}}function hn(e){return {success:I(m(e).success)}}function yn(e){let t=m(e);return {totpURI:Do(t.totpURI),backupCodes:wn(t.backupCodes)}}function An(e){return {status:I(m(e).status)}}function Ae(e){return m(e).status!==true&&p(),{status:true}}function bn(e){return {status:I(m(e).status)}}function On(e){let t=m(e);return t.status!==void 0&&t.status!==true&&p(),{backupCodes:wn(t.backupCodes)}}function xo(e){let t=m(e);return {id:te(t.id,512),..._o(t,"name",1024),phoneNumber:te(t.phoneNumber,64),phoneNumberVerified:I(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:S(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:S(t.updatedAt)}}}function $e(e,t){let n=te(e,on);/[\u0000-\u0020\u007f]/u.test(n)&&p();let i;try{i=new URL(n);}catch{return p()}return (i.username||i.password)&&p(),i.protocol==="https:"||t&&i.protocol==="http:"&&Eo(i.hostname)?i.href:p()}function Eo(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Do(e){let t=te(e,ko),n;try{n=new URL(t);}catch{return p()}let i=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||i===null||i.length===0||i.length>512||/\s/u.test(i))&&p(),t}function wn(e){return Rn(e,So,To)}function Rn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&p();let i=e.map(o=>te(o,n));return i.some(o=>o.trim().length===0)&&p(),new Set(i).size!==i.length&&p(),i}function te(e,t){let n=R(e);return (n.length===0||n.length>t)&&p(),n}function zo(e,t){let n=e[t];return n==null?{}:{[t]:te(n,on)}}function _o(e,t,n){let i=P(e,t);return i===void 0?{}:(i!==null&&i.length>n&&p(),{[t]:i})}var kn=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),be=new Set([9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279]);function Oe(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let i=n.codePointAt(0);if(i===void 0||Tn(n,i)||Sn(i)||kn.has(i))return {valid:false}}let t=Uo(e);return Ye(t)?{valid:true,value:t}:{valid:false}}function Ye(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let s=o.codePointAt(0);if(s===void 0||Tn(o,s)||Sn(s)||kn.has(s))return false;n??=s,i=s;}return t>0&&n!==void 0&&i!==void 0&&!be.has(n)&&!be.has(i)}function we(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_PASSKEY_NAME",message:"Passkey names must contain 1 to 256 safe Unicode characters."}}}function Uo(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!be.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let s=i>=56320&&i<=57343?n-2:n-1,c=e.codePointAt(s);if(c===void 0||!be.has(c))break;n=s;}return e.slice(t,n)}function Sn(e){return e>=0&&e<=31||e>=127&&e<=159}function Tn(e,t){return e.length===1&&t>=55296&&t<=57343}var vn=12,Cn=5e3,No=8,Lo=1e3,Mo=16,In=512,xn=100,En=8192,Fo=32768,Xe=1024,Pn=256,Ze=64,Ho=6e5,qo=/^[A-Za-z0-9_-]+$/u,Vo=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ko=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Bo=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,jo=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Dn=new Set(["discouraged","preferred","required"]),Jo=new Set(["singleDevice","multiDevice"]),zn=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),_n=new Set(["hybrid","security-key","client-device"]),$o=new Set(["none","indirect","direct","enterprise"]),Go=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Wo=new Set(["platform","cross-platform"]),Yo=new Set(["discouraged","preferred","required"]),Xo=new Set([-8,-7,-257]);function Un(e){let t=L(e,vn,Cn);return {challenge:jn(t.challenge),...C("timeout",Kn(t.timeout)),...C("rpId",Jn(t.rpId)),...C("allowCredentials",Vn(t.allowCredentials)),...C("userVerification",le(t.userVerification,Dn)),...C("hints",Re(t.hints,_n)),...C("extensions",Bn(t.extensions))}}function Nn(e){let t=L(e,vn,Cn);return {challenge:jn(t.challenge),rp:Qo(t.rp),user:Zo(t.user),pubKeyCredParams:er(t.pubKeyCredParams),...C("timeout",Kn(t.timeout)),...C("excludeCredentials",Vn(t.excludeCredentials)),...C("authenticatorSelection",tr(t.authenticatorSelection)),...C("attestation",le(t.attestation,$o)),...C("attestationFormats",Re(t.attestationFormats,Go)),...C("hints",Re(t.hints,_n)),...C("extensions",Bn(t.extensions))}}function Ln(e){let t=m(e),n=me(t.session),i=_(t.user);return n.userId!==i.id&&p(),{session:n,user:i}}function et(e){let t=m(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&p();let i=tt(t.deviceType,Jo),o=I(t.backedUp);return o&&i!=="multiDevice"&&p(),{id:ne(t.id,Pn),...or(t),publicKey:nr(t.publicKey,Fo),userId:ne(t.userId,Pn),credentialID:Se(t.credentialID,En),counter:n,deviceType:i,backedUp:o,...rr(t),createdAt:S(t.createdAt),...sr(t)}}function Mn(e,t,n){let i=et(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&p(),i}function Fn(e){(!Array.isArray(e)||e.length>xn)&&p();let t=e.map(et);return ke(t.map(n=>n.id)),ke(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&p(),t}function Hn(e,t,n){let i=m(e),o=et(i.passkey);return (o.id!==t||o.name!==n)&&p(),{passkey:o}}function qn(e){return m(e).status!==true&&p(),{status:true}}function Qo(e){let t=m(e);return {name:Qe(t.name,Xe),...C("id",Jn(t.id))}}function Zo(e){let t=m(e);return {id:Se(t.id,128,1,64),name:Qe(t.name,Xe),displayName:Qe(t.displayName,Xe)}}function er(e){(!Array.isArray(e)||e.length===0||e.length>Ze)&&p();let t=e.map(n=>{let i=m(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!Xo.has(i.alg))&&p(),{type:"public-key",alg:i.alg}});return ar(t.map(n=>n.alg)),t}function Vn(e){if(e===void 0)return;(!Array.isArray(e)||e.length>xn)&&p();let t=e.map(n=>{let i=m(n);return i.type!=="public-key"&&p(),{type:"public-key",id:Se(i.id,En),...C("transports",Re(i.transports,zn))}});return ke(t.map(n=>n.id)),t}function tr(e){if(e===void 0)return;let t=m(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&p();let n=le(t.residentKey,Yo);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&p(),{...C("authenticatorAttachment",le(t.authenticatorAttachment,Wo)),...C("residentKey",n),...C("requireResidentKey",t.requireResidentKey),...C("userVerification",le(t.userVerification,Dn))}}function Kn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Ho)&&p(),e}function Bn(e){return e===void 0?void 0:L(e,No,Lo)}function Re(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Ze)&&p();let n=e.map(i=>tt(i,t));return ke(n),n}function le(e,t){if(e!==void 0)return tt(e,t)}function jn(e){return Se(e,Math.ceil(In*4/3),Mo,In)}function Se(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=ne(e,t),s=o.length%4,c=ir(o.at(-1)??""),l=Math.floor(o.length*3/4);return (!qo.test(o)||s===1||s===2&&(c&15)!==0||s===3&&(c&3)!==0||l<n||l>i)&&p(),o}function ne(e,t){let n=R(e);return (n.length===0||n.length>t)&&p(),n}function Qe(e,t){let n=ne(e,t);return Ko.test(n)&&p(),n}function Jn(e){if(e===void 0)return;let t=ne(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Bo.test(n)))&&p(),t}function nr(e,t){let n=ne(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),s=n.at(i?-3:o?-2:-1)??"",c=$n(s);return (n.length%4!==0||!Vo.test(n)||i&&(c&15)!==0||o&&(c&3)!==0)&&p(),n}function ir(e){return $n(e,true)}function $n(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function or(e){let t=P(e,"name");return t===void 0?{}:(t!==null&&!Ye(t)&&p(),{name:t})}function rr(e){let t=P(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Ze||n.some(i=>!zn.has(i))||new Set(n).size!==n.length)&&p(),{transports:t}}function sr(e){let t=P(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(jo.test(t)||p(),{aaguid:t})}function tt(e,t){let n=R(e);return t.has(n)||p(),n}function C(e,t){return t===void 0?{}:{[e]:t}}function ke(e){new Set(e).size!==e.length&&p();}function ar(e){new Set(e).size!==e.length&&p();}function hr(e,t){if(!t)return e;let n=t.catch(()=>{});return n.then(()=>{n=null;}),{async request(i,o){return n&&await n,e.request(i,o)}}}var Zn=new Map;function yr(e,t,n){let i=Zn.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=Promise.resolve().then(()=>(Ie(),Te)).then(s=>s.completeCrossSiteSignIn(e,t,o)),Zn.set(n,i);}return i}function ei(e){return !oe()||e.idToken||e.disableRedirect?"legacy":"first-party"}function Ar(e,t=()=>{},n=wr){let i=Ue(e),o=e.session.tokens,s=oe()?yr(i,o,e.decoded.projectId):void 0,c=hr(i,s),l=Et({http:c,probe:Ue({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`}),u=n(c,l.notifyMutation),h=()=>{l.notifyMutation(),t();},{post:r,mutation:a}=Q(c,h),f=e.decoded.env==="test",b=d=>{o.beginSession({remember:d?.rememberMe!==false});};return {sessionStore:l.store,getSession:l.getSession,account:Nt(c,h),organization:en(c,h,()=>l.store.getSnapshot().data?.session.membership??null),privacy:tn(c),signIn:{email:(d,g)=>(b(d),a(r("/sign-in/email",d,g,Ge),A=>!("twoFactorRedirect"in A))),username:(d,g)=>(b(d),a(r("/sign-in/username",d,g,Ge),A=>!("twoFactorRedirect"in A))),social:async(d,g)=>{if(b(),ei(d)==="first-party"){let{beginCrossSiteSignIn:O}=await Promise.resolve().then(()=>(Ie(),Te)),k=await O(e,{kind:"social",provider:d.provider,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL,scopes:d.scopes,loginHint:d.loginHint,requestSignUp:d.requestSignUp});if(k)return window.location.assign(k),{data:{redirect:true,url:k},error:null}}let A=await a(r("/sign-in/social",d,g,O=>an(O,f)),O=>"user"in O);return A.error!==null||A.data===null||"url"in A.data&&A.data.redirect&&!d.disableRedirect&&typeof window<"u"&&window.location.assign(A.data.url),A},sso:async(d,g)=>{if(ei(d)==="first-party"){let{beginCrossSiteSignIn:O}=await Promise.resolve().then(()=>(Ie(),Te)),k=await O(e,{kind:"sso",email:d.email,providerId:d.providerId,domain:d.domain,organizationSlug:d.organizationSlug,callbackURL:d.callbackURL,errorCallbackURL:d.errorCallbackURL,newUserCallbackURL:d.newUserCallbackURL});if(k)return window.location.assign(k),{data:{url:k,redirect:true},error:null}}let A=await r("/sign-in/sso",d,g,O=>cn(O,f));return A.error!==null||A.data===null||typeof window<"u"&&window.location.assign(A.data.url),A},magicLink:(d,g)=>r("/sign-in/magic-link",d,g,un),emailOtp:(d,g)=>(b(),a(r("/sign-in/email-otp",d,g,rn))),passkey:(d,g)=>(b(),u.signIn(d,g))},signUp:{email:(d,g)=>(b(),a(r("/sign-up/email",d,g,sn),A=>A.sessionCreated))},emailOtp:{sendVerificationOtp:(d,g)=>r("/email-otp/send-verification-otp",d,g,dn),verifyEmail:(d,g)=>(b(),a(r("/email-otp/verify-email",d,g,mn)))},phoneOtp:{prepare:d=>r("/phone-otp/challenge",{},d,pn),start:(d,g)=>r("/phone-otp/start",{...d,idempotencyKey:d.idempotencyKey??J()},g,ln),verify:(d,g)=>(b(),a(r("/phone-otp/verify",d,g,fn)))},requestPasswordReset:(d,g)=>r("/request-password-reset",d,g,We),resetPassword:(d,g)=>r("/reset-password",d,g,We),sendVerificationEmail:(d,g)=>r("/send-verification-email",d,g,gn),passkey:{addPasskey:(d,g)=>u.add(d,g),listUserPasskeys:()=>c.request("/passkey/list-user-passkeys",{decode:Fn}),updatePasskey:async(d,g)=>{let A=Oe(d.name);if(!A.valid||A.value===void 0)return we();let O=A.value;return r("/passkey/update-passkey",{...d,name:O},g,k=>Hn(k,d.id,O))},deletePasskey:(d,g)=>r("/passkey/delete-passkey",d,g,qn)},twoFactor:{enable:(d,g)=>r("/two-factor/enable",d,g,yn),disable:(d,g)=>a(r("/two-factor/disable",d,g,An),A=>A.status),verifyTotp:(d,g)=>a(r("/two-factor/verify-totp",d,g,Ae)),verifyBackupCode:(d,g)=>a(r("/two-factor/verify-backup-code",d,g,Ae)),sendOtp:(d={},g)=>r("/two-factor/send-otp",d,g,bn),verifyOtp:(d,g)=>a(r("/two-factor/verify-otp",d,g,Ae)),generateBackupCodes:(d,g)=>r("/two-factor/generate-backup-codes",d,g,On)},signOut:d=>a(c.request("/sign-out",{method:"POST",body:{},fetchOptions:d,decode:hn}).then(g=>(o.endSession(),g)),g=>g.success)}}function ot(e,t=()=>{},n){let i=Ar(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:ti(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp,passkey:i.signIn.passkey},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey,addPasskey:i.passkey.addPasskey}}:{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:ti(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function ti(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return br();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?Or():i}}function br(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"NATIVE_SOCIAL_ID_TOKEN_REQUIRED",message:"Native social sign-in requires a provider ID token."}})}function Or(){return Promise.resolve({data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_NATIVE_SOCIAL_RESPONSE",message:"The server returned a redirect for native ID-token sign-in."}})}function wr(){return {signIn:()=>ni(),add:()=>ni()}}function ni(){return Promise.resolve({data:null,error:{status:400,statusText:"BAD_REQUEST",code:"PASSKEY_BROWSER_REQUIRED",message:"This passkey ceremony requires a browser with WebAuthn."}})}function Rr(e,t,n){let i=new Map;return {async signIn(o={},s){let c=await e.request("/passkey/generate-authenticate-options");if(!c.data)return ri(c.error);let l;try{l=Un(c.data);}catch{return ii()}let u;try{u=await n.authenticate({optionsJSON:l,useBrowserAutofill:o.autoFill});}catch(b){return si(n,b,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!kr(u))return oi();let{clientExtensionResults:h,...r}=u,a=i.get(u.id);if(a)return a;let f=(async()=>{let b=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:r},fetchOptions:s,decode:Ln});return b.data&&t(),b})();i.set(u.id,f);try{return await f}finally{i.get(u.id)===f&&i.delete(u.id);}},async add(o={},s){let c=Oe(o.name);if(!c.valid)return we();let l=await e.request("/passkey/generate-register-options",{query:{name:c.value,authenticatorAttachment:o.authenticatorAttachment}});if(!l.data)return ri(l.error);let u;try{u=Nn(l.data);}catch{return ii()}let h;try{h=await n.register({optionsJSON:u});}catch(b){return si(n,b,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!Sr(h))return oi();let{clientExtensionResults:r,...a}=h,f=await e.request("/passkey/verify-registration",{method:"POST",body:{response:a,name:c.value},fetchOptions:s,decode:b=>Mn(b,h.id,c.value)});return f.data&&t(),f}}}function ii(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function oi(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function ci(e){if(!e||typeof e!="object")return false;let t=e;return typeof t.id=="string"&&t.id.length>0&&typeof t.rawId=="string"&&t.rawId.length>0&&t.type==="public-key"&&!!t.response&&typeof t.response=="object"}function kr(e){if(!ci(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.authenticatorData=="string"&&typeof t.signature=="string"&&(t.userHandle===void 0||typeof t.userHandle=="string")}function Sr(e){if(!ci(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function ri(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function si(e,t,n,i){let o=Ir(t,"page does not have focus"),s=e.errorCode?.(t),c=s!==void 0?s==="ERROR_CEREMONY_ABORTED":ai(t)==="AbortError",l=n!=="AUTH_CANCELLED",u=Tr(s,ai(t),l);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":c?n:s??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":c?i:u}}}function Tr(e,t,n){switch(e){case "ERROR_INVALID_DOMAIN":case "ERROR_INVALID_RP_ID":return "Passkeys are not set up for this site\u2019s domain.";case "ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED":return "This device already has a passkey for this account.";case "ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEY_ALGS":case "ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT":case "ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT":return "This device cannot create a passkey for this site.";}return t==="NotAllowedError"?n?"No passkey was created. The prompt was dismissed or timed out.":"No passkey was used. This device may not have one saved for this site yet, or the prompt was dismissed.":t==="SecurityError"?"Passkeys are not set up for this site\u2019s domain.":n?"Passkey registration did not complete.":"Passkey sign-in did not complete."}function ai(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Ir(e,t){let n=t.toLowerCase(),i=new Set,o=e;for(;o&&typeof o=="object"&&!i.has(o);){if(i.add(o),"message"in o&&typeof o.message=="string"&&o.message.toLowerCase().includes(n))return true;o="cause"in o?o.cause:void 0;}return false}async function Pr(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return It(await ge(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:i=>vr(i,e)}),"public-config")}function vr(e,t){let n=L(e),i=n.environmentId,o=n.environmentType,s=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!rt(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==s)throw x();let c=v(n.branding),l=v(n.legal);if(!$(n.enabledMethods,64)||!$(n.socialProviders,64)||!pi(c,["appName","logoUrl","primaryColor"])||c.showAppName!==void 0&&typeof c.showAppName!="boolean"||c.alignment!==void 0&&c.alignment!=="left"&&c.alignment!=="center"&&c.alignment!=="right"||c.theme!==void 0&&c.theme!=="light"&&c.theme!=="dark"&&c.theme!=="system"||!pi(l,["termsUrl","privacyUrl"])||!Number.isSafeInteger(l.version)||l.version<0||typeof l.required!="boolean")throw x();if(n.socialProviderClientIds!==void 0){let u=v(n.socialProviderClientIds);if(Object.keys(u).length>64||Object.values(u).some(h=>typeof h!="string"||h.length>2048))throw x()}if(!H(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!ui(n.turnstileSiteKey)||!ui(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw x();if(n.jwtIssuer!==null){let u=v(n.jwtIssuer);if(u.issuer!==s||u.jwksUrl!==`${s}/jwks`||u.aud!==t.decoded.projectId)throw x()}if(n.signUp!==void 0){let u=v(n.signUp).mode;if(typeof u!="string"||!["open","restricted","allowlist","waitlist"].includes(u))throw x()}if(n.authentication!==void 0&&Cr(n.authentication),n.privacy!==void 0&&xr(n.privacy),n.emailVerification!==void 0){let u=v(n.emailVerification);if(!H(u,["required"])||u.method!=="link"&&u.method!=="code")throw x()}if(n.userModel!==void 0&&!H(v(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw x();if(n.mfa!==void 0){let u=v(n.mfa);if(!H(u,["totp","required","backupCodes"])||(u.required===true||u.backupCodes===true)&&u.totp!==true)throw x()}if(n.captcha===void 0||n.captcha===null)n.captcha=typeof n.authTurnstileSiteKey=="string"&&n.authTurnstileSiteKey.length>0?{provider:"turnstile",siteKey:n.authTurnstileSiteKey}:null;else {let u=v(n.captcha);if(typeof u.provider!="string"||u.provider.length===0||u.provider.length>64||typeof u.siteKey!="string"||u.siteKey.length===0||u.siteKey.length>512)throw x();n.captcha={provider:u.provider,siteKey:u.siteKey};}return n}function rt(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function x(){return new TypeError("public-config returned an invalid response")}function v(e){if(!e||typeof e!="object"||Array.isArray(e))throw x();return e}function ui(e){return e===null||typeof e=="string"&&e.length<=4096}function Cr(e){let t=v(e),n=v(t.email),i=v(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!H(n,["signUp"])||!$(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!H(v(t.phone),["signUp","signIn"])||!H(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!H(v(t.passkey),["signIn","add"])||!Er(v(t.passkey).relyingPartyId)||!H(v(t.username),["collectOnSignUp","signIn"]))throw x()}function xr(e){let t=v(e);if(!Array.isArray(t.notices)||!Array.isArray(t.consentPurposes)||t.notices.length>64||t.consentPurposes.length>64)throw x();for(let n of t.notices){let i=v(n);if(di(i,"noticeId","noticeVersionId"),Pe(i.title,512),Pe(i.body,1e5),li(i.digest),!$(i.activityCodes,128)||!$(i.purposeCodes,128)||typeof i.effectiveFrom!="string"||!Number.isFinite(Date.parse(i.effectiveFrom)))throw x()}for(let n of t.consentPurposes){let i=v(n);if(di(i,"purposeId","purposeVersionId"),Pe(i.title,512),Pe(i.description,1e4),li(i.digest),!$(i.activityCodes,128)||!$(i.dataCategories,128))throw x()}}function di(e,t,n){if(typeof e[t]!="string"||!rt(e[t])||typeof e[n]!="string"||!rt(e[n])||typeof e.code!="string"||!/^[a-z][a-z0-9_]{0,63}$/.test(e.code)||!Number.isSafeInteger(e.version)||e.version<1)throw x()}function Pe(e,t){let n=v(e);if(typeof n.en!="string"||n.en.length===0||n.en.length>t||typeof n.ar!="string"||n.ar.length===0||n.ar.length>t)throw x()}function li(e){let t=v(e);if(typeof t.en!="string"||!/^[a-f0-9]{64}$/.test(t.en)||typeof t.ar!="string"||!/^[a-f0-9]{64}$/.test(t.ar))throw x()}function Er(e){return e==null||typeof e=="string"}function H(e,t){return t.every(n=>typeof e[n]=="boolean")}function pi(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function $(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var fi=["en","ar"];function Dr(e){return e==="ar"?"rtl":"ltr"}function zr(e){return typeof e=="string"&&fi.includes(e)}function _r(e,t,n,i=J()){return {locale:t,correlationId:i,noticeVersionIds:e.notices.map(o=>o.noticeVersionId),consentDecisions:e.consentPurposes.flatMap(o=>{let s=e.notices.find(c=>c.purposeCodes.includes(o.code));return s?[{purposeCode:o.code,purposeVersionId:o.purposeVersionId,noticeVersionId:s.noticeVersionId,decision:n.has(o.code)?"granted":"refused",guardianRequired:false,guardianEvidenceId:null}]:[]})}}function Ur(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,s=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(c=>c==="password"||c==="magic_link"||c==="email_otp"),passwordSignUp:o?.password.signUp??n,phoneSignUp:o?.phone.signUp??t.includes("phone_otp"),passwordSignIn:o?.email.signIn.includes("password")??n,passwordMinLength:o?.password.minLength??8,passwordMaxLength:o?.password.maxLength??128,magicLinkSignIn:o?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:o?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:o?.phone.signIn??t.includes("phone_otp"),usernameSignIn:o?.username.signIn??false,collectUsername:o?.username.collectOnSignUp??false,passkeySignIn:o?.passkey.signIn??i,passkeyAdd:o?.passkey.add??i,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:s?.totp??e?.twoFactor??false,mfaRequired:s?.required??e?.mfaRequired??false,backupCodes:s?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}function Nr(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}function ca(e,t){return ot(xe(e),t)}
2
+ exports.LOCALES=fi;exports.buildPrivacySignUpEvidence=_r;exports.createIdempotencyKey=J;exports.createMembershipHas=fo;exports.createNativeAuthClient=ot;exports.createNativeClient=ca;exports.createPasskeyClient=Rr;exports.decodePublishableKey=ve;exports.directionFor=Dr;exports.getPublicConfig=Pr;exports.isLocale=zr;exports.resolveConfig=xe;exports.resolveProjectCapabilities=Ur;exports.sessionCookieName=Nr;
package/dist/native.d.cts CHANGED
@@ -1,8 +1,13 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-B05mzhtA.cjs';
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-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';
1
+ import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-DSqmZLkN.cjs';
2
+ export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig } from './organization-membership-DSqmZLkN.cjs';
3
+ import { b as AuthOwlClient, S as SocialIdTokenOptions, c as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, d as PasskeyAuthData, e as AddPasskeyOptions, f as AuthPasskey } from './client-2xyOK_yb.cjs';
4
+ export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as PrivacyClient, m as PrivacyConsentPreference, n as PrivacyConsentState, o as PrivacyLocale, p as PrivacyRightState, q as PrivacyRightType, r as PrivacyRightsRequest, P as PublicConfig, R as RecordPrivacyConsentOptions, s as SessionState, t as SessionStore, u as SetActiveOrganizationOptions, v as SocialAuthData, w as getPublicConfig } from './client-2xyOK_yb.cjs';
5
+ import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-BWgUuHGa.cjs';
6
+ export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-BWgUuHGa.cjs';
5
7
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
8
+ export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.cjs';
9
+ export { buildPrivacySignUpEvidence } from './privacy.cjs';
10
+ export { s as sessionCookieName } from './cookie-BqcfagTw.cjs';
6
11
 
7
12
  type AuthActionClient = Omit<AuthOwlClient, 'getToken' | 'getConsentStatus' | 'acceptConsent' | 'waitlist'>;
8
13
  /** Native social sign-in uses an ID token obtained from the provider SDK. */
package/dist/native.d.ts CHANGED
@@ -1,8 +1,13 @@
1
- import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-B05mzhtA.js';
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-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';
1
+ import { R as ResolvedAuthConfig, A as AuthConfig } from './organization-membership-DSqmZLkN.js';
2
+ export { D as DecodedPublishableKey, H as HasParams, O as OrganizationMembership, c as createMembershipHas, d as decodePublishableKey, r as resolveConfig } from './organization-membership-DSqmZLkN.js';
3
+ import { b as AuthOwlClient, S as SocialIdTokenOptions, c as PasskeySignInOptions, A as ActionFetchOptions, a as AuthActionResult, d as PasskeyAuthData, e as AddPasskeyOptions, f as AuthPasskey } from './client-Za31KAN3.js';
4
+ export { g as AuthClientError, h as AuthSession, i as AuthUser, C as CreatePrivacyRightsRequestOptions, O as Organization, j as OrganizationClient, k as OrganizationDetails, l as PrivacyClient, m as PrivacyConsentPreference, n as PrivacyConsentState, o as PrivacyLocale, p as PrivacyRightState, q as PrivacyRightType, r as PrivacyRightsRequest, P as PublicConfig, R as RecordPrivacyConsentOptions, s as SessionState, t as SessionStore, u as SetActiveOrganizationOptions, v as SocialAuthData, w as getPublicConfig } from './client-Za31KAN3.js';
5
+ import { c as createAuthHttpClient, A as AuthHttpClient } from './idempotency-BidZZuun.js';
6
+ export { P as ProjectCapabilities, a as createIdempotencyKey, r as resolveProjectCapabilities } from './idempotency-BidZZuun.js';
5
7
  import { startAuthentication, startRegistration } from '@simplewebauthn/browser';
8
+ export { a as LOCALES, L as Locale, d as directionFor, i as isLocale } from './index-DgVPDEYx.js';
9
+ export { buildPrivacySignUpEvidence } from './privacy.js';
10
+ export { s as sessionCookieName } from './cookie-BqcfagTw.js';
6
11
 
7
12
  type AuthActionClient = Omit<AuthOwlClient, 'getToken' | 'getConsentStatus' | 'acceptConsent' | 'waitlist'>;
8
13
  /** Native social sign-in uses an ID token obtained from the provider SDK. */
package/dist/native.js CHANGED
@@ -1 +1 @@
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};
1
+ import {l}from'./chunk-Y2VJN76I.js';export{l as createNativeAuthClient,m as createPasskeyClient,n as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-Y2VJN76I.js';export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';export{a as buildPrivacySignUpEvidence}from'./chunk-MW6RNUTR.js';export{a as createIdempotencyKey}from'./chunk-5NL5GJW6.js';import {n}from'./chunk-V3MSLXXB.js';export{F as createMembershipHas,a as decodePublishableKey,n as resolveConfig,b as sessionCookieName}from'./chunk-V3MSLXXB.js';import'./chunk-T5SH3ZZP.js';function P(i,o){return l(n(i),o)}export{P as createNativeClient};
@@ -5,35 +5,6 @@ type DecodedPublishableKey = {
5
5
  };
6
6
  declare function decodePublishableKey(key: string): DecodedPublishableKey;
7
7
 
8
- /**
9
- * The exact session-cookie name the auth server sets for a given project.
10
- *
11
- * Single source of truth for the cookie name across the SDK. The server
12
- * (the AuthOwl server project factory) configures
13
- * `advanced.cookiePrefix = "p_" + <projectId without dashes>` and
14
- * `useSecureCookies` in production; the auth engine then names the session
15
- * cookie `${securePrefix}${cookiePrefix}.session_token`, where `securePrefix`
16
- * is `__Secure-` for secure cookies and empty otherwise:
17
- *
18
- * dev (http): p_<idNoDashes>.session_token
19
- * prod (https): __Secure-p_<idNoDashes>.session_token
20
- *
21
- * Verified 2026-07-06 against the auth engine's `getCookies()` with the server's
22
- * real config (see CONTRACTS section 5 and `cookie.test.ts`). Note the engine
23
- * joins the prefix and name with a dot (`.`), not an underscore, and uses the
24
- * `__Secure-` (not `__Host-`) prefix - both are easy to get wrong by hand, and
25
- * getting them wrong makes `auth()` forward a cookie the server never set. If an
26
- * auth-engine upgrade changes cookie naming, re-verify and update this function,
27
- * the `cookie.test.ts` fixtures, and CONTRACTS section 5 together.
28
- *
29
- * `secure` must reflect the SERVER's cookie mode: callers holding the auth API
30
- * URL derive it from the protocol (`https:` => secure). Callers that cannot
31
- * know it (the UX-only redirect middleware) should check both variants.
32
- */
33
- declare function sessionCookieName(projectId: string, opts?: {
34
- secure?: boolean;
35
- }): string;
36
-
37
8
  /** How a session BEGINS, as the minting door knows it. */
38
9
  type SessionStart = {
39
10
  /**
@@ -466,4 +437,4 @@ declare function createMembershipHas(membership: OrganizationMembership | null |
466
437
  }) => boolean;
467
438
  };
468
439
 
469
- export { type AuthConfig as A, type DecodedPublishableKey as D, type HasParams as H, type OrganizationMembership as O, type ResolvedAuthConfig as R, TransportError as T, type ResolvedAuthTarget as a, type TransportErrorKind as b, createMembershipHas as c, decodePublishableKey as d, membershipHasPermission as e, membershipHasRole as f, membershipHasTeam as g, resolveConfig as h, membershipHas as m, resolveAuthTarget as r, sessionCookieName as s };
440
+ export { type AuthConfig as A, type DecodedPublishableKey as D, type HasParams as H, type OrganizationMembership as O, type ResolvedAuthConfig as R, TransportError as T, type ResolvedAuthTarget as a, type TransportErrorKind as b, createMembershipHas as c, decodePublishableKey as d, membershipHasPermission as e, membershipHasRole as f, membershipHasTeam as g, resolveAuthTarget as h, membershipHas as m, resolveConfig as r };
@@ -5,35 +5,6 @@ type DecodedPublishableKey = {
5
5
  };
6
6
  declare function decodePublishableKey(key: string): DecodedPublishableKey;
7
7
 
8
- /**
9
- * The exact session-cookie name the auth server sets for a given project.
10
- *
11
- * Single source of truth for the cookie name across the SDK. The server
12
- * (the AuthOwl server project factory) configures
13
- * `advanced.cookiePrefix = "p_" + <projectId without dashes>` and
14
- * `useSecureCookies` in production; the auth engine then names the session
15
- * cookie `${securePrefix}${cookiePrefix}.session_token`, where `securePrefix`
16
- * is `__Secure-` for secure cookies and empty otherwise:
17
- *
18
- * dev (http): p_<idNoDashes>.session_token
19
- * prod (https): __Secure-p_<idNoDashes>.session_token
20
- *
21
- * Verified 2026-07-06 against the auth engine's `getCookies()` with the server's
22
- * real config (see CONTRACTS section 5 and `cookie.test.ts`). Note the engine
23
- * joins the prefix and name with a dot (`.`), not an underscore, and uses the
24
- * `__Secure-` (not `__Host-`) prefix - both are easy to get wrong by hand, and
25
- * getting them wrong makes `auth()` forward a cookie the server never set. If an
26
- * auth-engine upgrade changes cookie naming, re-verify and update this function,
27
- * the `cookie.test.ts` fixtures, and CONTRACTS section 5 together.
28
- *
29
- * `secure` must reflect the SERVER's cookie mode: callers holding the auth API
30
- * URL derive it from the protocol (`https:` => secure). Callers that cannot
31
- * know it (the UX-only redirect middleware) should check both variants.
32
- */
33
- declare function sessionCookieName(projectId: string, opts?: {
34
- secure?: boolean;
35
- }): string;
36
-
37
8
  /** How a session BEGINS, as the minting door knows it. */
38
9
  type SessionStart = {
39
10
  /**
@@ -466,4 +437,4 @@ declare function createMembershipHas(membership: OrganizationMembership | null |
466
437
  }) => boolean;
467
438
  };
468
439
 
469
- export { type AuthConfig as A, type DecodedPublishableKey as D, type HasParams as H, type OrganizationMembership as O, type ResolvedAuthConfig as R, TransportError as T, type ResolvedAuthTarget as a, type TransportErrorKind as b, createMembershipHas as c, decodePublishableKey as d, membershipHasPermission as e, membershipHasRole as f, membershipHasTeam as g, resolveConfig as h, membershipHas as m, resolveAuthTarget as r, sessionCookieName as s };
440
+ export { type AuthConfig as A, type DecodedPublishableKey as D, type HasParams as H, type OrganizationMembership as O, type ResolvedAuthConfig as R, TransportError as T, type ResolvedAuthTarget as a, type TransportErrorKind as b, createMembershipHas as c, decodePublishableKey as d, membershipHasPermission as e, membershipHasRole as f, membershipHasTeam as g, resolveAuthTarget as h, membershipHas as m, resolveConfig as r };
@@ -0,0 +1 @@
1
+ 'use strict';function r(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let i=Array.from(e,o=>o.toString(16).padStart(2,"0")).join("");return `${i.slice(0,8)}-${i.slice(8,12)}-${i.slice(12,16)}-${i.slice(16,20)}-${i.slice(20)}`}function a(e,i,o,t=r()){return {locale:i,correlationId:t,noticeVersionIds:e.notices.map(n=>n.noticeVersionId),consentDecisions:e.consentPurposes.flatMap(n=>{let c=e.notices.find(s=>s.purposeCodes.includes(n.code));return c?[{purposeCode:n.code,purposeVersionId:n.purposeVersionId,noticeVersionId:c.noticeVersionId,decision:o.has(n.code)?"granted":"refused",guardianRequired:false,guardianEvidenceId:null}]:[]})}}exports.buildPrivacySignUpEvidence=a;
@@ -0,0 +1,24 @@
1
+ import { P as PublicConfig, o as PrivacyLocale } from './client-2xyOK_yb.cjs';
2
+ import './organization-membership-DSqmZLkN.cjs';
3
+
4
+ type PrivacyPublicConfig = NonNullable<PublicConfig['privacy']>;
5
+ /**
6
+ * Build the exact notice-delivery and optional-purpose evidence accepted by
7
+ * sign-up. Shared by browser and native UI so every managed surface emits the
8
+ * same version-pinned contract.
9
+ */
10
+ declare function buildPrivacySignUpEvidence(privacy: PrivacyPublicConfig, locale: PrivacyLocale, grantedPurposeCodes: ReadonlySet<string>, correlationId?: string): {
11
+ locale: PrivacyLocale;
12
+ correlationId: string;
13
+ noticeVersionIds: string[];
14
+ consentDecisions: {
15
+ purposeCode: string;
16
+ purposeVersionId: string;
17
+ noticeVersionId: string;
18
+ decision: "granted" | "refused";
19
+ guardianRequired: boolean;
20
+ guardianEvidenceId: null;
21
+ }[];
22
+ };
23
+
24
+ export { PrivacyLocale, buildPrivacySignUpEvidence };
@@ -0,0 +1,24 @@
1
+ import { P as PublicConfig, o as PrivacyLocale } from './client-Za31KAN3.js';
2
+ import './organization-membership-DSqmZLkN.js';
3
+
4
+ type PrivacyPublicConfig = NonNullable<PublicConfig['privacy']>;
5
+ /**
6
+ * Build the exact notice-delivery and optional-purpose evidence accepted by
7
+ * sign-up. Shared by browser and native UI so every managed surface emits the
8
+ * same version-pinned contract.
9
+ */
10
+ declare function buildPrivacySignUpEvidence(privacy: PrivacyPublicConfig, locale: PrivacyLocale, grantedPurposeCodes: ReadonlySet<string>, correlationId?: string): {
11
+ locale: PrivacyLocale;
12
+ correlationId: string;
13
+ noticeVersionIds: string[];
14
+ consentDecisions: {
15
+ purposeCode: string;
16
+ purposeVersionId: string;
17
+ noticeVersionId: string;
18
+ decision: "granted" | "refused";
19
+ guardianRequired: boolean;
20
+ guardianEvidenceId: null;
21
+ }[];
22
+ };
23
+
24
+ export { PrivacyLocale, buildPrivacySignUpEvidence };
@@ -0,0 +1 @@
1
+ export{a as buildPrivacySignUpEvidence}from'./chunk-MW6RNUTR.js';import'./chunk-5NL5GJW6.js';