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