@authowl/core 0.15.3 → 0.15.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import {m as m$1,l,f,w,p,n,v,o,t,y,A,u,q as q$1,x as x$1,s,r}from'./chunk-6D4A36HU.js';import {a}from'./chunk-T5SH3ZZP.js';function vi(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,a=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:o?.password.signUp??n,phoneSignUp:o?.phone.signUp??t.includes("phone_otp"),passwordSignIn:o?.email.signIn.includes("password")??n,passwordMinLength:o?.password.minLength??8,passwordMaxLength:o?.password.maxLength??128,magicLinkSignIn:o?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:o?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:o?.phone.signIn??t.includes("phone_otp"),usernameSignIn:o?.username.signIn??false,collectUsername:o?.username.collectOnSignUp??false,passkeySignIn:o?.passkey.signIn??i,passkeyAdd:o?.passkey.add??i,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:a?.totp??e?.twoFactor??false,mfaRequired:a?.required??e?.mfaRequired??false,backupCodes:a?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}var ae=class extends Error{status;requestId;constructor(t,n,i){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=i;}};function X(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),m$1({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 Ce(e,t){if(!e.response.ok)throw new ae(t,e.response,e.requestId);return e.data}var un="x-authowl-turnstile-token",cn=1e4,dn=32,ln=2e4;function L(e,t){return {post:(n,i,o,a)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:a}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function de(e,t=e.projectBaseURL){return {async request(n,i={}){let o=fn(t,n,i.query),a=i.method??(i.body===void 0?"GET":"POST"),r=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&r.set(un,i.fetchOptions.authChallengeToken),i.body!==void 0&&r.set("content-type","application/json");let c={method:a,headers:r,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},u=Object.freeze({method:a,path:n});await i.fetchOptions?.onRequest?.(u);let h=gn(a,i.fetchOptions),g;try{g=await pn(e,o,{...c,signal:i.fetchOptions?.signal},h);}catch(f){let R=Ee(f);return await i.fetchOptions?.onError?.(se(u,R,An(f))),{data:null,error:R}}let{response:A,requestId:T}=g,O=bn(n,g.data),s=O;if(A.ok)try{s=ce(O),i.decode&&(s=i.decode(s));}catch{let f=Ee(new l("invalid_response",T));return await i.fetchOptions?.onError?.(se(u,f,"invalid_response")),{data:null,error:f}}let l$1=Object.freeze({...u,status:A.status,...T===void 0?{}:{requestId:T}});if(await i.fetchOptions?.onResponse?.(l$1),!A.ok){let f$1=mn(A,O,T);return f$1.code===f&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(se(u,f$1,"api")),{data:null,error:f$1}}return await i.fetchOptions?.onSuccess?.(l$1),{data:s,error:null}}}}async function pn(e,t,n,i){let o=Date.now()+cn;for(let a=0;a<i;a+=1){let r=o-Date.now();if(r<=0)throw new l("timeout");try{let c=await X(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(r))});if(c.response.status<500||a===i-1)return c}catch(c){if(a===i-1||!(c instanceof l)||c.kind!=="network")throw c}await yn(50*2**a,n.signal,o);}throw new l("network")}function gn(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 fn(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,a]of Object.entries(n??{}))a!==void 0&&i.searchParams.set(o,String(a));return i.toString()}function mn(e,t,n){let i=K(t)?t:{},o=hn(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 hn(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??De(t.get("retry-after"))??De(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function De(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 Ee(e){let t=e instanceof l?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 l&&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 An(e){return e instanceof l?e.kind:"network"}function yn(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new l("aborted"));return}let a=n-Date.now();if(a<=0){o(new l("timeout"));return}let r=Math.min(e,a),c=()=>{clearTimeout(u),o(new l("aborted"));},u=setTimeout(()=>{t?.removeEventListener("abort",c),Date.now()>=n?o(new l("timeout")):i();},r);t?.addEventListener("abort",c,{once:true}),t?.aborted&&c();})}function ce(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>dn||i.nodes>ln)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=>ce(o,"",n+1,i)):K(e)?Object.fromEntries(Object.entries(e).map(([o,a])=>[o,On(o)?a:ce(a,o,n+1,i)])):e}function On(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function bn(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>K(o)?ue(o):o);if(!K(t))return t;let i=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?ue(t):t;return e==="/sign-up/email"&&!("sessionCreated"in i)&&(i={...i,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&K(i.session)&&(i={...i,session:ue(i.session)}),i}function ue(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function K(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}function xe(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function ze({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,a=null,r=null,c=null,u=null,h=null,g,A=y=>{s(y);};g={data:null,isPending:true,isRefetching:false,error:null,refetch:A};function T(y){g=y;for(let k of o)k();}async function O(y){return e.request("/get-session",{query:y?.query,decode:le})}function s(y){if(y?.query?.disableCookieCache===true)return l(y);if(u)return u;let k=l(y).finally(()=>{u===k&&(u=null);});return u=k,k}async function l(y){c?.abort();let k=new AbortController;c=k,T({...g,isPending:g.data===null&&g.error===null,isRefetching:g.data!==null});let B=n.beginRead(),G=await e.request("/get-session",{query:y?.query,fetchOptions:{signal:k.signal},decode:le});if(c===k&&(c=null,T({data:G.data,error:G.error,isPending:false,isRefetching:false,refetch:A}),G.error===null)){if(G.data===null){B.endIfDead();return}await f(B);}}async function f(y){if(n.needsProbe()){if(!y.carriedToken){y.recordCookieVerdict(true);return}return h||R(y)}}function R(y){let k=t.request("/get-session",{query:{disableCookieCache:true},decode:le}).then(B=>{h===k&&B.error===null&&y.recordCookieVerdict(B.data!==null);}).finally(()=>{h===k&&(h=null);});return h=k,k}function v(){a?.postMessage({type:"session-changed"});}function an(){if(typeof window>"u"||r)return;let y=()=>{s();},k=()=>{document.visibilityState==="visible"&&s();};window.addEventListener("focus",y),document.addEventListener("visibilitychange",k),typeof BroadcastChannel<"u"&&(a=new BroadcastChannel(i),a.addEventListener("message",y)),r=()=>{window.removeEventListener("focus",y),document.removeEventListener("visibilitychange",k),a?.close(),a=null,r=null;};}function sn(y){return o.add(y),o.size===1&&(an(),s()),()=>{if(o.delete(y),o.size===0){let k=c;c=null,u=null,k?.abort(),r?.();}}}return n.measureWith(()=>{n.needsProbe()&&R(n.beginRead());}),{store:{subscribe:sn,getSnapshot:()=>g},getSession:O,notifyMutation(){v(),h&&h.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&v();}),o.size>0&&s({query:{disableCookieCache:true}});}}}function le(e){if(e===null)return null;let t$1=n(e);return (t$1.session===void 0||t$1.user===void 0)&&v(),{session:u(t$1.session),user:t(t$1.user)}}async function Ne(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:_e})}async function Ue(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:_e})}function _e(e){let t=n(e),n$1=w(t.public_metadata),i=w(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n$1,unsafeMetadata:i,metadataVersion:t.metadata_version}}function Le(e,t){let{post:n,mutation:i}=L(e,t);return {getMetadata:o=>Ne(e,o),updateUnsafeMetadata:(o,a)=>Ue(e,o,a),updateProfile:(o,a)=>i(n("/update-user",o,a,j)),changeEmail:(o,a)=>i(n("/change-email",o,a,j)),changePassword:(o,a)=>i(n("/change-password",o,a,wn)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:kn}),revokeSession:({sessionId:o},a)=>i(n("/revoke-session",{sessionId:o},a,j)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,j)),listSocialAccounts:async o=>{let a=await e.request("/list-accounts",{fetchOptions:o,decode:Sn});if(!a.data)return {data:null,error:a.error};let r=a.data.length>1;return {...a,data:a.data.filter(c=>c.providerId!=="credential").map(c=>({...c,canUnlink:r}))}},linkSocial:(o,a)=>n("/link-social",o,a,Rn),unlinkSocial:(o,a)=>i(n("/unlink-account",o,a,j)),delete:(o={},a)=>i(n("/delete-user",o,a,In))}}function j(e){let t=n(e);return {status:p(t.status)}}function wn(e){let t$1=n(e);return {user:t(t$1.user)}}function kn(e){return Array.isArray(e)||v(),e.map(t=>{let n$1=n(t);return {id:o(n$1.id),userId:o(n$1.userId),createdAt:q$1(n$1.createdAt),updatedAt:q$1(n$1.updatedAt),expiresAt:q$1(n$1.expiresAt),...Me("ipAddress",s(n$1,"ipAddress")),...Me("userAgent",s(n$1,"userAgent"))}})}function Sn(e){return Array.isArray(e)||v(),e.map(t=>{let n$1=n(t);return {id:o(n$1.id),userId:o(n$1.userId),providerId:o(n$1.providerId),accountId:o(n$1.accountId),scopes:r(n$1.scopes),createdAt:q$1(n$1.createdAt),updatedAt:q$1(n$1.updatedAt)}})}function Rn(e){let t=n(e);return {url:o(t.url),redirect:p(t.redirect)}}function In(e){let t=n(e);return {success:p(t.success),message:o(t.message)}}function Me(e,t){return t===void 0?{}:{[e]:t}}var Tn=new Set(["pending","accepted","rejected","canceled"]),Fe=1e4;function F(e,t,n$1){let i=n(e),o={id:m(i.id),name:m(i.name),slug:m(i.slug),createdAt:q$1(i.createdAt),...Y("logo",s(i,"logo")),...Y("metadata",i.metadata===void 0?void 0:x$1(i.metadata))};return _(o.id,t),_(o.slug,n$1),o}function qe(e){return M(e,F)}function pe(e,t,n){return e===null?null:(t===null&&v(),F(e,t,n))}function Ve(e,t,n$1){if(e===null)return null;let i=n(e),o=F(i,t,n$1);return {...o,members:M(i.members,a=>et(a,o.id)),invitations:M(i.invitations,a=>N(a,void 0,o.id))}}function He(e,t){let n=M(e,i=>Ze(i));return $(n.map(i=>i.organizationId),t),n}function Be(e,t,n){return e===null?null:(t===null&&v(),Ze(e,t,n))}function Ke(e,t){let n$1=n(e);return (!Number.isSafeInteger(n$1.total)||n$1.total<0)&&v(),{members:Pn(n$1.members,t),total:n$1.total}}function N(e,t,n$1){let i=n(e),o=m(i.status);Tn.has(o)||v();let a={id:m(i.id),organizationId:m(i.organizationId),email:m(i.email),role:m(i.role),status:o,inviterId:m(i.inviterId),expiresAt:q$1(i.expiresAt),createdAt:q$1(i.createdAt)};return _(a.id,t),_(a.organizationId,n$1),a}function je(e,t){let n=M(e,i=>N(i));return $(n.map(i=>i.organizationId),t),n}function Je(e){return M(e,t=>{let n$1=n(t);return {...N(n$1),organizationName:m(n$1.organizationName)}})}function Ge(e,t){let n$1=n(e);return {...N(n$1,t),organizationName:m(n$1.organizationName),organizationSlug:m(n$1.organizationSlug),inviterEmail:m(n$1.inviterEmail)}}function We(e,t){let n$1=n(e),i=N(n$1.invitation,t);return {invitation:i,member:q(n$1.member,void 0,i.organizationId)}}function Xe(e,t){let n$1=n(e);return n$1.member!==null&&v(),{invitation:n$1.invitation===null?null:N(n$1.invitation,t),member:null}}function Ye(e,t){return e===null?null:N(e,t)}function $e(e,t,n$1){let i=n(e);return {member:q(i.member,n$1,t)}}function q(e,t,n$1){let i=n(e),o={id:m(i.id),organizationId:m(i.organizationId),userId:m(i.userId),role:m(i.role),createdAt:q$1(i.createdAt),...i.user===void 0?{}:{user:tt(i.user)}};return _(o.id,t),_(o.organizationId,n$1),o}function Qe(e,t){let n$1=M(e,i=>{let o=n(i);return {organizationId:m(o.organizationId),data:{role:m(o.role),...Y("permission",o.permission===void 0?void 0:vn(o.permission))}}});return $(n$1.map(i=>i.organizationId),t),n$1.map(i=>i.data)}function Ze(e,t,n$1){let i=n(e),o=i.updatedAt,a={id:m(i.id),name:m(i.name),organizationId:m(i.organizationId),createdAt:q$1(i.createdAt),...o===void 0?{}:{updatedAt:q$1(o)}};return _(a.id,t),_(a.organizationId,n$1),a}function et(e,t){let n$1=n(e);return {...q(n$1,void 0,t),user:tt(n$1.user)}}function Pn(e,t){let n=M(e,i=>et(i));return $(n.map(i=>i.organizationId),t),n}function vn(e){let t=n(e),n$1={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>Fe||!Array.isArray(o))&&v(),n$1[i]=o.map(a=>m(a));return n$1}function m(e){let t=o(e);return (t.length===0||t.length>Fe)&&v(),t}function _(e,t){t!==void 0&&e!==t&&v();}function $(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&v();}function tt(e){let t=n(e);return {id:m(t.id),name:m(t.name),email:m(t.email),...Y("image",s(t,"image"))}}function M(e,t){return Array.isArray(e)||v(),e.map(n=>t(n))}function Y(e,t){return t===void 0?{}:{[e]:t}}function nt(e,t,n=()=>null){let{post:i,mutation:o}=L(e,t),a=(r,c,u,h)=>e.request(r,{query:c,fetchOptions:u,decode:h});return {create:(r,c)=>o(i("/organization/create",r,c,F)),list:r=>a("/organization/list",void 0,r,qe),get:(r={},c)=>a("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},c,u=>Ve(u,r.organizationId,r.organizationSlug)),setActive:(r,c)=>o(i("/organization/set-active",r,c,u=>pe(u,r.organizationId,r.organizationSlug))),listTeams:(r={},c)=>a("/organization/list-teams",{organizationId:r.organizationId},c,u=>He(u,r.organizationId)),setActiveTeam:(r,c)=>o(i("/organization/set-active-team",r,c,u=>Be(u,r.teamId))),update:(r,c)=>o(i("/organization/update",r,c,u=>pe(u,r.organizationId))),delete:(r,c)=>o(i("/organization/delete",r,c,u=>F(u,r.organizationId))),listMembers:(r={},c)=>a("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},c,u=>Ke(u,r.organizationId)),inviteMember:(r,c)=>o(i("/organization/invite-member",r,c,u=>N(u,void 0,r.organizationId))),listInvitations:(r={},c)=>a("/organization/list-invitations",{organizationId:r.organizationId},c,u=>je(u,r.organizationId)),listUserInvitations:r=>a("/organization/list-user-invitations",void 0,r,Je),getInvitation:(r,c)=>a("/organization/get-invitation",{id:r.id},c,u=>Ge(u,r.id)),acceptInvitation:(r,c)=>o(i("/organization/accept-invitation",r,c,u=>We(u,r.invitationId))),rejectInvitation:(r,c)=>o(i("/organization/reject-invitation",r,c,u=>Xe(u,r.invitationId))),cancelInvitation:(r,c)=>o(i("/organization/cancel-invitation",r,c,u=>Ye(u,r.invitationId))),removeMember:(r,c)=>o(i("/organization/remove-member",r,c,u=>$e(u,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,c)=>o(i("/organization/update-member-role",r,c,u=>q(u,r.memberId,r.organizationId))),leave:(r,c)=>o(i("/organization/leave",r,c,u=>q(u,void 0,r.organizationId))),listRoles:(r={},c)=>a("/organization/list-roles",{organizationId:r.organizationId},c,u=>Qe(u,r.organizationId)),has:r=>A(n(),r),hasPermission:r=>y(n(),r.permission)}}var it=4096,Cn=4096,Dn=100,En=256,xn=16,zn=64,Nn=12;function fe(e){let t$1=n(e);return t$1.twoFactorRedirect===true?((t$1.user!==void 0||t$1.redirect!==void 0||t$1.url!==void 0)&&v(),{twoFactorRedirect:true,...t$1.twoFactorMethods===void 0?{}:{twoFactorMethods:wt(t$1.twoFactorMethods,xn,zn)}}):(t$1.twoFactorRedirect!==void 0&&v(),{redirect:p(t$1.redirect),...Fn(t$1,"url"),user:t(t$1.user)})}function ot(e){let t$1=n(e);return {user:t(t$1.user)}}function rt(e){let t$1=n(e);return {sessionCreated:p(t$1.sessionCreated),user:t(t$1.user)}}function at(e,t$1){let n$1=n(e),i=p(n$1.redirect);n$1.user===null&&v();let o=n$1.user!==void 0&&n$1.user!==null,a=n$1.url!==void 0&&n$1.url!==null;return i?((o||!a)&&v(),{redirect:true,url:ge(n$1.url,t$1)}):(o===a&&v(),o?{redirect:false,user:t(n$1.user)}:{redirect:false,url:ge(n$1.url,t$1)})}function st(e,t){let n$1=n(e);return (n$1.redirect!==true||n$1.user!==void 0)&&v(),{redirect:true,url:ge(n$1.url,t)}}function ut(e){return {status:p(n(e).status)}}function ct(e){return {success:p(n(e).success)}}function dt(e){return n(e).status!=="pending"&&v(),{status:"pending"}}function lt(e){let t=n(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&v();let n$1=n(t.turnstile),i=n$1.siteKey===null?null:o(n$1.siteKey);return {kind:"akedly_shield_v1_2",connectionId:o(t.connectionId),challenge:o(t.challenge),difficulty:Un(t.difficulty),challengeToken:o(t.challengeToken),challengeRequired:p(t.challengeRequired),turnstile:{required:p(n$1.required),siteKey:i}}}function Un(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>Nn)&&v(),Number(e)}function pt(e){let t=n(e);return (t.status!==true||t.sessionCreated!==true)&&v(),{status:true,sessionCreated:true,user:_n(t.user)}}function me(e){return {status:p(n(e).status)}}function gt(e){return {status:p(n(e).status)}}function ft(e){let t$1=n(e);return {status:p(t$1.status),user:t(t$1.user)}}function mt(e){return {success:p(n(e).success)}}function ht(e){let t=n(e);return {totpURI:Ln(t.totpURI),backupCodes:bt(t.backupCodes)}}function At(e){return {status:p(n(e).status)}}function Q(e){return n(e).status!==true&&v(),{status:true}}function yt(e){return {status:p(n(e).status)}}function Ot(e){let t=n(e);return t.status!==void 0&&t.status!==true&&v(),{backupCodes:bt(t.backupCodes)}}function _n(e){let t=n(e);return {id:V(t.id,512),...qn(t,"name",1024),phoneNumber:V(t.phoneNumber,64),phoneNumberVerified:p(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:q$1(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:q$1(t.updatedAt)}}}function ge(e,t){let n=V(e,it);/[\u0000-\u0020\u007f]/u.test(n)&&v();let i;try{i=new URL(n);}catch{return v()}return (i.username||i.password)&&v(),i.protocol==="https:"||t&&i.protocol==="http:"&&Mn(i.hostname)?i.href:v()}function Mn(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Ln(e){let t=V(e,Cn),n;try{n=new URL(t);}catch{return v()}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))&&v(),t}function bt(e){return wt(e,Dn,En)}function wt(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&v();let i=e.map(o=>V(o,n));return i.some(o=>o.trim().length===0)&&v(),new Set(i).size!==i.length&&v(),i}function V(e,t){let n=o(e);return (n.length===0||n.length>t)&&v(),n}function Fn(e,t){let n=e[t];return n==null?{}:{[t]:V(n,it)}}function qn(e,t,n){let i=s(e,t);return i===void 0?{}:(i!==null&&i.length>n&&v(),{[t]:i})}var kt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),Z=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 ee(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||Rt(n,i)||St(i)||kt.has(i))return {valid:false}}let t=Vn(e);return he(t)?{valid:true,value:t}:{valid:false}}function he(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let a=o.codePointAt(0);if(a===void 0||Rt(o,a)||St(a)||kt.has(a))return false;n??=a,i=a;}return t>0&&n!==void 0&&i!==void 0&&!Z.has(n)&&!Z.has(i)}function te(){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 Vn(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!Z.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let a=i>=56320&&i<=57343?n-2:n-1,r=e.codePointAt(a);if(r===void 0||!Z.has(r))break;n=a;}return e.slice(t,n)}function St(e){return e>=0&&e<=31||e>=127&&e<=159}function Rt(e,t){return e.length===1&&t>=55296&&t<=57343}var Pt=12,vt=5e3,Hn=8,Bn=1e3,Kn=16,It=512,Ct=100,Dt=8192,jn=32768,Ae=1024,Tt=256,Oe=64,Jn=6e5,Gn=/^[A-Za-z0-9_-]+$/u,Wn=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Xn=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Yn=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,$n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Et=new Set(["discouraged","preferred","required"]),Qn=new Set(["singleDevice","multiDevice"]),xt=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),zt=new Set(["hybrid","security-key","client-device"]),Zn=new Set(["none","indirect","direct","enterprise"]),ei=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),ti=new Set(["platform","cross-platform"]),ni=new Set(["discouraged","preferred","required"]),ii=new Set([-8,-7,-257]);function Nt(e){let t=w(e,Pt,vt);return {challenge:Kt(t.challenge),...S("timeout",Ht(t.timeout)),...S("rpId",jt(t.rpId)),...S("allowCredentials",Vt(t.allowCredentials)),...S("userVerification",J(t.userVerification,Et)),...S("hints",ne(t.hints,zt)),...S("extensions",Bt(t.extensions))}}function Ut(e){let t=w(e,Pt,vt);return {challenge:Kt(t.challenge),rp:oi(t.rp),user:ri(t.user),pubKeyCredParams:ai(t.pubKeyCredParams),...S("timeout",Ht(t.timeout)),...S("excludeCredentials",Vt(t.excludeCredentials)),...S("authenticatorSelection",si(t.authenticatorSelection)),...S("attestation",J(t.attestation,Zn)),...S("attestationFormats",ne(t.attestationFormats,ei)),...S("hints",ne(t.hints,zt)),...S("extensions",Bt(t.extensions))}}function _t(e){let t$1=n(e),n$1=u(t$1.session),i=t(t$1.user);return n$1.userId!==i.id&&v(),{session:n$1,user:i}}function be(e){let t=n(e),n$1=t.counter;(!Number.isSafeInteger(n$1)||n$1<0)&&v();let i=we(t.deviceType,Qn),o=p(t.backedUp);return o&&i!=="multiDevice"&&v(),{id:H(t.id,Tt),...di(t),publicKey:ui(t.publicKey,jn),userId:H(t.userId,Tt),credentialID:oe(t.credentialID,Dt),counter:n$1,deviceType:i,backedUp:o,...li(t),createdAt:q$1(t.createdAt),...pi(t)}}function Mt(e,t,n){let i=be(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&v(),i}function Lt(e){(!Array.isArray(e)||e.length>Ct)&&v();let t=e.map(be);return ie(t.map(n=>n.id)),ie(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&v(),t}function Ft(e,t,n$1){let i=n(e),o=be(i.passkey);return (o.id!==t||o.name!==n$1)&&v(),{passkey:o}}function qt(e){return n(e).status!==true&&v(),{status:true}}function oi(e){let t=n(e);return {name:ye(t.name,Ae),...S("id",jt(t.id))}}function ri(e){let t=n(e);return {id:oe(t.id,128,1,64),name:ye(t.name,Ae),displayName:ye(t.displayName,Ae)}}function ai(e){(!Array.isArray(e)||e.length===0||e.length>Oe)&&v();let t=e.map(n$1=>{let i=n(n$1);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!ii.has(i.alg))&&v(),{type:"public-key",alg:i.alg}});return gi(t.map(n=>n.alg)),t}function Vt(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Ct)&&v();let t=e.map(n$1=>{let i=n(n$1);return i.type!=="public-key"&&v(),{type:"public-key",id:oe(i.id,Dt),...S("transports",ne(i.transports,xt))}});return ie(t.map(n=>n.id)),t}function si(e){if(e===void 0)return;let t=n(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&v();let n$1=J(t.residentKey,ni);return t.requireResidentKey!==void 0&&n$1!==void 0&&t.requireResidentKey!==(n$1==="required")&&v(),{...S("authenticatorAttachment",J(t.authenticatorAttachment,ti)),...S("residentKey",n$1),...S("requireResidentKey",t.requireResidentKey),...S("userVerification",J(t.userVerification,Et))}}function Ht(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Jn)&&v(),e}function Bt(e){return e===void 0?void 0:w(e,Hn,Bn)}function ne(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Oe)&&v();let n=e.map(i=>we(i,t));return ie(n),n}function J(e,t){if(e!==void 0)return we(e,t)}function Kt(e){return oe(e,Math.ceil(It*4/3),Kn,It)}function oe(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=H(e,t),a=o.length%4,r=ci(o.at(-1)??""),c=Math.floor(o.length*3/4);return (!Gn.test(o)||a===1||a===2&&(r&15)!==0||a===3&&(r&3)!==0||c<n||c>i)&&v(),o}function H(e,t){let n=o(e);return (n.length===0||n.length>t)&&v(),n}function ye(e,t){let n=H(e,t);return Xn.test(n)&&v(),n}function jt(e){if(e===void 0)return;let t=H(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Yn.test(n)))&&v(),t}function ui(e,t){let n=H(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),a=n.at(i?-3:o?-2:-1)??"",r=Jt(a);return (n.length%4!==0||!Wn.test(n)||i&&(r&15)!==0||o&&(r&3)!==0)&&v(),n}function ci(e){return Jt(e,true)}function Jt(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function di(e){let t=s(e,"name");return t===void 0?{}:(t!==null&&!he(t)&&v(),{name:t})}function li(e){let t=s(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Oe||n.some(i=>!xt.has(i))||new Set(n).size!==n.length)&&v(),{transports:t}}function pi(e){let t=s(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:($n.test(t)||v(),{aaguid:t})}function we(e,t){let n=o(e);return t.has(n)||v(),n}function S(e,t){return t===void 0?{}:{[e]:t}}function ie(e){new Set(e).size!==e.length&&v();}function gi(e){new Set(e).size!==e.length&&v();}function fi(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 Gt=new Map;function mi(e,t,n){let i=Gt.get(n);if(!i){let o=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!o)return;i=import('./session-handoff-6FBH3GFJ.js').then(a=>a.completeCrossSiteSignIn(e,t,o)),Gt.set(n,i);}return i}function Wt(e){return !a()||e.idToken||e.disableRedirect?"legacy":"first-party"}function hi(e,t=()=>{},n=Oi){let i=de(e),o=e.session.tokens,a$1=a()?mi(i,o,e.decoded.projectId):void 0,r=fi(i,a$1),c=ze({http:r,probe:de({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`}),u=n(r,c.notifyMutation),h=()=>{c.notifyMutation(),t();},{post:g,mutation:A}=L(r,h),T=e.decoded.env==="test",O=s=>{o.beginSession({remember:s?.rememberMe!==false});};return {sessionStore:c.store,getSession:c.getSession,account:Le(r,h),organization:nt(r,h,()=>c.store.getSnapshot().data?.session.membership??null),signIn:{email:(s,l)=>(O(s),A(g("/sign-in/email",s,l,fe),f=>!("twoFactorRedirect"in f))),username:(s,l)=>(O(s),A(g("/sign-in/username",s,l,fe),f=>!("twoFactorRedirect"in f))),social:async(s,l)=>{if(O(),Wt(s)==="first-party"){let{beginCrossSiteSignIn:R}=await import('./session-handoff-6FBH3GFJ.js'),v=await R(e,{kind:"social",provider:s.provider,callbackURL:s.callbackURL,errorCallbackURL:s.errorCallbackURL,newUserCallbackURL:s.newUserCallbackURL,scopes:s.scopes,loginHint:s.loginHint,requestSignUp:s.requestSignUp});if(v)return window.location.assign(v),{data:{redirect:true,url:v},error:null}}let f=await A(g("/sign-in/social",s,l,R=>at(R,T)),R=>"user"in R);return f.error!==null||f.data===null||"url"in f.data&&f.data.redirect&&!s.disableRedirect&&typeof window<"u"&&window.location.assign(f.data.url),f},sso:async(s,l)=>{if(Wt(s)==="first-party"){let{beginCrossSiteSignIn:R}=await import('./session-handoff-6FBH3GFJ.js'),v=await R(e,{kind:"sso",email:s.email,providerId:s.providerId,domain:s.domain,organizationSlug:s.organizationSlug,callbackURL:s.callbackURL,errorCallbackURL:s.errorCallbackURL,newUserCallbackURL:s.newUserCallbackURL});if(v)return window.location.assign(v),{data:{url:v,redirect:true},error:null}}let f=await g("/sign-in/sso",s,l,R=>st(R,T));return f.error!==null||f.data===null||typeof window<"u"&&window.location.assign(f.data.url),f},magicLink:(s,l)=>g("/sign-in/magic-link",s,l,ut),emailOtp:(s,l)=>(O(),A(g("/sign-in/email-otp",s,l,ot))),passkey:(s,l)=>(O(),u.signIn(s,l))},signUp:{email:(s,l)=>(O(),A(g("/sign-up/email",s,l,rt),f=>f.sessionCreated))},emailOtp:{sendVerificationOtp:(s,l)=>g("/email-otp/send-verification-otp",s,l,ct),verifyEmail:(s,l)=>(O(),A(g("/email-otp/verify-email",s,l,ft)))},phoneOtp:{prepare:s=>g("/phone-otp/challenge",{},s,lt),start:(s,l)=>g("/phone-otp/start",{...s,idempotencyKey:s.idempotencyKey??xe()},l,dt),verify:(s,l)=>(O(),A(g("/phone-otp/verify",s,l,pt)))},requestPasswordReset:(s,l)=>g("/request-password-reset",s,l,me),resetPassword:(s,l)=>g("/reset-password",s,l,me),sendVerificationEmail:(s,l)=>g("/send-verification-email",s,l,gt),passkey:{addPasskey:(s,l)=>u.add(s,l),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:Lt}),updatePasskey:async(s,l)=>{let f=ee(s.name);if(!f.valid||f.value===void 0)return te();let R=f.value;return g("/passkey/update-passkey",{...s,name:R},l,v=>Ft(v,s.id,R))},deletePasskey:(s,l)=>g("/passkey/delete-passkey",s,l,qt)},twoFactor:{enable:(s,l)=>g("/two-factor/enable",s,l,ht),disable:(s,l)=>A(g("/two-factor/disable",s,l,At),f=>f.status),verifyTotp:(s,l)=>A(g("/two-factor/verify-totp",s,l,Q)),verifyBackupCode:(s,l)=>A(g("/two-factor/verify-backup-code",s,l,Q)),sendOtp:(s={},l)=>g("/two-factor/send-otp",s,l,yt),verifyOtp:(s,l)=>A(g("/two-factor/verify-otp",s,l,Q)),generateBackupCodes:(s,l)=>g("/two-factor/generate-backup-codes",s,l,Ot)},signOut:s=>A(r.request("/sign-out",{method:"POST",body:{},fetchOptions:s,decode:mt}).then(l=>(o.endSession(),l)),l=>l.success)}}function go(e,t=()=>{},n){let i=hi(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Xt(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:Xt(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function Xt(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return Ai();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?yi():i}}function Ai(){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 yi(){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 Oi(){return {signIn:()=>Yt(),add:()=>Yt()}}function Yt(){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 Ao(e,t,n){let i=new Map;return {async signIn(o={},a){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return Zt(r.error);let c;try{c=Nt(r.data);}catch{return $t()}let u;try{u=await n.authenticate({optionsJSON:c,useBrowserAutofill:o.autoFill});}catch(O){return en(n,O,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!bi(u))return Qt();let{clientExtensionResults:h,...g}=u,A=i.get(u.id);if(A)return A;let T=(async()=>{let O=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:g},fetchOptions:a,decode:_t});return O.data&&t(),O})();i.set(u.id,T);try{return await T}finally{i.get(u.id)===T&&i.delete(u.id);}},async add(o={},a){let r=ee(o.name);if(!r.valid)return te();let c=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:o.authenticatorAttachment}});if(!c.data)return Zt(c.error);let u;try{u=Ut(c.data);}catch{return $t()}let h;try{h=await n.register({optionsJSON:u});}catch(O){return en(n,O,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!wi(h))return Qt();let{clientExtensionResults:g,...A}=h,T=await e.request("/passkey/verify-registration",{method:"POST",body:{response:A,name:r.value},fetchOptions:a,decode:O=>Mt(O,h.id,r.value)});return T.data&&t(),T}}}function $t(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function Qt(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function nn(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 bi(e){if(!nn(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 wi(e){if(!nn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function Zt(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function en(e,t,n,i){let o=Si(t,"page does not have focus"),a=e.errorCode?.(t),r=a!==void 0?a==="ERROR_CEREMONY_ABORTED":tn(t)==="AbortError",c=n!=="AUTH_CANCELLED",u=ki(a,tn(t),c);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":r?n:a??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":r?i:u}}}function ki(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 tn(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Si(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 wo(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return Ce(await X(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:i=>Ri(i,e)}),"public-config")}function Ri(e,t){let n=w(e),i=n.environmentId,o=n.environmentType,a=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Ii(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==a)throw x();let r=P(n.branding),c=P(n.legal);if(!ke(n.enabledMethods,64)||!ke(n.socialProviders,64)||!rn(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"||!rn(c,["termsUrl","privacyUrl"])||!Number.isSafeInteger(c.version)||c.version<0||typeof c.required!="boolean")throw x();if(n.socialProviderClientIds!==void 0){let u=P(n.socialProviderClientIds);if(Object.keys(u).length>64||Object.values(u).some(h=>typeof h!="string"||h.length>2048))throw x()}if(!U(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!on(n.turnstileSiteKey)||!on(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw x();if(n.jwtIssuer!==null){let u=P(n.jwtIssuer);if(u.issuer!==a||u.jwksUrl!==`${a}/jwks`||u.aud!==t.decoded.projectId)throw x()}if(n.signUp!==void 0){let u=P(n.signUp).mode;if(typeof u!="string"||!["open","restricted","allowlist","waitlist"].includes(u))throw x()}if(n.authentication!==void 0&&Ti(n.authentication),n.emailVerification!==void 0){let u=P(n.emailVerification);if(!U(u,["required"])||u.method!=="link"&&u.method!=="code")throw x()}if(n.userModel!==void 0&&!U(P(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw x();if(n.mfa!==void 0){let u=P(n.mfa);if(!U(u,["totp","required","backupCodes"])||(u.required===true||u.backupCodes===true)&&u.totp!==true)throw x()}return n}function Ii(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function x(){return new TypeError("public-config returned an invalid response")}function P(e){if(!e||typeof e!="object"||Array.isArray(e))throw x();return e}function on(e){return e===null||typeof e=="string"&&e.length<=4096}function Ti(e){let t=P(e),n=P(t.email),i=P(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!U(n,["signUp"])||!ke(n.signIn,3)||n.signIn.some(a=>a!=="password"&&a!=="magic_link"&&a!=="email_otp")||!U(P(t.phone),["signUp","signIn"])||!U(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!U(P(t.passkey),["signIn","add"])||!Pi(P(t.passkey).relyingPartyId)||!U(P(t.username),["collectOnSignUp","signIn"]))throw x()}function Pi(e){return e==null||typeof e=="string"}function U(e,t){return t.every(n=>typeof e[n]=="boolean")}function rn(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function ke(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}export{vi as a,ae as b,X as c,Ce as d,un as e,de as f,xe as g,hi as h,go as i,Ao as j,wo as k};
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var Io=Object.defineProperty;var ft=(e,t)=>()=>(e&&(t=e(e=0)),t);var Po=(e,t)=>{for(var n in t)Io(e,n,{get:t[n],enumerable:true});};function ce(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var je=ft(()=>{});var Ie={};Po(Ie,{beginCrossSiteSignIn:()=>yr,challengeFor:()=>eo,completeCrossSiteSignIn:()=>Ar,takeHandoffCode:()=>no});function Zn(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function eo(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return Zn(new Uint8Array(t))}function gr(){return Zn(crypto.getRandomValues(new Uint8Array(dr)))}function to(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${Qn}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function mr(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===Qn)return e.slice(t+1).trim()||null}return null}function hr(){to("",0);}function Xn(e){return new URL(e,window.location.href).toString()}async function yr(e,t){let n=t.callbackURL?Xn(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let o=gr(),i=new URL(`${e.projectBaseURL}/session/start`);if(i.searchParams.set("pk",e.publishableKey),i.searchParams.set("kind",t.kind),t.kind==="social")i.searchParams.set("provider",t.provider),t.scopes?.length&&i.searchParams.set("scopes",t.scopes.join(",")),t.loginHint&&i.searchParams.set("loginHint",t.loginHint),t.requestSignUp!==void 0&&i.searchParams.set("requestSignUp",t.requestSignUp?"1":"0");else for(let r of fr){let a=t[r];a&&i.searchParams.set(r,a);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;i.searchParams.set("cb",n??s);for(let[r,a]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])a&&i.searchParams.set(r,Xn(a));return i.searchParams.set("challenge",await eo(o)),to(o,pr),i.toString()}function no(){if(typeof window>"u")return null;let e=window.location.hash;if(!e.includes(ot))return null;let t=new URLSearchParams(e.replace(/^#/,"")),n=t.get(ot);if(!n)return null;t.delete(ot);let o=t.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${o?`#${o}`:""}`),n}async function Ar(e,t){if(!ce())return false;let n=no();if(!n)return false;let o=mr();if(hr(),!o)return false;t.beginSession({remember:true});let{error:i}=await e.request("/session/exchange",{method:"POST",body:{code:n,verifier:o}});return i===null}var Qn,ot,dr,pr,fr,Pe=ft(()=>{je();Qn="authowl_handoff_verifier",ot="authowl_code",dr=32,pr=900,fr=["email","providerId","domain","organizationSlug"];});var Co=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,xo=/^sk_/i;function Ue(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(xo.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=Co.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()}}function vo(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var gt=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function _e(e,t){throw new Error(`${e}: ${t}`)}function mt(e,t){let n;try{n=new URL(String(e));}catch{throw new TypeError("Transport URL must be absolute.")}if(n.username||n.password||n.hash)throw new TypeError("Transport URL must not contain credentials or a fragment.");let o=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&gt.test(o)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function ht(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&_e("apiUrl","origin required");let n;try{n=new URL(e);}catch{_e("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!gt.test(e))&&_e("apiUrl","HTTPS required except exact loopback"),n.origin}function X(e,t){try{return e?.getItem(t)??null}catch{return null}}function Q(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function Z(){try{return globalThis.localStorage}catch{return}}function G(){try{return globalThis.sessionStorage}catch{return}}var Do="authowl.session-challenge",Uo=e=>`${Do}.${e}`,_o="set-auth-challenge",Ne="x-authowl-challenge";function No(e){let t=e.get(Ne);return re(t)?Ot(t).some(([n,o])=>n.endsWith(".dont_remember")&&o.length>0):false}var At="INVALID_TWO_FACTOR_COOKIE",zo=2048,re=e=>e!==null&&e.length<=zo,yt=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function Ot(e){let t=[];for(let n of e.split(";")){let o=n.trimStart(),i=o.indexOf("=");i<=0||t.push([o.slice(0,i).trimEnd(),o.slice(i+1)]);}return t}function bt(e){let t=Uo(e),n=new Map;function o(){return n.size===0?null:[...n].map(([a,c])=>`${a}=${c}`).join("; ")}function i(){let a=o();Q(G(),t,re(a)?a:null);}function s(a){for(let[c,m]of Ot(a))yt.test(c)&&(m===""?n.delete(c):yt.test(m)&&n.set(c,m));}let r=X(G(),t);return re(r)&&s(r),{presentOn(a){let c=o();a.delete(Ne),re(c)&&a.set(Ne,c);},observe(a){let c=a.get(_o);re(c)&&(s(c),i());},clear(){n.clear(),i();}}}var ze="set-auth-token",Le="x-authowl-session-transport",Fe="bearer";var Lo="authowl.session-token",Fo="authowl.cookie-transport",Rt="ok",St="bearer",Mo=e=>`${Lo}.${e}`,Vo=e=>`${Fo}.${e}`;function Ho(e){return e===Rt?"cookies":e===St?"bearer":"unknown"}function qo(e){return e==="cookies"?Rt:e==="bearer"?St:null}function Ko(e){let t=Mo(e),n=Vo(e),o=bt(e),i=null,s=false,r=null,a=Ho(X(Z(),n)),c=()=>a==="unknown",m=0,d=null,h=false;function A(){let y=X(G(),t);if(y!==null)return s=true,y;let x=X(Z(),t);return x!==null?(s=false,x):null}i=A(),i!==null&&c()&&(h=true);function O(){if(!(!h||!d)){h=false;try{d();}catch{}}}function u(){let y=a==="bearer"?i:null,[x,pe]=s?[G(),Z()]:[Z(),G()];Q(pe,t,null),Q(x,t,y);}function p(y){y!==null&&r!==null&&(s=r,r=null),i=y,u(),y!==null&&c()&&(h=true,O());}function g(y){a=y,Q(Z(),n,qo(y));}function w(){g("unknown"),h=false;}function R(){return i===null&&(i=A()),i}function N(){let y=A();return y!==null&&(i=y),i}function V(y){N()===y&&u();}function b(){m+=1,r=null,s=false,p(null),o.clear(),w();}let E=()=>a!=="cookies";return {hasToken:()=>R()!==null,declareOn(y){if(y.has("authorization"))return false;let x=R();return !x&&!E()?false:(x&&y.set("authorization",`Bearer ${x}`),y.set(Le,Fe),o.presentOn(y),true)},wantsToken:E,needsProbe:c,observe(y){let x=y.get(ze);x&&p(x),o.observe(y);},dropChallenge:o.clear,measureWith(y){d=y,O();},beginRead(){let y=R(),x=m;return {carriedToken:y!==null,endIfDead(){y!==null&&N()===y&&m===x&&b();},recordCookieVerdict(pe){if(m===x&&c()){if(g(pe?"cookies":"bearer"),pe){p(null);return}V(y);}}}},beginSession({remember:y}){m+=1,r=!y,o.clear(),w();},endSession:b}}var wt=new Map;function kt(e){let t=wt.get(e);if(t)return t;let n=Ko(e);return wt.set(e,n),n}function Bo(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function Tt(e,t){let n=kt(e),o=(r,a)=>(t??globalThis.fetch)(r,a);return {fetch:async(r,a)=>{if(a?.credentials==="omit"||!n.wantsToken())return o(r,a);let c=Bo(r,a),m=n.declareOn(c),d=await o(r,{...a,headers:c});return m&&n.observe(d.headers),d},probe:o,tokens:n}}function Et(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Ue(e.publishableKey),n=ht(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function jo(e){let t=Et(e),{fetch:n,...o}=Tt(t.decoded.projectId,e.fetch);return {...e,...t,fetch:n,session:o}}function Jo(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),o=t.includes("passkey"),i=e?.authentication,s=e?.mfa;return {emailSignUp:i?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:i?.password.signUp??n,phoneSignUp:i?.phone.signUp??t.includes("phone_otp"),passwordSignIn:i?.email.signIn.includes("password")??n,passwordMinLength:i?.password.minLength??8,passwordMaxLength:i?.password.maxLength??128,magicLinkSignIn:i?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:i?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:i?.phone.signIn??t.includes("phone_otp"),usernameSignIn:i?.username.signIn??false,collectUsername:i?.username.collectOnSignUp??false,passkeySignIn:i?.passkey.signIn??o,passkeyAdd:i?.passkey.add??o,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}}var Go=1e4,Wo=1024*1024,D=class extends Error{kind;requestId;constructor(t,n){super(ni(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},Ct=new WeakSet;function U(e,t){let n=new D(e,t);return Ct.add(n),n}async function xt({fetchImpl:e,url:t,init:n={},timeoutMs:o=Go,maxResponseBytes:i=Wo,allowHttpLoopback:s=false,decode:r}){Pt(o,"timeoutMs"),Pt(i,"maxResponseBytes");let a=mt(t,{allowHttpLoopback:s}),c=n.signal,m=new AbortController,d=null,h,A=new Promise(g=>{h=g;}),O=g=>{d===null&&(d=g,h({type:"abort",kind:g}),m.abort());},u=()=>O("aborted");c?.addEventListener("abort",u,{once:true});let p=setTimeout(()=>O("timeout"),o);c?.aborted&&u();try{if(d!==null)throw U(d);let g;try{g=await Promise.race([e(a.toString(),{...n,redirect:"error",signal:m.signal}).then(E=>({type:"response",response:E})),A]);}catch{throw U(d??"network")}if(g.type==="abort")throw U(g.kind);if(!$o(g.response))throw U("invalid_response");let w=g.response,R=ti(w.headers),N=await Yo(w,i,A,()=>d,R),V=Zo(w,N,R),b;try{b=w.ok&&r?r(V,Object.freeze({status:w.status})):V;}catch{throw U("invalid_response",R)}return {response:w,data:b,...R===void 0?{}:{requestId:R}}}catch(g){throw g instanceof D&&Ct.has(g)?g:U(d??"network")}finally{clearTimeout(p),c?.removeEventListener("abort",u);}}function $o(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 Yo(e,t,n,o,i){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw It(e.body),U("invalid_response",i);if(Number(s)>t)throw It(e.body),U("response_too_large",i)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw U("network",i)}let a=[],c=0,m=null;try{for(;;){let A;try{A=await Promise.race([r.read(),n]);}catch{m=U(o()??"network",i);break}if(Xo(A)){m=U(A.kind,i);break}let{done:O,value:u}=A;if(O)break;if(u.byteLength!==0){if(c+=u.byteLength,c>t){m=U("response_too_large",i);break}a.push(u);}}}finally{m&&Qo(r);try{r.releaseLock();}catch{}}if(m)throw m;let d=new Uint8Array(c),h=0;for(let A of a)d.set(A,h),h+=A.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(d)}catch{throw U("invalid_response",i)}}function Xo(e){return "type"in e&&e.type==="abort"}function It(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Qo(e){try{e.cancel().catch(()=>{});}catch{}}function Zo(e,t,n){if(e.status===204||e.status===205)return null;let o=ei(e.headers.get("content-type"));if(!e.ok&&(!o||t.length===0))return null;if(!o||t.length===0)throw U("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw U("invalid_response",n)}}function ei(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function ti(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 ni(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 fe=class extends Error{status;requestId;constructor(t,n,o){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=o;}};function H(e,t,n={}){let o=new Headers(n.init?.headers);return o.set("x-publishable-key",e.publishableKey),xt({fetchImpl:e.fetch,url:t,init:{...n.init,headers:o},allowHttpLoopback:e.decoded.env==="test",...n.timeoutMs===void 0?{}:{timeoutMs:n.timeoutMs},...n.maxResponseBytes===void 0?{}:{maxResponseBytes:n.maxResponseBytes},...n.decode===void 0?{}:{decode:n.decode}})}function W(e,t){if(!e.response.ok)throw new fe(t,e.response,e.requestId);return e.data}var Ut="x-authowl-turnstile-token",oi=1e4,ii=32,ri=2e4;function ee(e,t){return {post:(n,o,i,s)=>e.request(n,{method:"POST",body:o,fetchOptions:i,decode:s}),mutation:async(n,o)=>{let i=await n;return i.error===null&&(o===void 0||i.data!==null&&o(i.data))&&t(),i}}}function ae(e,t=e.projectBaseURL){return {async request(n,o={}){let i=ci(t,n,o.query),s=o.method??(o.body===void 0?"GET":"POST"),r=new Headers(o.fetchOptions?.headers);o.fetchOptions?.authChallengeToken&&r.set(Ut,o.fetchOptions.authChallengeToken),o.body!==void 0&&r.set("content-type","application/json");let a={method:s,headers:r,credentials:o.credentials??"include",...o.body===void 0?{}:{body:JSON.stringify(o.body)}},c=Object.freeze({method:s,path:n});await o.fetchOptions?.onRequest?.(c);let m=ai(s,o.fetchOptions),d;try{d=await si(e,i,{...a,signal:o.fetchOptions?.signal},m);}catch(g){let w=Dt(g);return await o.fetchOptions?.onError?.(Me(c,w,di(g))),{data:null,error:w}}let{response:h,requestId:A}=d,O=gi(n,d.data),u=O;if(h.ok)try{u=He(O),o.decode&&(u=o.decode(u));}catch{let g=Dt(new D("invalid_response",A));return await o.fetchOptions?.onError?.(Me(c,g,"invalid_response")),{data:null,error:g}}let p=Object.freeze({...c,status:h.status,...A===void 0?{}:{requestId:A}});if(await o.fetchOptions?.onResponse?.(p),!h.ok){let g=ui(h,O,A);return g.code===At&&e.session.tokens.dropChallenge(),await o.fetchOptions?.onError?.(Me(c,g,"api")),{data:null,error:g}}return await o.fetchOptions?.onSuccess?.(p),{data:u,error:null}}}}async function si(e,t,n,o){let i=Date.now()+oi;for(let s=0;s<o;s+=1){let r=i-Date.now();if(r<=0)throw new D("timeout");try{let a=await H(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(r))});if(a.response.status<500||s===o-1)return a}catch(a){if(s===o-1||!(a instanceof D)||a.kind!=="network")throw a}await pi(50*2**s,n.signal,i);}throw new D("network")}function ai(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 ci(e,t,n){let o=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[i,s]of Object.entries(n??{}))s!==void 0&&o.searchParams.set(i,String(s));return o.toString()}function ui(e,t,n){let o=se(t)?t:{},i=li(o,e.headers);return {status:e.status,statusText:e.statusText,code:typeof o.code=="string"?o.code:void 0,...n===void 0?{}:{requestId:n},...typeof o.current_version=="number"?{currentVersion:o.current_version}:{},...i!==void 0?{retryAfterSeconds:i}:{},message:typeof o.message=="string"?o.message:typeof o.error=="string"?o.error:typeof o.detail=="string"?o.detail:e.statusText||"Request failed"}}function li(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??vt(t.get("retry-after"))??vt(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function vt(e){if(!e)return;let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isFinite(n)?n:void 0}function Dt(e){let t=e instanceof D?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 D&&e.requestId?{requestId:e.requestId}:{}}}function Me(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function di(e){return e instanceof D?e.kind:"network"}function pi(e,t,n){return new Promise((o,i)=>{if(t?.aborted){i(new D("aborted"));return}let s=n-Date.now();if(s<=0){i(new D("timeout"));return}let r=Math.min(e,s),a=()=>{clearTimeout(c),i(new D("aborted"));},c=setTimeout(()=>{t?.removeEventListener("abort",a),Date.now()>=n?i(new D("timeout")):o();},r);t?.addEventListener("abort",a,{once:true}),t?.aborted&&a();})}function He(e,t="",n=0,o={nodes:0}){if(o.nodes+=1,n>ii||o.nodes>ri)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let i=new Date(e);return Number.isNaN(i.getTime())?e:i}return Array.isArray(e)?e.map(i=>He(i,"",n+1,o)):se(e)?Object.fromEntries(Object.entries(e).map(([i,s])=>[i,fi(i)?s:He(s,i,n+1,o)])):e}function fi(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function gi(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(i=>se(i)?Ve(i):i);if(!se(t))return t;let o=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?Ve(t):t;return e==="/sign-up/email"&&!("sessionCreated"in o)&&(o={...o,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&se(o.session)&&(o={...o,session:Ve(o.session)}),o}function Ve(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function se(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var mi=new Set(["__proto__","constructor","prototype"]);function f(e){(!e||typeof e!="object"||Array.isArray(e))&&l();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&l(),e}function S(e){return typeof e!="string"&&l(),e}function T(e){return typeof e!="boolean"&&l(),e}function C(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&l(),e}function ge(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&l(),[...e]}function P(e,t){let n=e[t];return n==null||typeof n=="string"?n:l()}function _t(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:l()}function L(e){let t=f(e),n=t.email;return n!==null&&typeof n!="string"&&l(),{id:S(t.id),email:n,emailVerified:T(t.emailVerified),createdAt:C(t.createdAt),updatedAt:C(t.updatedAt),...z("phoneNumber",P(t,"phoneNumber")),...z("username",P(t,"username")),...z("displayUsername",P(t,"displayUsername")),...z("firstName",P(t,"firstName")),...z("lastName",P(t,"lastName")),...z("name",P(t,"name")),...z("image",P(t,"image")),...z("twoFactorEnabled",_t(t,"twoFactorEnabled"))}}function me(e){let t=f(e),n=t.membership;return {id:S(t.id),userId:S(t.userId),expiresAt:C(t.expiresAt),...z("activeOrganizationId",P(t,"activeOrganizationId")),...z("activeTeamId",P(t,"activeTeamId")),...z("membership",n==null?n:hi(n)),...z("pendingMfaEnrollment",_t(t,"pendingMfaEnrollment"))}}function l(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function q(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&l(),Ke(e,t,n)}function Ke(e,t=20,n=1e4){return qe(e,0,{nodes:0},t,n)}function hi(e){let t=f(e);return {role:S(t.role),permissions:ge(t.permissions),...t.teams===void 0?{}:{teams:ge(t.teams)}}}function qe(e,t,n,o,i){if(n.nodes+=1,(t>o||n.nodes>i)&&l(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||l(),e;if(Array.isArray(e))return e.map(a=>qe(a,t+1,n,o,i));(!e||typeof e!="object")&&l();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&l();let r={};for(let[a,c]of Object.entries(e))mi.has(a)&&l(),r[a]=qe(c,t+1,n,o,i);return r}function z(e,t){return t===void 0?{}:{[e]:t}}function Nt({http:e,probe:t,tokens:n,channelName:o}){let i=new Set,s=null,r=null,a=null,c=null,m=null,d,h=b=>{u(b);};d={data:null,isPending:true,isRefetching:false,error:null,refetch:h};function A(b){d=b;for(let E of i)E();}async function O(b){return e.request("/get-session",{query:b?.query,decode:Be})}function u(b){if(b?.query?.disableCookieCache===true)return p(b);if(c)return c;let E=p(b).finally(()=>{c===E&&(c=null);});return c=E,E}async function p(b){a?.abort();let E=new AbortController;a=E,A({...d,isPending:d.data===null&&d.error===null,isRefetching:d.data!==null});let y=n.beginRead(),x=await e.request("/get-session",{query:b?.query,fetchOptions:{signal:E.signal},decode:Be});if(a===E&&(a=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 g(y);}}async function g(b){if(n.needsProbe()){if(!b.carriedToken){b.recordCookieVerdict(true);return}return m||w(b)}}function w(b){let E=t.request("/get-session",{query:{disableCookieCache:true},decode:Be}).then(y=>{m===E&&y.error===null&&b.recordCookieVerdict(y.data!==null);}).finally(()=>{m===E&&(m=null);});return m=E,E}function R(){s?.postMessage({type:"session-changed"});}function N(){if(typeof window>"u"||r)return;let b=()=>{u();},E=()=>{document.visibilityState==="visible"&&u();};window.addEventListener("focus",b),document.addEventListener("visibilitychange",E),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(o),s.addEventListener("message",b)),r=()=>{window.removeEventListener("focus",b),document.removeEventListener("visibilitychange",E),s?.close(),s=null,r=null;};}function V(b){return i.add(b),i.size===1&&(N(),u()),()=>{i.delete(b),i.size===0&&(a?.abort(),a=null,r?.());}}return n.measureWith(()=>{n.needsProbe()&&w(n.beginRead());}),{store:{subscribe:V,getSnapshot:()=>d},getSession:O,notifyMutation(){R(),m&&m.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&R();}),i.size>0&&u({query:{disableCookieCache:true}});}}}function Be(e){if(e===null)return null;let t=f(e);return (t.session===void 0||t.user===void 0)&&l(),{session:me(t.session),user:L(t.user)}}je();function Je(){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 zt(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:Ft})}async function Lt(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:Ft})}function Ft(e){let t=f(e),n=q(t.public_metadata),o=q(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:o,metadataVersion:t.metadata_version}}function Vt(e,t){let{post:n,mutation:o}=ee(e,t);return {getMetadata:i=>zt(e,i),updateUnsafeMetadata:(i,s)=>Lt(e,i,s),updateProfile:(i,s)=>o(n("/update-user",i,s,ue)),changeEmail:(i,s)=>o(n("/change-email",i,s,ue)),changePassword:(i,s)=>o(n("/change-password",i,s,yi)),listSessions:i=>e.request("/list-sessions",{fetchOptions:i,decode:Ai}),revokeSession:({sessionId:i},s)=>o(n("/revoke-session",{sessionId:i},s,ue)),revokeOtherSessions:i=>o(n("/revoke-other-sessions",{},i,ue)),listSocialAccounts:async i=>{let s=await e.request("/list-accounts",{fetchOptions:i,decode:Oi});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:(i,s)=>n("/link-social",i,s,bi),unlinkSocial:(i,s)=>o(n("/unlink-account",i,s,ue)),delete:(i={},s)=>o(n("/delete-user",i,s,wi))}}function ue(e){let t=f(e);return {status:T(t.status)}}function yi(e){let t=f(e);return {user:L(t.user)}}function Ai(e){return Array.isArray(e)||l(),e.map(t=>{let n=f(t);return {id:S(n.id),userId:S(n.userId),createdAt:C(n.createdAt),updatedAt:C(n.updatedAt),expiresAt:C(n.expiresAt),...Mt("ipAddress",P(n,"ipAddress")),...Mt("userAgent",P(n,"userAgent"))}})}function Oi(e){return Array.isArray(e)||l(),e.map(t=>{let n=f(t);return {id:S(n.id),userId:S(n.userId),providerId:S(n.providerId),accountId:S(n.accountId),scopes:ge(n.scopes),createdAt:C(n.createdAt),updatedAt:C(n.updatedAt)}})}function bi(e){let t=f(e);return {url:S(t.url),redirect:T(t.redirect)}}function wi(e){let t=f(e);return {success:T(t.success),message:S(t.message)}}function Mt(e,t){return t===void 0?{}:{[e]:t}}function he(e,t){return !e||!t?false:e.permissions.includes(t)}function Ht(e,t){return !e||!t?false:e.teams?.includes(t)??false}function ye(e,t){if(!e)return false;let{role:n,permission:o,teamId:i}=t;return !(n===void 0&&o===void 0&&i===void 0||n!==void 0&&e.role!==n||o!==void 0&&!e.permissions.includes(o)||i!==void 0&&!Ht(e,i))}function Ri(e){return {has:t=>ye(e,t),hasPermission:t=>he(e,t.permission)}}var Si=new Set(["pending","accepted","rejected","canceled"]),qt=1e4;function te(e,t,n){let o=f(e),i={id:k(o.id),name:k(o.name),slug:k(o.slug),createdAt:C(o.createdAt),...Ae("logo",P(o,"logo")),...Ae("metadata",o.metadata===void 0?void 0:Ke(o.metadata))};return j(i.id,t),j(i.slug,n),i}function Kt(e){return J(e,te)}function Ge(e,t,n){return e===null?null:(t===null&&l(),te(e,t,n))}function Bt(e,t,n){if(e===null)return null;let o=f(e),i=te(o,t,n);return {...i,members:J(o.members,s=>on(s,i.id)),invitations:J(o.invitations,s=>K(s,void 0,i.id))}}function jt(e,t){let n=J(e,o=>nn(o));return Oe(n.map(o=>o.organizationId),t),n}function Jt(e,t,n){return e===null?null:(t===null&&l(),nn(e,t,n))}function Gt(e,t){let n=f(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&l(),{members:ki(n.members,t),total:n.total}}function K(e,t,n){let o=f(e),i=k(o.status);Si.has(i)||l();let s={id:k(o.id),organizationId:k(o.organizationId),email:k(o.email),role:k(o.role),status:i,inviterId:k(o.inviterId),expiresAt:C(o.expiresAt),createdAt:C(o.createdAt)};return j(s.id,t),j(s.organizationId,n),s}function Wt(e,t){let n=J(e,o=>K(o));return Oe(n.map(o=>o.organizationId),t),n}function $t(e){return J(e,t=>{let n=f(t);return {...K(n),organizationName:k(n.organizationName)}})}function Yt(e,t){let n=f(e);return {...K(n,t),organizationName:k(n.organizationName),organizationSlug:k(n.organizationSlug),inviterEmail:k(n.inviterEmail)}}function Xt(e,t){let n=f(e),o=K(n.invitation,t);return {invitation:o,member:ne(n.member,void 0,o.organizationId)}}function Qt(e,t){let n=f(e);return n.member!==null&&l(),{invitation:n.invitation===null?null:K(n.invitation,t),member:null}}function Zt(e,t){return e===null?null:K(e,t)}function en(e,t,n){let o=f(e);return {member:ne(o.member,n,t)}}function ne(e,t,n){let o=f(e),i={id:k(o.id),organizationId:k(o.organizationId),userId:k(o.userId),role:k(o.role),createdAt:C(o.createdAt),...o.user===void 0?{}:{user:rn(o.user)}};return j(i.id,t),j(i.organizationId,n),i}function tn(e,t){let n=J(e,o=>{let i=f(o);return {organizationId:k(i.organizationId),data:{role:k(i.role),...Ae("permission",i.permission===void 0?void 0:Ti(i.permission))}}});return Oe(n.map(o=>o.organizationId),t),n.map(o=>o.data)}function nn(e,t,n){let o=f(e),i=o.updatedAt,s={id:k(o.id),name:k(o.name),organizationId:k(o.organizationId),createdAt:C(o.createdAt),...i===void 0?{}:{updatedAt:C(i)}};return j(s.id,t),j(s.organizationId,n),s}function on(e,t){let n=f(e);return {...ne(n,void 0,t),user:rn(n.user)}}function ki(e,t){let n=J(e,o=>on(o));return Oe(n.map(o=>o.organizationId),t),n}function Ti(e){let t=f(e),n={};for(let[o,i]of Object.entries(t))(o==="__proto__"||o==="constructor"||o==="prototype"||o.length===0||o.length>qt||!Array.isArray(i))&&l(),n[o]=i.map(s=>k(s));return n}function k(e){let t=S(e);return (t.length===0||t.length>qt)&&l(),t}function j(e,t){t!==void 0&&e!==t&&l();}function Oe(e,t){let n=t??e[0];n!==void 0&&e.some(o=>o!==n)&&l();}function rn(e){let t=f(e);return {id:k(t.id),name:k(t.name),email:k(t.email),...Ae("image",P(t,"image"))}}function J(e,t){return Array.isArray(e)||l(),e.map(n=>t(n))}function Ae(e,t){return t===void 0?{}:{[e]:t}}function sn(e,t,n=()=>null){let{post:o,mutation:i}=ee(e,t),s=(r,a,c,m)=>e.request(r,{query:a,fetchOptions:c,decode:m});return {create:(r,a)=>i(o("/organization/create",r,a,te)),list:r=>s("/organization/list",void 0,r,Kt),get:(r={},a)=>s("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},a,c=>Bt(c,r.organizationId,r.organizationSlug)),setActive:(r,a)=>i(o("/organization/set-active",r,a,c=>Ge(c,r.organizationId,r.organizationSlug))),listTeams:(r={},a)=>s("/organization/list-teams",{organizationId:r.organizationId},a,c=>jt(c,r.organizationId)),setActiveTeam:(r,a)=>i(o("/organization/set-active-team",r,a,c=>Jt(c,r.teamId))),update:(r,a)=>i(o("/organization/update",r,a,c=>Ge(c,r.organizationId))),delete:(r,a)=>i(o("/organization/delete",r,a,c=>te(c,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,c=>Gt(c,r.organizationId)),inviteMember:(r,a)=>i(o("/organization/invite-member",r,a,c=>K(c,void 0,r.organizationId))),listInvitations:(r={},a)=>s("/organization/list-invitations",{organizationId:r.organizationId},a,c=>Wt(c,r.organizationId)),listUserInvitations:r=>s("/organization/list-user-invitations",void 0,r,$t),getInvitation:(r,a)=>s("/organization/get-invitation",{id:r.id},a,c=>Yt(c,r.id)),acceptInvitation:(r,a)=>i(o("/organization/accept-invitation",r,a,c=>Xt(c,r.invitationId))),rejectInvitation:(r,a)=>i(o("/organization/reject-invitation",r,a,c=>Qt(c,r.invitationId))),cancelInvitation:(r,a)=>i(o("/organization/cancel-invitation",r,a,c=>Zt(c,r.invitationId))),removeMember:(r,a)=>i(o("/organization/remove-member",r,a,c=>en(c,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,a)=>i(o("/organization/update-member-role",r,a,c=>ne(c,r.memberId,r.organizationId))),leave:(r,a)=>i(o("/organization/leave",r,a,c=>ne(c,void 0,r.organizationId))),listRoles:(r={},a)=>s("/organization/list-roles",{organizationId:r.organizationId},a,c=>tn(c,r.organizationId)),has:r=>ye(n(),r),hasPermission:r=>he(n(),r.permission)}}var an=4096,Ei=4096,Ii=100,Pi=256,Ci=16,xi=64,vi=12;function $e(e){let t=f(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&l(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:Tn(t.twoFactorMethods,Ci,xi)}}):(t.twoFactorRedirect!==void 0&&l(),{redirect:T(t.redirect),...zi(t,"url"),user:L(t.user)})}function cn(e){let t=f(e);return {user:L(t.user)}}function un(e){let t=f(e);return {sessionCreated:T(t.sessionCreated),user:L(t.user)}}function ln(e,t){let n=f(e),o=T(n.redirect);n.user===null&&l();let i=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return o?((i||!s)&&l(),{redirect:true,url:We(n.url,t)}):(i===s&&l(),i?{redirect:false,user:L(n.user)}:{redirect:false,url:We(n.url,t)})}function dn(e,t){let n=f(e);return (n.redirect!==true||n.user!==void 0)&&l(),{redirect:true,url:We(n.url,t)}}function pn(e){return {status:T(f(e).status)}}function fn(e){return {success:T(f(e).success)}}function gn(e){return f(e).status!=="pending"&&l(),{status:"pending"}}function mn(e){let t=f(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&l();let n=f(t.turnstile),o=n.siteKey===null?null:S(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:S(t.connectionId),challenge:S(t.challenge),difficulty:Di(t.difficulty),challengeToken:S(t.challengeToken),challengeRequired:T(t.challengeRequired),turnstile:{required:T(n.required),siteKey:o}}}function Di(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>vi)&&l(),Number(e)}function hn(e){let t=f(e);return (t.status!==true||t.sessionCreated!==true)&&l(),{status:true,sessionCreated:true,user:Ui(t.user)}}function Ye(e){return {status:T(f(e).status)}}function yn(e){return {status:T(f(e).status)}}function An(e){let t=f(e);return {status:T(t.status),user:L(t.user)}}function On(e){return {success:T(f(e).success)}}function bn(e){let t=f(e);return {totpURI:Ni(t.totpURI),backupCodes:kn(t.backupCodes)}}function wn(e){return {status:T(f(e).status)}}function be(e){return f(e).status!==true&&l(),{status:true}}function Rn(e){return {status:T(f(e).status)}}function Sn(e){let t=f(e);return t.status!==void 0&&t.status!==true&&l(),{backupCodes:kn(t.backupCodes)}}function Ui(e){let t=f(e);return {id:oe(t.id,512),...Li(t,"name",1024),phoneNumber:oe(t.phoneNumber,64),phoneNumberVerified:T(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:C(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:C(t.updatedAt)}}}function We(e,t){let n=oe(e,an);/[\u0000-\u0020\u007f]/u.test(n)&&l();let o;try{o=new URL(n);}catch{return l()}return (o.username||o.password)&&l(),o.protocol==="https:"||t&&o.protocol==="http:"&&_i(o.hostname)?o.href:l()}function _i(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Ni(e){let t=oe(e,Ei),n;try{n=new URL(t);}catch{return l()}let o=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||o===null||o.length===0||o.length>512||/\s/u.test(o))&&l(),t}function kn(e){return Tn(e,Ii,Pi)}function Tn(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&l();let o=e.map(i=>oe(i,n));return o.some(i=>i.trim().length===0)&&l(),new Set(o).size!==o.length&&l(),o}function oe(e,t){let n=S(e);return (n.length===0||n.length>t)&&l(),n}function zi(e,t){let n=e[t];return n==null?{}:{[t]:oe(n,an)}}function Li(e,t,n){let o=P(e,t);return o===void 0?{}:(o!==null&&o.length>n&&l(),{[t]:o})}var En=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),we=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 Re(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let o=n.codePointAt(0);if(o===void 0||Pn(n,o)||In(o)||En.has(o))return {valid:false}}let t=Fi(e);return Xe(t)?{valid:true,value:t}:{valid:false}}function Xe(e){let t=0,n,o;for(let i of e){if(t+=1,t>256)return false;let s=i.codePointAt(0);if(s===void 0||Pn(i,s)||In(s)||En.has(s))return false;n??=s,o=s;}return t>0&&n!==void 0&&o!==void 0&&!we.has(n)&&!we.has(o)}function Se(){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 Fi(e){let t=0,n=e.length;for(;t<n;){let o=e.codePointAt(t);if(o===void 0||!we.has(o))break;t+=o>65535?2:1;}for(;n>t;){let o=e.codePointAt(n-1);if(o===void 0)break;let s=o>=56320&&o<=57343?n-2:n-1,r=e.codePointAt(s);if(r===void 0||!we.has(r))break;n=s;}return e.slice(t,n)}function In(e){return e>=0&&e<=31||e>=127&&e<=159}function Pn(e,t){return e.length===1&&t>=55296&&t<=57343}var vn=12,Dn=5e3,Mi=8,Vi=1e3,Hi=16,Cn=512,Un=100,_n=8192,qi=32768,Qe=1024,xn=256,et=64,Ki=6e5,Bi=/^[A-Za-z0-9_-]+$/u,ji=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ji=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Gi=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Wi=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Nn=new Set(["discouraged","preferred","required"]),$i=new Set(["singleDevice","multiDevice"]),zn=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),Ln=new Set(["hybrid","security-key","client-device"]),Yi=new Set(["none","indirect","direct","enterprise"]),Xi=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Qi=new Set(["platform","cross-platform"]),Zi=new Set(["discouraged","preferred","required"]),er=new Set([-8,-7,-257]);function Fn(e){let t=q(e,vn,Dn);return {challenge:Wn(t.challenge),...v("timeout",Jn(t.timeout)),...v("rpId",$n(t.rpId)),...v("allowCredentials",jn(t.allowCredentials)),...v("userVerification",le(t.userVerification,Nn)),...v("hints",ke(t.hints,Ln)),...v("extensions",Gn(t.extensions))}}function Mn(e){let t=q(e,vn,Dn);return {challenge:Wn(t.challenge),rp:tr(t.rp),user:nr(t.user),pubKeyCredParams:or(t.pubKeyCredParams),...v("timeout",Jn(t.timeout)),...v("excludeCredentials",jn(t.excludeCredentials)),...v("authenticatorSelection",ir(t.authenticatorSelection)),...v("attestation",le(t.attestation,Yi)),...v("attestationFormats",ke(t.attestationFormats,Xi)),...v("hints",ke(t.hints,Ln)),...v("extensions",Gn(t.extensions))}}function Vn(e){let t=f(e),n=me(t.session),o=L(t.user);return n.userId!==o.id&&l(),{session:n,user:o}}function tt(e){let t=f(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&l();let o=nt(t.deviceType,$i),i=T(t.backedUp);return i&&o!=="multiDevice"&&l(),{id:ie(t.id,xn),...ar(t),publicKey:rr(t.publicKey,qi),userId:ie(t.userId,xn),credentialID:Ee(t.credentialID,_n),counter:n,deviceType:o,backedUp:i,...cr(t),createdAt:C(t.createdAt),...ur(t)}}function Hn(e,t,n){let o=tt(e);return (o.credentialID!==t||(n===void 0?o.name!==void 0&&o.name!==null:o.name!==n))&&l(),o}function qn(e){(!Array.isArray(e)||e.length>Un)&&l();let t=e.map(tt);return Te(t.map(n=>n.id)),Te(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&l(),t}function Kn(e,t,n){let o=f(e),i=tt(o.passkey);return (i.id!==t||i.name!==n)&&l(),{passkey:i}}function Bn(e){return f(e).status!==true&&l(),{status:true}}function tr(e){let t=f(e);return {name:Ze(t.name,Qe),...v("id",$n(t.id))}}function nr(e){let t=f(e);return {id:Ee(t.id,128,1,64),name:Ze(t.name,Qe),displayName:Ze(t.displayName,Qe)}}function or(e){(!Array.isArray(e)||e.length===0||e.length>et)&&l();let t=e.map(n=>{let o=f(n);return (o.type!=="public-key"||!Number.isSafeInteger(o.alg)||!er.has(o.alg))&&l(),{type:"public-key",alg:o.alg}});return lr(t.map(n=>n.alg)),t}function jn(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Un)&&l();let t=e.map(n=>{let o=f(n);return o.type!=="public-key"&&l(),{type:"public-key",id:Ee(o.id,_n),...v("transports",ke(o.transports,zn))}});return Te(t.map(n=>n.id)),t}function ir(e){if(e===void 0)return;let t=f(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&l();let n=le(t.residentKey,Zi);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&l(),{...v("authenticatorAttachment",le(t.authenticatorAttachment,Qi)),...v("residentKey",n),...v("requireResidentKey",t.requireResidentKey),...v("userVerification",le(t.userVerification,Nn))}}function Jn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Ki)&&l(),e}function Gn(e){return e===void 0?void 0:q(e,Mi,Vi)}function ke(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>et)&&l();let n=e.map(o=>nt(o,t));return Te(n),n}function le(e,t){if(e!==void 0)return nt(e,t)}function Wn(e){return Ee(e,Math.ceil(Cn*4/3),Hi,Cn)}function Ee(e,t,n=1,o=Number.POSITIVE_INFINITY){let i=ie(e,t),s=i.length%4,r=sr(i.at(-1)??""),a=Math.floor(i.length*3/4);return (!Bi.test(i)||s===1||s===2&&(r&15)!==0||s===3&&(r&3)!==0||a<n||a>o)&&l(),i}function ie(e,t){let n=S(e);return (n.length===0||n.length>t)&&l(),n}function Ze(e,t){let n=ie(e,t);return Ji.test(n)&&l(),n}function $n(e){if(e===void 0)return;let t=ie(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Gi.test(n)))&&l(),t}function rr(e,t){let n=ie(e,t),o=n.endsWith("=="),i=!o&&n.endsWith("="),s=n.at(o?-3:i?-2:-1)??"",r=Yn(s);return (n.length%4!==0||!ji.test(n)||o&&(r&15)!==0||i&&(r&3)!==0)&&l(),n}function sr(e){return Yn(e,true)}function Yn(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function ar(e){let t=P(e,"name");return t===void 0?{}:(t!==null&&!Xe(t)&&l(),{name:t})}function cr(e){let t=P(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>et||n.some(o=>!zn.has(o))||new Set(n).size!==n.length)&&l(),{transports:t}}function ur(e){let t=P(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Wi.test(t)||l(),{aaguid:t})}function nt(e,t){let n=S(e);return t.has(n)||l(),n}function v(e,t){return t===void 0?{}:{[e]:t}}function Te(e){new Set(e).size!==e.length&&l();}function lr(e){new Set(e).size!==e.length&&l();}function Or(e,t){if(!t)return e;let n=t.catch(()=>{});return n.then(()=>{n=null;}),{async request(o,i){return n&&await n,e.request(o,i)}}}var oo=new Map;function br(e,t,n){let o=oo.get(n);return o||(o=Promise.resolve().then(()=>(Pe(),Ie)).then(i=>i.completeCrossSiteSignIn(e,t)),oo.set(n,o)),o}function io(e){return !ce()||e.idToken||e.disableRedirect?"legacy":"first-party"}function so(e,t=()=>{},n=wr){let o=ae(e),i=e.session.tokens,s=ce()?br(o,i,e.decoded.projectId):void 0,r=Or(o,s),a=Nt({http:r,probe:ae({...e,fetch:e.session.probe}),tokens:i,channelName:`authowl:${e.decoded.projectId}`}),c=n(r,a.notifyMutation),m=()=>{a.notifyMutation(),t();},{post:d,mutation:h}=ee(r,m),A=e.decoded.env==="test",O=u=>{i.beginSession({remember:u?.rememberMe!==false});};return {sessionStore:a.store,getSession:a.getSession,account:Vt(r,m),organization:sn(r,m,()=>a.store.getSnapshot().data?.session.membership??null),signIn:{email:(u,p)=>(O(u),h(d("/sign-in/email",u,p,$e),g=>!("twoFactorRedirect"in g))),username:(u,p)=>(O(u),h(d("/sign-in/username",u,p,$e),g=>!("twoFactorRedirect"in g))),social:async(u,p)=>{if(O(),io(u)==="first-party"){let{beginCrossSiteSignIn:w}=await Promise.resolve().then(()=>(Pe(),Ie)),R=await w(e,{kind:"social",provider:u.provider,callbackURL:u.callbackURL,errorCallbackURL:u.errorCallbackURL,newUserCallbackURL:u.newUserCallbackURL,scopes:u.scopes,loginHint:u.loginHint,requestSignUp:u.requestSignUp});if(R)return window.location.assign(R),{data:{redirect:true,url:R},error:null}}let g=await h(d("/sign-in/social",u,p,w=>ln(w,A)),w=>"user"in w);return g.error!==null||g.data===null||"url"in g.data&&g.data.redirect&&!u.disableRedirect&&typeof window<"u"&&window.location.assign(g.data.url),g},sso:async(u,p)=>{if(io(u)==="first-party"){let{beginCrossSiteSignIn:w}=await Promise.resolve().then(()=>(Pe(),Ie)),R=await w(e,{kind:"sso",email:u.email,providerId:u.providerId,domain:u.domain,organizationSlug:u.organizationSlug,callbackURL:u.callbackURL,errorCallbackURL:u.errorCallbackURL,newUserCallbackURL:u.newUserCallbackURL});if(R)return window.location.assign(R),{data:{url:R,redirect:true},error:null}}let g=await d("/sign-in/sso",u,p,w=>dn(w,A));return g.error!==null||g.data===null||typeof window<"u"&&window.location.assign(g.data.url),g},magicLink:(u,p)=>d("/sign-in/magic-link",u,p,pn),emailOtp:(u,p)=>(O(),h(d("/sign-in/email-otp",u,p,cn))),passkey:(u,p)=>(O(),c.signIn(u,p))},signUp:{email:(u,p)=>(O(),h(d("/sign-up/email",u,p,un),g=>g.sessionCreated))},emailOtp:{sendVerificationOtp:(u,p)=>d("/email-otp/send-verification-otp",u,p,fn),verifyEmail:(u,p)=>(O(),h(d("/email-otp/verify-email",u,p,An)))},phoneOtp:{prepare:u=>d("/phone-otp/challenge",{},u,mn),start:(u,p)=>d("/phone-otp/start",{...u,idempotencyKey:u.idempotencyKey??Je()},p,gn),verify:(u,p)=>(O(),h(d("/phone-otp/verify",u,p,hn)))},requestPasswordReset:(u,p)=>d("/request-password-reset",u,p,Ye),resetPassword:(u,p)=>d("/reset-password",u,p,Ye),sendVerificationEmail:(u,p)=>d("/send-verification-email",u,p,yn),passkey:{addPasskey:(u,p)=>c.add(u,p),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:qn}),updatePasskey:async(u,p)=>{let g=Re(u.name);if(!g.valid||g.value===void 0)return Se();let w=g.value;return d("/passkey/update-passkey",{...u,name:w},p,R=>Kn(R,u.id,w))},deletePasskey:(u,p)=>d("/passkey/delete-passkey",u,p,Bn)},twoFactor:{enable:(u,p)=>d("/two-factor/enable",u,p,bn),disable:(u,p)=>h(d("/two-factor/disable",u,p,wn),g=>g.status),verifyTotp:(u,p)=>h(d("/two-factor/verify-totp",u,p,be)),verifyBackupCode:(u,p)=>h(d("/two-factor/verify-backup-code",u,p,be)),sendOtp:(u={},p)=>d("/two-factor/send-otp",u,p,Rn),verifyOtp:(u,p)=>h(d("/two-factor/verify-otp",u,p,be)),generateBackupCodes:(u,p)=>d("/two-factor/generate-backup-codes",u,p,Sn)},signOut:u=>h(r.request("/sign-out",{method:"POST",body:{},fetchOptions:u,decode:On}).then(p=>(i.endSession(),p)),p=>p.success)}}function wr(){return {signIn:()=>ro(),add:()=>ro()}}function ro(){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 fo(e,t,n){let o=new Map;return {async signIn(i={},s){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return uo(r.error);let a;try{a=Fn(r.data);}catch{return ao()}let c;try{c=await n.authenticate({optionsJSON:a,useBrowserAutofill:i.autoFill});}catch(O){return lo(n,O,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!Rr(c))return co();let{clientExtensionResults:m,...d}=c,h=o.get(c.id);if(h)return h;let A=(async()=>{let O=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:d},fetchOptions:s,decode:Vn});return O.data&&t(),O})();o.set(c.id,A);try{return await A}finally{o.get(c.id)===A&&o.delete(c.id);}},async add(i={},s){let r=Re(i.name);if(!r.valid)return Se();let a=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:i.authenticatorAttachment}});if(!a.data)return uo(a.error);let c;try{c=Mn(a.data);}catch{return ao()}let m;try{m=await n.register({optionsJSON:c});}catch(O){return lo(n,O,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!Sr(m))return co();let{clientExtensionResults:d,...h}=m,A=await e.request("/passkey/verify-registration",{method:"POST",body:{response:h,name:r.value},fetchOptions:s,decode:O=>Hn(O,m.id,r.value)});return A.data&&t(),A}}}function ao(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function co(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function go(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 Rr(e){if(!go(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.authenticatorData=="string"&&typeof t.signature=="string"&&(t.userHandle===void 0||typeof t.userHandle=="string")}function Sr(e){if(!go(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function uo(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function lo(e,t,n,o){let i=Tr(t,"page does not have focus"),s=e.errorCode?.(t),r=s!==void 0?s==="ERROR_CEREMONY_ABORTED":po(t)==="AbortError",a=n!=="AUTH_CANCELLED",c=kr(s,po(t),a);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:i?"PASSKEY_PAGE_NOT_FOCUSED":r?n:s??"PASSKEY_BROWSER_ERROR",message:i?"Keep this page focused while completing the passkey prompt.":r?o:c}}}function kr(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 po(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Tr(e,t){let n=t.toLowerCase(),o=new Set,i=e;for(;i&&typeof i=="object"&&!o.has(i);){if(o.add(i),"message"in i&&typeof i.message=="string"&&i.message.toLowerCase().includes(n))return true;i="cause"in i?i.cause:void 0;}return false}function F(e){let t=new Uint8Array(e),n="";for(let i of t)n+=String.fromCharCode(i);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,o=t.padEnd(t.length+n,"="),i=atob(o),s=new ArrayBuffer(i.length),r=new Uint8Array(s);for(let a=0;a<i.length;a++)r[a]=i.charCodeAt(a);return s}function Y(){return Er.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var Er={stubThis:e=>e};function Ce(e){let{id:t}=e;return {...e,id:$(t),transports:e.transports}}function xe(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var I=class extends Error{constructor({message:t,code:n,cause:o,name:i}){super(t,{cause:o}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=i??o.name,this.code=n;}};function mo({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new I({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new I({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new I({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new I({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new I({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new I({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(i=>i.type==="public-key").length===0?new I({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new I({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(xe(o)){if(n.rp.id!==o)return new I({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new I({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new I({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new I({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var it=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},ve=new it;var Ir=["cross-platform","platform"];function De(e){if(e&&!(Ir.indexOf(e)<0))return e}async function ho(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=false}=e;if(!Y())throw new Error("WebAuthn is not supported in this browser");let o={...t,challenge:$(t.challenge),user:{...t.user,id:$(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Ce)},i={};n&&(i.mediation="conditional"),i.publicKey=o,i.signal=ve.createNewAbortSignal();let s;try{s=await navigator.credentials.create(i);}catch(u){throw mo({error:u,options:i})}if(!s)throw new Error("Registration was not completed");let{id:r,rawId:a,response:c,type:m}=s,d;typeof c.getTransports=="function"&&(d=c.getTransports());let h;if(typeof c.getPublicKeyAlgorithm=="function")try{h=c.getPublicKeyAlgorithm();}catch(u){rt("getPublicKeyAlgorithm()",u);}let A;if(typeof c.getPublicKey=="function")try{let u=c.getPublicKey();u!==null&&(A=F(u));}catch(u){rt("getPublicKey()",u);}let O;if(typeof c.getAuthenticatorData=="function")try{O=F(c.getAuthenticatorData());}catch(u){rt("getAuthenticatorData()",u);}return {id:r,rawId:F(a),response:{attestationObject:F(c.attestationObject),clientDataJSON:F(c.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:A,authenticatorData:O},type:m,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:De(s.authenticatorAttachment)}}function rt(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
- `,t);}function yo(){if(!Y())return st.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?st.stubThis(new Promise(t=>t(false))):st.stubThis(e.isConditionalMediationAvailable())}var st={stubThis:e=>e};function Ao({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new I({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new I({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(xe(o)){if(n.rpId!==o)return new I({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new I({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new I({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Oo(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:o=true}=e;if(!Y())throw new Error("WebAuthn is not supported in this browser");let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Ce));let s={...t,challenge:$(t.challenge),allowCredentials:i},r={};if(n){if(!await yo())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&o)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');r.mediation="conditional",s.allowCredentials=[];}r.publicKey=s,r.signal=ve.createNewAbortSignal();let a;try{a=await navigator.credentials.get(r);}catch(O){throw Ao({error:O,options:r})}if(!a)throw new Error("Authentication was not completed");let{id:c,rawId:m,response:d,type:h}=a,A;return d.userHandle&&(A=F(d.userHandle)),{id:c,rawId:F(m),response:{authenticatorData:F(d.authenticatorData),clientDataJSON:F(d.clientDataJSON),signature:F(d.signature),userHandle:A},type:h,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:De(a.authenticatorAttachment)}}var bo={authenticate:e=>Oo(e),register:e=>ho(e),errorCode:e=>e instanceof I?e.code:void 0};function Ro(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function at(e){let t=await H(e,Ro(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:Pr});return t.response.status===401?{required:false}:W(t,"consent status")}async function ct(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return W(await H(e,Ro(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:Cr}),"consent accept")}function Pr(e){let t=f(e),n=T(t.required),o=xr(t.needsConsent),i=So(t.version),s=wo(t.termsUrl),r=wo(t.privacyUrl);return {required:n,...o===void 0?{}:{needsConsent:o},...i===void 0?{}:{version:i},...s===void 0?{}:{termsUrl:s},...r===void 0?{}:{privacyUrl:r}}}function Cr(e){let t=f(e),n=So(t.version);return {ok:T(t.ok),...n===void 0?{}:{version:n}}}function xr(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function So(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function wo(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var vr=30;function Dr(e){return typeof e?.exp=="number"?e.exp:null}function Ur(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),o=JSON.parse(atob(n));return typeof o=="object"&&o!==null?o:null}catch{return null}}function ut(e){let t=new Map;async function n(s={}){let r=s.template===void 0?null:s.template.trim().toLowerCase();if(r==="")throw new TypeError("Template missing");let a=r??"",c=t.get(a);c||(c={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(a,c));let m=s.forceRefresh===true;if(!m){let u=c.activeKey?c.cachedByKey.get(c.activeKey):null;if(u&&u.exp-Date.now()/1e3>vr)return u.token;if(c.inflight)return c.inflight}let d=++c.sequence,h=()=>t.get(a)===c&&c.sequence===d,A=(async()=>{let u=r?`${e.projectBaseURL}/token/${encodeURIComponent(r)}`:`${e.projectBaseURL}/token`,p=await H(e,u,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:b=>_r(b,r!==null)});if(p.response.status===401)return h()&&o(),null;let g=W(p,"token"),w=g.policyVersion,R=g.token,N=Ur(R),V=Dr(N);if(h())if(V!==null){let b=typeof N?.sub=="string"?N.sub:null,E=typeof N?.org_id=="string"?N.org_id:null;if(!r||b){let y=JSON.stringify([e.projectBaseURL,b,E,r,w]);c.cachedByKey.clear(),c.cachedByKey.set(y,{token:R,exp:V}),c.activeKey=y;}else i(c);}else i(c);return R})();if(m)return A;let O=A.finally(()=>{c.inflight===O&&(c.inflight=null);});return c.inflight=O,O}function o(){t.clear();}function i(s){s.cachedByKey.clear(),s.activeKey=null;}return {getToken:n,clear:o}}function _r(e,t){let n=f(e),o=S(n.token);if(o.length===0||o.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:o,policyVersion:0};let i=f(n.template);if(!Number.isSafeInteger(i.policyVersion)||i.policyVersion<1)throw new TypeError("Invalid token response.");return {token:o,policyVersion:i.policyVersion}}function Nr(e){let t=ut(e),n=so(e,t.clear,(r,a)=>fo(r,a,bo)),o=ae(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),i=r=>(...a)=>(t.clear(),r(...a)),s={getConsentStatus:()=>at(e),acceptConsent:r=>ct(e,r),getToken:t.getToken,waitlist:{join:(r,a)=>o.request("/waitlist",{method:"POST",body:r,fetchOptions:a,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:i(n.account.updateUnsafeMetadata),updateProfile:i(n.account.updateProfile),changeEmail:i(n.account.changeEmail),changePassword:i(n.account.changePassword),revokeSession:i(n.account.revokeSession),delete:i(n.account.delete)},signIn:{email:i(n.signIn.email),username:i(n.signIn.username),social:i(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:i(n.signIn.emailOtp),passkey:i(n.signIn.passkey)},signUp:{email:i(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:i(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:i(n.twoFactor.disable),verifyTotp:i(n.twoFactor.verifyTotp),verifyBackupCode:i(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:i(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{prepare:n.phoneOtp.prepare,start:n.phoneOtp.start,verify:i(n.phoneOtp.verify)},signOut:i(n.signOut)};return {...n,...s}}async function zr(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let t=await Lr(),n=e.challengeRequired?await t.solvePow(e.challenge,e.difficulty):null,o=e.turnstile.required?await t.getTurnstileToken(Fr(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...n?{challengeToken:e.challengeToken,nonce:n.nonce}:{},...o?{turnstileToken:o}:{}}}async function Lr(){return import('@akedly/shield')}function Fr(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}async function Mr(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return W(await H(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:o=>Vr(o,e)}),"public-config")}function Vr(e,t){let n=q(e),o=n.environmentId,i=n.environmentType,s=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Hr(n.applicationId)||o!==t.decoded.projectId||i!=="development"&&i!=="production"||n.authBaseUrl!==s)throw M();let r=_(n.branding),a=_(n.legal);if(!lt(n.enabledMethods,64)||!lt(n.socialProviders,64)||!To(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"||!To(a,["termsUrl","privacyUrl"])||!Number.isSafeInteger(a.version)||a.version<0||typeof a.required!="boolean")throw M();if(n.socialProviderClientIds!==void 0){let c=_(n.socialProviderClientIds);if(Object.keys(c).length>64||Object.values(c).some(m=>typeof m!="string"||m.length>2048))throw M()}if(!B(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!ko(n.turnstileSiteKey)||!ko(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw M();if(n.jwtIssuer!==null){let c=_(n.jwtIssuer);if(c.issuer!==s||c.jwksUrl!==`${s}/jwks`||c.aud!==t.decoded.projectId)throw M()}if(n.signUp!==void 0){let c=_(n.signUp).mode;if(typeof c!="string"||!["open","restricted","allowlist","waitlist"].includes(c))throw M()}if(n.authentication!==void 0&&qr(n.authentication),n.emailVerification!==void 0){let c=_(n.emailVerification);if(!B(c,["required"])||c.method!=="link"&&c.method!=="code")throw M()}if(n.userModel!==void 0&&!B(_(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw M();if(n.mfa!==void 0){let c=_(n.mfa);if(!B(c,["totp","required","backupCodes"])||(c.required===true||c.backupCodes===true)&&c.totp!==true)throw M()}return n}function Hr(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 M(){return new TypeError("public-config returned an invalid response")}function _(e){if(!e||typeof e!="object"||Array.isArray(e))throw M();return e}function ko(e){return e===null||typeof e=="string"&&e.length<=4096}function qr(e){let t=_(e),n=_(t.email),o=_(t.password),i=o.minLength!==void 0||o.maxLength!==void 0;if(!B(n,["signUp"])||!lt(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!B(_(t.phone),["signUp","signIn"])||!B(o,["signUp","add"])||i&&(!Number.isSafeInteger(o.minLength)||!Number.isSafeInteger(o.maxLength)||o.minLength<1||o.maxLength>4096||o.minLength>o.maxLength)||!B(_(t.passkey),["signIn","add"])||!Kr(_(t.passkey).relyingPartyId)||!B(_(t.username),["collectOnSignUp","signIn"]))throw M()}function Kr(e){return e==null||typeof e=="string"}function B(e,t){return t.every(n=>typeof e[n]=="boolean")}function To(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function lt(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var de=class extends Error{constructor(n,o){super(n);this.cause=o;this.name="AuthOwlError";}cause},dt=class extends de{constructor(n,o){super(`Rate limited. Retry after ${n}s.`,o);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},pt=class extends de{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var Eo=["en","ar"];function Br(e){return e==="ar"?"rtl":"ltr"}function jr(e){return typeof e=="string"&&Eo.includes(e)}
3
- exports.AUTH_CHALLENGE_HEADER=Ut;exports.AuthOwlError=de;exports.AuthOwlHttpError=fe;exports.InvalidKeyError=pt;exports.LOCALES=Eo;exports.RateLimitedError=dt;exports.SESSION_TOKEN_HEADER=ze;exports.SESSION_TRANSPORT_BEARER=Fe;exports.SESSION_TRANSPORT_HEADER=Le;exports.TransportError=D;exports.acceptConsent=ct;exports.createAuthOwlClient=Nr;exports.createIdempotencyKey=Je;exports.createMembershipHas=Ri;exports.createTokenClient=ut;exports.decodePublishableKey=Ue;exports.directionFor=Br;exports.getConsentStatus=at;exports.getPublicConfig=Mr;exports.isLocale=jr;exports.membershipHas=ye;exports.membershipHasPermission=he;exports.membershipHasTeam=Ht;exports.resolveAuthTarget=Et;exports.resolveConfig=jo;exports.resolveProjectCapabilities=Jo;exports.sessionChallengeIsEphemeral=No;exports.sessionCookieName=vo;exports.solvePhoneOtpChallenge=zr;
1
+ 'use strict';var Io=Object.defineProperty;var gt=(e,t)=>()=>(e&&(t=e(e=0)),t);var Po=(e,t)=>{for(var n in t)Io(e,n,{get:t[n],enumerable:true});};function ce(){return typeof window<"u"&&typeof document<"u"&&typeof crypto<"u"&&typeof crypto.subtle?.digest=="function"}var je=gt(()=>{});var Ie={};Po(Ie,{beginCrossSiteSignIn:()=>yr,challengeFor:()=>to,completeCrossSiteSignIn:()=>Ar,takeHandoffCode:()=>it});function eo(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function to(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return eo(new Uint8Array(t))}function gr(){return eo(crypto.getRandomValues(new Uint8Array(dr)))}function no(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${Zn}=${e}; Path=/; Max-Age=${t}; SameSite=Lax${n}`;}function mr(){for(let e of document.cookie.split(";")){let t=e.indexOf("=");if(!(t<0)&&e.slice(0,t).trim()===Zn)return e.slice(t+1).trim()||null}return null}function hr(){no("",0);}function Qn(e){return new URL(e,window.location.href).toString()}async function yr(e,t){let n=t.callbackURL?Qn(t.callbackURL):null;if(n&&new URL(n).origin!==window.location.origin)return null;let o=gr(),i=new URL(`${e.projectBaseURL}/session/start`);if(i.searchParams.set("pk",e.publishableKey),i.searchParams.set("kind",t.kind),t.kind==="social")i.searchParams.set("provider",t.provider),t.scopes?.length&&i.searchParams.set("scopes",t.scopes.join(",")),t.loginHint&&i.searchParams.set("loginHint",t.loginHint),t.requestSignUp!==void 0&&i.searchParams.set("requestSignUp",t.requestSignUp?"1":"0");else for(let r of fr){let a=t[r];a&&i.searchParams.set(r,a);}let s=`${window.location.origin}${window.location.pathname}${window.location.search}`;i.searchParams.set("cb",n??s);for(let[r,a]of [["err",t.errorCallbackURL],["new",t.newUserCallbackURL]])a&&i.searchParams.set(r,Qn(a));return i.searchParams.set("challenge",await to(o)),no(o,pr),i.toString()}function it(e){if(typeof window>"u")return null;let t=window.location.hash;if(!t.includes(ot))return null;let n=new URLSearchParams(t.replace(/^#/,"")),o=n.get(ot);if(!o||e!==void 0&&o!==e)return null;n.delete(ot);let i=n.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${i?`#${i}`:""}`),o}async function Ar(e,t,n){if(!ce())return false;let o=n??it();if(!o)return false;n&&it(n);let i=mr();if(hr(),!i)return false;t.beginSession({remember:true});let{error:s}=await e.request("/session/exchange",{method:"POST",body:{code:o,verifier:i}});return s===null}var Zn,ot,dr,pr,fr,Pe=gt(()=>{je();Zn="authowl_handoff_verifier",ot="authowl_code",dr=32,pr=900,fr=["email","providerId","domain","organizationSlug"];});var Co=/^(pk_(live|test))_([0-9a-f-]{36})_([A-Za-z0-9]{20,})$/i,xo=/^sk_/i;function Ue(e){if(typeof e!="string"||e.length===0)throw new Error("publishableKey is required");if(xo.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=Co.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()}}function vo(e,t){let n=`p_${e.toLowerCase().replace(/-/g,"")}`;return `${t?.secure?"__Secure-":""}${n}.session_token`}var mt=/^http:\/\/(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*localhost|127\.0\.0\.1|\[::1\])(?::\d+)?(?:\/|$)/i;function _e(e,t){throw new Error(`${e}: ${t}`)}function ht(e,t){let n;try{n=new URL(String(e));}catch{throw new TypeError("Transport URL must be absolute.")}if(n.username||n.password||n.hash)throw new TypeError("Transport URL must not contain credentials or a fragment.");let o=n.toString();if(n.protocol!=="https:"&&!(n.protocol==="http:"&&t.allowHttpLoopback&&mt.test(o)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function yt(e,t){(typeof e!="string"||!/^https?:\/\/[^/?#@\\\s]+\/?$/i.test(e))&&_e("apiUrl","origin required");let n;try{n=new URL(e);}catch{_e("apiUrl","origin required");}return n.protocol==="http:"&&(!t.allowHttpLoopback||!mt.test(e))&&_e("apiUrl","HTTPS required except exact loopback"),n.origin}function X(e,t){try{return e?.getItem(t)??null}catch{return null}}function Q(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n);}catch{}}function Z(){try{return globalThis.localStorage}catch{return}}function G(){try{return globalThis.sessionStorage}catch{return}}var Do="authowl.session-challenge",Uo=e=>`${Do}.${e}`,_o="set-auth-challenge",Ne="x-authowl-challenge";function No(e){let t=e.get(Ne);return re(t)?bt(t).some(([n,o])=>n.endsWith(".dont_remember")&&o.length>0):false}var Ot="INVALID_TWO_FACTOR_COOKIE",zo=2048,re=e=>e!==null&&e.length<=zo,At=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;function bt(e){let t=[];for(let n of e.split(";")){let o=n.trimStart(),i=o.indexOf("=");i<=0||t.push([o.slice(0,i).trimEnd(),o.slice(i+1)]);}return t}function wt(e){let t=Uo(e),n=new Map;function o(){return n.size===0?null:[...n].map(([a,c])=>`${a}=${c}`).join("; ")}function i(){let a=o();Q(G(),t,re(a)?a:null);}function s(a){for(let[c,m]of bt(a))At.test(c)&&(m===""?n.delete(c):At.test(m)&&n.set(c,m));}let r=X(G(),t);return re(r)&&s(r),{presentOn(a){let c=o();a.delete(Ne),re(c)&&a.set(Ne,c);},observe(a){let c=a.get(_o);re(c)&&(s(c),i());},clear(){n.clear(),i();}}}var ze="set-auth-token",Le="x-authowl-session-transport",Fe="bearer";var Lo="authowl.session-token",Fo="authowl.cookie-transport",St="ok",kt="bearer",Mo=e=>`${Lo}.${e}`,Vo=e=>`${Fo}.${e}`;function Ho(e){return e===St?"cookies":e===kt?"bearer":"unknown"}function qo(e){return e==="cookies"?St:e==="bearer"?kt:null}function Ko(e){let t=Mo(e),n=Vo(e),o=wt(e),i=null,s=false,r=null,a=Ho(X(Z(),n)),c=()=>a==="unknown",m=0,d=null,h=false;function A(){let y=X(G(),t);if(y!==null)return s=true,y;let x=X(Z(),t);return x!==null?(s=false,x):null}i=A(),i!==null&&c()&&(h=true);function O(){if(!(!h||!d)){h=false;try{d();}catch{}}}function u(){let y=a==="bearer"?i:null,[x,pe]=s?[G(),Z()]:[Z(),G()];Q(pe,t,null),Q(x,t,y);}function p(y){y!==null&&r!==null&&(s=r,r=null),i=y,u(),y!==null&&c()&&(h=true,O());}function g(y){a=y,Q(Z(),n,qo(y));}function w(){g("unknown"),h=false;}function R(){return i===null&&(i=A()),i}function N(){let y=A();return y!==null&&(i=y),i}function V(y){N()===y&&u();}function b(){m+=1,r=null,s=false,p(null),o.clear(),w();}let S=()=>a!=="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(Le,Fe),o.presentOn(y),true)},wantsToken:S,needsProbe:c,observe(y){let x=y.get(ze);x&&p(x),o.observe(y);},dropChallenge:o.clear,measureWith(y){d=y,O();},beginRead(){let y=R(),x=m;return {carriedToken:y!==null,endIfDead(){y!==null&&N()===y&&m===x&&b();},recordCookieVerdict(pe){if(m===x&&c()){if(g(pe?"cookies":"bearer"),pe){p(null);return}V(y);}}}},beginSession({remember:y}){m+=1,r=!y,o.clear(),w();},endSession:b}}var Rt=new Map;function Tt(e){let t=Rt.get(e);if(t)return t;let n=Ko(e);return Rt.set(e,n),n}function Bo(e,t){return t?.headers?new Headers(t.headers):typeof e=="object"&&e!==null&&"headers"in e?new Headers(e.headers):new Headers}function Et(e,t){let n=Tt(e),o=(r,a)=>(t??globalThis.fetch)(r,a);return {fetch:async(r,a)=>{if(a?.credentials==="omit"||!n.wantsToken())return o(r,a);let c=Bo(r,a),m=n.declareOn(c),d=await o(r,{...a,headers:c});return m&&n.observe(d.headers),d},probe:o,tokens:n}}function It(e){if(!e||typeof e!="object")throw new Error("AuthConfig is required");let t=Ue(e.publishableKey),n=yt(e.apiUrl,{allowHttpLoopback:t.env==="test"});return {publishableKey:e.publishableKey,apiUrl:n,decoded:t,projectBaseURL:`${n}/api/projects/${t.projectId}/auth`}}function jo(e){let t=It(e),{fetch:n,...o}=Et(t.decoded.projectId,e.fetch);return {...e,...t,fetch:n,session:o}}function Jo(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),o=t.includes("passkey"),i=e?.authentication,s=e?.mfa;return {emailSignUp:i?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:i?.password.signUp??n,phoneSignUp:i?.phone.signUp??t.includes("phone_otp"),passwordSignIn:i?.email.signIn.includes("password")??n,passwordMinLength:i?.password.minLength??8,passwordMaxLength:i?.password.maxLength??128,magicLinkSignIn:i?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:i?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:i?.phone.signIn??t.includes("phone_otp"),usernameSignIn:i?.username.signIn??false,collectUsername:i?.username.collectOnSignUp??false,passkeySignIn:i?.passkey.signIn??o,passkeyAdd:i?.passkey.add??o,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}}var Go=1e4,Wo=1024*1024,D=class extends Error{kind;requestId;constructor(t,n){super(ni(t)),this.name="TransportError",this.kind=t,this.requestId=n;}},xt=new WeakSet;function U(e,t){let n=new D(e,t);return xt.add(n),n}async function vt({fetchImpl:e,url:t,init:n={},timeoutMs:o=Go,maxResponseBytes:i=Wo,allowHttpLoopback:s=false,decode:r}){Ct(o,"timeoutMs"),Ct(i,"maxResponseBytes");let a=ht(t,{allowHttpLoopback:s}),c=n.signal,m=new AbortController,d=null,h,A=new Promise(g=>{h=g;}),O=g=>{d===null&&(d=g,h({type:"abort",kind:g}),m.abort());},u=()=>O("aborted");c?.addEventListener("abort",u,{once:true});let p=setTimeout(()=>O("timeout"),o);c?.aborted&&u();try{if(d!==null)throw U(d);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 U(d??"network")}if(g.type==="abort")throw U(g.kind);if(!$o(g.response))throw U("invalid_response");let w=g.response,R=ti(w.headers),N=await Yo(w,i,A,()=>d,R),V=Zo(w,N,R),b;try{b=w.ok&&r?r(V,Object.freeze({status:w.status})):V;}catch{throw U("invalid_response",R)}return {response:w,data:b,...R===void 0?{}:{requestId:R}}}catch(g){throw g instanceof D&&xt.has(g)?g:U(d??"network")}finally{clearTimeout(p),c?.removeEventListener("abort",u);}}function $o(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 Yo(e,t,n,o,i){let s=e.headers.get("content-length");if(s!==null){if(!/^\d+$/.test(s))throw Pt(e.body),U("invalid_response",i);if(Number(s)>t)throw Pt(e.body),U("response_too_large",i)}if(!e.body)return "";let r;try{r=e.body.getReader();}catch{throw U("network",i)}let a=[],c=0,m=null;try{for(;;){let A;try{A=await Promise.race([r.read(),n]);}catch{m=U(o()??"network",i);break}if(Xo(A)){m=U(A.kind,i);break}let{done:O,value:u}=A;if(O)break;if(u.byteLength!==0){if(c+=u.byteLength,c>t){m=U("response_too_large",i);break}a.push(u);}}}finally{m&&Qo(r);try{r.releaseLock();}catch{}}if(m)throw m;let d=new Uint8Array(c),h=0;for(let A of a)d.set(A,h),h+=A.byteLength;try{return new TextDecoder("utf-8",{fatal:!0}).decode(d)}catch{throw U("invalid_response",i)}}function Xo(e){return "type"in e&&e.type==="abort"}function Pt(e){if(e)try{e.cancel().catch(()=>{});}catch{}}function Qo(e){try{e.cancel().catch(()=>{});}catch{}}function Zo(e,t,n){if(e.status===204||e.status===205)return null;let o=ei(e.headers.get("content-type"));if(!e.ok&&(!o||t.length===0))return null;if(!o||t.length===0)throw U("invalid_response",n);try{return JSON.parse(t)}catch{if(!e.ok)return null;throw U("invalid_response",n)}}function ei(e){if(e===null)return false;let t=e.split(";",1)[0]?.trim().toLowerCase();return t==="application/json"||t?.endsWith("+json")===true}function ti(e){let t=e.get("x-request-id")?.trim();if(!(!t||t.length>256||!/^[A-Za-z0-9._:-]+$/.test(t)))return t}function Ct(e,t){if(!Number.isInteger(e)||e<=0)throw new TypeError(`${t} must be a positive integer.`)}function ni(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 fe=class extends Error{status;requestId;constructor(t,n,o){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=o;}};function H(e,t,n={}){let o=new Headers(n.init?.headers);return o.set("x-publishable-key",e.publishableKey),vt({fetchImpl:e.fetch,url:t,init:{...n.init,headers:o},allowHttpLoopback:e.decoded.env==="test",...n.timeoutMs===void 0?{}:{timeoutMs:n.timeoutMs},...n.maxResponseBytes===void 0?{}:{maxResponseBytes:n.maxResponseBytes},...n.decode===void 0?{}:{decode:n.decode}})}function W(e,t){if(!e.response.ok)throw new fe(t,e.response,e.requestId);return e.data}var _t="x-authowl-turnstile-token",oi=1e4,ii=32,ri=2e4;function ee(e,t){return {post:(n,o,i,s)=>e.request(n,{method:"POST",body:o,fetchOptions:i,decode:s}),mutation:async(n,o)=>{let i=await n;return i.error===null&&(o===void 0||i.data!==null&&o(i.data))&&t(),i}}}function ae(e,t=e.projectBaseURL){return {async request(n,o={}){let i=ci(t,n,o.query),s=o.method??(o.body===void 0?"GET":"POST"),r=new Headers(o.fetchOptions?.headers);o.fetchOptions?.authChallengeToken&&r.set(_t,o.fetchOptions.authChallengeToken),o.body!==void 0&&r.set("content-type","application/json");let a={method:s,headers:r,credentials:o.credentials??"include",...o.body===void 0?{}:{body:JSON.stringify(o.body)}},c=Object.freeze({method:s,path:n});await o.fetchOptions?.onRequest?.(c);let m=ai(s,o.fetchOptions),d;try{d=await si(e,i,{...a,signal:o.fetchOptions?.signal},m);}catch(g){let w=Ut(g);return await o.fetchOptions?.onError?.(Me(c,w,di(g))),{data:null,error:w}}let{response:h,requestId:A}=d,O=gi(n,d.data),u=O;if(h.ok)try{u=He(O),o.decode&&(u=o.decode(u));}catch{let g=Ut(new D("invalid_response",A));return await o.fetchOptions?.onError?.(Me(c,g,"invalid_response")),{data:null,error:g}}let p=Object.freeze({...c,status:h.status,...A===void 0?{}:{requestId:A}});if(await o.fetchOptions?.onResponse?.(p),!h.ok){let g=ui(h,O,A);return g.code===Ot&&e.session.tokens.dropChallenge(),await o.fetchOptions?.onError?.(Me(c,g,"api")),{data:null,error:g}}return await o.fetchOptions?.onSuccess?.(p),{data:u,error:null}}}}async function si(e,t,n,o){let i=Date.now()+oi;for(let s=0;s<o;s+=1){let r=i-Date.now();if(r<=0)throw new D("timeout");try{let a=await H(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(r))});if(a.response.status<500||s===o-1)return a}catch(a){if(s===o-1||!(a instanceof D)||a.kind!=="network")throw a}await pi(50*2**s,n.signal,i);}throw new D("network")}function ai(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 ci(e,t,n){let o=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[i,s]of Object.entries(n??{}))s!==void 0&&o.searchParams.set(i,String(s));return o.toString()}function ui(e,t,n){let o=se(t)?t:{},i=li(o,e.headers);return {status:e.status,statusText:e.statusText,code:typeof o.code=="string"?o.code:void 0,...n===void 0?{}:{requestId:n},...typeof o.current_version=="number"?{currentVersion:o.current_version}:{},...i!==void 0?{retryAfterSeconds:i}:{},message:typeof o.message=="string"?o.message:typeof o.error=="string"?o.error:typeof o.detail=="string"?o.detail:e.statusText||"Request failed"}}function li(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??Dt(t.get("retry-after"))??Dt(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function Dt(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 Ut(e){let t=e instanceof D?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 D&&e.requestId?{requestId:e.requestId}:{}}}function Me(e,t,n){return Object.freeze({...e,status:t.status??0,...t.requestId===void 0?{}:{requestId:t.requestId},failure:n})}function di(e){return e instanceof D?e.kind:"network"}function pi(e,t,n){return new Promise((o,i)=>{if(t?.aborted){i(new D("aborted"));return}let s=n-Date.now();if(s<=0){i(new D("timeout"));return}let r=Math.min(e,s),a=()=>{clearTimeout(c),i(new D("aborted"));},c=setTimeout(()=>{t?.removeEventListener("abort",a),Date.now()>=n?i(new D("timeout")):o();},r);t?.addEventListener("abort",a,{once:true}),t?.aborted&&a();})}function He(e,t="",n=0,o={nodes:0}){if(o.nodes+=1,n>ii||o.nodes>ri)throw new Error("response traversal limit exceeded");if(typeof e=="string"&&/^(?:createdAt|updatedAt|expiresAt)$/.test(t)){let i=new Date(e);return Number.isNaN(i.getTime())?e:i}return Array.isArray(e)?e.map(i=>He(i,"",n+1,o)):se(e)?Object.fromEntries(Object.entries(e).map(([i,s])=>[i,fi(i)?s:He(s,i,n+1,o)])):e}function fi(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function gi(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(i=>se(i)?Ve(i):i);if(!se(t))return t;let o=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?Ve(t):t;return e==="/sign-up/email"&&!("sessionCreated"in o)&&(o={...o,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&se(o.session)&&(o={...o,session:Ve(o.session)}),o}function Ve(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function se(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}var mi=new Set(["__proto__","constructor","prototype"]);function f(e){(!e||typeof e!="object"||Array.isArray(e))&&l();let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null&&l(),e}function k(e){return typeof e!="string"&&l(),e}function E(e){return typeof e!="boolean"&&l(),e}function C(e){return (!(e instanceof Date)||Number.isNaN(e.getTime()))&&l(),e}function ge(e){return (!Array.isArray(e)||!e.every(t=>typeof t=="string"))&&l(),[...e]}function P(e,t){let n=e[t];return n==null||typeof n=="string"?n:l()}function Nt(e,t){let n=e[t];return n==null||typeof n=="boolean"?n:l()}function L(e){let t=f(e),n=t.email;return n!==null&&typeof n!="string"&&l(),{id:k(t.id),email:n,emailVerified:E(t.emailVerified),createdAt:C(t.createdAt),updatedAt:C(t.updatedAt),...z("phoneNumber",P(t,"phoneNumber")),...z("username",P(t,"username")),...z("displayUsername",P(t,"displayUsername")),...z("firstName",P(t,"firstName")),...z("lastName",P(t,"lastName")),...z("name",P(t,"name")),...z("image",P(t,"image")),...z("twoFactorEnabled",Nt(t,"twoFactorEnabled"))}}function me(e){let t=f(e),n=t.membership;return {id:k(t.id),userId:k(t.userId),expiresAt:C(t.expiresAt),...z("activeOrganizationId",P(t,"activeOrganizationId")),...z("activeTeamId",P(t,"activeTeamId")),...z("membership",n==null?n:hi(n)),...z("pendingMfaEnrollment",Nt(t,"pendingMfaEnrollment"))}}function l(){throw new TypeError("AuthOwl response does not match its runtime contract.")}function q(e,t=20,n=1e4){return (!e||typeof e!="object"||Array.isArray(e))&&l(),Ke(e,t,n)}function Ke(e,t=20,n=1e4){return qe(e,0,{nodes:0},t,n)}function hi(e){let t=f(e);return {role:k(t.role),permissions:ge(t.permissions),...t.teams===void 0?{}:{teams:ge(t.teams)}}}function qe(e,t,n,o,i){if(n.nodes+=1,(t>o||n.nodes>i)&&l(),e===null||typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)||l(),e;if(Array.isArray(e))return e.map(a=>qe(a,t+1,n,o,i));(!e||typeof e!="object")&&l();let s=Object.getPrototypeOf(e);s!==Object.prototype&&s!==null&&l();let r={};for(let[a,c]of Object.entries(e))mi.has(a)&&l(),r[a]=qe(c,t+1,n,o,i);return r}function z(e,t){return t===void 0?{}:{[e]:t}}function zt({http:e,probe:t,tokens:n,channelName:o}){let i=new Set,s=null,r=null,a=null,c=null,m=null,d,h=b=>{u(b);};d={data:null,isPending:true,isRefetching:false,error:null,refetch:h};function A(b){d=b;for(let S of i)S();}async function O(b){return e.request("/get-session",{query:b?.query,decode:Be})}function u(b){if(b?.query?.disableCookieCache===true)return p(b);if(c)return c;let S=p(b).finally(()=>{c===S&&(c=null);});return c=S,S}async function p(b){a?.abort();let S=new AbortController;a=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:b?.query,fetchOptions:{signal:S.signal},decode:Be});if(a===S&&(a=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 g(y);}}async function g(b){if(n.needsProbe()){if(!b.carriedToken){b.recordCookieVerdict(true);return}return m||w(b)}}function w(b){let S=t.request("/get-session",{query:{disableCookieCache:true},decode:Be}).then(y=>{m===S&&y.error===null&&b.recordCookieVerdict(y.data!==null);}).finally(()=>{m===S&&(m=null);});return m=S,S}function R(){s?.postMessage({type:"session-changed"});}function N(){if(typeof window>"u"||r)return;let b=()=>{u();},S=()=>{document.visibilityState==="visible"&&u();};window.addEventListener("focus",b),document.addEventListener("visibilitychange",S),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(o),s.addEventListener("message",b)),r=()=>{window.removeEventListener("focus",b),document.removeEventListener("visibilitychange",S),s?.close(),s=null,r=null;};}function V(b){return i.add(b),i.size===1&&(N(),u()),()=>{if(i.delete(b),i.size===0){let S=a;a=null,c=null,S?.abort(),r?.();}}}return n.measureWith(()=>{n.needsProbe()&&w(n.beginRead());}),{store:{subscribe:V,getSnapshot:()=>d},getSession:O,notifyMutation(){R(),m&&m.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&R();}),i.size>0&&u({query:{disableCookieCache:true}});}}}function Be(e){if(e===null)return null;let t=f(e);return (t.session===void 0||t.user===void 0)&&l(),{session:me(t.session),user:L(t.user)}}je();function Je(){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 Lt(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:Mt})}async function Ft(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:Mt})}function Mt(e){let t=f(e),n=q(t.public_metadata),o=q(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n,unsafeMetadata:o,metadataVersion:t.metadata_version}}function Ht(e,t){let{post:n,mutation:o}=ee(e,t);return {getMetadata:i=>Lt(e,i),updateUnsafeMetadata:(i,s)=>Ft(e,i,s),updateProfile:(i,s)=>o(n("/update-user",i,s,ue)),changeEmail:(i,s)=>o(n("/change-email",i,s,ue)),changePassword:(i,s)=>o(n("/change-password",i,s,yi)),listSessions:i=>e.request("/list-sessions",{fetchOptions:i,decode:Ai}),revokeSession:({sessionId:i},s)=>o(n("/revoke-session",{sessionId:i},s,ue)),revokeOtherSessions:i=>o(n("/revoke-other-sessions",{},i,ue)),listSocialAccounts:async i=>{let s=await e.request("/list-accounts",{fetchOptions:i,decode:Oi});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:(i,s)=>n("/link-social",i,s,bi),unlinkSocial:(i,s)=>o(n("/unlink-account",i,s,ue)),delete:(i={},s)=>o(n("/delete-user",i,s,wi))}}function ue(e){let t=f(e);return {status:E(t.status)}}function yi(e){let t=f(e);return {user:L(t.user)}}function Ai(e){return Array.isArray(e)||l(),e.map(t=>{let n=f(t);return {id:k(n.id),userId:k(n.userId),createdAt:C(n.createdAt),updatedAt:C(n.updatedAt),expiresAt:C(n.expiresAt),...Vt("ipAddress",P(n,"ipAddress")),...Vt("userAgent",P(n,"userAgent"))}})}function Oi(e){return Array.isArray(e)||l(),e.map(t=>{let n=f(t);return {id:k(n.id),userId:k(n.userId),providerId:k(n.providerId),accountId:k(n.accountId),scopes:ge(n.scopes),createdAt:C(n.createdAt),updatedAt:C(n.updatedAt)}})}function bi(e){let t=f(e);return {url:k(t.url),redirect:E(t.redirect)}}function wi(e){let t=f(e);return {success:E(t.success),message:k(t.message)}}function Vt(e,t){return t===void 0?{}:{[e]:t}}function he(e,t){return !e||!t?false:e.permissions.includes(t)}function qt(e,t){return !e||!t?false:e.teams?.includes(t)??false}function ye(e,t){if(!e)return false;let{role:n,permission:o,teamId:i}=t;return !(n===void 0&&o===void 0&&i===void 0||n!==void 0&&e.role!==n||o!==void 0&&!e.permissions.includes(o)||i!==void 0&&!qt(e,i))}function Ri(e){return {has:t=>ye(e,t),hasPermission:t=>he(e,t.permission)}}var Si=new Set(["pending","accepted","rejected","canceled"]),Kt=1e4;function te(e,t,n){let o=f(e),i={id:T(o.id),name:T(o.name),slug:T(o.slug),createdAt:C(o.createdAt),...Ae("logo",P(o,"logo")),...Ae("metadata",o.metadata===void 0?void 0:Ke(o.metadata))};return j(i.id,t),j(i.slug,n),i}function Bt(e){return J(e,te)}function Ge(e,t,n){return e===null?null:(t===null&&l(),te(e,t,n))}function jt(e,t,n){if(e===null)return null;let o=f(e),i=te(o,t,n);return {...i,members:J(o.members,s=>rn(s,i.id)),invitations:J(o.invitations,s=>K(s,void 0,i.id))}}function Jt(e,t){let n=J(e,o=>on(o));return Oe(n.map(o=>o.organizationId),t),n}function Gt(e,t,n){return e===null?null:(t===null&&l(),on(e,t,n))}function Wt(e,t){let n=f(e);return (!Number.isSafeInteger(n.total)||n.total<0)&&l(),{members:ki(n.members,t),total:n.total}}function K(e,t,n){let o=f(e),i=T(o.status);Si.has(i)||l();let s={id:T(o.id),organizationId:T(o.organizationId),email:T(o.email),role:T(o.role),status:i,inviterId:T(o.inviterId),expiresAt:C(o.expiresAt),createdAt:C(o.createdAt)};return j(s.id,t),j(s.organizationId,n),s}function $t(e,t){let n=J(e,o=>K(o));return Oe(n.map(o=>o.organizationId),t),n}function Yt(e){return J(e,t=>{let n=f(t);return {...K(n),organizationName:T(n.organizationName)}})}function Xt(e,t){let n=f(e);return {...K(n,t),organizationName:T(n.organizationName),organizationSlug:T(n.organizationSlug),inviterEmail:T(n.inviterEmail)}}function Qt(e,t){let n=f(e),o=K(n.invitation,t);return {invitation:o,member:ne(n.member,void 0,o.organizationId)}}function Zt(e,t){let n=f(e);return n.member!==null&&l(),{invitation:n.invitation===null?null:K(n.invitation,t),member:null}}function en(e,t){return e===null?null:K(e,t)}function tn(e,t,n){let o=f(e);return {member:ne(o.member,n,t)}}function ne(e,t,n){let o=f(e),i={id:T(o.id),organizationId:T(o.organizationId),userId:T(o.userId),role:T(o.role),createdAt:C(o.createdAt),...o.user===void 0?{}:{user:sn(o.user)}};return j(i.id,t),j(i.organizationId,n),i}function nn(e,t){let n=J(e,o=>{let i=f(o);return {organizationId:T(i.organizationId),data:{role:T(i.role),...Ae("permission",i.permission===void 0?void 0:Ti(i.permission))}}});return Oe(n.map(o=>o.organizationId),t),n.map(o=>o.data)}function on(e,t,n){let o=f(e),i=o.updatedAt,s={id:T(o.id),name:T(o.name),organizationId:T(o.organizationId),createdAt:C(o.createdAt),...i===void 0?{}:{updatedAt:C(i)}};return j(s.id,t),j(s.organizationId,n),s}function rn(e,t){let n=f(e);return {...ne(n,void 0,t),user:sn(n.user)}}function ki(e,t){let n=J(e,o=>rn(o));return Oe(n.map(o=>o.organizationId),t),n}function Ti(e){let t=f(e),n={};for(let[o,i]of Object.entries(t))(o==="__proto__"||o==="constructor"||o==="prototype"||o.length===0||o.length>Kt||!Array.isArray(i))&&l(),n[o]=i.map(s=>T(s));return n}function T(e){let t=k(e);return (t.length===0||t.length>Kt)&&l(),t}function j(e,t){t!==void 0&&e!==t&&l();}function Oe(e,t){let n=t??e[0];n!==void 0&&e.some(o=>o!==n)&&l();}function sn(e){let t=f(e);return {id:T(t.id),name:T(t.name),email:T(t.email),...Ae("image",P(t,"image"))}}function J(e,t){return Array.isArray(e)||l(),e.map(n=>t(n))}function Ae(e,t){return t===void 0?{}:{[e]:t}}function an(e,t,n=()=>null){let{post:o,mutation:i}=ee(e,t),s=(r,a,c,m)=>e.request(r,{query:a,fetchOptions:c,decode:m});return {create:(r,a)=>i(o("/organization/create",r,a,te)),list:r=>s("/organization/list",void 0,r,Bt),get:(r={},a)=>s("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},a,c=>jt(c,r.organizationId,r.organizationSlug)),setActive:(r,a)=>i(o("/organization/set-active",r,a,c=>Ge(c,r.organizationId,r.organizationSlug))),listTeams:(r={},a)=>s("/organization/list-teams",{organizationId:r.organizationId},a,c=>Jt(c,r.organizationId)),setActiveTeam:(r,a)=>i(o("/organization/set-active-team",r,a,c=>Gt(c,r.teamId))),update:(r,a)=>i(o("/organization/update",r,a,c=>Ge(c,r.organizationId))),delete:(r,a)=>i(o("/organization/delete",r,a,c=>te(c,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,c=>Wt(c,r.organizationId)),inviteMember:(r,a)=>i(o("/organization/invite-member",r,a,c=>K(c,void 0,r.organizationId))),listInvitations:(r={},a)=>s("/organization/list-invitations",{organizationId:r.organizationId},a,c=>$t(c,r.organizationId)),listUserInvitations:r=>s("/organization/list-user-invitations",void 0,r,Yt),getInvitation:(r,a)=>s("/organization/get-invitation",{id:r.id},a,c=>Xt(c,r.id)),acceptInvitation:(r,a)=>i(o("/organization/accept-invitation",r,a,c=>Qt(c,r.invitationId))),rejectInvitation:(r,a)=>i(o("/organization/reject-invitation",r,a,c=>Zt(c,r.invitationId))),cancelInvitation:(r,a)=>i(o("/organization/cancel-invitation",r,a,c=>en(c,r.invitationId))),removeMember:(r,a)=>i(o("/organization/remove-member",r,a,c=>tn(c,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,a)=>i(o("/organization/update-member-role",r,a,c=>ne(c,r.memberId,r.organizationId))),leave:(r,a)=>i(o("/organization/leave",r,a,c=>ne(c,void 0,r.organizationId))),listRoles:(r={},a)=>s("/organization/list-roles",{organizationId:r.organizationId},a,c=>nn(c,r.organizationId)),has:r=>ye(n(),r),hasPermission:r=>he(n(),r.permission)}}var cn=4096,Ei=4096,Ii=100,Pi=256,Ci=16,xi=64,vi=12;function $e(e){let t=f(e);return t.twoFactorRedirect===true?((t.user!==void 0||t.redirect!==void 0||t.url!==void 0)&&l(),{twoFactorRedirect:true,...t.twoFactorMethods===void 0?{}:{twoFactorMethods:En(t.twoFactorMethods,Ci,xi)}}):(t.twoFactorRedirect!==void 0&&l(),{redirect:E(t.redirect),...zi(t,"url"),user:L(t.user)})}function un(e){let t=f(e);return {user:L(t.user)}}function ln(e){let t=f(e);return {sessionCreated:E(t.sessionCreated),user:L(t.user)}}function dn(e,t){let n=f(e),o=E(n.redirect);n.user===null&&l();let i=n.user!==void 0&&n.user!==null,s=n.url!==void 0&&n.url!==null;return o?((i||!s)&&l(),{redirect:true,url:We(n.url,t)}):(i===s&&l(),i?{redirect:false,user:L(n.user)}:{redirect:false,url:We(n.url,t)})}function pn(e,t){let n=f(e);return (n.redirect!==true||n.user!==void 0)&&l(),{redirect:true,url:We(n.url,t)}}function fn(e){return {status:E(f(e).status)}}function gn(e){return {success:E(f(e).success)}}function mn(e){return f(e).status!=="pending"&&l(),{status:"pending"}}function hn(e){let t=f(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&l();let n=f(t.turnstile),o=n.siteKey===null?null:k(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:k(t.connectionId),challenge:k(t.challenge),difficulty:Di(t.difficulty),challengeToken:k(t.challengeToken),challengeRequired:E(t.challengeRequired),turnstile:{required:E(n.required),siteKey:o}}}function Di(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>vi)&&l(),Number(e)}function yn(e){let t=f(e);return (t.status!==true||t.sessionCreated!==true)&&l(),{status:true,sessionCreated:true,user:Ui(t.user)}}function Ye(e){return {status:E(f(e).status)}}function An(e){return {status:E(f(e).status)}}function On(e){let t=f(e);return {status:E(t.status),user:L(t.user)}}function bn(e){return {success:E(f(e).success)}}function wn(e){let t=f(e);return {totpURI:Ni(t.totpURI),backupCodes:Tn(t.backupCodes)}}function Rn(e){return {status:E(f(e).status)}}function be(e){return f(e).status!==true&&l(),{status:true}}function Sn(e){return {status:E(f(e).status)}}function kn(e){let t=f(e);return t.status!==void 0&&t.status!==true&&l(),{backupCodes:Tn(t.backupCodes)}}function Ui(e){let t=f(e);return {id:oe(t.id,512),...Li(t,"name",1024),phoneNumber:oe(t.phoneNumber,64),phoneNumberVerified:E(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:C(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:C(t.updatedAt)}}}function We(e,t){let n=oe(e,cn);/[\u0000-\u0020\u007f]/u.test(n)&&l();let o;try{o=new URL(n);}catch{return l()}return (o.username||o.password)&&l(),o.protocol==="https:"||t&&o.protocol==="http:"&&_i(o.hostname)?o.href:l()}function _i(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Ni(e){let t=oe(e,Ei),n;try{n=new URL(t);}catch{return l()}let o=n.searchParams.get("secret");return (n.protocol!=="otpauth:"||n.hostname.toLowerCase()!=="totp"||n.username||n.password||n.hash||o===null||o.length===0||o.length>512||/\s/u.test(o))&&l(),t}function Tn(e){return En(e,Ii,Pi)}function En(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&l();let o=e.map(i=>oe(i,n));return o.some(i=>i.trim().length===0)&&l(),new Set(o).size!==o.length&&l(),o}function oe(e,t){let n=k(e);return (n.length===0||n.length>t)&&l(),n}function zi(e,t){let n=e[t];return n==null?{}:{[t]:oe(n,cn)}}function Li(e,t,n){let o=P(e,t);return o===void 0?{}:(o!==null&&o.length>n&&l(),{[t]:o})}var In=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),we=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 Re(e){if(e===void 0)return {valid:true,value:void 0};for(let n of e){let o=n.codePointAt(0);if(o===void 0||Cn(n,o)||Pn(o)||In.has(o))return {valid:false}}let t=Fi(e);return Xe(t)?{valid:true,value:t}:{valid:false}}function Xe(e){let t=0,n,o;for(let i of e){if(t+=1,t>256)return false;let s=i.codePointAt(0);if(s===void 0||Cn(i,s)||Pn(s)||In.has(s))return false;n??=s,o=s;}return t>0&&n!==void 0&&o!==void 0&&!we.has(n)&&!we.has(o)}function Se(){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 Fi(e){let t=0,n=e.length;for(;t<n;){let o=e.codePointAt(t);if(o===void 0||!we.has(o))break;t+=o>65535?2:1;}for(;n>t;){let o=e.codePointAt(n-1);if(o===void 0)break;let s=o>=56320&&o<=57343?n-2:n-1,r=e.codePointAt(s);if(r===void 0||!we.has(r))break;n=s;}return e.slice(t,n)}function Pn(e){return e>=0&&e<=31||e>=127&&e<=159}function Cn(e,t){return e.length===1&&t>=55296&&t<=57343}var Dn=12,Un=5e3,Mi=8,Vi=1e3,Hi=16,xn=512,_n=100,Nn=8192,qi=32768,Qe=1024,vn=256,et=64,Ki=6e5,Bi=/^[A-Za-z0-9_-]+$/u,ji=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Ji=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Gi=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,Wi=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,zn=new Set(["discouraged","preferred","required"]),$i=new Set(["singleDevice","multiDevice"]),Ln=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),Fn=new Set(["hybrid","security-key","client-device"]),Yi=new Set(["none","indirect","direct","enterprise"]),Xi=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),Qi=new Set(["platform","cross-platform"]),Zi=new Set(["discouraged","preferred","required"]),er=new Set([-8,-7,-257]);function Mn(e){let t=q(e,Dn,Un);return {challenge:$n(t.challenge),...v("timeout",Gn(t.timeout)),...v("rpId",Yn(t.rpId)),...v("allowCredentials",Jn(t.allowCredentials)),...v("userVerification",le(t.userVerification,zn)),...v("hints",ke(t.hints,Fn)),...v("extensions",Wn(t.extensions))}}function Vn(e){let t=q(e,Dn,Un);return {challenge:$n(t.challenge),rp:tr(t.rp),user:nr(t.user),pubKeyCredParams:or(t.pubKeyCredParams),...v("timeout",Gn(t.timeout)),...v("excludeCredentials",Jn(t.excludeCredentials)),...v("authenticatorSelection",ir(t.authenticatorSelection)),...v("attestation",le(t.attestation,Yi)),...v("attestationFormats",ke(t.attestationFormats,Xi)),...v("hints",ke(t.hints,Fn)),...v("extensions",Wn(t.extensions))}}function Hn(e){let t=f(e),n=me(t.session),o=L(t.user);return n.userId!==o.id&&l(),{session:n,user:o}}function tt(e){let t=f(e),n=t.counter;(!Number.isSafeInteger(n)||n<0)&&l();let o=nt(t.deviceType,$i),i=E(t.backedUp);return i&&o!=="multiDevice"&&l(),{id:ie(t.id,vn),...ar(t),publicKey:rr(t.publicKey,qi),userId:ie(t.userId,vn),credentialID:Ee(t.credentialID,Nn),counter:n,deviceType:o,backedUp:i,...cr(t),createdAt:C(t.createdAt),...ur(t)}}function qn(e,t,n){let o=tt(e);return (o.credentialID!==t||(n===void 0?o.name!==void 0&&o.name!==null:o.name!==n))&&l(),o}function Kn(e){(!Array.isArray(e)||e.length>_n)&&l();let t=e.map(tt);return Te(t.map(n=>n.id)),Te(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&l(),t}function Bn(e,t,n){let o=f(e),i=tt(o.passkey);return (i.id!==t||i.name!==n)&&l(),{passkey:i}}function jn(e){return f(e).status!==true&&l(),{status:true}}function tr(e){let t=f(e);return {name:Ze(t.name,Qe),...v("id",Yn(t.id))}}function nr(e){let t=f(e);return {id:Ee(t.id,128,1,64),name:Ze(t.name,Qe),displayName:Ze(t.displayName,Qe)}}function or(e){(!Array.isArray(e)||e.length===0||e.length>et)&&l();let t=e.map(n=>{let o=f(n);return (o.type!=="public-key"||!Number.isSafeInteger(o.alg)||!er.has(o.alg))&&l(),{type:"public-key",alg:o.alg}});return lr(t.map(n=>n.alg)),t}function Jn(e){if(e===void 0)return;(!Array.isArray(e)||e.length>_n)&&l();let t=e.map(n=>{let o=f(n);return o.type!=="public-key"&&l(),{type:"public-key",id:Ee(o.id,Nn),...v("transports",ke(o.transports,Ln))}});return Te(t.map(n=>n.id)),t}function ir(e){if(e===void 0)return;let t=f(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&l();let n=le(t.residentKey,Zi);return t.requireResidentKey!==void 0&&n!==void 0&&t.requireResidentKey!==(n==="required")&&l(),{...v("authenticatorAttachment",le(t.authenticatorAttachment,Qi)),...v("residentKey",n),...v("requireResidentKey",t.requireResidentKey),...v("userVerification",le(t.userVerification,zn))}}function Gn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Ki)&&l(),e}function Wn(e){return e===void 0?void 0:q(e,Mi,Vi)}function ke(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>et)&&l();let n=e.map(o=>nt(o,t));return Te(n),n}function le(e,t){if(e!==void 0)return nt(e,t)}function $n(e){return Ee(e,Math.ceil(xn*4/3),Hi,xn)}function Ee(e,t,n=1,o=Number.POSITIVE_INFINITY){let i=ie(e,t),s=i.length%4,r=sr(i.at(-1)??""),a=Math.floor(i.length*3/4);return (!Bi.test(i)||s===1||s===2&&(r&15)!==0||s===3&&(r&3)!==0||a<n||a>o)&&l(),i}function ie(e,t){let n=k(e);return (n.length===0||n.length>t)&&l(),n}function Ze(e,t){let n=ie(e,t);return Ji.test(n)&&l(),n}function Yn(e){if(e===void 0)return;let t=ie(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Gi.test(n)))&&l(),t}function rr(e,t){let n=ie(e,t),o=n.endsWith("=="),i=!o&&n.endsWith("="),s=n.at(o?-3:i?-2:-1)??"",r=Xn(s);return (n.length%4!==0||!ji.test(n)||o&&(r&15)!==0||i&&(r&3)!==0)&&l(),n}function sr(e){return Xn(e,true)}function Xn(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function ar(e){let t=P(e,"name");return t===void 0?{}:(t!==null&&!Xe(t)&&l(),{name:t})}function cr(e){let t=P(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>et||n.some(o=>!Ln.has(o))||new Set(n).size!==n.length)&&l(),{transports:t}}function ur(e){let t=P(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:(Wi.test(t)||l(),{aaguid:t})}function nt(e,t){let n=k(e);return t.has(n)||l(),n}function v(e,t){return t===void 0?{}:{[e]:t}}function Te(e){new Set(e).size!==e.length&&l();}function lr(e){new Set(e).size!==e.length&&l();}function Or(e,t){if(!t)return e;let n=t.catch(()=>{});return n.then(()=>{n=null;}),{async request(o,i){return n&&await n,e.request(o,i)}}}var oo=new Map;function br(e,t,n){let o=oo.get(n);if(!o){let i=new URLSearchParams(window.location.hash.slice(1)).get("authowl_code");if(!i)return;o=Promise.resolve().then(()=>(Pe(),Ie)).then(s=>s.completeCrossSiteSignIn(e,t,i)),oo.set(n,o);}return o}function io(e){return !ce()||e.idToken||e.disableRedirect?"legacy":"first-party"}function so(e,t=()=>{},n=wr){let o=ae(e),i=e.session.tokens,s=ce()?br(o,i,e.decoded.projectId):void 0,r=Or(o,s),a=zt({http:r,probe:ae({...e,fetch:e.session.probe}),tokens:i,channelName:`authowl:${e.decoded.projectId}`}),c=n(r,a.notifyMutation),m=()=>{a.notifyMutation(),t();},{post:d,mutation:h}=ee(r,m),A=e.decoded.env==="test",O=u=>{i.beginSession({remember:u?.rememberMe!==false});};return {sessionStore:a.store,getSession:a.getSession,account:Ht(r,m),organization:an(r,m,()=>a.store.getSnapshot().data?.session.membership??null),signIn:{email:(u,p)=>(O(u),h(d("/sign-in/email",u,p,$e),g=>!("twoFactorRedirect"in g))),username:(u,p)=>(O(u),h(d("/sign-in/username",u,p,$e),g=>!("twoFactorRedirect"in g))),social:async(u,p)=>{if(O(),io(u)==="first-party"){let{beginCrossSiteSignIn:w}=await Promise.resolve().then(()=>(Pe(),Ie)),R=await w(e,{kind:"social",provider:u.provider,callbackURL:u.callbackURL,errorCallbackURL:u.errorCallbackURL,newUserCallbackURL:u.newUserCallbackURL,scopes:u.scopes,loginHint:u.loginHint,requestSignUp:u.requestSignUp});if(R)return window.location.assign(R),{data:{redirect:true,url:R},error:null}}let g=await h(d("/sign-in/social",u,p,w=>dn(w,A)),w=>"user"in w);return g.error!==null||g.data===null||"url"in g.data&&g.data.redirect&&!u.disableRedirect&&typeof window<"u"&&window.location.assign(g.data.url),g},sso:async(u,p)=>{if(io(u)==="first-party"){let{beginCrossSiteSignIn:w}=await Promise.resolve().then(()=>(Pe(),Ie)),R=await w(e,{kind:"sso",email:u.email,providerId:u.providerId,domain:u.domain,organizationSlug:u.organizationSlug,callbackURL:u.callbackURL,errorCallbackURL:u.errorCallbackURL,newUserCallbackURL:u.newUserCallbackURL});if(R)return window.location.assign(R),{data:{url:R,redirect:true},error:null}}let g=await d("/sign-in/sso",u,p,w=>pn(w,A));return g.error!==null||g.data===null||typeof window<"u"&&window.location.assign(g.data.url),g},magicLink:(u,p)=>d("/sign-in/magic-link",u,p,fn),emailOtp:(u,p)=>(O(),h(d("/sign-in/email-otp",u,p,un))),passkey:(u,p)=>(O(),c.signIn(u,p))},signUp:{email:(u,p)=>(O(),h(d("/sign-up/email",u,p,ln),g=>g.sessionCreated))},emailOtp:{sendVerificationOtp:(u,p)=>d("/email-otp/send-verification-otp",u,p,gn),verifyEmail:(u,p)=>(O(),h(d("/email-otp/verify-email",u,p,On)))},phoneOtp:{prepare:u=>d("/phone-otp/challenge",{},u,hn),start:(u,p)=>d("/phone-otp/start",{...u,idempotencyKey:u.idempotencyKey??Je()},p,mn),verify:(u,p)=>(O(),h(d("/phone-otp/verify",u,p,yn)))},requestPasswordReset:(u,p)=>d("/request-password-reset",u,p,Ye),resetPassword:(u,p)=>d("/reset-password",u,p,Ye),sendVerificationEmail:(u,p)=>d("/send-verification-email",u,p,An),passkey:{addPasskey:(u,p)=>c.add(u,p),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:Kn}),updatePasskey:async(u,p)=>{let g=Re(u.name);if(!g.valid||g.value===void 0)return Se();let w=g.value;return d("/passkey/update-passkey",{...u,name:w},p,R=>Bn(R,u.id,w))},deletePasskey:(u,p)=>d("/passkey/delete-passkey",u,p,jn)},twoFactor:{enable:(u,p)=>d("/two-factor/enable",u,p,wn),disable:(u,p)=>h(d("/two-factor/disable",u,p,Rn),g=>g.status),verifyTotp:(u,p)=>h(d("/two-factor/verify-totp",u,p,be)),verifyBackupCode:(u,p)=>h(d("/two-factor/verify-backup-code",u,p,be)),sendOtp:(u={},p)=>d("/two-factor/send-otp",u,p,Sn),verifyOtp:(u,p)=>h(d("/two-factor/verify-otp",u,p,be)),generateBackupCodes:(u,p)=>d("/two-factor/generate-backup-codes",u,p,kn)},signOut:u=>h(r.request("/sign-out",{method:"POST",body:{},fetchOptions:u,decode:bn}).then(p=>(i.endSession(),p)),p=>p.success)}}function wr(){return {signIn:()=>ro(),add:()=>ro()}}function ro(){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 fo(e,t,n){let o=new Map;return {async signIn(i={},s){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return uo(r.error);let a;try{a=Mn(r.data);}catch{return ao()}let c;try{c=await n.authenticate({optionsJSON:a,useBrowserAutofill:i.autoFill});}catch(O){return lo(n,O,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!Rr(c))return co();let{clientExtensionResults:m,...d}=c,h=o.get(c.id);if(h)return h;let A=(async()=>{let O=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:d},fetchOptions:s,decode:Hn});return O.data&&t(),O})();o.set(c.id,A);try{return await A}finally{o.get(c.id)===A&&o.delete(c.id);}},async add(i={},s){let r=Re(i.name);if(!r.valid)return Se();let a=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:i.authenticatorAttachment}});if(!a.data)return uo(a.error);let c;try{c=Vn(a.data);}catch{return ao()}let m;try{m=await n.register({optionsJSON:c});}catch(O){return lo(n,O,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!Sr(m))return co();let{clientExtensionResults:d,...h}=m,A=await e.request("/passkey/verify-registration",{method:"POST",body:{response:h,name:r.value},fetchOptions:s,decode:O=>qn(O,m.id,r.value)});return A.data&&t(),A}}}function ao(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function co(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function go(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 Rr(e){if(!go(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.authenticatorData=="string"&&typeof t.signature=="string"&&(t.userHandle===void 0||typeof t.userHandle=="string")}function Sr(e){if(!go(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function uo(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function lo(e,t,n,o){let i=Tr(t,"page does not have focus"),s=e.errorCode?.(t),r=s!==void 0?s==="ERROR_CEREMONY_ABORTED":po(t)==="AbortError",a=n!=="AUTH_CANCELLED",c=kr(s,po(t),a);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:i?"PASSKEY_PAGE_NOT_FOCUSED":r?n:s??"PASSKEY_BROWSER_ERROR",message:i?"Keep this page focused while completing the passkey prompt.":r?o:c}}}function kr(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 po(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Tr(e,t){let n=t.toLowerCase(),o=new Set,i=e;for(;i&&typeof i=="object"&&!o.has(i);){if(o.add(i),"message"in i&&typeof i.message=="string"&&i.message.toLowerCase().includes(n))return true;i="cause"in i?i.cause:void 0;}return false}function F(e){let t=new Uint8Array(e),n="";for(let i of t)n+=String.fromCharCode(i);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=(4-t.length%4)%4,o=t.padEnd(t.length+n,"="),i=atob(o),s=new ArrayBuffer(i.length),r=new Uint8Array(s);for(let a=0;a<i.length;a++)r[a]=i.charCodeAt(a);return s}function Y(){return Er.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var Er={stubThis:e=>e};function Ce(e){let{id:t}=e;return {...e,id:$(t),transports:e.transports}}function xe(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var I=class extends Error{constructor({message:t,code:n,cause:o,name:i}){super(t,{cause:o}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=i??o.name,this.code=n;}};function mo({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new I({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===true)return new I({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new I({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(n.authenticatorSelection?.userVerification==="required")return new I({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new I({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new I({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return n.pubKeyCredParams.filter(i=>i.type==="public-key").length===0?new I({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new I({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(xe(o)){if(n.rp.id!==o)return new I({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new I({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new I({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new I({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var rt=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n);}let t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){let t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0;}}},ve=new rt;var Ir=["cross-platform","platform"];function De(e){if(e&&!(Ir.indexOf(e)<0))return e}async function ho(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=false}=e;if(!Y())throw new Error("WebAuthn is not supported in this browser");let o={...t,challenge:$(t.challenge),user:{...t.user,id:$(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Ce)},i={};n&&(i.mediation="conditional"),i.publicKey=o,i.signal=ve.createNewAbortSignal();let s;try{s=await navigator.credentials.create(i);}catch(u){throw mo({error:u,options:i})}if(!s)throw new Error("Registration was not completed");let{id:r,rawId:a,response:c,type:m}=s,d;typeof c.getTransports=="function"&&(d=c.getTransports());let h;if(typeof c.getPublicKeyAlgorithm=="function")try{h=c.getPublicKeyAlgorithm();}catch(u){st("getPublicKeyAlgorithm()",u);}let A;if(typeof c.getPublicKey=="function")try{let u=c.getPublicKey();u!==null&&(A=F(u));}catch(u){st("getPublicKey()",u);}let O;if(typeof c.getAuthenticatorData=="function")try{O=F(c.getAuthenticatorData());}catch(u){st("getAuthenticatorData()",u);}return {id:r,rawId:F(a),response:{attestationObject:F(c.attestationObject),clientDataJSON:F(c.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:A,authenticatorData:O},type:m,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:De(s.authenticatorAttachment)}}function st(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
+ `,t);}function yo(){if(!Y())return at.stubThis(new Promise(t=>t(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?at.stubThis(new Promise(t=>t(false))):at.stubThis(e.isConditionalMediationAvailable())}var at={stubThis:e=>e};function Ao({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new I({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new I({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let o=globalThis.location.hostname;if(xe(o)){if(n.rpId!==o)return new I({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new I({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new I({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Oo(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=false,verifyBrowserAutofillInput:o=true}=e;if(!Y())throw new Error("WebAuthn is not supported in this browser");let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Ce));let s={...t,challenge:$(t.challenge),allowCredentials:i},r={};if(n){if(!await yo())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&o)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');r.mediation="conditional",s.allowCredentials=[];}r.publicKey=s,r.signal=ve.createNewAbortSignal();let a;try{a=await navigator.credentials.get(r);}catch(O){throw Ao({error:O,options:r})}if(!a)throw new Error("Authentication was not completed");let{id:c,rawId:m,response:d,type:h}=a,A;return d.userHandle&&(A=F(d.userHandle)),{id:c,rawId:F(m),response:{authenticatorData:F(d.authenticatorData),clientDataJSON:F(d.clientDataJSON),signature:F(d.signature),userHandle:A},type:h,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:De(a.authenticatorAttachment)}}var bo={authenticate:e=>Oo(e),register:e=>ho(e),errorCode:e=>e instanceof I?e.code:void 0};function Ro(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function ct(e){let t=await H(e,Ro(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:Pr});return t.response.status===401?{required:false}:W(t,"consent status")}async function ut(e,t){if(!Number.isSafeInteger(t)||t<1)throw new TypeError("Consent version must be a positive integer.");return W(await H(e,Ro(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:t})},maxResponseBytes:64*1024,decode:Cr}),"consent accept")}function Pr(e){let t=f(e),n=E(t.required),o=xr(t.needsConsent),i=So(t.version),s=wo(t.termsUrl),r=wo(t.privacyUrl);return {required:n,...o===void 0?{}:{needsConsent:o},...i===void 0?{}:{version:i},...s===void 0?{}:{termsUrl:s},...r===void 0?{}:{privacyUrl:r}}}function Cr(e){let t=f(e),n=So(t.version);return {ok:E(t.ok),...n===void 0?{}:{version:n}}}function xr(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function So(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function wo(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var vr=30;function Dr(e){return typeof e?.exp=="number"?e.exp:null}function Ur(e){let t=e.split(".")[1];if(!t)return null;try{let n=t.replace(/-/g,"+").replace(/_/g,"/"),o=JSON.parse(atob(n));return typeof o=="object"&&o!==null?o:null}catch{return null}}function lt(e){let t=new Map;async function n(s={}){let r=s.template===void 0?null:s.template.trim().toLowerCase();if(r==="")throw new TypeError("Template missing");let a=r??"",c=t.get(a);c||(c={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},t.set(a,c));let m=s.forceRefresh===true;if(!m){let u=c.activeKey?c.cachedByKey.get(c.activeKey):null;if(u&&u.exp-Date.now()/1e3>vr)return u.token;if(c.inflight)return c.inflight}let d=++c.sequence,h=()=>t.get(a)===c&&c.sequence===d,A=(async()=>{let u=r?`${e.projectBaseURL}/token/${encodeURIComponent(r)}`:`${e.projectBaseURL}/token`,p=await H(e,u,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:b=>_r(b,r!==null)});if(p.response.status===401)return h()&&o(),null;let g=W(p,"token"),w=g.policyVersion,R=g.token,N=Ur(R),V=Dr(N);if(h())if(V!==null){let b=typeof N?.sub=="string"?N.sub:null,S=typeof N?.org_id=="string"?N.org_id:null;if(!r||b){let y=JSON.stringify([e.projectBaseURL,b,S,r,w]);c.cachedByKey.clear(),c.cachedByKey.set(y,{token:R,exp:V}),c.activeKey=y;}else i(c);}else i(c);return R})();if(m)return A;let O=A.finally(()=>{c.inflight===O&&(c.inflight=null);});return c.inflight=O,O}function o(){t.clear();}function i(s){s.cachedByKey.clear(),s.activeKey=null;}return {getToken:n,clear:o}}function _r(e,t){let n=f(e),o=k(n.token);if(o.length===0||o.length>32*1024)throw new TypeError("Invalid token response.");if(!t)return {token:o,policyVersion:0};let i=f(n.template);if(!Number.isSafeInteger(i.policyVersion)||i.policyVersion<1)throw new TypeError("Invalid token response.");return {token:o,policyVersion:i.policyVersion}}function Nr(e){let t=lt(e),n=so(e,t.clear,(r,a)=>fo(r,a,bo)),o=ae(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),i=r=>(...a)=>(t.clear(),r(...a)),s={getConsentStatus:()=>ct(e),acceptConsent:r=>ut(e,r),getToken:t.getToken,waitlist:{join:(r,a)=>o.request("/waitlist",{method:"POST",body:r,fetchOptions:a,credentials:"omit"})},account:{...n.account,updateUnsafeMetadata:i(n.account.updateUnsafeMetadata),updateProfile:i(n.account.updateProfile),changeEmail:i(n.account.changeEmail),changePassword:i(n.account.changePassword),revokeSession:i(n.account.revokeSession),delete:i(n.account.delete)},signIn:{email:i(n.signIn.email),username:i(n.signIn.username),social:i(n.signIn.social),sso:n.signIn.sso,magicLink:n.signIn.magicLink,emailOtp:i(n.signIn.emailOtp),passkey:i(n.signIn.passkey)},signUp:{email:i(n.signUp.email)},emailOtp:{...n.emailOtp,verifyEmail:i(n.emailOtp.verifyEmail)},twoFactor:{enable:n.twoFactor.enable,disable:i(n.twoFactor.disable),verifyTotp:i(n.twoFactor.verifyTotp),verifyBackupCode:i(n.twoFactor.verifyBackupCode),sendOtp:n.twoFactor.sendOtp,verifyOtp:i(n.twoFactor.verifyOtp),generateBackupCodes:n.twoFactor.generateBackupCodes},phoneOtp:{prepare:n.phoneOtp.prepare,start:n.phoneOtp.start,verify:i(n.phoneOtp.verify)},signOut:i(n.signOut)};return {...n,...s}}async function zr(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let t=await Lr(),n=e.challengeRequired?await t.solvePow(e.challenge,e.difficulty):null,o=e.turnstile.required?await t.getTurnstileToken(Fr(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...n?{challengeToken:e.challengeToken,nonce:n.nonce}:{},...o?{turnstileToken:o}:{}}}async function Lr(){return import('@akedly/shield')}function Fr(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}async function Mr(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return W(await H(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:o=>Vr(o,e)}),"public-config")}function Vr(e,t){let n=q(e),o=n.environmentId,i=n.environmentType,s=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Hr(n.applicationId)||o!==t.decoded.projectId||i!=="development"&&i!=="production"||n.authBaseUrl!==s)throw M();let r=_(n.branding),a=_(n.legal);if(!dt(n.enabledMethods,64)||!dt(n.socialProviders,64)||!To(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"||!To(a,["termsUrl","privacyUrl"])||!Number.isSafeInteger(a.version)||a.version<0||typeof a.required!="boolean")throw M();if(n.socialProviderClientIds!==void 0){let c=_(n.socialProviderClientIds);if(Object.keys(c).length>64||Object.values(c).some(m=>typeof m!="string"||m.length>2048))throw M()}if(!B(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!ko(n.turnstileSiteKey)||!ko(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw M();if(n.jwtIssuer!==null){let c=_(n.jwtIssuer);if(c.issuer!==s||c.jwksUrl!==`${s}/jwks`||c.aud!==t.decoded.projectId)throw M()}if(n.signUp!==void 0){let c=_(n.signUp).mode;if(typeof c!="string"||!["open","restricted","allowlist","waitlist"].includes(c))throw M()}if(n.authentication!==void 0&&qr(n.authentication),n.emailVerification!==void 0){let c=_(n.emailVerification);if(!B(c,["required"])||c.method!=="link"&&c.method!=="code")throw M()}if(n.userModel!==void 0&&!B(_(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw M();if(n.mfa!==void 0){let c=_(n.mfa);if(!B(c,["totp","required","backupCodes"])||(c.required===true||c.backupCodes===true)&&c.totp!==true)throw M()}return n}function Hr(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 M(){return new TypeError("public-config returned an invalid response")}function _(e){if(!e||typeof e!="object"||Array.isArray(e))throw M();return e}function ko(e){return e===null||typeof e=="string"&&e.length<=4096}function qr(e){let t=_(e),n=_(t.email),o=_(t.password),i=o.minLength!==void 0||o.maxLength!==void 0;if(!B(n,["signUp"])||!dt(n.signIn,3)||n.signIn.some(s=>s!=="password"&&s!=="magic_link"&&s!=="email_otp")||!B(_(t.phone),["signUp","signIn"])||!B(o,["signUp","add"])||i&&(!Number.isSafeInteger(o.minLength)||!Number.isSafeInteger(o.maxLength)||o.minLength<1||o.maxLength>4096||o.minLength>o.maxLength)||!B(_(t.passkey),["signIn","add"])||!Kr(_(t.passkey).relyingPartyId)||!B(_(t.username),["collectOnSignUp","signIn"]))throw M()}function Kr(e){return e==null||typeof e=="string"}function B(e,t){return t.every(n=>typeof e[n]=="boolean")}function To(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function dt(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}var de=class extends Error{constructor(n,o){super(n);this.cause=o;this.name="AuthOwlError";}cause},pt=class extends de{constructor(n,o){super(`Rate limited. Retry after ${n}s.`,o);this.retryAfterSeconds=n;this.name="RateLimitedError";}retryAfterSeconds},ft=class extends de{constructor(t="invalid publishable key",n){super(t,n),this.name="InvalidKeyError";}};var Eo=["en","ar"];function Br(e){return e==="ar"?"rtl":"ltr"}function jr(e){return typeof e=="string"&&Eo.includes(e)}
3
+ exports.AUTH_CHALLENGE_HEADER=_t;exports.AuthOwlError=de;exports.AuthOwlHttpError=fe;exports.InvalidKeyError=ft;exports.LOCALES=Eo;exports.RateLimitedError=pt;exports.SESSION_TOKEN_HEADER=ze;exports.SESSION_TRANSPORT_BEARER=Fe;exports.SESSION_TRANSPORT_HEADER=Le;exports.TransportError=D;exports.acceptConsent=ut;exports.createAuthOwlClient=Nr;exports.createIdempotencyKey=Je;exports.createMembershipHas=Ri;exports.createTokenClient=lt;exports.decodePublishableKey=Ue;exports.directionFor=Br;exports.getConsentStatus=ct;exports.getPublicConfig=Mr;exports.isLocale=jr;exports.membershipHas=ye;exports.membershipHasPermission=he;exports.membershipHasTeam=qt;exports.resolveAuthTarget=It;exports.resolveConfig=jo;exports.resolveProjectCapabilities=Jo;exports.sessionChallengeIsEphemeral=No;exports.sessionCookieName=vo;exports.solvePhoneOtpChallenge=zr;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';import {c as c$1,d,h,j as j$1,f}from'./chunk-YWNCNSZL.js';export{e as AUTH_CHALLENGE_HEADER,b as AuthOwlHttpError,g as createIdempotencyKey,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-YWNCNSZL.js';import {n,p,o}from'./chunk-6D4A36HU.js';export{g as SESSION_TOKEN_HEADER,i as SESSION_TRANSPORT_BEARER,h as SESSION_TRANSPORT_HEADER,l as TransportError,B as createMembershipHas,a as decodePublishableKey,A as membershipHas,y as membershipHasPermission,z as membershipHasTeam,j as resolveAuthTarget,k as resolveConfig,e as sessionChallengeIsEphemeral,b as sessionCookieName}from'./chunk-6D4A36HU.js';import'./chunk-T5SH3ZZP.js';function u(e){let n=new Uint8Array(e),t="";for(let o of n)t+=String.fromCharCode(o);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function g(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),t=(4-n.length%4)%4,i=n.padEnd(n.length+t,"="),o=atob(i),a=new ArrayBuffer(o.length),s=new Uint8Array(a);for(let l=0;l<o.length;l++)s[l]=o.charCodeAt(l);return a}function y(){return Te.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var Te={stubThis:e=>e};function T(e){let{id:n}=e;return {...e,id:g(n),transports:e.transports}}function C(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var c=class extends Error{constructor({message:n,code:t,cause:i,name:o}){super(n,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=t;}};function W({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===true)return new c({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(n.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new c({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return t.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new c({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new c({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(C(i)){if(t.rp.id!==i)return new c({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new c({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var I=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t);}let n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){let n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0;}}},k=new I;var Ce=["cross-platform","platform"];function P(e){if(e&&!(Ce.indexOf(e)<0))return e}async function j(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:n,useAutoRegister:t=false}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let i={...n,challenge:g(n.challenge),user:{...n.user,id:g(n.user.id)},excludeCredentials:n.excludeCredentials?.map(T)},o={};t&&(o.mediation="conditional"),o.publicKey=i,o.signal=k.createNewAbortSignal();let a;try{a=await navigator.credentials.create(o);}catch(p){throw W({error:p,options:o})}if(!a)throw new Error("Registration was not completed");let{id:s,rawId:l,response:r,type:O}=a,d;typeof r.getTransports=="function"&&(d=r.getTransports());let h;if(typeof r.getPublicKeyAlgorithm=="function")try{h=r.getPublicKeyAlgorithm();}catch(p){U("getPublicKeyAlgorithm()",p);}let f;if(typeof r.getPublicKey=="function")try{let p=r.getPublicKey();p!==null&&(f=u(p));}catch(p){U("getPublicKey()",p);}let m;if(typeof r.getAuthenticatorData=="function")try{m=u(r.getAuthenticatorData());}catch(p){U("getAuthenticatorData()",p);}return {id:s,rawId:u(l),response:{attestationObject:u(r.attestationObject),clientDataJSON:u(r.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:f,authenticatorData:m},type:O,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:P(a.authenticatorAttachment)}}function U(e,n){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
1
+ export{a as LOCALES,b as directionFor,c as isLocale}from'./chunk-M4QJVSXT.js';import {c as c$1,d,h,j as j$1,f}from'./chunk-RJSDI5ZI.js';export{e as AUTH_CHALLENGE_HEADER,b as AuthOwlHttpError,g as createIdempotencyKey,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-RJSDI5ZI.js';import {n,p,o}from'./chunk-6D4A36HU.js';export{g as SESSION_TOKEN_HEADER,i as SESSION_TRANSPORT_BEARER,h as SESSION_TRANSPORT_HEADER,l as TransportError,B as createMembershipHas,a as decodePublishableKey,A as membershipHas,y as membershipHasPermission,z as membershipHasTeam,j as resolveAuthTarget,k as resolveConfig,e as sessionChallengeIsEphemeral,b as sessionCookieName}from'./chunk-6D4A36HU.js';import'./chunk-T5SH3ZZP.js';function u(e){let n=new Uint8Array(e),t="";for(let o of n)t+=String.fromCharCode(o);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function g(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),t=(4-n.length%4)%4,i=n.padEnd(n.length+t,"="),o=atob(i),a=new ArrayBuffer(o.length),s=new Uint8Array(a);for(let l=0;l<o.length;l++)s[l]=o.charCodeAt(l);return a}function y(){return Te.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var Te={stubThis:e=>e};function T(e){let{id:n}=e;return {...e,id:g(n),transports:e.transports}}function C(e){return e==="localhost"||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var c=class extends Error{constructor({message:n,code:t,cause:i,name:o}){super(n,{cause:i}),Object.defineProperty(this,"code",{enumerable:true,configurable:true,writable:true,value:void 0}),this.name=o??i.name,this.code=t;}};function W({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===true)return new c({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(n.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(t.authenticatorSelection?.userVerification==="required")return new c({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else {if(e.name==="InvalidStateError")return new c({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return t.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new c({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new c({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(C(i)){if(t.rp.id!==i)return new c({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new c({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}var I=class{constructor(){Object.defineProperty(this,"controller",{enumerable:true,configurable:true,writable:true,value:void 0});}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t);}let n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){let n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0;}}},k=new I;var Ce=["cross-platform","platform"];function P(e){if(e&&!(Ce.indexOf(e)<0))return e}async function j(e){!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:n,useAutoRegister:t=false}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let i={...n,challenge:g(n.challenge),user:{...n.user,id:g(n.user.id)},excludeCredentials:n.excludeCredentials?.map(T)},o={};t&&(o.mediation="conditional"),o.publicKey=i,o.signal=k.createNewAbortSignal();let a;try{a=await navigator.credentials.create(o);}catch(p){throw W({error:p,options:o})}if(!a)throw new Error("Registration was not completed");let{id:s,rawId:l,response:r,type:O}=a,d;typeof r.getTransports=="function"&&(d=r.getTransports());let h;if(typeof r.getPublicKeyAlgorithm=="function")try{h=r.getPublicKeyAlgorithm();}catch(p){U("getPublicKeyAlgorithm()",p);}let f;if(typeof r.getPublicKey=="function")try{let p=r.getPublicKey();p!==null&&(f=u(p));}catch(p){U("getPublicKey()",p);}let m;if(typeof r.getAuthenticatorData=="function")try{m=u(r.getAuthenticatorData());}catch(p){U("getAuthenticatorData()",p);}return {id:s,rawId:u(l),response:{attestationObject:u(r.attestationObject),clientDataJSON:u(r.clientDataJSON),transports:d,publicKeyAlgorithm:h,publicKey:f,authenticatorData:m},type:O,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:P(a.authenticatorAttachment)}}function U(e,n){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
2
2
  `,n);}function $(){if(!y())return v.stubThis(new Promise(n=>n(false)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?v.stubThis(new Promise(n=>n(false))):v.stubThis(e.isConditionalMediationAvailable())}var v={stubThis:e=>e};function Y({error:e,options:n}){let{publicKey:t}=n;if(!t)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new c({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else {if(e.name==="NotAllowedError")return new c({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){let i=globalThis.location.hostname;if(C(i)){if(t.rpId!==i)return new c({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new c({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new c({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return e}async function Q(e){!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:n,useBrowserAutofill:t=false,verifyBrowserAutofillInput:i=true}=e;if(!y())throw new Error("WebAuthn is not supported in this browser");let o;n.allowCredentials?.length!==0&&(o=n.allowCredentials?.map(T));let a={...n,challenge:g(n.challenge),allowCredentials:o},s={};if(t){if(!await $())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&i)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');s.mediation="conditional",a.allowCredentials=[];}s.publicKey=a,s.signal=k.createNewAbortSignal();let l;try{l=await navigator.credentials.get(s);}catch(m){throw Y({error:m,options:s})}if(!l)throw new Error("Authentication was not completed");let{id:r,rawId:O,response:d,type:h}=l,f;return d.userHandle&&(f=u(d.userHandle)),{id:r,rawId:u(O),response:{authenticatorData:u(d.authenticatorData),clientDataJSON:u(d.clientDataJSON),signature:u(d.signature),userHandle:f},type:h,clientExtensionResults:l.getClientExtensionResults(),authenticatorAttachment:P(l.authenticatorAttachment)}}var Z={authenticate:e=>Q(e),register:e=>j(e),errorCode:e=>e instanceof c?e.code:void 0};function ee(e){return `${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/consent`}async function _(e){let n=await c$1(e,ee(e),{init:{method:"GET",credentials:"include"},maxResponseBytes:65536,decode:ke});return n.response.status===401?{required:false}:d(n,"consent status")}async function N(e,n){if(!Number.isSafeInteger(n)||n<1)throw new TypeError("Consent version must be a positive integer.");return d(await c$1(e,ee(e),{init:{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({version:n})},maxResponseBytes:64*1024,decode:Pe}),"consent accept")}function ke(e){let n$1=n(e),t=p(n$1.required),i=xe(n$1.needsConsent),o=te(n$1.version),a=X(n$1.termsUrl),s=X(n$1.privacyUrl);return {required:t,...i===void 0?{}:{needsConsent:i},...o===void 0?{}:{version:o},...a===void 0?{}:{termsUrl:a},...s===void 0?{}:{privacyUrl:s}}}function Pe(e){let n$1=n(e),t=te(n$1.version);return {ok:p(n$1.ok),...t===void 0?{}:{version:t}}}function xe(e){if(e===void 0||typeof e=="boolean")return e;throw new TypeError("Invalid consent response.")}function te(e){if(e===void 0||Number.isSafeInteger(e)&&e>=1)return e;throw new TypeError("Invalid consent response.")}function X(e){if(e===void 0||typeof e=="string"&&e.length<=4096)return e;throw new TypeError("Invalid consent response.")}var De=30;function Ie(e){return typeof e?.exp=="number"?e.exp:null}function Ue(e){let n=e.split(".")[1];if(!n)return null;try{let t=n.replace(/-/g,"+").replace(/_/g,"/"),i=JSON.parse(atob(t));return typeof i=="object"&&i!==null?i:null}catch{return null}}function F(e){let n=new Map;async function t(a={}){let s=a.template===void 0?null:a.template.trim().toLowerCase();if(s==="")throw new TypeError("Template missing");let l=s??"",r=n.get(l);r||(r={activeKey:null,cachedByKey:new Map,inflight:null,sequence:0},n.set(l,r));let O=a.forceRefresh===true;if(!O){let p=r.activeKey?r.cachedByKey.get(r.activeKey):null;if(p&&p.exp-Date.now()/1e3>De)return p.token;if(r.inflight)return r.inflight}let d$1=++r.sequence,h=()=>n.get(l)===r&&r.sequence===d$1,f=(async()=>{let p=s?`${e.projectBaseURL}/token/${encodeURIComponent(s)}`:`${e.projectBaseURL}/token`,K=await c$1(e,p,{init:{method:"GET",credentials:"include"},maxResponseBytes:64*1024,decode:E=>ve(E,s!==null)});if(K.response.status===401)return h()&&i(),null;let z=d(K,"token"),ne=z.policyVersion,x=z.token,b=Ue(x),B=Ie(b);if(h())if(B!==null){let E=typeof b?.sub=="string"?b.sub:null,oe=typeof b?.org_id=="string"?b.org_id:null;if(!s||E){let M=JSON.stringify([e.projectBaseURL,E,oe,s,ne]);r.cachedByKey.clear(),r.cachedByKey.set(M,{token:x,exp:B}),r.activeKey=M;}else o(r);}else o(r);return x})();if(O)return f;let m=f.finally(()=>{r.inflight===m&&(r.inflight=null);});return r.inflight=m,m}function i(){n.clear();}function o(a){a.cachedByKey.clear(),a.activeKey=null;}return {getToken:t,clear:i}}function ve(e,n$1){let t=n(e),i=o(t.token);if(i.length===0||i.length>32*1024)throw new TypeError("Invalid token response.");if(!n$1)return {token:i,policyVersion:0};let o$1=n(t.template);if(!Number.isSafeInteger(o$1.policyVersion)||o$1.policyVersion<1)throw new TypeError("Invalid token response.");return {token:i,policyVersion:o$1.policyVersion}}function _e(e){let n=F(e),t=h(e,n.clear,(s,l)=>j$1(s,l,Z)),i=f(e,`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}`),o=s=>(...l)=>(n.clear(),s(...l)),a={getConsentStatus:()=>_(e),acceptConsent:s=>N(e,s),getToken:n.getToken,waitlist:{join:(s,l)=>i.request("/waitlist",{method:"POST",body:s,fetchOptions:l,credentials:"omit"})},account:{...t.account,updateUnsafeMetadata:o(t.account.updateUnsafeMetadata),updateProfile:o(t.account.updateProfile),changeEmail:o(t.account.changeEmail),changePassword:o(t.account.changePassword),revokeSession:o(t.account.revokeSession),delete:o(t.account.delete)},signIn:{email:o(t.signIn.email),username:o(t.signIn.username),social:o(t.signIn.social),sso:t.signIn.sso,magicLink:t.signIn.magicLink,emailOtp:o(t.signIn.emailOtp),passkey:o(t.signIn.passkey)},signUp:{email:o(t.signUp.email)},emailOtp:{...t.emailOtp,verifyEmail:o(t.emailOtp.verifyEmail)},twoFactor:{enable:t.twoFactor.enable,disable:o(t.twoFactor.disable),verifyTotp:o(t.twoFactor.verifyTotp),verifyBackupCode:o(t.twoFactor.verifyBackupCode),sendOtp:t.twoFactor.sendOtp,verifyOtp:o(t.twoFactor.verifyOtp),generateBackupCodes:t.twoFactor.generateBackupCodes},phoneOtp:{prepare:t.phoneOtp.prepare,start:t.phoneOtp.start,verify:o(t.phoneOtp.verify)},signOut:o(t.signOut)};return {...t,...a}}async function Ne(e){if(typeof window>"u")throw new Error("Akedly Shield challenges must be solved in a browser.");let n=await Fe(),t=e.challengeRequired?await n.solvePow(e.challenge,e.difficulty):null,i=e.turnstile.required?await n.getTurnstileToken(Le(e.turnstile.siteKey)):void 0;return {connectionId:e.connectionId,...t?{challengeToken:e.challengeToken,nonce:t.nonce}:{},...i?{turnstileToken:i}:{}}}async function Fe(){return import('@akedly/shield')}function Le(e){if(!e)throw new Error("Akedly Shield did not provide a Turnstile site key.");return e}var S=class extends Error{constructor(t,i){super(t);this.cause=i;this.name="AuthOwlError";}cause},L=class extends S{constructor(t,i){super(`Rate limited. Retry after ${t}s.`,i);this.retryAfterSeconds=t;this.name="RateLimitedError";}retryAfterSeconds},V=class extends S{constructor(n="invalid publishable key",t){super(n,t),this.name="InvalidKeyError";}};
3
3
  export{S as AuthOwlError,V as InvalidKeyError,L as RateLimitedError,N as acceptConsent,_e as createAuthOwlClient,F as createTokenClient,_ as getConsentStatus,Ne as solvePhoneOtpChallenge};
package/dist/native.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var Yn=Object.defineProperty;var Je=(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=Je(()=>{});var ye={};Xn(ye,{beginCrossSiteSignIn:()=>qo,challengeFor:()=>zn,completeCrossSiteSignIn:()=>Vo,takeHandoffCode:()=>Ln});function Un(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function zn(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return Un(new Uint8Array(t))}function Mo(){return Un(crypto.getRandomValues(new Uint8Array(zo)))}function Nn(e,t){let n=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${_n}=${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()===_n)return e.slice(t+1).trim()||null}return null}function Ho(){Nn("",0);}function Dn(e){return new URL(e,window.location.href).toString()}async function qo(e,t){let n=t.callbackURL?Dn(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,Dn(a));return o.searchParams.set("challenge",await zn(i)),Nn(i,No),o.toString()}function Ln(){if(typeof window>"u")return null;let e=window.location.hash;if(!e.includes(Ke))return null;let t=new URLSearchParams(e.replace(/^#/,"")),n=t.get(Ke);if(!n)return null;t.delete(Ke);let i=t.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${i?`#${i}`:""}`),n}async function Vo(e,t){if(!ee())return false;let n=Ln();if(!n)return false;let i=Fo();if(Ho(),!i)return false;t.beginSession({remember:true});let{error:o}=await e.request("/session/exchange",{method:"POST",body:{code:n,verifier:i}});return o===null}var _n,Ke,zo,No,Lo,Ae=Je(()=>{xe();_n="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 $e=/^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 Ge(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&&$e.test(i)))throw new TypeError("Transport URL must use HTTPS except on approved loopback.");return n}function We(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||!$e.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",Ye="x-authowl-challenge";var Qe="INVALID_TWO_FACTOR_COOKIE",ii=2048,oe=e=>e!==null&&e.length<=ii,Xe=/^[\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 Ze(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))Xe.test(u)&&(m===""?n.delete(u):Xe.test(m)&&n.set(u,m));}let r=j(V(),t);return oe(r)&&s(r),{presentOn(a){let u=i();a.delete(Ye),oe(u)&&a.set(Ye,u);},observe(a){let u=a.get(ni);oe(u)&&(s(u),o());},clear(){n.clear(),o();}}}var et="set-auth-token",tt="x-authowl-session-transport",nt="bearer";var ri="authowl.session-token",si="authowl.cookie-transport",ot="ok",rt="bearer",ai=e=>`${ri}.${e}`,ui=e=>`${si}.${e}`;function ci(e){return e===ot?"cookies":e===rt?"bearer":"unknown"}function di(e){return e==="cookies"?ot:e==="bearer"?rt:null}function li(e){let t=ai(e),n=ui(e),i=Ze(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 R(){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 T=()=>a!=="cookies";return {hasToken:()=>R()!==null,declareOn(h){if(h.has("authorization"))return false;let C=R();return !C&&!T()?false:(C&&h.set("authorization",`Bearer ${C}`),h.set(tt,nt),i.presentOn(h),true)},wantsToken:T,needsProbe:u,observe(h){let C=h.get(et);C&&l(C),i.observe(h);},dropChallenge:i.clear,measureWith(h){f=h,b();},beginRead(){let h=R(),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 it=new Map;function st(e){let t=it.get(e);if(t)return t;let n=li(e);return it.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 at(e,t){let n=st(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=We(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}=at(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;}},dt=new WeakSet;function D(e,t){let n=new v(e,t);return dt.add(n),n}async function lt({fetchImpl:e,url:t,init:n={},timeoutMs:i=gi,maxResponseBytes:o=mi,allowHttpLoopback:s=false,decode:r}){ct(i,"timeoutMs"),ct(o,"maxResponseBytes");let a=Ge(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(T=>({type:"response",response:T})),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,R=ki(O.headers),K=await yi(O,o,A,()=>f,R),B=wi(O,K,R),w;try{w=O.ok&&r?r(B,Object.freeze({status:O.status})):B;}catch{throw D("invalid_response",R)}return {response:O,data:w,...R===void 0?{}:{requestId:R}}}catch(g){throw g instanceof v&&dt.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 ut(e.body),D("invalid_response",o);if(Number(s)>t)throw ut(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 ut(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 ct(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),lt({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 pt(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=gt(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=gt(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===Qe&&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)??ft(t.get("retry-after"))??ft(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function ft(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 gt(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 S(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 mt(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:S(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",mt(t,"twoFactorEnabled"))}}function ae(e){let t=p(e),n=t.membership;return {id:S(t.id),userId:S(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",mt(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:S(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 ht({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 T of o)T();}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 T=l(w).finally(()=>{u===T&&(u=null);});return u=T,T}async function l(w){a?.abort();let T=new AbortController;a=T,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:T.signal},decode:Ce});if(a===T&&(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 T=t.request("/get-session",{query:{disableCookieCache:true},decode:Ce}).then(h=>{m===T&&h.error===null&&w.recordCookieVerdict(h.data!==null);}).finally(()=>{m===T&&(m=null);});return m=T,T}function R(){s?.postMessage({type:"session-changed"});}function K(){if(typeof window>"u"||r)return;let w=()=>{c();},T=()=>{document.visibilityState==="visible"&&c();};window.addEventListener("focus",w),document.addEventListener("visibilitychange",T),typeof BroadcastChannel<"u"&&(s=new BroadcastChannel(i),s.addEventListener("message",w)),r=()=>{window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",T),s?.close(),s=null,r=null;};}function B(w){return o.add(w),o.size===1&&(K(),c()),()=>{o.delete(w),o.size===0&&(a?.abort(),a=null,r?.());}}return n.measureWith(()=>{n.needsProbe()&&O(n.beginRead());}),{store:{subscribe:B,getSnapshot:()=>f},getSession:b,notifyMutation(){R(),m&&m.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&R();}),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 yt(){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 At(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:wt})}async function bt(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:wt})}function wt(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 kt(e,t){let{post:n,mutation:i}=G(e,t);return {getMetadata:o=>At(e,o),updateUnsafeMetadata:(o,s)=>bt(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:S(n.id),userId:S(n.userId),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt),expiresAt:E(n.expiresAt),...Ot("ipAddress",P(n,"ipAddress")),...Ot("userAgent",P(n,"userAgent"))}})}function qi(e){return Array.isArray(e)||d(),e.map(t=>{let n=p(t);return {id:S(n.id),userId:S(n.userId),providerId:S(n.providerId),accountId:S(n.accountId),scopes:se(n.scopes),createdAt:E(n.createdAt),updatedAt:E(n.updatedAt)}})}function Vi(e){let t=p(e);return {url:S(t.url),redirect:I(t.redirect)}}function Ki(e){let t=p(e);return {success:I(t.success),message:S(t.message)}}function Ot(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"]),St=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 Rt(e){return q(e,W)}function _e(e,t,n){return e===null?null:(t===null&&d(),W(e,t,n))}function Tt(e,t,n){if(e===null)return null;let i=p(e),o=W(i,t,n);return {...o,members:q(i.members,s=>Mt(s,o.id)),invitations:q(i.invitations,s=>M(s,void 0,o.id))}}function It(e,t){let n=q(e,i=>Lt(i));return ce(n.map(i=>i.organizationId),t),n}function Pt(e,t,n){return e===null?null:(t===null&&d(),Lt(e,t,n))}function Et(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 Ct(e,t){let n=q(e,i=>M(i));return ce(n.map(i=>i.organizationId),t),n}function xt(e){return q(e,t=>{let n=p(t);return {...M(n),organizationName:k(n.organizationName)}})}function vt(e,t){let n=p(e);return {...M(n,t),organizationName:k(n.organizationName),organizationSlug:k(n.organizationSlug),inviterEmail:k(n.inviterEmail)}}function Dt(e,t){let n=p(e),i=M(n.invitation,t);return {invitation:i,member:Y(n.member,void 0,i.organizationId)}}function _t(e,t){let n=p(e);return n.member!==null&&d(),{invitation:n.invitation===null?null:M(n.invitation,t),member:null}}function Ut(e,t){return e===null?null:M(e,t)}function zt(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:Ft(i.user)}};return H(o.id,t),H(o.organizationId,n),o}function Nt(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 Lt(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 Mt(e,t){let n=p(e);return {...Y(n,void 0,t),user:Ft(n.user)}}function $i(e,t){let n=q(e,i=>Mt(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>St||!Array.isArray(o))&&d(),n[i]=o.map(s=>k(s));return n}function k(e){let t=S(e);return (t.length===0||t.length>St)&&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 Ft(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 Ht(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,Rt),get:(r={},a)=>s("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},a,u=>Tt(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=>It(u,r.organizationId)),setActiveTeam:(r,a)=>o(i("/organization/set-active-team",r,a,u=>Pt(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=>Et(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=>Ct(u,r.organizationId)),listUserInvitations:r=>s("/organization/list-user-invitations",void 0,r,xt),getInvitation:(r,a)=>s("/organization/get-invitation",{id:r.id},a,u=>vt(u,r.id)),acceptInvitation:(r,a)=>o(i("/organization/accept-invitation",r,a,u=>Dt(u,r.invitationId))),rejectInvitation:(r,a)=>o(i("/organization/reject-invitation",r,a,u=>_t(u,r.invitationId))),cancelInvitation:(r,a)=>o(i("/organization/cancel-invitation",r,a,u=>Ut(u,r.invitationId))),removeMember:(r,a)=>o(i("/organization/remove-member",r,a,u=>zt(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=>Nt(u,r.organizationId)),has:r=>De(n(),r),hasPermission:r=>ve(n(),r.permission)}}var qt=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:sn(t.twoFactorMethods,Qi,Zi)}}):(t.twoFactorRedirect!==void 0&&d(),{redirect:I(t.redirect),...ro(t,"url"),user:z(t.user)})}function Vt(e){let t=p(e);return {user:z(t.user)}}function Kt(e){let t=p(e);return {sessionCreated:I(t.sessionCreated),user:z(t.user)}}function Bt(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 Jt(e){return {status:I(p(e).status)}}function $t(e){return {success:I(p(e).success)}}function Gt(e){return p(e).status!=="pending"&&d(),{status:"pending"}}function Wt(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:S(n.siteKey);return {kind:"akedly_shield_v1_2",connectionId:S(t.connectionId),challenge:S(t.challenge),difficulty:to(t.difficulty),challengeToken:S(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 Yt(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 Xt(e){return {status:I(p(e).status)}}function Qt(e){let t=p(e);return {status:I(t.status),user:z(t.user)}}function Zt(e){return {success:I(p(e).success)}}function en(e){let t=p(e);return {totpURI:oo(t.totpURI),backupCodes:rn(t.backupCodes)}}function tn(e){return {status:I(p(e).status)}}function de(e){return p(e).status!==true&&d(),{status:true}}function nn(e){return {status:I(p(e).status)}}function on(e){let t=p(e);return t.status!==void 0&&t.status!==true&&d(),{backupCodes:rn(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,qt);/[\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 rn(e){return sn(e,Yi,Xi)}function sn(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=S(e);return (n.length===0||n.length>t)&&d(),n}function ro(e,t){let n=e[t];return n==null?{}:{[t]:X(n,qt)}}function so(e,t,n){let i=P(e,t);return i===void 0?{}:(i!==null&&i.length>n&&d(),{[t]:i})}var an=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||cn(n,i)||un(i)||an.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||cn(o,s)||un(s)||an.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 un(e){return e>=0&&e<=31||e>=127&&e<=159}function cn(e,t){return e.length===1&&t>=55296&&t<=57343}var pn=12,fn=5e3,uo=8,co=1e3,lo=16,dn=512,gn=100,mn=8192,po=32768,Me=1024,ln=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,hn=new Set(["discouraged","preferred","required"]),bo=new Set(["singleDevice","multiDevice"]),yn=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),An=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 bn(e){let t=L(e,pn,fn);return {challenge:Cn(t.challenge),...x("timeout",Pn(t.timeout)),...x("rpId",xn(t.rpId)),...x("allowCredentials",In(t.allowCredentials)),...x("userVerification",ne(t.userVerification,hn)),...x("hints",ge(t.hints,An)),...x("extensions",En(t.extensions))}}function wn(e){let t=L(e,pn,fn);return {challenge:Cn(t.challenge),rp:To(t.rp),user:Io(t.user),pubKeyCredParams:Po(t.pubKeyCredParams),...x("timeout",Pn(t.timeout)),...x("excludeCredentials",In(t.excludeCredentials)),...x("authenticatorSelection",Eo(t.authenticatorSelection)),...x("attestation",ne(t.attestation,wo)),...x("attestationFormats",ge(t.attestationFormats,Oo)),...x("hints",ge(t.hints,An)),...x("extensions",En(t.extensions))}}function On(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,ln),...vo(t),publicKey:Co(t.publicKey,po),userId:Q(t.userId,ln),credentialID:he(t.credentialID,mn),counter:n,deviceType:i,backedUp:o,...Do(t),createdAt:E(t.createdAt),..._o(t)}}function kn(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 Sn(e){(!Array.isArray(e)||e.length>gn)&&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 Rn(e,t,n){let i=p(e),o=qe(i.passkey);return (o.id!==t||o.name!==n)&&d(),{passkey:o}}function Tn(e){return p(e).status!==true&&d(),{status:true}}function To(e){let t=p(e);return {name:Fe(t.name,Me),...x("id",xn(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 In(e){if(e===void 0)return;(!Array.isArray(e)||e.length>gn)&&d();let t=e.map(n=>{let i=p(n);return i.type!=="public-key"&&d(),{type:"public-key",id:he(i.id,mn),...x("transports",ge(i.transports,yn))}});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,hn))}}function Pn(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>fo)&&d(),e}function En(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 Cn(e){return he(e,Math.ceil(dn*4/3),lo,dn)}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=S(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 xn(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=vn(s);return (n.length%4!==0||!mo.test(n)||i&&(r&15)!==0||o&&(r&3)!==0)&&d(),n}function xo(e){return vn(e,true)}function vn(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=>!yn.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=S(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);return i||(i=Promise.resolve().then(()=>(Ae(),ye)).then(o=>o.completeCrossSiteSignIn(e,t)),Mn.set(n,i)),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=ht({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:kt(r,m),organization:Ht(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)),R=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(R)return window.location.assign(R),{data:{redirect:true,url:R},error:null}}let g=await y(f("/sign-in/social",c,l,O=>Bt(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)),R=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(R)return window.location.assign(R),{data:{url:R,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,Jt),emailOtp:(c,l)=>(b(),y(f("/sign-in/email-otp",c,l,Vt))),passkey:(c,l)=>(b(),u.signIn(c,l))},signUp:{email:(c,l)=>(b(),y(f("/sign-up/email",c,l,Kt),g=>g.sessionCreated))},emailOtp:{sendVerificationOtp:(c,l)=>f("/email-otp/send-verification-otp",c,l,$t),verifyEmail:(c,l)=>(b(),y(f("/email-otp/verify-email",c,l,Qt)))},phoneOtp:{prepare:c=>f("/phone-otp/challenge",{},c,Wt),start:(c,l)=>f("/phone-otp/start",{...c,idempotencyKey:c.idempotencyKey??yt()},l,Gt),verify:(c,l)=>(b(),y(f("/phone-otp/verify",c,l,Yt)))},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,Xt),passkey:{addPasskey:(c,l)=>u.add(c,l),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:Sn}),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,R=>Rn(R,c.id,O))},deletePasskey:(c,l)=>f("/passkey/delete-passkey",c,l,Tn)},twoFactor:{enable:(c,l)=>f("/two-factor/enable",c,l,en),disable:(c,l)=>y(f("/two-factor/disable",c,l,tn),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,nn),verifyOtp:(c,l)=>y(f("/two-factor/verify-otp",c,l,de)),generateBackupCodes:(c,l)=>f("/two-factor/generate-backup-codes",c,l,on)},signOut:c=>y(r.request("/sign-out",{method:"POST",body:{},fetchOptions:c,decode:Zt}).then(l=>(o.endSession(),l)),l=>l.success)}}function Be(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=bn(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:On});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=wn(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=>kn(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 pt(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 Be(Oe(e),t)}
2
- exports.createMembershipHas=ji;exports.createNativeAuthClient=Be;exports.createNativeClient=Ss;exports.createPasskeyClient=Wo;exports.decodePublishableKey=be;exports.getPublicConfig=er;exports.resolveConfig=Oe;exports.resolveProjectCapabilities=rr;exports.sessionCookieName=sr;
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&&lt.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=ji;exports.createNativeAuthClient=je;exports.createNativeClient=Ss;exports.createPasskeyClient=Wo;exports.decodePublishableKey=be;exports.getPublicConfig=er;exports.resolveConfig=Oe;exports.resolveProjectCapabilities=rr;exports.sessionCookieName=sr;
package/dist/native.js CHANGED
@@ -1 +1 @@
1
- import {i}from'./chunk-YWNCNSZL.js';export{i as createNativeAuthClient,j as createPasskeyClient,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-YWNCNSZL.js';import {k}from'./chunk-6D4A36HU.js';export{B as createMembershipHas,a as decodePublishableKey,k as resolveConfig,b as sessionCookieName}from'./chunk-6D4A36HU.js';import'./chunk-T5SH3ZZP.js';function u(i$1,o){return i(k(i$1),o)}export{u as createNativeClient};
1
+ import {i}from'./chunk-RJSDI5ZI.js';export{i as createNativeAuthClient,j as createPasskeyClient,k as getPublicConfig,a as resolveProjectCapabilities}from'./chunk-RJSDI5ZI.js';import {k}from'./chunk-6D4A36HU.js';export{B as createMembershipHas,a as decodePublishableKey,k as resolveConfig,b as sessionCookieName}from'./chunk-6D4A36HU.js';import'./chunk-T5SH3ZZP.js';function u(i$1,o){return i(k(i$1),o)}export{u as createNativeClient};
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-T5SH3ZZP.js';var p="authowl_handoff_verifier",c="authowl_code",S=32,m=900,w=["email","providerId","domain","organizationSlug"];function g(e){let n="";for(let o of e)n+=String.fromCharCode(o);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function h(e){let n=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return g(new Uint8Array(n))}function y(){return g(crypto.getRandomValues(new Uint8Array(S)))}function d(e,n){let o=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${p}=${e}; Path=/; Max-Age=${n}; SameSite=Lax${o}`;}function R(){for(let e of document.cookie.split(";")){let n=e.indexOf("=");if(!(n<0)&&e.slice(0,n).trim()===p)return e.slice(n+1).trim()||null}return null}function k(){d("",0);}function u(e){return new URL(e,window.location.href).toString()}async function U(e,n){let o=n.callbackURL?u(n.callbackURL):null;if(o&&new URL(o).origin!==window.location.origin)return null;let t=y(),i=new URL(`${e.projectBaseURL}/session/start`);if(i.searchParams.set("pk",e.publishableKey),i.searchParams.set("kind",n.kind),n.kind==="social")i.searchParams.set("provider",n.provider),n.scopes?.length&&i.searchParams.set("scopes",n.scopes.join(",")),n.loginHint&&i.searchParams.set("loginHint",n.loginHint),n.requestSignUp!==void 0&&i.searchParams.set("requestSignUp",n.requestSignUp?"1":"0");else for(let s of w){let r=n[s];r&&i.searchParams.set(s,r);}let a=`${window.location.origin}${window.location.pathname}${window.location.search}`;i.searchParams.set("cb",o??a);for(let[s,r]of [["err",n.errorCallbackURL],["new",n.newUserCallbackURL]])r&&i.searchParams.set(s,u(r));return i.searchParams.set("challenge",await h(t)),d(t,m),i.toString()}function f(e){if(typeof window>"u")return null;let n=window.location.hash;if(!n.includes(c))return null;let o=new URLSearchParams(n.replace(/^#/,"")),t=o.get(c);if(!t||e!==void 0&&t!==e)return null;o.delete(c);let i=o.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${i?`#${i}`:""}`),t}async function P(e,n,o){if(!a())return false;let t=o??f();if(!t)return false;o&&f(o);let i=R();if(k(),!i)return false;n.beginSession({remember:true});let{error:a$1}=await e.request("/session/exchange",{method:"POST",body:{code:t,verifier:i}});return a$1===null}
2
+ export{U as beginCrossSiteSignIn,h as challengeFor,P as completeCrossSiteSignIn,f as takeHandoffCode};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authowl/core",
3
- "version": "0.15.3",
3
+ "version": "0.15.5",
4
4
  "description": "Framework-agnostic client for AuthOwl, the multi-tenant auth SaaS.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -1 +0,0 @@
1
- import {m as m$1,l,f,w,p,n,v,o,t,y,A,u,q as q$1,x as x$1,s,r}from'./chunk-6D4A36HU.js';import {a}from'./chunk-T5SH3ZZP.js';function vi(e){let t=e?.enabledMethods??["password"],n=t.includes("password"),i=t.includes("passkey"),o=e?.authentication,a=e?.mfa;return {emailSignUp:o?.email.signUp??t.some(r=>r==="password"||r==="magic_link"||r==="email_otp"),passwordSignUp:o?.password.signUp??n,phoneSignUp:o?.phone.signUp??t.includes("phone_otp"),passwordSignIn:o?.email.signIn.includes("password")??n,passwordMinLength:o?.password.minLength??8,passwordMaxLength:o?.password.maxLength??128,magicLinkSignIn:o?.email.signIn.includes("magic_link")??t.includes("magic_link"),emailOtpSignIn:o?.email.signIn.includes("email_otp")??t.includes("email_otp"),phoneSignIn:o?.phone.signIn??t.includes("phone_otp"),usernameSignIn:o?.username.signIn??false,collectUsername:o?.username.collectOnSignUp??false,passkeySignIn:o?.passkey.signIn??i,passkeyAdd:o?.passkey.add??i,firstLastName:e?.userModel?.firstLastName??false,emailChange:e===null?false:e.userModel?.emailChange??true,accountDeletion:e?.userModel?.accountDeletion??e?.accountDeletion??false,emailVerificationRequired:e?.emailVerification?.required??e?.requireEmailVerification??false,emailVerificationMethod:e?.emailVerification?.method??"link",totp:a?.totp??e?.twoFactor??false,mfaRequired:a?.required??e?.mfaRequired??false,backupCodes:a?.backupCodes??e?.twoFactor??false,legacyNameField:e?.authentication===void 0}}var ae=class extends Error{status;requestId;constructor(t,n,i){super(`${t} request failed with status ${n.status}.`),this.name="AuthOwlHttpError",this.status=n.status,this.requestId=i;}};function X(e,t,n={}){let i=new Headers(n.init?.headers);return i.set("x-publishable-key",e.publishableKey),m$1({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 Ce(e,t){if(!e.response.ok)throw new ae(t,e.response,e.requestId);return e.data}var un="x-authowl-turnstile-token",cn=1e4,dn=32,ln=2e4;function L(e,t){return {post:(n,i,o,a)=>e.request(n,{method:"POST",body:i,fetchOptions:o,decode:a}),mutation:async(n,i)=>{let o=await n;return o.error===null&&(i===void 0||o.data!==null&&i(o.data))&&t(),o}}}function de(e,t=e.projectBaseURL){return {async request(n,i={}){let o=fn(t,n,i.query),a=i.method??(i.body===void 0?"GET":"POST"),r=new Headers(i.fetchOptions?.headers);i.fetchOptions?.authChallengeToken&&r.set(un,i.fetchOptions.authChallengeToken),i.body!==void 0&&r.set("content-type","application/json");let u={method:a,headers:r,credentials:i.credentials??"include",...i.body===void 0?{}:{body:JSON.stringify(i.body)}},c=Object.freeze({method:a,path:n});await i.fetchOptions?.onRequest?.(c);let h=gn(a,i.fetchOptions),g;try{g=await pn(e,o,{...u,signal:i.fetchOptions?.signal},h);}catch(f){let S=Ee(f);return await i.fetchOptions?.onError?.(se(c,S,An(f))),{data:null,error:S}}let{response:A,requestId:I}=g,O=bn(n,g.data),s=O;if(A.ok)try{s=ce(O),i.decode&&(s=i.decode(s));}catch{let f=Ee(new l("invalid_response",I));return await i.fetchOptions?.onError?.(se(c,f,"invalid_response")),{data:null,error:f}}let l$1=Object.freeze({...c,status:A.status,...I===void 0?{}:{requestId:I}});if(await i.fetchOptions?.onResponse?.(l$1),!A.ok){let f$1=mn(A,O,I);return f$1.code===f&&e.session.tokens.dropChallenge(),await i.fetchOptions?.onError?.(se(c,f$1,"api")),{data:null,error:f$1}}return await i.fetchOptions?.onSuccess?.(l$1),{data:s,error:null}}}}async function pn(e,t,n,i){let o=Date.now()+cn;for(let a=0;a<i;a+=1){let r=o-Date.now();if(r<=0)throw new l("timeout");try{let u=await X(e,t,{init:n,timeoutMs:Math.max(1,Math.ceil(r))});if(u.response.status<500||a===i-1)return u}catch(u){if(a===i-1||!(u instanceof l)||u.kind!=="network")throw u}await yn(50*2**a,n.signal,o);}throw new l("network")}function gn(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 fn(e,t,n){let i=new URL(`${e}${t.startsWith("/")?t:`/${t}`}`);for(let[o,a]of Object.entries(n??{}))a!==void 0&&i.searchParams.set(o,String(a));return i.toString()}function mn(e,t,n){let i=K(t)?t:{},o=hn(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 hn(e,t){let n=(typeof e.retryAfterSeconds=="number"&&Number.isFinite(e.retryAfterSeconds)?e.retryAfterSeconds:void 0)??De(t.get("retry-after"))??De(t.get("x-retry-after"));if(n!==void 0)return Math.min(Math.max(Math.trunc(n),1),86400)}function De(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 Ee(e){let t=e instanceof l?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 l&&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 An(e){return e instanceof l?e.kind:"network"}function yn(e,t,n){return new Promise((i,o)=>{if(t?.aborted){o(new l("aborted"));return}let a=n-Date.now();if(a<=0){o(new l("timeout"));return}let r=Math.min(e,a),u=()=>{clearTimeout(c),o(new l("aborted"));},c=setTimeout(()=>{t?.removeEventListener("abort",u),Date.now()>=n?o(new l("timeout")):i();},r);t?.addEventListener("abort",u,{once:true}),t?.aborted&&u();})}function ce(e,t="",n=0,i={nodes:0}){if(i.nodes+=1,n>dn||i.nodes>ln)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=>ce(o,"",n+1,i)):K(e)?Object.fromEntries(Object.entries(e).map(([o,a])=>[o,On(o)?a:ce(a,o,n+1,i)])):e}function On(e){return e==="metadata"||e==="public_metadata"||e==="unsafe_metadata"||e==="private_metadata"||e==="publicMetadata"||e==="unsafeMetadata"||e==="privateMetadata"}function bn(e,t){if(e==="/list-sessions"&&Array.isArray(t))return t.map(o=>K(o)?ue(o):o);if(!K(t))return t;let i=e==="/change-password"||e==="/passkey/verify-authentication"||e==="/phone-otp/verify"||e==="/sign-up/email"||e.startsWith("/sign-in/")||e.startsWith("/two-factor/verify-")?ue(t):t;return e==="/sign-up/email"&&!("sessionCreated"in i)&&(i={...i,sessionCreated:typeof t.token=="string"&&t.token.length>0}),(e==="/get-session"||e==="/passkey/verify-authentication")&&K(i.session)&&(i={...i,session:ue(i.session)}),i}function ue(e){if(!Object.hasOwn(e,"token"))return e;let t={...e};return delete t.token,t}function K(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}function xe(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function ze({http:e,probe:t,tokens:n,channelName:i}){let o=new Set,a=null,r=null,u=null,c=null,h=null,g,A=y=>{s(y);};g={data:null,isPending:true,isRefetching:false,error:null,refetch:A};function I(y){g=y;for(let T of o)T();}async function O(y){return e.request("/get-session",{query:y?.query,decode:le})}function s(y){if(y?.query?.disableCookieCache===true)return l(y);if(c)return c;let T=l(y).finally(()=>{c===T&&(c=null);});return c=T,T}async function l(y){u?.abort();let T=new AbortController;u=T,I({...g,isPending:g.data===null&&g.error===null,isRefetching:g.data!==null});let B=n.beginRead(),G=await e.request("/get-session",{query:y?.query,fetchOptions:{signal:T.signal},decode:le});if(u===T&&(u=null,I({data:G.data,error:G.error,isPending:false,isRefetching:false,refetch:A}),G.error===null)){if(G.data===null){B.endIfDead();return}await f(B);}}async function f(y){if(n.needsProbe()){if(!y.carriedToken){y.recordCookieVerdict(true);return}return h||S(y)}}function S(y){let T=t.request("/get-session",{query:{disableCookieCache:true},decode:le}).then(B=>{h===T&&B.error===null&&y.recordCookieVerdict(B.data!==null);}).finally(()=>{h===T&&(h=null);});return h=T,T}function v(){a?.postMessage({type:"session-changed"});}function an(){if(typeof window>"u"||r)return;let y=()=>{s();},T=()=>{document.visibilityState==="visible"&&s();};window.addEventListener("focus",y),document.addEventListener("visibilitychange",T),typeof BroadcastChannel<"u"&&(a=new BroadcastChannel(i),a.addEventListener("message",y)),r=()=>{window.removeEventListener("focus",y),document.removeEventListener("visibilitychange",T),a?.close(),a=null,r=null;};}function sn(y){return o.add(y),o.size===1&&(an(),s()),()=>{o.delete(y),o.size===0&&(u?.abort(),u=null,r?.());}}return n.measureWith(()=>{n.needsProbe()&&S(n.beginRead());}),{store:{subscribe:sn,getSnapshot:()=>g},getSession:O,notifyMutation(){v(),h&&h.catch(()=>{}).then(()=>{!n.needsProbe()&&n.hasToken()&&v();}),o.size>0&&s({query:{disableCookieCache:true}});}}}function le(e){if(e===null)return null;let t$1=n(e);return (t$1.session===void 0||t$1.user===void 0)&&v(),{session:u(t$1.session),user:t(t$1.user)}}async function Ne(e,t){return e.request("/user/metadata",{fetchOptions:t,decode:_e})}async function Ue(e,t,n){return e.request("/user/metadata",{method:"PATCH",body:{expected_version:t.expectedVersion,unsafe_metadata:t.unsafeMetadata},fetchOptions:n,decode:_e})}function _e(e){let t=n(e),n$1=w(t.public_metadata),i=w(t.unsafe_metadata);if(!Number.isSafeInteger(t.metadata_version)||t.metadata_version<0)throw new TypeError("Invalid AuthOwl metadata response");return {publicMetadata:n$1,unsafeMetadata:i,metadataVersion:t.metadata_version}}function Le(e,t){let{post:n,mutation:i}=L(e,t);return {getMetadata:o=>Ne(e,o),updateUnsafeMetadata:(o,a)=>Ue(e,o,a),updateProfile:(o,a)=>i(n("/update-user",o,a,j)),changeEmail:(o,a)=>i(n("/change-email",o,a,j)),changePassword:(o,a)=>i(n("/change-password",o,a,wn)),listSessions:o=>e.request("/list-sessions",{fetchOptions:o,decode:kn}),revokeSession:({sessionId:o},a)=>i(n("/revoke-session",{sessionId:o},a,j)),revokeOtherSessions:o=>i(n("/revoke-other-sessions",{},o,j)),listSocialAccounts:async o=>{let a=await e.request("/list-accounts",{fetchOptions:o,decode:Sn});if(!a.data)return {data:null,error:a.error};let r=a.data.length>1;return {...a,data:a.data.filter(u=>u.providerId!=="credential").map(u=>({...u,canUnlink:r}))}},linkSocial:(o,a)=>n("/link-social",o,a,Rn),unlinkSocial:(o,a)=>i(n("/unlink-account",o,a,j)),delete:(o={},a)=>i(n("/delete-user",o,a,In))}}function j(e){let t=n(e);return {status:p(t.status)}}function wn(e){let t$1=n(e);return {user:t(t$1.user)}}function kn(e){return Array.isArray(e)||v(),e.map(t=>{let n$1=n(t);return {id:o(n$1.id),userId:o(n$1.userId),createdAt:q$1(n$1.createdAt),updatedAt:q$1(n$1.updatedAt),expiresAt:q$1(n$1.expiresAt),...Me("ipAddress",s(n$1,"ipAddress")),...Me("userAgent",s(n$1,"userAgent"))}})}function Sn(e){return Array.isArray(e)||v(),e.map(t=>{let n$1=n(t);return {id:o(n$1.id),userId:o(n$1.userId),providerId:o(n$1.providerId),accountId:o(n$1.accountId),scopes:r(n$1.scopes),createdAt:q$1(n$1.createdAt),updatedAt:q$1(n$1.updatedAt)}})}function Rn(e){let t=n(e);return {url:o(t.url),redirect:p(t.redirect)}}function In(e){let t=n(e);return {success:p(t.success),message:o(t.message)}}function Me(e,t){return t===void 0?{}:{[e]:t}}var Tn=new Set(["pending","accepted","rejected","canceled"]),Fe=1e4;function F(e,t,n$1){let i=n(e),o={id:m(i.id),name:m(i.name),slug:m(i.slug),createdAt:q$1(i.createdAt),...Y("logo",s(i,"logo")),...Y("metadata",i.metadata===void 0?void 0:x$1(i.metadata))};return _(o.id,t),_(o.slug,n$1),o}function qe(e){return M(e,F)}function pe(e,t,n){return e===null?null:(t===null&&v(),F(e,t,n))}function Ve(e,t,n$1){if(e===null)return null;let i=n(e),o=F(i,t,n$1);return {...o,members:M(i.members,a=>et(a,o.id)),invitations:M(i.invitations,a=>N(a,void 0,o.id))}}function He(e,t){let n=M(e,i=>Ze(i));return $(n.map(i=>i.organizationId),t),n}function Be(e,t,n){return e===null?null:(t===null&&v(),Ze(e,t,n))}function Ke(e,t){let n$1=n(e);return (!Number.isSafeInteger(n$1.total)||n$1.total<0)&&v(),{members:Pn(n$1.members,t),total:n$1.total}}function N(e,t,n$1){let i=n(e),o=m(i.status);Tn.has(o)||v();let a={id:m(i.id),organizationId:m(i.organizationId),email:m(i.email),role:m(i.role),status:o,inviterId:m(i.inviterId),expiresAt:q$1(i.expiresAt),createdAt:q$1(i.createdAt)};return _(a.id,t),_(a.organizationId,n$1),a}function je(e,t){let n=M(e,i=>N(i));return $(n.map(i=>i.organizationId),t),n}function Je(e){return M(e,t=>{let n$1=n(t);return {...N(n$1),organizationName:m(n$1.organizationName)}})}function Ge(e,t){let n$1=n(e);return {...N(n$1,t),organizationName:m(n$1.organizationName),organizationSlug:m(n$1.organizationSlug),inviterEmail:m(n$1.inviterEmail)}}function We(e,t){let n$1=n(e),i=N(n$1.invitation,t);return {invitation:i,member:q(n$1.member,void 0,i.organizationId)}}function Xe(e,t){let n$1=n(e);return n$1.member!==null&&v(),{invitation:n$1.invitation===null?null:N(n$1.invitation,t),member:null}}function Ye(e,t){return e===null?null:N(e,t)}function $e(e,t,n$1){let i=n(e);return {member:q(i.member,n$1,t)}}function q(e,t,n$1){let i=n(e),o={id:m(i.id),organizationId:m(i.organizationId),userId:m(i.userId),role:m(i.role),createdAt:q$1(i.createdAt),...i.user===void 0?{}:{user:tt(i.user)}};return _(o.id,t),_(o.organizationId,n$1),o}function Qe(e,t){let n$1=M(e,i=>{let o=n(i);return {organizationId:m(o.organizationId),data:{role:m(o.role),...Y("permission",o.permission===void 0?void 0:vn(o.permission))}}});return $(n$1.map(i=>i.organizationId),t),n$1.map(i=>i.data)}function Ze(e,t,n$1){let i=n(e),o=i.updatedAt,a={id:m(i.id),name:m(i.name),organizationId:m(i.organizationId),createdAt:q$1(i.createdAt),...o===void 0?{}:{updatedAt:q$1(o)}};return _(a.id,t),_(a.organizationId,n$1),a}function et(e,t){let n$1=n(e);return {...q(n$1,void 0,t),user:tt(n$1.user)}}function Pn(e,t){let n=M(e,i=>et(i));return $(n.map(i=>i.organizationId),t),n}function vn(e){let t=n(e),n$1={};for(let[i,o]of Object.entries(t))(i==="__proto__"||i==="constructor"||i==="prototype"||i.length===0||i.length>Fe||!Array.isArray(o))&&v(),n$1[i]=o.map(a=>m(a));return n$1}function m(e){let t=o(e);return (t.length===0||t.length>Fe)&&v(),t}function _(e,t){t!==void 0&&e!==t&&v();}function $(e,t){let n=t??e[0];n!==void 0&&e.some(i=>i!==n)&&v();}function tt(e){let t=n(e);return {id:m(t.id),name:m(t.name),email:m(t.email),...Y("image",s(t,"image"))}}function M(e,t){return Array.isArray(e)||v(),e.map(n=>t(n))}function Y(e,t){return t===void 0?{}:{[e]:t}}function nt(e,t,n=()=>null){let{post:i,mutation:o}=L(e,t),a=(r,u,c,h)=>e.request(r,{query:u,fetchOptions:c,decode:h});return {create:(r,u)=>o(i("/organization/create",r,u,F)),list:r=>a("/organization/list",void 0,r,qe),get:(r={},u)=>a("/organization/get-full-organization",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,membersLimit:r.membersLimit},u,c=>Ve(c,r.organizationId,r.organizationSlug)),setActive:(r,u)=>o(i("/organization/set-active",r,u,c=>pe(c,r.organizationId,r.organizationSlug))),listTeams:(r={},u)=>a("/organization/list-teams",{organizationId:r.organizationId},u,c=>He(c,r.organizationId)),setActiveTeam:(r,u)=>o(i("/organization/set-active-team",r,u,c=>Be(c,r.teamId))),update:(r,u)=>o(i("/organization/update",r,u,c=>pe(c,r.organizationId))),delete:(r,u)=>o(i("/organization/delete",r,u,c=>F(c,r.organizationId))),listMembers:(r={},u)=>a("/organization/list-members",{organizationId:r.organizationId,organizationSlug:r.organizationSlug,limit:r.limit,offset:r.offset,sortBy:r.sortBy,sortDirection:r.sortDirection,filterField:r.filterField,filterValue:r.filterValue,filterOperator:r.filterOperator},u,c=>Ke(c,r.organizationId)),inviteMember:(r,u)=>o(i("/organization/invite-member",r,u,c=>N(c,void 0,r.organizationId))),listInvitations:(r={},u)=>a("/organization/list-invitations",{organizationId:r.organizationId},u,c=>je(c,r.organizationId)),listUserInvitations:r=>a("/organization/list-user-invitations",void 0,r,Je),getInvitation:(r,u)=>a("/organization/get-invitation",{id:r.id},u,c=>Ge(c,r.id)),acceptInvitation:(r,u)=>o(i("/organization/accept-invitation",r,u,c=>We(c,r.invitationId))),rejectInvitation:(r,u)=>o(i("/organization/reject-invitation",r,u,c=>Xe(c,r.invitationId))),cancelInvitation:(r,u)=>o(i("/organization/cancel-invitation",r,u,c=>Ye(c,r.invitationId))),removeMember:(r,u)=>o(i("/organization/remove-member",r,u,c=>$e(c,r.organizationId,r.memberIdOrEmail.includes("@")?void 0:r.memberIdOrEmail))),updateMemberRole:(r,u)=>o(i("/organization/update-member-role",r,u,c=>q(c,r.memberId,r.organizationId))),leave:(r,u)=>o(i("/organization/leave",r,u,c=>q(c,void 0,r.organizationId))),listRoles:(r={},u)=>a("/organization/list-roles",{organizationId:r.organizationId},u,c=>Qe(c,r.organizationId)),has:r=>A(n(),r),hasPermission:r=>y(n(),r.permission)}}var it=4096,Cn=4096,Dn=100,En=256,xn=16,zn=64,Nn=12;function fe(e){let t$1=n(e);return t$1.twoFactorRedirect===true?((t$1.user!==void 0||t$1.redirect!==void 0||t$1.url!==void 0)&&v(),{twoFactorRedirect:true,...t$1.twoFactorMethods===void 0?{}:{twoFactorMethods:wt(t$1.twoFactorMethods,xn,zn)}}):(t$1.twoFactorRedirect!==void 0&&v(),{redirect:p(t$1.redirect),...Fn(t$1,"url"),user:t(t$1.user)})}function ot(e){let t$1=n(e);return {user:t(t$1.user)}}function rt(e){let t$1=n(e);return {sessionCreated:p(t$1.sessionCreated),user:t(t$1.user)}}function at(e,t$1){let n$1=n(e),i=p(n$1.redirect);n$1.user===null&&v();let o=n$1.user!==void 0&&n$1.user!==null,a=n$1.url!==void 0&&n$1.url!==null;return i?((o||!a)&&v(),{redirect:true,url:ge(n$1.url,t$1)}):(o===a&&v(),o?{redirect:false,user:t(n$1.user)}:{redirect:false,url:ge(n$1.url,t$1)})}function st(e,t){let n$1=n(e);return (n$1.redirect!==true||n$1.user!==void 0)&&v(),{redirect:true,url:ge(n$1.url,t)}}function ut(e){return {status:p(n(e).status)}}function ct(e){return {success:p(n(e).success)}}function dt(e){return n(e).status!=="pending"&&v(),{status:"pending"}}function lt(e){let t=n(e);if(t.kind==="authowl_turnstile")return {kind:"authowl_turnstile"};t.kind!=="akedly_shield_v1_2"&&v();let n$1=n(t.turnstile),i=n$1.siteKey===null?null:o(n$1.siteKey);return {kind:"akedly_shield_v1_2",connectionId:o(t.connectionId),challenge:o(t.challenge),difficulty:Un(t.difficulty),challengeToken:o(t.challengeToken),challengeRequired:p(t.challengeRequired),turnstile:{required:p(n$1.required),siteKey:i}}}function Un(e){return (!Number.isSafeInteger(e)||Number(e)<0||Number(e)>Nn)&&v(),Number(e)}function pt(e){let t=n(e);return (t.status!==true||t.sessionCreated!==true)&&v(),{status:true,sessionCreated:true,user:_n(t.user)}}function me(e){return {status:p(n(e).status)}}function gt(e){return {status:p(n(e).status)}}function ft(e){let t$1=n(e);return {status:p(t$1.status),user:t(t$1.user)}}function mt(e){return {success:p(n(e).success)}}function ht(e){let t=n(e);return {totpURI:Ln(t.totpURI),backupCodes:bt(t.backupCodes)}}function At(e){return {status:p(n(e).status)}}function Q(e){return n(e).status!==true&&v(),{status:true}}function yt(e){return {status:p(n(e).status)}}function Ot(e){let t=n(e);return t.status!==void 0&&t.status!==true&&v(),{backupCodes:bt(t.backupCodes)}}function _n(e){let t=n(e);return {id:V(t.id,512),...qn(t,"name",1024),phoneNumber:V(t.phoneNumber,64),phoneNumberVerified:p(t.phoneNumberVerified),...t.createdAt===void 0?{}:{createdAt:q$1(t.createdAt)},...t.updatedAt===void 0?{}:{updatedAt:q$1(t.updatedAt)}}}function ge(e,t){let n=V(e,it);/[\u0000-\u0020\u007f]/u.test(n)&&v();let i;try{i=new URL(n);}catch{return v()}return (i.username||i.password)&&v(),i.protocol==="https:"||t&&i.protocol==="http:"&&Mn(i.hostname)?i.href:v()}function Mn(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"}function Ln(e){let t=V(e,Cn),n;try{n=new URL(t);}catch{return v()}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))&&v(),t}function bt(e){return wt(e,Dn,En)}function wt(e,t,n){(!Array.isArray(e)||e.length===0||e.length>t)&&v();let i=e.map(o=>V(o,n));return i.some(o=>o.trim().length===0)&&v(),new Set(i).size!==i.length&&v(),i}function V(e,t){let n=o(e);return (n.length===0||n.length>t)&&v(),n}function Fn(e,t){let n=e[t];return n==null?{}:{[t]:V(n,it)}}function qn(e,t,n){let i=s(e,t);return i===void 0?{}:(i!==null&&i.length>n&&v(),{[t]:i})}var kt=new Set([1564,8206,8207,8234,8235,8236,8237,8238,8294,8295,8296,8297]),Z=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 ee(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||Rt(n,i)||St(i)||kt.has(i))return {valid:false}}let t=Vn(e);return he(t)?{valid:true,value:t}:{valid:false}}function he(e){let t=0,n,i;for(let o of e){if(t+=1,t>256)return false;let a=o.codePointAt(0);if(a===void 0||Rt(o,a)||St(a)||kt.has(a))return false;n??=a,i=a;}return t>0&&n!==void 0&&i!==void 0&&!Z.has(n)&&!Z.has(i)}function te(){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 Vn(e){let t=0,n=e.length;for(;t<n;){let i=e.codePointAt(t);if(i===void 0||!Z.has(i))break;t+=i>65535?2:1;}for(;n>t;){let i=e.codePointAt(n-1);if(i===void 0)break;let a=i>=56320&&i<=57343?n-2:n-1,r=e.codePointAt(a);if(r===void 0||!Z.has(r))break;n=a;}return e.slice(t,n)}function St(e){return e>=0&&e<=31||e>=127&&e<=159}function Rt(e,t){return e.length===1&&t>=55296&&t<=57343}var Pt=12,vt=5e3,Hn=8,Bn=1e3,Kn=16,It=512,Ct=100,Dt=8192,jn=32768,Ae=1024,Tt=256,Oe=64,Jn=6e5,Gn=/^[A-Za-z0-9_-]+$/u,Wn=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u,Xn=/[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/u,Yn=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/u,$n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Et=new Set(["discouraged","preferred","required"]),Qn=new Set(["singleDevice","multiDevice"]),xt=new Set(["ble","cable","hybrid","internal","nfc","smart-card","usb"]),zt=new Set(["hybrid","security-key","client-device"]),Zn=new Set(["none","indirect","direct","enterprise"]),ei=new Set(["fido-u2f","packed","android-safetynet","android-key","tpm","apple","none"]),ti=new Set(["platform","cross-platform"]),ni=new Set(["discouraged","preferred","required"]),ii=new Set([-8,-7,-257]);function Nt(e){let t=w(e,Pt,vt);return {challenge:Kt(t.challenge),...k("timeout",Ht(t.timeout)),...k("rpId",jt(t.rpId)),...k("allowCredentials",Vt(t.allowCredentials)),...k("userVerification",J(t.userVerification,Et)),...k("hints",ne(t.hints,zt)),...k("extensions",Bt(t.extensions))}}function Ut(e){let t=w(e,Pt,vt);return {challenge:Kt(t.challenge),rp:oi(t.rp),user:ri(t.user),pubKeyCredParams:ai(t.pubKeyCredParams),...k("timeout",Ht(t.timeout)),...k("excludeCredentials",Vt(t.excludeCredentials)),...k("authenticatorSelection",si(t.authenticatorSelection)),...k("attestation",J(t.attestation,Zn)),...k("attestationFormats",ne(t.attestationFormats,ei)),...k("hints",ne(t.hints,zt)),...k("extensions",Bt(t.extensions))}}function _t(e){let t$1=n(e),n$1=u(t$1.session),i=t(t$1.user);return n$1.userId!==i.id&&v(),{session:n$1,user:i}}function be(e){let t=n(e),n$1=t.counter;(!Number.isSafeInteger(n$1)||n$1<0)&&v();let i=we(t.deviceType,Qn),o=p(t.backedUp);return o&&i!=="multiDevice"&&v(),{id:H(t.id,Tt),...di(t),publicKey:ui(t.publicKey,jn),userId:H(t.userId,Tt),credentialID:oe(t.credentialID,Dt),counter:n$1,deviceType:i,backedUp:o,...li(t),createdAt:q$1(t.createdAt),...pi(t)}}function Mt(e,t,n){let i=be(e);return (i.credentialID!==t||(n===void 0?i.name!==void 0&&i.name!==null:i.name!==n))&&v(),i}function Lt(e){(!Array.isArray(e)||e.length>Ct)&&v();let t=e.map(be);return ie(t.map(n=>n.id)),ie(t.map(n=>n.credentialID)),t.length>1&&t.some(n=>n.userId!==t[0]?.userId)&&v(),t}function Ft(e,t,n$1){let i=n(e),o=be(i.passkey);return (o.id!==t||o.name!==n$1)&&v(),{passkey:o}}function qt(e){return n(e).status!==true&&v(),{status:true}}function oi(e){let t=n(e);return {name:ye(t.name,Ae),...k("id",jt(t.id))}}function ri(e){let t=n(e);return {id:oe(t.id,128,1,64),name:ye(t.name,Ae),displayName:ye(t.displayName,Ae)}}function ai(e){(!Array.isArray(e)||e.length===0||e.length>Oe)&&v();let t=e.map(n$1=>{let i=n(n$1);return (i.type!=="public-key"||!Number.isSafeInteger(i.alg)||!ii.has(i.alg))&&v(),{type:"public-key",alg:i.alg}});return gi(t.map(n=>n.alg)),t}function Vt(e){if(e===void 0)return;(!Array.isArray(e)||e.length>Ct)&&v();let t=e.map(n$1=>{let i=n(n$1);return i.type!=="public-key"&&v(),{type:"public-key",id:oe(i.id,Dt),...k("transports",ne(i.transports,xt))}});return ie(t.map(n=>n.id)),t}function si(e){if(e===void 0)return;let t=n(e);t.requireResidentKey!==void 0&&typeof t.requireResidentKey!="boolean"&&v();let n$1=J(t.residentKey,ni);return t.requireResidentKey!==void 0&&n$1!==void 0&&t.requireResidentKey!==(n$1==="required")&&v(),{...k("authenticatorAttachment",J(t.authenticatorAttachment,ti)),...k("residentKey",n$1),...k("requireResidentKey",t.requireResidentKey),...k("userVerification",J(t.userVerification,Et))}}function Ht(e){return e!==void 0&&(typeof e!="number"||!Number.isFinite(e)||e<0||e>Jn)&&v(),e}function Bt(e){return e===void 0?void 0:w(e,Hn,Bn)}function ne(e,t){if(e===void 0)return;(!Array.isArray(e)||e.length>Oe)&&v();let n=e.map(i=>we(i,t));return ie(n),n}function J(e,t){if(e!==void 0)return we(e,t)}function Kt(e){return oe(e,Math.ceil(It*4/3),Kn,It)}function oe(e,t,n=1,i=Number.POSITIVE_INFINITY){let o=H(e,t),a=o.length%4,r=ci(o.at(-1)??""),u=Math.floor(o.length*3/4);return (!Gn.test(o)||a===1||a===2&&(r&15)!==0||a===3&&(r&3)!==0||u<n||u>i)&&v(),o}function H(e,t){let n=o(e);return (n.length===0||n.length>t)&&v(),n}function ye(e,t){let n=H(e,t);return Xn.test(n)&&v(),n}function jt(e){if(e===void 0)return;let t=H(e,253);return t!=="localhost"&&(t.endsWith(".")||!t.includes(".")||t.split(".").some(n=>!Yn.test(n)))&&v(),t}function ui(e,t){let n=H(e,t),i=n.endsWith("=="),o=!i&&n.endsWith("="),a=n.at(i?-3:o?-2:-1)??"",r=Jt(a);return (n.length%4!==0||!Wn.test(n)||i&&(r&15)!==0||o&&(r&3)!==0)&&v(),n}function ci(e){return Jt(e,true)}function Jt(e,t=false){return (t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").indexOf(e)}function di(e){let t=s(e,"name");return t===void 0?{}:(t!==null&&!he(t)&&v(),{name:t})}function li(e){let t=s(e,"transports");if(t==null||t==="")return t===void 0?{}:{transports:t};let n=t.split(",");return (n.length>Oe||n.some(i=>!xt.has(i))||new Set(n).size!==n.length)&&v(),{transports:t}}function pi(e){let t=s(e,"aaguid");return t==null?t===void 0?{}:{aaguid:null}:($n.test(t)||v(),{aaguid:t})}function we(e,t){let n=o(e);return t.has(n)||v(),n}function k(e,t){return t===void 0?{}:{[e]:t}}function ie(e){new Set(e).size!==e.length&&v();}function gi(e){new Set(e).size!==e.length&&v();}function fi(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 Gt=new Map;function mi(e,t,n){let i=Gt.get(n);return i||(i=import('./session-handoff-VJI4IXLT.js').then(o=>o.completeCrossSiteSignIn(e,t)),Gt.set(n,i)),i}function Wt(e){return !a()||e.idToken||e.disableRedirect?"legacy":"first-party"}function hi(e,t=()=>{},n=Oi){let i=de(e),o=e.session.tokens,a$1=a()?mi(i,o,e.decoded.projectId):void 0,r=fi(i,a$1),u=ze({http:r,probe:de({...e,fetch:e.session.probe}),tokens:o,channelName:`authowl:${e.decoded.projectId}`}),c=n(r,u.notifyMutation),h=()=>{u.notifyMutation(),t();},{post:g,mutation:A}=L(r,h),I=e.decoded.env==="test",O=s=>{o.beginSession({remember:s?.rememberMe!==false});};return {sessionStore:u.store,getSession:u.getSession,account:Le(r,h),organization:nt(r,h,()=>u.store.getSnapshot().data?.session.membership??null),signIn:{email:(s,l)=>(O(s),A(g("/sign-in/email",s,l,fe),f=>!("twoFactorRedirect"in f))),username:(s,l)=>(O(s),A(g("/sign-in/username",s,l,fe),f=>!("twoFactorRedirect"in f))),social:async(s,l)=>{if(O(),Wt(s)==="first-party"){let{beginCrossSiteSignIn:S}=await import('./session-handoff-VJI4IXLT.js'),v=await S(e,{kind:"social",provider:s.provider,callbackURL:s.callbackURL,errorCallbackURL:s.errorCallbackURL,newUserCallbackURL:s.newUserCallbackURL,scopes:s.scopes,loginHint:s.loginHint,requestSignUp:s.requestSignUp});if(v)return window.location.assign(v),{data:{redirect:true,url:v},error:null}}let f=await A(g("/sign-in/social",s,l,S=>at(S,I)),S=>"user"in S);return f.error!==null||f.data===null||"url"in f.data&&f.data.redirect&&!s.disableRedirect&&typeof window<"u"&&window.location.assign(f.data.url),f},sso:async(s,l)=>{if(Wt(s)==="first-party"){let{beginCrossSiteSignIn:S}=await import('./session-handoff-VJI4IXLT.js'),v=await S(e,{kind:"sso",email:s.email,providerId:s.providerId,domain:s.domain,organizationSlug:s.organizationSlug,callbackURL:s.callbackURL,errorCallbackURL:s.errorCallbackURL,newUserCallbackURL:s.newUserCallbackURL});if(v)return window.location.assign(v),{data:{url:v,redirect:true},error:null}}let f=await g("/sign-in/sso",s,l,S=>st(S,I));return f.error!==null||f.data===null||typeof window<"u"&&window.location.assign(f.data.url),f},magicLink:(s,l)=>g("/sign-in/magic-link",s,l,ut),emailOtp:(s,l)=>(O(),A(g("/sign-in/email-otp",s,l,ot))),passkey:(s,l)=>(O(),c.signIn(s,l))},signUp:{email:(s,l)=>(O(),A(g("/sign-up/email",s,l,rt),f=>f.sessionCreated))},emailOtp:{sendVerificationOtp:(s,l)=>g("/email-otp/send-verification-otp",s,l,ct),verifyEmail:(s,l)=>(O(),A(g("/email-otp/verify-email",s,l,ft)))},phoneOtp:{prepare:s=>g("/phone-otp/challenge",{},s,lt),start:(s,l)=>g("/phone-otp/start",{...s,idempotencyKey:s.idempotencyKey??xe()},l,dt),verify:(s,l)=>(O(),A(g("/phone-otp/verify",s,l,pt)))},requestPasswordReset:(s,l)=>g("/request-password-reset",s,l,me),resetPassword:(s,l)=>g("/reset-password",s,l,me),sendVerificationEmail:(s,l)=>g("/send-verification-email",s,l,gt),passkey:{addPasskey:(s,l)=>c.add(s,l),listUserPasskeys:()=>r.request("/passkey/list-user-passkeys",{decode:Lt}),updatePasskey:async(s,l)=>{let f=ee(s.name);if(!f.valid||f.value===void 0)return te();let S=f.value;return g("/passkey/update-passkey",{...s,name:S},l,v=>Ft(v,s.id,S))},deletePasskey:(s,l)=>g("/passkey/delete-passkey",s,l,qt)},twoFactor:{enable:(s,l)=>g("/two-factor/enable",s,l,ht),disable:(s,l)=>A(g("/two-factor/disable",s,l,At),f=>f.status),verifyTotp:(s,l)=>A(g("/two-factor/verify-totp",s,l,Q)),verifyBackupCode:(s,l)=>A(g("/two-factor/verify-backup-code",s,l,Q)),sendOtp:(s={},l)=>g("/two-factor/send-otp",s,l,yt),verifyOtp:(s,l)=>A(g("/two-factor/verify-otp",s,l,Q)),generateBackupCodes:(s,l)=>g("/two-factor/generate-backup-codes",s,l,Ot)},signOut:s=>A(r.request("/sign-out",{method:"POST",body:{},fetchOptions:s,decode:mt}).then(l=>(o.endSession(),l)),l=>l.success)}}function go(e,t=()=>{},n){let i=hi(e,t,n);return n?{...i,signIn:{email:i.signIn.email,username:i.signIn.username,social:Xt(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:Xt(i),magicLink:i.signIn.magicLink,emailOtp:i.signIn.emailOtp},passkey:{listUserPasskeys:i.passkey.listUserPasskeys,updatePasskey:i.passkey.updatePasskey,deletePasskey:i.passkey.deletePasskey}}}function Xt(e){return async(t,n)=>{if(!t?.idToken||typeof t.idToken.token!="string"||t.idToken.token==="")return Ai();let i=await e.signIn.social({...t,disableRedirect:true},n);return i.data!==null&&"url"in i.data?yi():i}}function Ai(){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 yi(){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 Oi(){return {signIn:()=>Yt(),add:()=>Yt()}}function Yt(){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 Ao(e,t,n){let i=new Map;return {async signIn(o={},a){let r=await e.request("/passkey/generate-authenticate-options");if(!r.data)return Zt(r.error);let u;try{u=Nt(r.data);}catch{return $t()}let c;try{c=await n.authenticate({optionsJSON:u,useBrowserAutofill:o.autoFill});}catch(O){return en(n,O,"AUTH_CANCELLED","Passkey authentication was cancelled.")}if(!bi(c))return Qt();let{clientExtensionResults:h,...g}=c,A=i.get(c.id);if(A)return A;let I=(async()=>{let O=await e.request("/passkey/verify-authentication",{method:"POST",body:{response:g},fetchOptions:a,decode:_t});return O.data&&t(),O})();i.set(c.id,I);try{return await I}finally{i.get(c.id)===I&&i.delete(c.id);}},async add(o={},a){let r=ee(o.name);if(!r.valid)return te();let u=await e.request("/passkey/generate-register-options",{query:{name:r.value,authenticatorAttachment:o.authenticatorAttachment}});if(!u.data)return Zt(u.error);let c;try{c=Ut(u.data);}catch{return $t()}let h;try{h=await n.register({optionsJSON:c});}catch(O){return en(n,O,"REGISTRATION_CANCELLED","Passkey registration was cancelled.")}if(!wi(h))return Qt();let{clientExtensionResults:g,...A}=h,I=await e.request("/passkey/verify-registration",{method:"POST",body:{response:A,name:r.value},fetchOptions:a,decode:O=>Mt(O,h.id,r.value)});return I.data&&t(),I}}}function $t(){return {data:null,error:{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned invalid WebAuthn options."}}}function Qt(){return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:"INVALID_WEBAUTHN_RESPONSE",message:"The platform returned an invalid passkey response."}}}function nn(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 bi(e){if(!nn(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 wi(e){if(!nn(e))return false;let t=e.response;return typeof t.clientDataJSON=="string"&&typeof t.attestationObject=="string"}function Zt(e){return {data:null,error:e??{status:502,statusText:"BAD_GATEWAY",code:"INVALID_WEBAUTHN_OPTIONS",message:"The server returned no WebAuthn options."}}}function en(e,t,n,i){let o=Si(t,"page does not have focus"),a=e.errorCode?.(t),r=a!==void 0?a==="ERROR_CEREMONY_ABORTED":tn(t)==="AbortError",u=n!=="AUTH_CANCELLED",c=ki(a,tn(t),u);return {data:null,error:{status:400,statusText:"BAD_REQUEST",code:o?"PASSKEY_PAGE_NOT_FOCUSED":r?n:a??"PASSKEY_BROWSER_ERROR",message:o?"Keep this page focused while completing the passkey prompt.":r?i:c}}}function ki(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 tn(e){return e&&typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:void 0}function Si(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 wo(e){let n=`${new URL(e.apiUrl).origin}/api/projects/${e.decoded.projectId}/public-config`;return Ce(await X(e,n,{init:{method:"GET",credentials:"omit"},maxResponseBytes:256*1024,decode:i=>Ri(i,e)}),"public-config")}function Ri(e,t){let n=w(e),i=n.environmentId,o=n.environmentType,a=`${new URL(t.apiUrl).origin}/api/projects/${t.decoded.projectId}/auth`;if(typeof n.applicationId!="string"||!Ii(n.applicationId)||i!==t.decoded.projectId||o!=="development"&&o!=="production"||n.authBaseUrl!==a)throw x();let r=P(n.branding),u=P(n.legal);if(!ke(n.enabledMethods,64)||!ke(n.socialProviders,64)||!rn(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"||!rn(u,["termsUrl","privacyUrl"])||!Number.isSafeInteger(u.version)||u.version<0||typeof u.required!="boolean")throw x();if(n.socialProviderClientIds!==void 0){let c=P(n.socialProviderClientIds);if(Object.keys(c).length>64||Object.values(c).some(h=>typeof h!="string"||h.length>2048))throw x()}if(!U(n,["requireEmailVerification","twoFactor","mfaRequired","accountDeletion","organizations","sso","badge"])||!on(n.turnstileSiteKey)||!on(n.authTurnstileSiteKey)||typeof n.locale!="string"||n.locale.length===0||n.locale.length>64||!Number.isSafeInteger(n.configVersion)||n.configVersion<0)throw x();if(n.jwtIssuer!==null){let c=P(n.jwtIssuer);if(c.issuer!==a||c.jwksUrl!==`${a}/jwks`||c.aud!==t.decoded.projectId)throw x()}if(n.signUp!==void 0){let c=P(n.signUp).mode;if(typeof c!="string"||!["open","restricted","allowlist","waitlist"].includes(c))throw x()}if(n.authentication!==void 0&&Ti(n.authentication),n.emailVerification!==void 0){let c=P(n.emailVerification);if(!U(c,["required"])||c.method!=="link"&&c.method!=="code")throw x()}if(n.userModel!==void 0&&!U(P(n.userModel),["requireEmail","firstLastName","emailChange","accountDeletion"]))throw x();if(n.mfa!==void 0){let c=P(n.mfa);if(!U(c,["totp","required","backupCodes"])||(c.required===true||c.backupCodes===true)&&c.totp!==true)throw x()}return n}function Ii(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function x(){return new TypeError("public-config returned an invalid response")}function P(e){if(!e||typeof e!="object"||Array.isArray(e))throw x();return e}function on(e){return e===null||typeof e=="string"&&e.length<=4096}function Ti(e){let t=P(e),n=P(t.email),i=P(t.password),o=i.minLength!==void 0||i.maxLength!==void 0;if(!U(n,["signUp"])||!ke(n.signIn,3)||n.signIn.some(a=>a!=="password"&&a!=="magic_link"&&a!=="email_otp")||!U(P(t.phone),["signUp","signIn"])||!U(i,["signUp","add"])||o&&(!Number.isSafeInteger(i.minLength)||!Number.isSafeInteger(i.maxLength)||i.minLength<1||i.maxLength>4096||i.minLength>i.maxLength)||!U(P(t.passkey),["signIn","add"])||!Pi(P(t.passkey).relyingPartyId)||!U(P(t.username),["collectOnSignUp","signIn"]))throw x()}function Pi(e){return e==null||typeof e=="string"}function U(e,t){return t.every(n=>typeof e[n]=="boolean")}function rn(e,t){return t.every(n=>e[n]===void 0||typeof e[n]=="string"&&e[n].length<=4096)}function ke(e,t){return Array.isArray(e)&&e.length<=t&&e.every(n=>typeof n=="string"&&n.length<=128)&&new Set(e).size===e.length}export{vi as a,ae as b,X as c,Ce as d,un as e,de as f,xe as g,hi as h,go as i,Ao as j,wo as k};
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-T5SH3ZZP.js';var u="authowl_handoff_verifier",a="authowl_code",g=32,S=900,m=["email","providerId","domain","organizationSlug"];function f(n){let e="";for(let o of n)e+=String.fromCharCode(o);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function w(n){let e=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(n));return f(new Uint8Array(e))}function h(){return f(crypto.getRandomValues(new Uint8Array(g)))}function p(n,e){let o=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${u}=${n}; Path=/; Max-Age=${e}; SameSite=Lax${o}`;}function y(){for(let n of document.cookie.split(";")){let e=n.indexOf("=");if(!(e<0)&&n.slice(0,e).trim()===u)return n.slice(e+1).trim()||null}return null}function R(){p("",0);}function l(n){return new URL(n,window.location.href).toString()}async function U(n,e){let o=e.callbackURL?l(e.callbackURL):null;if(o&&new URL(o).origin!==window.location.origin)return null;let t=h(),i=new URL(`${n.projectBaseURL}/session/start`);if(i.searchParams.set("pk",n.publishableKey),i.searchParams.set("kind",e.kind),e.kind==="social")i.searchParams.set("provider",e.provider),e.scopes?.length&&i.searchParams.set("scopes",e.scopes.join(",")),e.loginHint&&i.searchParams.set("loginHint",e.loginHint),e.requestSignUp!==void 0&&i.searchParams.set("requestSignUp",e.requestSignUp?"1":"0");else for(let s of m){let r=e[s];r&&i.searchParams.set(s,r);}let d=`${window.location.origin}${window.location.pathname}${window.location.search}`;i.searchParams.set("cb",o??d);for(let[s,r]of [["err",e.errorCallbackURL],["new",e.newUserCallbackURL]])r&&i.searchParams.set(s,l(r));return i.searchParams.set("challenge",await w(t)),p(t,S),i.toString()}function k(){if(typeof window>"u")return null;let n=window.location.hash;if(!n.includes(a))return null;let e=new URLSearchParams(n.replace(/^#/,"")),o=e.get(a);if(!o)return null;e.delete(a);let t=e.toString();return window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}${t?`#${t}`:""}`),o}async function P(n,e){if(!a$1())return false;let o=k();if(!o)return false;let t=y();if(R(),!t)return false;e.beginSession({remember:true});let{error:i}=await n.request("/session/exchange",{method:"POST",body:{code:o,verifier:t}});return i===null}
2
- export{U as beginCrossSiteSignIn,w as challengeFor,P as completeCrossSiteSignIn,k as takeHandoffCode};