@authowl/core 0.21.1 → 0.22.1

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