@wacht/jsx 0.0.1-alpha.36 → 0.0.1-alpha.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * This source code is licensed under the MIT license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
- */var Ds;function hd(){return Ds||(Ds=1,process.env.NODE_ENV!=="production"&&function(){function t(x,m){return x===m&&(x!==0||1/x===1/m)||x!==x&&m!==m}function r(x,m){l||i.startTransition===void 0||(l=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var y=m();if(!u){var $=m();s(y,$)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}$=p({inst:{value:y,getSnapshot:m}});var S=$[0].inst,b=$[1];return c(function(){S.value=y,S.getSnapshot=m,o(S)&&b({inst:S})},[x,y,m]),f(function(){return o(S)&&b({inst:S}),x(function(){o(S)&&b({inst:S})})},[x]),h(y),y}function o(x){var m=x.getSnapshot;x=x.value;try{var y=m();return!s(x,y)}catch{return!0}}function n(x,m){return m()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var i=a,s=typeof Object.is=="function"?Object.is:t,p=i.useState,f=i.useEffect,c=i.useLayoutEffect,h=i.useDebugValue,l=!1,u=!1,g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?n:r;dn.useSyncExternalStore=i.useSyncExternalStore!==void 0?i.useSyncExternalStore:g,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),dn}var Fs;function fd(){return Fs||(Fs=1,process.env.NODE_ENV==="production"?Kr.exports=pd():Kr.exports=hd()),Kr.exports}var gd=fd();const ec=0,tc=1,rc=2,Ns=3;var Bs=Object.prototype.hasOwnProperty;function Qn(t,r){var o,n;if(t===r)return!0;if(t&&r&&(o=t.constructor)===r.constructor){if(o===Date)return t.getTime()===r.getTime();if(o===RegExp)return t.toString()===r.toString();if(o===Array){if((n=t.length)===r.length)for(;n--&&Qn(t[n],r[n]););return n===-1}if(!o||typeof t=="object"){n=0;for(o in t)if(Bs.call(t,o)&&++n&&!Bs.call(r,o)||!(o in r)||!Qn(t[o],r[o]))return!1;return Object.keys(r).length===n}}return t!==t&&r!==r}const vt=new WeakMap,$t=()=>{},He=$t(),Kn=Object,Ce=t=>t===He,lt=t=>typeof t=="function",Pt=(t,r)=>({...t,...r}),oc=t=>lt(t.then),un={},Xr={},bs="undefined",Vr=typeof window!=bs,Xn=typeof document!=bs,md=Vr&&"Deno"in window,xd=()=>Vr&&typeof window.requestAnimationFrame!=bs,nc=(t,r)=>{const o=vt.get(t);return[()=>!Ce(r)&&t.get(r)||un,n=>{if(!Ce(r)){const i=t.get(r);r in Xr||(Xr[r]=i),o[5](r,Pt(i,n),i||un)}},o[6],()=>!Ce(r)&&r in Xr?Xr[r]:!Ce(r)&&t.get(r)||un]};let Jn=!0;const vd=()=>Jn,[es,ts]=Vr&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[$t,$t],bd=()=>{const t=Xn&&document.visibilityState;return Ce(t)||t!=="hidden"},yd=t=>(Xn&&document.addEventListener("visibilitychange",t),es("focus",t),()=>{Xn&&document.removeEventListener("visibilitychange",t),ts("focus",t)}),wd=t=>{const r=()=>{Jn=!0,t()},o=()=>{Jn=!1};return es("online",r),es("offline",o),()=>{ts("online",r),ts("offline",o)}},jd={isOnline:vd,isVisible:bd},_d={initFocus:yd,initReconnect:wd},Us=!a.useId,Nr=!Vr||md,kd=t=>xd()?window.requestAnimationFrame(t):setTimeout(t,1),pn=Nr?a.useEffect:a.useLayoutEffect,hn=typeof navigator<"u"&&navigator.connection,Ws=!Nr&&hn&&(["slow-2g","2g"].includes(hn.effectiveType)||hn.saveData),Jr=new WeakMap,Cd=t=>Kn.prototype.toString.call(t),fn=(t,r)=>t===`[object ${r}]`;let Sd=0;const rs=t=>{const r=typeof t,o=Cd(t),n=fn(o,"Date"),i=fn(o,"RegExp"),s=fn(o,"Object");let p,f;if(Kn(t)===t&&!n&&!i){if(p=Jr.get(t),p)return p;if(p=++Sd+"~",Jr.set(t,p),Array.isArray(t)){for(p="@",f=0;f<t.length;f++)p+=rs(t[f])+",";Jr.set(t,p)}if(s){p="#";const c=Kn.keys(t).sort();for(;!Ce(f=c.pop());)Ce(t[f])||(p+=f+":"+rs(t[f])+",");Jr.set(t,p)}}else p=n?t.toJSON():r=="symbol"?t.toString():r=="string"?JSON.stringify(t):""+t;return p},ys=t=>{if(lt(t))try{t=t()}catch{t=""}const r=t;return t=typeof t=="string"?t:(Array.isArray(t)?t.length:t)?rs(t):"",[t,r]};let zd=0;const os=()=>++zd;async function sc(...t){const[r,o,n,i]=t,s=Pt({populateCache:!0,throwOnError:!0},typeof i=="boolean"?{revalidate:i}:i||{});let p=s.populateCache;const f=s.rollbackOnError;let c=s.optimisticData;const h=g=>typeof f=="function"?f(g):f!==!1,l=s.throwOnError;if(lt(o)){const g=o,x=[],m=r.keys();for(const y of m)!/^\$(inf|sub)\$/.test(y)&&g(r.get(y)._k)&&x.push(y);return Promise.all(x.map(u))}return u(o);async function u(g){const[x]=ys(g);if(!x)return;const[m,y]=nc(r,x),[$,S,b,z]=vt.get(r),j=()=>{const I=$[x];return(lt(s.revalidate)?s.revalidate(m().data,g):s.revalidate!==!1)&&(delete b[x],delete z[x],I&&I[0])?I[0](rc).then(()=>m().data):m().data};if(t.length<3)return j();let k=n,_,v=!1;const P=os();S[x]=[P,0];const C=!Ce(c),E=m(),T=E.data,R=E._c,w=Ce(R)?T:R;if(C&&(c=lt(c)?c(w,T):c,y({data:c,_c:w})),lt(k))try{k=k(w)}catch(I){_=I,v=!0}if(k&&oc(k))if(k=await k.catch(I=>{_=I,v=!0}),P!==S[x][0]){if(v)throw _;return k}else v&&C&&h(_)&&(p=!0,y({data:w,_c:He}));if(p&&!v)if(lt(p)){const I=p(k,w);y({data:I,error:He,_c:He})}else y({data:k,error:He,_c:He});if(S[x][1]=os(),Promise.resolve(j()).then(()=>{y({_c:He})}),v){if(l)throw _;return}return k}}const Vs=(t,r)=>{for(const o in t)t[o][0]&&t[o][0](r)},$d=(t,r)=>{if(!vt.has(t)){const o=Pt(_d,r),n=Object.create(null),i=sc.bind(He,t);let s=$t;const p=Object.create(null),f=(l,u)=>{const g=p[l]||[];return p[l]=g,g.push(u),()=>g.splice(g.indexOf(u),1)},c=(l,u,g)=>{t.set(l,u);const x=p[l];if(x)for(const m of x)m(u,g)},h=()=>{if(!vt.has(t)&&(vt.set(t,[n,Object.create(null),Object.create(null),Object.create(null),i,c,f]),!Nr)){const l=o.initFocus(setTimeout.bind(He,Vs.bind(He,n,ec))),u=o.initReconnect(setTimeout.bind(He,Vs.bind(He,n,tc)));s=()=>{l&&l(),u&&u(),vt.delete(t)}}};return h(),[t,i,h,s]}return[t,vt.get(t)[4]]},Ed=(t,r,o,n,i)=>{const s=o.errorRetryCount,p=i.retryCount,f=~~((Math.random()+.5)*(1<<(p<8?p:8)))*o.errorRetryInterval;!Ce(s)&&p>s||setTimeout(n,f,i)},Id=Qn,[ic,Pd]=$d(new Map),Rd=Pt({onLoadingSlow:$t,onSuccess:$t,onError:$t,onErrorRetry:Ed,onDiscarded:$t,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Ws?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Ws?5e3:3e3,compare:Id,isPaused:()=>!1,cache:ic,mutate:Pd,fallback:{}},jd),Td=(t,r)=>{const o=Pt(t,r);if(r){const{use:n,fallback:i}=t,{use:s,fallback:p}=r;n&&s&&(o.use=n.concat(s)),i&&p&&(o.fallback=Pt(i,p))}return o},Md=a.createContext({}),Od="$inf$",ac=Vr&&window.__SWR_DEVTOOLS_USE__,Ld=ac?window.__SWR_DEVTOOLS_USE__:[],Ad=()=>{ac&&(window.__SWR_DEVTOOLS_REACT__=a)},Dd=t=>lt(t[1])?[t[0],t[1],t[2]||{}]:[t[0],null,(t[1]===null?t[2]:t[1])||{}],cc=()=>Pt(Rd,a.useContext(Md)),Fd=t=>(r,o,n)=>t(r,o&&((...s)=>{const[p]=ys(r),[,,,f]=vt.get(ic);if(p.startsWith(Od))return o(...s);const c=f[p];return Ce(c)?o(...s):(delete f[p],c)}),n),Nd=Ld.concat(Fd),Bd=t=>function(...o){const n=cc(),[i,s,p]=Dd(o),f=Td(n,p);let c=t;const{use:h}=f,l=(h||[]).concat(Nd);for(let u=l.length;u--;)c=l[u](c);return c(i,s||f.fetcher||null,f)},Ud=(t,r,o)=>{const n=r[t]||(r[t]=[]);return n.push(o),()=>{const i=n.indexOf(o);i>=0&&(n[i]=n[n.length-1],n.pop())}};Ad();const gn=a.use||(t=>{switch(t.status){case"pending":throw t;case"fulfilled":return t.value;case"rejected":throw t.reason;default:throw t.status="pending",t.then(r=>{t.status="fulfilled",t.value=r},r=>{t.status="rejected",t.reason=r}),t}}),mn={dedupe:!0},Wd=(t,r,o)=>{const{cache:n,compare:i,suspense:s,fallbackData:p,revalidateOnMount:f,revalidateIfStale:c,refreshInterval:h,refreshWhenHidden:l,refreshWhenOffline:u,keepPreviousData:g}=o,[x,m,y,$]=vt.get(n),[S,b]=ys(t),z=a.useRef(!1),j=a.useRef(!1),k=a.useRef(S),_=a.useRef(r),v=a.useRef(o),P=()=>v.current,C=()=>P().isVisible()&&P().isOnline(),[E,T,R,w]=nc(n,S),I=a.useRef({}).current,M=Ce(p)?Ce(o.fallback)?He:o.fallback[S]:p,O=(q,B)=>{for(const ie in I){const H=ie;if(H==="data"){if(!i(q[H],B[H])&&(!Ce(q[H])||!i(oe,B[H])))return!1}else if(B[H]!==q[H])return!1}return!0},U=a.useMemo(()=>{const q=!S||!r?!1:Ce(f)?P().isPaused()||s?!1:c!==!1:f,B=ge=>{const V=Pt(ge);return delete V._k,q?{isValidating:!0,isLoading:!0,...V}:V},ie=E(),H=w(),se=B(ie),we=ie===H?se:B(H);let xe=se;return[()=>{const ge=B(E());return O(ge,xe)?(xe.data=ge.data,xe.isLoading=ge.isLoading,xe.isValidating=ge.isValidating,xe.error=ge.error,xe):(xe=ge,ge)},()=>we]},[n,S]),F=gd.useSyncExternalStore(a.useCallback(q=>R(S,(B,ie)=>{O(ie,B)||q()}),[n,S]),U[0],U[1]),L=!z.current,A=x[S]&&x[S].length>0,Q=F.data,ee=Ce(Q)?M&&oc(M)?gn(M):M:Q,W=F.error,K=a.useRef(ee),oe=g?Ce(Q)?Ce(K.current)?ee:K.current:Q:ee,te=A&&!Ce(W)?!1:L&&!Ce(f)?f:P().isPaused()?!1:s?Ce(ee)?!1:c:Ce(ee)||c,de=!!(S&&r&&L&&te),ne=Ce(F.isValidating)?de:F.isValidating,ue=Ce(F.isLoading)?de:F.isLoading,X=a.useCallback(async q=>{const B=_.current;if(!S||!B||j.current||P().isPaused())return!1;let ie,H,se=!0;const we=q||{},xe=!y[S]||!we.dedupe,ge=()=>Us?!j.current&&S===k.current&&z.current:S===k.current,V={isValidating:!1,isLoading:!1},D=()=>{T(V)},N=()=>{const pe=y[S];pe&&pe[1]===H&&delete y[S]},re={isValidating:!0};Ce(E().data)&&(re.isLoading=!0);try{if(xe&&(T(re),o.loadingTimeout&&Ce(E().data)&&setTimeout(()=>{se&&ge()&&P().onLoadingSlow(S,o)},o.loadingTimeout),y[S]=[B(b),os()]),[ie,H]=y[S],ie=await ie,xe&&setTimeout(N,o.dedupingInterval),!y[S]||y[S][1]!==H)return xe&&ge()&&P().onDiscarded(S),!1;V.error=He;const pe=m[S];if(!Ce(pe)&&(H<=pe[0]||H<=pe[1]||pe[1]===0))return D(),xe&&ge()&&P().onDiscarded(S),!1;const J=E().data;V.data=i(J,ie)?J:ie,xe&&ge()&&P().onSuccess(ie,S,o)}catch(pe){N();const J=P(),{shouldRetryOnError:_e}=J;J.isPaused()||(V.error=pe,xe&&ge()&&(J.onError(pe,S,J),(_e===!0||lt(_e)&&_e(pe))&&(!P().revalidateOnFocus||!P().revalidateOnReconnect||C())&&J.onErrorRetry(pe,S,J,ve=>{const Se=x[S];Se&&Se[0]&&Se[0](Ns,ve)},{retryCount:(we.retryCount||0)+1,dedupe:!0})))}return se=!1,D(),!0},[S,n]),ae=a.useCallback((...q)=>sc(n,k.current,...q),[]);if(pn(()=>{_.current=r,v.current=o,Ce(Q)||(K.current=Q)}),pn(()=>{if(!S)return;const q=X.bind(He,mn);let B=0;P().revalidateOnFocus&&(B=Date.now()+P().focusThrottleInterval);const H=Ud(S,x,(se,we={})=>{if(se==ec){const xe=Date.now();P().revalidateOnFocus&&xe>B&&C()&&(B=xe+P().focusThrottleInterval,q())}else if(se==tc)P().revalidateOnReconnect&&C()&&q();else{if(se==rc)return X();if(se==Ns)return X(we)}});return j.current=!1,k.current=S,z.current=!0,T({_k:b}),te&&(y[S]||(Ce(ee)||Nr?q():kd(q))),()=>{j.current=!0,H()}},[S]),pn(()=>{let q;function B(){const H=lt(h)?h(E().data):h;H&&q!==-1&&(q=setTimeout(ie,H))}function ie(){!E().error&&(l||P().isVisible())&&(u||P().isOnline())?X(mn).then(B):B()}return B(),()=>{q&&(clearTimeout(q),q=-1)}},[h,l,u,S]),a.useDebugValue(oe),s&&Ce(ee)&&S){if(!Us&&Nr)throw new Error("Fallback data is required when using Suspense in SSR.");_.current=r,v.current=o,j.current=!1;const q=$[S];if(!Ce(q)){const B=ae(q);gn(B)}if(Ce(W)){const B=X(mn);Ce(oe)||(B.status="fulfilled",B.value=!0),gn(B)}else throw W}return{mutate:ae,get data(){return I.data=!0,oe},get error(){return I.error=!0,W},get isValidating(){return I.isValidating=!0,ne},get isLoading(){return I.isLoading=!0,ue}}},Ne=Bd(Wd);async function G(t){if(!t.ok){let o=`HTTP ${t.status}: ${t.statusText}`;try{const n=await t.json();n.message?o=n.message:n.errors&&n.errors.length>0&&(o=n.errors[0].message||o)}catch{}throw new Error(o)}return{data:(await t.json()).data}}function lc(t){const{client:r}=Fe(),o=a.useCallback(async()=>{const c=await r(`/api/agent/contexts?token=${encodeURIComponent(t)}`,{method:"GET"});return(await G(c)).data},[r,t]),{data:n,error:i,mutate:s}=Ne(t?`wacht-agent-sessions:${t}`:null,o,{revalidateOnFocus:!1}),p=a.useCallback(async c=>{const h=new FormData;h.append("title",c.title),c.system_instructions&&h.append("system_instructions",c.system_instructions);const l=await r(`/api/agent/contexts?token=${encodeURIComponent(t)}`,{method:"POST",body:h}),u=await G(l);return await s(g=>g&&{...g,data:[u.data,...g.data]}),u.data},[r,t,s]),f=a.useCallback(async c=>{await r(`/api/agent/contexts/${c}/delete?token=${encodeURIComponent(t)}`,{method:"POST"}),await s(h=>h&&{...h,data:h.data.filter(l=>l.id!==c)})},[r,t,s]);return{sessions:(n==null?void 0:n.data)||[],loading:!n&&!i,error:i,createSession:p,deleteSession:f,refetch:async()=>{await s()}}}const dc=a.createContext(void 0);function Yo(){const t=a.useContext(dc);if(!t)throw new Error("useAgentConversationContext must be used within AgentConversationProvider");return t}function Vd({children:t,agentName:r,token:o,platformAdapter:n,defaultSessionId:i,onSessionCreated:s,onSessionDeleted:p,onError:f}){const[c,h]=a.useState(i?{id:i,title:"Conversation",status:"idle",last_activity_at:new Date().toISOString(),created_at:new Date().toISOString()}:null),[l,u]=a.useState(!1),{sessions:g,loading:x,error:m,createSession:y,deleteSession:$,refetch:S}=lc(o);a.useEffect(()=>{if(i&&g.length>0){const _=g.find(v=>v.id===i);_&&h(_)}},[i,g]);const b=a.useCallback(_=>{h(_),u(!1)},[]),z=a.useCallback(async _=>{try{const v=_||`Chat ${new Date().toLocaleDateString()} ${new Date().toLocaleTimeString()}`,P=await y({title:v});return h(P),s==null||s(P),P}catch(v){const P=v instanceof Error?v.message:"Failed to create session";throw f==null||f(P),v}},[y,s,f]),j=a.useCallback(async _=>{try{await $(_),(c==null?void 0:c.id)===_&&h(null),p==null||p(_)}catch(v){const P=v instanceof Error?v.message:"Failed to delete session";throw f==null||f(P),v}},[$,c,p,f]),k={agentName:r,token:o,platformAdapter:n,sessions:g,selectedSession:c,loadingSessions:x,sessionError:m,selectSession:b,createSession:z,deleteSession:j,refreshSessions:S,showHistory:l,setShowHistory:u,onSessionCreated:s,onSessionDeleted:p,onError:f};return e.jsx(dc.Provider,{value:k,children:t})}var uc=(t=>(t.XOauth="x_oauth",t.GithubOauth="github_oauth",t.GitlabOauth="gitlab_oauth",t.GoogleOauth="google_oauth",t.FacebookOauth="facebook_oauth",t.MicrosoftOauth="microsoft_oauth",t.LinkedinOauth="linkedin_oauth",t.DiscordOauth="discord_oauth",t.AppleOauth="apple_oauth",t))(uc||{});function Gd(t,r){const o={username:Hd(t,r),email:qd(t,r),phone:Yd(t,r),email_otp:Zd(t,r),magic_link:Qd(t,r),oauth:Kd(t),generic:Xd(t,r)};return function(i){return o[i]}}function Hd(t,r){return async({username:o,password:n})=>{var f,c;const i=new FormData;i.append("strategy","plain_username"),i.append("username",o),i.append("password",n);const s=await t("/auth/signin",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signin_attempts)!=null&&c.length)&&r(p.data.signin_attempts.at(-1)||null),p}}function qd(t,r){return async({email:o,password:n})=>{var f,c;const i=new FormData;i.append("strategy","plain_email"),i.append("email",o),i.append("password",n);const s=await t("/auth/signin",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signin_attempts)!=null&&c.length)&&r(p.data.signin_attempts.at(-1)||null),p}}function Yd(t,r){return async({phone:o})=>{var p,f;const n=new FormData;n.append("strategy","phone_otp"),n.append("phone",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Zd(t,r){return async({email:o})=>{var p,f;const n=new FormData;n.append("strategy","email_otp"),n.append("email",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Qd(t,r){return async({email:o})=>{var p,f;const n=new FormData;n.append("strategy","magic_link"),n.append("email",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Kd(t){return async({provider:r,redirectUri:o})=>{const n=new URLSearchParams({provider:r});o&&n.append("redirect_uri",o);const i=await t(`/auth/oauth2/init?${n.toString()}`,{method:"POST"}),s=await G(i);return"data"in s&&s.data.oauth_url&&(window.location.href=s.data.oauth_url),s}}function Xd(t,r){return async({email:o,username:n,password:i,phone:s,strategy:p,token:f})=>{var u,g;const c=new FormData;p&&c.append("strategy",p),o&&c.append("email",o),n&&c.append("username",n),i&&c.append("password",i),s&&c.append("phone",s),f&&c.append("token",f);const h=await t("/auth/signin",{method:"POST",body:c}),l=await G(h);return"data"in l&&((g=(u=l.data)==null?void 0:u.signin_attempts)!=null&&g.length)&&r(l.data.signin_attempts.at(-1)||null),l}}function pc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(null);return r?{loading:!0,signIn:null,signinAttempt:null,discardSignInAttempt:()=>{n(null)},setSignInAttempt:n}:{loading:!1,signinAttempt:o,signIn:{createStrategy:Gd(t,n),completeVerification:async i=>{var c,h;const s=new FormData;s.append("verification_code",i);const p=await t(`/auth/attempt-verification?attempt_identifier=${o==null?void 0:o.id}&identifier_type=signin`,{method:"POST",body:s}),f=await G(p);if("data"in f&&((h=(c=f.data)==null?void 0:c.signin_attempts)!=null&&h.length)){const l=f.data.signin_attempts.at(-1);return n(l||null),f.data}else throw new Error("Verification failed")},prepareVerification:async i=>{var f;const s=new URL("/auth/prepare-verification",window.location.origin);s.searchParams.set("attempt_identifier",((f=o==null?void 0:o.id)==null?void 0:f.toString())||""),s.searchParams.set("strategy",i.strategy),s.searchParams.set("identifier_type","signin"),i.strategy==="phone_otp"&&i.lastDigits?s.searchParams.set("last_digits",i.lastDigits):(i.strategy==="email_otp"&&i.redirectUri||i.strategy==="magic_link"&&i.redirectUri)&&s.searchParams.set("redirect_uri",i.redirectUri);const p=await t(s.pathname+s.search,{method:"POST"});return G(p)},completeProfile:async i=>{var c;if(!o)throw new Error("No signin attempt found");const s=new FormData;for(const[h,l]of Object.entries(i))l&&s.append(h,l);const p=await t(`/auth/complete-profile?attempt_id=${o.id}`,{method:"POST",body:s}),f=await G(p);if("data"in f&&f.data){const h=(c=f.data.signin_attempts)==null?void 0:c.find(l=>l.id===o.id);return h&&n(h),f.data}else throw new Error("Profile completion failed")},identify:async i=>{const s=new FormData;s.append("identifier",i);const p=await t("/auth/identify",{method:"POST",body:s});return(await G(p)).data},initEnterpriseSso:async(i,s)=>{const p=new URLSearchParams({connection_id:i});s&&p.append("redirect_uri",s);const f=await t(`/auth/sso/login?${p.toString()}`,{method:"POST"});return(await G(f)).data}},discardSignInAttempt:()=>{n(null)},setSignInAttempt:n}}function Br(t){const{loading:r,signIn:o,signinAttempt:n,discardSignInAttempt:i,setSignInAttempt:s}=pc();if(r)return{loading:!0,signIn:null,signinAttempt:null,discardSignInAttempt:i,setSignInAttempt:s};const p=(()=>{switch(t){case"username":return o.createStrategy("username");case"email":return o.createStrategy("email");case"phone":return o.createStrategy("phone");case"email_otp":return o.createStrategy("email_otp");case"magic_link":return o.createStrategy("magic_link");case"oauth":return o.createStrategy("oauth");case"generic":return o.createStrategy("generic");default:throw new Error("Invalid sign-in strategy")}})();return{loading:!1,signinAttempt:n,signIn:{create:p,completeVerification:o.completeVerification,prepareVerification:o.prepareVerification,completeProfile:o.completeProfile,identify:o.identify,initEnterpriseSso:o.initEnterpriseSso},discardSignInAttempt:i,setSignInAttempt:s}}function Jd(t,r,o){return{create:async n=>{var f,c,h;const i=new FormData;for(const[l,u]of Object.entries(n))i.append(l,u);const s=await t("/auth/signup",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signup_attempts)!=null&&c.length)&&o(((h=p.data.signup_attempts)==null?void 0:h.at(-1))||null),p},prepareVerification:async n=>{var p;const i=new URL("/auth/prepare-verification",window.location.origin);i.searchParams.set("attempt_identifier",((p=r==null?void 0:r.id)==null?void 0:p.toString())||""),i.searchParams.set("strategy",n.strategy),i.searchParams.set("identifier_type","signup"),n.strategy==="phone_otp"&&n.lastDigits?i.searchParams.set("last_digits",n.lastDigits):n.strategy==="email_otp"&&n.redirectUri&&i.searchParams.set("redirect_uri",n.redirectUri);const s=await t(i.pathname+i.search,{method:"POST"});return G(s)},completeVerification:async n=>{var f,c;const i=new FormData;i.append("verification_code",n);const s=await t(`/auth/attempt-verification?attempt_identifier=${r==null?void 0:r.id}&identifier_type=signup`,{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signup_attempts)!=null&&c.length)&&o(p.data.signup_attempts.at(-1)||null),p},validateDeploymentInvitation:async n=>{try{const i=await t(`/deployment/invitations/validate?token=${encodeURIComponent(n)}`,{method:"GET"}),s=await G(i);return"data"in s&&s.data?s.data:{valid:!1,message:"Failed to validate invitation",error_code:"VALIDATION_ERROR"}}catch(i){return{valid:!1,message:i.message||"Failed to validate invitation",error_code:"NETWORK_ERROR"}}}}}function hc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(null);return r?{loading:!0,signUp:null,signupAttempt:null,discardSignupAttempt:()=>{n(null)}}:{loading:!1,signupAttempt:o,discardSignupAttempt:()=>{n(null)},signUp:Jd(t,o,n)}}const Ge=()=>{const{adapter:t,deployment:r}=me(),o=t.useNavigate(),n=(c,h)=>{o?o(c,h):window.location.href=c},i=c=>{if(c)return c;const l=new URLSearchParams(window.location.search).get("redirect_uri");return l||window.location.href};return{navigate:n,navigateToSignIn:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("dev_session",localStorage.getItem("__dev_session__")??""),n(`${r.ui_settings.sign_in_page_url}?${l.toString()}`,{replace:!0})},navigateToAccountSelection:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("dev_session",localStorage.getItem("__dev_session__")??""),n(`https://${r.frontend_host}?${l.toString()}`,{replace:!0})},navigateToSignUp:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("dev_session",localStorage.getItem("__dev_session__")??""),n(`${r.ui_settings.sign_up_page_url}?${l.toString()}`,{replace:!0})}}};async function eu(t){const r=await t("/session",{method:"GET"});return(await G(r)).data}async function tu(t,r){const o=await t(`/session/switch-sign-in?sign_in_id=${r}`,{method:"POST"});return G(o)}async function ru(t,r){const o=r?`/session/sign-out?sign_in_id=${r}`:"/session/sign-out",n=await t(o,{method:"POST"});return G(n)}async function ou(t,r){const o=await t(`/session/switch-organization${r?`?organization_id=${r}`:""}`,{method:"POST"});return G(o)}async function nu(t,r){const o=await t(`/session/switch-workspace?workspace_id=${r}`,{method:"POST"});return G(o)}const ns=new Map,Lr=new Map;function Et(){ns.clear(),Lr.clear()}async function su(t,r){const o=await t(`/session/token${r?`?template=${r}`:""}`);return G(o)}function Be(){const{client:t,loading:r}=Fe(),{deployment:o}=me(),{navigate:n}=Ge(),{cache:i}=cc(),{data:s,error:p,mutate:f,isLoading:c}=Ne(r?null:"/session",()=>eu(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),h=a.useCallback(async()=>{await f(void 0,{revalidate:!0})},[f]),l=a.useCallback(async(u="default")=>{if(!s)throw new Error("no session");const g=ns.get(u);if(g&&g.expires>Date.now())return(g==null?void 0:g.token)||"";Lr.get(u)||Lr.set(u,su(t,u));const x=await Lr.get(u);return Lr.delete(u),ns.set(u,x.data),x.data.token},[t,s==null?void 0:s.active_signin]);return r||!s||c?{loading:!0,error:p,session:null,switchSignIn:null,switchOrganization:null,switchWorkspace:null,signOut:null,getToken:null,refetch:h}:{loading:c,error:p,session:s,switchSignIn:async u=>{await tu(t,u),await f(void 0,{revalidate:!0})},signOut:async u=>{await ru(t,u);const g=["/session","/user","/me/signins","/me/organization-memberships","/me/workspace-memberships","wacht-notifications:channel-counts"],x=["wacht-notifications:","wacht-agent-sessions:","wacht-agent-contexts:","wacht-org-domains:","wacht-api-workspaces:","wacht-api-organizations:"];if(i instanceof Map){const m=Array.from(i.keys());for(const y of m){let $=!1;(g.includes(y)||typeof y=="string"&&x.some(S=>y.startsWith(S)))&&($=!0),$&&i.delete(y)}}Et(),await f(void 0,{revalidate:!0}),o!=null&&o.ui_settings&&(u&&o.ui_settings.after_sign_out_one_page_url?n(o.ui_settings.after_sign_out_one_page_url):!u&&o.ui_settings.after_sign_out_all_page_url&&n(o.ui_settings.after_sign_out_all_page_url))},switchOrganization:async u=>{await ou(t,u),Et(),await f(void 0,{revalidate:!0})},switchWorkspace:async u=>{await nu(t,u),Et(),await f(void 0,{revalidate:!0})},getToken:l,refetch:h}}const Zo=()=>{const{organizationMemberships:t,refetch:r,loading:o}=yt(),{client:n}=Fe(),{refetch:i}=Be(),s=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/roles`,{method:"GET"}))).data,[n]),p=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/members`,{method:"GET"}))).data,[n]),f=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/invitations`,{method:"GET"}))).data,[n]),c=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/domains`,{method:"GET"}))).data,[n]),h=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/members/${L.id}/remove`,{method:"POST"}),await r()},[r,n]),l=a.useCallback(async F=>{const L=new FormData;L.append("name",F.name),F.image&&L.append("image",F.image),F.description&&L.append("description",F.description);const A=await G(await n("/organizations",{method:"POST",body:L}));return Et(),await r(),await i(),A},[i,r,n]),u=a.useCallback(async(F,L)=>{const A=Object.entries(L).reduce((ee,[W,K])=>(K&&ee.append(W,K),ee),new FormData),Q=await G(await n(`/organizations/${F.id}/update`,{method:"POST",body:A}));return await r(),Q},[r,n]),g=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/roles/${L.id}/remove`,{method:"POST"})},[n]),x=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("domain",L.fqdn),await G(await n(`/organizations/${F.id}/domains`,{method:"POST",body:A}))},[n]),m=a.useCallback(async(F,L)=>await G(await n(`/organizations/${F.id}/domains/${L.id}/verify`,{method:"POST"})),[n]),y=a.useCallback(async(F,L)=>await G(await n(`/organizations/${F.id}/domains/${L.id}/delete`,{method:"POST"})),[n]),$=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/enterprise-connections`,{method:"GET"}))).data,[n]),S=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("protocol",L.protocol),L.domain_id&&A.append("domain_id",L.domain_id),L.idp_entity_id&&A.append("idp_entity_id",L.idp_entity_id),L.idp_sso_url&&A.append("idp_sso_url",L.idp_sso_url),L.idp_certificate&&A.append("idp_certificate",L.idp_certificate),L.oidc_client_id&&A.append("oidc_client_id",L.oidc_client_id),L.oidc_client_secret&&A.append("oidc_client_secret",L.oidc_client_secret),L.oidc_issuer_url&&A.append("oidc_issuer_url",L.oidc_issuer_url),L.oidc_scopes&&A.append("oidc_scopes",L.oidc_scopes),L.jit_enabled!==void 0&&A.append("jit_enabled",String(L.jit_enabled)),L.attribute_mapping&&A.append("attribute_mapping",JSON.stringify(L.attribute_mapping)),(await G(await n(`/organizations/${F.id}/enterprise-connections`,{method:"POST",body:A}))).data},[n]),b=a.useCallback(async(F,L,A)=>{const Q=new FormData;return A.domain_id&&Q.append("domain_id",A.domain_id),A.idp_entity_id&&Q.append("idp_entity_id",A.idp_entity_id),A.idp_sso_url&&Q.append("idp_sso_url",A.idp_sso_url),A.idp_certificate&&Q.append("idp_certificate",A.idp_certificate),A.oidc_client_id&&Q.append("oidc_client_id",A.oidc_client_id),A.oidc_client_secret&&Q.append("oidc_client_secret",A.oidc_client_secret),A.oidc_issuer_url&&Q.append("oidc_issuer_url",A.oidc_issuer_url),A.oidc_scopes&&Q.append("oidc_scopes",A.oidc_scopes),A.attribute_mapping&&Q.append("attribute_mapping",JSON.stringify(A.attribute_mapping)),(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/update`,{method:"POST",body:Q}))).data},[n]),z=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/enterprise-connections/${L}/delete`,{method:"POST"})},[n]),j=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("protocol",L.protocol),L.idp_entity_id&&A.append("idp_entity_id",L.idp_entity_id),L.idp_sso_url&&A.append("idp_sso_url",L.idp_sso_url),L.idp_certificate&&A.append("idp_certificate",L.idp_certificate),L.oidc_issuer_url&&A.append("oidc_issuer_url",L.oidc_issuer_url),L.oidc_client_id&&A.append("oidc_client_id",L.oidc_client_id),L.oidc_client_secret&&A.append("oidc_client_secret",L.oidc_client_secret),(await G(await n(`/organizations/${F.id}/enterprise-connections/test`,{method:"POST",body:A}))).data},[n]),k=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/test`,{method:"POST"}))).data,[n]),_=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token`,{method:"POST"}))).data,[n]),v=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token`,{method:"GET"}))).data,[n]),P=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token/revoke`,{method:"POST"})},[n]),C=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("name",L.name),L.permissions&&L.permissions.forEach((ee,W)=>{A.append(`permissions[${W}]`,ee)}),await G(await n(`/organizations/${F.id}/roles`,{method:"POST",body:A}))},[n]),E=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/leave`,{method:"POST"}))).data,[n]),T=a.useCallback(async F=>{const L=await G(await n(`/organizations/${F.id}/delete`,{method:"POST"}));return Et(),await r(),await i(),L.data},[n,r,i]),R=a.useCallback(async(F,L,A)=>(await G(await n(`/organizations/${F.id}/members/${L.id}/roles/${A.id}/add`,{method:"POST"}))).data,[n]),w=a.useCallback(async(F,L,A)=>(await G(await n(`/organizations/${F.id}/members/${L.id}/roles/${A.id}/remove`,{method:"POST"}))).data,[n]),I=a.useCallback(async(F,L)=>{var ee,W;const A=new FormData;return A.append("email",L.email),A.append("role_id",L.organizationRole.id),(ee=L.workspace)!=null&&ee.id&&A.append("workspace_id",L.workspace.id),(W=L.workspaceRole)!=null&&W.id&&A.append("workspace_role_id",L.workspaceRole.id),(await G(await n(`/organizations/${F.id}/invitations`,{method:"POST",body:A}))).data},[n]),M=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/invitations/${L.id}/remove`,{method:"POST"}))).data,[n]),O=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/invitations/${L.id}/resend`,{method:"POST"}))).data,[n]);return{organizations:a.useMemo(()=>t==null?void 0:t.map(F=>F.organization),[t]),loading:o,error:null,refetch:r,leaveOrganization:E,getOrganizationRoles:s,getOrganizationMembers:p,removeOrganizationMember:h,createOrganization:l,getOrganizationInvitations:f,getOrganizationDomains:c,addOrganizationDomain:x,verifyOrganizationDomain:m,removeOrganizationDomain:y,addRoleToOrganizationMember:R,removeRoleFromOrganizationMember:w,inviteOrganizationMember:I,discardOrganizationInvitation:M,resendOrganizationInvitation:O,updateOrganization:u,addRole:C,removeOrganizationRoles:g,deleteOrganization:T,getEnterpriseConnections:$,createEnterpriseConnection:S,updateEnterpriseConnection:b,deleteEnterpriseConnection:z,testEnterpriseConnectionConfig:j,testEnterpriseConnection:k,generateSCIMToken:_,getSCIMToken:v,revokeSCIMToken:P}},Ye=()=>{const{loading:t,error:r,refetch:o,getOrganizationMembers:n,getOrganizationRoles:i,leaveOrganization:s,removeOrganizationMember:p,getOrganizationInvitations:f,getOrganizationDomains:c,removeOrganizationDomain:h,addOrganizationDomain:l,verifyOrganizationDomain:u,addRoleToOrganizationMember:g,removeRoleFromOrganizationMember:x,inviteOrganizationMember:m,discardOrganizationInvitation:y,resendOrganizationInvitation:$,updateOrganization:S,removeOrganizationRoles:b,getEnterpriseConnections:z,createEnterpriseConnection:j,updateEnterpriseConnection:k,deleteEnterpriseConnection:_,testEnterpriseConnectionConfig:v,testEnterpriseConnection:P,generateSCIMToken:C,getSCIMToken:E,revokeSCIMToken:T}=Zo(),{session:R,error:w,loading:I}=Be(),{organizationMemberships:M}=yt(),O=a.useMemo(()=>{var D;return((D=M==null?void 0:M.find(N=>{var re;return N.id===((re=R==null?void 0:R.active_signin)==null?void 0:re.active_organization_membership_id)}))==null?void 0:D.organization)||null},[M,R]),U=a.useCallback(async D=>O?await S(O,D):[],[O,S]),F=a.useCallback(async()=>O?await n(O):[],[O,n]),L=a.useCallback(async()=>O?await i(O):[],[O,i]),A=a.useCallback(async D=>O?await p(O,D):[],[O,p]),Q=a.useCallback(async D=>O?await b(O,D):void 0,[O,b]),ee=a.useCallback(async()=>O?await c(O):[],[O,c]),W=a.useCallback(async D=>O?await l(O,D):void 0,[O,l]),K=a.useCallback(async D=>O?await u(O,D):void 0,[O,u]),oe=a.useCallback(async D=>O?await h(O,D):void 0,[O,h]),te=a.useCallback(async(D,N)=>O?await g(O,D,N):void 0,[O,g]),de=a.useCallback(async(D,N)=>O?await x(O,D,N):void 0,[O,x]),ne=a.useCallback(async D=>O?await m(O,D):void 0,[O,m]),ue=a.useCallback(async D=>O?await y(O,D):void 0,[O,y]),X=a.useCallback(async D=>O?await $(O,D):void 0,[O,$]),ae=a.useCallback(async()=>{O&&await s(O)},[O,s]),Z=a.useCallback(async()=>O?await f(O):[],[O,f]),q=a.useCallback(async()=>O?await z(O):[],[O,z]),B=a.useCallback(async D=>{if(O)return await j(O,D)},[O,j]),ie=a.useCallback(async(D,N)=>{if(O)return await k(O,D,N)},[O,k]),H=a.useCallback(async D=>{O&&await _(O,D)},[O,_]),se=a.useCallback(async D=>O?await v(O,D):null,[O,v]),we=a.useCallback(async D=>O?await P(O,D):null,[O,P]),xe=a.useCallback(async D=>{if(O)return await C(O,D)},[O,C]),ge=a.useCallback(async D=>{if(O)return await E(O,D)},[O,E]),V=a.useCallback(async D=>{O&&await T(O,D)},[O,T]);return I||t?{activeOrganization:null,loading:!0,error:w||r,updateOrganization:null,getRoles:null,getMembers:null,getDomains:null,addDomain:null,verifyDomain:null,removeDomain:null,removeRole:null,getInvitations:null,removeMember:null,addMemberRole:null,removeMemberRole:null,inviteMember:null,discardInvitation:null,resendInvitation:null,leave:null,getEnterpriseConnections:null,createEnterpriseConnection:null,updateEnterpriseConnection:null,deleteEnterpriseConnection:null,generateSCIMToken:null,getSCIMToken:null,revokeSCIMToken:null}:{activeOrganization:O,loading:!1,refetch:o,getRoles:L,updateOrganization:U,getMembers:F,getDomains:ee,addDomain:W,verifyDomain:K,removeDomain:oe,getInvitations:Z,removeMember:A,leave:ae,removeRole:Q,addMemberRole:te,removeMemberRole:de,inviteMember:ne,discardInvitation:ue,resendInvitation:X,getEnterpriseConnections:q,createEnterpriseConnection:B,updateEnterpriseConnection:ie,deleteEnterpriseConnection:H,testEnterpriseConnectionConfig:se,testEnterpriseConnection:we,generateSCIMToken:xe,getSCIMToken:ge,revokeSCIMToken:V,error:null}};async function iu(t){return(await G(await t("/me/organization-memberships"))).data}const yt=()=>{const{client:t,loading:r}=Fe(),{data:o,isLoading:n,error:i,mutate:s}=Ne(r?null:"/me/organization-memberships",()=>iu(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),p=a.useCallback(async()=>{await s(void 0,{revalidate:!0})},[s]);return{organizationMemberships:o,loading:r||n,error:i,refetch:p}};async function au(t){return(await G(await t("/me/workspace-memberships"))).data}async function cu(t,r,o){return(await G(await t(`/workspaces/${r}/members/${o}/remove`,{method:"POST"}))).data}const Qo=()=>{const{client:t,loading:r}=Fe(),{deployment:o}=me(),{data:n,isLoading:i,error:s,mutate:p}=Ne(!r&&(o!=null&&o.b2b_settings.workspaces_enabled)?"/me/workspace-memberships":null,()=>au(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),f=a.useCallback(async()=>{await p(void 0,{revalidate:!0})},[p]);return{workspaceMemberships:n,loading:r||i,error:s,refetch:f}},wt=()=>{const{workspaceMemberships:t,refetch:r,loading:o,error:n}=Qo(),{client:i}=Fe(),s=a.useMemo(()=>t==null?void 0:t.map(b=>({...b.workspace,organization:b.organization,eligibility_restriction:b.eligibility_restriction})),[t]),p=a.useCallback(async(b,z,j,k)=>{const _=new FormData;_.append("name",z),j&&_.append("image",j),k&&_.append("description",k),_.append("organization_id",b);const v=await G(await i("/workspaces",{method:"POST",body:_}));return Et(),await r(),v.data},[i,r]),f=a.useCallback(async(b,z)=>{const j=await cu(i,b,z);return await r(),j},[i,r]),c=a.useCallback(async(b,z)=>{const j=new FormData;z.name&&j.append("name",z.name),z.description&&j.append("description",z.description),z.image&&j.append("image",z.image),z.enforce_2fa!==void 0&&j.append("enforce_2fa",String(z.enforce_2fa)),z.enable_ip_restriction!==void 0&&j.append("enable_ip_restriction",String(z.enable_ip_restriction)),z.whitelisted_ips&&z.whitelisted_ips.forEach(_=>j.append("whitelisted_ips",_));const k=await G(await i(`/workspaces/${b.id}/update`,{method:"POST",body:j}));return await r(),k.data},[i,r]),h=a.useCallback(async b=>{const z=await G(await i(`/workspaces/${b.id}/delete`,{method:"POST"}));return Et(),await r(),z.data},[i,r]),l=a.useCallback(async b=>(await G(await i(`/workspaces/${b.id}/members`,{method:"GET"}))).data,[i]),u=a.useCallback(async b=>(await G(await i(`/workspaces/${b.id}/roles`,{method:"GET"}))).data,[i]),g=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/roles`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z,permissions:j})}))).data,[i]),x=a.useCallback(async(b,z)=>(await G(await i(`/workspaces/${b.id}/roles/${z.id}/delete`,{method:"POST"}))).data,[i]),m=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:z,role_id:j})}))).data,[i]),y=a.useCallback(async(b,z)=>{const j=await G(await i(`/workspaces/${b.id}/members/${z}/remove`,{method:"POST"}));return await r(),j.data},[i,r]),$=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members/${z}/roles/${j}/add`,{method:"POST"}))).data,[i]),S=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members/${z}/roles/${j}/remove`,{method:"POST"}))).data,[i]);return{workspaces:s||[],loading:o,error:n,refetch:r,leaveWorkspace:f,createWorkspace:p,updateWorkspace:c,deleteWorkspace:h,getWorkspaceMembers:l,getWorkspaceRoles:u,createWorkspaceRole:g,deleteWorkspaceRole:x,inviteWorkspaceMember:m,removeWorkspaceMember:y,addWorkspaceMemberRole:$,removeWorkspaceMemberRole:S}},Rt=()=>{const{refetch:t,loading:r,error:o,leaveWorkspace:n,updateWorkspace:i,deleteWorkspace:s,getWorkspaceMembers:p,getWorkspaceRoles:f,createWorkspaceRole:c,deleteWorkspaceRole:h,inviteWorkspaceMember:l,removeWorkspaceMember:u,addWorkspaceMemberRole:g,removeWorkspaceMemberRole:x}=wt(),{workspaceMemberships:m}=Qo(),{session:y,loading:$,error:S}=Be(),b=a.useMemo(()=>{var O;return((O=m==null?void 0:m.find(U=>{var F;return U.id===((F=y==null?void 0:y.active_signin)==null?void 0:F.active_workspace_membership_id)}))==null?void 0:O.workspace)||null},[m,y]),z=a.useCallback(async()=>{var O;if(!(!b||!((O=y==null?void 0:y.active_signin)!=null&&O.user_id)))return await n(b.id,y.active_signin.user_id)},[b,n,y]),j=a.useCallback(async O=>{if(b)return await i(b,O)},[b,i]),k=a.useCallback(async()=>{if(b)return await s(b)},[b,s]),_=a.useCallback(async()=>b?await p(b):[],[b,p]),v=a.useCallback(async()=>b?await f(b):[],[b,f]),P=a.useCallback(async(O,U)=>{if(b)return await c(b,O,U)},[b,c]),C=a.useCallback(async O=>{if(b)return await h(b,O)},[b,h]),E=a.useCallback(async(O,U)=>{if(b)return await l(b,O,U)},[b,l]),T=a.useCallback(async O=>{if(b)return await u(b,O)},[b,u]),R=a.useCallback(async(O,U)=>{if(b)return await g(b,O,U)},[b,g]),w=a.useCallback(async(O,U)=>{if(b)return await x(b,O,U)},[b,x]),I=r||$,M=o||S;return I?{activeWorkspace:null,loading:!0,error:M,refetch:t,leave:null,updateWorkspace:null,deleteWorkspace:null,getMembers:null,getRoles:null,createRole:null,deleteRole:null,inviteMember:null,removeMember:null,addMemberRole:null,removeMemberRole:null}:{activeWorkspace:b,loading:!1,error:M,refetch:t,leave:z,updateWorkspace:j,deleteWorkspace:k,getMembers:_,getRoles:v,createRole:P,deleteRole:C,inviteMember:E,removeMember:T,addMemberRole:R,removeMemberRole:w}},lu=async t=>(await G(await t("/me"))).data,du=async t=>(await G(await t("/me/signins"))).data;function sr(){const{client:t,loading:r}=Fe(),{data:o,error:n,isLoading:i,mutate:s}=Ne(r?null:"/user",()=>lu(t)),p=async I=>{const M=new FormData;for(const[U,F]of Object.entries(I))F!=null&&F!==""&&M.append(U,String(F));const O=await G(await t("/me",{method:"POST",body:M}));return s(),O},f=async()=>await G(await t("/me/email-addresses",{method:"GET"})),c=async I=>await G(await t(`/me/email-addresses/${I}`,{method:"GET"})),h=async I=>{const M=new FormData;return M.append("email",I),await G(await t("/me/email-addresses",{method:"POST",body:M}))},l=async I=>await G(await t(`/me/email-addresses/${I}/delete`,{method:"POST"})),u=async I=>await G(await t(`/me/email-addresses/${I}/prepare-verification`,{method:"POST"})),g=async(I,M)=>await G(await t(`/me/email-addresses/${I}/attempt-verification?code=${M}`,{method:"POST"})),x=async(I,M)=>{const O=new FormData;return O.append("phone_number",I),O.append("country_code",M),await G(await t("/me/phone-numbers",{method:"POST",body:O}))},m=async I=>await G(await t(`/me/phone-numbers/${I}/delete`,{method:"POST"})),y=async I=>await G(await t(`/me/phone-numbers/${I}/prepare-verification`,{method:"POST"})),$=async(I,M)=>{const O=new FormData;return O.append("code",M),await G(await t(`/me/phone-numbers/${I}/attempt-verification`,{method:"POST",body:O}))},S=async I=>{const M=await G(await t(`/me/phone-numbers/${I}/make-primary`,{method:"POST"}));return s(),M},b=async I=>await G(await t(`/me/email-addresses/${I}/make-primary`,{method:"POST"})),z=async()=>(await G(await t("/me/authenticator",{method:"POST"}))).data,j=async(I,M)=>{const O=new FormData;return O.append("authenticator_id",I),M.forEach(F=>{O.append("codes",F)}),await G(await t("/me/authenticator/attempt-verification",{method:"POST",body:O}))},k=async I=>await G(await t(`/me/authenticator/${I}/delete`,{method:"POST"})),_=async()=>(await G(await t("/me/backup-codes",{method:"POST"}))).data,v=async I=>{const M=new FormData;return M.append("file",I),await G(await t("/me/profile-picture",{method:"POST",body:M}))},P=async()=>(await G(await t("/me/backup-codes/regenerate",{method:"POST"}))).data,C=async(I,M)=>{const O=new FormData;return O.append("current_password",I),O.append("new_password",M),await G(await t("/me/update-password",{method:"POST",body:O}))},E=async I=>{const M=new FormData;M.append("current_password",I);const O=await G(await t("/me/remove-password",{method:"POST",body:M}));return s(),O},T=async I=>{const M=new FormData;return M.append("password",I),await G(await t("/me/account/delete",{method:"POST",body:M}))},R=async I=>await G(await t(`/me/social-connections/${I}/disconnect`,{method:"POST"})),w=async({provider:I,redirectUri:M})=>{var F;const O=new URLSearchParams({provider:I});M&&O.append("redirect_uri",M);const U=await G(await t(`/me/init-sso-connection?${O.toString()}`,{method:"POST"}));return"data"in U&&((F=U.data)!=null&&F.oauth_url)&&window.open(U.data.oauth_url,"_blank"),U};return{user:{...o,refetch:s},loading:r||i,error:n||null,updateProfile:p,getEmailAddresses:f,getEmailAddress:c,createEmailAddress:h,deleteEmailAddress:l,prepareEmailVerification:u,attemptEmailVerification:g,makeEmailPrimary:b,createPhoneNumber:x,deletePhoneNumber:m,preparePhoneVerification:y,attemptPhoneVerification:$,makePhonePrimary:S,setupAuthenticator:z,verifyAuthenticator:j,deleteAuthenticator:k,generateBackupCodes:_,regenerateBackupCodes:P,updateProfilePicture:v,disconnectSocialConnection:R,connectSocialAccount:w,updatePassword:C,removePassword:E,deleteAccount:T}}function fc(){const{client:t,loading:r}=Fe(),{data:o,error:n,isLoading:i,mutate:s}=Ne(r?null:"/me/signins",()=>du(t));return{signins:o,error:n||null,removeSignin:async f=>await G(await t(`/me/signins/${f}/signout`,{method:"POST"})),refetch:s,loading:i||r}}function uu(){const{session:t,loading:r}=Be(),{loading:o,organizationMemberships:n}=yt(),{loading:i,workspaceMemberships:s}=Qo();if(r||o||i)return{loading:!0,orgMembership:null,workspaceMembership:null};const p=a.useMemo(()=>!t||!t.signins||t.signins.length===0?null:n==null?void 0:n.find(c=>{var h;return c.id===((h=t.active_signin)==null?void 0:h.active_organization_membership_id)}),[t]),f=a.useMemo(()=>!t||!t.signins||t.signins.length===0?null:s==null?void 0:s.find(c=>{var h;return c.id===((h=t.active_signin)==null?void 0:h.active_workspace_membership_id)}),[t]);return{loading:!1,orgMembership:p,workspaceMembership:f}}function gc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),i=async s=>{n(!0);try{const p=new FormData;for(const[h,l]of Object.entries(s))l&&p.append(h,l);const f=await t("/waitlist/join",{method:"POST",body:p});return await G(f)}finally{n(!1)}};return r?{loading:!0,joinWaitlist:null}:{loading:o,joinWaitlist:i}}function mc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),[i,s]=a.useState(null),[p,f]=a.useState(null),[c,h]=a.useState(null),[l,u]=a.useState(!1),[g,x]=a.useState(null);a.useEffect(()=>{if(l||r)return;const y=new URLSearchParams(window.location.search),$=y.get("code"),S=y.get("state"),b=y.get("error"),z=y.get("error_description");if(!$&&!b){u(!0);const j=new Error("No OAuth callback data found.");s(j);return}if(u(!0),n(!0),b){const j=z||b,k=new Error(`OAuth Error: ${j}`);s(k),n(!1);return}if($&&S)m($,S);else{const j=new Error("Missing required OAuth parameters");s(j),n(!1)}},[l,r]);const m=async(y,$)=>{try{let S,b;try{const k=$.split(".");if(k.length!==2)throw new Error("Invalid OAuth state format - missing signature");const _=k[0].replace(/-/g,"+").replace(/_/g,"/"),v=_.length%4?"=".repeat(4-_.length%4):"",C=atob(_+v).split("|")[0];if(C==="sign_in")S="/auth/oauth2/callback",b="GET";else if(C==="connect_social")S="/me/sso-connection-callback",b="POST";else throw new Error(`Unknown OAuth action: ${C}`)}catch(k){const _=k instanceof Error?k:new Error("Failed to parse OAuth state");s(new Error(`Invalid OAuth callback: ${_.message}. The authorization link may be expired or malformed. Please try signing in again.`)),n(!1);return}const z=await t(`${S}?code=${encodeURIComponent(y)}&state=${encodeURIComponent($)}`,{method:b}),j=await G(z);if("data"in j){const k=j.data.session,_=j.data.redirect_uri||null;if(f(k),h(_),k.signin_attempts&&k.signin_attempts.length>0){const v=k.signin_attempts.at(-1);v&&x(v)}}else{const k=new Error("SSO callback failed");s(k)}}catch(S){const b=S instanceof Error?S:new Error("Unknown error occurred");s(b)}finally{n(!1)}};return{loading:o,error:i,session:p,redirectUri:c,processed:l,signinAttempt:g}}function xc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),[i,s]=a.useState(null);return{loading:r||o,verifyMagicLink:async f=>{if(!f.token||!f.attempt)throw new Error("Invalid magic link parameters");n(!0),s(null);try{const c=new URL("/auth/verify-magic-link",window.location.origin);c.searchParams.set("token",f.token),c.searchParams.set("attempt",f.attempt),f.redirectUri&&c.searchParams.set("redirect_uri",f.redirectUri);const h=await t(c.pathname+c.search,{method:"GET"}),l=await G(h);return n(!1),s(!0),l}catch(c){throw n(!1),s(!1),c}},success:i}}function vc(){const[t,r]=a.useState({});return a.useEffect(()=>{const o=new URLSearchParams(window.location.search);r({token:o.get("token")||void 0,attempt:o.get("attempt")||void 0,redirectUri:o.get("redirect_uri")||void 0})},[]),t}function bc(){const{client:t,loading:r}=Fe();return{loading:r,forgotPassword:async s=>{const p=new FormData;p.append("email",s);const f=await t("/auth/forgot-password",{method:"POST",body:p});return await G(f)},verifyOtp:async(s,p)=>{const f=new FormData;f.append("email",s),f.append("otp",p);const c=await t("/auth/forgot-password",{method:"POST",body:f});return await G(c)},resetPassword:async(s,p)=>{const f=new FormData;f.append("token",s),f.append("password",p);const c=await t("/auth/reset-password",{method:"POST",body:f});return await G(c)}}}function yc({enabled:t=!0,channels:r,organizationIds:o,workspaceIds:n,onNotification:i,onError:s,reconnectDelay:p=1e3,maxReconnectAttempts:f=5}={}){const{session:c,loading:h}=Be(),{deployment:l,loading:u}=me(),[g,x]=a.useState(!1),[m,y]=a.useState(null),$=a.useRef(null),S=a.useRef(null),b=a.useRef(0),z=a.useRef(null),j=a.useRef(i),k=a.useRef(s),_=a.useRef(r),v=a.useRef(o),P=a.useRef(n),C=a.useRef(p),E=a.useRef(f);j.current=i,k.current=s,_.current=r,v.current=o,P.current=n,C.current=p,E.current=f;const T=a.useCallback(()=>{S.current&&(clearTimeout(S.current),S.current=null),z.current&&(clearInterval(z.current),z.current=null),$.current&&($.current.close(),$.current=null)},[]),R=a.useCallback(async()=>{var F;if(!t||h||u||!c||!l)return;T();const M=new URL(l.backend_host),O=M.protocol==="https:"?"wss:":"ws:",U=new URL("/realtime/notifications",`${O}//${M.host}`);if(l.mode==="staging"){const L=localStorage.getItem("__dev_session__");L&&U.searchParams.set("__dev_session__",L)}_.current&&_.current.length>0&&_.current.forEach(L=>U.searchParams.append("channels",L)),v.current&&v.current.length>0&&v.current.forEach(L=>U.searchParams.append("organization_ids",L.toString())),P.current&&P.current.length>0&&P.current.forEach(L=>U.searchParams.append("workspace_ids",L.toString()));try{const L=new WebSocket(U.toString());$.current=L,L.onopen=()=>{x(!0),y(null),b.current=0,z.current=setInterval(()=>{L.readyState===WebSocket.OPEN&&L.send("ping")},3e4)},L.onmessage=A=>{var Q,ee;try{const W=JSON.parse(A.data);if(W.type==="notification"&&W.data)(Q=j.current)==null||Q.call(j,W.data);else if(W.type==="error"){const K=W.error||"Unknown error occurred";y(K),(ee=k.current)==null||ee.call(k,K)}else W.type}catch{}},L.onerror=()=>{var A;y("Connection error occurred"),(A=k.current)==null||A.call(k,"Connection error occurred")},L.onclose=A=>{var Q;if(x(!1),z.current&&(clearInterval(z.current),z.current=null),t&&A.code!==1e3&&b.current<E.current){b.current++;const ee=C.current*Math.pow(2,b.current-1);S.current=setTimeout(()=>{R()},ee)}else b.current>=E.current&&(y("Max reconnection attempts reached"),(Q=k.current)==null||Q.call(k,"Max reconnection attempts reached"))}}catch{y("Failed to connect"),(F=k.current)==null||F.call(k,"Failed to connect")}},[t,h,u,c,l,T]);a.useEffect(()=>(R(),()=>{T()}),[R,T]),a.useEffect(()=>{$.current&&$.current.readyState===WebSocket.OPEN&&R()},[r,o,n,R]);const w=a.useCallback(()=>{T(),x(!1)},[T]),I=a.useCallback(()=>{b.current=0,R()},[R]);return{isConnected:g,connectionError:m,disconnect:w,reconnect:I}}async function pu(t,r){const o=new URLSearchParams;r&&(r.limit&&o.append("limit",r.limit.toString()),r.offset&&o.append("offset",r.offset.toString()),r.channels&&r.channels.forEach(p=>o.append("channels",p)),r.organization_ids&&r.organization_ids.forEach(p=>o.append("organization_ids",p.toString())),r.workspace_ids&&r.workspace_ids.forEach(p=>o.append("workspace_ids",p.toString())),r.is_read!==void 0&&o.append("is_read",r.is_read.toString()),r.is_archived!==void 0&&o.append("is_archived",r.is_archived.toString()),r.severity&&o.append("severity",r.severity));const n=`/notifications${o.toString()?"?"+o.toString():""}`,i=await t(n,{method:"GET"});return(await G(i)).data}async function hu(t){const r=await t("/notifications/channel-counts",{method:"GET"});return(await G(r)).data}async function fu(t,r){const o=await t(`/notifications/${r}/read`,{method:"POST"});return G(o)}async function gu(t){const r=await t("/notifications/mark-all-read",{method:"POST"});return G(r)}async function mu(t,r){const o=await t(`/notifications/${r}/delete`,{method:"POST"});return G(o)}function wc(t){const{client:r,loading:o}=Fe(),{data:n,error:i,mutate:s,isLoading:p}=Ne(o?null:`wacht-notifications:${JSON.stringify(t)}`,()=>pu(r,t),{refreshInterval:6e4,revalidateOnFocus:!0});yc({enabled:!o&&!!n,onNotification:a.useCallback(u=>{s(async g=>!g||g.notifications.some(m=>m.id===u.id.toString())?g:{...g,notifications:[{id:u.id.toString(),user_id:u.user_id.toString(),deployment_id:u.deployment_id.toString(),title:u.title,body:u.body,severity:u.severity,action_url:u.action_url,action_label:u.action_label,is_read:!1,is_archived:!1,created_at:u.created_at,updated_at:u.created_at},...g.notifications],unread_count:g.unread_count+1,total:g.total+1},!1)},[s]),onError:a.useCallback(()=>{},[])});const f=a.useCallback(async u=>{o||(await s(async g=>g&&{...g,notifications:g.notifications.map(x=>x.id===u?{...x,is_read:!0}:x),unread_count:Math.max(0,g.unread_count-1)},!1),await fu(r,u),await s())},[r,o,s]),c=a.useCallback(async()=>{o||(await s(async u=>u&&{...u,notifications:u.notifications.map(g=>({...g,is_read:!0})),unread_count:0},!1),await gu(r),await s())},[r,s]),h=a.useCallback(async u=>{o||(await s(async g=>{if(!g)return g;const x=g.notifications.find(m=>m.id===u);return{...g,notifications:g.notifications.filter(m=>m.id!==u),unread_count:x&&!x.is_read?Math.max(0,g.unread_count-1):g.unread_count,total:Math.max(0,g.total-1)}},!1),await mu(r,u),await s())},[r,o,s]),l=a.useCallback(async()=>{await s()},[s]);return!n||o||p?{loading:!0,notifications:void 0,unreadCount:void 0,unreadCounts:void 0,channels:void 0,hasMore:void 0,markAsRead:void 0,markAllAsRead:void 0,deleteNotification:void 0,error:i,refetch:l}:{loading:!1,error:i,notifications:n.notifications,unreadCount:n.unread_count,unreadCounts:n.unread_counts,channels:n.channels,hasMore:n.has_more,markAsRead:f,markAllAsRead:c,deleteNotification:h,refetch:l}}async function xu(t){const r=await t("/notifications/channel-counts",{method:"GET"});return(await G(r)).data}function vu(){const{client:t,loading:r}=Fe(),{data:o,error:n,mutate:i}=Ne(r?null:"wacht-notifications:channel-counts",()=>xu(t),{refreshInterval:3e4,revalidateOnFocus:!0}),s=async()=>{await i()};return!o||r?{loading:!0,counts:void 0,error:n,refetch:s}:{loading:!1,counts:o,error:n,refetch:s}}const Yt=class Yt{constructor(){tt(this,"ws",null);tt(this,"messageHandlers",new Set);tt(this,"connectionStateHandlers",new Set);tt(this,"reconnectTimer",null);tt(this,"reconnectAttempts",0);tt(this,"url",null);tt(this,"isIntentionalDisconnect",!1);tt(this,"sessionMessages",{});tt(this,"currentSessionKey",null)}static getInstance(){return Yt.instance||(Yt.instance=new Yt),Yt.instance}connect(r){var o,n;if(this.url=r,this.isIntentionalDisconnect=!1,((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN&&this.url===r){this.notifyConnectionState({isConnected:!0});return}((n=this.ws)==null?void 0:n.readyState)!==WebSocket.CONNECTING&&this.createConnection()}createConnection(){if(this.url)try{this.ws=new WebSocket(this.url),this.ws.onopen=()=>{this.reconnectAttempts=0,this.notifyConnectionState({isConnected:!0})},this.ws.onmessage=r=>{try{const o=JSON.parse(r.data);this.notifyMessageHandlers(o)}catch{}},this.ws.onerror=()=>{this.notifyConnectionState({isConnected:!1,error:"Connection error"})},this.ws.onclose=()=>{this.ws=null,this.notifyConnectionState({isConnected:!1}),this.isIntentionalDisconnect||this.scheduleReconnect()}}catch(r){this.notifyConnectionState({isConnected:!1,error:r instanceof Error?r.message:"Failed to connect"})}}scheduleReconnect(){this.reconnectAttempts++;const r=Math.min(1e3*Math.pow(2,this.reconnectAttempts-1),3e4),o=Math.random()*.3*r,n=Math.floor(r+o);this.reconnectTimer=setTimeout(()=>{this.createConnection()},n)}disconnect(){this.isIntentionalDisconnect=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null)}send(r){var o;if(((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN){const n=JSON.stringify(r);this.ws.send(n)}}onMessage(r){return this.messageHandlers.add(r),()=>{this.messageHandlers.delete(r)}}onConnectionStateChange(r){var o;return this.connectionStateHandlers.add(r),r({isConnected:((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN}),()=>{this.connectionStateHandlers.delete(r)}}notifyMessageHandlers(r){this.messageHandlers.forEach(o=>{try{o(r)}catch{}})}notifyConnectionState(r){this.connectionStateHandlers.forEach(o=>{try{o(r)}catch{}})}isConnected(){var r;return((r=this.ws)==null?void 0:r.readyState)===WebSocket.OPEN}setCurrentSession(r){this.currentSessionKey=r,this.sessionMessages[r]||(this.sessionMessages[r]=[])}addMessage(r){this.currentSessionKey&&(this.sessionMessages[this.currentSessionKey]||(this.sessionMessages[this.currentSessionKey]=[]),this.sessionMessages[this.currentSessionKey].push(r))}getSessionMessages(r){return this.sessionMessages[r]||[]}clearSessionMessages(r){this.sessionMessages[r]&&(this.sessionMessages[r]=[])}};tt(Yt,"instance");let ss=Yt;const Ke=ss.getInstance(),xt={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error"},Ae={IDLE:"idle",STARTING:"starting",RUNNING:"running",WAITING_FOR_INPUT:"waiting_for_input",COMPLETED:"completed",FAILED:"failed"},Ot={IDLE:"Idle",STARTING:"Starting",RUNNING:"Running",WAITING_FOR_INPUT:"WaitingForInput",COMPLETED:"Completed",FAILED:"Failed",CANCELLED:"Cancelled"};function Gs(t){switch(t){case Ot.IDLE:return Ae.IDLE;case Ot.STARTING:return Ae.STARTING;case Ot.RUNNING:return Ae.RUNNING;case Ot.WAITING_FOR_INPUT:return Ae.WAITING_FOR_INPUT;case Ot.COMPLETED:return Ae.COMPLETED;case Ot.FAILED:case Ot.CANCELLED:return Ae.FAILED;default:return Ae.IDLE}}function Hs(t){return t===Ae.STARTING||t===Ae.RUNNING||t===Ae.WAITING_FOR_INPUT}function jc({contextId:t,agentName:r,token:o,platformAdapter:n,autoConnect:i=!0}){const{deployment:s}=me(),{client:p}=Fe(),[f,c]=a.useState([]),[h,l]=a.useState(null),[u,g]=a.useState(null),[x,m]=a.useState(!1),[y,$]=a.useState(!1),[S,b]=a.useState(Ae.IDLE),[z,j]=a.useState({status:xt.DISCONNECTED}),[k,_]=a.useState(!0),[v,P]=a.useState(!1),C=a.useRef(null),E=a.useRef(null),T=a.useCallback(W=>{var K,oe;switch(W.message_type){case"session_connected":if(m(!0),j({status:xt.CONNECTED}),(K=W.data)!=null&&K.execution_status){const de=W.data.execution_status,ne=Gs(de);b(ne),$(Hs(ne))}break;case"conversation_message":R(W.data);break;case"user_input_request":w(W.data);break;case"platform_event":I(W.data);break;case"platform_function":M(W.data);break;case"execution_complete":$(!1),b(Ae.IDLE),E.current=null;break;case"execution_error":$(!1),b(Ae.FAILED),E.current=null;break;case"execution_cancelled":$(!1),b(Ae.IDLE),E.current=null;break;case"execution_status":const te=(oe=W.data)==null?void 0:oe.status;if(te){const de=Gs(te);b(de),$(Hs(de))}break}},[h]),R=a.useCallback(W=>{var ne,ue,X,ae,Z,q,B,ie;const{id:K,message_type:oe,content:te}=W,de=H=>f.some(se=>se.id===H);if(oe==="system_decision"||oe==="action_execution_result"||oe==="assistant_task_breakdown"||oe==="assistant_validation"||oe==="assistant_action_planning"||oe==="context_results"){l(null),g(null);let H="";if(oe==="system_decision"){const se=te==null?void 0:te.step,we=te==null?void 0:te.reasoning;if(se==="gathercontext")we&&we.length>0?H=we.length>60?`${we.substring(0,60)}...`:we:H="Gathering context...";else if(se==="executeaction")H="Executing action";else if(se==="deliverresponse")H="Preparing response";else if(se==="taskplanning")H="Planning approach";else if(se==="validateprogress")H="Validating progress";else if(se==="acknowledge")H="Processing request";else if(se==="finishplanning")H="Finalizing plan";else if(se==="executetasks")H="Executing tasks";else if(se==="requestuserinput")H="Waiting for input";else if(se==="complete")H="Completed";else if(se==="examinetool")H="Examining tool";else if(se==="examineworkflow")H="Examining workflow";else{const xe=(te==null?void 0:te.confidence)||.5;xe>.8?H="Analyzing":xe>.6?H="Thinking":H="Reasoning"}}else if(oe==="action_execution_result")((ne=te.task_execution)==null?void 0:ne.status)==="completed"?H="Task execution completed":(ue=te.task_execution)!=null&&ue.approach?H=te.task_execution.approach:H="Executing task";else if(oe==="assistant_task_breakdown")(X=te.task_breakdown)!=null&&X.total_tasks?H=`Identified ${te.task_breakdown.total_tasks} tasks`:H="Planning tasks";else if(oe==="assistant_validation")H="Validated results";else if(oe==="assistant_action_planning")(ae=te.task_execution)!=null&&ae.total_tasks?H=`Planned ${te.task_execution.total_tasks} tasks`:(q=(Z=te.task_execution)==null?void 0:Z.tasks)!=null&&q.length?H=`Planned ${te.task_execution.tasks.length} tasks`:H="Planning actions";else if(oe==="context_results"){const se=te.query,we=te.result_count||0;se&&se!=="General context gathering"?H=`${se}: Found ${we} results`:H=`Found ${we} results`}H&&!de(K)&&c(se=>[...se,{id:K,role:"system",content:H,timestamp:new Date,metadata:{type:"log",messageType:oe}}]);return}if(oe==="user_message")de(K)||(l(null),g(null),c(H=>[...H,{id:K,role:"user",content:te.message,images:te.images,timestamp:new Date}]));else if(oe==="agent_response")de(K)||(l(null),g(null),$(!1),b(Ae.IDLE),E.current=null,c(H=>[...H,{id:K,role:"assistant",content:te.response,timestamp:new Date,isStreaming:!1}]));else if(oe==="assistant_acknowledgment")de(K)||(l(null),g(null),c(H=>[...H,{id:K,role:"assistant",content:te.acknowledgment_message,timestamp:new Date}]));else if(oe==="assistant_ideation"||oe==="assistant_action_planning"||oe==="action_execution_result"||oe==="assistant_validation"||oe==="assistant_context_gathering"||oe==="assistant_task_breakdown"){let H="";if(te.reasoning_summary)H=te.reasoning_summary;else if((B=te.task_execution)!=null&&B.approach)H=te.task_execution.approach;else if(te.strategic_synthesis)H=te.strategic_synthesis;else if((ie=te.task_breakdown)!=null&&ie.total_tasks)H=`Breaking down into ${te.task_breakdown.total_tasks} tasks...`;else if(te.acknowledgment_message)H=te.acknowledgment_message;else return;c(se=>[...se,{id:K,role:"assistant",content:H,timestamp:new Date}])}else if(oe==="user_input_request"){const H={question:te.question,context:te.context,input_type:te.input_type,options:te.options||te.suggestions,default_value:te.default_value,placeholder:te.placeholder};b("waiting_for_input"),c(se=>[...se,{id:K,role:"system",content:H.question,timestamp:new Date,metadata:{type:"user_input_request",userInputRequest:H}}])}},[]),w=a.useCallback(async W=>{b("waiting_for_input");const K=`input-request-${Date.now()}`;c(oe=>[...oe,{id:K,role:"system",content:W.question,timestamp:new Date,metadata:{type:"user_input_request",userInputRequest:W}}])},[]),I=a.useCallback(W=>{const{event_label:K,event_data:oe}=W;n!=null&&n.onPlatformEvent&&n.onPlatformEvent(K,oe)},[n]),M=a.useCallback(async W=>{const{function_name:K,function_data:oe}=W,{parameters:te,execution_id:de}=oe;if(!(n!=null&&n.onPlatformFunction)){Ke.send({message_type:{platform_function_result:[de,{error:"No platform function handler registered"}]},data:{}});return}try{const ne=await n.onPlatformFunction(K,te,de),ue={message_type:{platform_function_result:[de,ne]},data:{}};Ke.send(ue)}catch(ne){Ke.send({message_type:{platform_function_result:[de,{error:ne instanceof Error?ne.message:"Function execution failed",stack:ne instanceof Error?ne.stack:void 0}]},data:{}})}},[n]);a.useEffect(()=>{if(!s)return;const K=`wss://${s==null?void 0:s.backend_host.replace(/https?:\/\//,"")}/realtime/agent?token=${encodeURIComponent(o)}`;j({status:xt.CONNECTING}),Ke.connect(K)},[s,o]),a.useEffect(()=>Ke.onConnectionStateChange(K=>{j({status:K.isConnected?xt.CONNECTED:K.error?xt.ERROR:xt.DISCONNECTED}),m(K.isConnected)}),[]),a.useEffect(()=>Ke.onMessage(T),[T]),a.useEffect(()=>{x&&t&&r&&i&&Ke.send({message_type:{session_connect:[t,r]},data:{}})},[x,t,r,i]);const O=a.useCallback(async()=>(x&&t&&r&&Ke.send({message_type:{session_connect:[t,r]},data:{}}),()=>{}),[x,t,r]),U=a.useCallback((W,K)=>{x&&(l(W),g(K||null),$(!0),b(Ae.STARTING),Ke.send({message_type:{message_input:W},data:K?{images:K}:{}}))},[x]),F=a.useCallback(()=>{c([]),E.current=null},[]),L=a.useCallback(W=>{!x||S!==Ae.WAITING_FOR_INPUT||(Ke.send({message_type:{user_input_response:W},data:{}}),b(Ae.RUNNING))},[x,S]),A=a.useCallback(async W=>{var K;if(!(!o||!t))try{const oe=new URLSearchParams({token:o,limit:"50"});W&&(oe.append("before_id",W),P(!0));const de=await(await p(`/api/agent/contexts/${t}/messages?${oe}`,{method:"GET"})).json();if(de.status===200&&de.data){const ne=de.data;if(Array.isArray(ne.data)){const ue=ne.data.filter(X=>{var q;let ae=X.content;if(typeof X.content=="string")try{ae=JSON.parse(X.content)}catch{ae={message:X.content}}const Z=((q=X.metadata)==null?void 0:q.message_type)||(ae==null?void 0:ae.message_type);return Z==="user_message"||Z==="agent_response"||Z==="assistant_acknowledgment"||Z==="user_input_request"||Z==="system_decision"||Z==="action_execution_result"||Z==="assistant_task_breakdown"||Z==="assistant_validation"||Z==="assistant_action_planning"||Z==="context_results"}).map(X=>{var H,se,we,xe,ge,V,D;let ae="",Z,q,B=X.content;if(typeof X.content=="string")try{B=JSON.parse(X.content)}catch{B=X.content}const ie=((H=X.metadata)==null?void 0:H.message_type)||(B==null?void 0:B.message_type);if(ie==="user_message"?(ae=(B==null?void 0:B.message)||"",Z=(B==null?void 0:B.images)||void 0):ie==="agent_response"?ae=(B==null?void 0:B.response)||"":ie==="assistant_acknowledgment"?ae=(B==null?void 0:B.acknowledgment_message)||"":ie==="user_input_request"&&(ae=(B==null?void 0:B.question)||"",q={type:"user_input_request",userInputRequest:{question:(B==null?void 0:B.question)||"",context:(B==null?void 0:B.context)||"",input_type:(B==null?void 0:B.input_type)||"text",options:(B==null?void 0:B.options)||(B==null?void 0:B.suggestions)||[],default_value:(B==null?void 0:B.default_value)||"",placeholder:(B==null?void 0:B.placeholder)||""}}),ie==="system_decision"||ie==="action_execution_result"||ie==="assistant_task_breakdown"||ie==="assistant_validation"||ie==="assistant_action_planning"||ie==="context_results"){let N="";if(ie==="system_decision"){const re=B==null?void 0:B.step,pe=B==null?void 0:B.reasoning;if(re==="gathercontext")pe&&pe.length>0?N=pe.length>60?`${pe.substring(0,60)}...`:pe:N="Gathering context...";else if(re==="executeaction")N="Executing action";else if(re==="deliverresponse")N="Preparing response";else if(re==="taskplanning")N="Planning approach";else if(re==="validateprogress")N="Validating progress";else if(re==="acknowledge")N="Processing request";else if(re==="finishplanning")N="Finalizing plan";else if(re==="executetasks")N="Executing tasks";else if(re==="requestuserinput")N="Waiting for input";else if(re==="complete")N="Completed";else if(re==="examinetool")N="Examining tool";else if(re==="examineworkflow")N="Examining workflow";else{const J=(B==null?void 0:B.confidence)||.5;J>.8?N="Analyzing":J>.6?N="Thinking":N="Reasoning"}}else if(ie==="action_execution_result")((se=B==null?void 0:B.task_execution)==null?void 0:se.status)==="completed"?N="Task execution completed":(we=B==null?void 0:B.task_execution)!=null&&we.approach?N=B.task_execution.approach:N="Executing task";else if(ie==="assistant_task_breakdown")(xe=B==null?void 0:B.task_breakdown)!=null&&xe.total_tasks?N=`Identified ${B.task_breakdown.total_tasks} tasks`:N="Planning tasks";else if(ie==="assistant_validation")N="Validated results";else if(ie==="assistant_action_planning")(ge=B==null?void 0:B.task_execution)!=null&&ge.total_tasks?N=`Planned ${B.task_execution.total_tasks} tasks`:(D=(V=B==null?void 0:B.task_execution)==null?void 0:V.tasks)!=null&&D.length?N=`Planned ${B.task_execution.tasks.length} tasks`:N="Planning actions";else if(ie==="context_results"){const re=B==null?void 0:B.query,pe=(B==null?void 0:B.result_count)||0;re&&re!=="General context gathering"?N=`${re}: Found ${pe} results`:N=`Found ${pe} results`}ae=N,q={type:"log",messageType:ie}}return{id:X.id,role:ie==="user_message"?"user":ie==="user_input_request"?"system":"assistant",content:ae,images:Z,timestamp:new Date(X.timestamp||X.created_at||Date.now()),metadata:q}}).filter(X=>X.content||X.metadata||X.images).sort((X,ae)=>{const Z=BigInt(X.id),q=BigInt(ae.id);return Z<q?-1:Z>q?1:0});ue.length>0&&(C.current=ue[0].id),W?(c(X=>[...ue,...X]),_(ue.length>=50)):(c(ue),ue.length>0&&((K=ue[ue.length-1].metadata)==null?void 0:K.type)==="user_input_request"&&b(Ae.WAITING_FOR_INPUT)),P(!1)}}}catch(oe){console.error("Failed to fetch messages:",oe),P(!1)}},[o,t,p]);a.useEffect(()=>{t&&o&&A()},[t,o]);const Q=a.useCallback(async()=>{if(!(v||!k||!C.current)){P(!0);try{await A(C.current)}finally{P(!1)}}},[v,k,A]),ee=a.useCallback(()=>{!x||!y||(Ke.send({message_type:{cancel_execution:null},data:{}}),$(!1),b("idle"))},[x,y]);return{messages:f,pendingMessage:h,pendingImages:u,connectionState:z,isConnected:x,isExecuting:y,executionStatus:S,isWaitingForInput:S==="waiting_for_input",hasMoreMessages:k,isLoadingMore:v,sendMessage:U,submitUserInput:L,clearMessages:F,loadMoreMessages:Q,cancelExecution:ee,connect:O,disconnect:()=>Ke.disconnect()}}const _c=()=>{const{client:t}=Fe(),[r,o]=a.useState(!1),[n,i]=a.useState(null),[s,p]=a.useState(null),f=a.useCallback(async h=>{o(!0),i(null),p(null);try{const l=await t("/organizations/invitations/accept",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:h})}),g=(await G(l)).data;return p(g),g.error_code&&i(g.message||"Failed to accept invitation"),g}catch(l){const u=l.message||"Failed to accept invitation";i(u);const g={error_code:"NETWORK_ERROR",message:u};return p(g),g}finally{o(!1)}},[t]),c=a.useCallback(()=>{i(null),p(null)},[]);return{acceptInvitation:f,invitationData:s,loading:r,error:n,reset:c}},bu=({children:t})=>{const{loading:r}=me();return r?null:e.jsx(e.Fragment,{children:t})},yu=({children:t})=>{const{loading:r}=me();return r?e.jsx(e.Fragment,{children:t}):null};var qe=function(){return qe=Object.assign||function(r){for(var o,n=1,i=arguments.length;n<i;n++){o=arguments[n];for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])}return r},qe.apply(this,arguments)};function tr(t,r,o){if(o||arguments.length===2)for(var n=0,i=r.length,s;n<i;n++)(s||!(n in r))&&(s||(s=Array.prototype.slice.call(r,0,n)),s[n]=r[n]);return t.concat(s||Array.prototype.slice.call(r))}function wu(t){var r=Object.create(null);return function(o){return r[o]===void 0&&(r[o]=t(o)),r[o]}}var ju=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,_u=wu(function(t){return ju.test(t)||t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)<91}),Ie="-ms-",Fr="-moz-",ze="-webkit-",kc="comm",Ko="rule",ws="decl",ku="@import",Cc="@keyframes",Cu="@layer",Sc=Math.abs,js=String.fromCharCode,is=Object.assign;function Su(t,r){return Ue(t,0)^45?(((r<<2^Ue(t,0))<<2^Ue(t,1))<<2^Ue(t,2))<<2^Ue(t,3):0}function zc(t){return t.trim()}function mt(t,r){return(t=r.exec(t))?t[0]:t}function be(t,r,o){return t.replace(r,o)}function Po(t,r,o){return t.indexOf(r,o)}function Ue(t,r){return t.charCodeAt(r)|0}function yr(t,r,o){return t.slice(r,o)}function ct(t){return t.length}function $c(t){return t.length}function Ar(t,r){return r.push(t),t}function zu(t,r){return t.map(r).join("")}function qs(t,r){return t.filter(function(o){return!mt(o,r)})}var Xo=1,wr=1,Ec=0,Xe=0,De=0,Sr="";function Jo(t,r,o,n,i,s,p,f){return{value:t,root:r,parent:o,type:n,props:i,children:s,line:Xo,column:wr,length:p,return:"",siblings:f}}function zt(t,r){return is(Jo("",null,null,"",null,null,0,t.siblings),t,{length:-t.length},r)}function lr(t){for(;t.root;)t=zt(t.root,{children:[t]});Ar(t,t.siblings)}function $u(){return De}function Eu(){return De=Xe>0?Ue(Sr,--Xe):0,wr--,De===10&&(wr=1,Xo--),De}function rt(){return De=Xe<Ec?Ue(Sr,Xe++):0,wr++,De===10&&(wr=1,Xo++),De}function Qt(){return Ue(Sr,Xe)}function Ro(){return Xe}function en(t,r){return yr(Sr,t,r)}function as(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Iu(t){return Xo=wr=1,Ec=ct(Sr=t),Xe=0,[]}function Pu(t){return Sr="",t}function xn(t){return zc(en(Xe-1,cs(t===91?t+2:t===40?t+1:t)))}function Ru(t){for(;(De=Qt())&&De<33;)rt();return as(t)>2||as(De)>3?"":" "}function Tu(t,r){for(;--r&&rt()&&!(De<48||De>102||De>57&&De<65||De>70&&De<97););return en(t,Ro()+(r<6&&Qt()==32&&rt()==32))}function cs(t){for(;rt();)switch(De){case t:return Xe;case 34:case 39:t!==34&&t!==39&&cs(De);break;case 40:t===41&&cs(t);break;case 92:rt();break}return Xe}function Mu(t,r){for(;rt()&&t+De!==57;)if(t+De===84&&Qt()===47)break;return"/*"+en(r,Xe-1)+"*"+js(t===47?t:rt())}function Ou(t){for(;!as(Qt());)rt();return en(t,Xe)}function Lu(t){return Pu(To("",null,null,null,[""],t=Iu(t),0,[0],t))}function To(t,r,o,n,i,s,p,f,c){for(var h=0,l=0,u=p,g=0,x=0,m=0,y=1,$=1,S=1,b=0,z="",j=i,k=s,_=n,v=z;$;)switch(m=b,b=rt()){case 40:if(m!=108&&Ue(v,u-1)==58){Po(v+=be(xn(b),"&","&\f"),"&\f",Sc(h?f[h-1]:0))!=-1&&(S=-1);break}case 34:case 39:case 91:v+=xn(b);break;case 9:case 10:case 13:case 32:v+=Ru(m);break;case 92:v+=Tu(Ro()-1,7);continue;case 47:switch(Qt()){case 42:case 47:Ar(Au(Mu(rt(),Ro()),r,o,c),c);break;default:v+="/"}break;case 123*y:f[h++]=ct(v)*S;case 125*y:case 59:case 0:switch(b){case 0:case 125:$=0;case 59+l:S==-1&&(v=be(v,/\f/g,"")),x>0&&ct(v)-u&&Ar(x>32?Zs(v+";",n,o,u-1,c):Zs(be(v," ","")+";",n,o,u-2,c),c);break;case 59:v+=";";default:if(Ar(_=Ys(v,r,o,h,l,i,f,z,j=[],k=[],u,s),s),b===123)if(l===0)To(v,r,_,_,j,s,u,f,k);else switch(g===99&&Ue(v,3)===110?100:g){case 100:case 108:case 109:case 115:To(t,_,_,n&&Ar(Ys(t,_,_,0,0,i,f,z,i,j=[],u,k),k),i,k,u,f,n?j:k);break;default:To(v,_,_,_,[""],k,0,f,k)}}h=l=x=0,y=S=1,z=v="",u=p;break;case 58:u=1+ct(v),x=m;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&Eu()==125)continue}switch(v+=js(b),b*y){case 38:S=l>0?1:(v+="\f",-1);break;case 44:f[h++]=(ct(v)-1)*S,S=1;break;case 64:Qt()===45&&(v+=xn(rt())),g=Qt(),l=u=ct(z=v+=Ou(Ro())),b++;break;case 45:m===45&&ct(v)==2&&(y=0)}}return s}function Ys(t,r,o,n,i,s,p,f,c,h,l,u){for(var g=i-1,x=i===0?s:[""],m=$c(x),y=0,$=0,S=0;y<n;++y)for(var b=0,z=yr(t,g+1,g=Sc($=p[y])),j=t;b<m;++b)(j=zc($>0?x[b]+" "+z:be(z,/&\f/g,x[b])))&&(c[S++]=j);return Jo(t,r,o,i===0?Ko:f,c,h,l,u)}function Au(t,r,o,n){return Jo(t,r,o,kc,js($u()),yr(t,2,-2),0,n)}function Zs(t,r,o,n,i){return Jo(t,r,o,ws,yr(t,0,n),yr(t,n+1,-1),n,i)}function Ic(t,r,o){switch(Su(t,r)){case 5103:return ze+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ze+t+t;case 4789:return Fr+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return ze+t+Fr+t+Ie+t+t;case 5936:switch(Ue(t,r+11)){case 114:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return ze+t+Ie+t+t;case 6165:return ze+t+Ie+"flex-"+t+t;case 5187:return ze+t+be(t,/(\w+).+(:[^]+)/,ze+"box-$1$2"+Ie+"flex-$1$2")+t;case 5443:return ze+t+Ie+"flex-item-"+be(t,/flex-|-self/g,"")+(mt(t,/flex-|baseline/)?"":Ie+"grid-row-"+be(t,/flex-|-self/g,""))+t;case 4675:return ze+t+Ie+"flex-line-pack"+be(t,/align-content|flex-|-self/g,"")+t;case 5548:return ze+t+Ie+be(t,"shrink","negative")+t;case 5292:return ze+t+Ie+be(t,"basis","preferred-size")+t;case 6060:return ze+"box-"+be(t,"-grow","")+ze+t+Ie+be(t,"grow","positive")+t;case 4554:return ze+be(t,/([^-])(transform)/g,"$1"+ze+"$2")+t;case 6187:return be(be(be(t,/(zoom-|grab)/,ze+"$1"),/(image-set)/,ze+"$1"),t,"")+t;case 5495:case 3959:return be(t,/(image-set\([^]*)/,ze+"$1$`$1");case 4968:return be(be(t,/(.+:)(flex-)?(.*)/,ze+"box-pack:$3"+Ie+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ze+t+t;case 4200:if(!mt(t,/flex-|baseline/))return Ie+"grid-column-align"+yr(t,r)+t;break;case 2592:case 3360:return Ie+be(t,"template-","")+t;case 4384:case 3616:return o&&o.some(function(n,i){return r=i,mt(n.props,/grid-\w+-end/)})?~Po(t+(o=o[r].value),"span",0)?t:Ie+be(t,"-start","")+t+Ie+"grid-row-span:"+(~Po(o,"span",0)?mt(o,/\d+/):+mt(o,/\d+/)-+mt(t,/\d+/))+";":Ie+be(t,"-start","")+t;case 4896:case 4128:return o&&o.some(function(n){return mt(n.props,/grid-\w+-start/)})?t:Ie+be(be(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return be(t,/(.+)-inline(.+)/,ze+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ct(t)-1-r>6)switch(Ue(t,r+1)){case 109:if(Ue(t,r+4)!==45)break;case 102:return be(t,/(.+:)(.+)-([^]+)/,"$1"+ze+"$2-$3$1"+Fr+(Ue(t,r+3)==108?"$3":"$2-$3"))+t;case 115:return~Po(t,"stretch",0)?Ic(be(t,"stretch","fill-available"),r,o)+t:t}break;case 5152:case 5920:return be(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(n,i,s,p,f,c,h){return Ie+i+":"+s+h+(p?Ie+i+"-span:"+(f?c:+c-+s)+h:"")+t});case 4949:if(Ue(t,r+6)===121)return be(t,":",":"+ze)+t;break;case 6444:switch(Ue(t,Ue(t,14)===45?18:11)){case 120:return be(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+ze+(Ue(t,14)===45?"inline-":"")+"box$3$1"+ze+"$2$3$1"+Ie+"$2box$3")+t;case 100:return be(t,":",":"+Ie)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return be(t,"scroll-","scroll-snap-")+t}return t}function Fo(t,r){for(var o="",n=0;n<t.length;n++)o+=r(t[n],n,t,r)||"";return o}function Du(t,r,o,n){switch(t.type){case Cu:if(t.children.length)break;case ku:case ws:return t.return=t.return||t.value;case kc:return"";case Cc:return t.return=t.value+"{"+Fo(t.children,n)+"}";case Ko:if(!ct(t.value=t.props.join(",")))return""}return ct(o=Fo(t.children,n))?t.return=t.value+"{"+o+"}":""}function Fu(t){var r=$c(t);return function(o,n,i,s){for(var p="",f=0;f<r;f++)p+=t[f](o,n,i,s)||"";return p}}function Nu(t){return function(r){r.root||(r=r.return)&&t(r)}}function Bu(t,r,o,n){if(t.length>-1&&!t.return)switch(t.type){case ws:t.return=Ic(t.value,t.length,o);return;case Cc:return Fo([zt(t,{value:be(t.value,"@","@"+ze)})],n);case Ko:if(t.length)return zu(o=t.props,function(i){switch(mt(i,n=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":lr(zt(t,{props:[be(i,/:(read-\w+)/,":"+Fr+"$1")]})),lr(zt(t,{props:[i]})),is(t,{props:qs(o,n)});break;case"::placeholder":lr(zt(t,{props:[be(i,/:(plac\w+)/,":"+ze+"input-$1")]})),lr(zt(t,{props:[be(i,/:(plac\w+)/,":"+Fr+"$1")]})),lr(zt(t,{props:[be(i,/:(plac\w+)/,Ie+"input-$1")]})),lr(zt(t,{props:[i]})),is(t,{props:qs(o,n)});break}return""})}}var Uu={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},rr=typeof process<"u"&&process.env!==void 0&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",Pc="active",Rc="data-styled-version",tn="6.1.19",_s=`/*!sc*/
18
+ */var Ds;function hd(){return Ds||(Ds=1,process.env.NODE_ENV!=="production"&&function(){function t(x,m){return x===m&&(x!==0||1/x===1/m)||x!==x&&m!==m}function r(x,m){l||i.startTransition===void 0||(l=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var y=m();if(!u){var $=m();s(y,$)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}$=p({inst:{value:y,getSnapshot:m}});var S=$[0].inst,b=$[1];return c(function(){S.value=y,S.getSnapshot=m,o(S)&&b({inst:S})},[x,y,m]),f(function(){return o(S)&&b({inst:S}),x(function(){o(S)&&b({inst:S})})},[x]),h(y),y}function o(x){var m=x.getSnapshot;x=x.value;try{var y=m();return!s(x,y)}catch{return!0}}function n(x,m){return m()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var i=a,s=typeof Object.is=="function"?Object.is:t,p=i.useState,f=i.useEffect,c=i.useLayoutEffect,h=i.useDebugValue,l=!1,u=!1,g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?n:r;dn.useSyncExternalStore=i.useSyncExternalStore!==void 0?i.useSyncExternalStore:g,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),dn}var Fs;function fd(){return Fs||(Fs=1,process.env.NODE_ENV==="production"?Kr.exports=pd():Kr.exports=hd()),Kr.exports}var gd=fd();const ec=0,tc=1,rc=2,Ns=3;var Bs=Object.prototype.hasOwnProperty;function Qn(t,r){var o,n;if(t===r)return!0;if(t&&r&&(o=t.constructor)===r.constructor){if(o===Date)return t.getTime()===r.getTime();if(o===RegExp)return t.toString()===r.toString();if(o===Array){if((n=t.length)===r.length)for(;n--&&Qn(t[n],r[n]););return n===-1}if(!o||typeof t=="object"){n=0;for(o in t)if(Bs.call(t,o)&&++n&&!Bs.call(r,o)||!(o in r)||!Qn(t[o],r[o]))return!1;return Object.keys(r).length===n}}return t!==t&&r!==r}const vt=new WeakMap,$t=()=>{},He=$t(),Kn=Object,Ce=t=>t===He,lt=t=>typeof t=="function",Pt=(t,r)=>({...t,...r}),oc=t=>lt(t.then),un={},Xr={},bs="undefined",Vr=typeof window!=bs,Xn=typeof document!=bs,md=Vr&&"Deno"in window,xd=()=>Vr&&typeof window.requestAnimationFrame!=bs,nc=(t,r)=>{const o=vt.get(t);return[()=>!Ce(r)&&t.get(r)||un,n=>{if(!Ce(r)){const i=t.get(r);r in Xr||(Xr[r]=i),o[5](r,Pt(i,n),i||un)}},o[6],()=>!Ce(r)&&r in Xr?Xr[r]:!Ce(r)&&t.get(r)||un]};let Jn=!0;const vd=()=>Jn,[es,ts]=Vr&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[$t,$t],bd=()=>{const t=Xn&&document.visibilityState;return Ce(t)||t!=="hidden"},yd=t=>(Xn&&document.addEventListener("visibilitychange",t),es("focus",t),()=>{Xn&&document.removeEventListener("visibilitychange",t),ts("focus",t)}),wd=t=>{const r=()=>{Jn=!0,t()},o=()=>{Jn=!1};return es("online",r),es("offline",o),()=>{ts("online",r),ts("offline",o)}},jd={isOnline:vd,isVisible:bd},_d={initFocus:yd,initReconnect:wd},Us=!a.useId,Nr=!Vr||md,kd=t=>xd()?window.requestAnimationFrame(t):setTimeout(t,1),pn=Nr?a.useEffect:a.useLayoutEffect,hn=typeof navigator<"u"&&navigator.connection,Ws=!Nr&&hn&&(["slow-2g","2g"].includes(hn.effectiveType)||hn.saveData),Jr=new WeakMap,Cd=t=>Kn.prototype.toString.call(t),fn=(t,r)=>t===`[object ${r}]`;let Sd=0;const rs=t=>{const r=typeof t,o=Cd(t),n=fn(o,"Date"),i=fn(o,"RegExp"),s=fn(o,"Object");let p,f;if(Kn(t)===t&&!n&&!i){if(p=Jr.get(t),p)return p;if(p=++Sd+"~",Jr.set(t,p),Array.isArray(t)){for(p="@",f=0;f<t.length;f++)p+=rs(t[f])+",";Jr.set(t,p)}if(s){p="#";const c=Kn.keys(t).sort();for(;!Ce(f=c.pop());)Ce(t[f])||(p+=f+":"+rs(t[f])+",");Jr.set(t,p)}}else p=n?t.toJSON():r=="symbol"?t.toString():r=="string"?JSON.stringify(t):""+t;return p},ys=t=>{if(lt(t))try{t=t()}catch{t=""}const r=t;return t=typeof t=="string"?t:(Array.isArray(t)?t.length:t)?rs(t):"",[t,r]};let zd=0;const os=()=>++zd;async function sc(...t){const[r,o,n,i]=t,s=Pt({populateCache:!0,throwOnError:!0},typeof i=="boolean"?{revalidate:i}:i||{});let p=s.populateCache;const f=s.rollbackOnError;let c=s.optimisticData;const h=g=>typeof f=="function"?f(g):f!==!1,l=s.throwOnError;if(lt(o)){const g=o,x=[],m=r.keys();for(const y of m)!/^\$(inf|sub)\$/.test(y)&&g(r.get(y)._k)&&x.push(y);return Promise.all(x.map(u))}return u(o);async function u(g){const[x]=ys(g);if(!x)return;const[m,y]=nc(r,x),[$,S,b,z]=vt.get(r),j=()=>{const I=$[x];return(lt(s.revalidate)?s.revalidate(m().data,g):s.revalidate!==!1)&&(delete b[x],delete z[x],I&&I[0])?I[0](rc).then(()=>m().data):m().data};if(t.length<3)return j();let k=n,_,v=!1;const P=os();S[x]=[P,0];const C=!Ce(c),E=m(),T=E.data,R=E._c,w=Ce(R)?T:R;if(C&&(c=lt(c)?c(w,T):c,y({data:c,_c:w})),lt(k))try{k=k(w)}catch(I){_=I,v=!0}if(k&&oc(k))if(k=await k.catch(I=>{_=I,v=!0}),P!==S[x][0]){if(v)throw _;return k}else v&&C&&h(_)&&(p=!0,y({data:w,_c:He}));if(p&&!v)if(lt(p)){const I=p(k,w);y({data:I,error:He,_c:He})}else y({data:k,error:He,_c:He});if(S[x][1]=os(),Promise.resolve(j()).then(()=>{y({_c:He})}),v){if(l)throw _;return}return k}}const Vs=(t,r)=>{for(const o in t)t[o][0]&&t[o][0](r)},$d=(t,r)=>{if(!vt.has(t)){const o=Pt(_d,r),n=Object.create(null),i=sc.bind(He,t);let s=$t;const p=Object.create(null),f=(l,u)=>{const g=p[l]||[];return p[l]=g,g.push(u),()=>g.splice(g.indexOf(u),1)},c=(l,u,g)=>{t.set(l,u);const x=p[l];if(x)for(const m of x)m(u,g)},h=()=>{if(!vt.has(t)&&(vt.set(t,[n,Object.create(null),Object.create(null),Object.create(null),i,c,f]),!Nr)){const l=o.initFocus(setTimeout.bind(He,Vs.bind(He,n,ec))),u=o.initReconnect(setTimeout.bind(He,Vs.bind(He,n,tc)));s=()=>{l&&l(),u&&u(),vt.delete(t)}}};return h(),[t,i,h,s]}return[t,vt.get(t)[4]]},Ed=(t,r,o,n,i)=>{const s=o.errorRetryCount,p=i.retryCount,f=~~((Math.random()+.5)*(1<<(p<8?p:8)))*o.errorRetryInterval;!Ce(s)&&p>s||setTimeout(n,f,i)},Id=Qn,[ic,Pd]=$d(new Map),Rd=Pt({onLoadingSlow:$t,onSuccess:$t,onError:$t,onErrorRetry:Ed,onDiscarded:$t,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Ws?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Ws?5e3:3e3,compare:Id,isPaused:()=>!1,cache:ic,mutate:Pd,fallback:{}},jd),Td=(t,r)=>{const o=Pt(t,r);if(r){const{use:n,fallback:i}=t,{use:s,fallback:p}=r;n&&s&&(o.use=n.concat(s)),i&&p&&(o.fallback=Pt(i,p))}return o},Md=a.createContext({}),Od="$inf$",ac=Vr&&window.__SWR_DEVTOOLS_USE__,Ld=ac?window.__SWR_DEVTOOLS_USE__:[],Ad=()=>{ac&&(window.__SWR_DEVTOOLS_REACT__=a)},Dd=t=>lt(t[1])?[t[0],t[1],t[2]||{}]:[t[0],null,(t[1]===null?t[2]:t[1])||{}],cc=()=>Pt(Rd,a.useContext(Md)),Fd=t=>(r,o,n)=>t(r,o&&((...s)=>{const[p]=ys(r),[,,,f]=vt.get(ic);if(p.startsWith(Od))return o(...s);const c=f[p];return Ce(c)?o(...s):(delete f[p],c)}),n),Nd=Ld.concat(Fd),Bd=t=>function(...o){const n=cc(),[i,s,p]=Dd(o),f=Td(n,p);let c=t;const{use:h}=f,l=(h||[]).concat(Nd);for(let u=l.length;u--;)c=l[u](c);return c(i,s||f.fetcher||null,f)},Ud=(t,r,o)=>{const n=r[t]||(r[t]=[]);return n.push(o),()=>{const i=n.indexOf(o);i>=0&&(n[i]=n[n.length-1],n.pop())}};Ad();const gn=a.use||(t=>{switch(t.status){case"pending":throw t;case"fulfilled":return t.value;case"rejected":throw t.reason;default:throw t.status="pending",t.then(r=>{t.status="fulfilled",t.value=r},r=>{t.status="rejected",t.reason=r}),t}}),mn={dedupe:!0},Wd=(t,r,o)=>{const{cache:n,compare:i,suspense:s,fallbackData:p,revalidateOnMount:f,revalidateIfStale:c,refreshInterval:h,refreshWhenHidden:l,refreshWhenOffline:u,keepPreviousData:g}=o,[x,m,y,$]=vt.get(n),[S,b]=ys(t),z=a.useRef(!1),j=a.useRef(!1),k=a.useRef(S),_=a.useRef(r),v=a.useRef(o),P=()=>v.current,C=()=>P().isVisible()&&P().isOnline(),[E,T,R,w]=nc(n,S),I=a.useRef({}).current,M=Ce(p)?Ce(o.fallback)?He:o.fallback[S]:p,O=(q,B)=>{for(const ie in I){const H=ie;if(H==="data"){if(!i(q[H],B[H])&&(!Ce(q[H])||!i(oe,B[H])))return!1}else if(B[H]!==q[H])return!1}return!0},U=a.useMemo(()=>{const q=!S||!r?!1:Ce(f)?P().isPaused()||s?!1:c!==!1:f,B=ge=>{const V=Pt(ge);return delete V._k,q?{isValidating:!0,isLoading:!0,...V}:V},ie=E(),H=w(),se=B(ie),we=ie===H?se:B(H);let xe=se;return[()=>{const ge=B(E());return O(ge,xe)?(xe.data=ge.data,xe.isLoading=ge.isLoading,xe.isValidating=ge.isValidating,xe.error=ge.error,xe):(xe=ge,ge)},()=>we]},[n,S]),F=gd.useSyncExternalStore(a.useCallback(q=>R(S,(B,ie)=>{O(ie,B)||q()}),[n,S]),U[0],U[1]),L=!z.current,A=x[S]&&x[S].length>0,Q=F.data,ee=Ce(Q)?M&&oc(M)?gn(M):M:Q,W=F.error,K=a.useRef(ee),oe=g?Ce(Q)?Ce(K.current)?ee:K.current:Q:ee,te=A&&!Ce(W)?!1:L&&!Ce(f)?f:P().isPaused()?!1:s?Ce(ee)?!1:c:Ce(ee)||c,de=!!(S&&r&&L&&te),ne=Ce(F.isValidating)?de:F.isValidating,ue=Ce(F.isLoading)?de:F.isLoading,X=a.useCallback(async q=>{const B=_.current;if(!S||!B||j.current||P().isPaused())return!1;let ie,H,se=!0;const we=q||{},xe=!y[S]||!we.dedupe,ge=()=>Us?!j.current&&S===k.current&&z.current:S===k.current,V={isValidating:!1,isLoading:!1},D=()=>{T(V)},N=()=>{const pe=y[S];pe&&pe[1]===H&&delete y[S]},re={isValidating:!0};Ce(E().data)&&(re.isLoading=!0);try{if(xe&&(T(re),o.loadingTimeout&&Ce(E().data)&&setTimeout(()=>{se&&ge()&&P().onLoadingSlow(S,o)},o.loadingTimeout),y[S]=[B(b),os()]),[ie,H]=y[S],ie=await ie,xe&&setTimeout(N,o.dedupingInterval),!y[S]||y[S][1]!==H)return xe&&ge()&&P().onDiscarded(S),!1;V.error=He;const pe=m[S];if(!Ce(pe)&&(H<=pe[0]||H<=pe[1]||pe[1]===0))return D(),xe&&ge()&&P().onDiscarded(S),!1;const J=E().data;V.data=i(J,ie)?J:ie,xe&&ge()&&P().onSuccess(ie,S,o)}catch(pe){N();const J=P(),{shouldRetryOnError:_e}=J;J.isPaused()||(V.error=pe,xe&&ge()&&(J.onError(pe,S,J),(_e===!0||lt(_e)&&_e(pe))&&(!P().revalidateOnFocus||!P().revalidateOnReconnect||C())&&J.onErrorRetry(pe,S,J,ve=>{const Se=x[S];Se&&Se[0]&&Se[0](Ns,ve)},{retryCount:(we.retryCount||0)+1,dedupe:!0})))}return se=!1,D(),!0},[S,n]),ae=a.useCallback((...q)=>sc(n,k.current,...q),[]);if(pn(()=>{_.current=r,v.current=o,Ce(Q)||(K.current=Q)}),pn(()=>{if(!S)return;const q=X.bind(He,mn);let B=0;P().revalidateOnFocus&&(B=Date.now()+P().focusThrottleInterval);const H=Ud(S,x,(se,we={})=>{if(se==ec){const xe=Date.now();P().revalidateOnFocus&&xe>B&&C()&&(B=xe+P().focusThrottleInterval,q())}else if(se==tc)P().revalidateOnReconnect&&C()&&q();else{if(se==rc)return X();if(se==Ns)return X(we)}});return j.current=!1,k.current=S,z.current=!0,T({_k:b}),te&&(y[S]||(Ce(ee)||Nr?q():kd(q))),()=>{j.current=!0,H()}},[S]),pn(()=>{let q;function B(){const H=lt(h)?h(E().data):h;H&&q!==-1&&(q=setTimeout(ie,H))}function ie(){!E().error&&(l||P().isVisible())&&(u||P().isOnline())?X(mn).then(B):B()}return B(),()=>{q&&(clearTimeout(q),q=-1)}},[h,l,u,S]),a.useDebugValue(oe),s&&Ce(ee)&&S){if(!Us&&Nr)throw new Error("Fallback data is required when using Suspense in SSR.");_.current=r,v.current=o,j.current=!1;const q=$[S];if(!Ce(q)){const B=ae(q);gn(B)}if(Ce(W)){const B=X(mn);Ce(oe)||(B.status="fulfilled",B.value=!0),gn(B)}else throw W}return{mutate:ae,get data(){return I.data=!0,oe},get error(){return I.error=!0,W},get isValidating(){return I.isValidating=!0,ne},get isLoading(){return I.isLoading=!0,ue}}},Ne=Bd(Wd);async function G(t){if(!t.ok){let o=`HTTP ${t.status}: ${t.statusText}`;try{const n=await t.json();n.message?o=n.message:n.errors&&n.errors.length>0&&(o=n.errors[0].message||o)}catch{}throw new Error(o)}return{data:(await t.json()).data}}function lc(t){const{client:r}=Fe(),o=a.useCallback(async()=>{const c=await r(`/api/agent/contexts?token=${encodeURIComponent(t)}`,{method:"GET"});return(await G(c)).data},[r,t]),{data:n,error:i,mutate:s}=Ne(t?`wacht-agent-sessions:${t}`:null,o,{revalidateOnFocus:!1}),p=a.useCallback(async c=>{const h=new FormData;h.append("title",c.title),c.system_instructions&&h.append("system_instructions",c.system_instructions);const l=await r(`/api/agent/contexts?token=${encodeURIComponent(t)}`,{method:"POST",body:h}),u=await G(l);return await s(g=>g&&{...g,data:[u.data,...g.data]}),u.data},[r,t,s]),f=a.useCallback(async c=>{await r(`/api/agent/contexts/${c}/delete?token=${encodeURIComponent(t)}`,{method:"POST"}),await s(h=>h&&{...h,data:h.data.filter(l=>l.id!==c)})},[r,t,s]);return{sessions:(n==null?void 0:n.data)||[],loading:!n&&!i,error:i,createSession:p,deleteSession:f,refetch:async()=>{await s()}}}const dc=a.createContext(void 0);function Yo(){const t=a.useContext(dc);if(!t)throw new Error("useAgentConversationContext must be used within AgentConversationProvider");return t}function Vd({children:t,agentName:r,token:o,platformAdapter:n,defaultSessionId:i,onSessionCreated:s,onSessionDeleted:p,onError:f}){const[c,h]=a.useState(i?{id:i,title:"Conversation",status:"idle",last_activity_at:new Date().toISOString(),created_at:new Date().toISOString()}:null),[l,u]=a.useState(!1),{sessions:g,loading:x,error:m,createSession:y,deleteSession:$,refetch:S}=lc(o);a.useEffect(()=>{if(i&&g.length>0){const _=g.find(v=>v.id===i);_&&h(_)}},[i,g]);const b=a.useCallback(_=>{h(_),u(!1)},[]),z=a.useCallback(async _=>{try{const v=_||`Chat ${new Date().toLocaleDateString()} ${new Date().toLocaleTimeString()}`,P=await y({title:v});return h(P),s==null||s(P),P}catch(v){const P=v instanceof Error?v.message:"Failed to create session";throw f==null||f(P),v}},[y,s,f]),j=a.useCallback(async _=>{try{await $(_),(c==null?void 0:c.id)===_&&h(null),p==null||p(_)}catch(v){const P=v instanceof Error?v.message:"Failed to delete session";throw f==null||f(P),v}},[$,c,p,f]),k={agentName:r,token:o,platformAdapter:n,sessions:g,selectedSession:c,loadingSessions:x,sessionError:m,selectSession:b,createSession:z,deleteSession:j,refreshSessions:S,showHistory:l,setShowHistory:u,onSessionCreated:s,onSessionDeleted:p,onError:f};return e.jsx(dc.Provider,{value:k,children:t})}var uc=(t=>(t.XOauth="x_oauth",t.GithubOauth="github_oauth",t.GitlabOauth="gitlab_oauth",t.GoogleOauth="google_oauth",t.FacebookOauth="facebook_oauth",t.MicrosoftOauth="microsoft_oauth",t.LinkedinOauth="linkedin_oauth",t.DiscordOauth="discord_oauth",t.AppleOauth="apple_oauth",t))(uc||{});function Gd(t,r){const o={username:Hd(t,r),email:qd(t,r),phone:Yd(t,r),email_otp:Zd(t,r),magic_link:Qd(t,r),oauth:Kd(t),generic:Xd(t,r)};return function(i){return o[i]}}function Hd(t,r){return async({username:o,password:n})=>{var f,c;const i=new FormData;i.append("strategy","plain_username"),i.append("username",o),i.append("password",n);const s=await t("/auth/signin",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signin_attempts)!=null&&c.length)&&r(p.data.signin_attempts.at(-1)||null),p}}function qd(t,r){return async({email:o,password:n})=>{var f,c;const i=new FormData;i.append("strategy","plain_email"),i.append("email",o),i.append("password",n);const s=await t("/auth/signin",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signin_attempts)!=null&&c.length)&&r(p.data.signin_attempts.at(-1)||null),p}}function Yd(t,r){return async({phone:o})=>{var p,f;const n=new FormData;n.append("strategy","phone_otp"),n.append("phone",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Zd(t,r){return async({email:o})=>{var p,f;const n=new FormData;n.append("strategy","email_otp"),n.append("email",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Qd(t,r){return async({email:o})=>{var p,f;const n=new FormData;n.append("strategy","magic_link"),n.append("email",o);const i=await t("/auth/signin",{method:"POST",body:n}),s=await G(i);return"data"in s&&((f=(p=s.data)==null?void 0:p.signin_attempts)!=null&&f.length)&&r(s.data.signin_attempts.at(-1)||null),s}}function Kd(t){return async({provider:r,redirectUri:o})=>{const n=new URLSearchParams({provider:r});o&&n.append("redirect_uri",o);const i=await t(`/auth/oauth2/init?${n.toString()}`,{method:"POST"}),s=await G(i);return"data"in s&&s.data.oauth_url&&(window.location.href=s.data.oauth_url),s}}function Xd(t,r){return async({email:o,username:n,password:i,phone:s,strategy:p,token:f})=>{var u,g;const c=new FormData;p&&c.append("strategy",p),o&&c.append("email",o),n&&c.append("username",n),i&&c.append("password",i),s&&c.append("phone",s),f&&c.append("token",f);const h=await t("/auth/signin",{method:"POST",body:c}),l=await G(h);return"data"in l&&((g=(u=l.data)==null?void 0:u.signin_attempts)!=null&&g.length)&&r(l.data.signin_attempts.at(-1)||null),l}}function pc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(null);return r?{loading:!0,signIn:null,signinAttempt:null,discardSignInAttempt:()=>{n(null)},setSignInAttempt:n}:{loading:!1,signinAttempt:o,signIn:{createStrategy:Gd(t,n),completeVerification:async i=>{var c,h;const s=new FormData;s.append("verification_code",i);const p=await t(`/auth/attempt-verification?attempt_identifier=${o==null?void 0:o.id}&identifier_type=signin`,{method:"POST",body:s}),f=await G(p);if("data"in f&&((h=(c=f.data)==null?void 0:c.signin_attempts)!=null&&h.length)){const l=f.data.signin_attempts.at(-1);return n(l||null),f.data}else throw new Error("Verification failed")},prepareVerification:async i=>{var f;const s=new URL("/auth/prepare-verification",window.location.origin);s.searchParams.set("attempt_identifier",((f=o==null?void 0:o.id)==null?void 0:f.toString())||""),s.searchParams.set("strategy",i.strategy),s.searchParams.set("identifier_type","signin"),i.strategy==="phone_otp"&&i.lastDigits?s.searchParams.set("last_digits",i.lastDigits):(i.strategy==="email_otp"&&i.redirectUri||i.strategy==="magic_link"&&i.redirectUri)&&s.searchParams.set("redirect_uri",i.redirectUri);const p=await t(s.pathname+s.search,{method:"POST"});return G(p)},completeProfile:async i=>{var c;if(!o)throw new Error("No signin attempt found");const s=new FormData;for(const[h,l]of Object.entries(i))l&&s.append(h,l);const p=await t(`/auth/complete-profile?attempt_id=${o.id}`,{method:"POST",body:s}),f=await G(p);if("data"in f&&f.data){const h=(c=f.data.signin_attempts)==null?void 0:c.find(l=>l.id===o.id);return h&&n(h),f.data}else throw new Error("Profile completion failed")},identify:async i=>{const s=new FormData;s.append("identifier",i);const p=await t("/auth/identify",{method:"POST",body:s});return(await G(p)).data},initEnterpriseSso:async(i,s)=>{const p=new URLSearchParams({connection_id:i});s&&p.append("redirect_uri",s);const f=await t(`/auth/sso/login?${p.toString()}`,{method:"POST"});return(await G(f)).data}},discardSignInAttempt:()=>{n(null)},setSignInAttempt:n}}function Br(t){const{loading:r,signIn:o,signinAttempt:n,discardSignInAttempt:i,setSignInAttempt:s}=pc();if(r)return{loading:!0,signIn:null,signinAttempt:null,discardSignInAttempt:i,setSignInAttempt:s};const p=(()=>{switch(t){case"username":return o.createStrategy("username");case"email":return o.createStrategy("email");case"phone":return o.createStrategy("phone");case"email_otp":return o.createStrategy("email_otp");case"magic_link":return o.createStrategy("magic_link");case"oauth":return o.createStrategy("oauth");case"generic":return o.createStrategy("generic");default:throw new Error("Invalid sign-in strategy")}})();return{loading:!1,signinAttempt:n,signIn:{create:p,completeVerification:o.completeVerification,prepareVerification:o.prepareVerification,completeProfile:o.completeProfile,identify:o.identify,initEnterpriseSso:o.initEnterpriseSso},discardSignInAttempt:i,setSignInAttempt:s}}function Jd(t,r,o){return{create:async n=>{var f,c,h;const i=new FormData;for(const[l,u]of Object.entries(n))i.append(l,u);const s=await t("/auth/signup",{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signup_attempts)!=null&&c.length)&&o(((h=p.data.signup_attempts)==null?void 0:h.at(-1))||null),p},prepareVerification:async n=>{var p;const i=new URL("/auth/prepare-verification",window.location.origin);i.searchParams.set("attempt_identifier",((p=r==null?void 0:r.id)==null?void 0:p.toString())||""),i.searchParams.set("strategy",n.strategy),i.searchParams.set("identifier_type","signup"),n.strategy==="phone_otp"&&n.lastDigits?i.searchParams.set("last_digits",n.lastDigits):n.strategy==="email_otp"&&n.redirectUri&&i.searchParams.set("redirect_uri",n.redirectUri);const s=await t(i.pathname+i.search,{method:"POST"});return G(s)},completeVerification:async n=>{var f,c;const i=new FormData;i.append("verification_code",n);const s=await t(`/auth/attempt-verification?attempt_identifier=${r==null?void 0:r.id}&identifier_type=signup`,{method:"POST",body:i}),p=await G(s);return"data"in p&&((c=(f=p.data)==null?void 0:f.signup_attempts)!=null&&c.length)&&o(p.data.signup_attempts.at(-1)||null),p},validateDeploymentInvitation:async n=>{try{const i=await t(`/deployment/invitations/validate?token=${encodeURIComponent(n)}`,{method:"GET"}),s=await G(i);return"data"in s&&s.data?s.data:{valid:!1,message:"Failed to validate invitation",error_code:"VALIDATION_ERROR"}}catch(i){return{valid:!1,message:i.message||"Failed to validate invitation",error_code:"NETWORK_ERROR"}}}}}function hc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(null);return r?{loading:!0,signUp:null,signupAttempt:null,discardSignupAttempt:()=>{n(null)}}:{loading:!1,signupAttempt:o,discardSignupAttempt:()=>{n(null)},signUp:Jd(t,o,n)}}const Ge=()=>{const{adapter:t,deployment:r}=me(),o=t.useNavigate(),n=(c,h)=>{o?o(c,h):window.location.href=c},i=c=>{if(c)return c;const l=new URLSearchParams(window.location.search).get("redirect_uri");return l||window.location.href};return{navigate:n,navigateToSignIn:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("__dev_session__",localStorage.getItem("__dev_session__")??""),n(`${r.ui_settings.sign_in_page_url}?${l.toString()}`,{replace:!0})},navigateToAccountSelection:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("__dev_session__",localStorage.getItem("__dev_session__")??""),n(`https://${r.frontend_host}?${l.toString()}`,{replace:!0})},navigateToSignUp:c=>{if(!r)return;const h=i(c),l=new URLSearchParams;l.set("redirect_uri",h),(r==null?void 0:r.mode)==="staging"&&l.set("__dev_session__",localStorage.getItem("__dev_session__")??""),n(`${r.ui_settings.sign_up_page_url}?${l.toString()}`,{replace:!0})}}};async function eu(t){const r=await t("/session",{method:"GET"});return(await G(r)).data}async function tu(t,r){const o=await t(`/session/switch-sign-in?sign_in_id=${r}`,{method:"POST"});return G(o)}async function ru(t,r){const o=r?`/session/sign-out?sign_in_id=${r}`:"/session/sign-out",n=await t(o,{method:"POST"});return G(n)}async function ou(t,r){const o=await t(`/session/switch-organization${r?`?organization_id=${r}`:""}`,{method:"POST"});return G(o)}async function nu(t,r){const o=await t(`/session/switch-workspace?workspace_id=${r}`,{method:"POST"});return G(o)}const ns=new Map,Lr=new Map;function Et(){ns.clear(),Lr.clear()}async function su(t,r){const o=await t(`/session/token${r?`?template=${r}`:""}`);return G(o)}function Be(){const{client:t,loading:r}=Fe(),{deployment:o}=me(),{navigate:n}=Ge(),{cache:i}=cc(),{data:s,error:p,mutate:f,isLoading:c}=Ne(r?null:"/session",()=>eu(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),h=a.useCallback(async()=>{await f(void 0,{revalidate:!0})},[f]),l=a.useCallback(async(u="default")=>{if(!s)throw new Error("no session");const g=ns.get(u);if(g&&g.expires>Date.now())return(g==null?void 0:g.token)||"";Lr.get(u)||Lr.set(u,su(t,u));const x=await Lr.get(u);return Lr.delete(u),ns.set(u,x.data),x.data.token},[t,s==null?void 0:s.active_signin]);return r||!s||c?{loading:!0,error:p,session:null,switchSignIn:null,switchOrganization:null,switchWorkspace:null,signOut:null,getToken:null,refetch:h}:{loading:c,error:p,session:s,switchSignIn:async u=>{await tu(t,u),await f(void 0,{revalidate:!0})},signOut:async u=>{await ru(t,u);const g=["/session","/user","/me/signins","/me/organization-memberships","/me/workspace-memberships","wacht-notifications:channel-counts"],x=["wacht-notifications:","wacht-agent-sessions:","wacht-agent-contexts:","wacht-org-domains:","wacht-api-workspaces:","wacht-api-organizations:"];if(i instanceof Map){const m=Array.from(i.keys());for(const y of m){let $=!1;(g.includes(y)||typeof y=="string"&&x.some(S=>y.startsWith(S)))&&($=!0),$&&i.delete(y)}}Et(),await f(void 0,{revalidate:!0}),o!=null&&o.ui_settings&&(u&&o.ui_settings.after_sign_out_one_page_url?n(o.ui_settings.after_sign_out_one_page_url):!u&&o.ui_settings.after_sign_out_all_page_url&&n(o.ui_settings.after_sign_out_all_page_url))},switchOrganization:async u=>{await ou(t,u),Et(),await f(void 0,{revalidate:!0})},switchWorkspace:async u=>{await nu(t,u),Et(),await f(void 0,{revalidate:!0})},getToken:l,refetch:h}}const Zo=()=>{const{organizationMemberships:t,refetch:r,loading:o}=yt(),{client:n}=Fe(),{refetch:i}=Be(),s=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/roles`,{method:"GET"}))).data,[n]),p=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/members`,{method:"GET"}))).data,[n]),f=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/invitations`,{method:"GET"}))).data,[n]),c=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/domains`,{method:"GET"}))).data,[n]),h=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/members/${L.id}/remove`,{method:"POST"}),await r()},[r,n]),l=a.useCallback(async F=>{const L=new FormData;L.append("name",F.name),F.image&&L.append("image",F.image),F.description&&L.append("description",F.description);const A=await G(await n("/organizations",{method:"POST",body:L}));return Et(),await r(),await i(),A},[i,r,n]),u=a.useCallback(async(F,L)=>{const A=Object.entries(L).reduce((ee,[W,K])=>(K&&ee.append(W,K),ee),new FormData),Q=await G(await n(`/organizations/${F.id}/update`,{method:"POST",body:A}));return await r(),Q},[r,n]),g=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/roles/${L.id}/remove`,{method:"POST"})},[n]),x=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("domain",L.fqdn),await G(await n(`/organizations/${F.id}/domains`,{method:"POST",body:A}))},[n]),m=a.useCallback(async(F,L)=>await G(await n(`/organizations/${F.id}/domains/${L.id}/verify`,{method:"POST"})),[n]),y=a.useCallback(async(F,L)=>await G(await n(`/organizations/${F.id}/domains/${L.id}/delete`,{method:"POST"})),[n]),$=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/enterprise-connections`,{method:"GET"}))).data,[n]),S=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("protocol",L.protocol),L.domain_id&&A.append("domain_id",L.domain_id),L.idp_entity_id&&A.append("idp_entity_id",L.idp_entity_id),L.idp_sso_url&&A.append("idp_sso_url",L.idp_sso_url),L.idp_certificate&&A.append("idp_certificate",L.idp_certificate),L.oidc_client_id&&A.append("oidc_client_id",L.oidc_client_id),L.oidc_client_secret&&A.append("oidc_client_secret",L.oidc_client_secret),L.oidc_issuer_url&&A.append("oidc_issuer_url",L.oidc_issuer_url),L.oidc_scopes&&A.append("oidc_scopes",L.oidc_scopes),L.jit_enabled!==void 0&&A.append("jit_enabled",String(L.jit_enabled)),L.attribute_mapping&&A.append("attribute_mapping",JSON.stringify(L.attribute_mapping)),(await G(await n(`/organizations/${F.id}/enterprise-connections`,{method:"POST",body:A}))).data},[n]),b=a.useCallback(async(F,L,A)=>{const Q=new FormData;return A.domain_id&&Q.append("domain_id",A.domain_id),A.idp_entity_id&&Q.append("idp_entity_id",A.idp_entity_id),A.idp_sso_url&&Q.append("idp_sso_url",A.idp_sso_url),A.idp_certificate&&Q.append("idp_certificate",A.idp_certificate),A.oidc_client_id&&Q.append("oidc_client_id",A.oidc_client_id),A.oidc_client_secret&&Q.append("oidc_client_secret",A.oidc_client_secret),A.oidc_issuer_url&&Q.append("oidc_issuer_url",A.oidc_issuer_url),A.oidc_scopes&&Q.append("oidc_scopes",A.oidc_scopes),A.attribute_mapping&&Q.append("attribute_mapping",JSON.stringify(A.attribute_mapping)),(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/update`,{method:"POST",body:Q}))).data},[n]),z=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/enterprise-connections/${L}/delete`,{method:"POST"})},[n]),j=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("protocol",L.protocol),L.idp_entity_id&&A.append("idp_entity_id",L.idp_entity_id),L.idp_sso_url&&A.append("idp_sso_url",L.idp_sso_url),L.idp_certificate&&A.append("idp_certificate",L.idp_certificate),L.oidc_issuer_url&&A.append("oidc_issuer_url",L.oidc_issuer_url),L.oidc_client_id&&A.append("oidc_client_id",L.oidc_client_id),L.oidc_client_secret&&A.append("oidc_client_secret",L.oidc_client_secret),(await G(await n(`/organizations/${F.id}/enterprise-connections/test`,{method:"POST",body:A}))).data},[n]),k=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/test`,{method:"POST"}))).data,[n]),_=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token`,{method:"POST"}))).data,[n]),v=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token`,{method:"GET"}))).data,[n]),P=a.useCallback(async(F,L)=>{await n(`/organizations/${F.id}/enterprise-connections/${L}/scim/token/revoke`,{method:"POST"})},[n]),C=a.useCallback(async(F,L)=>{const A=new FormData;return A.append("name",L.name),L.permissions&&L.permissions.forEach((ee,W)=>{A.append(`permissions[${W}]`,ee)}),await G(await n(`/organizations/${F.id}/roles`,{method:"POST",body:A}))},[n]),E=a.useCallback(async F=>(await G(await n(`/organizations/${F.id}/leave`,{method:"POST"}))).data,[n]),T=a.useCallback(async F=>{const L=await G(await n(`/organizations/${F.id}/delete`,{method:"POST"}));return Et(),await r(),await i(),L.data},[n,r,i]),R=a.useCallback(async(F,L,A)=>(await G(await n(`/organizations/${F.id}/members/${L.id}/roles/${A.id}/add`,{method:"POST"}))).data,[n]),w=a.useCallback(async(F,L,A)=>(await G(await n(`/organizations/${F.id}/members/${L.id}/roles/${A.id}/remove`,{method:"POST"}))).data,[n]),I=a.useCallback(async(F,L)=>{var ee,W;const A=new FormData;return A.append("email",L.email),A.append("role_id",L.organizationRole.id),(ee=L.workspace)!=null&&ee.id&&A.append("workspace_id",L.workspace.id),(W=L.workspaceRole)!=null&&W.id&&A.append("workspace_role_id",L.workspaceRole.id),(await G(await n(`/organizations/${F.id}/invitations`,{method:"POST",body:A}))).data},[n]),M=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/invitations/${L.id}/remove`,{method:"POST"}))).data,[n]),O=a.useCallback(async(F,L)=>(await G(await n(`/organizations/${F.id}/invitations/${L.id}/resend`,{method:"POST"}))).data,[n]);return{organizations:a.useMemo(()=>t==null?void 0:t.map(F=>F.organization),[t]),loading:o,error:null,refetch:r,leaveOrganization:E,getOrganizationRoles:s,getOrganizationMembers:p,removeOrganizationMember:h,createOrganization:l,getOrganizationInvitations:f,getOrganizationDomains:c,addOrganizationDomain:x,verifyOrganizationDomain:m,removeOrganizationDomain:y,addRoleToOrganizationMember:R,removeRoleFromOrganizationMember:w,inviteOrganizationMember:I,discardOrganizationInvitation:M,resendOrganizationInvitation:O,updateOrganization:u,addRole:C,removeOrganizationRoles:g,deleteOrganization:T,getEnterpriseConnections:$,createEnterpriseConnection:S,updateEnterpriseConnection:b,deleteEnterpriseConnection:z,testEnterpriseConnectionConfig:j,testEnterpriseConnection:k,generateSCIMToken:_,getSCIMToken:v,revokeSCIMToken:P}},Ye=()=>{const{loading:t,error:r,refetch:o,getOrganizationMembers:n,getOrganizationRoles:i,leaveOrganization:s,removeOrganizationMember:p,getOrganizationInvitations:f,getOrganizationDomains:c,removeOrganizationDomain:h,addOrganizationDomain:l,verifyOrganizationDomain:u,addRoleToOrganizationMember:g,removeRoleFromOrganizationMember:x,inviteOrganizationMember:m,discardOrganizationInvitation:y,resendOrganizationInvitation:$,updateOrganization:S,removeOrganizationRoles:b,getEnterpriseConnections:z,createEnterpriseConnection:j,updateEnterpriseConnection:k,deleteEnterpriseConnection:_,testEnterpriseConnectionConfig:v,testEnterpriseConnection:P,generateSCIMToken:C,getSCIMToken:E,revokeSCIMToken:T}=Zo(),{session:R,error:w,loading:I}=Be(),{organizationMemberships:M}=yt(),O=a.useMemo(()=>{var D;return((D=M==null?void 0:M.find(N=>{var re;return N.id===((re=R==null?void 0:R.active_signin)==null?void 0:re.active_organization_membership_id)}))==null?void 0:D.organization)||null},[M,R]),U=a.useCallback(async D=>O?await S(O,D):[],[O,S]),F=a.useCallback(async()=>O?await n(O):[],[O,n]),L=a.useCallback(async()=>O?await i(O):[],[O,i]),A=a.useCallback(async D=>O?await p(O,D):[],[O,p]),Q=a.useCallback(async D=>O?await b(O,D):void 0,[O,b]),ee=a.useCallback(async()=>O?await c(O):[],[O,c]),W=a.useCallback(async D=>O?await l(O,D):void 0,[O,l]),K=a.useCallback(async D=>O?await u(O,D):void 0,[O,u]),oe=a.useCallback(async D=>O?await h(O,D):void 0,[O,h]),te=a.useCallback(async(D,N)=>O?await g(O,D,N):void 0,[O,g]),de=a.useCallback(async(D,N)=>O?await x(O,D,N):void 0,[O,x]),ne=a.useCallback(async D=>O?await m(O,D):void 0,[O,m]),ue=a.useCallback(async D=>O?await y(O,D):void 0,[O,y]),X=a.useCallback(async D=>O?await $(O,D):void 0,[O,$]),ae=a.useCallback(async()=>{O&&await s(O)},[O,s]),Z=a.useCallback(async()=>O?await f(O):[],[O,f]),q=a.useCallback(async()=>O?await z(O):[],[O,z]),B=a.useCallback(async D=>{if(O)return await j(O,D)},[O,j]),ie=a.useCallback(async(D,N)=>{if(O)return await k(O,D,N)},[O,k]),H=a.useCallback(async D=>{O&&await _(O,D)},[O,_]),se=a.useCallback(async D=>O?await v(O,D):null,[O,v]),we=a.useCallback(async D=>O?await P(O,D):null,[O,P]),xe=a.useCallback(async D=>{if(O)return await C(O,D)},[O,C]),ge=a.useCallback(async D=>{if(O)return await E(O,D)},[O,E]),V=a.useCallback(async D=>{O&&await T(O,D)},[O,T]);return I||t?{activeOrganization:null,loading:!0,error:w||r,updateOrganization:null,getRoles:null,getMembers:null,getDomains:null,addDomain:null,verifyDomain:null,removeDomain:null,removeRole:null,getInvitations:null,removeMember:null,addMemberRole:null,removeMemberRole:null,inviteMember:null,discardInvitation:null,resendInvitation:null,leave:null,getEnterpriseConnections:null,createEnterpriseConnection:null,updateEnterpriseConnection:null,deleteEnterpriseConnection:null,generateSCIMToken:null,getSCIMToken:null,revokeSCIMToken:null}:{activeOrganization:O,loading:!1,refetch:o,getRoles:L,updateOrganization:U,getMembers:F,getDomains:ee,addDomain:W,verifyDomain:K,removeDomain:oe,getInvitations:Z,removeMember:A,leave:ae,removeRole:Q,addMemberRole:te,removeMemberRole:de,inviteMember:ne,discardInvitation:ue,resendInvitation:X,getEnterpriseConnections:q,createEnterpriseConnection:B,updateEnterpriseConnection:ie,deleteEnterpriseConnection:H,testEnterpriseConnectionConfig:se,testEnterpriseConnection:we,generateSCIMToken:xe,getSCIMToken:ge,revokeSCIMToken:V,error:null}};async function iu(t){return(await G(await t("/me/organization-memberships"))).data}const yt=()=>{const{client:t,loading:r}=Fe(),{data:o,isLoading:n,error:i,mutate:s}=Ne(r?null:"/me/organization-memberships",()=>iu(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),p=a.useCallback(async()=>{await s(void 0,{revalidate:!0})},[s]);return{organizationMemberships:o,loading:r||n,error:i,refetch:p}};async function au(t){return(await G(await t("/me/workspace-memberships"))).data}async function cu(t,r,o){return(await G(await t(`/workspaces/${r}/members/${o}/remove`,{method:"POST"}))).data}const Qo=()=>{const{client:t,loading:r}=Fe(),{deployment:o}=me(),{data:n,isLoading:i,error:s,mutate:p}=Ne(!r&&(o!=null&&o.b2b_settings.workspaces_enabled)?"/me/workspace-memberships":null,()=>au(t),{refreshInterval:3e4,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:5e3}),f=a.useCallback(async()=>{await p(void 0,{revalidate:!0})},[p]);return{workspaceMemberships:n,loading:r||i,error:s,refetch:f}},wt=()=>{const{workspaceMemberships:t,refetch:r,loading:o,error:n}=Qo(),{client:i}=Fe(),s=a.useMemo(()=>t==null?void 0:t.map(b=>({...b.workspace,organization:b.organization,eligibility_restriction:b.eligibility_restriction})),[t]),p=a.useCallback(async(b,z,j,k)=>{const _=new FormData;_.append("name",z),j&&_.append("image",j),k&&_.append("description",k),_.append("organization_id",b);const v=await G(await i("/workspaces",{method:"POST",body:_}));return Et(),await r(),v.data},[i,r]),f=a.useCallback(async(b,z)=>{const j=await cu(i,b,z);return await r(),j},[i,r]),c=a.useCallback(async(b,z)=>{const j=new FormData;z.name&&j.append("name",z.name),z.description&&j.append("description",z.description),z.image&&j.append("image",z.image),z.enforce_2fa!==void 0&&j.append("enforce_2fa",String(z.enforce_2fa)),z.enable_ip_restriction!==void 0&&j.append("enable_ip_restriction",String(z.enable_ip_restriction)),z.whitelisted_ips&&z.whitelisted_ips.forEach(_=>j.append("whitelisted_ips",_));const k=await G(await i(`/workspaces/${b.id}/update`,{method:"POST",body:j}));return await r(),k.data},[i,r]),h=a.useCallback(async b=>{const z=await G(await i(`/workspaces/${b.id}/delete`,{method:"POST"}));return Et(),await r(),z.data},[i,r]),l=a.useCallback(async b=>(await G(await i(`/workspaces/${b.id}/members`,{method:"GET"}))).data,[i]),u=a.useCallback(async b=>(await G(await i(`/workspaces/${b.id}/roles`,{method:"GET"}))).data,[i]),g=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/roles`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z,permissions:j})}))).data,[i]),x=a.useCallback(async(b,z)=>(await G(await i(`/workspaces/${b.id}/roles/${z.id}/delete`,{method:"POST"}))).data,[i]),m=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:z,role_id:j})}))).data,[i]),y=a.useCallback(async(b,z)=>{const j=await G(await i(`/workspaces/${b.id}/members/${z}/remove`,{method:"POST"}));return await r(),j.data},[i,r]),$=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members/${z}/roles/${j}/add`,{method:"POST"}))).data,[i]),S=a.useCallback(async(b,z,j)=>(await G(await i(`/workspaces/${b.id}/members/${z}/roles/${j}/remove`,{method:"POST"}))).data,[i]);return{workspaces:s||[],loading:o,error:n,refetch:r,leaveWorkspace:f,createWorkspace:p,updateWorkspace:c,deleteWorkspace:h,getWorkspaceMembers:l,getWorkspaceRoles:u,createWorkspaceRole:g,deleteWorkspaceRole:x,inviteWorkspaceMember:m,removeWorkspaceMember:y,addWorkspaceMemberRole:$,removeWorkspaceMemberRole:S}},Rt=()=>{const{refetch:t,loading:r,error:o,leaveWorkspace:n,updateWorkspace:i,deleteWorkspace:s,getWorkspaceMembers:p,getWorkspaceRoles:f,createWorkspaceRole:c,deleteWorkspaceRole:h,inviteWorkspaceMember:l,removeWorkspaceMember:u,addWorkspaceMemberRole:g,removeWorkspaceMemberRole:x}=wt(),{workspaceMemberships:m}=Qo(),{session:y,loading:$,error:S}=Be(),b=a.useMemo(()=>{var O;return((O=m==null?void 0:m.find(U=>{var F;return U.id===((F=y==null?void 0:y.active_signin)==null?void 0:F.active_workspace_membership_id)}))==null?void 0:O.workspace)||null},[m,y]),z=a.useCallback(async()=>{var O;if(!(!b||!((O=y==null?void 0:y.active_signin)!=null&&O.user_id)))return await n(b.id,y.active_signin.user_id)},[b,n,y]),j=a.useCallback(async O=>{if(b)return await i(b,O)},[b,i]),k=a.useCallback(async()=>{if(b)return await s(b)},[b,s]),_=a.useCallback(async()=>b?await p(b):[],[b,p]),v=a.useCallback(async()=>b?await f(b):[],[b,f]),P=a.useCallback(async(O,U)=>{if(b)return await c(b,O,U)},[b,c]),C=a.useCallback(async O=>{if(b)return await h(b,O)},[b,h]),E=a.useCallback(async(O,U)=>{if(b)return await l(b,O,U)},[b,l]),T=a.useCallback(async O=>{if(b)return await u(b,O)},[b,u]),R=a.useCallback(async(O,U)=>{if(b)return await g(b,O,U)},[b,g]),w=a.useCallback(async(O,U)=>{if(b)return await x(b,O,U)},[b,x]),I=r||$,M=o||S;return I?{activeWorkspace:null,loading:!0,error:M,refetch:t,leave:null,updateWorkspace:null,deleteWorkspace:null,getMembers:null,getRoles:null,createRole:null,deleteRole:null,inviteMember:null,removeMember:null,addMemberRole:null,removeMemberRole:null}:{activeWorkspace:b,loading:!1,error:M,refetch:t,leave:z,updateWorkspace:j,deleteWorkspace:k,getMembers:_,getRoles:v,createRole:P,deleteRole:C,inviteMember:E,removeMember:T,addMemberRole:R,removeMemberRole:w}},lu=async t=>(await G(await t("/me"))).data,du=async t=>(await G(await t("/me/signins"))).data;function sr(){const{client:t,loading:r}=Fe(),{data:o,error:n,isLoading:i,mutate:s}=Ne(r?null:"/user",()=>lu(t)),p=async I=>{const M=new FormData;for(const[U,F]of Object.entries(I))F!=null&&F!==""&&M.append(U,String(F));const O=await G(await t("/me",{method:"POST",body:M}));return s(),O},f=async()=>await G(await t("/me/email-addresses",{method:"GET"})),c=async I=>await G(await t(`/me/email-addresses/${I}`,{method:"GET"})),h=async I=>{const M=new FormData;return M.append("email",I),await G(await t("/me/email-addresses",{method:"POST",body:M}))},l=async I=>await G(await t(`/me/email-addresses/${I}/delete`,{method:"POST"})),u=async I=>await G(await t(`/me/email-addresses/${I}/prepare-verification`,{method:"POST"})),g=async(I,M)=>await G(await t(`/me/email-addresses/${I}/attempt-verification?code=${M}`,{method:"POST"})),x=async(I,M)=>{const O=new FormData;return O.append("phone_number",I),O.append("country_code",M),await G(await t("/me/phone-numbers",{method:"POST",body:O}))},m=async I=>await G(await t(`/me/phone-numbers/${I}/delete`,{method:"POST"})),y=async I=>await G(await t(`/me/phone-numbers/${I}/prepare-verification`,{method:"POST"})),$=async(I,M)=>{const O=new FormData;return O.append("code",M),await G(await t(`/me/phone-numbers/${I}/attempt-verification`,{method:"POST",body:O}))},S=async I=>{const M=await G(await t(`/me/phone-numbers/${I}/make-primary`,{method:"POST"}));return s(),M},b=async I=>await G(await t(`/me/email-addresses/${I}/make-primary`,{method:"POST"})),z=async()=>(await G(await t("/me/authenticator",{method:"POST"}))).data,j=async(I,M)=>{const O=new FormData;return O.append("authenticator_id",I),M.forEach(F=>{O.append("codes",F)}),await G(await t("/me/authenticator/attempt-verification",{method:"POST",body:O}))},k=async I=>await G(await t(`/me/authenticator/${I}/delete`,{method:"POST"})),_=async()=>(await G(await t("/me/backup-codes",{method:"POST"}))).data,v=async I=>{const M=new FormData;return M.append("file",I),await G(await t("/me/profile-picture",{method:"POST",body:M}))},P=async()=>(await G(await t("/me/backup-codes/regenerate",{method:"POST"}))).data,C=async(I,M)=>{const O=new FormData;return O.append("current_password",I),O.append("new_password",M),await G(await t("/me/update-password",{method:"POST",body:O}))},E=async I=>{const M=new FormData;M.append("current_password",I);const O=await G(await t("/me/remove-password",{method:"POST",body:M}));return s(),O},T=async I=>{const M=new FormData;return M.append("password",I),await G(await t("/me/account/delete",{method:"POST",body:M}))},R=async I=>await G(await t(`/me/social-connections/${I}/disconnect`,{method:"POST"})),w=async({provider:I,redirectUri:M})=>{var F;const O=new URLSearchParams({provider:I});M&&O.append("redirect_uri",M);const U=await G(await t(`/me/init-sso-connection?${O.toString()}`,{method:"POST"}));return"data"in U&&((F=U.data)!=null&&F.oauth_url)&&window.open(U.data.oauth_url,"_blank"),U};return{user:{...o,refetch:s},loading:r||i,error:n||null,updateProfile:p,getEmailAddresses:f,getEmailAddress:c,createEmailAddress:h,deleteEmailAddress:l,prepareEmailVerification:u,attemptEmailVerification:g,makeEmailPrimary:b,createPhoneNumber:x,deletePhoneNumber:m,preparePhoneVerification:y,attemptPhoneVerification:$,makePhonePrimary:S,setupAuthenticator:z,verifyAuthenticator:j,deleteAuthenticator:k,generateBackupCodes:_,regenerateBackupCodes:P,updateProfilePicture:v,disconnectSocialConnection:R,connectSocialAccount:w,updatePassword:C,removePassword:E,deleteAccount:T}}function fc(){const{client:t,loading:r}=Fe(),{data:o,error:n,isLoading:i,mutate:s}=Ne(r?null:"/me/signins",()=>du(t));return{signins:o,error:n||null,removeSignin:async f=>await G(await t(`/me/signins/${f}/signout`,{method:"POST"})),refetch:s,loading:i||r}}function uu(){const{session:t,loading:r}=Be(),{loading:o,organizationMemberships:n}=yt(),{loading:i,workspaceMemberships:s}=Qo();if(r||o||i)return{loading:!0,orgMembership:null,workspaceMembership:null};const p=a.useMemo(()=>!t||!t.signins||t.signins.length===0?null:n==null?void 0:n.find(c=>{var h;return c.id===((h=t.active_signin)==null?void 0:h.active_organization_membership_id)}),[t]),f=a.useMemo(()=>!t||!t.signins||t.signins.length===0?null:s==null?void 0:s.find(c=>{var h;return c.id===((h=t.active_signin)==null?void 0:h.active_workspace_membership_id)}),[t]);return{loading:!1,orgMembership:p,workspaceMembership:f}}function gc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),i=async s=>{n(!0);try{const p=new FormData;for(const[h,l]of Object.entries(s))l&&p.append(h,l);const f=await t("/waitlist/join",{method:"POST",body:p});return await G(f)}finally{n(!1)}};return r?{loading:!0,joinWaitlist:null}:{loading:o,joinWaitlist:i}}function mc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),[i,s]=a.useState(null),[p,f]=a.useState(null),[c,h]=a.useState(null),[l,u]=a.useState(!1),[g,x]=a.useState(null);a.useEffect(()=>{if(l||r)return;const y=new URLSearchParams(window.location.search),$=y.get("code"),S=y.get("state"),b=y.get("error"),z=y.get("error_description");if(!$&&!b){u(!0);const j=new Error("No OAuth callback data found.");s(j);return}if(u(!0),n(!0),b){const j=z||b,k=new Error(`OAuth Error: ${j}`);s(k),n(!1);return}if($&&S)m($,S);else{const j=new Error("Missing required OAuth parameters");s(j),n(!1)}},[l,r]);const m=async(y,$)=>{try{let S,b;try{const k=$.split(".");if(k.length!==2)throw new Error("Invalid OAuth state format - missing signature");const _=k[0].replace(/-/g,"+").replace(/_/g,"/"),v=_.length%4?"=".repeat(4-_.length%4):"",C=atob(_+v).split("|")[0];if(C==="sign_in")S="/auth/oauth2/callback",b="GET";else if(C==="connect_social")S="/me/sso-connection-callback",b="POST";else throw new Error(`Unknown OAuth action: ${C}`)}catch(k){const _=k instanceof Error?k:new Error("Failed to parse OAuth state");s(new Error(`Invalid OAuth callback: ${_.message}. The authorization link may be expired or malformed. Please try signing in again.`)),n(!1);return}const z=await t(`${S}?code=${encodeURIComponent(y)}&state=${encodeURIComponent($)}`,{method:b}),j=await G(z);if("data"in j){const k=j.data.session,_=j.data.redirect_uri||null;if(f(k),h(_),k.signin_attempts&&k.signin_attempts.length>0){const v=k.signin_attempts.at(-1);v&&x(v)}}else{const k=new Error("SSO callback failed");s(k)}}catch(S){const b=S instanceof Error?S:new Error("Unknown error occurred");s(b)}finally{n(!1)}};return{loading:o,error:i,session:p,redirectUri:c,processed:l,signinAttempt:g}}function xc(){const{client:t,loading:r}=Fe(),[o,n]=a.useState(!1),[i,s]=a.useState(null);return{loading:r||o,verifyMagicLink:async f=>{if(!f.token||!f.attempt)throw new Error("Invalid magic link parameters");n(!0),s(null);try{const c=new URL("/auth/verify-magic-link",window.location.origin);c.searchParams.set("token",f.token),c.searchParams.set("attempt",f.attempt),f.redirectUri&&c.searchParams.set("redirect_uri",f.redirectUri);const h=await t(c.pathname+c.search,{method:"GET"}),l=await G(h);return n(!1),s(!0),l}catch(c){throw n(!1),s(!1),c}},success:i}}function vc(){const[t,r]=a.useState({});return a.useEffect(()=>{const o=new URLSearchParams(window.location.search);r({token:o.get("token")||void 0,attempt:o.get("attempt")||void 0,redirectUri:o.get("redirect_uri")||void 0})},[]),t}function bc(){const{client:t,loading:r}=Fe();return{loading:r,forgotPassword:async s=>{const p=new FormData;p.append("email",s);const f=await t("/auth/forgot-password",{method:"POST",body:p});return await G(f)},verifyOtp:async(s,p)=>{const f=new FormData;f.append("email",s),f.append("otp",p);const c=await t("/auth/forgot-password",{method:"POST",body:f});return await G(c)},resetPassword:async(s,p)=>{const f=new FormData;f.append("token",s),f.append("password",p);const c=await t("/auth/reset-password",{method:"POST",body:f});return await G(c)}}}function yc({enabled:t=!0,channels:r,organizationIds:o,workspaceIds:n,onNotification:i,onError:s,reconnectDelay:p=1e3,maxReconnectAttempts:f=5}={}){const{session:c,loading:h}=Be(),{deployment:l,loading:u}=me(),[g,x]=a.useState(!1),[m,y]=a.useState(null),$=a.useRef(null),S=a.useRef(null),b=a.useRef(0),z=a.useRef(null),j=a.useRef(i),k=a.useRef(s),_=a.useRef(r),v=a.useRef(o),P=a.useRef(n),C=a.useRef(p),E=a.useRef(f);j.current=i,k.current=s,_.current=r,v.current=o,P.current=n,C.current=p,E.current=f;const T=a.useCallback(()=>{S.current&&(clearTimeout(S.current),S.current=null),z.current&&(clearInterval(z.current),z.current=null),$.current&&($.current.close(),$.current=null)},[]),R=a.useCallback(async()=>{var F;if(!t||h||u||!c||!l)return;T();const M=new URL(l.backend_host),O=M.protocol==="https:"?"wss:":"ws:",U=new URL("/realtime/notifications",`${O}//${M.host}`);if(l.mode==="staging"){const L=localStorage.getItem("__dev_session__");L&&U.searchParams.set("__dev_session__",L)}_.current&&_.current.length>0&&_.current.forEach(L=>U.searchParams.append("channels",L)),v.current&&v.current.length>0&&v.current.forEach(L=>U.searchParams.append("organization_ids",L.toString())),P.current&&P.current.length>0&&P.current.forEach(L=>U.searchParams.append("workspace_ids",L.toString()));try{const L=new WebSocket(U.toString());$.current=L,L.onopen=()=>{x(!0),y(null),b.current=0,z.current=setInterval(()=>{L.readyState===WebSocket.OPEN&&L.send("ping")},3e4)},L.onmessage=A=>{var Q,ee;try{const W=JSON.parse(A.data);if(W.type==="notification"&&W.data)(Q=j.current)==null||Q.call(j,W.data);else if(W.type==="error"){const K=W.error||"Unknown error occurred";y(K),(ee=k.current)==null||ee.call(k,K)}else W.type}catch{}},L.onerror=()=>{var A;y("Connection error occurred"),(A=k.current)==null||A.call(k,"Connection error occurred")},L.onclose=A=>{var Q;if(x(!1),z.current&&(clearInterval(z.current),z.current=null),t&&A.code!==1e3&&b.current<E.current){b.current++;const ee=C.current*Math.pow(2,b.current-1);S.current=setTimeout(()=>{R()},ee)}else b.current>=E.current&&(y("Max reconnection attempts reached"),(Q=k.current)==null||Q.call(k,"Max reconnection attempts reached"))}}catch{y("Failed to connect"),(F=k.current)==null||F.call(k,"Failed to connect")}},[t,h,u,c,l,T]);a.useEffect(()=>(R(),()=>{T()}),[R,T]),a.useEffect(()=>{$.current&&$.current.readyState===WebSocket.OPEN&&R()},[r,o,n,R]);const w=a.useCallback(()=>{T(),x(!1)},[T]),I=a.useCallback(()=>{b.current=0,R()},[R]);return{isConnected:g,connectionError:m,disconnect:w,reconnect:I}}async function pu(t,r){const o=new URLSearchParams;r&&(r.limit&&o.append("limit",r.limit.toString()),r.offset&&o.append("offset",r.offset.toString()),r.channels&&r.channels.forEach(p=>o.append("channels",p)),r.organization_ids&&r.organization_ids.forEach(p=>o.append("organization_ids",p.toString())),r.workspace_ids&&r.workspace_ids.forEach(p=>o.append("workspace_ids",p.toString())),r.is_read!==void 0&&o.append("is_read",r.is_read.toString()),r.is_archived!==void 0&&o.append("is_archived",r.is_archived.toString()),r.severity&&o.append("severity",r.severity));const n=`/notifications${o.toString()?"?"+o.toString():""}`,i=await t(n,{method:"GET"});return(await G(i)).data}async function hu(t){const r=await t("/notifications/channel-counts",{method:"GET"});return(await G(r)).data}async function fu(t,r){const o=await t(`/notifications/${r}/read`,{method:"POST"});return G(o)}async function gu(t){const r=await t("/notifications/mark-all-read",{method:"POST"});return G(r)}async function mu(t,r){const o=await t(`/notifications/${r}/delete`,{method:"POST"});return G(o)}function wc(t){const{client:r,loading:o}=Fe(),{data:n,error:i,mutate:s,isLoading:p}=Ne(o?null:`wacht-notifications:${JSON.stringify(t)}`,()=>pu(r,t),{refreshInterval:6e4,revalidateOnFocus:!0});yc({enabled:!o&&!!n,onNotification:a.useCallback(u=>{s(async g=>!g||g.notifications.some(m=>m.id===u.id.toString())?g:{...g,notifications:[{id:u.id.toString(),user_id:u.user_id.toString(),deployment_id:u.deployment_id.toString(),title:u.title,body:u.body,severity:u.severity,action_url:u.action_url,action_label:u.action_label,is_read:!1,is_archived:!1,created_at:u.created_at,updated_at:u.created_at},...g.notifications],unread_count:g.unread_count+1,total:g.total+1},!1)},[s]),onError:a.useCallback(()=>{},[])});const f=a.useCallback(async u=>{o||(await s(async g=>g&&{...g,notifications:g.notifications.map(x=>x.id===u?{...x,is_read:!0}:x),unread_count:Math.max(0,g.unread_count-1)},!1),await fu(r,u),await s())},[r,o,s]),c=a.useCallback(async()=>{o||(await s(async u=>u&&{...u,notifications:u.notifications.map(g=>({...g,is_read:!0})),unread_count:0},!1),await gu(r),await s())},[r,s]),h=a.useCallback(async u=>{o||(await s(async g=>{if(!g)return g;const x=g.notifications.find(m=>m.id===u);return{...g,notifications:g.notifications.filter(m=>m.id!==u),unread_count:x&&!x.is_read?Math.max(0,g.unread_count-1):g.unread_count,total:Math.max(0,g.total-1)}},!1),await mu(r,u),await s())},[r,o,s]),l=a.useCallback(async()=>{await s()},[s]);return!n||o||p?{loading:!0,notifications:void 0,unreadCount:void 0,unreadCounts:void 0,channels:void 0,hasMore:void 0,markAsRead:void 0,markAllAsRead:void 0,deleteNotification:void 0,error:i,refetch:l}:{loading:!1,error:i,notifications:n.notifications,unreadCount:n.unread_count,unreadCounts:n.unread_counts,channels:n.channels,hasMore:n.has_more,markAsRead:f,markAllAsRead:c,deleteNotification:h,refetch:l}}async function xu(t){const r=await t("/notifications/channel-counts",{method:"GET"});return(await G(r)).data}function vu(){const{client:t,loading:r}=Fe(),{data:o,error:n,mutate:i}=Ne(r?null:"wacht-notifications:channel-counts",()=>xu(t),{refreshInterval:3e4,revalidateOnFocus:!0}),s=async()=>{await i()};return!o||r?{loading:!0,counts:void 0,error:n,refetch:s}:{loading:!1,counts:o,error:n,refetch:s}}const Yt=class Yt{constructor(){tt(this,"ws",null);tt(this,"messageHandlers",new Set);tt(this,"connectionStateHandlers",new Set);tt(this,"reconnectTimer",null);tt(this,"reconnectAttempts",0);tt(this,"url",null);tt(this,"isIntentionalDisconnect",!1);tt(this,"sessionMessages",{});tt(this,"currentSessionKey",null)}static getInstance(){return Yt.instance||(Yt.instance=new Yt),Yt.instance}connect(r){var o,n;if(this.url=r,this.isIntentionalDisconnect=!1,((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN&&this.url===r){this.notifyConnectionState({isConnected:!0});return}((n=this.ws)==null?void 0:n.readyState)!==WebSocket.CONNECTING&&this.createConnection()}createConnection(){if(this.url)try{this.ws=new WebSocket(this.url),this.ws.onopen=()=>{this.reconnectAttempts=0,this.notifyConnectionState({isConnected:!0})},this.ws.onmessage=r=>{try{const o=JSON.parse(r.data);this.notifyMessageHandlers(o)}catch{}},this.ws.onerror=()=>{this.notifyConnectionState({isConnected:!1,error:"Connection error"})},this.ws.onclose=()=>{this.ws=null,this.notifyConnectionState({isConnected:!1}),this.isIntentionalDisconnect||this.scheduleReconnect()}}catch(r){this.notifyConnectionState({isConnected:!1,error:r instanceof Error?r.message:"Failed to connect"})}}scheduleReconnect(){this.reconnectAttempts++;const r=Math.min(1e3*Math.pow(2,this.reconnectAttempts-1),3e4),o=Math.random()*.3*r,n=Math.floor(r+o);this.reconnectTimer=setTimeout(()=>{this.createConnection()},n)}disconnect(){this.isIntentionalDisconnect=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null)}send(r){var o;if(((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN){const n=JSON.stringify(r);this.ws.send(n)}}onMessage(r){return this.messageHandlers.add(r),()=>{this.messageHandlers.delete(r)}}onConnectionStateChange(r){var o;return this.connectionStateHandlers.add(r),r({isConnected:((o=this.ws)==null?void 0:o.readyState)===WebSocket.OPEN}),()=>{this.connectionStateHandlers.delete(r)}}notifyMessageHandlers(r){this.messageHandlers.forEach(o=>{try{o(r)}catch{}})}notifyConnectionState(r){this.connectionStateHandlers.forEach(o=>{try{o(r)}catch{}})}isConnected(){var r;return((r=this.ws)==null?void 0:r.readyState)===WebSocket.OPEN}setCurrentSession(r){this.currentSessionKey=r,this.sessionMessages[r]||(this.sessionMessages[r]=[])}addMessage(r){this.currentSessionKey&&(this.sessionMessages[this.currentSessionKey]||(this.sessionMessages[this.currentSessionKey]=[]),this.sessionMessages[this.currentSessionKey].push(r))}getSessionMessages(r){return this.sessionMessages[r]||[]}clearSessionMessages(r){this.sessionMessages[r]&&(this.sessionMessages[r]=[])}};tt(Yt,"instance");let ss=Yt;const Ke=ss.getInstance(),xt={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error"},Ae={IDLE:"idle",STARTING:"starting",RUNNING:"running",WAITING_FOR_INPUT:"waiting_for_input",COMPLETED:"completed",FAILED:"failed"},Ot={IDLE:"Idle",STARTING:"Starting",RUNNING:"Running",WAITING_FOR_INPUT:"WaitingForInput",COMPLETED:"Completed",FAILED:"Failed",CANCELLED:"Cancelled"};function Gs(t){switch(t){case Ot.IDLE:return Ae.IDLE;case Ot.STARTING:return Ae.STARTING;case Ot.RUNNING:return Ae.RUNNING;case Ot.WAITING_FOR_INPUT:return Ae.WAITING_FOR_INPUT;case Ot.COMPLETED:return Ae.COMPLETED;case Ot.FAILED:case Ot.CANCELLED:return Ae.FAILED;default:return Ae.IDLE}}function Hs(t){return t===Ae.STARTING||t===Ae.RUNNING||t===Ae.WAITING_FOR_INPUT}function jc({contextId:t,agentName:r,token:o,platformAdapter:n,autoConnect:i=!0}){const{deployment:s}=me(),{client:p}=Fe(),[f,c]=a.useState([]),[h,l]=a.useState(null),[u,g]=a.useState(null),[x,m]=a.useState(!1),[y,$]=a.useState(!1),[S,b]=a.useState(Ae.IDLE),[z,j]=a.useState({status:xt.DISCONNECTED}),[k,_]=a.useState(!0),[v,P]=a.useState(!1),C=a.useRef(null),E=a.useRef(null),T=a.useCallback(W=>{var K,oe;switch(W.message_type){case"session_connected":if(m(!0),j({status:xt.CONNECTED}),(K=W.data)!=null&&K.execution_status){const de=W.data.execution_status,ne=Gs(de);b(ne),$(Hs(ne))}break;case"conversation_message":R(W.data);break;case"user_input_request":w(W.data);break;case"platform_event":I(W.data);break;case"platform_function":M(W.data);break;case"execution_complete":$(!1),b(Ae.IDLE),E.current=null;break;case"execution_error":$(!1),b(Ae.FAILED),E.current=null;break;case"execution_cancelled":$(!1),b(Ae.IDLE),E.current=null;break;case"execution_status":const te=(oe=W.data)==null?void 0:oe.status;if(te){const de=Gs(te);b(de),$(Hs(de))}break}},[h]),R=a.useCallback(W=>{var ne,ue,X,ae,Z,q,B,ie;const{id:K,message_type:oe,content:te}=W,de=H=>f.some(se=>se.id===H);if(oe==="system_decision"||oe==="action_execution_result"||oe==="assistant_task_breakdown"||oe==="assistant_validation"||oe==="assistant_action_planning"||oe==="context_results"){l(null),g(null);let H="";if(oe==="system_decision"){const se=te==null?void 0:te.step,we=te==null?void 0:te.reasoning;if(se==="gathercontext")we&&we.length>0?H=we.length>60?`${we.substring(0,60)}...`:we:H="Gathering context...";else if(se==="executeaction")H="Executing action";else if(se==="deliverresponse")H="Preparing response";else if(se==="taskplanning")H="Planning approach";else if(se==="validateprogress")H="Validating progress";else if(se==="acknowledge")H="Processing request";else if(se==="finishplanning")H="Finalizing plan";else if(se==="executetasks")H="Executing tasks";else if(se==="requestuserinput")H="Waiting for input";else if(se==="complete")H="Completed";else if(se==="examinetool")H="Examining tool";else if(se==="examineworkflow")H="Examining workflow";else{const xe=(te==null?void 0:te.confidence)||.5;xe>.8?H="Analyzing":xe>.6?H="Thinking":H="Reasoning"}}else if(oe==="action_execution_result")((ne=te.task_execution)==null?void 0:ne.status)==="completed"?H="Task execution completed":(ue=te.task_execution)!=null&&ue.approach?H=te.task_execution.approach:H="Executing task";else if(oe==="assistant_task_breakdown")(X=te.task_breakdown)!=null&&X.total_tasks?H=`Identified ${te.task_breakdown.total_tasks} tasks`:H="Planning tasks";else if(oe==="assistant_validation")H="Validated results";else if(oe==="assistant_action_planning")(ae=te.task_execution)!=null&&ae.total_tasks?H=`Planned ${te.task_execution.total_tasks} tasks`:(q=(Z=te.task_execution)==null?void 0:Z.tasks)!=null&&q.length?H=`Planned ${te.task_execution.tasks.length} tasks`:H="Planning actions";else if(oe==="context_results"){const se=te.query,we=te.result_count||0;se&&se!=="General context gathering"?H=`${se}: Found ${we} results`:H=`Found ${we} results`}H&&!de(K)&&c(se=>[...se,{id:K,role:"system",content:H,timestamp:new Date,metadata:{type:"log",messageType:oe}}]);return}if(oe==="user_message")de(K)||(l(null),g(null),c(H=>[...H,{id:K,role:"user",content:te.message,images:te.images,timestamp:new Date}]));else if(oe==="agent_response")de(K)||(l(null),g(null),$(!1),b(Ae.IDLE),E.current=null,c(H=>[...H,{id:K,role:"assistant",content:te.response,timestamp:new Date,isStreaming:!1}]));else if(oe==="assistant_acknowledgment")de(K)||(l(null),g(null),c(H=>[...H,{id:K,role:"assistant",content:te.acknowledgment_message,timestamp:new Date}]));else if(oe==="assistant_ideation"||oe==="assistant_action_planning"||oe==="action_execution_result"||oe==="assistant_validation"||oe==="assistant_context_gathering"||oe==="assistant_task_breakdown"){let H="";if(te.reasoning_summary)H=te.reasoning_summary;else if((B=te.task_execution)!=null&&B.approach)H=te.task_execution.approach;else if(te.strategic_synthesis)H=te.strategic_synthesis;else if((ie=te.task_breakdown)!=null&&ie.total_tasks)H=`Breaking down into ${te.task_breakdown.total_tasks} tasks...`;else if(te.acknowledgment_message)H=te.acknowledgment_message;else return;c(se=>[...se,{id:K,role:"assistant",content:H,timestamp:new Date}])}else if(oe==="user_input_request"){const H={question:te.question,context:te.context,input_type:te.input_type,options:te.options||te.suggestions,default_value:te.default_value,placeholder:te.placeholder};b("waiting_for_input"),c(se=>[...se,{id:K,role:"system",content:H.question,timestamp:new Date,metadata:{type:"user_input_request",userInputRequest:H}}])}},[]),w=a.useCallback(async W=>{b("waiting_for_input");const K=`input-request-${Date.now()}`;c(oe=>[...oe,{id:K,role:"system",content:W.question,timestamp:new Date,metadata:{type:"user_input_request",userInputRequest:W}}])},[]),I=a.useCallback(W=>{const{event_label:K,event_data:oe}=W;n!=null&&n.onPlatformEvent&&n.onPlatformEvent(K,oe)},[n]),M=a.useCallback(async W=>{const{function_name:K,function_data:oe}=W,{parameters:te,execution_id:de}=oe;if(!(n!=null&&n.onPlatformFunction)){Ke.send({message_type:{platform_function_result:[de,{error:"No platform function handler registered"}]},data:{}});return}try{const ne=await n.onPlatformFunction(K,te,de),ue={message_type:{platform_function_result:[de,ne]},data:{}};Ke.send(ue)}catch(ne){Ke.send({message_type:{platform_function_result:[de,{error:ne instanceof Error?ne.message:"Function execution failed",stack:ne instanceof Error?ne.stack:void 0}]},data:{}})}},[n]);a.useEffect(()=>{if(!s)return;const K=`wss://${s==null?void 0:s.backend_host.replace(/https?:\/\//,"")}/realtime/agent?token=${encodeURIComponent(o)}`;j({status:xt.CONNECTING}),Ke.connect(K)},[s,o]),a.useEffect(()=>Ke.onConnectionStateChange(K=>{j({status:K.isConnected?xt.CONNECTED:K.error?xt.ERROR:xt.DISCONNECTED}),m(K.isConnected)}),[]),a.useEffect(()=>Ke.onMessage(T),[T]),a.useEffect(()=>{x&&t&&r&&i&&Ke.send({message_type:{session_connect:[t,r]},data:{}})},[x,t,r,i]);const O=a.useCallback(async()=>(x&&t&&r&&Ke.send({message_type:{session_connect:[t,r]},data:{}}),()=>{}),[x,t,r]),U=a.useCallback((W,K)=>{x&&(l(W),g(K||null),$(!0),b(Ae.STARTING),Ke.send({message_type:{message_input:W},data:K?{images:K}:{}}))},[x]),F=a.useCallback(()=>{c([]),E.current=null},[]),L=a.useCallback(W=>{!x||S!==Ae.WAITING_FOR_INPUT||(Ke.send({message_type:{user_input_response:W},data:{}}),b(Ae.RUNNING))},[x,S]),A=a.useCallback(async W=>{var K;if(!(!o||!t))try{const oe=new URLSearchParams({token:o,limit:"50"});W&&(oe.append("before_id",W),P(!0));const de=await(await p(`/api/agent/contexts/${t}/messages?${oe}`,{method:"GET"})).json();if(de.status===200&&de.data){const ne=de.data;if(Array.isArray(ne.data)){const ue=ne.data.filter(X=>{var q;let ae=X.content;if(typeof X.content=="string")try{ae=JSON.parse(X.content)}catch{ae={message:X.content}}const Z=((q=X.metadata)==null?void 0:q.message_type)||(ae==null?void 0:ae.message_type);return Z==="user_message"||Z==="agent_response"||Z==="assistant_acknowledgment"||Z==="user_input_request"||Z==="system_decision"||Z==="action_execution_result"||Z==="assistant_task_breakdown"||Z==="assistant_validation"||Z==="assistant_action_planning"||Z==="context_results"}).map(X=>{var H,se,we,xe,ge,V,D;let ae="",Z,q,B=X.content;if(typeof X.content=="string")try{B=JSON.parse(X.content)}catch{B=X.content}const ie=((H=X.metadata)==null?void 0:H.message_type)||(B==null?void 0:B.message_type);if(ie==="user_message"?(ae=(B==null?void 0:B.message)||"",Z=(B==null?void 0:B.images)||void 0):ie==="agent_response"?ae=(B==null?void 0:B.response)||"":ie==="assistant_acknowledgment"?ae=(B==null?void 0:B.acknowledgment_message)||"":ie==="user_input_request"&&(ae=(B==null?void 0:B.question)||"",q={type:"user_input_request",userInputRequest:{question:(B==null?void 0:B.question)||"",context:(B==null?void 0:B.context)||"",input_type:(B==null?void 0:B.input_type)||"text",options:(B==null?void 0:B.options)||(B==null?void 0:B.suggestions)||[],default_value:(B==null?void 0:B.default_value)||"",placeholder:(B==null?void 0:B.placeholder)||""}}),ie==="system_decision"||ie==="action_execution_result"||ie==="assistant_task_breakdown"||ie==="assistant_validation"||ie==="assistant_action_planning"||ie==="context_results"){let N="";if(ie==="system_decision"){const re=B==null?void 0:B.step,pe=B==null?void 0:B.reasoning;if(re==="gathercontext")pe&&pe.length>0?N=pe.length>60?`${pe.substring(0,60)}...`:pe:N="Gathering context...";else if(re==="executeaction")N="Executing action";else if(re==="deliverresponse")N="Preparing response";else if(re==="taskplanning")N="Planning approach";else if(re==="validateprogress")N="Validating progress";else if(re==="acknowledge")N="Processing request";else if(re==="finishplanning")N="Finalizing plan";else if(re==="executetasks")N="Executing tasks";else if(re==="requestuserinput")N="Waiting for input";else if(re==="complete")N="Completed";else if(re==="examinetool")N="Examining tool";else if(re==="examineworkflow")N="Examining workflow";else{const J=(B==null?void 0:B.confidence)||.5;J>.8?N="Analyzing":J>.6?N="Thinking":N="Reasoning"}}else if(ie==="action_execution_result")((se=B==null?void 0:B.task_execution)==null?void 0:se.status)==="completed"?N="Task execution completed":(we=B==null?void 0:B.task_execution)!=null&&we.approach?N=B.task_execution.approach:N="Executing task";else if(ie==="assistant_task_breakdown")(xe=B==null?void 0:B.task_breakdown)!=null&&xe.total_tasks?N=`Identified ${B.task_breakdown.total_tasks} tasks`:N="Planning tasks";else if(ie==="assistant_validation")N="Validated results";else if(ie==="assistant_action_planning")(ge=B==null?void 0:B.task_execution)!=null&&ge.total_tasks?N=`Planned ${B.task_execution.total_tasks} tasks`:(D=(V=B==null?void 0:B.task_execution)==null?void 0:V.tasks)!=null&&D.length?N=`Planned ${B.task_execution.tasks.length} tasks`:N="Planning actions";else if(ie==="context_results"){const re=B==null?void 0:B.query,pe=(B==null?void 0:B.result_count)||0;re&&re!=="General context gathering"?N=`${re}: Found ${pe} results`:N=`Found ${pe} results`}ae=N,q={type:"log",messageType:ie}}return{id:X.id,role:ie==="user_message"?"user":ie==="user_input_request"?"system":"assistant",content:ae,images:Z,timestamp:new Date(X.timestamp||X.created_at||Date.now()),metadata:q}}).filter(X=>X.content||X.metadata||X.images).sort((X,ae)=>{const Z=BigInt(X.id),q=BigInt(ae.id);return Z<q?-1:Z>q?1:0});ue.length>0&&(C.current=ue[0].id),W?(c(X=>[...ue,...X]),_(ue.length>=50)):(c(ue),ue.length>0&&((K=ue[ue.length-1].metadata)==null?void 0:K.type)==="user_input_request"&&b(Ae.WAITING_FOR_INPUT)),P(!1)}}}catch(oe){console.error("Failed to fetch messages:",oe),P(!1)}},[o,t,p]);a.useEffect(()=>{t&&o&&A()},[t,o]);const Q=a.useCallback(async()=>{if(!(v||!k||!C.current)){P(!0);try{await A(C.current)}finally{P(!1)}}},[v,k,A]),ee=a.useCallback(()=>{!x||!y||(Ke.send({message_type:{cancel_execution:null},data:{}}),$(!1),b("idle"))},[x,y]);return{messages:f,pendingMessage:h,pendingImages:u,connectionState:z,isConnected:x,isExecuting:y,executionStatus:S,isWaitingForInput:S==="waiting_for_input",hasMoreMessages:k,isLoadingMore:v,sendMessage:U,submitUserInput:L,clearMessages:F,loadMoreMessages:Q,cancelExecution:ee,connect:O,disconnect:()=>Ke.disconnect()}}const _c=()=>{const{client:t}=Fe(),[r,o]=a.useState(!1),[n,i]=a.useState(null),[s,p]=a.useState(null),f=a.useCallback(async h=>{o(!0),i(null),p(null);try{const l=await t("/organizations/invitations/accept",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:h})}),g=(await G(l)).data;return p(g),g.error_code&&i(g.message||"Failed to accept invitation"),g}catch(l){const u=l.message||"Failed to accept invitation";i(u);const g={error_code:"NETWORK_ERROR",message:u};return p(g),g}finally{o(!1)}},[t]),c=a.useCallback(()=>{i(null),p(null)},[]);return{acceptInvitation:f,invitationData:s,loading:r,error:n,reset:c}},bu=({children:t})=>{const{loading:r}=me();return r?null:e.jsx(e.Fragment,{children:t})},yu=({children:t})=>{const{loading:r}=me();return r?e.jsx(e.Fragment,{children:t}):null};var qe=function(){return qe=Object.assign||function(r){for(var o,n=1,i=arguments.length;n<i;n++){o=arguments[n];for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])}return r},qe.apply(this,arguments)};function tr(t,r,o){if(o||arguments.length===2)for(var n=0,i=r.length,s;n<i;n++)(s||!(n in r))&&(s||(s=Array.prototype.slice.call(r,0,n)),s[n]=r[n]);return t.concat(s||Array.prototype.slice.call(r))}function wu(t){var r=Object.create(null);return function(o){return r[o]===void 0&&(r[o]=t(o)),r[o]}}var ju=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,_u=wu(function(t){return ju.test(t)||t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)<91}),Ie="-ms-",Fr="-moz-",ze="-webkit-",kc="comm",Ko="rule",ws="decl",ku="@import",Cc="@keyframes",Cu="@layer",Sc=Math.abs,js=String.fromCharCode,is=Object.assign;function Su(t,r){return Ue(t,0)^45?(((r<<2^Ue(t,0))<<2^Ue(t,1))<<2^Ue(t,2))<<2^Ue(t,3):0}function zc(t){return t.trim()}function mt(t,r){return(t=r.exec(t))?t[0]:t}function be(t,r,o){return t.replace(r,o)}function Po(t,r,o){return t.indexOf(r,o)}function Ue(t,r){return t.charCodeAt(r)|0}function yr(t,r,o){return t.slice(r,o)}function ct(t){return t.length}function $c(t){return t.length}function Ar(t,r){return r.push(t),t}function zu(t,r){return t.map(r).join("")}function qs(t,r){return t.filter(function(o){return!mt(o,r)})}var Xo=1,wr=1,Ec=0,Xe=0,De=0,Sr="";function Jo(t,r,o,n,i,s,p,f){return{value:t,root:r,parent:o,type:n,props:i,children:s,line:Xo,column:wr,length:p,return:"",siblings:f}}function zt(t,r){return is(Jo("",null,null,"",null,null,0,t.siblings),t,{length:-t.length},r)}function lr(t){for(;t.root;)t=zt(t.root,{children:[t]});Ar(t,t.siblings)}function $u(){return De}function Eu(){return De=Xe>0?Ue(Sr,--Xe):0,wr--,De===10&&(wr=1,Xo--),De}function rt(){return De=Xe<Ec?Ue(Sr,Xe++):0,wr++,De===10&&(wr=1,Xo++),De}function Qt(){return Ue(Sr,Xe)}function Ro(){return Xe}function en(t,r){return yr(Sr,t,r)}function as(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Iu(t){return Xo=wr=1,Ec=ct(Sr=t),Xe=0,[]}function Pu(t){return Sr="",t}function xn(t){return zc(en(Xe-1,cs(t===91?t+2:t===40?t+1:t)))}function Ru(t){for(;(De=Qt())&&De<33;)rt();return as(t)>2||as(De)>3?"":" "}function Tu(t,r){for(;--r&&rt()&&!(De<48||De>102||De>57&&De<65||De>70&&De<97););return en(t,Ro()+(r<6&&Qt()==32&&rt()==32))}function cs(t){for(;rt();)switch(De){case t:return Xe;case 34:case 39:t!==34&&t!==39&&cs(De);break;case 40:t===41&&cs(t);break;case 92:rt();break}return Xe}function Mu(t,r){for(;rt()&&t+De!==57;)if(t+De===84&&Qt()===47)break;return"/*"+en(r,Xe-1)+"*"+js(t===47?t:rt())}function Ou(t){for(;!as(Qt());)rt();return en(t,Xe)}function Lu(t){return Pu(To("",null,null,null,[""],t=Iu(t),0,[0],t))}function To(t,r,o,n,i,s,p,f,c){for(var h=0,l=0,u=p,g=0,x=0,m=0,y=1,$=1,S=1,b=0,z="",j=i,k=s,_=n,v=z;$;)switch(m=b,b=rt()){case 40:if(m!=108&&Ue(v,u-1)==58){Po(v+=be(xn(b),"&","&\f"),"&\f",Sc(h?f[h-1]:0))!=-1&&(S=-1);break}case 34:case 39:case 91:v+=xn(b);break;case 9:case 10:case 13:case 32:v+=Ru(m);break;case 92:v+=Tu(Ro()-1,7);continue;case 47:switch(Qt()){case 42:case 47:Ar(Au(Mu(rt(),Ro()),r,o,c),c);break;default:v+="/"}break;case 123*y:f[h++]=ct(v)*S;case 125*y:case 59:case 0:switch(b){case 0:case 125:$=0;case 59+l:S==-1&&(v=be(v,/\f/g,"")),x>0&&ct(v)-u&&Ar(x>32?Zs(v+";",n,o,u-1,c):Zs(be(v," ","")+";",n,o,u-2,c),c);break;case 59:v+=";";default:if(Ar(_=Ys(v,r,o,h,l,i,f,z,j=[],k=[],u,s),s),b===123)if(l===0)To(v,r,_,_,j,s,u,f,k);else switch(g===99&&Ue(v,3)===110?100:g){case 100:case 108:case 109:case 115:To(t,_,_,n&&Ar(Ys(t,_,_,0,0,i,f,z,i,j=[],u,k),k),i,k,u,f,n?j:k);break;default:To(v,_,_,_,[""],k,0,f,k)}}h=l=x=0,y=S=1,z=v="",u=p;break;case 58:u=1+ct(v),x=m;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&Eu()==125)continue}switch(v+=js(b),b*y){case 38:S=l>0?1:(v+="\f",-1);break;case 44:f[h++]=(ct(v)-1)*S,S=1;break;case 64:Qt()===45&&(v+=xn(rt())),g=Qt(),l=u=ct(z=v+=Ou(Ro())),b++;break;case 45:m===45&&ct(v)==2&&(y=0)}}return s}function Ys(t,r,o,n,i,s,p,f,c,h,l,u){for(var g=i-1,x=i===0?s:[""],m=$c(x),y=0,$=0,S=0;y<n;++y)for(var b=0,z=yr(t,g+1,g=Sc($=p[y])),j=t;b<m;++b)(j=zc($>0?x[b]+" "+z:be(z,/&\f/g,x[b])))&&(c[S++]=j);return Jo(t,r,o,i===0?Ko:f,c,h,l,u)}function Au(t,r,o,n){return Jo(t,r,o,kc,js($u()),yr(t,2,-2),0,n)}function Zs(t,r,o,n,i){return Jo(t,r,o,ws,yr(t,0,n),yr(t,n+1,-1),n,i)}function Ic(t,r,o){switch(Su(t,r)){case 5103:return ze+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ze+t+t;case 4789:return Fr+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return ze+t+Fr+t+Ie+t+t;case 5936:switch(Ue(t,r+11)){case 114:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return ze+t+Ie+be(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return ze+t+Ie+t+t;case 6165:return ze+t+Ie+"flex-"+t+t;case 5187:return ze+t+be(t,/(\w+).+(:[^]+)/,ze+"box-$1$2"+Ie+"flex-$1$2")+t;case 5443:return ze+t+Ie+"flex-item-"+be(t,/flex-|-self/g,"")+(mt(t,/flex-|baseline/)?"":Ie+"grid-row-"+be(t,/flex-|-self/g,""))+t;case 4675:return ze+t+Ie+"flex-line-pack"+be(t,/align-content|flex-|-self/g,"")+t;case 5548:return ze+t+Ie+be(t,"shrink","negative")+t;case 5292:return ze+t+Ie+be(t,"basis","preferred-size")+t;case 6060:return ze+"box-"+be(t,"-grow","")+ze+t+Ie+be(t,"grow","positive")+t;case 4554:return ze+be(t,/([^-])(transform)/g,"$1"+ze+"$2")+t;case 6187:return be(be(be(t,/(zoom-|grab)/,ze+"$1"),/(image-set)/,ze+"$1"),t,"")+t;case 5495:case 3959:return be(t,/(image-set\([^]*)/,ze+"$1$`$1");case 4968:return be(be(t,/(.+:)(flex-)?(.*)/,ze+"box-pack:$3"+Ie+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ze+t+t;case 4200:if(!mt(t,/flex-|baseline/))return Ie+"grid-column-align"+yr(t,r)+t;break;case 2592:case 3360:return Ie+be(t,"template-","")+t;case 4384:case 3616:return o&&o.some(function(n,i){return r=i,mt(n.props,/grid-\w+-end/)})?~Po(t+(o=o[r].value),"span",0)?t:Ie+be(t,"-start","")+t+Ie+"grid-row-span:"+(~Po(o,"span",0)?mt(o,/\d+/):+mt(o,/\d+/)-+mt(t,/\d+/))+";":Ie+be(t,"-start","")+t;case 4896:case 4128:return o&&o.some(function(n){return mt(n.props,/grid-\w+-start/)})?t:Ie+be(be(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return be(t,/(.+)-inline(.+)/,ze+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ct(t)-1-r>6)switch(Ue(t,r+1)){case 109:if(Ue(t,r+4)!==45)break;case 102:return be(t,/(.+:)(.+)-([^]+)/,"$1"+ze+"$2-$3$1"+Fr+(Ue(t,r+3)==108?"$3":"$2-$3"))+t;case 115:return~Po(t,"stretch",0)?Ic(be(t,"stretch","fill-available"),r,o)+t:t}break;case 5152:case 5920:return be(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(n,i,s,p,f,c,h){return Ie+i+":"+s+h+(p?Ie+i+"-span:"+(f?c:+c-+s)+h:"")+t});case 4949:if(Ue(t,r+6)===121)return be(t,":",":"+ze)+t;break;case 6444:switch(Ue(t,Ue(t,14)===45?18:11)){case 120:return be(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+ze+(Ue(t,14)===45?"inline-":"")+"box$3$1"+ze+"$2$3$1"+Ie+"$2box$3")+t;case 100:return be(t,":",":"+Ie)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return be(t,"scroll-","scroll-snap-")+t}return t}function Fo(t,r){for(var o="",n=0;n<t.length;n++)o+=r(t[n],n,t,r)||"";return o}function Du(t,r,o,n){switch(t.type){case Cu:if(t.children.length)break;case ku:case ws:return t.return=t.return||t.value;case kc:return"";case Cc:return t.return=t.value+"{"+Fo(t.children,n)+"}";case Ko:if(!ct(t.value=t.props.join(",")))return""}return ct(o=Fo(t.children,n))?t.return=t.value+"{"+o+"}":""}function Fu(t){var r=$c(t);return function(o,n,i,s){for(var p="",f=0;f<r;f++)p+=t[f](o,n,i,s)||"";return p}}function Nu(t){return function(r){r.root||(r=r.return)&&t(r)}}function Bu(t,r,o,n){if(t.length>-1&&!t.return)switch(t.type){case ws:t.return=Ic(t.value,t.length,o);return;case Cc:return Fo([zt(t,{value:be(t.value,"@","@"+ze)})],n);case Ko:if(t.length)return zu(o=t.props,function(i){switch(mt(i,n=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":lr(zt(t,{props:[be(i,/:(read-\w+)/,":"+Fr+"$1")]})),lr(zt(t,{props:[i]})),is(t,{props:qs(o,n)});break;case"::placeholder":lr(zt(t,{props:[be(i,/:(plac\w+)/,":"+ze+"input-$1")]})),lr(zt(t,{props:[be(i,/:(plac\w+)/,":"+Fr+"$1")]})),lr(zt(t,{props:[be(i,/:(plac\w+)/,Ie+"input-$1")]})),lr(zt(t,{props:[i]})),is(t,{props:qs(o,n)});break}return""})}}var Uu={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},rr=typeof process<"u"&&process.env!==void 0&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",Pc="active",Rc="data-styled-version",tn="6.1.19",_s=`/*!sc*/
19
19
  `,No=typeof window<"u"&&typeof document<"u",Wu=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&process.env!==void 0&&process.env.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&process.env.REACT_APP_SC_DISABLE_SPEEDY!==""?process.env.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&process.env.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&process.env!==void 0&&process.env.SC_DISABLE_SPEEDY!==void 0&&process.env.SC_DISABLE_SPEEDY!==""?process.env.SC_DISABLE_SPEEDY!=="false"&&process.env.SC_DISABLE_SPEEDY:process.env.NODE_ENV!=="production"),Qs=/invalid hook call/i,eo=new Set,Vu=function(t,r){if(process.env.NODE_ENV!=="production"){var o=r?' with the id of "'.concat(r,'"'):"",n="The component ".concat(t).concat(o,` has been created dynamically.
