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