@authowl/core 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Locale primitives shared across packages (plan 04, B.3). Deliberately tiny:
3
+ * the message CATALOGS live in @authowl/react (they are component strings -
4
+ * headless @authowl/core consumers shouldn't ship ~5kb of UI copy), while the
5
+ * locale identity/direction helpers here are needed by anything that reads
6
+ * public-config `locale` or renders direction-aware UI.
7
+ */
8
+ declare const LOCALES: readonly ["en", "ar"];
9
+ type Locale = (typeof LOCALES)[number];
10
+ /** Text direction for a locale - drives the `dir` attribute on the component root. */
11
+ declare function directionFor(locale: Locale): 'ltr' | 'rtl';
12
+ /** Narrow an arbitrary string (e.g. public-config `locale`) to a supported Locale. */
13
+ declare function isLocale(value: unknown): value is Locale;
14
+
15
+ export { LOCALES as L, type Locale as a, directionFor as d, isLocale as i };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Locale primitives shared across packages (plan 04, B.3). Deliberately tiny:
3
+ * the message CATALOGS live in @authowl/react (they are component strings -
4
+ * headless @authowl/core consumers shouldn't ship ~5kb of UI copy), while the
5
+ * locale identity/direction helpers here are needed by anything that reads
6
+ * public-config `locale` or renders direction-aware UI.
7
+ */
8
+ declare const LOCALES: readonly ["en", "ar"];
9
+ type Locale = (typeof LOCALES)[number];
10
+ /** Text direction for a locale - drives the `dir` attribute on the component root. */
11
+ declare function directionFor(locale: Locale): 'ltr' | 'rtl';
12
+ /** Narrow an arbitrary string (e.g. public-config `locale`) to a supported Locale. */
13
+ declare function isLocale(value: unknown): value is Locale;
14
+
15
+ export { LOCALES as L, type Locale as a, directionFor as d, isLocale as i };
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var Fn=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,Vn=/^sk_/i;function ke(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(Vn.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=Fn.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1],env:t[2],projectId:t[3]}}function qn(e,t){let n=`p_${e.replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var Xe=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function Se(e,t){throw new Error(`${e}: ${t}`)}function Qe(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 o=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&Xe.test(o)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function Ze(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&Se("apiUrl","origin required");let n;try{n=new URL(e);}catch{Se("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!Xe.test(e))&&Se("apiUrl","HTTPS required except exact loopback"),n.origin}function Kn(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=ke(e.publishableKey),n=Ze(e.apiUrl,{allowHttpLoopback:t.env==="test"}),o=`${n}/api/projects/${t.projectId}/auth`;return {...e,apiUrl:n,decoded:t,projectBaseURL:o}}var Hn=1e4,Bn=1024*1024,T=class extends Error{kind;requestId;constructor(t,n){super(Qn(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},nt=new WeakSet;function E(e,t){let n=new T(e,t);return nt.add(n),n}async function ne({fetchImpl:e,url:t,init:n={},timeoutMs:o=Hn,maxResponseBytes:i=Bn,allowHttpLoopback:a=false,decode:r}){tt(o,"timeoutMs"),tt(i,"maxResponseBytes");let s=Qe(t,{allowHttpLoopback:a}),c=n.signal,l=new AbortController,u=null,f,m=new Promise(A=>{f=A;}),h=A=>{u===null&&(u=A,f({type:"abort",kind:A}),l.abort());},g=()=>h("aborted");c?.addEventListener("abort",g,{once:true});let U=setTimeout(()=>h("timeout"),o);c?.aborted&&g();try{if(u!==null)throw E(u);let A;try{A=await Promise.race([e(s.toString(),{...n,redirect:"error",signal:l.signal}).then(Re=>({type:"response",response:Re})),m]);}catch{throw E(u??"network")}if(A.type==="abort")throw E(A.kind);if(!jn(A.response))throw E("invalid_response");let v=A.response,z=Xn(v.headers),V=await Jn(v,i,m,()=>u,z),X=$n(v,V,z),q;try{q=v.ok&&r?r(X,Object.freeze({status:v.status})):X;}catch{throw E("invalid_response",z)}return {response:v,data:q,...z===void 0?{}:{requestId:z}}}catch(A){throw A instanceof T&&nt.has(A)?A:E(u??"network")}finally{clearTimeout(U),c?.removeEventListener("abort",g);}}function jn(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 Jn(e,t,n,o,i){let a=e.headers.get("content-length");if(a!==null){if(!/^\d+$/.test(a))throw et(e.body),E("invalid_response",i);if(Number(a)>t)throw et(e.body),E("response_too_large",i)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw E("network",i)}let s=[],c=0,l=null;try{for(;;){let m;try{m=await Promise.race([r.read(),n]);}catch{l=E(o()??"network",i);break}if(Gn(m)){l=E(m.kind,i);break}let{done:h,value:g}=m;if(h)break;if(g.byteLength!==0){if(c+=g.byteLength,c>t){l=E("response_too_large",i);break}s.push(g);}}}finally{l&&Wn(r);try{r.releaseLock();}catch{}}if(l)throw l;let u=new Uint8Array(c),f=0;for(let m of s)u.set(m,f),f+=m.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(u)}catch{throw E("invalid_response",i)}}function Gn(e){return "type"in e&&e.type==="abort"}function et(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Wn(e){try{e.cancel().catch(()=>{});}catch{}}function $n(e,t,n){if(e.status===204||e.status===205)return null;let o=Yn(e.headers.get("content-type"));if(!e.ok&&(!o||t.length===0))return null;if(!o||t.length===0)throw E("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw E("invalid_response",n)}}function Yn(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function Xn(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function tt(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function Qn(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 rt="x-authowl-turnstile-token",Zn=1e4,eo=32,to=2e4;function J(e,t){return {post:(n,o,i,a)=>e.request(n,{method:"POST",body:o,fetchOptions:i,decode:a}),mutation:async(n,o)=>{let i=await n;return i.error===null&&(o===void 0||i.data!==null&&o(i.data))&&t(),i}}}function oe(e,t=e.projectBaseURL){return {async request(n,o={}){let i=io(t,n,o.query),a=o.method??(o.body===void 0?"GET":"POST"),r=new Headers(o.fetchOptions?.headers);r.set("x-publishable-key",e.publishableKey),o.fetchOptions?.authChallengeToken&&r.set(rt,o.fetchOptions.authChallengeToken),o.body!==void 0&&r.set("content-type","application/json");let s={method:a,headers:r,credentials:o.credentials??"include",...o.body===void 0?{}:{body:JSON.stringify(o.body)}},c=Object.freeze({method:a,path:n});await o.fetchOptions?.onRequest?.(c);let l=oo(a,o.fetchOptions),u;try{u=await no(e,i,{...s,signal:o.fetchOptions?.signal},l);}catch(A){let v=it(A);return await o.fetchOptions?.onError?.(Te(c,v,so(A))),{data:null,error:v}}let{response:f,requestId:m}=u,h=lo(n,u.data),g=h;if(f.ok)try{g=xe(h),o.decode&&(g=o.decode(g));}catch{let A=it(new T("invalid_response",m));return await o.fetchOptions?.onError?.(Te(c,A,"invalid_response")),{data:null,error:A}}let U=Object.freeze({...c,status:f.status,...m===void 0?{}:{requestId:m}});if(await o.fetchOptions?.onResponse?.(U),!f.ok){let A=ro(f,h,m);return await o.fetchOptions?.onError?.(Te(c,A,"api")),{data:null,error:A}}return await o.fetchOptions?.onSuccess?.(U),{data:g,error:null}}}}async function no(e,t,n,o){let i=Date.now()+Zn;for(let a=0;a<o;a+=1){let r=i-Date.now();if(r<=0)throw new T("timeout");try{let s=await ne({fetchImpl:e.fetch??fetch,url:t,init:n,timeoutMs:Math.max(1,Math.ceil(r)),allowHttpLoopback:e.decoded.env==="test"});if(s.response.status<500||a===o-1)return s}catch(s){if(a===o-1||!(s instanceof T)||s.kind!=="network")throw s}await co(50*2**a,n.signal,i);}throw new T("network")}function oo(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 io(e,t,n){let o=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[i,a]of Object.entries(n??{}))a!==void 0&&o.searchParams.set(i,String(a));return o.toString()}function ro(e,t,n){let o=Q(t)?t:{},i=ao(o,e.headers);return {status:e.status,statusText:e.statusText,code:typeof o.code=="string"?o.code:void 0,...n===void 0?{}:{requestId:n},...typeof o.current_version=="number"?{currentVersion:o.current_version}:{},...i!==void 0?{retryAfterSeconds:i}:{},message:typeof o.message=="string"?o.message:typeof o.error=="string"?o.error:typeof o.detail=="string"?o.detail:e.statusText||"Request failed"}}function ao(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??ot(t.get("retry-after"))??ot(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function ot(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 it(e){let t=e instanceof T?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 T&&e.requestId?{requestId:e.requestId}:{}}}function Te(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function so(e){return e instanceof T?e.kind:"network"}function co(e,t,n){return new Promise((o,i)=>{if(t?.aborted){i(new T("aborted"));return}let a=n-Date.now();if(a<=0){i(new T("timeout"));return}let r=Math.min(e,a),s=()=>{clearTimeout(c),i(new T("aborted"));},c=setTimeout(()=>{t?.removeEventListener("abort",s),Date.now()>=n?i(new T("timeout")):o();},r);t?.addEventListener("abort",s,{once:true}),t?.aborted&&s();})}function xe(e,t="",n=0,o={nodes:0}){if(o.nodes+=1,n>eo||o.nodes>to)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let i=new Date(e);return Number.isNaN(i.getTime())?e:i}return Array.isArray(e)?e.map(i=>xe(i,"",n+1,o)):Q(e)?Object.fromEntries(Object.entries(e).map(([i,a])=>[i,uo(i)?a:xe(a,i,n+1,o)])):e}function uo(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function lo(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(i=>Q(i)?Ee(i):i);if(!Q(t))return t;let o=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?Ee(t):t;return e==="/sign-up/email"&&!("sessionCreated"in o)&&(o={...o,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&Q(o.session)&&(o={...o,session:Ee(o.session)}),o}function Ee(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function Q(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}function I(e){let t=new Uint8Array(e),n="";for(let i of t)n+=String.fromCharCode(i);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function K(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,o=t.padEnd(t.length+n,"="),i=atob(o),a=new ArrayBuffer(i.length),r=new Uint8Array(a);for(let s=0;s<i.length;s++)r[s]=i.charCodeAt(s);return a}function H(){return po.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var po={stubThis:e=>e};function ie(e){let{id:t}=e;return {...e,id:K(t),transports:e.transports}}function re(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var y=class extends Error{constructor({message:t,code:n,cause:o,name:i}){super(t,{cause:o}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=i??o.name,this.code=n;}};function at({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new y({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new y({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new y({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new y({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new y({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new y({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(i=>i.type==="public-key").length===0?new y({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new y({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(re(o)){if(n.rp.id!==o)return new y({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new y({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new y({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var Ie=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},ae=new Ie;var fo=["cross-platform","platform"];function se(e){if(e&&!(fo.indexOf(e)<0))return e}async function st(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=false}=e;if(!H())throw new Error("WebAuthn is not supported in this browser");let o={...t,challenge:K(t.challenge),user:{...t.user,id:K(t.user.id)},excludeCredentials:t.excludeCredentials?.map(ie)},i={};n&&(i.mediation="conditional"),i.publicKey=o,i.signal=ae.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i);}catch(g){throw at({error:g,options:i})}if(!a)throw new Error("Registration was not completed");let{id:r,rawId:s,response:c,type:l}=a,u;typeof c.getTransports=="function"&&(u=c.getTransports());let f;if(typeof c.getPublicKeyAlgorithm=="function")try{f=c.getPublicKeyAlgorithm();}catch(g){Pe("getPublicKeyAlgorithm()",g);}let m;if(typeof c.getPublicKey=="function")try{let g=c.getPublicKey();g!==null&&(m=I(g));}catch(g){Pe("getPublicKey()",g);}let h;if(typeof c.getAuthenticatorData=="function")try{h=I(c.getAuthenticatorData());}catch(g){Pe("getAuthenticatorData()",g);}return {id:r,rawId:I(s),response:{attestationObject:I(c.attestationObject),clientDataJSON:I(c.clientDataJSON),transports:u,publicKeyAlgorithm:f,publicKey:m,authenticatorData:h},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:se(a.authenticatorAttachment)}}function Pe(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
- `,t);}function ct(){if(!H())return De.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?De.stubThis(new Promise(t=>t(false))):De.stubThis(e.isConditionalMediationAvailable())}var De={stubThis:e=>e};function ut({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new y({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new y({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(re(o)){if(n.rpId!==o)return new y({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new y({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function lt(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:o=true}=e;if(!H())throw new Error("WebAuthn is not supported in this browser");let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(ie));let a={...t,challenge:K(t.challenge),allowCredentials:i},r={};if(n){if(!await ct())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&o)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');r.mediation="conditional",a.allowCredentials=[];}r.publicKey=a,r.signal=ae.createNewAbortSignal();let s;try{s=await navigator.credentials.get(r);}catch(h){throw ut({error:h,options:r})}if(!s)throw new Error("Authentication was not completed");let{id:c,rawId:l,response:u,type:f}=s,m;return u.userHandle&&(m=I(u.userHandle)),{id:c,rawId:I(l),response:{authenticatorData:I(u.authenticatorData),clientDataJSON:I(u.clientDataJSON),signature:I(u.signature),userHandle:m},type:f,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:se(s.authenticatorAttachment)}}var mo=new Set(["__proto__","constructor","prototype"]);function p(e){(!e||typeof e!="object"||Array.isArray(e))&&d();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&d(),e}function w(e){return typeof e!="string"&&d(),e}function b(e){return typeof e!="boolean"&&d(),e}function k(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&d(),e}function ce(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&d(),[...e]}function R(e,t){let n=e[t];return n==null||typeof n=="string"?n:d()}function dt(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:d()}function D(e){let t=p(e),n=t.email;return n!==null&&typeof n!="string"&&d(),{id:w(t.id),email:n,emailVerified:b(t.emailVerified),createdAt:k(t.createdAt),updatedAt:k(t.updatedAt),...P("phoneNumber",R(t,"phoneNumber")),...P("username",R(t,"username")),...P("displayUsername",R(t,"displayUsername")),...P("firstName",R(t,"firstName")),...P("lastName",R(t,"lastName")),...P("name",R(t,"name")),...P("image",R(t,"image")),...P("twoFactorEnabled",dt(t,"twoFactorEnabled"))}}function ue(e){let t=p(e),n=t.membership;return {id:w(t.id),userId:w(t.userId),expiresAt:k(t.expiresAt),...P("activeOrganizationId",R(t,"activeOrganizationId")),...P("activeTeamId",R(t,"activeTeamId")),...P("membership",n==null?n:go(n)),...P("pendingMfaEnrollment",dt(t,"pendingMfaEnrollment"))}}function d(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function _(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&d(),ve(e,t,n)}function ve(e,t=20,n=1e4){return Ce(e,0,{nodes:0},t,n)}function go(e){let t=p(e);return {role:w(t.role),permissions:ce(t.permissions),...t.teams===void 0?{}:{teams:ce(t.teams)}}}function Ce(e,t,n,o,i){if(n.nodes+=1,(t>o||n.nodes>i)&&d(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||d(),e;if(Array.isArray(e))return e.map(s=>Ce(s,t+1,n,o,i));(!e||typeof e!="object")&&d();let a=Object.getPrototypeOf(e);a!==Object.prototype&&a!==null&&d();let r={};for(let[s,c]of Object.entries(e))mo.has(s)&&d(),r[s]=Ce(c,t+1,n,o,i);return r}function P(e,t){return t===void 0?{}:{[e]:t}}var pt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),le=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 de(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let o=n.codePointAt(0);if(o===void 0||mt(n,o)||ft(o)||pt.has(o))return {valid:false}}let t=ho(e);return Ue(t)?{valid:true,value:t}:{valid:false}}function Ue(e){let t=0,n,o;for(let i of e){if(t+=1,t>256)return false;let a=i.codePointAt(0);if(a===void 0||mt(i,a)||ft(a)||pt.has(a))return false;n??=a,o=a;}return t>0&&n!==void 0&&o!==void 0&&!le.has(n)&&!le.has(o)}function pe(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_PASSKEY_NAME",message:"Passkey names must contain 1 to 256 safe Unicode characters."}}}function ho(e){let t=0,n=e.length;for(;t<n;){let o=e.codePointAt(t);if(o===void 0||!le.has(o))break;t+=o>65535?2:1;}for(;n>t;){let o=e.codePointAt(n-1);if(o===void 0)break;let a=o>=56320&&o<=57343?n-2:n-1,r=e.codePointAt(a);if(r===void 0||!le.has(r))break;n=a;}return e.slice(t,n)}function ft(e){return e>=0&&e<=31||e>=127&&e<=159}function mt(e,t){return e.length===1&&t>=55296&&t<=57343}var At=12,Ot=5e3,Ao=8,Oo=1e3,yo=16,gt=512,yt=100,bt=8192,bo=32768,ze=1024,ht=256,Ne=64,wo=6e5,Ro=/^[A-Za-z0-9_-]+$/u,ko=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,So=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,To=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Eo=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,wt=new Set(["discouraged","preferred","required"]),xo=new Set(["singleDevice","multiDevice"]),Rt=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),kt=new Set(["hybrid","security-key","client-device"]),Io=new Set(["none","indirect","direct","enterprise"]),Po=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Do=new Set(["platform","cross-platform"]),Co=new Set(["discouraged","preferred","required"]),vo=new Set([-8,-7,-257]);function St(e){let t=_(e,At,Ot);return {challenge:zt(t.challenge),...S("timeout",vt(t.timeout)),...S("rpId",_t(t.rpId)),...S("allowCredentials",Ct(t.allowCredentials)),...S("userVerification",Z(t.userVerification,wt)),...S("hints",fe(t.hints,kt)),...S("extensions",Ut(t.extensions))}}function Tt(e){let t=_(e,At,Ot);return {challenge:zt(t.challenge),rp:Uo(t.rp),user:zo(t.user),pubKeyCredParams:_o(t.pubKeyCredParams),...S("timeout",vt(t.timeout)),...S("excludeCredentials",Ct(t.excludeCredentials)),...S("authenticatorSelection",No(t.authenticatorSelection)),...S("attestation",Z(t.attestation,Io)),...S("attestationFormats",fe(t.attestationFormats,Po)),...S("hints",fe(t.hints,kt)),...S("extensions",Ut(t.extensions))}}function Et(e){let t=p(e),n=ue(t.session),o=D(t.user);return n.userId!==o.id&&d(),{session:n,user:o}}function Le(e){let t=p(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&d();let o=Me(t.deviceType,xo),i=b(t.backedUp);return i&&o!=="multiDevice"&&d(),{id:G(t.id,ht),...Fo(t),publicKey:Lo(t.publicKey,bo),userId:G(t.userId,ht),credentialID:ge(t.credentialID,bt),counter:n,deviceType:o,backedUp:i,...Vo(t),createdAt:k(t.createdAt),...qo(t)}}function xt(e,t,n){let o=Le(e);return (o.credentialID!==t||(n===void 0?o.name!==void 0&&o.name!==null:o.name!==n))&&d(),o}function It(e){(!Array.isArray(e)||e.length>yt)&&d();let t=e.map(Le);return me(t.map(n=>n.id)),me(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&d(),t}function Pt(e,t,n){let o=p(e),i=Le(o.passkey);return (i.id!==t||i.name!==n)&&d(),{passkey:i}}function Dt(e){return p(e).status!==true&&d(),{status:true}}function Uo(e){let t=p(e);return {name:_e(t.name,ze),...S("id",_t(t.id))}}function zo(e){let t=p(e);return {id:ge(t.id,128,1,64),name:_e(t.name,ze),displayName:_e(t.displayName,ze)}}function _o(e){(!Array.isArray(e)||e.length===0||e.length>Ne)&&d();let t=e.map(n=>{let o=p(n);return (o.type!=="public-key"||!Number.isSafeInteger(o.alg)||!vo.has(o.alg))&&d(),{type:"public-key",alg:o.alg}});return Ko(t.map(n=>n.alg)),t}function Ct(e){if(e===void 0)return;(!Array.isArray(e)||e.length>yt)&&d();let t=e.map(n=>{let o=p(n);return o.type!=="public-key"&&d(),{type:"public-key",id:ge(o.id,bt),...S("transports",fe(o.transports,Rt))}});return me(t.map(n=>n.id)),t}function No(e){if(e===void 0)return;let t=p(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&d();let n=Z(t.residentKey,Co);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&d(),{...S("authenticatorAttachment",Z(t.authenticatorAttachment,Do)),...S("residentKey",n),...S("requireResidentKey",t.requireResidentKey),...S("userVerification",Z(t.userVerification,wt))}}function vt(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>wo)&&d(),e}function Ut(e){return e===void 0?void 0:_(e,Ao,Oo)}function fe(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Ne)&&d();let n=e.map(o=>Me(o,t));return me(n),n}function Z(e,t){if(e!==void 0)return Me(e,t)}function zt(e){return ge(e,Math.ceil(gt*4/3),yo,gt)}function ge(e,t,n=1,o=Number.POSITIVE_INFINITY){let i=G(e,t),a=i.length%4,r=Mo(i.at(-1)??""),s=Math.floor(i.length*3/4);return (!Ro.test(i)||a===1||a===2&&(r&15)!==0||a===3&&(r&3)!==0||s<n||s>o)&&d(),i}function G(e,t){let n=w(e);return (n.length===0||n.length>t)&&d(),n}function _e(e,t){let n=G(e,t);return So.test(n)&&d(),n}function _t(e){if(e===void 0)return;let t=G(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!To.test(n)))&&d(),t}function Lo(e,t){let n=G(e,t),o=n.endsWith("=="),i=!o&&n.endsWith("="),a=n.at(o?-3:i?-2:-1)??"",r=Nt(a);return (n.length%4!==0||!ko.test(n)||o&&(r&15)!==0||i&&(r&3)!==0)&&d(),n}function Mo(e){return Nt(e,true)}function Nt(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function Fo(e){let t=R(e,"name");return t===void 0?{}:(t!==null&&!Ue(t)&&d(),{name:t})}function Vo(e){let t=R(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Ne||n.some(o=>!Rt.has(o))||new Set(n).size!==n.length)&&d(),{transports:t}}function qo(e){let t=R(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Eo.test(t)||d(),{aaguid:t})}function Me(e,t){let n=w(e);return t.has(n)||d(),n}function S(e,t){return t===void 0?{}:{[e]:t}}function me(e){new Set(e).size!==e.length&&d();}function Ko(e){new Set(e).size!==e.length&&d();}function Vt(e,t){let n=new Map;return {async signIn(o={},i){let a=await e.request("/passkey/generate-authenticate-options");if(!a.data)return Mt(a.error);let r;try{r=St(a.data);}catch{return Lt()}let s;try{s=await lt({optionsJSON:r,useBrowserAutofill:o.autoFill});}catch(m){return Ft(m,"AUTH_CANCELLED","Passkey authentication was cancelled.")}let{clientExtensionResults:c,...l}=s,u=n.get(s.id);if(u)return u;let f=(async()=>{let m=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:l},fetchOptions:i,decode:Et});return m.data&&t(),m})();n.set(s.id,f);try{return await f}finally{n.get(s.id)===f&&n.delete(s.id);}},async add(o={},i){let a=de(o.name);if(!a.valid)return pe();let r=await e.request("/passkey/generate-register-options",{query:{name:a.value,authenticatorAttachment:o.authenticatorAttachment}});if(!r.data)return Mt(r.error);let s;try{s=Tt(r.data);}catch{return Lt()}let c;try{c=await st({optionsJSON:s});}catch(m){return Ft(m,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}let{clientExtensionResults:l,...u}=c,f=await e.request("/passkey/verify-registration",{method:"POST",body:{response:u,name:a.value},fetchOptions:i,decode:m=>xt(m,c.id,a.value)});return f.data&&t(),f}}}function Lt(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function Mt(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function Ft(e,t,n){let o=Bo(e,"page does not have focus"),i=e instanceof y?e.code==="ERROR_CEREMONY_ABORTED":Ho(e)==="AbortError",a=t==="AUTH_CANCELLED"?"Passkey authentication could not be completed by this browser.":"Passkey registration could not be completed by this browser.";return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":i?t:e instanceof y?e.code:"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":i?n:a}}}function Ho(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Bo(e,t){let n=t.toLowerCase(),o=new Set,i=e;for(;i&&typeof i=="object"&&!o.has(i);){if(o.add(i),"message"in i&&typeof i.message=="string"&&i.message.toLowerCase().includes(n))return true;i="cause"in i?i.cause:void 0;}return false}function Kt(e,t){let n=new Set,o=null,i=null,a=null,r,s=h=>{u(h);};r={data:null,isPending:true,isRefetching:false,error:null,refetch:s};function c(h){r=h;for(let g of n)g();}async function l(h){return e.request("/get-session",{query:h?.query,decode:qt})}async function u(h){a?.abort();let g=new AbortController;a=g,c({...r,isPending:r.data===null&&r.error===null,isRefetching:r.data!==null});let U=await e.request("/get-session",{query:h?.query,fetchOptions:{signal:g.signal},decode:qt});a===g&&(a=null,c({data:U.data,error:U.error,isPending:false,isRefetching:false,refetch:s}));}function f(){if(typeof window>"u"||i)return;let h=()=>{u();},g=()=>{document.visibilityState==="visible"&&u();};window.addEventListener("focus",h),document.addEventListener("visibilitychange",g),typeof BroadcastChannel<"u"&&(o=new BroadcastChannel(`authowl:${t}`),o.addEventListener("message",h)),i=()=>{window.removeEventListener("focus",h),document.removeEventListener("visibilitychange",g),o?.close(),o=null,i=null;};}function m(h){return n.add(h),n.size===1&&(f(),u()),()=>{n.delete(h),n.size===0&&(a?.abort(),a=null,i?.());}}return {store:{subscribe:m,getSnapshot:()=>r},getSession:l,notifyMutation(){o?.postMessage({type:"session-changed"}),n.size>0&&u({query:{disableCookieCache:true}});}}}function qt(e){if(e===null)return null;let t=p(e);return (t.session===void 0||t.user===void 0)&&d(),{session:ue(t.session),user:D(t.user)}}function Fe(){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 Ht(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:jt})}async function Bt(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:jt})}function jt(e){let t=p(e),n=_(t.public_metadata),o=_(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:o,metadataVersion:t.metadata_version}}function Gt(e,t){let{post:n,mutation:o}=J(e,t);return {getMetadata:i=>Ht(e,i),updateUnsafeMetadata:(i,a)=>Bt(e,i,a),updateProfile:(i,a)=>o(n("/update-user",i,a,ee)),changeEmail:(i,a)=>o(n("/change-email",i,a,ee)),changePassword:(i,a)=>o(n("/change-password",i,a,jo)),listSessions:i=>e.request("/list-sessions",{fetchOptions:i,decode:Jo}),revokeSession:({sessionId:i},a)=>o(n("/revoke-session",{sessionId:i},a,ee)),revokeOtherSessions:i=>o(n("/revoke-other-sessions",{},i,ee)),listSocialAccounts:async i=>{let a=await e.request("/list-accounts",{fetchOptions:i,decode:Go});if(!a.data)return {data:null,error:a.error};let r=a.data.length>1;return {...a,data:a.data.filter(s=>s.providerId!=="credential").map(s=>({...s,canUnlink:r}))}},linkSocial:(i,a)=>n("/link-social",i,a,Wo),unlinkSocial:(i,a)=>o(n("/unlink-account",i,a,ee)),delete:(i={},a)=>o(n("/delete-user",i,a,$o))}}function ee(e){let t=p(e);return {status:b(t.status)}}function jo(e){let t=p(e);return {user:D(t.user)}}function Jo(e){return Array.isArray(e)||d(),e.map(t=>{let n=p(t);return {id:w(n.id),userId:w(n.userId),createdAt:k(n.createdAt),updatedAt:k(n.updatedAt),expiresAt:k(n.expiresAt),...Jt("ipAddress",R(n,"ipAddress")),...Jt("userAgent",R(n,"userAgent"))}})}function Go(e){return Array.isArray(e)||d(),e.map(t=>{let n=p(t);return {id:w(n.id),userId:w(n.userId),providerId:w(n.providerId),accountId:w(n.accountId),scopes:ce(n.scopes),createdAt:k(n.createdAt),updatedAt:k(n.updatedAt)}})}function Wo(e){let t=p(e);return {url:w(t.url),redirect:b(t.redirect)}}function $o(e){let t=p(e);return {success:b(t.success),message:w(t.message)}}function Jt(e,t){return t===void 0?{}:{[e]:t}}function he(e,t){return !e||!t?false:e.permissions.includes(t)}function Wt(e,t){return !e||!t?false:e.teams?.includes(t)??false}function Ae(e,t){if(!e)return false;let{role:n,permission:o,teamId:i}=t;return !(n===void 0&&o===void 0&&i===void 0||n!==void 0&&e.role!==n||o!==void 0&&!e.permissions.includes(o)||i!==void 0&&!Wt(e,i))}function Yo(e){return {has:t=>Ae(e,t),hasPermission:t=>he(e,t.permission)}}var Xo=new Set(["pending","accepted","rejected","canceled"]),$t=1e4;function W(e,t,n){let o=p(e),i={id:O(o.id),name:O(o.name),slug:O(o.slug),createdAt:k(o.createdAt),...Oe("logo",R(o,"logo")),...Oe("metadata",o.metadata===void 0?void 0:ve(o.metadata))};return M(i.id,t),M(i.slug,n),i}function Yt(e){return F(e,W)}function Ve(e,t,n){return e===null?null:(t===null&&d(),W(e,t,n))}function Xt(e,t,n){if(e===null)return null;let o=p(e),i=W(o,t,n);return {...i,members:F(o.members,a=>dn(a,i.id)),invitations:F(o.invitations,a=>N(a,void 0,i.id))}}function Qt(e,t){let n=F(e,o=>ln(o));return ye(n.map(o=>o.organizationId),t),n}function Zt(e,t,n){return e===null?null:(t===null&&d(),ln(e,t,n))}function en(e,t){let n=p(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&d(),{members:Qo(n.members,t),total:n.total}}function N(e,t,n){let o=p(e),i=O(o.status);Xo.has(i)||d();let a={id:O(o.id),organizationId:O(o.organizationId),email:O(o.email),role:O(o.role),status:i,inviterId:O(o.inviterId),expiresAt:k(o.expiresAt),createdAt:k(o.createdAt)};return M(a.id,t),M(a.organizationId,n),a}function tn(e,t){let n=F(e,o=>N(o));return ye(n.map(o=>o.organizationId),t),n}function nn(e){return F(e,t=>{let n=p(t);return {...N(n),organizationName:O(n.organizationName)}})}function on(e,t){let n=p(e);return {...N(n,t),organizationName:O(n.organizationName),organizationSlug:O(n.organizationSlug),inviterEmail:O(n.inviterEmail)}}function rn(e,t){let n=p(e),o=N(n.invitation,t);return {invitation:o,member:$(n.member,void 0,o.organizationId)}}function an(e,t){let n=p(e);return n.member!==null&&d(),{invitation:n.invitation===null?null:N(n.invitation,t),member:null}}function sn(e,t){return e===null?null:N(e,t)}function cn(e,t,n){let o=p(e);return {member:$(o.member,n,t)}}function $(e,t,n){let o=p(e),i={id:O(o.id),organizationId:O(o.organizationId),userId:O(o.userId),role:O(o.role),createdAt:k(o.createdAt),...o.user===void 0?{}:{user:pn(o.user)}};return M(i.id,t),M(i.organizationId,n),i}function un(e,t){let n=F(e,o=>{let i=p(o);return {organizationId:O(i.organizationId),data:{role:O(i.role),...Oe("permission",i.permission===void 0?void 0:Zo(i.permission))}}});return ye(n.map(o=>o.organizationId),t),n.map(o=>o.data)}function ln(e,t,n){let o=p(e),i=o.updatedAt,a={id:O(o.id),name:O(o.name),organizationId:O(o.organizationId),createdAt:k(o.createdAt),...i===void 0?{}:{updatedAt:k(i)}};return M(a.id,t),M(a.organizationId,n),a}function dn(e,t){let n=p(e);return {...$(n,void 0,t),user:pn(n.user)}}function Qo(e,t){let n=F(e,o=>dn(o));return ye(n.map(o=>o.organizationId),t),n}function Zo(e){let t=p(e),n={};for(let[o,i]of Object.entries(t))(o==="__proto__"||o==="constructor"||o==="prototype"||o.length===0||o.length>$t||!Array.isArray(i))&&d(),n[o]=i.map(a=>O(a));return n}function O(e){let t=w(e);return (t.length===0||t.length>$t)&&d(),t}function M(e,t){t!==void 0&&e!==t&&d();}function ye(e,t){let n=t??e[0];n!==void 0&&e.some(o=>o!==n)&&d();}function pn(e){let t=p(e);return {id:O(t.id),name:O(t.name),email:O(t.email),...Oe("image",R(t,"image"))}}function F(e,t){return Array.isArray(e)||d(),e.map(n=>t(n))}function Oe(e,t){return t===void 0?{}:{[e]:t}}function fn(e,t,n=()=>null){let{post:o,mutation:i}=J(e,t),a=(r,s,c,l)=>e.request(r,{query:s,fetchOptions:c,decode:l});return {create:(r,s)=>i(o("/organization/create",r,s,W)),list:r=>a("/organization/list",void 0,r,Yt),get:(r={},s)=>a("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},s,c=>Xt(c,r.organizationId,r.organizationSlug)),setActive:(r,s)=>i(o("/organization/set-active",r,s,c=>Ve(c,r.organizationId,r.organizationSlug))),listTeams:(r={},s)=>a("/organization/list-teams",{organizationId:r.organizationId},s,c=>Qt(c,r.organizationId)),setActiveTeam:(r,s)=>i(o("/organization/set-active-team",r,s,c=>Zt(c,r.teamId))),update:(r,s)=>i(o("/organization/update",r,s,c=>Ve(c,r.organizationId))),delete:(r,s)=>i(o("/organization/delete",r,s,c=>W(c,r.organizationId))),listMembers:(r={},s)=>a("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},s,c=>en(c,r.organizationId)),inviteMember:(r,s)=>i(o("/organization/invite-member",r,s,c=>N(c,void 0,r.organizationId))),listInvitations:(r={},s)=>a("/organization/list-invitations",{organizationId:r.organizationId},s,c=>tn(c,r.organizationId)),listUserInvitations:r=>a("/organization/list-user-invitations",void 0,r,nn),getInvitation:(r,s)=>a("/organization/get-invitation",{id:r.id},s,c=>on(c,r.id)),acceptInvitation:(r,s)=>i(o("/organization/accept-invitation",r,s,c=>rn(c,r.invitationId))),rejectInvitation:(r,s)=>i(o("/organization/reject-invitation",r,s,c=>an(c,r.invitationId))),cancelInvitation:(r,s)=>i(o("/organization/cancel-invitation",r,s,c=>sn(c,r.invitationId))),removeMember:(r,s)=>i(o("/organization/remove-member",r,s,c=>cn(c,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,s)=>i(o("/organization/update-member-role",r,s,c=>$(c,r.memberId,r.organizationId))),leave:(r,s)=>i(o("/organization/leave",r,s,c=>$(c,void 0,r.organizationId))),listRoles:(r={},s)=>a("/organization/list-roles",{organizationId:r.organizationId},s,c=>un(c,r.organizationId)),has:r=>Ae(n(),r),hasPermission:r=>he(n(),r.permission)}}var mn=4096,ei=4096,ti=100,ni=256,oi=16,ii=64;function Ke(e){let t=p(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&d(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Cn(t.twoFactorMethods,oi,ii)}}):(t.twoFactorRedirect!==void 0&&d(),{redirect:b(t.redirect),...ci(t,"url"),user:D(t.user)})}function gn(e){let t=p(e);return {user:D(t.user)}}function hn(e){let t=p(e);return {sessionCreated:b(t.sessionCreated),user:D(t.user)}}function An(e,t){let n=p(e),o=b(n.redirect);n.user===null&&d();let i=n.user!==void 0&&n.user!==null,a=n.url!==void 0&&n.url!==null;return o?((i||!a)&&d(),{redirect:true,url:qe(n.url,t)}):(i===a&&d(),i?{redirect:false,user:D(n.user)}:{redirect:false,url:qe(n.url,t)})}function On(e,t){let n=p(e);return (n.redirect!==true||n.user!==void 0)&&d(),{redirect:true,url:qe(n.url,t)}}function yn(e){return {status:b(p(e).status)}}function bn(e){return {success:b(p(e).success)}}function wn(e){return p(e).status!=="pending"&&d(),{status:"pending"}}function Rn(e){let t=p(e);return (t.status!==true||t.sessionCreated!==true)&&d(),{status:true,sessionCreated:true,user:ri(t.user)}}function He(e){return {status:b(p(e).status)}}function kn(e){return {status:b(p(e).status)}}function Sn(e){let t=p(e);return {status:b(t.status),user:D(t.user)}}function Tn(e){return {success:b(p(e).success)}}function En(e){let t=p(e);return {totpURI:si(t.totpURI),backupCodes:Dn(t.backupCodes)}}function xn(e){return {status:b(p(e).status)}}function be(e){return p(e).status!==true&&d(),{status:true}}function In(e){return {status:b(p(e).status)}}function Pn(e){let t=p(e);return t.status!==void 0&&t.status!==true&&d(),{backupCodes:Dn(t.backupCodes)}}function ri(e){let t=p(e);return {id:Y(t.id,512),...ui(t,"name",1024),phoneNumber:Y(t.phoneNumber,64),phoneNumberVerified:b(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:k(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:k(t.updatedAt)}}}function qe(e,t){let n=Y(e,mn);/[\u0000-\u0020\u007f]/u.test(n)&&d();let o;try{o=new URL(n);}catch{return d()}return (o.username||o.password)&&d(),o.protocol==="https:"||t&&o.protocol==="http:"&&ai(o.hostname)?o.href:d()}function ai(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function si(e){let t=Y(e,ei),n;try{n=new URL(t);}catch{return d()}let o=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||o===null||o.length===0||o.length>512||/\s/u.test(o))&&d(),t}function Dn(e){return Cn(e,ti,ni)}function Cn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&d();let o=e.map(i=>Y(i,n));return o.some(i=>i.trim().length===0)&&d(),new Set(o).size!==o.length&&d(),o}function Y(e,t){let n=w(e);return (n.length===0||n.length>t)&&d(),n}function ci(e,t){let n=e[t];return n==null?{}:{[t]:Y(n,mn)}}function ui(e,t,n){let o=R(e,t);return o===void 0?{}:(o!==null&&o.length>n&&d(),{[t]:o})}function vn(e,t=()=>{}){let n=oe(e),o=Kt(n,e.decoded.projectId),i=Vt(n,o.notifyMutation),a=()=>{o.notifyMutation(),t();},{post:r,mutation:s}=J(n,a),c=e.decoded.env==="test";return {sessionStore:o.store,getSession:o.getSession,account:Gt(n,a),organization:fn(n,a,()=>o.store.getSnapshot().data?.session.membership??null),signIn:{email:(l,u)=>s(r("/sign-in/email",l,u,Ke),f=>!("twoFactorRedirect"in f)),username:(l,u)=>s(r("/sign-in/username",l,u,Ke),f=>!("twoFactorRedirect"in f)),social:async(l,u)=>{let f=await s(r("/sign-in/social",l,u,m=>An(m,c)),m=>"user"in m);return f.error!==null||f.data===null||"url"in f.data&&f.data.redirect&&!l.disableRedirect&&typeof window<"u"&&window.location.assign(f.data.url),f},sso:async(l,u)=>{let f=await r("/sign-in/sso",l,u,m=>On(m,c));return f.error!==null||f.data===null||typeof window<"u"&&window.location.assign(f.data.url),f},magicLink:(l,u)=>r("/sign-in/magic-link",l,u,yn),emailOtp:(l,u)=>s(r("/sign-in/email-otp",l,u,gn)),passkey:(l,u)=>i.signIn(l,u)},signUp:{email:(l,u)=>s(r("/sign-up/email",l,u,hn),f=>f.sessionCreated)},emailOtp:{sendVerificationOtp:(l,u)=>r("/email-otp/send-verification-otp",l,u,bn),verifyEmail:(l,u)=>s(r("/email-otp/verify-email",l,u,Sn))},phoneOtp:{start:(l,u)=>r("/phone-otp/start",{...l,idempotencyKey:l.idempotencyKey??Fe()},u,wn),verify:(l,u)=>s(r("/phone-otp/verify",l,u,Rn))},requestPasswordReset:(l,u)=>r("/request-password-reset",l,u,He),resetPassword:(l,u)=>r("/reset-password",l,u,He),sendVerificationEmail:(l,u)=>r("/send-verification-email",l,u,kn),passkey:{addPasskey:(l,u)=>i.add(l,u),listUserPasskeys:()=>n.request("/passkey/list-user-passkeys",{decode:It}),updatePasskey:async(l,u)=>{let f=de(l.name);if(!f.valid||f.value===void 0)return pe();let m=f.value;return r("/passkey/update-passkey",{...l,name:m},u,h=>Pt(h,l.id,m))},deletePasskey:(l,u)=>r("/passkey/delete-passkey",l,u,Dt)},twoFactor:{enable:(l,u)=>r("/two-factor/enable",l,u,En),disable:(l,u)=>s(r("/two-factor/disable",l,u,xn),f=>f.status),verifyTotp:(l,u)=>s(r("/two-factor/verify-totp",l,u,be)),verifyBackupCode:(l,u)=>s(r("/two-factor/verify-backup-code",l,u,be)),sendOtp:(l={},u)=>r("/two-factor/send-otp",l,u,In),verifyOtp:(l,u)=>s(r("/two-factor/verify-otp",l,u,be)),generateBackupCodes:(l,u)=>r("/two-factor/generate-backup-codes",l,u,Pn)},signOut:l=>s(n.request("/sign-out",{method:"POST",body:{},fetchOptions:l,decode:Tn}),u=>u.success)}}var we=class extends Error{status;requestId;constructor(t,n,o){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=o;}};function B(e,t,n={}){let o=new Headers(n.init?.headers);return o.set("x-publishable-key",e.publishableKey),ne({fetchImpl:e.fetch??fetch,url:t,init:{...n.init,headers:o},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 j(e,t){if(!e.response.ok)throw new we(t,e.response,e.requestId);return e.data}function zn(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function Be(e){let t=await B(e,zn(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:li});return t.response.status===401?{required:false}:j(t,"consent status")}async function je(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return j(await B(e,zn(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:di}),"consent accept")}function li(e){let t=p(e),n=b(t.required),o=pi(t.needsConsent),i=_n(t.version),a=Un(t.termsUrl),r=Un(t.privacyUrl);return {required:n,...o===void 0?{}:{needsConsent:o},...i===void 0?{}:{version:i},...a===void 0?{}:{termsUrl:a},...r===void 0?{}:{privacyUrl:r}}}function di(e){let t=p(e),n=_n(t.version);return {ok:b(t.ok),...n===void 0?{}:{version:n}}}function pi(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function _n(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function Un(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var fi=30;function mi(e){return typeof e?.exp=="number"?e.exp:null}function gi(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),o=JSON.parse(atob(n));return typeof o=="object"&&o!==null?o:null}catch{return null}}function Je(e){let t=new Map;async function n(a={}){let r=a.template===void 0?null:a.template.trim().toLowerCase();if(r==="")throw new TypeError("Template missing");let s=r??"",c=t.get(s);c||(c={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(s,c));let l=a.forceRefresh===true;if(!l){let g=c.activeKey?c.cachedByKey.get(c.activeKey):null;if(g&&g.exp-Date.now()/1e3>fi)return g.token;if(c.inflight)return c.inflight}let u=++c.sequence,f=()=>t.get(s)===c&&c.sequence===u,m=(async()=>{let g=r?`${e.projectBaseURL}/token/${encodeURIComponent(r)}`:`${e.projectBaseURL}/token`,U=await B(e,g,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:q=>hi(q,r!==null)});if(U.response.status===401)return f()&&o(),null;let A=j(U,"token"),v=A.policyVersion,z=A.token,V=gi(z),X=mi(V);if(f())if(X!==null){let q=typeof V?.sub=="string"?V.sub:null,Re=typeof V?.org_id=="string"?V.org_id:null;if(!r||q){let Ye=JSON.stringify([e.projectBaseURL,q,Re,r,v]);c.cachedByKey.clear(),c.cachedByKey.set(Ye,{token:z,exp:X}),c.activeKey=Ye;}else i(c);}else i(c);return z})();if(l)return m;let h=m.finally(()=>{c.inflight===h&&(c.inflight=null);});return c.inflight=h,h}function o(){t.clear();}function i(a){a.cachedByKey.clear(),a.activeKey=null;}return {getToken:n,clear:o}}function hi(e,t){let n=p(e),o=w(n.token);if(o.length===0||o.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:o,policyVersion:0};let i=p(n.template);if(!Number.isSafeInteger(i.policyVersion)||i.policyVersion<1)throw new TypeError("Invalid token response.");return {token:o,policyVersion:i.policyVersion}}function Ai(e){let t=Je(e),n=vn(e,t.clear),o=oe(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),i=r=>(...s)=>(t.clear(),r(...s)),a={getConsentStatus:()=>Be(e),acceptConsent:r=>je(e,r),getToken:t.getToken,waitlist:{join:(r,s)=>o.request("/waitlist",{method:"POST",body:r,fetchOptions:s,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:i(n.account.updateUnsafeMetadata),updateProfile:i(n.account.updateProfile),changeEmail:i(n.account.changeEmail),changePassword:i(n.account.changePassword),revokeSession:i(n.account.revokeSession),delete:i(n.account.delete)},signIn:{email:i(n.signIn.email),username:i(n.signIn.username),social:i(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:i(n.signIn.emailOtp),passkey:i(n.signIn.passkey)},signUp:{email:i(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:i(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:i(n.twoFactor.disable),verifyTotp:i(n.twoFactor.verifyTotp),verifyBackupCode:i(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:i(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{start:n.phoneOtp.start,verify:i(n.phoneOtp.verify)},signOut:i(n.signOut)};return {...n,...a}}async function Oi(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return j(await B(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:o=>yi(o,e)}),"public-config")}function yi(e,t){let n=_(e),o=n.environmentId,i=n.environmentType,a=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!bi(n.applicationId)||o!==t.decoded.projectId||i!=="development"&&i!=="production"||n.authBaseUrl!==a)throw C();let r=x(n.branding),s=x(n.legal);if(!Ge(n.enabledMethods,64)||!Ge(n.socialProviders,64)||!Ln(r,["appName","logoUrl","primaryColor"])||r.showAppName!==void 0&&typeof r.showAppName!="boolean"||r.alignment!==void 0&&r.alignment!=="left"&&r.alignment!=="center"&&r.alignment!=="right"||r.theme!==void 0&&r.theme!=="light"&&r.theme!=="dark"&&r.theme!=="system"||!Ln(s,["termsUrl","privacyUrl"])||!Number.isSafeInteger(s.version)||s.version<0||typeof s.required!="boolean")throw C();if(n.socialProviderClientIds!==void 0){let c=x(n.socialProviderClientIds);if(Object.keys(c).length>64||Object.values(c).some(l=>typeof l!="string"||l.length>2048))throw C()}if(!L(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!Nn(n.turnstileSiteKey)||!Nn(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw C();if(n.jwtIssuer!==null){let c=x(n.jwtIssuer);if(c.issuer!==a||c.jwksUrl!==`${a}/jwks`||c.aud!==t.decoded.projectId)throw C()}if(n.signUp!==void 0){let c=x(n.signUp).mode;if(typeof c!="string"||!["open","restricted","allowlist","waitlist"].includes(c))throw C()}if(n.authentication!==void 0&&wi(n.authentication),n.emailVerification!==void 0){let c=x(n.emailVerification);if(!L(c,["required"])||c.method!=="link"&&c.method!=="code")throw C()}if(n.userModel!==void 0&&!L(x(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw C();if(n.mfa!==void 0){let c=x(n.mfa);if(!L(c,["totp","required","backupCodes"])||(c.required===true||c.backupCodes===true)&&c.totp!==true)throw C()}return n}function bi(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 C(){return new TypeError("public-config returned an invalid response")}function x(e){if(!e||typeof e!="object"||Array.isArray(e))throw C();return e}function Nn(e){return e===null||typeof e=="string"&&e.length<=4096}function wi(e){let t=x(e),n=x(t.email),o=x(t.password),i=o.minLength!==void 0||o.maxLength!==void 0;if(!L(n,["signUp"])||!Ge(n.signIn,3)||n.signIn.some(a=>a!=="password"&&a!=="magic_link"&&a!=="email_otp")||!L(x(t.phone),["signUp","signIn"])||!L(o,["signUp","add"])||i&&(!Number.isSafeInteger(o.minLength)||!Number.isSafeInteger(o.maxLength)||o.minLength<1||o.maxLength>4096||o.minLength>o.maxLength)||!L(x(t.passkey),["signIn","add"])||!L(x(t.username),["collectOnSignUp","signIn"]))throw C()}function L(e,t){return t.every(n=>typeof e[n]=="boolean")}function Ln(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function Ge(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var te=class extends Error{constructor(n,o){super(n);this.cause=o;this.name="AuthOwlError";}cause},We=class extends te{constructor(n,o){super(`Rate limited. Retry after ${n}s.`,o);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},$e=class extends te{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var Mn=["en","ar"];function Ri(e){return e==="ar"?"rtl":"ltr"}function ki(e){return typeof e=="string"&&Mn.includes(e)}
3
- exports.AUTH_CHALLENGE_HEADER=rt;exports.AuthOwlError=te;exports.AuthOwlHttpError=we;exports.InvalidKeyError=$e;exports.LOCALES=Mn;exports.RateLimitedError=We;exports.TransportError=T;exports.acceptConsent=je;exports.createAuthOwlClient=Ai;exports.createIdempotencyKey=Fe;exports.createMembershipHas=Yo;exports.createTokenClient=Je;exports.decodePublishableKey=ke;exports.directionFor=Ri;exports.getConsentStatus=Be;exports.getPublicConfig=Oi;exports.isLocale=ki;exports.membershipHas=Ae;exports.membershipHasPermission=he;exports.membershipHasTeam=Wt;exports.resolveConfig=Kn;exports.sessionCookieName=qn;
1
+ 'use strict';var Bn=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,jn=/^sk_/i;function Re(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(jn.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=Bn.exec(e);if(!t)throw new Error("publishableKey is malformed; expected pk_(live|test)_<uuid>_<base62>");return {prefix:t[1],env:t[2],projectId:t[3]}}function Jn(e,t){let n=`p_${e.replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var Xe=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function Se(e,t){throw new Error(`${e}: ${t}`)}function Qe(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&&Xe.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function Ze(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&Se("apiUrl","origin required");let n;try{n=new URL(e);}catch{Se("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!Xe.test(e))&&Se("apiUrl","HTTPS required except exact loopback"),n.origin}function Gn(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Re(e.publishableKey),n=Ze(e.apiUrl,{allowHttpLoopback:t.env==="test"}),i=`${n}/api/projects/${t.projectId}/auth`;return {...e,apiUrl:n,decoded:t,projectBaseURL:i}}function Wn(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,a=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:o?.password.signUp??n,phoneSignUp:o?.phone.signUp??t.includes("phone_otp"),passwordSignIn:o?.email.signIn.includes("password")??n,passwordMinLength:o?.password.minLength??8,passwordMaxLength:o?.password.maxLength??128,magicLinkSignIn:o?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:o?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:o?.phone.signIn??t.includes("phone_otp"),usernameSignIn:o?.username.signIn??false,collectUsername:o?.username.collectOnSignUp??false,passkeySignIn:o?.passkey.signIn??i,passkeyAdd:o?.passkey.add??i,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:a?.totp??e?.twoFactor??false,mfaRequired:a?.required??e?.mfaRequired??false,backupCodes:a?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}var $n=1e4,Yn=1024*1024,T=class extends Error{kind;requestId;constructor(t,n){super(oi(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},nt=new WeakSet;function I(e,t){let n=new T(e,t);return nt.add(n),n}async function ne({fetchImpl:e,url:t,init:n={},timeoutMs:i=$n,maxResponseBytes:o=Yn,allowHttpLoopback:a=false,decode:r}){tt(i,"timeoutMs"),tt(o,"maxResponseBytes");let c=Qe(t,{allowHttpLoopback:a}),s=n.signal,h=new AbortController,u=null,d,f=new Promise(y=>{d=y;}),g=y=>{u===null&&(u=y,d({type:"abort",kind:y}),h.abort());},m=()=>g("aborted");s?.addEventListener("abort",m,{once:true});let U=setTimeout(()=>g("timeout"),i);s?.aborted&&m();try{if(u!==null)throw I(u);let y;try{y=await Promise.race([e(c.toString(),{...n,redirect:"error",signal:h.signal}).then(ke=>({type:"response",response:ke})),f]);}catch{throw I(u??"network")}if(y.type==="abort")throw I(y.kind);if(!Xn(y.response))throw I("invalid_response");let v=y.response,_=ii(v.headers),V=await Qn(v,o,f,()=>u,_),X=ti(v,V,_),q;try{q=v.ok&&r?r(X,Object.freeze({status:v.status})):X;}catch{throw I("invalid_response",_)}return {response:v,data:q,..._===void 0?{}:{requestId:_}}}catch(y){throw y instanceof T&&nt.has(y)?y:I(u??"network")}finally{clearTimeout(U),s?.removeEventListener("abort",m);}}function Xn(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 Qn(e,t,n,i,o){let a=e.headers.get("content-length");if(a!==null){if(!/^\d+$/.test(a))throw et(e.body),I("invalid_response",o);if(Number(a)>t)throw et(e.body),I("response_too_large",o)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw I("network",o)}let c=[],s=0,h=null;try{for(;;){let f;try{f=await Promise.race([r.read(),n]);}catch{h=I(i()??"network",o);break}if(Zn(f)){h=I(f.kind,o);break}let{done:g,value:m}=f;if(g)break;if(m.byteLength!==0){if(s+=m.byteLength,s>t){h=I("response_too_large",o);break}c.push(m);}}}finally{h&&ei(r);try{r.releaseLock();}catch{}}if(h)throw h;let u=new Uint8Array(s),d=0;for(let f of c)u.set(f,d),d+=f.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(u)}catch{throw I("invalid_response",o)}}function Zn(e){return "type"in e&&e.type==="abort"}function et(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function ei(e){try{e.cancel().catch(()=>{});}catch{}}function ti(e,t,n){if(e.status===204||e.status===205)return null;let i=ni(e.headers.get("content-type"));if(!e.ok&&(!i||t.length===0))return null;if(!i||t.length===0)throw I("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw I("invalid_response",n)}}function ni(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function ii(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function tt(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function oi(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 rt="x-authowl-turnstile-token",ri=1e4,ai=32,si=2e4;function J(e,t){return {post:(n,i,o,a)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:a}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function ie(e,t=e.projectBaseURL){return {async request(n,i={}){let o=li(t,n,i.query),a=i.method??(i.body===void 0?"GET":"POST"),r=new Headers(i.fetchOptions?.headers);r.set("x-publishable-key",e.publishableKey),i.fetchOptions?.authChallengeToken&&r.set(rt,i.fetchOptions.authChallengeToken),i.body!==void 0&&r.set("content-type","application/json");let c={method:a,headers:r,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},s=Object.freeze({method:a,path:n});await i.fetchOptions?.onRequest?.(s);let h=ui(a,i.fetchOptions),u;try{u=await ci(e,o,{...c,signal:i.fetchOptions?.signal},h);}catch(y){let v=ot(y);return await i.fetchOptions?.onError?.(Te(s,v,fi(y))),{data:null,error:v}}let{response:d,requestId:f}=u,g=hi(n,u.data),m=g;if(d.ok)try{m=Pe(g),i.decode&&(m=i.decode(m));}catch{let y=ot(new T("invalid_response",f));return await i.fetchOptions?.onError?.(Te(s,y,"invalid_response")),{data:null,error:y}}let U=Object.freeze({...s,status:d.status,...f===void 0?{}:{requestId:f}});if(await i.fetchOptions?.onResponse?.(U),!d.ok){let y=di(d,g,f);return await i.fetchOptions?.onError?.(Te(s,y,"api")),{data:null,error:y}}return await i.fetchOptions?.onSuccess?.(U),{data:m,error:null}}}}async function ci(e,t,n,i){let o=Date.now()+ri;for(let a=0;a<i;a+=1){let r=o-Date.now();if(r<=0)throw new T("timeout");try{let c=await ne({fetchImpl:e.fetch??fetch,url:t,init:n,timeoutMs:Math.max(1,Math.ceil(r)),allowHttpLoopback:e.decoded.env==="test"});if(c.response.status<500||a===i-1)return c}catch(c){if(a===i-1||!(c instanceof T)||c.kind!=="network")throw c}await gi(50*2**a,n.signal,o);}throw new T("network")}function ui(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 li(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,a]of Object.entries(n??{}))a!==void 0&&i.searchParams.set(o,String(a));return i.toString()}function di(e,t,n){let i=Q(t)?t:{},o=pi(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 pi(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??it(t.get("retry-after"))??it(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function it(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 ot(e){let t=e instanceof T?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 T&&e.requestId?{requestId:e.requestId}:{}}}function Te(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function fi(e){return e instanceof T?e.kind:"network"}function gi(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new T("aborted"));return}let a=n-Date.now();if(a<=0){o(new T("timeout"));return}let r=Math.min(e,a),c=()=>{clearTimeout(s),o(new T("aborted"));},s=setTimeout(()=>{t?.removeEventListener("abort",c),Date.now()>=n?o(new T("timeout")):i();},r);t?.addEventListener("abort",c,{once:true}),t?.aborted&&c();})}function Pe(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>ai||i.nodes>si)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let o=new Date(e);return Number.isNaN(o.getTime())?e:o}return Array.isArray(e)?e.map(o=>Pe(o,"",n+1,i)):Q(e)?Object.fromEntries(Object.entries(e).map(([o,a])=>[o,mi(o)?a:Pe(a,o,n+1,i)])):e}function mi(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function hi(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>Q(o)?Ie(o):o);if(!Q(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-")?Ie(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")&&Q(i.session)&&(i={...i,session:Ie(i.session)}),i}function Ie(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function Q(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var yi=new Set(["__proto__","constructor","prototype"]);function p(e){(!e||typeof e!="object"||Array.isArray(e))&&l();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&l(),e}function A(e){return typeof e!="string"&&l(),e}function b(e){return typeof e!="boolean"&&l(),e}function R(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&l(),e}function oe(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&l(),[...e]}function k(e,t){let n=e[t];return n==null||typeof n=="string"?n:l()}function at(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:l()}function x(e){let t=p(e),n=t.email;return n!==null&&typeof n!="string"&&l(),{id:A(t.id),email:n,emailVerified:b(t.emailVerified),createdAt:R(t.createdAt),updatedAt:R(t.updatedAt),...E("phoneNumber",k(t,"phoneNumber")),...E("username",k(t,"username")),...E("displayUsername",k(t,"displayUsername")),...E("firstName",k(t,"firstName")),...E("lastName",k(t,"lastName")),...E("name",k(t,"name")),...E("image",k(t,"image")),...E("twoFactorEnabled",at(t,"twoFactorEnabled"))}}function re(e){let t=p(e),n=t.membership;return {id:A(t.id),userId:A(t.userId),expiresAt:R(t.expiresAt),...E("activeOrganizationId",k(t,"activeOrganizationId")),...E("activeTeamId",k(t,"activeTeamId")),...E("membership",n==null?n:Ai(n)),...E("pendingMfaEnrollment",at(t,"pendingMfaEnrollment"))}}function l(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function z(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&l(),xe(e,t,n)}function xe(e,t=20,n=1e4){return Ee(e,0,{nodes:0},t,n)}function Ai(e){let t=p(e);return {role:A(t.role),permissions:oe(t.permissions),...t.teams===void 0?{}:{teams:oe(t.teams)}}}function Ee(e,t,n,i,o){if(n.nodes+=1,(t>i||n.nodes>o)&&l(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||l(),e;if(Array.isArray(e))return e.map(c=>Ee(c,t+1,n,i,o));(!e||typeof e!="object")&&l();let a=Object.getPrototypeOf(e);a!==Object.prototype&&a!==null&&l();let r={};for(let[c,s]of Object.entries(e))yi.has(c)&&l(),r[c]=Ee(s,t+1,n,i,o);return r}function E(e,t){return t===void 0?{}:{[e]:t}}function ct(e,t){let n=new Set,i=null,o=null,a=null,r,c=g=>{u(g);};r={data:null,isPending:true,isRefetching:false,error:null,refetch:c};function s(g){r=g;for(let m of n)m();}async function h(g){return e.request("/get-session",{query:g?.query,decode:st})}async function u(g){a?.abort();let m=new AbortController;a=m,s({...r,isPending:r.data===null&&r.error===null,isRefetching:r.data!==null});let U=await e.request("/get-session",{query:g?.query,fetchOptions:{signal:m.signal},decode:st});a===m&&(a=null,s({data:U.data,error:U.error,isPending:false,isRefetching:false,refetch:c}));}function d(){if(typeof window>"u"||o)return;let g=()=>{u();},m=()=>{document.visibilityState==="visible"&&u();};window.addEventListener("focus",g),document.addEventListener("visibilitychange",m),typeof BroadcastChannel<"u"&&(i=new BroadcastChannel(`authowl:${t}`),i.addEventListener("message",g)),o=()=>{window.removeEventListener("focus",g),document.removeEventListener("visibilitychange",m),i?.close(),i=null,o=null;};}function f(g){return n.add(g),n.size===1&&(d(),u()),()=>{n.delete(g),n.size===0&&(a?.abort(),a=null,o?.());}}return {store:{subscribe:f,getSnapshot:()=>r},getSession:h,notifyMutation(){i?.postMessage({type:"session-changed"}),n.size>0&&u({query:{disableCookieCache:true}});}}}function st(e){if(e===null)return null;let t=p(e);return (t.session===void 0||t.user===void 0)&&l(),{session:re(t.session),user:x(t.user)}}function Ce(){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 ut(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:dt})}async function lt(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:dt})}function dt(e){let t=p(e),n=z(t.public_metadata),i=z(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:i,metadataVersion:t.metadata_version}}function ft(e,t){let{post:n,mutation:i}=J(e,t);return {getMetadata:o=>ut(e,o),updateUnsafeMetadata:(o,a)=>lt(e,o,a),updateProfile:(o,a)=>i(n("/update-user",o,a,Z)),changeEmail:(o,a)=>i(n("/change-email",o,a,Z)),changePassword:(o,a)=>i(n("/change-password",o,a,Oi)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:bi}),revokeSession:({sessionId:o},a)=>i(n("/revoke-session",{sessionId:o},a,Z)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,Z)),listSocialAccounts:async o=>{let a=await e.request("/list-accounts",{fetchOptions:o,decode:wi});if(!a.data)return {data:null,error:a.error};let r=a.data.length>1;return {...a,data:a.data.filter(c=>c.providerId!=="credential").map(c=>({...c,canUnlink:r}))}},linkSocial:(o,a)=>n("/link-social",o,a,ki),unlinkSocial:(o,a)=>i(n("/unlink-account",o,a,Z)),delete:(o={},a)=>i(n("/delete-user",o,a,Ri))}}function Z(e){let t=p(e);return {status:b(t.status)}}function Oi(e){let t=p(e);return {user:x(t.user)}}function bi(e){return Array.isArray(e)||l(),e.map(t=>{let n=p(t);return {id:A(n.id),userId:A(n.userId),createdAt:R(n.createdAt),updatedAt:R(n.updatedAt),expiresAt:R(n.expiresAt),...pt("ipAddress",k(n,"ipAddress")),...pt("userAgent",k(n,"userAgent"))}})}function wi(e){return Array.isArray(e)||l(),e.map(t=>{let n=p(t);return {id:A(n.id),userId:A(n.userId),providerId:A(n.providerId),accountId:A(n.accountId),scopes:oe(n.scopes),createdAt:R(n.createdAt),updatedAt:R(n.updatedAt)}})}function ki(e){let t=p(e);return {url:A(t.url),redirect:b(t.redirect)}}function Ri(e){let t=p(e);return {success:b(t.success),message:A(t.message)}}function pt(e,t){return t===void 0?{}:{[e]:t}}function ae(e,t){return !e||!t?false:e.permissions.includes(t)}function gt(e,t){return !e||!t?false:e.teams?.includes(t)??false}function se(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&&e.role!==n||i!==void 0&&!e.permissions.includes(i)||o!==void 0&&!gt(e,o))}function Si(e){return {has:t=>se(e,t),hasPermission:t=>ae(e,t.permission)}}var Ti=new Set(["pending","accepted","rejected","canceled"]),mt=1e4;function G(e,t,n){let i=p(e),o={id:O(i.id),name:O(i.name),slug:O(i.slug),createdAt:R(i.createdAt),...ce("logo",k(i,"logo")),...ce("metadata",i.metadata===void 0?void 0:xe(i.metadata))};return M(o.id,t),M(o.slug,n),o}function ht(e){return F(e,G)}function De(e,t,n){return e===null?null:(t===null&&l(),G(e,t,n))}function yt(e,t,n){if(e===null)return null;let i=p(e),o=G(i,t,n);return {...o,members:F(i.members,a=>Ct(a,o.id)),invitations:F(i.invitations,a=>N(a,void 0,o.id))}}function At(e,t){let n=F(e,i=>xt(i));return ue(n.map(i=>i.organizationId),t),n}function Ot(e,t,n){return e===null?null:(t===null&&l(),xt(e,t,n))}function bt(e,t){let n=p(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&l(),{members:Ii(n.members,t),total:n.total}}function N(e,t,n){let i=p(e),o=O(i.status);Ti.has(o)||l();let a={id:O(i.id),organizationId:O(i.organizationId),email:O(i.email),role:O(i.role),status:o,inviterId:O(i.inviterId),expiresAt:R(i.expiresAt),createdAt:R(i.createdAt)};return M(a.id,t),M(a.organizationId,n),a}function wt(e,t){let n=F(e,i=>N(i));return ue(n.map(i=>i.organizationId),t),n}function kt(e){return F(e,t=>{let n=p(t);return {...N(n),organizationName:O(n.organizationName)}})}function Rt(e,t){let n=p(e);return {...N(n,t),organizationName:O(n.organizationName),organizationSlug:O(n.organizationSlug),inviterEmail:O(n.inviterEmail)}}function St(e,t){let n=p(e),i=N(n.invitation,t);return {invitation:i,member:W(n.member,void 0,i.organizationId)}}function Tt(e,t){let n=p(e);return n.member!==null&&l(),{invitation:n.invitation===null?null:N(n.invitation,t),member:null}}function It(e,t){return e===null?null:N(e,t)}function Pt(e,t,n){let i=p(e);return {member:W(i.member,n,t)}}function W(e,t,n){let i=p(e),o={id:O(i.id),organizationId:O(i.organizationId),userId:O(i.userId),role:O(i.role),createdAt:R(i.createdAt),...i.user===void 0?{}:{user:Dt(i.user)}};return M(o.id,t),M(o.organizationId,n),o}function Et(e,t){let n=F(e,i=>{let o=p(i);return {organizationId:O(o.organizationId),data:{role:O(o.role),...ce("permission",o.permission===void 0?void 0:Pi(o.permission))}}});return ue(n.map(i=>i.organizationId),t),n.map(i=>i.data)}function xt(e,t,n){let i=p(e),o=i.updatedAt,a={id:O(i.id),name:O(i.name),organizationId:O(i.organizationId),createdAt:R(i.createdAt),...o===void 0?{}:{updatedAt:R(o)}};return M(a.id,t),M(a.organizationId,n),a}function Ct(e,t){let n=p(e);return {...W(n,void 0,t),user:Dt(n.user)}}function Ii(e,t){let n=F(e,i=>Ct(i));return ue(n.map(i=>i.organizationId),t),n}function Pi(e){let t=p(e),n={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>mt||!Array.isArray(o))&&l(),n[i]=o.map(a=>O(a));return n}function O(e){let t=A(e);return (t.length===0||t.length>mt)&&l(),t}function M(e,t){t!==void 0&&e!==t&&l();}function ue(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&l();}function Dt(e){let t=p(e);return {id:O(t.id),name:O(t.name),email:O(t.email),...ce("image",k(t,"image"))}}function F(e,t){return Array.isArray(e)||l(),e.map(n=>t(n))}function ce(e,t){return t===void 0?{}:{[e]:t}}function vt(e,t,n=()=>null){let{post:i,mutation:o}=J(e,t),a=(r,c,s,h)=>e.request(r,{query:c,fetchOptions:s,decode:h});return {create:(r,c)=>o(i("/organization/create",r,c,G)),list:r=>a("/organization/list",void 0,r,ht),get:(r={},c)=>a("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},c,s=>yt(s,r.organizationId,r.organizationSlug)),setActive:(r,c)=>o(i("/organization/set-active",r,c,s=>De(s,r.organizationId,r.organizationSlug))),listTeams:(r={},c)=>a("/organization/list-teams",{organizationId:r.organizationId},c,s=>At(s,r.organizationId)),setActiveTeam:(r,c)=>o(i("/organization/set-active-team",r,c,s=>Ot(s,r.teamId))),update:(r,c)=>o(i("/organization/update",r,c,s=>De(s,r.organizationId))),delete:(r,c)=>o(i("/organization/delete",r,c,s=>G(s,r.organizationId))),listMembers:(r={},c)=>a("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},c,s=>bt(s,r.organizationId)),inviteMember:(r,c)=>o(i("/organization/invite-member",r,c,s=>N(s,void 0,r.organizationId))),listInvitations:(r={},c)=>a("/organization/list-invitations",{organizationId:r.organizationId},c,s=>wt(s,r.organizationId)),listUserInvitations:r=>a("/organization/list-user-invitations",void 0,r,kt),getInvitation:(r,c)=>a("/organization/get-invitation",{id:r.id},c,s=>Rt(s,r.id)),acceptInvitation:(r,c)=>o(i("/organization/accept-invitation",r,c,s=>St(s,r.invitationId))),rejectInvitation:(r,c)=>o(i("/organization/reject-invitation",r,c,s=>Tt(s,r.invitationId))),cancelInvitation:(r,c)=>o(i("/organization/cancel-invitation",r,c,s=>It(s,r.invitationId))),removeMember:(r,c)=>o(i("/organization/remove-member",r,c,s=>Pt(s,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,c)=>o(i("/organization/update-member-role",r,c,s=>W(s,r.memberId,r.organizationId))),leave:(r,c)=>o(i("/organization/leave",r,c,s=>W(s,void 0,r.organizationId))),listRoles:(r={},c)=>a("/organization/list-roles",{organizationId:r.organizationId},c,s=>Et(s,r.organizationId)),has:r=>se(n(),r),hasPermission:r=>ae(n(),r.permission)}}var Ut=4096,Ei=4096,xi=100,Ci=256,Di=16,vi=64,Ui=12;function Ue(e){let t=p(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&l(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Xt(t.twoFactorMethods,Di,vi)}}):(t.twoFactorRedirect!==void 0&&l(),{redirect:b(t.redirect),...Mi(t,"url"),user:x(t.user)})}function _t(e){let t=p(e);return {user:x(t.user)}}function zt(e){let t=p(e);return {sessionCreated:b(t.sessionCreated),user:x(t.user)}}function Nt(e,t){let n=p(e),i=b(n.redirect);n.user===null&&l();let o=n.user!==void 0&&n.user!==null,a=n.url!==void 0&&n.url!==null;return i?((o||!a)&&l(),{redirect:true,url:ve(n.url,t)}):(o===a&&l(),o?{redirect:false,user:x(n.user)}:{redirect:false,url:ve(n.url,t)})}function Lt(e,t){let n=p(e);return (n.redirect!==true||n.user!==void 0)&&l(),{redirect:true,url:ve(n.url,t)}}function Mt(e){return {status:b(p(e).status)}}function Ft(e){return {success:b(p(e).success)}}function Vt(e){return p(e).status!=="pending"&&l(),{status:"pending"}}function qt(e){let t=p(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&l();let n=p(t.turnstile),i=n.siteKey===null?null:A(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:A(t.connectionId),challenge:A(t.challenge),difficulty:_i(t.difficulty),challengeToken:A(t.challengeToken),challengeRequired:b(t.challengeRequired),turnstile:{required:b(n.required),siteKey:i}}}function _i(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>Ui)&&l(),Number(e)}function Kt(e){let t=p(e);return (t.status!==true||t.sessionCreated!==true)&&l(),{status:true,sessionCreated:true,user:zi(t.user)}}function _e(e){return {status:b(p(e).status)}}function Ht(e){return {status:b(p(e).status)}}function Bt(e){let t=p(e);return {status:b(t.status),user:x(t.user)}}function jt(e){return {success:b(p(e).success)}}function Jt(e){let t=p(e);return {totpURI:Li(t.totpURI),backupCodes:Yt(t.backupCodes)}}function Gt(e){return {status:b(p(e).status)}}function le(e){return p(e).status!==true&&l(),{status:true}}function Wt(e){return {status:b(p(e).status)}}function $t(e){let t=p(e);return t.status!==void 0&&t.status!==true&&l(),{backupCodes:Yt(t.backupCodes)}}function zi(e){let t=p(e);return {id:$(t.id,512),...Fi(t,"name",1024),phoneNumber:$(t.phoneNumber,64),phoneNumberVerified:b(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:R(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:R(t.updatedAt)}}}function ve(e,t){let n=$(e,Ut);/[\u0000-\u0020\u007f]/u.test(n)&&l();let i;try{i=new URL(n);}catch{return l()}return (i.username||i.password)&&l(),i.protocol==="https:"||t&&i.protocol==="http:"&&Ni(i.hostname)?i.href:l()}function Ni(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Li(e){let t=$(e,Ei),n;try{n=new URL(t);}catch{return l()}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))&&l(),t}function Yt(e){return Xt(e,xi,Ci)}function Xt(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&l();let i=e.map(o=>$(o,n));return i.some(o=>o.trim().length===0)&&l(),new Set(i).size!==i.length&&l(),i}function $(e,t){let n=A(e);return (n.length===0||n.length>t)&&l(),n}function Mi(e,t){let n=e[t];return n==null?{}:{[t]:$(n,Ut)}}function Fi(e,t,n){let i=k(e,t);return i===void 0?{}:(i!==null&&i.length>n&&l(),{[t]:i})}var Qt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),de=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 pe(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||en(n,i)||Zt(i)||Qt.has(i))return {valid:false}}let t=Vi(e);return ze(t)?{valid:true,value:t}:{valid:false}}function ze(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let a=o.codePointAt(0);if(a===void 0||en(o,a)||Zt(a)||Qt.has(a))return false;n??=a,i=a;}return t>0&&n!==void 0&&i!==void 0&&!de.has(n)&&!de.has(i)}function fe(){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 Vi(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!de.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let a=i>=56320&&i<=57343?n-2:n-1,r=e.codePointAt(a);if(r===void 0||!de.has(r))break;n=a;}return e.slice(t,n)}function Zt(e){return e>=0&&e<=31||e>=127&&e<=159}function en(e,t){return e.length===1&&t>=55296&&t<=57343}var on=12,rn=5e3,qi=8,Ki=1e3,Hi=16,tn=512,an=100,sn=8192,Bi=32768,Ne=1024,nn=256,Me=64,ji=6e5,Ji=/^[A-Za-z0-9_-]+$/u,Gi=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Wi=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,$i=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Yi=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,cn=new Set(["discouraged","preferred","required"]),Xi=new Set(["singleDevice","multiDevice"]),un=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),ln=new Set(["hybrid","security-key","client-device"]),Qi=new Set(["none","indirect","direct","enterprise"]),Zi=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),eo=new Set(["platform","cross-platform"]),to=new Set(["discouraged","preferred","required"]),no=new Set([-8,-7,-257]);function dn(e){let t=z(e,on,rn);return {challenge:wn(t.challenge),...S("timeout",On(t.timeout)),...S("rpId",kn(t.rpId)),...S("allowCredentials",An(t.allowCredentials)),...S("userVerification",ee(t.userVerification,cn)),...S("hints",ge(t.hints,ln)),...S("extensions",bn(t.extensions))}}function pn(e){let t=z(e,on,rn);return {challenge:wn(t.challenge),rp:io(t.rp),user:oo(t.user),pubKeyCredParams:ro(t.pubKeyCredParams),...S("timeout",On(t.timeout)),...S("excludeCredentials",An(t.excludeCredentials)),...S("authenticatorSelection",ao(t.authenticatorSelection)),...S("attestation",ee(t.attestation,Qi)),...S("attestationFormats",ge(t.attestationFormats,Zi)),...S("hints",ge(t.hints,ln)),...S("extensions",bn(t.extensions))}}function fn(e){let t=p(e),n=re(t.session),i=x(t.user);return n.userId!==i.id&&l(),{session:n,user:i}}function Fe(e){let t=p(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&l();let i=Ve(t.deviceType,Xi),o=b(t.backedUp);return o&&i!=="multiDevice"&&l(),{id:Y(t.id,nn),...uo(t),publicKey:so(t.publicKey,Bi),userId:Y(t.userId,nn),credentialID:he(t.credentialID,sn),counter:n,deviceType:i,backedUp:o,...lo(t),createdAt:R(t.createdAt),...po(t)}}function gn(e,t,n){let i=Fe(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&l(),i}function mn(e){(!Array.isArray(e)||e.length>an)&&l();let t=e.map(Fe);return me(t.map(n=>n.id)),me(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&l(),t}function hn(e,t,n){let i=p(e),o=Fe(i.passkey);return (o.id!==t||o.name!==n)&&l(),{passkey:o}}function yn(e){return p(e).status!==true&&l(),{status:true}}function io(e){let t=p(e);return {name:Le(t.name,Ne),...S("id",kn(t.id))}}function oo(e){let t=p(e);return {id:he(t.id,128,1,64),name:Le(t.name,Ne),displayName:Le(t.displayName,Ne)}}function ro(e){(!Array.isArray(e)||e.length===0||e.length>Me)&&l();let t=e.map(n=>{let i=p(n);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!no.has(i.alg))&&l(),{type:"public-key",alg:i.alg}});return fo(t.map(n=>n.alg)),t}function An(e){if(e===void 0)return;(!Array.isArray(e)||e.length>an)&&l();let t=e.map(n=>{let i=p(n);return i.type!=="public-key"&&l(),{type:"public-key",id:he(i.id,sn),...S("transports",ge(i.transports,un))}});return me(t.map(n=>n.id)),t}function ao(e){if(e===void 0)return;let t=p(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&l();let n=ee(t.residentKey,to);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&l(),{...S("authenticatorAttachment",ee(t.authenticatorAttachment,eo)),...S("residentKey",n),...S("requireResidentKey",t.requireResidentKey),...S("userVerification",ee(t.userVerification,cn))}}function On(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>ji)&&l(),e}function bn(e){return e===void 0?void 0:z(e,qi,Ki)}function ge(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Me)&&l();let n=e.map(i=>Ve(i,t));return me(n),n}function ee(e,t){if(e!==void 0)return Ve(e,t)}function wn(e){return he(e,Math.ceil(tn*4/3),Hi,tn)}function he(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=Y(e,t),a=o.length%4,r=co(o.at(-1)??""),c=Math.floor(o.length*3/4);return (!Ji.test(o)||a===1||a===2&&(r&15)!==0||a===3&&(r&3)!==0||c<n||c>i)&&l(),o}function Y(e,t){let n=A(e);return (n.length===0||n.length>t)&&l(),n}function Le(e,t){let n=Y(e,t);return Wi.test(n)&&l(),n}function kn(e){if(e===void 0)return;let t=Y(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!$i.test(n)))&&l(),t}function so(e,t){let n=Y(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),a=n.at(i?-3:o?-2:-1)??"",r=Rn(a);return (n.length%4!==0||!Gi.test(n)||i&&(r&15)!==0||o&&(r&3)!==0)&&l(),n}function co(e){return Rn(e,true)}function Rn(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function uo(e){let t=k(e,"name");return t===void 0?{}:(t!==null&&!ze(t)&&l(),{name:t})}function lo(e){let t=k(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Me||n.some(i=>!un.has(i))||new Set(n).size!==n.length)&&l(),{transports:t}}function po(e){let t=k(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Yi.test(t)||l(),{aaguid:t})}function Ve(e,t){let n=A(e);return t.has(n)||l(),n}function S(e,t){return t===void 0?{}:{[e]:t}}function me(e){new Set(e).size!==e.length&&l();}function fo(e){new Set(e).size!==e.length&&l();}function Tn(e,t=()=>{},n=go){let i=ie(e),o=ct(i,e.decoded.projectId),a=n(i,o.notifyMutation),r=()=>{o.notifyMutation(),t();},{post:c,mutation:s}=J(i,r),h=e.decoded.env==="test";return {sessionStore:o.store,getSession:o.getSession,account:ft(i,r),organization:vt(i,r,()=>o.store.getSnapshot().data?.session.membership??null),signIn:{email:(u,d)=>s(c("/sign-in/email",u,d,Ue),f=>!("twoFactorRedirect"in f)),username:(u,d)=>s(c("/sign-in/username",u,d,Ue),f=>!("twoFactorRedirect"in f)),social:async(u,d)=>{let f=await s(c("/sign-in/social",u,d,g=>Nt(g,h)),g=>"user"in g);return f.error!==null||f.data===null||"url"in f.data&&f.data.redirect&&!u.disableRedirect&&typeof window<"u"&&window.location.assign(f.data.url),f},sso:async(u,d)=>{let f=await c("/sign-in/sso",u,d,g=>Lt(g,h));return f.error!==null||f.data===null||typeof window<"u"&&window.location.assign(f.data.url),f},magicLink:(u,d)=>c("/sign-in/magic-link",u,d,Mt),emailOtp:(u,d)=>s(c("/sign-in/email-otp",u,d,_t)),passkey:(u,d)=>a.signIn(u,d)},signUp:{email:(u,d)=>s(c("/sign-up/email",u,d,zt),f=>f.sessionCreated)},emailOtp:{sendVerificationOtp:(u,d)=>c("/email-otp/send-verification-otp",u,d,Ft),verifyEmail:(u,d)=>s(c("/email-otp/verify-email",u,d,Bt))},phoneOtp:{prepare:u=>c("/phone-otp/challenge",{},u,qt),start:(u,d)=>c("/phone-otp/start",{...u,idempotencyKey:u.idempotencyKey??Ce()},d,Vt),verify:(u,d)=>s(c("/phone-otp/verify",u,d,Kt))},requestPasswordReset:(u,d)=>c("/request-password-reset",u,d,_e),resetPassword:(u,d)=>c("/reset-password",u,d,_e),sendVerificationEmail:(u,d)=>c("/send-verification-email",u,d,Ht),passkey:{addPasskey:(u,d)=>a.add(u,d),listUserPasskeys:()=>i.request("/passkey/list-user-passkeys",{decode:mn}),updatePasskey:async(u,d)=>{let f=pe(u.name);if(!f.valid||f.value===void 0)return fe();let g=f.value;return c("/passkey/update-passkey",{...u,name:g},d,m=>hn(m,u.id,g))},deletePasskey:(u,d)=>c("/passkey/delete-passkey",u,d,yn)},twoFactor:{enable:(u,d)=>c("/two-factor/enable",u,d,Jt),disable:(u,d)=>s(c("/two-factor/disable",u,d,Gt),f=>f.status),verifyTotp:(u,d)=>s(c("/two-factor/verify-totp",u,d,le)),verifyBackupCode:(u,d)=>s(c("/two-factor/verify-backup-code",u,d,le)),sendOtp:(u={},d)=>c("/two-factor/send-otp",u,d,Wt),verifyOtp:(u,d)=>s(c("/two-factor/verify-otp",u,d,le)),generateBackupCodes:(u,d)=>c("/two-factor/generate-backup-codes",u,d,$t)},signOut:u=>s(i.request("/sign-out",{method:"POST",body:{},fetchOptions:u,decode:jt}),d=>d.success)}}function go(){return {signIn:()=>Sn(),add:()=>Sn()}}function Sn(){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 Cn(e,t,n){let i=new Map;return {async signIn(o={},a){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return En(r.error);let c;try{c=dn(r.data);}catch{return In()}let s;try{s=await n.authenticate({optionsJSON:c,useBrowserAutofill:o.autoFill});}catch(g){return xn(n,g,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!mo(s))return Pn();let{clientExtensionResults:h,...u}=s,d=i.get(s.id);if(d)return d;let f=(async()=>{let g=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:u},fetchOptions:a,decode:fn});return g.data&&t(),g})();i.set(s.id,f);try{return await f}finally{i.get(s.id)===f&&i.delete(s.id);}},async add(o={},a){let r=pe(o.name);if(!r.valid)return fe();let c=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:o.authenticatorAttachment}});if(!c.data)return En(c.error);let s;try{s=pn(c.data);}catch{return In()}let h;try{h=await n.register({optionsJSON:s});}catch(g){return xn(n,g,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!ho(h))return Pn();let{clientExtensionResults:u,...d}=h,f=await e.request("/passkey/verify-registration",{method:"POST",body:{response:d,name:r.value},fetchOptions:a,decode:g=>gn(g,h.id,r.value)});return f.data&&t(),f}}}function In(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function Pn(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function Dn(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 mo(e){if(!Dn(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 ho(e){if(!Dn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function En(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function xn(e,t,n,i){let o=Ao(t,"page does not have focus"),a=e.errorCode?.(t),r=a!==void 0?a==="ERROR_CEREMONY_ABORTED":yo(t)==="AbortError";return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":r?n:a??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":r?i:n==="AUTH_CANCELLED"?"Passkey authentication could not be completed by this browser.":"Passkey registration could not be completed by this browser."}}}function yo(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Ao(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}function C(e){let t=new Uint8Array(e),n="";for(let o of t)n+=String.fromCharCode(o);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function K(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,i=t.padEnd(t.length+n,"="),o=atob(i),a=new ArrayBuffer(o.length),r=new Uint8Array(a);for(let c=0;c<o.length;c++)r[c]=o.charCodeAt(c);return a}function H(){return Oo.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var Oo={stubThis:e=>e};function ye(e){let{id:t}=e;return {...e,id:K(t),transports:e.transports}}function Ae(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var w=class extends Error{constructor({message:t,code:n,cause:i,name:o}){super(t,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=n;}};function vn({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new w({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new w({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new w({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new w({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new w({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new w({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(Ae(i)){if(n.rp.id!==i)return new w({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new w({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new w({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new w({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var qe=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},Oe=new qe;var bo=["cross-platform","platform"];function be(e){if(e&&!(bo.indexOf(e)<0))return e}async function Un(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=false}=e;if(!H())throw new Error("WebAuthn is not supported in this browser");let i={...t,challenge:K(t.challenge),user:{...t.user,id:K(t.user.id)},excludeCredentials:t.excludeCredentials?.map(ye)},o={};n&&(o.mediation="conditional"),o.publicKey=i,o.signal=Oe.createNewAbortSignal();let a;try{a=await navigator.credentials.create(o);}catch(m){throw vn({error:m,options:o})}if(!a)throw new Error("Registration was not completed");let{id:r,rawId:c,response:s,type:h}=a,u;typeof s.getTransports=="function"&&(u=s.getTransports());let d;if(typeof s.getPublicKeyAlgorithm=="function")try{d=s.getPublicKeyAlgorithm();}catch(m){Ke("getPublicKeyAlgorithm()",m);}let f;if(typeof s.getPublicKey=="function")try{let m=s.getPublicKey();m!==null&&(f=C(m));}catch(m){Ke("getPublicKey()",m);}let g;if(typeof s.getAuthenticatorData=="function")try{g=C(s.getAuthenticatorData());}catch(m){Ke("getAuthenticatorData()",m);}return {id:r,rawId:C(c),response:{attestationObject:C(s.attestationObject),clientDataJSON:C(s.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:g},type:h,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:be(a.authenticatorAttachment)}}function Ke(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
+ `,t);}function _n(){if(!H())return He.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?He.stubThis(new Promise(t=>t(false))):He.stubThis(e.isConditionalMediationAvailable())}var He={stubThis:e=>e};function zn({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new w({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new w({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(Ae(i)){if(n.rpId!==i)return new w({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new w({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new w({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Nn(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:i=true}=e;if(!H())throw new Error("WebAuthn is not supported in this browser");let o;t.allowCredentials?.length!==0&&(o=t.allowCredentials?.map(ye));let a={...t,challenge:K(t.challenge),allowCredentials:o},r={};if(n){if(!await _n())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&i)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');r.mediation="conditional",a.allowCredentials=[];}r.publicKey=a,r.signal=Oe.createNewAbortSignal();let c;try{c=await navigator.credentials.get(r);}catch(g){throw zn({error:g,options:r})}if(!c)throw new Error("Authentication was not completed");let{id:s,rawId:h,response:u,type:d}=c,f;return u.userHandle&&(f=C(u.userHandle)),{id:s,rawId:C(h),response:{authenticatorData:C(u.authenticatorData),clientDataJSON:C(u.clientDataJSON),signature:C(u.signature),userHandle:f},type:d,clientExtensionResults:c.getClientExtensionResults(),authenticatorAttachment:be(c.authenticatorAttachment)}}var Ln={authenticate:e=>Nn(e),register:e=>Un(e),errorCode:e=>e instanceof w?e.code:void 0};var we=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 B(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),ne({fetchImpl:e.fetch??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 j(e,t){if(!e.response.ok)throw new we(t,e.response,e.requestId);return e.data}function Fn(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function Be(e){let t=await B(e,Fn(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:wo});return t.response.status===401?{required:false}:j(t,"consent status")}async function je(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return j(await B(e,Fn(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:ko}),"consent accept")}function wo(e){let t=p(e),n=b(t.required),i=Ro(t.needsConsent),o=Vn(t.version),a=Mn(t.termsUrl),r=Mn(t.privacyUrl);return {required:n,...i===void 0?{}:{needsConsent:i},...o===void 0?{}:{version:o},...a===void 0?{}:{termsUrl:a},...r===void 0?{}:{privacyUrl:r}}}function ko(e){let t=p(e),n=Vn(t.version);return {ok:b(t.ok),...n===void 0?{}:{version:n}}}function Ro(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function Vn(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function Mn(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var So=30;function To(e){return typeof e?.exp=="number"?e.exp:null}function Io(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(n));return typeof i=="object"&&i!==null?i:null}catch{return null}}function Je(e){let t=new Map;async function n(a={}){let r=a.template===void 0?null:a.template.trim().toLowerCase();if(r==="")throw new TypeError("Template missing");let c=r??"",s=t.get(c);s||(s={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(c,s));let h=a.forceRefresh===true;if(!h){let m=s.activeKey?s.cachedByKey.get(s.activeKey):null;if(m&&m.exp-Date.now()/1e3>So)return m.token;if(s.inflight)return s.inflight}let u=++s.sequence,d=()=>t.get(c)===s&&s.sequence===u,f=(async()=>{let m=r?`${e.projectBaseURL}/token/${encodeURIComponent(r)}`:`${e.projectBaseURL}/token`,U=await B(e,m,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:q=>Po(q,r!==null)});if(U.response.status===401)return d()&&i(),null;let y=j(U,"token"),v=y.policyVersion,_=y.token,V=Io(_),X=To(V);if(d())if(X!==null){let q=typeof V?.sub=="string"?V.sub:null,ke=typeof V?.org_id=="string"?V.org_id:null;if(!r||q){let Ye=JSON.stringify([e.projectBaseURL,q,ke,r,v]);s.cachedByKey.clear(),s.cachedByKey.set(Ye,{token:_,exp:X}),s.activeKey=Ye;}else o(s);}else o(s);return _})();if(h)return f;let g=f.finally(()=>{s.inflight===g&&(s.inflight=null);});return s.inflight=g,g}function i(){t.clear();}function o(a){a.cachedByKey.clear(),a.activeKey=null;}return {getToken:n,clear:i}}function Po(e,t){let n=p(e),i=A(n.token);if(i.length===0||i.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:i,policyVersion:0};let o=p(n.template);if(!Number.isSafeInteger(o.policyVersion)||o.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i,policyVersion:o.policyVersion}}function Eo(e){let t=Je(e),n=Tn(e,t.clear,(r,c)=>Cn(r,c,Ln)),i=ie(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),o=r=>(...c)=>(t.clear(),r(...c)),a={getConsentStatus:()=>Be(e),acceptConsent:r=>je(e,r),getToken:t.getToken,waitlist:{join:(r,c)=>i.request("/waitlist",{method:"POST",body:r,fetchOptions:c,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:o(n.account.updateUnsafeMetadata),updateProfile:o(n.account.updateProfile),changeEmail:o(n.account.changeEmail),changePassword:o(n.account.changePassword),revokeSession:o(n.account.revokeSession),delete:o(n.account.delete)},signIn:{email:o(n.signIn.email),username:o(n.signIn.username),social:o(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:o(n.signIn.emailOtp),passkey:o(n.signIn.passkey)},signUp:{email:o(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:o(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:o(n.twoFactor.disable),verifyTotp:o(n.twoFactor.verifyTotp),verifyBackupCode:o(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:o(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{prepare:n.phoneOtp.prepare,start:n.phoneOtp.start,verify:o(n.phoneOtp.verify)},signOut:o(n.signOut)};return {...n,...a}}async function xo(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let t=await Co(),n=e.challengeRequired?await t.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await t.getTurnstileToken(Do(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...n?{challengeToken:e.challengeToken,nonce:n.nonce}:{},...i?{turnstileToken:i}:{}}}async function Co(){return import('@akedly/shield')}function Do(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}async function vo(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return j(await B(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:i=>Uo(i,e)}),"public-config")}function Uo(e,t){let n=z(e),i=n.environmentId,o=n.environmentType,a=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!_o(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==a)throw D();let r=P(n.branding),c=P(n.legal);if(!Ge(n.enabledMethods,64)||!Ge(n.socialProviders,64)||!Kn(r,["appName","logoUrl","primaryColor"])||r.showAppName!==void 0&&typeof r.showAppName!="boolean"||r.alignment!==void 0&&r.alignment!=="left"&&r.alignment!=="center"&&r.alignment!=="right"||r.theme!==void 0&&r.theme!=="light"&&r.theme!=="dark"&&r.theme!=="system"||!Kn(c,["termsUrl","privacyUrl"])||!Number.isSafeInteger(c.version)||c.version<0||typeof c.required!="boolean")throw D();if(n.socialProviderClientIds!==void 0){let s=P(n.socialProviderClientIds);if(Object.keys(s).length>64||Object.values(s).some(h=>typeof h!="string"||h.length>2048))throw D()}if(!L(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!qn(n.turnstileSiteKey)||!qn(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw D();if(n.jwtIssuer!==null){let s=P(n.jwtIssuer);if(s.issuer!==a||s.jwksUrl!==`${a}/jwks`||s.aud!==t.decoded.projectId)throw D()}if(n.signUp!==void 0){let s=P(n.signUp).mode;if(typeof s!="string"||!["open","restricted","allowlist","waitlist"].includes(s))throw D()}if(n.authentication!==void 0&&zo(n.authentication),n.emailVerification!==void 0){let s=P(n.emailVerification);if(!L(s,["required"])||s.method!=="link"&&s.method!=="code")throw D()}if(n.userModel!==void 0&&!L(P(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw D();if(n.mfa!==void 0){let s=P(n.mfa);if(!L(s,["totp","required","backupCodes"])||(s.required===true||s.backupCodes===true)&&s.totp!==true)throw D()}return n}function _o(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function D(){return new TypeError("public-config returned an invalid response")}function P(e){if(!e||typeof e!="object"||Array.isArray(e))throw D();return e}function qn(e){return e===null||typeof e=="string"&&e.length<=4096}function zo(e){let t=P(e),n=P(t.email),i=P(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!L(n,["signUp"])||!Ge(n.signIn,3)||n.signIn.some(a=>a!=="password"&&a!=="magic_link"&&a!=="email_otp")||!L(P(t.phone),["signUp","signIn"])||!L(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!L(P(t.passkey),["signIn","add"])||!L(P(t.username),["collectOnSignUp","signIn"]))throw D()}function L(e,t){return t.every(n=>typeof e[n]=="boolean")}function Kn(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function Ge(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var te=class extends Error{constructor(n,i){super(n);this.cause=i;this.name="AuthOwlError";}cause},We=class extends te{constructor(n,i){super(`Rate limited. Retry after ${n}s.`,i);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},$e=class extends te{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var Hn=["en","ar"];function No(e){return e==="ar"?"rtl":"ltr"}function Lo(e){return typeof e=="string"&&Hn.includes(e)}
3
+ exports.AUTH_CHALLENGE_HEADER=rt;exports.AuthOwlError=te;exports.AuthOwlHttpError=we;exports.InvalidKeyError=$e;exports.LOCALES=Hn;exports.RateLimitedError=We;exports.TransportError=T;exports.acceptConsent=je;exports.createAuthOwlClient=Eo;exports.createIdempotencyKey=Ce;exports.createMembershipHas=Si;exports.createTokenClient=Je;exports.decodePublishableKey=Re;exports.directionFor=No;exports.getConsentStatus=Be;exports.getPublicConfig=vo;exports.isLocale=Lo;exports.membershipHas=se;exports.membershipHasPermission=ae;exports.membershipHasTeam=gt;exports.resolveConfig=Gn;exports.resolveProjectCapabilities=Wn;exports.sessionCookieName=Jn;exports.solvePhoneOtpChallenge=xo;