20
20
  `)+`You may see this warning because you've called styled inside another component.
21
21
  To resolve this only create new StyledComponents outside of any render method and function component.
@@ -4812,7 +4812,7 @@ cursor: pointer;
4812
4812
  &:hover {
4813
4813
  color: var(--color-primary-hover);
4814
4814
  }
4815
- `,b1=({onAccountSelect:t,showAddAccount:r=!0})=>{var j,k,_,v,P;const{session:o,loading:n,switchSignIn:i,signOut:s}=Be(),{deployment:p}=me(),{navigateToSignIn:f,navigate:c}=Ge(),[h,l]=a.useState(null),[u,g]=a.useState(null),x=o==null?void 0:o.active_signin,m=(o==null?void 0:o.signins)||[],y=((k=(j=p==null?void 0:p.auth_settings)==null?void 0:j.multi_session_support)==null?void 0:k.enabled)??!1;a.useEffect(()=>{n||m.length||f()},[n,m,f]);const $=C=>C.split(" ").map(E=>E[0]).join("").toUpperCase().slice(0,2),S=async C=>{var E;if(!(C===(x==null?void 0:x.id)||u)){g(C);try{if(await i(C),t)t(C),g(null);else{let T=new URLSearchParams(window.location.search).get("redirect_uri");if(T||(T=(E=p.ui_settings)==null?void 0:E.after_signin_redirect_url),T){const R=new URL(T);(p==null?void 0:p.mode)==="staging"&&R.searchParams.set("dev_session",localStorage.getItem("__dev_session__")??""),c(R.toString())}else g(null)}}catch(T){console.error("Failed to switch account:",T),g(null)}}},b=async(C,E)=>{C.stopPropagation(),l(E);try{await s(E)}catch(T){console.error("Failed to sign out:",T)}finally{l(null)}},z=()=>{var E;let C=new URLSearchParams(window.location.search).get("redirect_uri");C||(C=(E=p.ui_settings)==null?void 0:E.after_signin_redirect_url),f(C)};return n?e.jsx(fe,{children:e.jsxs(Ta,{children:[e.jsx(Pe,{}),e.jsxs(Oa,{children:[e.jsx(La,{children:"Choose an account"}),e.jsxs(Aa,{children:["to continue to ",((_=p==null?void 0:p.ui_settings)==null?void 0:_.app_name)||"App"]})]}),e.jsx(Ma,{children:[1,2].map(C=>e.jsxs(f1,{children:[e.jsx(g1,{}),e.jsxs(m1,{children:[e.jsx(Da,{}),e.jsx(Da,{$width:"small"})]})]},C))})]})}):m.length?e.jsx(fe,{children:e.jsxs(Ta,{children:[e.jsx(Pe,{}),e.jsxs(Oa,{children:[e.jsx(La,{children:"Choose an account"}),e.jsxs(Aa,{children:["to continue to ",(v=p==null?void 0:p.ui_settings)==null?void 0:v.app_name]})]}),e.jsxs(Ma,{children:[m.map(({user:C,id:E})=>{var I,M,O,U,F;if(!C)return null;const T=E===(x==null?void 0:x.id),R=u===E,w=`${C.first_name||""} ${C.last_name||""}`.trim();return e.jsxs(a1,{$isActive:T,$isSwitching:R,onClick:()=>S(E),children:[e.jsx(c1,{children:C.has_profile_picture?e.jsx("img",{src:C.profile_picture_url,alt:w}):$(w||((I=C.primary_email_address)==null?void 0:I.email)||((M=C.primary_phone_number)==null?void 0:M.phone_number)||C.username||"U")}),e.jsxs(l1,{children:[e.jsx(d1,{children:w||((O=C.primary_email_address)==null?void 0:O.email)||((U=C.primary_phone_number)==null?void 0:U.phone_number)||C.username||"User"}),e.jsx(u1,{children:((F=C.primary_email_address)==null?void 0:F.email)||C.username})]}),!R&&e.jsxs(p1,{onClick:L=>b(L,E),$isLoading:h===E,disabled:h===E,children:[h===E?e.jsx(bt,{size:12}):e.jsx(It,{size:12}),h===E?"Signing out...":"Sign out"]})]},E)}),r&&y&&e.jsxs(h1,{onClick:z,children:[e.jsx(Ze,{}),"Add another account"]})]}),e.jsxs(x1,{children:["Don't have an account?"," ",e.jsx(v1,{children:e.jsx(ot,{to:`${(P=p.ui_settings)==null?void 0:P.sign_up_page_url}${window.location.search}`,children:"Sign up"})})]})]})}):null},y1=()=>{const{navigateToSignIn:t}=Ge();return a.useEffect(()=>{t()},[t]),null},w1=()=>{const{navigateToSignUp:t}=Ge();return a.useEffect(()=>{t()},[t]),null},j1=d.div`
4815
+ `,b1=({onAccountSelect:t,showAddAccount:r=!0})=>{var j,k,_,v,P;const{session:o,loading:n,switchSignIn:i,signOut:s}=Be(),{deployment:p}=me(),{navigateToSignIn:f,navigate:c}=Ge(),[h,l]=a.useState(null),[u,g]=a.useState(null),x=o==null?void 0:o.active_signin,m=(o==null?void 0:o.signins)||[],y=((k=(j=p==null?void 0:p.auth_settings)==null?void 0:j.multi_session_support)==null?void 0:k.enabled)??!1;a.useEffect(()=>{n||m.length||f()},[n,m,f]);const $=C=>C.split(" ").map(E=>E[0]).join("").toUpperCase().slice(0,2),S=async C=>{var E;if(!(C===(x==null?void 0:x.id)||u)){g(C);try{if(await i(C),t)t(C),g(null);else{let T=new URLSearchParams(window.location.search).get("redirect_uri");if(T||(T=(E=p.ui_settings)==null?void 0:E.after_signin_redirect_url),T){const R=new URL(T);(p==null?void 0:p.mode)==="staging"&&R.searchParams.set("__dev_session__",localStorage.getItem("__dev_session__")??""),c(R.toString())}else g(null)}}catch(T){console.error("Failed to switch account:",T),g(null)}}},b=async(C,E)=>{C.stopPropagation(),l(E);try{await s(E)}catch(T){console.error("Failed to sign out:",T)}finally{l(null)}},z=()=>{var E;let C=new URLSearchParams(window.location.search).get("redirect_uri");C||(C=(E=p.ui_settings)==null?void 0:E.after_signin_redirect_url),f(C)};return n?e.jsx(fe,{children:e.jsxs(Ta,{children:[e.jsx(Pe,{}),e.jsxs(Oa,{children:[e.jsx(La,{children:"Choose an account"}),e.jsxs(Aa,{children:["to continue to ",((_=p==null?void 0:p.ui_settings)==null?void 0:_.app_name)||"App"]})]}),e.jsx(Ma,{children:[1,2].map(C=>e.jsxs(f1,{children:[e.jsx(g1,{}),e.jsxs(m1,{children:[e.jsx(Da,{}),e.jsx(Da,{$width:"small"})]})]},C))})]})}):m.length?e.jsx(fe,{children:e.jsxs(Ta,{children:[e.jsx(Pe,{}),e.jsxs(Oa,{children:[e.jsx(La,{children:"Choose an account"}),e.jsxs(Aa,{children:["to continue to ",(v=p==null?void 0:p.ui_settings)==null?void 0:v.app_name]})]}),e.jsxs(Ma,{children:[m.map(({user:C,id:E})=>{var I,M,O,U,F;if(!C)return null;const T=E===(x==null?void 0:x.id),R=u===E,w=`${C.first_name||""} ${C.last_name||""}`.trim();return e.jsxs(a1,{$isActive:T,$isSwitching:R,onClick:()=>S(E),children:[e.jsx(c1,{children:C.has_profile_picture?e.jsx("img",{src:C.profile_picture_url,alt:w}):$(w||((I=C.primary_email_address)==null?void 0:I.email)||((M=C.primary_phone_number)==null?void 0:M.phone_number)||C.username||"U")}),e.jsxs(l1,{children:[e.jsx(d1,{children:w||((O=C.primary_email_address)==null?void 0:O.email)||((U=C.primary_phone_number)==null?void 0:U.phone_number)||C.username||"User"}),e.jsx(u1,{children:((F=C.primary_email_address)==null?void 0:F.email)||C.username})]}),!R&&e.jsxs(p1,{onClick:L=>b(L,E),$isLoading:h===E,disabled:h===E,children:[h===E?e.jsx(bt,{size:12}):e.jsx(It,{size:12}),h===E?"Signing out...":"Sign out"]})]},E)}),r&&y&&e.jsxs(h1,{onClick:z,children:[e.jsx(Ze,{}),"Add another account"]})]}),e.jsxs(x1,{children:["Don't have an account?"," ",e.jsx(v1,{children:e.jsx(ot,{to:`${(P=p.ui_settings)==null?void 0:P.sign_up_page_url}${window.location.search}`,children:"Sign up"})})]})]})}):null},y1=()=>{const{navigateToSignIn:t}=Ge();return a.useEffect(()=>{t()},[t]),null},w1=()=>{const{navigateToSignUp:t}=Ge();return a.useEffect(()=>{t()},[t]),null},j1=d.div`
4816
4816
  width: 100%;
4817
4817
  height: 500px;
4818
4818
  background: var(--color-background);