@openscout/scout 0.2.64 → 0.2.68
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/README.md +54 -13
- package/bin/openscout-runtime.mjs +42 -0
- package/dist/client/assets/addon-fit_hudsonkit_false-DSvcGNZx.js +1 -0
- package/dist/client/assets/addon-webgl_hudsonkit_false-1rrLEmjL.js +1 -0
- package/dist/client/assets/index-R2y6GOWl.js +184 -0
- package/dist/client/assets/index-bOmc2x1_.css +1 -0
- package/dist/client/assets/xterm_hudsonkit_false-B2TbElXJ.js +1 -0
- package/dist/client/index.html +3 -3
- package/dist/main.mjs +20295 -8189
- package/dist/pair-supervisor.mjs +25432 -21330
- package/dist/runtime/base-daemon.mjs +1626 -0
- package/dist/runtime/broker-daemon.mjs +47985 -0
- package/dist/runtime/broker-process-manager.mjs +938 -0
- package/dist/runtime/mesh-discover.mjs +964 -0
- package/dist/scout-control-plane-web.mjs +19794 -3344
- package/dist/scout-web-server.mjs +19794 -3344
- package/package.json +17 -7
- package/dist/client/assets/addon-fit-DX4qG4td.js +0 -1
- package/dist/client/assets/addon-webgl-DCtw1yLn.js +0 -64
- package/dist/client/assets/arc.es-DglF81f4.js +0 -188
- package/dist/client/assets/index-BRvY3oC-.js +0 -159
- package/dist/client/assets/index-CUNnl56m.css +0 -1
- package/dist/client/assets/index-TVkH_WDG.js +0 -1
- package/dist/client/assets/xterm-B-qIQCd3.js +0 -16
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
function I5(e,t){for(var n=0;n<t.length;n++){const s=t[n];if(typeof s!="string"&&!Array.isArray(s)){for(const r in s)if(r!=="default"&&!(r in e)){const o=Object.getOwnPropertyDescriptor(s,r);o&&Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>s[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&s(c)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();function _A(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mv={exports:{}},au={};var aN;function _5(){if(aN)return au;aN=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(s,r,o){var c=null;if(o!==void 0&&(c=""+o),r.key!==void 0&&(c=""+r.key),"key"in r){o={};for(var u in r)u!=="key"&&(o[u]=r[u])}else o=r;return r=o.ref,{$$typeof:e,type:s,key:c,ref:r!==void 0?r:null,props:o}}return au.Fragment=t,au.jsx=n,au.jsxs=n,au}var rN;function O5(){return rN||(rN=1,Mv.exports=_5()),Mv.exports}var a=O5(),Rv={exports:{}},pt={};var iN;function $5(){if(iN)return pt;iN=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),y=Symbol.iterator;function x(L){return L===null||typeof L!="object"?null:(L=y&&L[y]||L["@@iterator"],typeof L=="function"?L:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,C={};function T(L,F,Z){this.props=L,this.context=F,this.refs=C,this.updater=Z||w}T.prototype.isReactComponent={},T.prototype.setState=function(L,F){if(typeof L!="object"&&typeof L!="function"&&L!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,L,F,"setState")},T.prototype.forceUpdate=function(L){this.updater.enqueueForceUpdate(this,L,"forceUpdate")};function S(){}S.prototype=T.prototype;function N(L,F,Z){this.props=L,this.context=F,this.refs=C,this.updater=Z||w}var E=N.prototype=new S;E.constructor=N,k(E,T.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function R(){}var M={H:null,A:null,T:null,S:null},$=Object.prototype.hasOwnProperty;function O(L,F,Z){var ee=Z.ref;return{$$typeof:e,type:L,key:F,ref:ee!==void 0?ee:null,props:Z}}function U(L,F){return O(L.type,F,L.props)}function _(L){return typeof L=="object"&&L!==null&&L.$$typeof===e}function z(L){var F={"=":"=0",":":"=2"};return"$"+L.replace(/[=:]/g,function(Z){return F[Z]})}var q=/\/+/g;function V(L,F){return typeof L=="object"&&L!==null&&L.key!=null?z(""+L.key):F.toString(36)}function G(L){switch(L.status){case"fulfilled":return L.value;case"rejected":throw L.reason;default:switch(typeof L.status=="string"?L.then(R,R):(L.status="pending",L.then(function(F){L.status==="pending"&&(L.status="fulfilled",L.value=F)},function(F){L.status==="pending"&&(L.status="rejected",L.reason=F)})),L.status){case"fulfilled":return L.value;case"rejected":throw L.reason}}throw L}function P(L,F,Z,ee,X){var de=typeof L;(de==="undefined"||de==="boolean")&&(L=null);var J=!1;if(L===null)J=!0;else switch(de){case"bigint":case"string":case"number":J=!0;break;case"object":switch(L.$$typeof){case e:case t:J=!0;break;case g:return J=L._init,P(J(L._payload),F,Z,ee,X)}}if(J)return X=X(L),J=ee===""?"."+V(L,0):ee,A(X)?(Z="",J!=null&&(Z=J.replace(q,"$&/")+"/"),P(X,F,Z,"",function(Ee){return Ee})):X!=null&&(_(X)&&(X=U(X,Z+(X.key==null||L&&L.key===X.key?"":(""+X.key).replace(q,"$&/")+"/")+J)),F.push(X)),1;J=0;var ae=ee===""?".":ee+":";if(A(L))for(var je=0;je<L.length;je++)ee=L[je],de=ae+V(ee,je),J+=P(ee,F,Z,de,X);else if(je=x(L),typeof je=="function")for(L=je.call(L),je=0;!(ee=L.next()).done;)ee=ee.value,de=ae+V(ee,je++),J+=P(ee,F,Z,de,X);else if(de==="object"){if(typeof L.then=="function")return P(G(L),F,Z,ee,X);throw F=String(L),Error("Objects are not valid as a React child (found: "+(F==="[object Object]"?"object with keys {"+Object.keys(L).join(", ")+"}":F)+"). If you meant to render a collection of children, use an array instead.")}return J}function H(L,F,Z){if(L==null)return L;var ee=[],X=0;return P(L,ee,"","",function(de){return F.call(Z,de,X++)}),ee}function D(L){if(L._status===-1){var F=L._result;F=F(),F.then(function(Z){(L._status===0||L._status===-1)&&(L._status=1,L._result=Z)},function(Z){(L._status===0||L._status===-1)&&(L._status=2,L._result=Z)}),L._status===-1&&(L._status=0,L._result=F)}if(L._status===1)return L._result.default;throw L._result}var K=typeof reportError=="function"?reportError:function(L){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var F=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof L=="object"&&L!==null&&typeof L.message=="string"?String(L.message):String(L),error:L});if(!window.dispatchEvent(F))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",L);return}console.error(L)},W={map:H,forEach:function(L,F,Z){H(L,function(){F.apply(this,arguments)},Z)},count:function(L){var F=0;return H(L,function(){F++}),F},toArray:function(L){return H(L,function(F){return F})||[]},only:function(L){if(!_(L))throw Error("React.Children.only expected to receive a single React element child.");return L}};return pt.Activity=v,pt.Children=W,pt.Component=T,pt.Fragment=n,pt.Profiler=r,pt.PureComponent=N,pt.StrictMode=s,pt.Suspense=h,pt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=M,pt.__COMPILER_RUNTIME={__proto__:null,c:function(L){return M.H.useMemoCache(L)}},pt.cache=function(L){return function(){return L.apply(null,arguments)}},pt.cacheSignal=function(){return null},pt.cloneElement=function(L,F,Z){if(L==null)throw Error("The argument must be a React element, but you passed "+L+".");var ee=k({},L.props),X=L.key;if(F!=null)for(de in F.key!==void 0&&(X=""+F.key),F)!$.call(F,de)||de==="key"||de==="__self"||de==="__source"||de==="ref"&&F.ref===void 0||(ee[de]=F[de]);var de=arguments.length-2;if(de===1)ee.children=Z;else if(1<de){for(var J=Array(de),ae=0;ae<de;ae++)J[ae]=arguments[ae+2];ee.children=J}return O(L.type,X,ee)},pt.createContext=function(L){return L={$$typeof:c,_currentValue:L,_currentValue2:L,_threadCount:0,Provider:null,Consumer:null},L.Provider=L,L.Consumer={$$typeof:o,_context:L},L},pt.createElement=function(L,F,Z){var ee,X={},de=null;if(F!=null)for(ee in F.key!==void 0&&(de=""+F.key),F)$.call(F,ee)&&ee!=="key"&&ee!=="__self"&&ee!=="__source"&&(X[ee]=F[ee]);var J=arguments.length-2;if(J===1)X.children=Z;else if(1<J){for(var ae=Array(J),je=0;je<J;je++)ae[je]=arguments[je+2];X.children=ae}if(L&&L.defaultProps)for(ee in J=L.defaultProps,J)X[ee]===void 0&&(X[ee]=J[ee]);return O(L,de,X)},pt.createRef=function(){return{current:null}},pt.forwardRef=function(L){return{$$typeof:u,render:L}},pt.isValidElement=_,pt.lazy=function(L){return{$$typeof:g,_payload:{_status:-1,_result:L},_init:D}},pt.memo=function(L,F){return{$$typeof:f,type:L,compare:F===void 0?null:F}},pt.startTransition=function(L){var F=M.T,Z={};M.T=Z;try{var ee=L(),X=M.S;X!==null&&X(Z,ee),typeof ee=="object"&&ee!==null&&typeof ee.then=="function"&&ee.then(R,K)}catch(de){K(de)}finally{F!==null&&Z.types!==null&&(F.types=Z.types),M.T=F}},pt.unstable_useCacheRefresh=function(){return M.H.useCacheRefresh()},pt.use=function(L){return M.H.use(L)},pt.useActionState=function(L,F,Z){return M.H.useActionState(L,F,Z)},pt.useCallback=function(L,F){return M.H.useCallback(L,F)},pt.useContext=function(L){return M.H.useContext(L)},pt.useDebugValue=function(){},pt.useDeferredValue=function(L,F){return M.H.useDeferredValue(L,F)},pt.useEffect=function(L,F){return M.H.useEffect(L,F)},pt.useEffectEvent=function(L){return M.H.useEffectEvent(L)},pt.useId=function(){return M.H.useId()},pt.useImperativeHandle=function(L,F,Z){return M.H.useImperativeHandle(L,F,Z)},pt.useInsertionEffect=function(L,F){return M.H.useInsertionEffect(L,F)},pt.useLayoutEffect=function(L,F){return M.H.useLayoutEffect(L,F)},pt.useMemo=function(L,F){return M.H.useMemo(L,F)},pt.useOptimistic=function(L,F){return M.H.useOptimistic(L,F)},pt.useReducer=function(L,F,Z){return M.H.useReducer(L,F,Z)},pt.useRef=function(L){return M.H.useRef(L)},pt.useState=function(L){return M.H.useState(L)},pt.useSyncExternalStore=function(L,F,Z){return M.H.useSyncExternalStore(L,F,Z)},pt.useTransition=function(){return M.H.useTransition()},pt.version="19.2.3",pt}var oN;function sd(){return oN||(oN=1,Rv.exports=$5()),Rv.exports}var p=sd();const Tl=_A(p),OA=I5({__proto__:null,default:Tl},[p]);var Iv={exports:{}},ru={},_v={exports:{}},Ov={};var lN;function P5(){return lN||(lN=1,(function(e){function t(P,H){var D=P.length;P.push(H);e:for(;0<D;){var K=D-1>>>1,W=P[K];if(0<r(W,H))P[K]=H,P[D]=W,D=K;else break e}}function n(P){return P.length===0?null:P[0]}function s(P){if(P.length===0)return null;var H=P[0],D=P.pop();if(D!==H){P[0]=D;e:for(var K=0,W=P.length,L=W>>>1;K<L;){var F=2*(K+1)-1,Z=P[F],ee=F+1,X=P[ee];if(0>r(Z,D))ee<W&&0>r(X,Z)?(P[K]=X,P[ee]=D,K=ee):(P[K]=Z,P[F]=D,K=F);else if(ee<W&&0>r(X,D))P[K]=X,P[ee]=D,K=ee;else break e}}return H}function r(P,H){var D=P.sortIndex-H.sortIndex;return D!==0?D:P.id-H.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var c=Date,u=c.now();e.unstable_now=function(){return c.now()-u}}var h=[],f=[],g=1,v=null,y=3,x=!1,w=!1,k=!1,C=!1,T=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function E(P){for(var H=n(f);H!==null;){if(H.callback===null)s(f);else if(H.startTime<=P)s(f),H.sortIndex=H.expirationTime,t(h,H);else break;H=n(f)}}function A(P){if(k=!1,E(P),!w)if(n(h)!==null)w=!0,R||(R=!0,z());else{var H=n(f);H!==null&&G(A,H.startTime-P)}}var R=!1,M=-1,$=5,O=-1;function U(){return C?!0:!(e.unstable_now()-O<$)}function _(){if(C=!1,R){var P=e.unstable_now();O=P;var H=!0;try{e:{w=!1,k&&(k=!1,S(M),M=-1),x=!0;var D=y;try{t:{for(E(P),v=n(h);v!==null&&!(v.expirationTime>P&&U());){var K=v.callback;if(typeof K=="function"){v.callback=null,y=v.priorityLevel;var W=K(v.expirationTime<=P);if(P=e.unstable_now(),typeof W=="function"){v.callback=W,E(P),H=!0;break t}v===n(h)&&s(h),E(P)}else s(h);v=n(h)}if(v!==null)H=!0;else{var L=n(f);L!==null&&G(A,L.startTime-P),H=!1}}break e}finally{v=null,y=D,x=!1}H=void 0}}finally{H?z():R=!1}}}var z;if(typeof N=="function")z=function(){N(_)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,V=q.port2;q.port1.onmessage=_,z=function(){V.postMessage(null)}}else z=function(){T(_,0)};function G(P,H){M=T(function(){P(e.unstable_now())},H)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(P){P.callback=null},e.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$=0<P?Math.floor(1e3/P):5},e.unstable_getCurrentPriorityLevel=function(){return y},e.unstable_next=function(P){switch(y){case 1:case 2:case 3:var H=3;break;default:H=y}var D=y;y=H;try{return P()}finally{y=D}},e.unstable_requestPaint=function(){C=!0},e.unstable_runWithPriority=function(P,H){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var D=y;y=P;try{return H()}finally{y=D}},e.unstable_scheduleCallback=function(P,H,D){var K=e.unstable_now();switch(typeof D=="object"&&D!==null?(D=D.delay,D=typeof D=="number"&&0<D?K+D:K):D=K,P){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=D+W,P={id:g++,callback:H,priorityLevel:P,startTime:D,expirationTime:W,sortIndex:-1},D>K?(P.sortIndex=D,t(f,P),n(h)===null&&P===n(f)&&(k?(S(M),M=-1):k=!0,G(A,D-K))):(P.sortIndex=W,t(h,P),w||x||(w=!0,R||(R=!0,z()))),P},e.unstable_shouldYield=U,e.unstable_wrapCallback=function(P){var H=y;return function(){var D=y;y=H;try{return P.apply(this,arguments)}finally{y=D}}}})(Ov)),Ov}var cN;function D5(){return cN||(cN=1,_v.exports=P5()),_v.exports}var $v={exports:{}},as={};var uN;function L5(){if(uN)return as;uN=1;var e=sd();function t(h){var f="https://react.dev/errors/"+h;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)f+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+h+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var s={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},r=Symbol.for("react.portal");function o(h,f,g){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:r,key:v==null?null:""+v,children:h,containerInfo:f,implementation:g}}var c=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(h,f){if(h==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return as.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,as.createPortal=function(h,f){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(t(299));return o(h,f,null,g)},as.flushSync=function(h){var f=c.T,g=s.p;try{if(c.T=null,s.p=2,h)return h()}finally{c.T=f,s.p=g,s.d.f()}},as.preconnect=function(h,f){typeof h=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,s.d.C(h,f))},as.prefetchDNS=function(h){typeof h=="string"&&s.d.D(h)},as.preinit=function(h,f){if(typeof h=="string"&&f&&typeof f.as=="string"){var g=f.as,v=u(g,f.crossOrigin),y=typeof f.integrity=="string"?f.integrity:void 0,x=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;g==="style"?s.d.S(h,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:v,integrity:y,fetchPriority:x}):g==="script"&&s.d.X(h,{crossOrigin:v,integrity:y,fetchPriority:x,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},as.preinitModule=function(h,f){if(typeof h=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var g=u(f.as,f.crossOrigin);s.d.M(h,{crossOrigin:g,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0})}}else f==null&&s.d.M(h)},as.preload=function(h,f){if(typeof h=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var g=f.as,v=u(g,f.crossOrigin);s.d.L(h,g,{crossOrigin:v,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},as.preloadModule=function(h,f){if(typeof h=="string")if(f){var g=u(f.as,f.crossOrigin);s.d.m(h,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:g,integrity:typeof f.integrity=="string"?f.integrity:void 0})}else s.d.m(h)},as.requestFormReset=function(h){s.d.r(h)},as.unstable_batchedUpdates=function(h,f){return h(f)},as.useFormState=function(h,f,g){return c.H.useFormState(h,f,g)},as.useFormStatus=function(){return c.H.useHostTransitionStatus()},as.version="19.2.3",as}var dN;function $A(){if(dN)return $v.exports;dN=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),$v.exports=L5(),$v.exports}var fN;function z5(){if(fN)return ru;fN=1;var e=D5(),t=sd(),n=$A();function s(i){var l="https://react.dev/errors/"+i;if(1<arguments.length){l+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)l+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+i+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function o(i){var l=i,d=i;if(i.alternate)for(;l.return;)l=l.return;else{i=l;do l=i,(l.flags&4098)!==0&&(d=l.return),i=l.return;while(i)}return l.tag===3?d:null}function c(i){if(i.tag===13){var l=i.memoizedState;if(l===null&&(i=i.alternate,i!==null&&(l=i.memoizedState)),l!==null)return l.dehydrated}return null}function u(i){if(i.tag===31){var l=i.memoizedState;if(l===null&&(i=i.alternate,i!==null&&(l=i.memoizedState)),l!==null)return l.dehydrated}return null}function h(i){if(o(i)!==i)throw Error(s(188))}function f(i){var l=i.alternate;if(!l){if(l=o(i),l===null)throw Error(s(188));return l!==i?null:i}for(var d=i,m=l;;){var b=d.return;if(b===null)break;var j=b.alternate;if(j===null){if(m=b.return,m!==null){d=m;continue}break}if(b.child===j.child){for(j=b.child;j;){if(j===d)return h(b),i;if(j===m)return h(b),l;j=j.sibling}throw Error(s(188))}if(d.return!==m.return)d=b,m=j;else{for(var I=!1,B=b.child;B;){if(B===d){I=!0,d=b,m=j;break}if(B===m){I=!0,m=b,d=j;break}B=B.sibling}if(!I){for(B=j.child;B;){if(B===d){I=!0,d=j,m=b;break}if(B===m){I=!0,m=j,d=b;break}B=B.sibling}if(!I)throw Error(s(189))}}if(d.alternate!==m)throw Error(s(190))}if(d.tag!==3)throw Error(s(188));return d.stateNode.current===d?i:l}function g(i){var l=i.tag;if(l===5||l===26||l===27||l===6)return i;for(i=i.child;i!==null;){if(l=g(i),l!==null)return l;i=i.sibling}return null}var v=Object.assign,y=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),N=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),U=Symbol.for("react.memo_cache_sentinel"),_=Symbol.iterator;function z(i){return i===null||typeof i!="object"?null:(i=_&&i[_]||i["@@iterator"],typeof i=="function"?i:null)}var q=Symbol.for("react.client.reference");function V(i){if(i==null)return null;if(typeof i=="function")return i.$$typeof===q?null:i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case k:return"Fragment";case T:return"Profiler";case C:return"StrictMode";case A:return"Suspense";case R:return"SuspenseList";case O:return"Activity"}if(typeof i=="object")switch(i.$$typeof){case w:return"Portal";case N:return i.displayName||"Context";case S:return(i._context.displayName||"Context")+".Consumer";case E:var l=i.render;return i=i.displayName,i||(i=l.displayName||l.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case M:return l=i.displayName||null,l!==null?l:V(i.type)||"Memo";case $:l=i._payload,i=i._init;try{return V(i(l))}catch{}}return null}var G=Array.isArray,P=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D={pending:!1,data:null,method:null,action:null},K=[],W=-1;function L(i){return{current:i}}function F(i){0>W||(i.current=K[W],K[W]=null,W--)}function Z(i,l){W++,K[W]=i.current,i.current=l}var ee=L(null),X=L(null),de=L(null),J=L(null);function ae(i,l){switch(Z(de,l),Z(X,i),Z(ee,null),l.nodeType){case 9:case 11:i=(i=l.documentElement)&&(i=i.namespaceURI)?Ek(i):0;break;default:if(i=l.tagName,l=l.namespaceURI)l=Ek(l),i=Tk(l,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}F(ee),Z(ee,i)}function je(){F(ee),F(X),F(de)}function Ee(i){i.memoizedState!==null&&Z(J,i);var l=ee.current,d=Tk(l,i.type);l!==d&&(Z(X,i),Z(ee,d))}function pe(i){X.current===i&&(F(ee),F(X)),J.current===i&&(F(J),eu._currentValue=D)}var Te,re;function Fe(i){if(Te===void 0)try{throw Error()}catch(d){var l=d.stack.trim().match(/\n( *(at )?)/);Te=l&&l[1]||"",re=-1<d.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<d.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+Te+i+re}var Ce=!1;function Me(i,l){if(!i||Ce)return"";Ce=!0;var d=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var m={DetermineComponentFrameRoot:function(){try{if(l){var ke=function(){throw Error()};if(Object.defineProperty(ke.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ke,[])}catch(me){var ce=me}Reflect.construct(i,[],ke)}else{try{ke.call()}catch(me){ce=me}i.call(ke.prototype)}}else{try{throw Error()}catch(me){ce=me}(ke=i())&&typeof ke.catch=="function"&&ke.catch(function(){})}}catch(me){if(me&&ce&&typeof me.stack=="string")return[me.stack,ce.stack]}return[null,null]}};m.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var b=Object.getOwnPropertyDescriptor(m.DetermineComponentFrameRoot,"name");b&&b.configurable&&Object.defineProperty(m.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var j=m.DetermineComponentFrameRoot(),I=j[0],B=j[1];if(I&&B){var Y=I.split(`
|
|
4
|
+
`),le=B.split(`
|
|
5
|
+
`);for(b=m=0;m<Y.length&&!Y[m].includes("DetermineComponentFrameRoot");)m++;for(;b<le.length&&!le[b].includes("DetermineComponentFrameRoot");)b++;if(m===Y.length||b===le.length)for(m=Y.length-1,b=le.length-1;1<=m&&0<=b&&Y[m]!==le[b];)b--;for(;1<=m&&0<=b;m--,b--)if(Y[m]!==le[b]){if(m!==1||b!==1)do if(m--,b--,0>b||Y[m]!==le[b]){var xe=`
|
|
6
|
+
`+Y[m].replace(" at new "," at ");return i.displayName&&xe.includes("<anonymous>")&&(xe=xe.replace("<anonymous>",i.displayName)),xe}while(1<=m&&0<=b);break}}}finally{Ce=!1,Error.prepareStackTrace=d}return(d=i?i.displayName||i.name:"")?Fe(d):""}function _e(i,l){switch(i.tag){case 26:case 27:case 5:return Fe(i.type);case 16:return Fe("Lazy");case 13:return i.child!==l&&l!==null?Fe("Suspense Fallback"):Fe("Suspense");case 19:return Fe("SuspenseList");case 0:case 15:return Me(i.type,!1);case 11:return Me(i.type.render,!1);case 1:return Me(i.type,!0);case 31:return Fe("Activity");default:return""}}function He(i){try{var l="",d=null;do l+=_e(i,d),d=i,i=i.return;while(i);return l}catch(m){return`
|
|
7
|
+
Error generating stack: `+m.message+`
|
|
8
|
+
`+m.stack}}var qe=Object.prototype.hasOwnProperty,nt=e.unstable_scheduleCallback,Re=e.unstable_cancelCallback,Ue=e.unstable_shouldYield,Ie=e.unstable_requestPaint,Be=e.unstable_now,Pe=e.unstable_getCurrentPriorityLevel,at=e.unstable_ImmediatePriority,ut=e.unstable_UserBlockingPriority,rt=e.unstable_NormalPriority,vt=e.unstable_LowPriority,ie=e.unstable_IdlePriority,fe=e.log,Ae=e.unstable_setDisableYieldValue,Qe=null,ue=null;function Ne(i){if(typeof fe=="function"&&Ae(i),ue&&typeof ue.setStrictMode=="function")try{ue.setStrictMode(Qe,i)}catch{}}var De=Math.clz32?Math.clz32:kt,dt=Math.log,St=Math.LN2;function kt(i){return i>>>=0,i===0?32:31-(dt(i)/St|0)|0}var Ct=256,Pt=262144,Mt=4194304;function $t(i){var l=i&42;if(l!==0)return l;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return i&261888;case 262144:case 524288:case 1048576:case 2097152:return i&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function he(i,l,d){var m=i.pendingLanes;if(m===0)return 0;var b=0,j=i.suspendedLanes,I=i.pingedLanes;i=i.warmLanes;var B=m&134217727;return B!==0?(m=B&~j,m!==0?b=$t(m):(I&=B,I!==0?b=$t(I):d||(d=B&~i,d!==0&&(b=$t(d))))):(B=m&~j,B!==0?b=$t(B):I!==0?b=$t(I):d||(d=m&~i,d!==0&&(b=$t(d)))),b===0?0:l!==0&&l!==b&&(l&j)===0&&(j=b&-b,d=l&-l,j>=d||j===32&&(d&4194048)!==0)?l:b}function We(i,l){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&l)===0}function Ve(i,l){switch(i){case 1:case 2:case 4:case 8:case 64:return l+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function it(){var i=Mt;return Mt<<=1,(Mt&62914560)===0&&(Mt=4194304),i}function xt(i){for(var l=[],d=0;31>d;d++)l.push(i);return l}function bn(i,l){i.pendingLanes|=l,l!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function Vn(i,l,d,m,b,j){var I=i.pendingLanes;i.pendingLanes=d,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=d,i.entangledLanes&=d,i.errorRecoveryDisabledLanes&=d,i.shellSuspendCounter=0;var B=i.entanglements,Y=i.expirationTimes,le=i.hiddenUpdates;for(d=I&~d;0<d;){var xe=31-De(d),ke=1<<xe;B[xe]=0,Y[xe]=-1;var ce=le[xe];if(ce!==null)for(le[xe]=null,xe=0;xe<ce.length;xe++){var me=ce[xe];me!==null&&(me.lane&=-536870913)}d&=~ke}m!==0&&nn(i,m,0),j!==0&&b===0&&i.tag!==0&&(i.suspendedLanes|=j&~(I&~l))}function nn(i,l,d){i.pendingLanes|=l,i.suspendedLanes&=~l;var m=31-De(l);i.entangledLanes|=l,i.entanglements[m]=i.entanglements[m]|1073741824|d&261930}function qn(i,l){var d=i.entangledLanes|=l;for(i=i.entanglements;d;){var m=31-De(d),b=1<<m;b&l|i[m]&l&&(i[m]|=l),d&=~b}}function ps(i,l){var d=l&-l;return d=(d&42)!==0?1:ss(d),(d&(i.suspendedLanes|l))!==0?0:d}function ss(i){switch(i){case 2:i=1;break;case 8:i=4;break;case 32:i=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:i=128;break;case 268435456:i=134217728;break;default:i=0}return i}function Wn(i){return i&=-i,2<i?8<i?(i&134217727)!==0?32:268435456:8:2}function Es(){var i=H.p;return i!==0?i:(i=window.event,i===void 0?32:Xk(i.type))}function qs(i,l){var d=H.p;try{return H.p=i,l()}finally{H.p=d}}var Ln=Math.random().toString(36).slice(2),pn="__reactFiber$"+Ln,Sn="__reactProps$"+Ln,Ia="__reactContainer$"+Ln,fa="__reactEvents$"+Ln,Ir="__reactListeners$"+Ln,Ro="__reactHandles$"+Ln,os="__reactResources$"+Ln,_a="__reactMarker$"+Ln;function _r(i){delete i[pn],delete i[Sn],delete i[fa],delete i[Ir],delete i[Ro]}function Ts(i){var l=i[pn];if(l)return l;for(var d=i.parentNode;d;){if(l=d[Ia]||d[pn]){if(d=l.alternate,l.child!==null||d!==null&&d.child!==null)for(i=$k(i);i!==null;){if(d=i[pn])return d;i=$k(i)}return l}i=d,d=i.parentNode}return null}function ha(i){if(i=i[pn]||i[Ia]){var l=i.tag;if(l===5||l===6||l===13||l===31||l===26||l===27||l===3)return i}return null}function ma(i){var l=i.tag;if(l===5||l===26||l===27||l===6)return i.stateNode;throw Error(s(33))}function Ws(i){var l=i[os];return l||(l=i[os]={hoistableStyles:new Map,hoistableScripts:new Map}),l}function rn(i){i[_a]=!0}var gs=new Set,Or={};function pa(i,l){Oa(i,l),Oa(i+"Capture",l)}function Oa(i,l){for(Or[i]=l,i=0;i<l.length;i++)gs.add(l[i])}var Io=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),As={},Pi={};function ne(i){return qe.call(Pi,i)?!0:qe.call(As,i)?!1:Io.test(i)?Pi[i]=!0:(As[i]=!0,!1)}function ve(i,l,d){if(ne(l))if(d===null)i.removeAttribute(l);else{switch(typeof d){case"undefined":case"function":case"symbol":i.removeAttribute(l);return;case"boolean":var m=l.toLowerCase().slice(0,5);if(m!=="data-"&&m!=="aria-"){i.removeAttribute(l);return}}i.setAttribute(l,""+d)}}function Se(i,l,d){if(d===null)i.removeAttribute(l);else{switch(typeof d){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(l);return}i.setAttribute(l,""+d)}}function tt(i,l,d,m){if(m===null)i.removeAttribute(d);else{switch(typeof m){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(d);return}i.setAttributeNS(l,d,""+m)}}function Q(i){switch(typeof i){case"bigint":case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function ge(i){var l=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function Oe(i,l,d){var m=Object.getOwnPropertyDescriptor(i.constructor.prototype,l);if(!i.hasOwnProperty(l)&&typeof m<"u"&&typeof m.get=="function"&&typeof m.set=="function"){var b=m.get,j=m.set;return Object.defineProperty(i,l,{configurable:!0,get:function(){return b.call(this)},set:function(I){d=""+I,j.call(this,I)}}),Object.defineProperty(i,l,{enumerable:m.enumerable}),{getValue:function(){return d},setValue:function(I){d=""+I},stopTracking:function(){i._valueTracker=null,delete i[l]}}}}function Le(i){if(!i._valueTracker){var l=ge(i)?"checked":"value";i._valueTracker=Oe(i,l,""+i[l])}}function ft(i){if(!i)return!1;var l=i._valueTracker;if(!l)return!0;var d=l.getValue(),m="";return i&&(m=ge(i)?i.checked?"true":"false":i.value),i=m,i!==d?(l.setValue(i),!0):!1}function ot(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}var Bt=/[\n"\\]/g;function jt(i){return i.replace(Bt,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Gs(i,l,d,m,b,j,I,B){i.name="",I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"?i.type=I:i.removeAttribute("type"),l!=null?I==="number"?(l===0&&i.value===""||i.value!=l)&&(i.value=""+Q(l)):i.value!==""+Q(l)&&(i.value=""+Q(l)):I!=="submit"&&I!=="reset"||i.removeAttribute("value"),l!=null?Vt(i,I,Q(l)):d!=null?Vt(i,I,Q(d)):m!=null&&i.removeAttribute("value"),b==null&&j!=null&&(i.defaultChecked=!!j),b!=null&&(i.checked=b&&typeof b!="function"&&typeof b!="symbol"),B!=null&&typeof B!="function"&&typeof B!="symbol"&&typeof B!="boolean"?i.name=""+Q(B):i.removeAttribute("name")}function $a(i,l,d,m,b,j,I,B){if(j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(i.type=j),l!=null||d!=null){if(!(j!=="submit"&&j!=="reset"||l!=null)){Le(i);return}d=d!=null?""+Q(d):"",l=l!=null?""+Q(l):d,B||l===i.value||(i.value=l),i.defaultValue=l}m=m??b,m=typeof m!="function"&&typeof m!="symbol"&&!!m,i.checked=B?i.checked:!!m,i.defaultChecked=!!m,I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"&&(i.name=I),Le(i)}function Vt(i,l,d){l==="number"&&ot(i.ownerDocument)===i||i.defaultValue===""+d||(i.defaultValue=""+d)}function gn(i,l,d,m){if(i=i.options,l){l={};for(var b=0;b<d.length;b++)l["$"+d[b]]=!0;for(d=0;d<i.length;d++)b=l.hasOwnProperty("$"+i[d].value),i[d].selected!==b&&(i[d].selected=b),b&&m&&(i[d].defaultSelected=!0)}else{for(d=""+Q(d),l=null,b=0;b<i.length;b++){if(i[b].value===d){i[b].selected=!0,m&&(i[b].defaultSelected=!0);return}l!==null||i[b].disabled||(l=i[b])}l!==null&&(l.selected=!0)}}function Fn(i,l,d){if(l!=null&&(l=""+Q(l),l!==i.value&&(i.value=l),d==null)){i.defaultValue!==l&&(i.defaultValue=l);return}i.defaultValue=d!=null?""+Q(d):""}function wd(i,l,d,m){if(l==null){if(m!=null){if(d!=null)throw Error(s(92));if(G(m)){if(1<m.length)throw Error(s(93));m=m[0]}d=m}d==null&&(d=""),l=d}d=Q(l),i.defaultValue=d,m=i.textContent,m===d&&m!==""&&m!==null&&(i.value=m),Le(i)}function _o(i,l){if(l){var d=i.firstChild;if(d&&d===i.lastChild&&d.nodeType===3){d.nodeValue=l;return}}i.textContent=l}var EP=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Nw(i,l,d){var m=l.indexOf("--")===0;d==null||typeof d=="boolean"||d===""?m?i.setProperty(l,""):l==="float"?i.cssFloat="":i[l]="":m?i.setProperty(l,d):typeof d!="number"||d===0||EP.has(l)?l==="float"?i.cssFloat=d:i[l]=(""+d).trim():i[l]=d+"px"}function Sw(i,l,d){if(l!=null&&typeof l!="object")throw Error(s(62));if(i=i.style,d!=null){for(var m in d)!d.hasOwnProperty(m)||l!=null&&l.hasOwnProperty(m)||(m.indexOf("--")===0?i.setProperty(m,""):m==="float"?i.cssFloat="":i[m]="");for(var b in l)m=l[b],l.hasOwnProperty(b)&&d[b]!==m&&Nw(i,b,m)}else for(var j in l)l.hasOwnProperty(j)&&Nw(i,j,l[j])}function Cp(i){if(i.indexOf("-")===-1)return!1;switch(i){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var TP=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),AP=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function jd(i){return AP.test(""+i)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":i}function ir(){}var Ep=null;function Tp(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var Oo=null,$o=null;function Cw(i){var l=ha(i);if(l&&(i=l.stateNode)){var d=i[Sn]||null;e:switch(i=l.stateNode,l.type){case"input":if(Gs(i,d.value,d.defaultValue,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name),l=d.name,d.type==="radio"&&l!=null){for(d=i;d.parentNode;)d=d.parentNode;for(d=d.querySelectorAll('input[name="'+jt(""+l)+'"][type="radio"]'),l=0;l<d.length;l++){var m=d[l];if(m!==i&&m.form===i.form){var b=m[Sn]||null;if(!b)throw Error(s(90));Gs(m,b.value,b.defaultValue,b.defaultValue,b.checked,b.defaultChecked,b.type,b.name)}}for(l=0;l<d.length;l++)m=d[l],m.form===i.form&&ft(m)}break e;case"textarea":Fn(i,d.value,d.defaultValue);break e;case"select":l=d.value,l!=null&&gn(i,!!d.multiple,l,!1)}}}var Ap=!1;function Ew(i,l,d){if(Ap)return i(l,d);Ap=!0;try{var m=i(l);return m}finally{if(Ap=!1,(Oo!==null||$o!==null)&&(uf(),Oo&&(l=Oo,i=$o,$o=Oo=null,Cw(l),i)))for(l=0;l<i.length;l++)Cw(i[l])}}function vc(i,l){var d=i.stateNode;if(d===null)return null;var m=d[Sn]||null;if(m===null)return null;d=m[l];e:switch(l){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(m=!m.disabled)||(i=i.type,m=!(i==="button"||i==="input"||i==="select"||i==="textarea")),i=!m;break e;default:i=!1}if(i)return null;if(d&&typeof d!="function")throw Error(s(231,l,typeof d));return d}var or=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Mp=!1;if(or)try{var yc={};Object.defineProperty(yc,"passive",{get:function(){Mp=!0}}),window.addEventListener("test",yc,yc),window.removeEventListener("test",yc,yc)}catch{Mp=!1}var $r=null,Rp=null,kd=null;function Tw(){if(kd)return kd;var i,l=Rp,d=l.length,m,b="value"in $r?$r.value:$r.textContent,j=b.length;for(i=0;i<d&&l[i]===b[i];i++);var I=d-i;for(m=1;m<=I&&l[d-m]===b[j-m];m++);return kd=b.slice(i,1<m?1-m:void 0)}function Nd(i){var l=i.keyCode;return"charCode"in i?(i=i.charCode,i===0&&l===13&&(i=13)):i=l,i===10&&(i=13),32<=i||i===13?i:0}function Sd(){return!0}function Aw(){return!1}function vs(i){function l(d,m,b,j,I){this._reactName=d,this._targetInst=b,this.type=m,this.nativeEvent=j,this.target=I,this.currentTarget=null;for(var B in i)i.hasOwnProperty(B)&&(d=i[B],this[B]=d?d(j):j[B]);return this.isDefaultPrevented=(j.defaultPrevented!=null?j.defaultPrevented:j.returnValue===!1)?Sd:Aw,this.isPropagationStopped=Aw,this}return v(l.prototype,{preventDefault:function(){this.defaultPrevented=!0;var d=this.nativeEvent;d&&(d.preventDefault?d.preventDefault():typeof d.returnValue!="unknown"&&(d.returnValue=!1),this.isDefaultPrevented=Sd)},stopPropagation:function(){var d=this.nativeEvent;d&&(d.stopPropagation?d.stopPropagation():typeof d.cancelBubble!="unknown"&&(d.cancelBubble=!0),this.isPropagationStopped=Sd)},persist:function(){},isPersistent:Sd}),l}var Di={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(i){return i.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Cd=vs(Di),xc=v({},Di,{view:0,detail:0}),MP=vs(xc),Ip,_p,bc,Ed=v({},xc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$p,button:0,buttons:0,relatedTarget:function(i){return i.relatedTarget===void 0?i.fromElement===i.srcElement?i.toElement:i.fromElement:i.relatedTarget},movementX:function(i){return"movementX"in i?i.movementX:(i!==bc&&(bc&&i.type==="mousemove"?(Ip=i.screenX-bc.screenX,_p=i.screenY-bc.screenY):_p=Ip=0,bc=i),Ip)},movementY:function(i){return"movementY"in i?i.movementY:_p}}),Mw=vs(Ed),RP=v({},Ed,{dataTransfer:0}),IP=vs(RP),_P=v({},xc,{relatedTarget:0}),Op=vs(_P),OP=v({},Di,{animationName:0,elapsedTime:0,pseudoElement:0}),$P=vs(OP),PP=v({},Di,{clipboardData:function(i){return"clipboardData"in i?i.clipboardData:window.clipboardData}}),DP=vs(PP),LP=v({},Di,{data:0}),Rw=vs(LP),zP={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},BP={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},UP={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function VP(i){var l=this.nativeEvent;return l.getModifierState?l.getModifierState(i):(i=UP[i])?!!l[i]:!1}function $p(){return VP}var FP=v({},xc,{key:function(i){if(i.key){var l=zP[i.key]||i.key;if(l!=="Unidentified")return l}return i.type==="keypress"?(i=Nd(i),i===13?"Enter":String.fromCharCode(i)):i.type==="keydown"||i.type==="keyup"?BP[i.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$p,charCode:function(i){return i.type==="keypress"?Nd(i):0},keyCode:function(i){return i.type==="keydown"||i.type==="keyup"?i.keyCode:0},which:function(i){return i.type==="keypress"?Nd(i):i.type==="keydown"||i.type==="keyup"?i.keyCode:0}}),HP=vs(FP),qP=v({},Ed,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Iw=vs(qP),WP=v({},xc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$p}),GP=vs(WP),ZP=v({},Di,{propertyName:0,elapsedTime:0,pseudoElement:0}),KP=vs(ZP),YP=v({},Ed,{deltaX:function(i){return"deltaX"in i?i.deltaX:"wheelDeltaX"in i?-i.wheelDeltaX:0},deltaY:function(i){return"deltaY"in i?i.deltaY:"wheelDeltaY"in i?-i.wheelDeltaY:"wheelDelta"in i?-i.wheelDelta:0},deltaZ:0,deltaMode:0}),XP=vs(YP),JP=v({},Di,{newState:0,oldState:0}),QP=vs(JP),eD=[9,13,27,32],Pp=or&&"CompositionEvent"in window,wc=null;or&&"documentMode"in document&&(wc=document.documentMode);var tD=or&&"TextEvent"in window&&!wc,_w=or&&(!Pp||wc&&8<wc&&11>=wc),Ow=" ",$w=!1;function Pw(i,l){switch(i){case"keyup":return eD.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dw(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Po=!1;function nD(i,l){switch(i){case"compositionend":return Dw(l);case"keypress":return l.which!==32?null:($w=!0,Ow);case"textInput":return i=l.data,i===Ow&&$w?null:i;default:return null}}function sD(i,l){if(Po)return i==="compositionend"||!Pp&&Pw(i,l)?(i=Tw(),kd=Rp=$r=null,Po=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1<l.char.length)return l.char;if(l.which)return String.fromCharCode(l.which)}return null;case"compositionend":return _w&&l.locale!=="ko"?null:l.data;default:return null}}var aD={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Lw(i){var l=i&&i.nodeName&&i.nodeName.toLowerCase();return l==="input"?!!aD[i.type]:l==="textarea"}function zw(i,l,d,m){Oo?$o?$o.push(m):$o=[m]:Oo=m,l=vf(l,"onChange"),0<l.length&&(d=new Cd("onChange","change",null,d,m),i.push({event:d,listeners:l}))}var jc=null,kc=null;function rD(i){wk(i,0)}function Td(i){var l=ma(i);if(ft(l))return i}function Bw(i,l){if(i==="change")return l}var Uw=!1;if(or){var Dp;if(or){var Lp="oninput"in document;if(!Lp){var Vw=document.createElement("div");Vw.setAttribute("oninput","return;"),Lp=typeof Vw.oninput=="function"}Dp=Lp}else Dp=!1;Uw=Dp&&(!document.documentMode||9<document.documentMode)}function Fw(){jc&&(jc.detachEvent("onpropertychange",Hw),kc=jc=null)}function Hw(i){if(i.propertyName==="value"&&Td(kc)){var l=[];zw(l,kc,i,Tp(i)),Ew(rD,l)}}function iD(i,l,d){i==="focusin"?(Fw(),jc=l,kc=d,jc.attachEvent("onpropertychange",Hw)):i==="focusout"&&Fw()}function oD(i){if(i==="selectionchange"||i==="keyup"||i==="keydown")return Td(kc)}function lD(i,l){if(i==="click")return Td(l)}function cD(i,l){if(i==="input"||i==="change")return Td(l)}function uD(i,l){return i===l&&(i!==0||1/i===1/l)||i!==i&&l!==l}var Ms=typeof Object.is=="function"?Object.is:uD;function Nc(i,l){if(Ms(i,l))return!0;if(typeof i!="object"||i===null||typeof l!="object"||l===null)return!1;var d=Object.keys(i),m=Object.keys(l);if(d.length!==m.length)return!1;for(m=0;m<d.length;m++){var b=d[m];if(!qe.call(l,b)||!Ms(i[b],l[b]))return!1}return!0}function qw(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function Ww(i,l){var d=qw(i);i=0;for(var m;d;){if(d.nodeType===3){if(m=i+d.textContent.length,i<=l&&m>=l)return{node:d,offset:l-i};i=m}e:{for(;d;){if(d.nextSibling){d=d.nextSibling;break e}d=d.parentNode}d=void 0}d=qw(d)}}function Gw(i,l){return i&&l?i===l?!0:i&&i.nodeType===3?!1:l&&l.nodeType===3?Gw(i,l.parentNode):"contains"in i?i.contains(l):i.compareDocumentPosition?!!(i.compareDocumentPosition(l)&16):!1:!1}function Zw(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var l=ot(i.document);l instanceof i.HTMLIFrameElement;){try{var d=typeof l.contentWindow.location.href=="string"}catch{d=!1}if(d)i=l.contentWindow;else break;l=ot(i.document)}return l}function zp(i){var l=i&&i.nodeName&&i.nodeName.toLowerCase();return l&&(l==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||l==="textarea"||i.contentEditable==="true")}var dD=or&&"documentMode"in document&&11>=document.documentMode,Do=null,Bp=null,Sc=null,Up=!1;function Kw(i,l,d){var m=d.window===d?d.document:d.nodeType===9?d:d.ownerDocument;Up||Do==null||Do!==ot(m)||(m=Do,"selectionStart"in m&&zp(m)?m={start:m.selectionStart,end:m.selectionEnd}:(m=(m.ownerDocument&&m.ownerDocument.defaultView||window).getSelection(),m={anchorNode:m.anchorNode,anchorOffset:m.anchorOffset,focusNode:m.focusNode,focusOffset:m.focusOffset}),Sc&&Nc(Sc,m)||(Sc=m,m=vf(Bp,"onSelect"),0<m.length&&(l=new Cd("onSelect","select",null,l,d),i.push({event:l,listeners:m}),l.target=Do)))}function Li(i,l){var d={};return d[i.toLowerCase()]=l.toLowerCase(),d["Webkit"+i]="webkit"+l,d["Moz"+i]="moz"+l,d}var Lo={animationend:Li("Animation","AnimationEnd"),animationiteration:Li("Animation","AnimationIteration"),animationstart:Li("Animation","AnimationStart"),transitionrun:Li("Transition","TransitionRun"),transitionstart:Li("Transition","TransitionStart"),transitioncancel:Li("Transition","TransitionCancel"),transitionend:Li("Transition","TransitionEnd")},Vp={},Yw={};or&&(Yw=document.createElement("div").style,"AnimationEvent"in window||(delete Lo.animationend.animation,delete Lo.animationiteration.animation,delete Lo.animationstart.animation),"TransitionEvent"in window||delete Lo.transitionend.transition);function zi(i){if(Vp[i])return Vp[i];if(!Lo[i])return i;var l=Lo[i],d;for(d in l)if(l.hasOwnProperty(d)&&d in Yw)return Vp[i]=l[d];return i}var Xw=zi("animationend"),Jw=zi("animationiteration"),Qw=zi("animationstart"),fD=zi("transitionrun"),hD=zi("transitionstart"),mD=zi("transitioncancel"),ej=zi("transitionend"),tj=new Map,Fp="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Fp.push("scrollEnd");function ga(i,l){tj.set(i,l),pa(l,[i])}var Ad=typeof reportError=="function"?reportError:function(i){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof i=="object"&&i!==null&&typeof i.message=="string"?String(i.message):String(i),error:i});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",i);return}console.error(i)},Zs=[],zo=0,Hp=0;function Md(){for(var i=zo,l=Hp=zo=0;l<i;){var d=Zs[l];Zs[l++]=null;var m=Zs[l];Zs[l++]=null;var b=Zs[l];Zs[l++]=null;var j=Zs[l];if(Zs[l++]=null,m!==null&&b!==null){var I=m.pending;I===null?b.next=b:(b.next=I.next,I.next=b),m.pending=b}j!==0&&nj(d,b,j)}}function Rd(i,l,d,m){Zs[zo++]=i,Zs[zo++]=l,Zs[zo++]=d,Zs[zo++]=m,Hp|=m,i.lanes|=m,i=i.alternate,i!==null&&(i.lanes|=m)}function qp(i,l,d,m){return Rd(i,l,d,m),Id(i)}function Bi(i,l){return Rd(i,null,null,l),Id(i)}function nj(i,l,d){i.lanes|=d;var m=i.alternate;m!==null&&(m.lanes|=d);for(var b=!1,j=i.return;j!==null;)j.childLanes|=d,m=j.alternate,m!==null&&(m.childLanes|=d),j.tag===22&&(i=j.stateNode,i===null||i._visibility&1||(b=!0)),i=j,j=j.return;return i.tag===3?(j=i.stateNode,b&&l!==null&&(b=31-De(d),i=j.hiddenUpdates,m=i[b],m===null?i[b]=[l]:m.push(l),l.lane=d|536870912),j):null}function Id(i){if(50<Gc)throw Gc=0,ev=null,Error(s(185));for(var l=i.return;l!==null;)i=l,l=i.return;return i.tag===3?i.stateNode:null}var Bo={};function pD(i,l,d,m){this.tag=i,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=m,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rs(i,l,d,m){return new pD(i,l,d,m)}function Wp(i){return i=i.prototype,!(!i||!i.isReactComponent)}function lr(i,l){var d=i.alternate;return d===null?(d=Rs(i.tag,l,i.key,i.mode),d.elementType=i.elementType,d.type=i.type,d.stateNode=i.stateNode,d.alternate=i,i.alternate=d):(d.pendingProps=l,d.type=i.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=i.flags&65011712,d.childLanes=i.childLanes,d.lanes=i.lanes,d.child=i.child,d.memoizedProps=i.memoizedProps,d.memoizedState=i.memoizedState,d.updateQueue=i.updateQueue,l=i.dependencies,d.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},d.sibling=i.sibling,d.index=i.index,d.ref=i.ref,d.refCleanup=i.refCleanup,d}function sj(i,l){i.flags&=65011714;var d=i.alternate;return d===null?(i.childLanes=0,i.lanes=l,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=d.childLanes,i.lanes=d.lanes,i.child=d.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=d.memoizedProps,i.memoizedState=d.memoizedState,i.updateQueue=d.updateQueue,i.type=d.type,l=d.dependencies,i.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),i}function _d(i,l,d,m,b,j){var I=0;if(m=i,typeof i=="function")Wp(i)&&(I=1);else if(typeof i=="string")I=b5(i,d,ee.current)?26:i==="html"||i==="head"||i==="body"?27:5;else e:switch(i){case O:return i=Rs(31,d,l,b),i.elementType=O,i.lanes=j,i;case k:return Ui(d.children,b,j,l);case C:I=8,b|=24;break;case T:return i=Rs(12,d,l,b|2),i.elementType=T,i.lanes=j,i;case A:return i=Rs(13,d,l,b),i.elementType=A,i.lanes=j,i;case R:return i=Rs(19,d,l,b),i.elementType=R,i.lanes=j,i;default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case N:I=10;break e;case S:I=9;break e;case E:I=11;break e;case M:I=14;break e;case $:I=16,m=null;break e}I=29,d=Error(s(130,i===null?"null":typeof i,"")),m=null}return l=Rs(I,d,l,b),l.elementType=i,l.type=m,l.lanes=j,l}function Ui(i,l,d,m){return i=Rs(7,i,m,l),i.lanes=d,i}function Gp(i,l,d){return i=Rs(6,i,null,l),i.lanes=d,i}function aj(i){var l=Rs(18,null,null,0);return l.stateNode=i,l}function Zp(i,l,d){return l=Rs(4,i.children!==null?i.children:[],i.key,l),l.lanes=d,l.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},l}var rj=new WeakMap;function Ks(i,l){if(typeof i=="object"&&i!==null){var d=rj.get(i);return d!==void 0?d:(l={value:i,source:l,stack:He(l)},rj.set(i,l),l)}return{value:i,source:l,stack:He(l)}}var Uo=[],Vo=0,Od=null,Cc=0,Ys=[],Xs=0,Pr=null,Pa=1,Da="";function cr(i,l){Uo[Vo++]=Cc,Uo[Vo++]=Od,Od=i,Cc=l}function ij(i,l,d){Ys[Xs++]=Pa,Ys[Xs++]=Da,Ys[Xs++]=Pr,Pr=i;var m=Pa;i=Da;var b=32-De(m)-1;m&=~(1<<b),d+=1;var j=32-De(l)+b;if(30<j){var I=b-b%5;j=(m&(1<<I)-1).toString(32),m>>=I,b-=I,Pa=1<<32-De(l)+b|d<<b|m,Da=j+i}else Pa=1<<j|d<<b|m,Da=i}function Kp(i){i.return!==null&&(cr(i,1),ij(i,1,0))}function Yp(i){for(;i===Od;)Od=Uo[--Vo],Uo[Vo]=null,Cc=Uo[--Vo],Uo[Vo]=null;for(;i===Pr;)Pr=Ys[--Xs],Ys[Xs]=null,Da=Ys[--Xs],Ys[Xs]=null,Pa=Ys[--Xs],Ys[Xs]=null}function oj(i,l){Ys[Xs++]=Pa,Ys[Xs++]=Da,Ys[Xs++]=Pr,Pa=l.id,Da=l.overflow,Pr=i}var Gn=null,on=null,_t=!1,Dr=null,Js=!1,Xp=Error(s(519));function Lr(i){var l=Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ec(Ks(l,i)),Xp}function lj(i){var l=i.stateNode,d=i.type,m=i.memoizedProps;switch(l[pn]=i,l[Sn]=m,d){case"dialog":Tt("cancel",l),Tt("close",l);break;case"iframe":case"object":case"embed":Tt("load",l);break;case"video":case"audio":for(d=0;d<Kc.length;d++)Tt(Kc[d],l);break;case"source":Tt("error",l);break;case"img":case"image":case"link":Tt("error",l),Tt("load",l);break;case"details":Tt("toggle",l);break;case"input":Tt("invalid",l),$a(l,m.value,m.defaultValue,m.checked,m.defaultChecked,m.type,m.name,!0);break;case"select":Tt("invalid",l);break;case"textarea":Tt("invalid",l),wd(l,m.value,m.defaultValue,m.children)}d=m.children,typeof d!="string"&&typeof d!="number"&&typeof d!="bigint"||l.textContent===""+d||m.suppressHydrationWarning===!0||Sk(l.textContent,d)?(m.popover!=null&&(Tt("beforetoggle",l),Tt("toggle",l)),m.onScroll!=null&&Tt("scroll",l),m.onScrollEnd!=null&&Tt("scrollend",l),m.onClick!=null&&(l.onclick=ir),l=!0):l=!1,l||Lr(i,!0)}function cj(i){for(Gn=i.return;Gn;)switch(Gn.tag){case 5:case 31:case 13:Js=!1;return;case 27:case 3:Js=!0;return;default:Gn=Gn.return}}function Fo(i){if(i!==Gn)return!1;if(!_t)return cj(i),_t=!0,!1;var l=i.tag,d;if((d=l!==3&&l!==27)&&((d=l===5)&&(d=i.type,d=!(d!=="form"&&d!=="button")||pv(i.type,i.memoizedProps)),d=!d),d&&on&&Lr(i),cj(i),l===13){if(i=i.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(s(317));on=Ok(i)}else if(l===31){if(i=i.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(s(317));on=Ok(i)}else l===27?(l=on,Jr(i.type)?(i=bv,bv=null,on=i):on=l):on=Gn?ea(i.stateNode.nextSibling):null;return!0}function Vi(){on=Gn=null,_t=!1}function Jp(){var i=Dr;return i!==null&&(ws===null?ws=i:ws.push.apply(ws,i),Dr=null),i}function Ec(i){Dr===null?Dr=[i]:Dr.push(i)}var Qp=L(null),Fi=null,ur=null;function zr(i,l,d){Z(Qp,l._currentValue),l._currentValue=d}function dr(i){i._currentValue=Qp.current,F(Qp)}function eg(i,l,d){for(;i!==null;){var m=i.alternate;if((i.childLanes&l)!==l?(i.childLanes|=l,m!==null&&(m.childLanes|=l)):m!==null&&(m.childLanes&l)!==l&&(m.childLanes|=l),i===d)break;i=i.return}}function tg(i,l,d,m){var b=i.child;for(b!==null&&(b.return=i);b!==null;){var j=b.dependencies;if(j!==null){var I=b.child;j=j.firstContext;e:for(;j!==null;){var B=j;j=b;for(var Y=0;Y<l.length;Y++)if(B.context===l[Y]){j.lanes|=d,B=j.alternate,B!==null&&(B.lanes|=d),eg(j.return,d,i),m||(I=null);break e}j=B.next}}else if(b.tag===18){if(I=b.return,I===null)throw Error(s(341));I.lanes|=d,j=I.alternate,j!==null&&(j.lanes|=d),eg(I,d,i),I=null}else I=b.child;if(I!==null)I.return=b;else for(I=b;I!==null;){if(I===i){I=null;break}if(b=I.sibling,b!==null){b.return=I.return,I=b;break}I=I.return}b=I}}function Ho(i,l,d,m){i=null;for(var b=l,j=!1;b!==null;){if(!j){if((b.flags&524288)!==0)j=!0;else if((b.flags&262144)!==0)break}if(b.tag===10){var I=b.alternate;if(I===null)throw Error(s(387));if(I=I.memoizedProps,I!==null){var B=b.type;Ms(b.pendingProps.value,I.value)||(i!==null?i.push(B):i=[B])}}else if(b===J.current){if(I=b.alternate,I===null)throw Error(s(387));I.memoizedState.memoizedState!==b.memoizedState.memoizedState&&(i!==null?i.push(eu):i=[eu])}b=b.return}i!==null&&tg(l,i,d,m),l.flags|=262144}function $d(i){for(i=i.firstContext;i!==null;){if(!Ms(i.context._currentValue,i.memoizedValue))return!0;i=i.next}return!1}function Hi(i){Fi=i,ur=null,i=i.dependencies,i!==null&&(i.firstContext=null)}function Zn(i){return uj(Fi,i)}function Pd(i,l){return Fi===null&&Hi(i),uj(i,l)}function uj(i,l){var d=l._currentValue;if(l={context:l,memoizedValue:d,next:null},ur===null){if(i===null)throw Error(s(308));ur=l,i.dependencies={lanes:0,firstContext:l},i.flags|=524288}else ur=ur.next=l;return d}var gD=typeof AbortController<"u"?AbortController:function(){var i=[],l=this.signal={aborted:!1,addEventListener:function(d,m){i.push(m)}};this.abort=function(){l.aborted=!0,i.forEach(function(d){return d()})}},vD=e.unstable_scheduleCallback,yD=e.unstable_NormalPriority,Mn={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ng(){return{controller:new gD,data:new Map,refCount:0}}function Tc(i){i.refCount--,i.refCount===0&&vD(yD,function(){i.controller.abort()})}var Ac=null,sg=0,qo=0,Wo=null;function xD(i,l){if(Ac===null){var d=Ac=[];sg=0,qo=iv(),Wo={status:"pending",value:void 0,then:function(m){d.push(m)}}}return sg++,l.then(dj,dj),l}function dj(){if(--sg===0&&Ac!==null){Wo!==null&&(Wo.status="fulfilled");var i=Ac;Ac=null,qo=0,Wo=null;for(var l=0;l<i.length;l++)(0,i[l])()}}function bD(i,l){var d=[],m={status:"pending",value:null,reason:null,then:function(b){d.push(b)}};return i.then(function(){m.status="fulfilled",m.value=l;for(var b=0;b<d.length;b++)(0,d[b])(l)},function(b){for(m.status="rejected",m.reason=b,b=0;b<d.length;b++)(0,d[b])(void 0)}),m}var fj=P.S;P.S=function(i,l){K1=Be(),typeof l=="object"&&l!==null&&typeof l.then=="function"&&xD(i,l),fj!==null&&fj(i,l)};var qi=L(null);function ag(){var i=qi.current;return i!==null?i:Yt.pooledCache}function Dd(i,l){l===null?Z(qi,qi.current):Z(qi,l.pool)}function hj(){var i=ag();return i===null?null:{parent:Mn._currentValue,pool:i}}var Go=Error(s(460)),rg=Error(s(474)),Ld=Error(s(542)),zd={then:function(){}};function mj(i){return i=i.status,i==="fulfilled"||i==="rejected"}function pj(i,l,d){switch(d=i[d],d===void 0?i.push(l):d!==l&&(l.then(ir,ir),l=d),l.status){case"fulfilled":return l.value;case"rejected":throw i=l.reason,vj(i),i;default:if(typeof l.status=="string")l.then(ir,ir);else{if(i=Yt,i!==null&&100<i.shellSuspendCounter)throw Error(s(482));i=l,i.status="pending",i.then(function(m){if(l.status==="pending"){var b=l;b.status="fulfilled",b.value=m}},function(m){if(l.status==="pending"){var b=l;b.status="rejected",b.reason=m}})}switch(l.status){case"fulfilled":return l.value;case"rejected":throw i=l.reason,vj(i),i}throw Gi=l,Go}}function Wi(i){try{var l=i._init;return l(i._payload)}catch(d){throw d!==null&&typeof d=="object"&&typeof d.then=="function"?(Gi=d,Go):d}}var Gi=null;function gj(){if(Gi===null)throw Error(s(459));var i=Gi;return Gi=null,i}function vj(i){if(i===Go||i===Ld)throw Error(s(483))}var Zo=null,Mc=0;function Bd(i){var l=Mc;return Mc+=1,Zo===null&&(Zo=[]),pj(Zo,i,l)}function Rc(i,l){l=l.props.ref,i.ref=l!==void 0?l:null}function Ud(i,l){throw l.$$typeof===y?Error(s(525)):(i=Object.prototype.toString.call(l),Error(s(31,i==="[object Object]"?"object with keys {"+Object.keys(l).join(", ")+"}":i)))}function yj(i){function l(se,te){if(i){var oe=se.deletions;oe===null?(se.deletions=[te],se.flags|=16):oe.push(te)}}function d(se,te){if(!i)return null;for(;te!==null;)l(se,te),te=te.sibling;return null}function m(se){for(var te=new Map;se!==null;)se.key!==null?te.set(se.key,se):te.set(se.index,se),se=se.sibling;return te}function b(se,te){return se=lr(se,te),se.index=0,se.sibling=null,se}function j(se,te,oe){return se.index=oe,i?(oe=se.alternate,oe!==null?(oe=oe.index,oe<te?(se.flags|=67108866,te):oe):(se.flags|=67108866,te)):(se.flags|=1048576,te)}function I(se){return i&&se.alternate===null&&(se.flags|=67108866),se}function B(se,te,oe,we){return te===null||te.tag!==6?(te=Gp(oe,se.mode,we),te.return=se,te):(te=b(te,oe),te.return=se,te)}function Y(se,te,oe,we){var st=oe.type;return st===k?xe(se,te,oe.props.children,we,oe.key):te!==null&&(te.elementType===st||typeof st=="object"&&st!==null&&st.$$typeof===$&&Wi(st)===te.type)?(te=b(te,oe.props),Rc(te,oe),te.return=se,te):(te=_d(oe.type,oe.key,oe.props,null,se.mode,we),Rc(te,oe),te.return=se,te)}function le(se,te,oe,we){return te===null||te.tag!==4||te.stateNode.containerInfo!==oe.containerInfo||te.stateNode.implementation!==oe.implementation?(te=Zp(oe,se.mode,we),te.return=se,te):(te=b(te,oe.children||[]),te.return=se,te)}function xe(se,te,oe,we,st){return te===null||te.tag!==7?(te=Ui(oe,se.mode,we,st),te.return=se,te):(te=b(te,oe),te.return=se,te)}function ke(se,te,oe){if(typeof te=="string"&&te!==""||typeof te=="number"||typeof te=="bigint")return te=Gp(""+te,se.mode,oe),te.return=se,te;if(typeof te=="object"&&te!==null){switch(te.$$typeof){case x:return oe=_d(te.type,te.key,te.props,null,se.mode,oe),Rc(oe,te),oe.return=se,oe;case w:return te=Zp(te,se.mode,oe),te.return=se,te;case $:return te=Wi(te),ke(se,te,oe)}if(G(te)||z(te))return te=Ui(te,se.mode,oe,null),te.return=se,te;if(typeof te.then=="function")return ke(se,Bd(te),oe);if(te.$$typeof===N)return ke(se,Pd(se,te),oe);Ud(se,te)}return null}function ce(se,te,oe,we){var st=te!==null?te.key:null;if(typeof oe=="string"&&oe!==""||typeof oe=="number"||typeof oe=="bigint")return st!==null?null:B(se,te,""+oe,we);if(typeof oe=="object"&&oe!==null){switch(oe.$$typeof){case x:return oe.key===st?Y(se,te,oe,we):null;case w:return oe.key===st?le(se,te,oe,we):null;case $:return oe=Wi(oe),ce(se,te,oe,we)}if(G(oe)||z(oe))return st!==null?null:xe(se,te,oe,we,null);if(typeof oe.then=="function")return ce(se,te,Bd(oe),we);if(oe.$$typeof===N)return ce(se,te,Pd(se,oe),we);Ud(se,oe)}return null}function me(se,te,oe,we,st){if(typeof we=="string"&&we!==""||typeof we=="number"||typeof we=="bigint")return se=se.get(oe)||null,B(te,se,""+we,st);if(typeof we=="object"&&we!==null){switch(we.$$typeof){case x:return se=se.get(we.key===null?oe:we.key)||null,Y(te,se,we,st);case w:return se=se.get(we.key===null?oe:we.key)||null,le(te,se,we,st);case $:return we=Wi(we),me(se,te,oe,we,st)}if(G(we)||z(we))return se=se.get(oe)||null,xe(te,se,we,st,null);if(typeof we.then=="function")return me(se,te,oe,Bd(we),st);if(we.$$typeof===N)return me(se,te,oe,Pd(te,we),st);Ud(te,we)}return null}function Ge(se,te,oe,we){for(var st=null,Dt=null,Ye=te,wt=te=0,It=null;Ye!==null&&wt<oe.length;wt++){Ye.index>wt?(It=Ye,Ye=null):It=Ye.sibling;var Lt=ce(se,Ye,oe[wt],we);if(Lt===null){Ye===null&&(Ye=It);break}i&&Ye&&Lt.alternate===null&&l(se,Ye),te=j(Lt,te,wt),Dt===null?st=Lt:Dt.sibling=Lt,Dt=Lt,Ye=It}if(wt===oe.length)return d(se,Ye),_t&&cr(se,wt),st;if(Ye===null){for(;wt<oe.length;wt++)Ye=ke(se,oe[wt],we),Ye!==null&&(te=j(Ye,te,wt),Dt===null?st=Ye:Dt.sibling=Ye,Dt=Ye);return _t&&cr(se,wt),st}for(Ye=m(Ye);wt<oe.length;wt++)It=me(Ye,se,wt,oe[wt],we),It!==null&&(i&&It.alternate!==null&&Ye.delete(It.key===null?wt:It.key),te=j(It,te,wt),Dt===null?st=It:Dt.sibling=It,Dt=It);return i&&Ye.forEach(function(si){return l(se,si)}),_t&&cr(se,wt),st}function lt(se,te,oe,we){if(oe==null)throw Error(s(151));for(var st=null,Dt=null,Ye=te,wt=te=0,It=null,Lt=oe.next();Ye!==null&&!Lt.done;wt++,Lt=oe.next()){Ye.index>wt?(It=Ye,Ye=null):It=Ye.sibling;var si=ce(se,Ye,Lt.value,we);if(si===null){Ye===null&&(Ye=It);break}i&&Ye&&si.alternate===null&&l(se,Ye),te=j(si,te,wt),Dt===null?st=si:Dt.sibling=si,Dt=si,Ye=It}if(Lt.done)return d(se,Ye),_t&&cr(se,wt),st;if(Ye===null){for(;!Lt.done;wt++,Lt=oe.next())Lt=ke(se,Lt.value,we),Lt!==null&&(te=j(Lt,te,wt),Dt===null?st=Lt:Dt.sibling=Lt,Dt=Lt);return _t&&cr(se,wt),st}for(Ye=m(Ye);!Lt.done;wt++,Lt=oe.next())Lt=me(Ye,se,wt,Lt.value,we),Lt!==null&&(i&&Lt.alternate!==null&&Ye.delete(Lt.key===null?wt:Lt.key),te=j(Lt,te,wt),Dt===null?st=Lt:Dt.sibling=Lt,Dt=Lt);return i&&Ye.forEach(function(R5){return l(se,R5)}),_t&&cr(se,wt),st}function Kt(se,te,oe,we){if(typeof oe=="object"&&oe!==null&&oe.type===k&&oe.key===null&&(oe=oe.props.children),typeof oe=="object"&&oe!==null){switch(oe.$$typeof){case x:e:{for(var st=oe.key;te!==null;){if(te.key===st){if(st=oe.type,st===k){if(te.tag===7){d(se,te.sibling),we=b(te,oe.props.children),we.return=se,se=we;break e}}else if(te.elementType===st||typeof st=="object"&&st!==null&&st.$$typeof===$&&Wi(st)===te.type){d(se,te.sibling),we=b(te,oe.props),Rc(we,oe),we.return=se,se=we;break e}d(se,te);break}else l(se,te);te=te.sibling}oe.type===k?(we=Ui(oe.props.children,se.mode,we,oe.key),we.return=se,se=we):(we=_d(oe.type,oe.key,oe.props,null,se.mode,we),Rc(we,oe),we.return=se,se=we)}return I(se);case w:e:{for(st=oe.key;te!==null;){if(te.key===st)if(te.tag===4&&te.stateNode.containerInfo===oe.containerInfo&&te.stateNode.implementation===oe.implementation){d(se,te.sibling),we=b(te,oe.children||[]),we.return=se,se=we;break e}else{d(se,te);break}else l(se,te);te=te.sibling}we=Zp(oe,se.mode,we),we.return=se,se=we}return I(se);case $:return oe=Wi(oe),Kt(se,te,oe,we)}if(G(oe))return Ge(se,te,oe,we);if(z(oe)){if(st=z(oe),typeof st!="function")throw Error(s(150));return oe=st.call(oe),lt(se,te,oe,we)}if(typeof oe.then=="function")return Kt(se,te,Bd(oe),we);if(oe.$$typeof===N)return Kt(se,te,Pd(se,oe),we);Ud(se,oe)}return typeof oe=="string"&&oe!==""||typeof oe=="number"||typeof oe=="bigint"?(oe=""+oe,te!==null&&te.tag===6?(d(se,te.sibling),we=b(te,oe),we.return=se,se=we):(d(se,te),we=Gp(oe,se.mode,we),we.return=se,se=we),I(se)):d(se,te)}return function(se,te,oe,we){try{Mc=0;var st=Kt(se,te,oe,we);return Zo=null,st}catch(Ye){if(Ye===Go||Ye===Ld)throw Ye;var Dt=Rs(29,Ye,null,se.mode);return Dt.lanes=we,Dt.return=se,Dt}}}var Zi=yj(!0),xj=yj(!1),Br=!1;function ig(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function og(i,l){i=i.updateQueue,l.updateQueue===i&&(l.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,callbacks:null})}function Ur(i){return{lane:i,tag:0,payload:null,callback:null,next:null}}function Vr(i,l,d){var m=i.updateQueue;if(m===null)return null;if(m=m.shared,(Ut&2)!==0){var b=m.pending;return b===null?l.next=l:(l.next=b.next,b.next=l),m.pending=l,l=Id(i),nj(i,null,d),l}return Rd(i,m,l,d),Id(i)}function Ic(i,l,d){if(l=l.updateQueue,l!==null&&(l=l.shared,(d&4194048)!==0)){var m=l.lanes;m&=i.pendingLanes,d|=m,l.lanes=d,qn(i,d)}}function lg(i,l){var d=i.updateQueue,m=i.alternate;if(m!==null&&(m=m.updateQueue,d===m)){var b=null,j=null;if(d=d.firstBaseUpdate,d!==null){do{var I={lane:d.lane,tag:d.tag,payload:d.payload,callback:null,next:null};j===null?b=j=I:j=j.next=I,d=d.next}while(d!==null);j===null?b=j=l:j=j.next=l}else b=j=l;d={baseState:m.baseState,firstBaseUpdate:b,lastBaseUpdate:j,shared:m.shared,callbacks:m.callbacks},i.updateQueue=d;return}i=d.lastBaseUpdate,i===null?d.firstBaseUpdate=l:i.next=l,d.lastBaseUpdate=l}var cg=!1;function _c(){if(cg){var i=Wo;if(i!==null)throw i}}function Oc(i,l,d,m){cg=!1;var b=i.updateQueue;Br=!1;var j=b.firstBaseUpdate,I=b.lastBaseUpdate,B=b.shared.pending;if(B!==null){b.shared.pending=null;var Y=B,le=Y.next;Y.next=null,I===null?j=le:I.next=le,I=Y;var xe=i.alternate;xe!==null&&(xe=xe.updateQueue,B=xe.lastBaseUpdate,B!==I&&(B===null?xe.firstBaseUpdate=le:B.next=le,xe.lastBaseUpdate=Y))}if(j!==null){var ke=b.baseState;I=0,xe=le=Y=null,B=j;do{var ce=B.lane&-536870913,me=ce!==B.lane;if(me?(Rt&ce)===ce:(m&ce)===ce){ce!==0&&ce===qo&&(cg=!0),xe!==null&&(xe=xe.next={lane:0,tag:B.tag,payload:B.payload,callback:null,next:null});e:{var Ge=i,lt=B;ce=l;var Kt=d;switch(lt.tag){case 1:if(Ge=lt.payload,typeof Ge=="function"){ke=Ge.call(Kt,ke,ce);break e}ke=Ge;break e;case 3:Ge.flags=Ge.flags&-65537|128;case 0:if(Ge=lt.payload,ce=typeof Ge=="function"?Ge.call(Kt,ke,ce):Ge,ce==null)break e;ke=v({},ke,ce);break e;case 2:Br=!0}}ce=B.callback,ce!==null&&(i.flags|=64,me&&(i.flags|=8192),me=b.callbacks,me===null?b.callbacks=[ce]:me.push(ce))}else me={lane:ce,tag:B.tag,payload:B.payload,callback:B.callback,next:null},xe===null?(le=xe=me,Y=ke):xe=xe.next=me,I|=ce;if(B=B.next,B===null){if(B=b.shared.pending,B===null)break;me=B,B=me.next,me.next=null,b.lastBaseUpdate=me,b.shared.pending=null}}while(!0);xe===null&&(Y=ke),b.baseState=Y,b.firstBaseUpdate=le,b.lastBaseUpdate=xe,j===null&&(b.shared.lanes=0),Gr|=I,i.lanes=I,i.memoizedState=ke}}function bj(i,l){if(typeof i!="function")throw Error(s(191,i));i.call(l)}function wj(i,l){var d=i.callbacks;if(d!==null)for(i.callbacks=null,i=0;i<d.length;i++)bj(d[i],l)}var Ko=L(null),Vd=L(0);function jj(i,l){i=br,Z(Vd,i),Z(Ko,l),br=i|l.baseLanes}function ug(){Z(Vd,br),Z(Ko,Ko.current)}function dg(){br=Vd.current,F(Ko),F(Vd)}var Is=L(null),Qs=null;function Fr(i){var l=i.alternate;Z(Cn,Cn.current&1),Z(Is,i),Qs===null&&(l===null||Ko.current!==null||l.memoizedState!==null)&&(Qs=i)}function fg(i){Z(Cn,Cn.current),Z(Is,i),Qs===null&&(Qs=i)}function kj(i){i.tag===22?(Z(Cn,Cn.current),Z(Is,i),Qs===null&&(Qs=i)):Hr()}function Hr(){Z(Cn,Cn.current),Z(Is,Is.current)}function _s(i){F(Is),Qs===i&&(Qs=null),F(Cn)}var Cn=L(0);function Fd(i){for(var l=i;l!==null;){if(l.tag===13){var d=l.memoizedState;if(d!==null&&(d=d.dehydrated,d===null||yv(d)||xv(d)))return l}else if(l.tag===19&&(l.memoizedProps.revealOrder==="forwards"||l.memoizedProps.revealOrder==="backwards"||l.memoizedProps.revealOrder==="unstable_legacy-backwards"||l.memoizedProps.revealOrder==="together")){if((l.flags&128)!==0)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===i)break;for(;l.sibling===null;){if(l.return===null||l.return===i)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}var fr=0,bt=null,Gt=null,Rn=null,Hd=!1,Yo=!1,Ki=!1,qd=0,$c=0,Xo=null,wD=0;function wn(){throw Error(s(321))}function hg(i,l){if(l===null)return!1;for(var d=0;d<l.length&&d<i.length;d++)if(!Ms(i[d],l[d]))return!1;return!0}function mg(i,l,d,m,b,j){return fr=j,bt=l,l.memoizedState=null,l.updateQueue=null,l.lanes=0,P.H=i===null||i.memoizedState===null?i1:Ag,Ki=!1,j=d(m,b),Ki=!1,Yo&&(j=Sj(l,d,m,b)),Nj(i),j}function Nj(i){P.H=Lc;var l=Gt!==null&&Gt.next!==null;if(fr=0,Rn=Gt=bt=null,Hd=!1,$c=0,Xo=null,l)throw Error(s(300));i===null||In||(i=i.dependencies,i!==null&&$d(i)&&(In=!0))}function Sj(i,l,d,m){bt=i;var b=0;do{if(Yo&&(Xo=null),$c=0,Yo=!1,25<=b)throw Error(s(301));if(b+=1,Rn=Gt=null,i.updateQueue!=null){var j=i.updateQueue;j.lastEffect=null,j.events=null,j.stores=null,j.memoCache!=null&&(j.memoCache.index=0)}P.H=o1,j=l(d,m)}while(Yo);return j}function jD(){var i=P.H,l=i.useState()[0];return l=typeof l.then=="function"?Pc(l):l,i=i.useState()[0],(Gt!==null?Gt.memoizedState:null)!==i&&(bt.flags|=1024),l}function pg(){var i=qd!==0;return qd=0,i}function gg(i,l,d){l.updateQueue=i.updateQueue,l.flags&=-2053,i.lanes&=~d}function vg(i){if(Hd){for(i=i.memoizedState;i!==null;){var l=i.queue;l!==null&&(l.pending=null),i=i.next}Hd=!1}fr=0,Rn=Gt=bt=null,Yo=!1,$c=qd=0,Xo=null}function ls(){var i={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Rn===null?bt.memoizedState=Rn=i:Rn=Rn.next=i,Rn}function En(){if(Gt===null){var i=bt.alternate;i=i!==null?i.memoizedState:null}else i=Gt.next;var l=Rn===null?bt.memoizedState:Rn.next;if(l!==null)Rn=l,Gt=i;else{if(i===null)throw bt.alternate===null?Error(s(467)):Error(s(310));Gt=i,i={memoizedState:Gt.memoizedState,baseState:Gt.baseState,baseQueue:Gt.baseQueue,queue:Gt.queue,next:null},Rn===null?bt.memoizedState=Rn=i:Rn=Rn.next=i}return Rn}function Wd(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Pc(i){var l=$c;return $c+=1,Xo===null&&(Xo=[]),i=pj(Xo,i,l),l=bt,(Rn===null?l.memoizedState:Rn.next)===null&&(l=l.alternate,P.H=l===null||l.memoizedState===null?i1:Ag),i}function Gd(i){if(i!==null&&typeof i=="object"){if(typeof i.then=="function")return Pc(i);if(i.$$typeof===N)return Zn(i)}throw Error(s(438,String(i)))}function yg(i){var l=null,d=bt.updateQueue;if(d!==null&&(l=d.memoCache),l==null){var m=bt.alternate;m!==null&&(m=m.updateQueue,m!==null&&(m=m.memoCache,m!=null&&(l={data:m.data.map(function(b){return b.slice()}),index:0})))}if(l==null&&(l={data:[],index:0}),d===null&&(d=Wd(),bt.updateQueue=d),d.memoCache=l,d=l.data[l.index],d===void 0)for(d=l.data[l.index]=Array(i),m=0;m<i;m++)d[m]=U;return l.index++,d}function hr(i,l){return typeof l=="function"?l(i):l}function Zd(i){var l=En();return xg(l,Gt,i)}function xg(i,l,d){var m=i.queue;if(m===null)throw Error(s(311));m.lastRenderedReducer=d;var b=i.baseQueue,j=m.pending;if(j!==null){if(b!==null){var I=b.next;b.next=j.next,j.next=I}l.baseQueue=b=j,m.pending=null}if(j=i.baseState,b===null)i.memoizedState=j;else{l=b.next;var B=I=null,Y=null,le=l,xe=!1;do{var ke=le.lane&-536870913;if(ke!==le.lane?(Rt&ke)===ke:(fr&ke)===ke){var ce=le.revertLane;if(ce===0)Y!==null&&(Y=Y.next={lane:0,revertLane:0,gesture:null,action:le.action,hasEagerState:le.hasEagerState,eagerState:le.eagerState,next:null}),ke===qo&&(xe=!0);else if((fr&ce)===ce){le=le.next,ce===qo&&(xe=!0);continue}else ke={lane:0,revertLane:le.revertLane,gesture:null,action:le.action,hasEagerState:le.hasEagerState,eagerState:le.eagerState,next:null},Y===null?(B=Y=ke,I=j):Y=Y.next=ke,bt.lanes|=ce,Gr|=ce;ke=le.action,Ki&&d(j,ke),j=le.hasEagerState?le.eagerState:d(j,ke)}else ce={lane:ke,revertLane:le.revertLane,gesture:le.gesture,action:le.action,hasEagerState:le.hasEagerState,eagerState:le.eagerState,next:null},Y===null?(B=Y=ce,I=j):Y=Y.next=ce,bt.lanes|=ke,Gr|=ke;le=le.next}while(le!==null&&le!==l);if(Y===null?I=j:Y.next=B,!Ms(j,i.memoizedState)&&(In=!0,xe&&(d=Wo,d!==null)))throw d;i.memoizedState=j,i.baseState=I,i.baseQueue=Y,m.lastRenderedState=j}return b===null&&(m.lanes=0),[i.memoizedState,m.dispatch]}function bg(i){var l=En(),d=l.queue;if(d===null)throw Error(s(311));d.lastRenderedReducer=i;var m=d.dispatch,b=d.pending,j=l.memoizedState;if(b!==null){d.pending=null;var I=b=b.next;do j=i(j,I.action),I=I.next;while(I!==b);Ms(j,l.memoizedState)||(In=!0),l.memoizedState=j,l.baseQueue===null&&(l.baseState=j),d.lastRenderedState=j}return[j,m]}function Cj(i,l,d){var m=bt,b=En(),j=_t;if(j){if(d===void 0)throw Error(s(407));d=d()}else d=l();var I=!Ms((Gt||b).memoizedState,d);if(I&&(b.memoizedState=d,In=!0),b=b.queue,kg(Aj.bind(null,m,b,i),[i]),b.getSnapshot!==l||I||Rn!==null&&Rn.memoizedState.tag&1){if(m.flags|=2048,Jo(9,{destroy:void 0},Tj.bind(null,m,b,d,l),null),Yt===null)throw Error(s(349));j||(fr&127)!==0||Ej(m,l,d)}return d}function Ej(i,l,d){i.flags|=16384,i={getSnapshot:l,value:d},l=bt.updateQueue,l===null?(l=Wd(),bt.updateQueue=l,l.stores=[i]):(d=l.stores,d===null?l.stores=[i]:d.push(i))}function Tj(i,l,d,m){l.value=d,l.getSnapshot=m,Mj(l)&&Rj(i)}function Aj(i,l,d){return d(function(){Mj(l)&&Rj(i)})}function Mj(i){var l=i.getSnapshot;i=i.value;try{var d=l();return!Ms(i,d)}catch{return!0}}function Rj(i){var l=Bi(i,2);l!==null&&js(l,i,2)}function wg(i){var l=ls();if(typeof i=="function"){var d=i;if(i=d(),Ki){Ne(!0);try{d()}finally{Ne(!1)}}}return l.memoizedState=l.baseState=i,l.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:hr,lastRenderedState:i},l}function Ij(i,l,d,m){return i.baseState=d,xg(i,Gt,typeof m=="function"?m:hr)}function kD(i,l,d,m,b){if(Xd(i))throw Error(s(485));if(i=l.action,i!==null){var j={payload:b,action:i,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(I){j.listeners.push(I)}};P.T!==null?d(!0):j.isTransition=!1,m(j),d=l.pending,d===null?(j.next=l.pending=j,_j(l,j)):(j.next=d.next,l.pending=d.next=j)}}function _j(i,l){var d=l.action,m=l.payload,b=i.state;if(l.isTransition){var j=P.T,I={};P.T=I;try{var B=d(b,m),Y=P.S;Y!==null&&Y(I,B),Oj(i,l,B)}catch(le){jg(i,l,le)}finally{j!==null&&I.types!==null&&(j.types=I.types),P.T=j}}else try{j=d(b,m),Oj(i,l,j)}catch(le){jg(i,l,le)}}function Oj(i,l,d){d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(function(m){$j(i,l,m)},function(m){return jg(i,l,m)}):$j(i,l,d)}function $j(i,l,d){l.status="fulfilled",l.value=d,Pj(l),i.state=d,l=i.pending,l!==null&&(d=l.next,d===l?i.pending=null:(d=d.next,l.next=d,_j(i,d)))}function jg(i,l,d){var m=i.pending;if(i.pending=null,m!==null){m=m.next;do l.status="rejected",l.reason=d,Pj(l),l=l.next;while(l!==m)}i.action=null}function Pj(i){i=i.listeners;for(var l=0;l<i.length;l++)(0,i[l])()}function Dj(i,l){return l}function Lj(i,l){if(_t){var d=Yt.formState;if(d!==null){e:{var m=bt;if(_t){if(on){t:{for(var b=on,j=Js;b.nodeType!==8;){if(!j){b=null;break t}if(b=ea(b.nextSibling),b===null){b=null;break t}}j=b.data,b=j==="F!"||j==="F"?b:null}if(b){on=ea(b.nextSibling),m=b.data==="F!";break e}}Lr(m)}m=!1}m&&(l=d[0])}}return d=ls(),d.memoizedState=d.baseState=l,m={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dj,lastRenderedState:l},d.queue=m,d=s1.bind(null,bt,m),m.dispatch=d,m=wg(!1),j=Tg.bind(null,bt,!1,m.queue),m=ls(),b={state:l,dispatch:null,action:i,pending:null},m.queue=b,d=kD.bind(null,bt,b,j,d),b.dispatch=d,m.memoizedState=i,[l,d,!1]}function zj(i){var l=En();return Bj(l,Gt,i)}function Bj(i,l,d){if(l=xg(i,l,Dj)[0],i=Zd(hr)[0],typeof l=="object"&&l!==null&&typeof l.then=="function")try{var m=Pc(l)}catch(I){throw I===Go?Ld:I}else m=l;l=En();var b=l.queue,j=b.dispatch;return d!==l.memoizedState&&(bt.flags|=2048,Jo(9,{destroy:void 0},ND.bind(null,b,d),null)),[m,j,i]}function ND(i,l){i.action=l}function Uj(i){var l=En(),d=Gt;if(d!==null)return Bj(l,d,i);En(),l=l.memoizedState,d=En();var m=d.queue.dispatch;return d.memoizedState=i,[l,m,!1]}function Jo(i,l,d,m){return i={tag:i,create:d,deps:m,inst:l,next:null},l=bt.updateQueue,l===null&&(l=Wd(),bt.updateQueue=l),d=l.lastEffect,d===null?l.lastEffect=i.next=i:(m=d.next,d.next=i,i.next=m,l.lastEffect=i),i}function Vj(){return En().memoizedState}function Kd(i,l,d,m){var b=ls();bt.flags|=i,b.memoizedState=Jo(1|l,{destroy:void 0},d,m===void 0?null:m)}function Yd(i,l,d,m){var b=En();m=m===void 0?null:m;var j=b.memoizedState.inst;Gt!==null&&m!==null&&hg(m,Gt.memoizedState.deps)?b.memoizedState=Jo(l,j,d,m):(bt.flags|=i,b.memoizedState=Jo(1|l,j,d,m))}function Fj(i,l){Kd(8390656,8,i,l)}function kg(i,l){Yd(2048,8,i,l)}function SD(i){bt.flags|=4;var l=bt.updateQueue;if(l===null)l=Wd(),bt.updateQueue=l,l.events=[i];else{var d=l.events;d===null?l.events=[i]:d.push(i)}}function Hj(i){var l=En().memoizedState;return SD({ref:l,nextImpl:i}),function(){if((Ut&2)!==0)throw Error(s(440));return l.impl.apply(void 0,arguments)}}function qj(i,l){return Yd(4,2,i,l)}function Wj(i,l){return Yd(4,4,i,l)}function Gj(i,l){if(typeof l=="function"){i=i();var d=l(i);return function(){typeof d=="function"?d():l(null)}}if(l!=null)return i=i(),l.current=i,function(){l.current=null}}function Zj(i,l,d){d=d!=null?d.concat([i]):null,Yd(4,4,Gj.bind(null,l,i),d)}function Ng(){}function Kj(i,l){var d=En();l=l===void 0?null:l;var m=d.memoizedState;return l!==null&&hg(l,m[1])?m[0]:(d.memoizedState=[i,l],i)}function Yj(i,l){var d=En();l=l===void 0?null:l;var m=d.memoizedState;if(l!==null&&hg(l,m[1]))return m[0];if(m=i(),Ki){Ne(!0);try{i()}finally{Ne(!1)}}return d.memoizedState=[m,l],m}function Sg(i,l,d){return d===void 0||(fr&1073741824)!==0&&(Rt&261930)===0?i.memoizedState=l:(i.memoizedState=d,i=X1(),bt.lanes|=i,Gr|=i,d)}function Xj(i,l,d,m){return Ms(d,l)?d:Ko.current!==null?(i=Sg(i,d,m),Ms(i,l)||(In=!0),i):(fr&42)===0||(fr&1073741824)!==0&&(Rt&261930)===0?(In=!0,i.memoizedState=d):(i=X1(),bt.lanes|=i,Gr|=i,l)}function Jj(i,l,d,m,b){var j=H.p;H.p=j!==0&&8>j?j:8;var I=P.T,B={};P.T=B,Tg(i,!1,l,d);try{var Y=b(),le=P.S;if(le!==null&&le(B,Y),Y!==null&&typeof Y=="object"&&typeof Y.then=="function"){var xe=bD(Y,m);Dc(i,l,xe,Ps(i))}else Dc(i,l,m,Ps(i))}catch(ke){Dc(i,l,{then:function(){},status:"rejected",reason:ke},Ps())}finally{H.p=j,I!==null&&B.types!==null&&(I.types=B.types),P.T=I}}function CD(){}function Cg(i,l,d,m){if(i.tag!==5)throw Error(s(476));var b=Qj(i).queue;Jj(i,b,l,D,d===null?CD:function(){return e1(i),d(m)})}function Qj(i){var l=i.memoizedState;if(l!==null)return l;l={memoizedState:D,baseState:D,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hr,lastRenderedState:D},next:null};var d={};return l.next={memoizedState:d,baseState:d,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hr,lastRenderedState:d},next:null},i.memoizedState=l,i=i.alternate,i!==null&&(i.memoizedState=l),l}function e1(i){var l=Qj(i);l.next===null&&(l=i.alternate.memoizedState),Dc(i,l.next.queue,{},Ps())}function Eg(){return Zn(eu)}function t1(){return En().memoizedState}function n1(){return En().memoizedState}function ED(i){for(var l=i.return;l!==null;){switch(l.tag){case 24:case 3:var d=Ps();i=Ur(d);var m=Vr(l,i,d);m!==null&&(js(m,l,d),Ic(m,l,d)),l={cache:ng()},i.payload=l;return}l=l.return}}function TD(i,l,d){var m=Ps();d={lane:m,revertLane:0,gesture:null,action:d,hasEagerState:!1,eagerState:null,next:null},Xd(i)?a1(l,d):(d=qp(i,l,d,m),d!==null&&(js(d,i,m),r1(d,l,m)))}function s1(i,l,d){var m=Ps();Dc(i,l,d,m)}function Dc(i,l,d,m){var b={lane:m,revertLane:0,gesture:null,action:d,hasEagerState:!1,eagerState:null,next:null};if(Xd(i))a1(l,b);else{var j=i.alternate;if(i.lanes===0&&(j===null||j.lanes===0)&&(j=l.lastRenderedReducer,j!==null))try{var I=l.lastRenderedState,B=j(I,d);if(b.hasEagerState=!0,b.eagerState=B,Ms(B,I))return Rd(i,l,b,0),Yt===null&&Md(),!1}catch{}if(d=qp(i,l,b,m),d!==null)return js(d,i,m),r1(d,l,m),!0}return!1}function Tg(i,l,d,m){if(m={lane:2,revertLane:iv(),gesture:null,action:m,hasEagerState:!1,eagerState:null,next:null},Xd(i)){if(l)throw Error(s(479))}else l=qp(i,d,m,2),l!==null&&js(l,i,2)}function Xd(i){var l=i.alternate;return i===bt||l!==null&&l===bt}function a1(i,l){Yo=Hd=!0;var d=i.pending;d===null?l.next=l:(l.next=d.next,d.next=l),i.pending=l}function r1(i,l,d){if((d&4194048)!==0){var m=l.lanes;m&=i.pendingLanes,d|=m,l.lanes=d,qn(i,d)}}var Lc={readContext:Zn,use:Gd,useCallback:wn,useContext:wn,useEffect:wn,useImperativeHandle:wn,useLayoutEffect:wn,useInsertionEffect:wn,useMemo:wn,useReducer:wn,useRef:wn,useState:wn,useDebugValue:wn,useDeferredValue:wn,useTransition:wn,useSyncExternalStore:wn,useId:wn,useHostTransitionStatus:wn,useFormState:wn,useActionState:wn,useOptimistic:wn,useMemoCache:wn,useCacheRefresh:wn};Lc.useEffectEvent=wn;var i1={readContext:Zn,use:Gd,useCallback:function(i,l){return ls().memoizedState=[i,l===void 0?null:l],i},useContext:Zn,useEffect:Fj,useImperativeHandle:function(i,l,d){d=d!=null?d.concat([i]):null,Kd(4194308,4,Gj.bind(null,l,i),d)},useLayoutEffect:function(i,l){return Kd(4194308,4,i,l)},useInsertionEffect:function(i,l){Kd(4,2,i,l)},useMemo:function(i,l){var d=ls();l=l===void 0?null:l;var m=i();if(Ki){Ne(!0);try{i()}finally{Ne(!1)}}return d.memoizedState=[m,l],m},useReducer:function(i,l,d){var m=ls();if(d!==void 0){var b=d(l);if(Ki){Ne(!0);try{d(l)}finally{Ne(!1)}}}else b=l;return m.memoizedState=m.baseState=b,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:b},m.queue=i,i=i.dispatch=TD.bind(null,bt,i),[m.memoizedState,i]},useRef:function(i){var l=ls();return i={current:i},l.memoizedState=i},useState:function(i){i=wg(i);var l=i.queue,d=s1.bind(null,bt,l);return l.dispatch=d,[i.memoizedState,d]},useDebugValue:Ng,useDeferredValue:function(i,l){var d=ls();return Sg(d,i,l)},useTransition:function(){var i=wg(!1);return i=Jj.bind(null,bt,i.queue,!0,!1),ls().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,l,d){var m=bt,b=ls();if(_t){if(d===void 0)throw Error(s(407));d=d()}else{if(d=l(),Yt===null)throw Error(s(349));(Rt&127)!==0||Ej(m,l,d)}b.memoizedState=d;var j={value:d,getSnapshot:l};return b.queue=j,Fj(Aj.bind(null,m,j,i),[i]),m.flags|=2048,Jo(9,{destroy:void 0},Tj.bind(null,m,j,d,l),null),d},useId:function(){var i=ls(),l=Yt.identifierPrefix;if(_t){var d=Da,m=Pa;d=(m&~(1<<32-De(m)-1)).toString(32)+d,l="_"+l+"R_"+d,d=qd++,0<d&&(l+="H"+d.toString(32)),l+="_"}else d=wD++,l="_"+l+"r_"+d.toString(32)+"_";return i.memoizedState=l},useHostTransitionStatus:Eg,useFormState:Lj,useActionState:Lj,useOptimistic:function(i){var l=ls();l.memoizedState=l.baseState=i;var d={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return l.queue=d,l=Tg.bind(null,bt,!0,d),d.dispatch=l,[i,l]},useMemoCache:yg,useCacheRefresh:function(){return ls().memoizedState=ED.bind(null,bt)},useEffectEvent:function(i){var l=ls(),d={impl:i};return l.memoizedState=d,function(){if((Ut&2)!==0)throw Error(s(440));return d.impl.apply(void 0,arguments)}}},Ag={readContext:Zn,use:Gd,useCallback:Kj,useContext:Zn,useEffect:kg,useImperativeHandle:Zj,useInsertionEffect:qj,useLayoutEffect:Wj,useMemo:Yj,useReducer:Zd,useRef:Vj,useState:function(){return Zd(hr)},useDebugValue:Ng,useDeferredValue:function(i,l){var d=En();return Xj(d,Gt.memoizedState,i,l)},useTransition:function(){var i=Zd(hr)[0],l=En().memoizedState;return[typeof i=="boolean"?i:Pc(i),l]},useSyncExternalStore:Cj,useId:t1,useHostTransitionStatus:Eg,useFormState:zj,useActionState:zj,useOptimistic:function(i,l){var d=En();return Ij(d,Gt,i,l)},useMemoCache:yg,useCacheRefresh:n1};Ag.useEffectEvent=Hj;var o1={readContext:Zn,use:Gd,useCallback:Kj,useContext:Zn,useEffect:kg,useImperativeHandle:Zj,useInsertionEffect:qj,useLayoutEffect:Wj,useMemo:Yj,useReducer:bg,useRef:Vj,useState:function(){return bg(hr)},useDebugValue:Ng,useDeferredValue:function(i,l){var d=En();return Gt===null?Sg(d,i,l):Xj(d,Gt.memoizedState,i,l)},useTransition:function(){var i=bg(hr)[0],l=En().memoizedState;return[typeof i=="boolean"?i:Pc(i),l]},useSyncExternalStore:Cj,useId:t1,useHostTransitionStatus:Eg,useFormState:Uj,useActionState:Uj,useOptimistic:function(i,l){var d=En();return Gt!==null?Ij(d,Gt,i,l):(d.baseState=i,[i,d.queue.dispatch])},useMemoCache:yg,useCacheRefresh:n1};o1.useEffectEvent=Hj;function Mg(i,l,d,m){l=i.memoizedState,d=d(m,l),d=d==null?l:v({},l,d),i.memoizedState=d,i.lanes===0&&(i.updateQueue.baseState=d)}var Rg={enqueueSetState:function(i,l,d){i=i._reactInternals;var m=Ps(),b=Ur(m);b.payload=l,d!=null&&(b.callback=d),l=Vr(i,b,m),l!==null&&(js(l,i,m),Ic(l,i,m))},enqueueReplaceState:function(i,l,d){i=i._reactInternals;var m=Ps(),b=Ur(m);b.tag=1,b.payload=l,d!=null&&(b.callback=d),l=Vr(i,b,m),l!==null&&(js(l,i,m),Ic(l,i,m))},enqueueForceUpdate:function(i,l){i=i._reactInternals;var d=Ps(),m=Ur(d);m.tag=2,l!=null&&(m.callback=l),l=Vr(i,m,d),l!==null&&(js(l,i,d),Ic(l,i,d))}};function l1(i,l,d,m,b,j,I){return i=i.stateNode,typeof i.shouldComponentUpdate=="function"?i.shouldComponentUpdate(m,j,I):l.prototype&&l.prototype.isPureReactComponent?!Nc(d,m)||!Nc(b,j):!0}function c1(i,l,d,m){i=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(d,m),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(d,m),l.state!==i&&Rg.enqueueReplaceState(l,l.state,null)}function Yi(i,l){var d=l;if("ref"in l){d={};for(var m in l)m!=="ref"&&(d[m]=l[m])}if(i=i.defaultProps){d===l&&(d=v({},d));for(var b in i)d[b]===void 0&&(d[b]=i[b])}return d}function u1(i){Ad(i)}function d1(i){console.error(i)}function f1(i){Ad(i)}function Jd(i,l){try{var d=i.onUncaughtError;d(l.value,{componentStack:l.stack})}catch(m){setTimeout(function(){throw m})}}function h1(i,l,d){try{var m=i.onCaughtError;m(d.value,{componentStack:d.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(b){setTimeout(function(){throw b})}}function Ig(i,l,d){return d=Ur(d),d.tag=3,d.payload={element:null},d.callback=function(){Jd(i,l)},d}function m1(i){return i=Ur(i),i.tag=3,i}function p1(i,l,d,m){var b=d.type.getDerivedStateFromError;if(typeof b=="function"){var j=m.value;i.payload=function(){return b(j)},i.callback=function(){h1(l,d,m)}}var I=d.stateNode;I!==null&&typeof I.componentDidCatch=="function"&&(i.callback=function(){h1(l,d,m),typeof b!="function"&&(Zr===null?Zr=new Set([this]):Zr.add(this));var B=m.stack;this.componentDidCatch(m.value,{componentStack:B!==null?B:""})})}function AD(i,l,d,m,b){if(d.flags|=32768,m!==null&&typeof m=="object"&&typeof m.then=="function"){if(l=d.alternate,l!==null&&Ho(l,d,b,!0),d=Is.current,d!==null){switch(d.tag){case 31:case 13:return Qs===null?df():d.alternate===null&&jn===0&&(jn=3),d.flags&=-257,d.flags|=65536,d.lanes=b,m===zd?d.flags|=16384:(l=d.updateQueue,l===null?d.updateQueue=new Set([m]):l.add(m),sv(i,m,b)),!1;case 22:return d.flags|=65536,m===zd?d.flags|=16384:(l=d.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([m])},d.updateQueue=l):(d=l.retryQueue,d===null?l.retryQueue=new Set([m]):d.add(m)),sv(i,m,b)),!1}throw Error(s(435,d.tag))}return sv(i,m,b),df(),!1}if(_t)return l=Is.current,l!==null?((l.flags&65536)===0&&(l.flags|=256),l.flags|=65536,l.lanes=b,m!==Xp&&(i=Error(s(422),{cause:m}),Ec(Ks(i,d)))):(m!==Xp&&(l=Error(s(423),{cause:m}),Ec(Ks(l,d))),i=i.current.alternate,i.flags|=65536,b&=-b,i.lanes|=b,m=Ks(m,d),b=Ig(i.stateNode,m,b),lg(i,b),jn!==4&&(jn=2)),!1;var j=Error(s(520),{cause:m});if(j=Ks(j,d),Wc===null?Wc=[j]:Wc.push(j),jn!==4&&(jn=2),l===null)return!0;m=Ks(m,d),d=l;do{switch(d.tag){case 3:return d.flags|=65536,i=b&-b,d.lanes|=i,i=Ig(d.stateNode,m,i),lg(d,i),!1;case 1:if(l=d.type,j=d.stateNode,(d.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||j!==null&&typeof j.componentDidCatch=="function"&&(Zr===null||!Zr.has(j))))return d.flags|=65536,b&=-b,d.lanes|=b,b=m1(b),p1(b,i,d,m),lg(d,b),!1}d=d.return}while(d!==null);return!1}var _g=Error(s(461)),In=!1;function Kn(i,l,d,m){l.child=i===null?xj(l,null,d,m):Zi(l,i.child,d,m)}function g1(i,l,d,m,b){d=d.render;var j=l.ref;if("ref"in m){var I={};for(var B in m)B!=="ref"&&(I[B]=m[B])}else I=m;return Hi(l),m=mg(i,l,d,I,j,b),B=pg(),i!==null&&!In?(gg(i,l,b),mr(i,l,b)):(_t&&B&&Kp(l),l.flags|=1,Kn(i,l,m,b),l.child)}function v1(i,l,d,m,b){if(i===null){var j=d.type;return typeof j=="function"&&!Wp(j)&&j.defaultProps===void 0&&d.compare===null?(l.tag=15,l.type=j,y1(i,l,j,m,b)):(i=_d(d.type,null,m,l,l.mode,b),i.ref=l.ref,i.return=l,l.child=i)}if(j=i.child,!Ug(i,b)){var I=j.memoizedProps;if(d=d.compare,d=d!==null?d:Nc,d(I,m)&&i.ref===l.ref)return mr(i,l,b)}return l.flags|=1,i=lr(j,m),i.ref=l.ref,i.return=l,l.child=i}function y1(i,l,d,m,b){if(i!==null){var j=i.memoizedProps;if(Nc(j,m)&&i.ref===l.ref)if(In=!1,l.pendingProps=m=j,Ug(i,b))(i.flags&131072)!==0&&(In=!0);else return l.lanes=i.lanes,mr(i,l,b)}return Og(i,l,d,m,b)}function x1(i,l,d,m){var b=m.children,j=i!==null?i.memoizedState:null;if(i===null&&l.stateNode===null&&(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),m.mode==="hidden"){if((l.flags&128)!==0){if(j=j!==null?j.baseLanes|d:d,i!==null){for(m=l.child=i.child,b=0;m!==null;)b=b|m.lanes|m.childLanes,m=m.sibling;m=b&~j}else m=0,l.child=null;return b1(i,l,j,d,m)}if((d&536870912)!==0)l.memoizedState={baseLanes:0,cachePool:null},i!==null&&Dd(l,j!==null?j.cachePool:null),j!==null?jj(l,j):ug(),kj(l);else return m=l.lanes=536870912,b1(i,l,j!==null?j.baseLanes|d:d,d,m)}else j!==null?(Dd(l,j.cachePool),jj(l,j),Hr(),l.memoizedState=null):(i!==null&&Dd(l,null),ug(),Hr());return Kn(i,l,b,d),l.child}function zc(i,l){return i!==null&&i.tag===22||l.stateNode!==null||(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.sibling}function b1(i,l,d,m,b){var j=ag();return j=j===null?null:{parent:Mn._currentValue,pool:j},l.memoizedState={baseLanes:d,cachePool:j},i!==null&&Dd(l,null),ug(),kj(l),i!==null&&Ho(i,l,m,!0),l.childLanes=b,null}function Qd(i,l){return l=tf({mode:l.mode,children:l.children},i.mode),l.ref=i.ref,i.child=l,l.return=i,l}function w1(i,l,d){return Zi(l,i.child,null,d),i=Qd(l,l.pendingProps),i.flags|=2,_s(l),l.memoizedState=null,i}function MD(i,l,d){var m=l.pendingProps,b=(l.flags&128)!==0;if(l.flags&=-129,i===null){if(_t){if(m.mode==="hidden")return i=Qd(l,m),l.lanes=536870912,zc(null,i);if(fg(l),(i=on)?(i=_k(i,Js),i=i!==null&&i.data==="&"?i:null,i!==null&&(l.memoizedState={dehydrated:i,treeContext:Pr!==null?{id:Pa,overflow:Da}:null,retryLane:536870912,hydrationErrors:null},d=aj(i),d.return=l,l.child=d,Gn=l,on=null)):i=null,i===null)throw Lr(l);return l.lanes=536870912,null}return Qd(l,m)}var j=i.memoizedState;if(j!==null){var I=j.dehydrated;if(fg(l),b)if(l.flags&256)l.flags&=-257,l=w1(i,l,d);else if(l.memoizedState!==null)l.child=i.child,l.flags|=128,l=null;else throw Error(s(558));else if(In||Ho(i,l,d,!1),b=(d&i.childLanes)!==0,In||b){if(m=Yt,m!==null&&(I=ps(m,d),I!==0&&I!==j.retryLane))throw j.retryLane=I,Bi(i,I),js(m,i,I),_g;df(),l=w1(i,l,d)}else i=j.treeContext,on=ea(I.nextSibling),Gn=l,_t=!0,Dr=null,Js=!1,i!==null&&oj(l,i),l=Qd(l,m),l.flags|=4096;return l}return i=lr(i.child,{mode:m.mode,children:m.children}),i.ref=l.ref,l.child=i,i.return=l,i}function ef(i,l){var d=l.ref;if(d===null)i!==null&&i.ref!==null&&(l.flags|=4194816);else{if(typeof d!="function"&&typeof d!="object")throw Error(s(284));(i===null||i.ref!==d)&&(l.flags|=4194816)}}function Og(i,l,d,m,b){return Hi(l),d=mg(i,l,d,m,void 0,b),m=pg(),i!==null&&!In?(gg(i,l,b),mr(i,l,b)):(_t&&m&&Kp(l),l.flags|=1,Kn(i,l,d,b),l.child)}function j1(i,l,d,m,b,j){return Hi(l),l.updateQueue=null,d=Sj(l,m,d,b),Nj(i),m=pg(),i!==null&&!In?(gg(i,l,j),mr(i,l,j)):(_t&&m&&Kp(l),l.flags|=1,Kn(i,l,d,j),l.child)}function k1(i,l,d,m,b){if(Hi(l),l.stateNode===null){var j=Bo,I=d.contextType;typeof I=="object"&&I!==null&&(j=Zn(I)),j=new d(m,j),l.memoizedState=j.state!==null&&j.state!==void 0?j.state:null,j.updater=Rg,l.stateNode=j,j._reactInternals=l,j=l.stateNode,j.props=m,j.state=l.memoizedState,j.refs={},ig(l),I=d.contextType,j.context=typeof I=="object"&&I!==null?Zn(I):Bo,j.state=l.memoizedState,I=d.getDerivedStateFromProps,typeof I=="function"&&(Mg(l,d,I,m),j.state=l.memoizedState),typeof d.getDerivedStateFromProps=="function"||typeof j.getSnapshotBeforeUpdate=="function"||typeof j.UNSAFE_componentWillMount!="function"&&typeof j.componentWillMount!="function"||(I=j.state,typeof j.componentWillMount=="function"&&j.componentWillMount(),typeof j.UNSAFE_componentWillMount=="function"&&j.UNSAFE_componentWillMount(),I!==j.state&&Rg.enqueueReplaceState(j,j.state,null),Oc(l,m,j,b),_c(),j.state=l.memoizedState),typeof j.componentDidMount=="function"&&(l.flags|=4194308),m=!0}else if(i===null){j=l.stateNode;var B=l.memoizedProps,Y=Yi(d,B);j.props=Y;var le=j.context,xe=d.contextType;I=Bo,typeof xe=="object"&&xe!==null&&(I=Zn(xe));var ke=d.getDerivedStateFromProps;xe=typeof ke=="function"||typeof j.getSnapshotBeforeUpdate=="function",B=l.pendingProps!==B,xe||typeof j.UNSAFE_componentWillReceiveProps!="function"&&typeof j.componentWillReceiveProps!="function"||(B||le!==I)&&c1(l,j,m,I),Br=!1;var ce=l.memoizedState;j.state=ce,Oc(l,m,j,b),_c(),le=l.memoizedState,B||ce!==le||Br?(typeof ke=="function"&&(Mg(l,d,ke,m),le=l.memoizedState),(Y=Br||l1(l,d,Y,m,ce,le,I))?(xe||typeof j.UNSAFE_componentWillMount!="function"&&typeof j.componentWillMount!="function"||(typeof j.componentWillMount=="function"&&j.componentWillMount(),typeof j.UNSAFE_componentWillMount=="function"&&j.UNSAFE_componentWillMount()),typeof j.componentDidMount=="function"&&(l.flags|=4194308)):(typeof j.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=m,l.memoizedState=le),j.props=m,j.state=le,j.context=I,m=Y):(typeof j.componentDidMount=="function"&&(l.flags|=4194308),m=!1)}else{j=l.stateNode,og(i,l),I=l.memoizedProps,xe=Yi(d,I),j.props=xe,ke=l.pendingProps,ce=j.context,le=d.contextType,Y=Bo,typeof le=="object"&&le!==null&&(Y=Zn(le)),B=d.getDerivedStateFromProps,(le=typeof B=="function"||typeof j.getSnapshotBeforeUpdate=="function")||typeof j.UNSAFE_componentWillReceiveProps!="function"&&typeof j.componentWillReceiveProps!="function"||(I!==ke||ce!==Y)&&c1(l,j,m,Y),Br=!1,ce=l.memoizedState,j.state=ce,Oc(l,m,j,b),_c();var me=l.memoizedState;I!==ke||ce!==me||Br||i!==null&&i.dependencies!==null&&$d(i.dependencies)?(typeof B=="function"&&(Mg(l,d,B,m),me=l.memoizedState),(xe=Br||l1(l,d,xe,m,ce,me,Y)||i!==null&&i.dependencies!==null&&$d(i.dependencies))?(le||typeof j.UNSAFE_componentWillUpdate!="function"&&typeof j.componentWillUpdate!="function"||(typeof j.componentWillUpdate=="function"&&j.componentWillUpdate(m,me,Y),typeof j.UNSAFE_componentWillUpdate=="function"&&j.UNSAFE_componentWillUpdate(m,me,Y)),typeof j.componentDidUpdate=="function"&&(l.flags|=4),typeof j.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof j.componentDidUpdate!="function"||I===i.memoizedProps&&ce===i.memoizedState||(l.flags|=4),typeof j.getSnapshotBeforeUpdate!="function"||I===i.memoizedProps&&ce===i.memoizedState||(l.flags|=1024),l.memoizedProps=m,l.memoizedState=me),j.props=m,j.state=me,j.context=Y,m=xe):(typeof j.componentDidUpdate!="function"||I===i.memoizedProps&&ce===i.memoizedState||(l.flags|=4),typeof j.getSnapshotBeforeUpdate!="function"||I===i.memoizedProps&&ce===i.memoizedState||(l.flags|=1024),m=!1)}return j=m,ef(i,l),m=(l.flags&128)!==0,j||m?(j=l.stateNode,d=m&&typeof d.getDerivedStateFromError!="function"?null:j.render(),l.flags|=1,i!==null&&m?(l.child=Zi(l,i.child,null,b),l.child=Zi(l,null,d,b)):Kn(i,l,d,b),l.memoizedState=j.state,i=l.child):i=mr(i,l,b),i}function N1(i,l,d,m){return Vi(),l.flags|=256,Kn(i,l,d,m),l.child}var $g={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Pg(i){return{baseLanes:i,cachePool:hj()}}function Dg(i,l,d){return i=i!==null?i.childLanes&~d:0,l&&(i|=$s),i}function S1(i,l,d){var m=l.pendingProps,b=!1,j=(l.flags&128)!==0,I;if((I=j)||(I=i!==null&&i.memoizedState===null?!1:(Cn.current&2)!==0),I&&(b=!0,l.flags&=-129),I=(l.flags&32)!==0,l.flags&=-33,i===null){if(_t){if(b?Fr(l):Hr(),(i=on)?(i=_k(i,Js),i=i!==null&&i.data!=="&"?i:null,i!==null&&(l.memoizedState={dehydrated:i,treeContext:Pr!==null?{id:Pa,overflow:Da}:null,retryLane:536870912,hydrationErrors:null},d=aj(i),d.return=l,l.child=d,Gn=l,on=null)):i=null,i===null)throw Lr(l);return xv(i)?l.lanes=32:l.lanes=536870912,null}var B=m.children;return m=m.fallback,b?(Hr(),b=l.mode,B=tf({mode:"hidden",children:B},b),m=Ui(m,b,d,null),B.return=l,m.return=l,B.sibling=m,l.child=B,m=l.child,m.memoizedState=Pg(d),m.childLanes=Dg(i,I,d),l.memoizedState=$g,zc(null,m)):(Fr(l),Lg(l,B))}var Y=i.memoizedState;if(Y!==null&&(B=Y.dehydrated,B!==null)){if(j)l.flags&256?(Fr(l),l.flags&=-257,l=zg(i,l,d)):l.memoizedState!==null?(Hr(),l.child=i.child,l.flags|=128,l=null):(Hr(),B=m.fallback,b=l.mode,m=tf({mode:"visible",children:m.children},b),B=Ui(B,b,d,null),B.flags|=2,m.return=l,B.return=l,m.sibling=B,l.child=m,Zi(l,i.child,null,d),m=l.child,m.memoizedState=Pg(d),m.childLanes=Dg(i,I,d),l.memoizedState=$g,l=zc(null,m));else if(Fr(l),xv(B)){if(I=B.nextSibling&&B.nextSibling.dataset,I)var le=I.dgst;I=le,m=Error(s(419)),m.stack="",m.digest=I,Ec({value:m,source:null,stack:null}),l=zg(i,l,d)}else if(In||Ho(i,l,d,!1),I=(d&i.childLanes)!==0,In||I){if(I=Yt,I!==null&&(m=ps(I,d),m!==0&&m!==Y.retryLane))throw Y.retryLane=m,Bi(i,m),js(I,i,m),_g;yv(B)||df(),l=zg(i,l,d)}else yv(B)?(l.flags|=192,l.child=i.child,l=null):(i=Y.treeContext,on=ea(B.nextSibling),Gn=l,_t=!0,Dr=null,Js=!1,i!==null&&oj(l,i),l=Lg(l,m.children),l.flags|=4096);return l}return b?(Hr(),B=m.fallback,b=l.mode,Y=i.child,le=Y.sibling,m=lr(Y,{mode:"hidden",children:m.children}),m.subtreeFlags=Y.subtreeFlags&65011712,le!==null?B=lr(le,B):(B=Ui(B,b,d,null),B.flags|=2),B.return=l,m.return=l,m.sibling=B,l.child=m,zc(null,m),m=l.child,B=i.child.memoizedState,B===null?B=Pg(d):(b=B.cachePool,b!==null?(Y=Mn._currentValue,b=b.parent!==Y?{parent:Y,pool:Y}:b):b=hj(),B={baseLanes:B.baseLanes|d,cachePool:b}),m.memoizedState=B,m.childLanes=Dg(i,I,d),l.memoizedState=$g,zc(i.child,m)):(Fr(l),d=i.child,i=d.sibling,d=lr(d,{mode:"visible",children:m.children}),d.return=l,d.sibling=null,i!==null&&(I=l.deletions,I===null?(l.deletions=[i],l.flags|=16):I.push(i)),l.child=d,l.memoizedState=null,d)}function Lg(i,l){return l=tf({mode:"visible",children:l},i.mode),l.return=i,i.child=l}function tf(i,l){return i=Rs(22,i,null,l),i.lanes=0,i}function zg(i,l,d){return Zi(l,i.child,null,d),i=Lg(l,l.pendingProps.children),i.flags|=2,l.memoizedState=null,i}function C1(i,l,d){i.lanes|=l;var m=i.alternate;m!==null&&(m.lanes|=l),eg(i.return,l,d)}function Bg(i,l,d,m,b,j){var I=i.memoizedState;I===null?i.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:m,tail:d,tailMode:b,treeForkCount:j}:(I.isBackwards=l,I.rendering=null,I.renderingStartTime=0,I.last=m,I.tail=d,I.tailMode=b,I.treeForkCount=j)}function E1(i,l,d){var m=l.pendingProps,b=m.revealOrder,j=m.tail;m=m.children;var I=Cn.current,B=(I&2)!==0;if(B?(I=I&1|2,l.flags|=128):I&=1,Z(Cn,I),Kn(i,l,m,d),m=_t?Cc:0,!B&&i!==null&&(i.flags&128)!==0)e:for(i=l.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&C1(i,d,l);else if(i.tag===19)C1(i,d,l);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break e;for(;i.sibling===null;){if(i.return===null||i.return===l)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}switch(b){case"forwards":for(d=l.child,b=null;d!==null;)i=d.alternate,i!==null&&Fd(i)===null&&(b=d),d=d.sibling;d=b,d===null?(b=l.child,l.child=null):(b=d.sibling,d.sibling=null),Bg(l,!1,b,d,j,m);break;case"backwards":case"unstable_legacy-backwards":for(d=null,b=l.child,l.child=null;b!==null;){if(i=b.alternate,i!==null&&Fd(i)===null){l.child=b;break}i=b.sibling,b.sibling=d,d=b,b=i}Bg(l,!0,d,null,j,m);break;case"together":Bg(l,!1,null,null,void 0,m);break;default:l.memoizedState=null}return l.child}function mr(i,l,d){if(i!==null&&(l.dependencies=i.dependencies),Gr|=l.lanes,(d&l.childLanes)===0)if(i!==null){if(Ho(i,l,d,!1),(d&l.childLanes)===0)return null}else return null;if(i!==null&&l.child!==i.child)throw Error(s(153));if(l.child!==null){for(i=l.child,d=lr(i,i.pendingProps),l.child=d,d.return=l;i.sibling!==null;)i=i.sibling,d=d.sibling=lr(i,i.pendingProps),d.return=l;d.sibling=null}return l.child}function Ug(i,l){return(i.lanes&l)!==0?!0:(i=i.dependencies,!!(i!==null&&$d(i)))}function RD(i,l,d){switch(l.tag){case 3:ae(l,l.stateNode.containerInfo),zr(l,Mn,i.memoizedState.cache),Vi();break;case 27:case 5:Ee(l);break;case 4:ae(l,l.stateNode.containerInfo);break;case 10:zr(l,l.type,l.memoizedProps.value);break;case 31:if(l.memoizedState!==null)return l.flags|=128,fg(l),null;break;case 13:var m=l.memoizedState;if(m!==null)return m.dehydrated!==null?(Fr(l),l.flags|=128,null):(d&l.child.childLanes)!==0?S1(i,l,d):(Fr(l),i=mr(i,l,d),i!==null?i.sibling:null);Fr(l);break;case 19:var b=(i.flags&128)!==0;if(m=(d&l.childLanes)!==0,m||(Ho(i,l,d,!1),m=(d&l.childLanes)!==0),b){if(m)return E1(i,l,d);l.flags|=128}if(b=l.memoizedState,b!==null&&(b.rendering=null,b.tail=null,b.lastEffect=null),Z(Cn,Cn.current),m)break;return null;case 22:return l.lanes=0,x1(i,l,d,l.pendingProps);case 24:zr(l,Mn,i.memoizedState.cache)}return mr(i,l,d)}function T1(i,l,d){if(i!==null)if(i.memoizedProps!==l.pendingProps)In=!0;else{if(!Ug(i,d)&&(l.flags&128)===0)return In=!1,RD(i,l,d);In=(i.flags&131072)!==0}else In=!1,_t&&(l.flags&1048576)!==0&&ij(l,Cc,l.index);switch(l.lanes=0,l.tag){case 16:e:{var m=l.pendingProps;if(i=Wi(l.elementType),l.type=i,typeof i=="function")Wp(i)?(m=Yi(i,m),l.tag=1,l=k1(null,l,i,m,d)):(l.tag=0,l=Og(null,l,i,m,d));else{if(i!=null){var b=i.$$typeof;if(b===E){l.tag=11,l=g1(null,l,i,m,d);break e}else if(b===M){l.tag=14,l=v1(null,l,i,m,d);break e}}throw l=V(i)||i,Error(s(306,l,""))}}return l;case 0:return Og(i,l,l.type,l.pendingProps,d);case 1:return m=l.type,b=Yi(m,l.pendingProps),k1(i,l,m,b,d);case 3:e:{if(ae(l,l.stateNode.containerInfo),i===null)throw Error(s(387));m=l.pendingProps;var j=l.memoizedState;b=j.element,og(i,l),Oc(l,m,null,d);var I=l.memoizedState;if(m=I.cache,zr(l,Mn,m),m!==j.cache&&tg(l,[Mn],d,!0),_c(),m=I.element,j.isDehydrated)if(j={element:m,isDehydrated:!1,cache:I.cache},l.updateQueue.baseState=j,l.memoizedState=j,l.flags&256){l=N1(i,l,m,d);break e}else if(m!==b){b=Ks(Error(s(424)),l),Ec(b),l=N1(i,l,m,d);break e}else for(i=l.stateNode.containerInfo,i.nodeType===9?i=i.body:i=i.nodeName==="HTML"?i.ownerDocument.body:i,on=ea(i.firstChild),Gn=l,_t=!0,Dr=null,Js=!0,d=xj(l,null,m,d),l.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Vi(),m===b){l=mr(i,l,d);break e}Kn(i,l,m,d)}l=l.child}return l;case 26:return ef(i,l),i===null?(d=zk(l.type,null,l.pendingProps,null))?l.memoizedState=d:_t||(d=l.type,i=l.pendingProps,m=yf(de.current).createElement(d),m[pn]=l,m[Sn]=i,Yn(m,d,i),rn(m),l.stateNode=m):l.memoizedState=zk(l.type,i.memoizedProps,l.pendingProps,i.memoizedState),null;case 27:return Ee(l),i===null&&_t&&(m=l.stateNode=Pk(l.type,l.pendingProps,de.current),Gn=l,Js=!0,b=on,Jr(l.type)?(bv=b,on=ea(m.firstChild)):on=b),Kn(i,l,l.pendingProps.children,d),ef(i,l),i===null&&(l.flags|=4194304),l.child;case 5:return i===null&&_t&&((b=m=on)&&(m=o5(m,l.type,l.pendingProps,Js),m!==null?(l.stateNode=m,Gn=l,on=ea(m.firstChild),Js=!1,b=!0):b=!1),b||Lr(l)),Ee(l),b=l.type,j=l.pendingProps,I=i!==null?i.memoizedProps:null,m=j.children,pv(b,j)?m=null:I!==null&&pv(b,I)&&(l.flags|=32),l.memoizedState!==null&&(b=mg(i,l,jD,null,null,d),eu._currentValue=b),ef(i,l),Kn(i,l,m,d),l.child;case 6:return i===null&&_t&&((i=d=on)&&(d=l5(d,l.pendingProps,Js),d!==null?(l.stateNode=d,Gn=l,on=null,i=!0):i=!1),i||Lr(l)),null;case 13:return S1(i,l,d);case 4:return ae(l,l.stateNode.containerInfo),m=l.pendingProps,i===null?l.child=Zi(l,null,m,d):Kn(i,l,m,d),l.child;case 11:return g1(i,l,l.type,l.pendingProps,d);case 7:return Kn(i,l,l.pendingProps,d),l.child;case 8:return Kn(i,l,l.pendingProps.children,d),l.child;case 12:return Kn(i,l,l.pendingProps.children,d),l.child;case 10:return m=l.pendingProps,zr(l,l.type,m.value),Kn(i,l,m.children,d),l.child;case 9:return b=l.type._context,m=l.pendingProps.children,Hi(l),b=Zn(b),m=m(b),l.flags|=1,Kn(i,l,m,d),l.child;case 14:return v1(i,l,l.type,l.pendingProps,d);case 15:return y1(i,l,l.type,l.pendingProps,d);case 19:return E1(i,l,d);case 31:return MD(i,l,d);case 22:return x1(i,l,d,l.pendingProps);case 24:return Hi(l),m=Zn(Mn),i===null?(b=ag(),b===null&&(b=Yt,j=ng(),b.pooledCache=j,j.refCount++,j!==null&&(b.pooledCacheLanes|=d),b=j),l.memoizedState={parent:m,cache:b},ig(l),zr(l,Mn,b)):((i.lanes&d)!==0&&(og(i,l),Oc(l,null,null,d),_c()),b=i.memoizedState,j=l.memoizedState,b.parent!==m?(b={parent:m,cache:m},l.memoizedState=b,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=b),zr(l,Mn,m)):(m=j.cache,zr(l,Mn,m),m!==b.cache&&tg(l,[Mn],d,!0))),Kn(i,l,l.pendingProps.children,d),l.child;case 29:throw l.pendingProps}throw Error(s(156,l.tag))}function pr(i){i.flags|=4}function Vg(i,l,d,m,b){if((l=(i.mode&32)!==0)&&(l=!1),l){if(i.flags|=16777216,(b&335544128)===b)if(i.stateNode.complete)i.flags|=8192;else if(tk())i.flags|=8192;else throw Gi=zd,rg}else i.flags&=-16777217}function A1(i,l){if(l.type!=="stylesheet"||(l.state.loading&4)!==0)i.flags&=-16777217;else if(i.flags|=16777216,!Hk(l))if(tk())i.flags|=8192;else throw Gi=zd,rg}function nf(i,l){l!==null&&(i.flags|=4),i.flags&16384&&(l=i.tag!==22?it():536870912,i.lanes|=l,nl|=l)}function Bc(i,l){if(!_t)switch(i.tailMode){case"hidden":l=i.tail;for(var d=null;l!==null;)l.alternate!==null&&(d=l),l=l.sibling;d===null?i.tail=null:d.sibling=null;break;case"collapsed":d=i.tail;for(var m=null;d!==null;)d.alternate!==null&&(m=d),d=d.sibling;m===null?l||i.tail===null?i.tail=null:i.tail.sibling=null:m.sibling=null}}function ln(i){var l=i.alternate!==null&&i.alternate.child===i.child,d=0,m=0;if(l)for(var b=i.child;b!==null;)d|=b.lanes|b.childLanes,m|=b.subtreeFlags&65011712,m|=b.flags&65011712,b.return=i,b=b.sibling;else for(b=i.child;b!==null;)d|=b.lanes|b.childLanes,m|=b.subtreeFlags,m|=b.flags,b.return=i,b=b.sibling;return i.subtreeFlags|=m,i.childLanes=d,l}function ID(i,l,d){var m=l.pendingProps;switch(Yp(l),l.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ln(l),null;case 1:return ln(l),null;case 3:return d=l.stateNode,m=null,i!==null&&(m=i.memoizedState.cache),l.memoizedState.cache!==m&&(l.flags|=2048),dr(Mn),je(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(i===null||i.child===null)&&(Fo(l)?pr(l):i===null||i.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,Jp())),ln(l),null;case 26:var b=l.type,j=l.memoizedState;return i===null?(pr(l),j!==null?(ln(l),A1(l,j)):(ln(l),Vg(l,b,null,m,d))):j?j!==i.memoizedState?(pr(l),ln(l),A1(l,j)):(ln(l),l.flags&=-16777217):(i=i.memoizedProps,i!==m&&pr(l),ln(l),Vg(l,b,i,m,d)),null;case 27:if(pe(l),d=de.current,b=l.type,i!==null&&l.stateNode!=null)i.memoizedProps!==m&&pr(l);else{if(!m){if(l.stateNode===null)throw Error(s(166));return ln(l),null}i=ee.current,Fo(l)?lj(l):(i=Pk(b,m,d),l.stateNode=i,pr(l))}return ln(l),null;case 5:if(pe(l),b=l.type,i!==null&&l.stateNode!=null)i.memoizedProps!==m&&pr(l);else{if(!m){if(l.stateNode===null)throw Error(s(166));return ln(l),null}if(j=ee.current,Fo(l))lj(l);else{var I=yf(de.current);switch(j){case 1:j=I.createElementNS("http://www.w3.org/2000/svg",b);break;case 2:j=I.createElementNS("http://www.w3.org/1998/Math/MathML",b);break;default:switch(b){case"svg":j=I.createElementNS("http://www.w3.org/2000/svg",b);break;case"math":j=I.createElementNS("http://www.w3.org/1998/Math/MathML",b);break;case"script":j=I.createElement("div"),j.innerHTML="<script><\/script>",j=j.removeChild(j.firstChild);break;case"select":j=typeof m.is=="string"?I.createElement("select",{is:m.is}):I.createElement("select"),m.multiple?j.multiple=!0:m.size&&(j.size=m.size);break;default:j=typeof m.is=="string"?I.createElement(b,{is:m.is}):I.createElement(b)}}j[pn]=l,j[Sn]=m;e:for(I=l.child;I!==null;){if(I.tag===5||I.tag===6)j.appendChild(I.stateNode);else if(I.tag!==4&&I.tag!==27&&I.child!==null){I.child.return=I,I=I.child;continue}if(I===l)break e;for(;I.sibling===null;){if(I.return===null||I.return===l)break e;I=I.return}I.sibling.return=I.return,I=I.sibling}l.stateNode=j;e:switch(Yn(j,b,m),b){case"button":case"input":case"select":case"textarea":m=!!m.autoFocus;break e;case"img":m=!0;break e;default:m=!1}m&&pr(l)}}return ln(l),Vg(l,l.type,i===null?null:i.memoizedProps,l.pendingProps,d),null;case 6:if(i&&l.stateNode!=null)i.memoizedProps!==m&&pr(l);else{if(typeof m!="string"&&l.stateNode===null)throw Error(s(166));if(i=de.current,Fo(l)){if(i=l.stateNode,d=l.memoizedProps,m=null,b=Gn,b!==null)switch(b.tag){case 27:case 5:m=b.memoizedProps}i[pn]=l,i=!!(i.nodeValue===d||m!==null&&m.suppressHydrationWarning===!0||Sk(i.nodeValue,d)),i||Lr(l,!0)}else i=yf(i).createTextNode(m),i[pn]=l,l.stateNode=i}return ln(l),null;case 31:if(d=l.memoizedState,i===null||i.memoizedState!==null){if(m=Fo(l),d!==null){if(i===null){if(!m)throw Error(s(318));if(i=l.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(s(557));i[pn]=l}else Vi(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ln(l),i=!1}else d=Jp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=d),i=!0;if(!i)return l.flags&256?(_s(l),l):(_s(l),null);if((l.flags&128)!==0)throw Error(s(558))}return ln(l),null;case 13:if(m=l.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(b=Fo(l),m!==null&&m.dehydrated!==null){if(i===null){if(!b)throw Error(s(318));if(b=l.memoizedState,b=b!==null?b.dehydrated:null,!b)throw Error(s(317));b[pn]=l}else Vi(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ln(l),b=!1}else b=Jp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=b),b=!0;if(!b)return l.flags&256?(_s(l),l):(_s(l),null)}return _s(l),(l.flags&128)!==0?(l.lanes=d,l):(d=m!==null,i=i!==null&&i.memoizedState!==null,d&&(m=l.child,b=null,m.alternate!==null&&m.alternate.memoizedState!==null&&m.alternate.memoizedState.cachePool!==null&&(b=m.alternate.memoizedState.cachePool.pool),j=null,m.memoizedState!==null&&m.memoizedState.cachePool!==null&&(j=m.memoizedState.cachePool.pool),j!==b&&(m.flags|=2048)),d!==i&&d&&(l.child.flags|=8192),nf(l,l.updateQueue),ln(l),null);case 4:return je(),i===null&&uv(l.stateNode.containerInfo),ln(l),null;case 10:return dr(l.type),ln(l),null;case 19:if(F(Cn),m=l.memoizedState,m===null)return ln(l),null;if(b=(l.flags&128)!==0,j=m.rendering,j===null)if(b)Bc(m,!1);else{if(jn!==0||i!==null&&(i.flags&128)!==0)for(i=l.child;i!==null;){if(j=Fd(i),j!==null){for(l.flags|=128,Bc(m,!1),i=j.updateQueue,l.updateQueue=i,nf(l,i),l.subtreeFlags=0,i=d,d=l.child;d!==null;)sj(d,i),d=d.sibling;return Z(Cn,Cn.current&1|2),_t&&cr(l,m.treeForkCount),l.child}i=i.sibling}m.tail!==null&&Be()>lf&&(l.flags|=128,b=!0,Bc(m,!1),l.lanes=4194304)}else{if(!b)if(i=Fd(j),i!==null){if(l.flags|=128,b=!0,i=i.updateQueue,l.updateQueue=i,nf(l,i),Bc(m,!0),m.tail===null&&m.tailMode==="hidden"&&!j.alternate&&!_t)return ln(l),null}else 2*Be()-m.renderingStartTime>lf&&d!==536870912&&(l.flags|=128,b=!0,Bc(m,!1),l.lanes=4194304);m.isBackwards?(j.sibling=l.child,l.child=j):(i=m.last,i!==null?i.sibling=j:l.child=j,m.last=j)}return m.tail!==null?(i=m.tail,m.rendering=i,m.tail=i.sibling,m.renderingStartTime=Be(),i.sibling=null,d=Cn.current,Z(Cn,b?d&1|2:d&1),_t&&cr(l,m.treeForkCount),i):(ln(l),null);case 22:case 23:return _s(l),dg(),m=l.memoizedState!==null,i!==null?i.memoizedState!==null!==m&&(l.flags|=8192):m&&(l.flags|=8192),m?(d&536870912)!==0&&(l.flags&128)===0&&(ln(l),l.subtreeFlags&6&&(l.flags|=8192)):ln(l),d=l.updateQueue,d!==null&&nf(l,d.retryQueue),d=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(d=i.memoizedState.cachePool.pool),m=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(m=l.memoizedState.cachePool.pool),m!==d&&(l.flags|=2048),i!==null&&F(qi),null;case 24:return d=null,i!==null&&(d=i.memoizedState.cache),l.memoizedState.cache!==d&&(l.flags|=2048),dr(Mn),ln(l),null;case 25:return null;case 30:return null}throw Error(s(156,l.tag))}function _D(i,l){switch(Yp(l),l.tag){case 1:return i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 3:return dr(Mn),je(),i=l.flags,(i&65536)!==0&&(i&128)===0?(l.flags=i&-65537|128,l):null;case 26:case 27:case 5:return pe(l),null;case 31:if(l.memoizedState!==null){if(_s(l),l.alternate===null)throw Error(s(340));Vi()}return i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 13:if(_s(l),i=l.memoizedState,i!==null&&i.dehydrated!==null){if(l.alternate===null)throw Error(s(340));Vi()}return i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 19:return F(Cn),null;case 4:return je(),null;case 10:return dr(l.type),null;case 22:case 23:return _s(l),dg(),i!==null&&F(qi),i=l.flags,i&65536?(l.flags=i&-65537|128,l):null;case 24:return dr(Mn),null;case 25:return null;default:return null}}function M1(i,l){switch(Yp(l),l.tag){case 3:dr(Mn),je();break;case 26:case 27:case 5:pe(l);break;case 4:je();break;case 31:l.memoizedState!==null&&_s(l);break;case 13:_s(l);break;case 19:F(Cn);break;case 10:dr(l.type);break;case 22:case 23:_s(l),dg(),i!==null&&F(qi);break;case 24:dr(Mn)}}function Uc(i,l){try{var d=l.updateQueue,m=d!==null?d.lastEffect:null;if(m!==null){var b=m.next;d=b;do{if((d.tag&i)===i){m=void 0;var j=d.create,I=d.inst;m=j(),I.destroy=m}d=d.next}while(d!==b)}}catch(B){qt(l,l.return,B)}}function qr(i,l,d){try{var m=l.updateQueue,b=m!==null?m.lastEffect:null;if(b!==null){var j=b.next;m=j;do{if((m.tag&i)===i){var I=m.inst,B=I.destroy;if(B!==void 0){I.destroy=void 0,b=l;var Y=d,le=B;try{le()}catch(xe){qt(b,Y,xe)}}}m=m.next}while(m!==j)}}catch(xe){qt(l,l.return,xe)}}function R1(i){var l=i.updateQueue;if(l!==null){var d=i.stateNode;try{wj(l,d)}catch(m){qt(i,i.return,m)}}}function I1(i,l,d){d.props=Yi(i.type,i.memoizedProps),d.state=i.memoizedState;try{d.componentWillUnmount()}catch(m){qt(i,l,m)}}function Vc(i,l){try{var d=i.ref;if(d!==null){switch(i.tag){case 26:case 27:case 5:var m=i.stateNode;break;case 30:m=i.stateNode;break;default:m=i.stateNode}typeof d=="function"?i.refCleanup=d(m):d.current=m}}catch(b){qt(i,l,b)}}function La(i,l){var d=i.ref,m=i.refCleanup;if(d!==null)if(typeof m=="function")try{m()}catch(b){qt(i,l,b)}finally{i.refCleanup=null,i=i.alternate,i!=null&&(i.refCleanup=null)}else if(typeof d=="function")try{d(null)}catch(b){qt(i,l,b)}else d.current=null}function _1(i){var l=i.type,d=i.memoizedProps,m=i.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":d.autoFocus&&m.focus();break e;case"img":d.src?m.src=d.src:d.srcSet&&(m.srcset=d.srcSet)}}catch(b){qt(i,i.return,b)}}function Fg(i,l,d){try{var m=i.stateNode;t5(m,i.type,d,l),m[Sn]=l}catch(b){qt(i,i.return,b)}}function O1(i){return i.tag===5||i.tag===3||i.tag===26||i.tag===27&&Jr(i.type)||i.tag===4}function Hg(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||O1(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.tag===27&&Jr(i.type)||i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function qg(i,l,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,l?(d.nodeType===9?d.body:d.nodeName==="HTML"?d.ownerDocument.body:d).insertBefore(i,l):(l=d.nodeType===9?d.body:d.nodeName==="HTML"?d.ownerDocument.body:d,l.appendChild(i),d=d._reactRootContainer,d!=null||l.onclick!==null||(l.onclick=ir));else if(m!==4&&(m===27&&Jr(i.type)&&(d=i.stateNode,l=null),i=i.child,i!==null))for(qg(i,l,d),i=i.sibling;i!==null;)qg(i,l,d),i=i.sibling}function sf(i,l,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,l?d.insertBefore(i,l):d.appendChild(i);else if(m!==4&&(m===27&&Jr(i.type)&&(d=i.stateNode),i=i.child,i!==null))for(sf(i,l,d),i=i.sibling;i!==null;)sf(i,l,d),i=i.sibling}function $1(i){var l=i.stateNode,d=i.memoizedProps;try{for(var m=i.type,b=l.attributes;b.length;)l.removeAttributeNode(b[0]);Yn(l,m,d),l[pn]=i,l[Sn]=d}catch(j){qt(i,i.return,j)}}var gr=!1,_n=!1,Wg=!1,P1=typeof WeakSet=="function"?WeakSet:Set,Hn=null;function OD(i,l){if(i=i.containerInfo,hv=Sf,i=Zw(i),zp(i)){if("selectionStart"in i)var d={start:i.selectionStart,end:i.selectionEnd};else e:{d=(d=i.ownerDocument)&&d.defaultView||window;var m=d.getSelection&&d.getSelection();if(m&&m.rangeCount!==0){d=m.anchorNode;var b=m.anchorOffset,j=m.focusNode;m=m.focusOffset;try{d.nodeType,j.nodeType}catch{d=null;break e}var I=0,B=-1,Y=-1,le=0,xe=0,ke=i,ce=null;t:for(;;){for(var me;ke!==d||b!==0&&ke.nodeType!==3||(B=I+b),ke!==j||m!==0&&ke.nodeType!==3||(Y=I+m),ke.nodeType===3&&(I+=ke.nodeValue.length),(me=ke.firstChild)!==null;)ce=ke,ke=me;for(;;){if(ke===i)break t;if(ce===d&&++le===b&&(B=I),ce===j&&++xe===m&&(Y=I),(me=ke.nextSibling)!==null)break;ke=ce,ce=ke.parentNode}ke=me}d=B===-1||Y===-1?null:{start:B,end:Y}}else d=null}d=d||{start:0,end:0}}else d=null;for(mv={focusedElem:i,selectionRange:d},Sf=!1,Hn=l;Hn!==null;)if(l=Hn,i=l.child,(l.subtreeFlags&1028)!==0&&i!==null)i.return=l,Hn=i;else for(;Hn!==null;){switch(l=Hn,j=l.alternate,i=l.flags,l.tag){case 0:if((i&4)!==0&&(i=l.updateQueue,i=i!==null?i.events:null,i!==null))for(d=0;d<i.length;d++)b=i[d],b.ref.impl=b.nextImpl;break;case 11:case 15:break;case 1:if((i&1024)!==0&&j!==null){i=void 0,d=l,b=j.memoizedProps,j=j.memoizedState,m=d.stateNode;try{var Ge=Yi(d.type,b);i=m.getSnapshotBeforeUpdate(Ge,j),m.__reactInternalSnapshotBeforeUpdate=i}catch(lt){qt(d,d.return,lt)}}break;case 3:if((i&1024)!==0){if(i=l.stateNode.containerInfo,d=i.nodeType,d===9)vv(i);else if(d===1)switch(i.nodeName){case"HEAD":case"HTML":case"BODY":vv(i);break;default:i.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((i&1024)!==0)throw Error(s(163))}if(i=l.sibling,i!==null){i.return=l.return,Hn=i;break}Hn=l.return}}function D1(i,l,d){var m=d.flags;switch(d.tag){case 0:case 11:case 15:yr(i,d),m&4&&Uc(5,d);break;case 1:if(yr(i,d),m&4)if(i=d.stateNode,l===null)try{i.componentDidMount()}catch(I){qt(d,d.return,I)}else{var b=Yi(d.type,l.memoizedProps);l=l.memoizedState;try{i.componentDidUpdate(b,l,i.__reactInternalSnapshotBeforeUpdate)}catch(I){qt(d,d.return,I)}}m&64&&R1(d),m&512&&Vc(d,d.return);break;case 3:if(yr(i,d),m&64&&(i=d.updateQueue,i!==null)){if(l=null,d.child!==null)switch(d.child.tag){case 27:case 5:l=d.child.stateNode;break;case 1:l=d.child.stateNode}try{wj(i,l)}catch(I){qt(d,d.return,I)}}break;case 27:l===null&&m&4&&$1(d);case 26:case 5:yr(i,d),l===null&&m&4&&_1(d),m&512&&Vc(d,d.return);break;case 12:yr(i,d);break;case 31:yr(i,d),m&4&&B1(i,d);break;case 13:yr(i,d),m&4&&U1(i,d),m&64&&(i=d.memoizedState,i!==null&&(i=i.dehydrated,i!==null&&(d=FD.bind(null,d),c5(i,d))));break;case 22:if(m=d.memoizedState!==null||gr,!m){l=l!==null&&l.memoizedState!==null||_n,b=gr;var j=_n;gr=m,(_n=l)&&!j?xr(i,d,(d.subtreeFlags&8772)!==0):yr(i,d),gr=b,_n=j}break;case 30:break;default:yr(i,d)}}function L1(i){var l=i.alternate;l!==null&&(i.alternate=null,L1(l)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(l=i.stateNode,l!==null&&_r(l)),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}var vn=null,ys=!1;function vr(i,l,d){for(d=d.child;d!==null;)z1(i,l,d),d=d.sibling}function z1(i,l,d){if(ue&&typeof ue.onCommitFiberUnmount=="function")try{ue.onCommitFiberUnmount(Qe,d)}catch{}switch(d.tag){case 26:_n||La(d,l),vr(i,l,d),d.memoizedState?d.memoizedState.count--:d.stateNode&&(d=d.stateNode,d.parentNode.removeChild(d));break;case 27:_n||La(d,l);var m=vn,b=ys;Jr(d.type)&&(vn=d.stateNode,ys=!1),vr(i,l,d),Xc(d.stateNode),vn=m,ys=b;break;case 5:_n||La(d,l);case 6:if(m=vn,b=ys,vn=null,vr(i,l,d),vn=m,ys=b,vn!==null)if(ys)try{(vn.nodeType===9?vn.body:vn.nodeName==="HTML"?vn.ownerDocument.body:vn).removeChild(d.stateNode)}catch(j){qt(d,l,j)}else try{vn.removeChild(d.stateNode)}catch(j){qt(d,l,j)}break;case 18:vn!==null&&(ys?(i=vn,Rk(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,d.stateNode),ul(i)):Rk(vn,d.stateNode));break;case 4:m=vn,b=ys,vn=d.stateNode.containerInfo,ys=!0,vr(i,l,d),vn=m,ys=b;break;case 0:case 11:case 14:case 15:qr(2,d,l),_n||qr(4,d,l),vr(i,l,d);break;case 1:_n||(La(d,l),m=d.stateNode,typeof m.componentWillUnmount=="function"&&I1(d,l,m)),vr(i,l,d);break;case 21:vr(i,l,d);break;case 22:_n=(m=_n)||d.memoizedState!==null,vr(i,l,d),_n=m;break;default:vr(i,l,d)}}function B1(i,l){if(l.memoizedState===null&&(i=l.alternate,i!==null&&(i=i.memoizedState,i!==null))){i=i.dehydrated;try{ul(i)}catch(d){qt(l,l.return,d)}}}function U1(i,l){if(l.memoizedState===null&&(i=l.alternate,i!==null&&(i=i.memoizedState,i!==null&&(i=i.dehydrated,i!==null))))try{ul(i)}catch(d){qt(l,l.return,d)}}function $D(i){switch(i.tag){case 31:case 13:case 19:var l=i.stateNode;return l===null&&(l=i.stateNode=new P1),l;case 22:return i=i.stateNode,l=i._retryCache,l===null&&(l=i._retryCache=new P1),l;default:throw Error(s(435,i.tag))}}function af(i,l){var d=$D(i);l.forEach(function(m){if(!d.has(m)){d.add(m);var b=HD.bind(null,i,m);m.then(b,b)}})}function xs(i,l){var d=l.deletions;if(d!==null)for(var m=0;m<d.length;m++){var b=d[m],j=i,I=l,B=I;e:for(;B!==null;){switch(B.tag){case 27:if(Jr(B.type)){vn=B.stateNode,ys=!1;break e}break;case 5:vn=B.stateNode,ys=!1;break e;case 3:case 4:vn=B.stateNode.containerInfo,ys=!0;break e}B=B.return}if(vn===null)throw Error(s(160));z1(j,I,b),vn=null,ys=!1,j=b.alternate,j!==null&&(j.return=null),b.return=null}if(l.subtreeFlags&13886)for(l=l.child;l!==null;)V1(l,i),l=l.sibling}var va=null;function V1(i,l){var d=i.alternate,m=i.flags;switch(i.tag){case 0:case 11:case 14:case 15:xs(l,i),bs(i),m&4&&(qr(3,i,i.return),Uc(3,i),qr(5,i,i.return));break;case 1:xs(l,i),bs(i),m&512&&(_n||d===null||La(d,d.return)),m&64&&gr&&(i=i.updateQueue,i!==null&&(m=i.callbacks,m!==null&&(d=i.shared.hiddenCallbacks,i.shared.hiddenCallbacks=d===null?m:d.concat(m))));break;case 26:var b=va;if(xs(l,i),bs(i),m&512&&(_n||d===null||La(d,d.return)),m&4){var j=d!==null?d.memoizedState:null;if(m=i.memoizedState,d===null)if(m===null)if(i.stateNode===null){e:{m=i.type,d=i.memoizedProps,b=b.ownerDocument||b;t:switch(m){case"title":j=b.getElementsByTagName("title")[0],(!j||j[_a]||j[pn]||j.namespaceURI==="http://www.w3.org/2000/svg"||j.hasAttribute("itemprop"))&&(j=b.createElement(m),b.head.insertBefore(j,b.querySelector("head > title"))),Yn(j,m,d),j[pn]=i,rn(j),m=j;break e;case"link":var I=Vk("link","href",b).get(m+(d.href||""));if(I){for(var B=0;B<I.length;B++)if(j=I[B],j.getAttribute("href")===(d.href==null||d.href===""?null:d.href)&&j.getAttribute("rel")===(d.rel==null?null:d.rel)&&j.getAttribute("title")===(d.title==null?null:d.title)&&j.getAttribute("crossorigin")===(d.crossOrigin==null?null:d.crossOrigin)){I.splice(B,1);break t}}j=b.createElement(m),Yn(j,m,d),b.head.appendChild(j);break;case"meta":if(I=Vk("meta","content",b).get(m+(d.content||""))){for(B=0;B<I.length;B++)if(j=I[B],j.getAttribute("content")===(d.content==null?null:""+d.content)&&j.getAttribute("name")===(d.name==null?null:d.name)&&j.getAttribute("property")===(d.property==null?null:d.property)&&j.getAttribute("http-equiv")===(d.httpEquiv==null?null:d.httpEquiv)&&j.getAttribute("charset")===(d.charSet==null?null:d.charSet)){I.splice(B,1);break t}}j=b.createElement(m),Yn(j,m,d),b.head.appendChild(j);break;default:throw Error(s(468,m))}j[pn]=i,rn(j),m=j}i.stateNode=m}else Fk(b,i.type,i.stateNode);else i.stateNode=Uk(b,m,i.memoizedProps);else j!==m?(j===null?d.stateNode!==null&&(d=d.stateNode,d.parentNode.removeChild(d)):j.count--,m===null?Fk(b,i.type,i.stateNode):Uk(b,m,i.memoizedProps)):m===null&&i.stateNode!==null&&Fg(i,i.memoizedProps,d.memoizedProps)}break;case 27:xs(l,i),bs(i),m&512&&(_n||d===null||La(d,d.return)),d!==null&&m&4&&Fg(i,i.memoizedProps,d.memoizedProps);break;case 5:if(xs(l,i),bs(i),m&512&&(_n||d===null||La(d,d.return)),i.flags&32){b=i.stateNode;try{_o(b,"")}catch(Ge){qt(i,i.return,Ge)}}m&4&&i.stateNode!=null&&(b=i.memoizedProps,Fg(i,b,d!==null?d.memoizedProps:b)),m&1024&&(Wg=!0);break;case 6:if(xs(l,i),bs(i),m&4){if(i.stateNode===null)throw Error(s(162));m=i.memoizedProps,d=i.stateNode;try{d.nodeValue=m}catch(Ge){qt(i,i.return,Ge)}}break;case 3:if(wf=null,b=va,va=xf(l.containerInfo),xs(l,i),va=b,bs(i),m&4&&d!==null&&d.memoizedState.isDehydrated)try{ul(l.containerInfo)}catch(Ge){qt(i,i.return,Ge)}Wg&&(Wg=!1,F1(i));break;case 4:m=va,va=xf(i.stateNode.containerInfo),xs(l,i),bs(i),va=m;break;case 12:xs(l,i),bs(i);break;case 31:xs(l,i),bs(i),m&4&&(m=i.updateQueue,m!==null&&(i.updateQueue=null,af(i,m)));break;case 13:xs(l,i),bs(i),i.child.flags&8192&&i.memoizedState!==null!=(d!==null&&d.memoizedState!==null)&&(of=Be()),m&4&&(m=i.updateQueue,m!==null&&(i.updateQueue=null,af(i,m)));break;case 22:b=i.memoizedState!==null;var Y=d!==null&&d.memoizedState!==null,le=gr,xe=_n;if(gr=le||b,_n=xe||Y,xs(l,i),_n=xe,gr=le,bs(i),m&8192)e:for(l=i.stateNode,l._visibility=b?l._visibility&-2:l._visibility|1,b&&(d===null||Y||gr||_n||Xi(i)),d=null,l=i;;){if(l.tag===5||l.tag===26){if(d===null){Y=d=l;try{if(j=Y.stateNode,b)I=j.style,typeof I.setProperty=="function"?I.setProperty("display","none","important"):I.display="none";else{B=Y.stateNode;var ke=Y.memoizedProps.style,ce=ke!=null&&ke.hasOwnProperty("display")?ke.display:null;B.style.display=ce==null||typeof ce=="boolean"?"":(""+ce).trim()}}catch(Ge){qt(Y,Y.return,Ge)}}}else if(l.tag===6){if(d===null){Y=l;try{Y.stateNode.nodeValue=b?"":Y.memoizedProps}catch(Ge){qt(Y,Y.return,Ge)}}}else if(l.tag===18){if(d===null){Y=l;try{var me=Y.stateNode;b?Ik(me,!0):Ik(Y.stateNode,!1)}catch(Ge){qt(Y,Y.return,Ge)}}}else if((l.tag!==22&&l.tag!==23||l.memoizedState===null||l===i)&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===i)break e;for(;l.sibling===null;){if(l.return===null||l.return===i)break e;d===l&&(d=null),l=l.return}d===l&&(d=null),l.sibling.return=l.return,l=l.sibling}m&4&&(m=i.updateQueue,m!==null&&(d=m.retryQueue,d!==null&&(m.retryQueue=null,af(i,d))));break;case 19:xs(l,i),bs(i),m&4&&(m=i.updateQueue,m!==null&&(i.updateQueue=null,af(i,m)));break;case 30:break;case 21:break;default:xs(l,i),bs(i)}}function bs(i){var l=i.flags;if(l&2){try{for(var d,m=i.return;m!==null;){if(O1(m)){d=m;break}m=m.return}if(d==null)throw Error(s(160));switch(d.tag){case 27:var b=d.stateNode,j=Hg(i);sf(i,j,b);break;case 5:var I=d.stateNode;d.flags&32&&(_o(I,""),d.flags&=-33);var B=Hg(i);sf(i,B,I);break;case 3:case 4:var Y=d.stateNode.containerInfo,le=Hg(i);qg(i,le,Y);break;default:throw Error(s(161))}}catch(xe){qt(i,i.return,xe)}i.flags&=-3}l&4096&&(i.flags&=-4097)}function F1(i){if(i.subtreeFlags&1024)for(i=i.child;i!==null;){var l=i;F1(l),l.tag===5&&l.flags&1024&&l.stateNode.reset(),i=i.sibling}}function yr(i,l){if(l.subtreeFlags&8772)for(l=l.child;l!==null;)D1(i,l.alternate,l),l=l.sibling}function Xi(i){for(i=i.child;i!==null;){var l=i;switch(l.tag){case 0:case 11:case 14:case 15:qr(4,l,l.return),Xi(l);break;case 1:La(l,l.return);var d=l.stateNode;typeof d.componentWillUnmount=="function"&&I1(l,l.return,d),Xi(l);break;case 27:Xc(l.stateNode);case 26:case 5:La(l,l.return),Xi(l);break;case 22:l.memoizedState===null&&Xi(l);break;case 30:Xi(l);break;default:Xi(l)}i=i.sibling}}function xr(i,l,d){for(d=d&&(l.subtreeFlags&8772)!==0,l=l.child;l!==null;){var m=l.alternate,b=i,j=l,I=j.flags;switch(j.tag){case 0:case 11:case 15:xr(b,j,d),Uc(4,j);break;case 1:if(xr(b,j,d),m=j,b=m.stateNode,typeof b.componentDidMount=="function")try{b.componentDidMount()}catch(le){qt(m,m.return,le)}if(m=j,b=m.updateQueue,b!==null){var B=m.stateNode;try{var Y=b.shared.hiddenCallbacks;if(Y!==null)for(b.shared.hiddenCallbacks=null,b=0;b<Y.length;b++)bj(Y[b],B)}catch(le){qt(m,m.return,le)}}d&&I&64&&R1(j),Vc(j,j.return);break;case 27:$1(j);case 26:case 5:xr(b,j,d),d&&m===null&&I&4&&_1(j),Vc(j,j.return);break;case 12:xr(b,j,d);break;case 31:xr(b,j,d),d&&I&4&&B1(b,j);break;case 13:xr(b,j,d),d&&I&4&&U1(b,j);break;case 22:j.memoizedState===null&&xr(b,j,d),Vc(j,j.return);break;case 30:break;default:xr(b,j,d)}l=l.sibling}}function Gg(i,l){var d=null;i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(d=i.memoizedState.cachePool.pool),i=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(i=l.memoizedState.cachePool.pool),i!==d&&(i!=null&&i.refCount++,d!=null&&Tc(d))}function Zg(i,l){i=null,l.alternate!==null&&(i=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==i&&(l.refCount++,i!=null&&Tc(i))}function ya(i,l,d,m){if(l.subtreeFlags&10256)for(l=l.child;l!==null;)H1(i,l,d,m),l=l.sibling}function H1(i,l,d,m){var b=l.flags;switch(l.tag){case 0:case 11:case 15:ya(i,l,d,m),b&2048&&Uc(9,l);break;case 1:ya(i,l,d,m);break;case 3:ya(i,l,d,m),b&2048&&(i=null,l.alternate!==null&&(i=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==i&&(l.refCount++,i!=null&&Tc(i)));break;case 12:if(b&2048){ya(i,l,d,m),i=l.stateNode;try{var j=l.memoizedProps,I=j.id,B=j.onPostCommit;typeof B=="function"&&B(I,l.alternate===null?"mount":"update",i.passiveEffectDuration,-0)}catch(Y){qt(l,l.return,Y)}}else ya(i,l,d,m);break;case 31:ya(i,l,d,m);break;case 13:ya(i,l,d,m);break;case 23:break;case 22:j=l.stateNode,I=l.alternate,l.memoizedState!==null?j._visibility&2?ya(i,l,d,m):Fc(i,l):j._visibility&2?ya(i,l,d,m):(j._visibility|=2,Qo(i,l,d,m,(l.subtreeFlags&10256)!==0||!1)),b&2048&&Gg(I,l);break;case 24:ya(i,l,d,m),b&2048&&Zg(l.alternate,l);break;default:ya(i,l,d,m)}}function Qo(i,l,d,m,b){for(b=b&&((l.subtreeFlags&10256)!==0||!1),l=l.child;l!==null;){var j=i,I=l,B=d,Y=m,le=I.flags;switch(I.tag){case 0:case 11:case 15:Qo(j,I,B,Y,b),Uc(8,I);break;case 23:break;case 22:var xe=I.stateNode;I.memoizedState!==null?xe._visibility&2?Qo(j,I,B,Y,b):Fc(j,I):(xe._visibility|=2,Qo(j,I,B,Y,b)),b&&le&2048&&Gg(I.alternate,I);break;case 24:Qo(j,I,B,Y,b),b&&le&2048&&Zg(I.alternate,I);break;default:Qo(j,I,B,Y,b)}l=l.sibling}}function Fc(i,l){if(l.subtreeFlags&10256)for(l=l.child;l!==null;){var d=i,m=l,b=m.flags;switch(m.tag){case 22:Fc(d,m),b&2048&&Gg(m.alternate,m);break;case 24:Fc(d,m),b&2048&&Zg(m.alternate,m);break;default:Fc(d,m)}l=l.sibling}}var Hc=8192;function el(i,l,d){if(i.subtreeFlags&Hc)for(i=i.child;i!==null;)q1(i,l,d),i=i.sibling}function q1(i,l,d){switch(i.tag){case 26:el(i,l,d),i.flags&Hc&&i.memoizedState!==null&&w5(d,va,i.memoizedState,i.memoizedProps);break;case 5:el(i,l,d);break;case 3:case 4:var m=va;va=xf(i.stateNode.containerInfo),el(i,l,d),va=m;break;case 22:i.memoizedState===null&&(m=i.alternate,m!==null&&m.memoizedState!==null?(m=Hc,Hc=16777216,el(i,l,d),Hc=m):el(i,l,d));break;default:el(i,l,d)}}function W1(i){var l=i.alternate;if(l!==null&&(i=l.child,i!==null)){l.child=null;do l=i.sibling,i.sibling=null,i=l;while(i!==null)}}function qc(i){var l=i.deletions;if((i.flags&16)!==0){if(l!==null)for(var d=0;d<l.length;d++){var m=l[d];Hn=m,Z1(m,i)}W1(i)}if(i.subtreeFlags&10256)for(i=i.child;i!==null;)G1(i),i=i.sibling}function G1(i){switch(i.tag){case 0:case 11:case 15:qc(i),i.flags&2048&&qr(9,i,i.return);break;case 3:qc(i);break;case 12:qc(i);break;case 22:var l=i.stateNode;i.memoizedState!==null&&l._visibility&2&&(i.return===null||i.return.tag!==13)?(l._visibility&=-3,rf(i)):qc(i);break;default:qc(i)}}function rf(i){var l=i.deletions;if((i.flags&16)!==0){if(l!==null)for(var d=0;d<l.length;d++){var m=l[d];Hn=m,Z1(m,i)}W1(i)}for(i=i.child;i!==null;){switch(l=i,l.tag){case 0:case 11:case 15:qr(8,l,l.return),rf(l);break;case 22:d=l.stateNode,d._visibility&2&&(d._visibility&=-3,rf(l));break;default:rf(l)}i=i.sibling}}function Z1(i,l){for(;Hn!==null;){var d=Hn;switch(d.tag){case 0:case 11:case 15:qr(8,d,l);break;case 23:case 22:if(d.memoizedState!==null&&d.memoizedState.cachePool!==null){var m=d.memoizedState.cachePool.pool;m!=null&&m.refCount++}break;case 24:Tc(d.memoizedState.cache)}if(m=d.child,m!==null)m.return=d,Hn=m;else e:for(d=i;Hn!==null;){m=Hn;var b=m.sibling,j=m.return;if(L1(m),m===d){Hn=null;break e}if(b!==null){b.return=j,Hn=b;break e}Hn=j}}}var PD={getCacheForType:function(i){var l=Zn(Mn),d=l.data.get(i);return d===void 0&&(d=i(),l.data.set(i,d)),d},cacheSignal:function(){return Zn(Mn).controller.signal}},DD=typeof WeakMap=="function"?WeakMap:Map,Ut=0,Yt=null,Et=null,Rt=0,Ht=0,Os=null,Wr=!1,tl=!1,Kg=!1,br=0,jn=0,Gr=0,Ji=0,Yg=0,$s=0,nl=0,Wc=null,ws=null,Xg=!1,of=0,K1=0,lf=1/0,cf=null,Zr=null,zn=0,Kr=null,sl=null,wr=0,Jg=0,Qg=null,Y1=null,Gc=0,ev=null;function Ps(){return(Ut&2)!==0&&Rt!==0?Rt&-Rt:P.T!==null?iv():Es()}function X1(){if($s===0)if((Rt&536870912)===0||_t){var i=Pt;Pt<<=1,(Pt&3932160)===0&&(Pt=262144),$s=i}else $s=536870912;return i=Is.current,i!==null&&(i.flags|=32),$s}function js(i,l,d){(i===Yt&&(Ht===2||Ht===9)||i.cancelPendingCommit!==null)&&(al(i,0),Yr(i,Rt,$s,!1)),bn(i,d),((Ut&2)===0||i!==Yt)&&(i===Yt&&((Ut&2)===0&&(Ji|=d),jn===4&&Yr(i,Rt,$s,!1)),za(i))}function J1(i,l,d){if((Ut&6)!==0)throw Error(s(327));var m=!d&&(l&127)===0&&(l&i.expiredLanes)===0||We(i,l),b=m?BD(i,l):nv(i,l,!0),j=m;do{if(b===0){tl&&!m&&Yr(i,l,0,!1);break}else{if(d=i.current.alternate,j&&!LD(d)){b=nv(i,l,!1),j=!1;continue}if(b===2){if(j=l,i.errorRecoveryDisabledLanes&j)var I=0;else I=i.pendingLanes&-536870913,I=I!==0?I:I&536870912?536870912:0;if(I!==0){l=I;e:{var B=i;b=Wc;var Y=B.current.memoizedState.isDehydrated;if(Y&&(al(B,I).flags|=256),I=nv(B,I,!1),I!==2){if(Kg&&!Y){B.errorRecoveryDisabledLanes|=j,Ji|=j,b=4;break e}j=ws,ws=b,j!==null&&(ws===null?ws=j:ws.push.apply(ws,j))}b=I}if(j=!1,b!==2)continue}}if(b===1){al(i,0),Yr(i,l,0,!0);break}e:{switch(m=i,j=b,j){case 0:case 1:throw Error(s(345));case 4:if((l&4194048)!==l)break;case 6:Yr(m,l,$s,!Wr);break e;case 2:ws=null;break;case 3:case 5:break;default:throw Error(s(329))}if((l&62914560)===l&&(b=of+300-Be(),10<b)){if(Yr(m,l,$s,!Wr),he(m,0,!0)!==0)break e;wr=l,m.timeoutHandle=Ak(Q1.bind(null,m,d,ws,cf,Xg,l,$s,Ji,nl,Wr,j,"Throttled",-0,0),b);break e}Q1(m,d,ws,cf,Xg,l,$s,Ji,nl,Wr,j,null,-0,0)}}break}while(!0);za(i)}function Q1(i,l,d,m,b,j,I,B,Y,le,xe,ke,ce,me){if(i.timeoutHandle=-1,ke=l.subtreeFlags,ke&8192||(ke&16785408)===16785408){ke={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ir},q1(l,j,ke);var Ge=(j&62914560)===j?of-Be():(j&4194048)===j?K1-Be():0;if(Ge=j5(ke,Ge),Ge!==null){wr=j,i.cancelPendingCommit=Ge(ok.bind(null,i,l,j,d,m,b,I,B,Y,xe,ke,null,ce,me)),Yr(i,j,I,!le);return}}ok(i,l,j,d,m,b,I,B,Y)}function LD(i){for(var l=i;;){var d=l.tag;if((d===0||d===11||d===15)&&l.flags&16384&&(d=l.updateQueue,d!==null&&(d=d.stores,d!==null)))for(var m=0;m<d.length;m++){var b=d[m],j=b.getSnapshot;b=b.value;try{if(!Ms(j(),b))return!1}catch{return!1}}if(d=l.child,l.subtreeFlags&16384&&d!==null)d.return=l,l=d;else{if(l===i)break;for(;l.sibling===null;){if(l.return===null||l.return===i)return!0;l=l.return}l.sibling.return=l.return,l=l.sibling}}return!0}function Yr(i,l,d,m){l&=~Yg,l&=~Ji,i.suspendedLanes|=l,i.pingedLanes&=~l,m&&(i.warmLanes|=l),m=i.expirationTimes;for(var b=l;0<b;){var j=31-De(b),I=1<<j;m[j]=-1,b&=~I}d!==0&&nn(i,d,l)}function uf(){return(Ut&6)===0?(Zc(0),!1):!0}function tv(){if(Et!==null){if(Ht===0)var i=Et.return;else i=Et,ur=Fi=null,vg(i),Zo=null,Mc=0,i=Et;for(;i!==null;)M1(i.alternate,i),i=i.return;Et=null}}function al(i,l){var d=i.timeoutHandle;d!==-1&&(i.timeoutHandle=-1,a5(d)),d=i.cancelPendingCommit,d!==null&&(i.cancelPendingCommit=null,d()),wr=0,tv(),Yt=i,Et=d=lr(i.current,null),Rt=l,Ht=0,Os=null,Wr=!1,tl=We(i,l),Kg=!1,nl=$s=Yg=Ji=Gr=jn=0,ws=Wc=null,Xg=!1,(l&8)!==0&&(l|=l&32);var m=i.entangledLanes;if(m!==0)for(i=i.entanglements,m&=l;0<m;){var b=31-De(m),j=1<<b;l|=i[b],m&=~j}return br=l,Md(),d}function ek(i,l){bt=null,P.H=Lc,l===Go||l===Ld?(l=gj(),Ht=3):l===rg?(l=gj(),Ht=4):Ht=l===_g?8:l!==null&&typeof l=="object"&&typeof l.then=="function"?6:1,Os=l,Et===null&&(jn=1,Jd(i,Ks(l,i.current)))}function tk(){var i=Is.current;return i===null?!0:(Rt&4194048)===Rt?Qs===null:(Rt&62914560)===Rt||(Rt&536870912)!==0?i===Qs:!1}function nk(){var i=P.H;return P.H=Lc,i===null?Lc:i}function sk(){var i=P.A;return P.A=PD,i}function df(){jn=4,Wr||(Rt&4194048)!==Rt&&Is.current!==null||(tl=!0),(Gr&134217727)===0&&(Ji&134217727)===0||Yt===null||Yr(Yt,Rt,$s,!1)}function nv(i,l,d){var m=Ut;Ut|=2;var b=nk(),j=sk();(Yt!==i||Rt!==l)&&(cf=null,al(i,l)),l=!1;var I=jn;e:do try{if(Ht!==0&&Et!==null){var B=Et,Y=Os;switch(Ht){case 8:tv(),I=6;break e;case 3:case 2:case 9:case 6:Is.current===null&&(l=!0);var le=Ht;if(Ht=0,Os=null,rl(i,B,Y,le),d&&tl){I=0;break e}break;default:le=Ht,Ht=0,Os=null,rl(i,B,Y,le)}}zD(),I=jn;break}catch(xe){ek(i,xe)}while(!0);return l&&i.shellSuspendCounter++,ur=Fi=null,Ut=m,P.H=b,P.A=j,Et===null&&(Yt=null,Rt=0,Md()),I}function zD(){for(;Et!==null;)ak(Et)}function BD(i,l){var d=Ut;Ut|=2;var m=nk(),b=sk();Yt!==i||Rt!==l?(cf=null,lf=Be()+500,al(i,l)):tl=We(i,l);e:do try{if(Ht!==0&&Et!==null){l=Et;var j=Os;t:switch(Ht){case 1:Ht=0,Os=null,rl(i,l,j,1);break;case 2:case 9:if(mj(j)){Ht=0,Os=null,rk(l);break}l=function(){Ht!==2&&Ht!==9||Yt!==i||(Ht=7),za(i)},j.then(l,l);break e;case 3:Ht=7;break e;case 4:Ht=5;break e;case 7:mj(j)?(Ht=0,Os=null,rk(l)):(Ht=0,Os=null,rl(i,l,j,7));break;case 5:var I=null;switch(Et.tag){case 26:I=Et.memoizedState;case 5:case 27:var B=Et;if(I?Hk(I):B.stateNode.complete){Ht=0,Os=null;var Y=B.sibling;if(Y!==null)Et=Y;else{var le=B.return;le!==null?(Et=le,ff(le)):Et=null}break t}}Ht=0,Os=null,rl(i,l,j,5);break;case 6:Ht=0,Os=null,rl(i,l,j,6);break;case 8:tv(),jn=6;break e;default:throw Error(s(462))}}UD();break}catch(xe){ek(i,xe)}while(!0);return ur=Fi=null,P.H=m,P.A=b,Ut=d,Et!==null?0:(Yt=null,Rt=0,Md(),jn)}function UD(){for(;Et!==null&&!Ue();)ak(Et)}function ak(i){var l=T1(i.alternate,i,br);i.memoizedProps=i.pendingProps,l===null?ff(i):Et=l}function rk(i){var l=i,d=l.alternate;switch(l.tag){case 15:case 0:l=j1(d,l,l.pendingProps,l.type,void 0,Rt);break;case 11:l=j1(d,l,l.pendingProps,l.type.render,l.ref,Rt);break;case 5:vg(l);default:M1(d,l),l=Et=sj(l,br),l=T1(d,l,br)}i.memoizedProps=i.pendingProps,l===null?ff(i):Et=l}function rl(i,l,d,m){ur=Fi=null,vg(l),Zo=null,Mc=0;var b=l.return;try{if(AD(i,b,l,d,Rt)){jn=1,Jd(i,Ks(d,i.current)),Et=null;return}}catch(j){if(b!==null)throw Et=b,j;jn=1,Jd(i,Ks(d,i.current)),Et=null;return}l.flags&32768?(_t||m===1?i=!0:tl||(Rt&536870912)!==0?i=!1:(Wr=i=!0,(m===2||m===9||m===3||m===6)&&(m=Is.current,m!==null&&m.tag===13&&(m.flags|=16384))),ik(l,i)):ff(l)}function ff(i){var l=i;do{if((l.flags&32768)!==0){ik(l,Wr);return}i=l.return;var d=ID(l.alternate,l,br);if(d!==null){Et=d;return}if(l=l.sibling,l!==null){Et=l;return}Et=l=i}while(l!==null);jn===0&&(jn=5)}function ik(i,l){do{var d=_D(i.alternate,i);if(d!==null){d.flags&=32767,Et=d;return}if(d=i.return,d!==null&&(d.flags|=32768,d.subtreeFlags=0,d.deletions=null),!l&&(i=i.sibling,i!==null)){Et=i;return}Et=i=d}while(i!==null);jn=6,Et=null}function ok(i,l,d,m,b,j,I,B,Y){i.cancelPendingCommit=null;do hf();while(zn!==0);if((Ut&6)!==0)throw Error(s(327));if(l!==null){if(l===i.current)throw Error(s(177));if(j=l.lanes|l.childLanes,j|=Hp,Vn(i,d,j,I,B,Y),i===Yt&&(Et=Yt=null,Rt=0),sl=l,Kr=i,wr=d,Jg=j,Qg=b,Y1=m,(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?(i.callbackNode=null,i.callbackPriority=0,qD(rt,function(){return fk(),null})):(i.callbackNode=null,i.callbackPriority=0),m=(l.flags&13878)!==0,(l.subtreeFlags&13878)!==0||m){m=P.T,P.T=null,b=H.p,H.p=2,I=Ut,Ut|=4;try{OD(i,l,d)}finally{Ut=I,H.p=b,P.T=m}}zn=1,lk(),ck(),uk()}}function lk(){if(zn===1){zn=0;var i=Kr,l=sl,d=(l.flags&13878)!==0;if((l.subtreeFlags&13878)!==0||d){d=P.T,P.T=null;var m=H.p;H.p=2;var b=Ut;Ut|=4;try{V1(l,i);var j=mv,I=Zw(i.containerInfo),B=j.focusedElem,Y=j.selectionRange;if(I!==B&&B&&B.ownerDocument&&Gw(B.ownerDocument.documentElement,B)){if(Y!==null&&zp(B)){var le=Y.start,xe=Y.end;if(xe===void 0&&(xe=le),"selectionStart"in B)B.selectionStart=le,B.selectionEnd=Math.min(xe,B.value.length);else{var ke=B.ownerDocument||document,ce=ke&&ke.defaultView||window;if(ce.getSelection){var me=ce.getSelection(),Ge=B.textContent.length,lt=Math.min(Y.start,Ge),Kt=Y.end===void 0?lt:Math.min(Y.end,Ge);!me.extend&<>Kt&&(I=Kt,Kt=lt,lt=I);var se=Ww(B,lt),te=Ww(B,Kt);if(se&&te&&(me.rangeCount!==1||me.anchorNode!==se.node||me.anchorOffset!==se.offset||me.focusNode!==te.node||me.focusOffset!==te.offset)){var oe=ke.createRange();oe.setStart(se.node,se.offset),me.removeAllRanges(),lt>Kt?(me.addRange(oe),me.extend(te.node,te.offset)):(oe.setEnd(te.node,te.offset),me.addRange(oe))}}}}for(ke=[],me=B;me=me.parentNode;)me.nodeType===1&&ke.push({element:me,left:me.scrollLeft,top:me.scrollTop});for(typeof B.focus=="function"&&B.focus(),B=0;B<ke.length;B++){var we=ke[B];we.element.scrollLeft=we.left,we.element.scrollTop=we.top}}Sf=!!hv,mv=hv=null}finally{Ut=b,H.p=m,P.T=d}}i.current=l,zn=2}}function ck(){if(zn===2){zn=0;var i=Kr,l=sl,d=(l.flags&8772)!==0;if((l.subtreeFlags&8772)!==0||d){d=P.T,P.T=null;var m=H.p;H.p=2;var b=Ut;Ut|=4;try{D1(i,l.alternate,l)}finally{Ut=b,H.p=m,P.T=d}}zn=3}}function uk(){if(zn===4||zn===3){zn=0,Ie();var i=Kr,l=sl,d=wr,m=Y1;(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?zn=5:(zn=0,sl=Kr=null,dk(i,i.pendingLanes));var b=i.pendingLanes;if(b===0&&(Zr=null),Wn(d),l=l.stateNode,ue&&typeof ue.onCommitFiberRoot=="function")try{ue.onCommitFiberRoot(Qe,l,void 0,(l.current.flags&128)===128)}catch{}if(m!==null){l=P.T,b=H.p,H.p=2,P.T=null;try{for(var j=i.onRecoverableError,I=0;I<m.length;I++){var B=m[I];j(B.value,{componentStack:B.stack})}}finally{P.T=l,H.p=b}}(wr&3)!==0&&hf(),za(i),b=i.pendingLanes,(d&261930)!==0&&(b&42)!==0?i===ev?Gc++:(Gc=0,ev=i):Gc=0,Zc(0)}}function dk(i,l){(i.pooledCacheLanes&=l)===0&&(l=i.pooledCache,l!=null&&(i.pooledCache=null,Tc(l)))}function hf(){return lk(),ck(),uk(),fk()}function fk(){if(zn!==5)return!1;var i=Kr,l=Jg;Jg=0;var d=Wn(wr),m=P.T,b=H.p;try{H.p=32>d?32:d,P.T=null,d=Qg,Qg=null;var j=Kr,I=wr;if(zn=0,sl=Kr=null,wr=0,(Ut&6)!==0)throw Error(s(331));var B=Ut;if(Ut|=4,G1(j.current),H1(j,j.current,I,d),Ut=B,Zc(0,!1),ue&&typeof ue.onPostCommitFiberRoot=="function")try{ue.onPostCommitFiberRoot(Qe,j)}catch{}return!0}finally{H.p=b,P.T=m,dk(i,l)}}function hk(i,l,d){l=Ks(d,l),l=Ig(i.stateNode,l,2),i=Vr(i,l,2),i!==null&&(bn(i,2),za(i))}function qt(i,l,d){if(i.tag===3)hk(i,i,d);else for(;l!==null;){if(l.tag===3){hk(l,i,d);break}else if(l.tag===1){var m=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof m.componentDidCatch=="function"&&(Zr===null||!Zr.has(m))){i=Ks(d,i),d=m1(2),m=Vr(l,d,2),m!==null&&(p1(d,m,l,i),bn(m,2),za(m));break}}l=l.return}}function sv(i,l,d){var m=i.pingCache;if(m===null){m=i.pingCache=new DD;var b=new Set;m.set(l,b)}else b=m.get(l),b===void 0&&(b=new Set,m.set(l,b));b.has(d)||(Kg=!0,b.add(d),i=VD.bind(null,i,l,d),l.then(i,i))}function VD(i,l,d){var m=i.pingCache;m!==null&&m.delete(l),i.pingedLanes|=i.suspendedLanes&d,i.warmLanes&=~d,Yt===i&&(Rt&d)===d&&(jn===4||jn===3&&(Rt&62914560)===Rt&&300>Be()-of?(Ut&2)===0&&al(i,0):Yg|=d,nl===Rt&&(nl=0)),za(i)}function mk(i,l){l===0&&(l=it()),i=Bi(i,l),i!==null&&(bn(i,l),za(i))}function FD(i){var l=i.memoizedState,d=0;l!==null&&(d=l.retryLane),mk(i,d)}function HD(i,l){var d=0;switch(i.tag){case 31:case 13:var m=i.stateNode,b=i.memoizedState;b!==null&&(d=b.retryLane);break;case 19:m=i.stateNode;break;case 22:m=i.stateNode._retryCache;break;default:throw Error(s(314))}m!==null&&m.delete(l),mk(i,d)}function qD(i,l){return nt(i,l)}var mf=null,il=null,av=!1,pf=!1,rv=!1,Xr=0;function za(i){i!==il&&i.next===null&&(il===null?mf=il=i:il=il.next=i),pf=!0,av||(av=!0,GD())}function Zc(i,l){if(!rv&&pf){rv=!0;do for(var d=!1,m=mf;m!==null;){if(i!==0){var b=m.pendingLanes;if(b===0)var j=0;else{var I=m.suspendedLanes,B=m.pingedLanes;j=(1<<31-De(42|i)+1)-1,j&=b&~(I&~B),j=j&201326741?j&201326741|1:j?j|2:0}j!==0&&(d=!0,yk(m,j))}else j=Rt,j=he(m,m===Yt?j:0,m.cancelPendingCommit!==null||m.timeoutHandle!==-1),(j&3)===0||We(m,j)||(d=!0,yk(m,j));m=m.next}while(d);rv=!1}}function WD(){pk()}function pk(){pf=av=!1;var i=0;Xr!==0&&s5()&&(i=Xr);for(var l=Be(),d=null,m=mf;m!==null;){var b=m.next,j=gk(m,l);j===0?(m.next=null,d===null?mf=b:d.next=b,b===null&&(il=d)):(d=m,(i!==0||(j&3)!==0)&&(pf=!0)),m=b}zn!==0&&zn!==5||Zc(i),Xr!==0&&(Xr=0)}function gk(i,l){for(var d=i.suspendedLanes,m=i.pingedLanes,b=i.expirationTimes,j=i.pendingLanes&-62914561;0<j;){var I=31-De(j),B=1<<I,Y=b[I];Y===-1?((B&d)===0||(B&m)!==0)&&(b[I]=Ve(B,l)):Y<=l&&(i.expiredLanes|=B),j&=~B}if(l=Yt,d=Rt,d=he(i,i===l?d:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),m=i.callbackNode,d===0||i===l&&(Ht===2||Ht===9)||i.cancelPendingCommit!==null)return m!==null&&m!==null&&Re(m),i.callbackNode=null,i.callbackPriority=0;if((d&3)===0||We(i,d)){if(l=d&-d,l===i.callbackPriority)return l;switch(m!==null&&Re(m),Wn(d)){case 2:case 8:d=ut;break;case 32:d=rt;break;case 268435456:d=ie;break;default:d=rt}return m=vk.bind(null,i),d=nt(d,m),i.callbackPriority=l,i.callbackNode=d,l}return m!==null&&m!==null&&Re(m),i.callbackPriority=2,i.callbackNode=null,2}function vk(i,l){if(zn!==0&&zn!==5)return i.callbackNode=null,i.callbackPriority=0,null;var d=i.callbackNode;if(hf()&&i.callbackNode!==d)return null;var m=Rt;return m=he(i,i===Yt?m:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),m===0?null:(J1(i,m,l),gk(i,Be()),i.callbackNode!=null&&i.callbackNode===d?vk.bind(null,i):null)}function yk(i,l){if(hf())return null;J1(i,l,!0)}function GD(){r5(function(){(Ut&6)!==0?nt(at,WD):pk()})}function iv(){if(Xr===0){var i=qo;i===0&&(i=Ct,Ct<<=1,(Ct&261888)===0&&(Ct=256)),Xr=i}return Xr}function xk(i){return i==null||typeof i=="symbol"||typeof i=="boolean"?null:typeof i=="function"?i:jd(""+i)}function bk(i,l){var d=l.ownerDocument.createElement("input");return d.name=l.name,d.value=l.value,i.id&&d.setAttribute("form",i.id),l.parentNode.insertBefore(d,l),i=new FormData(i),d.parentNode.removeChild(d),i}function ZD(i,l,d,m,b){if(l==="submit"&&d&&d.stateNode===b){var j=xk((b[Sn]||null).action),I=m.submitter;I&&(l=(l=I[Sn]||null)?xk(l.formAction):I.getAttribute("formAction"),l!==null&&(j=l,I=null));var B=new Cd("action","action",null,m,b);i.push({event:B,listeners:[{instance:null,listener:function(){if(m.defaultPrevented){if(Xr!==0){var Y=I?bk(b,I):new FormData(b);Cg(d,{pending:!0,data:Y,method:b.method,action:j},null,Y)}}else typeof j=="function"&&(B.preventDefault(),Y=I?bk(b,I):new FormData(b),Cg(d,{pending:!0,data:Y,method:b.method,action:j},j,Y))},currentTarget:b}]})}}for(var ov=0;ov<Fp.length;ov++){var lv=Fp[ov],KD=lv.toLowerCase(),YD=lv[0].toUpperCase()+lv.slice(1);ga(KD,"on"+YD)}ga(Xw,"onAnimationEnd"),ga(Jw,"onAnimationIteration"),ga(Qw,"onAnimationStart"),ga("dblclick","onDoubleClick"),ga("focusin","onFocus"),ga("focusout","onBlur"),ga(fD,"onTransitionRun"),ga(hD,"onTransitionStart"),ga(mD,"onTransitionCancel"),ga(ej,"onTransitionEnd"),Oa("onMouseEnter",["mouseout","mouseover"]),Oa("onMouseLeave",["mouseout","mouseover"]),Oa("onPointerEnter",["pointerout","pointerover"]),Oa("onPointerLeave",["pointerout","pointerover"]),pa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),pa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),pa("onBeforeInput",["compositionend","keypress","textInput","paste"]),pa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),pa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),pa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Kc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),XD=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Kc));function wk(i,l){l=(l&4)!==0;for(var d=0;d<i.length;d++){var m=i[d],b=m.event;m=m.listeners;e:{var j=void 0;if(l)for(var I=m.length-1;0<=I;I--){var B=m[I],Y=B.instance,le=B.currentTarget;if(B=B.listener,Y!==j&&b.isPropagationStopped())break e;j=B,b.currentTarget=le;try{j(b)}catch(xe){Ad(xe)}b.currentTarget=null,j=Y}else for(I=0;I<m.length;I++){if(B=m[I],Y=B.instance,le=B.currentTarget,B=B.listener,Y!==j&&b.isPropagationStopped())break e;j=B,b.currentTarget=le;try{j(b)}catch(xe){Ad(xe)}b.currentTarget=null,j=Y}}}}function Tt(i,l){var d=l[fa];d===void 0&&(d=l[fa]=new Set);var m=i+"__bubble";d.has(m)||(jk(l,i,2,!1),d.add(m))}function cv(i,l,d){var m=0;l&&(m|=4),jk(d,i,m,l)}var gf="_reactListening"+Math.random().toString(36).slice(2);function uv(i){if(!i[gf]){i[gf]=!0,gs.forEach(function(d){d!=="selectionchange"&&(XD.has(d)||cv(d,!1,i),cv(d,!0,i))});var l=i.nodeType===9?i:i.ownerDocument;l===null||l[gf]||(l[gf]=!0,cv("selectionchange",!1,l))}}function jk(i,l,d,m){switch(Xk(l)){case 2:var b=S5;break;case 8:b=C5;break;default:b=Sv}d=b.bind(null,l,d,i),b=void 0,!Mp||l!=="touchstart"&&l!=="touchmove"&&l!=="wheel"||(b=!0),m?b!==void 0?i.addEventListener(l,d,{capture:!0,passive:b}):i.addEventListener(l,d,!0):b!==void 0?i.addEventListener(l,d,{passive:b}):i.addEventListener(l,d,!1)}function dv(i,l,d,m,b){var j=m;if((l&1)===0&&(l&2)===0&&m!==null)e:for(;;){if(m===null)return;var I=m.tag;if(I===3||I===4){var B=m.stateNode.containerInfo;if(B===b)break;if(I===4)for(I=m.return;I!==null;){var Y=I.tag;if((Y===3||Y===4)&&I.stateNode.containerInfo===b)return;I=I.return}for(;B!==null;){if(I=Ts(B),I===null)return;if(Y=I.tag,Y===5||Y===6||Y===26||Y===27){m=j=I;continue e}B=B.parentNode}}m=m.return}Ew(function(){var le=j,xe=Tp(d),ke=[];e:{var ce=tj.get(i);if(ce!==void 0){var me=Cd,Ge=i;switch(i){case"keypress":if(Nd(d)===0)break e;case"keydown":case"keyup":me=HP;break;case"focusin":Ge="focus",me=Op;break;case"focusout":Ge="blur",me=Op;break;case"beforeblur":case"afterblur":me=Op;break;case"click":if(d.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":me=Mw;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":me=IP;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":me=GP;break;case Xw:case Jw:case Qw:me=$P;break;case ej:me=KP;break;case"scroll":case"scrollend":me=MP;break;case"wheel":me=XP;break;case"copy":case"cut":case"paste":me=DP;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":me=Iw;break;case"toggle":case"beforetoggle":me=QP}var lt=(l&4)!==0,Kt=!lt&&(i==="scroll"||i==="scrollend"),se=lt?ce!==null?ce+"Capture":null:ce;lt=[];for(var te=le,oe;te!==null;){var we=te;if(oe=we.stateNode,we=we.tag,we!==5&&we!==26&&we!==27||oe===null||se===null||(we=vc(te,se),we!=null&<.push(Yc(te,we,oe))),Kt)break;te=te.return}0<lt.length&&(ce=new me(ce,Ge,null,d,xe),ke.push({event:ce,listeners:lt}))}}if((l&7)===0){e:{if(ce=i==="mouseover"||i==="pointerover",me=i==="mouseout"||i==="pointerout",ce&&d!==Ep&&(Ge=d.relatedTarget||d.fromElement)&&(Ts(Ge)||Ge[Ia]))break e;if((me||ce)&&(ce=xe.window===xe?xe:(ce=xe.ownerDocument)?ce.defaultView||ce.parentWindow:window,me?(Ge=d.relatedTarget||d.toElement,me=le,Ge=Ge?Ts(Ge):null,Ge!==null&&(Kt=o(Ge),lt=Ge.tag,Ge!==Kt||lt!==5&<!==27&<!==6)&&(Ge=null)):(me=null,Ge=le),me!==Ge)){if(lt=Mw,we="onMouseLeave",se="onMouseEnter",te="mouse",(i==="pointerout"||i==="pointerover")&&(lt=Iw,we="onPointerLeave",se="onPointerEnter",te="pointer"),Kt=me==null?ce:ma(me),oe=Ge==null?ce:ma(Ge),ce=new lt(we,te+"leave",me,d,xe),ce.target=Kt,ce.relatedTarget=oe,we=null,Ts(xe)===le&&(lt=new lt(se,te+"enter",Ge,d,xe),lt.target=oe,lt.relatedTarget=Kt,we=lt),Kt=we,me&&Ge)t:{for(lt=JD,se=me,te=Ge,oe=0,we=se;we;we=lt(we))oe++;we=0;for(var st=te;st;st=lt(st))we++;for(;0<oe-we;)se=lt(se),oe--;for(;0<we-oe;)te=lt(te),we--;for(;oe--;){if(se===te||te!==null&&se===te.alternate){lt=se;break t}se=lt(se),te=lt(te)}lt=null}else lt=null;me!==null&&kk(ke,ce,me,lt,!1),Ge!==null&&Kt!==null&&kk(ke,Kt,Ge,lt,!0)}}e:{if(ce=le?ma(le):window,me=ce.nodeName&&ce.nodeName.toLowerCase(),me==="select"||me==="input"&&ce.type==="file")var Dt=Bw;else if(Lw(ce))if(Uw)Dt=cD;else{Dt=oD;var Ye=iD}else me=ce.nodeName,!me||me.toLowerCase()!=="input"||ce.type!=="checkbox"&&ce.type!=="radio"?le&&Cp(le.elementType)&&(Dt=Bw):Dt=lD;if(Dt&&(Dt=Dt(i,le))){zw(ke,Dt,d,xe);break e}Ye&&Ye(i,ce,le),i==="focusout"&&le&&ce.type==="number"&&le.memoizedProps.value!=null&&Vt(ce,"number",ce.value)}switch(Ye=le?ma(le):window,i){case"focusin":(Lw(Ye)||Ye.contentEditable==="true")&&(Do=Ye,Bp=le,Sc=null);break;case"focusout":Sc=Bp=Do=null;break;case"mousedown":Up=!0;break;case"contextmenu":case"mouseup":case"dragend":Up=!1,Kw(ke,d,xe);break;case"selectionchange":if(dD)break;case"keydown":case"keyup":Kw(ke,d,xe)}var wt;if(Pp)e:{switch(i){case"compositionstart":var It="onCompositionStart";break e;case"compositionend":It="onCompositionEnd";break e;case"compositionupdate":It="onCompositionUpdate";break e}It=void 0}else Po?Pw(i,d)&&(It="onCompositionEnd"):i==="keydown"&&d.keyCode===229&&(It="onCompositionStart");It&&(_w&&d.locale!=="ko"&&(Po||It!=="onCompositionStart"?It==="onCompositionEnd"&&Po&&(wt=Tw()):($r=xe,Rp="value"in $r?$r.value:$r.textContent,Po=!0)),Ye=vf(le,It),0<Ye.length&&(It=new Rw(It,i,null,d,xe),ke.push({event:It,listeners:Ye}),wt?It.data=wt:(wt=Dw(d),wt!==null&&(It.data=wt)))),(wt=tD?nD(i,d):sD(i,d))&&(It=vf(le,"onBeforeInput"),0<It.length&&(Ye=new Rw("onBeforeInput","beforeinput",null,d,xe),ke.push({event:Ye,listeners:It}),Ye.data=wt)),ZD(ke,i,le,d,xe)}wk(ke,l)})}function Yc(i,l,d){return{instance:i,listener:l,currentTarget:d}}function vf(i,l){for(var d=l+"Capture",m=[];i!==null;){var b=i,j=b.stateNode;if(b=b.tag,b!==5&&b!==26&&b!==27||j===null||(b=vc(i,d),b!=null&&m.unshift(Yc(i,b,j)),b=vc(i,l),b!=null&&m.push(Yc(i,b,j))),i.tag===3)return m;i=i.return}return[]}function JD(i){if(i===null)return null;do i=i.return;while(i&&i.tag!==5&&i.tag!==27);return i||null}function kk(i,l,d,m,b){for(var j=l._reactName,I=[];d!==null&&d!==m;){var B=d,Y=B.alternate,le=B.stateNode;if(B=B.tag,Y!==null&&Y===m)break;B!==5&&B!==26&&B!==27||le===null||(Y=le,b?(le=vc(d,j),le!=null&&I.unshift(Yc(d,le,Y))):b||(le=vc(d,j),le!=null&&I.push(Yc(d,le,Y)))),d=d.return}I.length!==0&&i.push({event:l,listeners:I})}var QD=/\r\n?/g,e5=/\u0000|\uFFFD/g;function Nk(i){return(typeof i=="string"?i:""+i).replace(QD,`
|
|
9
|
+
`).replace(e5,"")}function Sk(i,l){return l=Nk(l),Nk(i)===l}function Zt(i,l,d,m,b,j){switch(d){case"children":typeof m=="string"?l==="body"||l==="textarea"&&m===""||_o(i,m):(typeof m=="number"||typeof m=="bigint")&&l!=="body"&&_o(i,""+m);break;case"className":Se(i,"class",m);break;case"tabIndex":Se(i,"tabindex",m);break;case"dir":case"role":case"viewBox":case"width":case"height":Se(i,d,m);break;case"style":Sw(i,m,j);break;case"data":if(l!=="object"){Se(i,"data",m);break}case"src":case"href":if(m===""&&(l!=="a"||d!=="href")){i.removeAttribute(d);break}if(m==null||typeof m=="function"||typeof m=="symbol"||typeof m=="boolean"){i.removeAttribute(d);break}m=jd(""+m),i.setAttribute(d,m);break;case"action":case"formAction":if(typeof m=="function"){i.setAttribute(d,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof j=="function"&&(d==="formAction"?(l!=="input"&&Zt(i,l,"name",b.name,b,null),Zt(i,l,"formEncType",b.formEncType,b,null),Zt(i,l,"formMethod",b.formMethod,b,null),Zt(i,l,"formTarget",b.formTarget,b,null)):(Zt(i,l,"encType",b.encType,b,null),Zt(i,l,"method",b.method,b,null),Zt(i,l,"target",b.target,b,null)));if(m==null||typeof m=="symbol"||typeof m=="boolean"){i.removeAttribute(d);break}m=jd(""+m),i.setAttribute(d,m);break;case"onClick":m!=null&&(i.onclick=ir);break;case"onScroll":m!=null&&Tt("scroll",i);break;case"onScrollEnd":m!=null&&Tt("scrollend",i);break;case"dangerouslySetInnerHTML":if(m!=null){if(typeof m!="object"||!("__html"in m))throw Error(s(61));if(d=m.__html,d!=null){if(b.children!=null)throw Error(s(60));i.innerHTML=d}}break;case"multiple":i.multiple=m&&typeof m!="function"&&typeof m!="symbol";break;case"muted":i.muted=m&&typeof m!="function"&&typeof m!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(m==null||typeof m=="function"||typeof m=="boolean"||typeof m=="symbol"){i.removeAttribute("xlink:href");break}d=jd(""+m),i.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",d);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":m!=null&&typeof m!="function"&&typeof m!="symbol"?i.setAttribute(d,""+m):i.removeAttribute(d);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":m&&typeof m!="function"&&typeof m!="symbol"?i.setAttribute(d,""):i.removeAttribute(d);break;case"capture":case"download":m===!0?i.setAttribute(d,""):m!==!1&&m!=null&&typeof m!="function"&&typeof m!="symbol"?i.setAttribute(d,m):i.removeAttribute(d);break;case"cols":case"rows":case"size":case"span":m!=null&&typeof m!="function"&&typeof m!="symbol"&&!isNaN(m)&&1<=m?i.setAttribute(d,m):i.removeAttribute(d);break;case"rowSpan":case"start":m==null||typeof m=="function"||typeof m=="symbol"||isNaN(m)?i.removeAttribute(d):i.setAttribute(d,m);break;case"popover":Tt("beforetoggle",i),Tt("toggle",i),ve(i,"popover",m);break;case"xlinkActuate":tt(i,"http://www.w3.org/1999/xlink","xlink:actuate",m);break;case"xlinkArcrole":tt(i,"http://www.w3.org/1999/xlink","xlink:arcrole",m);break;case"xlinkRole":tt(i,"http://www.w3.org/1999/xlink","xlink:role",m);break;case"xlinkShow":tt(i,"http://www.w3.org/1999/xlink","xlink:show",m);break;case"xlinkTitle":tt(i,"http://www.w3.org/1999/xlink","xlink:title",m);break;case"xlinkType":tt(i,"http://www.w3.org/1999/xlink","xlink:type",m);break;case"xmlBase":tt(i,"http://www.w3.org/XML/1998/namespace","xml:base",m);break;case"xmlLang":tt(i,"http://www.w3.org/XML/1998/namespace","xml:lang",m);break;case"xmlSpace":tt(i,"http://www.w3.org/XML/1998/namespace","xml:space",m);break;case"is":ve(i,"is",m);break;case"innerText":case"textContent":break;default:(!(2<d.length)||d[0]!=="o"&&d[0]!=="O"||d[1]!=="n"&&d[1]!=="N")&&(d=TP.get(d)||d,ve(i,d,m))}}function fv(i,l,d,m,b,j){switch(d){case"style":Sw(i,m,j);break;case"dangerouslySetInnerHTML":if(m!=null){if(typeof m!="object"||!("__html"in m))throw Error(s(61));if(d=m.__html,d!=null){if(b.children!=null)throw Error(s(60));i.innerHTML=d}}break;case"children":typeof m=="string"?_o(i,m):(typeof m=="number"||typeof m=="bigint")&&_o(i,""+m);break;case"onScroll":m!=null&&Tt("scroll",i);break;case"onScrollEnd":m!=null&&Tt("scrollend",i);break;case"onClick":m!=null&&(i.onclick=ir);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Or.hasOwnProperty(d))e:{if(d[0]==="o"&&d[1]==="n"&&(b=d.endsWith("Capture"),l=d.slice(2,b?d.length-7:void 0),j=i[Sn]||null,j=j!=null?j[d]:null,typeof j=="function"&&i.removeEventListener(l,j,b),typeof m=="function")){typeof j!="function"&&j!==null&&(d in i?i[d]=null:i.hasAttribute(d)&&i.removeAttribute(d)),i.addEventListener(l,m,b);break e}d in i?i[d]=m:m===!0?i.setAttribute(d,""):ve(i,d,m)}}}function Yn(i,l,d){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Tt("error",i),Tt("load",i);var m=!1,b=!1,j;for(j in d)if(d.hasOwnProperty(j)){var I=d[j];if(I!=null)switch(j){case"src":m=!0;break;case"srcSet":b=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,l));default:Zt(i,l,j,I,d,null)}}b&&Zt(i,l,"srcSet",d.srcSet,d,null),m&&Zt(i,l,"src",d.src,d,null);return;case"input":Tt("invalid",i);var B=j=I=b=null,Y=null,le=null;for(m in d)if(d.hasOwnProperty(m)){var xe=d[m];if(xe!=null)switch(m){case"name":b=xe;break;case"type":I=xe;break;case"checked":Y=xe;break;case"defaultChecked":le=xe;break;case"value":j=xe;break;case"defaultValue":B=xe;break;case"children":case"dangerouslySetInnerHTML":if(xe!=null)throw Error(s(137,l));break;default:Zt(i,l,m,xe,d,null)}}$a(i,j,B,Y,le,I,b,!1);return;case"select":Tt("invalid",i),m=I=j=null;for(b in d)if(d.hasOwnProperty(b)&&(B=d[b],B!=null))switch(b){case"value":j=B;break;case"defaultValue":I=B;break;case"multiple":m=B;default:Zt(i,l,b,B,d,null)}l=j,d=I,i.multiple=!!m,l!=null?gn(i,!!m,l,!1):d!=null&&gn(i,!!m,d,!0);return;case"textarea":Tt("invalid",i),j=b=m=null;for(I in d)if(d.hasOwnProperty(I)&&(B=d[I],B!=null))switch(I){case"value":m=B;break;case"defaultValue":b=B;break;case"children":j=B;break;case"dangerouslySetInnerHTML":if(B!=null)throw Error(s(91));break;default:Zt(i,l,I,B,d,null)}wd(i,m,b,j);return;case"option":for(Y in d)d.hasOwnProperty(Y)&&(m=d[Y],m!=null)&&(Y==="selected"?i.selected=m&&typeof m!="function"&&typeof m!="symbol":Zt(i,l,Y,m,d,null));return;case"dialog":Tt("beforetoggle",i),Tt("toggle",i),Tt("cancel",i),Tt("close",i);break;case"iframe":case"object":Tt("load",i);break;case"video":case"audio":for(m=0;m<Kc.length;m++)Tt(Kc[m],i);break;case"image":Tt("error",i),Tt("load",i);break;case"details":Tt("toggle",i);break;case"embed":case"source":case"link":Tt("error",i),Tt("load",i);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(le in d)if(d.hasOwnProperty(le)&&(m=d[le],m!=null))switch(le){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,l));default:Zt(i,l,le,m,d,null)}return;default:if(Cp(l)){for(xe in d)d.hasOwnProperty(xe)&&(m=d[xe],m!==void 0&&fv(i,l,xe,m,d,void 0));return}}for(B in d)d.hasOwnProperty(B)&&(m=d[B],m!=null&&Zt(i,l,B,m,d,null))}function t5(i,l,d,m){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var b=null,j=null,I=null,B=null,Y=null,le=null,xe=null;for(me in d){var ke=d[me];if(d.hasOwnProperty(me)&&ke!=null)switch(me){case"checked":break;case"value":break;case"defaultValue":Y=ke;default:m.hasOwnProperty(me)||Zt(i,l,me,null,m,ke)}}for(var ce in m){var me=m[ce];if(ke=d[ce],m.hasOwnProperty(ce)&&(me!=null||ke!=null))switch(ce){case"type":j=me;break;case"name":b=me;break;case"checked":le=me;break;case"defaultChecked":xe=me;break;case"value":I=me;break;case"defaultValue":B=me;break;case"children":case"dangerouslySetInnerHTML":if(me!=null)throw Error(s(137,l));break;default:me!==ke&&Zt(i,l,ce,me,m,ke)}}Gs(i,I,B,Y,le,xe,j,b);return;case"select":me=I=B=ce=null;for(j in d)if(Y=d[j],d.hasOwnProperty(j)&&Y!=null)switch(j){case"value":break;case"multiple":me=Y;default:m.hasOwnProperty(j)||Zt(i,l,j,null,m,Y)}for(b in m)if(j=m[b],Y=d[b],m.hasOwnProperty(b)&&(j!=null||Y!=null))switch(b){case"value":ce=j;break;case"defaultValue":B=j;break;case"multiple":I=j;default:j!==Y&&Zt(i,l,b,j,m,Y)}l=B,d=I,m=me,ce!=null?gn(i,!!d,ce,!1):!!m!=!!d&&(l!=null?gn(i,!!d,l,!0):gn(i,!!d,d?[]:"",!1));return;case"textarea":me=ce=null;for(B in d)if(b=d[B],d.hasOwnProperty(B)&&b!=null&&!m.hasOwnProperty(B))switch(B){case"value":break;case"children":break;default:Zt(i,l,B,null,m,b)}for(I in m)if(b=m[I],j=d[I],m.hasOwnProperty(I)&&(b!=null||j!=null))switch(I){case"value":ce=b;break;case"defaultValue":me=b;break;case"children":break;case"dangerouslySetInnerHTML":if(b!=null)throw Error(s(91));break;default:b!==j&&Zt(i,l,I,b,m,j)}Fn(i,ce,me);return;case"option":for(var Ge in d)ce=d[Ge],d.hasOwnProperty(Ge)&&ce!=null&&!m.hasOwnProperty(Ge)&&(Ge==="selected"?i.selected=!1:Zt(i,l,Ge,null,m,ce));for(Y in m)ce=m[Y],me=d[Y],m.hasOwnProperty(Y)&&ce!==me&&(ce!=null||me!=null)&&(Y==="selected"?i.selected=ce&&typeof ce!="function"&&typeof ce!="symbol":Zt(i,l,Y,ce,m,me));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var lt in d)ce=d[lt],d.hasOwnProperty(lt)&&ce!=null&&!m.hasOwnProperty(lt)&&Zt(i,l,lt,null,m,ce);for(le in m)if(ce=m[le],me=d[le],m.hasOwnProperty(le)&&ce!==me&&(ce!=null||me!=null))switch(le){case"children":case"dangerouslySetInnerHTML":if(ce!=null)throw Error(s(137,l));break;default:Zt(i,l,le,ce,m,me)}return;default:if(Cp(l)){for(var Kt in d)ce=d[Kt],d.hasOwnProperty(Kt)&&ce!==void 0&&!m.hasOwnProperty(Kt)&&fv(i,l,Kt,void 0,m,ce);for(xe in m)ce=m[xe],me=d[xe],!m.hasOwnProperty(xe)||ce===me||ce===void 0&&me===void 0||fv(i,l,xe,ce,m,me);return}}for(var se in d)ce=d[se],d.hasOwnProperty(se)&&ce!=null&&!m.hasOwnProperty(se)&&Zt(i,l,se,null,m,ce);for(ke in m)ce=m[ke],me=d[ke],!m.hasOwnProperty(ke)||ce===me||ce==null&&me==null||Zt(i,l,ke,ce,m,me)}function Ck(i){switch(i){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function n5(){if(typeof performance.getEntriesByType=="function"){for(var i=0,l=0,d=performance.getEntriesByType("resource"),m=0;m<d.length;m++){var b=d[m],j=b.transferSize,I=b.initiatorType,B=b.duration;if(j&&B&&Ck(I)){for(I=0,B=b.responseEnd,m+=1;m<d.length;m++){var Y=d[m],le=Y.startTime;if(le>B)break;var xe=Y.transferSize,ke=Y.initiatorType;xe&&Ck(ke)&&(Y=Y.responseEnd,I+=xe*(Y<B?1:(B-le)/(Y-le)))}if(--m,l+=8*(j+I)/(b.duration/1e3),i++,10<i)break}}if(0<i)return l/i/1e6}return navigator.connection&&(i=navigator.connection.downlink,typeof i=="number")?i:5}var hv=null,mv=null;function yf(i){return i.nodeType===9?i:i.ownerDocument}function Ek(i){switch(i){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Tk(i,l){if(i===0)switch(l){case"svg":return 1;case"math":return 2;default:return 0}return i===1&&l==="foreignObject"?0:i}function pv(i,l){return i==="textarea"||i==="noscript"||typeof l.children=="string"||typeof l.children=="number"||typeof l.children=="bigint"||typeof l.dangerouslySetInnerHTML=="object"&&l.dangerouslySetInnerHTML!==null&&l.dangerouslySetInnerHTML.__html!=null}var gv=null;function s5(){var i=window.event;return i&&i.type==="popstate"?i===gv?!1:(gv=i,!0):(gv=null,!1)}var Ak=typeof setTimeout=="function"?setTimeout:void 0,a5=typeof clearTimeout=="function"?clearTimeout:void 0,Mk=typeof Promise=="function"?Promise:void 0,r5=typeof queueMicrotask=="function"?queueMicrotask:typeof Mk<"u"?function(i){return Mk.resolve(null).then(i).catch(i5)}:Ak;function i5(i){setTimeout(function(){throw i})}function Jr(i){return i==="head"}function Rk(i,l){var d=l,m=0;do{var b=d.nextSibling;if(i.removeChild(d),b&&b.nodeType===8)if(d=b.data,d==="/$"||d==="/&"){if(m===0){i.removeChild(b),ul(l);return}m--}else if(d==="$"||d==="$?"||d==="$~"||d==="$!"||d==="&")m++;else if(d==="html")Xc(i.ownerDocument.documentElement);else if(d==="head"){d=i.ownerDocument.head,Xc(d);for(var j=d.firstChild;j;){var I=j.nextSibling,B=j.nodeName;j[_a]||B==="SCRIPT"||B==="STYLE"||B==="LINK"&&j.rel.toLowerCase()==="stylesheet"||d.removeChild(j),j=I}}else d==="body"&&Xc(i.ownerDocument.body);d=b}while(d);ul(l)}function Ik(i,l){var d=i;i=0;do{var m=d.nextSibling;if(d.nodeType===1?l?(d._stashedDisplay=d.style.display,d.style.display="none"):(d.style.display=d._stashedDisplay||"",d.getAttribute("style")===""&&d.removeAttribute("style")):d.nodeType===3&&(l?(d._stashedText=d.nodeValue,d.nodeValue=""):d.nodeValue=d._stashedText||""),m&&m.nodeType===8)if(d=m.data,d==="/$"){if(i===0)break;i--}else d!=="$"&&d!=="$?"&&d!=="$~"&&d!=="$!"||i++;d=m}while(d)}function vv(i){var l=i.firstChild;for(l&&l.nodeType===10&&(l=l.nextSibling);l;){var d=l;switch(l=l.nextSibling,d.nodeName){case"HTML":case"HEAD":case"BODY":vv(d),_r(d);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(d.rel.toLowerCase()==="stylesheet")continue}i.removeChild(d)}}function o5(i,l,d,m){for(;i.nodeType===1;){var b=d;if(i.nodeName.toLowerCase()!==l.toLowerCase()){if(!m&&(i.nodeName!=="INPUT"||i.type!=="hidden"))break}else if(m){if(!i[_a])switch(l){case"meta":if(!i.hasAttribute("itemprop"))break;return i;case"link":if(j=i.getAttribute("rel"),j==="stylesheet"&&i.hasAttribute("data-precedence"))break;if(j!==b.rel||i.getAttribute("href")!==(b.href==null||b.href===""?null:b.href)||i.getAttribute("crossorigin")!==(b.crossOrigin==null?null:b.crossOrigin)||i.getAttribute("title")!==(b.title==null?null:b.title))break;return i;case"style":if(i.hasAttribute("data-precedence"))break;return i;case"script":if(j=i.getAttribute("src"),(j!==(b.src==null?null:b.src)||i.getAttribute("type")!==(b.type==null?null:b.type)||i.getAttribute("crossorigin")!==(b.crossOrigin==null?null:b.crossOrigin))&&j&&i.hasAttribute("async")&&!i.hasAttribute("itemprop"))break;return i;default:return i}}else if(l==="input"&&i.type==="hidden"){var j=b.name==null?null:""+b.name;if(b.type==="hidden"&&i.getAttribute("name")===j)return i}else return i;if(i=ea(i.nextSibling),i===null)break}return null}function l5(i,l,d){if(l==="")return null;for(;i.nodeType!==3;)if((i.nodeType!==1||i.nodeName!=="INPUT"||i.type!=="hidden")&&!d||(i=ea(i.nextSibling),i===null))return null;return i}function _k(i,l){for(;i.nodeType!==8;)if((i.nodeType!==1||i.nodeName!=="INPUT"||i.type!=="hidden")&&!l||(i=ea(i.nextSibling),i===null))return null;return i}function yv(i){return i.data==="$?"||i.data==="$~"}function xv(i){return i.data==="$!"||i.data==="$?"&&i.ownerDocument.readyState!=="loading"}function c5(i,l){var d=i.ownerDocument;if(i.data==="$~")i._reactRetry=l;else if(i.data!=="$?"||d.readyState!=="loading")l();else{var m=function(){l(),d.removeEventListener("DOMContentLoaded",m)};d.addEventListener("DOMContentLoaded",m),i._reactRetry=m}}function ea(i){for(;i!=null;i=i.nextSibling){var l=i.nodeType;if(l===1||l===3)break;if(l===8){if(l=i.data,l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"||l==="F!"||l==="F")break;if(l==="/$"||l==="/&")return null}}return i}var bv=null;function Ok(i){i=i.nextSibling;for(var l=0;i;){if(i.nodeType===8){var d=i.data;if(d==="/$"||d==="/&"){if(l===0)return ea(i.nextSibling);l--}else d!=="$"&&d!=="$!"&&d!=="$?"&&d!=="$~"&&d!=="&"||l++}i=i.nextSibling}return null}function $k(i){i=i.previousSibling;for(var l=0;i;){if(i.nodeType===8){var d=i.data;if(d==="$"||d==="$!"||d==="$?"||d==="$~"||d==="&"){if(l===0)return i;l--}else d!=="/$"&&d!=="/&"||l++}i=i.previousSibling}return null}function Pk(i,l,d){switch(l=yf(d),i){case"html":if(i=l.documentElement,!i)throw Error(s(452));return i;case"head":if(i=l.head,!i)throw Error(s(453));return i;case"body":if(i=l.body,!i)throw Error(s(454));return i;default:throw Error(s(451))}}function Xc(i){for(var l=i.attributes;l.length;)i.removeAttributeNode(l[0]);_r(i)}var ta=new Map,Dk=new Set;function xf(i){return typeof i.getRootNode=="function"?i.getRootNode():i.nodeType===9?i:i.ownerDocument}var jr=H.d;H.d={f:u5,r:d5,D:f5,C:h5,L:m5,m:p5,X:v5,S:g5,M:y5};function u5(){var i=jr.f(),l=uf();return i||l}function d5(i){var l=ha(i);l!==null&&l.tag===5&&l.type==="form"?e1(l):jr.r(i)}var ol=typeof document>"u"?null:document;function Lk(i,l,d){var m=ol;if(m&&typeof l=="string"&&l){var b=jt(l);b='link[rel="'+i+'"][href="'+b+'"]',typeof d=="string"&&(b+='[crossorigin="'+d+'"]'),Dk.has(b)||(Dk.add(b),i={rel:i,crossOrigin:d,href:l},m.querySelector(b)===null&&(l=m.createElement("link"),Yn(l,"link",i),rn(l),m.head.appendChild(l)))}}function f5(i){jr.D(i),Lk("dns-prefetch",i,null)}function h5(i,l){jr.C(i,l),Lk("preconnect",i,l)}function m5(i,l,d){jr.L(i,l,d);var m=ol;if(m&&i&&l){var b='link[rel="preload"][as="'+jt(l)+'"]';l==="image"&&d&&d.imageSrcSet?(b+='[imagesrcset="'+jt(d.imageSrcSet)+'"]',typeof d.imageSizes=="string"&&(b+='[imagesizes="'+jt(d.imageSizes)+'"]')):b+='[href="'+jt(i)+'"]';var j=b;switch(l){case"style":j=ll(i);break;case"script":j=cl(i)}ta.has(j)||(i=v({rel:"preload",href:l==="image"&&d&&d.imageSrcSet?void 0:i,as:l},d),ta.set(j,i),m.querySelector(b)!==null||l==="style"&&m.querySelector(Jc(j))||l==="script"&&m.querySelector(Qc(j))||(l=m.createElement("link"),Yn(l,"link",i),rn(l),m.head.appendChild(l)))}}function p5(i,l){jr.m(i,l);var d=ol;if(d&&i){var m=l&&typeof l.as=="string"?l.as:"script",b='link[rel="modulepreload"][as="'+jt(m)+'"][href="'+jt(i)+'"]',j=b;switch(m){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":j=cl(i)}if(!ta.has(j)&&(i=v({rel:"modulepreload",href:i},l),ta.set(j,i),d.querySelector(b)===null)){switch(m){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(d.querySelector(Qc(j)))return}m=d.createElement("link"),Yn(m,"link",i),rn(m),d.head.appendChild(m)}}}function g5(i,l,d){jr.S(i,l,d);var m=ol;if(m&&i){var b=Ws(m).hoistableStyles,j=ll(i);l=l||"default";var I=b.get(j);if(!I){var B={loading:0,preload:null};if(I=m.querySelector(Jc(j)))B.loading=5;else{i=v({rel:"stylesheet",href:i,"data-precedence":l},d),(d=ta.get(j))&&wv(i,d);var Y=I=m.createElement("link");rn(Y),Yn(Y,"link",i),Y._p=new Promise(function(le,xe){Y.onload=le,Y.onerror=xe}),Y.addEventListener("load",function(){B.loading|=1}),Y.addEventListener("error",function(){B.loading|=2}),B.loading|=4,bf(I,l,m)}I={type:"stylesheet",instance:I,count:1,state:B},b.set(j,I)}}}function v5(i,l){jr.X(i,l);var d=ol;if(d&&i){var m=Ws(d).hoistableScripts,b=cl(i),j=m.get(b);j||(j=d.querySelector(Qc(b)),j||(i=v({src:i,async:!0},l),(l=ta.get(b))&&jv(i,l),j=d.createElement("script"),rn(j),Yn(j,"link",i),d.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},m.set(b,j))}}function y5(i,l){jr.M(i,l);var d=ol;if(d&&i){var m=Ws(d).hoistableScripts,b=cl(i),j=m.get(b);j||(j=d.querySelector(Qc(b)),j||(i=v({src:i,async:!0,type:"module"},l),(l=ta.get(b))&&jv(i,l),j=d.createElement("script"),rn(j),Yn(j,"link",i),d.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},m.set(b,j))}}function zk(i,l,d,m){var b=(b=de.current)?xf(b):null;if(!b)throw Error(s(446));switch(i){case"meta":case"title":return null;case"style":return typeof d.precedence=="string"&&typeof d.href=="string"?(l=ll(d.href),d=Ws(b).hoistableStyles,m=d.get(l),m||(m={type:"style",instance:null,count:0,state:null},d.set(l,m)),m):{type:"void",instance:null,count:0,state:null};case"link":if(d.rel==="stylesheet"&&typeof d.href=="string"&&typeof d.precedence=="string"){i=ll(d.href);var j=Ws(b).hoistableStyles,I=j.get(i);if(I||(b=b.ownerDocument||b,I={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},j.set(i,I),(j=b.querySelector(Jc(i)))&&!j._p&&(I.instance=j,I.state.loading=5),ta.has(i)||(d={rel:"preload",as:"style",href:d.href,crossOrigin:d.crossOrigin,integrity:d.integrity,media:d.media,hrefLang:d.hrefLang,referrerPolicy:d.referrerPolicy},ta.set(i,d),j||x5(b,i,d,I.state))),l&&m===null)throw Error(s(528,""));return I}if(l&&m!==null)throw Error(s(529,""));return null;case"script":return l=d.async,d=d.src,typeof d=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=cl(d),d=Ws(b).hoistableScripts,m=d.get(l),m||(m={type:"script",instance:null,count:0,state:null},d.set(l,m)),m):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,i))}}function ll(i){return'href="'+jt(i)+'"'}function Jc(i){return'link[rel="stylesheet"]['+i+"]"}function Bk(i){return v({},i,{"data-precedence":i.precedence,precedence:null})}function x5(i,l,d,m){i.querySelector('link[rel="preload"][as="style"]['+l+"]")?m.loading=1:(l=i.createElement("link"),m.preload=l,l.addEventListener("load",function(){return m.loading|=1}),l.addEventListener("error",function(){return m.loading|=2}),Yn(l,"link",d),rn(l),i.head.appendChild(l))}function cl(i){return'[src="'+jt(i)+'"]'}function Qc(i){return"script[async]"+i}function Uk(i,l,d){if(l.count++,l.instance===null)switch(l.type){case"style":var m=i.querySelector('style[data-href~="'+jt(d.href)+'"]');if(m)return l.instance=m,rn(m),m;var b=v({},d,{"data-href":d.href,"data-precedence":d.precedence,href:null,precedence:null});return m=(i.ownerDocument||i).createElement("style"),rn(m),Yn(m,"style",b),bf(m,d.precedence,i),l.instance=m;case"stylesheet":b=ll(d.href);var j=i.querySelector(Jc(b));if(j)return l.state.loading|=4,l.instance=j,rn(j),j;m=Bk(d),(b=ta.get(b))&&wv(m,b),j=(i.ownerDocument||i).createElement("link"),rn(j);var I=j;return I._p=new Promise(function(B,Y){I.onload=B,I.onerror=Y}),Yn(j,"link",m),l.state.loading|=4,bf(j,d.precedence,i),l.instance=j;case"script":return j=cl(d.src),(b=i.querySelector(Qc(j)))?(l.instance=b,rn(b),b):(m=d,(b=ta.get(j))&&(m=v({},d),jv(m,b)),i=i.ownerDocument||i,b=i.createElement("script"),rn(b),Yn(b,"link",m),i.head.appendChild(b),l.instance=b);case"void":return null;default:throw Error(s(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(m=l.instance,l.state.loading|=4,bf(m,d.precedence,i));return l.instance}function bf(i,l,d){for(var m=d.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),b=m.length?m[m.length-1]:null,j=b,I=0;I<m.length;I++){var B=m[I];if(B.dataset.precedence===l)j=B;else if(j!==b)break}j?j.parentNode.insertBefore(i,j.nextSibling):(l=d.nodeType===9?d.head:d,l.insertBefore(i,l.firstChild))}function wv(i,l){i.crossOrigin==null&&(i.crossOrigin=l.crossOrigin),i.referrerPolicy==null&&(i.referrerPolicy=l.referrerPolicy),i.title==null&&(i.title=l.title)}function jv(i,l){i.crossOrigin==null&&(i.crossOrigin=l.crossOrigin),i.referrerPolicy==null&&(i.referrerPolicy=l.referrerPolicy),i.integrity==null&&(i.integrity=l.integrity)}var wf=null;function Vk(i,l,d){if(wf===null){var m=new Map,b=wf=new Map;b.set(d,m)}else b=wf,m=b.get(d),m||(m=new Map,b.set(d,m));if(m.has(i))return m;for(m.set(i,null),d=d.getElementsByTagName(i),b=0;b<d.length;b++){var j=d[b];if(!(j[_a]||j[pn]||i==="link"&&j.getAttribute("rel")==="stylesheet")&&j.namespaceURI!=="http://www.w3.org/2000/svg"){var I=j.getAttribute(l)||"";I=i+I;var B=m.get(I);B?B.push(j):m.set(I,[j])}}return m}function Fk(i,l,d){i=i.ownerDocument||i,i.head.insertBefore(d,l==="title"?i.querySelector("head > title"):null)}function b5(i,l,d){if(d===1||l.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;return l.rel==="stylesheet"?(i=l.disabled,typeof l.precedence=="string"&&i==null):!0;case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Hk(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}function w5(i,l,d,m){if(d.type==="stylesheet"&&(typeof m.media!="string"||matchMedia(m.media).matches!==!1)&&(d.state.loading&4)===0){if(d.instance===null){var b=ll(m.href),j=l.querySelector(Jc(b));if(j){l=j._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(i.count++,i=jf.bind(i),l.then(i,i)),d.state.loading|=4,d.instance=j,rn(j);return}j=l.ownerDocument||l,m=Bk(m),(b=ta.get(b))&&wv(m,b),j=j.createElement("link"),rn(j);var I=j;I._p=new Promise(function(B,Y){I.onload=B,I.onerror=Y}),Yn(j,"link",m),d.instance=j}i.stylesheets===null&&(i.stylesheets=new Map),i.stylesheets.set(d,l),(l=d.state.preload)&&(d.state.loading&3)===0&&(i.count++,d=jf.bind(i),l.addEventListener("load",d),l.addEventListener("error",d))}}var kv=0;function j5(i,l){return i.stylesheets&&i.count===0&&Nf(i,i.stylesheets),0<i.count||0<i.imgCount?function(d){var m=setTimeout(function(){if(i.stylesheets&&Nf(i,i.stylesheets),i.unsuspend){var j=i.unsuspend;i.unsuspend=null,j()}},6e4+l);0<i.imgBytes&&kv===0&&(kv=62500*n5());var b=setTimeout(function(){if(i.waitingForImages=!1,i.count===0&&(i.stylesheets&&Nf(i,i.stylesheets),i.unsuspend)){var j=i.unsuspend;i.unsuspend=null,j()}},(i.imgBytes>kv?50:800)+l);return i.unsuspend=d,function(){i.unsuspend=null,clearTimeout(m),clearTimeout(b)}}:null}function jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Nf(this,this.stylesheets);else if(this.unsuspend){var i=this.unsuspend;this.unsuspend=null,i()}}}var kf=null;function Nf(i,l){i.stylesheets=null,i.unsuspend!==null&&(i.count++,kf=new Map,l.forEach(k5,i),kf=null,jf.call(i))}function k5(i,l){if(!(l.state.loading&4)){var d=kf.get(i);if(d)var m=d.get(null);else{d=new Map,kf.set(i,d);for(var b=i.querySelectorAll("link[data-precedence],style[data-precedence]"),j=0;j<b.length;j++){var I=b[j];(I.nodeName==="LINK"||I.getAttribute("media")!=="not all")&&(d.set(I.dataset.precedence,I),m=I)}m&&d.set(null,m)}b=l.instance,I=b.getAttribute("data-precedence"),j=d.get(I)||m,j===m&&d.set(null,b),d.set(I,b),this.count++,m=jf.bind(this),b.addEventListener("load",m),b.addEventListener("error",m),j?j.parentNode.insertBefore(b,j.nextSibling):(i=i.nodeType===9?i.head:i,i.insertBefore(b,i.firstChild)),l.state.loading|=4}}var eu={$$typeof:N,Provider:null,Consumer:null,_currentValue:D,_currentValue2:D,_threadCount:0};function N5(i,l,d,m,b,j,I,B,Y){this.tag=1,this.containerInfo=i,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=xt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=xt(0),this.hiddenUpdates=xt(null),this.identifierPrefix=m,this.onUncaughtError=b,this.onCaughtError=j,this.onRecoverableError=I,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Y,this.incompleteTransitions=new Map}function qk(i,l,d,m,b,j,I,B,Y,le,xe,ke){return i=new N5(i,l,d,I,Y,le,xe,ke,B),l=1,j===!0&&(l|=24),j=Rs(3,null,null,l),i.current=j,j.stateNode=i,l=ng(),l.refCount++,i.pooledCache=l,l.refCount++,j.memoizedState={element:m,isDehydrated:d,cache:l},ig(j),i}function Wk(i){return i?(i=Bo,i):Bo}function Gk(i,l,d,m,b,j){b=Wk(b),m.context===null?m.context=b:m.pendingContext=b,m=Ur(l),m.payload={element:d},j=j===void 0?null:j,j!==null&&(m.callback=j),d=Vr(i,m,l),d!==null&&(js(d,i,l),Ic(d,i,l))}function Zk(i,l){if(i=i.memoizedState,i!==null&&i.dehydrated!==null){var d=i.retryLane;i.retryLane=d!==0&&d<l?d:l}}function Nv(i,l){Zk(i,l),(i=i.alternate)&&Zk(i,l)}function Kk(i){if(i.tag===13||i.tag===31){var l=Bi(i,67108864);l!==null&&js(l,i,67108864),Nv(i,67108864)}}function Yk(i){if(i.tag===13||i.tag===31){var l=Ps();l=ss(l);var d=Bi(i,l);d!==null&&js(d,i,l),Nv(i,l)}}var Sf=!0;function S5(i,l,d,m){var b=P.T;P.T=null;var j=H.p;try{H.p=2,Sv(i,l,d,m)}finally{H.p=j,P.T=b}}function C5(i,l,d,m){var b=P.T;P.T=null;var j=H.p;try{H.p=8,Sv(i,l,d,m)}finally{H.p=j,P.T=b}}function Sv(i,l,d,m){if(Sf){var b=Cv(m);if(b===null)dv(i,l,m,Cf,d),Jk(i,m);else if(T5(b,i,l,d,m))m.stopPropagation();else if(Jk(i,m),l&4&&-1<E5.indexOf(i)){for(;b!==null;){var j=ha(b);if(j!==null)switch(j.tag){case 3:if(j=j.stateNode,j.current.memoizedState.isDehydrated){var I=$t(j.pendingLanes);if(I!==0){var B=j;for(B.pendingLanes|=2,B.entangledLanes|=2;I;){var Y=1<<31-De(I);B.entanglements[1]|=Y,I&=~Y}za(j),(Ut&6)===0&&(lf=Be()+500,Zc(0))}}break;case 31:case 13:B=Bi(j,2),B!==null&&js(B,j,2),uf(),Nv(j,2)}if(j=Cv(m),j===null&&dv(i,l,m,Cf,d),j===b)break;b=j}b!==null&&m.stopPropagation()}else dv(i,l,m,null,d)}}function Cv(i){return i=Tp(i),Ev(i)}var Cf=null;function Ev(i){if(Cf=null,i=Ts(i),i!==null){var l=o(i);if(l===null)i=null;else{var d=l.tag;if(d===13){if(i=c(l),i!==null)return i;i=null}else if(d===31){if(i=u(l),i!==null)return i;i=null}else if(d===3){if(l.stateNode.current.memoizedState.isDehydrated)return l.tag===3?l.stateNode.containerInfo:null;i=null}else l!==i&&(i=null)}}return Cf=i,null}function Xk(i){switch(i){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Pe()){case at:return 2;case ut:return 8;case rt:case vt:return 32;case ie:return 268435456;default:return 32}default:return 32}}var Tv=!1,Qr=null,ei=null,ti=null,tu=new Map,nu=new Map,ni=[],E5="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Jk(i,l){switch(i){case"focusin":case"focusout":Qr=null;break;case"dragenter":case"dragleave":ei=null;break;case"mouseover":case"mouseout":ti=null;break;case"pointerover":case"pointerout":tu.delete(l.pointerId);break;case"gotpointercapture":case"lostpointercapture":nu.delete(l.pointerId)}}function su(i,l,d,m,b,j){return i===null||i.nativeEvent!==j?(i={blockedOn:l,domEventName:d,eventSystemFlags:m,nativeEvent:j,targetContainers:[b]},l!==null&&(l=ha(l),l!==null&&Kk(l)),i):(i.eventSystemFlags|=m,l=i.targetContainers,b!==null&&l.indexOf(b)===-1&&l.push(b),i)}function T5(i,l,d,m,b){switch(l){case"focusin":return Qr=su(Qr,i,l,d,m,b),!0;case"dragenter":return ei=su(ei,i,l,d,m,b),!0;case"mouseover":return ti=su(ti,i,l,d,m,b),!0;case"pointerover":var j=b.pointerId;return tu.set(j,su(tu.get(j)||null,i,l,d,m,b)),!0;case"gotpointercapture":return j=b.pointerId,nu.set(j,su(nu.get(j)||null,i,l,d,m,b)),!0}return!1}function Qk(i){var l=Ts(i.target);if(l!==null){var d=o(l);if(d!==null){if(l=d.tag,l===13){if(l=c(d),l!==null){i.blockedOn=l,qs(i.priority,function(){Yk(d)});return}}else if(l===31){if(l=u(d),l!==null){i.blockedOn=l,qs(i.priority,function(){Yk(d)});return}}else if(l===3&&d.stateNode.current.memoizedState.isDehydrated){i.blockedOn=d.tag===3?d.stateNode.containerInfo:null;return}}}i.blockedOn=null}function Ef(i){if(i.blockedOn!==null)return!1;for(var l=i.targetContainers;0<l.length;){var d=Cv(i.nativeEvent);if(d===null){d=i.nativeEvent;var m=new d.constructor(d.type,d);Ep=m,d.target.dispatchEvent(m),Ep=null}else return l=ha(d),l!==null&&Kk(l),i.blockedOn=d,!1;l.shift()}return!0}function eN(i,l,d){Ef(i)&&d.delete(l)}function A5(){Tv=!1,Qr!==null&&Ef(Qr)&&(Qr=null),ei!==null&&Ef(ei)&&(ei=null),ti!==null&&Ef(ti)&&(ti=null),tu.forEach(eN),nu.forEach(eN)}function Tf(i,l){i.blockedOn===l&&(i.blockedOn=null,Tv||(Tv=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,A5)))}var Af=null;function tN(i){Af!==i&&(Af=i,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Af===i&&(Af=null);for(var l=0;l<i.length;l+=3){var d=i[l],m=i[l+1],b=i[l+2];if(typeof m!="function"){if(Ev(m||d)===null)continue;break}var j=ha(d);j!==null&&(i.splice(l,3),l-=3,Cg(j,{pending:!0,data:b,method:d.method,action:m},m,b))}}))}function ul(i){function l(Y){return Tf(Y,i)}Qr!==null&&Tf(Qr,i),ei!==null&&Tf(ei,i),ti!==null&&Tf(ti,i),tu.forEach(l),nu.forEach(l);for(var d=0;d<ni.length;d++){var m=ni[d];m.blockedOn===i&&(m.blockedOn=null)}for(;0<ni.length&&(d=ni[0],d.blockedOn===null);)Qk(d),d.blockedOn===null&&ni.shift();if(d=(i.ownerDocument||i).$$reactFormReplay,d!=null)for(m=0;m<d.length;m+=3){var b=d[m],j=d[m+1],I=b[Sn]||null;if(typeof j=="function")I||tN(d);else if(I){var B=null;if(j&&j.hasAttribute("formAction")){if(b=j,I=j[Sn]||null)B=I.formAction;else if(Ev(b)!==null)continue}else B=I.action;typeof B=="function"?d[m+1]=B:(d.splice(m,3),m-=3),tN(d)}}}function nN(){function i(j){j.canIntercept&&j.info==="react-transition"&&j.intercept({handler:function(){return new Promise(function(I){return b=I})},focusReset:"manual",scroll:"manual"})}function l(){b!==null&&(b(),b=null),m||setTimeout(d,20)}function d(){if(!m&&!navigation.transition){var j=navigation.currentEntry;j&&j.url!=null&&navigation.navigate(j.url,{state:j.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var m=!1,b=null;return navigation.addEventListener("navigate",i),navigation.addEventListener("navigatesuccess",l),navigation.addEventListener("navigateerror",l),setTimeout(d,100),function(){m=!0,navigation.removeEventListener("navigate",i),navigation.removeEventListener("navigatesuccess",l),navigation.removeEventListener("navigateerror",l),b!==null&&(b(),b=null)}}}function Av(i){this._internalRoot=i}Mf.prototype.render=Av.prototype.render=function(i){var l=this._internalRoot;if(l===null)throw Error(s(409));var d=l.current,m=Ps();Gk(d,m,i,l,null,null)},Mf.prototype.unmount=Av.prototype.unmount=function(){var i=this._internalRoot;if(i!==null){this._internalRoot=null;var l=i.containerInfo;Gk(i.current,2,null,i,null,null),uf(),l[Ia]=null}};function Mf(i){this._internalRoot=i}Mf.prototype.unstable_scheduleHydration=function(i){if(i){var l=Es();i={blockedOn:null,target:i,priority:l};for(var d=0;d<ni.length&&l!==0&&l<ni[d].priority;d++);ni.splice(d,0,i),d===0&&Qk(i)}};var sN=t.version;if(sN!=="19.2.3")throw Error(s(527,sN,"19.2.3"));H.findDOMNode=function(i){var l=i._reactInternals;if(l===void 0)throw typeof i.render=="function"?Error(s(188)):(i=Object.keys(i).join(","),Error(s(268,i)));return i=f(l),i=i!==null?g(i):null,i=i===null?null:i.stateNode,i};var M5={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:P,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Rf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Rf.isDisabled&&Rf.supportsFiber)try{Qe=Rf.inject(M5),ue=Rf}catch{}}return ru.createRoot=function(i,l){if(!r(i))throw Error(s(299));var d=!1,m="",b=u1,j=d1,I=f1;return l!=null&&(l.unstable_strictMode===!0&&(d=!0),l.identifierPrefix!==void 0&&(m=l.identifierPrefix),l.onUncaughtError!==void 0&&(b=l.onUncaughtError),l.onCaughtError!==void 0&&(j=l.onCaughtError),l.onRecoverableError!==void 0&&(I=l.onRecoverableError)),l=qk(i,1,!1,null,null,d,m,null,b,j,I,nN),i[Ia]=l.current,uv(i),new Av(l)},ru.hydrateRoot=function(i,l,d){if(!r(i))throw Error(s(299));var m=!1,b="",j=u1,I=d1,B=f1,Y=null;return d!=null&&(d.unstable_strictMode===!0&&(m=!0),d.identifierPrefix!==void 0&&(b=d.identifierPrefix),d.onUncaughtError!==void 0&&(j=d.onUncaughtError),d.onCaughtError!==void 0&&(I=d.onCaughtError),d.onRecoverableError!==void 0&&(B=d.onRecoverableError),d.formState!==void 0&&(Y=d.formState)),l=qk(i,1,!0,l,d??null,m,b,Y,j,I,B,nN),l.context=Wk(null),d=l.current,m=Ps(),m=ss(m),b=Ur(m),b.callback=null,Vr(d,b,m),d=m,l.current.lanes=d,bn(l,d),za(l),i[Ia]=l.current,uv(i),new Mf(l)},ru.version="19.2.3",ru}var hN;function B5(){if(hN)return Iv.exports;hN=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Iv.exports=z5(),Iv.exports}var U5=B5();const PA=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim();const V5=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const F5=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase());const mN=e=>{const t=F5(e);return t.charAt(0).toUpperCase()+t.slice(1)};var H5={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const q5=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const W5=p.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:r="",children:o,iconNode:c,...u},h)=>p.createElement("svg",{ref:h,...H5,width:t,height:t,stroke:e,strokeWidth:s?Number(n)*24/Number(t):n,className:PA("lucide",r),...!o&&!q5(u)&&{"aria-hidden":"true"},...u},[...c.map(([f,g])=>p.createElement(f,g)),...Array.isArray(o)?o:[o]]));const Ke=(e,t)=>{const n=p.forwardRef(({className:s,...r},o)=>p.createElement(W5,{ref:o,iconNode:t,className:PA(`lucide-${V5(mN(e))}`,`lucide-${e}`,s),...r}));return n.displayName=mN(e),n};const G5=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],DA=Ke("activity",G5);const Z5=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],LA=Ke("archive",Z5);const K5=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Y5=Ke("arrow-left",K5);const X5=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],J5=Ke("arrow-right",X5);const Q5=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],eL=Ke("arrow-up-right",Q5);const tL=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],nL=Ke("book-open",tL);const sL=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],ad=Ke("bot",sL);const aL=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],zA=Ke("check",aL);const rL=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Wl=Ke("chevron-down",rL);const iL=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ib=Ke("chevron-right",iL);const oL=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],_b=Ke("chevron-up",oL);const lL=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],BA=Ke("circle-alert",lL);const cL=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],UA=Ke("circle-check",cL);const uL=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],dL=Ke("clock",uL);const fL=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],hL=Ke("code-xml",fL);const mL=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],VA=Ke("compass",mL);const pL=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],FA=Ke("copy",pL);const gL=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],vL=Ke("corner-down-left",gL);const yL=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],xL=Ke("cpu",yL);const bL=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]],HA=Ke("crosshair",bL);const wL=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],oc=Ke("external-link",wL);const jL=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Jh=Ke("file-text",jL);const kL=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],NL=Ke("folder",kL);const SL=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],CL=Ke("git-branch",SL);const EL=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],TL=Ke("history",EL);const AL=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],ML=Ke("inbox",AL);const RL=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],qA=Ke("key-round",RL);const IL=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],la=Ke("loader-circle",IL);const _L=[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]],OL=Ke("map",_L);const $L=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Fm=Ke("maximize-2",$L);const PL=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],DL=Ke("message-circle",PL);const LL=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Hm=Ke("message-square",LL);const zL=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],WA=Ke("mic",zL);const BL=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],GA=Ke("minimize-2",BL);const UL=[["path",{d:"M5 12h14",key:"1ays0h"}]],VL=Ke("minus",UL);const FL=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],HL=Ke("network",FL);const qL=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],WL=Ke("panel-left-close",qL);const GL=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],ZL=Ke("panel-left-open",GL);const KL=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],YL=Ke("panel-right-close",KL);const XL=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]],JL=Ke("panel-right-open",XL);const QL=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],e4=Ke("paperclip",QL);const t4=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]],n4=Ke("pin-off",t4);const s4=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],a4=Ke("pin",s4);const r4=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],i4=Ke("plus",r4);const o4=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],l4=Ke("radio",o4);const c4=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],ZA=Ke("refresh-cw",c4);const u4=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],pN=Ke("rocket",u4);const d4=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],f4=Ke("scroll-text",d4);const h4=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],qm=Ke("search",h4);const m4=[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]],p4=Ke("send-horizontal",m4);const g4=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],v4=Ke("send",g4);const y4=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],x4=Ke("server",y4);const b4=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Wm=Ke("settings",b4);const w4=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],j4=Ke("sliders-horizontal",w4);const k4=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Gm=Ke("sparkles",k4);const N4=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Zm=Ke("square",N4);const S4=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],C4=Ke("target",S4);const E4=[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]],T4=Ke("telescope",E4);const A4=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],KA=Ke("terminal",A4);const M4=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],R4=Ke("trash-2",M4);const I4=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],YA=Ke("volume-2",I4);const _4=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],XA=Ke("volume-x",_4);const O4=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],$4=Ke("wrench",O4);const P4=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Gl=Ke("x",P4),D4="modulepreload",L4=function(e){return"/"+e},gN={},Pv=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let f=function(g){return Promise.all(g.map(v=>Promise.resolve(v).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};var c=f;document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),h=u?.nonce||u?.getAttribute("nonce");r=f(n.map(g=>{if(g=L4(g),g in gN)return;gN[g]=!0;const v=g.endsWith(".css"),y=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${y}`))return;const x=document.createElement("link");if(x.rel=v?"stylesheet":D4,v||(x.as="script"),x.crossOrigin="",x.href=g,h&&x.setAttribute("nonce",h),document.head.appendChild(x),v)return new Promise((w,k)=>{x.addEventListener("load",w),x.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${g}`)))})}))}function o(u){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=u,window.dispatchEvent(h),!h.defaultPrevented)throw u}return r.then(u=>{for(const h of u||[])h.status==="rejected"&&o(h.reason);return t().catch(o)})};var z4={titleBarInset:0,dragRegionProps:{},onInteractiveMouseDown:void 0,isSSR:!0,apiBaseUrl:"",serviceApiUrl:""},B4=p.createContext(z4);function Km(){return p.useContext(B4)}var JA="vercel.ai.error",U4=Symbol.for(JA),vN,yN,er=class QA extends(yN=Error,vN=U4,yN){constructor({name:t,message:n,cause:s}){super(n),this[vN]=!0,this.name=t,this.cause=s}static isInstance(t){return QA.hasMarker(t,JA)}static hasMarker(t,n){const s=Symbol.for(n);return t!=null&&typeof t=="object"&&s in t&&typeof t[s]=="boolean"&&t[s]===!0}};function eM(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var tM="AI_InvalidArgumentError",nM=`vercel.ai.error.${tM}`,V4=Symbol.for(nM),xN,bN,F4=class extends(bN=er,xN=V4,bN){constructor({message:e,cause:t,argument:n}){super({name:tM,message:e,cause:t}),this[xN]=!0,this.argument=n}static isInstance(e){return er.hasMarker(e,nM)}},sM="AI_JSONParseError",aM=`vercel.ai.error.${sM}`,H4=Symbol.for(aM),wN,jN,kN=class extends(jN=er,wN=H4,jN){constructor({text:e,cause:t}){super({name:sM,message:`JSON parsing failed: Text: ${e}.
|
|
10
|
+
Error message: ${eM(t)}`,cause:t}),this[wN]=!0,this.text=e}static isInstance(e){return er.hasMarker(e,aM)}},rM="AI_TypeValidationError",iM=`vercel.ai.error.${rM}`,q4=Symbol.for(iM),NN,SN,Zl=class Qy extends(SN=er,NN=q4,SN){constructor({value:t,cause:n,context:s}){let r="Type validation failed";if(s?.field&&(r+=` for ${s.field}`),s?.entityName||s?.entityId){r+=" (";const o=[];s.entityName&&o.push(s.entityName),s.entityId&&o.push(`id: "${s.entityId}"`),r+=o.join(", "),r+=")"}super({name:rM,message:`${r}: Value: ${JSON.stringify(t)}.
|
|
11
|
+
Error message: ${eM(n)}`,cause:n}),this[NN]=!0,this.value=t,this.context=s}static isInstance(t){return er.hasMarker(t,iM)}static wrap({value:t,cause:n,context:s}){var r,o,c;return Qy.isInstance(n)&&n.value===t&&((r=n.context)==null?void 0:r.field)===s?.field&&((o=n.context)==null?void 0:o.entityName)===s?.entityName&&((c=n.context)==null?void 0:c.entityId)===s?.entityId?n:new Qy({value:t,cause:n,context:s})}};function be(e,t,n){function s(u,h){if(u._zod||Object.defineProperty(u,"_zod",{value:{def:h,constr:c,traits:new Set},enumerable:!1}),u._zod.traits.has(e))return;u._zod.traits.add(e),t(u,h);const f=c.prototype,g=Object.keys(f);for(let v=0;v<g.length;v++){const y=g[v];y in u||(u[y]=f[y].bind(u))}}const r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function c(u){var h;const f=n?.Parent?new o:this;s(f,u),(h=f._zod).deferred??(h.deferred=[]);for(const g of f._zod.deferred)g();return f}return Object.defineProperty(c,"init",{value:s}),Object.defineProperty(c,Symbol.hasInstance,{value:u=>n?.Parent&&u instanceof n.Parent?!0:u?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}class Pl extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class oM extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const lM={};function wi(e){return lM}function cM(e){const t=Object.values(e).filter(s=>typeof s=="number");return Object.entries(e).filter(([s,r])=>t.indexOf(+s)===-1).map(([s,r])=>r)}function ex(e,t){return typeof t=="bigint"?t.toString():t}function Ym(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Ob(e){return e==null}function $b(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function W4(e,t){const n=(e.toString().split(".")[1]||"").length,s=t.toString();let r=(s.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(s)){const h=s.match(/\d?e-(\d?)/);h?.[1]&&(r=Number.parseInt(h[1]))}const o=n>r?n:r,c=Number.parseInt(e.toFixed(o).replace(".","")),u=Number.parseInt(t.toFixed(o).replace(".",""));return c%u/10**o}const CN=Symbol("evaluating");function Ot(e,t,n){let s;Object.defineProperty(e,t,{get(){if(s!==CN)return s===void 0&&(s=CN,s=n()),s},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function So(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ei(...e){const t={};for(const n of e){const s=Object.getOwnPropertyDescriptors(n);Object.assign(t,s)}return Object.defineProperties({},t)}function EN(e){return JSON.stringify(e)}function G4(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const uM="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Uu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Z4=Ym(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Kl(e){if(Uu(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(Uu(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function dM(e){return Kl(e)?{...e}:Array.isArray(e)?[...e]:e}const K4=new Set(["string","number","symbol"]);function Yl(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ti(e,t,n){const s=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(s._zod.parent=e),s}function Xe(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Y4(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const X4={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function J4(e,t){const n=e._zod.def,s=n.checks;if(s&&s.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const o=Ei(e._zod.def,{get shape(){const c={};for(const u in t){if(!(u in n.shape))throw new Error(`Unrecognized key: "${u}"`);t[u]&&(c[u]=n.shape[u])}return So(this,"shape",c),c},checks:[]});return Ti(e,o)}function Q4(e,t){const n=e._zod.def,s=n.checks;if(s&&s.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=Ei(e._zod.def,{get shape(){const c={...e._zod.def.shape};for(const u in t){if(!(u in n.shape))throw new Error(`Unrecognized key: "${u}"`);t[u]&&delete c[u]}return So(this,"shape",c),c},checks:[]});return Ti(e,o)}function ez(e,t){if(!Kl(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const o=e._zod.def.shape;for(const c in t)if(Object.getOwnPropertyDescriptor(o,c)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const r=Ei(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return So(this,"shape",o),o}});return Ti(e,r)}function tz(e,t){if(!Kl(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=Ei(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return So(this,"shape",s),s}});return Ti(e,n)}function nz(e,t){const n=Ei(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t._zod.def.shape};return So(this,"shape",s),s},get catchall(){return t._zod.def.catchall},checks:[]});return Ti(e,n)}function sz(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const c=Ei(t._zod.def,{get shape(){const u=t._zod.def.shape,h={...u};if(n)for(const f in n){if(!(f in u))throw new Error(`Unrecognized key: "${f}"`);n[f]&&(h[f]=e?new e({type:"optional",innerType:u[f]}):u[f])}else for(const f in u)h[f]=e?new e({type:"optional",innerType:u[f]}):u[f];return So(this,"shape",h),h},checks:[]});return Ti(t,c)}function az(e,t,n){const s=Ei(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const c in n){if(!(c in o))throw new Error(`Unrecognized key: "${c}"`);n[c]&&(o[c]=new e({type:"nonoptional",innerType:r[c]}))}else for(const c in r)o[c]=new e({type:"nonoptional",innerType:r[c]});return So(this,"shape",o),o}});return Ti(t,s)}function Al(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Ml(e,t){return t.map(n=>{var s;return(s=n).path??(s.path=[]),n.path.unshift(e),n})}function If(e){return typeof e=="string"?e:e?.message}function ji(e,t,n){const s={...e,path:e.path??[]};if(!e.message){const r=If(e.inst?._zod.def?.error?.(e))??If(t?.error?.(e))??If(n.customError?.(e))??If(n.localeError?.(e))??"Invalid input";s.message=r}return delete s.inst,delete s.continue,t?.reportInput||delete s.input,s}function Pb(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Vu(...e){const[t,n,s]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:s}:{...t}}const fM=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ex,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},hM=be("$ZodError",fM),mM=be("$ZodError",fM,{Parent:Error});function rz(e,t=n=>n.message){const n={},s=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):s.push(t(r));return{formErrors:s,fieldErrors:n}}function iz(e,t=n=>n.message){const n={_errors:[]},s=r=>{for(const o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(c=>s({issues:c}));else if(o.code==="invalid_key")s({issues:o.issues});else if(o.code==="invalid_element")s({issues:o.issues});else if(o.path.length===0)n._errors.push(t(o));else{let c=n,u=0;for(;u<o.path.length;){const h=o.path[u];u===o.path.length-1?(c[h]=c[h]||{_errors:[]},c[h]._errors.push(t(o))):c[h]=c[h]||{_errors:[]},c=c[h],u++}}};return s(e),n}const Db=e=>(t,n,s,r)=>{const o=s?Object.assign(s,{async:!1}):{async:!1},c=t._zod.run({value:n,issues:[]},o);if(c instanceof Promise)throw new Pl;if(c.issues.length){const u=new(r?.Err??e)(c.issues.map(h=>ji(h,o,wi())));throw uM(u,r?.callee),u}return c.value},Lb=e=>async(t,n,s,r)=>{const o=s?Object.assign(s,{async:!0}):{async:!0};let c=t._zod.run({value:n,issues:[]},o);if(c instanceof Promise&&(c=await c),c.issues.length){const u=new(r?.Err??e)(c.issues.map(h=>ji(h,o,wi())));throw uM(u,r?.callee),u}return c.value},Xm=e=>(t,n,s)=>{const r=s?{...s,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new Pl;return o.issues.length?{success:!1,error:new(e??hM)(o.issues.map(c=>ji(c,r,wi())))}:{success:!0,data:o.value}},oz=Xm(mM),Jm=e=>async(t,n,s)=>{const r=s?Object.assign(s,{async:!0}):{async:!0};let o=t._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(c=>ji(c,r,wi())))}:{success:!0,data:o.value}},lz=Jm(mM),cz=e=>(t,n,s)=>{const r=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Db(e)(t,n,r)},uz=e=>(t,n,s)=>Db(e)(t,n,s),dz=e=>async(t,n,s)=>{const r=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Lb(e)(t,n,r)},fz=e=>async(t,n,s)=>Lb(e)(t,n,s),hz=e=>(t,n,s)=>{const r=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Xm(e)(t,n,r)},mz=e=>(t,n,s)=>Xm(e)(t,n,s),pz=e=>async(t,n,s)=>{const r=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Jm(e)(t,n,r)},gz=e=>async(t,n,s)=>Jm(e)(t,n,s),vz=/^[cC][^\s-]{8,}$/,yz=/^[0-9a-z]+$/,xz=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bz=/^[0-9a-vA-V]{20}$/,wz=/^[A-Za-z0-9]{27}$/,jz=/^[a-zA-Z0-9_-]{21}$/,kz=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Nz=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,TN=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Sz=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Cz="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ez(){return new RegExp(Cz,"u")}const Tz=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Az=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Mz=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Rz=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Iz=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,pM=/^[A-Za-z0-9_-]*$/,_z=/^\+[1-9]\d{6,14}$/,gM="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Oz=new RegExp(`^${gM}$`);function vM(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function $z(e){return new RegExp(`^${vM(e)}$`)}function Pz(e){const t=vM({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const s=`${t}(?:${n.join("|")})`;return new RegExp(`^${gM}T(?:${s})$`)}const Dz=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Lz=/^-?\d+$/,yM=/^-?\d+(?:\.\d+)?$/,zz=/^(?:true|false)$/i,Bz=/^null$/i,Uz=/^[^A-Z]*$/,Vz=/^[^a-z]*$/,Cs=be("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),xM={number:"number",bigint:"bigint",object:"date"},bM=be("$ZodCheckLessThan",(e,t)=>{Cs.init(e,t);const n=xM[typeof t.value];e._zod.onattach.push(s=>{const r=s._zod.bag,o=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=s=>{(t.inclusive?s.value<=t.value:s.value<t.value)||s.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:s.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),wM=be("$ZodCheckGreaterThan",(e,t)=>{Cs.init(e,t);const n=xM[typeof t.value];e._zod.onattach.push(s=>{const r=s._zod.bag,o=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=s=>{(t.inclusive?s.value>=t.value:s.value>t.value)||s.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:s.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Fz=be("$ZodCheckMultipleOf",(e,t)=>{Cs.init(e,t),e._zod.onattach.push(n=>{var s;(s=n._zod.bag).multipleOf??(s.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):W4(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Hz=be("$ZodCheckNumberFormat",(e,t)=>{Cs.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),s=n?"int":"number",[r,o]=X4[t.format];e._zod.onattach.push(c=>{const u=c._zod.bag;u.format=t.format,u.minimum=r,u.maximum=o,n&&(u.pattern=Lz)}),e._zod.check=c=>{const u=c.value;if(n){if(!Number.isInteger(u)){c.issues.push({expected:s,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){u>0?c.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:s,inclusive:!0,continue:!t.abort}):c.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:s,inclusive:!0,continue:!t.abort});return}}u<r&&c.issues.push({origin:"number",input:u,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),u>o&&c.issues.push({origin:"number",input:u,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),qz=be("$ZodCheckMaxLength",(e,t)=>{var n;Cs.init(e,t),(n=e._zod.def).when??(n.when=s=>{const r=s.value;return!Ob(r)&&r.length!==void 0}),e._zod.onattach.push(s=>{const r=s._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(s._zod.bag.maximum=t.maximum)}),e._zod.check=s=>{const r=s.value;if(r.length<=t.maximum)return;const c=Pb(r);s.issues.push({origin:c,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Wz=be("$ZodCheckMinLength",(e,t)=>{var n;Cs.init(e,t),(n=e._zod.def).when??(n.when=s=>{const r=s.value;return!Ob(r)&&r.length!==void 0}),e._zod.onattach.push(s=>{const r=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(s._zod.bag.minimum=t.minimum)}),e._zod.check=s=>{const r=s.value;if(r.length>=t.minimum)return;const c=Pb(r);s.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Gz=be("$ZodCheckLengthEquals",(e,t)=>{var n;Cs.init(e,t),(n=e._zod.def).when??(n.when=s=>{const r=s.value;return!Ob(r)&&r.length!==void 0}),e._zod.onattach.push(s=>{const r=s._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=s=>{const r=s.value,o=r.length;if(o===t.length)return;const c=Pb(r),u=o>t.length;s.issues.push({origin:c,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:s.value,inst:e,continue:!t.abort})}}),Qm=be("$ZodCheckStringFormat",(e,t)=>{var n,s;Cs.init(e,t),e._zod.onattach.push(r=>{const o=r._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(s=e._zod).check??(s.check=()=>{})}),Zz=be("$ZodCheckRegex",(e,t)=>{Qm.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Kz=be("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Uz),Qm.init(e,t)}),Yz=be("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Vz),Qm.init(e,t)}),Xz=be("$ZodCheckIncludes",(e,t)=>{Cs.init(e,t);const n=Yl(t.includes),s=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=s,e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(s)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),Jz=be("$ZodCheckStartsWith",(e,t)=>{Cs.init(e,t);const n=new RegExp(`^${Yl(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(s=>{const r=s._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=s=>{s.value.startsWith(t.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:s.value,inst:e,continue:!t.abort})}}),Qz=be("$ZodCheckEndsWith",(e,t)=>{Cs.init(e,t);const n=new RegExp(`.*${Yl(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(s=>{const r=s._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=s=>{s.value.endsWith(t.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:s.value,inst:e,continue:!t.abort})}}),e3=be("$ZodCheckOverwrite",(e,t)=>{Cs.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class t3{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const s=t.split(`
|
|
12
|
+
`).filter(c=>c),r=Math.min(...s.map(c=>c.length-c.trimStart().length)),o=s.map(c=>c.slice(r)).map(c=>" ".repeat(this.indent*2)+c);for(const c of o)this.content.push(c)}compile(){const t=Function,n=this?.args,r=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...n,r.join(`
|
|
13
|
+
`))}}const n3={major:4,minor:3,patch:6},hn=be("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=n3;const s=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&s.unshift(e);for(const r of s)for(const o of r._zod.onattach)o(e);if(s.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const r=(c,u,h)=>{let f=Al(c),g;for(const v of u){if(v._zod.def.when){if(!v._zod.def.when(c))continue}else if(f)continue;const y=c.issues.length,x=v._zod.check(c);if(x instanceof Promise&&h?.async===!1)throw new Pl;if(g||x instanceof Promise)g=(g??Promise.resolve()).then(async()=>{await x,c.issues.length!==y&&(f||(f=Al(c,y)))});else{if(c.issues.length===y)continue;f||(f=Al(c,y))}}return g?g.then(()=>c):c},o=(c,u,h)=>{if(Al(c))return c.aborted=!0,c;const f=r(u,s,h);if(f instanceof Promise){if(h.async===!1)throw new Pl;return f.then(g=>e._zod.parse(g,h))}return e._zod.parse(f,h)};e._zod.run=(c,u)=>{if(u.skipChecks)return e._zod.parse(c,u);if(u.direction==="backward"){const f=e._zod.parse({value:c.value,issues:[]},{...u,skipChecks:!0});return f instanceof Promise?f.then(g=>o(g,c,u)):o(f,c,u)}const h=e._zod.parse(c,u);if(h instanceof Promise){if(u.async===!1)throw new Pl;return h.then(f=>r(f,s,u))}return r(h,s,u)}}Ot(e,"~standard",()=>({validate:r=>{try{const o=oz(e,r);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return lz(e,r).then(c=>c.success?{value:c.data}:{issues:c.error?.issues})}},vendor:"zod",version:1}))}),zb=be("$ZodString",(e,t)=>{hn.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Dz(e._zod.bag),e._zod.parse=(n,s)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),yn=be("$ZodStringFormat",(e,t)=>{Qm.init(e,t),zb.init(e,t)}),s3=be("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Nz),yn.init(e,t)}),a3=be("$ZodUUID",(e,t)=>{if(t.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(s===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=TN(s))}else t.pattern??(t.pattern=TN());yn.init(e,t)}),r3=be("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Sz),yn.init(e,t)}),i3=be("$ZodURL",(e,t)=>{yn.init(e,t),e._zod.check=n=>{try{const s=n.value.trim(),r=new URL(s);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),o3=be("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ez()),yn.init(e,t)}),l3=be("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=jz),yn.init(e,t)}),c3=be("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=vz),yn.init(e,t)}),u3=be("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=yz),yn.init(e,t)}),d3=be("$ZodULID",(e,t)=>{t.pattern??(t.pattern=xz),yn.init(e,t)}),f3=be("$ZodXID",(e,t)=>{t.pattern??(t.pattern=bz),yn.init(e,t)}),h3=be("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=wz),yn.init(e,t)}),m3=be("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Pz(t)),yn.init(e,t)}),p3=be("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Oz),yn.init(e,t)}),g3=be("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=$z(t)),yn.init(e,t)}),v3=be("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=kz),yn.init(e,t)}),y3=be("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Tz),yn.init(e,t),e._zod.bag.format="ipv4"}),x3=be("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Az),yn.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),b3=be("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Mz),yn.init(e,t)}),w3=be("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Rz),yn.init(e,t),e._zod.check=n=>{const s=n.value.split("/");try{if(s.length!==2)throw new Error;const[r,o]=s;if(!o)throw new Error;const c=Number(o);if(`${c}`!==o)throw new Error;if(c<0||c>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function jM(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const j3=be("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Iz),yn.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{jM(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function k3(e){if(!pM.test(e))return!1;const t=e.replace(/[-_]/g,s=>s==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return jM(n)}const N3=be("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=pM),yn.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{k3(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),S3=be("$ZodE164",(e,t)=>{t.pattern??(t.pattern=_z),yn.init(e,t)});function C3(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[s]=n;if(!s)return!1;const r=JSON.parse(atob(s));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}const E3=be("$ZodJWT",(e,t)=>{yn.init(e,t),e._zod.check=n=>{C3(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),kM=be("$ZodNumber",(e,t)=>{hn.init(e,t),e._zod.pattern=e._zod.bag.pattern??yM,e._zod.parse=(n,s)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;const o=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),T3=be("$ZodNumberFormat",(e,t)=>{Hz.init(e,t),kM.init(e,t)}),A3=be("$ZodBoolean",(e,t)=>{hn.init(e,t),e._zod.pattern=zz,e._zod.parse=(n,s)=>{if(t.coerce)try{n.value=!!n.value}catch{}const r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),M3=be("$ZodNull",(e,t)=>{hn.init(e,t),e._zod.pattern=Bz,e._zod.values=new Set([null]),e._zod.parse=(n,s)=>{const r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),R3=be("$ZodUnknown",(e,t)=>{hn.init(e,t),e._zod.parse=n=>n}),I3=be("$ZodNever",(e,t)=>{hn.init(e,t),e._zod.parse=(n,s)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function AN(e,t,n){e.issues.length&&t.issues.push(...Ml(n,e.issues)),t.value[n]=e.value}const _3=be("$ZodArray",(e,t)=>{hn.init(e,t),e._zod.parse=(n,s)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const o=[];for(let c=0;c<r.length;c++){const u=r[c],h=t.element._zod.run({value:u,issues:[]},s);h instanceof Promise?o.push(h.then(f=>AN(f,n,c))):AN(h,n,c)}return o.length?Promise.all(o).then(()=>n):n}});function Qh(e,t,n,s,r){if(e.issues.length){if(r&&!(n in s))return;t.issues.push(...Ml(n,e.issues))}e.value===void 0?n in s&&(t.value[n]=void 0):t.value[n]=e.value}function NM(e){const t=Object.keys(e.shape);for(const s of t)if(!e.shape?.[s]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${s}": expected a Zod schema`);const n=Y4(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function SM(e,t,n,s,r,o){const c=[],u=r.keySet,h=r.catchall._zod,f=h.def.type,g=h.optout==="optional";for(const v in t){if(u.has(v))continue;if(f==="never"){c.push(v);continue}const y=h.run({value:t[v],issues:[]},s);y instanceof Promise?e.push(y.then(x=>Qh(x,n,v,t,g))):Qh(y,n,v,t,g)}return c.length&&n.issues.push({code:"unrecognized_keys",keys:c,input:t,inst:o}),e.length?Promise.all(e).then(()=>n):n}const O3=be("$ZodObject",(e,t)=>{if(hn.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const u=t.shape;Object.defineProperty(t,"shape",{get:()=>{const h={...u};return Object.defineProperty(t,"shape",{value:h}),h}})}const s=Ym(()=>NM(t));Ot(e._zod,"propValues",()=>{const u=t.shape,h={};for(const f in u){const g=u[f]._zod;if(g.values){h[f]??(h[f]=new Set);for(const v of g.values)h[f].add(v)}}return h});const r=Uu,o=t.catchall;let c;e._zod.parse=(u,h)=>{c??(c=s.value);const f=u.value;if(!r(f))return u.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),u;u.value={};const g=[],v=c.shape;for(const y of c.keys){const x=v[y],w=x._zod.optout==="optional",k=x._zod.run({value:f[y],issues:[]},h);k instanceof Promise?g.push(k.then(C=>Qh(C,u,y,f,w))):Qh(k,u,y,f,w)}return o?SM(g,f,u,h,s.value,e):g.length?Promise.all(g).then(()=>u):u}}),$3=be("$ZodObjectJIT",(e,t)=>{O3.init(e,t);const n=e._zod.parse,s=Ym(()=>NM(t)),r=y=>{const x=new t3(["shape","payload","ctx"]),w=s.value,k=N=>{const E=EN(N);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};x.write("const input = payload.value;");const C=Object.create(null);let T=0;for(const N of w.keys)C[N]=`key_${T++}`;x.write("const newResult = {};");for(const N of w.keys){const E=C[N],A=EN(N),M=y[N]?._zod?.optout==="optional";x.write(`const ${E} = ${k(N)};`),M?x.write(`
|
|
14
|
+
if (${E}.issues.length) {
|
|
15
|
+
if (${A} in input) {
|
|
16
|
+
payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
|
|
17
|
+
...iss,
|
|
18
|
+
path: iss.path ? [${A}, ...iss.path] : [${A}]
|
|
19
|
+
})));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (${E}.value === undefined) {
|
|
24
|
+
if (${A} in input) {
|
|
25
|
+
newResult[${A}] = undefined;
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
newResult[${A}] = ${E}.value;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
`):x.write(`
|
|
32
|
+
if (${E}.issues.length) {
|
|
33
|
+
payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
|
|
34
|
+
...iss,
|
|
35
|
+
path: iss.path ? [${A}, ...iss.path] : [${A}]
|
|
36
|
+
})));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (${E}.value === undefined) {
|
|
40
|
+
if (${A} in input) {
|
|
41
|
+
newResult[${A}] = undefined;
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
newResult[${A}] = ${E}.value;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
`)}x.write("payload.value = newResult;"),x.write("return payload;");const S=x.compile();return(N,E)=>S(y,N,E)};let o;const c=Uu,u=!lM.jitless,f=u&&Z4.value,g=t.catchall;let v;e._zod.parse=(y,x)=>{v??(v=s.value);const w=y.value;return c(w)?u&&f&&x?.async===!1&&x.jitless!==!0?(o||(o=r(t.shape)),y=o(y,x),g?SM([],w,y,x,v,e):y):n(y,x):(y.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),y)}});function MN(e,t,n,s){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;const r=e.filter(o=>!Al(o));return r.length===1?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(o=>o.issues.map(c=>ji(c,s,wi())))}),t)}const CM=be("$ZodUnion",(e,t)=>{hn.init(e,t),Ot(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Ot(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Ot(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),Ot(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${r.map(o=>$b(o.source)).join("|")})$`)}});const n=t.options.length===1,s=t.options[0]._zod.run;e._zod.parse=(r,o)=>{if(n)return s(r,o);let c=!1;const u=[];for(const h of t.options){const f=h._zod.run({value:r.value,issues:[]},o);if(f instanceof Promise)u.push(f),c=!0;else{if(f.issues.length===0)return f;u.push(f)}}return c?Promise.all(u).then(h=>MN(h,r,e,o)):MN(u,r,e,o)}}),P3=be("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,CM.init(e,t);const n=e._zod.parse;Ot(e._zod,"propValues",()=>{const r={};for(const o of t.options){const c=o._zod.propValues;if(!c||Object.keys(c).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const[u,h]of Object.entries(c)){r[u]||(r[u]=new Set);for(const f of h)r[u].add(f)}}return r});const s=Ym(()=>{const r=t.options,o=new Map;for(const c of r){const u=c._zod.propValues?.[t.discriminator];if(!u||u.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(c)}"`);for(const h of u){if(o.has(h))throw new Error(`Duplicate discriminator value "${String(h)}"`);o.set(h,c)}}return o});e._zod.parse=(r,o)=>{const c=r.value;if(!Uu(c))return r.issues.push({code:"invalid_type",expected:"object",input:c,inst:e}),r;const u=s.value.get(c?.[t.discriminator]);return u?u._zod.run(r,o):t.unionFallback?n(r,o):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:c,path:[t.discriminator],inst:e}),r)}}),D3=be("$ZodIntersection",(e,t)=>{hn.init(e,t),e._zod.parse=(n,s)=>{const r=n.value,o=t.left._zod.run({value:r,issues:[]},s),c=t.right._zod.run({value:r,issues:[]},s);return o instanceof Promise||c instanceof Promise?Promise.all([o,c]).then(([h,f])=>RN(n,h,f)):RN(n,o,c)}});function tx(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Kl(e)&&Kl(t)){const n=Object.keys(t),s=Object.keys(e).filter(o=>n.indexOf(o)!==-1),r={...e,...t};for(const o of s){const c=tx(e[o],t[o]);if(!c.valid)return{valid:!1,mergeErrorPath:[o,...c.mergeErrorPath]};r[o]=c.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let s=0;s<e.length;s++){const r=e[s],o=t[s],c=tx(r,o);if(!c.valid)return{valid:!1,mergeErrorPath:[s,...c.mergeErrorPath]};n.push(c.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function RN(e,t,n){const s=new Map;let r;for(const u of t.issues)if(u.code==="unrecognized_keys"){r??(r=u);for(const h of u.keys)s.has(h)||s.set(h,{}),s.get(h).l=!0}else e.issues.push(u);for(const u of n.issues)if(u.code==="unrecognized_keys")for(const h of u.keys)s.has(h)||s.set(h,{}),s.get(h).r=!0;else e.issues.push(u);const o=[...s].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(o.length&&r&&e.issues.push({...r,keys:o}),Al(e))return e;const c=tx(t.value,n.value);if(!c.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`);return e.value=c.data,e}const L3=be("$ZodRecord",(e,t)=>{hn.init(e,t),e._zod.parse=(n,s)=>{const r=n.value;if(!Kl(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const o=[],c=t.keyType._zod.values;if(c){n.value={};const u=new Set;for(const f of c)if(typeof f=="string"||typeof f=="number"||typeof f=="symbol"){u.add(typeof f=="number"?f.toString():f);const g=t.valueType._zod.run({value:r[f],issues:[]},s);g instanceof Promise?o.push(g.then(v=>{v.issues.length&&n.issues.push(...Ml(f,v.issues)),n.value[f]=v.value})):(g.issues.length&&n.issues.push(...Ml(f,g.issues)),n.value[f]=g.value)}let h;for(const f in r)u.has(f)||(h=h??[],h.push(f));h&&h.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:h})}else{n.value={};for(const u of Reflect.ownKeys(r)){if(u==="__proto__")continue;let h=t.keyType._zod.run({value:u,issues:[]},s);if(h instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&yM.test(u)&&h.issues.length){const v=t.keyType._zod.run({value:Number(u),issues:[]},s);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");v.issues.length===0&&(h=v)}if(h.issues.length){t.mode==="loose"?n.value[u]=r[u]:n.issues.push({code:"invalid_key",origin:"record",issues:h.issues.map(v=>ji(v,s,wi())),input:u,path:[u],inst:e});continue}const g=t.valueType._zod.run({value:r[u],issues:[]},s);g instanceof Promise?o.push(g.then(v=>{v.issues.length&&n.issues.push(...Ml(u,v.issues)),n.value[h.value]=v.value})):(g.issues.length&&n.issues.push(...Ml(u,g.issues)),n.value[h.value]=g.value)}}return o.length?Promise.all(o).then(()=>n):n}}),z3=be("$ZodEnum",(e,t)=>{hn.init(e,t);const n=cM(t.entries),s=new Set(n);e._zod.values=s,e._zod.pattern=new RegExp(`^(${n.filter(r=>K4.has(typeof r)).map(r=>typeof r=="string"?Yl(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{const c=r.value;return s.has(c)||r.issues.push({code:"invalid_value",values:n,input:c,inst:e}),r}}),B3=be("$ZodLiteral",(e,t)=>{if(hn.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(s=>typeof s=="string"?Yl(s):s?Yl(s.toString()):String(s)).join("|")})$`),e._zod.parse=(s,r)=>{const o=s.value;return n.has(o)||s.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),s}}),U3=be("$ZodTransform",(e,t)=>{hn.init(e,t),e._zod.parse=(n,s)=>{if(s.direction==="backward")throw new oM(e.constructor.name);const r=t.transform(n.value,n);if(s.async)return(r instanceof Promise?r:Promise.resolve(r)).then(c=>(n.value=c,n));if(r instanceof Promise)throw new Pl;return n.value=r,n}});function IN(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const EM=be("$ZodOptional",(e,t)=>{hn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ot(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ot(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${$b(n.source)})?$`):void 0}),e._zod.parse=(n,s)=>{if(t.innerType._zod.optin==="optional"){const r=t.innerType._zod.run(n,s);return r instanceof Promise?r.then(o=>IN(o,n.value)):IN(r,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,s)}}),V3=be("$ZodExactOptional",(e,t)=>{EM.init(e,t),Ot(e._zod,"values",()=>t.innerType._zod.values),Ot(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,s)=>t.innerType._zod.run(n,s)}),F3=be("$ZodNullable",(e,t)=>{hn.init(e,t),Ot(e._zod,"optin",()=>t.innerType._zod.optin),Ot(e._zod,"optout",()=>t.innerType._zod.optout),Ot(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${$b(n.source)}|null)$`):void 0}),Ot(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,s)=>n.value===null?n:t.innerType._zod.run(n,s)}),H3=be("$ZodDefault",(e,t)=>{hn.init(e,t),e._zod.optin="optional",Ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);if(n.value===void 0)return n.value=t.defaultValue,n;const r=t.innerType._zod.run(n,s);return r instanceof Promise?r.then(o=>_N(o,t)):_N(r,t)}});function _N(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const q3=be("$ZodPrefault",(e,t)=>{hn.init(e,t),e._zod.optin="optional",Ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>(s.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,s))}),W3=be("$ZodNonOptional",(e,t)=>{hn.init(e,t),Ot(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(s=>s!==void 0)):void 0}),e._zod.parse=(n,s)=>{const r=t.innerType._zod.run(n,s);return r instanceof Promise?r.then(o=>ON(o,e)):ON(r,e)}});function ON(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const G3=be("$ZodCatch",(e,t)=>{hn.init(e,t),Ot(e._zod,"optin",()=>t.innerType._zod.optin),Ot(e._zod,"optout",()=>t.innerType._zod.optout),Ot(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);const r=t.innerType._zod.run(n,s);return r instanceof Promise?r.then(o=>(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(c=>ji(c,s,wi()))},input:n.value}),n.issues=[]),n)):(n.value=r.value,r.issues.length&&(n.value=t.catchValue({...n,error:{issues:r.issues.map(o=>ji(o,s,wi()))},input:n.value}),n.issues=[]),n)}}),Z3=be("$ZodPipe",(e,t)=>{hn.init(e,t),Ot(e._zod,"values",()=>t.in._zod.values),Ot(e._zod,"optin",()=>t.in._zod.optin),Ot(e._zod,"optout",()=>t.out._zod.optout),Ot(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,s)=>{if(s.direction==="backward"){const o=t.out._zod.run(n,s);return o instanceof Promise?o.then(c=>_f(c,t.in,s)):_f(o,t.in,s)}const r=t.in._zod.run(n,s);return r instanceof Promise?r.then(o=>_f(o,t.out,s)):_f(r,t.out,s)}});function _f(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const K3=be("$ZodReadonly",(e,t)=>{hn.init(e,t),Ot(e._zod,"propValues",()=>t.innerType._zod.propValues),Ot(e._zod,"values",()=>t.innerType._zod.values),Ot(e._zod,"optin",()=>t.innerType?._zod?.optin),Ot(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);const r=t.innerType._zod.run(n,s);return r instanceof Promise?r.then($N):$N(r)}});function $N(e){return e.value=Object.freeze(e.value),e}const Y3=be("$ZodLazy",(e,t)=>{hn.init(e,t),Ot(e._zod,"innerType",()=>t.getter()),Ot(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Ot(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Ot(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Ot(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,s)=>e._zod.innerType._zod.run(n,s)}),X3=be("$ZodCustom",(e,t)=>{Cs.init(e,t),hn.init(e,t),e._zod.parse=(n,s)=>n,e._zod.check=n=>{const s=n.value,r=t.fn(s);if(r instanceof Promise)return r.then(o=>PN(o,n,s,e));PN(r,n,s,e)}});function PN(e,t,n,s){if(!e){const r={code:"custom",input:n,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(r.params=s._zod.def.params),t.issues.push(Vu(r))}}var DN;class J3{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const s=n[0];return this._map.set(t,s),s&&typeof s=="object"&&"id"in s&&this._idmap.set(s.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const s={...this.get(n)??{}};delete s.id;const r={...s,...this._map.get(t)};return Object.keys(r).length?r:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Q3(){return new J3}(DN=globalThis).__zod_globalRegistry??(DN.__zod_globalRegistry=Q3());const pu=globalThis.__zod_globalRegistry;function e6(e,t){return new e({type:"string",...Xe(t)})}function t6(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Xe(t)})}function LN(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Xe(t)})}function n6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Xe(t)})}function s6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Xe(t)})}function a6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Xe(t)})}function r6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Xe(t)})}function i6(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Xe(t)})}function o6(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Xe(t)})}function l6(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Xe(t)})}function c6(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Xe(t)})}function u6(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Xe(t)})}function d6(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Xe(t)})}function f6(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Xe(t)})}function h6(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Xe(t)})}function m6(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Xe(t)})}function p6(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Xe(t)})}function g6(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Xe(t)})}function v6(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Xe(t)})}function y6(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Xe(t)})}function x6(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Xe(t)})}function b6(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Xe(t)})}function w6(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Xe(t)})}function j6(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Xe(t)})}function k6(e,t){return new e({type:"string",format:"date",check:"string_format",...Xe(t)})}function N6(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Xe(t)})}function S6(e,t){return new e({type:"string",format:"duration",check:"string_format",...Xe(t)})}function C6(e,t){return new e({type:"number",checks:[],...Xe(t)})}function E6(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Xe(t)})}function T6(e,t){return new e({type:"boolean",...Xe(t)})}function A6(e,t){return new e({type:"null",...Xe(t)})}function M6(e){return new e({type:"unknown"})}function R6(e,t){return new e({type:"never",...Xe(t)})}function zN(e,t){return new bM({check:"less_than",...Xe(t),value:e,inclusive:!1})}function Dv(e,t){return new bM({check:"less_than",...Xe(t),value:e,inclusive:!0})}function BN(e,t){return new wM({check:"greater_than",...Xe(t),value:e,inclusive:!1})}function Lv(e,t){return new wM({check:"greater_than",...Xe(t),value:e,inclusive:!0})}function UN(e,t){return new Fz({check:"multiple_of",...Xe(t),value:e})}function TM(e,t){return new qz({check:"max_length",...Xe(t),maximum:e})}function em(e,t){return new Wz({check:"min_length",...Xe(t),minimum:e})}function AM(e,t){return new Gz({check:"length_equals",...Xe(t),length:e})}function I6(e,t){return new Zz({check:"string_format",format:"regex",...Xe(t),pattern:e})}function _6(e){return new Kz({check:"string_format",format:"lowercase",...Xe(e)})}function O6(e){return new Yz({check:"string_format",format:"uppercase",...Xe(e)})}function $6(e,t){return new Xz({check:"string_format",format:"includes",...Xe(t),includes:e})}function P6(e,t){return new Jz({check:"string_format",format:"starts_with",...Xe(t),prefix:e})}function D6(e,t){return new Qz({check:"string_format",format:"ends_with",...Xe(t),suffix:e})}function lc(e){return new e3({check:"overwrite",tx:e})}function L6(e){return lc(t=>t.normalize(e))}function z6(){return lc(e=>e.trim())}function B6(){return lc(e=>e.toLowerCase())}function U6(){return lc(e=>e.toUpperCase())}function V6(){return lc(e=>G4(e))}function F6(e,t,n){return new e({type:"array",element:t,...Xe(n)})}function H6(e,t,n){const s=Xe(n);return s.abort??(s.abort=!0),new e({type:"custom",check:"custom",fn:t,...s})}function q6(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Xe(n)})}function W6(e){const t=G6(n=>(n.addIssue=s=>{if(typeof s=="string")n.issues.push(Vu(s,n.value,t._zod.def));else{const r=s;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t),r.continue??(r.continue=!t._zod.def.abort),n.issues.push(Vu(r))}},e(n.value,n)));return t}function G6(e,t){const n=new Cs({check:"custom",...Xe(t)});return n._zod.check=e,n}function tm(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??pu,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function sn(e,t,n={path:[],schemaPath:[]}){var s;const r=e._zod.def,o=t.seen.get(e);if(o)return o.count++,n.schemaPath.includes(e)&&(o.cycle=n.path),o.schema;const c={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,c);const u=e._zod.toJSONSchema?.();if(u)c.schema=u;else{const g={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,c.schema,g);else{const y=c.schema,x=t.processors[r.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);x(e,t,y,g)}const v=e._zod.parent;v&&(c.ref||(c.ref=v),sn(v,t,g),t.seen.get(v).isParent=!0)}const h=t.metadataRegistry.get(e);return h&&Object.assign(c.schema,h),t.io==="input"&&us(e)&&(delete c.schema.examples,delete c.schema.default),t.io==="input"&&c.schema._prefault&&((s=c.schema).default??(s.default=c.schema._prefault)),delete c.schema._prefault,t.seen.get(e).schema}function nm(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const s=new Map;for(const c of e.seen.entries()){const u=e.metadataRegistry.get(c[0])?.id;if(u){const h=s.get(u);if(h&&h!==c[0])throw new Error(`Duplicate schema id "${u}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);s.set(u,c[0])}}const r=c=>{const u=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const v=e.external.registry.get(c[0])?.id,y=e.external.uri??(w=>w);if(v)return{ref:y(v)};const x=c[1].defId??c[1].schema.id??`schema${e.counter++}`;return c[1].defId=x,{defId:x,ref:`${y("__shared")}#/${u}/${x}`}}if(c[1]===n)return{ref:"#"};const f=`#/${u}/`,g=c[1].schema.id??`__schema${e.counter++}`;return{defId:g,ref:f+g}},o=c=>{if(c[1].schema.$ref)return;const u=c[1],{ref:h,defId:f}=r(c);u.def={...u.schema},f&&(u.defId=f);const g=u.schema;for(const v in g)delete g[v];g.$ref=h};if(e.cycles==="throw")for(const c of e.seen.entries()){const u=c[1];if(u.cycle)throw new Error(`Cycle detected: #/${u.cycle?.join("/")}/<root>
|
|
48
|
+
|
|
49
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const u=c[1];if(t===c[0]){o(c);continue}if(e.external){const f=e.external.registry.get(c[0])?.id;if(t!==c[0]&&f){o(c);continue}}if(e.metadataRegistry.get(c[0])?.id){o(c);continue}if(u.cycle){o(c);continue}if(u.count>1&&e.reused==="ref"){o(c);continue}}}function sm(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const s=c=>{const u=e.seen.get(c);if(u.ref===null)return;const h=u.def??u.schema,f={...h},g=u.ref;if(u.ref=null,g){s(g);const y=e.seen.get(g),x=y.schema;if(x.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(h.allOf=h.allOf??[],h.allOf.push(x)):Object.assign(h,x),Object.assign(h,f),c._zod.parent===g)for(const k in h)k==="$ref"||k==="allOf"||k in f||delete h[k];if(x.$ref&&y.def)for(const k in h)k==="$ref"||k==="allOf"||k in y.def&&JSON.stringify(h[k])===JSON.stringify(y.def[k])&&delete h[k]}const v=c._zod.parent;if(v&&v!==g){s(v);const y=e.seen.get(v);if(y?.schema.$ref&&(h.$ref=y.schema.$ref,y.def))for(const x in h)x==="$ref"||x==="allOf"||x in y.def&&JSON.stringify(h[x])===JSON.stringify(y.def[x])&&delete h[x]}e.override({zodSchema:c,jsonSchema:h,path:u.path??[]})};for(const c of[...e.seen.entries()].reverse())s(c[0]);const r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const c=e.external.registry.get(t)?.id;if(!c)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(c)}Object.assign(r,n.def??n.schema);const o=e.external?.defs??{};for(const c of e.seen.entries()){const u=c[1];u.def&&u.defId&&(o[u.defId]=u.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?r.$defs=o:r.definitions=o);try{const c=JSON.parse(JSON.stringify(r));return Object.defineProperty(c,"~standard",{value:{...t["~standard"],jsonSchema:{input:am(t,"input",e.processors),output:am(t,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function us(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const s=e._zod.def;if(s.type==="transform")return!0;if(s.type==="array")return us(s.element,n);if(s.type==="set")return us(s.valueType,n);if(s.type==="lazy")return us(s.getter(),n);if(s.type==="promise"||s.type==="optional"||s.type==="nonoptional"||s.type==="nullable"||s.type==="readonly"||s.type==="default"||s.type==="prefault")return us(s.innerType,n);if(s.type==="intersection")return us(s.left,n)||us(s.right,n);if(s.type==="record"||s.type==="map")return us(s.keyType,n)||us(s.valueType,n);if(s.type==="pipe")return us(s.in,n)||us(s.out,n);if(s.type==="object"){for(const r in s.shape)if(us(s.shape[r],n))return!0;return!1}if(s.type==="union"){for(const r of s.options)if(us(r,n))return!0;return!1}if(s.type==="tuple"){for(const r of s.items)if(us(r,n))return!0;return!!(s.rest&&us(s.rest,n))}return!1}const Z6=(e,t={})=>n=>{const s=tm({...n,processors:t});return sn(e,s),nm(s,e),sm(s,e)},am=(e,t,n={})=>s=>{const{libraryOptions:r,target:o}=s??{},c=tm({...r??{},target:o,io:t,processors:n});return sn(e,c),nm(c,e),sm(c,e)},K6={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},MM=(e,t,n,s)=>{const r=n;r.type="string";const{minimum:o,maximum:c,format:u,patterns:h,contentEncoding:f}=e._zod.bag;if(typeof o=="number"&&(r.minLength=o),typeof c=="number"&&(r.maxLength=c),u&&(r.format=K6[u]??u,r.format===""&&delete r.format,u==="time"&&delete r.format),f&&(r.contentEncoding=f),h&&h.size>0){const g=[...h];g.length===1?r.pattern=g[0].source:g.length>1&&(r.allOf=[...g.map(v=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:v.source}))])}},RM=(e,t,n,s)=>{const r=n,{minimum:o,maximum:c,format:u,multipleOf:h,exclusiveMaximum:f,exclusiveMinimum:g}=e._zod.bag;typeof u=="string"&&u.includes("int")?r.type="integer":r.type="number",typeof g=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(r.minimum=g,r.exclusiveMinimum=!0):r.exclusiveMinimum=g),typeof o=="number"&&(r.minimum=o,typeof g=="number"&&t.target!=="draft-04"&&(g>=o?delete r.minimum:delete r.exclusiveMinimum)),typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(r.maximum=f,r.exclusiveMaximum=!0):r.exclusiveMaximum=f),typeof c=="number"&&(r.maximum=c,typeof f=="number"&&t.target!=="draft-04"&&(f<=c?delete r.maximum:delete r.exclusiveMaximum)),typeof h=="number"&&(r.multipleOf=h)},IM=(e,t,n,s)=>{n.type="boolean"},Y6=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},X6=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},_M=(e,t,n,s)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},J6=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Q6=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},OM=(e,t,n,s)=>{n.not={}},eB=(e,t,n,s)=>{},$M=(e,t,n,s)=>{},tB=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},PM=(e,t,n,s)=>{const r=e._zod.def,o=cM(r.entries);o.every(c=>typeof c=="number")&&(n.type="number"),o.every(c=>typeof c=="string")&&(n.type="string"),n.enum=o},DM=(e,t,n,s)=>{const r=e._zod.def,o=[];for(const c of r.values)if(c===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof c=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(c))}else o.push(c);if(o.length!==0)if(o.length===1){const c=o[0];n.type=c===null?"null":typeof c,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[c]:n.const=c}else o.every(c=>typeof c=="number")&&(n.type="number"),o.every(c=>typeof c=="string")&&(n.type="string"),o.every(c=>typeof c=="boolean")&&(n.type="boolean"),o.every(c=>c===null)&&(n.type="null"),n.enum=o},nB=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},sB=(e,t,n,s)=>{const r=n,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");r.type="string",r.pattern=o.source},aB=(e,t,n,s)=>{const r=n,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:c,maximum:u,mime:h}=e._zod.bag;c!==void 0&&(o.minLength=c),u!==void 0&&(o.maxLength=u),h?h.length===1?(o.contentMediaType=h[0],Object.assign(r,o)):(Object.assign(r,o),r.anyOf=h.map(f=>({contentMediaType:f}))):Object.assign(r,o)},rB=(e,t,n,s)=>{n.type="boolean"},LM=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},iB=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},zM=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},oB=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},lB=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},BM=(e,t,n,s)=>{const r=n,o=e._zod.def,{minimum:c,maximum:u}=e._zod.bag;typeof c=="number"&&(r.minItems=c),typeof u=="number"&&(r.maxItems=u),r.type="array",r.items=sn(o.element,t,{...s,path:[...s.path,"items"]})},UM=(e,t,n,s)=>{const r=n,o=e._zod.def;r.type="object",r.properties={};const c=o.shape;for(const f in c)r.properties[f]=sn(c[f],t,{...s,path:[...s.path,"properties",f]});const u=new Set(Object.keys(c)),h=new Set([...u].filter(f=>{const g=o.shape[f]._zod;return t.io==="input"?g.optin===void 0:g.optout===void 0}));h.size>0&&(r.required=Array.from(h)),o.catchall?._zod.def.type==="never"?r.additionalProperties=!1:o.catchall?o.catchall&&(r.additionalProperties=sn(o.catchall,t,{...s,path:[...s.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},VM=(e,t,n,s)=>{const r=e._zod.def,o=r.inclusive===!1,c=r.options.map((u,h)=>sn(u,t,{...s,path:[...s.path,o?"oneOf":"anyOf",h]}));o?n.oneOf=c:n.anyOf=c},FM=(e,t,n,s)=>{const r=e._zod.def,o=sn(r.left,t,{...s,path:[...s.path,"allOf",0]}),c=sn(r.right,t,{...s,path:[...s.path,"allOf",1]}),u=f=>"allOf"in f&&Object.keys(f).length===1,h=[...u(o)?o.allOf:[o],...u(c)?c.allOf:[c]];n.allOf=h},cB=(e,t,n,s)=>{const r=n,o=e._zod.def;r.type="array";const c=t.target==="draft-2020-12"?"prefixItems":"items",u=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",h=o.items.map((y,x)=>sn(y,t,{...s,path:[...s.path,c,x]})),f=o.rest?sn(o.rest,t,{...s,path:[...s.path,u,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(r.prefixItems=h,f&&(r.items=f)):t.target==="openapi-3.0"?(r.items={anyOf:h},f&&r.items.anyOf.push(f),r.minItems=h.length,f||(r.maxItems=h.length)):(r.items=h,f&&(r.additionalItems=f));const{minimum:g,maximum:v}=e._zod.bag;typeof g=="number"&&(r.minItems=g),typeof v=="number"&&(r.maxItems=v)},HM=(e,t,n,s)=>{const r=n,o=e._zod.def;r.type="object";const c=o.keyType,h=c._zod.bag?.patterns;if(o.mode==="loose"&&h&&h.size>0){const g=sn(o.valueType,t,{...s,path:[...s.path,"patternProperties","*"]});r.patternProperties={};for(const v of h)r.patternProperties[v.source]=g}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=sn(o.keyType,t,{...s,path:[...s.path,"propertyNames"]})),r.additionalProperties=sn(o.valueType,t,{...s,path:[...s.path,"additionalProperties"]});const f=c._zod.values;if(f){const g=[...f].filter(v=>typeof v=="string"||typeof v=="number");g.length>0&&(r.required=g)}},qM=(e,t,n,s)=>{const r=e._zod.def,o=sn(r.innerType,t,s),c=t.seen.get(e);t.target==="openapi-3.0"?(c.ref=r.innerType,n.nullable=!0):n.anyOf=[o,{type:"null"}]},WM=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType},GM=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},ZM=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},KM=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType;let c;try{c=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=c},YM=(e,t,n,s)=>{const r=e._zod.def,o=t.io==="input"?r.in._zod.def.type==="transform"?r.out:r.in:r.out;sn(o,t,s);const c=t.seen.get(e);c.ref=o},XM=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType,n.readOnly=!0},uB=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType},Bb=(e,t,n,s)=>{const r=e._zod.def;sn(r.innerType,t,s);const o=t.seen.get(e);o.ref=r.innerType},JM=(e,t,n,s)=>{const r=e._zod.innerType;sn(r,t,s);const o=t.seen.get(e);o.ref=r},VN={string:MM,number:RM,boolean:IM,bigint:Y6,symbol:X6,null:_M,undefined:J6,void:Q6,never:OM,any:eB,unknown:$M,date:tB,enum:PM,literal:DM,nan:nB,template_literal:sB,file:aB,success:rB,custom:LM,function:iB,transform:zM,map:oB,set:lB,array:BM,object:UM,union:VM,intersection:FM,tuple:cB,record:HM,nullable:qM,nonoptional:WM,default:GM,prefault:ZM,catch:KM,pipe:YM,readonly:XM,promise:uB,optional:Bb,lazy:JM};function dB(e,t){if("_idmap"in e){const s=e,r=tm({...t,processors:VN}),o={};for(const h of s._idmap.entries()){const[f,g]=h;sn(g,r)}const c={},u={registry:s,uri:t?.uri,defs:o};r.external=u;for(const h of s._idmap.entries()){const[f,g]=h;nm(r,g),c[f]=sm(r,g)}if(Object.keys(o).length>0){const h=r.target==="draft-2020-12"?"$defs":"definitions";c.__shared={[h]:o}}return{schemas:c}}const n=tm({...t,processors:VN});return sn(e,n),nm(n,e),sm(n,e)}const fB=be("ZodISODateTime",(e,t)=>{m3.init(e,t),xn.init(e,t)});function hB(e){return j6(fB,e)}const mB=be("ZodISODate",(e,t)=>{p3.init(e,t),xn.init(e,t)});function pB(e){return k6(mB,e)}const gB=be("ZodISOTime",(e,t)=>{g3.init(e,t),xn.init(e,t)});function vB(e){return N6(gB,e)}const yB=be("ZodISODuration",(e,t)=>{v3.init(e,t),xn.init(e,t)});function xB(e){return S6(yB,e)}const bB=(e,t)=>{hM.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>iz(e,n)},flatten:{value:n=>rz(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ex,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ex,2)}},isEmpty:{get(){return e.issues.length===0}}})},da=be("ZodError",bB,{Parent:Error}),wB=Db(da),jB=Lb(da),kB=Xm(da),QM=Jm(da),NB=cz(da),SB=uz(da),CB=dz(da),EB=fz(da),TB=hz(da),AB=mz(da),MB=pz(da),RB=gz(da),mn=be("ZodType",(e,t)=>(hn.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:am(e,"input"),output:am(e,"output")}}),e.toJSONSchema=Z6(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Ei(t,{checks:[...t.checks??[],...n.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),{parent:!0}),e.with=e.check,e.clone=(n,s)=>Ti(e,n,s),e.brand=()=>e,e.register=((n,s)=>(n.add(e,s),e)),e.parse=(n,s)=>wB(e,n,s,{callee:e.parse}),e.safeParse=(n,s)=>kB(e,n,s),e.parseAsync=async(n,s)=>jB(e,n,s,{callee:e.parseAsync}),e.safeParseAsync=async(n,s)=>QM(e,n,s),e.spa=e.safeParseAsync,e.encode=(n,s)=>NB(e,n,s),e.decode=(n,s)=>SB(e,n,s),e.encodeAsync=async(n,s)=>CB(e,n,s),e.decodeAsync=async(n,s)=>EB(e,n,s),e.safeEncode=(n,s)=>TB(e,n,s),e.safeDecode=(n,s)=>AB(e,n,s),e.safeEncodeAsync=async(n,s)=>MB(e,n,s),e.safeDecodeAsync=async(n,s)=>RB(e,n,s),e.refine=(n,s)=>e.check(E8(n,s)),e.superRefine=n=>e.check(T8(n)),e.overwrite=n=>e.check(lc(n)),e.optional=()=>qN(e),e.exactOptional=()=>h8(e),e.nullable=()=>WN(e),e.nullish=()=>qN(WN(e)),e.nonoptional=n=>x8(e,n),e.array=()=>cc(e),e.or=n=>ms([e,n]),e.and=n=>o8(e,n),e.transform=n=>GN(e,d8(n)),e.default=n=>g8(e,n),e.prefault=n=>y8(e,n),e.catch=n=>w8(e,n),e.pipe=n=>GN(e,n),e.readonly=()=>N8(e),e.describe=n=>{const s=e.clone();return pu.add(s,{description:n}),s},Object.defineProperty(e,"description",{get(){return pu.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return pu.get(e);const s=e.clone();return pu.add(s,n[0]),s},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),eR=be("_ZodString",(e,t)=>{zb.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(s,r,o)=>MM(e,s,r);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...s)=>e.check(I6(...s)),e.includes=(...s)=>e.check($6(...s)),e.startsWith=(...s)=>e.check(P6(...s)),e.endsWith=(...s)=>e.check(D6(...s)),e.min=(...s)=>e.check(em(...s)),e.max=(...s)=>e.check(TM(...s)),e.length=(...s)=>e.check(AM(...s)),e.nonempty=(...s)=>e.check(em(1,...s)),e.lowercase=s=>e.check(_6(s)),e.uppercase=s=>e.check(O6(s)),e.trim=()=>e.check(z6()),e.normalize=(...s)=>e.check(L6(...s)),e.toLowerCase=()=>e.check(B6()),e.toUpperCase=()=>e.check(U6()),e.slugify=()=>e.check(V6())}),IB=be("ZodString",(e,t)=>{zb.init(e,t),eR.init(e,t),e.email=n=>e.check(t6(_B,n)),e.url=n=>e.check(i6(OB,n)),e.jwt=n=>e.check(w6(KB,n)),e.emoji=n=>e.check(o6($B,n)),e.guid=n=>e.check(LN(FN,n)),e.uuid=n=>e.check(n6(Of,n)),e.uuidv4=n=>e.check(s6(Of,n)),e.uuidv6=n=>e.check(a6(Of,n)),e.uuidv7=n=>e.check(r6(Of,n)),e.nanoid=n=>e.check(l6(PB,n)),e.guid=n=>e.check(LN(FN,n)),e.cuid=n=>e.check(c6(DB,n)),e.cuid2=n=>e.check(u6(LB,n)),e.ulid=n=>e.check(d6(zB,n)),e.base64=n=>e.check(y6(WB,n)),e.base64url=n=>e.check(x6(GB,n)),e.xid=n=>e.check(f6(BB,n)),e.ksuid=n=>e.check(h6(UB,n)),e.ipv4=n=>e.check(m6(VB,n)),e.ipv6=n=>e.check(p6(FB,n)),e.cidrv4=n=>e.check(g6(HB,n)),e.cidrv6=n=>e.check(v6(qB,n)),e.e164=n=>e.check(b6(ZB,n)),e.datetime=n=>e.check(hB(n)),e.date=n=>e.check(pB(n)),e.time=n=>e.check(vB(n)),e.duration=n=>e.check(xB(n))});function ze(e){return e6(IB,e)}const xn=be("ZodStringFormat",(e,t)=>{yn.init(e,t),eR.init(e,t)}),_B=be("ZodEmail",(e,t)=>{r3.init(e,t),xn.init(e,t)}),FN=be("ZodGUID",(e,t)=>{s3.init(e,t),xn.init(e,t)}),Of=be("ZodUUID",(e,t)=>{a3.init(e,t),xn.init(e,t)}),OB=be("ZodURL",(e,t)=>{i3.init(e,t),xn.init(e,t)}),$B=be("ZodEmoji",(e,t)=>{o3.init(e,t),xn.init(e,t)}),PB=be("ZodNanoID",(e,t)=>{l3.init(e,t),xn.init(e,t)}),DB=be("ZodCUID",(e,t)=>{c3.init(e,t),xn.init(e,t)}),LB=be("ZodCUID2",(e,t)=>{u3.init(e,t),xn.init(e,t)}),zB=be("ZodULID",(e,t)=>{d3.init(e,t),xn.init(e,t)}),BB=be("ZodXID",(e,t)=>{f3.init(e,t),xn.init(e,t)}),UB=be("ZodKSUID",(e,t)=>{h3.init(e,t),xn.init(e,t)}),VB=be("ZodIPv4",(e,t)=>{y3.init(e,t),xn.init(e,t)}),FB=be("ZodIPv6",(e,t)=>{x3.init(e,t),xn.init(e,t)}),HB=be("ZodCIDRv4",(e,t)=>{b3.init(e,t),xn.init(e,t)}),qB=be("ZodCIDRv6",(e,t)=>{w3.init(e,t),xn.init(e,t)}),WB=be("ZodBase64",(e,t)=>{j3.init(e,t),xn.init(e,t)}),GB=be("ZodBase64URL",(e,t)=>{N3.init(e,t),xn.init(e,t)}),ZB=be("ZodE164",(e,t)=>{S3.init(e,t),xn.init(e,t)}),KB=be("ZodJWT",(e,t)=>{E3.init(e,t),xn.init(e,t)}),tR=be("ZodNumber",(e,t)=>{kM.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(s,r,o)=>RM(e,s,r),e.gt=(s,r)=>e.check(BN(s,r)),e.gte=(s,r)=>e.check(Lv(s,r)),e.min=(s,r)=>e.check(Lv(s,r)),e.lt=(s,r)=>e.check(zN(s,r)),e.lte=(s,r)=>e.check(Dv(s,r)),e.max=(s,r)=>e.check(Dv(s,r)),e.int=s=>e.check(HN(s)),e.safe=s=>e.check(HN(s)),e.positive=s=>e.check(BN(0,s)),e.nonnegative=s=>e.check(Lv(0,s)),e.negative=s=>e.check(zN(0,s)),e.nonpositive=s=>e.check(Dv(0,s)),e.multipleOf=(s,r)=>e.check(UN(s,r)),e.step=(s,r)=>e.check(UN(s,r)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function YB(e){return C6(tR,e)}const XB=be("ZodNumberFormat",(e,t)=>{T3.init(e,t),tR.init(e,t)});function HN(e){return E6(XB,e)}const JB=be("ZodBoolean",(e,t)=>{A3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>IM(e,n,s)});function ds(e){return T6(JB,e)}const QB=be("ZodNull",(e,t)=>{M3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>_M(e,n,s)});function e8(e){return A6(QB,e)}const t8=be("ZodUnknown",(e,t)=>{R3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>$M()});function qa(){return M6(t8)}const n8=be("ZodNever",(e,t)=>{I3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>OM(e,n,s)});function nR(e){return R6(n8,e)}const s8=be("ZodArray",(e,t)=>{_3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>BM(e,n,s,r),e.element=t.element,e.min=(n,s)=>e.check(em(n,s)),e.nonempty=n=>e.check(em(1,n)),e.max=(n,s)=>e.check(TM(n,s)),e.length=(n,s)=>e.check(AM(n,s)),e.unwrap=()=>e.element});function cc(e,t){return F6(s8,e,t)}const sR=be("ZodObject",(e,t)=>{$3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>UM(e,n,s,r),Ot(e,"shape",()=>t.shape),e.keyof=()=>rR(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:qa()}),e.loose=()=>e.clone({...e._zod.def,catchall:qa()}),e.strict=()=>e.clone({...e._zod.def,catchall:nR()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>ez(e,n),e.safeExtend=n=>tz(e,n),e.merge=n=>nz(e,n),e.pick=n=>J4(e,n),e.omit=n=>Q4(e,n),e.partial=(...n)=>sz(iR,e,n[0]),e.required=(...n)=>az(oR,e,n[0])});function Xt(e,t){const n={type:"object",shape:e??{},...Xe(t)};return new sR(n)}function cn(e,t){return new sR({type:"object",shape:e,catchall:nR(),...Xe(t)})}const aR=be("ZodUnion",(e,t)=>{CM.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>VM(e,n,s,r),e.options=t.options});function ms(e,t){return new aR({type:"union",options:e,...Xe(t)})}const a8=be("ZodDiscriminatedUnion",(e,t)=>{aR.init(e,t),P3.init(e,t)});function r8(e,t,n){return new a8({type:"union",options:t,discriminator:e,...Xe(n)})}const i8=be("ZodIntersection",(e,t)=>{D3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>FM(e,n,s,r)});function o8(e,t){return new i8({type:"intersection",left:e,right:t})}const l8=be("ZodRecord",(e,t)=>{L3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>HM(e,n,s,r),e.keyType=t.keyType,e.valueType=t.valueType});function Fu(e,t,n){return new l8({type:"record",keyType:e,valueType:t,...Xe(n)})}const nx=be("ZodEnum",(e,t)=>{z3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(s,r,o)=>PM(e,s,r),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(s,r)=>{const o={};for(const c of s)if(n.has(c))o[c]=t.entries[c];else throw new Error(`Key ${c} not found in enum`);return new nx({...t,checks:[],...Xe(r),entries:o})},e.exclude=(s,r)=>{const o={...t.entries};for(const c of s)if(n.has(c))delete o[c];else throw new Error(`Key ${c} not found in enum`);return new nx({...t,checks:[],...Xe(r),entries:o})}});function rR(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(s=>[s,s])):e;return new nx({type:"enum",entries:n,...Xe(t)})}const c8=be("ZodLiteral",(e,t)=>{B3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>DM(e,n,s),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ct(e,t){return new c8({type:"literal",values:Array.isArray(e)?e:[e],...Xe(t)})}const u8=be("ZodTransform",(e,t)=>{U3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>zM(e,n),e._zod.parse=(n,s)=>{if(s.direction==="backward")throw new oM(e.constructor.name);n.addIssue=o=>{if(typeof o=="string")n.issues.push(Vu(o,n.value,t));else{const c=o;c.fatal&&(c.continue=!1),c.code??(c.code="custom"),c.input??(c.input=n.value),c.inst??(c.inst=e),n.issues.push(Vu(c))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(o=>(n.value=o,n)):(n.value=r,n)}});function d8(e){return new u8({type:"transform",transform:e})}const iR=be("ZodOptional",(e,t)=>{EM.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>Bb(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function qN(e){return new iR({type:"optional",innerType:e})}const f8=be("ZodExactOptional",(e,t)=>{V3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>Bb(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function h8(e){return new f8({type:"optional",innerType:e})}const m8=be("ZodNullable",(e,t)=>{F3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>qM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function WN(e){return new m8({type:"nullable",innerType:e})}const p8=be("ZodDefault",(e,t)=>{H3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>GM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function g8(e,t){return new p8({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():dM(t)}})}const v8=be("ZodPrefault",(e,t)=>{q3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>ZM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function y8(e,t){return new v8({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():dM(t)}})}const oR=be("ZodNonOptional",(e,t)=>{W3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>WM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function x8(e,t){return new oR({type:"nonoptional",innerType:e,...Xe(t)})}const b8=be("ZodCatch",(e,t)=>{G3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>KM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function w8(e,t){return new b8({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const j8=be("ZodPipe",(e,t)=>{Z3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>YM(e,n,s,r),e.in=t.in,e.out=t.out});function GN(e,t){return new j8({type:"pipe",in:e,out:t})}const k8=be("ZodReadonly",(e,t)=>{K3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>XM(e,n,s,r),e.unwrap=()=>e._zod.def.innerType});function N8(e){return new k8({type:"readonly",innerType:e})}const S8=be("ZodLazy",(e,t)=>{Y3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>JM(e,n,s,r),e.unwrap=()=>e._zod.def.getter()});function C8(e){return new S8({type:"lazy",getter:e})}const Ub=be("ZodCustom",(e,t)=>{X3.init(e,t),mn.init(e,t),e._zod.processJSONSchema=(n,s,r)=>LM(e,n)});function lR(e,t){return H6(Ub,e??(()=>!0),t)}function E8(e,t={}){return q6(Ub,e,t)}function T8(e){return W6(e)}function rm(e,t={}){const n=new Ub({type:"custom",check:"custom",fn:s=>s instanceof e,abort:!0,...Xe(t)});return n._zod.bag.Class=e,n._zod.check=s=>{s.value instanceof e||s.issues.push({code:"invalid_type",expected:e.name,input:s.value,inst:n,path:[...n._zod.def.path??[]]})},n}var Hu;(function(e){e.assertEqual=r=>{};function t(r){}e.assertIs=t;function n(r){throw new Error}e.assertNever=n,e.arrayToEnum=r=>{const o={};for(const c of r)o[c]=c;return o},e.getValidEnumValues=r=>{const o=e.objectKeys(r).filter(u=>typeof r[r[u]]!="number"),c={};for(const u of o)c[u]=r[u];return e.objectValues(c)},e.objectValues=r=>e.objectKeys(r).map(function(o){return r[o]}),e.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const o=[];for(const c in r)Object.prototype.hasOwnProperty.call(r,c)&&o.push(c);return o},e.find=(r,o)=>{for(const c of r)if(o(c))return c},e.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function s(r,o=" | "){return r.map(c=>typeof c=="string"?`'${c}'`:c).join(o)}e.joinValues=s,e.jsonStringifyReplacer=(r,o)=>typeof o=="bigint"?o.toString():o})(Hu||(Hu={}));var ZN;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(ZN||(ZN={}));Hu.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);Hu.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class im extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(o){return o.message},s={_errors:[]},r=o=>{for(const c of o.issues)if(c.code==="invalid_union")c.unionErrors.map(r);else if(c.code==="invalid_return_type")r(c.returnTypeError);else if(c.code==="invalid_arguments")r(c.argumentsError);else if(c.path.length===0)s._errors.push(n(c));else{let u=s,h=0;for(;h<c.path.length;){const f=c.path[h];h===c.path.length-1?(u[f]=u[f]||{_errors:[]},u[f]._errors.push(n(c))):u[f]=u[f]||{_errors:[]},u=u[f],h++}}};return r(this),s}static assert(t){if(!(t instanceof im))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Hu.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n=Object.create(null),s=[];for(const r of this.issues)if(r.path.length>0){const o=r.path[0];n[o]=n[o]||[],n[o].push(t(r))}else s.push(t(r));return{formErrors:s,fieldErrors:n}}get formErrors(){return this.flatten()}}im.create=e=>new im(e);var KN;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(KN||(KN={}));var yt;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(yt||(yt={}));class YN extends Error{constructor(t,n){super(t),this.name="ParseError",this.type=n.type,this.field=n.field,this.value=n.value,this.line=n.line}}const XN=10,A8=13,Qi=32;function zv(e){}function M8(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=zv,onError:n=zv,onRetry:s=zv,onComment:r}=e;let o="",c=!0,u,h="",f=0,g;function v(S){if(c){c=!1,y(S);return}const N=o===""?S:o+S;o=x(N)}function y(S){S.charCodeAt(0)===239&&S.charCodeAt(1)===187&&S.charCodeAt(2)===191&&(S=S.slice(3));const N=o===""?S:o+S;o=x(N)}function x(S){let N=0;if(S.indexOf("\r")===-1){let E=S.indexOf(`
|
|
50
|
+
`,N);for(;E!==-1;){if(N===E){f>0&&t({id:u,event:g,data:h}),u=void 0,h="",f=0,g=void 0,N=E+1,E=S.indexOf(`
|
|
51
|
+
`,N);continue}const A=S.charCodeAt(N);if(JN(S,N,A)){const R=S.charCodeAt(N+5)===Qi?N+6:N+5,M=S.slice(R,E);if(f===0&&S.charCodeAt(E+1)===XN){t({id:u,event:g,data:M}),u=void 0,h="",g=void 0,N=E+2,E=S.indexOf(`
|
|
52
|
+
`,N);continue}h=f===0?M:`${h}
|
|
53
|
+
${M}`,f++}else QN(S,N,A)?g=S.slice(S.charCodeAt(N+6)===Qi?N+7:N+6,E)||void 0:w(S,N,E);N=E+1,E=S.indexOf(`
|
|
54
|
+
`,N)}return S.slice(N)}for(;N<S.length;){const E=S.indexOf("\r",N),A=S.indexOf(`
|
|
55
|
+
`,N);let R=-1;if(E!==-1&&A!==-1?R=E<A?E:A:E!==-1?E===S.length-1?R=-1:R=E:A!==-1&&(R=A),R===-1)break;w(S,N,R),N=R+1,S.charCodeAt(N-1)===A8&&S.charCodeAt(N)===XN&&N++}return S.slice(N)}function w(S,N,E){if(N===E){C();return}const A=S.charCodeAt(N);if(JN(S,N,A)){const _=S.charCodeAt(N+5)===Qi?N+6:N+5,z=S.slice(_,E);h=f===0?z:`${h}
|
|
56
|
+
${z}`,f++;return}if(QN(S,N,A)){g=S.slice(S.charCodeAt(N+6)===Qi?N+7:N+6,E)||void 0;return}if(A===105&&S.charCodeAt(N+1)===100&&S.charCodeAt(N+2)===58){const _=S.slice(S.charCodeAt(N+3)===Qi?N+4:N+3,E);u=_.includes("\0")?void 0:_;return}if(A===58){if(r){const _=S.slice(N,E);r(_.slice(S.charCodeAt(N+1)===Qi?2:1))}return}const R=S.slice(N,E),M=R.indexOf(":");if(M===-1){k(R,"",R);return}const $=R.slice(0,M),O=R.charCodeAt(M+1)===Qi?2:1,U=R.slice(M+O);k($,U,R)}function k(S,N,E){switch(S){case"event":g=N||void 0;break;case"data":h=f===0?N:`${h}
|
|
57
|
+
${N}`,f++;break;case"id":u=N.includes("\0")?void 0:N;break;case"retry":/^\d+$/.test(N)?s(parseInt(N,10)):n(new YN(`Invalid \`retry\` value: "${N}"`,{type:"invalid-retry",value:N,line:E}));break;default:n(new YN(`Unknown field "${S.length>20?`${S.slice(0,20)}…`:S}"`,{type:"unknown-field",field:S,value:N,line:E}));break}}function C(){f>0&&t({id:u,event:g,data:h}),u=void 0,h="",f=0,g=void 0}function T(S={}){o&&S.consume&&w(o,0,o.length),c=!0,u=void 0,h="",f=0,g=void 0,o=""}return{feed:v,reset:T}}function JN(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function QN(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}class R8 extends TransformStream{constructor({onError:t,onRetry:n,onComment:s}={}){let r;super({start(o){r=M8({onEvent:c=>{o.enqueue(c)},onError(c){t==="terminate"?o.error(c):typeof t=="function"&&t(c)},onRetry:n,onComment:s})},transform(o){r.feed(o)}})}}var rd=({prefix:e,size:t=16,alphabet:n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:s="-"}={})=>{const r=()=>{const o=n.length,c=new Array(t);for(let u=0;u<t;u++)c[u]=n[Math.random()*o|0];return c.join("")};if(e==null)return r;if(n.includes(s))throw new F4({argument:"separator",message:`The separator "${s}" must not be part of the alphabet "${n}".`});return()=>`${e}${s}${r()}`},I8=rd();function dl(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((n,s)=>{t[s.toLowerCase()]=n});else{Array.isArray(e)||(e=Object.entries(e));for(const[n,s]of e)s!=null&&(t[n.toLowerCase()]=s)}return t}var _8=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,O8=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function eS(e){const t=JSON.parse(e);return t===null||typeof t!="object"||_8.test(e)===!1&&O8.test(e)===!1?t:$8(t)}function $8(e){let t=[e];for(;t.length;){const n=t;t=[];for(const s of n){if(Object.prototype.hasOwnProperty.call(s,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(s,"constructor")&&s.constructor!==null&&typeof s.constructor=="object"&&Object.prototype.hasOwnProperty.call(s.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const r in s){const o=s[r];o&&typeof o=="object"&&t.push(o)}}}return e}function P8(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return eS(e)}try{return eS(e)}finally{Error.stackTraceLimit=t}}function Vb(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:n}=e;if(n!=null)for(const s of Object.keys(n))n[s]=eo(n[s])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(eo):eo(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(eo)),e.allOf!=null&&(e.allOf=e.allOf.map(eo)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(eo));const{definitions:t}=e;if(t!=null)for(const n of Object.keys(t))t[n]=eo(t[n]);return e}function eo(e){return typeof e=="boolean"?e:Vb(e)}var D8=Symbol("Let zodToJsonSchema decide on which parser to use"),tS={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},L8=e=>typeof e=="string"?{...tS,name:e}:{...tS,...e};function Fs(){return{}}function z8(e,t){var n,s,r;const o={type:"array"};return(n=e.type)!=null&&n._def&&((r=(s=e.type)==null?void 0:s._def)==null?void 0:r.typeName)!==yt.ZodAny&&(o.items=Wt(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function B8(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const n of e.checks)switch(n.kind){case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}function U8(){return{type:"boolean"}}function cR(e,t){return Wt(e.type._def,t)}var V8=(e,t)=>Wt(e.innerType._def,t);function uR(e,t,n){const s=n??t.dateStrategy;if(Array.isArray(s))return{anyOf:s.map((r,o)=>uR(e,t,r))};switch(s){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return F8(e)}}var F8=e=>{const t={type:"integer",format:"unix-time"};for(const n of e.checks)switch(n.kind){case"min":t.minimum=n.value;break;case"max":t.maximum=n.value;break}return t};function H8(e,t){return{...Wt(e.innerType._def,t),default:e.defaultValue()}}function q8(e,t){return t.effectStrategy==="input"?Wt(e.schema._def,t):Fs()}function W8(e){return{type:"string",enum:Array.from(e.values)}}var G8=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Z8(e,t){const n=[Wt(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),Wt(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(r=>!!r),s=[];return n.forEach(r=>{if(G8(r))s.push(...r.allOf);else{let o=r;if("additionalProperties"in r&&r.additionalProperties===!1){const{additionalProperties:c,...u}=r;o=u}s.push(o)}}),s.length?{allOf:s}:void 0}function K8(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var Bv=void 0,xa={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Bv===void 0&&(Bv=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Bv),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function dR(e,t){const n={type:"string"};if(e.checks)for(const s of e.checks)switch(s.kind){case"min":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value;break;case"max":n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value;break;case"email":switch(t.emailStrategy){case"format:email":ba(n,"email",s.message,t);break;case"format:idn-email":ba(n,"idn-email",s.message,t);break;case"pattern:zod":cs(n,xa.email,s.message,t);break}break;case"url":ba(n,"uri",s.message,t);break;case"uuid":ba(n,"uuid",s.message,t);break;case"regex":cs(n,s.regex,s.message,t);break;case"cuid":cs(n,xa.cuid,s.message,t);break;case"cuid2":cs(n,xa.cuid2,s.message,t);break;case"startsWith":cs(n,RegExp(`^${Uv(s.value,t)}`),s.message,t);break;case"endsWith":cs(n,RegExp(`${Uv(s.value,t)}$`),s.message,t);break;case"datetime":ba(n,"date-time",s.message,t);break;case"date":ba(n,"date",s.message,t);break;case"time":ba(n,"time",s.message,t);break;case"duration":ba(n,"duration",s.message,t);break;case"length":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value,n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value;break;case"includes":{cs(n,RegExp(Uv(s.value,t)),s.message,t);break}case"ip":{s.version!=="v6"&&ba(n,"ipv4",s.message,t),s.version!=="v4"&&ba(n,"ipv6",s.message,t);break}case"base64url":cs(n,xa.base64url,s.message,t);break;case"jwt":cs(n,xa.jwt,s.message,t);break;case"cidr":{s.version!=="v6"&&cs(n,xa.ipv4Cidr,s.message,t),s.version!=="v4"&&cs(n,xa.ipv6Cidr,s.message,t);break}case"emoji":cs(n,xa.emoji(),s.message,t);break;case"ulid":{cs(n,xa.ulid,s.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ba(n,"binary",s.message,t);break}case"contentEncoding:base64":{n.contentEncoding="base64";break}case"pattern:zod":{cs(n,xa.base64,s.message,t);break}}break}case"nanoid":cs(n,xa.nanoid,s.message,t)}return n}function Uv(e,t){return t.patternStrategy==="escape"?X8(e):e}var Y8=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function X8(e){let t="";for(let n=0;n<e.length;n++)Y8.has(e[n])||(t+="\\"),t+=e[n];return t}function ba(e,t,n,s){var r;e.format||(r=e.anyOf)!=null&&r.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&s.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function cs(e,t,n,s){var r;e.pattern||(r=e.allOf)!=null&&r.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:nS(t,s),...n&&s.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=nS(t,s)}function nS(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;const s={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=s.i?e.source.toLowerCase():e.source;let o="",c=!1,u=!1,h=!1;for(let f=0;f<r.length;f++){if(c){o+=r[f],c=!1;continue}if(s.i){if(u){if(r[f].match(/[a-z]/)){h?(o+=r[f],o+=`${r[f-2]}-${r[f]}`.toUpperCase(),h=!1):r[f+1]==="-"&&((n=r[f+2])!=null&&n.match(/[a-z]/))?(o+=r[f],h=!0):o+=`${r[f]}${r[f].toUpperCase()}`;continue}}else if(r[f].match(/[a-z]/)){o+=`[${r[f]}${r[f].toUpperCase()}]`;continue}}if(s.m){if(r[f]==="^"){o+=`(^|(?<=[\r
|
|
58
|
+
]))`;continue}else if(r[f]==="$"){o+=`($|(?=[\r
|
|
59
|
+
]))`;continue}}if(s.s&&r[f]==="."){o+=u?`${r[f]}\r
|
|
60
|
+
`:`[${r[f]}\r
|
|
61
|
+
]`;continue}o+=r[f],r[f]==="\\"?c=!0:u&&r[f]==="]"?u=!1:!u&&r[f]==="["&&(u=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function fR(e,t){var n,s,r,o,c,u;const h={type:"object",additionalProperties:(n=Wt(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?n:t.allowedAdditionalProperties};if(((s=e.keyType)==null?void 0:s._def.typeName)===yt.ZodString&&((r=e.keyType._def.checks)!=null&&r.length)){const{type:f,...g}=dR(e.keyType._def,t);return{...h,propertyNames:g}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===yt.ZodEnum)return{...h,propertyNames:{enum:e.keyType._def.values}};if(((c=e.keyType)==null?void 0:c._def.typeName)===yt.ZodBranded&&e.keyType._def.type._def.typeName===yt.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){const{type:f,...g}=cR(e.keyType._def,t);return{...h,propertyNames:g}}}return h}function J8(e,t){if(t.mapStrategy==="record")return fR(e,t);const n=Wt(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Fs(),s=Wt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Fs();return{type:"array",maxItems:125,items:{type:"array",items:[n,s],minItems:2,maxItems:2}}}function Q8(e){const t=e.values,s=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),r=Array.from(new Set(s.map(o=>typeof o)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:s}}function eU(){return{not:Fs()}}function tU(){return{type:"null"}}var sx={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function nU(e,t){const n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(s=>s._def.typeName in sx&&(!s._def.checks||!s._def.checks.length))){const s=n.reduce((r,o)=>{const c=sx[o._def.typeName];return c&&!r.includes(c)?[...r,c]:r},[]);return{type:s.length>1?s:s[0]}}else if(n.every(s=>s._def.typeName==="ZodLiteral"&&!s.description)){const s=n.reduce((r,o)=>{const c=typeof o._def.value;switch(c){case"string":case"number":case"boolean":return[...r,c];case"bigint":return[...r,"integer"];case"object":if(o._def.value===null)return[...r,"null"];default:return r}},[]);if(s.length===n.length){const r=s.filter((o,c,u)=>u.indexOf(o)===c);return{type:r.length>1?r:r[0],enum:n.reduce((o,c)=>o.includes(c._def.value)?o:[...o,c._def.value],[])}}}else if(n.every(s=>s._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((s,r)=>[...s,...r._def.values.filter(o=>!s.includes(o))],[])};return sU(e,t)}var sU=(e,t)=>{const n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((s,r)=>Wt(s._def,{...t,currentPath:[...t.currentPath,"anyOf",`${r}`]})).filter(s=>!!s&&(!t.strictUnions||typeof s=="object"&&Object.keys(s).length>0));return n.length?{anyOf:n}:void 0};function aU(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[sx[e.innerType._def.typeName],"null"]};const n=Wt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function rU(e){const t={type:"number"};if(!e.checks)return t;for(const n of e.checks)switch(n.kind){case"int":t.type="integer";break;case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}function iU(e,t){const n={type:"object",properties:{}},s=[],r=e.shape();for(const c in r){let u=r[c];if(u===void 0||u._def===void 0)continue;const h=lU(u),f=Wt(u._def,{...t,currentPath:[...t.currentPath,"properties",c],propertyPath:[...t.currentPath,"properties",c]});f!==void 0&&(n.properties[c]=f,h||s.push(c))}s.length&&(n.required=s);const o=oU(e,t);return o!==void 0&&(n.additionalProperties=o),n}function oU(e,t){if(e.catchall._def.typeName!=="ZodNever")return Wt(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function lU(e){try{return e.isOptional()}catch{return!0}}var cU=(e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return Wt(e.innerType._def,t);const s=Wt(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return s?{anyOf:[{not:Fs()},s]}:Fs()},uU=(e,t)=>{if(t.pipeStrategy==="input")return Wt(e.in._def,t);if(t.pipeStrategy==="output")return Wt(e.out._def,t);const n=Wt(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),s=Wt(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,s].filter(r=>r!==void 0)}};function dU(e,t){return Wt(e.type._def,t)}function fU(e,t){const s={type:"array",uniqueItems:!0,items:Wt(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(s.minItems=e.minSize.value),e.maxSize&&(s.maxItems=e.maxSize.value),s}function hU(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,s)=>Wt(n._def,{...t,currentPath:[...t.currentPath,"items",`${s}`]})).reduce((n,s)=>s===void 0?n:[...n,s],[]),additionalItems:Wt(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,s)=>Wt(n._def,{...t,currentPath:[...t.currentPath,"items",`${s}`]})).reduce((n,s)=>s===void 0?n:[...n,s],[])}}function mU(){return{not:Fs()}}function pU(){return Fs()}var gU=(e,t)=>Wt(e.innerType._def,t),vU=(e,t,n)=>{switch(t){case yt.ZodString:return dR(e,n);case yt.ZodNumber:return rU(e);case yt.ZodObject:return iU(e,n);case yt.ZodBigInt:return B8(e);case yt.ZodBoolean:return U8();case yt.ZodDate:return uR(e,n);case yt.ZodUndefined:return mU();case yt.ZodNull:return tU();case yt.ZodArray:return z8(e,n);case yt.ZodUnion:case yt.ZodDiscriminatedUnion:return nU(e,n);case yt.ZodIntersection:return Z8(e,n);case yt.ZodTuple:return hU(e,n);case yt.ZodRecord:return fR(e,n);case yt.ZodLiteral:return K8(e);case yt.ZodEnum:return W8(e);case yt.ZodNativeEnum:return Q8(e);case yt.ZodNullable:return aU(e,n);case yt.ZodOptional:return cU(e,n);case yt.ZodMap:return J8(e,n);case yt.ZodSet:return fU(e,n);case yt.ZodLazy:return()=>e.getter()._def;case yt.ZodPromise:return dU(e,n);case yt.ZodNaN:case yt.ZodNever:return eU();case yt.ZodEffects:return q8(e,n);case yt.ZodAny:return Fs();case yt.ZodUnknown:return pU();case yt.ZodDefault:return H8(e,n);case yt.ZodBranded:return cR(e,n);case yt.ZodReadonly:return gU(e,n);case yt.ZodCatch:return V8(e,n);case yt.ZodPipeline:return uU(e,n);case yt.ZodFunction:case yt.ZodVoid:case yt.ZodSymbol:return;default:return(s=>{})()}},yU=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")};function Wt(e,t,n=!1){var s;const r=t.seen.get(e);if(t.override){const h=(s=t.override)==null?void 0:s.call(t,e,t,r,n);if(h!==D8)return h}if(r&&!n){const h=xU(r,t);if(h!==void 0)return h}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const c=vU(e,e.typeName,t),u=typeof c=="function"?Wt(c(),t):c;if(u&&bU(e,t,u),t.postProcess){const h=t.postProcess(u,e,t);return o.jsonSchema=u,h}return o.jsonSchema=u,u}var xU=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:yU(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,s)=>t.currentPath[s]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Fs()):t.$refStrategy==="seen"?Fs():void 0}},bU=(e,t,n)=>(e.description&&(n.description=e.description),n),wU=e=>{const t=L8(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([s,r])=>[r._def,{def:r._def,path:[...t.basePath,t.definitionPath,s],jsonSchema:void 0}]))}},jU=(e,t)=>{var n;const s=wU(t);let r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((f,[g,v])=>{var y;return{...f,[g]:(y=Wt(v._def,{...s,currentPath:[...s.basePath,s.definitionPath,g]},!0))!=null?y:Fs()}},{}):void 0;const o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,c=(n=Wt(e._def,o===void 0?s:{...s,currentPath:[...s.basePath,s.definitionPath,o]},!1))!=null?n:Fs(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(c.title=u);const h=o===void 0?r?{...c,[s.definitionPath]:r}:c:{$ref:[...s.$refStrategy==="relative"?[]:s.basePath,s.definitionPath,o].join("/"),[s.definitionPath]:{...r,[o]:c}};return h.$schema="http://json-schema.org/draft-07/schema#",h},ax=Symbol.for("vercel.ai.schema");function kU(e){let t;return()=>(t==null&&(t=e()),t)}function ep(e,{validate:t}={}){return{[ax]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function NU(e){return typeof e=="object"&&e!==null&&ax in e&&e[ax]===!0&&"jsonSchema"in e&&"validate"in e}function Fb(e){return e==null?ep({properties:{},additionalProperties:!1}):NU(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?hR(e):SU(e):e()}function SU(e){return ep(()=>Vb(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async t=>{const n=await e["~standard"].validate(t);return"value"in n?{success:!0,value:n.value}:{success:!1,error:new Zl({value:t,cause:n.issues})}}})}function CU(e,t){var n;const s=(n=void 0)!=null?n:!1;return ep(()=>jU(e,{$refStrategy:s?"root":"none"}),{validate:async r=>{const o=await e.safeParseAsync(r);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function EU(e,t){var n;const s=(n=void 0)!=null?n:!1;return ep(()=>Vb(dB(e,{target:"draft-7",io:"input",reused:s?"ref":"inline"})),{validate:async r=>{const o=await QM(e,r);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function TU(e){return"_zod"in e}function hR(e,t){return TU(e)?EU(e):CU(e)}async function sS({value:e,schema:t,context:n}){const s=await qu({value:e,schema:t,context:n});if(!s.success)throw Zl.wrap({value:e,cause:s.error,context:n});return s.value}async function qu({value:e,schema:t,context:n}){const s=Fb(t);try{if(s.validate==null)return{success:!0,value:e,rawValue:e};const r=await s.validate(e);return r.success?{success:!0,value:r.value,rawValue:e}:{success:!1,error:Zl.wrap({value:e,cause:r.error,context:n}),rawValue:e}}catch(r){return{success:!1,error:Zl.wrap({value:e,cause:r,context:n}),rawValue:e}}}async function xo({text:e,schema:t}){try{const n=P8(e);return t==null?{success:!0,value:n,rawValue:n}:await qu({value:n,schema:t})}catch(n){return{success:!1,error:kN.isInstance(n)?n:new kN({text:e,cause:n}),rawValue:void 0}}}function AU({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new R8).pipeThrough(new TransformStream({async transform({data:n},s){n!=="[DONE]"&&s.enqueue(await xo({text:n,schema:t}))}}))}async function di(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var MU=Object.defineProperty,RU=(e,t)=>{for(var n in t)MU(e,n,{get:t[n],enumerable:!0})},mR="AI_NoObjectGeneratedError",pR=`vercel.ai.error.${mR}`,IU=Symbol.for(pR),gR,gi=class extends er{constructor({message:e="No object generated.",cause:t,text:n,response:s,usage:r,finishReason:o}){super({name:mR,message:e,cause:t}),this[gR]=!0,this.text=n,this.response=s,this.usage=r,this.finishReason=o}static isInstance(e){return er.hasMarker(e,pR)}};gR=IU;var vR="AI_UIMessageStreamError",yR=`vercel.ai.error.${vR}`,_U=Symbol.for(yR),xR,fl=class extends er{constructor({chunkType:e,chunkId:t,message:n}){super({name:vR,message:n}),this[xR]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return er.hasMarker(e,yR)}};xR=_U;var bR=ms([ze(),rm(Uint8Array),rm(ArrayBuffer),lR(e=>{var t,n;return(n=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?n:!1},{message:"Must be a Buffer"})]),Wu=C8(()=>ms([e8(),ze(),YB(),ds(),Fu(ze(),Wu.optional()),cc(Wu)])),At=Fu(ze(),Fu(ze(),Wu.optional())),wR=Xt({type:ct("text"),text:ze(),providerOptions:At.optional()}),OU=Xt({type:ct("image"),image:ms([bR,rm(URL)]),mediaType:ze().optional(),providerOptions:At.optional()}),jR=Xt({type:ct("file"),data:ms([bR,rm(URL)]),filename:ze().optional(),mediaType:ze(),providerOptions:At.optional()}),$U=Xt({type:ct("reasoning"),text:ze(),providerOptions:At.optional()}),PU=Xt({type:ct("tool-call"),toolCallId:ze(),toolName:ze(),input:qa(),providerOptions:At.optional(),providerExecuted:ds().optional()}),DU=r8("type",[Xt({type:ct("text"),value:ze(),providerOptions:At.optional()}),Xt({type:ct("json"),value:Wu,providerOptions:At.optional()}),Xt({type:ct("execution-denied"),reason:ze().optional(),providerOptions:At.optional()}),Xt({type:ct("error-text"),value:ze(),providerOptions:At.optional()}),Xt({type:ct("error-json"),value:Wu,providerOptions:At.optional()}),Xt({type:ct("content"),value:cc(ms([Xt({type:ct("text"),text:ze(),providerOptions:At.optional()}),Xt({type:ct("media"),data:ze(),mediaType:ze()}),Xt({type:ct("file-data"),data:ze(),mediaType:ze(),filename:ze().optional(),providerOptions:At.optional()}),Xt({type:ct("file-url"),url:ze(),providerOptions:At.optional()}),Xt({type:ct("file-id"),fileId:ms([ze(),Fu(ze(),ze())]),providerOptions:At.optional()}),Xt({type:ct("image-data"),data:ze(),mediaType:ze(),providerOptions:At.optional()}),Xt({type:ct("image-url"),url:ze(),providerOptions:At.optional()}),Xt({type:ct("image-file-id"),fileId:ms([ze(),Fu(ze(),ze())]),providerOptions:At.optional()}),Xt({type:ct("custom"),providerOptions:At.optional()})]))})]),kR=Xt({type:ct("tool-result"),toolCallId:ze(),toolName:ze(),output:DU,providerOptions:At.optional()}),LU=Xt({type:ct("tool-approval-request"),approvalId:ze(),toolCallId:ze()}),zU=Xt({type:ct("tool-approval-response"),approvalId:ze(),approved:ds(),reason:ze().optional()}),BU=Xt({role:ct("system"),content:ze(),providerOptions:At.optional()}),UU=Xt({role:ct("user"),content:ms([ze(),cc(ms([wR,OU,jR]))]),providerOptions:At.optional()}),VU=Xt({role:ct("assistant"),content:ms([ze(),cc(ms([wR,jR,$U,PU,kR,LU]))]),providerOptions:At.optional()}),FU=Xt({role:ct("tool"),content:cc(ms([kR,zU])),providerOptions:At.optional()});ms([BU,UU,VU,FU]);function NR(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const n={...e};for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)){const r=t[s];if(r===void 0)continue;const o=s in e?e[s]:void 0,c=r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp),u=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);c&&u?n[s]=NR(o,r):n[s]=r}return n}var HU={};RU(HU,{array:()=>ZU,choice:()=>KU,json:()=>YU,object:()=>GU,text:()=>WU});function qU(e){const t=["ROOT"];let n=-1,s=null;function r(h,f,g){switch(h){case'"':{n=f,t.pop(),t.push(g),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=f,s=f,t.pop(),t.push(g),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(g),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=f,t.pop(),t.push(g),t.push("INSIDE_NUMBER");break}case"{":{n=f,t.pop(),t.push(g),t.push("INSIDE_OBJECT_START");break}case"[":{n=f,t.pop(),t.push(g),t.push("INSIDE_ARRAY_START");break}}}function o(h,f){switch(h){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=f,t.pop();break}}}function c(h,f){switch(h){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=f,t.pop();break}}}for(let h=0;h<e.length;h++){const f=e[h];switch(t[t.length-1]){case"ROOT":r(f,h,"FINISH");break;case"INSIDE_OBJECT_START":{switch(f){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=h,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{f==='"'&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{f==='"'&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{f===":"&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{r(f,h,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(f,h);break}case"INSIDE_STRING":{switch(f){case'"':{t.pop(),n=h;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=h}break}case"INSIDE_ARRAY_START":{f==="]"?(n=h,t.pop()):(n=h,r(f,h,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(f){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=h,t.pop();break}default:{n=h;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{r(f,h,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),n=h;break}case"INSIDE_NUMBER":{switch(f){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=h;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(f,h),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(f,h);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(f,h);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(f,h);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const v=e.substring(s,h+1);!"false".startsWith(v)&&!"true".startsWith(v)&&!"null".startsWith(v)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(f,h):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(f,h)):n=h;break}}}let u=e.slice(0,n+1);for(let h=t.length-1;h>=0;h--)switch(t[h]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{const g=e.substring(s,e.length);"true".startsWith(g)?u+="true".slice(g.length):"false".startsWith(g)?u+="false".slice(g.length):"null".startsWith(g)&&(u+="null".slice(g.length))}}return u}async function id(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await xo({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await xo({text:qU(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var WU=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),GU=({schema:e,name:t,description:n})=>{const s=Fb(e);return{name:"object",responseFormat:di(s.jsonSchema).then(r=>({type:"json",schema:r,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:r},o){const c=await xo({text:r});if(!c.success)throw new gi({message:"No object generated: could not parse the response.",cause:c.error,text:r,response:o.response,usage:o.usage,finishReason:o.finishReason});const u=await qu({value:c.value,schema:s});if(!u.success)throw new gi({message:"No object generated: response did not match schema.",cause:u.error,text:r,response:o.response,usage:o.usage,finishReason:o.finishReason});return u.value},async parsePartialOutput({text:r}){const o=await id(r);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}},createElementStreamTransform(){}}},ZU=({element:e,name:t,description:n})=>{const s=Fb(e);return{name:"array",responseFormat:di(s.jsonSchema).then(r=>{const{$schema:o,...c}=r;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:c}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:r},o){const c=await xo({text:r});if(!c.success)throw new gi({message:"No object generated: could not parse the response.",cause:c.error,text:r,response:o.response,usage:o.usage,finishReason:o.finishReason});const u=c.value;if(u==null||typeof u!="object"||!("elements"in u)||!Array.isArray(u.elements))throw new gi({message:"No object generated: response did not match schema.",cause:new Zl({value:u,cause:"response must be an object with an elements array"}),text:r,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const h of u.elements){const f=await qu({value:h,schema:s});if(!f.success)throw new gi({message:"No object generated: response did not match schema.",cause:f.error,text:r,response:o.response,usage:o.usage,finishReason:o.finishReason})}return u.elements},async parsePartialOutput({text:r}){const o=await id(r);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const c=o.value;if(c==null||typeof c!="object"||!("elements"in c)||!Array.isArray(c.elements))return;const u=o.state==="repaired-parse"&&c.elements.length>0?c.elements.slice(0,-1):c.elements,h=[];for(const f of u){const g=await qu({value:f,schema:s});g.success&&h.push(g.value)}return{partial:h}}}},createElementStreamTransform(){let r=0;return new TransformStream({transform({partialOutput:o},c){if(o!=null)for(;r<o.length;r++)c.enqueue(o[r])}})}}},KU=({options:e,name:t,description:n})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:s},r){const o=await xo({text:s});if(!o.success)throw new gi({message:"No object generated: could not parse the response.",cause:o.error,text:s,response:r.response,usage:r.usage,finishReason:r.finishReason});const c=o.value;if(c==null||typeof c!="object"||!("result"in c)||typeof c.result!="string"||!e.includes(c.result))throw new gi({message:"No object generated: response did not match schema.",cause:new Zl({value:c,cause:"response must be an object that contains a choice value."}),text:s,response:r.response,usage:r.usage,finishReason:r.finishReason});return c.result},async parsePartialOutput({text:s}){const r=await id(s);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=r.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const c=e.filter(u=>u.startsWith(o.result));return r.state==="successful-parse"?c.includes(o.result)?{partial:o.result}:void 0:c.length===1?{partial:c[0]}:void 0}}},createElementStreamTransform(){}}),YU=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:n},s){const r=await xo({text:n});if(!r.success)throw new gi({message:"No object generated: could not parse the response.",cause:r.error,text:n,response:s.response,usage:s.usage,finishReason:s.finishReason});return r.value},async parsePartialOutput({text:n}){const s=await id(n);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return s.value===void 0?void 0:{partial:s.value}}},createElementStreamTransform(){}});rd({prefix:"aitxt",size:24});(class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
62
|
+
|
|
63
|
+
`)},flush(e){e.enqueue(`data: [DONE]
|
|
64
|
+
|
|
65
|
+
`)}})}});var XU=kU(()=>hR(ms([cn({type:ct("text-start"),id:ze(),providerMetadata:At.optional()}),cn({type:ct("text-delta"),id:ze(),delta:ze(),providerMetadata:At.optional()}),cn({type:ct("text-end"),id:ze(),providerMetadata:At.optional()}),cn({type:ct("error"),errorText:ze()}),cn({type:ct("tool-input-start"),toolCallId:ze(),toolName:ze(),providerExecuted:ds().optional(),providerMetadata:At.optional(),dynamic:ds().optional(),title:ze().optional()}),cn({type:ct("tool-input-delta"),toolCallId:ze(),inputTextDelta:ze()}),cn({type:ct("tool-input-available"),toolCallId:ze(),toolName:ze(),input:qa(),providerExecuted:ds().optional(),providerMetadata:At.optional(),dynamic:ds().optional(),title:ze().optional()}),cn({type:ct("tool-input-error"),toolCallId:ze(),toolName:ze(),input:qa(),providerExecuted:ds().optional(),providerMetadata:At.optional(),dynamic:ds().optional(),errorText:ze(),title:ze().optional()}),cn({type:ct("tool-approval-request"),approvalId:ze(),toolCallId:ze()}),cn({type:ct("tool-output-available"),toolCallId:ze(),output:qa(),providerExecuted:ds().optional(),providerMetadata:At.optional(),dynamic:ds().optional(),preliminary:ds().optional()}),cn({type:ct("tool-output-error"),toolCallId:ze(),errorText:ze(),providerExecuted:ds().optional(),providerMetadata:At.optional(),dynamic:ds().optional()}),cn({type:ct("tool-output-denied"),toolCallId:ze()}),cn({type:ct("reasoning-start"),id:ze(),providerMetadata:At.optional()}),cn({type:ct("reasoning-delta"),id:ze(),delta:ze(),providerMetadata:At.optional()}),cn({type:ct("reasoning-end"),id:ze(),providerMetadata:At.optional()}),cn({type:ct("source-url"),sourceId:ze(),url:ze(),title:ze().optional(),providerMetadata:At.optional()}),cn({type:ct("source-document"),sourceId:ze(),mediaType:ze(),title:ze(),filename:ze().optional(),providerMetadata:At.optional()}),cn({type:ct("file"),url:ze(),mediaType:ze(),providerMetadata:At.optional()}),cn({type:lR(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:ze().optional(),data:qa(),transient:ds().optional()}),cn({type:ct("start-step")}),cn({type:ct("finish-step")}),cn({type:ct("start"),messageId:ze().optional(),messageMetadata:qa().optional()}),cn({type:ct("finish"),finishReason:rR(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:qa().optional()}),cn({type:ct("abort"),reason:ze().optional()}),cn({type:ct("message-metadata"),messageMetadata:qa()})])));function JU(e){return e.type.startsWith("data-")}function rx(e){return e.type.startsWith("tool-")}function SR(e){return e.type==="dynamic-tool"}function bo(e){return rx(e)||SR(e)}function ix(e){return e.type.split("-").slice(1).join("-")}function CR(e){return SR(e)?e.toolName:ix(e)}function QU({lastMessage:e,messageId:t}){return{message:e?.role==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function eV({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:s,onError:r,onToolCall:o,onData:c}){return e.pipeThrough(new TransformStream({async transform(u,h){await s(async({state:f,write:g})=>{var v,y,x,w;function k(N){const A=f.message.parts.filter(bo).find(R=>R.toolCallId===N);if(A==null)throw new fl({chunkType:"tool-invocation",chunkId:N,message:`No tool invocation found for tool call ID "${N}".`});return A}function C(N){var E;const A=f.message.parts.find($=>rx($)&&$.toolCallId===N.toolCallId),R=N,M=A;if(A!=null){A.state=N.state,M.input=R.input,M.output=R.output,M.errorText=R.errorText,M.rawInput=R.rawInput,M.preliminary=R.preliminary,N.title!==void 0&&(M.title=N.title),M.providerExecuted=(E=R.providerExecuted)!=null?E:A.providerExecuted;const $=R.providerMetadata;if($!=null)if(N.state==="output-available"||N.state==="output-error"){const O=A;O.resultProviderMetadata=$}else A.callProviderMetadata=$}else f.message.parts.push({type:`tool-${N.toolName}`,toolCallId:N.toolCallId,state:N.state,title:N.title,input:R.input,output:R.output,rawInput:R.rawInput,errorText:R.errorText,providerExecuted:R.providerExecuted,preliminary:R.preliminary,...R.providerMetadata!=null&&(N.state==="output-available"||N.state==="output-error")?{resultProviderMetadata:R.providerMetadata}:{},...R.providerMetadata!=null&&!(N.state==="output-available"||N.state==="output-error")?{callProviderMetadata:R.providerMetadata}:{}})}function T(N){var E,A;const R=f.message.parts.find(O=>O.type==="dynamic-tool"&&O.toolCallId===N.toolCallId),M=N,$=R;if(R!=null){R.state=N.state,$.toolName=N.toolName,$.input=M.input,$.output=M.output,$.errorText=M.errorText,$.rawInput=(E=M.rawInput)!=null?E:$.rawInput,$.preliminary=M.preliminary,N.title!==void 0&&($.title=N.title),$.providerExecuted=(A=M.providerExecuted)!=null?A:R.providerExecuted;const O=M.providerMetadata;if(O!=null)if(N.state==="output-available"||N.state==="output-error"){const U=R;U.resultProviderMetadata=O}else R.callProviderMetadata=O}else f.message.parts.push({type:"dynamic-tool",toolName:N.toolName,toolCallId:N.toolCallId,state:N.state,input:M.input,output:M.output,errorText:M.errorText,preliminary:M.preliminary,providerExecuted:M.providerExecuted,title:N.title,...M.providerMetadata!=null&&(N.state==="output-available"||N.state==="output-error")?{resultProviderMetadata:M.providerMetadata}:{},...M.providerMetadata!=null&&!(N.state==="output-available"||N.state==="output-error")?{callProviderMetadata:M.providerMetadata}:{}})}async function S(N){if(N!=null){const E=f.message.metadata!=null?NR(f.message.metadata,N):N;t!=null&&await sS({value:E,schema:t,context:{field:"message.metadata",entityId:f.message.id}}),f.message.metadata=E}}switch(u.type){case"text-start":{const N={type:"text",text:"",providerMetadata:u.providerMetadata,state:"streaming"};f.activeTextParts[u.id]=N,f.message.parts.push(N),g();break}case"text-delta":{const N=f.activeTextParts[u.id];if(N==null)throw new fl({chunkType:"text-delta",chunkId:u.id,message:`Received text-delta for missing text part with ID "${u.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});N.text+=u.delta,N.providerMetadata=(v=u.providerMetadata)!=null?v:N.providerMetadata,g();break}case"text-end":{const N=f.activeTextParts[u.id];if(N==null)throw new fl({chunkType:"text-end",chunkId:u.id,message:`Received text-end for missing text part with ID "${u.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});N.state="done",N.providerMetadata=(y=u.providerMetadata)!=null?y:N.providerMetadata,delete f.activeTextParts[u.id],g();break}case"reasoning-start":{const N={type:"reasoning",text:"",providerMetadata:u.providerMetadata,state:"streaming"};f.activeReasoningParts[u.id]=N,f.message.parts.push(N),g();break}case"reasoning-delta":{const N=f.activeReasoningParts[u.id];if(N==null)throw new fl({chunkType:"reasoning-delta",chunkId:u.id,message:`Received reasoning-delta for missing reasoning part with ID "${u.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});N.text+=u.delta,N.providerMetadata=(x=u.providerMetadata)!=null?x:N.providerMetadata,g();break}case"reasoning-end":{const N=f.activeReasoningParts[u.id];if(N==null)throw new fl({chunkType:"reasoning-end",chunkId:u.id,message:`Received reasoning-end for missing reasoning part with ID "${u.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});N.providerMetadata=(w=u.providerMetadata)!=null?w:N.providerMetadata,N.state="done",delete f.activeReasoningParts[u.id],g();break}case"file":{f.message.parts.push({type:"file",mediaType:u.mediaType,url:u.url,...u.providerMetadata!=null?{providerMetadata:u.providerMetadata}:{}}),g();break}case"source-url":{f.message.parts.push({type:"source-url",sourceId:u.sourceId,url:u.url,title:u.title,providerMetadata:u.providerMetadata}),g();break}case"source-document":{f.message.parts.push({type:"source-document",sourceId:u.sourceId,mediaType:u.mediaType,title:u.title,filename:u.filename,providerMetadata:u.providerMetadata}),g();break}case"tool-input-start":{const N=f.message.parts.filter(rx);f.partialToolCalls[u.toolCallId]={text:"",toolName:u.toolName,index:N.length,dynamic:u.dynamic,title:u.title},u.dynamic?T({toolCallId:u.toolCallId,toolName:u.toolName,state:"input-streaming",input:void 0,providerExecuted:u.providerExecuted,title:u.title,providerMetadata:u.providerMetadata}):C({toolCallId:u.toolCallId,toolName:u.toolName,state:"input-streaming",input:void 0,providerExecuted:u.providerExecuted,title:u.title,providerMetadata:u.providerMetadata}),g();break}case"tool-input-delta":{const N=f.partialToolCalls[u.toolCallId];if(N==null)throw new fl({chunkType:"tool-input-delta",chunkId:u.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${u.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});N.text+=u.inputTextDelta;const{value:E}=await id(N.text);N.dynamic?T({toolCallId:u.toolCallId,toolName:N.toolName,state:"input-streaming",input:E,title:N.title}):C({toolCallId:u.toolCallId,toolName:N.toolName,state:"input-streaming",input:E,title:N.title}),g();break}case"tool-input-available":{u.dynamic?T({toolCallId:u.toolCallId,toolName:u.toolName,state:"input-available",input:u.input,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata,title:u.title}):C({toolCallId:u.toolCallId,toolName:u.toolName,state:"input-available",input:u.input,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata,title:u.title}),g(),o&&!u.providerExecuted&&await o({toolCall:u});break}case"tool-input-error":{const N=f.message.parts.filter(bo).find(A=>A.toolCallId===u.toolCallId);(N!=null?N.type==="dynamic-tool":!!u.dynamic)?T({toolCallId:u.toolCallId,toolName:u.toolName,state:"output-error",input:u.input,errorText:u.errorText,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata}):C({toolCallId:u.toolCallId,toolName:u.toolName,state:"output-error",input:void 0,rawInput:u.input,errorText:u.errorText,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata}),g();break}case"tool-approval-request":{const N=k(u.toolCallId);N.state="approval-requested",N.approval={id:u.approvalId},g();break}case"tool-output-denied":{const N=k(u.toolCallId);N.state="output-denied",g();break}case"tool-output-available":{const N=k(u.toolCallId);N.type==="dynamic-tool"?T({toolCallId:u.toolCallId,toolName:N.toolName,state:"output-available",input:N.input,output:u.output,preliminary:u.preliminary,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata,title:N.title}):C({toolCallId:u.toolCallId,toolName:ix(N),state:"output-available",input:N.input,output:u.output,providerExecuted:u.providerExecuted,preliminary:u.preliminary,providerMetadata:u.providerMetadata,title:N.title}),g();break}case"tool-output-error":{const N=k(u.toolCallId);N.type==="dynamic-tool"?T({toolCallId:u.toolCallId,toolName:N.toolName,state:"output-error",input:N.input,errorText:u.errorText,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata,title:N.title}):C({toolCallId:u.toolCallId,toolName:ix(N),state:"output-error",input:N.input,rawInput:N.rawInput,errorText:u.errorText,providerExecuted:u.providerExecuted,providerMetadata:u.providerMetadata,title:N.title}),g();break}case"start-step":{f.message.parts.push({type:"step-start"});break}case"finish-step":{f.activeTextParts={},f.activeReasoningParts={};break}case"start":{u.messageId!=null&&(f.message.id=u.messageId),await S(u.messageMetadata),(u.messageId!=null||u.messageMetadata!=null)&&g();break}case"finish":{u.finishReason!=null&&(f.finishReason=u.finishReason),await S(u.messageMetadata),u.messageMetadata!=null&&g();break}case"message-metadata":{await S(u.messageMetadata),u.messageMetadata!=null&&g();break}case"error":{r?.(new Error(u.errorText));break}default:if(JU(u)){if(n?.[u.type]!=null){const A=f.message.parts.findIndex(M=>"id"in M&&"data"in M&&M.id===u.id&&M.type===u.type),R=A>=0?A:f.message.parts.length;await sS({value:u.data,schema:n[u.type],context:{field:`message.parts[${R}].data`,entityName:u.type,entityId:u.id}})}const N=u;if(N.transient){c?.(N);break}const E=N.id!=null?f.message.parts.find(A=>N.type===A.type&&N.id===A.id):void 0;E!=null?E.data=N.data:f.message.parts.push(N),c?.(N),g()}}h.enqueue(u)})}}))}async function tV({stream:e,onError:t}){const n=e.getReader();try{for(;;){const{done:s}=await n.read();if(s)break}}catch(s){t?.(s)}finally{n.releaseLock()}}rd({prefix:"aitxt",size:24});rd({prefix:"aiobj",size:24});var nV=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(s){n(s)}}),this.processQueue()})}};rd({prefix:"aiobj",size:24});async function sV(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:n,type:s}=t,r=await new Promise((o,c)=>{const u=new FileReader;u.onload=h=>{var f;o((f=h.target)==null?void 0:f.result)},u.onerror=h=>c(h),u.readAsDataURL(t)});return{type:"file",mediaType:s,filename:n,url:r}}))}var aV=class{constructor({api:e="/api/chat",credentials:t,headers:n,body:s,fetch:r,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:c}){this.api=e,this.credentials=t,this.headers=n,this.body=s,this.fetch=r,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=c}async sendMessages({abortSignal:e,...t}){var n,s,r,o,c;const u=await di(this.body),h=await di(this.headers),f=await di(this.credentials),g={...dl(h),...dl(t.headers)},v=await((n=this.prepareSendMessagesRequest)==null?void 0:n.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...u,...t.body},headers:g,credentials:f,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),y=(s=v?.api)!=null?s:this.api,x=v?.headers!==void 0?dl(v.headers):g,w=v?.body!==void 0?v.body:{...u,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},k=(r=v?.credentials)!=null?r:f,T=await((o=this.fetch)!=null?o:globalThis.fetch)(y,{method:"POST",headers:{"Content-Type":"application/json",...x},body:JSON.stringify(w),credentials:k,signal:e});if(!T.ok)throw new Error((c=await T.text())!=null?c:"Failed to fetch the chat response.");if(!T.body)throw new Error("The response body is empty.");return this.processResponseStream(T.body)}async reconnectToStream(e){var t,n,s,r,o;const c=await di(this.body),u=await di(this.headers),h=await di(this.credentials),f={...dl(u),...dl(e.headers)},g=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...c,...e.body},headers:f,credentials:h,requestMetadata:e.metadata})),v=(n=g?.api)!=null?n:`${this.api}/${e.chatId}/stream`,y=g?.headers!==void 0?dl(g.headers):f,x=(s=g?.credentials)!=null?s:h,k=await((r=this.fetch)!=null?r:globalThis.fetch)(v,{method:"GET",headers:y,credentials:x});if(k.status===204)return null;if(!k.ok)throw new Error((o=await k.text())!=null?o:"Failed to fetch the chat response.");if(!k.body)throw new Error("The response body is empty.");return this.processResponseStream(k.body)}},ER=class extends aV{constructor(e={}){super(e)}processResponseStream(e){return AU({stream:e,schema:XU}).pipeThrough(new TransformStream({async transform(t,n){if(!t.success)throw t.error;n.enqueue(t.value)}}))}},rV=class{constructor({generateId:e=I8,id:t=e(),transport:n=new ER,messageMetadataSchema:s,dataPartSchemas:r,state:o,onError:c,onToolCall:u,onFinish:h,onData:f,sendAutomaticallyWhen:g}){this.activeResponse=void 0,this.jobExecutor=new nV,this.sendMessage=async(v,y)=>{var x,w,k,C;if(v==null){await this.makeRequest({trigger:"submit-message",messageId:(x=this.lastMessage)==null?void 0:x.id,...y});return}let T;if("text"in v||"files"in v?T={parts:[...Array.isArray(v.files)?v.files:await sV(v.files),..."text"in v&&v.text!=null?[{type:"text",text:v.text}]:[]]}:T=v,v.messageId!=null){const S=this.state.messages.findIndex(N=>N.id===v.messageId);if(S===-1)throw new Error(`message with id ${v.messageId} not found`);if(this.state.messages[S].role!=="user")throw new Error(`message with id ${v.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,S+1),this.state.replaceMessage(S,{...T,id:v.messageId,role:(w=T.role)!=null?w:"user",metadata:v.metadata})}else this.state.pushMessage({...T,id:(k=T.id)!=null?k:this.generateId(),role:(C=T.role)!=null?C:"user",metadata:v.metadata});await this.makeRequest({trigger:"submit-message",messageId:v.messageId,...y})},this.regenerate=async({messageId:v,...y}={})=>{const x=v==null?this.state.messages.length-1:this.state.messages.findIndex(w=>w.id===v);if(x===-1)throw new Error(`message ${v} not found`);this.state.messages=this.state.messages.slice(0,this.messages[x].role==="assistant"?x:x+1),await this.makeRequest({trigger:"regenerate-message",messageId:v,...y})},this.resumeStream=async(v={})=>{await this.makeRequest({trigger:"resume-stream",...v})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:v,approved:y,reason:x,options:w})=>this.jobExecutor.run(async()=>{const k=this.state.messages,C=k[k.length-1],T=S=>bo(S)&&S.state==="approval-requested"&&S.approval.id===v?{...S,state:"approval-responded",approval:{id:v,approved:y,reason:x}}:S;this.state.replaceMessage(k.length-1,{...C,parts:C.parts.map(T)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(T)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(S=>{var N;S&&this.makeRequest({trigger:"submit-message",messageId:(N=this.lastMessage)==null?void 0:N.id,...w})})}),this.addToolOutput=async({state:v="output-available",toolCallId:y,output:x,errorText:w,options:k})=>this.jobExecutor.run(async()=>{const C=this.state.messages,T=C[C.length-1],S=N=>bo(N)&&N.toolCallId===y?{...N,state:v,output:x,errorText:w}:N;this.state.replaceMessage(C.length-1,{...T,parts:T.parts.map(S)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(S)),this.status!=="streaming"&&this.status!=="submitted"&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(N=>{var E;N&&this.makeRequest({trigger:"submit-message",messageId:(E=this.lastMessage)==null?void 0:E.id,...k})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var v;this.status!=="streaming"&&this.status!=="submitted"||(v=this.activeResponse)!=null&&v.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=s,this.dataPartSchemas=r,this.state=o,this.onError=c,this.onToolCall=u,this.onFinish=h,this.onData=f,this.sendAutomaticallyWhen=g}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;const e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e=="object"&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:s,messageId:r}){var o,c,u;let h;if(e==="resume-stream")try{const x=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:s});if(x==null)return;h=x}catch(x){this.onError&&x instanceof Error&&this.onError(x),this.setStatus({status:"error",error:x});return}this.setStatus({status:"submitted",error:void 0});const f=this.lastMessage;let g=!1,v=!1,y=!1;try{const x={state:QU({lastMessage:this.state.snapshot(f),messageId:this.generateId()}),abortController:new AbortController};x.abortController.signal.addEventListener("abort",()=>{g=!0}),this.activeResponse=x;let w;e==="resume-stream"?w=h:w=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:x.abortController.signal,metadata:t,headers:n,body:s,trigger:e,messageId:r});const k=C=>this.jobExecutor.run(()=>C({state:x.state,write:()=>{var T;this.setStatus({status:"streaming"}),x.state.message.id===((T=this.lastMessage)==null?void 0:T.id)?this.state.replaceMessage(this.state.messages.length-1,x.state.message):this.state.pushMessage(x.state.message)}}));await tV({stream:eV({stream:w,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:k,onError:C=>{throw C}}),onError:C=>{throw C}}),this.setStatus({status:"ready"})}catch(x){if(g||x.name==="AbortError")return g=!0,this.setStatus({status:"ready"}),null;y=!0,x instanceof TypeError&&(x.message.toLowerCase().includes("fetch")||x.message.toLowerCase().includes("network"))&&(v=!0),this.onError&&x instanceof Error&&this.onError(x),this.setStatus({status:"error",error:x})}finally{try{(c=this.onFinish)==null||c.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:g,isDisconnect:v,isError:y,finishReason:(o=this.activeResponse)==null?void 0:o.state.finishReason})}catch(x){console.error(x)}this.activeResponse=void 0}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:(u=this.lastMessage)==null?void 0:u.id,metadata:t,headers:n,body:s})}},Vv,aS;function iV(){if(aS)return Vv;aS=1;function e(t,n){if(typeof t!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof t}\`.`);let s,r=0;return function(...c){clearTimeout(s);const u=Date.now(),h=u-r,f=n-h;f<=0?(r=u,t.apply(this,c)):s=setTimeout(()=>{r=Date.now(),t.apply(this,c)},f)}}return Vv=e,Vv}var oV=iV();const lV=_A(oV);var Fv={exports:{}},Hv={};var rS;function cV(){if(rS)return Hv;rS=1;var e=sd();function t(v,y){return v===y&&(v!==0||1/v===1/y)||v!==v&&y!==y}var n=typeof Object.is=="function"?Object.is:t,s=e.useState,r=e.useEffect,o=e.useLayoutEffect,c=e.useDebugValue;function u(v,y){var x=y(),w=s({inst:{value:x,getSnapshot:y}}),k=w[0].inst,C=w[1];return o(function(){k.value=x,k.getSnapshot=y,h(k)&&C({inst:k})},[v,x,y]),r(function(){return h(k)&&C({inst:k}),v(function(){h(k)&&C({inst:k})})},[v]),c(x),x}function h(v){var y=v.getSnapshot;v=v.value;try{var x=y();return!n(v,x)}catch{return!0}}function f(v,y){return y()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return Hv.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:g,Hv}var iS;function TR(){return iS||(iS=1,Fv.exports=cV()),Fv.exports}var uV=TR(),AR=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},un=(e,t,n)=>(AR(e,t,"read from private field"),n?n.call(e):t.get(e)),Fa=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},ci=(e,t,n,s)=>(AR(e,t,"write to private field"),t.set(e,n),n);function dV(e,t){return t!=null?lV(e,t):e}var na,Sh,Ch,gu,vu,yu,jl,ox,lx,fV=class{constructor(e=[]){Fa(this,na,void 0),Fa(this,Sh,"ready"),Fa(this,Ch,void 0),Fa(this,gu,new Set),Fa(this,vu,new Set),Fa(this,yu,new Set),this.pushMessage=t=>{ci(this,na,un(this,na).concat(t)),un(this,jl).call(this)},this.popMessage=()=>{ci(this,na,un(this,na).slice(0,-1)),un(this,jl).call(this)},this.replaceMessage=(t,n)=>{ci(this,na,[...un(this,na).slice(0,t),this.snapshot(n),...un(this,na).slice(t+1)]),un(this,jl).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const s=n?dV(t,n):t;return un(this,gu).add(s),()=>{un(this,gu).delete(s)}},this["~registerStatusCallback"]=t=>(un(this,vu).add(t),()=>{un(this,vu).delete(t)}),this["~registerErrorCallback"]=t=>(un(this,yu).add(t),()=>{un(this,yu).delete(t)}),Fa(this,jl,()=>{un(this,gu).forEach(t=>t())}),Fa(this,ox,()=>{un(this,vu).forEach(t=>t())}),Fa(this,lx,()=>{un(this,yu).forEach(t=>t())}),ci(this,na,e)}get status(){return un(this,Sh)}set status(e){ci(this,Sh,e),un(this,ox).call(this)}get error(){return un(this,Ch)}set error(e){ci(this,Ch,e),un(this,lx).call(this)}get messages(){return un(this,na)}set messages(e){ci(this,na,[...e]),un(this,jl).call(this)}};na=new WeakMap;Sh=new WeakMap;Ch=new WeakMap;gu=new WeakMap;vu=new WeakMap;yu=new WeakMap;jl=new WeakMap;ox=new WeakMap;lx=new WeakMap;var kl,oS=class extends rV{constructor({messages:e,...t}){const n=new fV(e);super({...t,state:n}),Fa(this,kl,void 0),this["~registerMessagesCallback"]=(s,r)=>un(this,kl)["~registerMessagesCallback"](s,r),this["~registerStatusCallback"]=s=>un(this,kl)["~registerStatusCallback"](s),this["~registerErrorCallback"]=s=>un(this,kl)["~registerErrorCallback"](s),ci(this,kl,n)}};kl=new WeakMap;function hV({experimental_throttle:e,resume:t=!1,...n}={}){const s=p.useRef("chat"in n?{}:{onToolCall:n.onToolCall,onData:n.onData,onFinish:n.onFinish,onError:n.onError,sendAutomaticallyWhen:n.sendAutomaticallyWhen});"chat"in n||(s.current={onToolCall:n.onToolCall,onData:n.onData,onFinish:n.onFinish,onError:n.onError,sendAutomaticallyWhen:n.sendAutomaticallyWhen});const r={...n,onToolCall:y=>{var x,w;return(w=(x=s.current).onToolCall)==null?void 0:w.call(x,y)},onData:y=>{var x,w;return(w=(x=s.current).onData)==null?void 0:w.call(x,y)},onFinish:y=>{var x,w;return(w=(x=s.current).onFinish)==null?void 0:w.call(x,y)},onError:y=>{var x,w;return(w=(x=s.current).onError)==null?void 0:w.call(x,y)},sendAutomaticallyWhen:y=>{var x,w,k;return(k=(w=(x=s.current).sendAutomaticallyWhen)==null?void 0:w.call(x,y))!=null?k:!1}},o=p.useRef("chat"in n?n.chat:new oS(r));("chat"in n&&n.chat!==o.current||"id"in n&&o.current.id!==n.id)&&(o.current="chat"in n?n.chat:new oS(r));const u=p.useCallback(y=>o.current["~registerMessagesCallback"](y,e),[e,o.current.id]),h=p.useSyncExternalStore(u,()=>o.current.messages,()=>o.current.messages),f=p.useSyncExternalStore(o.current["~registerStatusCallback"],()=>o.current.status,()=>o.current.status),g=p.useSyncExternalStore(o.current["~registerErrorCallback"],()=>o.current.error,()=>o.current.error),v=p.useCallback(y=>{typeof y=="function"&&(y=y(o.current.messages)),o.current.messages=y},[o]);return p.useEffect(()=>{t&&o.current.resumeStream()},[t,o]),{id:o.current.id,messages:h,setMessages:v,sendMessage:o.current.sendMessage,regenerate:o.current.regenerate,clearError:o.current.clearError,stop:o.current.stop,error:g,resumeStream:o.current.resumeStream,status:f,addToolResult:o.current.addToolOutput,addToolOutput:o.current.addToolOutput,addToolApprovalResponse:o.current.addToolApprovalResponse}}function mV(e){try{const t=localStorage.getItem(e);if(t)return JSON.parse(t)}catch{}}function pV(e,t){try{localStorage.setItem(e,JSON.stringify(t)),window.dispatchEvent(new CustomEvent("hudson:saved",{detail:{key:e}}))}catch{}}var gV=()=>()=>{},vV=()=>!0,yV=()=>!1;function xV(){return p.useSyncExternalStore(gV,vV,yV)}function Na(e,t){const n=xV(),[s,r]=p.useState(t),o=p.useRef(!1);if(n&&!o.current){o.current=!0;const c=mV(e);c!==void 0&&r(c)}return p.useEffect(()=>{n&&pV(e,s)},[e,s,n]),[s,r]}function bV(e){const t={};for(const n of e.attachmentsRef.current??[])if(e.activeAttachmentsRef.current.has(n.label)){const s=n.content();s!==null&&(t[n.label.toLowerCase()]=s)}return{toolset:e.toolsetRef.current,context:{...e.contextRef.current,...t},mode:e.modeRef.current,sessionId:e.sessionIdRef.current,provider:e.providerRef.current,model:e.modelRef.current}}function wV(e,t){e.current?.(t)}function jV(e,t){e.current?.(t)}function kV(e){const t=new Set;for(const n of e??[])if(n.role==="assistant")for(const s of n.parts??[])s&&bo(s)&&t.add(s.toolCallId);return t}function NV({toolset:e,chatId:t,initialMessages:n,context:s,onToolCall:r,mode:o,attachments:c,provider:u,model:h,sessionId:f,onSessionIdChange:g,onFinish:v,onError:y}){const x=p.useRef(r),w=p.useRef(v),k=p.useRef(y),C=p.useRef(f??crypto.randomUUID()),[T,S]=p.useState(new Set),N=p.useCallback(D=>{S(K=>{const W=new Set(K);return W.has(D)?W.delete(D):W.add(D),W})},[]),[E]=Na("hudson.settings",{}),A=o??E.aiMode??"api",R=p.useRef(T),M=p.useRef(c),$=p.useRef(s),O=p.useRef(e),U=p.useRef(A),_=p.useRef(u),z=p.useRef(h);p.useEffect(()=>{x.current=r},[r]),p.useEffect(()=>{w.current=v},[v]),p.useEffect(()=>{k.current=y},[y]),p.useEffect(()=>{f&&f!==C.current&&(C.current=f)},[f]),p.useEffect(()=>{g?.(C.current)},[g]),p.useEffect(()=>{R.current=T},[T]),p.useEffect(()=>{M.current=c},[c]),p.useEffect(()=>{$.current=s},[s]),p.useEffect(()=>{O.current=e},[e]),p.useEffect(()=>{U.current=A},[A]),p.useEffect(()=>{_.current=u},[u]),p.useEffect(()=>{z.current=h},[h]);const q=p.useMemo(()=>new ER({api:"/api/ai/chat",body:()=>bV({activeAttachmentsRef:R,attachmentsRef:M,contextRef:$,toolsetRef:O,modeRef:U,sessionIdRef:C,providerRef:_,modelRef:z})}),[]),V=hV({id:t,messages:n,transport:q,onFinish:D=>wV(w,D),onError:D=>jV(k,D)}),G=p.useRef(kV(n)),P=p.useCallback(()=>{const D=crypto.randomUUID();C.current=D,g?.(D),G.current.clear(),V.setMessages([])},[V,g]),{messages:H}=V;return p.useEffect(()=>{if(x.current){for(const D of H)if(D.role==="assistant"){for(const K of D.parts??[])if(K&&bo(K)){if("state"in K&&K.state==="input-streaming")continue;const W=K.toolCallId;if(!G.current.has(W)){G.current.add(W);const L=CR(K);x.current?.(L,K.input??{})}}}}},[H]),{messages:H,sendMessage:V.sendMessage,stop:V.stop,status:V.status,setMessages:V.setMessages,clearChat:P,error:V.error,mode:A,attachments:c??[],activeAttachments:T,toggleAttachment:N}}function SV({app:e,commands:t,state:n,provider:s,model:r,onFinish:o}){const c=p.useMemo(()=>(e.intents??[]).map(f=>({commandId:f.commandId,title:f.title,description:f.description,category:f.category,keywords:f.keywords,shortcut:f.shortcut,dangerous:f.dangerous,params:f.params?.map(g=>({name:g.name,description:g.description,type:g.type,optional:g.optional,enum:g.enum}))})),[e.intents]),u=p.useMemo(()=>({appId:e.id,appName:e.name,appDescription:e.description,intents:c,state:n}),[e.id,e.name,e.description,c,n]),h=p.useCallback(f=>{const g=t.find(v=>v.id===f);if(!g){console.warn(`[useAssistant] no command for id "${f}"`);return}g.action()},[t]);return NV({toolset:"intents",context:u,provider:s,model:r,onFinish:o,onToolCall:(f,g)=>{if(f!=="dispatch")return;const v=g.commandId;typeof v=="string"&&h(v)}})}function Hb(e={}){const{url:t="ws://localhost:3600",healthUrl:n,systemPrompt:s,cwd:r,workspaceFiles:o,autoConnect:c=!1,sessionKey:u,orphanTTL:h,backend:f,tmuxSession:g,agent:v,provider:y,model:x}=e,w=u?`hudson.relay.${u}`:null,k=()=>{if(!w)return null;try{return localStorage.getItem(w)}catch{return null}},C=re=>{if(w)try{re?localStorage.setItem(w,re):localStorage.removeItem(w)}catch{}},[T,S]=p.useState("disconnected"),[N,E]=p.useState(null),[A,R]=p.useState(null),[M,$]=p.useState(null),[O,U]=p.useState(r||"~"),_=p.useRef(null),z=p.useRef(null),q=p.useRef({cols:80,rows:24}),V=p.useRef(!1),G=p.useRef(""),P=p.useRef(0),H=p.useRef(O);H.current=O;const D=p.useRef(k()),K=p.useRef(null),W=512*1024,L=p.useCallback(re=>{if(re){if(K.current){K.current(re);return}G.current+=re,G.current.length>W&&(G.current=G.current.slice(-W))}},[]),F=p.useCallback(re=>{const Fe=_.current;Fe&&Fe.readyState===WebSocket.OPEN&&Fe.send(JSON.stringify(re))},[]),Z=p.useCallback(()=>{const re=_.current;re&&(re.close(),_.current=null)},[]),ee=p.useCallback(()=>{P.current+=1,z.current&&(clearTimeout(z.current),z.current=null),Z(),V.current=!1,S("disconnected")},[Z]),X=p.useCallback(()=>{const re=H.current;return{type:"session:init",cols:q.current.cols,rows:q.current.rows,...s?{systemPrompt:s}:{},...re?{cwd:re}:{},...o?{workspaceFiles:o}:{},...h?{orphanTTL:h}:{},...f?{backend:f}:{},...g?{tmuxSession:g}:{},...v?{agent:v}:{},...y?{provider:y}:{},...x?{model:x}:{}}},[s,o,h,f,g,v,y,x]),de=p.useCallback(()=>{V.current||(V.current=!0,D.current?F({type:"session:reconnect",sessionId:D.current,cols:q.current.cols,rows:q.current.rows}):F(X()))},[F,X]),J=p.useCallback(async()=>{const re=P.current+1;P.current=re,Z(),V.current=!1,S("connecting"),R(null),$(null);const Fe=n||`${t.replace(/^ws(s?):\/\//,"http$1://")}/health`;try{await fetch(Fe,{signal:AbortSignal.timeout(2e3)})}catch{if(P.current!==re)return;S("error"),R("Relay service is not running");return}if(P.current!==re)return;Z();const Ce=new WebSocket(t);_.current=Ce;const Me=()=>P.current===re&&_.current===Ce;Ce.onopen=()=>{if(!Me()){Ce.close();return}de()},Ce.onmessage=_e=>{if(Me())try{const He=JSON.parse(_e.data);switch(He.type){case"session:ready":D.current=He.sessionId,C(He.sessionId),E(He.sessionId),S("connected"),R(null),$(null);break;case"session:expired":{D.current=null,C(null),V.current=!1,L("\x1B[2J\x1B[H"),F(X()),V.current=!0;break}case"session:error":S("error"),R(He.error||"Session failed to start");break;case"terminal:data":He.data&&L(He.data);break;case"session:exit":D.current=null,C(null),E(null),$(He.exitCode??null),He.exitCode!==0?(S("error"),R(He.reason||`Process exited with code ${He.exitCode}`)):S("disconnected");break;case"session:detached":D.current=null,C(null),E(null);break}}catch{}},Ce.onclose=()=>{Me()&&(_.current=null,V.current=!1,S(_e=>_e==="error"?_e:"disconnected"))},Ce.onerror=()=>{Me()&&(S("error"),R("Could not connect to relay"))}},[t,n,de,Z,F,s,o]),ae=p.useCallback(re=>{F({type:"terminal:input",data:re})},[F]),je=p.useCallback(re=>{F({type:"terminal:input",data:re+"\r"})},[F]),Ee=p.useCallback((re,Fe)=>{q.current={cols:re,rows:Fe},V.current&&F({type:"terminal:resize",cols:re,rows:Fe})},[F]),pe=p.useCallback(re=>{K.current=re,!(!re||G.current.length===0)&&(re(G.current),G.current="")},[]);p.useEffect(()=>(c&&J(),()=>{ee()}),[]);const Te=p.useCallback(()=>{ee(),D.current=null,E(null),C(null),R(null),$(null),setTimeout(()=>J(),200)},[ee,J]);return{status:T,sessionId:N,error:A,exitCode:M,cwd:O,setCwd:U,onData:pe,sendInput:ae,sendLine:je,resize:Ee,connect:J,disconnect:ee,restart:Te}}function CV({chat:e,placeholder:t="Ask AI...",inputExtras:n,inputStatus:s,inputValue:r,onInputChange:o}){const{messages:c,sendMessage:u,stop:h,status:f,clearChat:g,error:v,attachments:y,activeAttachments:x,toggleAttachment:w}=e,[k,C]=p.useState(""),T=r!==void 0,S=T?r:k,N=U=>{T?o?.(U):C(U)},E=p.useRef(null),A=p.useRef(null),R=f==="streaming"||f==="submitted",M=y.length>0;p.useEffect(()=>{const U=E.current;U&&(U.scrollTop=U.scrollHeight)},[c]),p.useEffect(()=>{A.current?.focus()},[]);const $=U=>{U.preventDefault();const _=S.trim();!_||R||(N(""),u({text:_}))},O=U=>{U.stopPropagation(),U.key==="Enter"&&!U.shiftKey&&(U.preventDefault(),$(U))};return a.jsxs("div",{className:"flex flex-col h-full font-mono text-[12px]",children:[a.jsxs("div",{ref:E,className:"flex-1 overflow-y-auto frame-scrollbar p-3 space-y-3",children:[c.length===0&&a.jsx("div",{className:"text-neutral-500 text-center py-8 select-none",children:t}),c.map(U=>a.jsx("div",{className:`flex ${U.role==="user"?"justify-end":"justify-start"}`,children:a.jsx("div",{className:`max-w-[85%] rounded-lg px-3 py-2 whitespace-pre-wrap break-words leading-relaxed ${U.role==="user"?"bg-emerald-500/10 text-emerald-100 border border-emerald-500/20":"bg-neutral-800/50 text-neutral-200 border border-neutral-700/50"}`,children:(U.parts??[]).map((_,z)=>{if(!_)return null;if(_.type==="text")return a.jsx("span",{children:_.text},z);if(bo(_)){const q=CR(_),V=Object.entries(_.input??{}).map(([G,P])=>`${G}: ${JSON.stringify(P)}`).join(", ");return a.jsxs("div",{className:"text-[11px] text-cyan-400/70 mt-1 font-mono",children:[a.jsx("span",{className:"text-neutral-500",children:"↳ "}),q,"(",V,")"]},z)}return null})})},U.id)),R&&c[c.length-1]?.role!=="assistant"&&a.jsx("div",{className:"flex justify-start",children:a.jsx("div",{className:"bg-neutral-800/50 border border-neutral-700/50 rounded-lg px-3 py-2 text-neutral-400",children:a.jsx("span",{className:"animate-pulse",children:"..."})})})]}),v&&a.jsxs("div",{className:"px-3 py-2 bg-red-900/20 border-t border-red-500/30 text-red-400 text-[11px] flex items-center gap-2",children:[a.jsx(BA,{size:12}),a.jsx("span",{className:"truncate",children:v.message||"An error occurred"})]}),a.jsxs("div",{className:"px-3 py-2.5 border-t border-neutral-700/50 bg-neutral-900/50",children:[M&&a.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[a.jsx(e4,{size:11,className:"text-neutral-500 shrink-0"}),y.map(U=>{const _=x.has(U.label);return a.jsx("button",{type:"button",onClick:()=>w(U.label),className:`text-[10px] px-2 py-0.5 rounded-full border transition-colors ${_?"bg-cyan-500/15 text-cyan-300 border-cyan-500/40":"text-neutral-500 border-neutral-700 hover:text-neutral-300 hover:border-neutral-600"}`,children:U.label},U.label)}),x.size>0&&a.jsx("span",{className:"text-[10px] text-neutral-600 ml-1",children:"attached"})]}),a.jsxs("form",{onSubmit:$,className:"flex items-center gap-2 rounded-lg border border-neutral-700 bg-neutral-800/60 px-3 py-2 focus-within:border-emerald-500/40 transition-colors",children:[c.length>0&&a.jsx("button",{type:"button",onClick:()=>g(),className:"p-1 rounded text-neutral-500 hover:text-neutral-300 hover:bg-neutral-700 transition-colors",title:"Clear",children:a.jsx(R4,{size:12})}),a.jsx("input",{ref:A,type:"text",value:S,onChange:U=>N(U.target.value),onKeyDown:O,placeholder:t,className:"flex-1 bg-transparent outline-none text-neutral-100 placeholder:text-neutral-500 caret-emerald-400",disabled:R}),R?a.jsx("button",{type:"button",onClick:()=>h(),className:"p-1.5 rounded text-amber-400 hover:bg-amber-900/20 transition-colors",title:"Stop",children:a.jsx(Zm,{size:12})}):a.jsx("button",{type:"submit",disabled:!S.trim(),className:"text-[11px] px-2 py-1 rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/30 hover:bg-emerald-500/20 disabled:opacity-30 disabled:cursor-default transition-colors",children:"Send"})]})]})]})}var EV={background:"#1a1a1a",foreground:"#abb2bf",cursor:"#528bff",cursorAccent:"#1a1a1a",selectionBackground:"#3e4451",selectionForeground:"#abb2bf",black:"#1a1a1a",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"},TV=`
|
|
66
|
+
.xterm { cursor: text; position: relative; user-select: none; -ms-user-select: none; -webkit-user-select: none; }
|
|
67
|
+
.xterm.focus, .xterm:focus { outline: none; }
|
|
68
|
+
.xterm .xterm-helpers { position: absolute; top: 0; z-index: 5; }
|
|
69
|
+
.xterm .xterm-helper-textarea { padding: 0; border: 0; margin: 0; position: absolute; opacity: 0; left: -9999em; top: 0; width: 0; height: 0; z-index: -5; white-space: nowrap; overflow: hidden; resize: none; }
|
|
70
|
+
.xterm .composition-view { background: #000; color: #FFF; display: none; position: absolute; white-space: nowrap; z-index: 1; }
|
|
71
|
+
.xterm .composition-view.active { display: block; }
|
|
72
|
+
.xterm .xterm-viewport { background-color: #000; overflow-y: scroll; cursor: default; position: absolute; right: 0; left: 0; top: 0; bottom: 0; }
|
|
73
|
+
.xterm .xterm-screen { position: relative; }
|
|
74
|
+
.xterm .xterm-screen canvas { position: absolute; left: 0; top: 0; }
|
|
75
|
+
.xterm-char-measure-element { display: inline-block; visibility: hidden; position: absolute; top: 0; left: -9999em; line-height: normal; }
|
|
76
|
+
.xterm.enable-mouse-events { cursor: default; }
|
|
77
|
+
.xterm.xterm-cursor-pointer, .xterm .xterm-cursor-pointer { cursor: pointer; }
|
|
78
|
+
.xterm.column-select.focus { cursor: crosshair; }
|
|
79
|
+
.xterm .xterm-accessibility:not(.debug), .xterm .xterm-message { position: absolute; left: 0; top: 0; bottom: 0; right: 0; z-index: 10; color: transparent; pointer-events: none; }
|
|
80
|
+
.xterm .xterm-accessibility-tree:not(.debug) *::selection { color: transparent; }
|
|
81
|
+
.xterm .xterm-accessibility-tree { font-family: monospace; user-select: text; white-space: pre; }
|
|
82
|
+
.xterm .xterm-accessibility-tree > div { transform-origin: left; width: fit-content; }
|
|
83
|
+
.xterm .live-region { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
|
|
84
|
+
.xterm-dim { opacity: 1 !important; }
|
|
85
|
+
.xterm-underline-1 { text-decoration: underline; }
|
|
86
|
+
.xterm-underline-2 { text-decoration: double underline; }
|
|
87
|
+
.xterm-underline-3 { text-decoration: wavy underline; }
|
|
88
|
+
.xterm-underline-4 { text-decoration: dotted underline; }
|
|
89
|
+
.xterm-underline-5 { text-decoration: dashed underline; }
|
|
90
|
+
.xterm-overline { text-decoration: overline; }
|
|
91
|
+
.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
|
|
92
|
+
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
|
|
93
|
+
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
|
|
94
|
+
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
|
|
95
|
+
.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
|
|
96
|
+
.xterm-strikethrough { text-decoration: line-through; }
|
|
97
|
+
.xterm-screen .xterm-decoration-container .xterm-decoration { z-index: 6; position: absolute; }
|
|
98
|
+
.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer { z-index: 7; }
|
|
99
|
+
.xterm-decoration-overview-ruler { z-index: 8; position: absolute; top: 0; right: 0; pointer-events: none; }
|
|
100
|
+
.xterm-decoration-top { z-index: 2; position: relative; }
|
|
101
|
+
.xterm .xterm-scrollable-element > .scrollbar { cursor: default; }
|
|
102
|
+
.xterm .xterm-scrollable-element > .scrollbar > .scra { cursor: pointer; font-size: 11px !important; }
|
|
103
|
+
.xterm .xterm-scrollable-element > .visible { opacity: 1; background: rgba(0,0,0,0); transition: opacity 100ms linear; z-index: 11; }
|
|
104
|
+
.xterm .xterm-scrollable-element > .invisible { opacity: 0; pointer-events: none; }
|
|
105
|
+
.xterm .xterm-scrollable-element > .invisible.fade { transition: opacity 800ms linear; }
|
|
106
|
+
.xterm .xterm-scrollable-element > .shadow { position: absolute; display: none; }
|
|
107
|
+
.xterm .xterm-scrollable-element > .shadow.top { display: block; top: 0; left: 3px; height: 3px; width: 100%; }
|
|
108
|
+
.xterm .xterm-scrollable-element > .shadow.left { display: block; top: 3px; left: 0; height: 100%; width: 3px; }
|
|
109
|
+
`;function AV(){if(typeof document>"u"||document.querySelector("[data-xterm-css]"))return;const e=document.createElement("style");e.setAttribute("data-xterm-css",""),e.textContent=TV,document.head.appendChild(e)}function MV(e){return new Promise((t,n)=>{const s=new FileReader;s.onload=()=>{const r=s.result;t(r.split(",")[1])},s.onerror=n,s.readAsDataURL(e)})}function qb({relay:e,fontSize:t=12,fontFamily:n="'JetBrains Mono', 'Hack Nerd Font', monospace",configItems:s,onOpenSettings:r,onStartService:o,quiet:c=!1}){const{status:u,error:h,exitCode:f,cwd:g,setCwd:v,sendInput:y,resize:x,onData:w,connect:k,disconnect:C}=e,[T,S]=p.useState(!1),{apiBaseUrl:N}=Km(),E=p.useRef(null),A=p.useRef(null),R=p.useRef(null),M=p.useRef(null),[$,O]=p.useState(!1),[U,_]=p.useState(!1),z=p.useRef(0);p.useEffect(()=>{const Z=E.current;if(!Z)return;const ee=X=>{X.key===" "&&!X.metaKey&&!X.ctrlKey&&!X.altKey&&X.stopPropagation()};return Z.addEventListener("keydown",ee),()=>Z.removeEventListener("keydown",ee)},[]);const q=`${N}/api/relay/upload`,V=p.useCallback(async Z=>{try{const ee=await MV(Z),X=await fetch(q,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:Z.name,data:ee})}),{path:de}=await X.json();return de||null}catch(ee){return console.error("File upload failed:",ee),null}},[q]);p.useEffect(()=>{const Z=E.current;if(!Z)return;const ee=async X=>{if(!X.clipboardData)return;const de=Array.from(X.clipboardData.items).filter(J=>J.type.startsWith("image/"));if(de.length!==0){X.preventDefault(),X.stopPropagation();for(const J of de){const ae=J.getAsFile();if(!ae)continue;const je=await V(ae);je&&y(je)}}};return Z.addEventListener("paste",ee),()=>Z.removeEventListener("paste",ee)},[y,V]);const G=p.useCallback(Z=>{Z.preventDefault(),Z.dataTransfer.dropEffect="copy"},[]),P=p.useCallback(Z=>{Z.preventDefault(),z.current++,Z.dataTransfer.types.includes("Files")&&_(!0)},[]),H=p.useCallback(Z=>{Z.preventDefault(),z.current--,z.current===0&&_(!1)},[]),D=p.useCallback(async Z=>{Z.preventDefault(),z.current=0,_(!1);const ee=Array.from(Z.dataTransfer.files).filter(X=>X.type.startsWith("image/"));if(ee.length!==0)for(const X of ee){const de=await V(X);de&&y(de)}},[y,V]);p.useEffect(()=>{let Z=!1,ee=null;async function X(){const[{Terminal:de},{FitAddon:J},ae]=await Promise.all([Pv(()=>import("./xterm_hudsonkit_false-B2TbElXJ.js"),[]),Pv(()=>import("./addon-fit_hudsonkit_false-DSvcGNZx.js"),[]),Pv(()=>import("./addon-webgl_hudsonkit_false-1rrLEmjL.js"),[]).catch(()=>null)]);if(AV(),Z||!A.current)return;ee=new de({fontSize:t,fontFamily:n,theme:EV,cursorBlink:!0,cursorStyle:"bar",allowTransparency:!0,scrollback:5e3,convertEol:!1,allowProposedApi:!0});const je=new J;if(ee.loadAddon(je),ee.open(A.current),ae)try{const Ee=new ae.WebglAddon;Ee.onContextLoss(()=>{Ee.dispose()}),ee.loadAddon(Ee)}catch{}try{je.fit()}catch{}R.current=ee,M.current=je,x(ee.cols,ee.rows),ee.onData(Ee=>{y(Ee)}),O(!0)}return X(),()=>{Z=!0,ee&&(ee.dispose(),R.current=null,M.current=null)}},[]),p.useEffect(()=>{const Z=R.current;if(Z){Z.options.fontSize=t,Z.options.fontFamily=n;try{M.current?.fit()}catch{}}},[t,n]),p.useEffect(()=>{if($)return w(Z=>{R.current?.write(Z)}),()=>{w(null)}},[$,w]),p.useEffect(()=>{const Z=A.current;if(!Z||!$)return;const ee=new ResizeObserver(()=>{const X=M.current,de=R.current;if(!(!X||!de))try{X.fit(),x(de.cols,de.rows)}catch{}});return ee.observe(Z),()=>ee.disconnect()},[$,x]),p.useEffect(()=>{u==="connected"&&R.current&&R.current.focus()},[u]);const K=p.useCallback(()=>{u==="connected"&&R.current&&R.current.focus()},[u]),W=u==="error"&&h==="Relay service is not running",L=p.useCallback(async()=>{if(o){S(!0);try{await o()&&setTimeout(()=>k(),500)}finally{S(!1)}}},[o,k]);let F=null;return W?F=a.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[a.jsx("div",{className:"w-8 h-8 rounded-full bg-amber-500/10 border border-amber-500/20 flex items-center justify-center",children:a.jsx("span",{className:"text-amber-400 text-[14px]",children:"!"})}),a.jsxs("div",{children:[a.jsx("div",{className:"text-[12px] text-neutral-300 font-medium mb-1",children:"Relay service not running"}),a.jsx("div",{className:"text-[11px] text-neutral-500 leading-relaxed",children:o?"Start the relay service to open a terminal session.":"Start the relay service from the Workspace Manager."})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[o&&a.jsx("button",{type:"button",onClick:L,disabled:T,className:"text-[11px] px-4 py-1.5 rounded-full border border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10 transition-colors font-medium disabled:opacity-50",children:T?"Starting...":"Start Service"}),a.jsx("button",{type:"button",onClick:()=>k(),className:"text-[11px] px-3 py-1.5 rounded-full border border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:bg-white/5 transition-colors",children:"Retry"}),r&&a.jsx("button",{type:"button",onClick:r,className:"text-[11px] px-3 py-1.5 rounded-full border border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:bg-white/5 transition-colors",children:"Settings"})]})]}):u==="error"&&h?F=a.jsxs("div",{className:"flex flex-col items-center gap-3 max-w-md text-center px-4",children:[a.jsx("div",{className:"w-8 h-8 rounded-full bg-red-500/10 flex items-center justify-center",children:a.jsx("span",{className:"text-red-400 text-sm",children:"!"})}),a.jsx("span",{className:"text-red-400 text-[12px] font-medium",children:"Session failed"}),a.jsx("code",{className:"text-[11px] text-neutral-400 bg-neutral-800/80 px-3 py-2 rounded-md whitespace-pre-wrap leading-relaxed max-h-32 overflow-y-auto w-full text-left",children:h}),f!==null&&f!==0&&a.jsxs("span",{className:"text-[10px] text-neutral-600",children:["Exit code ",f]}),a.jsx("button",{type:"button",onClick:()=>k(),className:"text-[11px] px-3 py-1 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors",children:"Retry"})]}):u==="disconnected"&&!c?F=a.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[a.jsx("div",{className:"w-8 h-8 rounded-full bg-neutral-800 border border-neutral-700 flex items-center justify-center",children:a.jsx("span",{className:"text-neutral-500 text-[14px]",children:"▷"})}),a.jsxs("div",{children:[a.jsx("div",{className:"text-[12px] text-neutral-300 font-medium mb-1",children:"Terminal relay disconnected"}),a.jsx("div",{className:"text-[11px] text-neutral-500 leading-relaxed",children:"Set working directory and connect."})]}),a.jsxs("form",{className:"w-full",onSubmit:Z=>{Z.preventDefault(),k()},children:[a.jsx("label",{className:"text-[10px] font-mono text-neutral-500 uppercase tracking-wider mb-1 block text-left",children:"Working Directory"}),a.jsx("input",{type:"text",value:g,onChange:Z=>v(Z.target.value),placeholder:"~/dev/my-project",className:"w-full bg-neutral-800/80 border border-neutral-700/50 rounded px-3 py-1.5 text-[11px] font-mono text-neutral-200 placeholder:text-neutral-600 outline-none focus:border-cyan-500/40 transition-colors",spellCheck:!1,autoComplete:"off"})]}),s&&s.length>0&&a.jsx("div",{className:"w-full grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[10px] font-mono bg-neutral-800/60 border border-neutral-700/40 rounded-md px-3 py-2",children:s.map(Z=>a.jsxs("div",{className:"contents",children:[a.jsx("span",{className:"text-neutral-500",children:Z.label}),a.jsx("span",{className:"text-neutral-400 truncate text-left",children:Z.value})]},Z.label))}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{type:"button",onClick:()=>k(),className:"text-[11px] px-4 py-1.5 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors font-medium",children:"Connect"}),r&&a.jsx("button",{type:"button",onClick:r,className:"text-[11px] px-3 py-1.5 rounded-full border border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:bg-white/5 transition-colors",children:"Settings"})]})]}):u==="connecting"&&!c&&(F=a.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[a.jsx("div",{className:"w-6 h-6 border-2 border-neutral-600 border-t-cyan-400 rounded-full animate-spin"}),a.jsx("span",{className:"text-[12px] text-neutral-400",children:"Connecting to relay..."}),a.jsx("button",{type:"button",onClick:()=>{C()},className:"text-[10px] px-3 py-1 rounded-full border border-neutral-700 text-neutral-500 hover:text-neutral-300 hover:bg-white/5 transition-colors",children:"Cancel"})]})),a.jsxs("div",{ref:E,className:"relative flex flex-col h-full overflow-hidden",onClick:K,onDragOver:G,onDragEnter:P,onDragLeave:H,onDrop:D,children:[F&&a.jsx("div",{className:"flex items-center justify-center h-full font-mono text-[12px] absolute inset-0 z-10 bg-neutral-900/90",children:F}),U&&a.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-cyan-500/10 border-2 border-dashed border-cyan-500/50 rounded pointer-events-none",children:a.jsx("span",{className:"text-cyan-400 font-mono text-sm",children:"Drop image to get path"})}),a.jsx("div",{ref:A,className:"flex-1 min-h-0 min-w-0 overflow-hidden",style:{visibility:F?"hidden":"visible",padding:"4px 8px"}})]})}function RV({app:e,commands:t,state:n,relayUrl:s="ws://localhost:3600",cwd:r,agent:o="pi",provider:c,model:u,backend:h="pty",tmuxSession:f,workspaceFiles:g,onOpenSettings:v,onStartService:y,voiceKit:x}){const[w,k]=Na(`assistant.${e.id}.mode`,"relay"),[C,T]=p.useState(""),[S,N]=Na(`assistant.${e.id}.voice.speakReplies`,x?.settings.speakReplies??!1),{serviceApiUrl:E}=Km(),A=p.useMemo(()=>_V(e),[e]),R=Hb({url:s,systemPrompt:A,cwd:r,workspaceFiles:g,sessionKey:`assistant-${e.id}`,backend:h,tmuxSession:f,agent:o,provider:o==="pi"?c:void 0,model:o==="pi"?u:void 0}),M=p.useCallback(async()=>{if(y)return y();try{return(await(await fetch(`${E}/api/services/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serviceId:"relay",action:"start",triggeredBy:"assistant"})})).json()).success===!0}catch{return!1}},[y,E]),$=p.useMemo(()=>{const D=[{label:"Relay",value:s},{label:"Agent",value:o}];return r&&D.push({label:"CWD",value:r}),o==="pi"&&u&&D.push({label:"Model",value:u}),D},[s,o,r,u]),[O,U]=p.useState("text"),_=SV({app:e,commands:t,state:n,provider:c,model:u,onFinish:({message:D,isAbort:K,isDisconnect:W,isError:L})=>{!x||!S||K||W||L||D.role==="assistant"&&x.speakReply(D,{surface:"hudson-assistant",appId:e.id,source:O})}}),z=p.useCallback(D=>{if(!x)return;const K=[C.trim(),D].filter(Boolean).join(" ");x.settings.autoSend&&_.status!=="streaming"&&_.status!=="submitted"?(T(""),U("voice"),_.sendMessage({text:K})):T(K)},[x,C,_]),q=p.useCallback(()=>{x&&(x.input.status==="recording"?x.input.stop():x.input.start(z))},[x,z]),V=e.intents?.length??0,G=!!x,P=x?.input.status==="transcribing",H=x?.input.status==="recording";return a.jsxs("div",{className:"flex flex-col h-full",children:[a.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 border-b border-neutral-700/50 bg-neutral-900/50",children:[a.jsx(Gm,{size:11,className:"text-cyan-400/60"}),a.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wider text-neutral-500",children:"Assistant"}),a.jsxs("span",{className:"text-[10px] font-mono text-neutral-600",children:["· ",e.name]}),a.jsx("div",{className:"flex-1"}),G&&w==="chat"&&a.jsx("button",{type:"button",onClick:()=>{S&&x?.output.stop(),N(!S)},className:`p-1 rounded transition-colors ${S?"text-cyan-300 hover:text-cyan-200":"text-neutral-500 hover:text-neutral-300"}`,title:S?"Speaker on (click to mute)":"Speaker off (click to enable)",children:x?.output.isPlaying?a.jsx(la,{size:12,className:"animate-spin"}):S?a.jsx(YA,{size:12}):a.jsx(XA,{size:12})}),a.jsxs("div",{className:"flex items-center gap-1 rounded-full border border-neutral-700 p-0.5",children:[a.jsx(cS,{active:w==="relay",onClick:()=>k("relay"),children:"Relay"}),a.jsx(cS,{active:w==="chat",onClick:()=>k("chat"),children:"Chat"})]}),w==="relay"&&R.status==="connected"&&a.jsx("button",{type:"button",onClick:()=>R.restart(),className:"text-[10px] px-2 py-0.5 rounded-full border text-cyan-400 border-cyan-500/30 hover:bg-cyan-500/10 transition-colors",title:"Kill session and start fresh",children:"Restart"}),w==="relay"&&R.status==="connected"&&a.jsx("button",{type:"button",onClick:()=>R.disconnect(),className:"text-[10px] px-2 py-0.5 rounded-full border text-red-400 border-red-500/30 hover:bg-red-500/10 transition-colors",children:"Disconnect"}),w==="relay"&&R.status!=="connected"&&R.status!=="connecting"&&a.jsx("button",{type:"button",onClick:()=>R.connect(),className:"text-[10px] px-2 py-0.5 rounded-full border text-emerald-400 border-emerald-500/30 hover:bg-emerald-500/10 transition-colors",children:"Connect"})]}),a.jsx("div",{className:"flex-1 min-h-0",children:w==="relay"?a.jsx(qb,{relay:R,configItems:$,onOpenSettings:v,onStartService:M}):a.jsx(CV,{chat:_,placeholder:V===0?`Ask about ${e.name} — no intents declared, conversation only.`:`Ask ${e.name} to do something… (${V} intent${V===1?"":"s"})`,inputValue:C,onInputChange:D=>{O==="voice"&&D.length===0&&U("text"),T(D)},inputExtras:G&&x?.input.isSupported?a.jsx("button",{type:"button",onClick:q,disabled:P,className:`p-1 rounded transition-colors disabled:opacity-30 ${H?"bg-red-500/15 text-red-300 hover:bg-red-500/20":"text-neutral-500 hover:text-cyan-400"}`,title:H?"Stop recording":"Record voice prompt",children:P?a.jsx(la,{size:12,className:"animate-spin"}):H?a.jsx(Zm,{size:11}):a.jsx(WA,{size:12})}):void 0,inputStatus:G&&x?a.jsx(IV,{inputStatus:x.input.status,inputError:x.input.error,outputStatus:x.output.status,outputError:x.output.error}):void 0})})]})}function IV({inputStatus:e,inputError:t,outputStatus:n,outputError:s}){const r=lS(e)??lS(n),o=t??s;return!r&&!o?null:a.jsxs("div",{className:"flex items-center gap-2",children:[r&&a.jsx("span",{className:`text-[10px] px-2 py-0.5 rounded-full border font-mono ${r.className}`,children:r.label}),o&&a.jsx("span",{className:"text-[10px] text-neutral-500 truncate flex-1",title:o,children:o})]})}function lS(e){switch(e){case"recording":return{label:"listening",className:"border-red-500/20 bg-red-500/10 text-red-300"};case"transcribing":return{label:"transcribing",className:"border-amber-500/20 bg-amber-500/10 text-amber-300"};case"ready":return{label:"draft ready",className:"border-cyan-500/20 bg-cyan-500/10 text-cyan-300"};case"synthesizing":return{label:"voicing",className:"border-cyan-500/20 bg-cyan-500/10 text-cyan-300"};case"speaking":return{label:"speaking",className:"border-emerald-500/20 bg-emerald-500/10 text-emerald-300"};case"unavailable":return{label:"voice offline",className:"border-amber-500/20 bg-amber-500/10 text-amber-300"};case"error":return{label:"voice error",className:"border-red-500/20 bg-red-500/10 text-red-300"};default:return null}}function cS({active:e,onClick:t,children:n}){return a.jsx("button",{type:"button",onClick:t,className:`text-[10px] px-2 py-0.5 rounded-full transition-colors ${e?"bg-cyan-500/15 text-cyan-300":"text-neutral-500 hover:text-neutral-300"}`,children:n})}function _V(e){const t=[`You are working alongside the user inside the **${e.name}** Hudson app.`];e.description&&t.push(e.description);const n=e.intents??[];if(n.length>0){t.push("","## What this app can do (for context)");for(const s of n)t.push(`- ${s.title} — ${s.description}`);t.push("","These actions live inside the running app. You can describe them to the user, but you do not invoke them yourself — the user can trigger any of them via the command palette (Cmd+K).")}return t.push("","## How to behave","- Be terse. The user is in a terminal; respect their attention.","- Use your own tools (file ops, shell, etc.) freely if it helps.","- When asked to change something inside the app itself, prefer guiding the user to the matching command rather than hacking around it."),t.join(`
|
|
110
|
+
`)}var hl=4e3,OV=Tl.forwardRef(({pan:e,zoom:t,viewportSize:n,height:s,onClick:r,children:o},c)=>{const[u,h]=Tl.useState(0),f=p.useRef(null),g=Tl.useCallback(S=>{f.current=S,typeof c=="function"?c(S):c&&(c.current=S)},[c]);Tl.useEffect(()=>{const S=f.current;if(!S)return;const N=new ResizeObserver(([E])=>h(E.contentRect.width));return N.observe(S),()=>N.disconnect()},[]);const v=u||260,y=n.width/t/hl*v,x=n.height/t/hl*s,w=(-e.x+hl/2)/hl*v,k=(-e.y+hl/2)/hl*s,C=w-y/2,T=k-x/2;return a.jsxs("div",{ref:g,className:"relative cursor-crosshair overflow-hidden",style:{height:`${s}px`},onClick:r,children:[a.jsx("div",{className:"absolute inset-0 opacity-30",style:{backgroundImage:"radial-gradient(circle, #555 1px, transparent 1px)",backgroundSize:"14px 14px"}}),a.jsx("div",{className:"absolute top-1/2 left-0 right-0 h-px bg-neutral-600/40"}),a.jsx("div",{className:"absolute left-1/2 top-0 bottom-0 w-px bg-neutral-600/40"}),a.jsxs("div",{className:"absolute border border-emerald-500/50 bg-emerald-500/5 transition-all duration-75 ease-out",style:{left:`${C}px`,top:`${T}px`,width:`${Math.max(y,4)}px`,height:`${Math.max(x,4)}px`},children:[a.jsx("div",{className:"absolute -top-[1px] -left-[1px] w-[3px] h-[3px] bg-emerald-400 rounded-full"}),a.jsx("div",{className:"absolute -top-[1px] -right-[1px] w-[3px] h-[3px] bg-emerald-400 rounded-full"}),a.jsx("div",{className:"absolute -bottom-[1px] -left-[1px] w-[3px] h-[3px] bg-emerald-400 rounded-full"}),a.jsx("div",{className:"absolute -bottom-[1px] -right-[1px] w-[3px] h-[3px] bg-emerald-400 rounded-full"})]}),o]})});OV.displayName="MinimapCanvas";var tp={panels:{statusBar:"bg-neutral-950/95 backdrop-blur-xl border-t border-neutral-700 shadow-[0_-5px_30px_rgba(0,0,0,0.6),inset_0_1px_0_rgba(255,255,255,0.06)] fixed bottom-0 left-0 right-0 z-[60]"},zIndex:{drawer:70},layout:{navHeight:48,statusBarHeight:28}},$V=tp.panels,PV=({panOffset:e,scale:t,onPan:n,onPanStart:s,onPanEnd:r,isPanLocked:o=!1,onClick:c,showGuides:u=!1,onGuidesChange:h,gridOpacity:f=1})=>{const[g,v]=p.useState(u),[y,x]=p.useState(!1),w=p.useRef(!1),k=p.useRef({x:0,y:0}),C=p.useRef({active:!1,startX:0,startY:0}),T=p.useRef(null),S=p.useRef(null),N=p.useRef(null),E=4,A=p.useRef({x:0,y:0}),R=p.useRef(0),M=p.useRef(!1);p.useEffect(()=>{v(u)},[u]);const $=p.useCallback(W=>{const L=W;return L?L.tagName==="INPUT"||L.tagName==="TEXTAREA"||L.isContentEditable:!1},[]),O=p.useCallback(W=>{const L=W;return L?!!L.closest('button, [role="button"], a, input, textarea, select, [data-interactive="true"]'):!1},[]),U=p.useCallback(W=>{w.current=W,x(W)},[]);p.useEffect(()=>{const W=ee=>{if(R.current=ee.buttons,C.current.active&&(ee.buttons&1)!==1&&(C.current.active=!1),w.current&&(ee.buttons&1)!==1){U(!1),C.current.active=!1,r?.(),document.body.style.cursor="";return}if(o&&w.current){U(!1),C.current.active=!1,r?.(),document.body.style.cursor="";return}const X=T.current?.getBoundingClientRect(),de=X?ee.clientX-X.left:ee.clientX,J=X?ee.clientY-X.top:ee.clientY;if(A.current={x:de,y:J},S.current&&(S.current.style.left=`${de}px`),N.current&&(N.current.style.top=`${J}px`),C.current.active&&!w.current){const ae=ee.clientX-C.current.startX,je=ee.clientY-C.current.startY;Math.hypot(ae,je)>=E&&(C.current.active=!1,U(!0),M.current=!0,s?.(),k.current={x:ee.clientX,y:ee.clientY},document.body.style.cursor="grabbing")}w.current&&(n({x:(ee.clientX-k.current.x)/t,y:(ee.clientY-k.current.y)/t}),k.current={x:ee.clientX,y:ee.clientY})},L=ee=>{R.current=ee.buttons,C.current.active=!1,w.current&&(U(!1),r?.(),document.body.style.cursor="")},F=ee=>{(ee.metaKey||ee.ctrlKey)&&ee.key==="\\"&&(ee.preventDefault(),v(X=>{const de=!X;return h?.(de),de}))},Z=()=>{C.current.active=!1,L(new MouseEvent("mouseup"))};return window.addEventListener("mousemove",W),window.addEventListener("mouseup",L),window.addEventListener("keydown",F),window.addEventListener("blur",Z),document.addEventListener("visibilitychange",Z),()=>{window.removeEventListener("mousemove",W),window.removeEventListener("mouseup",L),window.removeEventListener("keydown",F),window.removeEventListener("blur",Z),document.removeEventListener("visibilitychange",Z)}},[n,r,s,t,$,O,o,U,h]),p.useEffect(()=>{!o||!w.current||(U(!1),r?.(),document.body.style.cursor="")},[o,r,U]);const _=W=>{M.current=!1,!(o||W.button!==0)&&($(W.target)||O(W.target)||(R.current=W.buttons,C.current={active:!0,startX:W.clientX,startY:W.clientY},W.preventDefault()))},z=W=>{!M.current&&c&&c(W),M.current=!1},[q,V]=p.useState({w:0,h:0});p.useEffect(()=>{const W=()=>V({w:window.innerWidth,h:window.innerHeight});return W(),window.addEventListener("resize",W),()=>window.removeEventListener("resize",W)},[]);const G=Math.max(.4,Math.min(2,t)),P=100*G,H=20*G,D=(q.w/2+e.x*t)%P,K=(q.h/2+e.y*t)%P;return a.jsxs("div",{ref:T,className:`absolute inset-0 z-0 overflow-hidden bg-black ${y?"cursor-grabbing":"cursor-grab"}`,onMouseDown:_,onClick:z,children:[a.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.5*f,transition:"opacity 1s ease",backgroundImage:"radial-gradient(circle, #444 1px, transparent 1px)",backgroundSize:`${H}px ${H}px`,backgroundPosition:`${D+100}px ${K+100}px`}}),a.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.25*f,transition:"opacity 1s ease",backgroundImage:"radial-gradient(circle, #555 1px, transparent 1px)",backgroundSize:`${P}px ${P}px`,backgroundPosition:`${D+100}px ${K+100}px`}}),g&&a.jsxs(a.Fragment,{children:[a.jsx("div",{ref:S,className:"absolute top-0 bottom-0 w-px pointer-events-none bg-emerald-500/10",style:{left:0}}),a.jsx("div",{ref:N,className:"absolute left-0 right-0 h-px pointer-events-none bg-emerald-500/10",style:{top:0}})]})]})},MR=PV;const DV={...OA};let uS=0;function LV(e,t="mui"){const[n,s]=p.useState(e),r=e||n;return p.useEffect(()=>{n==null&&(uS+=1,s(`${t}-${uS}`))},[n,t]),r}const dS=DV.useId;function Ai(e,t){if(dS!==void 0){const n=dS();return e??(t?`${t}-${n}`:n)}return LV(e,t)}function Co(e,...t){const n=new URL(`https://base-ui.com/production-error/${e}`);return t.forEach(s=>n.searchParams.append("args[]",s)),`Base UI error #${e}; visit ${n} for the full message.`}const RR=p.createContext(void 0);function np(e=!0){const t=p.useContext(RR);if(t===void 0&&!e)throw new Error(Co(25));return t}const IR=p.createContext(void 0);function _R(e){const t=p.useContext(IR);if(t===void 0&&!e)throw new Error(Co(33));return t}const Wb=p.createContext(void 0);function uc(e){const t=p.useContext(Wb);if(t===void 0&&!e)throw new Error(Co(36));return t}const fS={};function ua(e,t){const n=p.useRef(fS);return n.current===fS&&(n.current=e(t)),n}function Gu(e,t,n,s){const r=ua(OR).current;return BV(r,e,t,n,s)&&$R(r,[e,t,n,s]),r.callback}function zV(e){const t=ua(OR).current;return UV(t,e)&&$R(t,e),t.callback}function OR(){return{callback:null,cleanup:null,refs:[]}}function BV(e,t,n,s,r){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==s||e.refs[3]!==r}function UV(e,t){return e.refs.length!==t.length||e.refs.some((n,s)=>n!==t[s])}function $R(e,t){if(e.refs=t,t.every(n=>n==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),n!=null){const s=Array(t.length).fill(null);for(let r=0;r<t.length;r+=1){const o=t[r];if(o!=null)switch(typeof o){case"function":{const c=o(n);typeof c=="function"&&(s[r]=c);break}case"object":{o.current=n;break}}}e.cleanup=()=>{for(let r=0;r<t.length;r+=1){const o=t[r];if(o!=null)switch(typeof o){case"function":{const c=s[r];typeof c=="function"?c():o(null);break}case"object":{o.current=null;break}}}}}}}const VV=parseInt(p.version,10);function Gb(e){return VV>=e}function hS(e){if(!p.isValidElement(e))return null;const t=e,n=t.props;return(Gb(19)?n?.ref:t.ref)??null}function cx(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function FV(e,t){const n={};for(const s in e){const r=e[s];if(t?.hasOwnProperty(s)){const o=t[s](r);o!=null&&Object.assign(n,o);continue}r===!0?n[`data-${s.toLowerCase()}`]="":r&&(n[`data-${s.toLowerCase()}`]=r.toString())}return n}function HV(e,t){return typeof e=="function"?e(t):e}function qV(e,t){return typeof e=="function"?e(t):e}const Su={};function sp(e,t,n,s,r){let o={...ux(e,Su)};return t&&(o=Eh(o,t)),n&&(o=Eh(o,n)),s&&(o=Eh(o,s)),o}function WV(e){if(e.length===0)return Su;if(e.length===1)return ux(e[0],Su);let t={...ux(e[0],Su)};for(let n=1;n<e.length;n+=1)t=Eh(t,e[n]);return t}function Eh(e,t){return PR(t)?t(e):GV(e,t)}function GV(e,t){if(!t)return e;for(const n in t){const s=t[n];switch(n){case"style":{e[n]=cx(e.style,s);break}case"className":{e[n]=DR(e.className,s);break}default:ZV(n,s)?e[n]=KV(e[n],s):e[n]=s}}return e}function ZV(e,t){const n=e.charCodeAt(0),s=e.charCodeAt(1),r=e.charCodeAt(2);return n===111&&s===110&&r>=65&&r<=90&&(typeof t=="function"||typeof t>"u")}function PR(e){return typeof e=="function"}function ux(e,t){return PR(e)?e(t):e??Su}function KV(e,t){return t?e?n=>{if(YV(n)){const r=n;dx(r);const o=t(r);return r.baseUIHandlerPrevented||e?.(r),o}const s=t(n);return e?.(n),s}:t:e}function dx(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function DR(e,t){return t?e?t+" "+e:t:e}function YV(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}function LR(){}const zR=Object.freeze([]),Ss=Object.freeze({}),XV=500,JV={style:{transition:"none"}},QV="data-base-ui-click-trigger",e9={fallbackAxisSide:"none"},t9={clipPath:"inset(50%)",position:"fixed",top:0,left:0};function Mi(e,t,n={}){const s=t.render,r=n9(t,n);if(n.enabled===!1)return null;const o=n.state??Ss;return s9(e,s,r,o)}function n9(e,t={}){const{className:n,style:s,render:r}=e,{state:o=Ss,ref:c,props:u,stateAttributesMapping:h,enabled:f=!0}=t,g=f?HV(n,o):void 0,v=f?qV(s,o):void 0,y=f?FV(o,h):Ss,x=f?cx(y,Array.isArray(u)?WV(u):u)??Ss:Ss;return typeof document<"u"&&(f?Array.isArray(c)?x.ref=zV([x.ref,hS(r),...c]):x.ref=Gu(x.ref,hS(r),c):Gu(null,null)),f?(g!==void 0&&(x.className=DR(x.className,g)),v!==void 0&&(x.style=cx(x.style,v)),x):Ss}function s9(e,t,n,s){if(t){if(typeof t=="function")return t(n,s);const r=sp(n,t.props);return r.ref=n.ref,p.cloneElement(t,r)}return a9(e,n)}function a9(e,t){return p.createElement(e,t)}let om=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({});const r9={[om.startingStyle]:""},i9={[om.endingStyle]:""},o9={transitionStatus(e){return e==="starting"?r9:e==="ending"?i9:null}};let Zb=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=om.startingStyle]="startingStyle",e[e.endingStyle=om.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e})({}),mS=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({});const l9={[mS.popupOpen]:"",[mS.pressed]:""},c9={[Zb.open]:""},u9={[Zb.closed]:""},d9={[Zb.anchorHidden]:""},f9={open(e){return e?l9:null}},BR={open(e){return e?c9:u9},anchorHidden(e){return e?d9:null}},h9="none",lm="trigger-press",go="trigger-hover",pS="trigger-focus",Kb="outside-press",UR="item-press",ap="focus-out",VR="escape-key",Th="list-navigation",m9="cancel-open",xu="sibling-open",p9="imperative-action",qv=OA[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],g9=qv&&qv!==p.useLayoutEffect?qv:e=>e();function gt(e){const t=ua(v9).current;return t.next=e,g9(t.effect),t.trampoline}function v9(){const e={next:void 0,callback:y9,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function y9(){}function rp(){return typeof window<"u"}function Ri(e){return Yb(e)?(e.nodeName||"").toLowerCase():"#document"}function ts(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sr(e){var t;return(t=(Yb(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Yb(e){return rp()?e instanceof Node||e instanceof ts(e).Node:!1}function fn(e){return rp()?e instanceof Element||e instanceof ts(e).Element:!1}function Pn(e){return rp()?e instanceof HTMLElement||e instanceof ts(e).HTMLElement:!1}function fx(e){return!rp()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ts(e).ShadowRoot}function Eo(e){const{overflow:t,overflowX:n,overflowY:s,display:r}=Hs(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&r!=="inline"&&r!=="contents"}function x9(e){return/^(table|td|th)$/.test(Ri(e))}function ip(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const b9=/transform|translate|scale|rotate|perspective|filter/,w9=/paint|layout|strict|content/,to=e=>!!e&&e!=="none";let Wv;function Xb(e){const t=fn(e)?Hs(e):e;return to(t.transform)||to(t.translate)||to(t.scale)||to(t.rotate)||to(t.perspective)||!op()&&(to(t.backdropFilter)||to(t.filter))||b9.test(t.willChange||"")||w9.test(t.contain||"")}function j9(e){let t=tr(e);for(;Pn(t)&&!Xa(t);){if(Xb(t))return t;if(ip(t))return null;t=tr(t)}return null}function op(){return Wv==null&&(Wv=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Wv}function Xa(e){return/^(html|body|#document)$/.test(Ri(e))}function Hs(e){return ts(e).getComputedStyle(e)}function lp(e){return fn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function tr(e){if(Ri(e)==="html")return e;const t=e.assignedSlot||e.parentNode||fx(e)&&e.host||sr(e);return fx(t)?t.host:t}function FR(e){const t=tr(e);return Xa(t)?e.ownerDocument?e.ownerDocument.body:e.body:Pn(t)&&Eo(t)?t:FR(t)}function vi(e,t,n){var s;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=FR(e),o=r===((s=e.ownerDocument)==null?void 0:s.body),c=ts(r);if(o){const u=hx(c);return t.concat(c,c.visualViewport||[],Eo(r)?r:[],u&&n?vi(u):[])}else return t.concat(r,vi(r,[],n))}function hx(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}const k9=()=>{},mt=typeof document<"u"?p.useLayoutEffect:k9,N9=p.createContext(void 0);function S9(e=!1){const t=p.useContext(N9);if(t===void 0&&!e)throw new Error(Co(16));return t}function C9(e){const{focusableWhenDisabled:t,disabled:n,composite:s=!1,tabIndex:r=0,isNativeButton:o}=e,c=s&&t!==!1,u=s&&t===!1;return{props:p.useMemo(()=>{const f={onKeyDown(g){n&&t&&g.key!=="Tab"&&g.preventDefault()}};return s||(f.tabIndex=r,!o&&n&&(f.tabIndex=t?r:-1)),(o&&(t||c)||!o&&n)&&(f["aria-disabled"]=n),o&&(!t||u)&&(f.disabled=n),f},[s,n,t,c,u,o,r])}}function E9(e={}){const{disabled:t=!1,focusableWhenDisabled:n,tabIndex:s=0,native:r=!0}=e,o=p.useRef(null),c=S9(!0)!==void 0,u=gt(()=>{const y=o.current;return!!(y?.tagName==="A"&&y?.href)}),{props:h}=C9({focusableWhenDisabled:n,disabled:t,composite:c,tabIndex:s,isNativeButton:r}),f=p.useCallback(()=>{const y=o.current;T9(y)&&c&&t&&h.disabled===void 0&&y.disabled&&(y.disabled=!1)},[t,h.disabled,c]);mt(f,[f]);const g=p.useCallback((y={})=>{const{onClick:x,onMouseDown:w,onKeyUp:k,onKeyDown:C,onPointerDown:T,...S}=y;return sp({type:r?"button":void 0,onClick(E){if(t){E.preventDefault();return}x?.(E)},onMouseDown(E){t||w?.(E)},onKeyDown(E){if(t||(dx(E),C?.(E)),E.baseUIHandlerPrevented)return;const A=E.target===E.currentTarget&&!r&&!u()&&!t,R=E.key==="Enter",M=E.key===" ";A&&((M||R)&&E.preventDefault(),R&&x?.(E))},onKeyUp(E){t||(dx(E),k?.(E)),!E.baseUIHandlerPrevented&&E.target===E.currentTarget&&!r&&!t&&E.key===" "&&x?.(E)},onPointerDown(E){if(t){E.preventDefault();return}T?.(E)}},r?void 0:{role:"button"},h,S)},[t,h,r,u]),v=gt(y=>{o.current=y,f()});return{getButtonProps:g,buttonRef:v}}function T9(e){return Pn(e)&&e.tagName==="BUTTON"}const A9={type:"regular-item"};function M9(e){const{closeOnClick:t,disabled:n=!1,highlighted:s,id:r,store:o,nativeButton:c,itemMetadata:u,nodeId:h}=e,f=p.useRef(null),g=np(!0),v=g!==void 0,{events:y}=o.useState("floatingTreeRoot"),{getButtonProps:x,buttonRef:w}=E9({disabled:n,focusableWhenDisabled:!0,native:c}),k=p.useCallback(T=>sp({id:r,role:"menuitem",tabIndex:s?0:-1,onMouseMove(S){h&&y.emit("itemhover",{nodeId:h,target:S.currentTarget})},onMouseEnter(){u.type==="submenu-trigger"&&u.setActive()},onKeyUp(S){S.key===" "&&o.context.typingRef.current&&S.preventBaseUIHandler()},onClick(S){t&&y.emit("close",{domEvent:S,reason:UR})},onMouseUp(S){if(g){const N=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,v&&N&&Math.abs(S.clientX-N.x)<=1&&Math.abs(S.clientY-N.y)<=1)return}f.current&&o.context.allowMouseUpTriggerRef.current&&(!v||S.button===2)&&u.type==="regular-item"&&f.current.click()}},T,x),[r,s,x,t,y,o,v,g,u,h]),C=Gu(f,w);return p.useMemo(()=>({getItemProps:k,itemRef:C}),[k,C])}const HR=p.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function R9(){return p.useContext(HR)}let I9=(function(e){return e[e.None=0]="None",e[e.GuessFromOrder=1]="GuessFromOrder",e})({});function _9(e={}){const{label:t,metadata:n,textRef:s,indexGuessBehavior:r,index:o}=e,{register:c,unregister:u,subscribeMapChange:h,elementsRef:f,labelsRef:g,nextIndexRef:v}=R9(),y=p.useRef(-1),[x,w]=p.useState(o??(r===I9.GuessFromOrder?()=>{if(y.current===-1){const T=v.current;v.current+=1,y.current=T}return y.current}:-1)),k=p.useRef(null),C=p.useCallback(T=>{if(k.current=T,x!==-1&&T!==null&&(f.current[x]=T,g)){const S=t!==void 0;g.current[x]=S?t:s?.current?.textContent??T.textContent}},[x,f,g,t,s]);return mt(()=>{if(o!=null)return;const T=k.current;if(T)return c(T,n),()=>{u(T)}},[o,c,u,n]),mt(()=>{if(o==null)return h(T=>{const S=k.current?T.get(k.current)?.index:null;S!=null&&w(S)})},[o,h,w]),p.useMemo(()=>({ref:C,index:x}),[x,C])}function qR(e){return Ai(e,"base-ui")}function Dn(e,t,n,s){let r=!1,o=!1;const c=Ss;return{reason:e,event:t??new Event("base-ui"),cancel(){r=!0},allowPropagation(){o=!0},get isCanceled(){return r},get isPropagationAllowed(){return o},trigger:n,...c}}var Mr=$A();const O9=[];function WR(e){p.useEffect(e,O9)}const $f=null;class $9{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;const n=this.callbacks,s=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,s>0)for(let r=0;r<n.length;r+=1)n[r]?.(t)};request(t){const n=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),n}cancel(t){const n=t-this.startId;n<0||n>=this.callbacks.length||(this.callbacks[n]=null,this.callbacksCount-=1)}}const Pf=new $9;class Ga{static create(){return new Ga}static request(t){return Pf.request(t)}static cancel(t){return Pf.cancel(t)}currentId=$f;request(t){this.cancel(),this.currentId=Pf.request(()=>{this.currentId=$f,t()})}cancel=()=>{this.currentId!==$f&&(Pf.cancel(this.currentId),this.currentId=$f)};disposeEffect=()=>this.cancel}function Jb(){const e=ua(Ga.create).current;return WR(e.disposeEffect),e}function P9(e,t=!1,n=!1){const[s,r]=p.useState(e&&t?"idle":void 0),[o,c]=p.useState(e);return e&&!o&&(c(!0),r("starting")),!e&&o&&s!=="ending"&&!n&&r("ending"),!e&&!o&&s==="ending"&&r(void 0),mt(()=>{if(!e&&o&&s!=="ending"&&n){const u=Ga.request(()=>{r("ending")});return()=>{Ga.cancel(u)}}},[e,o,s,n]),mt(()=>{if(!e||t)return;const u=Ga.request(()=>{Mr.flushSync(()=>{r(void 0)})});return()=>{Ga.cancel(u)}},[t,e]),mt(()=>{if(!e||!t)return;e&&o&&s!=="idle"&&r("starting");const u=Ga.request(()=>{r("idle")});return()=>{Ga.cancel(u)}},[t,e,o,r,s]),p.useMemo(()=>({mounted:o,setMounted:c,transitionStatus:s}),[o,s])}function ks(e){const t=ua(D9,e).current;return t.next=e,mt(t.effect),t}function D9(e){const t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function io(e){return e==null?e:"current"in e?e.current:e}function L9(e,t=!1,n=!0){const s=Jb();return gt((r,o=null)=>{s.cancel();const c=io(e);c!=null&&(typeof c.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED?r():s.request(()=>{function u(){c&&Promise.all(c.getAnimations().map(h=>h.finished)).then(()=>{o!=null&&o.aborted||Mr.flushSync(r)}).catch(()=>{if(n){if(o!=null&&o.aborted)return;Mr.flushSync(r)}else c.getAnimations().length>0&&c.getAnimations().some(h=>h.pending||h.playState!=="finished")&&u()})}t?s.request(u):u()}))})}function GR(e){const{enabled:t=!0,open:n,ref:s,onComplete:r}=e,o=ks(n),c=gt(r),u=L9(s,n);p.useEffect(()=>{t&&u(()=>{n===o.current&&c()})},[t,n,c,u,o])}const ZR=p.createContext(void 0);function z9(){const e=p.useContext(ZR);if(e===void 0)throw new Error(Co(31));return e}const B9=p.forwardRef(function(t,n){const{render:s,className:r,...o}=t,[c,u]=p.useState(void 0),h=p.useMemo(()=>({setLabelId:u}),[u]),f=Mi("div",t,{ref:n,props:{role:"group","aria-labelledby":c,...o}});return a.jsx(ZR.Provider,{value:h,children:f})}),U9=p.forwardRef(function(t,n){const{className:s,render:r,id:o,...c}=t,u=qR(o),{setLabelId:h}=z9();return mt(()=>(h(u),()=>{h(void 0)}),[h,u]),Mi("div",t,{ref:n,props:{id:u,role:"presentation",...c}})}),V9=p.forwardRef(function(t,n){const{render:s,className:r,id:o,label:c,nativeButton:u=!1,disabled:h=!1,closeOnClick:f=!0,...g}=t,v=_9({label:c}),y=_R(!0),x=qR(o),{store:w}=uc(),k=w.useState("isActive",v.index),C=w.useState("itemProps"),{getItemProps:T,itemRef:S}=M9({closeOnClick:f,disabled:h,highlighted:k,id:x,store:w,nativeButton:u,nodeId:y?.nodeId,itemMetadata:A9}),N=p.useMemo(()=>({disabled:h,highlighted:k}),[h,k]);return Mi("div",t,{state:N,props:[C,g,T],ref:[S,n,v.ref]})}),iu=0;class Xl{static create(){return new Xl}currentId=iu;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=iu,n()},t)}isStarted(){return this.currentId!==iu}clear=()=>{this.currentId!==iu&&(clearTimeout(this.currentId),this.currentId=iu)};disposeEffect=()=>this.clear}function Aa(){const e=ua(Xl.create).current;return WR(e.disposeEffect),e}const dc=typeof navigator<"u",Gv=G9(),KR=K9(),YR=Z9(),F9=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),H9=Gv.platform==="MacIntel"&&Gv.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(Gv.platform),q9=dc&&/apple/i.test(navigator.vendor),mx=dc&&/android/i.test(KR)||/android/i.test(YR);dc&&KR.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;const W9=YR.includes("jsdom/");function G9(){if(!dc)return{platform:"",maxTouchPoints:-1};const e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function Z9(){if(!dc)return"";const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:t,version:n})=>`${t}/${n}`).join(" "):navigator.userAgent}function K9(){if(!dc)return"";const e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}const px="data-base-ui-focusable",XR="active",JR="selected",QR="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",yi="ArrowLeft",xi="ArrowRight",Qb="ArrowUp",od="ArrowDown";function fi(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function dn(e,t){if(!e||!t)return!1;const n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&fx(n)){let s=t;for(;s;){if(e===s)return!0;s=s.parentNode||s.host}}return!1}function Ns(e){return"composedPath"in e?e.composedPath()[0]:e.target}function wa(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return n.target!=null&&t.contains(n.target)}function Y9(e){return e.matches("html,body")}function Jn(e){return e?.ownerDocument||document}function X9(e){return Pn(e)&&e.matches(QR)}function gx(e){return e?e.getAttribute("role")==="combobox"&&X9(e):!1}function cm(e){return e?e.hasAttribute(px)?e:e.querySelector(`[${px}]`)||e:null}function Dl(e,t,n=!0){return e.filter(r=>r.parentId===t&&(!n||r.context?.open)).flatMap(r=>[r,...Dl(e,r.id,n)])}function gS(e,t){let n=[],s=e.find(r=>r.id===t)?.parentId;for(;s;){const r=e.find(o=>o.id===s);s=r?.parentId,r&&(n=n.concat(r))}return n}function Qn(e){e.preventDefault(),e.stopPropagation()}function J9(e){return"nativeEvent"in e}function e2(e){return e.mozInputSource===0&&e.isTrusted?!0:mx&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function t2(e){return W9?!1:!mx&&e.width===0&&e.height===0||mx&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function Q9(e,t){const n=["mouse","pen"];return n.push("",void 0),n.includes(e)}function eF(e){const t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}const tF=["top","right","bottom","left"],Jl=Math.min,Ls=Math.max,um=Math.round,Rl=Math.floor,Ja=e=>({x:e,y:e}),nF={left:"right",right:"left",bottom:"top",top:"bottom"};function vx(e,t,n){return Ls(e,Jl(t,n))}function Rr(e,t){return typeof e=="function"?e(t):e}function Bs(e){return e.split("-")[0]}function Ii(e){return e.split("-")[1]}function e0(e){return e==="x"?"y":"x"}function t0(e){return e==="y"?"height":"width"}function ra(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function n0(e){return e0(ra(e))}function sF(e,t,n){n===void 0&&(n=!1);const s=Ii(e),r=n0(e),o=t0(r);let c=r==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(c=dm(c)),[c,dm(c)]}function aF(e){const t=dm(e);return[yx(e),t,yx(t)]}function yx(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const vS=["left","right"],yS=["right","left"],rF=["top","bottom"],iF=["bottom","top"];function oF(e,t,n){switch(e){case"top":case"bottom":return n?t?yS:vS:t?vS:yS;case"left":case"right":return t?rF:iF;default:return[]}}function lF(e,t,n,s){const r=Ii(e);let o=oF(Bs(e),n==="start",s);return r&&(o=o.map(c=>c+"-"+r),t&&(o=o.concat(o.map(yx)))),o}function dm(e){const t=Bs(e);return nF[t]+e.slice(t.length)}function cF(e){return{top:0,right:0,bottom:0,left:0,...e}}function n2(e){return typeof e!="number"?cF(e):{top:e,right:e,bottom:e,left:e}}function fm(e){const{x:t,y:n,width:s,height:r}=e;return{width:s,height:r,top:n,left:t,right:t+s,bottom:n+r,x:t,y:n}}function Df(e,t,n){return Math.floor(e/t)!==n}function Cu(e,t){return t<0||t>=e.current.length}function Zv(e,t){return rs(e,{disabledIndices:t})}function xS(e,t){return rs(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function rs(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:s,amount:r=1}={}){let o=t;do o+=n?-r:r;while(o>=0&&o<=e.current.length-1&&Eu(e,o,s));return o}function uF(e,{event:t,orientation:n,loopFocus:s,rtl:r,cols:o,disabledIndices:c,minIndex:u,maxIndex:h,prevIndex:f,stopEvent:g=!1}){let v=f;const y=[],x={};let w=!1;{let T=null,S=-1;e.current.forEach((N,E)=>{if(N==null)return;const A=N.closest('[role="row"]');A&&(w=!0),(A!==T||S===-1)&&(T=A,S+=1,y[S]=[]),y[S].push(E),x[E]=S})}const k=w&&y.length>0&&y.some(T=>T.length!==o);function C(T){if(!k||f===-1)return;const S=x[f];if(S==null)return;const N=y[S].indexOf(f);let E=T==="up"?S-1:S+1;s&&(E<0?E=y.length-1:E>=y.length&&(E=0));const A=new Set;for(;E>=0&&E<y.length&&!A.has(E);){A.add(E);const R=y[E];if(R.length===0){E=T==="up"?E-1:E+1;continue}const M=Math.min(N,R.length-1);for(let $=M;$>=0;$-=1){const O=R[$];if(!Eu(e,O,c))return O}E=T==="up"?E-1:E+1,s&&(E<0?E=y.length-1:E>=y.length&&(E=0))}}if(t.key===Qb){const T=C("up");if(T!==void 0)g&&Qn(t),v=T;else{if(g&&Qn(t),f===-1)v=h;else if(v=rs(e,{startingIndex:v,amount:o,decrement:!0,disabledIndices:c}),s&&(f-o<u||v<0)){const S=f%o,N=h%o,E=h-(N-S);N===S?v=h:v=N>S?E:E-o}Cu(e,v)&&(v=f)}}if(t.key===od){const T=C("down");T!==void 0?(g&&Qn(t),v=T):(g&&Qn(t),f===-1?v=u:(v=rs(e,{startingIndex:f,amount:o,disabledIndices:c}),s&&f+o>h&&(v=rs(e,{startingIndex:f%o-o,amount:o,disabledIndices:c}))),Cu(e,v)&&(v=f))}if(n==="both"){const T=Rl(f/o);t.key===(r?yi:xi)&&(g&&Qn(t),f%o!==o-1?(v=rs(e,{startingIndex:f,disabledIndices:c}),s&&Df(v,o,T)&&(v=rs(e,{startingIndex:f-f%o-1,disabledIndices:c}))):s&&(v=rs(e,{startingIndex:f-f%o-1,disabledIndices:c})),Df(v,o,T)&&(v=f)),t.key===(r?xi:yi)&&(g&&Qn(t),f%o!==0?(v=rs(e,{startingIndex:f,decrement:!0,disabledIndices:c}),s&&Df(v,o,T)&&(v=rs(e,{startingIndex:f+(o-f%o),decrement:!0,disabledIndices:c}))):s&&(v=rs(e,{startingIndex:f+(o-f%o),decrement:!0,disabledIndices:c})),Df(v,o,T)&&(v=f));const S=Rl(h/o)===T;Cu(e,v)&&(s&&S?v=t.key===(r?xi:yi)?h:rs(e,{startingIndex:f-f%o-1,disabledIndices:c}):v=f)}return v}function dF(e,t,n){const s=[];let r=0;return e.forEach(({width:o,height:c},u)=>{let h=!1;for(n&&(r=0);!h;){const f=[];for(let g=0;g<o;g+=1)for(let v=0;v<c;v+=1)f.push(r+g+v*t);r%t+o<=t&&f.every(g=>s[g]==null)?(f.forEach(g=>{s[g]=u}),h=!0):r+=1}}),[...s]}function fF(e,t,n,s,r){if(e===-1)return-1;const o=n.indexOf(e),c=t[e];switch(r){case"tl":return o;case"tr":return c?o+c.width-1:o;case"bl":return c?o+(c.height-1)*s:o;case"br":return n.lastIndexOf(e);default:return-1}}function hF(e,t){return t.flatMap((n,s)=>e.includes(n)?[s]:[])}function Eu(e,t,n){if(typeof n=="function")return n(t);if(n)return n.includes(t);const s=e.current[t];return s?s.hasAttribute("disabled")||s.getAttribute("aria-disabled")==="true":!1}var mF=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],hm=mF.join(","),s2=typeof Element>"u",Ql=s2?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,mm=!s2&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},pm=function(t,n){var s;n===void 0&&(n=!0);var r=t==null||(s=t.getAttribute)===null||s===void 0?void 0:s.call(t,"inert"),o=r===""||r==="true",c=o||n&&t&&(typeof t.closest=="function"?t.closest("[inert]"):pm(t.parentNode));return c},pF=function(t){var n,s=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return s===""||s==="true"},a2=function(t,n,s){if(pm(t))return[];var r=Array.prototype.slice.apply(t.querySelectorAll(hm));return n&&Ql.call(t,hm)&&r.unshift(t),r=r.filter(s),r},gm=function(t,n,s){for(var r=[],o=Array.from(t);o.length;){var c=o.shift();if(!pm(c,!1))if(c.tagName==="SLOT"){var u=c.assignedElements(),h=u.length?u:c.children,f=gm(h,!0,s);s.flatten?r.push.apply(r,f):r.push({scopeParent:c,candidates:f})}else{var g=Ql.call(c,hm);g&&s.filter(c)&&(n||!t.includes(c))&&r.push(c);var v=c.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(c),y=!pm(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(c));if(v&&y){var x=gm(v===!0?c.children:v.children,!0,s);s.flatten?r.push.apply(r,x):r.push({scopeParent:c,candidates:x})}else o.unshift.apply(o,c.children)}}return r},r2=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},i2=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||pF(t))&&!r2(t)?0:t.tabIndex},gF=function(t,n){var s=i2(t);return s<0&&n&&!r2(t)?0:s},vF=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},o2=function(t){return t.tagName==="INPUT"},yF=function(t){return o2(t)&&t.type==="hidden"},xF=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(s){return s.tagName==="SUMMARY"});return n},bF=function(t,n){for(var s=0;s<t.length;s++)if(t[s].checked&&t[s].form===n)return t[s]},wF=function(t){if(!t.name)return!0;var n=t.form||mm(t),s=function(u){return n.querySelectorAll('input[type="radio"][name="'+u+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=s(window.CSS.escape(t.name));else try{r=s(t.name)}catch(c){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",c.message),!1}var o=bF(r,t.form);return!o||o===t},jF=function(t){return o2(t)&&t.type==="radio"},kF=function(t){return jF(t)&&!wF(t)},NF=function(t){var n,s=t&&mm(t),r=(n=s)===null||n===void 0?void 0:n.host,o=!1;if(s&&s!==t){var c,u,h;for(o=!!((c=r)!==null&&c!==void 0&&(u=c.ownerDocument)!==null&&u!==void 0&&u.contains(r)||t!=null&&(h=t.ownerDocument)!==null&&h!==void 0&&h.contains(t));!o&&r;){var f,g,v;s=mm(r),r=(f=s)===null||f===void 0?void 0:f.host,o=!!((g=r)!==null&&g!==void 0&&(v=g.ownerDocument)!==null&&v!==void 0&&v.contains(r))}}return o},bS=function(t){var n=t.getBoundingClientRect(),s=n.width,r=n.height;return s===0&&r===0},SF=function(t,n){var s=n.displayCheck,r=n.getShadowRoot;if(s==="full-native"&&"checkVisibility"in t){var o=t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!o}if(getComputedStyle(t).visibility==="hidden")return!0;var c=Ql.call(t,"details>summary:first-of-type"),u=c?t.parentElement:t;if(Ql.call(u,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="full-native"||s==="legacy-full"){if(typeof r=="function"){for(var h=t;t;){var f=t.parentElement,g=mm(t);if(f&&!f.shadowRoot&&r(f)===!0)return bS(t);t.assignedSlot?t=t.assignedSlot:!f&&g!==t.ownerDocument?t=g.host:t=f}t=h}if(NF(t))return!t.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return bS(t);return!1},CF=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var s=0;s<n.children.length;s++){var r=n.children.item(s);if(r.tagName==="LEGEND")return Ql.call(n,"fieldset[disabled] *")?!0:!r.contains(t)}return!0}n=n.parentElement}return!1},xx=function(t,n){return!(n.disabled||yF(n)||SF(n,t)||xF(n)||CF(n))},bx=function(t,n){return!(kF(n)||i2(n)<0||!xx(t,n))},EF=function(t){var n=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(n)||n>=0)},l2=function(t){var n=[],s=[];return t.forEach(function(r,o){var c=!!r.scopeParent,u=c?r.scopeParent:r,h=gF(u,c),f=c?l2(r.candidates):u;h===0?c?n.push.apply(n,f):n.push(u):s.push({documentOrder:o,tabIndex:h,item:r,isScope:c,content:f})}),s.sort(vF).reduce(function(r,o){return o.isScope?r.push.apply(r,o.content):r.push(o.content),r},[]).concat(n)},cp=function(t,n){n=n||{};var s;return n.getShadowRoot?s=gm([t],n.includeContainer,{filter:bx.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:EF}):s=a2(t,n.includeContainer,bx.bind(null,n)),l2(s)},TF=function(t,n){n=n||{};var s;return n.getShadowRoot?s=gm([t],n.includeContainer,{filter:xx.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):s=a2(t,n.includeContainer,xx.bind(null,n)),s},c2=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return Ql.call(t,hm)===!1?!1:bx(n,t)};const ld=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function u2(e,t){const n=cp(e,ld()),s=n.length;if(s===0)return;const r=fi(Jn(e)),o=n.indexOf(r),c=o===-1?t===1?0:s-1:o+t;return n[c]}function d2(e){return u2(Jn(e).body,1)||e}function f2(e){return u2(Jn(e).body,-1)||e}function Tu(e,t){const n=t||e.currentTarget,s=e.relatedTarget;return!s||!dn(n,s)}function AF(e){cp(e,ld()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function wS(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{const s=n.dataset.tabindex;delete n.dataset.tabindex,s?n.setAttribute("tabindex",s):n.removeAttribute("tabindex")})}function h2(){const e=new Map;return{emit(t,n){e.get(t)?.forEach(s=>s(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}class m2{nodesRef={current:[]};events=h2();addNode(t){this.nodesRef.current.push(t)}removeNode(t){const n=this.nodesRef.current.findIndex(s=>s===t);n!==-1&&this.nodesRef.current.splice(n,1)}}const p2=p.createContext(null),g2=p.createContext(null),_i=()=>p.useContext(p2)?.id||null,fc=e=>{const t=p.useContext(g2);return e??t};function MF(e){const t=Ai(),n=fc(e),s=_i();return mt(()=>{if(!t)return;const r={id:t,parentId:s};return n?.addNode(r),()=>{n?.removeNode(r)}},[n,t,s]),t}function RF(e){const{children:t,id:n}=e,s=_i();return a.jsx(p2.Provider,{value:p.useMemo(()=>({id:n,parentId:s}),[n,s]),children:t})}function IF(e){const{children:t,externalTree:n}=e,s=ua(()=>n??new m2).current;return a.jsx(g2.Provider,{value:s,children:t})}function Zu(e){return`data-base-ui-${e}`}const v2={clip:"rect(0 0 0 0)",overflow:"hidden",whiteSpace:"nowrap",position:"fixed",top:0,left:0,border:0,padding:0,width:1,height:1,margin:-1};function wo(e){return e?.ownerDocument||document}const vm=p.forwardRef(function(t,n){const[s,r]=p.useState();mt(()=>{q9&&r("button")},[]);const o={tabIndex:0,role:s};return a.jsx("span",{...t,ref:n,style:v2,"aria-hidden":s?void 0:!0,...o,"data-base-ui-focus-guard":""})});let jS=0;function Ah(e,t={}){const{preventScroll:n=!1,cancelPrevious:s=!0,sync:r=!1}=t;s&&cancelAnimationFrame(jS);const o=()=>e?.focus({preventScroll:n});r?o():jS=requestAnimationFrame(o)}const Ll={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function kS(e){return e==="inert"?Ll.inert:e==="aria-hidden"?Ll["aria-hidden"]:Ll.none}let Lf=new WeakSet,zf={},Kv=0;const y2=e=>e&&(e.host||y2(e.parentNode)),_F=(e,t)=>t.map(n=>{if(e.contains(n))return n;const s=y2(n);return e.contains(s)?s:null}).filter(n=>n!=null);function OF(e,t,n,s){const r="data-base-ui-inert",o=s?"inert":n?"aria-hidden":null,c=_F(t,e),u=new Set,h=new Set(c),f=[];zf[r]||(zf[r]=new WeakMap);const g=zf[r];c.forEach(v),y(t),u.clear();function v(x){!x||u.has(x)||(u.add(x),x.parentNode&&v(x.parentNode))}function y(x){!x||h.has(x)||[].forEach.call(x.children,w=>{if(Ri(w)!=="script")if(u.has(w))y(w);else{const k=o?w.getAttribute(o):null,C=k!==null&&k!=="false",T=kS(o),S=(T.get(w)||0)+1,N=(g.get(w)||0)+1;T.set(w,S),g.set(w,N),f.push(w),S===1&&C&&Lf.add(w),N===1&&w.setAttribute(r,""),!C&&o&&w.setAttribute(o,o==="inert"?"":"true")}})}return Kv+=1,()=>{f.forEach(x=>{const w=kS(o),C=(w.get(x)||0)-1,T=(g.get(x)||0)-1;w.set(x,C),g.set(x,T),C||(!Lf.has(x)&&o&&x.removeAttribute(o),Lf.delete(x)),T||x.removeAttribute(r)}),Kv-=1,Kv||(Ll.inert=new WeakMap,Ll["aria-hidden"]=new WeakMap,Ll.none=new WeakMap,Lf=new WeakSet,zf={})}}function $F(e,t=!1,n=!1){const s=Jn(e[0]).body;return OF(e.concat(Array.from(s.querySelectorAll("[aria-live]"))),s,t,n)}const x2=p.createContext(null),b2=()=>p.useContext(x2),PF=Zu("portal");function DF(e={}){const{ref:t,container:n,componentProps:s=Ss,elementProps:r,elementState:o}=e,c=Ai(),h=b2()?.portalNode,[f,g]=p.useState(null),[v,y]=p.useState(null),x=p.useRef(null);mt(()=>{if(n===null){x.current&&(x.current=null,y(null),g(null));return}if(c==null)return;const C=(n&&(Yb(n)?n:n.current))??h??document.body;if(C==null){x.current&&(x.current=null,y(null),g(null));return}x.current!==C&&(x.current=C,y(null),g(C))},[n,h,c]);const w=Mi("div",s,{ref:[t,y],state:o,props:[{id:c,[PF]:""},r]});return{portalNode:v,portalSubtree:f&&w?Mr.createPortal(w,f):null}}const LF=p.forwardRef(function(t,n){const{children:s,container:r,className:o,render:c,renderGuards:u,...h}=t,{portalNode:f,portalSubtree:g}=DF({container:r,ref:n,componentProps:t,elementProps:h}),v=p.useRef(null),y=p.useRef(null),x=p.useRef(null),w=p.useRef(null),[k,C]=p.useState(null),T=k?.modal,S=k?.open,N=typeof u=="boolean"?u:!!k&&!k.modal&&k.open&&!!f;p.useEffect(()=>{if(!f||T)return;function A(R){f&&Tu(R)&&(R.type==="focusin"?wS:AF)(f)}return f.addEventListener("focusin",A,!0),f.addEventListener("focusout",A,!0),()=>{f.removeEventListener("focusin",A,!0),f.removeEventListener("focusout",A,!0)}},[f,T]),p.useEffect(()=>{!f||S||wS(f)},[S,f]);const E=p.useMemo(()=>({beforeOutsideRef:v,afterOutsideRef:y,beforeInsideRef:x,afterInsideRef:w,portalNode:f,setFocusManagerState:C}),[f]);return a.jsxs(p.Fragment,{children:[g,a.jsxs(x2.Provider,{value:E,children:[N&&f&&a.jsx(vm,{"data-type":"outside",ref:v,onFocus:A=>{if(Tu(A,f))x.current?.focus();else{const R=k?k.domReference:null;f2(R)?.focus()}}}),N&&f&&a.jsx("span",{"aria-owns":f.id,style:t9}),f&&Mr.createPortal(s,f),N&&f&&a.jsx(vm,{"data-type":"outside",ref:y,onFocus:A=>{if(Tu(A,f))w.current?.focus();else{const R=k?k.domReference:null;d2(R)?.focus(),k?.closeOnFocusOut&&k?.onOpenChange(!1,Dn(ap,A.nativeEvent))}}})]})]})});function zF(e,t){const n=ts(e.target);return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}const NS=20;let hi=[];function s0(){hi=hi.filter(e=>e.isConnected)}function BF(e){s0(),e&&Ri(e)!=="body"&&(hi.push(e),hi.length>NS&&(hi=hi.slice(-NS)))}function Yv(){return s0(),hi[hi.length-1]}function UF(e){if(!e)return null;const t=ld();return c2(e,t)?e:cp(e,t)[0]||e}function VF(e){return!e||!e.isConnected?!1:typeof e.checkVisibility=="function"?e.checkVisibility():Hs(e).display!=="none"}function SS(e,t){if(!t.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const n=ld(),r=TF(e,n).filter(c=>{const u=c.getAttribute("data-tabindex")||"";return c2(c,n)||c.hasAttribute("data-tabindex")&&!u.startsWith("-")}),o=e.getAttribute("tabindex");t.current.includes("floating")||r.length===0?o!=="0"&&e.setAttribute("tabindex","0"):(o!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function FF(e){const{context:t,children:n,disabled:s=!1,order:r=["content"],initialFocus:o=!0,returnFocus:c=!0,restoreFocus:u=!1,modal:h=!0,closeOnFocusOut:f=!0,openInteractionType:g="",getInsideElements:v=()=>[],nextFocusableElement:y,previousFocusableElement:x,beforeContentFocusGuardRef:w,externalTree:k}=e,C="rootStore"in t?t.rootStore:t,T=C.useState("open"),S=C.useState("domReferenceElement"),N=C.useState("floatingElement"),{events:E,dataRef:A}=C.context,R=gt(()=>A.current.floatingContext?.nodeId),M=gt(v),$=o===!1,O=gx(S)&&$,U=ks(r),_=ks(o),z=ks(c),q=ks(g),V=fc(k),G=b2(),P=p.useRef(null),H=p.useRef(null),D=p.useRef(!1),K=p.useRef(!1),W=p.useRef(!1),L=p.useRef(-1),F=p.useRef(""),Z=p.useRef(""),ee=Aa(),X=Aa(),de=Jb(),J=G!=null,ae=cm(N),je=gt((Me=ae)=>Me?cp(Me,ld()):[]),Ee=gt(Me=>{const _e=je(Me);return U.current.map(()=>_e).filter(Boolean).flat()});p.useEffect(()=>{if(s||!h)return;function Me(He){He.key==="Tab"&&dn(ae,fi(Jn(ae)))&&je().length===0&&!O&&Qn(He)}const _e=Jn(ae);return _e.addEventListener("keydown",Me),()=>{_e.removeEventListener("keydown",Me)}},[s,S,ae,h,U,O,je,Ee]),p.useEffect(()=>{if(s||!N)return;function Me(_e){const He=Ns(_e),nt=je().indexOf(He);nt!==-1&&(L.current=nt)}return N.addEventListener("focusin",Me),()=>{N.removeEventListener("focusin",Me)}},[s,N,je]),p.useEffect(()=>{if(s||!T)return;const Me=Jn(ae);function _e(){W.current=!1}function He(nt){const Re=Ns(nt),Ue=dn(N,Re)||dn(S,Re)||dn(G?.portalNode,Re);W.current=!Ue,Z.current=nt.pointerType||"keyboard"}function qe(){Z.current="keyboard"}return Me.addEventListener("pointerdown",He,!0),Me.addEventListener("pointerup",_e,!0),Me.addEventListener("pointercancel",_e,!0),Me.addEventListener("keydown",qe,!0),()=>{Me.removeEventListener("pointerdown",He,!0),Me.removeEventListener("pointerup",_e,!0),Me.removeEventListener("pointercancel",_e,!0),Me.removeEventListener("keydown",qe,!0)}},[s,N,S,ae,T,G]),p.useEffect(()=>{if(s||!f)return;function Me(){K.current=!0,X.start(0,()=>{K.current=!1})}function _e(Re){const Ue=Re.relatedTarget,Ie=Re.currentTarget,Be=Ns(Re);queueMicrotask(()=>{const Pe=R(),at=C.context.triggerElements,ut=!(dn(S,Ue)||dn(N,Ue)||dn(Ue,N)||dn(G?.portalNode,Ue)||Ue!=null&&at.hasElement(Ue)||at.hasMatchingElement(rt=>dn(rt,Ue))||Ue?.hasAttribute(Zu("focus-guard"))||V&&(Dl(V.nodesRef.current,Pe).find(rt=>dn(rt.context?.elements.floating,Ue)||dn(rt.context?.elements.domReference,Ue))||gS(V.nodesRef.current,Pe).find(rt=>[rt.context?.elements.floating,cm(rt.context?.elements.floating)].includes(Ue)||rt.context?.elements.domReference===Ue)));if(Ie===S&&ae&&SS(ae,U),u&&Ie!==S&&!VF(Be)&&fi(Jn(ae))===Jn(ae).body){if(Pn(ae)&&(ae.focus(),u==="popup")){de.request(()=>{ae.focus()});return}const rt=L.current,vt=je(),ie=vt[rt]||vt[vt.length-1]||ae;Pn(ie)&&ie.focus()}if(A.current.insideReactTree){A.current.insideReactTree=!1;return}(O||!h)&&Ue&&ut&&!K.current&&(O||Ue!==Yv())&&(D.current=!0,C.setOpen(!1,Dn(ap,Re)))})}function He(){W.current||(A.current.insideReactTree=!0,ee.start(0,()=>{A.current.insideReactTree=!1}))}const qe=Pn(S)?S:null,nt=[];if(!(!N&&!qe))return qe&&(qe.addEventListener("focusout",_e),qe.addEventListener("pointerdown",Me),nt.push(()=>{qe.removeEventListener("focusout",_e),qe.removeEventListener("pointerdown",Me)})),N&&(N.addEventListener("focusout",_e),G&&(N.addEventListener("focusout",He,!0),nt.push(()=>{N.removeEventListener("focusout",He,!0)})),nt.push(()=>{N.removeEventListener("focusout",_e)})),()=>{nt.forEach(Re=>{Re()})}},[s,S,N,ae,h,V,G,C,f,u,je,O,R,U,A,ee,X,de]);const pe=p.useRef(null),Te=p.useRef(null),re=Gu(pe,w,G?.beforeInsideRef),Fe=Gu(Te,G?.afterInsideRef);p.useEffect(()=>{if(s||!N||!T)return;const Me=Array.from(G?.portalNode?.querySelectorAll(`[${Zu("portal")}]`)||[]),He=(V?gS(V.nodesRef.current,R()):[]).find(Re=>gx(Re.context?.elements.domReference||null))?.context?.elements.domReference,qe=[N,He,...Me,...M(),P.current,H.current,pe.current,Te.current,G?.beforeOutsideRef.current,G?.afterOutsideRef.current,io(x),io(y),O?S:null].filter(Re=>Re!=null),nt=$F(qe,h||O);return()=>{nt()}},[T,s,S,N,h,U,G,O,V,R,M,y,x]),mt(()=>{if(!T||s||!Pn(ae))return;const Me=Jn(ae),_e=fi(Me);queueMicrotask(()=>{const He=Ee(ae),qe=_.current,nt=typeof qe=="function"?qe(q.current||""):qe;if(nt===void 0||nt===!1)return;let Re;nt===!0||nt===null?Re=He[0]||ae:Re=io(nt),Re=Re||He[0]||ae,!dn(ae,_e)&&Ah(Re,{preventScroll:Re===ae})})},[s,T,ae,$,Ee,_,q]),mt(()=>{if(s||!ae)return;const Me=Jn(ae),_e=fi(Me);BF(_e);function He(Re){if(Re.open||(F.current=zF(Re.nativeEvent,Z.current)),Re.reason===go&&Re.nativeEvent.type==="mouseleave"&&(D.current=!0),Re.reason===Kb)if(Re.nested)D.current=!1;else if(e2(Re.nativeEvent)||t2(Re.nativeEvent))D.current=!1;else{let Ue=!1;document.createElement("div").focus({get preventScroll(){return Ue=!0,!1}}),Ue?D.current=!1:D.current=!0}}E.on("openchange",He);const qe=Me.createElement("span");qe.setAttribute("tabindex","-1"),qe.setAttribute("aria-hidden","true"),Object.assign(qe.style,v2),J&&S&&S.insertAdjacentElement("afterend",qe);function nt(){const Re=z.current;let Ue=typeof Re=="function"?Re(F.current):Re;if(Ue===void 0||Ue===!1)return null;if(Ue===null&&(Ue=!0),typeof Ue=="boolean"){const Be=S||Yv();return Be&&Be.isConnected?Be:qe}const Ie=S||Yv()||qe;return io(Ue)||Ie}return()=>{E.off("openchange",He);const Re=fi(Me),Ue=dn(N,Re)||V&&Dl(V.nodesRef.current,R(),!1).some(Be=>dn(Be.context?.elements.floating,Re)),Ie=nt();queueMicrotask(()=>{const Be=UF(Ie),Pe=typeof z.current!="boolean";z.current&&!D.current&&Pn(Be)&&(!(!Pe&&Be!==Re&&Re!==Me.body)||Ue)&&Be.focus({preventScroll:!0}),qe.remove()})}},[s,N,ae,z,A,E,V,J,S,R]),p.useEffect(()=>{queueMicrotask(()=>{D.current=!1})},[s]),p.useEffect(()=>{if(s||!T)return;function Me(He){Ns(He)?.closest(`[${QV}]`)&&(K.current=!0)}const _e=Jn(ae);return _e.addEventListener("pointerdown",Me,!0),()=>{_e.removeEventListener("pointerdown",Me,!0)}},[s,T,ae]),mt(()=>{if(!s&&G)return G.setFocusManagerState({modal:h,closeOnFocusOut:f,open:T,onOpenChange:C.setOpen,domReference:S}),()=>{G.setFocusManagerState(null)}},[s,G,h,T,C,f,S]),mt(()=>{if(!(s||!ae))return SS(ae,U),()=>{queueMicrotask(s0)}},[s,ae,U]);const Ce=!s&&(h?!O:!0)&&(J||h);return a.jsxs(p.Fragment,{children:[Ce&&a.jsx(vm,{"data-type":"inside",ref:re,onFocus:Me=>{if(h){const _e=Ee();Ah(_e[_e.length-1])}else G?.portalNode&&(D.current=!1,Tu(Me,G.portalNode)?d2(S)?.focus():io(x??G.beforeOutsideRef)?.focus())}}),n,Ce&&a.jsx(vm,{"data-type":"inside",ref:Fe,onFocus:Me=>{h?Ah(Ee()[0]):G?.portalNode&&(f&&(D.current=!0),Tu(Me,G.portalNode)?f2(S)?.focus():io(y??G.afterOutsideRef)?.focus())}})]})}function CS(e,t,n){let{reference:s,floating:r}=e;const o=ra(t),c=n0(t),u=t0(c),h=Bs(t),f=o==="y",g=s.x+s.width/2-r.width/2,v=s.y+s.height/2-r.height/2,y=s[u]/2-r[u]/2;let x;switch(h){case"top":x={x:g,y:s.y-r.height};break;case"bottom":x={x:g,y:s.y+s.height};break;case"right":x={x:s.x+s.width,y:v};break;case"left":x={x:s.x-r.width,y:v};break;default:x={x:s.x,y:s.y}}switch(Ii(t)){case"start":x[c]-=y*(n&&f?-1:1);break;case"end":x[c]+=y*(n&&f?-1:1);break}return x}async function HF(e,t){var n;t===void 0&&(t={});const{x:s,y:r,platform:o,rects:c,elements:u,strategy:h}=e,{boundary:f="clippingAncestors",rootBoundary:g="viewport",elementContext:v="floating",altBoundary:y=!1,padding:x=0}=Rr(t,e),w=n2(x),C=u[y?v==="floating"?"reference":"floating":v],T=fm(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(C)))==null||n?C:C.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(u.floating)),boundary:f,rootBoundary:g,strategy:h})),S=v==="floating"?{x:s,y:r,width:c.floating.width,height:c.floating.height}:c.reference,N=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u.floating)),E=await(o.isElement==null?void 0:o.isElement(N))?await(o.getScale==null?void 0:o.getScale(N))||{x:1,y:1}:{x:1,y:1},A=fm(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:S,offsetParent:N,strategy:h}):S);return{top:(T.top-A.top+w.top)/E.y,bottom:(A.bottom-T.bottom+w.bottom)/E.y,left:(T.left-A.left+w.left)/E.x,right:(A.right-T.right+w.right)/E.x}}const qF=50,WF=async(e,t,n)=>{const{placement:s="bottom",strategy:r="absolute",middleware:o=[],platform:c}=n,u=c.detectOverflow?c:{...c,detectOverflow:HF},h=await(c.isRTL==null?void 0:c.isRTL(t));let f=await c.getElementRects({reference:e,floating:t,strategy:r}),{x:g,y:v}=CS(f,s,h),y=s,x=0;const w={};for(let k=0;k<o.length;k++){const C=o[k];if(!C)continue;const{name:T,fn:S}=C,{x:N,y:E,data:A,reset:R}=await S({x:g,y:v,initialPlacement:s,placement:y,strategy:r,middlewareData:w,rects:f,platform:u,elements:{reference:e,floating:t}});g=N??g,v=E??v,w[T]={...w[T],...A},R&&x<qF&&(x++,typeof R=="object"&&(R.placement&&(y=R.placement),R.rects&&(f=R.rects===!0?await c.getElementRects({reference:e,floating:t,strategy:r}):R.rects),{x:g,y:v}=CS(f,y,h)),k=-1)}return{x:g,y:v,placement:y,strategy:r,middlewareData:w}},GF=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,s;const{placement:r,middlewareData:o,rects:c,initialPlacement:u,platform:h,elements:f}=t,{mainAxis:g=!0,crossAxis:v=!0,fallbackPlacements:y,fallbackStrategy:x="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:k=!0,...C}=Rr(e,t);if((n=o.arrow)!=null&&n.alignmentOffset)return{};const T=Bs(r),S=ra(u),N=Bs(u)===u,E=await(h.isRTL==null?void 0:h.isRTL(f.floating)),A=y||(N||!k?[dm(u)]:aF(u)),R=w!=="none";!y&&R&&A.push(...lF(u,k,w,E));const M=[u,...A],$=await h.detectOverflow(t,C),O=[];let U=((s=o.flip)==null?void 0:s.overflows)||[];if(g&&O.push($[T]),v){const V=sF(r,c,E);O.push($[V[0]],$[V[1]])}if(U=[...U,{placement:r,overflows:O}],!O.every(V=>V<=0)){var _,z;const V=(((_=o.flip)==null?void 0:_.index)||0)+1,G=M[V];if(G&&(!(v==="alignment"?S!==ra(G):!1)||U.every(D=>ra(D.placement)===S?D.overflows[0]>0:!0)))return{data:{index:V,overflows:U},reset:{placement:G}};let P=(z=U.filter(H=>H.overflows[0]<=0).sort((H,D)=>H.overflows[1]-D.overflows[1])[0])==null?void 0:z.placement;if(!P)switch(x){case"bestFit":{var q;const H=(q=U.filter(D=>{if(R){const K=ra(D.placement);return K===S||K==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(K=>K>0).reduce((K,W)=>K+W,0)]).sort((D,K)=>D[1]-K[1])[0])==null?void 0:q[0];H&&(P=H);break}case"initialPlacement":P=u;break}if(r!==P)return{reset:{placement:P}}}return{}}}};function ES(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function TS(e){return tF.some(t=>e[t]>=0)}const ZF=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:s}=t,{strategy:r="referenceHidden",...o}=Rr(e,t);switch(r){case"referenceHidden":{const c=await s.detectOverflow(t,{...o,elementContext:"reference"}),u=ES(c,n.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:TS(u)}}}case"escaped":{const c=await s.detectOverflow(t,{...o,altBoundary:!0}),u=ES(c,n.floating);return{data:{escapedOffsets:u,escaped:TS(u)}}}default:return{}}}}},w2=new Set(["left","top"]);async function KF(e,t){const{placement:n,platform:s,elements:r}=e,o=await(s.isRTL==null?void 0:s.isRTL(r.floating)),c=Bs(n),u=Ii(n),h=ra(n)==="y",f=w2.has(c)?-1:1,g=o&&h?-1:1,v=Rr(t,e);let{mainAxis:y,crossAxis:x,alignmentAxis:w}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return u&&typeof w=="number"&&(x=u==="end"?w*-1:w),h?{x:x*g,y:y*f}:{x:y*f,y:x*g}}const YF=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:r,y:o,placement:c,middlewareData:u}=t,h=await KF(t,e);return c===((n=u.offset)==null?void 0:n.placement)&&(s=u.arrow)!=null&&s.alignmentOffset?{}:{x:r+h.x,y:o+h.y,data:{...h,placement:c}}}}},XF=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:r,platform:o}=t,{mainAxis:c=!0,crossAxis:u=!1,limiter:h={fn:T=>{let{x:S,y:N}=T;return{x:S,y:N}}},...f}=Rr(e,t),g={x:n,y:s},v=await o.detectOverflow(t,f),y=ra(Bs(r)),x=e0(y);let w=g[x],k=g[y];if(c){const T=x==="y"?"top":"left",S=x==="y"?"bottom":"right",N=w+v[T],E=w-v[S];w=vx(N,w,E)}if(u){const T=y==="y"?"top":"left",S=y==="y"?"bottom":"right",N=k+v[T],E=k-v[S];k=vx(N,k,E)}const C=h.fn({...t,[x]:w,[y]:k});return{...C,data:{x:C.x-n,y:C.y-s,enabled:{[x]:c,[y]:u}}}}}},JF=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:s,placement:r,rects:o,middlewareData:c}=t,{offset:u=0,mainAxis:h=!0,crossAxis:f=!0}=Rr(e,t),g={x:n,y:s},v=ra(r),y=e0(v);let x=g[y],w=g[v];const k=Rr(u,t),C=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(h){const N=y==="y"?"height":"width",E=o.reference[y]-o.floating[N]+C.mainAxis,A=o.reference[y]+o.reference[N]-C.mainAxis;x<E?x=E:x>A&&(x=A)}if(f){var T,S;const N=y==="y"?"width":"height",E=w2.has(Bs(r)),A=o.reference[v]-o.floating[N]+(E&&((T=c.offset)==null?void 0:T[v])||0)+(E?0:C.crossAxis),R=o.reference[v]+o.reference[N]+(E?0:((S=c.offset)==null?void 0:S[v])||0)-(E?C.crossAxis:0);w<A?w=A:w>R&&(w=R)}return{[y]:x,[v]:w}}}},QF=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,s;const{placement:r,rects:o,platform:c,elements:u}=t,{apply:h=()=>{},...f}=Rr(e,t),g=await c.detectOverflow(t,f),v=Bs(r),y=Ii(r),x=ra(r)==="y",{width:w,height:k}=o.floating;let C,T;v==="top"||v==="bottom"?(C=v,T=y===(await(c.isRTL==null?void 0:c.isRTL(u.floating))?"start":"end")?"left":"right"):(T=v,C=y==="end"?"top":"bottom");const S=k-g.top-g.bottom,N=w-g.left-g.right,E=Jl(k-g[C],S),A=Jl(w-g[T],N),R=!t.middlewareData.shift;let M=E,$=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&($=N),(s=t.middlewareData.shift)!=null&&s.enabled.y&&(M=S),R&&!y){const U=Ls(g.left,0),_=Ls(g.right,0),z=Ls(g.top,0),q=Ls(g.bottom,0);x?$=w-2*(U!==0||_!==0?U+_:Ls(g.left,g.right)):M=k-2*(z!==0||q!==0?z+q:Ls(g.top,g.bottom))}await h({...t,availableWidth:$,availableHeight:M});const O=await c.getDimensions(u.floating);return w!==O.width||k!==O.height?{reset:{rects:!0}}:{}}}};function j2(e){const t=Hs(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const r=Pn(e),o=r?e.offsetWidth:n,c=r?e.offsetHeight:s,u=um(n)!==o||um(s)!==c;return u&&(n=o,s=c),{width:n,height:s,$:u}}function a0(e){return fn(e)?e:e.contextElement}function zl(e){const t=a0(e);if(!Pn(t))return Ja(1);const n=t.getBoundingClientRect(),{width:s,height:r,$:o}=j2(t);let c=(o?um(n.width):n.width)/s,u=(o?um(n.height):n.height)/r;return(!c||!Number.isFinite(c))&&(c=1),(!u||!Number.isFinite(u))&&(u=1),{x:c,y:u}}const eH=Ja(0);function k2(e){const t=ts(e);return!op()||!t.visualViewport?eH:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function tH(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ts(e)?!1:t}function jo(e,t,n,s){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=a0(e);let c=Ja(1);t&&(s?fn(s)&&(c=zl(s)):c=zl(e));const u=tH(o,n,s)?k2(o):Ja(0);let h=(r.left+u.x)/c.x,f=(r.top+u.y)/c.y,g=r.width/c.x,v=r.height/c.y;if(o){const y=ts(o),x=s&&fn(s)?ts(s):s;let w=y,k=hx(w);for(;k&&s&&x!==w;){const C=zl(k),T=k.getBoundingClientRect(),S=Hs(k),N=T.left+(k.clientLeft+parseFloat(S.paddingLeft))*C.x,E=T.top+(k.clientTop+parseFloat(S.paddingTop))*C.y;h*=C.x,f*=C.y,g*=C.x,v*=C.y,h+=N,f+=E,w=ts(k),k=hx(w)}}return fm({width:g,height:v,x:h,y:f})}function up(e,t){const n=lp(e).scrollLeft;return t?t.left+n:jo(sr(e)).left+n}function N2(e,t){const n=e.getBoundingClientRect(),s=n.left+t.scrollLeft-up(e,n),r=n.top+t.scrollTop;return{x:s,y:r}}function nH(e){let{elements:t,rect:n,offsetParent:s,strategy:r}=e;const o=r==="fixed",c=sr(s),u=t?ip(t.floating):!1;if(s===c||u&&o)return n;let h={scrollLeft:0,scrollTop:0},f=Ja(1);const g=Ja(0),v=Pn(s);if((v||!v&&!o)&&((Ri(s)!=="body"||Eo(c))&&(h=lp(s)),v)){const x=jo(s);f=zl(s),g.x=x.x+s.clientLeft,g.y=x.y+s.clientTop}const y=c&&!v&&!o?N2(c,h):Ja(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-h.scrollLeft*f.x+g.x+y.x,y:n.y*f.y-h.scrollTop*f.y+g.y+y.y}}function sH(e){return Array.from(e.getClientRects())}function aH(e){const t=sr(e),n=lp(e),s=e.ownerDocument.body,r=Ls(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),o=Ls(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let c=-n.scrollLeft+up(e);const u=-n.scrollTop;return Hs(s).direction==="rtl"&&(c+=Ls(t.clientWidth,s.clientWidth)-r),{width:r,height:o,x:c,y:u}}const AS=25;function rH(e,t){const n=ts(e),s=sr(e),r=n.visualViewport;let o=s.clientWidth,c=s.clientHeight,u=0,h=0;if(r){o=r.width,c=r.height;const g=op();(!g||g&&t==="fixed")&&(u=r.offsetLeft,h=r.offsetTop)}const f=up(s);if(f<=0){const g=s.ownerDocument,v=g.body,y=getComputedStyle(v),x=g.compatMode==="CSS1Compat"&&parseFloat(y.marginLeft)+parseFloat(y.marginRight)||0,w=Math.abs(s.clientWidth-v.clientWidth-x);w<=AS&&(o-=w)}else f<=AS&&(o+=f);return{width:o,height:c,x:u,y:h}}function iH(e,t){const n=jo(e,!0,t==="fixed"),s=n.top+e.clientTop,r=n.left+e.clientLeft,o=Pn(e)?zl(e):Ja(1),c=e.clientWidth*o.x,u=e.clientHeight*o.y,h=r*o.x,f=s*o.y;return{width:c,height:u,x:h,y:f}}function MS(e,t,n){let s;if(t==="viewport")s=rH(e,n);else if(t==="document")s=aH(sr(e));else if(fn(t))s=iH(t,n);else{const r=k2(e);s={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return fm(s)}function S2(e,t){const n=tr(e);return n===t||!fn(n)||Xa(n)?!1:Hs(n).position==="fixed"||S2(n,t)}function oH(e,t){const n=t.get(e);if(n)return n;let s=vi(e,[],!1).filter(u=>fn(u)&&Ri(u)!=="body"),r=null;const o=Hs(e).position==="fixed";let c=o?tr(e):e;for(;fn(c)&&!Xa(c);){const u=Hs(c),h=Xb(c);!h&&u.position==="fixed"&&(r=null),(o?!h&&!r:!h&&u.position==="static"&&!!r&&(r.position==="absolute"||r.position==="fixed")||Eo(c)&&!h&&S2(e,c))?s=s.filter(g=>g!==c):r=u,c=tr(c)}return t.set(e,s),s}function lH(e){let{element:t,boundary:n,rootBoundary:s,strategy:r}=e;const c=[...n==="clippingAncestors"?ip(t)?[]:oH(t,this._c):[].concat(n),s],u=MS(t,c[0],r);let h=u.top,f=u.right,g=u.bottom,v=u.left;for(let y=1;y<c.length;y++){const x=MS(t,c[y],r);h=Ls(x.top,h),f=Jl(x.right,f),g=Jl(x.bottom,g),v=Ls(x.left,v)}return{width:f-v,height:g-h,x:v,y:h}}function cH(e){const{width:t,height:n}=j2(e);return{width:t,height:n}}function uH(e,t,n){const s=Pn(t),r=sr(t),o=n==="fixed",c=jo(e,!0,o,t);let u={scrollLeft:0,scrollTop:0};const h=Ja(0);function f(){h.x=up(r)}if(s||!s&&!o)if((Ri(t)!=="body"||Eo(r))&&(u=lp(t)),s){const x=jo(t,!0,o,t);h.x=x.x+t.clientLeft,h.y=x.y+t.clientTop}else r&&f();o&&!s&&r&&f();const g=r&&!s&&!o?N2(r,u):Ja(0),v=c.left+u.scrollLeft-h.x-g.x,y=c.top+u.scrollTop-h.y-g.y;return{x:v,y,width:c.width,height:c.height}}function Xv(e){return Hs(e).position==="static"}function RS(e,t){if(!Pn(e)||Hs(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return sr(e)===n&&(n=n.ownerDocument.body),n}function C2(e,t){const n=ts(e);if(ip(e))return n;if(!Pn(e)){let r=tr(e);for(;r&&!Xa(r);){if(fn(r)&&!Xv(r))return r;r=tr(r)}return n}let s=RS(e,t);for(;s&&x9(s)&&Xv(s);)s=RS(s,t);return s&&Xa(s)&&Xv(s)&&!Xb(s)?n:s||j9(e)||n}const dH=async function(e){const t=this.getOffsetParent||C2,n=this.getDimensions,s=await n(e.floating);return{reference:uH(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function fH(e){return Hs(e).direction==="rtl"}const hH={convertOffsetParentRelativeRectToViewportRelativeRect:nH,getDocumentElement:sr,getClippingRect:lH,getOffsetParent:C2,getElementRects:dH,getClientRects:sH,getDimensions:cH,getScale:zl,isElement:fn,isRTL:fH};function E2(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function mH(e,t){let n=null,s;const r=sr(e);function o(){var u;clearTimeout(s),(u=n)==null||u.disconnect(),n=null}function c(u,h){u===void 0&&(u=!1),h===void 0&&(h=1),o();const f=e.getBoundingClientRect(),{left:g,top:v,width:y,height:x}=f;if(u||t(),!y||!x)return;const w=Rl(v),k=Rl(r.clientWidth-(g+y)),C=Rl(r.clientHeight-(v+x)),T=Rl(g),N={rootMargin:-w+"px "+-k+"px "+-C+"px "+-T+"px",threshold:Ls(0,Jl(1,h))||1};let E=!0;function A(R){const M=R[0].intersectionRatio;if(M!==h){if(!E)return c();M?c(!1,M):s=setTimeout(()=>{c(!1,1e-7)},1e3)}M===1&&!E2(f,e.getBoundingClientRect())&&c(),E=!1}try{n=new IntersectionObserver(A,{...N,root:r.ownerDocument})}catch{n=new IntersectionObserver(A,N)}n.observe(e)}return c(!0),o}function IS(e,t,n,s){s===void 0&&(s={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:h=!1}=s,f=a0(e),g=r||o?[...f?vi(f):[],...t?vi(t):[]]:[];g.forEach(T=>{r&&T.addEventListener("scroll",n,{passive:!0}),o&&T.addEventListener("resize",n)});const v=f&&u?mH(f,n):null;let y=-1,x=null;c&&(x=new ResizeObserver(T=>{let[S]=T;S&&S.target===f&&x&&t&&(x.unobserve(t),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var N;(N=x)==null||N.observe(t)})),n()}),f&&!h&&x.observe(f),t&&x.observe(t));let w,k=h?jo(e):null;h&&C();function C(){const T=jo(e);k&&!E2(k,T)&&n(),k=T,w=requestAnimationFrame(C)}return n(),()=>{var T;g.forEach(S=>{r&&S.removeEventListener("scroll",n),o&&S.removeEventListener("resize",n)}),v?.(),(T=x)==null||T.disconnect(),x=null,h&&cancelAnimationFrame(w)}}const pH=YF,gH=XF,vH=GF,yH=QF,xH=ZF,bH=JF,wH=(e,t,n)=>{const s=new Map,r={platform:hH,...n},o={...r.platform,_c:s};return WF(e,t,{...r,platform:o})};var jH=typeof document<"u",kH=function(){},Mh=jH?p.useLayoutEffect:kH;function ym(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,s,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(s=n;s--!==0;)if(!ym(e[s],t[s]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(s=n;s--!==0;)if(!{}.hasOwnProperty.call(t,r[s]))return!1;for(s=n;s--!==0;){const o=r[s];if(!(o==="_owner"&&e.$$typeof)&&!ym(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function T2(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function _S(e,t){const n=T2(e);return Math.round(t*n)/n}function Jv(e){const t=p.useRef(e);return Mh(()=>{t.current=e}),t}function NH(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:s=[],platform:r,elements:{reference:o,floating:c}={},transform:u=!0,whileElementsMounted:h,open:f}=e,[g,v]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[y,x]=p.useState(s);ym(y,s)||x(s);const[w,k]=p.useState(null),[C,T]=p.useState(null),S=p.useCallback(D=>{D!==R.current&&(R.current=D,k(D))},[]),N=p.useCallback(D=>{D!==M.current&&(M.current=D,T(D))},[]),E=o||w,A=c||C,R=p.useRef(null),M=p.useRef(null),$=p.useRef(g),O=h!=null,U=Jv(h),_=Jv(r),z=Jv(f),q=p.useCallback(()=>{if(!R.current||!M.current)return;const D={placement:t,strategy:n,middleware:y};_.current&&(D.platform=_.current),wH(R.current,M.current,D).then(K=>{const W={...K,isPositioned:z.current!==!1};V.current&&!ym($.current,W)&&($.current=W,Mr.flushSync(()=>{v(W)}))})},[y,t,n,_,z]);Mh(()=>{f===!1&&$.current.isPositioned&&($.current.isPositioned=!1,v(D=>({...D,isPositioned:!1})))},[f]);const V=p.useRef(!1);Mh(()=>(V.current=!0,()=>{V.current=!1}),[]),Mh(()=>{if(E&&(R.current=E),A&&(M.current=A),E&&A){if(U.current)return U.current(E,A,q);q()}},[E,A,q,U,O]);const G=p.useMemo(()=>({reference:R,floating:M,setReference:S,setFloating:N}),[S,N]),P=p.useMemo(()=>({reference:E,floating:A}),[E,A]),H=p.useMemo(()=>{const D={position:n,left:0,top:0};if(!P.floating)return D;const K=_S(P.floating,g.x),W=_S(P.floating,g.y);return u?{...D,transform:"translate("+K+"px, "+W+"px)",...T2(P.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:K,top:W}},[n,u,P.floating,g.x,g.y]);return p.useMemo(()=>({...g,update:q,refs:G,elements:P,floatingStyles:H}),[g,q,G,P,H])}const SH=(e,t)=>{const n=pH(e);return{name:n.name,fn:n.fn,options:[e,t]}},CH=(e,t)=>{const n=gH(e);return{name:n.name,fn:n.fn,options:[e,t]}},EH=(e,t)=>({fn:bH(e).fn,options:[e,t]}),TH=(e,t)=>{const n=vH(e);return{name:n.name,fn:n.fn,options:[e,t]}},AH=(e,t)=>{const n=yH(e);return{name:n.name,fn:n.fn,options:[e,t]}},MH=(e,t)=>{const n=xH(e);return{name:n.name,fn:n.fn,options:[e,t]}},RH={intentional:"onClick",sloppy:"onPointerDown"};function IH(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function _H(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingElement"),o=n.useState("referenceElement"),c=n.useState("domReferenceElement"),{onOpenChange:u,dataRef:h}=n.context,{enabled:f=!0,escapeKey:g=!0,outsidePress:v=!0,outsidePressEvent:y="sloppy",referencePress:x=!1,referencePressEvent:w="sloppy",ancestorScroll:k=!1,bubbles:C,externalTree:T}=t,S=fc(T),N=gt(typeof v=="function"?v:()=>!1),E=typeof v=="function"?N:v,A=p.useRef(!1),{escapeKey:R,outsidePress:M}=IH(C),$=p.useRef(null),O=Aa(),U=Aa(),_=gt(()=>{U.clear(),h.current.insideReactTree=!1}),z=p.useRef(!1),q=p.useRef(""),V=gt(pe=>{q.current=pe.pointerType}),G=gt(()=>{const pe=q.current,Te=pe==="pen"||!pe?"mouse":pe,re=typeof y=="function"?y():y;return typeof re=="string"?re:re[Te]}),P=gt(pe=>{if(!s||!f||!g||pe.key!=="Escape"||z.current)return;const Te=h.current.floatingContext?.nodeId,re=S?Dl(S.nodesRef.current,Te):[];if(!R&&re.length>0){let Me=!0;if(re.forEach(_e=>{_e.context?.open&&!_e.context.dataRef.current.__escapeKeyBubbles&&(Me=!1)}),!Me)return}const Fe=J9(pe)?pe.nativeEvent:pe,Ce=Dn(VR,Fe);n.setOpen(!1,Ce),!R&&!Ce.isPropagationAllowed&&pe.stopPropagation()}),H=gt(pe=>{const Te=G();return Te==="intentional"&&pe.type!=="click"||Te==="sloppy"&&pe.type==="click"}),D=gt(()=>{h.current.insideReactTree=!0,U.start(0,_)}),K=gt((pe,Te=!1)=>{if(H(pe)){_();return}if(h.current.insideReactTree){_();return}if(G()==="intentional"&&Te||typeof E=="function"&&!E(pe))return;const re=Ns(pe),Fe=`[${Zu("inert")}]`,Ce=Jn(n.select("floatingElement")).querySelectorAll(Fe),Me=n.context.triggerElements;if(re&&(Me.hasElement(re)||Me.hasMatchingElement(Re=>dn(Re,re))))return;let _e=fn(re)?re:null;for(;_e&&!Xa(_e);){const Re=tr(_e);if(Xa(Re)||!fn(Re))break;_e=Re}if(Ce.length&&fn(re)&&!Y9(re)&&!dn(re,n.select("floatingElement"))&&Array.from(Ce).every(Re=>!dn(_e,Re)))return;if(Pn(re)&&!("touches"in pe)){const Re=Xa(re),Ue=Hs(re),Ie=/auto|scroll/,Be=Re||Ie.test(Ue.overflowX),Pe=Re||Ie.test(Ue.overflowY),at=Be&&re.clientWidth>0&&re.scrollWidth>re.clientWidth,ut=Pe&&re.clientHeight>0&&re.scrollHeight>re.clientHeight,rt=Ue.direction==="rtl",vt=ut&&(rt?pe.offsetX<=re.offsetWidth-re.clientWidth:pe.offsetX>re.clientWidth),ie=at&&pe.offsetY>re.clientHeight;if(vt||ie)return}const He=h.current.floatingContext?.nodeId,qe=S&&Dl(S.nodesRef.current,He).some(Re=>wa(pe,Re.context?.elements.floating));if(wa(pe,n.select("floatingElement"))||wa(pe,n.select("domReferenceElement"))||qe)return;const nt=S?Dl(S.nodesRef.current,He):[];if(nt.length>0){let Re=!0;if(nt.forEach(Ue=>{Ue.context?.open&&!Ue.context.dataRef.current.__outsidePressBubbles&&(Re=!1)}),!Re)return}n.setOpen(!1,Dn(Kb,pe)),_()}),W=gt(pe=>{G()!=="sloppy"||pe.pointerType==="touch"||!n.select("open")||!f||wa(pe,n.select("floatingElement"))||wa(pe,n.select("domReferenceElement"))||K(pe)}),L=gt(pe=>{if(G()!=="sloppy"||!n.select("open")||!f||wa(pe,n.select("floatingElement"))||wa(pe,n.select("domReferenceElement")))return;const Te=pe.touches[0];Te&&($.current={startTime:Date.now(),startX:Te.clientX,startY:Te.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},O.start(1e3,()=>{$.current&&($.current.dismissOnTouchEnd=!1,$.current.dismissOnMouseDown=!1)}))}),F=gt(pe=>{const Te=Ns(pe);function re(){L(pe),Te?.removeEventListener(pe.type,re)}Te?.addEventListener(pe.type,re)}),Z=gt(pe=>{const Te=A.current;if(A.current=!1,O.clear(),pe.type==="mousedown"&&$.current&&!$.current.dismissOnMouseDown)return;const re=Ns(pe);function Fe(){pe.type==="pointerdown"?W(pe):K(pe,Te),re?.removeEventListener(pe.type,Fe)}re?.addEventListener(pe.type,Fe)}),ee=gt(pe=>{if(G()!=="sloppy"||!$.current||wa(pe,n.select("floatingElement"))||wa(pe,n.select("domReferenceElement")))return;const Te=pe.touches[0];if(!Te)return;const re=Math.abs(Te.clientX-$.current.startX),Fe=Math.abs(Te.clientY-$.current.startY),Ce=Math.sqrt(re*re+Fe*Fe);Ce>5&&($.current.dismissOnTouchEnd=!0),Ce>10&&(K(pe),O.clear(),$.current=null)}),X=gt(pe=>{const Te=Ns(pe);function re(){ee(pe),Te?.removeEventListener(pe.type,re)}Te?.addEventListener(pe.type,re)}),de=gt(pe=>{G()!=="sloppy"||!$.current||wa(pe,n.select("floatingElement"))||wa(pe,n.select("domReferenceElement"))||($.current.dismissOnTouchEnd&&K(pe),O.clear(),$.current=null)}),J=gt(pe=>{const Te=Ns(pe);function re(){de(pe),Te?.removeEventListener(pe.type,re)}Te?.addEventListener(pe.type,re)});p.useEffect(()=>{if(!s||!f)return;h.current.__escapeKeyBubbles=R,h.current.__outsidePressBubbles=M;const pe=new Xl;function Te(_e){n.setOpen(!1,Dn(h9,_e))}function re(){pe.clear(),z.current=!0}function Fe(){pe.start(op()?5:0,()=>{z.current=!1})}const Ce=Jn(r);Ce.addEventListener("pointerdown",V,!0),g&&(Ce.addEventListener("keydown",P),Ce.addEventListener("compositionstart",re),Ce.addEventListener("compositionend",Fe)),E&&(Ce.addEventListener("click",Z,!0),Ce.addEventListener("pointerdown",Z,!0),Ce.addEventListener("touchstart",F,!0),Ce.addEventListener("touchmove",X,!0),Ce.addEventListener("touchend",J,!0),Ce.addEventListener("mousedown",Z,!0));let Me=[];return k&&(fn(c)&&(Me=vi(c)),fn(r)&&(Me=Me.concat(vi(r))),!fn(o)&&o&&o.contextElement&&(Me=Me.concat(vi(o.contextElement)))),Me=Me.filter(_e=>_e!==Ce.defaultView?.visualViewport),Me.forEach(_e=>{_e.addEventListener("scroll",Te,{passive:!0})}),()=>{Ce.removeEventListener("pointerdown",V,!0),g&&(Ce.removeEventListener("keydown",P),Ce.removeEventListener("compositionstart",re),Ce.removeEventListener("compositionend",Fe)),E&&(Ce.removeEventListener("click",Z,!0),Ce.removeEventListener("pointerdown",Z,!0),Ce.removeEventListener("touchstart",F,!0),Ce.removeEventListener("touchmove",X,!0),Ce.removeEventListener("touchend",J,!0),Ce.removeEventListener("mousedown",Z,!0)),Me.forEach(_e=>{_e.removeEventListener("scroll",Te)}),pe.clear()}},[h,r,o,c,g,E,s,u,k,f,R,M,P,K,Z,W,F,X,J,V,n]),p.useEffect(_,[E,_]);const ae=p.useMemo(()=>({onKeyDown:P,...x&&{[RH[w]]:pe=>{n.setOpen(!1,Dn(lm,pe.nativeEvent))},...w!=="intentional"&&{onClick(pe){n.setOpen(!1,Dn(lm,pe.nativeEvent))}}}}),[P,n,x,w]),je=gt(pe=>{const Te=Ns(pe.nativeEvent);!dn(n.select("floatingElement"),Te)||pe.button!==0||(A.current=!0)}),Ee=p.useMemo(()=>({onKeyDown:P,onPointerDown:je,onMouseDown:je,onMouseUp:je,onClickCapture:D,onMouseDownCapture:D,onPointerDownCapture:D,onMouseUpCapture:D,onTouchEndCapture:D,onTouchMoveCapture:D}),[P,je,D]);return p.useMemo(()=>f?{reference:ae,floating:Ee,trigger:ae}:{},[f,ae,Ee])}var xm=Symbol("NOT_FOUND");function OH(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function $H(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function PH(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(s=>typeof s=="function"?`function ${s.name||"unnamed"}()`:typeof s).join(", ");throw new TypeError(`${t}[${n}]`)}}var OS=e=>Array.isArray(e)?e:[e];function DH(e){const t=Array.isArray(e[0])?e[0]:e;return PH(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function LH(e,t){const n=[],{length:s}=e;for(let r=0;r<s;r++)n.push(e[r].apply(null,t));return n}function zH(e){let t;return{get(n){return t&&e(t.key,n)?t.value:xm},put(n,s){t={key:n,value:s}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function BH(e,t){let n=[];function s(u){const h=n.findIndex(f=>t(u,f.key));if(h>-1){const f=n[h];return h>0&&(n.splice(h,1),n.unshift(f)),f.value}return xm}function r(u,h){s(u)===xm&&(n.unshift({key:u,value:h}),n.length>e&&n.pop())}function o(){return n}function c(){n=[]}return{get:s,put:r,getEntries:o,clear:c}}var UH=(e,t)=>e===t;function VH(e){return function(n,s){if(n===null||s===null||n.length!==s.length)return!1;const{length:r}=n;for(let o=0;o<r;o++)if(!e(n[o],s[o]))return!1;return!0}}function FH(e,t){const n=typeof t=="object"?t:{equalityCheck:t},{equalityCheck:s=UH,maxSize:r=1,resultEqualityCheck:o}=n,c=VH(s);let u=0;const h=r<=1?zH(c):BH(r,c);function f(){let g=h.get(arguments);if(g===xm){if(g=e.apply(null,arguments),u++,o){const y=h.getEntries().find(x=>o(x.value,g));y&&(g=y.value,u!==0&&u--)}h.put(arguments,g)}return g}return f.clearCache=()=>{h.clear(),f.resetResultsCount()},f.resultsCount=()=>u,f.resetResultsCount=()=>{u=0},f}var HH=class{constructor(e){this.value=e}deref(){return this.value}},qH=typeof WeakRef<"u"?WeakRef:HH,WH=0,$S=1;function Bf(){return{s:WH,v:void 0,o:null,p:null}}function A2(e,t={}){let n=Bf();const{resultEqualityCheck:s}=t;let r,o=0;function c(){let u=n;const{length:h}=arguments;for(let v=0,y=h;v<y;v++){const x=arguments[v];if(typeof x=="function"||typeof x=="object"&&x!==null){let w=u.o;w===null&&(u.o=w=new WeakMap);const k=w.get(x);k===void 0?(u=Bf(),w.set(x,u)):u=k}else{let w=u.p;w===null&&(u.p=w=new Map);const k=w.get(x);k===void 0?(u=Bf(),w.set(x,u)):u=k}}const f=u;let g;if(u.s===$S)g=u.v;else if(g=e.apply(null,arguments),o++,s){const v=r?.deref?.()??r;v!=null&&s(v,g)&&(g=v,o!==0&&o--),r=typeof g=="object"&&g!==null||typeof g=="function"?new qH(g):g}return f.s=$S,f.v=g,g}return c.clearCache=()=>{n=Bf(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}function M2(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,s=(...r)=>{let o=0,c=0,u,h={},f=r.pop();typeof f=="object"&&(h=f,f=r.pop()),OH(f,`createSelector expects an output function after the inputs, but received: [${typeof f}]`);const g={...n,...h},{memoize:v,memoizeOptions:y=[],argsMemoize:x=A2,argsMemoizeOptions:w=[]}=g,k=OS(y),C=OS(w),T=DH(r),S=v(function(){return o++,f.apply(null,arguments)},...k),N=x(function(){c++;const A=LH(T,arguments);return u=S.apply(null,A),u},...C);return Object.assign(N,{resultFunc:f,memoizedResultFunc:S,dependencies:T,dependencyRecomputations:()=>c,resetDependencyRecomputations:()=>{c=0},lastResult:()=>u,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:v,argsMemoize:x})};return Object.assign(s,{withTypes:()=>s}),s}var GH=M2(A2),ZH=Object.assign((e,t=GH)=>{$H(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),s=n.map(o=>e[o]);return t(s,(...o)=>o.reduce((c,u,h)=>(c[n[h]]=u,c),{}))},{withTypes:()=>ZH});M2({memoize:FH,memoizeOptions:{maxSize:1,equalityCheck:Object.is}});const Nt=(e,t,n,s,r,o,...c)=>{if(c.length>0)throw new Error(Co(1));let u;if(e)u=e;else throw new Error("Missing arguments");return u};var Qv={exports:{}},ey={};var PS;function KH(){if(PS)return ey;PS=1;var e=sd(),t=TR();function n(f,g){return f===g&&(f!==0||1/f===1/g)||f!==f&&g!==g}var s=typeof Object.is=="function"?Object.is:n,r=t.useSyncExternalStore,o=e.useRef,c=e.useEffect,u=e.useMemo,h=e.useDebugValue;return ey.useSyncExternalStoreWithSelector=function(f,g,v,y,x){var w=o(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=u(function(){function T(R){if(!S){if(S=!0,N=R,R=y(R),x!==void 0&&k.hasValue){var M=k.value;if(x(M,R))return E=M}return E=R}if(M=E,s(N,R))return M;var $=y(R);return x!==void 0&&x(M,$)?(N=R,M):(N=R,E=$)}var S=!1,N,E,A=v===void 0?null:v;return[function(){return T(g())},A===null?void 0:function(){return T(A())}]},[g,v,y,x]);var C=r(f,w[0],w[1]);return c(function(){k.hasValue=!0,k.value=C},[C]),h(C),C},ey}var DS;function YH(){return DS||(DS=1,Qv.exports=KH()),Qv.exports}var XH=YH();const JH=Gb(19),QH=JH?t7:n7;function e7(e,t,n,s,r){return QH(e,t,n,s,r)}function t7(e,t,n,s,r){const o=p.useCallback(()=>t(e.getSnapshot(),n,s,r),[e,t,n,s,r]);return uV.useSyncExternalStore(e.subscribe,o,o)}function n7(e,t,n,s,r){return XH.useSyncExternalStoreWithSelector(e.subscribe,e.getSnapshot,e.getSnapshot,o=>t(o,n,s,r))}class Au{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;const n=this.updateTick;for(const s of this.listeners){if(n!==this.updateTick)return;s(t)}}update(t){for(const n in t)if(!Object.is(this.state[n],t[n])){Au.prototype.setState.call(this,{...this.state,...t});return}}set(t,n){Object.is(this.state[t],n)||Au.prototype.setState.call(this,{...this.state,[t]:n})}notifyAll(){const t={...this.state};Au.prototype.setState.call(this,t)}}class R2 extends Au{constructor(t,n={},s){super(t),this.context=n,this.selectors=s}controlledValues=new Map;useSyncedValue(t,n){p.useDebugValue(t),mt(()=>{this.state[t]!==n&&this.set(t,n)},[t,n])}useSyncedValueWithCleanup(t,n){mt(()=>(this.state[t]!==n&&this.set(t,n),()=>{this.set(t,void 0)}),[t,n])}useSyncedValues(t){const n=Object.values(t);mt(()=>{this.update(t)},n)}useControlledProp(t,n,s){p.useDebugValue(t);const r=n!==void 0;this.controlledValues.has(t)||(this.controlledValues.set(t,r),!r&&!Object.is(this.state[t],s)&&super.setState({...this.state,[t]:s})),mt(()=>{r&&!Object.is(this.state[t],n)&&super.setState({...this.state,[t]:n})},[t,n,s,r])}set(t,n){this.controlledValues.get(t)!==!0&&super.set(t,n)}update(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.update(n)}setState(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.setState({...this.state,...n})}select=(t,n,s,r)=>{const o=this.selectors[t];return o(this.state,n,s,r)};useState=(t,n,s,r)=>{p.useDebugValue(t);const o=this.selectors[t];return e7(this,o,n,s,r)};useContextCallback(t,n){p.useDebugValue(t);const s=gt(n??LR);this.context[t]=s}useStateSetter(t){const n=p.useRef(void 0);return n.current===void 0&&(n.current=s=>{this.set(t,s)}),n.current}observe(t,n){let s;typeof t=="function"?s=t:s=this.selectors[t];let r=s(this.state);return n(r,r,this),this.subscribe(o=>{const c=s(o);if(!Object.is(r,c)){const u=r;r=c,n(c,u,this)}})}}const s7={open:Nt(e=>e.open),domReferenceElement:Nt(e=>e.domReferenceElement),referenceElement:Nt(e=>e.positionReference??e.referenceElement),floatingElement:Nt(e=>e.floatingElement),floatingId:Nt(e=>e.floatingId)};class r0 extends R2{constructor(t){const{nested:n,noEmit:s,onOpenChange:r,triggerElements:o,...c}=t;super({...c,positionReference:c.referenceElement,domReferenceElement:c.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:h2(),nested:n,noEmit:s,triggerElements:o},s7)}setOpen=(t,n)=>{if((!t||!this.state.open||eF(n.event))&&(this.context.dataRef.current.openEvent=t?n.event:void 0),!this.context.noEmit){const s={open:t,reason:n.reason,nativeEvent:n.event,nested:this.context.nested,triggerElement:n.trigger};this.context.events.emit("openchange",s)}this.context.onOpenChange?.(t,n)}}function a7(e){const t=e.useState("open");mt(()=>{if(t&&!e.select("activeTriggerId")&&e.context.triggerElements.size===1){const n=e.context.triggerElements.entries().next();if(!n.done){const[s,r]=n.value;e.update({activeTriggerId:s,activeTriggerElement:r})}}},[t,e])}function r7(e,t,n){const{mounted:s,setMounted:r,transitionStatus:o}=P9(e);t.useSyncedValues({mounted:s,transitionStatus:o});const c=gt(()=>{r(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)}),u=t.useState("preventUnmountingOnClose");return GR({enabled:!u,open:e,ref:t.context.popupRef,onComplete(){e||c()}}),{forceUnmount:c,transitionStatus:o}}class i0{constructor(){this.elements=new Set,this.idMap=new Map}add(t,n){const s=this.idMap.get(t);s!==n&&(s!==void 0&&this.elements.delete(s),this.elements.add(n),this.idMap.set(t,n))}delete(t){const n=this.idMap.get(t);n&&(this.elements.delete(n),this.idMap.delete(t))}hasElement(t){return this.elements.has(t)}hasMatchingElement(t){for(const n of this.elements)if(t(n))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}get size(){return this.idMap.size}}function i7(){return new r0({open:!1,floatingElement:null,referenceElement:null,triggerElements:new i0,floatingId:"",nested:!1,noEmit:!1,onOpenChange:void 0})}function o7(){return{open:!1,mounted:!1,transitionStatus:"idle",floatingRootContext:i7(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,popupElement:null,positionerElement:null,activeTriggerProps:Ss,inactiveTriggerProps:Ss,popupProps:Ss}}const l7={open:Nt(e=>e.open),mounted:Nt(e=>e.mounted),transitionStatus:Nt(e=>e.transitionStatus),floatingRootContext:Nt(e=>e.floatingRootContext),preventUnmountingOnClose:Nt(e=>e.preventUnmountingOnClose),payload:Nt(e=>e.payload),activeTriggerId:Nt(e=>e.activeTriggerId),activeTriggerElement:Nt(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:Nt((e,t)=>t!==void 0&&e.activeTriggerId===t),isOpenedByTrigger:Nt((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.open),isMountedByTrigger:Nt((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.mounted),triggerProps:Nt((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:Nt(e=>e.popupProps),popupElement:Nt(e=>e.popupElement),positionerElement:Nt(e=>e.positionerElement)};function c7(e){const{open:t=!1,onOpenChange:n,elements:s={}}=e,r=Ai(),o=_i()!=null,c=ua(()=>new r0({open:t,onOpenChange:n,referenceElement:s.reference??null,floatingElement:s.floating??null,triggerElements:s.triggers??new i0,floatingId:r,nested:o,noEmit:e.noEmit||!1})).current;return mt(()=>{const u={open:t,floatingId:r};s.reference!==void 0&&(u.referenceElement=s.reference,u.domReferenceElement=fn(s.reference)?s.reference:null),s.floating!==void 0&&(u.floatingElement=s.floating),c.update(u)},[t,r,s.reference,s.floating,c]),c.context.onOpenChange=n,c.context.nested=o,c.context.noEmit=e.noEmit||!1,c}function u7(e={}){const{nodeId:t,externalTree:n}=e,s=c7(e),r=e.rootContext||s,o={reference:r.useState("referenceElement"),floating:r.useState("floatingElement"),domReference:r.useState("domReferenceElement")},[c,u]=p.useState(null),h=p.useRef(null),f=fc(n);mt(()=>{o.domReference&&(h.current=o.domReference)},[o.domReference]);const g=NH({...e,elements:{...o,...c&&{reference:c}}}),v=p.useCallback(M=>{const $=fn(M)?{getBoundingClientRect:()=>M.getBoundingClientRect(),getClientRects:()=>M.getClientRects(),contextElement:M}:M;u($),g.refs.setReference($)},[g.refs]),[y,x]=p.useState(null),[w,k]=p.useState(null);r.useSyncedValue("referenceElement",y),r.useSyncedValue("domReferenceElement",fn(y)?y:null),r.useSyncedValue("floatingElement",w);const C=p.useCallback(M=>{(fn(M)||M===null)&&(h.current=M,x(M)),(fn(g.refs.reference.current)||g.refs.reference.current===null||M!==null&&!fn(M))&&g.refs.setReference(M)},[g.refs,x]),T=p.useCallback(M=>{k(M),g.refs.setFloating(M)},[g.refs]),S=p.useMemo(()=>({...g.refs,setReference:C,setFloating:T,setPositionReference:v,domReference:h}),[g.refs,C,T,v]),N=p.useMemo(()=>({...g.elements,domReference:o.domReference}),[g.elements,o.domReference]),E=r.useState("open"),A=r.useState("floatingId"),R=p.useMemo(()=>({...g,dataRef:r.context.dataRef,open:E,onOpenChange:r.setOpen,events:r.context.events,floatingId:A,refs:S,elements:N,nodeId:t,rootStore:r}),[g,S,N,t,r,E,A]);return mt(()=>{r.context.dataRef.current.floatingContext=R;const M=f?.nodesRef.current.find($=>$.id===t);M&&(M.context=R)}),p.useMemo(()=>({...g,context:R,refs:S,elements:N,rootStore:r}),[g,S,N,R,r])}function d7(e){const{popupStore:t,noEmit:n=!1,treatPopupAsFloatingElement:s=!1,onOpenChange:r}=e,o=Ai(),c=_i()!=null,u=t.useState("open"),h=t.useState("activeTriggerElement"),f=t.useState(s?"popupElement":"positionerElement"),g=t.context.triggerElements,v=ua(()=>new r0({open:u,referenceElement:h,floatingElement:f,triggerElements:g,onOpenChange:r,floatingId:o,nested:c,noEmit:n})).current;return mt(()=>{const y={open:u,floatingId:o,referenceElement:h,floatingElement:f};fn(h)&&(y.domReferenceElement=h),v.update(y)},[u,o,h,f,v]),v.context.onOpenChange=r,v.context.nested=c,v.context.noEmit=n,v}const LS=Zu("safe-polygon"),f7=`button,a,[role="button"],select,[tabindex]:not([tabindex="-1"]),${QR}`;function h7(e){return e?!!e.closest(f7):!1}function m7(e){const t=p.useRef(void 0),n=p.useRef(!1),s=p.useRef(void 0),r=p.useRef(!0),o=p.useRef(!1),c=p.useRef(()=>{}),u=p.useRef(!1),h=Aa(),f=Aa(),g=p.useRef(void 0);return p.useMemo(()=>{const v=e.context.dataRef.current;return v.hoverInteractionState||(v.hoverInteractionState={pointerTypeRef:t,interactedInsideRef:n,handlerRef:s,blockMouseMoveRef:r,performedPointerEventsMutationRef:o,unbindMouseMoveRef:c,restTimeoutPendingRef:u,openChangeTimeout:h,restTimeout:f,handleCloseOptionsRef:g}),v.hoverInteractionState},[e,t,n,s,r,o,c,u,h,f,g])}const p7=new Set(["click","mousedown"]);function g7(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingElement"),o=n.useState("domReferenceElement"),{dataRef:c}=n.context,{enabled:u=!0,closeDelay:h=0,externalTree:f}=t,{pointerTypeRef:g,interactedInsideRef:v,handlerRef:y,performedPointerEventsMutationRef:x,unbindMouseMoveRef:w,restTimeoutPendingRef:k,openChangeTimeout:C,handleCloseOptionsRef:T}=m7(n),S=fc(f),N=_i(),E=gt(()=>v.current?!0:c.current.openEvent?p7.has(c.current.openEvent.type):!1),A=gt(()=>{const U=c.current.openEvent?.type;return U?.includes("mouse")&&U!=="mousedown"}),R=p.useCallback((U,_=!0)=>{const z=v7(h,g.current);z&&!y.current?C.start(z,()=>n.setOpen(!1,Dn(go,U))):_&&(C.clear(),n.setOpen(!1,Dn(go,U)))},[h,y,n,g,C]),M=gt(()=>{w.current(),y.current=void 0}),$=gt(()=>{if(x.current){const U=Jn(r).body;U.style.pointerEvents="",U.removeAttribute(LS),x.current=!1}}),O=gt(U=>{const _=Ns(U);if(!h7(_)){v.current=!1;return}v.current=!0});mt(()=>{s||(g.current=void 0,k.current=!1,v.current=!1,M(),$())},[s,g,k,v,M,$]),p.useEffect(()=>()=>{M()},[M]),p.useEffect(()=>$,[$]),mt(()=>{if(u&&s&&T.current?.blockPointerEvents&&A()&&fn(o)&&r){x.current=!0;const U=Jn(r).body;U.setAttribute(LS,"");const _=o,z=r,q=S?.nodesRef.current.find(V=>V.id===N)?.context?.elements.floating;return q&&(q.style.pointerEvents=""),U.style.pointerEvents="none",_.style.pointerEvents="auto",z.style.pointerEvents="auto",()=>{U.style.pointerEvents="",_.style.pointerEvents="",z.style.pointerEvents=""}}},[u,s,o,r,T,A,S,N,x]),p.useEffect(()=>{if(!u)return;function U(V){if(E()||!c.current.floatingContext)return;const G=n.context.triggerElements;V.relatedTarget&&G.hasElement(V.relatedTarget)||($(),M(),E()||R(V))}function _(V){C.clear(),$(),y.current?.(V),M()}function z(V){E()||R(V,!1)}const q=r;return q&&(q.addEventListener("mouseleave",U),q.addEventListener("mouseenter",_),q.addEventListener("mouseleave",z),q.addEventListener("pointerdown",O,!0)),()=>{q&&(q.removeEventListener("mouseleave",U),q.removeEventListener("mouseenter",_),q.removeEventListener("mouseleave",z),q.removeEventListener("pointerdown",O,!0))}})}function v7(e,t){return t&&!Q9(t)?0:typeof e=="function"?e():e}function y7(e=[]){const t=e.map(f=>f?.reference),n=e.map(f=>f?.floating),s=e.map(f=>f?.item),r=e.map(f=>f?.trigger),o=p.useCallback(f=>Uf(f,e,"reference"),t),c=p.useCallback(f=>Uf(f,e,"floating"),n),u=p.useCallback(f=>Uf(f,e,"item"),s),h=p.useCallback(f=>Uf(f,e,"trigger"),r);return p.useMemo(()=>({getReferenceProps:o,getFloatingProps:c,getItemProps:u,getTriggerProps:h}),[o,c,u,h])}function Uf(e,t,n){const s=new Map,r=n==="item",o={};n==="floating"&&(o.tabIndex=-1,o[px]="");for(const c in e)r&&e&&(c===XR||c===JR)||(o[c]=e[c]);for(let c=0;c<t.length;c+=1){let u;const h=t[c]?.[n];typeof h=="function"?u=e?h(e):null:u=h,u&&zS(o,u,r,s)}return zS(o,e,r,s),o}function zS(e,t,n,s){for(const r in t){const o=t[r];n&&(r===XR||r===JR)||(r.startsWith("on")?(s.has(r)||s.set(r,[]),typeof o=="function"&&(s.get(r)?.push(o),e[r]=(...c)=>s.get(r)?.map(u=>u(...c)).find(u=>u!==void 0))):e[r]=o)}}const x7="Escape";function dp(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function Vf(e,t){return dp(t,e===Qb||e===od,e===yi||e===xi)}function ty(e,t,n){return dp(t,e===od,n?e===yi:e===xi)||e==="Enter"||e===" "||e===""}function b7(e,t,n){return dp(t,n?e===yi:e===xi,e===od)}function w7(e,t,n,s){const r=n?e===xi:e===yi,o=e===Qb;return t==="both"||t==="horizontal"&&s&&s>1?e===x7:dp(t,r,o)}function j7(e,t){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingElement"),o=n.useState("domReferenceElement"),c=n.context.dataRef,{listRef:u,activeIndex:h,onNavigate:f=()=>{},enabled:g=!0,selectedIndex:v=null,allowEscape:y=!1,loopFocus:x=!1,nested:w=!1,rtl:k=!1,virtual:C=!1,focusItemOnOpen:T="auto",focusItemOnHover:S=!0,openOnArrowKeyDown:N=!0,disabledIndices:E=void 0,orientation:A="vertical",parentOrientation:R,cols:M=1,scrollItemIntoView:$=!0,itemSizes:O,dense:U=!1,id:_,resetOnPointerLeave:z=!0,externalTree:q}=t,V=cm(r),G=ks(V),P=_i(),H=fc(q);mt(()=>{c.current.orientation=A},[c,A]);const D=gx(o),K=p.useRef(T),W=p.useRef(v??-1),L=p.useRef(null),F=p.useRef(!0),Z=gt(Ie=>{f(W.current===-1?null:W.current,Ie)}),ee=p.useRef(Z),X=p.useRef(!!r),de=p.useRef(s),J=p.useRef(!1),ae=p.useRef(!1),je=ks(E),Ee=ks(s),pe=ks($),Te=ks(v),re=ks(z),Fe=gt(()=>{function Ie(ut){C?H?.events.emit("virtualfocus",ut):Ah(ut,{sync:J.current,preventScroll:!0})}const Be=u.current[W.current],Pe=ae.current;Be&&Ie(Be),(J.current?ut=>ut():requestAnimationFrame)(()=>{const ut=u.current[W.current]||Be;if(!ut)return;Be||Ie(ut);const rt=pe.current;rt&&Me&&(Pe||!F.current)&&ut.scrollIntoView?.(typeof rt=="boolean"?{block:"nearest",inline:"nearest"}:rt)})});mt(()=>{g&&(s&&r?(W.current=v??-1,K.current&&v!=null&&(ae.current=!0,Z())):X.current&&(W.current=-1,ee.current()))},[g,s,r,v,Z]),mt(()=>{if(g){if(!s){J.current=!1;return}if(r)if(h==null){if(J.current=!1,Te.current!=null)return;if(X.current&&(W.current=-1,Fe()),(!de.current||!X.current)&&K.current&&(L.current!=null||K.current===!0&&L.current==null)){let Ie=0;const Be=()=>{u.current[0]==null?(Ie<2&&(Ie?requestAnimationFrame:queueMicrotask)(Be),Ie+=1):(W.current=L.current==null||ty(L.current,A,k)||w?Zv(u):xS(u),L.current=null,Z())};Be()}}else Cu(u,h)||(W.current=h,Fe(),ae.current=!1)}},[g,s,r,h,Te,w,u,A,k,Z,Fe,je]),mt(()=>{if(!g||r||!H||C||!X.current)return;const Ie=H.nodesRef.current,Be=Ie.find(ut=>ut.id===P)?.context?.elements.floating,Pe=fi(Jn(r)),at=Ie.some(ut=>ut.context&&dn(ut.context.elements.floating,Pe));Be&&!at&&F.current&&Be.focus({preventScroll:!0})},[g,r,H,P,C]),mt(()=>{ee.current=Z,de.current=s,X.current=!!r}),mt(()=>{s||(L.current=null,K.current=T)},[s,T]);const Ce=h!=null,Me=p.useMemo(()=>{function Ie(Pe){if(!Ee.current)return;const at=u.current.indexOf(Pe.currentTarget);at!==-1&&W.current!==at&&(W.current=at,Z(Pe))}return{onFocus(Pe){J.current=!0,Ie(Pe)},onClick:({currentTarget:Pe})=>Pe.focus({preventScroll:!0}),onMouseMove(Pe){J.current=!0,ae.current=!1,S&&Ie(Pe)},onPointerLeave(Pe){if(!Ee.current||!F.current||Pe.pointerType==="touch")return;J.current=!0;const at=Pe.relatedTarget;!S||u.current.includes(at)||re.current&&(W.current=-1,Z(Pe),C||G.current?.focus({preventScroll:!0}))}}},[Ee,G,S,u,Z,re,C]),_e=p.useCallback(()=>R??H?.nodesRef.current.find(Ie=>Ie.id===P)?.context?.dataRef?.current.orientation,[P,H,R]),He=gt(Ie=>{if(F.current=!1,J.current=!0,Ie.which===229||!Ee.current&&Ie.currentTarget===G.current)return;if(w&&w7(Ie.key,A,k,M)){Vf(Ie.key,_e())||Qn(Ie),n.setOpen(!1,Dn(Th,Ie.nativeEvent)),Pn(o)&&(C?H?.events.emit("virtualfocus",o):o.focus());return}const Be=W.current,Pe=Zv(u,E),at=xS(u,E);if(D||(Ie.key==="Home"&&(Qn(Ie),W.current=Pe,Z(Ie)),Ie.key==="End"&&(Qn(Ie),W.current=at,Z(Ie))),M>1){const ut=O||Array.from({length:u.current.length},()=>({width:1,height:1})),rt=dF(ut,M,U),vt=rt.findIndex(Ae=>Ae!=null&&!Eu(u,Ae,E)),ie=rt.reduce((Ae,Qe,ue)=>Qe!=null&&!Eu(u,Qe,E)?ue:Ae,-1),fe=rt[uF({current:rt.map(Ae=>Ae!=null?u.current[Ae]:null)},{event:Ie,orientation:A,loopFocus:x,rtl:k,cols:M,disabledIndices:hF([...(typeof E!="function"?E:null)||u.current.map((Ae,Qe)=>Eu(u,Qe,E)?Qe:void 0),void 0],rt),minIndex:vt,maxIndex:ie,prevIndex:fF(W.current>at?Pe:W.current,ut,rt,M,Ie.key===od?"bl":Ie.key===(k?yi:xi)?"tr":"tl"),stopEvent:!0})];if(fe!=null&&(W.current=fe,Z(Ie)),A==="both")return}if(Vf(Ie.key,A)){if(Qn(Ie),s&&!C&&fi(Ie.currentTarget.ownerDocument)===Ie.currentTarget){W.current=ty(Ie.key,A,k)?Pe:at,Z(Ie);return}ty(Ie.key,A,k)?x?Be>=at?y&&Be!==u.current.length?W.current=-1:(J.current=!1,W.current=Pe):W.current=rs(u,{startingIndex:Be,disabledIndices:E}):W.current=Math.min(at,rs(u,{startingIndex:Be,disabledIndices:E})):x?Be<=Pe?y&&Be!==-1?W.current=u.current.length:(J.current=!1,W.current=at):W.current=rs(u,{startingIndex:Be,decrement:!0,disabledIndices:E}):W.current=Math.max(Pe,rs(u,{startingIndex:Be,decrement:!0,disabledIndices:E})),Cu(u,W.current)&&(W.current=-1),Z(Ie)}}),qe=p.useMemo(()=>C&&s&&Ce&&{"aria-activedescendant":`${_}-${h}`},[C,s,Ce,_,h]),nt=p.useMemo(()=>({"aria-orientation":A==="both"?void 0:A,...D?{}:qe,onKeyDown(Ie){if(Ie.key==="Tab"&&Ie.shiftKey&&s&&!C){const Be=Ns(Ie.nativeEvent);if(Be&&!dn(G.current,Be))return;Qn(Ie),n.setOpen(!1,Dn(ap,Ie.nativeEvent)),Pn(o)&&o.focus();return}He(Ie)},onPointerMove(){F.current=!0}}),[qe,He,G,A,D,n,s,C,o]),Re=p.useMemo(()=>{function Ie(Pe){T==="auto"&&e2(Pe.nativeEvent)&&(K.current=!C)}function Be(Pe){K.current=T,T==="auto"&&t2(Pe.nativeEvent)&&(K.current=!0)}return{onKeyDown(Pe){const at=n.select("open");F.current=!1;const ut=Pe.key.startsWith("Arrow"),rt=b7(Pe.key,_e(),k),vt=Vf(Pe.key,A),ie=(w?rt:vt)||Pe.key==="Enter"||Pe.key.trim()==="";if(C&&at)return He(Pe);if(!(!at&&!N&&ut)){if(ie){const fe=Vf(Pe.key,_e());L.current=w&&fe?null:Pe.key}if(w){rt&&(Qn(Pe),at?(W.current=Zv(u,je.current),Z(Pe)):n.setOpen(!0,Dn(Th,Pe.nativeEvent,Pe.currentTarget)));return}vt&&(Te.current!=null&&(W.current=Te.current),Qn(Pe),!at&&N?n.setOpen(!0,Dn(Th,Pe.nativeEvent,Pe.currentTarget)):He(Pe),at&&Z(Pe))}},onFocus(Pe){n.select("open")&&!C&&(W.current=-1,Z(Pe))},onPointerDown:Be,onPointerEnter:Be,onMouseDown:Ie,onClick:Ie}},[He,je,T,u,w,Z,n,N,A,_e,k,Te,C]),Ue=p.useMemo(()=>({...qe,...Re}),[qe,Re]);return p.useMemo(()=>g?{reference:Ue,floating:nt,item:Me,trigger:Re}:{},[g,Ue,nt,Re,Me])}const k7=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function N7(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingId"),o=n.useState("domReferenceElement"),c=n.useState("floatingElement"),{enabled:u=!0,role:h="dialog"}=t,f=Ai(),g=o?.id||f,v=p.useMemo(()=>cm(c)?.id||r,[c,r]),y=k7.get(h)??h,w=_i()!=null,k=p.useMemo(()=>y==="tooltip"||h==="label"?Ss:{"aria-haspopup":y==="alertdialog"?"dialog":y,"aria-expanded":"false",...y==="listbox"&&{role:"combobox"},...y==="menu"&&w&&{role:"menuitem"},...h==="select"&&{"aria-autocomplete":"none"},...h==="combobox"&&{"aria-autocomplete":"list"}},[y,w,h]),C=p.useMemo(()=>y==="tooltip"||h==="label"?{[`aria-${h==="label"?"labelledby":"describedby"}`]:s?v:void 0}:{...k,"aria-expanded":s?"true":"false","aria-controls":s?v:void 0,...y==="menu"&&{id:g}},[y,v,s,g,h,k]),T=p.useMemo(()=>{const N={id:v,...y&&{role:y}};return y==="tooltip"||h==="label"?N:{...N,...y==="menu"&&{"aria-labelledby":g}}},[y,v,g,h]),S=p.useCallback(({active:N,selected:E})=>{const A={role:"option",...N&&{id:`${v}-fui-option`}};switch(h){case"select":case"combobox":return{...A,"aria-selected":E}}return{}},[v,h]);return p.useMemo(()=>u?{reference:C,floating:T,item:S,trigger:k}:{},[u,C,T,k,S])}function S7(e,t){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.context.dataRef,{listRef:o,activeIndex:c,onMatch:u,onTypingChange:h,enabled:f=!0,findMatch:g=null,resetMs:v=750,ignoreKeys:y=zR,selectedIndex:x=null}=t,w=Aa(),k=p.useRef(""),C=p.useRef(x??c??-1),T=p.useRef(null);mt(()=>{s&&(w.clear(),T.current=null,k.current="")},[s,w]),mt(()=>{s&&k.current===""&&(C.current=x??c??-1)},[s,x,c]);const S=gt(R=>{R?r.current.typing||(r.current.typing=R,h?.(R)):r.current.typing&&(r.current.typing=R,h?.(R))}),N=gt(R=>{function M(z,q,V){const G=g?g(q,V):q.find(P=>P?.toLocaleLowerCase().indexOf(V.toLocaleLowerCase())===0);return G?z.indexOf(G):-1}const $=o.current;if(k.current.length>0&&k.current[0]!==" "&&(M($,$,k.current)===-1?S(!1):R.key===" "&&Qn(R)),$==null||y.includes(R.key)||R.key.length!==1||R.ctrlKey||R.metaKey||R.altKey)return;s&&R.key!==" "&&(Qn(R),S(!0)),$.every(z=>z?z[0]?.toLocaleLowerCase()!==z[1]?.toLocaleLowerCase():!0)&&k.current===R.key&&(k.current="",C.current=T.current),k.current+=R.key,w.start(v,()=>{k.current="",C.current=T.current,S(!1)});const U=C.current,_=M($,[...$.slice((U||0)+1),...$.slice(0,(U||0)+1)],k.current);_!==-1?(u?.(_),T.current=_):R.key!==" "&&(k.current="",S(!1))}),E=p.useMemo(()=>({onKeyDown:N}),[N]),A=p.useMemo(()=>({onKeyDown:N,onKeyUp(R){R.key===" "&&S(!1)}}),[N,S]);return p.useMemo(()=>f?{reference:E,floating:A}:{},[f,E,A])}const C7=p.createContext(void 0);function E7(e){return p.useContext(C7)}const I2="ArrowUp",_2="ArrowDown",O2="ArrowLeft",$2="ArrowRight",P2="Home",D2="End",T7=new Set([O2,$2]),A7=new Set([I2,_2]),M7=new Set([...T7,...A7]);[...M7];const R7=new Set([I2,_2,O2,$2,P2,D2]);function I7(e){return e==="starting"?JV:Ss}const _7={...BR,...o9},O7=p.forwardRef(function(t,n){const{render:s,className:r,finalFocus:o,...c}=t,{store:u}=uc(),{side:h,align:f}=_R(),g=E7()!=null,v=u.useState("open"),y=u.useState("transitionStatus"),x=u.useState("popupProps"),w=u.useState("mounted"),k=u.useState("instantType"),C=u.useState("activeTriggerElement"),T=u.useState("parent"),S=u.useState("lastOpenChangeReason"),N=u.useState("rootId"),E=u.useState("floatingRootContext"),A=u.useState("floatingTreeRoot"),R=u.useState("closeDelay"),M=u.useState("activeTriggerElement");GR({open:v,ref:u.context.popupRef,onComplete(){v&&u.context.onOpenChangeComplete?.(!0)}}),p.useEffect(()=>{function q(V){u.setOpen(!1,Dn(V.reason,V.domEvent))}return A.events.on("close",q),()=>{A.events.off("close",q)}},[A.events,u]);const $=u.useState("hoverEnabled"),O=u.useState("disabled");g7(E,{enabled:$&&!O&&T.type!=="context-menu"&&T.type!=="menubar",closeDelay:R});const U=p.useMemo(()=>({transitionStatus:y,side:h,align:f,open:v,nested:T.type==="menu",instant:k}),[y,h,f,v,T.type,k]),_=Mi("div",t,{state:U,ref:[n,u.context.popupRef],stateAttributesMapping:_7,props:[x,{onKeyDown(q){g&&R7.has(q.key)&&q.stopPropagation()}},I7(y),c,{"data-rootownerid":N}]});let z=T.type===void 0||T.type==="context-menu";return(C||T.type==="menubar"&&S!==Kb)&&(z=!0),a.jsx(FF,{context:E,modal:!1,disabled:!w,returnFocus:o===void 0?z:o,initialFocus:T.type!=="menu",restoreFocus:!0,externalTree:T.type!=="menubar"?A:void 0,previousFocusableElement:M,nextFocusableElement:T.type===void 0?u.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:T.type===void 0?u.context.beforeContentFocusGuardRef:void 0,children:_})}),L2=p.createContext(void 0);function $7(){const e=p.useContext(L2);if(e===void 0)throw new Error(Co(32));return e}const P7=p.forwardRef(function(t,n){const{keepMounted:s=!1,...r}=t,{store:o}=uc();return o.useState("mounted")||s?a.jsx(L2.Provider,{value:s,children:a.jsx(LF,{ref:n,...r})}):null});function D7(e){return Gb(19)?e:e?"true":void 0}const L7=p.createContext(void 0);function z2(){return p.useContext(L7)?.direction??"ltr"}const z7=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:s,placement:r,rects:o,platform:c,elements:u,middlewareData:h}=t,{element:f,padding:g=0,offsetParent:v="real"}=Rr(e,t)||{};if(f==null)return{};const y=n2(g),x={x:n,y:s},w=n0(r),k=t0(w),C=await c.getDimensions(f),T=w==="y",S=T?"top":"left",N=T?"bottom":"right",E=T?"clientHeight":"clientWidth",A=o.reference[k]+o.reference[w]-x[w]-o.floating[k],R=x[w]-o.reference[w],M=v==="real"?await c.getOffsetParent?.(f):u.floating;let $=u.floating[E]||o.floating[k];(!$||!await c.isElement?.(M))&&($=u.floating[E]||o.floating[k]);const O=A/2-R/2,U=$/2-C[k]/2-1,_=Math.min(y[S],U),z=Math.min(y[N],U),q=_,V=$-C[k]-z,G=$/2-C[k]/2+O,P=vx(q,G,V),H=!h.arrow&&Ii(r)!=null&&G!==P&&o.reference[k]/2-(G<q?_:z)-C[k]/2<0,D=H?G<q?G-q:G-V:0;return{[w]:x[w]+D,data:{[w]:P,centerOffset:G-P-D,...H&&{alignmentOffset:D}},reset:H}}}),B7=(e,t)=>({...z7(e),options:[e,t]}),U7={name:"hide",async fn(e){const{width:t,height:n,x:s,y:r}=e.rects.reference,o=t===0&&n===0&&s===0&&r===0;return{data:{referenceHidden:(await MH().fn(e)).data?.referenceHidden||o}}}},V7={sideX:"left",sideY:"top"};function B2(e,t,n){const s=e==="inline-start"||e==="inline-end";return{top:"top",right:s?n?"inline-start":"inline-end":"right",bottom:"bottom",left:s?n?"inline-end":"inline-start":"left"}[t]}function BS(e,t,n){const{rects:s,placement:r}=e;return{side:B2(t,Bs(r),n),align:Ii(r)||"center",anchor:{width:s.reference.width,height:s.reference.height},positioner:{width:s.floating.width,height:s.floating.height}}}function F7(e){const{anchor:t,positionMethod:n="absolute",side:s="bottom",sideOffset:r=0,align:o="center",alignOffset:c=0,collisionBoundary:u,collisionPadding:h=5,sticky:f=!1,arrowPadding:g=5,disableAnchorTracking:v=!1,keepMounted:y=!1,floatingRootContext:x,mounted:w,collisionAvoidance:k,shiftCrossAxis:C=!1,nodeId:T,adaptiveOrigin:S,lazyFlip:N=!1,externalTree:E}=e,[A,R]=p.useState(null);!w&&A!==null&&R(null);const M=k.side||"flip",$=k.align||"flip",O=k.fallbackAxisSide||"end",U=typeof t=="function"?t:void 0,_=gt(U),z=U?_:t,q=ks(t),G=z2()==="rtl",P=A||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":G?"left":"right","inline-start":G?"right":"left"}[s],H=o==="center"?P:`${P}-${o}`;let D=h;const K=1,W=s==="bottom"?K:0,L=s==="top"?K:0,F=s==="right"?K:0,Z=s==="left"?K:0;typeof D=="number"?D={top:D+W,right:D+Z,bottom:D+L,left:D+F}:D&&(D={top:(D.top||0)+W,right:(D.right||0)+Z,bottom:(D.bottom||0)+L,left:(D.left||0)+F});const ee={boundary:u==="clipping-ancestors"?"clippingAncestors":u,padding:D},X=p.useRef(null),de=ks(r),J=ks(c),Ee=[SH(dt=>{const St=BS(dt,s,G),kt=typeof de.current=="function"?de.current(St):de.current,Ct=typeof J.current=="function"?J.current(St):J.current;return{mainAxis:kt,crossAxis:Ct,alignmentAxis:Ct}},[typeof r!="function"?r:0,typeof c!="function"?c:0,G,s])],pe=$==="none"&&M!=="shift",Te=!pe&&(f||C||M==="shift"),re=M==="none"?null:TH({...ee,padding:{top:D.top+K,right:D.right+K,bottom:D.bottom+K,left:D.left+K},mainAxis:!C&&M==="flip",crossAxis:$==="flip"?"alignment":!1,fallbackAxisSideDirection:O}),Fe=pe?null:CH(dt=>{const St=wo(dt.elements.floating).documentElement;return{...ee,rootBoundary:C?{x:0,y:0,width:St.clientWidth,height:St.clientHeight}:void 0,mainAxis:$!=="none",crossAxis:Te,limiter:f||C?void 0:EH(kt=>{if(!X.current)return{};const{width:Ct,height:Pt}=X.current.getBoundingClientRect(),Mt=ra(Bs(kt.placement)),$t=Mt==="y"?Ct:Pt,he=Mt==="y"?D.left+D.right:D.top+D.bottom;return{offset:$t/2+he/2}})}},[ee,f,C,D,$]);M==="shift"||$==="shift"||o==="center"?Ee.push(Fe,re):Ee.push(re,Fe),Ee.push(AH({...ee,apply({elements:{floating:dt},rects:{reference:St},availableWidth:kt,availableHeight:Ct}){Object.entries({"--available-width":`${kt}px`,"--available-height":`${Ct}px`,"--anchor-width":`${St.width}px`,"--anchor-height":`${St.height}px`}).forEach(([Pt,Mt])=>{dt.style.setProperty(Pt,Mt)})}}),B7(()=>({element:X.current||document.createElement("div"),padding:g,offsetParent:"floating"}),[g]),{name:"transformOrigin",fn(dt){const{elements:St,middlewareData:kt,placement:Ct,rects:Pt,y:Mt}=dt,$t=Bs(Ct),he=ra($t),We=X.current,Ve=kt.arrow?.x||0,it=kt.arrow?.y||0,xt=We?.clientWidth||0,bn=We?.clientHeight||0,Vn=Ve+xt/2,nn=it+bn/2,qn=Math.abs(kt.shift?.y||0),ps=Pt.reference.height/2,ss=typeof r=="function"?r(BS(dt,s,G)):r,Wn=qn>ss,Es={top:`${Vn}px calc(100% + ${ss}px)`,bottom:`${Vn}px ${-ss}px`,left:`calc(100% + ${ss}px) ${nn}px`,right:`${-ss}px ${nn}px`}[$t],qs=`${Vn}px ${Pt.reference.y+ps-Mt}px`;return St.floating.style.setProperty("--transform-origin",Te&&he==="y"&&Wn?qs:Es),{}}},U7,S),mt(()=>{!w&&x&&x.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[w,x]);const Ce=p.useMemo(()=>({elementResize:!v&&typeof ResizeObserver<"u",layoutShift:!v&&typeof IntersectionObserver<"u"}),[v]),{refs:Me,elements:_e,x:He,y:qe,middlewareData:nt,update:Re,placement:Ue,context:Ie,isPositioned:Be,floatingStyles:Pe}=u7({rootContext:x,placement:H,middleware:Ee,strategy:n,whileElementsMounted:y?void 0:(...dt)=>IS(...dt,Ce),nodeId:T,externalTree:E}),{sideX:at,sideY:ut}=nt.adaptiveOrigin||V7,rt=Be?n:"fixed",vt=p.useMemo(()=>S?{position:rt,[at]:He,[ut]:qe}:{position:rt,...Pe},[S,rt,at,He,ut,qe,Pe]),ie=p.useRef(null);mt(()=>{if(!w)return;const dt=q.current,St=typeof dt=="function"?dt():dt,Ct=(US(St)?St.current:St)||null||null;Ct!==ie.current&&(Me.setPositionReference(Ct),ie.current=Ct)},[w,Me,z,q]),p.useEffect(()=>{if(!w)return;const dt=q.current;typeof dt!="function"&&US(dt)&&dt.current!==ie.current&&(Me.setPositionReference(dt.current),ie.current=dt.current)},[w,Me,z,q]),p.useEffect(()=>{if(y&&w&&_e.domReference&&_e.floating)return IS(_e.domReference,_e.floating,Re,Ce)},[y,w,_e,Re,Ce]);const fe=Bs(Ue),Ae=B2(s,fe,G),Qe=Ii(Ue)||"center",ue=!!nt.hide?.referenceHidden;mt(()=>{N&&w&&Be&&R(fe)},[N,w,Be,fe]);const Ne=p.useMemo(()=>({position:"absolute",top:nt.arrow?.y,left:nt.arrow?.x}),[nt.arrow]),De=nt.arrow?.centerOffset!==0;return p.useMemo(()=>({positionerStyles:vt,arrowStyles:Ne,arrowRef:X,arrowUncentered:De,side:Ae,align:Qe,physicalSide:fe,anchorHidden:ue,refs:Me,context:Ie,isPositioned:Be,update:Re}),[vt,Ne,X,De,Ae,Qe,fe,ue,Me,Ie,Be,Re])}function US(e){return e!=null&&"current"in e}function H7(e){const{children:t,elementsRef:n,labelsRef:s,onMapChange:r}=e,o=gt(r),c=p.useRef(0),u=ua(W7).current,h=ua(q7).current,[f,g]=p.useState(0),v=p.useRef(f),y=gt((T,S)=>{h.set(T,S??null),v.current+=1,g(v.current)}),x=gt(T=>{h.delete(T),v.current+=1,g(v.current)}),w=p.useMemo(()=>{const T=new Map;return Array.from(h.keys()).filter(N=>N.isConnected).sort(G7).forEach((N,E)=>{const A=h.get(N)??{};T.set(N,{...A,index:E})}),T},[h,f]);mt(()=>{if(typeof MutationObserver!="function"||w.size===0)return;const T=new MutationObserver(S=>{const N=new Set,E=A=>N.has(A)?N.delete(A):N.add(A);S.forEach(A=>{A.removedNodes.forEach(E),A.addedNodes.forEach(E)}),N.size===0&&(v.current+=1,g(v.current))});return w.forEach((S,N)=>{N.parentElement&&T.observe(N.parentElement,{childList:!0})}),()=>{T.disconnect()}},[w]),mt(()=>{v.current===f&&(n.current.length!==w.size&&(n.current.length=w.size),s&&s.current.length!==w.size&&(s.current.length=w.size),c.current=w.size),o(w)},[o,w,n,s,f]),mt(()=>()=>{n.current=[]},[n]),mt(()=>()=>{s&&(s.current=[])},[s]);const k=gt(T=>(u.add(T),()=>{u.delete(T)}));mt(()=>{u.forEach(T=>T(w))},[u,w]);const C=p.useMemo(()=>({register:y,unregister:x,subscribeMapChange:k,elementsRef:n,labelsRef:s,nextIndexRef:c}),[y,x,k,n,s,c]);return a.jsx(HR.Provider,{value:C,children:t})}function q7(){return new Map}function W7(){return new Set}function G7(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}const Z7=p.forwardRef(function(t,n){const{cutout:s,...r}=t;let o;if(s){const c=s?.getBoundingClientRect();o=`polygon(
|
|
111
|
+
0% 0%,
|
|
112
|
+
100% 0%,
|
|
113
|
+
100% 100%,
|
|
114
|
+
0% 100%,
|
|
115
|
+
0% 0%,
|
|
116
|
+
${c.left}px ${c.top}px,
|
|
117
|
+
${c.left}px ${c.bottom}px,
|
|
118
|
+
${c.right}px ${c.bottom}px,
|
|
119
|
+
${c.right}px ${c.top}px,
|
|
120
|
+
${c.left}px ${c.top}px
|
|
121
|
+
)`}return a.jsx("div",{ref:n,role:"presentation","data-base-ui-inert":"",...r,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:o}})}),K7=p.forwardRef(function(t,n){const{anchor:s,positionMethod:r="absolute",className:o,render:c,side:u,align:h,sideOffset:f=0,alignOffset:g=0,collisionBoundary:v="clipping-ancestors",collisionPadding:y=5,arrowPadding:x=5,sticky:w=!1,disableAnchorTracking:k=!1,collisionAvoidance:C=e9,...T}=t,{store:S}=uc(),N=$7(),E=np(!0),A=S.useState("parent"),R=S.useState("floatingRootContext"),M=S.useState("floatingTreeRoot"),$=S.useState("mounted"),O=S.useState("open"),U=S.useState("modal"),_=S.useState("activeTriggerElement"),z=S.useState("lastOpenChangeReason"),q=S.useState("floatingNodeId"),V=S.useState("floatingParentNodeId");let G=s,P=f,H=g,D=h;A.type==="context-menu"&&(G=s??A.context?.anchor,D=D??"start",!u&&D!=="center"&&(H=t.alignOffset??2,P=t.sideOffset??-5));let K=u,W=D;A.type==="menu"?(K=K??"inline-end",W=W??"start"):A.type==="menubar"&&(K=K??"bottom",W=W??"start");const L=A.type==="context-menu",F=F7({anchor:G,floatingRootContext:R,positionMethod:E?"fixed":r,mounted:$,side:K,sideOffset:P,align:W,alignOffset:H,arrowPadding:L?0:x,collisionBoundary:v,collisionPadding:y,sticky:w,nodeId:q,keepMounted:N,disableAnchorTracking:k,collisionAvoidance:C,shiftCrossAxis:L,externalTree:M}),Z=p.useMemo(()=>{const je={};return O||(je.pointerEvents="none"),{role:"presentation",hidden:!$,style:{...F.positionerStyles,...je}}},[O,$,F.positionerStyles]);p.useEffect(()=>{function je(Ee){Ee.open?(Ee.parentNodeId===q&&S.set("hoverEnabled",!1),Ee.nodeId!==q&&Ee.parentNodeId===S.select("floatingParentNodeId")&&S.setOpen(!1,Dn(xu))):Ee.parentNodeId===q&&Ee.reason!==xu&&S.set("hoverEnabled",!0)}return M.events.on("menuopenchange",je),()=>{M.events.off("menuopenchange",je)}},[S,M.events,q]),p.useEffect(()=>{if(S.select("floatingParentNodeId")==null)return;function je(Ee){if(Ee.open||Ee.nodeId!==S.select("floatingParentNodeId"))return;const pe=Ee.reason??xu;S.setOpen(!1,Dn(pe))}return M.events.on("menuopenchange",je),()=>{M.events.off("menuopenchange",je)}},[M.events,S]),p.useEffect(()=>{function je(Ee){!O||Ee.nodeId!==S.select("floatingParentNodeId")||Ee.target&&_&&_!==Ee.target&&S.setOpen(!1,Dn(xu))}return M.events.on("itemhover",je),()=>{M.events.off("itemhover",je)}},[M.events,O,_,S]),p.useEffect(()=>{const je={open:O,nodeId:q,parentNodeId:V,reason:S.select("lastOpenChangeReason")};M.events.emit("menuopenchange",je)},[M.events,O,S,q,V]);const ee=p.useMemo(()=>({open:O,side:F.side,align:F.align,anchorHidden:F.anchorHidden,nested:A.type==="menu"}),[O,F.side,F.align,F.anchorHidden,A.type]),X=p.useMemo(()=>({side:F.side,align:F.align,arrowRef:F.arrowRef,arrowUncentered:F.arrowUncentered,arrowStyles:F.arrowStyles,nodeId:F.context.nodeId}),[F.side,F.align,F.arrowRef,F.arrowUncentered,F.arrowStyles,F.context.nodeId]),de=Mi("div",t,{state:ee,stateAttributesMapping:BR,ref:[n,S.useStateSetter("positionerElement")],props:[Z,T]}),J=$&&A.type!=="menu"&&(A.type!=="menubar"&&U&&z!==go||A.type==="menubar"&&A.context.modal);let ae=null;return A.type==="menubar"?ae=A.context.contentElement:A.type===void 0&&(ae=_),a.jsxs(IR.Provider,{value:X,children:[J&&a.jsx(Z7,{ref:A.type==="context-menu"||A.type==="nested-context-menu"?A.context.internalBackdropRef:null,inert:D7(!O),cutout:ae}),a.jsx(RF,{id:q,children:a.jsx(H7,{elementsRef:S.context.itemDomElements,labelsRef:S.context.itemLabels,children:de})})]})});let VS={},FS={},HS="";function Y7(e){if(typeof document>"u")return!1;const t=wo(e);return ts(t).innerWidth-t.documentElement.clientWidth>0}function X7(e){const t=wo(e),n=t.documentElement,s=t.body,r=Eo(n)?n:s,o=r.style.overflow;return r.style.overflow="hidden",()=>{r.style.overflow=o}}function J7(e){const t=wo(e),n=t.documentElement,s=t.body,r=ts(n);let o=0,c=0;const u=Ga.create(),h=typeof CSS<"u"&&CSS.supports?.("scrollbar-gutter","stable");if(F9&&(r.visualViewport?.scale??1)!==1)return()=>{};function f(){const y=r.getComputedStyle(n),x=r.getComputedStyle(s),C=(y.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";o=n.scrollTop,c=n.scrollLeft,VS={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},HS=n.style.scrollBehavior,FS={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};const T=n.scrollHeight>n.clientHeight,S=n.scrollWidth>n.clientWidth,N=y.overflowY==="scroll"||x.overflowY==="scroll",E=y.overflowX==="scroll"||x.overflowX==="scroll",A=Math.max(0,r.innerWidth-n.clientWidth),R=Math.max(0,r.innerHeight-n.clientHeight),M=parseFloat(x.marginTop)+parseFloat(x.marginBottom),$=parseFloat(x.marginLeft)+parseFloat(x.marginRight),O=Eo(n)?n:s;if(h){n.style.scrollbarGutter=C,O.style.overflowY="hidden",O.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:C,overflowY:"hidden",overflowX:"hidden"}),(T||N)&&(n.style.overflowY="scroll"),(S||E)&&(n.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:M||R?`calc(100dvh - ${M+R}px)`:"100dvh",width:$||A?`calc(100vw - ${$+A}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=o,s.scrollLeft=c,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function g(){Object.assign(n.style,VS),Object.assign(s.style,FS),h||(n.scrollTop=o,n.scrollLeft=c,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=HS)}function v(){g(),u.request(f)}return f(),r.addEventListener("resize",v),()=>{u.cancel(),g(),typeof r.removeEventListener=="function"&&r.removeEventListener("resize",v)}}class Q7{lockCount=0;restore=null;timeoutLock=Xl.create();timeoutUnlock=Xl.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;const s=wo(t).documentElement,r=ts(s).getComputedStyle(s).overflowY;if(r==="hidden"||r==="clip"){this.restore=LR;return}const o=H9||!Y7(t);this.restore=o?X7(t):J7(t)}}const eq=new Q7;function tq(e=!0,t=null){mt(()=>{if(e)return eq.acquire(t)},[e,t])}const nq=p.createContext(null);function sq(e){return p.useContext(nq)}function aq(e){const t=p.useRef(""),n=p.useCallback(r=>{r.defaultPrevented||(t.current=r.pointerType,e(r,r.pointerType))},[e]);return{onClick:p.useCallback(r=>{if(r.detail===0){e(r,"keyboard");return}"pointerType"in r&&e(r,r.pointerType),e(r,t.current),t.current=""},[e]),onPointerDown:n}}function rq(e){const[t,n]=p.useState(null),s=gt((u,h)=>{e||n(h)}),r=p.useCallback(()=>{n(null)},[]),{onClick:o,onPointerDown:c}=aq(s);return p.useMemo(()=>({openMethod:t,reset:r,triggerProps:{onClick:o,onPointerDown:c}}),[t,r,o,c])}const iq={...l7,disabled:Nt(e=>e.parent.type==="menubar"&&e.parent.context.disabled||e.disabled),modal:Nt(e=>(e.parent.type===void 0||e.parent.type==="context-menu")&&(e.modal??!0)),allowMouseEnter:Nt(e=>e.parent.type==="menu"?e.parent.store.select("allowMouseEnter"):e.allowMouseEnter),stickIfOpen:Nt(e=>e.stickIfOpen),parent:Nt(e=>e.parent),rootId:Nt(e=>e.parent.type==="menu"?e.parent.store.select("rootId"):e.parent.type!==void 0?e.parent.context.rootId:e.rootId),activeIndex:Nt(e=>e.activeIndex),isActive:Nt((e,t)=>e.activeIndex===t),hoverEnabled:Nt(e=>e.hoverEnabled),instantType:Nt(e=>e.instantType),lastOpenChangeReason:Nt(e=>e.openChangeReason),floatingTreeRoot:Nt(e=>e.parent.type==="menu"?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:Nt(e=>e.floatingNodeId),floatingParentNodeId:Nt(e=>e.floatingParentNodeId),itemProps:Nt(e=>e.itemProps),closeDelay:Nt(e=>e.closeDelay),keyboardEventRelay:Nt(e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type==="menu")return e.parent.store.select("keyboardEventRelay")})};class o0 extends R2{constructor(t){super({...oq(),...t},{positionerRef:p.createRef(),popupRef:p.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:p.createRef(),beforeContentFocusGuardRef:p.createRef(),onOpenChangeComplete:void 0,triggerElements:new i0},iq),this.observe(Nt(n=>n.allowMouseEnter),(n,s)=>{this.state.parent.type==="menu"&&n!==s&&this.state.parent.store.set("allowMouseEnter",n)}),this.unsubscribeParentListener=this.observe("parent",n=>{if(this.unsubscribeParentListener?.(),n.type==="menu"){this.unsubscribeParentListener=n.store.subscribe(()=>{this.notifyAll()}),this.context.allowMouseUpTriggerRef=n.store.context.allowMouseUpTriggerRef;return}n.type!==void 0&&(this.context.allowMouseUpTriggerRef=n.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(t,n){this.state.floatingRootContext.context.events.emit("setOpen",{open:t,eventDetails:n})}static useStore(t,n){return ua(()=>t??new o0(n)).current}unsubscribeParentListener=null}function oq(){return{...o7(),disabled:!1,modal:!0,allowMouseEnter:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new m2,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Ss,keyboardEventRelay:void 0,closeDelay:0}}const lq=p.createContext(void 0);function cq(){return p.useContext(lq)}function uq(e){const{children:t,open:n,onOpenChange:s,onOpenChangeComplete:r,defaultOpen:o=!1,disabled:c=!1,modal:u,loopFocus:h=!0,orientation:f="vertical",actionsRef:g,closeParentOnEsc:v=!0,handle:y,triggerId:x,defaultTriggerId:w=null,highlightItemOnHover:k=!0}=e,C=np(!0),T=uc(!0),S=sq(),N=cq(),E=p.useMemo(()=>N&&T?{type:"menu",store:T.store}:S?{type:"menubar",context:S}:C&&!T?{type:"context-menu",context:C}:{type:void 0},[C,T,S,N]),A=o0.useStore(y?.store,{parent:E}),R=A.useState("floatingTreeRoot"),M=MF(R),$=_i();mt(()=>{C&&!T?A.update({parent:{type:"context-menu",context:C},floatingNodeId:M,floatingParentNodeId:$}):T&&A.update({floatingNodeId:M,floatingParentNodeId:$})},[C,T,M,$,A]),A.useControlledProp("open",n,o),A.useControlledProp("activeTriggerId",x,w),A.useContextCallback("onOpenChangeComplete",r);const O=A.useState("open"),U=A.useState("activeTriggerElement"),_=A.useState("positionerElement"),z=A.useState("hoverEnabled"),q=A.useState("modal"),V=A.useState("disabled"),G=A.useState("lastOpenChangeReason"),P=A.useState("parent"),H=A.useState("activeIndex"),D=A.useState("payload"),K=A.useState("floatingParentNodeId"),W=p.useRef(null),L=K!=null;let F;A.useSyncedValues({disabled:c,modal:P.type===void 0?u:void 0,rootId:Ai()});const{openMethod:Z,triggerProps:ee,reset:X}=rq(O);a7(A);const{forceUnmount:de}=r7(O,A,()=>{A.update({allowMouseEnter:!1,stickIfOpen:!0}),X()}),J=p.useRef(P.type!=="context-menu"),ae=Aa();p.useEffect(()=>{if(O||(W.current=null),P.type==="context-menu"){if(!O){ae.clear(),J.current=!1;return}ae.start(500,()=>{J.current=!0})}},[ae,O,P.type]),tq(O&&q&&G!==go&&Z!=="touch",_),mt(()=>{!O&&!z&&A.set("hoverEnabled",!0)},[O,z,A]);const je=p.useRef(!0),Ee=Aa(),pe=gt((ue,Ne)=>{const De=Ne.reason;if(O===ue&&Ne.trigger===U||(Ne.preventUnmountOnClose=()=>{A.set("preventUnmountingOnClose",!0)},!ue&&Ne.trigger==null&&(Ne.trigger=U??void 0),s?.(ue,Ne),Ne.isCanceled))return;const dt={open:ue,nativeEvent:Ne.event,reason:Ne.reason,nested:L};F?.emit("openchange",dt);const St=Ne.event;if(ue===!1&&St?.type==="click"&&St.pointerType==="touch"&&!je.current)return;if(!ue&&H!==null){const Mt=A.context.itemDomElements.current[H];queueMicrotask(()=>{Mt?.setAttribute("tabindex","-1")})}ue&&De===pS?(je.current=!1,Ee.start(300,()=>{je.current=!0})):(je.current=!0,Ee.clear());const kt=(De===lm||De===UR)&&St.detail===0&&St?.isTrusted,Ct=!ue&&(De===VR||De==null);function Pt(){const Mt={open:ue,openChangeReason:De};W.current=Ne.event??null;const $t=Ne.trigger?.id??null;($t||ue)&&(Mt.activeTriggerId=$t,Mt.activeTriggerElement=Ne.trigger??null),A.update(Mt)}De===go?Mr.flushSync(Pt):Pt(),P.type==="menubar"&&(De===pS||De===ap||De===go||De===Th||De===xu)?A.set("instantType","group"):kt||Ct?A.set("instantType",kt?"click":"dismiss"):A.set("instantType",void 0)}),Te=p.useCallback(ue=>{const Ne=Dn(ue);return Ne.preventUnmountOnClose=()=>{A.set("preventUnmountingOnClose",!0)},Ne},[A]),re=p.useCallback(()=>{A.setOpen(!1,Te(p9))},[A,Te]);p.useImperativeHandle(g,()=>({unmount:de,close:re}),[de,re]);let Fe;P.type==="context-menu"&&(Fe=P.context),p.useImperativeHandle(Fe?.positionerRef,()=>_,[_]),p.useImperativeHandle(Fe?.actionsRef,()=>({setOpen:pe}),[pe]);const Ce=d7({popupStore:A,onOpenChange:pe});F=Ce.context.events,p.useEffect(()=>{const ue=({open:Ne,eventDetails:De})=>pe(Ne,De);return F.on("setOpen",ue),()=>{F?.off("setOpen",ue)}},[F,pe]);const Me=_H(Ce,{enabled:!V,bubbles:v&&P.type==="menu",outsidePress(){return P.type!=="context-menu"||W.current?.type==="contextmenu"?!0:J.current},externalTree:L?R:void 0}),_e=N7(Ce,{role:"menu"}),He=z2(),qe=p.useCallback(ue=>{A.select("activeIndex")!==ue&&A.set("activeIndex",ue)},[A]),nt=j7(Ce,{enabled:!V,listRef:A.context.itemDomElements,activeIndex:H,nested:P.type!==void 0,loopFocus:h,orientation:f,parentOrientation:P.type==="menubar"?P.context.orientation:void 0,rtl:He==="rtl",disabledIndices:zR,onNavigate:qe,openOnArrowKeyDown:P.type!=="context-menu",externalTree:L?R:void 0,focusItemOnHover:k}),Re=p.useCallback(ue=>{A.context.typingRef.current=ue},[A]),Ue=S7(Ce,{listRef:A.context.itemLabels,activeIndex:H,resetMs:XV,onMatch:ue=>{O&&ue!==H&&A.set("activeIndex",ue)},onTypingChange:Re}),{getReferenceProps:Ie,getFloatingProps:Be,getItemProps:Pe,getTriggerProps:at}=y7([Me,_e,nt,Ue]),ut=p.useMemo(()=>{const ue=sp(Ie(),{onMouseEnter(){A.set("hoverEnabled",!0)},onMouseMove(){A.set("allowMouseEnter",!0)}},ee);return delete ue.role,ue},[Ie,A,ee]),rt=p.useMemo(()=>{const ue=at();if(!ue)return ue;const{role:Ne,["aria-controls"]:De,...dt}=ue;return dt},[at]),vt=Jb(),ie=p.useMemo(()=>Be({onMouseEnter(){P.type==="menu"&&vt.request(()=>A.set("hoverEnabled",!1))},onMouseMove(){A.set("allowMouseEnter",!0)},onClick(){A.select("hoverEnabled")&&A.set("hoverEnabled",!1)},onKeyDown(ue){const Ne=A.select("keyboardEventRelay");Ne&&!ue.isPropagationStopped()&&Ne(ue)}}),[Be,P.type,vt,A]),fe=p.useMemo(()=>Pe(),[Pe]);A.useSyncedValues({floatingRootContext:Ce,activeTriggerProps:ut,inactiveTriggerProps:rt,popupProps:ie,itemProps:fe});const Ae=p.useMemo(()=>({store:A,parent:E}),[A,E]),Qe=a.jsx(Wb.Provider,{value:Ae,children:typeof t=="function"?t({payload:D}):t});return P.type===void 0||P.type==="context-menu"?a.jsx(IF,{externalTree:R,children:Qe}):Qe}function U2(e){if(Pn(e)&&e.hasAttribute("data-rootownerid"))return e.getAttribute("data-rootownerid")??void 0;if(!Xa(e))return U2(tr(e))}const dq=p.forwardRef(function(t,n){const{className:s,render:r,orientation:o="horizontal",...c}=t,u=p.useMemo(()=>({orientation:o}),[o]);return Mi("div",t,{state:u,ref:n,props:[{role:"separator","aria-orientation":o},c]})});function fq(e){const[t,n]=p.useState({getBoundingClientRect(){return DOMRect.fromRect({width:0,height:0,x:0,y:0})}}),s=p.useRef(null),r=p.useRef(null),o=p.useRef(null),c=p.useRef(null),u=p.useRef(!0),h=p.useRef(null),f=Ai(),g=p.useMemo(()=>({anchor:t,setAnchor:n,actionsRef:o,backdropRef:s,internalBackdropRef:r,positionerRef:c,allowMouseUpTriggerRef:u,initialCursorPointRef:h,rootId:f}),[t,f]);return a.jsx(RR.Provider,{value:g,children:a.jsx(Wb.Provider,{value:void 0,children:a.jsx(uq,{...e})})})}const qS=500,hq=p.forwardRef(function(t,n){const{render:s,className:r,...o}=t,{setAnchor:c,actionsRef:u,internalBackdropRef:h,backdropRef:f,positionerRef:g,allowMouseUpTriggerRef:v,initialCursorPointRef:y,rootId:x}=np(!1),{store:w}=uc(!1),k=w.useState("open"),C=p.useRef(null),T=p.useRef(null),S=Aa(),N=Aa(),E=p.useRef(!1);function A(z,q,V){const G=V.type.startsWith("touch");y.current={x:z,y:q},c({getBoundingClientRect(){return DOMRect.fromRect({width:G?10:0,height:G?10:0,x:z,y:q})}}),E.current=!1,u.current?.setOpen(!0,Dn(lm,V)),N.start(qS,()=>{E.current=!0})}function R(z){v.current=!0,Qn(z),A(z.clientX,z.clientY,z.nativeEvent),wo(C.current).addEventListener("mouseup",V=>{if(v.current=!1,!E.current)return;N.clear(),E.current=!1;const G=Ns(V);dn(g.current,G)||x&&G&&U2(G)===x||u.current?.setOpen(!1,Dn(m9,V))},{once:!0})}function M(z){if(v.current=!1,z.touches.length===1){z.stopPropagation();const q=z.touches[0];T.current={x:q.clientX,y:q.clientY},S.start(qS,()=>{T.current&&A(T.current.x,T.current.y,z.nativeEvent)})}}function $(z){if(S.isStarted()&&T.current&&z.touches.length===1){const q=z.touches[0],V=10,G=Math.abs(q.clientX-T.current.x),P=Math.abs(q.clientY-T.current.y);(G>V||P>V)&&S.clear()}}function O(){S.clear(),T.current=null}p.useEffect(()=>{function z(V){const P=Ns(V);(dn(C.current,P)||dn(h.current,P)||dn(f.current,P))&&V.preventDefault()}const q=wo(C.current);return q.addEventListener("contextmenu",z),()=>{q.removeEventListener("contextmenu",z)}},[f,h]);const U=p.useMemo(()=>({open:k}),[k]);return Mi("div",t,{state:U,ref:[C,n],props:[{onContextMenu:R,onTouchStart:M,onTouchMove:$,onTouchEnd:O,onTouchCancel:O,style:{WebkitTouchCallout:"none"}},o],stateAttributesMapping:f9})}),l0=p.createContext({});function c0(e){const t=p.useRef(null);return t.current===null&&(t.current=e()),t.current}const mq=typeof window<"u",V2=mq?p.useLayoutEffect:p.useEffect,fp=p.createContext(null);function u0(e,t){e.indexOf(t)===-1&&e.push(t)}function bm(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const nr=(e,t,n)=>n>t?t:n<e?e:n;let d0=()=>{};const ki={},F2=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),H2=e=>typeof e=="object"&&e!==null,q2=e=>/^0[^.\s]+$/u.test(e);function W2(e){let t;return()=>(t===void 0&&(t=e()),t)}const ca=e=>e,cd=(...e)=>e.reduce((t,n)=>s=>n(t(s))),Ku=(e,t,n)=>{const s=t-e;return s?(n-e)/s:1};class f0{constructor(){this.subscriptions=[]}add(t){return u0(this.subscriptions,t),()=>bm(this.subscriptions,t)}notify(t,n,s){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,s);else for(let o=0;o<r;o++){const c=this.subscriptions[o];c&&c(t,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Us=e=>e*1e3,ia=e=>e/1e3,G2=(e,t)=>t?e*(1e3/t):0,Z2=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,pq=1e-7,gq=12;function vq(e,t,n,s,r){let o,c,u=0;do c=t+(n-t)/2,o=Z2(c,s,r)-e,o>0?n=c:t=c;while(Math.abs(o)>pq&&++u<gq);return c}function ud(e,t,n,s){if(e===t&&n===s)return ca;const r=o=>vq(o,0,1,e,n);return o=>o===0||o===1?o:Z2(r(o),t,s)}const K2=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Y2=e=>t=>1-e(1-t),X2=ud(.33,1.53,.69,.99),h0=Y2(X2),J2=K2(h0),Q2=e=>e>=1?1:(e*=2)<1?.5*h0(e):.5*(2-Math.pow(2,-10*(e-1))),m0=e=>1-Math.sin(Math.acos(e)),eI=Y2(m0),tI=K2(m0),yq=ud(.42,0,1,1),xq=ud(0,0,.58,1),nI=ud(.42,0,.58,1),bq=e=>Array.isArray(e)&&typeof e[0]!="number",sI=e=>Array.isArray(e)&&typeof e[0]=="number",wq={linear:ca,easeIn:yq,easeInOut:nI,easeOut:xq,circIn:m0,circInOut:tI,circOut:eI,backIn:h0,backInOut:J2,backOut:X2,anticipate:Q2},jq=e=>typeof e=="string",WS=e=>{if(sI(e)){d0(e.length===4);const[t,n,s,r]=e;return ud(t,n,s,r)}else if(jq(e))return wq[e];return e},Ff=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function kq(e,t){let n=new Set,s=new Set,r=!1,o=!1;const c=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function h(g){c.has(g)&&(f.schedule(g),e()),g(u)}const f={schedule:(g,v=!1,y=!1)=>{const w=y&&r?n:s;return v&&c.add(g),w.add(g),g},cancel:g=>{s.delete(g),c.delete(g)},process:g=>{if(u=g,r){o=!0;return}r=!0;const v=n;n=s,s=v,n.forEach(h),n.clear(),r=!1,o&&(o=!1,f.process(g))}};return f}const Nq=40;function aI(e,t){let n=!1,s=!0;const r={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,c=Ff.reduce((N,E)=>(N[E]=kq(o),N),{}),{setup:u,read:h,resolveKeyframes:f,preUpdate:g,update:v,preRender:y,render:x,postRender:w}=c,k=()=>{const N=ki.useManualTiming,E=N?r.timestamp:performance.now();n=!1,N||(r.delta=s?1e3/60:Math.max(Math.min(E-r.timestamp,Nq),1)),r.timestamp=E,r.isProcessing=!0,u.process(r),h.process(r),f.process(r),g.process(r),v.process(r),y.process(r),x.process(r),w.process(r),r.isProcessing=!1,n&&t&&(s=!1,e(k))},C=()=>{n=!0,s=!0,r.isProcessing||e(k)};return{schedule:Ff.reduce((N,E)=>{const A=c[E];return N[E]=(R,M=!1,$=!1)=>(n||C(),A.schedule(R,M,$)),N},{}),cancel:N=>{for(let E=0;E<Ff.length;E++)c[Ff[E]].cancel(N)},state:r,steps:c}}const{schedule:tn,cancel:Ni,state:Xn,steps:ny}=aI(typeof requestAnimationFrame<"u"?requestAnimationFrame:ca,!0);let Rh;function Sq(){Rh=void 0}const fs={now:()=>(Rh===void 0&&fs.set(Xn.isProcessing||ki.useManualTiming?Xn.timestamp:performance.now()),Rh),set:e=>{Rh=e,queueMicrotask(Sq)}},rI=e=>t=>typeof t=="string"&&t.startsWith(e),iI=rI("--"),Cq=rI("var(--"),p0=e=>Cq(e)?Eq.test(e.split("/*")[0].trim()):!1,Eq=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function GS(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const hc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Yu={...hc,transform:e=>nr(0,1,e)},Hf={...hc,default:1},Mu=e=>Math.round(e*1e5)/1e5,g0=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Tq(e){return e==null}const Aq=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,v0=(e,t)=>n=>!!(typeof n=="string"&&Aq.test(n)&&n.startsWith(e)||t&&!Tq(n)&&Object.prototype.hasOwnProperty.call(n,t)),oI=(e,t,n)=>s=>{if(typeof s!="string")return s;const[r,o,c,u]=s.match(g0);return{[e]:parseFloat(r),[t]:parseFloat(o),[n]:parseFloat(c),alpha:u!==void 0?parseFloat(u):1}},Mq=e=>nr(0,255,e),sy={...hc,transform:e=>Math.round(Mq(e))},ho={test:v0("rgb","red"),parse:oI("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+sy.transform(e)+", "+sy.transform(t)+", "+sy.transform(n)+", "+Mu(Yu.transform(s))+")"};function Rq(e){let t="",n="",s="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,s+=s,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:r?parseInt(r,16)/255:1}}const wx={test:v0("#"),parse:Rq,transform:ho.transform},dd=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Sr=dd("deg"),Qa=dd("%"),Ze=dd("px"),Iq=dd("vh"),_q=dd("vw"),ZS={...Qa,parse:e=>Qa.parse(e)/100,transform:e=>Qa.transform(e*100)},Il={test:v0("hsl","hue"),parse:oI("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Qa.transform(Mu(t))+", "+Qa.transform(Mu(n))+", "+Mu(Yu.transform(s))+")"},$n={test:e=>ho.test(e)||wx.test(e)||Il.test(e),parse:e=>ho.test(e)?ho.parse(e):Il.test(e)?Il.parse(e):wx.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?ho.transform(e):Il.transform(e),getAnimatableNone:e=>{const t=$n.parse(e);return t.alpha=0,$n.transform(t)}},Oq=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function $q(e){return isNaN(e)&&typeof e=="string"&&(e.match(g0)?.length||0)+(e.match(Oq)?.length||0)>0}const lI="number",cI="color",Pq="var",Dq="var(",KS="${}",Lq=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function ec(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},r=[];let o=0;const u=t.replace(Lq,h=>($n.test(h)?(s.color.push(o),r.push(cI),n.push($n.parse(h))):h.startsWith(Dq)?(s.var.push(o),r.push(Pq),n.push(h)):(s.number.push(o),r.push(lI),n.push(parseFloat(h))),++o,KS)).split(KS);return{values:n,split:u,indexes:s,types:r}}function zq(e){return ec(e).values}function uI({split:e,types:t}){const n=e.length;return s=>{let r="";for(let o=0;o<n;o++)if(r+=e[o],s[o]!==void 0){const c=t[o];c===lI?r+=Mu(s[o]):c===cI?r+=$n.transform(s[o]):r+=s[o]}return r}}function Bq(e){return uI(ec(e))}const Uq=e=>typeof e=="number"?0:$n.test(e)?$n.getAnimatableNone(e):e,Vq=(e,t)=>typeof e=="number"?t?.trim().endsWith("/")?e:0:Uq(e);function Fq(e){const t=ec(e);return uI(t)(t.values.map((s,r)=>Vq(s,t.split[r])))}const Ea={test:$q,parse:zq,createTransformer:Bq,getAnimatableNone:Fq};function ay(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Hq({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let r=0,o=0,c=0;if(!t)r=o=c=n;else{const u=n<.5?n*(1+t):n+t-n*t,h=2*n-u;r=ay(h,u,e+1/3),o=ay(h,u,e),c=ay(h,u,e-1/3)}return{red:Math.round(r*255),green:Math.round(o*255),blue:Math.round(c*255),alpha:s}}function wm(e,t){return n=>n>0?t:e}const Qt=(e,t,n)=>e+(t-e)*n,ry=(e,t,n)=>{const s=e*e,r=n*(t*t-s)+s;return r<0?0:Math.sqrt(r)},qq=[wx,ho,Il],Wq=e=>qq.find(t=>t.test(e));function YS(e){const t=Wq(e);if(!t)return!1;let n=t.parse(e);return t===Il&&(n=Hq(n)),n}const XS=(e,t)=>{const n=YS(e),s=YS(t);if(!n||!s)return wm(e,t);const r={...n};return o=>(r.red=ry(n.red,s.red,o),r.green=ry(n.green,s.green,o),r.blue=ry(n.blue,s.blue,o),r.alpha=Qt(n.alpha,s.alpha,o),ho.transform(r))},jx=new Set(["none","hidden"]);function Gq(e,t){return jx.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Zq(e,t){return n=>Qt(e,t,n)}function y0(e){return typeof e=="number"?Zq:typeof e=="string"?p0(e)?wm:$n.test(e)?XS:Xq:Array.isArray(e)?dI:typeof e=="object"?$n.test(e)?XS:Kq:wm}function dI(e,t){const n=[...e],s=n.length,r=e.map((o,c)=>y0(o)(o,t[c]));return o=>{for(let c=0;c<s;c++)n[c]=r[c](o);return n}}function Kq(e,t){const n={...e,...t},s={};for(const r in n)e[r]!==void 0&&t[r]!==void 0&&(s[r]=y0(e[r])(e[r],t[r]));return r=>{for(const o in s)n[o]=s[o](r);return n}}function Yq(e,t){const n=[],s={color:0,var:0,number:0};for(let r=0;r<t.values.length;r++){const o=t.types[r],c=e.indexes[o][s[o]],u=e.values[c]??0;n[r]=u,s[o]++}return n}const Xq=(e,t)=>{const n=Ea.createTransformer(t),s=ec(e),r=ec(t);return s.indexes.var.length===r.indexes.var.length&&s.indexes.color.length===r.indexes.color.length&&s.indexes.number.length>=r.indexes.number.length?jx.has(e)&&!r.values.length||jx.has(t)&&!s.values.length?Gq(e,t):cd(dI(Yq(s,r),r.values),n):wm(e,t)};function fI(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Qt(e,t,n):y0(e)(e,t)}const Jq=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>tn.update(t,n),stop:()=>Ni(t),now:()=>Xn.isProcessing?Xn.timestamp:fs.now()}},hI=(e,t,n=10)=>{let s="";const r=Math.max(Math.round(t/n),2);for(let o=0;o<r;o++)s+=Math.round(e(o/(r-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},jm=2e4;function x0(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<jm;)t+=n,s=e.next(t);return t>=jm?1/0:t}function Qq(e,t=100,n){const s=n({...e,keyframes:[0,t]}),r=Math.min(x0(s),jm);return{type:"keyframes",ease:o=>s.next(r*o).value/t,duration:ia(r)}}const kn={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function kx(e,t){return e*Math.sqrt(1-t*t)}const eW=12;function tW(e,t,n){let s=n;for(let r=1;r<eW;r++)s=s-e(s)/t(s);return s}const iy=.001;function nW({duration:e=kn.duration,bounce:t=kn.bounce,velocity:n=kn.velocity,mass:s=kn.mass}){let r,o,c=1-t;c=nr(kn.minDamping,kn.maxDamping,c),e=nr(kn.minDuration,kn.maxDuration,ia(e)),c<1?(r=f=>{const g=f*c,v=g*e,y=g-n,x=kx(f,c),w=Math.exp(-v);return iy-y/x*w},o=f=>{const v=f*c*e,y=v*n+n,x=Math.pow(c,2)*Math.pow(f,2)*e,w=Math.exp(-v),k=kx(Math.pow(f,2),c);return(-r(f)+iy>0?-1:1)*((y-x)*w)/k}):(r=f=>{const g=Math.exp(-f*e),v=(f-n)*e+1;return-iy+g*v},o=f=>{const g=Math.exp(-f*e),v=(n-f)*(e*e);return g*v});const u=5/e,h=tW(r,o,u);if(e=Us(e),isNaN(h))return{stiffness:kn.stiffness,damping:kn.damping,duration:e};{const f=Math.pow(h,2)*s;return{stiffness:f,damping:c*2*Math.sqrt(s*f),duration:e}}}const sW=["duration","bounce"],aW=["stiffness","damping","mass"];function JS(e,t){return t.some(n=>e[n]!==void 0)}function rW(e){let t={velocity:kn.velocity,stiffness:kn.stiffness,damping:kn.damping,mass:kn.mass,isResolvedFromDuration:!1,...e};if(!JS(e,aW)&&JS(e,sW))if(t.velocity=0,e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),r=s*s,o=2*nr(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:kn.mass,stiffness:r,damping:o}}else{const n=nW({...e,velocity:0});t={...t,...n,mass:kn.mass},t.isResolvedFromDuration=!0}return t}function km(e=kn.visualDuration,t=kn.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:r}=n;const o=n.keyframes[0],c=n.keyframes[n.keyframes.length-1],u={done:!1,value:o},{stiffness:h,damping:f,mass:g,duration:v,velocity:y,isResolvedFromDuration:x}=rW({...n,velocity:-ia(n.velocity||0)}),w=y||0,k=f/(2*Math.sqrt(h*g)),C=c-o,T=ia(Math.sqrt(h/g)),S=Math.abs(C)<5;s||(s=S?kn.restSpeed.granular:kn.restSpeed.default),r||(r=S?kn.restDelta.granular:kn.restDelta.default);let N,E,A,R,M,$;if(k<1)A=kx(T,k),R=(w+k*T*C)/A,N=U=>{const _=Math.exp(-k*T*U);return c-_*(R*Math.sin(A*U)+C*Math.cos(A*U))},M=k*T*R+C*A,$=k*T*C-R*A,E=U=>Math.exp(-k*T*U)*(M*Math.sin(A*U)+$*Math.cos(A*U));else if(k===1){N=_=>c-Math.exp(-T*_)*(C+(w+T*C)*_);const U=w+T*C;E=_=>Math.exp(-T*_)*(T*U*_-w)}else{const U=T*Math.sqrt(k*k-1);N=V=>{const G=Math.exp(-k*T*V),P=Math.min(U*V,300);return c-G*((w+k*T*C)*Math.sinh(P)+U*C*Math.cosh(P))/U};const _=(w+k*T*C)/U,z=k*T*_-C*U,q=k*T*C-_*U;E=V=>{const G=Math.exp(-k*T*V),P=Math.min(U*V,300);return G*(z*Math.sinh(P)+q*Math.cosh(P))}}const O={calculatedDuration:x&&v||null,velocity:U=>Us(E(U)),next:U=>{if(!x&&k<1){const z=Math.exp(-k*T*U),q=Math.sin(A*U),V=Math.cos(A*U),G=c-z*(R*q+C*V),P=Us(z*(M*q+$*V));return u.done=Math.abs(P)<=s&&Math.abs(c-G)<=r,u.value=u.done?c:G,u}const _=N(U);if(x)u.done=U>=v;else{const z=Us(E(U));u.done=Math.abs(z)<=s&&Math.abs(c-_)<=r}return u.value=u.done?c:_,u},toString:()=>{const U=Math.min(x0(O),jm),_=hI(z=>O.next(U*z).value,U,30);return U+"ms "+_},toTransition:()=>{}};return O}km.applyToOptions=e=>{const t=Qq(e,100,km);return e.ease=t.ease,e.duration=Us(t.duration),e.type="keyframes",e};const iW=5;function mI(e,t,n){const s=Math.max(t-iW,0);return G2(n-e(s),t-s)}function Nx({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:o=500,modifyTarget:c,min:u,max:h,restDelta:f=.5,restSpeed:g}){const v=e[0],y={done:!1,value:v},x=$=>u!==void 0&&$<u||h!==void 0&&$>h,w=$=>u===void 0?h:h===void 0||Math.abs(u-$)<Math.abs(h-$)?u:h;let k=n*t;const C=v+k,T=c===void 0?C:c(C);T!==C&&(k=T-v);const S=$=>-k*Math.exp(-$/s),N=$=>T+S($),E=$=>{const O=S($),U=N($);y.done=Math.abs(O)<=f,y.value=y.done?T:U};let A,R;const M=$=>{x(y.value)&&(A=$,R=km({keyframes:[y.value,w(y.value)],velocity:mI(N,$,y.value),damping:r,stiffness:o,restDelta:f,restSpeed:g}))};return M(0),{calculatedDuration:null,next:$=>{let O=!1;return!R&&A===void 0&&(O=!0,E($),M($)),A!==void 0&&$>=A?R.next($-A):(!O&&E($),y)}}}function oW(e,t,n){const s=[],r=n||ki.mix||fI,o=e.length-1;for(let c=0;c<o;c++){let u=r(e[c],e[c+1]);if(t){const h=Array.isArray(t)?t[c]||ca:t;u=cd(h,u)}s.push(u)}return s}function lW(e,t,{clamp:n=!0,ease:s,mixer:r}={}){const o=e.length;if(d0(o===t.length),o===1)return()=>t[0];if(o===2&&t[0]===t[1])return()=>t[1];const c=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const u=oW(t,s,r),h=u.length,f=g=>{if(c&&g<e[0])return t[0];let v=0;if(h>1)for(;v<e.length-2&&!(g<e[v+1]);v++);const y=Ku(e[v],e[v+1],g);return u[v](y)};return n?g=>f(nr(e[0],e[o-1],g)):f}function cW(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const r=Ku(0,t,s);e.push(Qt(n,1,r))}}function uW(e){const t=[0];return cW(t,e.length-1),t}function dW(e,t){return e.map(n=>n*t)}function fW(e,t){return e.map(()=>t||nI).splice(0,e.length-1)}function Ru({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const r=bq(s)?s.map(WS):WS(s),o={done:!1,value:t[0]},c=dW(n&&n.length===t.length?n:uW(t),e),u=lW(c,t,{ease:Array.isArray(r)?r:fW(t,r)});return{calculatedDuration:e,next:h=>(o.value=u(h),o.done=h>=e,o)}}const hW=e=>e!==null;function hp(e,{repeat:t,repeatType:n="loop"},s,r=1){const o=e.filter(hW),u=r<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!u||s===void 0?o[u]:s}const mW={decay:Nx,inertia:Nx,tween:Ru,keyframes:Ru,spring:km};function pI(e){typeof e.type=="string"&&(e.type=mW[e.type])}class b0{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const pW=e=>e/100;class Nm extends b0{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==fs.now()&&this.tick(fs.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;pI(t);const{type:n=Ru,repeat:s=0,repeatDelay:r=0,repeatType:o,velocity:c=0}=t;let{keyframes:u}=t;const h=n||Ru;h!==Ru&&typeof u[0]!="number"&&(this.mixKeyframes=cd(pW,fI(u[0],u[1])),u=[0,100]);const f=h({...t,keyframes:u});o==="mirror"&&(this.mirroredGenerator=h({...t,keyframes:[...u].reverse(),velocity:-c})),f.calculatedDuration===null&&(f.calculatedDuration=x0(f));const{calculatedDuration:g}=f;this.calculatedDuration=g,this.resolvedDuration=g+r,this.totalDuration=this.resolvedDuration*(s+1)-r,this.generator=f}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:s,totalDuration:r,mixKeyframes:o,mirroredGenerator:c,resolvedDuration:u,calculatedDuration:h}=this;if(this.startTime===null)return s.next(0);const{delay:f=0,keyframes:g,repeat:v,repeatType:y,repeatDelay:x,type:w,onUpdate:k,finalKeyframe:C}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-r/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const T=this.currentTime-f*(this.playbackSpeed>=0?1:-1),S=this.playbackSpeed>=0?T<0:T>r;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=r);let N=this.currentTime,E=s;if(v){const $=Math.min(this.currentTime,r)/u;let O=Math.floor($),U=$%1;!U&&$>=1&&(U=1),U===1&&O--,O=Math.min(O,v+1),O%2&&(y==="reverse"?(U=1-U,x&&(U-=x/u)):y==="mirror"&&(E=c)),N=nr(0,1,U)*u}let A;S?(this.delayState.value=g[0],A=this.delayState):A=E.next(N),o&&!S&&(A.value=o(A.value));let{done:R}=A;!S&&h!==null&&(R=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&R);return M&&w!==Nx&&(A.value=hp(g,this.options,C,this.speed)),k&&k(A.value),M&&this.finish(),A}then(t,n){return this.finished.then(t,n)}get duration(){return ia(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+ia(t)}get time(){return ia(this.currentTime)}set time(t){t=Us(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const n=this.generator.next(t).value;return mI(s=>this.generator.next(s).value,t,n)}get speed(){return this.playbackSpeed}set speed(t){const n=this.playbackSpeed!==t;n&&this.driver&&this.updateTime(fs.now()),this.playbackSpeed=t,n&&this.driver&&(this.time=ia(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Jq,startTime:n}=this.options;this.driver||(this.driver=t(r=>this.tick(r))),this.options.onPlay?.();const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=n??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(fs.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function gW(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const mo=e=>e*180/Math.PI,Sx=e=>{const t=mo(Math.atan2(e[1],e[0]));return Cx(t)},vW={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Sx,rotateZ:Sx,skewX:e=>mo(Math.atan(e[1])),skewY:e=>mo(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Cx=e=>(e=e%360,e<0&&(e+=360),e),QS=Sx,eC=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),tC=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),yW={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:eC,scaleY:tC,scale:e=>(eC(e)+tC(e))/2,rotateX:e=>Cx(mo(Math.atan2(e[6],e[5]))),rotateY:e=>Cx(mo(Math.atan2(-e[2],e[0]))),rotateZ:QS,rotate:QS,skewX:e=>mo(Math.atan(e[4])),skewY:e=>mo(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Ex(e){return e.includes("scale")?1:0}function Tx(e,t){if(!e||e==="none")return Ex(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,r;if(n)s=yW,r=n;else{const u=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=vW,r=u}if(!r)return Ex(t);const o=s[t],c=r[1].split(",").map(bW);return typeof o=="function"?o(c):c[o]}const xW=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return Tx(n,t)};function bW(e){return parseFloat(e.trim())}const mc=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],pc=new Set([...mc,"pathRotation"]),nC=e=>e===hc||e===Ze,wW=new Set(["x","y","z"]),jW=mc.filter(e=>!wW.has(e));function kW(e){const t=[];return jW.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const mi={width:({x:e},{paddingLeft:t="0",paddingRight:n="0",boxSizing:s})=>{const r=e.max-e.min;return s==="border-box"?r:r-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t="0",paddingBottom:n="0",boxSizing:s})=>{const r=e.max-e.min;return s==="border-box"?r:r-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Tx(t,"x"),y:(e,{transform:t})=>Tx(t,"y")};mi.translateX=mi.x;mi.translateY=mi.y;const vo=new Set;let Ax=!1,Mx=!1,Rx=!1;function gI(){if(Mx){const e=Array.from(vo).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const r=kW(s);r.length&&(n.set(s,r),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const r=n.get(s);r&&r.forEach(([o,c])=>{s.getValue(o)?.set(c)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Mx=!1,Ax=!1,vo.forEach(e=>e.complete(Rx)),vo.clear()}function vI(){vo.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Mx=!0)})}function NW(){Rx=!0,vI(),gI(),Rx=!1}class w0{constructor(t,n,s,r,o,c=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=r,this.element=o,this.isAsync=c}scheduleResolve(){this.state="scheduled",this.isAsync?(vo.add(this),Ax||(Ax=!0,tn.read(vI),tn.resolveKeyframes(gI))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:r}=this;if(t[0]===null){const o=r?.get(),c=t[t.length-1];if(o!==void 0)t[0]=o;else if(s&&n){const u=s.readValue(n,c);u!=null&&(t[0]=u)}t[0]===void 0&&(t[0]=c),r&&o===void 0&&r.set(t[0])}gW(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),vo.delete(this)}cancel(){this.state==="scheduled"&&(vo.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const SW=e=>e.startsWith("--");function yI(e,t,n){SW(t)?e.style.setProperty(t,n):e.style[t]=n}const CW={};function xI(e,t){const n=W2(e);return()=>CW[t]??n()}const EW=xI(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),bI=xI(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),bu=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,sC={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:bu([0,.65,.55,1]),circOut:bu([.55,0,1,.45]),backIn:bu([.31,.01,.66,-.59]),backOut:bu([.33,1.53,.69,.99])};function wI(e,t){if(e)return typeof e=="function"?bI()?hI(e,t):"ease-out":sI(e)?bu(e):Array.isArray(e)?e.map(n=>wI(n,t)||sC.easeOut):sC[e]}function TW(e,t,n,{delay:s=0,duration:r=300,repeat:o=0,repeatType:c="loop",ease:u="easeOut",times:h}={},f=void 0){const g={[t]:n};h&&(g.offset=h);const v=wI(u,r);Array.isArray(v)&&(g.easing=v);const y={delay:s,duration:r,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:o+1,direction:c==="reverse"?"alternate":"normal"};return f&&(y.pseudoElement=f),e.animate(g,y)}function jI(e){return typeof e=="function"&&"applyToOptions"in e}function AW({type:e,...t}){return jI(e)&&bI()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class kI extends b0{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:n,name:s,keyframes:r,pseudoElement:o,allowFlatten:c=!1,finalKeyframe:u,onComplete:h}=t;this.isPseudoElement=!!o,this.allowFlatten=c,this.options=t,d0(typeof t.type!="string");const f=AW(t);this.animation=TW(n,s,r,f,o),f.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const g=hp(r,this.options,u,this.speed);this.updateMotionValue&&this.updateMotionValue(g),yI(n,s,g),this.animation.cancel()}h?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const t=this.options?.element;!this.isPseudoElement&&t?.isConnected&&this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return ia(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+ia(t)}get time(){return ia(Number(this.animation.currentTime)||0)}set time(t){const n=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Us(t),n&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:n,rangeEnd:s,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&EW()?(this.animation.timeline=t,n&&(this.animation.rangeStart=n),s&&(this.animation.rangeEnd=s),ca):r(this)}}const NI={anticipate:Q2,backInOut:J2,circInOut:tI};function MW(e){return e in NI}function RW(e){typeof e.ease=="string"&&MW(e.ease)&&(e.ease=NI[e.ease])}const oy=10;class IW extends kI{constructor(t){RW(t),pI(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:s,onComplete:r,element:o,...c}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const u=new Nm({...c,autoplay:!1}),h=Math.max(oy,fs.now()-this.startTime),f=nr(0,oy,h-oy),g=u.sample(h).value,{name:v}=this.options;o&&v&&yI(o,v,g),n.setWithVelocity(u.sample(Math.max(0,h-f)).value,g,f),u.stop()}}const aC=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Ea.test(e)||e==="0")&&!e.startsWith("url("));function _W(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function OW(e,t,n,s){const r=e[0];if(r===null)return!1;if(t==="display"||t==="visibility")return!0;const o=e[e.length-1],c=aC(r,t),u=aC(o,t);return!c||!u?!1:_W(e)||(n==="spring"||jI(n))&&s}function Ix(e){e.duration=0,e.type="keyframes"}const SI=new Set(["opacity","clipPath","filter","transform"]),$W=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function PW(e){for(let t=0;t<e.length;t++)if(typeof e[t]=="string"&&$W.test(e[t]))return!0;return!1}const DW=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),LW=W2(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function zW(e){const{motionValue:t,name:n,repeatDelay:s,repeatType:r,damping:o,type:c,keyframes:u}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:f,transformTemplate:g}=t.owner.getProps();return LW()&&n&&(SI.has(n)||DW.has(n)&&PW(u))&&(n!=="transform"||!g)&&!f&&!s&&r!=="mirror"&&o!==0&&c!=="inertia"}const BW=40;class UW extends b0{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:c="loop",keyframes:u,name:h,motionValue:f,element:g,...v}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=fs.now();const y={autoplay:t,delay:n,type:s,repeat:r,repeatDelay:o,repeatType:c,name:h,motionValue:f,element:g,...v},x=g?.KeyframeResolver||w0;this.keyframeResolver=new x(u,(w,k,C)=>this.onKeyframesResolved(w,k,y,!C),h,f,g),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,s,r){this.keyframeResolver=void 0;const{name:o,type:c,velocity:u,delay:h,isHandoff:f,onUpdate:g}=s;this.resolvedAt=fs.now();let v=!0;OW(t,o,c,u)||(v=!1,(ki.instantAnimations||!h)&&g?.(hp(t,s,n)),t[0]=t[t.length-1],Ix(s),s.repeat=0);const x={startTime:r?this.resolvedAt?this.resolvedAt-this.createdAt>BW?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},w=v&&!f&&zW(x),k=x.motionValue?.owner?.current;let C;if(w)try{C=new IW({...x,element:k})}catch{C=new Nm(x)}else C=new Nm(x);C.finished.then(()=>{this.notifyFinished()}).catch(ca),this.pendingTimeline&&(this.stopTimeline=C.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=C}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),NW()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function CI(e,t,n,s=0,r=1){const o=Array.from(e).sort((f,g)=>f.sortNodePosition(g)).indexOf(t),c=e.size,u=(c-1)*s;return typeof n=="function"?n(o,c):r===1?o*s:u-o*s}const rC=30,VW=e=>!isNaN(parseFloat(e));class FW{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const r=fs.now();if(this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=fs.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=VW(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new f0);const s=this.events[t].add(n);return t==="change"?()=>{s(),tn.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=fs.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>rC)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,rC);return G2(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function tc(e,t){return new FW(e,t)}function EI(e,t){if(e?.inherit&&t){const{inherit:n,...s}=e;return{...t,...s}}return e}function j0(e,t){const n=e?.[t]??e?.default??e;return n!==e?EI(n,e):n}const HW={type:"spring",stiffness:500,damping:25,restSpeed:10},qW=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),WW={type:"keyframes",duration:.8},GW={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ZW=(e,{keyframes:t})=>t.length>2?WW:pc.has(e)?e.startsWith("scale")?qW(t[1]):HW:GW,KW=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function YW(e){for(const t in e)if(!KW.has(t))return!0;return!1}const k0=(e,t,n,s={},r,o)=>c=>{const u=j0(s,e)||{},h=u.delay||s.delay||0;let{elapsed:f=0}=s;f=f-Us(h);const g={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...u,delay:-f,onUpdate:y=>{t.set(y),u.onUpdate&&u.onUpdate(y)},onComplete:()=>{c(),u.onComplete&&u.onComplete()},name:e,motionValue:t,element:o?void 0:r};YW(u)||Object.assign(g,ZW(e,g)),g.duration&&(g.duration=Us(g.duration)),g.repeatDelay&&(g.repeatDelay=Us(g.repeatDelay)),g.from!==void 0&&(g.keyframes[0]=g.from);let v=!1;if((g.type===!1||g.duration===0&&!g.repeatDelay)&&(Ix(g),g.delay===0&&(v=!0)),(ki.instantAnimations||ki.skipAnimations||r?.shouldSkipAnimations||u.skipAnimations)&&(v=!0,Ix(g),g.delay=0),g.allowFlatten=!u.type&&!u.ease,v&&!o&&t.get()!==void 0){const y=hp(g.keyframes,u);if(y!==void 0){tn.update(()=>{g.onUpdate(y),g.onComplete()});return}}return u.isSync?new Nm(g):new UW(g)},XW=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function JW(e){const t=XW.exec(e);if(!t)return[,];const[,n,s,r]=t;return[`--${n??s}`,r]}function TI(e,t,n=1){const[s,r]=JW(e);if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const c=o.trim();return F2(c)?parseFloat(c):c}return p0(r)?TI(r,t,n+1):r}function iC(e){const t=[{},{}];return e?.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function N0(e,t,n,s){if(typeof t=="function"){const[r,o]=iC(s);t=t(n!==void 0?n:e.custom,r,o)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,o]=iC(s);t=t(n!==void 0?n:e.custom,r,o)}return t}function yo(e,t,n){const s=e.getProps();return N0(s,t,n!==void 0?n:s.custom,e)}const AI=new Set(["width","height","top","left","right","bottom",...mc]),_x=e=>Array.isArray(e);function QW(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,tc(n))}function eG(e){return _x(e)?e[e.length-1]||0:e}function tG(e,t){const n=yo(e,t);let{transitionEnd:s={},transition:r={},...o}=n||{};o={...o,...s};for(const c in o){const u=eG(o[c]);QW(e,c,u)}}const es=e=>!!(e&&e.getVelocity);function nG(e){return!!(es(e)&&e.add)}function Ox(e,t){const n=e.getValue("willChange");if(nG(n))return n.add(t);if(!n&&ki.WillChange){const s=new ki.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function S0(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const sG="framerAppearId",MI="data-"+S0(sG);function RI(e){return e.props[MI]}function aG({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function II(e,t,{delay:n=0,transitionOverride:s,type:r}={}){let{transition:o,transitionEnd:c,...u}=t;const h=e.getDefaultTransition();o=o?EI(o,h):h;const f=o?.reduceMotion,g=o?.skipAnimations;s&&(o=s);const v=[],y=r&&e.animationState&&e.animationState.getState()[r],x=o?.path;x&&x.animateVisualElement(e,u,o,n,v);for(const w in u){const k=e.getValue(w,e.latestValues[w]??null),C=u[w];if(C===void 0||y&&aG(y,w))continue;const T={delay:n,...j0(o||{},w)};g&&(T.skipAnimations=!0);const S=k.get();if(S!==void 0&&!k.isAnimating()&&!Array.isArray(C)&&C===S&&!T.velocity){tn.update(()=>k.set(C));continue}let N=!1;if(window.MotionHandoffAnimation){const R=RI(e);if(R){const M=window.MotionHandoffAnimation(R,w,tn);M!==null&&(T.startTime=M,N=!0)}}Ox(e,w);const E=f??e.shouldReduceMotion;k.start(k0(w,k,C,E&&AI.has(w)?{type:!1}:T,e,N));const A=k.animation;A&&v.push(A)}if(c){const w=()=>tn.update(()=>{c&&tG(e,c)});v.length?Promise.all(v).then(w):w()}return v}function $x(e,t,n={}){const s=yo(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(r=n.transitionOverride);const o=s?()=>Promise.all(II(e,s,n)):()=>Promise.resolve(),c=e.variantChildren&&e.variantChildren.size?(h=0)=>{const{delayChildren:f=0,staggerChildren:g,staggerDirection:v}=r;return rG(e,t,h,f,g,v,n)}:()=>Promise.resolve(),{when:u}=r;if(u){const[h,f]=u==="beforeChildren"?[o,c]:[c,o];return h().then(()=>f())}else return Promise.all([o(),c(n.delay)])}function rG(e,t,n=0,s=0,r=0,o=1,c){const u=[];for(const h of e.variantChildren)h.notify("AnimationStart",t),u.push($x(h,t,{...c,delay:n+(typeof s=="function"?0:s)+CI(e.variantChildren,h,s,r,o)}).then(()=>h.notify("AnimationComplete",t)));return Promise.all(u)}function iG(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const r=t.map(o=>$x(e,o,n));s=Promise.all(r)}else if(typeof t=="string")s=$x(e,t,n);else{const r=typeof t=="function"?yo(e,t,n.custom):t;s=Promise.all(II(e,r,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}const oG={test:e=>e==="auto",parse:e=>e},_I=e=>t=>t.test(e),OI=[hc,Ze,Qa,Sr,_q,Iq,oG],oC=e=>OI.find(_I(e));function lG(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||q2(e):!0}const cG=new Set(["brightness","contrast","saturate","opacity"]);function uG(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(g0)||[];if(!s)return e;const r=n.replace(s,"");let o=cG.has(t)?1:0;return s!==n&&(o*=100),t+"("+o+r+")"}const dG=/\b([a-z-]*)\(.*?\)/gu,Px={...Ea,getAnimatableNone:e=>{const t=e.match(dG);return t?t.map(uG).join(" "):e}},Dx={...Ea,getAnimatableNone:e=>{const t=Ea.parse(e);return Ea.createTransformer(e)(t.map(s=>typeof s=="number"?0:typeof s=="object"?{...s,alpha:1}:s))}},lC={...hc,transform:Math.round},fG={rotate:Sr,pathRotation:Sr,rotateX:Sr,rotateY:Sr,rotateZ:Sr,scale:Hf,scaleX:Hf,scaleY:Hf,scaleZ:Hf,skew:Sr,skewX:Sr,skewY:Sr,distance:Ze,translateX:Ze,translateY:Ze,translateZ:Ze,x:Ze,y:Ze,z:Ze,perspective:Ze,transformPerspective:Ze,opacity:Yu,originX:ZS,originY:ZS,originZ:Ze},Sm={borderWidth:Ze,borderTopWidth:Ze,borderRightWidth:Ze,borderBottomWidth:Ze,borderLeftWidth:Ze,borderRadius:Ze,borderTopLeftRadius:Ze,borderTopRightRadius:Ze,borderBottomRightRadius:Ze,borderBottomLeftRadius:Ze,width:Ze,maxWidth:Ze,height:Ze,maxHeight:Ze,top:Ze,right:Ze,bottom:Ze,left:Ze,inset:Ze,insetBlock:Ze,insetBlockStart:Ze,insetBlockEnd:Ze,insetInline:Ze,insetInlineStart:Ze,insetInlineEnd:Ze,padding:Ze,paddingTop:Ze,paddingRight:Ze,paddingBottom:Ze,paddingLeft:Ze,paddingBlock:Ze,paddingBlockStart:Ze,paddingBlockEnd:Ze,paddingInline:Ze,paddingInlineStart:Ze,paddingInlineEnd:Ze,margin:Ze,marginTop:Ze,marginRight:Ze,marginBottom:Ze,marginLeft:Ze,marginBlock:Ze,marginBlockStart:Ze,marginBlockEnd:Ze,marginInline:Ze,marginInlineStart:Ze,marginInlineEnd:Ze,fontSize:Ze,backgroundPositionX:Ze,backgroundPositionY:Ze,...fG,zIndex:lC,fillOpacity:Yu,strokeOpacity:Yu,numOctaves:lC},hG={...Sm,color:$n,backgroundColor:$n,outlineColor:$n,fill:$n,stroke:$n,borderColor:$n,borderTopColor:$n,borderRightColor:$n,borderBottomColor:$n,borderLeftColor:$n,filter:Px,WebkitFilter:Px,mask:Dx,WebkitMask:Dx},$I=e=>hG[e],mG=new Set([Px,Dx]);function PI(e,t){let n=$I(e);return mG.has(n)||(n=Ea),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pG=new Set(["auto","none","0"]);function gG(e,t,n){let s=0,r;for(;s<e.length&&!r;){const o=e[s];typeof o=="string"&&!pG.has(o)&&ec(o).values.length&&(r=e[s]),s++}if(r&&n)for(const o of t)e[o]=PI(n,r)}class vG extends w0{constructor(t,n,s,r,o){super(t,n,s,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let g=0;g<t.length;g++){let v=t[g];if(typeof v=="string"&&(v=v.trim(),p0(v))){const y=TI(v,n.current);y!==void 0&&(t[g]=y),g===t.length-1&&(this.finalKeyframe=v)}}if(this.resolveNoneKeyframes(),!AI.has(s)||t.length!==2)return;const[r,o]=t,c=oC(r),u=oC(o),h=GS(r),f=GS(o);if(h!==f&&mi[s]){this.needsMeasurement=!0;return}if(c!==u)if(nC(c)&&nC(u))for(let g=0;g<t.length;g++){const v=t[g];typeof v=="string"&&(t[g]=parseFloat(v))}else mi[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,s=[];for(let r=0;r<t.length;r++)(t[r]===null||lG(t[r]))&&s.push(r);s.length&&gG(t,s,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:s}=this;if(!t||!t.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=mi[s](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const r=n[n.length-1];r!==void 0&&t.getValue(s,r).jump(r,!1)}measureEndState(){const{element:t,name:n,unresolvedKeyframes:s}=this;if(!t||!t.current)return;const r=t.getValue(n);r&&r.jump(this.measuredOrigin,!1);const o=s.length-1,c=s[o];s[o]=mi[n](t.measureViewportBox(),window.getComputedStyle(t.current)),c!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=c),this.removedTransforms?.length&&this.removedTransforms.forEach(([u,h])=>{t.getValue(u).set(h)}),this.resolveNoneKeyframes()}}function DI(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const r=n?.[e]??s.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e).filter(s=>s!=null)}const Lx=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function Ih(e){return H2(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const{schedule:C0}=aI(queueMicrotask,!1),ka={x:!1,y:!1};function LI(){return ka.x||ka.y}function yG(e){return e==="x"||e==="y"?ka[e]?null:(ka[e]=!0,()=>{ka[e]=!1}):ka.x||ka.y?null:(ka.x=ka.y=!0,()=>{ka.x=ka.y=!1})}function zI(e,t){const n=DI(e),s=new AbortController,r={passive:!0,...t,signal:s.signal};return[n,r,()=>s.abort()]}function xG(e){return!(e.pointerType==="touch"||LI())}function bG(e,t,n={}){const[s,r,o]=zI(e,n);return s.forEach(c=>{let u=!1,h=!1,f;const g=()=>{c.removeEventListener("pointerleave",w)},v=C=>{f&&(f(C),f=void 0),g()},y=C=>{u=!1,window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y),h&&(h=!1,v(C))},x=()=>{u=!0,window.addEventListener("pointerup",y,r),window.addEventListener("pointercancel",y,r)},w=C=>{if(C.pointerType!=="touch"){if(u){h=!0;return}v(C)}},k=C=>{if(!xG(C))return;h=!1;const T=t(c,C);typeof T=="function"&&(f=T,c.addEventListener("pointerleave",w,r))};c.addEventListener("pointerenter",k,r),c.addEventListener("pointerdown",x,r)}),o}const BI=(e,t)=>t?e===t?!0:BI(e,t.parentElement):!1,E0=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,wG=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function jG(e){return wG.has(e.tagName)||e.isContentEditable===!0}const kG=new Set(["INPUT","SELECT","TEXTAREA"]);function NG(e){return kG.has(e.tagName)||e.isContentEditable===!0}const _h=new WeakSet;function cC(e){return t=>{t.key==="Enter"&&e(t)}}function ly(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const SG=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=cC(()=>{if(_h.has(n))return;ly(n,"down");const r=cC(()=>{ly(n,"up")}),o=()=>ly(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",o,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function uC(e){return E0(e)&&!LI()}const dC=new WeakSet;function CG(e,t,n={}){const[s,r,o]=zI(e,n),c=u=>{const h=u.currentTarget;if(!uC(u)||dC.has(u))return;_h.add(h),n.stopPropagation&&dC.add(u);const f=t(h,u),g=(x,w)=>{window.removeEventListener("pointerup",v),window.removeEventListener("pointercancel",y),_h.has(h)&&_h.delete(h),uC(x)&&typeof f=="function"&&f(x,{success:w})},v=x=>{g(x,h===window||h===document||n.useGlobalTarget||BI(h,x.target))},y=x=>{g(x,!1)};window.addEventListener("pointerup",v,r),window.addEventListener("pointercancel",y,r)};return s.forEach(u=>{(n.useGlobalTarget?window:u).addEventListener("pointerdown",c,r),Ih(u)&&(u.addEventListener("focus",f=>SG(f,r)),!jG(u)&&!u.hasAttribute("tabindex")&&(u.tabIndex=0))}),o}function T0(e){return H2(e)&&"ownerSVGElement"in e}const Oh=new WeakMap;let $h;const UI=(e,t,n)=>(s,r)=>r&&r[0]?r[0][e+"Size"]:T0(s)&&"getBBox"in s?s.getBBox()[t]:s[n],EG=UI("inline","width","offsetWidth"),TG=UI("block","height","offsetHeight");function AG({target:e,borderBoxSize:t}){Oh.get(e)?.forEach(n=>{n(e,{get width(){return EG(e,t)},get height(){return TG(e,t)}})})}function MG(e){e.forEach(AG)}function RG(){typeof ResizeObserver>"u"||($h=new ResizeObserver(MG))}function IG(e,t){$h||RG();const n=DI(e);return n.forEach(s=>{let r=Oh.get(s);r||(r=new Set,Oh.set(s,r)),r.add(t),$h?.observe(s)}),()=>{n.forEach(s=>{const r=Oh.get(s);r?.delete(t),r?.size||$h?.unobserve(s)})}}const Ph=new Set;let _l;function _G(){_l=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Ph.forEach(t=>t(e))},window.addEventListener("resize",_l)}function OG(e){return Ph.add(e),_l||_G(),()=>{Ph.delete(e),!Ph.size&&typeof _l=="function"&&(window.removeEventListener("resize",_l),_l=void 0)}}function fC(e,t){return typeof e=="function"?OG(e):IG(e,t)}function $G(e){return T0(e)&&e.tagName==="svg"}const PG=[...OI,$n,Ea],DG=e=>PG.find(_I(e)),hC=()=>({translate:0,scale:1,origin:0,originPoint:0}),Ol=()=>({x:hC(),y:hC()}),mC=()=>({min:0,max:0}),Bn=()=>({x:mC(),y:mC()}),LG=new WeakMap;function mp(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Xu(e){return typeof e=="string"||Array.isArray(e)}const A0=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],M0=["initial",...A0];function pp(e){return mp(e.animate)||M0.some(t=>Xu(e[t]))}function VI(e){return!!(pp(e)||e.variants)}function zG(e,t,n){for(const s in t){const r=t[s],o=n[s];if(es(r))e.addValue(s,r);else if(es(o))e.addValue(s,tc(r,{owner:e}));else if(o!==r)if(e.hasValue(s)){const c=e.getValue(s);c.liveStyle===!0?c.jump(r):c.hasAnimated||c.set(r)}else{const c=e.getStaticValue(s);e.addValue(s,tc(c!==void 0?c:r,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const zx={current:null},FI={current:!1},BG=typeof window<"u";function UG(){if(FI.current=!0,!!BG)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>zx.current=e.matches;e.addEventListener("change",t),t()}else zx.current=!1}const pC=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Cm={};function HI(e){Cm=e}function VG(){return Cm}class FG{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:r,skipAnimations:o,blockInitialAnimation:c,visualState:u},h={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=w0,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const x=fs.now();this.renderScheduledAt<x&&(this.renderScheduledAt=x,tn.render(this.render,!1,!0))};const{latestValues:f,renderState:g}=u;this.latestValues=f,this.baseTarget={...f},this.initialValues=n.initial?{...f}:{},this.renderState=g,this.parent=t,this.props=n,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=o,this.options=h,this.blockInitialAnimation=!!c,this.isControllingVariants=pp(n),this.isVariantNode=VI(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:v,...y}=this.scrapeMotionValuesFromProps(n,{},this);for(const x in y){const w=y[x];f[x]!==void 0&&es(w)&&w.set(f[x])}}mount(t){if(this.hasBeenMounted)for(const n in this.initialValues)this.values.get(n)?.jump(this.initialValues[n]),this.latestValues[n]=this.initialValues[n];this.current=t,LG.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(FI.current||UG(),this.shouldReduceMotion=zx.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Ni(this.notifyUpdate),Ni(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,n){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),n.accelerate&&SI.has(t)&&this.current instanceof HTMLElement){const{factory:c,keyframes:u,times:h,ease:f,duration:g}=n.accelerate,v=new kI({element:this.current,name:t,keyframes:u,times:h,ease:f,duration:Us(g)}),y=c(v);this.valueSubscriptions.set(t,()=>{y(),v.cancel()});return}const s=pc.has(t);s&&this.onBindTransform&&this.onBindTransform();const r=n.on("change",c=>{this.latestValues[t]=c,this.props.onUpdate&&tn.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let o;typeof window<"u"&&window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),o&&o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Cm){const n=Cm[t];if(!n)continue;const{isEnabled:s,Feature:r}=n;if(!this.features[t]&&r&&s(this.props)&&(this.features[t]=new r(this)),this.features[t]){const o=this.features[t];o.isMounted?o.update():(o.mount(),o.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<pC.length;s++){const r=pC[s];this.propEventSubscriptions[r]&&(this.propEventSubscriptions[r](),delete this.propEventSubscriptions[r]);const o="on"+r,c=t[o];c&&(this.propEventSubscriptions[r]=this.on(r,c))}this.prevMotionValues=zG(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(t),()=>n.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&n!==void 0&&(s=tc(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(F2(s)||q2(s))?s=parseFloat(s):!DG(s)&&Ea.test(n)&&(s=PI(t,n)),this.setBaseTarget(t,es(s)?s.get():s)),es(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const o=N0(this.props,n,this.presenceContext?.custom);o&&(s=o[t])}if(n&&s!==void 0)return s;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!es(r)?r:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new f0),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){C0.render(this.render)}}class qI extends FG{constructor(){super(...arguments),this.KeyframeResolver=vG}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){const s=t.style;return s?s[n]:void 0}removeValueFromRenderState(t,{vars:n,style:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;es(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class Oi{constructor(t){this.isMounted=!1,this.node=t}update(){}}function WI({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function HG({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function qG(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function cy(e){return e===void 0||e===1}function Bx({scale:e,scaleX:t,scaleY:n}){return!cy(e)||!cy(t)||!cy(n)}function oo(e){return Bx(e)||GI(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function GI(e){return gC(e.x)||gC(e.y)}function gC(e){return e&&e!=="0%"}function Em(e,t,n){const s=e-n,r=t*s;return n+r}function vC(e,t,n,s,r){return r!==void 0&&(e=Em(e,r,s)),Em(e,n,s)+t}function Ux(e,t=0,n=1,s,r){e.min=vC(e.min,t,n,s,r),e.max=vC(e.max,t,n,s,r)}function ZI(e,{x:t,y:n}){Ux(e.x,t.translate,t.scale,t.originPoint),Ux(e.y,n.translate,n.scale,n.originPoint)}const yC=.999999999999,xC=1.0000000000001;function WG(e,t,n,s=!1){const r=n.length;if(!r)return;t.x=t.y=1;let o,c;for(let u=0;u<r;u++){o=n[u],c=o.projectionDelta;const{visualElement:h}=o.options;h&&h.props.style&&h.props.style.display==="contents"||(s&&o.options.layoutScroll&&o.scroll&&o!==o.root&&(Za(e.x,-o.scroll.offset.x),Za(e.y,-o.scroll.offset.y)),c&&(t.x*=c.x.scale,t.y*=c.y.scale,ZI(e,c)),s&&oo(o.latestValues)&&Dh(e,o.latestValues,o.layout?.layoutBox))}t.x<xC&&t.x>yC&&(t.x=1),t.y<xC&&t.y>yC&&(t.y=1)}function Za(e,t){e.min+=t,e.max+=t}function bC(e,t,n,s,r=.5){const o=Qt(e.min,e.max,r);Ux(e,t,n,o,s)}function wC(e,t){return typeof e=="string"?parseFloat(e)/100*(t.max-t.min):e}function Dh(e,t,n){const s=n??e;bC(e.x,wC(t.x,s.x),t.scaleX,t.scale,t.originX),bC(e.y,wC(t.y,s.y),t.scaleY,t.scale,t.originY)}function KI(e,t){return WI(qG(e.getBoundingClientRect(),t))}function GG(e,t,n){const s=KI(e,n),{scroll:r}=t;return r&&(Za(s.x,r.offset.x),Za(s.y,r.offset.y)),s}const ZG={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},KG=mc.length;function YG(e,t,n){let s="",r=!0;for(let c=0;c<KG;c++){const u=mc[c],h=e[u];if(h===void 0)continue;let f=!0;if(typeof h=="number")f=h===(u.startsWith("scale")?1:0);else{const g=parseFloat(h);f=u.startsWith("scale")?g===1:g===0}if(!f||n){const g=Lx(h,Sm[u]);if(!f){r=!1;const v=ZG[u]||u;s+=`${v}(${g}) `}n&&(t[u]=g)}}const o=e.pathRotation;return o&&(r=!1,s+=`rotate(${Lx(o,Sm.pathRotation)}) `),s=s.trim(),n?s=n(t,r?"":s):r&&(s="none"),s}function R0(e,t,n){const{style:s,vars:r,transformOrigin:o}=e;let c=!1,u=!1;for(const h in t){const f=t[h];if(pc.has(h)){c=!0;continue}else if(iI(h)){r[h]=f;continue}else{const g=Lx(f,Sm[h]);h.startsWith("origin")?(u=!0,o[h]=g):s[h]=g}}if(t.transform||(c||n?s.transform=YG(t,e.transform,n):s.transform&&(s.transform="none")),u){const{originX:h="50%",originY:f="50%",originZ:g=0}=o;s.transformOrigin=`${h} ${f} ${g}`}}function YI(e,{style:t,vars:n},s,r){const o=e.style;let c;for(c in t)o[c]=t[c];r?.applyProjectionStyles(o,s);for(c in n)o.setProperty(c,n[c])}function jC(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const ou={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Ze.test(e))e=parseFloat(e);else return e;const n=jC(e,t.target.x),s=jC(e,t.target.y);return`${n}% ${s}%`}},XG={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,r=Ea.parse(e);if(r.length>5)return s;const o=Ea.createTransformer(e),c=typeof r[0]!="number"?1:0,u=n.x.scale*t.x,h=n.y.scale*t.y;r[0+c]/=u,r[1+c]/=h;const f=Qt(u,h,.5);return typeof r[2+c]=="number"&&(r[2+c]/=f),typeof r[3+c]=="number"&&(r[3+c]/=f),o(r)}},Vx={borderRadius:{...ou,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ou,borderTopRightRadius:ou,borderBottomLeftRadius:ou,borderBottomRightRadius:ou,boxShadow:XG};function XI(e,{layout:t,layoutId:n}){return pc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Vx[e]||e==="opacity")}function I0(e,t,n){const s=e.style,r=t?.style,o={};if(!s)return o;for(const c in s)(es(s[c])||r&&es(r[c])||XI(c,e)||n?.getValue(c)?.liveStyle!==void 0)&&(o[c]=s[c]);return o}function JG(e){return window.getComputedStyle(e)}class QG extends qI{constructor(){super(...arguments),this.type="html",this.renderInstance=YI}readValueFromInstance(t,n){if(pc.has(n))return this.projection?.isProjecting?Ex(n):xW(t,n);{const s=JG(t),r=(iI(n)?s.getPropertyValue(n):s[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return KI(t,n)}build(t,n,s){R0(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return I0(t,n,s)}}const eZ={offset:"stroke-dashoffset",array:"stroke-dasharray"},tZ={offset:"strokeDashoffset",array:"strokeDasharray"};function nZ(e,t,n=1,s=0,r=!0){e.pathLength=1;const o=r?eZ:tZ;e[o.offset]=`${-s}`,e[o.array]=`${t} ${n}`}const sZ=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function JI(e,{attrX:t,attrY:n,attrScale:s,pathLength:r,pathSpacing:o=1,pathOffset:c=0,...u},h,f,g){if(R0(e,u,f),h){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:v,style:y}=e;v.transform&&(y.transform=v.transform,delete v.transform),(y.transform||v.transformOrigin)&&(y.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),y.transform&&(y.transformBox=g?.transformBox??"fill-box",delete v.transformBox);for(const x of sZ)v[x]!==void 0&&(y[x]=v[x],delete v[x]);t!==void 0&&(v.x=t),n!==void 0&&(v.y=n),s!==void 0&&(v.scale=s),r!==void 0&&nZ(v,r,o,c,!1)}const QI=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),e_=e=>typeof e=="string"&&e.toLowerCase()==="svg";function aZ(e,t,n,s){YI(e,t,void 0,s);for(const r in t.attrs)e.setAttribute(QI.has(r)?r:S0(r),t.attrs[r])}function t_(e,t,n){const s=I0(e,t,n);for(const r in e)if(es(e[r])||es(t[r])){const o=mc.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;s[o]=e[r]}return s}class rZ extends qI{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Bn}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(pc.has(n)){const s=$I(n);return s&&s.default||0}return n=QI.has(n)?n:S0(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return t_(t,n,s)}build(t,n,s){JI(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,r){aZ(t,n,s,r)}mount(t){this.isSVGTag=e_(t.tagName),super.mount(t)}}const iZ=M0.length;function n_(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?n_(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<iZ;n++){const s=M0[n],r=e.props[s];(Xu(r)||r===!1)&&(t[s]=r)}return t}function s_(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s<n;s++)if(t[s]!==e[s])return!1;return!0}const oZ=[...A0].reverse(),lZ=A0.length;function cZ(e){return t=>Promise.all(t.map(({animation:n,options:s})=>iG(e,n,s)))}function uZ(e){let t=cZ(e),n=kC(),s=!0,r=!1;const o=f=>(g,v)=>{const y=yo(e,v,f==="exit"?e.presenceContext?.custom:void 0);if(y){const{transition:x,transitionEnd:w,...k}=y;g={...g,...k,...w}}return g};function c(f){t=f(e)}function u(f){const{props:g}=e,v=n_(e.parent)||{},y=[],x=new Set;let w={},k=1/0;for(let T=0;T<lZ;T++){const S=oZ[T],N=n[S],E=g[S]!==void 0?g[S]:v[S],A=Xu(E),R=S===f?N.isActive:null;R===!1&&(k=T);let M=E===v[S]&&E!==g[S]&&A;if(M&&(s||r)&&e.manuallyAnimateOnMount&&(M=!1),N.protectedKeys={...w},!N.isActive&&R===null||!E&&!N.prevProp||mp(E)||typeof E=="boolean")continue;if(S==="exit"&&N.isActive&&R!==!0){N.prevResolvedValues&&(w={...w,...N.prevResolvedValues});continue}const $=dZ(N.prevProp,E);let O=$||S===f&&N.isActive&&!M&&A||T>k&&A,U=!1;const _=Array.isArray(E)?E:[E];let z=_.reduce(o(S),{});R===!1&&(z={});const{prevResolvedValues:q={}}=N,V={...q,...z},G=D=>{O=!0,x.has(D)&&(U=!0,x.delete(D)),N.needsAnimating[D]=!0;const K=e.getValue(D);K&&(K.liveStyle=!1)};for(const D in V){const K=z[D],W=q[D];if(w.hasOwnProperty(D))continue;let L=!1;_x(K)&&_x(W)?L=!s_(K,W)||$:L=K!==W,L?K!=null?G(D):x.add(D):K!==void 0&&x.has(D)?G(D):N.protectedKeys[D]=!0}N.prevProp=E,N.prevResolvedValues=z,N.isActive&&(w={...w,...z}),(s||r)&&e.blockInitialAnimation&&(O=!1);const P=M&&$;O&&(!P||U)&&y.push(..._.map(D=>{const K={type:S};if(typeof D=="string"&&(s||r)&&!P&&e.manuallyAnimateOnMount&&e.parent){const{parent:W}=e,L=yo(W,D);if(W.enteringChildren&&L){const{delayChildren:F}=L.transition||{};K.delay=CI(W.enteringChildren,e,F)}}return{animation:D,options:K}}))}if(x.size){const T={};if(typeof g.initial!="boolean"){const S=yo(e,Array.isArray(g.initial)?g.initial[0]:g.initial);S&&S.transition&&(T.transition=S.transition)}x.forEach(S=>{const N=e.getBaseTarget(S),E=e.getValue(S);E&&(E.liveStyle=!0),T[S]=N??null}),y.push({animation:T})}let C=!!y.length;return s&&(g.initial===!1||g.initial===g.animate)&&!e.manuallyAnimateOnMount&&(C=!1),s=!1,r=!1,C?t(y):Promise.resolve()}function h(f,g){if(n[f].isActive===g)return Promise.resolve();e.variantChildren?.forEach(y=>y.animationState?.setActive(f,g)),n[f].isActive=g;const v=u(f);for(const y in n)n[y].protectedKeys={};return v}return{animateChanges:u,setActive:h,setAnimateFunction:c,getState:()=>n,reset:()=>{n=kC(),r=!0}}}function dZ(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!s_(t,e):!1}function no(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function kC(){return{animate:no(!0),whileInView:no(),whileHover:no(),whileTap:no(),whileDrag:no(),whileFocus:no(),exit:no()}}function Fx(e,t){e.min=t.min,e.max=t.max}function ja(e,t){Fx(e.x,t.x),Fx(e.y,t.y)}function NC(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const a_=1e-4,fZ=1-a_,hZ=1+a_,r_=.01,mZ=0-r_,pZ=0+r_;function hs(e){return e.max-e.min}function gZ(e,t,n){return Math.abs(e-t)<=n}function SC(e,t,n,s=.5){e.origin=s,e.originPoint=Qt(t.min,t.max,e.origin),e.scale=hs(n)/hs(t),e.translate=Qt(n.min,n.max,e.origin)-e.originPoint,(e.scale>=fZ&&e.scale<=hZ||isNaN(e.scale))&&(e.scale=1),(e.translate>=mZ&&e.translate<=pZ||isNaN(e.translate))&&(e.translate=0)}function Iu(e,t,n,s){SC(e.x,t.x,n.x,s?s.originX:void 0),SC(e.y,t.y,n.y,s?s.originY:void 0)}function CC(e,t,n,s=0){const r=s?Qt(n.min,n.max,s):n.min;e.min=r+t.min,e.max=e.min+hs(t)}function vZ(e,t,n,s){CC(e.x,t.x,n.x,s?.x),CC(e.y,t.y,n.y,s?.y)}function EC(e,t,n,s=0){const r=s?Qt(n.min,n.max,s):n.min;e.min=t.min-r,e.max=e.min+hs(t)}function Tm(e,t,n,s){EC(e.x,t.x,n.x,s?.x),EC(e.y,t.y,n.y,s?.y)}function TC(e,t,n,s,r){return e-=t,e=Em(e,1/n,s),r!==void 0&&(e=Em(e,1/r,s)),e}function yZ(e,t=0,n=1,s=.5,r,o=e,c=e){if(Qa.test(t)&&(t=parseFloat(t),t=Qt(c.min,c.max,t/100)-c.min),typeof t!="number")return;let u=Qt(o.min,o.max,s);e===o&&(u-=t),e.min=TC(e.min,t,n,u,r),e.max=TC(e.max,t,n,u,r)}function AC(e,t,[n,s,r],o,c){yZ(e,t[n],t[s],t[r],t.scale,o,c)}const xZ=["x","scaleX","originX"],bZ=["y","scaleY","originY"];function MC(e,t,n,s){AC(e.x,t,xZ,n?n.x:void 0,s?s.x:void 0),AC(e.y,t,bZ,n?n.y:void 0,s?s.y:void 0)}function RC(e){return e.translate===0&&e.scale===1}function i_(e){return RC(e.x)&&RC(e.y)}function IC(e,t){return e.min===t.min&&e.max===t.max}function wZ(e,t){return IC(e.x,t.x)&&IC(e.y,t.y)}function _C(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function o_(e,t){return _C(e.x,t.x)&&_C(e.y,t.y)}function OC(e){return hs(e.x)/hs(e.y)}function $C(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Ha(e){return[e("x"),e("y")]}function jZ(e,t,n){let s="";const r=e.x.translate/t.x,o=e.y.translate/t.y,c=n?.z||0;if((r||o||c)&&(s=`translate3d(${r}px, ${o}px, ${c}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:f,rotate:g,pathRotation:v,rotateX:y,rotateY:x,skewX:w,skewY:k}=n;f&&(s=`perspective(${f}px) ${s}`),g&&(s+=`rotate(${g}deg) `),v&&(s+=`rotate(${v}deg) `),y&&(s+=`rotateX(${y}deg) `),x&&(s+=`rotateY(${x}deg) `),w&&(s+=`skewX(${w}deg) `),k&&(s+=`skewY(${k}deg) `)}const u=e.x.scale*t.x,h=e.y.scale*t.y;return(u!==1||h!==1)&&(s+=`scale(${u}, ${h})`),s||"none"}const l_=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],kZ=l_.length,PC=e=>typeof e=="string"?parseFloat(e):e,DC=e=>typeof e=="number"||Ze.test(e);function NZ(e,t,n,s,r,o){r?(e.opacity=Qt(0,n.opacity??1,SZ(s)),e.opacityExit=Qt(t.opacity??1,0,CZ(s))):o&&(e.opacity=Qt(t.opacity??1,n.opacity??1,s));for(let c=0;c<kZ;c++){const u=l_[c];let h=LC(t,u),f=LC(n,u);if(h===void 0&&f===void 0)continue;h||(h=0),f||(f=0),h===0||f===0||DC(h)===DC(f)?(e[u]=Math.max(Qt(PC(h),PC(f),s),0),(Qa.test(f)||Qa.test(h))&&(e[u]+="%")):e[u]=f}(t.rotate||n.rotate)&&(e.rotate=Qt(t.rotate||0,n.rotate||0,s))}function LC(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const SZ=c_(0,.5,eI),CZ=c_(.5,.95,ca);function c_(e,t,n){return s=>s<e?0:s>t?1:n(Ku(e,t,s))}function EZ(e,t,n){const s=es(e)?e:tc(e);return s.start(k0("",s,t,n)),s.animation}function Ju(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}const TZ=(e,t)=>e.depth-t.depth;class AZ{constructor(){this.children=[],this.isDirty=!1}add(t){u0(this.children,t),this.isDirty=!0}remove(t){bm(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(TZ),this.isDirty=!1,this.children.forEach(t)}}function MZ(e,t){const n=fs.now(),s=({timestamp:r})=>{const o=r-n;o>=t&&(Ni(s),e(o-t))};return tn.setup(s,!0),()=>Ni(s)}function Lh(e){return es(e)?e.get():e}class RZ{constructor(){this.members=[]}add(t){u0(this.members,t);for(let n=this.members.length-1;n>=0;n--){const s=this.members[n];if(s===t||s===this.lead||s===this.prevLead)continue;const r=s.instance;(!r||r.isConnected===!1)&&!s.snapshot&&(bm(this.members,s),s.unmount())}t.scheduleRender()}remove(t){if(bm(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){for(let n=this.members.indexOf(t)-1;n>=0;n--){const s=this.members[n];if(s.isPresent!==!1&&s.instance?.isConnected!==!1)return this.promote(s),!0}return!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.updateSnapshot(),t.scheduleRender();const{layoutDependency:r}=s.options,{layoutDependency:o}=t.options;(r===void 0||r!==o)&&(t.resumeFrom=s,n&&(s.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root?.isUpdating&&(t.isLayoutDirty=!0)),t.options.crossfade===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{t.options.onExitComplete?.(),t.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const zh={hasAnimatedSinceResize:!0,hasEverUpdated:!1},uy=["","X","Y","Z"],IZ=1e3;let _Z=0;function dy(e,t,n,s){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),s&&(s[e]=0))}function u_(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=RI(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:o}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",tn,!(r||o))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&u_(s)}function d_({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:r}){return class{constructor(c={},u=t?.()){this.id=_Z++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(PZ),this.nodes.forEach(VZ),this.nodes.forEach(FZ),this.nodes.forEach(DZ)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=c,this.root=u?u.root||u:this,this.path=u?[...u.path,u]:[],this.parent=u,this.depth=u?u.depth+1:0;for(let h=0;h<this.path.length;h++)this.path[h].shouldResetTransform=!0;this.root===this&&(this.nodes=new AZ)}addEventListener(c,u){return this.eventHandlers.has(c)||this.eventHandlers.set(c,new f0),this.eventHandlers.get(c).add(u)}notifyListeners(c,...u){const h=this.eventHandlers.get(c);h&&h.notify(...u)}hasListeners(c){return this.eventHandlers.has(c)}mount(c){if(this.instance)return;this.isSVG=T0(c)&&!$G(c),this.instance=c;const{layoutId:u,layout:h,visualElement:f}=this.options;if(f&&!f.current&&f.mount(c),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(h||u)&&(this.isLayoutDirty=!0),e){let g,v=0;const y=()=>this.root.updateBlockedByResize=!1;tn.read(()=>{v=window.innerWidth}),e(c,()=>{const x=window.innerWidth;x!==v&&(v=x,this.root.updateBlockedByResize=!0,g&&g(),g=MZ(y,250),zh.hasAnimatedSinceResize&&(zh.hasAnimatedSinceResize=!1,this.nodes.forEach(UC)))})}u&&this.root.registerSharedNode(u,this),this.options.animate!==!1&&f&&(u||h)&&this.addEventListener("didUpdate",({delta:g,hasLayoutChanged:v,hasRelativeLayoutChanged:y,layout:x})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||f.getDefaultTransition()||ZZ,{onLayoutAnimationStart:k,onLayoutAnimationComplete:C}=f.getProps(),T=!this.targetLayout||!o_(this.targetLayout,x),S=!v&&y;if(this.options.layoutRoot||this.resumeFrom||S||v&&(T||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const N={...j0(w,"layout"),onPlay:k,onComplete:C};(f.shouldReduceMotion||this.options.layoutRoot)&&(N.delay=0,N.type=!1),this.startAnimation(N),this.setAnimationOrigin(g,S,N.path)}else v||UC(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=x})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const c=this.getStack();c&&c.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Ni(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(HZ),this.animationId++)}getTransformTemplate(){const{visualElement:c}=this.options;return c&&c.getProps().transformTemplate}willUpdate(c=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&u_(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let g=0;g<this.path.length;g++){const v=this.path[g];v.shouldResetTransform=!0,(typeof v.latestValues.x=="string"||typeof v.latestValues.y=="string")&&(v.isLayoutDirty=!0),v.updateScroll("snapshot"),v.options.layoutRoot&&v.willUpdate(!1)}const{layoutId:u,layout:h}=this.options;if(u===void 0&&!h)return;const f=this.getTransformTemplate();this.prevTransformTemplateValue=f?f(this.latestValues,""):void 0,this.updateSnapshot(),c&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const h=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),h&&this.nodes.forEach(zZ),this.nodes.forEach(zC);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(BC);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(BZ),this.nodes.forEach(UZ),this.nodes.forEach(OZ),this.nodes.forEach($Z)):this.nodes.forEach(BC),this.clearAllSnapshots();const u=fs.now();Xn.delta=nr(0,1e3/60,u-Xn.timestamp),Xn.timestamp=u,Xn.isProcessing=!0,ny.update.process(Xn),ny.preRender.process(Xn),ny.render.process(Xn),Xn.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,C0.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(LZ),this.sharedNodes.forEach(qZ)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,tn.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){tn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!hs(this.snapshot.measuredBox.x)&&!hs(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let h=0;h<this.path.length;h++)this.path[h].updateScroll();const c=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=Bn()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:u}=this.options;u&&u.notify("LayoutMeasure",this.layout.layoutBox,c?c.layoutBox:void 0)}updateScroll(c="measure"){let u=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===c&&(u=!1),u&&this.instance){const h=s(this.instance);this.scroll={animationId:this.root.animationId,phase:c,isRoot:h,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:h}}}resetTransform(){if(!r)return;const c=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,u=this.projectionDelta&&!i_(this.projectionDelta),h=this.getTransformTemplate(),f=h?h(this.latestValues,""):void 0,g=f!==this.prevTransformTemplateValue;c&&this.instance&&(u||oo(this.latestValues)||g)&&(r(this.instance,f),this.shouldResetTransform=!1,this.scheduleRender())}measure(c=!0){const u=this.measurePageBox();let h=this.removeElementScroll(u);return c&&(h=this.removeTransform(h)),KZ(h),{animationId:this.root.animationId,measuredBox:u,layoutBox:h,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:c}=this.options;if(!c)return Bn();const u=c.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(YZ))){const{scroll:f}=this.root;f&&(Za(u.x,f.offset.x),Za(u.y,f.offset.y))}return u}removeElementScroll(c){const u=Bn();if(ja(u,c),this.scroll?.wasRoot)return u;for(let h=0;h<this.path.length;h++){const f=this.path[h],{scroll:g,options:v}=f;f!==this.root&&g&&v.layoutScroll&&(g.wasRoot&&ja(u,c),Za(u.x,g.offset.x),Za(u.y,g.offset.y))}return u}applyTransform(c,u=!1,h){const f=h||Bn();ja(f,c);for(let g=0;g<this.path.length;g++){const v=this.path[g];!u&&v.options.layoutScroll&&v.scroll&&v!==v.root&&(Za(f.x,-v.scroll.offset.x),Za(f.y,-v.scroll.offset.y)),oo(v.latestValues)&&Dh(f,v.latestValues,v.layout?.layoutBox)}return oo(this.latestValues)&&Dh(f,this.latestValues,this.layout?.layoutBox),f}removeTransform(c){const u=Bn();ja(u,c);for(let h=0;h<this.path.length;h++){const f=this.path[h];if(!oo(f.latestValues))continue;let g;f.instance&&(Bx(f.latestValues)&&f.updateSnapshot(),g=Bn(),ja(g,f.measurePageBox())),MC(u,f.latestValues,f.snapshot?.layoutBox,g)}return oo(this.latestValues)&&MC(u,this.latestValues),u}setTargetDelta(c){this.targetDelta=c,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(c){this.options={...this.options,...c,crossfade:c.crossfade!==void 0?c.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Xn.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(c=!1){const u=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=u.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=u.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=u.isSharedProjectionDirty);const h=!!this.resumingFrom||this!==u;if(!(c||h&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:g,layoutId:v}=this.options;if(!this.layout||!(g||v))return;this.resolvedRelativeTargetAt=Xn.timestamp;const y=this.getClosestProjectingParent();y&&this.linkedParentVersion!==y.layoutVersion&&!y.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&y&&y.layout?this.createRelativeTarget(y,this.layout.layoutBox,y.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Bn(),this.targetWithTransforms=Bn()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),vZ(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):ja(this.target,this.layout.layoutBox),ZI(this.target,this.targetDelta)):ja(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&y&&!!y.resumingFrom==!!this.resumingFrom&&!y.options.layoutScroll&&y.target&&this.animationProgress!==1?this.createRelativeTarget(y,this.target,y.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Bx(this.parent.latestValues)||GI(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(c,u,h){this.relativeParent=c,this.linkedParentVersion=c.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Bn(),this.relativeTargetOrigin=Bn(),Tm(this.relativeTargetOrigin,u,h,this.options.layoutAnchor||void 0),ja(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const c=this.getLead(),u=!!this.resumingFrom||this!==c;let h=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(h=!1),u&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(h=!1),this.resolvedRelativeTargetAt===Xn.timestamp&&(h=!1),h)return;const{layout:f,layoutId:g}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(f||g))return;ja(this.layoutCorrected,this.layout.layoutBox);const v=this.treeScale.x,y=this.treeScale.y;WG(this.layoutCorrected,this.treeScale,this.path,u),c.layout&&!c.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(c.target=c.layout.layoutBox,c.targetWithTransforms=Bn());const{target:x}=c;if(!x){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(NC(this.prevProjectionDelta.x,this.projectionDelta.x),NC(this.prevProjectionDelta.y,this.projectionDelta.y)),Iu(this.projectionDelta,this.layoutCorrected,x,this.latestValues),(this.treeScale.x!==v||this.treeScale.y!==y||!$C(this.projectionDelta.x,this.prevProjectionDelta.x)||!$C(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",x))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(c=!0){if(this.options.visualElement?.scheduleRender(),c){const u=this.getStack();u&&u.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Ol(),this.projectionDelta=Ol(),this.projectionDeltaWithTransform=Ol()}setAnimationOrigin(c,u=!1,h){const f=this.snapshot,g=f?f.latestValues:{},v={...this.latestValues},y=Ol();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!u;const x=Bn(),w=f?f.source:void 0,k=this.layout?this.layout.source:void 0,C=w!==k,T=this.getStack(),S=!T||T.members.length<=1,N=!!(C&&!S&&this.options.crossfade===!0&&!this.path.some(GZ));this.animationProgress=0;let E;const A=h?.interpolateProjection(c);this.mixTargetDelta=R=>{const M=R/1e3,$=A?.(M);$?(y.x.translate=$.x,y.x.scale=Qt(c.x.scale,1,M),y.x.origin=c.x.origin,y.x.originPoint=c.x.originPoint,y.y.translate=$.y,y.y.scale=Qt(c.y.scale,1,M),y.y.origin=c.y.origin,y.y.originPoint=c.y.originPoint):(VC(y.x,c.x,M),VC(y.y,c.y,M)),this.setTargetDelta(y),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Tm(x,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),WZ(this.relativeTarget,this.relativeTargetOrigin,x,M),E&&wZ(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=Bn()),ja(E,this.relativeTarget)),C&&(this.animationValues=v,NZ(v,g,this.latestValues,M,N,S)),$&&$.rotate!==void 0&&(this.animationValues||(this.animationValues=v),this.animationValues.pathRotation=$.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=M},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(c){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Ni(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=tn.update(()=>{zh.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=tc(0)),this.motionValue.jump(0,!1),this.currentAnimation=EZ(this.motionValue,[0,1e3],{...c,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),c.onUpdate&&c.onUpdate(u)},onStop:()=>{},onComplete:()=>{c.onComplete&&c.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const c=this.getStack();c&&c.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(IZ),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const c=this.getLead();let{targetWithTransforms:u,target:h,layout:f,latestValues:g}=c;if(!(!u||!h||!f)){if(this!==c&&this.layout&&f&&f_(this.options.animationType,this.layout.layoutBox,f.layoutBox)){h=this.target||Bn();const v=hs(this.layout.layoutBox.x);h.x.min=c.target.x.min,h.x.max=h.x.min+v;const y=hs(this.layout.layoutBox.y);h.y.min=c.target.y.min,h.y.max=h.y.min+y}ja(u,h),Dh(u,g),Iu(this.projectionDeltaWithTransform,this.layoutCorrected,u,g)}}registerSharedNode(c,u){this.sharedNodes.has(c)||this.sharedNodes.set(c,new RZ),this.sharedNodes.get(c).add(u);const f=u.options.initialPromotionConfig;u.promote({transition:f?f.transition:void 0,preserveFollowOpacity:f&&f.shouldPreserveFollowOpacity?f.shouldPreserveFollowOpacity(u):void 0})}isLead(){const c=this.getStack();return c?c.lead===this:!0}getLead(){const{layoutId:c}=this.options;return c?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:c}=this.options;return c?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:c}=this.options;if(c)return this.root.sharedNodes.get(c)}promote({needsReset:c,transition:u,preserveFollowOpacity:h}={}){const f=this.getStack();f&&f.promote(this,h),c&&(this.projectionDelta=void 0,this.needsReset=!0),u&&this.setOptions({transition:u})}relegate(){const c=this.getStack();return c?c.relegate(this):!1}resetSkewAndRotation(){const{visualElement:c}=this.options;if(!c)return;let u=!1;const{latestValues:h}=c;if((h.z||h.rotate||h.rotateX||h.rotateY||h.rotateZ||h.skewX||h.skewY)&&(u=!0),!u)return;const f={};h.z&&dy("z",c,f,this.animationValues);for(let g=0;g<uy.length;g++)dy(`rotate${uy[g]}`,c,f,this.animationValues),dy(`skew${uy[g]}`,c,f,this.animationValues);c.render();for(const g in f)c.setStaticValue(g,f[g]),this.animationValues&&(this.animationValues[g]=f[g]);c.scheduleRender()}applyProjectionStyles(c,u){if(!this.instance||this.isSVG)return;if(!this.isVisible){c.visibility="hidden";return}const h=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,c.visibility="",c.opacity="",c.pointerEvents=Lh(u?.pointerEvents)||"",c.transform=h?h(this.latestValues,""):"none";return}const f=this.getLead();if(!this.projectionDelta||!this.layout||!f.target){this.options.layoutId&&(c.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,c.pointerEvents=Lh(u?.pointerEvents)||""),this.hasProjected&&!oo(this.latestValues)&&(c.transform=h?h({},""):"none",this.hasProjected=!1);return}c.visibility="";const g=f.animationValues||f.latestValues;this.applyTransformsToTarget();let v=jZ(this.projectionDeltaWithTransform,this.treeScale,g);h&&(v=h(g,v)),c.transform=v;const{x:y,y:x}=this.projectionDelta;c.transformOrigin=`${y.origin*100}% ${x.origin*100}% 0`,f.animationValues?c.opacity=f===this?g.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:g.opacityExit:c.opacity=f===this?g.opacity!==void 0?g.opacity:"":g.opacityExit!==void 0?g.opacityExit:0;for(const w in Vx){if(g[w]===void 0)continue;const{correct:k,applyTo:C,isCSSVariable:T}=Vx[w],S=v==="none"?g[w]:k(g[w],f);if(C){const N=C.length;for(let E=0;E<N;E++)c[C[E]]=S}else T?this.options.visualElement.renderState.vars[w]=S:c[w]=S}this.options.layoutId&&(c.pointerEvents=f===this?Lh(u?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(c=>c.currentAnimation?.stop()),this.root.nodes.forEach(zC),this.root.sharedNodes.clear()}}}function OZ(e){e.updateLayout()}function $Z(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=e.layout,{animationType:r}=e.options,o=t.source!==e.layout.source;if(r==="size")Ha(g=>{const v=o?t.measuredBox[g]:t.layoutBox[g],y=hs(v);v.min=n[g].min,v.max=v.min+y});else if(r==="x"||r==="y"){const g=r==="x"?"y":"x";Fx(o?t.measuredBox[g]:t.layoutBox[g],n[g])}else f_(r,t.layoutBox,n)&&Ha(g=>{const v=o?t.measuredBox[g]:t.layoutBox[g],y=hs(n[g]);v.max=v.min+y,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[g].max=e.relativeTarget[g].min+y)});const c=Ol();Iu(c,n,t.layoutBox);const u=Ol();o?Iu(u,e.applyTransform(s,!0),t.measuredBox):Iu(u,n,t.layoutBox);const h=!i_(c);let f=!1;if(!e.resumeFrom){const g=e.getClosestProjectingParent();if(g&&!g.resumeFrom){const{snapshot:v,layout:y}=g;if(v&&y){const x=e.options.layoutAnchor||void 0,w=Bn();Tm(w,t.layoutBox,v.layoutBox,x);const k=Bn();Tm(k,n,y.layoutBox,x),o_(w,k)||(f=!0),g.options.layoutRoot&&(e.relativeTarget=k,e.relativeTargetOrigin=w,e.relativeParent=g)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:u,layoutDelta:c,hasLayoutChanged:h,hasRelativeLayoutChanged:f})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function PZ(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function DZ(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function LZ(e){e.clearSnapshot()}function zC(e){e.clearMeasurements()}function zZ(e){e.isLayoutDirty=!0,e.updateLayout()}function BC(e){e.isLayoutDirty=!1}function BZ(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function UZ(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function UC(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function VZ(e){e.resolveTargetDelta()}function FZ(e){e.calcProjection()}function HZ(e){e.resetSkewAndRotation()}function qZ(e){e.removeLeadSnapshot()}function VC(e,t,n){e.translate=Qt(t.translate,0,n),e.scale=Qt(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function FC(e,t,n,s){e.min=Qt(t.min,n.min,s),e.max=Qt(t.max,n.max,s)}function WZ(e,t,n,s){FC(e.x,t.x,n.x,s),FC(e.y,t.y,n.y,s)}function GZ(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ZZ={duration:.45,ease:[.4,0,.1,1]},HC=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),qC=HC("applewebkit/")&&!HC("chrome/")?Math.round:ca;function WC(e){e.min=qC(e.min),e.max=qC(e.max)}function KZ(e){WC(e.x),WC(e.y)}function f_(e,t,n){return e==="position"||e==="preserve-aspect"&&!gZ(OC(t),OC(n),.2)}function YZ(e){return e!==e.root&&e.scroll?.wasRoot}const XZ=d_({attachResizeListener:(e,t)=>Ju(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),fy={current:void 0},h_=d_({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!fy.current){const e=new XZ({});e.mount(window),e.setOptions({layoutScroll:!0}),fy.current=e}return fy.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),_0=p.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function GC(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function JZ(...e){return t=>{let n=!1;const s=e.map(r=>{const o=GC(r,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():GC(e[r],null)}}}}function QZ(...e){return p.useCallback(JZ(...e),e)}class eK extends p.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(Ih(n)&&t.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const s=n.offsetParent,r=Ih(s)&&s.offsetWidth||0,o=Ih(s)&&s.offsetHeight||0,c=getComputedStyle(n),u=this.props.sizeRef.current;u.height=parseFloat(c.height),u.width=parseFloat(c.width),u.top=n.offsetTop,u.left=n.offsetLeft,u.right=r-u.width-u.left,u.bottom=o-u.height-u.top,u.direction=c.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function tK({children:e,isPresent:t,anchorX:n,anchorY:s,root:r,pop:o}){const c=p.useId(),u=p.useRef(null),h=p.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:f}=p.useContext(_0),g=e.props?.ref??e?.ref,v=QZ(u,g);return p.useInsertionEffect(()=>{const{width:y,height:x,top:w,left:k,right:C,bottom:T,direction:S}=h.current;if(t||o===!1||!u.current||!y||!x)return;const N=S==="rtl",E=n==="left"?N?`right: ${C}`:`left: ${k}`:N?`left: ${k}`:`right: ${C}`,A=s==="bottom"?`bottom: ${T}`:`top: ${w}`;u.current.dataset.motionPopId=c;const R=document.createElement("style");f&&(R.nonce=f);const M=r??document.head;return M.appendChild(R),R.sheet&&R.sheet.insertRule(`
|
|
122
|
+
[data-motion-pop-id="${c}"] {
|
|
123
|
+
position: absolute !important;
|
|
124
|
+
width: ${y}px !important;
|
|
125
|
+
height: ${x}px !important;
|
|
126
|
+
${E}px !important;
|
|
127
|
+
${A}px !important;
|
|
128
|
+
}
|
|
129
|
+
`),()=>{u.current?.removeAttribute("data-motion-pop-id"),M.contains(R)&&M.removeChild(R)}},[t]),a.jsx(eK,{isPresent:t,childRef:u,sizeRef:h,pop:o,children:o===!1?e:p.cloneElement(e,{ref:v})})}const nK=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:r,presenceAffectsLayout:o,mode:c,anchorX:u,anchorY:h,root:f})=>{const g=c0(sK),v=p.useId();let y=!0,x=p.useMemo(()=>(y=!1,{id:v,initial:t,isPresent:n,custom:r,onExitComplete:w=>{g.set(w,!0);for(const k of g.values())if(!k)return;s&&s()},register:w=>(g.set(w,!1),()=>g.delete(w))}),[n,g,s]);return o&&y&&(x={...x}),p.useMemo(()=>{g.forEach((w,k)=>g.set(k,!1))},[n]),p.useEffect(()=>{!n&&!g.size&&s&&s()},[n]),e=a.jsx(tK,{pop:c==="popLayout",isPresent:n,anchorX:u,anchorY:h,root:f,children:e}),a.jsx(fp.Provider,{value:x,children:e})};function sK(){return new Map}function m_(e=!0){const t=p.useContext(fp);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:r}=t,o=p.useId();p.useEffect(()=>{if(e)return r(o)},[e]);const c=p.useCallback(()=>e&&s&&s(o),[o,s,e]);return!n&&s?[!1,c]:[!0]}const qf=e=>e.key||"";function ZC(e){const t=[];return p.Children.forEach(e,n=>{p.isValidElement(n)&&t.push(n)}),t}const aK=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:r=!0,mode:o="sync",propagate:c=!1,anchorX:u="left",anchorY:h="top",root:f})=>{const[g,v]=m_(c),y=p.useMemo(()=>ZC(e),[e]),x=c&&!g?[]:y.map(qf),w=p.useRef(!0),k=p.useRef(y),C=c0(()=>new Map),T=p.useRef(new Set),[S,N]=p.useState(y),[E,A]=p.useState(y);V2(()=>{w.current=!1,k.current=y;for(let $=0;$<E.length;$++){const O=qf(E[$]);x.includes(O)?(C.delete(O),T.current.delete(O)):C.get(O)!==!0&&C.set(O,!1)}},[E,x.length,x.join("-")]);const R=[];if(y!==S){let $=[...y];for(let O=0;O<E.length;O++){const U=E[O],_=qf(U);x.includes(_)||($.splice(O,0,U),R.push(U))}return o==="wait"&&R.length&&($=R),A(ZC($)),N(y),null}const{forceRender:M}=p.useContext(l0);return a.jsx(a.Fragment,{children:E.map($=>{const O=qf($),U=c&&!g?!1:y===E||x.includes(O),_=()=>{if(T.current.has(O))return;if(C.has(O))T.current.add(O),C.set(O,!0);else return;let z=!0;C.forEach(q=>{q||(z=!1)}),z&&(M?.(),A(k.current),c&&v?.(),s&&s())};return a.jsx(nK,{isPresent:U,initial:!w.current||n?void 0:!1,custom:t,presenceAffectsLayout:r,mode:o,root:f,onExitComplete:U?void 0:_,anchorX:u,anchorY:h,children:$},O)})})},p_=p.createContext({strict:!1}),KC={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let YC=!1;function rK(){if(YC)return;const e={};for(const t in KC)e[t]={isEnabled:n=>KC[t].some(s=>!!n[s])};HI(e),YC=!0}function g_(){return rK(),VG()}function iK(e){const t=g_();for(const n in e)t[n]={...t[n],...e[n]};HI(t)}const oK=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function Am(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||oK.has(e)}let v_=e=>!Am(e);function lK(e){typeof e=="function"&&(v_=t=>t.startsWith("on")?!Am(t):e(t))}try{lK(require("@emotion/is-prop-valid").default)}catch{}function cK(e,t,n){const s={};for(const r in e)r==="values"&&typeof e.values=="object"||es(e[r])||(v_(r)||n===!0&&Am(r)||!t&&!Am(r)||e.draggable&&r.startsWith("onDrag"))&&(s[r]=e[r]);return s}const gp=p.createContext({});function uK(e,t){if(pp(e)){const{initial:n,animate:s}=e;return{initial:n===!1||Xu(n)?n:void 0,animate:Xu(s)?s:void 0}}return e.inherit!==!1?t:{}}function dK(e){const{initial:t,animate:n}=uK(e,p.useContext(gp));return p.useMemo(()=>({initial:t,animate:n}),[XC(t),XC(n)])}function XC(e){return Array.isArray(e)?e.join(" "):e}const O0=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function y_(e,t,n){for(const s in t)!es(t[s])&&!XI(s,n)&&(e[s]=t[s])}function fK({transformTemplate:e},t){return p.useMemo(()=>{const n=O0();return R0(n,t,e),Object.assign({},n.vars,n.style)},[t])}function hK(e,t){const n=e.style||{},s={};return y_(s,n,e),Object.assign(s,fK(e,t)),s}function mK(e,t){const n={},s=hK(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=s,n}const x_=()=>({...O0(),attrs:{}});function pK(e,t,n,s){const r=p.useMemo(()=>{const o=x_();return JI(o,t,e_(s),e.transformTemplate,e.style),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};y_(o,e.style,e),r.style={...o,...r.style}}return r}const gK=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function $0(e){return typeof e!="string"||e.includes("-")?!1:!!(gK.indexOf(e)>-1||/[A-Z]/u.test(e))}function vK(e,t,n,{latestValues:s},r,o=!1,c){const h=(c??$0(e)?pK:mK)(t,s,r,e),f=cK(t,typeof e=="string",o),g=e!==p.Fragment?{...f,...h,ref:n}:{},{children:v}=t,y=p.useMemo(()=>es(v)?v.get():v,[v]);return p.createElement(e,{...g,children:y})}function yK({scrapeMotionValuesFromProps:e,createRenderState:t},n,s,r){return{latestValues:xK(n,s,r,e),renderState:t()}}function xK(e,t,n,s){const r={},o=s(e,{});for(const y in o)r[y]=Lh(o[y]);let{initial:c,animate:u}=e;const h=pp(e),f=VI(e);t&&f&&!h&&e.inherit!==!1&&(c===void 0&&(c=t.initial),u===void 0&&(u=t.animate));let g=n?n.initial===!1:!1;g=g||c===!1;const v=g?u:c;if(v&&typeof v!="boolean"&&!mp(v)){const y=Array.isArray(v)?v:[v];for(let x=0;x<y.length;x++){const w=N0(e,y[x]);if(w){const{transitionEnd:k,transition:C,...T}=w;for(const S in T){let N=T[S];if(Array.isArray(N)){const E=g?N.length-1:0;N=N[E]}N!==null&&(r[S]=N)}for(const S in k)r[S]=k[S]}}}return r}const b_=e=>(t,n)=>{const s=p.useContext(gp),r=p.useContext(fp),o=()=>yK(e,t,s,r);return n?o():c0(o)},bK=b_({scrapeMotionValuesFromProps:I0,createRenderState:O0}),wK=b_({scrapeMotionValuesFromProps:t_,createRenderState:x_}),jK=Symbol.for("motionComponentSymbol");function kK(e,t,n){const s=p.useRef(n);p.useInsertionEffect(()=>{s.current=n});const r=p.useRef(null);return p.useCallback(o=>{o&&e.onMount?.(o),t&&(o?t.mount(o):t.unmount());const c=s.current;if(typeof c=="function")if(o){const u=c(o);typeof u=="function"&&(r.current=u)}else r.current?(r.current(),r.current=null):c(o);else c&&(c.current=o)},[t])}const w_=p.createContext({});function Nl(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function NK(e,t,n,s,r,o){const{visualElement:c}=p.useContext(gp),u=p.useContext(p_),h=p.useContext(fp),f=p.useContext(_0),g=f.reducedMotion,v=f.skipAnimations,y=p.useRef(null),x=p.useRef(!1);s=s||u.renderer,!y.current&&s&&(y.current=s(e,{visualState:t,parent:c,props:n,presenceContext:h,blockInitialAnimation:h?h.initial===!1:!1,reducedMotionConfig:g,skipAnimations:v,isSVG:o}),x.current&&y.current&&(y.current.manuallyAnimateOnMount=!0));const w=y.current,k=p.useContext(w_);w&&!w.projection&&r&&(w.type==="html"||w.type==="svg")&&SK(y.current,n,r,k);const C=p.useRef(!1);p.useInsertionEffect(()=>{w&&C.current&&w.update(n,h)});const T=n[MI],S=p.useRef(!!T&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(T)&&window.MotionHasOptimisedAnimation?.(T));return V2(()=>{x.current=!0,w&&(C.current=!0,window.MotionIsMounted=!0,w.updateFeatures(),w.scheduleRenderMicrotask(),S.current&&w.animationState&&w.animationState.animateChanges())}),p.useEffect(()=>{w&&(!S.current&&w.animationState&&w.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(T)}),S.current=!1),w.enteringChildren=void 0)}),w}function SK(e,t,n,s){const{layoutId:r,layout:o,drag:c,dragConstraints:u,layoutScroll:h,layoutRoot:f,layoutAnchor:g,layoutCrossfade:v}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:j_(e.parent)),e.projection.setOptions({layoutId:r,layout:o,alwaysMeasureLayout:!!c||u&&Nl(u),visualElement:e,animationType:typeof o=="string"?o:"both",initialPromotionConfig:s,crossfade:v,layoutScroll:h,layoutRoot:f,layoutAnchor:g})}function j_(e){if(e)return e.options.allowProjection!==!1?e.projection:j_(e.parent)}function hy(e,{forwardMotionProps:t=!1,type:n}={},s,r){s&&iK(s);const o=n?n==="svg":$0(e),c=o?wK:bK;function u(f,g){let v;const y={...p.useContext(_0),...f,layoutId:CK(f)},{isStatic:x}=y,w=dK(f),k=c(f,x);if(!x&&typeof window<"u"){EK();const C=TK(y);v=C.MeasureLayout,w.visualElement=NK(e,k,y,r,C.ProjectionNode,o)}return a.jsxs(gp.Provider,{value:w,children:[v&&w.visualElement?a.jsx(v,{visualElement:w.visualElement,...y}):null,vK(e,f,kK(k,w.visualElement,g),k,x,t,o)]})}u.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const h=p.forwardRef(u);return h[jK]=e,h}function CK({layoutId:e}){const t=p.useContext(l0).id;return t&&e!==void 0?t+"-"+e:e}function EK(e,t){p.useContext(p_).strict}function TK(e){const t=g_(),{drag:n,layout:s}=t;if(!n&&!s)return{};const r={...n,...s};return{MeasureLayout:n?.isEnabled(e)||s?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function AK(e,t){if(typeof Proxy>"u")return hy;const n=new Map,s=(o,c)=>hy(o,c,e,t),r=(o,c)=>s(o,c);return new Proxy(r,{get:(o,c)=>c==="create"?s:(n.has(c)||n.set(c,hy(c,void 0,e,t)),n.get(c))})}const MK=(e,t)=>t.isSVG??$0(e)?new rZ(t):new QG(t,{allowProjection:e!==p.Fragment});class RK extends Oi{constructor(t){super(t),t.animationState||(t.animationState=uZ(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();mp(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let IK=0;class _K extends Oi{constructor(){super(...arguments),this.id=IK++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;if(t&&s===!1){if(this.isExitComplete){const{initial:o,custom:c}=this.node.getProps();if(typeof o=="string"||typeof o=="object"&&o!==null&&!Array.isArray(o)){const u=yo(this.node,o,c);if(u){const{transition:h,transitionEnd:f,...g}=u;for(const v in g)this.node.getValue(v)?.jump(g[v])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>{this.isExitComplete=!0,n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const OK={animation:{Feature:RK},exit:{Feature:_K}};function fd(e){return{point:{x:e.pageX,y:e.pageY}}}const $K=e=>t=>E0(t)&&e(t,fd(t));function _u(e,t,n,s){return Ju(e,t,$K(n),s)}const k_=({current:e})=>e?e.ownerDocument.defaultView:null,JC=(e,t)=>Math.abs(e-t);function PK(e,t){const n=JC(e.x,t.x),s=JC(e.y,t.y);return Math.sqrt(n**2+s**2)}const QC=new Set(["auto","scroll"]);class N_{constructor(t,n,{transformPagePoint:s,contextWindow:r=window,dragSnapToOrigin:o=!1,distanceThreshold:c=3,element:u}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=x=>{this.handleScroll(x.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Wf(this.lastRawMoveEventInfo,this.transformPagePoint));const x=my(this.lastMoveEventInfo,this.history),w=this.startEvent!==null,k=PK(x.offset,{x:0,y:0})>=this.distanceThreshold;if(!w&&!k)return;const{point:C}=x,{timestamp:T}=Xn;this.history.push({...C,timestamp:T});const{onStart:S,onMove:N}=this.handlers;w||(S&&S(this.lastMoveEvent,x),this.startEvent=this.lastMoveEvent),N&&N(this.lastMoveEvent,x)},this.handlePointerMove=(x,w)=>{this.lastMoveEvent=x,this.lastRawMoveEventInfo=w,this.lastMoveEventInfo=Wf(w,this.transformPagePoint),tn.update(this.updatePoint,!0)},this.handlePointerUp=(x,w)=>{this.end();const{onEnd:k,onSessionEnd:C,resumeAnimation:T}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&T&&T(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const S=my(x.type==="pointercancel"?this.lastMoveEventInfo:Wf(w,this.transformPagePoint),this.history);this.startEvent&&k&&k(x,S),C&&C(x,S)},!E0(t))return;this.dragSnapToOrigin=o,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=c,this.contextWindow=r||window;const h=fd(t),f=Wf(h,this.transformPagePoint),{point:g}=f,{timestamp:v}=Xn;this.history=[{...g,timestamp:v}];const{onSessionStart:y}=n;y&&y(t,my(f,this.history)),this.removeListeners=cd(_u(this.contextWindow,"pointermove",this.handlePointerMove),_u(this.contextWindow,"pointerup",this.handlePointerUp),_u(this.contextWindow,"pointercancel",this.handlePointerUp)),u&&this.startScrollTracking(u)}startScrollTracking(t){let n=t.parentElement;for(;n;){const s=getComputedStyle(n);(QC.has(s.overflowX)||QC.has(s.overflowY))&&this.scrollPositions.set(n,{x:n.scrollLeft,y:n.scrollTop}),n=n.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const n=this.scrollPositions.get(t);if(!n)return;const s=t===window,r=s?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},o={x:r.x-n.x,y:r.y-n.y};o.x===0&&o.y===0||(s?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=o.x,this.lastMoveEventInfo.point.y+=o.y):this.history.length>0&&(this.history[0].x-=o.x,this.history[0].y-=o.y),this.scrollPositions.set(t,r),tn.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Ni(this.updatePoint)}}function Wf(e,t){return t?{point:t(e.point)}:e}function eE(e,t){return{x:e.x-t.x,y:e.y-t.y}}function my({point:e},t){return{point:e,delta:eE(e,S_(t)),offset:eE(e,DK(t)),velocity:LK(t,.1)}}function DK(e){return e[0]}function S_(e){return e[e.length-1]}function LK(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const r=S_(e);for(;n>=0&&(s=e[n],!(r.timestamp-s.timestamp>Us(t)));)n--;if(!s)return{x:0,y:0};s===e[0]&&e.length>2&&r.timestamp-s.timestamp>Us(t)*2&&(s=e[1]);const o=ia(r.timestamp-s.timestamp);if(o===0)return{x:0,y:0};const c={x:(r.x-s.x)/o,y:(r.y-s.y)/o};return c.x===1/0&&(c.x=0),c.y===1/0&&(c.y=0),c}function zK(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?Qt(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?Qt(n,e,s.max):Math.min(e,n)),e}function tE(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function BK(e,{top:t,left:n,bottom:s,right:r}){return{x:tE(e.x,n,r),y:tE(e.y,t,s)}}function nE(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,s]=[s,n]),{min:n,max:s}}function UK(e,t){return{x:nE(e.x,t.x),y:nE(e.y,t.y)}}function VK(e,t){let n=.5;const s=hs(e),r=hs(t);return r>s?n=Ku(t.min,t.max-s,e.min):s>r&&(n=Ku(e.min,e.max-r,t.min)),nr(0,1,n)}function FK(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const Hx=.35;function HK(e=Hx){return e===!1?e=0:e===!0&&(e=Hx),{x:sE(e,"left","right"),y:sE(e,"top","bottom")}}function sE(e,t,n){return{min:aE(e,t),max:aE(e,n)}}function aE(e,t){return typeof e=="number"?e:e[t]||0}const qK=new WeakMap;class WK{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const o=v=>{n&&this.snapToCursor(fd(v).point),this.stopAnimation()},c=(v,y)=>{const{drag:x,dragPropagation:w,onDragStart:k}=this.getProps();if(x&&!w&&(this.openDragLock&&this.openDragLock(),this.openDragLock=yG(x),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=y,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ha(T=>{let S=this.getAxisMotionValue(T).get()||0;if(Qa.test(S)){const{projection:N}=this.visualElement;if(N&&N.layout){const E=N.layout.layoutBox[T];E&&(S=hs(E)*(parseFloat(S)/100))}}this.originPoint[T]=S}),k&&tn.update(()=>k(v,y),!1,!0),Ox(this.visualElement,"transform");const{animationState:C}=this.visualElement;C&&C.setActive("whileDrag",!0)},u=(v,y)=>{this.latestPointerEvent=v,this.latestPanInfo=y;const{dragPropagation:x,dragDirectionLock:w,onDirectionLock:k,onDrag:C}=this.getProps();if(!x&&!this.openDragLock)return;const{offset:T}=y;if(w&&this.currentDirection===null){this.currentDirection=ZK(T),this.currentDirection!==null&&k&&k(this.currentDirection);return}this.updateAxis("x",y.point,T),this.updateAxis("y",y.point,T),this.visualElement.render(),C&&tn.update(()=>C(v,y),!1,!0)},h=(v,y)=>{this.latestPointerEvent=v,this.latestPanInfo=y,this.stop(v,y),this.latestPointerEvent=null,this.latestPanInfo=null},f=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:g}=this.getProps();this.panSession=new N_(t,{onSessionStart:o,onStart:c,onMove:u,onSessionEnd:h,resumeAnimation:f},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,distanceThreshold:s,contextWindow:k_(this.visualElement),element:this.visualElement.current})}stop(t,n){const s=t||this.latestPointerEvent,r=n||this.latestPanInfo,o=this.isDragging;if(this.cancel(),!o||!r||!s)return;const{velocity:c}=r;this.startAnimation(c);const{onDragEnd:u}=this.getProps();u&&tn.postRender(()=>u(s,r))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,n,s){const{drag:r}=this.getProps();if(!s||!Gf(t,r,this.currentDirection))return;const o=this.getAxisMotionValue(t);let c=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(c=zK(c,this.constraints[t],this.elastic[t])),o.set(c)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;t&&Nl(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=BK(s.layoutBox,t):this.constraints=!1,this.elastic=HK(n),r!==this.constraints&&!Nl(t)&&s&&this.constraints&&!this.hasMutatedConstraints&&Ha(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=FK(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Nl(t))return!1;const s=t.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;r.root&&(r.root.scroll=void 0,r.root.updateScroll());const o=GG(s,r.root,this.visualElement.getTransformPagePoint());let c=UK(r.layout.layoutBox,o);if(n){const u=n(HG(c));this.hasMutatedConstraints=!!u,u&&(c=WI(u))}return c}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:r,dragTransition:o,dragSnapToOrigin:c,onDragTransitionEnd:u}=this.getProps(),h=this.constraints||{},f=Ha(g=>{if(!Gf(g,n,this.currentDirection))return;let v=h&&h[g]||{};(c===!0||c===g)&&(v={min:0,max:0});const y=r?200:1e6,x=r?40:1e7,w={type:"inertia",velocity:s?t[g]:0,bounceStiffness:y,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...o,...v};return this.startAxisValueAnimation(g,w)});return Promise.all(f).then(u)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return Ox(this.visualElement,t),s.start(k0(t,s,0,n,this.visualElement,!1))}stopAnimation(){Ha(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,r=this.visualElement.getProps()[n];return r||this.visualElement.getValue(t,this.visualElement.latestValues[t]??0)}snapToCursor(t){Ha(n=>{const{drag:s}=this.getProps();if(!Gf(n,s,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(n);if(r&&r.layout){const{min:c,max:u}=r.layout.layoutBox[n],h=o.get()||0;o.set(t[n]-Qt(c,u,.5)+h)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Nl(n)||!s||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};Ha(c=>{const u=this.getAxisMotionValue(c);if(u&&this.constraints!==!1){const h=u.get();r[c]=VK({min:h,max:h},this.constraints[c])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.constraints=!1,this.resolveConstraints(),Ha(c=>{if(!Gf(c,t,null))return;const u=this.getAxisMotionValue(c),{min:h,max:f}=this.constraints[c];u.set(Qt(h,f,r[c]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;qK.set(this.visualElement,this);const t=this.visualElement.current,n=_u(t,"pointerdown",f=>{const{drag:g,dragListener:v=!0}=this.getProps(),y=f.target,x=y!==t&&NG(y);g&&v&&!x&&this.start(f)});let s;const r=()=>{const{dragConstraints:f}=this.getProps();Nl(f)&&f.current&&(this.constraints=this.resolveRefConstraints(),s||(s=GK(t,f.current,()=>this.scalePositionWithinConstraints())))},{projection:o}=this.visualElement,c=o.addEventListener("measure",r);o&&!o.layout&&(o.root&&o.root.updateScroll(),o.updateLayout()),tn.read(r);const u=Ju(window,"resize",()=>this.scalePositionWithinConstraints()),h=o.addEventListener("didUpdate",(({delta:f,hasLayoutChanged:g})=>{this.isDragging&&g&&(Ha(v=>{const y=this.getAxisMotionValue(v);y&&(this.originPoint[v]+=f[v].translate,y.set(y.get()+f[v].translate))}),this.visualElement.render())}));return()=>{u(),n(),c(),h&&h(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:c=Hx,dragMomentum:u=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:r,dragConstraints:o,dragElastic:c,dragMomentum:u}}}function rE(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function GK(e,t,n){const s=fC(e,rE(n)),r=fC(t,rE(n));return()=>{s(),r()}}function Gf(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function ZK(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class KK extends Oi{constructor(t){super(t),this.removeGroupControls=ca,this.removeListeners=ca,this.controls=new WK(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ca}update(){const{dragControls:t}=this.node.getProps(),{dragControls:n}=this.node.prevProps||{};t!==n&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const py=e=>(t,n)=>{e&&tn.update(()=>e(t,n),!1,!0)};class YK extends Oi{constructor(){super(...arguments),this.removePointerDownListener=ca}onPointerDown(t){this.session=new N_(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:k_(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:r}=this.node.getProps();return{onSessionStart:py(t),onStart:py(n),onMove:py(s),onEnd:(o,c)=>{delete this.session,r&&tn.postRender(()=>r(o,c))}}}mount(){this.removePointerDownListener=_u(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let gy=!1;class XK extends p.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:r}=this.props,{projection:o}=t;o&&(n.group&&n.group.add(o),s&&s.register&&r&&s.register(o),gy&&o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),zh.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:r,isPresent:o}=this.props,{projection:c}=s;return c&&(c.isPresent=o,t.layoutDependency!==n&&c.setOptions({...c.options,layoutDependency:n}),gy=!0,r||t.layoutDependency!==n||n===void 0||t.isPresent!==o?c.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?c.promote():c.relegate()||tn.postRender(()=>{const u=c.getStack();(!u||!u.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:n}=this.props,{projection:s}=t;s&&(s.options.layoutAnchor=n,s.root.didUpdate(),C0.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:r}=t;gy=!0,r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),s&&s.deregister&&s.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function C_(e){const[t,n]=m_(),s=p.useContext(l0);return a.jsx(XK,{...e,layoutGroup:s,switchLayoutGroup:p.useContext(w_),isPresent:t,safeToRemove:n})}const JK={pan:{Feature:YK},drag:{Feature:KK,ProjectionNode:h_,MeasureLayout:C_}};function iE(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,o=s[r];o&&tn.postRender(()=>o(t,fd(t)))}class QK extends Oi{mount(){const{current:t}=this.node;t&&(this.unmount=bG(t,(n,s)=>(iE(this.node,s,"Start"),r=>iE(this.node,r,"End"))))}unmount(){}}class eY extends Oi{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=cd(Ju(this.node.current,"focus",()=>this.onFocus()),Ju(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function oE(e,t,n){const{props:s}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),o=s[r];o&&tn.postRender(()=>o(t,fd(t)))}class tY extends Oi{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:n,propagate:s}=this.node.props;this.unmount=CG(t,(r,o)=>(oE(this.node,o,"Start"),(c,{success:u})=>oE(this.node,c,u?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:s?.tap===!1})}unmount(){}}const qx=new WeakMap,vy=new WeakMap,nY=e=>{const t=qx.get(e.target);t&&t(e)},sY=e=>{e.forEach(nY)};function aY({root:e,...t}){const n=e||document;vy.has(n)||vy.set(n,{});const s=vy.get(n),r=JSON.stringify(t);return s[r]||(s[r]=new IntersectionObserver(sY,{root:e,...t})),s[r]}function rY(e,t,n){const s=aY(t);return qx.set(e,n),s.observe(e),()=>{qx.delete(e),s.unobserve(e)}}const iY={some:0,all:1};class oY extends Oi{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:r="some",once:o}=t,c={root:n?n.current:void 0,rootMargin:s,threshold:typeof r=="number"?r:iY[r]},u=h=>{const{isIntersecting:f}=h;if(this.isInView===f||(this.isInView=f,o&&!f&&this.hasEnteredView))return;f&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",f);const{onViewportEnter:g,onViewportLeave:v}=this.node.getProps(),y=f?g:v;y&&y(h)};this.stopObserver=rY(this.node.current,c,u)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(lY(t,n))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function lY({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const cY={inView:{Feature:oY},tap:{Feature:tY},focus:{Feature:eY},hover:{Feature:QK}},uY={layout:{ProjectionNode:h_,MeasureLayout:C_}},dY={...OK,...cY,...JK,...uY},fY=AK(dY,MK);function hY(e){return"type"in e&&e.type==="separator"}function mY(e){return"type"in e&&e.type==="group"}function lE({item:e}){return a.jsxs(V9,{disabled:e.disabled,onClick:e.action,className:"flex items-center gap-3 px-3 py-1.5 text-[12px] font-mono text-neutral-300 outline-none select-none data-[highlighted]:bg-neutral-700/50 data-[highlighted]:text-white data-[disabled]:opacity-40 data-[disabled]:pointer-events-none cursor-default",children:[e.icon&&a.jsx("span",{className:"w-4 h-4 flex items-center justify-center text-neutral-400",children:e.icon}),a.jsx("span",{className:"flex-1",children:e.label}),e.shortcut&&a.jsx("span",{className:"text-neutral-400 text-[10px] ml-4 tracking-wider",children:e.shortcut})]})}var E_=Tl.forwardRef(({items:e},t)=>a.jsx(fY.div,{ref:t,initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.96},transition:{duration:.1,ease:"easeOut"},children:a.jsx(O7,{className:"bg-neutral-900/95 backdrop-blur-xl border border-neutral-700/60 rounded-lg shadow-2xl py-1 min-w-[180px] z-[200] outline-none",children:e.map((n,s)=>hY(n)?a.jsx(dq,{className:"h-px bg-neutral-700/50 my-1"},`sep-${s}`):mY(n)?a.jsxs(B9,{children:[a.jsx(U9,{className:"px-3 py-1 text-[10px] font-mono uppercase tracking-widest text-neutral-400",children:n.label}),n.items.map(r=>a.jsx(lE,{item:r},r.id))]},`grp-${s}`):a.jsx(lE,{item:n},n.id))})}));E_.displayName="PopupContent";function pY({items:e,children:t}){return e.length===0?a.jsx(a.Fragment,{children:t}):a.jsxs(fq,{children:[a.jsx(hq,{render:a.jsx("div",{style:{display:"contents"}}),children:t}),a.jsx(P7,{children:a.jsx(K7,{className:"z-[200]",sideOffset:4,children:a.jsx(aK,{children:a.jsx(E_,{items:e})})})})]})}function P0(){const{titleBarInset:e}=Km();return p.useMemo(()=>{const t=tp.layout.navHeight+e;return{navTotalHeight:t,panelTopOffset:t}},[e])}var gY=({scale:e,onZoom:t,min:n=.2,max:s=3,step:r=.1})=>{const[o,c]=p.useState(!1),[u,h]=p.useState(""),f=p.useRef(null),g=p.useCallback(C=>Math.min(s,Math.max(n,C)),[n,s]),v=p.useCallback(()=>{t(g(e+r))},[e,r,t,g]),y=p.useCallback(()=>{t(g(e-r))},[e,r,t,g]),x=p.useCallback(()=>{h(Math.round(e*100).toString()),c(!0)},[e]),w=p.useCallback(()=>{c(!1);const C=parseInt(u,10);!isNaN(C)&&C>0&&t(g(C/100))},[u,t,g]),k=p.useCallback(C=>{C.key==="Enter"?w():C.key==="Escape"&&c(!1)},[w]);return p.useEffect(()=>{o&&f.current&&(f.current.focus(),f.current.select())},[o]),a.jsxs("div",{className:"pointer-events-auto flex flex-col items-center bg-neutral-950/95 backdrop-blur-xl border border-neutral-700/80 rounded-md shadow-[0_0_20px_rgba(0,0,0,0.6)] overflow-hidden",children:[a.jsx("button",{onClick:v,className:"w-9 h-8 flex items-center justify-center hover:bg-white/10 text-neutral-300 hover:text-white transition-colors",title:"Zoom in",children:a.jsx(i4,{size:14})}),a.jsx("div",{className:"w-full border-t border-b border-neutral-700/50",children:o?a.jsx("input",{ref:f,type:"text",value:u,onChange:C=>h(C.target.value.replace(/[^0-9]/g,"")),onBlur:w,onKeyDown:k,className:"w-9 py-1.5 text-center text-[11px] font-mono text-white bg-black/60 outline-none tabular-nums"}):a.jsxs("button",{onClick:x,className:"w-9 py-1.5 text-center text-[11px] font-mono text-neutral-200 hover:text-white hover:bg-white/10 transition-colors cursor-text tabular-nums",title:"Click to set zoom",children:[Math.round(e*100),"%"]})}),a.jsx("button",{onClick:y,className:"w-9 h-8 flex items-center justify-center hover:bg-white/10 text-neutral-300 hover:text-white transition-colors",title:"Zoom out",children:a.jsx(VL,{size:14})})]})},vY=gY,cE=()=>{},yY={x:0,y:0},xY=({children:e,hud:t,mode:n="canvas",panOffset:s=yY,scale:r=1,onPan:o=cE,onZoom:c=cE,onPanStart:u,onPanEnd:h,isTransitioning:f=!1,onViewportChange:g,onCanvasClick:v,canvasProps:y,zoomSensitivity:x,zoomControlsRightOffset:w,canvasContextMenuItems:k})=>{const C=p.useRef(null),T=p.useRef(r);T.current=r;const S=p.useRef(c);S.current=c;const N=p.useRef(o);N.current=o;const E=p.useRef(u);E.current=u;const A=p.useRef(h);A.current=h;const R=p.useRef(x);R.current=x;const[M,$]=p.useState(!1),O=p.useRef(!1),[U,_]=p.useState(!1),z=p.useRef(!1),q=p.useRef({x:0,y:0}),V=p.useRef(P=>{const H=P.target||document.activeElement;if(!H)return!1;const D=H.tagName;return!!(D==="INPUT"||D==="TEXTAREA"||H.isContentEditable||H.closest?.(".xterm"))});p.useEffect(()=>{if(n!=="canvas")return;const P=K=>{K.key!==" "||K.repeat||V.current(K)||f||(K.preventDefault(),O.current=!0,$(!0))},H=K=>{K.key===" "&&O.current&&(O.current=!1,$(!1),z.current&&(z.current=!1,_(!1),A.current?.()))},D=()=>{O.current&&(O.current=!1,$(!1),z.current&&(z.current=!1,_(!1),A.current?.()))};return window.addEventListener("keydown",P),window.addEventListener("keyup",H),window.addEventListener("blur",D),()=>{window.removeEventListener("keydown",P),window.removeEventListener("keyup",H),window.removeEventListener("blur",D)}},[n,f]);const G=p.useCallback(P=>{P.button===0&&(P.preventDefault(),z.current=!0,_(!0),q.current={x:P.clientX,y:P.clientY},E.current?.())},[]);return p.useEffect(()=>{if(!M)return;const P=D=>{if(!z.current)return;const K=(D.clientX-q.current.x)/T.current,W=(D.clientY-q.current.y)/T.current;q.current={x:D.clientX,y:D.clientY},N.current({x:K,y:W})},H=()=>{z.current&&(z.current=!1,_(!1),A.current?.())};return window.addEventListener("mousemove",P),window.addEventListener("mouseup",H),()=>{window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",H)}},[M]),p.useEffect(()=>{if(n!=="canvas")return;const P=H=>{if(H.ctrlKey||H.metaKey){H.preventDefault();const D=T.current,K=-H.deltaY*.001*(R.current??1),W=Math.min(Math.max(.2,D+K),3);T.current=W,S.current(W)}};return window.addEventListener("wheel",P,{passive:!1}),()=>window.removeEventListener("wheel",P)},[n]),p.useEffect(()=>{if(!g)return;let P=null;const H=()=>{P&&cancelAnimationFrame(P),P=requestAnimationFrame(()=>{g({width:window.innerWidth,height:window.innerHeight})})};return H(),window.addEventListener("resize",H),()=>{window.removeEventListener("resize",H),P&&cancelAnimationFrame(P)}},[g]),n==="panel"?a.jsxs("div",{ref:C,className:"fixed inset-0 bg-black text-neutral-200 overflow-hidden font-sans select-none z-0",children:[a.jsx("div",{className:"absolute inset-0 z-10 overflow-auto frame-scrollbar",children:e}),a.jsx("div",{className:"fixed inset-0 z-50 pointer-events-none overflow-hidden",children:t})]}):a.jsxs("div",{ref:C,className:"fixed inset-0 bg-black text-neutral-200 overflow-hidden font-sans select-none z-0",children:[a.jsx(pY,{items:k??[],children:a.jsx(MR,{panOffset:s,scale:r,onPan:o,onPanStart:u,onPanEnd:h,isPanLocked:f,onClick:v,showGuides:y?.showGuides,onGuidesChange:y?.onGuidesChange,gridOpacity:y?.gridOpacity})}),a.jsx("div",{className:"absolute z-10 pointer-events-none",style:{left:"50%",top:"50%",zoom:r},children:a.jsx("div",{style:{position:"absolute",left:s.x,top:s.y},children:e})}),M&&a.jsx("div",{className:`fixed inset-0 z-20 ${U?"cursor-grabbing":"cursor-grab"}`,onMouseDown:G}),a.jsx("div",{className:"fixed bottom-[36px] z-30",style:{right:(w??280)+16},children:a.jsx(vY,{scale:r,onZoom:P=>c(P)})}),a.jsx("div",{className:"fixed inset-0 z-50 pointer-events-none overflow-hidden",children:t})]})},bY=xY,wY=({title:e,subtitle:t,center:n,actions:s,onTitleClick:r,search:o})=>{const{dragRegionProps:c,onInteractiveMouseDown:u}=Km(),{navTotalHeight:h}=P0(),f=o&&o.value&&o.value.length>0;return a.jsx("div",{"data-frame-panel":"navigation",className:"fixed top-0 left-0 right-0 z-50 pointer-events-auto",...c,children:a.jsxs("div",{className:"bg-neutral-950/95 backdrop-blur-xl border-b border-neutral-700/80 shadow-[0_4px_30px_rgba(0,0,0,0.5)] flex items-end px-4",style:{height:h},children:[a.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-white/8 to-transparent"}),a.jsxs("div",{className:"absolute left-4 bottom-0 h-12 z-10 flex items-center gap-3 select-none",onMouseDown:u,children:[t&&a.jsx("span",{className:"text-neutral-400 flex items-center",children:t}),a.jsx("button",{onClick:r,className:"text-[22px] font-bold text-white tracking-[0.25em] font-mono leading-none bg-transparent border-none cursor-pointer",children:e})]}),n&&a.jsx("div",{className:"flex-1 flex justify-center h-12 items-center",onMouseDown:u,children:n}),a.jsxs("div",{className:"absolute right-4 bottom-0 h-12 z-10 flex items-center gap-3",onMouseDown:u,children:[s,o&&a.jsxs("div",{className:"relative w-[220px] bg-white/[0.06] border border-neutral-600/50 rounded px-2.5 hover:border-neutral-500/60 focus-within:border-neutral-400/50 focus-within:bg-white/[0.08] transition-all duration-200",children:[a.jsx(qm,{size:11,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-neutral-400"}),a.jsx("input",{type:"text",value:o.value,onChange:g=>o.onChange(g.target.value),placeholder:o.placeholder??"Search...",className:`
|
|
130
|
+
w-full h-7 pl-5 pr-6 bg-transparent text-[12px] font-mono tracking-wider
|
|
131
|
+
placeholder:text-neutral-400 text-neutral-200
|
|
132
|
+
focus:outline-none transition-all duration-200
|
|
133
|
+
${f?"text-emerald-400":""}
|
|
134
|
+
`}),f&&a.jsx("button",{onClick:()=>o.onChange(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-neutral-400 hover:text-white transition-colors",children:a.jsx(Gl,{size:12})})]})]})]})})},jY=wY,kY=({side:e,title:t,icon:n,isCollapsed:s=!1,onToggleCollapse:r,headerActions:o,footer:c,style:u,width:h,onResizeStart:f,children:g})=>{if(s){const T=e==="left"?ZL:JL;return a.jsx("button",{onClick:r,className:`fixed top-1/2 -translate-y-1/2 z-40 ${e==="left"?"left-3":"right-3"} p-2.5 rounded bg-neutral-950/95 border border-neutral-700/80 hover:border-emerald-500/60 backdrop-blur-xl shadow-[0_0_20px_rgba(0,0,0,0.5),inset_0_1px_0_rgba(255,255,255,0.08)] hover:shadow-[0_0_30px_rgba(16,185,129,0.2),inset_0_1px_0_rgba(255,255,255,0.1)] transition-all duration-200 group pointer-events-auto`,title:`Expand ${t||"panel"}`,children:a.jsx(T,{size:14,className:"text-neutral-400 group-hover:text-emerald-400 transition-colors",strokeWidth:1.5})})}const v=e==="left"?WL:YL,{panelTopOffset:y}=P0(),k=`bg-neutral-950/95 backdrop-blur-xl border border-neutral-700/80 shadow-[0_0_30px_rgba(0,0,0,0.8),inset_0_1px_0_rgba(255,255,255,0.08)] fixed bottom-[28px] z-40 rounded-none border-t-0 overflow-hidden ${e==="left"?"border-l-0 border-r-0":"border-r-0 border-l-0"}`,C={...u,position:"fixed",top:y,left:e==="left"?0:void 0,right:e==="right"?0:void 0,width:`${h||280}px`};return a.jsxs("div",{"data-frame-panel":e==="left"?"manifest":"inspector",className:`${k} pointer-events-none select-none font-mono text-[11px] flex flex-col`,style:C,children:[f&&a.jsxs("div",{className:`absolute top-0 ${e==="left"?"right-0":"left-0"} bottom-0 w-[7px] cursor-ew-resize z-50 pointer-events-auto group flex items-center justify-center`,onMouseDown:f,children:[a.jsx("div",{className:`absolute top-0 bottom-0 ${e==="left"?"right-0":"left-0"} w-px bg-neutral-700/80 group-hover:bg-emerald-500/50 transition-colors`}),a.jsxs("div",{className:"flex flex-col gap-[3px] opacity-0 group-hover:opacity-100 transition-opacity",children:[a.jsx("div",{className:"w-[3px] h-[3px] rounded-full bg-neutral-500 group-hover:bg-emerald-400/70"}),a.jsx("div",{className:"w-[3px] h-[3px] rounded-full bg-neutral-500 group-hover:bg-emerald-400/70"}),a.jsx("div",{className:"w-[3px] h-[3px] rounded-full bg-neutral-500 group-hover:bg-emerald-400/70"})]})]}),!f&&a.jsx("div",{className:`absolute top-0 ${e==="left"?"right-0":"left-0"} bottom-0 w-px bg-neutral-700/80`}),a.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-white/12 to-transparent z-10"}),a.jsxs("div",{className:"pointer-events-auto flex-1 flex flex-col overflow-hidden",children:[t&&a.jsx("div",{className:"shrink-0 p-4 border-b border-neutral-700/50",children:a.jsxs("div",{className:"flex items-center justify-between text-neutral-200 text-[12px]",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[n&&a.jsx("span",{className:"text-neutral-400",children:n}),a.jsx("span",{className:"tracking-widest font-bold uppercase",children:t})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[o,r&&a.jsx("button",{onClick:r,className:"p-1 hover:bg-white/10 rounded transition-colors text-neutral-400 hover:text-white",title:"Collapse panel",children:a.jsx(v,{size:12})})]})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto frame-scrollbar",children:g}),c&&a.jsx("div",{className:"shrink-0",children:c})]})]})},uE=kY,NY={emerald:{dot:"bg-emerald-500",ping:"bg-emerald-400",text:"text-emerald-500"},amber:{dot:"bg-amber-500",ping:"bg-amber-400",text:"text-amber-500"},red:{dot:"bg-red-500",ping:"bg-red-400",text:"text-red-500"},neutral:{dot:"bg-neutral-500",ping:"bg-neutral-400",text:"text-neutral-400"}},SY=({left:e,viewport:t,right:n,isMinimapCollapsed:s=!1,onExpandMinimap:r,status:o={label:"READY",color:"emerald"},onToggleTerminal:c,isTerminalOpen:u=!1})=>{const[h,f]=p.useState(new Date),[g,v]=p.useState(!1),[y,x]=p.useState(!1);p.useEffect(()=>{x(!0);const C=setInterval(()=>f(new Date),1e3);return()=>clearInterval(C)},[]);const w=NY[o.color],k=async()=>{if(!t)return;const C=`PAN: ${t.pan.x.toFixed(0)},${t.pan.y.toFixed(0)} | SIZE: ${t.canvasSize?.w??1024}x${t.canvasSize?.h??1024} | ZOOM: ${(t.zoom*100).toFixed(0)}%`;try{await navigator.clipboard.writeText(C),v(!0),setTimeout(()=>v(!1),1500)}catch{}};return a.jsxs("div",{"data-frame-panel":"status-bar",className:`${$V.statusBar} h-7 flex items-center justify-between px-3 select-none font-mono text-[12px] text-neutral-200 pointer-events-auto`,children:[a.jsxs("div",{className:"flex items-center gap-4",children:[s&&r&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{onClick:r,className:"flex items-center gap-1.5 px-2 py-0.5 rounded bg-white/5 border border-neutral-800 hover:bg-white/10 transition-colors text-neutral-400 hover:text-white",title:"Expand minimap",children:[a.jsx(OL,{size:10}),a.jsx("span",{className:"text-[11px] font-bold",children:"MAP"}),a.jsx(Fm,{size:8,className:"opacity-60"})]}),a.jsx("div",{className:"h-3 w-px bg-neutral-700"})]}),a.jsxs("div",{className:`flex items-center gap-2 ${w.text}`,children:[a.jsxs("div",{className:"relative flex h-2 w-2",children:[a.jsx("span",{className:`animate-ping absolute inline-flex h-full w-full rounded-full ${w.ping} opacity-75`}),a.jsx("span",{className:`relative inline-flex rounded-full h-2 w-2 ${w.dot}`})]}),a.jsx("span",{className:"font-bold tracking-wider",children:o.label})]}),e&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-3 w-px bg-neutral-700"}),e]})]}),t&&a.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 flex items-center gap-3 opacity-70 hover:opacity-100 transition-opacity",children:a.jsxs("button",{onClick:k,className:"flex items-center gap-3 hover:text-neutral-200 transition-colors cursor-pointer",title:"Copy viewport data",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"text-neutral-400",children:"PAN:"}),a.jsxs("span",{className:`tabular-nums ${g?"text-emerald-500":""}`,children:[t.pan.x.toFixed(0),",",t.pan.y.toFixed(0)]})]}),a.jsx("div",{className:"h-3 w-px bg-neutral-700"}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"text-neutral-400",children:"SIZE:"}),a.jsxs("span",{className:`tabular-nums ${g?"text-emerald-500":""}`,children:[t.canvasSize?.w??1024,"x",t.canvasSize?.h??1024]})]}),a.jsx("div",{className:"h-3 w-px bg-neutral-700"}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"text-neutral-400",children:"ZOOM:"}),a.jsxs("span",{className:`tabular-nums ${g?"text-emerald-500":""}`,children:[(t.zoom*100).toFixed(0),"%"]})]})]})}),a.jsxs("div",{className:"flex items-center gap-4",children:[n,n&&a.jsx("div",{className:"h-3 w-px bg-neutral-700"}),c&&a.jsxs(a.Fragment,{children:[a.jsxs("button",{onClick:c,className:`flex items-center gap-1.5 px-2 py-1 rounded transition-all ${u?"bg-emerald-500/10 text-emerald-400 border border-emerald-500/30":"text-neutral-400 hover:text-neutral-100 hover:bg-white/5 border border-transparent"}`,title:"Toggle Terminal (Ctrl+`)",children:[a.jsxs("span",{className:"text-[12px]",children:[">","_"]}),a.jsx("span",{className:"uppercase text-[11px] font-semibold tracking-wider",children:"Console"})]}),a.jsx("div",{className:"h-3 w-px bg-neutral-700"})]}),a.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-200 min-w-[60px] justify-end",children:[a.jsx(dL,{size:11,className:"text-neutral-400"}),a.jsx("span",{children:y?h.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"--:--"})]})]})]})},CY=SY,EY=({onOpenCommandPalette:e,extraControls:t})=>a.jsx("div",{className:"select-none font-mono text-[12px] border-t border-neutral-700/50",children:a.jsxs("div",{className:"px-3 py-2 flex items-center justify-between",children:[a.jsxs("button",{onClick:e,className:"flex items-center gap-1.5 text-neutral-400 hover:text-white transition-colors",children:[a.jsx(qm,{size:10}),a.jsx("span",{className:"tracking-widest font-bold uppercase",children:"Command Palette"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[t,a.jsx("kbd",{className:"text-[11px] text-neutral-400 font-mono",children:"⌘K"})]})]})}),TY=EY;typeof window<"u"&&localStorage.getItem("frame_sounds");var{statusBarHeight:Zf}=tp.layout,dE=120,AY=({isOpen:e,onClose:t,onToggleMaximize:n,isMaximized:s=!1,height:r=320,onHeightChange:o,title:c,headerActions:u,children:h})=>{const f=p.useRef(!1),g=p.useRef(null),v=p.useCallback(x=>{if(!o)return;x.preventDefault(),f.current=!0;const w=x.clientY,k=r;g.current&&(g.current.style.transition="none");const C=S=>{const N=w-S.clientY,E=window.innerHeight-Zf,A=Math.max(dE,Math.min(E,k+N));g.current&&(g.current.style.height=`${A}px`)},T=S=>{f.current=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",T),g.current&&(g.current.style.transition="");const N=w-S.clientY,E=window.innerHeight-Zf;o(Math.max(dE,Math.min(E,k+N)))};document.addEventListener("mousemove",C),document.addEventListener("mouseup",T)},[r,o]),y=s?`calc(100vh - ${Zf}px)`:`${r}px`;return a.jsxs("div",{ref:g,className:`
|
|
135
|
+
fixed left-0 right-0 shadow-[0_-10px_40px_rgba(0,0,0,0.8)] flex flex-col border-t border-neutral-700
|
|
136
|
+
bg-neutral-950/95 backdrop-blur-xl
|
|
137
|
+
${e?"translate-y-0 opacity-100 pointer-events-auto":"translate-y-full opacity-0 pointer-events-none"}
|
|
138
|
+
transition-all duration-300 ease-in-out
|
|
139
|
+
`,style:{bottom:Zf,height:y,zIndex:tp.zIndex.drawer},children:[a.jsxs("div",{className:"h-9 bg-neutral-900/70 border-b border-neutral-700 flex items-center justify-between px-3 shrink-0 select-none backdrop-blur-sm",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[c||a.jsxs("div",{className:"flex items-center gap-2 text-emerald-400",children:[a.jsx(KA,{size:14}),a.jsx("span",{className:"text-xs font-bold tracking-widest font-mono",children:"TERMINAL"})]}),u]}),a.jsx("div",{className:"flex-1 flex items-center justify-center h-full cursor-ns-resize text-neutral-500 hover:text-neutral-300 transition-colors group",title:"Drag to Resize",onMouseDown:v,children:a.jsx("div",{className:"w-16 h-1 rounded-full bg-neutral-700 group-hover:bg-neutral-500 transition-colors"})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:n,className:"p-1.5 rounded hover:bg-neutral-700 text-neutral-400 hover:text-white transition-colors",title:s?"Restore":"Maximize",children:s?a.jsx(GA,{size:14}):a.jsx(Fm,{size:14})}),a.jsx("button",{onClick:t,className:"p-1.5 rounded hover:bg-red-900/20 text-neutral-400 hover:text-red-400 transition-colors",title:"Close",children:a.jsx(Gl,{size:14})})]})]}),a.jsx("div",{className:"flex-1 relative overflow-hidden flex flex-col bg-transparent",children:h})]})},MY=AY,RY=({isOpen:e,onClose:t,commands:n})=>{const[s,r]=p.useState(""),[o,c]=p.useState(0),u=p.useRef(null),h=p.useRef(null),f=n.filter(v=>v.label.toLowerCase().includes(s.toLowerCase()));p.useEffect(()=>{e&&(setTimeout(()=>u.current?.focus(),10),r(""),c(0))},[e]),p.useEffect(()=>{c(0)},[s]),p.useEffect(()=>{h.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[o]);const g=v=>{v.key==="ArrowDown"?(v.preventDefault(),c(y=>(y+1)%f.length)):v.key==="ArrowUp"?(v.preventDefault(),c(y=>(y-1+f.length)%f.length)):v.key==="Enter"?(v.preventDefault(),f[o]&&(f[o].action(),t())):v.key==="Escape"&&t()};return e?a.jsx("div",{className:"fixed inset-0 z-[100] flex items-start justify-center pt-[15vh] bg-black/60 backdrop-blur-[2px] pointer-events-auto",onClick:t,children:a.jsxs("div",{className:"w-[640px] max-w-[90vw] bg-[#161616] border border-neutral-700 shadow-2xl rounded-lg overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-100",onClick:v=>v.stopPropagation(),children:[a.jsxs("div",{className:"flex items-center px-4 py-3 border-b border-neutral-700 gap-3",children:[a.jsx(qm,{className:"text-neutral-400",size:18}),a.jsx("input",{ref:u,className:"flex-1 bg-transparent border-none outline-none text-neutral-100 placeholder-neutral-500 font-mono text-sm",placeholder:"Type a command or search...",value:s,onChange:v=>r(v.target.value),onKeyDown:g,autoFocus:!0}),a.jsx("div",{className:"px-1.5 py-0.5 rounded bg-neutral-700 border border-neutral-700 text-[12px] text-neutral-200 font-mono",children:"ESC"})]}),a.jsxs("div",{className:"max-h-[300px] overflow-y-auto py-2 relative",children:[a.jsx("div",{className:"pb-2",children:f.length===0?a.jsx("div",{className:"px-4 py-8 text-center text-neutral-400 text-xs font-mono",children:"No matching commands"}):f.map((v,y)=>a.jsxs("div",{ref:y===o?h:null,className:`px-4 py-2.5 flex items-center gap-3 cursor-pointer transition-colors ${y===o?"bg-emerald-900/20 border-l-2 border-emerald-500":"border-l-2 border-transparent hover:bg-white/5"}`,onClick:()=>{v.action(),t()},onMouseEnter:()=>c(y),children:[v.icon&&a.jsx("div",{className:`text-neutral-300 ${y===o?"text-emerald-400":""}`,children:v.icon}),a.jsx("div",{className:"flex-1",children:a.jsx("div",{className:`text-sm ${y===o?"text-emerald-100":"text-neutral-200"}`,children:v.label})}),v.shortcut&&a.jsx("div",{className:"text-[12px] font-mono text-neutral-300 bg-neutral-800 px-1.5 py-0.5 rounded border border-neutral-700",children:v.shortcut}),y===o&&a.jsx(vL,{size:14,className:"text-emerald-500 ml-2"})]},v.id))}),f.length>6&&a.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-8 bg-gradient-to-t from-[#111] to-transparent pointer-events-none"})]}),a.jsxs("div",{className:"px-4 py-1.5 bg-neutral-800/90 backdrop-blur-sm border-t border-neutral-700 flex justify-between items-center text-[12px] text-neutral-300 font-mono relative z-10",children:[a.jsx("span",{children:"Command Palette"}),a.jsxs("span",{children:[f.length," matches"]})]})]})}):null},IY=RY;const T_=p.createContext(null),A_=p.createContext(null);function _Y({children:e}){const[t,n]=p.useState(null);return a.jsx(T_.Provider,{value:t,children:a.jsx(A_.Provider,{value:n,children:e})})}function OY(){return p.useContext(T_)}function $Y(e){const t=p.useContext(A_);p.useEffect(()=>{if(t)return t(e),()=>{t(n=>n?.id===e?.id?null:n)}},[e,t])}const yy=new Map;function PY(e){const t=e.replace(/\s+/g," ").trim();return t?t.length>180?`${t.slice(0,180)}...`:t:"empty body"}function xy(e,t,n){if(t)try{return JSON.parse(t)}catch{const s=n?.trim()||"non-JSON";throw new Error(`Expected JSON from ${e} but received ${s}: ${PY(t)}`)}}function DY(e){return e?JSON.stringify([...new Headers(e).entries()].sort(([t],[n])=>t.localeCompare(n))):""}function LY(e,t){return`${(t?.method??"GET").toUpperCase()}:${e}:${DY(t?.headers)}`}async function fE(e,t){const n=await fetch(e,{...t,headers:{...t?.headers??{},...t?.body?{"content-type":"application/json"}:{}}});if(!n.ok){const s=await n.text();let r=s||`HTTP ${n.status}`;try{const o=JSON.parse(s);o?.error&&(r=o.error)}catch{}throw new Error(r)}return{text:await n.text(),contentType:n.headers.get("content-type")}}async function ye(e,t){if(!((t?.method??"GET").toUpperCase()==="GET"&&!t?.body)){const u=await fE(e,t);return xy(e,u.text,u.contentType)}const r=LY(e,t),o=yy.get(r);if(o){const u=await o;return xy(e,u.text,u.contentType)}const c=fE(e,t);yy.set(r,c);try{const u=await c;return xy(e,u.text,u.contentType)}finally{yy.delete(r)}}function hd(){return!(typeof window>"u"||new URLSearchParams(window.location.search).has("no-ops"))}function zY(e){switch(e){case"profile":case"observe":case"message":return e;default:return}}function BY(e){switch(e){case"control":case"mission":case"command":case"warroom":case"conduct":case"conductor":return"mission";case"plan":return"plan";case"issues":case"errors":case"warnings":return"issues";case"agents":case"tail":case"atop":return e;default:return}}function UY(e){return e==="dm"||e==="channel"||e==="all"?e:void 0}function VY(e){return e==="recent"||e==="name"||e==="unread"?e:void 0}function FY(e){switch(e){case"tail":case"session":case"chat":case"work":return e;default:return}}function hE(e){return e==="mission"?"control":e}function HY(e){return e.searchParams.has("no-ops")?!1:typeof window>"u"?!0:hd()}function qY(e){const t=new URL(e.toString()),n=t.pathname.replace(/^\/+/,"").split("/").filter(Boolean),s=t.searchParams.get("compose")==="ask"?"ask":void 0,r=zY(t.searchParams.get("tab"));if(n[0]==="agent"&&n[1])return{view:"agent-info",conversationId:decodeURIComponent(n[1])};if(n[0]==="agents"&&n[1]&&n[2]==="c"&&n[3])return{view:"agents",agentId:decodeURIComponent(n[1]),conversationId:decodeURIComponent(n[3]),tab:r??"message"};if(n[0]==="agents"&&n[1]){const o=decodeURIComponent(n[1]);return r==="message"?{view:"agents",agentId:o,conversationId:ns(o),tab:"message"}:{view:"agents",agentId:o,...r?{tab:r}:{}}}if(n[0]==="agents")return{view:"agents"};if(n[0]==="fleet")return{view:"fleet"};if(n[0]==="c"&&n[1])return{view:"conversation",conversationId:decodeURIComponent(n[1]),...s?{composeMode:s}:{}};if(n[0]==="sessions"&&n[1])return{view:"sessions",sessionId:decodeURIComponent(n[1])};if(n[0]==="conversations")return{view:"conversations"};if(n[0]==="messages"){const o=UY(t.searchParams.get("filter")),c=VY(t.searchParams.get("sort"));return{view:"messages",...n[1]?{conversationId:decodeURIComponent(n[1])}:{},...o?{filter:o}:{},...c?{sort:c}:{}}}if(n[0]==="sessions")return{view:"sessions"};if(n[0]==="channels"&&n[1])return{view:"channels",channelId:decodeURIComponent(n[1])};if(n[0]==="channels")return{view:"channels"};if(n[0]==="mesh")return{view:"mesh"};if(n[0]==="broker")return{view:"broker"};if(n[0]==="briefings"&&n[1])return{view:"briefings",briefingId:decodeURIComponent(n[1])};if(n[0]==="briefings")return{view:"briefings"};if(n[0]==="activity")return{view:"activity"};if(n[0]==="work"&&n[1])return{view:"work",workId:decodeURIComponent(n[1])};if(n[0]==="follow"){const o=FY(t.searchParams.get("view")),c={view:"follow",...o?{preferredView:o}:{}},u=n[1],h=n[2]?decodeURIComponent(n[2]):"";u==="flight"&&h&&(c.flightId=h),u==="invocation"&&h&&(c.invocationId=h),u==="conversation"&&h&&(c.conversationId=h),u==="work"&&h&&(c.workId=h),u==="session"&&h&&(c.sessionId=h),u==="agent"&&h&&(c.targetAgentId=h);const f=t.searchParams.get("flightId"),g=t.searchParams.get("invocationId"),v=t.searchParams.get("conversationId"),y=t.searchParams.get("workId"),x=t.searchParams.get("sessionId"),w=t.searchParams.get("targetAgentId");return f&&(c.flightId=f),g&&(c.invocationId=g),v&&(c.conversationId=v),y&&(c.workId=y),x&&(c.sessionId=x),w&&(c.targetAgentId=w),c}if(n[0]==="settings")return n[1]==="agents"?{view:"settings",section:"agents",...n[2]?{agentId:decodeURIComponent(n[2])}:{}}:{view:"settings"};if(n[0]==="terminal")return{view:"terminal",...n[1]?{agentId:decodeURIComponent(n[1])}:{}};if(n[0]==="ops"){if(!HY(t))return{view:"inbox"};const o=BY(n[1])??"mission",c=o==="tail"?t.searchParams.get("q")?.trim():"";return{view:"ops",mode:o,...c?{tailQuery:c}:{}}}return{view:"inbox"}}function by(){return qY(window.location.href)}function WY(e){switch(e.view){case"inbox":return"/";case"conversation":{const t=new URLSearchParams;e.composeMode==="ask"&&t.set("compose","ask");const n=t.toString();return`/c/${encodeURIComponent(e.conversationId)}${n?`?${n}`:""}`}case"agent-info":return`/agent/${encodeURIComponent(e.conversationId)}`;case"agents":{const t=new URLSearchParams,n=!!e.agentId&&!!e.conversationId&&e.conversationId===ns(e.agentId),s=n?"profile":e.conversationId?"message":"profile";n?t.set("tab",e.tab??"message"):e.tab&&e.tab!==s&&t.set("tab",e.tab);const r=t.toString();return`${e.agentId?n?`/agents/${encodeURIComponent(e.agentId)}`:e.conversationId?`/agents/${encodeURIComponent(e.agentId)}/c/${encodeURIComponent(e.conversationId)}`:`/agents/${encodeURIComponent(e.agentId)}`:"/agents"}${r?`?${r}`:""}`}case"fleet":return"/fleet";case"conversations":return"/conversations";case"messages":{const t=new URLSearchParams;e.filter&&e.filter!=="all"&&t.set("filter",e.filter),e.sort&&e.sort!=="recent"&&t.set("sort",e.sort);const n=t.toString();return`${e.conversationId?`/messages/${encodeURIComponent(e.conversationId)}`:"/messages"}${n?`?${n}`:""}`}case"sessions":return e.sessionId?`/sessions/${encodeURIComponent(e.sessionId)}`:"/sessions";case"channels":return e.channelId?`/channels/${encodeURIComponent(e.channelId)}`:"/channels";case"mesh":return"/mesh";case"broker":return"/broker";case"briefings":return e.briefingId?`/briefings/${encodeURIComponent(e.briefingId)}`:"/briefings";case"activity":return"/activity";case"work":return`/work/${encodeURIComponent(e.workId)}`;case"settings":return e.section==="agents"?e.agentId?`/settings/agents/${encodeURIComponent(e.agentId)}`:"/settings/agents":"/settings";case"ops":return e.mode?e.mode==="tail"&&e.tailQuery?`/ops/${hE(e.mode)}?q=${encodeURIComponent(e.tailQuery)}`:`/ops/${hE(e.mode)}`:"/ops";case"follow":{const t=new URLSearchParams;e.preferredView&&t.set("view",e.preferredView),e.flightId&&t.set("flightId",e.flightId),e.invocationId&&t.set("invocationId",e.invocationId),e.conversationId&&t.set("conversationId",e.conversationId),e.workId&&t.set("workId",e.workId),e.sessionId&&t.set("sessionId",e.sessionId),e.targetAgentId&&t.set("targetAgentId",e.targetAgentId);const n=t.toString();return`/follow${n?`?${n}`:""}`}case"terminal":return e.agentId?`/terminal/${encodeURIComponent(e.agentId)}`:"/terminal"}}function wy(e){switch(e.view){case"conversation":return`conv:${e.conversationId}`;case"agent-info":return`agent-info:${e.conversationId}`;case"settings":return e.section==="agents"?`settings:agents:${e.agentId??""}`:"settings";case"agents":return e.conversationId?`agent-conv:${e.conversationId}:${e.tab??"message"}`:e.agentId?`agent:${e.agentId}:${e.tab??"profile"}`:"agents";case"sessions":return e.sessionId?`session:${e.sessionId}`:"sessions";case"messages":return e.conversationId?`messages:${e.conversationId}`:"messages";case"channels":return e.channelId?`channel:${e.channelId}`:"channels";case"work":return`work:${e.workId}`;case"ops":return`ops:${e.mode??"plan"}:${e.tailQuery??""}`;case"follow":return`follow:${e.flightId??e.invocationId??e.conversationId??e.workId??e.sessionId??e.targetAgentId??""}:${e.preferredView??""}`;default:return e.view}}function GY(){const[e,t]=p.useState(by),n=p.useRef({});p.useEffect(()=>{const r=()=>{const o=by();t(o),requestAnimationFrame(()=>{window.scrollTo(0,n.current[wy(o)]??0)})};return window.addEventListener("popstate",r),()=>window.removeEventListener("popstate",r)},[]);const s=p.useCallback(r=>{const o=r.view==="ops"&&!hd()?{view:"inbox"}:r;n.current[wy(by())]=window.scrollY,window.history.pushState(null,"",WY(o)),t(o),requestAnimationFrame(()=>{window.scrollTo(0,n.current[wy(o)]??0)})},[]);return{route:e,navigate:s}}function M_(e){const t=e.match(/^dm\.operator\.(.+)$/);return t?t[1]:null}function ns(e){return`dm.operator.${e}`}var ZY=Object.create,R_=Object.defineProperty,KY=Object.getOwnPropertyDescriptor,I_=Object.getOwnPropertyNames,YY=Object.getPrototypeOf,XY=Object.prototype.hasOwnProperty,ar=(e,t)=>function(){return t||(0,e[I_(e)[0]])((t={exports:{}}).exports,t),t.exports},JY=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=I_(t),o=0,c=r.length,u;o<c;o++)u=r[o],!XY.call(e,u)&&u!==n&&R_(e,u,{get:(h=>t[h]).bind(null,u),enumerable:!(s=KY(t,u))||s.enumerable});return e},An=(e,t,n)=>(n=e!=null?ZY(YY(e)):{},JY(R_(n,"default",{value:e,enumerable:!0}),e)),__=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,t){function n(s){"@babel/helpers - typeof";return t.exports=n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t.exports.__esModule=!0,t.exports.default=t.exports,n(s)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),QY=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,t){var n=__().default;function s(r,o){if(n(r)!="object"||!r)return r;var c=r[Symbol.toPrimitive];if(c!==void 0){var u=c.call(r,o||"default");if(n(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(r)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}}),eX=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,t){var n=__().default,s=QY();function r(o){var c=s(o,"string");return n(c)=="symbol"?c:c+""}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),To=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,t){var n=eX();function s(r,o,c){return(o=n(o))in r?Object.defineProperty(r,o,{value:c,enumerable:!0,configurable:!0,writable:!0}):r[o]=c,r}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}}),Ma=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,t){var n=To();function s(o,c){var u=Object.keys(o);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(o);c&&(h=h.filter(function(f){return Object.getOwnPropertyDescriptor(o,f).enumerable})),u.push.apply(u,h)}return u}function r(o){for(var c=1;c<arguments.length;c++){var u=arguments[c]!=null?arguments[c]:{};c%2?s(Object(u),!0).forEach(function(h){n(o,h,u[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(u)):s(Object(u)).forEach(function(h){Object.defineProperty(o,h,Object.getOwnPropertyDescriptor(u,h))})}return o}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}});function md(e){const t={subscribe(n){let s=null,r=!1,o=!1,c=!1;function u(){if(s===null){c=!0;return}o||(o=!0,typeof s=="function"?s():s&&s.unsubscribe())}return s=e({next(h){var f;r||(f=n.next)===null||f===void 0||f.call(n,h)},error(h){var f;r||(r=!0,(f=n.error)===null||f===void 0||f.call(n,h),u())},complete(){var h;r||(r=!0,(h=n.complete)===null||h===void 0||h.call(n),u())}}),c&&u(),{unsubscribe:u}},pipe(...n){return n.reduce(tX,t)}};return t}function tX(e,t){return t(e)}function nX(e){const t=new AbortController;return new Promise((s,r)=>{let o=!1;function c(){o||(o=!0,u.unsubscribe())}t.signal.addEventListener("abort",()=>{r(t.signal.reason)});const u=e.subscribe({next(h){o=!0,s(h),c()},error(h){r(h)},complete(){t.abort(),c()}})})}function sX(e){return t=>{let n=0,s=null;const r=[];function o(){s||(s=t.subscribe({next(u){for(const f of r){var h;(h=f.next)===null||h===void 0||h.call(f,u)}},error(u){for(const f of r){var h;(h=f.error)===null||h===void 0||h.call(f,u)}},complete(){for(const h of r){var u;(u=h.complete)===null||u===void 0||u.call(h)}}}))}function c(){if(n===0&&s){const u=s;s=null,u.unsubscribe()}}return md(u=>(n++,r.push(u),o(),{unsubscribe(){n--,c();const h=r.findIndex(f=>f===u);h>-1&&r.splice(h,1)}}))}}function O_(e){let t=e;const n=[],s=c=>{t!==void 0&&c.next(t),n.push(c)},r=c=>{n.splice(n.indexOf(c),1)},o=md(c=>(s(c),()=>{r(c)}));return o.next=c=>{if(t!==c){t=c;for(const u of n)u.next(c)}},o.get=()=>t,o}function aX(e){return md(t=>{function n(r=0,o=e.op){const c=e.links[r];if(!c)throw new Error("No more links to execute - did you forget to add an ending link?");return c({op:o,next(h){return n(r+1,h)}})}return n().subscribe(t)})}function Qu(e){return!!e&&!Array.isArray(e)&&typeof e=="object"}function rX(){return Object.create(null)}const mE=e=>e();function pE(e=0){return new Promise(t=>setTimeout(t,e))}var iX=Object.create,$_=Object.defineProperty,oX=Object.getOwnPropertyDescriptor,P_=Object.getOwnPropertyNames,lX=Object.getPrototypeOf,cX=Object.prototype.hasOwnProperty,pd=(e,t)=>function(){return t||(0,e[P_(e)[0]])((t={exports:{}}).exports,t),t.exports},uX=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=P_(t),o=0,c=r.length,u;o<c;o++)u=r[o],!cX.call(e,u)&&u!==n&&$_(e,u,{get:(h=>t[h]).bind(null,u),enumerable:!(s=oX(t,u))||s.enumerable});return e},vp=(e,t,n)=>(n=e!=null?iX(lX(e)):{},uX($_(n,"default",{value:e,enumerable:!0}),e));const D_=()=>{},gE=e=>{Object.freeze&&Object.freeze(e)};function L_(e,t,n){var s;const r=t.join(".");return(s=n[r])!==null&&s!==void 0||(n[r]=new Proxy(D_,{get(o,c){if(!(typeof c!="string"||c==="then"))return L_(e,[...t,c],n)},apply(o,c,u){const h=t[t.length-1];let f={args:u,path:t};return h==="call"?f={args:u.length>=2?[u[1]]:[],path:t.slice(0,-1)}:h==="apply"&&(f={args:u.length>=2?u[1]:[],path:t.slice(0,-1)}),gE(f.args),gE(f.path),e(f)}})),n[r]}const dX=e=>L_(e,[],rX()),fX=e=>new Proxy(D_,{get(t,n){if(n!=="then")return e(n)}});var z_=pd({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,t){function n(s){"@babel/helpers - typeof";return t.exports=n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t.exports.__esModule=!0,t.exports.default=t.exports,n(s)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),hX=pd({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,t){var n=z_().default;function s(r,o){if(n(r)!="object"||!r)return r;var c=r[Symbol.toPrimitive];if(c!==void 0){var u=c.call(r,o||"default");if(n(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(r)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}}),mX=pd({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,t){var n=z_().default,s=hX();function r(o){var c=s(o,"string");return n(c)=="symbol"?c:c+""}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}}),B_=pd({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,t){var n=mX();function s(r,o,c){return(o=n(o))in r?Object.defineProperty(r,o,{value:c,enumerable:!0,configurable:!0,writable:!0}):r[o]=c,r}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}}),D0=pd({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,t){var n=B_();function s(o,c){var u=Object.keys(o);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(o);c&&(h=h.filter(function(f){return Object.getOwnPropertyDescriptor(o,f).enumerable})),u.push.apply(u,h)}return u}function r(o){for(var c=1;c<arguments.length;c++){var u=arguments[c]!=null?arguments[c]:{};c%2?s(Object(u),!0).forEach(function(h){n(o,h,u[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(u)):s(Object(u)).forEach(function(h){Object.defineProperty(o,h,Object.getOwnPropertyDescriptor(u,h))})}return o}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}});vp(D0());vp(B_());var Kf=vp(D0());function pX(e,t){if("error"in e){const s=t.deserialize(e.error);return{ok:!1,error:(0,Kf.default)((0,Kf.default)({},e),{},{error:s})}}return{ok:!0,result:(0,Kf.default)((0,Kf.default)({},e.result),(!e.result.type||e.result.type==="data")&&{type:"data",data:t.deserialize(e.result.data)})}}var jy=class extends Error{constructor(){super("Unable to transform response from server")}};function gX(e,t){let n;try{n=pX(e,t)}catch{throw new jy}if(!n.ok&&(!Qu(n.error.error)||typeof n.error.error.code!="number"))throw new jy;if(n.ok&&!Qu(n.result))throw new jy;return n}vp(D0());var Yf=An(To()),ml=An(Ma());function vX(e){return e instanceof uo}function yX(e){return Qu(e)&&Qu(e.error)&&typeof e.error.code=="number"&&typeof e.error.message=="string"}function xX(e,t){return typeof e=="string"?e:Qu(e)&&typeof e.message=="string"?e.message:t}var uo=class Bh extends Error{constructor(t,n){var s,r;const o=n?.cause;super(t,{cause:o}),(0,Yf.default)(this,"cause",void 0),(0,Yf.default)(this,"shape",void 0),(0,Yf.default)(this,"data",void 0),(0,Yf.default)(this,"meta",void 0),this.meta=n?.meta,this.cause=o,this.shape=n==null||(s=n.result)===null||s===void 0?void 0:s.error,this.data=n==null||(r=n.result)===null||r===void 0?void 0:r.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,Bh.prototype)}static from(t,n={}){const s=t;return vX(s)?(n.meta&&(s.meta=(0,ml.default)((0,ml.default)({},s.meta),n.meta)),s):yX(s)?new Bh(s.error.message,(0,ml.default)((0,ml.default)({},n),{},{result:s,cause:n.cause})):new Bh(xX(s,"Unknown error"),(0,ml.default)((0,ml.default)({},n),{},{cause:s}))}};function bX(e){const t=e;return t?"input"in t?t:{input:t,output:t}:{input:{serialize:n=>n,deserialize:n=>n},output:{serialize:n=>n,deserialize:n=>n}}}An(Ma());An(Ma());An(Ma());An(Ma());const wX={encode:e=>JSON.stringify(e),decode:e=>{if(typeof e!="string")throw new Error("jsonEncoder received binary data. JSON uses text frames. Use a binary encoder for binary data.");return JSON.parse(e)}},jX={enabled:!1,closeMs:0},kX={enabled:!1,pongTimeoutMs:1e3,intervalMs:5e3},NX=e=>e===0?0:Math.min(1e3*2**e,3e4),U_=(e,...t)=>typeof e=="function"?e(...t):e;var SX=An(To()),pl=class V_ extends Error{constructor(t){super(t.message,{cause:t.cause}),this.name="TRPCWebSocketClosedError",Object.setPrototypeOf(this,V_.prototype)}},CX=class{constructor(e,t){this.onTimeout=e,this.timeoutMs=t,(0,SX.default)(this,"timeout",void 0)}reset(){this.timeout&&(clearTimeout(this.timeout),this.timeout=setTimeout(this.onTimeout,this.timeoutMs))}start(){clearTimeout(this.timeout),this.timeout=setTimeout(this.onTimeout,this.timeoutMs)}stop(){clearTimeout(this.timeout),this.timeout=void 0}};function F_(){let e,t;return{promise:new Promise((s,r)=>{e=s,t=r}),resolve:e,reject:t}}async function EX(e){const t=await U_(e.url);if(!e.connectionParams)return t;const s=`${t.includes("?")?"&":"?"}connectionParams=1`;return t+s}async function TX(e,t){const n={method:"connectionParams",data:await U_(e)};return t.encode(n)}var vE=An(To()),AX=class{constructor(){(0,vE.default)(this,"outgoingRequests",new Array),(0,vE.default)(this,"pendingRequests",{})}register(e,t){const{promise:n,resolve:s}=F_();return this.outgoingRequests.push({id:String(e.id),message:e,end:n,callbacks:{next:t.next,complete:()=>{t.complete(),s()},error:r=>{t.error(r),s()}}}),()=>{this.delete(e.id),t.complete(),s()}}delete(e){e!==null&&(this.outgoingRequests=this.outgoingRequests.filter(({id:t})=>t!==String(e)),delete this.pendingRequests[String(e)])}flush(){const e=this.outgoingRequests;this.outgoingRequests=[];for(const t of e)this.pendingRequests[t.id]=t;return e}getPendingRequests(){return Object.values(this.pendingRequests)}getPendingRequest(e){return e===null?null:this.pendingRequests[String(e)]}getOutgoingRequests(){return this.outgoingRequests}getRequests(){return[...this.getOutgoingRequests().map(e=>({state:"outgoing",message:e.message,end:e.end,callbacks:e.callbacks})),...this.getPendingRequests().map(e=>({state:"pending",message:e.message,end:e.end,callbacks:e.callbacks}))]}hasPendingRequests(){return this.getPendingRequests().length>0}hasPendingSubscriptions(){return this.getPendingRequests().some(e=>e.message.method==="subscription")}hasOutgoingRequests(){return this.outgoingRequests.length>0}},ui=An(To());function MX(e){const{promise:t,resolve:n,reject:s}=F_();return e.addEventListener("open",()=>{e.removeEventListener("error",s),n()}),e.addEventListener("error",s),t}function RX(e,{intervalMs:t,pongTimeoutMs:n}){let s,r;function o(){s=setTimeout(()=>{e.send("PING"),r=setTimeout(()=>{e.close()},n)},t)}function c(){clearTimeout(s),o()}function u(){clearTimeout(r),c()}e.addEventListener("open",o),e.addEventListener("message",({data:h})=>{clearTimeout(s),o(),h==="PONG"&&u()}),e.addEventListener("close",()=>{clearTimeout(s),clearTimeout(r)})}var H_=class Wx{constructor(t){var n;if((0,ui.default)(this,"id",++Wx.connectCount),(0,ui.default)(this,"WebSocketPonyfill",void 0),(0,ui.default)(this,"urlOptions",void 0),(0,ui.default)(this,"keepAliveOpts",void 0),(0,ui.default)(this,"encoder",void 0),(0,ui.default)(this,"wsObservable",O_(null)),(0,ui.default)(this,"openPromise",null),this.WebSocketPonyfill=(n=t.WebSocketPonyfill)!==null&&n!==void 0?n:WebSocket,!this.WebSocketPonyfill)throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=t.urlOptions,this.keepAliveOpts=t.keepAlive,this.encoder=t.encoder}get ws(){return this.wsObservable.get()}set ws(t){this.wsObservable.next(t)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var t=this;if(t.openPromise)return t.openPromise;t.id=++Wx.connectCount;const n=EX(t.urlOptions).then(s=>new t.WebSocketPonyfill(s));t.openPromise=n.then(async s=>{t.ws=s,s.binaryType="arraybuffer",s.addEventListener("message",function({data:r}){r==="PING"&&this.send("PONG")}),t.keepAliveOpts.enabled&&RX(s,t.keepAliveOpts),s.addEventListener("close",()=>{t.ws===s&&(t.ws=null)}),await MX(s),t.urlOptions.connectionParams&&s.send(await TX(t.urlOptions.connectionParams,t.encoder))});try{await t.openPromise}finally{t.openPromise=null}}async close(){var t=this;try{await t.openPromise}finally{var n;(n=t.ws)===null||n===void 0||n.close()}}};(0,ui.default)(H_,"connectCount",0);function IX(e){return e.isOpen()?{id:e.id,state:"open",ws:e.ws}:e.isClosed()?{id:e.id,state:"closed",ws:e.ws}:e.ws?{id:e.id,state:"connecting",ws:e.ws}:null}var Ba=An(To()),gl=An(Ma()),_X=class{constructor(e){var t,n;(0,Ba.default)(this,"connectionState",void 0),(0,Ba.default)(this,"allowReconnect",!1),(0,Ba.default)(this,"requestManager",new AX),(0,Ba.default)(this,"activeConnection",void 0),(0,Ba.default)(this,"reconnectRetryDelay",void 0),(0,Ba.default)(this,"inactivityTimeout",void 0),(0,Ba.default)(this,"callbacks",void 0),(0,Ba.default)(this,"lazyMode",void 0),(0,Ba.default)(this,"encoder",void 0),(0,Ba.default)(this,"reconnecting",null),this.encoder=(t=e.experimental_encoder)!==null&&t!==void 0?t:wX,this.callbacks={onOpen:e.onOpen,onClose:e.onClose,onError:e.onError};const s=(0,gl.default)((0,gl.default)({},jX),e.lazy);this.inactivityTimeout=new CX(()=>{if(this.requestManager.hasOutgoingRequests()||this.requestManager.hasPendingRequests()){this.inactivityTimeout.reset();return}this.close().catch(()=>null)},s.closeMs),this.activeConnection=new H_({WebSocketPonyfill:e.WebSocket,urlOptions:e,keepAlive:(0,gl.default)((0,gl.default)({},kX),e.keepAlive),encoder:this.encoder}),this.activeConnection.wsObservable.subscribe({next:r=>{r&&this.setupWebSocketListeners(r)}}),this.reconnectRetryDelay=(n=e.retryDelayMs)!==null&&n!==void 0?n:NX,this.lazyMode=s.enabled,this.connectionState=O_({type:"state",state:s.enabled?"idle":"connecting",error:null}),this.lazyMode||this.open().catch(()=>null)}async open(){var e=this;e.allowReconnect=!0,e.connectionState.get().state==="idle"&&e.connectionState.next({type:"state",state:"connecting",error:null});try{await e.activeConnection.open()}catch(t){return e.reconnect(new pl({message:"Initialization error",cause:t})),e.reconnecting}}async close(){var e=this;e.allowReconnect=!1,e.inactivityTimeout.stop();const t=[];for(const n of e.requestManager.getRequests())n.message.method==="subscription"?n.callbacks.complete():n.state==="outgoing"?n.callbacks.error(uo.from(new pl({message:"Closed before connection was established"}))):t.push(n.end);await Promise.all(t).catch(()=>null),await e.activeConnection.close().catch(()=>null),e.connectionState.next({type:"state",state:"idle",error:null})}request({op:{id:e,type:t,path:n,input:s,signal:r},transformer:o,lastEventId:c}){return md(u=>{const h=this.batchSend({id:e,method:t,params:{input:o.input.serialize(s),path:n,lastEventId:c}},(0,gl.default)((0,gl.default)({},u),{},{next(f){const g=gX(f,o.output);if(!g.ok){u.error(uo.from(g.error));return}u.next({result:g.result})}}));return()=>{h(),t==="subscription"&&this.activeConnection.isOpen()&&this.send({id:e,method:"subscription.stop"}),r?.removeEventListener("abort",h)}})}get connection(){return IX(this.activeConnection)}reconnect(e){var t=this;if(this.connectionState.next({type:"state",state:"connecting",error:uo.from(e)}),this.reconnecting)return;const n=async s=>{try{await pE(t.reconnectRetryDelay(s)),t.allowReconnect&&(await t.activeConnection.close(),await t.activeConnection.open(),t.requestManager.hasPendingRequests()&&t.send(t.requestManager.getPendingRequests().map(({message:r})=>r))),t.reconnecting=null}catch{await n(s+1)}};this.reconnecting=n(0)}setupWebSocketListeners(e){var t=this;const n=s=>{const r=this.requestManager.getPendingRequests();for(const{message:o,callbacks:c}of r)o.method!=="subscription"&&(c.error(uo.from(s??new pl({message:"WebSocket closed",cause:s}))),this.requestManager.delete(o.id))};e.addEventListener("open",()=>{mE(async()=>{var s,r;t.lazyMode&&t.inactivityTimeout.start(),(s=(r=t.callbacks).onOpen)===null||s===void 0||s.call(r),t.connectionState.next({type:"state",state:"pending",error:null})}).catch(s=>{e.close(3e3),n(s)})}),e.addEventListener("message",({data:s})=>{if(this.inactivityTimeout.reset(),["PING","PONG"].includes(s))return;const r=this.encoder.decode(s);if("method"in r){this.handleIncomingRequest(r);return}this.handleResponseMessage(r)}),e.addEventListener("close",s=>{var r,o;n(s),(r=(o=this.callbacks).onClose)===null||r===void 0||r.call(o,s),(!this.lazyMode||this.requestManager.hasPendingSubscriptions())&&this.reconnect(new pl({message:"WebSocket closed",cause:s}))}),e.addEventListener("error",s=>{var r,o;n(s),(r=(o=this.callbacks).onError)===null||r===void 0||r.call(o,s),this.reconnect(new pl({message:"WebSocket closed",cause:s}))})}handleResponseMessage(e){const t=this.requestManager.getPendingRequest(e.id);if(!t)return;t.callbacks.next(e);let n=!0;"result"in e&&t.message.method==="subscription"&&(e.result.type==="data"&&(t.message.params.lastEventId=e.result.id),e.result.type!=="stopped"&&(n=!1)),n&&(t.callbacks.complete(),this.requestManager.delete(e.id))}handleIncomingRequest(e){e.method==="reconnect"&&this.reconnect(new pl({message:"Server requested reconnect"}))}send(e){if(!this.activeConnection.isOpen())throw new Error("Active connection is not open");const t=e instanceof Array?e:[e];this.activeConnection.ws.send(this.encoder.encode(t.length===1?t[0]:t))}batchSend(e,t){var n=this;return this.inactivityTimeout.reset(),mE(async()=>{n.activeConnection.isOpen()||await n.open(),await pE(0),n.requestManager.hasOutgoingRequests()&&n.send(n.requestManager.flush().map(({message:s})=>s))}).catch(s=>{this.requestManager.delete(e.id),t.error(uo.from(s))}),this.requestManager.register(e,t)}};function q_(e){return new _X(e)}function W_(e){const{client:t}=e,n=bX(e.transformer);return()=>({op:s})=>md(r=>{const o=s.type==="subscription"?t.connectionState.subscribe({next(u){r.next({result:u,context:s.context})}}):null,c=t.request({op:s,transformer:n}).subscribe(r);return()=>{c.unsubscribe(),o?.unsubscribe()}})}var ky=An(To()),yE=An(Ma()),OX=class{constructor(e){(0,ky.default)(this,"links",void 0),(0,ky.default)(this,"runtime",void 0),(0,ky.default)(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=e.links.map(t=>t(this.runtime))}$request(e){var t;return aX({links:this.links,op:(0,yE.default)((0,yE.default)({},e),{},{context:(t=e.context)!==null&&t!==void 0?t:{},id:++this.requestId})}).pipe(sX())}async requestAsPromise(e){var t=this;try{const n=t.$request(e);return(await nX(n)).result.data}catch(n){throw uo.from(n)}}query(e,t,n){return this.requestAsPromise({type:"query",path:e,input:t,context:n?.context,signal:n?.signal})}mutation(e,t,n){return this.requestAsPromise({type:"mutation",path:e,input:t,context:n?.context,signal:n?.signal})}subscription(e,t,n){return this.$request({type:"subscription",path:e,input:t,context:n.context,signal:n.signal}).subscribe({next(r){switch(r.result.type){case"state":{var o;(o=n.onConnectionStateChange)===null||o===void 0||o.call(n,r.result);break}case"started":{var c;(c=n.onStarted)===null||c===void 0||c.call(n,{context:r.context});break}case"stopped":{var u;(u=n.onStopped)===null||u===void 0||u.call(n);break}case"data":case void 0:{var h;(h=n.onData)===null||h===void 0||h.call(n,r.result.data);break}}},error(r){var o;(o=n.onError)===null||o===void 0||o.call(n,r)},complete(){var r;(r=n.onComplete)===null||r===void 0||r.call(n)}})}};const $X=Symbol.for("trpc_untypedClient"),PX={query:"query",mutate:"mutation",subscribe:"subscription"},DX=e=>PX[e];function LX(e){const t=dX(({path:n,args:s})=>{const r=[...n],o=DX(r.pop()),c=r.join(".");return e[o](c,...s)});return fX(n=>n===$X?e:t[n])}function G_(e){const t=new OX(e);return LX(t)}An(Ma());An(Ma());var zX=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(e,t){function n(r){var o,c,u,h=2;for(typeof Symbol<"u"&&(c=Symbol.asyncIterator,u=Symbol.iterator);h--;){if(c&&(o=r[c])!=null)return o.call(r);if(u&&(o=r[u])!=null)return new s(o.call(r));c="@@asyncIterator",u="@@iterator"}throw new TypeError("Object is not async iterable")}function s(r){function o(c){if(Object(c)!==c)return Promise.reject(new TypeError(c+" is not an object."));var u=c.done;return Promise.resolve(c.value).then(function(h){return{value:h,done:u}})}return s=function(u){this.s=u,this.n=u.next},s.prototype={s:null,n:null,next:function(){return o(this.n.apply(this.s,arguments))},return:function(u){var h=this.s.return;return h===void 0?Promise.resolve({value:u,done:!0}):o(h.apply(this.s,arguments))},throw:function(u){var h=this.s.return;return h===void 0?Promise.reject(u):o(h.apply(this.s,arguments))}},new s(r)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}});An(zX());An(Ma());var BX=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(e,t){function n(){var s=typeof SuppressedError=="function"?SuppressedError:function(u,h){var f=Error();return f.name="SuppressedError",f.error=u,f.suppressed=h,f},r={},o=[];function c(u,h){if(h!=null){if(Object(h)!==h)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(u)var f=h[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(f===void 0&&(f=h[Symbol.dispose||Symbol.for("Symbol.dispose")],u))var g=f;if(typeof f!="function")throw new TypeError("Object is not disposable.");g&&(f=function(){try{g.call(h)}catch(y){return Promise.reject(y)}}),o.push({v:h,d:f,a:u})}else u&&o.push({d:h,a:u});return h}return{e:r,u:c.bind(null,!1),a:c.bind(null,!0),d:function(){var h,f=this.e,g=0;function v(){for(;h=o.pop();)try{if(!h.a&&g===1)return g=0,o.push(h),Promise.resolve().then(v);if(h.d){var x=h.d.call(h.v);if(h.a)return g|=2,Promise.resolve(x).then(v,y)}else g|=1}catch(w){return y(w)}if(g===1)return f!==r?Promise.reject(f):Promise.resolve();if(f!==r)throw f}function y(x){return f=f!==r?new s(x,f):x,v()}return v()}}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),Z_=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(e,t){function n(s,r){this.v=s,this.k=r}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}}),UX=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(e,t){var n=Z_();function s(r){return new n(r,0)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}}),VX=ar({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(e,t){var n=Z_();function s(o){return function(){return new r(o.apply(this,arguments))}}function r(o){var c,u;function h(g,v){try{var y=o[g](v),x=y.value,w=x instanceof n;Promise.resolve(w?x.v:x).then(function(k){if(w){var C=g==="return"?"return":"next";if(!x.k||k.done)return h(C,k);k=o[C](k).value}f(y.done?"return":"normal",k)},function(k){h("throw",k)})}catch(k){f("throw",k)}}function f(g,v){switch(g){case"return":c.resolve({value:v,done:!0});break;case"throw":c.reject(v);break;default:c.resolve({value:v,done:!1})}(c=c.next)?h(c.key,c.arg):u=null}this._invoke=function(g,v){return new Promise(function(y,x){var w={key:g,arg:v,resolve:y,reject:x,next:null};u?u=u.next=w:(c=u=w,h(g,v))})},typeof o.return!="function"&&(this.return=void 0)}r.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},r.prototype.next=function(o){return this._invoke("next",o)},r.prototype.throw=function(o){return this._invoke("throw",o)},r.prototype.return=function(o){return this._invoke("return",o)},t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}});An(BX());An(UX());An(VX());An(Ma());const Bl=new Set;let Ny=null,xE=null,Ou=null,Ul=null;function FX(){return`ws://${typeof window<"u"?window.location.hostname:"127.0.0.1"}:65535/trpc`}function HX(e){for(const t of[...Bl])t(e)}function qX(){Ul||Bl.size===0||(Ul=setTimeout(()=>{Ul=null,K_()},2e3))}function K_(){Ou||Bl.size===0||(Ny||(Ny=q_({url:FX()}),xE=G_({links:[W_({client:Ny})]})),Ou=xE.control.events.subscribe(void 0,{onData:e=>{const t=e.data;t&&HX(t)},onError:()=>{Ou=null,qX()}}))}function WX(){Ul&&(clearTimeout(Ul),Ul=null),Ou?.unsubscribe(),Ou=null}function GX(e){return Bl.add(e),K_(),()=>{Bl.delete(e),!(Bl.size>0)&&WX()}}function an(e){const t=p.useRef(e);t.current=e,p.useEffect(()=>GX(n=>{t.current(n)}),[])}function et(e){return e==="working"?"working":!e||e==="offline"?"offline":"available"}function Si(e){return et(e)!=="offline"}function Ra(e){switch(et(e)){case"working":return"Working";case"available":return"Available";default:return"Offline"}}const L0="ranger.main.mini",ZX=new Set([L0,"ranger","@ranger"]),KX=new Set(["plan","conductor","conduct","warroom","command","mission","control","issues","errors","warnings","agents","tail","atop"]),YX=new Set(["available","working","active","idle","waiting","registered"]);function z0(e){return[e.id,e.name,e.handle??"",e.selector??"",e.role??""].map(n=>n.trim().toLowerCase()).some(n=>ZX.has(n)||n==="ranger"||n.startsWith("ranger.")||n.includes(".ranger.")||n.includes(" ranger"))}function XX(e){return YX.has(e.state?.trim().toLowerCase()??"")}function bE(e){if(!z0(e))return Number.NEGATIVE_INFINITY;let t=0;return XX(e)&&(t+=100),e.handle?.trim().toLowerCase()==="ranger"&&(t+=20),e.selector?.trim().toLowerCase()==="@ranger"&&(t+=20),e.role?.trim().toLowerCase()==="ranger"&&(t+=10),e.id===L0&&(t+=1),t}function JX(e){return e.filter(z0).sort((t,n)=>{const s=bE(n)-bE(t);return s!==0?s:(n.updatedAt??0)-(t.updatedAt??0)})[0]??null}function QX(e){return JX(e)?.id??L0}function eJ(e){return`dm.operator.${e}`}const tJ=new Set(["scout-ui","scout-ui-action","ranger-ui"]),wE=/```([a-zA-Z0-9_-]*)\s*([\s\S]*?)```/g;function Y_(e){const t=[];let n="",s=0;wE.lastIndex=0;let r;for(;(r=wE.exec(e))!==null;){const[o,c,u]=r,h=(c??"").toLowerCase(),f=u??"";let g=[],v=!1;tJ.has(h)?(v=!0,g=jE(f)):(h==="json"||h==="")&&(g=jE(f),g.length>0&&(v=!0)),v&&(t.push(...g),n+=e.slice(s,r.index),s=r.index+o.length)}return n+=e.slice(s),{stripped:n.replace(/\n{3,}/g,`
|
|
140
|
+
|
|
141
|
+
`).trim(),actions:t}}function nJ(e){return Y_(e).actions}function wu(e){return Y_(e).stripped}function jE(e){const t=e.trim();if(!t)return[];try{const n=JSON.parse(t);return(Array.isArray(n)?n:[n]).map(r=>B0(r)).filter(r=>!!r)}catch{return[]}}function B0(e){if(!e||typeof e!="object")return null;const t=e,n=t.scoutUi??t.scout_ui??t.rangerUi??t.ranger_ui;if(n)return B0(n);const s=typeof t.type=="string"?t.type:typeof t.action=="string"?t.action:"",r=typeof t.reason=="string"?t.reason:void 0;if(s==="open-ranger"||s==="open_ranger"){const c=t.mode==="tell"?"tell":t.mode==="ask"?"ask":void 0;return{type:"open-ranger",...c?{mode:c}:{},...r?{reason:r}:{}}}if(s==="refresh")return{type:"refresh",...r?{reason:r}:{}};if(s==="ask-agent"||s==="ask_agent"||s==="scout-ask"||s==="scout_ask"){const c=so(t.targetLabel,t.target_label,t.target,t.to,t.agent,t.handle),u=so(t.targetAgentId,t.target_agent_id,t.agentId,t.agent_id),h=so(t.body,t.message,t.prompt,t.task,t.question),f=so(t.channel);return!h?.trim()||!c?.trim()&&!u?.trim()?null:{type:"ask-agent",targetLabel:(c??u??"").trim(),body:h.trim(),...u?.trim()?{targetAgentId:u.trim()}:{},...f?.trim()?{channel:f.trim()}:{},...r?{reason:r}:{}}}if(s==="view-file"||s==="view_file"||s==="open-file"||s==="open_file"){const c=so(t.path,t.file,t.target);return c?.trim()?{type:"view-file",path:c.trim(),...r?{reason:r}:{}}:null}if(s==="reminder"||s==="set-reminder"||s==="set_reminder"||s==="remind"){const c=so(t.body,t.text,t.prompt,t.message);if(!c?.trim())return null;const u=so(t.title,t.label),h=sJ(t.dueAt??t.due_at),f=Gx(t.delayMs??t.delay_ms),g=Gx(t.delayMinutes??t.delay_minutes);return{type:"reminder",body:c.trim(),...u?.trim()?{title:u.trim()}:{},...h!==null?{dueAt:h}:{},...f!==null?{delayMs:f}:{},...g!==null?{delayMinutes:g}:{},...r?{reason:r}:{}}}if(s!=="navigate"&&s!=="open")return null;const o=aJ(t.route??t);return o?{type:"navigate",route:o,...r?{reason:r}:{}}:null}function so(...e){for(const t of e)if(typeof t=="string"&&t.trim())return t;return null}function Gx(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e!="string")return null;const t=Number(e.trim());return Number.isFinite(t)?t:null}function sJ(e){const t=Gx(e);if(t!==null)return t;if(typeof e!="string")return null;const n=Date.parse(e);return Number.isFinite(n)?n:null}function aJ(e){if(!e||typeof e!="object")return null;const t=e;switch(typeof t.view=="string"?t.view:""){case"inbox":return{view:"inbox"};case"fleet":return{view:"fleet"};case"agents":return{view:"agents",...typeof t.agentId=="string"?{agentId:t.agentId}:{},...typeof t.conversationId=="string"?{conversationId:t.conversationId}:{},...t.tab==="profile"||t.tab==="observe"||t.tab==="message"?{tab:t.tab}:{}};case"sessions":return{view:"sessions",...typeof t.sessionId=="string"?{sessionId:t.sessionId}:{}};case"mesh":return{view:"mesh"};case"broker":return{view:"broker"};case"activity":return{view:"activity"};case"settings":return{view:"settings"};case"terminal":return{view:"terminal",...typeof t.agentId=="string"?{agentId:t.agentId}:{}};case"work":return typeof t.workId=="string"?{view:"work",workId:t.workId}:null;case"conversation":return typeof t.conversationId=="string"?{view:"conversation",conversationId:t.conversationId,...t.composeMode==="ask"||t.composeMode==="tell"?{composeMode:t.composeMode}:{}}:null;case"ops":{const s=typeof t.mode=="string"&&KX.has(t.mode)?rJ(t.mode):void 0;return{view:"ops",...s?{mode:s}:{}}}default:return null}}function rJ(e){switch(e){case"control":case"mission":case"command":case"warroom":case"conduct":case"conductor":return"mission";case"plan":return"plan";case"issues":case"errors":case"warnings":return"issues";case"agents":case"tail":case"atop":return e;default:return}}const X_={current:null,setMenu:null};function gd(){return p.useCallback((e,t)=>{e.preventDefault(),e.stopPropagation(),X_.setMenu?.({position:{x:e.clientX,y:e.clientY},items:t})},[])}function iJ({children:e}){const[t,n]=p.useState(null),s=p.useRef(null);X_.setMenu=n;const r=p.useCallback(()=>{n(null)},[]);return p.useEffect(()=>{if(!t)return;const o=()=>r(),c=f=>{f.key==="Escape"&&r()},u=()=>r(),h=f=>{f.defaultPrevented||r()};return window.addEventListener("mousedown",o,!0),window.addEventListener("keydown",c),window.addEventListener("wheel",u,!0),window.addEventListener("contextmenu",h),()=>{window.removeEventListener("mousedown",o,!0),window.removeEventListener("keydown",c),window.removeEventListener("wheel",u,!0),window.removeEventListener("contextmenu",h)}},[t,r]),p.useLayoutEffect(()=>{if(!t||!s.current)return;const o=s.current,c=o.getBoundingClientRect(),u=window.innerWidth,h=window.innerHeight;let f=t.position.x,g=t.position.y;f+c.width>u-8&&(f=u-c.width-8),g+c.height>h-8&&(g=h-c.height-8),f<8&&(f=8),g<8&&(g=8),o.style.left=`${f}px`,o.style.top=`${g}px`,o.style.visibility="visible"},[t]),a.jsxs(a.Fragment,{children:[e,t&&a.jsx("div",{ref:s,className:"s-context-menu",style:{left:t.position.x,top:t.position.y,visibility:"hidden"},role:"menu",onMouseDown:o=>o.stopPropagation(),children:t.items.map((o,c)=>o.kind==="separator"?a.jsx("div",{className:"s-context-menu-sep",role:"separator"},c):a.jsxs("button",{type:"button",className:"s-context-menu-item",role:"menuitem",onClick:()=>{o.onSelect(),r()},children:[a.jsx("span",{className:"s-context-menu-label",children:o.label}),o.shortcut&&a.jsx("span",{className:"s-context-menu-shortcut",children:o.shortcut})]},c))})]})}const oJ={cjs:"javascript",css:"css",htm:"html",html:"html",js:"javascript",jsx:"javascript",json:"json",mjs:"javascript",md:"markdown",mdx:"markdown",sh:"shell",ts:"typescript",tsx:"typescript",txt:"plain"},lJ=new Set(["cjs","css","htm","html","js","jsx","json","mjs","sh","ts","tsx"]);function J_(e){const n=(e.filename??e.title??e.uri??"").split(/[?#]/)[0],s=n.split("/").pop()??n,r=s.lastIndexOf(".");return r>=0?s.slice(r+1).toLowerCase():""}function cJ(e){const t=e.mediaType?.toLowerCase()??"";return t.includes("json")?"json":t.includes("markdown")?"markdown":t.includes("javascript")?"javascript":t.includes("typescript")?"typescript":t.includes("html")?"html":t.includes("css")?"css":t.includes("shell")||t.includes("x-sh")?"shell":oJ[J_(e)]??"plain"}function uJ(e){const t=e.mediaType?.toLowerCase()??"",n=J_(e);if(t.includes("markdown")||n==="md"||n==="mdx")return"markdown";if(t.includes("json")||t.includes("javascript")||t.includes("typescript")||t.includes("html")||t.includes("xml")||t.includes("css")||lJ.has(n))return"code";if(t.startsWith("text/")||n==="txt")return"text";const s=e.value.trim();return/^#{1,6}\s+/m.test(s)||/```[\s\S]*```/.test(s)?"markdown":"text"}function vd(e){const t=e.title??e.filename??e.uri?.split("/").pop()??"Untitled",n=e.language??cJ(e);return{id:e.id??e.uri??t,title:t,uri:e.uri,mediaType:e.mediaType,language:n,kind:e.kind??uJ(e),value:e.value,readOnly:e.readOnly}}function yp({document:e,mode:t,className:n}){const s=t??(e.kind==="markdown"?"preview":"read"),r=e.kind==="markdown"&&s==="preview"?a.jsx(fJ,{markdown:e.value}):a.jsx(dJ,{document:e});return a.jsx("div",{className:`s-text-document-surface s-text-document-surface-${e.kind}${n?` ${n}`:""}`,children:r})}function dJ({document:e}){const t=p.useMemo(()=>Q_(e.value,e.language??e.kind),[e.language,e.kind,e.value]);return a.jsx("pre",{className:"s-text-document-code","data-language":e.language??e.kind,children:a.jsx("code",{children:t})})}function fJ({markdown:e}){const t=hJ(e);return a.jsx("div",{className:"s-text-document-markdown",children:t.length>0?t:a.jsx("p",{})})}function hJ(e){const t=e.replace(/\r\n/g,`
|
|
142
|
+
`).split(`
|
|
143
|
+
`),n=[];let s=0;for(;s<t.length;){const r=t[s]??"";if(!r.trim()){s+=1;continue}const o=/^```(\S*)\s*$/.exec(r);if(o){const f=[];for(s+=1;s<t.length&&!/^```\s*$/.test(t[s]??"");)f.push(t[s]??""),s+=1;s<t.length&&(s+=1),n.push({kind:"code",content:f.join(`
|
|
144
|
+
`),language:o[1]||void 0});continue}const c=/^(#{1,6})\s+(.+)$/.exec(r);if(c){n.push({kind:"heading",depth:mJ(c[1].length),content:c[2].trim()}),s+=1;continue}if(/^ {0,3}([-*_])(?:\s*\1){2,}\s*$/.test(r)){n.push({kind:"hr"}),s+=1;continue}if(/^>\s?/.test(r)){const f=[];for(;s<t.length&&/^>\s?/.test(t[s]??"");)f.push((t[s]??"").replace(/^>\s?/,"")),s+=1;n.push({kind:"blockquote",content:f.join(" ")});continue}const u=/^(\s*)([-*+]|\d+[.)])\s+(.+)$/.exec(r);if(u){const f=/\d/.test(u[2]),g=[];for(;s<t.length;){const v=/^(\s*)([-*+]|\d+[.)])\s+(.+)$/.exec(t[s]??"");if(!v||/\d/.test(v[2])!==f)break;g.push(v[3]),s+=1}n.push({kind:"list",ordered:f,items:g});continue}const h=[];for(;s<t.length;){const f=t[s]??"";if(!f.trim()||/^```/.test(f)||/^(#{1,6})\s+/.test(f)||/^ {0,3}([-*_])(?:\s*\1){2,}\s*$/.test(f)||/^>\s?/.test(f)||/^(\s*)([-*+]|\d+[.)])\s+/.test(f))break;h.push(f.trim()),s+=1}n.push({kind:"paragraph",content:h.join(" ")})}return n.map((r,o)=>pJ(r,o))}function mJ(e){return e<=1?1:e===2?2:e===3?3:e===4?4:e===5?5:6}function pJ(e,t){switch(e.kind){case"heading":{const s=`h${e.depth}`;return a.jsx(s,{children:Xf(e.content)},t)}case"paragraph":return a.jsx("p",{children:Xf(e.content)},t);case"blockquote":return a.jsx("blockquote",{children:Xf(e.content)},t);case"list":{const s=e.ordered?"ol":"ul";return a.jsx(s,{children:e.items.map((r,o)=>a.jsx("li",{children:Xf(r)},`${t}:${o}`))},t)}case"code":const n=eO(e.language);return a.jsx("pre",{className:"s-text-document-fenced-code","data-language":n,children:a.jsx("code",{children:Q_(e.content,n)})},t);case"hr":return a.jsx("hr",{},t)}}const gJ=/\/\/[^\n]*|\/\*[\s\S]*?\*\/|`(?:\\[\s\S]|[^`\\])*`|'(?:\\.|[^'\\\n])*'|"(?:\\.|[^"\\\n])*"|\b\d+(?:\.\d+)?(?:e[+-]?\d+)?n?\b|\b[A-Za-z_$][\w$]*\b|=>|[{}()[\].,;:?]|[-+*/%=&|!<>~^]+/giu,vJ=/"(?:\\.|[^"\\])*"|-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b|\b(?:true|false|null)\b|[{}\[\]:,]/giu,yJ=/\/\*[\s\S]*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|#[0-9a-f]{3,8}\b|@[a-z-]+|--[a-z0-9-]+|[a-z-]+(?=\s*:)|\b\d+(?:\.\d+)?(?:%|px|r?em|vh|vw|vmin|vmax|s|ms|deg|fr)?\b|[{}():;,]|\.[a-z_][\w-]*|#[a-z_][\w-]*|[a-z_][\w-]*/giu,xJ=/<!--[\s\S]*?-->|<!doctype[^>]*>|<\/?[a-z][\w:-]*|\/?>|[a-z_:][\w:.-]*(?==)|=|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|&[a-z0-9#]+;/giu,bJ=/#[^\n]*|"(?:\\.|[^"\\])*"|'[^']*'|\$\{?[\w?@#$!-]+\}?|--?[A-Za-z0-9][\w-]*(?:=[^\s]+)?|\b(?:case|cd|do|done|echo|elif|else|esac|exit|export|fi|for|function|if|in|local|return|set|source|test|then|unset|while)\b|\b\d+\b|[|&;(){}<>]/giu,wJ=new Set(["abstract","as","async","await","break","case","catch","class","const","continue","declare","default","delete","do","else","enum","export","extends","finally","for","from","function","get","if","implements","import","in","infer","interface","is","keyof","let","new","of","private","protected","public","readonly","return","satisfies","set","static","switch","throw","try","type","typeof","var","void","while","with","yield"]),jJ=new Set(["false","null","super","this","true","undefined"]);function Q_(e,t){switch(eO(t)){case"css":return lu(e,yJ,SJ);case"html":return lu(e,xJ,CJ);case"javascript":case"typescript":return lu(e,gJ,kJ);case"json":return lu(e,vJ,NJ);case"shell":return lu(e,bJ,EJ);default:return[e]}}function lu(e,t,n){const s=[];let r=0,o=0;t.lastIndex=0;let c;for(;(c=t.exec(e))!==null;){const u=c[0];if(!u){t.lastIndex+=1;continue}c.index>r&&s.push(e.slice(r,c.index));const h=n(u,c.index,c.index+u.length,e);s.push(h?a.jsx("span",{className:`s-syntax s-syntax-${h}`,children:u},`syntax-${o++}`):u),r=c.index+u.length}return r<e.length&&s.push(e.slice(r)),s.length>0?s:[e]}function eO(e){const t=String(e??"").toLowerCase().replace(/^\./,"");return t==="bash"||t==="sh"||t==="shell"||t==="zsh"?"shell":t==="css"||t==="scss"?"css":t==="html"||t==="htm"||t==="xml"||t==="svg"?"html":t==="js"||t==="jsx"||t==="javascript"||t==="mjs"||t==="cjs"?"javascript":t==="json"||t==="jsonc"?"json":t==="markdown"||t==="md"||t==="mdx"?"markdown":t==="ts"||t==="tsx"||t==="typescript"?"typescript":"plain"}function kJ(e,t,n,s){return e.startsWith("//")||e.startsWith("/*")?"comment":yd(e)?"string":/^\d/u.test(e)?"number":wJ.has(e)?"keyword":jJ.has(e)?"literal":/^[A-Z][\w$]*$/u.test(e)?"type":/^[A-Za-z_$][\w$]*$/u.test(e)&&s.slice(n).trimStart().startsWith("(")?"function":/^[{}()[\].,;:?]$/u.test(e)?"punctuation":/^(?:=>|[-+*/%=&|!<>~^]+)$/u.test(e)?"operator":null}function NJ(e,t,n,s){return yd(e)?s.slice(n).trimStart().startsWith(":")?"property":"string":/^-?\d/u.test(e)?"number":e==="true"||e==="false"||e==="null"?"literal":"punctuation"}function SJ(e,t,n,s){return e.startsWith("/*")?"comment":yd(e)?"string":e.startsWith("@")?"keyword":e.startsWith("#")&&/^#[0-9a-f]/iu.test(e)||/^\d/u.test(e)?"number":e.startsWith(".")||e.startsWith("#")?"tag":/^--/u.test(e)||s.slice(n).trimStart().startsWith(":")?"property":/^[{}():;,]$/u.test(e)?"punctuation":null}function CJ(e){return e.startsWith("<!--")?"comment":/^<!doctype/iu.test(e)||e.startsWith("&")?"meta":e.startsWith("<")?"tag":yd(e)?"string":e==="="?"operator":e===">"||e==="/>"?"punctuation":"attribute"}function EJ(e){return e.startsWith("#")?"comment":yd(e)?"string":e.startsWith("$")?"property":e.startsWith("-")?"attribute":/^\d/u.test(e)?"number":/^[|&;(){}<>]$/u.test(e)?"operator":TJ.has(e)?"keyword":null}const TJ=new Set(["case","cd","do","done","echo","elif","else","esac","exit","export","fi","for","function","if","in","local","return","set","source","test","then","unset","while"]);function yd(e){return e.startsWith('"')||e.startsWith("'")||e.startsWith("`")}function Xf(e){const t=[],n=/(`[^`]+`|\[([^\]]+)\]\(([^)\s]+)\))/g;let s=0,r;for(;(r=n.exec(e))!==null;){r.index>s&&t.push(e.slice(s,r.index));const o=r[0];if(o.startsWith("`"))t.push(a.jsx("code",{children:o.slice(1,-1)},t.length));else{const c=AJ(r[3]);t.push(c?a.jsx("a",{href:c,target:"_blank",rel:"noreferrer",children:r[2]},t.length):r[2])}s=n.lastIndex}return s<e.length&&t.push(e.slice(s)),t}function AJ(e){if(!e)return null;try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"||t.protocol==="mailto:"?e:null}catch{return null}}function U0({open:e=!0,focusable:t=!0,kind:n,document:s,title:r,eyebrow:o,subtitle:c,meta:u=[],mode:h,actions:f=[],state:g,error:v,notice:y,body:x,onClose:w}){const[k,C]=p.useState(!1),[T,S]=p.useState({}),N=p.useRef(null);if(p.useEffect(()=>{e||C(!1)},[e]),p.useEffect(()=>{if(!e)return;let M=null;const O=N.current?.closest(".frame-scrollbar, .s-content")??null,U=()=>{if(!O){S({});return}const q=O.getBoundingClientRect();S({"--doc-focus-layer-top":`${Math.max(0,q.top)}px`,"--doc-focus-layer-right":`${Math.max(0,window.innerWidth-q.right)}px`,"--doc-focus-layer-bottom":`${Math.max(0,window.innerHeight-q.bottom)}px`,"--doc-focus-layer-left":`${Math.max(0,q.left)}px`})},_=()=>{M!==null&&cancelAnimationFrame(M),M=requestAnimationFrame(U)};U();const z=O?new ResizeObserver(_):null;return O&&z?.observe(O),window.addEventListener("resize",_),()=>{M!==null&&cancelAnimationFrame(M),z?.disconnect(),window.removeEventListener("resize",_)}},[e]),p.useEffect(()=>{if(!e)return;const M=$=>{$.key==="Escape"&&($.preventDefault(),k?C(!1):w?.())};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[k,w,e]),!e)return null;const E=r??s?.title??"Document",A=h??(s?.kind==="markdown"?"preview":"read"),R=t&&!!(s||x);return a.jsxs("div",{ref:N,className:`s-doc-focus-layer${k?" s-doc-focus-layer-focused":""}`,style:T,children:[w&&a.jsx("button",{type:"button",className:"s-doc-focus-scrim","aria-label":"Dismiss document viewer",tabIndex:-1,onClick:w}),a.jsxs("section",{className:`s-doc-focus-viewer s-doc-focus-viewer-${n}${k?" s-doc-focus-viewer-focused":""}`,"aria-label":E,role:"dialog","aria-modal":"true",children:[a.jsxs("div",{className:"s-doc-focus-viewer-head",children:[a.jsxs("div",{className:"s-doc-focus-viewer-title-wrap",children:[a.jsx("div",{className:"s-doc-focus-viewer-icon","aria-hidden":"true",children:a.jsx(Jh,{size:15,strokeWidth:1.8})}),a.jsxs("div",{className:"s-doc-focus-viewer-title-main",children:[o&&a.jsx("div",{className:"s-doc-focus-viewer-eyebrow",children:o}),a.jsx("h3",{className:"s-doc-focus-viewer-title",children:E}),c&&a.jsx("div",{className:"s-doc-focus-viewer-subtitle",children:c})]})]}),a.jsxs("div",{className:"s-doc-focus-viewer-actions",children:[u.length>0&&a.jsx("div",{className:"s-doc-focus-viewer-meta","aria-label":"Document metadata",children:u.map(M=>a.jsx("span",{children:M},M))}),f.map(M=>a.jsxs("button",{type:"button",className:`s-doc-focus-viewer-action${M.hideLabel?" s-doc-focus-viewer-action-icon":""}`,onClick:M.onClick,title:M.title??M.label,disabled:M.disabled,"aria-label":M.hideLabel?M.label:void 0,children:[M.icon,!M.hideLabel&&a.jsx("span",{children:M.label})]},M.label)),R&&a.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:()=>C(M=>!M),"aria-label":k?"Exit focus mode":"Enter focus mode",title:k?"Exit focus mode":"Focus",children:k?a.jsx(GA,{"aria-hidden":"true",size:14,strokeWidth:1.8}):a.jsx(Fm,{"aria-hidden":"true",size:14,strokeWidth:1.8})}),w&&a.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:w,"aria-label":"Close document viewer",title:"Close",children:a.jsx(Gl,{"aria-hidden":"true",size:14,strokeWidth:1.8})})]})]}),g&&!v&&!s&&!x&&a.jsx("div",{className:"s-doc-focus-viewer-state",children:g}),v&&a.jsx("div",{className:"s-doc-focus-viewer-state s-doc-focus-viewer-error",children:v}),!v&&x&&a.jsx("div",{className:"s-doc-focus-viewer-body",children:x}),!v&&!x&&s&&a.jsx(yp,{document:s,mode:A,showHeader:!1,className:"s-doc-focus-document"}),!v&&y&&a.jsx("div",{className:"s-doc-focus-viewer-notice",children:y})]})]})}const MJ={id:"audio",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("audio/"),render:({resource:e})=>{const t=e;return a.jsx("div",{className:"s-file-preview-media-wrap",children:a.jsx("div",{className:"s-file-preview-audio-stage",children:a.jsx("audio",{className:"s-file-preview-audio",src:t.rawUrl,controls:!0})})})}},RJ={id:"binary",canHandle:()=>!0,render:({resource:e})=>{const t=e;return a.jsxs("div",{className:"s-file-preview-callout",children:[a.jsxs("div",{className:"s-file-preview-callout-title",children:[t.previewReason," — open in OS"]}),a.jsxs("div",{className:"s-file-preview-callout-copy",children:["Scout can resolve this file, but it does not have an inline preview for ",t.mediaType," yet."]})]})}},IJ=new Set(["text/typescript","text/javascript","text/css","text/html","application/json","text/yaml","text/toml","text/x-shellscript","text/plain"]),_J={id:"code",canHandle:e=>e.kind==="file"&&e.previewable&&IJ.has(e.mediaType),render:({resource:e})=>{const t=e,n=vd({id:t.realPath,title:t.title,uri:t.realPath,mediaType:t.mediaType,value:t.content,filename:t.title,kind:"code",readOnly:!0});return a.jsx(yp,{document:n,mode:"read",className:"s-doc-focus-document"})}},OJ={id:"directory",canHandle:e=>e.kind==="directory",render:({resource:e,openFilePreview:t})=>{const n=e,s=$J(n.realPath,n.rootPath);return a.jsxs("div",{className:"s-file-preview-directory",children:[a.jsx("div",{className:"s-file-preview-breadcrumb","aria-label":"Directory breadcrumb",children:s.map((r,o)=>{const c=o===s.length-1;return a.jsxs("div",{className:"s-file-preview-breadcrumb-item",children:[o>0&&a.jsx(Ib,{size:12,"aria-hidden":"true"}),c?a.jsx("span",{className:"s-file-preview-breadcrumb-current",children:r.label}):a.jsx("button",{type:"button",className:"s-file-preview-breadcrumb-link",onClick:()=>t(r.path),children:r.label})]},r.path)})}),a.jsxs("div",{className:"s-file-preview-directory-list",role:"list",children:[n.entries.map(r=>a.jsxs("button",{type:"button",className:"s-file-preview-entry",onClick:()=>t(r.path),children:[a.jsx("span",{className:"s-file-preview-entry-icon","aria-hidden":"true",children:r.kind==="directory"?a.jsx(NL,{size:14}):a.jsx(Jh,{size:14})}),a.jsx("span",{className:"s-file-preview-entry-name",children:r.name}),a.jsx("span",{className:"s-file-preview-entry-kind",children:r.kind==="directory"?"dir":"file"})]},r.realPath)),n.entries.length===0&&a.jsx("div",{className:"s-file-preview-directory-empty",children:"This directory is empty."})]})]})}};function $J(e,t){const n=t==="/"?"/":t.replace(/\/+$/u,""),s=e==="/"?"/":e.replace(/\/+$/u,""),r=n.split("/").filter(Boolean),o=s.split("/").filter(Boolean),c=[{label:r[r.length-1]??"/",path:n||"/"}];let u=n||"/";for(let h=r.length;h<o.length;h+=1){const f=o[h];f&&(u=u==="/"?`/${f}`:`${u}/${f}`,c.push({label:f,path:u}))}return c}const PJ={id:"image",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("image/"),render:({resource:e})=>a.jsx("div",{className:"s-file-preview-image-wrap",children:a.jsx("div",{className:"s-file-preview-image-stage",children:a.jsx("img",{className:"s-file-preview-image",src:e.kind==="file"?e.rawUrl:"",alt:e.title})})})},DJ={id:"markdown",canHandle:e=>e.kind==="file"&&e.previewable&&e.mediaType==="text/markdown",render:({resource:e})=>{const t=e,n=vd({id:t.realPath,title:t.title,uri:t.realPath,mediaType:t.mediaType,value:t.content,filename:t.title,kind:"markdown",readOnly:!0});return a.jsx(yp,{document:n,mode:"preview",className:"s-doc-focus-document"})}},LJ={id:"video",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("video/"),render:({resource:e})=>{const t=e;return a.jsx("div",{className:"s-file-preview-media-wrap",children:a.jsx("div",{className:"s-file-preview-media-stage",children:a.jsx("video",{className:"s-file-preview-video",src:t.rawUrl,controls:!0})})})}},zJ=[OJ,DJ,_J,PJ,LJ,MJ,RJ];function BJ({path:e,onOpenPath:t,onClose:n}){const[s,r]=p.useState(null),[o,c]=p.useState(null),[u,h]=p.useState(!1),[f,g]=p.useState(null),v=p.useRef(null);p.useEffect(()=>{v.current=f},[f]),p.useEffect(()=>{if(!e){r(null),c(null),h(!1);return}let A=!1;return h(!0),c(null),r(null),ye(`/api/file/preview?path=${encodeURIComponent(e)}`).then(R=>{A||(r(R),UJ(R,v.current,g))}).catch(R=>{A||c(R instanceof Error?R.message:"could not load file")}).finally(()=>{A||h(!1)}),()=>{A=!0}},[e]);const{currentIndex:y,prevPath:x,nextPath:w}=p.useMemo(()=>{if(!s||s.kind!=="file"||!f)return{currentIndex:-1,prevPath:null,nextPath:null};const A=f.files.findIndex(R=>R.realPath===s.realPath);return A<0?{currentIndex:-1,prevPath:null,nextPath:null}:{currentIndex:A,prevPath:A>0?f.files[A-1].path:null,nextPath:A<f.files.length-1?f.files[A+1].path:null}},[s,f]);if(p.useEffect(()=>{if(!e)return;const A=R=>{if(R.key==="Escape"){n();return}if(R.target instanceof HTMLElement){const M=R.target.tagName;if(M==="INPUT"||M==="TEXTAREA"||R.target.isContentEditable)return}R.metaKey||R.ctrlKey||R.altKey||(R.key==="ArrowLeft"&&x?(R.preventDefault(),t(x)):R.key==="ArrowRight"&&w?(R.preventDefault(),t(w)):R.key==="Backspace"&&f&&s?.kind==="file"&&(R.preventDefault(),t(f.dirPath)))};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[e,n,t,x,w,f,s]),!e)return null;const k=()=>{ye("/api/file/reveal",{method:"POST",body:JSON.stringify({path:s?.realPath??e})}).catch(A=>{c(A instanceof Error?A.message:"reveal failed")})},C=s?zJ.find(A=>A.canHandle(s))??null:null,T=!!(s&&s.kind==="file"&&f&&y>=0&&f.files.length>1),S=[];T&&f&&S.push({label:`Folder: ${f.dirTitle}`,icon:a.jsx(_b,{size:12}),onClick:()=>t(f.dirPath),title:`Back to ${f.dirTitle} (Backspace)`}),S.push({label:"Open in OS",icon:a.jsx(oc,{size:12}),onClick:k,title:"Reveal this file in your operating system"});const N=s?FJ(s):[];T&&N.unshift(`${y+1} / ${f.files.length}`);const E=s&&C?C.render({resource:s,openFilePreview:t}):null;return a.jsx(U0,{open:!0,kind:VJ(s),document:null,title:s?.title??e.split("/").pop()??"File",eyebrow:"File preview",subtitle:s?.realPath??e,meta:N,state:u?"Loading…":null,error:o,body:E?a.jsxs("div",{className:`s-file-preview-shell${T?" s-file-preview-shell-nav":""}`,children:[T&&a.jsx("button",{type:"button",className:"s-file-preview-side-nav s-file-preview-side-nav-left",onClick:()=>x&&t(x),disabled:!x,"aria-label":"Previous file",title:"Previous file (←)",children:a.jsx(Y5,{size:18,strokeWidth:1.8,"aria-hidden":"true"})}),a.jsx("div",{className:"s-file-preview-shell-body",children:E}),T&&a.jsx("button",{type:"button",className:"s-file-preview-side-nav s-file-preview-side-nav-right",onClick:()=>w&&t(w),disabled:!w,"aria-label":"Next file",title:"Next file (→)",children:a.jsx(J5,{size:18,strokeWidth:1.8,"aria-hidden":"true"})})]}):null,actions:S,onClose:n})}function UJ(e,t,n){if(e.kind==="directory"){const r=e.entries.filter(o=>o.kind==="file");n({dirPath:e.path,dirTitle:e.title,files:r});return}if(!t){n(null);return}t.files.some(r=>r.realPath===e.realPath)||n(null)}function VJ(e){return!e||e.kind==="directory"||e.mediaType==="text/markdown"||e.mediaType==="text/plain"?"doc":"code"}function FJ(e){return e.kind==="directory"?[`${e.entries.length} ${e.entries.length===1?"entry":"entries"}`]:[...e.previewable&&e.truncated?["truncated"]:[],HJ(e.sizeBytes),e.mediaType]}function HJ(e){return e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}const tO={activity:"idle",brief:{lastDeliveredAt:null},reminders:{dueCount:0,upcomingCount:0,due:[],next:null},voice:{available:null,setupBlocked:!1,replies:!1},error:null,session:{title:null,lastActivityAt:null}},ai=()=>{},nO={focusRanger:ai,triggerBrief:ai,triggerAskState:ai,toggleVoiceReplies:ai,openRangerSettings:ai,startNewChat:ai,dismissReminder:ai,askReminderStatus:ai},V0=p.createContext(null);function qJ({children:e}){const[t,n]=p.useState(tO),s=p.useRef(nO),r=p.useCallback(h=>{n(f=>ZJ(f,h)?f:h)},[]),o=p.useCallback(h=>{s.current=h},[]),c=p.useMemo(()=>({focusRanger:()=>s.current.focusRanger(),triggerBrief:()=>s.current.triggerBrief(),triggerAskState:()=>s.current.triggerAskState(),toggleVoiceReplies:()=>s.current.toggleVoiceReplies(),openRangerSettings:()=>s.current.openRangerSettings(),startNewChat:()=>s.current.startNewChat(),dismissReminder:h=>s.current.dismissReminder(h),askReminderStatus:h=>s.current.askReminderStatus(h)}),[]),u=p.useMemo(()=>({state:t,actions:c,publishState:r,registerActions:o}),[t,c,r,o]);return a.jsx(V0.Provider,{value:u,children:e})}function WJ(){const e=p.useContext(V0);return e?{state:e.state,actions:e.actions}:{state:tO,actions:nO}}function GJ(){const e=p.useContext(V0);return e?{publishState:e.publishState,registerActions:e.registerActions}:null}function ZJ(e,t){return e.activity===t.activity&&e.brief.lastDeliveredAt===t.brief.lastDeliveredAt&&e.reminders.dueCount===t.reminders.dueCount&&e.reminders.upcomingCount===t.reminders.upcomingCount&&KJ(e.reminders.due,t.reminders.due)&&sO(e.reminders.next,t.reminders.next)&&e.voice.available===t.voice.available&&e.voice.setupBlocked===t.voice.setupBlocked&&e.voice.replies===t.voice.replies&&e.error===t.error&&e.session.title===t.session.title&&e.session.lastActivityAt===t.session.lastActivityAt}function KJ(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(!sO(e[n],t[n]))return!1;return!0}function sO(e,t){return e===t?!0:!e||!t?!1:e.id===t.id&&e.body===t.body&&e.status===t.status&&e.dueAt===t.dueAt}class Ua extends Error{code;cause;constructor(t,n,s){super(n),this.name="HudVaultError",this.code=t,this.cause=s}}const cu="items",Jf="keys",kE="master";class YJ{service;dbPromise;cryptoKeyPromise;constructor(t){this.service=t.service}async set(t,n){const s=new TextEncoder().encode(n);await this.setBytes(t,s)}async get(t){const n=await this.getBytes(t);if(!n)return null;try{return new TextDecoder().decode(n)}catch(s){throw new Ua("encoding_failed","value is not valid UTF-8",s)}}async delete(t){await this.idbDelete(cu,t)}async setBytes(t,n){const s=await this.getOrCreateCryptoKey(),r=crypto.getRandomValues(new Uint8Array(12));let o;try{o=await crypto.subtle.encrypt({name:"AES-GCM",iv:r},s,n)}catch(c){throw new Ua("crypto_failed","AES-GCM encrypt failed",c)}await this.idbWrite(cu,t,{iv:r,ct:new Uint8Array(o)})}async getBytes(t){const n=await this.idbRead(cu,t);if(!n)return null;const s=await this.getOrCreateCryptoKey();try{const r=await crypto.subtle.decrypt({name:"AES-GCM",iv:n.iv},s,n.ct);return new Uint8Array(r)}catch(r){throw new Ua("crypto_failed","AES-GCM decrypt failed",r)}}getOrCreateCryptoKey(){return this.cryptoKeyPromise?this.cryptoKeyPromise:(this.cryptoKeyPromise=(async()=>{if(typeof crypto>"u"||!crypto.subtle)throw new Ua("crypto_unsupported","crypto.subtle is not available");const t=await this.idbRead(Jf,kE);if(t)return t;let n;try{n=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}catch(s){throw new Ua("crypto_failed","AES-GCM key generation failed",s)}return await this.idbWrite(Jf,kE,n),n})(),this.cryptoKeyPromise)}getDB(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Ua("idb_unsupported","IndexedDB is not available"));return}const s=indexedDB.open(`hudvault:${this.service}`,1);s.onupgradeneeded=()=>{const r=s.result;r.objectStoreNames.contains(cu)||r.createObjectStore(cu),r.objectStoreNames.contains(Jf)||r.createObjectStore(Jf)},s.onsuccess=()=>t(s.result),s.onerror=()=>n(new Ua("idb_failed",Qf("open",s.error),s.error))}),this.dbPromise)}async idbRead(t,n){const s=await this.getDB();return new Promise((r,o)=>{const u=s.transaction(t,"readonly").objectStore(t).get(n);u.onsuccess=()=>r(u.result),u.onerror=()=>o(new Ua("idb_failed",Qf("read",u.error),u.error))})}async idbWrite(t,n,s){const r=await this.getDB();await new Promise((o,c)=>{const u=r.transaction(t,"readwrite");u.oncomplete=()=>o(),u.onerror=()=>c(new Ua("idb_failed",Qf("write",u.error),u.error)),u.objectStore(t).put(s,n)})}async idbDelete(t,n){const s=await this.getDB();await new Promise((r,o)=>{const c=s.transaction(t,"readwrite");c.oncomplete=()=>r(),c.onerror=()=>o(new Ua("idb_failed",Qf("delete",c.error),c.error)),c.objectStore(t).delete(n)})}}function Qf(e,t){return`IndexedDB ${e} failed${t?.message?`: ${t.message}`:""}`}const XJ="dev.openscout.credentials",F0="openai_api_key",H0=new YJ({service:XJ});async function aO(){const t=(await H0.get(F0))?.trim();return t&&t.startsWith("sk-")?t:null}async function JJ(e){const t=e.trim();if(!t.startsWith("sk-"))throw new Error("OpenAI API keys should start with sk-.");await H0.set(F0,t)}async function QJ(){await H0.delete(F0)}async function rO(e){return ye("/api/ranger/credentials/openai",{method:"POST",body:JSON.stringify({apiKey:e.trim()})})}async function eQ(){return ye("/api/ranger/credentials/openai",{method:"DELETE"})}async function iO(){return ye("/api/ranger/credentials")}async function Zx(){const e=await iO();if(e.openai.configured)return e;const t=await aO();return t?rO(t):null}async function tQ(){const e=await aO();return{configured:!!e,preview:e?nQ(e):null}}function nQ(e){return e.length<=10?"configured":`${e.slice(0,5)}...${e.slice(-4)}`}const sQ=[195,125,300,45,355,210];function NE(e){return`oklch(0.80 0.14 ${e})`}function aQ(e){return`oklch(0.18 0.08 ${e})`}function bi({label:e,right:t}){return a.jsxs("div",{className:"s-settings-section-rule",children:[a.jsx("span",{className:"s-settings-section-label",children:e}),a.jsx("span",{className:"s-settings-section-line"}),t&&a.jsx("span",{className:"s-settings-section-right",children:t})]})}function zs({label:e,hint:t,children:n}){return a.jsxs("div",{className:"s-settings-field",children:[a.jsx("label",{className:"s-settings-field-label",children:e}),n,t&&a.jsx("span",{className:"s-settings-field-hint",children:t})]})}function Sl({value:e,onChange:t,mono:n}){return a.jsx("input",{className:`s-settings-input${n?" s-settings-input--mono":""}`,value:e,onChange:s=>t(s.target.value)})}function rQ({value:e,onChange:t,rows:n=3}){return a.jsx("textarea",{className:"s-settings-textarea",value:e,onChange:s=>t(s.target.value),rows:n})}function iQ({value:e,onChange:t,min:n,max:s,step:r=1,unit:o=""}){return a.jsxs("div",{className:"s-settings-slider-wrap",children:[a.jsx("input",{type:"range",min:n,max:s,step:r,value:e,onChange:c=>t(Number(c.target.value))}),a.jsxs("span",{className:"s-settings-slider-value",children:[e," ",o]})]})}function eh({value:e,onChange:t,options:n,stacked:s,columns:r}){return a.jsx("div",{className:s?"s-settings-option-stacked":"s-settings-option-grid",style:s?void 0:{gridTemplateColumns:`repeat(${r??n.length}, 1fr)`},children:n.map(o=>a.jsxs("button",{className:`s-settings-option-btn${e===o.id?" s-settings-option-btn--active":""}`,onClick:()=>t(o.id),children:[a.jsx("span",{className:"s-settings-option-label",children:o.label}),a.jsx("span",{className:"s-settings-option-sub",children:o.sub})]},o.id))})}function oQ({profile:e,update:t}){return a.jsxs("div",{className:"s-settings-col-gap",children:[a.jsx(bi,{label:"Identity",right:"visible to every agent"}),a.jsxs("div",{className:"s-settings-identity-card",children:[a.jsx("span",{className:"s-settings-identity-dot",style:{background:NE(e.hue),color:aQ(e.hue)},children:(e.name||"?")[0].toUpperCase()}),a.jsxs("div",{style:{flex:1},children:[a.jsx("div",{className:"s-settings-identity-name",children:e.name||"Unnamed"}),a.jsxs("div",{className:"s-settings-identity-meta",children:[e.handle||"@you"," · ",e.pronouns||"—"," · operator"]})]}),a.jsxs("div",{className:"s-settings-hue-wrap",children:[a.jsx("span",{className:"s-settings-field-label",children:"Identity hue"}),a.jsx("div",{className:"s-settings-hue-row",children:sQ.map(n=>a.jsx("button",{onClick:()=>t({hue:n}),className:`s-settings-hue-dot${e.hue===n?" s-settings-hue-dot--active":""}`,style:{background:NE(n)}},n))})]})]}),a.jsx(zs,{label:"Display name",hint:"Shown when agents address you.",children:a.jsx(Sl,{value:e.name,onChange:n=>t({name:n})})}),a.jsx(zs,{label:"Handle",hint:"Used in @mentions across threads.",children:a.jsx(Sl,{value:e.handle,onChange:n=>t({handle:n}),mono:!0})}),a.jsx(zs,{label:"Pronouns",children:a.jsx(Sl,{value:e.pronouns,onChange:n=>t({pronouns:n})})}),a.jsx(bi,{label:"How agents understand you",right:"shipped as system prompt context"}),a.jsx(zs,{label:"Operator bio",hint:"How you want to be worked with. Agents read this before asking you things.",children:a.jsx(rQ,{value:e.bio,onChange:n=>t({bio:n}),rows:4})}),a.jsxs("div",{className:"s-settings-two-col",children:[a.jsx(zs,{label:"Timezone",children:a.jsx(Sl,{value:e.timezone,onChange:n=>t({timezone:n}),mono:!0})}),a.jsx(zs,{label:"Working hours",children:a.jsx(Sl,{value:e.workingHours,onChange:n=>t({workingHours:n}),mono:!0})})]})]})}function lQ({profile:e,update:t}){return a.jsxs("div",{className:"s-settings-col-gap",children:[a.jsx(bi,{label:"Interrupt policy"}),a.jsx(zs,{label:"When agents can ping you directly",hint:"Blocking-only means only asks that truly stall work. Others get batched.",children:a.jsx(eh,{value:e.interruptThreshold,onChange:n=>t({interruptThreshold:n}),options:[{id:"always",label:"Always",sub:"any ask, any time"},{id:"blocking-only",label:"Blocking only",sub:"stuck agents · default"},{id:"batched",label:"Batched",sub:"grouped every 15m"},{id:"never",label:"Never",sub:"queue only, I'll check in"}]})}),a.jsxs("div",{className:"s-settings-two-col",children:[a.jsx(zs,{label:"Batch window (min)",children:a.jsx(iQ,{value:e.batchWindow,min:5,max:60,step:5,onChange:n=>t({batchWindow:n}),unit:"min"})}),a.jsx(zs,{label:"Quiet hours",children:a.jsx(Sl,{value:e.quietHours,onChange:n=>t({quietHours:n}),mono:!0})})]}),a.jsx(bi,{label:"Where to reach you"}),a.jsx(zs,{label:"Preferred channel",children:a.jsx(eh,{value:e.channel,onChange:n=>t({channel:n}),options:[{id:"here",label:"Here only",sub:"desktop app"},{id:"mobile",label:"Mobile only",sub:"paired phone"},{id:"here+mobile",label:"Both",sub:"whichever is active"}]})}),a.jsx(bi,{label:"Tone calibration",right:"how agents write to you"}),a.jsxs("div",{className:"s-settings-two-col",children:[a.jsx(zs,{label:"Verbosity",children:a.jsx(eh,{stacked:!0,value:e.verbosity,onChange:n=>t({verbosity:n}),options:[{id:"terse",label:"Terse",sub:"one-liners, answers only"},{id:"normal",label:"Normal",sub:"context + answer"},{id:"detailed",label:"Detailed",sub:"show reasoning"}]})}),a.jsx(zs,{label:"Tone",children:a.jsx(eh,{stacked:!0,value:e.tone,onChange:n=>t({tone:n}),options:[{id:"direct",label:"Direct",sub:"no hedging"},{id:"warm",label:"Warm",sub:"friendly, conversational"},{id:"formal",label:"Formal",sub:"business-like"}]})})]})]})}function cQ({clientCredentials:e,serverCredentials:t,reloadCredentials:n}){const[s,r]=p.useState(""),[o,c]=p.useState(!1),[u,h]=p.useState(null),f=t?.openai??null,g=!!f?.configured,v=f?.source==="env"?"OPENAI_API_KEY":f?.source==="local-config"?"local Scout config":f?.source==="local-store"?"local OpenScout store":"missing",y=f?.source==="local-store"&&e?.configured?"local OpenScout store + HudVault mirror":v,x=f?.preview??e?.preview??null,w=async()=>{c(!0),h(null);try{const C=s.trim();await rO(C);let T=null;try{await JJ(C)}catch(S){T=S instanceof Error?S.message:"HudVault save failed."}r(""),await n(),h(T?`Saved to local OpenScout store. Browser mirror failed: ${T}`:"Saved to local OpenScout store and Hudson Vault.")}catch(C){h(C instanceof Error?C.message:"Could not save key.")}finally{c(!1)}},k=async()=>{c(!0),h(null);try{const[C,T]=await Promise.allSettled([QJ(),eQ()]);r(""),await n(),C.status==="rejected"||T.status==="rejected"?h("Cleared what I could; one credential store did not respond."):h(f?.source==="env"||f?.source==="local-config"?"Removed saved key. Server fallback is still configured.":"Removed saved key.")}catch(C){h(C instanceof Error?C.message:"Could not clear key.")}finally{c(!1)}};return a.jsxs("div",{className:"s-settings-col-gap",children:[a.jsx(bi,{label:"Model providers",right:g?`configured · ${y}`:"missing"}),a.jsx("div",{className:"s-settings-relay-card",children:a.jsxs("div",{children:[a.jsxs("div",{className:"s-settings-relay-title",children:["OpenAI · ",a.jsxs("span",{className:"s-settings-device-status",style:{color:g?"var(--green)":"var(--dim)"},children:["●"," ",g?"ready":"missing"]})]}),a.jsxs("div",{className:"s-settings-relay-meta",children:[x??"No key stored"," · ",y]}),a.jsx("div",{className:"s-settings-relay-desc",children:"Ranger stores user-entered keys in the local OpenScout credential store and keeps a HudVault mirror for this browser profile."})]})}),a.jsx(zs,{label:"OpenAI API key",hint:"Saved locally. Existing keys are never shown again.",children:a.jsx("input",{className:"s-settings-input s-settings-input--mono",type:"password",value:s,placeholder:g?"Saved key configured":"sk-...",autoComplete:"off",spellCheck:!1,onChange:C=>r(C.target.value)})}),u&&a.jsx("div",{className:"s-settings-field-hint",children:u}),a.jsxs("div",{className:"s-settings-button-row",children:[a.jsx("button",{type:"button",className:"s-btn",disabled:o||!s.trim(),onClick:()=>{w()},children:o?"Saving":"Save key"}),a.jsx("button",{type:"button",className:"s-btn",disabled:o||!(e?.configured||f?.source==="local-store"),onClick:()=>{k()},children:"Clear saved key"})]})]})}const uQ={desktop:"◻",mobile:"▯",tablet:"▭"};function dQ({device:e}){const t=e.status==="this-device"?"var(--accent)":e.status==="online"?"var(--green)":"var(--dim)";return a.jsxs("div",{className:"s-settings-device-row",children:[a.jsx("span",{className:"s-settings-device-icon",children:uQ[e.kind]??"□"}),a.jsxs("div",{children:[a.jsx("div",{className:"s-settings-device-name",children:e.name}),a.jsxs("div",{className:"s-settings-device-meta",children:[e.kind," · via ",e.relay," · ",e.lastSeen]})]}),a.jsxs("span",{className:"s-settings-device-status",style:{color:t},children:["●"," ",e.status==="this-device"?"this device":e.status]}),a.jsx("button",{className:"s-btn",disabled:e.status==="this-device",children:e.status==="this-device"?"—":"Unpair"})]})}function fQ({pairing:e}){const t=[{id:"local",name:"This machine",kind:"desktop",status:"this-device",relay:"local",lastSeen:"now"}];if(e?.trustedPeers)for(const n of e.trustedPeers){const s=n.fingerprint===e.connectedPeerFingerprint;t.push({id:n.fingerprint,name:n.name??"Paired device",kind:"mobile",status:s?"online":"offline",relay:"tailscale",lastSeen:n.lastSeenLabel??"—"})}return a.jsxs("div",{className:"s-settings-col-gap",children:[a.jsx(bi,{label:`Paired devices · ${t.length}`}),a.jsx("div",{className:"s-settings-col-gap",style:{gap:10},children:t.map(n=>a.jsx(dQ,{device:n},n.id))}),a.jsx(bi,{label:"Relay"}),a.jsxs("div",{className:"s-settings-relay-card",children:[a.jsxs("div",{children:[a.jsxs("div",{className:"s-settings-relay-title",children:["Relay · ",a.jsxs("span",{className:"s-settings-device-status",style:{color:e?.isRunning?"var(--green)":"var(--dim)"},children:["●"," ",e?.isRunning?"connected":"offline"]})]}),a.jsxs("div",{className:"s-settings-relay-meta",children:[e?.relay??"not configured"," · tailscale"]}),a.jsx("div",{className:"s-settings-relay-desc",children:"Agents route through your relay to reach mobile when the app is backgrounded. End-to-end encrypted; keys never leave your devices."})]}),a.jsx("button",{className:"s-btn",children:"Configure"})]})]})}const hQ=[{id:"operator",label:"Operator",sub:"identity · bio · hours"},{id:"comms",label:"Communication",sub:"how agents reach you"},{id:"credentials",label:"Credentials",sub:"model provider keys"},{id:"devices",label:"Paired devices",sub:"relay · connected"}],mQ={operator:"Operator identity",comms:"Communication",credentials:"Credentials",devices:"Paired devices"},pQ={name:"",handle:"",pronouns:"",hue:195,bio:"",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,workingHours:"08:00 – 18:00",interruptThreshold:"blocking-only",batchWindow:15,channel:"here+mobile",verbosity:"terse",tone:"direct",quietHours:"22:00 – 07:00"};function gQ({open:e,onClose:t}){const{refreshOnboarding:n}=Je(),[s,r]=p.useState("operator"),[o,c]=p.useState(pQ),[u,h]=p.useState(null),[f,g]=p.useState(null),[v,y]=p.useState(null),[x,w]=p.useState(!1),k=p.useRef(null),C=p.useCallback(async()=>{const[E,A]=await Promise.allSettled([tQ(),iO()]),R=E.status==="fulfilled"?E.value:null;let M=A.status==="fulfilled"?A.value:null;R?.configured&&!M?.openai.configured&&(M=await Zx().catch(()=>M)),g(R),y(M)},[]),T=p.useCallback(async()=>{try{const E=ye("/api/user"),A=Promise.race([ye("/api/pairing-state"),new Promise(($,O)=>setTimeout(()=>O(new Error("timeout")),3e3))]),[R,M]=await Promise.allSettled([E,A]);R.status==="fulfilled"&&c(R.value),M.status==="fulfilled"&&h(M.value),await C()}finally{w(!0)}},[C]);p.useEffect(()=>{e&&T()},[e,T]),p.useEffect(()=>{if(!e)return;const E=A=>{A.key==="Escape"&&t()};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[e,t]);const S=p.useCallback(E=>{k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{ye("/api/user",{method:"POST",body:JSON.stringify(E)}).then(()=>n()).catch(()=>{})},400)},[n]),N=p.useCallback(E=>{c(A=>{const R={...A,...E};return S(R),R})},[S]);return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:`s-settings-scrim ${e?"s-settings-scrim--open":"s-settings-scrim--closed"}`,onClick:t}),a.jsxs("div",{className:`s-settings-drawer ${e?"s-settings-drawer--open":"s-settings-drawer--closed"}`,children:[a.jsxs("div",{className:"s-settings-header",children:[a.jsxs("div",{className:"s-settings-header-title",children:["⚙"," SETTINGS"]}),a.jsx("span",{className:"s-settings-header-sep",children:"/"}),a.jsx("span",{className:"s-settings-header-section",children:mQ[s]}),a.jsx("span",{style:{flex:1}}),a.jsx("span",{className:"s-settings-header-hint",children:"ESC to close"}),a.jsx("button",{className:"s-settings-close",onClick:t,children:"×"})]}),a.jsx("nav",{className:"s-settings-rail",children:hQ.map(E=>a.jsxs("button",{onClick:()=>r(E.id),className:`s-settings-rail-btn${s===E.id?" s-settings-rail-btn--active":""}`,children:[a.jsx("span",{className:"s-settings-rail-label",children:E.label}),a.jsx("span",{className:"s-settings-rail-sub",children:E.sub})]},E.id))}),a.jsx("main",{className:"s-settings-content",children:x?a.jsxs(a.Fragment,{children:[s==="operator"&&a.jsx(oQ,{profile:o,update:N}),s==="comms"&&a.jsx(lQ,{profile:o,update:N}),s==="credentials"&&a.jsx(cQ,{clientCredentials:f,serverCredentials:v,reloadCredentials:C}),s==="devices"&&a.jsx(fQ,{pairing:u})]}):a.jsx("div",{style:{color:"var(--dim)",fontFamily:"var(--font-mono)",fontSize:12},children:"Loading..."})}),a.jsxs("div",{className:"s-settings-footer",children:[a.jsxs("span",{className:"s-settings-footer-sync",children:["●"," synced"]}),a.jsx("span",{children:"·"}),a.jsx("span",{children:"changes apply instantly to every agent in your fleet"}),a.jsx("span",{style:{flex:1}}),a.jsx("button",{className:"s-btn",onClick:t,children:"Done"})]})]})]})}const oO=p.createContext(null),vQ=["hello","node.upserted","actor.registered","agent.registered","agent.endpoint.upserted","invocation.requested","flight.updated","delivery.state.changed","scout.dispatched"],yQ=new Set(vQ),xQ=15e3,bQ={"--hud-bg":"oklch(0.14 0.008 80)","--hud-surface":"oklch(0.18 0.009 80)","--hud-ink":"oklch(0.96 0.008 80)","--hud-muted":"oklch(0.72 0.012 80)","--hud-dim":"oklch(0.58 0.012 80)","--hud-border":"oklch(0.96 0.008 80 / 0.035)","--hud-accent":"oklch(0.86 0.17 125)","--hud-accent-soft":"oklch(0.86 0.17 125 / 0.08)","--hud-shadow-soft":"oklch(0.10 0.006 75 / 0.4)","--hud-chrome-border":"oklch(0.96 0.008 80 / 0.009)","--hud-shadow-panel":"0 12px 34px oklch(0.08 0.006 75 / 0.45)","--hud-shadow-panel-hover":"0 14px 38px oklch(0.08 0.006 75 / 0.52)","--hud-shadow-bar":"0 -10px 28px oklch(0.08 0.006 75 / 0.38)","--hud-shadow-nav":"0 8px 24px oklch(0.08 0.006 75 / 0.32)","--hud-shadow-minimap":"0 10px 24px oklch(0.08 0.006 75 / 0.38)","--hud-status-ok":"oklch(0.80 0.15 155)","--hud-status-warn":"oklch(0.82 0.15 85)","--hud-status-error":"oklch(0.72 0.18 25)","--scout-chrome-ink-strong":"color-mix(in srgb, var(--hud-ink) 92%, transparent)","--scout-chrome-ink":"color-mix(in srgb, var(--hud-ink) 78%, transparent)","--scout-chrome-ink-soft":"color-mix(in srgb, var(--hud-ink) 58%, transparent)","--scout-chrome-ink-faint":"color-mix(in srgb, var(--hud-ink) 38%, transparent)","--scout-chrome-ink-ghost":"color-mix(in srgb, var(--hud-ink) 22%, transparent)","--scout-chrome-hover":"color-mix(in srgb, var(--hud-ink) 4%, transparent)","--scout-chrome-active":"color-mix(in srgb, var(--hud-ink) 8%, transparent)","--scout-chrome-border-soft":"color-mix(in srgb, var(--hud-ink) 4%, transparent)","--scout-chrome-avatar-ink":"#111111","--hud-font-sans":"'Inter Tight', 'Inter', ui-sans-serif, system-ui, sans-serif","--hud-font-mono":"'JetBrains Mono', ui-monospace, Menlo, monospace","--hud-font-serif":"'Instrument Serif', 'Spectral', Georgia, serif","--hud-font-accent-title":"var(--hud-font-sans)"},wQ={"--hud-bg":"oklch(0.978 0.004 85)","--hud-surface":"oklch(0.992 0.003 85)","--hud-ink":"oklch(0.24 0.01 80)","--hud-muted":"oklch(0.56 0.014 80)","--hud-dim":"oklch(0.72 0.01 80)","--hud-border":"oklch(0.88 0.008 82 / 0.95)","--hud-accent":"oklch(0.72 0.16 125)","--hud-accent-soft":"oklch(0.72 0.16 125 / 0.11)","--hud-shadow-soft":"oklch(0.42 0.01 80 / 0.12)","--hud-status-ok":"oklch(0.64 0.16 155)","--hud-status-warn":"oklch(0.72 0.15 85)","--hud-status-error":"oklch(0.62 0.19 25)","--scout-chrome-ink-strong":"color-mix(in srgb, var(--hud-ink) 94%, transparent)","--scout-chrome-ink":"color-mix(in srgb, var(--hud-ink) 78%, transparent)","--scout-chrome-ink-soft":"color-mix(in srgb, var(--hud-ink) 60%, transparent)","--scout-chrome-ink-faint":"color-mix(in srgb, var(--hud-ink) 40%, transparent)","--scout-chrome-ink-ghost":"color-mix(in srgb, var(--hud-ink) 24%, transparent)","--scout-chrome-hover":"color-mix(in srgb, var(--hud-ink) 4%, transparent)","--scout-chrome-active":"color-mix(in srgb, var(--hud-ink) 8%, transparent)","--scout-chrome-border-soft":"color-mix(in srgb, var(--hud-border) 80%, transparent)","--scout-chrome-avatar-ink":"#ffffff","--hud-font-sans":"'Inter Tight', 'Inter', ui-sans-serif, system-ui, sans-serif","--hud-font-mono":"'JetBrains Mono', ui-monospace, Menlo, monospace","--hud-font-serif":"'Instrument Serif', 'Spectral', Georgia, serif","--hud-font-accent-title":"var(--hud-font-sans)"};function Je(){const e=p.useContext(oO);if(!e)throw new Error("useScout must be used inside ScoutProvider");return e}function jQ({children:e,initialTheme:t="dark"}){const{route:n,navigate:s}=GY(),[r,o]=p.useState([]),[c,u]=p.useState(null),[h,f]=p.useState(!1),g=p.useCallback(()=>f(!0),[]),[v,y]=p.useState(!1),[x,w]=p.useState(null),k=p.useCallback(()=>y(!0),[]),C=p.useCallback(()=>y(!1),[]),T=p.useCallback(H=>{w(H)},[]),S=p.useCallback(()=>w(null),[]),N=t==="light"?wQ:bQ,E=p.useMemo(()=>QX(r),[r]),A=p.useMemo(()=>eJ(E),[E]),R=p.useRef(null),M=p.useCallback(async()=>{if(R.current)return R.current;const H=(async()=>{const D=await ye("/api/agents").catch(()=>null);D&&o(D.filter(K=>!z0(K)))})();R.current=H;try{await H}finally{R.current=null}},[]),$=p.useCallback(async()=>{try{const H=await ye("/api/onboarding/state");u(H)}catch{u({hasLocalConfig:!0,hasProjectConfig:!0,hasOperatorName:!0,localConfigPath:null,projectRoot:null,currentDirectory:null,operatorName:null,operatorNameSuggestion:null})}},[]);p.useEffect(()=>{M(),$()},[M,$]),p.useEffect(()=>{const H=()=>{document.visibilityState!=="hidden"&&M()},D=window.setInterval(H,xQ);return window.addEventListener("focus",H),document.addEventListener("visibilitychange",H),()=>{window.clearInterval(D),window.removeEventListener("focus",H),document.removeEventListener("visibilitychange",H)}},[M]);const O=p.useMemo(()=>r.filter(H=>Si(H.state)).length,[r]),[U,_]=p.useState(null),z=p.useCallback(H=>{H?.trim()&&_(H.trim())},[]),q=p.useCallback(()=>_(null),[]),V=p.useCallback(H=>{switch(H.type){case"navigate":s(H.route);break;case"open-ranger":window.dispatchEvent(new CustomEvent("scout:ranger-panel-open",{detail:H}));break;case"refresh":M();break;case"view-file":z(H.path);break}},[s,z,M]),G=p.useRef({applyRangerUiAction:V});G.current={applyRangerUiAction:V},an(H=>{yQ.has(H.kind)&&M()}),p.useEffect(()=>{const H=D=>{const K=D.detail,W=K&&typeof K=="object"&&"type"in K?K:null;W&&G.current.applyRangerUiAction(W)};return window.addEventListener("scout:ranger-ui-action",H),window.scoutRanger={applyUiAction:D=>G.current.applyRangerUiAction(D),navigate:D=>G.current.applyRangerUiAction({type:"navigate",route:D})},()=>{window.removeEventListener("scout:ranger-ui-action",H),window.scoutRanger?.applyUiAction&&delete window.scoutRanger}},[]);const P=p.useMemo(()=>({route:n,navigate:s,agents:r,onlineCount:O,reload:M,onboarding:c,refreshOnboarding:$,onboardingSkipped:h,skipOnboarding:g,settingsOpen:v,openSettings:k,closeSettings:C,rangerAgentId:E,rangerConversationId:A,applyRangerUiAction:V,selectedBrokerAttempt:x,inspectBrokerAttempt:T,clearBrokerAttempt:S,openFilePreview:z,closeFilePreview:q}),[n,s,r,O,M,c,$,h,g,v,k,C,E,A,V,x,T,S,z,q]);return a.jsx(oO.Provider,{value:P,children:a.jsx("div",{"data-scout-theme":t,"data-scout-theme-mode":t,style:{...N},children:a.jsx(iJ,{children:a.jsxs(qJ,{children:[e,a.jsx(gQ,{open:v,onClose:C}),a.jsx(BJ,{path:U,onOpenPath:z,onClose:q})]})})})})}function kQ(){const{navigate:e,agents:t,reload:n,openSettings:s,applyRangerUiAction:r}=Je(),o=hd(),c=p.useCallback(()=>{r({type:"open-ranger",mode:"ask"}),window.dispatchEvent(new CustomEvent("scout:ranger-submit",{detail:{body:"What's the state of things? Give me a terse ops summary, the biggest risk, and the next action you recommend."}}))},[r]),u=p.useCallback(async h=>{await ye(`/api/agents/${encodeURIComponent(h)}/interrupt`,{method:"POST",body:JSON.stringify({})})},[]);return p.useMemo(()=>{const h=[{id:"nav:home",label:"Go to Home",action:()=>e({view:"inbox"}),shortcut:"Cmd+1"},{id:"nav:agents",label:"Go to Agents",action:()=>e({view:"agents"}),shortcut:"Cmd+2"},{id:"nav:fleet",label:"Go to Fleet",action:()=>e({view:"fleet"}),shortcut:"Cmd+3"},{id:"nav:messages",label:"Go to Messages",action:()=>e({view:"messages"}),shortcut:"Cmd+4"},{id:"nav:messages-dms",label:"Go to Messages — DMs",action:()=>e({view:"messages",filter:"dm"})},{id:"nav:messages-channels",label:"Go to Messages — Channels",action:()=>e({view:"messages",filter:"channel"}),shortcut:"Cmd+5"},{id:"nav:sessions",label:"Go to Sessions",action:()=>e({view:"sessions"})},{id:"nav:activity",label:"Go to Activity",action:()=>e({view:"activity"}),shortcut:"Cmd+6"},{id:"nav:mesh",label:"Go to Mesh",action:()=>e({view:"mesh"}),shortcut:"Cmd+7"},...o?[{id:"nav:ops",label:"Go to Ops",action:()=>e({view:"ops"}),shortcut:"Cmd+8"}]:[],{id:"nav:settings",label:"Open Settings",action:()=>s(),shortcut:"Cmd+,"},{id:"nav:agent-config",label:"Open Agent Configuration",action:()=>e({view:"settings",section:"agents"})},{id:"ranger:open",label:"Open Ranger",action:()=>r({type:"open-ranger",mode:"ask"})},{id:"ranger:state",label:"Ask Ranger for State",action:()=>c()},{id:"ranger:ops-tail",label:"Ranger: Open Ops Tail",action:()=>r({type:"navigate",route:{view:"ops",mode:"tail"}})},{id:"nav:pair",label:"Pair Device",action:()=>s()},{id:"scout:reload",label:"Reload Agents",action:()=>{n()}}];for(const f of t)h.push({id:`scout:open:${f.id}`,label:`Open ${f.name}`,action:()=>e({view:"conversation",conversationId:ns(f.id)})}),h.push({id:`scout:send:${f.id}`,label:`Tell ${f.name}`,action:()=>e({view:"conversation",conversationId:ns(f.id)})}),h.push({id:`scout:ask:${f.id}`,label:`Ask ${f.name}`,action:()=>e({view:"conversation",conversationId:ns(f.id),composeMode:"ask"})}),h.push({id:`scout:interrupt:${f.id}`,label:`Interrupt ${f.name}`,action:()=>{u(f.id)}});return h},[t,r,c,u,e,o,n,s])}function lO(){const{onlineCount:e}=Je(),[t,n]=p.useState(null),[s,r]=p.useState(null),o=p.useRef(0),c=p.useCallback(async()=>{const h=++o.current;try{const f=await ye("/api/mesh");if(h!==o.current)return;n(f)}catch{if(h!==o.current)return;n(null)}},[]);p.useEffect(()=>{c();const h=setInterval(()=>{c()},15e3);return()=>clearInterval(h)},[c]),p.useEffect(()=>{ye("/api/build").then(r).catch(()=>r(null))},[]);const u=(()=>{if(!s)return{label:"dev",title:"Build information unavailable"};const h=s.mode==="production"?"prod":"dev",f=s.branch??"unknown",g=s.commit?` @ ${s.commit}${s.dirty?"*":""}`:"";return{label:`${h} ${f}${g}`,title:[`Mode: ${s.mode}`,`Version: ${s.version??"unknown"}`,`Branch: ${s.branch??"unknown"}`,`Commit: ${s.commit??"unknown"}`,`Dirty: ${s.dirty===null?"unknown":s.dirty?"yes":"no"}`].join(`
|
|
145
|
+
`)}})();return{status:t===null?{label:"Broker: …",color:"neutral"}:t.health.reachable?{label:"Broker: UP",color:"emerald"}:{label:"Broker: DOWN",color:"red"},activeAgents:{label:"Active Agents",count:e},mesh:t===null?{label:"Mesh",value:"checking",color:"neutral"}:t.health.reachable?Object.values(t.nodes).filter(f=>f.id!==t.localNode?.id).length>0?{label:"Mesh",value:"connected",color:"neutral"}:t.identity.discoverable?{label:"Mesh",value:"discoverable",color:"neutral"}:{label:"Mesh",value:"local",color:"amber"}:{label:"Mesh",value:"offline",color:"neutral"},build:u}}function NQ(){return lO().status}const SQ={inbox:"Fleet",conversation:"Conversation","agent-info":"Agent",agents:"Agents",fleet:"Fleet",conversations:"Conversations",sessions:"Sessions",channels:"Channels",activity:"Activity",mesh:"Mesh",broker:"Broker",settings:"Settings",work:"Work",ops:"Ops"};function CQ(){const{route:e,navigate:t}=Je(),n=hd(),s=[{label:"Fleet",view:"inbox"},{label:"Agents",view:"agents"},{label:"Messages",view:"messages"},{label:"Sessions",view:"sessions"},{label:"Mesh",view:"mesh"},{label:"Broker",view:"broker"},...n?[{label:"Ops",view:"ops"}]:[]],r=e.view==="fleet"||e.view==="activity"?"inbox":e.view==="conversation"?"messages":e.view==="agent-info"?"agents":e.view==="conversations"||e.view==="channels"?"messages":e.view==="work"?n?"ops":"inbox":e.view,o=e.view==="conversation"||e.view==="agent-info"||e.view==="work"?SQ[e.view]??e.view:null;return p.createElement("div",{className:"scout-nav-tabs"},s.map(({label:c,view:u})=>p.createElement("button",{key:u,className:`scout-nav-tab${r===u?" active":""}`,onClick:()=>t({view:u})},c)),o&&p.createElement("span",{className:"scout-nav-slash"},"/"),o&&p.createElement("span",{className:"scout-nav-crumb"},o))}function EQ(){const{openSettings:e}=Je();return p.createElement("div",{className:"scout-nav-actions"},p.createElement("button",{onClick:()=>e(),className:"scout-nav-action scout-nav-action--settings",title:"Settings"},p.createElement(Wm,{size:12,strokeWidth:1.6,"aria-hidden":!0}),p.createElement("span",null,"Settings")))}function TQ(){return"panel"}function AQ(){const{onboarding:e,onboardingSkipped:t,skipOnboarding:n}=Je();if(!e)return null;if(t)return{active:!1,dismissible:!0};const s=!e.hasLocalConfig,r=!e.hasProjectConfig,o=!e.hasOperatorName;return{active:s||o||r,dismissible:!0,onDismiss:n}}const Kx=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(", ");function q0(e=!0){const t=p.useRef(null),n=p.useRef(null);p.useEffect(()=>{if(!e)return;n.current=document.activeElement;const r=t.current;return r?((r.querySelector(Kx)??r).focus(),()=>{n.current?.focus?.()}):void 0},[e]);const s=p.useCallback(r=>{if(!e||r.key!=="Tab")return;const o=t.current;if(!o)return;const c=Array.from(o.querySelectorAll(Kx));if(c.length===0){r.preventDefault(),o.focus();return}const u=c[0],h=c[c.length-1],f=document.activeElement;r.shiftKey?(f===u||!o.contains(f))&&(r.preventDefault(),h.focus()):f===h&&(r.preventDefault(),u.focus())},[e]);return{ref:t,onKeyDown:s}}function cO(e){return Array.from(e.querySelectorAll(":scope > button:not([disabled]), :scope > [role='button']:not([aria-disabled='true'])"))}function uO(e,t){e.forEach((n,s)=>{n.tabIndex=s===t?0:-1}),e[t]?.focus()}function dO(){return p.useCallback(e=>{const t=e.key==="ArrowDown"||e.key==="j",n=e.key==="ArrowUp"||e.key==="k",s=e.key==="Home"||e.key==="g"&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey,r=e.key==="End"||e.key==="G";if(!t&&!n&&!s&&!r)return;const o=cO(e.currentTarget);if(o.length===0)return;const c=document.activeElement,u=o.findIndex(f=>f===c);let h;t?h=u<0?0:Math.min(o.length-1,u+1):n?h=u<0?o.length-1:Math.max(0,u-1):s?h=0:h=o.length-1,e.preventDefault(),uO(o,h)},[])}function Yx(e,t,n){return e||!t&&n?0:-1}function MQ(){p.useEffect(()=>{const e=t=>{if(t.key!=="["&&t.key!=="]")return;const n=t.target;if(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||(n?.isContentEditable??!1))return;const r=["left","center","right"],o=t.key==="]"?1:-1,c=r.findIndex(h=>{const f=document.querySelector(`[data-pane="${h}"]`);return f?f.contains(n):!1}),u=c<0?o>0?-1:r.length:c;for(let h=u+o;h>=0&&h<r.length;h+=o){const f=document.querySelector(`[data-pane="${r[h]}"]`);if(!f)continue;const g=f.querySelector(Kx);if(g){t.preventDefault(),g.focus();return}}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[])}function fO(e){p.useEffect(()=>{const t=n=>{if(n.key!=="/")return;const s=n.target;if(s instanceof HTMLInputElement||s instanceof HTMLTextAreaElement||(s?.isContentEditable??!1))return;const o=e();o&&(n.preventDefault(),o.focus(),o.select())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e])}function hO(e){return t=>{if(t.key!=="ArrowDown")return;const n=e();if(!n)return;const s=cO(n);if(s.length===0)return;const r=s.findIndex(c=>c.tabIndex===0),o=r>=0?r:0;t.preventDefault(),uO(s,o)}}const RQ=[{title:"Global",bindings:[{keys:["?"],label:"Toggle this help"},{keys:["Esc"],label:"Close dialog / clear search"},{keys:["Tab","⇧ Tab"],label:"Move focus"},{keys:["["],label:"Focus previous pane"},{keys:["]"],label:"Focus next pane"}]},{title:"Lists",bindings:[{keys:["↓","j"],label:"Next item"},{keys:["↑","k"],label:"Previous item"},{keys:["g","Home"],label:"First item"},{keys:["G","End"],label:"Last item"},{keys:["Enter"],label:"Open / activate"}]},{title:"Search",bindings:[{keys:["/"],label:"Focus filter input"},{keys:["↓"],label:"From filter → first match"},{keys:["Esc"],label:"Clear filter (while focused)"}]},{title:"Tail · Atop",bindings:[{keys:["/"],label:"Open filter (Tail)"},{keys:["G"],label:"Jump to live (Tail)"},{keys:["j","k"],label:"Walk rows (Atop)"}]},{title:"Session scrubber",bindings:[{keys:["←","→"],label:"Seek ±1%"},{keys:["⇧ ←","⇧ →"],label:"Seek ±5%"},{keys:["Home","End"],label:"Jump to start / end"}]}];function IQ({open:e,onClose:t}){const{ref:n,onKeyDown:s}=q0(e);return e?a.jsx("div",{className:"kb-help-backdrop",onClick:t,role:"presentation",children:a.jsxs("div",{ref:n,className:"kb-help-panel",role:"dialog","aria-modal":"true","aria-labelledby":"kb-help-title",onClick:r=>r.stopPropagation(),onKeyDown:s,tabIndex:-1,children:[a.jsxs("header",{className:"kb-help-head",children:[a.jsx("h2",{id:"kb-help-title",className:"kb-help-title",children:"Keyboard shortcuts"}),a.jsx("button",{type:"button",className:"kb-help-close",onClick:t,"aria-label":"Close (Esc)",children:"✕"})]}),a.jsx("div",{className:"kb-help-grid",children:RQ.map(r=>a.jsxs("section",{className:"kb-help-group",children:[a.jsx("h3",{className:"kb-help-group-title",children:r.title}),a.jsx("dl",{className:"kb-help-list",children:r.bindings.map((o,c)=>a.jsxs("div",{className:"kb-help-row",children:[a.jsx("dt",{className:"kb-help-keys",children:o.keys.map((u,h)=>a.jsxs("span",{children:[h>0&&a.jsx("span",{className:"kb-help-or",children:"or"}),a.jsx("kbd",{className:"kb-help-kbd",children:u})]},h))}),a.jsx("dd",{className:"kb-help-label",children:o.label})]},`${r.title}-${c}`))})]},r.title))}),a.jsxs("footer",{className:"kb-help-foot",children:["Press ",a.jsx("kbd",{className:"kb-help-kbd",children:"?"})," to toggle · ",a.jsx("kbd",{className:"kb-help-kbd",children:"Esc"})," to close"]})]})}):null}function _Q(){const[e,t]=p.useState(!1);return p.useEffect(()=>{const n=s=>{if(s.key==="Escape"&&e){s.preventDefault(),t(!1);return}if(s.key!=="?")return;const r=s.target;r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||(r?.isContentEditable??!1)||(s.preventDefault(),t(c=>!c))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),{open:e,setOpen:t}}const ko=50,OQ=3e4,$Q=5*6e4,Xx="openscout:toggle-ranger",mO="openscout.broadcast.mute",Uh={filter:"all",goDark:!1,muteUntil:0};let Vh={history:[],latest:null,promotedId:null,dismissedId:null,now:Date.now(),mute:Uh};const pi=new Set;let $l=null,Vl=null,ed=0,$u=null,SE=!1,Fl=null;function pO(){if(typeof window>"u")return Uh;try{const e=window.localStorage.getItem(mO);if(!e)return Uh;const t=JSON.parse(e);return{filter:t.filter==="warn-plus"||t.filter==="errors-only"?t.filter:"all",goDark:t.goDark===!0,muteUntil:typeof t.muteUntil=="number"?t.muteUntil:0}}catch{return Uh}}function PQ(e,t){return t==="all"?!0:t==="warn-plus"?e!=="info":e==="error"}function DQ(e,t){return!!(e.goDark||e.muteUntil>t)}function LQ(e,t,n){return DQ(t,n)?!1:PQ(e.tier,t.filter)}function zQ(){for(const e of[...pi])e()}function $i(e){const t=e(Vh);t!==Vh&&(Vh=t,zQ())}function BQ(e){$i(t=>{if(t.history.some(r=>r.id===e.id))return t;const n=[...t.history,e],s=n.length>ko?n.slice(n.length-ko):n;return{...t,history:s,latest:e,promotedId:e.id,dismissedId:null}})}function UQ(e){$i(t=>{const n=new Set(t.history.map(c=>c.id)),s=[...t.history];for(const c of e)n.has(c.id)||s.push(c);s.sort((c,u)=>c.ts-u.ts);const r=s.length>ko?s.slice(s.length-ko):s,o=r.length?r[r.length-1]:null;return{...t,history:r,latest:o,promotedId:t.promotedId??o?.id??null}})}function VQ(){if(Vl||pi.size===0)return;ed++;const e=Math.min(2e3*2**(ed-1),3e4);Vl=setTimeout(()=>{Vl=null,pi.size>0&&gO()},e)}function gO(){if($l||pi.size===0)return;const e=new EventSource("/api/broadcast/stream");$l=e,e.onopen=()=>{ed=0},e.onmessage=t=>{try{const n=JSON.parse(t.data);BQ(n)}catch{}},e.addEventListener("ready",()=>{ed=0}),e.onerror=()=>{$l===e&&($l=null),e.close(),VQ()}}function FQ(){$l?.close(),$l=null,Vl&&(clearTimeout(Vl),Vl=null),ed=0}function HQ(){$u||($u=setInterval(()=>{$i(e=>({...e,now:Date.now()}))},1e3))}function qQ(){$u&&(clearInterval($u),$u=null)}async function WQ(){if(!SE){SE=!0;try{const e=await ye(`/api/broadcast/recent?limit=${ko}`);e.broadcasts?.length&&UQ(e.broadcasts)}catch{}}}function GQ(){Fl||typeof window>"u"||(Fl=e=>{if(e.key!==mO)return;const t=pO();$i(n=>({...n,mute:t}))},window.addEventListener("storage",Fl))}function ZQ(){!Fl||typeof window>"u"||(window.removeEventListener("storage",Fl),Fl=null)}function KQ(e){return pi.add(e),pi.size===1&&($i(t=>({...t,mute:pO()})),gO(),HQ(),GQ(),WQ()),()=>{pi.delete(e),pi.size===0&&(FQ(),qQ(),ZQ())}}function CE(){return Vh}function vO(){return p.useSyncExternalStore(KQ,CE,CE)}function YQ(){$i(e=>e.promotedId?{...e,dismissedId:e.promotedId,promotedId:null}:e)}function yO(e){if(!e.promotedId||e.dismissedId&&e.dismissedId===e.promotedId)return null;const t=e.history.find(n=>n.id===e.promotedId);return!t||e.now-t.ts>$Q||!LQ(t,e.mute,e.now)?null:t}function XQ(e){const t=yO(e);return!t||e.now-t.ts>OQ?null:t}function xO(e){return`client:${e}`}function Fh(e){const t=xO(e.key);$i(n=>{const s=Date.now(),r={id:t,tier:e.tier,text:e.text,ts:s,ruleId:`client.${e.key}`,key:e.key},o=n.history.findIndex(u=>u.id===t);let c;return o>=0?(c=[...n.history],c[o]=r):(c=[...n.history,r],c.length>ko&&(c=c.slice(c.length-ko))),{...n,history:c,latest:r,promotedId:t,dismissedId:n.dismissedId===t?null:n.dismissedId}})}function Hh(e){const t=xO(e);$i(n=>{const s=n.history.filter(u=>u.id!==t);if(s.length===n.history.length)return n;const r=n.promotedId===t?null:n.promotedId,o=n.dismissedId===t?null:n.dismissedId,c=n.latest?.id===t?s.length>0?s[s.length-1]:null:n.latest;return{...n,history:s,latest:c??null,promotedId:r,dismissedId:o}})}function JQ(e){if(typeof window>"u")return;const t=e?{broadcastId:e.id}:{};window.dispatchEvent(new CustomEvent(Xx,{detail:t}))}function QQ(e){if(typeof window>"u")return()=>{};const t=n=>{const s=n.detail??{};e(s)};return window.addEventListener(Xx,t),()=>window.removeEventListener(Xx,t)}const eee=5*6e4,tee=15e3;function nee(e){return`s-ranger-chip-dot s-ranger-chip-dot--${e}`}function see(e){switch(e){case"listening":return"listening";case"thinking":return"thinking";case"speaking":return"speaking";case"briefing":return"briefing";default:return""}}function aee(e){return e==="thinking"||e==="briefing"}function ree(e){const t=Math.floor(e/6e4);return t<1?"now":`${t}m`}function iee(e,t,n){if(e.activity!=="idle")return{kind:"activity",activity:e.activity,label:see(e.activity)};if(t)return{kind:"broadcast",tier:t.tier,text:t.text,clickTarget:t};if(e.brief.lastDeliveredAt){const s=Math.max(0,n-e.brief.lastDeliveredAt);if(s<=eee)return{kind:"brief-fresh",label:ree(s)}}return{kind:"idle"}}function oee(e,t){const n=t.session.title??null,s=[];switch(e.kind){case"activity":s.push(`Ranger · ${e.label}`);break;case"broadcast":s.push(e.text);break;case"brief-fresh":s.push(`Brief delivered ${e.label} ago`);break;default:s.push("Toggle Ranger");break}return n&&s.push(n),t.error&&e.kind!=="broadcast"&&s.push(t.error),s.join(`
|
|
146
|
+
`)}function lee(){const e=vO(),t=XQ(e),{state:n,actions:s}=WJ(),r=gd(),[o,c]=p.useState(()=>Date.now());p.useEffect(()=>{const y=window.setInterval(()=>c(Date.now()),tee);return()=>window.clearInterval(y)},[]);const u=iee(n,t,o),h=oee(u,n),f=(()=>{switch(u.kind){case"activity":return"s-ranger-chip--activity";case"broadcast":return"s-ranger-chip--active";case"brief-fresh":return"s-ranger-chip--fresh";default:return"s-ranger-chip--idle"}})(),g=()=>{JQ(t??null)},v=y=>{r(y,[{kind:"action",label:"Brief me now",onSelect:()=>s.triggerBrief()},{kind:"action",label:"Ask state",onSelect:()=>s.triggerAskState()},{kind:"action",label:"New chat",onSelect:()=>s.startNewChat()},{kind:"separator"},{kind:"action",label:"Open chat",onSelect:()=>s.focusRanger()}])};return a.jsxs("button",{type:"button",className:`s-ranger-chip ${f}`,onClick:g,onContextMenu:v,title:h,children:[a.jsx(ad,{size:14,className:"s-ranger-chip-icon","aria-hidden":"true"}),u.kind==="activity"&&a.jsxs(a.Fragment,{children:[aee(u.activity)?a.jsx(la,{size:10,className:"s-ranger-chip-spinner","aria-hidden":"true"}):a.jsx("span",{className:"s-ranger-chip-dot s-ranger-chip-dot--pulse","aria-hidden":"true"}),a.jsx("span",{className:"s-ranger-chip-text",children:u.label})]}),u.kind==="broadcast"&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:nee(u.tier),"aria-hidden":"true"}),a.jsx("span",{className:"s-ranger-chip-text",children:u.text})]}),u.kind==="brief-fresh"&&a.jsx("span",{className:"s-ranger-chip-text",children:u.label})]})}const th=240,cee=900,uee=.45,dee=500;function EE(e){return Math.min(cee,Math.max(dee,Math.floor(e*uee)))}function fee({app:e,assistant:t=!0}){return a.jsx(e.Provider,{children:a.jsx(_Y,{children:a.jsx(pee,{app:e,assistantEnabled:t})})})}function hee({statusBar:e}){const t=e.mesh.color==="amber"?"text-amber-400":e.mesh.color==="red"?"text-red-400":"text-foreground";return a.jsxs("div",{className:"flex items-center gap-3 font-mono leading-none",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"text-[9px] font-normal uppercase tracking-[0.16em] text-muted-foreground",children:e.activeAgents.label}),a.jsx("span",{className:"text-[10px] tabular-nums text-foreground",children:e.activeAgents.count})]}),a.jsx("span",{"aria-hidden":"true",className:"select-none text-muted-foreground/40 text-[10px]",children:"·"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"text-[9px] font-normal uppercase tracking-[0.16em] text-muted-foreground",children:e.mesh.label}),a.jsx("span",{className:`text-[10px] ${t}`,children:e.mesh.value})]}),a.jsx("span",{"aria-hidden":"true",className:"select-none text-muted-foreground/40 text-[10px]",children:"·"}),a.jsx(lee,{})]})}function mee({statusBar:e}){return a.jsx("div",{className:"max-w-[38vw] truncate font-mono text-[10px] leading-none text-muted-foreground",title:e.build.title,children:e.build.label})}function pee({app:e,assistantEnabled:t}){const{navTotalHeight:n}=P0(),s=_Q();MQ();const r=e.hooks.useCommands(),o=e.hooks.useSearch?.()??null,c=e.hooks.useNavCenter?.()??null,u=e.hooks.useNavActions?.()??null,h=e.hooks.useLayoutMode?.()??e.mode,f=h==="focus"?"panel":h,g=e.hooks.useActiveToolHint?.()??null,v=e.hooks.useTakeover?.()??null,y=v?.active===!0,x=y&&v?.dismissible===!0,w=v?.onDismiss,k=e.slots.Takeover,C=lO(),T=OY(),[S,N]=Na(`appshell.${e.id}.left`,!1),[E,A]=Na(`appshell.${e.id}.right`,!1),[R,M]=Na(`appshell.${e.id}.rightOverlay`,!1),[$,O]=Na(`appshell.${e.id}.leftW`,260),[U,_]=Na(`appshell.${e.id}.rightW`,280),[z,q]=Na("openscout.ops.minimap.collapsed",!1),[V,G]=p.useState(()=>EE(typeof window<"u"?window.innerWidth:1280));p.useEffect(()=>{const ue=()=>G(EE(window.innerWidth));return ue(),window.addEventListener("resize",ue),()=>window.removeEventListener("resize",ue)},[]),p.useEffect(()=>{O(ue=>Math.min(V,Math.max(th,ue))),_(ue=>Math.min(V,Math.max(th,ue)))},[V,O,_]);const[P,H]=p.useState({x:0,y:0}),[D,K]=p.useState(1),W=p.useCallback(ue=>{H(Ne=>({x:Ne.x+ue.x,y:Ne.y+ue.y}))},[]),L=p.useCallback(ue=>{K(ue)},[]),[F,Z]=p.useState(!1),[ee,X]=p.useState(!1),[de,J]=Na(`appshell.${e.id}.termH`,320),ae=!!e.slots.Terminal,je=p.useMemo(()=>{const ue=[];return ae&&ue.push("terminal"),t&&ue.push("assistant"),ue},[ae,t]),Ee=je[0]??"terminal",[pe,Te]=Na(`appshell.${e.id}.drawerTab`,Ee),re=je.includes(pe)?pe:Ee,[Fe,Ce]=p.useState(!1),[Me,_e]=p.useState(new Set),He=p.useCallback(ue=>{_e(Ne=>{const De=new Set(Ne);return De.has(ue)?De.delete(ue):De.add(ue),De})},[]),qe=p.useCallback(ue=>Ne=>{Ne.preventDefault();const De=Ne.clientX,dt=ue==="left"?$:U,St=ue==="left"?O:_,kt=ue==="left"?1:-1,Ct=Mt=>{const $t=(Mt.clientX-De)*kt;St(Math.max(th,Math.min(V,dt+$t)))},Pt=()=>{document.removeEventListener("mousemove",Ct),document.removeEventListener("mouseup",Pt)};document.addEventListener("mousemove",Ct),document.addEventListener("mouseup",Pt)},[$,U,O,_,V]),nt=p.useMemo(()=>{const ue=[{id:"shell:toggle-left",label:"Toggle Left Panel",shortcut:"Cmd+[",action:()=>N(Ne=>!Ne)},{id:"shell:toggle-right",label:"Toggle Right Panel",shortcut:"Cmd+]",action:()=>A(Ne=>!Ne)},{id:"shell:toggle-right-overlay",label:"Toggle Inspector Overlay",shortcut:"Cmd+Shift+]",action:()=>M(Ne=>!Ne)},{id:"shell:toggle-terminal",label:"Toggle Terminal",shortcut:"Ctrl+`",action:()=>Z(Ne=>!Ne)}];return t&&ue.push({id:"shell:toggle-assistant",label:"Toggle Assistant",shortcut:"Cmd+J",action:()=>{Te("assistant"),Z(Ne=>!Ne||pe!=="assistant")}}),ue},[t,pe,Te,N,A,M]),Re=p.useMemo(()=>[...r,...nt],[r,nt]);p.useEffect(()=>{const ue=Ne=>{y||((Ne.metaKey||Ne.ctrlKey)&&Ne.key==="k"&&(Ne.preventDefault(),Ce(!0)),(Ne.metaKey||Ne.ctrlKey)&&Ne.key==="["&&(Ne.preventDefault(),N(De=>!De)),(Ne.metaKey||Ne.ctrlKey)&&Ne.key==="]"&&(Ne.preventDefault(),Ne.shiftKey?M(De=>!De):A(De=>!De)),Ne.ctrlKey&&Ne.key==="`"&&(Ne.preventDefault(),Z(De=>!De)),t&&(Ne.metaKey||Ne.ctrlKey)&&Ne.key==="j"&&(Ne.preventDefault(),Te("assistant"),Z(De=>!(De&&re==="assistant"))))};return window.addEventListener("keydown",ue),()=>window.removeEventListener("keydown",ue)},[t,re,Te,N,A,M,y]),p.useEffect(()=>{const ue=()=>{Te("terminal"),Z(!0),J(Ne=>Ne>window.innerHeight*.8?420:Ne)};return window.addEventListener("scout:open-terminal",ue),()=>window.removeEventListener("scout:open-terminal",ue)},[Te,J]),p.useEffect(()=>{const ue=Ne=>{const De=Ne.detail,dt=typeof De?.width=="number"?De.width:420;A(!1),_(St=>Math.max(St,Math.min(V,Math.max(th,dt))))};return window.addEventListener("scout:set-inspector-width",ue),()=>window.removeEventListener("scout:set-inspector-width",ue)},[A,_,V]);const Ue=e.slots.Inspector,Ie=e.slots.RightPanel,Be=e.tools&&e.tools.length>0,Pe=a.jsxs(a.Fragment,{children:[Ue&&a.jsx(Ue,{}),!Ue&&Ie&&a.jsx(Ie,{}),Be&&a.jsx("div",{className:"border-t border-neutral-700/50",children:e.tools.map(ue=>{const Ne=Me.has(ue.id);return a.jsxs("div",{children:[a.jsxs("button",{onClick:()=>He(ue.id),className:`w-full flex items-center gap-2 px-4 py-2.5 text-[11px] font-mono tracking-wider uppercase transition-colors hover:bg-white/5 ${g===ue.id?"text-emerald-400":"text-neutral-300"}`,children:[Ne?a.jsx(Wl,{size:10}):a.jsx(Ib,{size:10}),a.jsx("span",{className:"text-neutral-400",children:ue.icon}),a.jsx("span",{className:"font-bold",children:ue.name})]}),Ne&&a.jsx("div",{className:"px-4 pb-3",children:a.jsx(ue.Component,{})})]},ue.id)})})]}),at=a.jsx(TY,{onOpenCommandPalette:()=>Ce(!0)}),ut=p.useMemo(()=>({isCollapsed:z,onToggleCollapse:()=>q(ue=>!ue)}),[z,q]),rt=T?a.jsx("div",{className:`scout-canvas-minimap-shell${z?" scout-canvas-minimap-shell--collapsed":""}`,children:T.render(ut)}):null,vt=T?a.jsx("div",{className:`scout-canvas-minimap-shell scout-canvas-minimap-shell--floating${z?" scout-canvas-minimap-shell--collapsed":""}`,children:T.render(ut)}):null,ie=p.useRef(null),fe=p.useRef(null);p.useEffect(()=>{const ue=ie.current;ue&&(y?ue.setAttribute("inert",""):ue.removeAttribute("inert"))},[y]),p.useEffect(()=>{if(!y)return;const ue=fe.current;if(ue&&(ue.querySelector("button, [href], input, select, textarea, [tabindex]:not([tabindex='-1'])")??ue).focus(),!x)return;const Ne=De=>{De.key==="Escape"&&(De.preventDefault(),w?.())};return window.addEventListener("keydown",Ne),()=>window.removeEventListener("keydown",Ne)},[y,x,w]);const Ae=E||R?0:U,Qe=h==="panel"?{position:"absolute",top:n,bottom:28,left:S?0:$,right:Ae,overflow:"auto",transition:"left 200ms ease, right 200ms ease"}:{};return a.jsxs(a.Fragment,{children:[a.jsx("div",{ref:ie,"aria-hidden":y?!0:void 0,style:{display:"contents"},children:a.jsx(bY,{mode:f,panOffset:P,scale:D,onPan:W,onZoom:L,hud:a.jsxs(a.Fragment,{children:[a.jsx(jY,{title:e.name.toUpperCase(),search:o??void 0,center:c,actions:u}),a.jsx(uE,{side:"left",title:e.leftPanel?.title??"Navigation",icon:e.leftPanel?.icon,isCollapsed:S,onToggleCollapse:()=>N(!S),width:$,onResizeStart:qe("left"),footer:S?void 0:rt,headerActions:e.leftPanel?.headerActions&&a.jsx(e.leftPanel.headerActions,{}),children:a.jsx("div",{"data-pane":"left",style:{display:"contents"},children:e.slots.LeftPanel&&a.jsx(e.slots.LeftPanel,{})})}),S?vt:null,a.jsx(uE,{side:"right",title:e.rightPanel?.title??"Inspector",icon:e.rightPanel?.icon,isCollapsed:E,onToggleCollapse:()=>A(!E),width:U,onResizeStart:qe("right"),style:R?{backgroundColor:"rgba(13, 14, 16, 0.72)",backdropFilter:"blur(24px) saturate(140%)",WebkitBackdropFilter:"blur(24px) saturate(140%)",boxShadow:"-18px 0 48px -12px rgba(0,0,0,0.7), inset 1px 0 0 0 rgba(255,255,255,0.06)"}:void 0,footer:at,headerActions:a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",onClick:()=>M(ue=>!ue),title:R?"Pin inspector (push content)":"Float inspector (overlay content)","aria-label":R?"Pin inspector":"Float inspector",className:"p-1 hover:bg-accent/10 rounded transition-colors text-muted-foreground hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:R?a.jsx(n4,{size:12}):a.jsx(a4,{size:12})}),e.rightPanel?.headerActions&&a.jsx(e.rightPanel.headerActions,{})]}),children:a.jsx("div",{"data-pane":"right",style:{display:"contents"},children:Pe})}),a.jsx(CY,{status:C.status,left:a.jsx(hee,{statusBar:C}),right:a.jsx(mee,{statusBar:C}),onToggleTerminal:()=>Z(ue=>!ue),isTerminalOpen:F}),a.jsx("div",{className:"pointer-events-none",style:{position:"fixed",left:S?0:$,right:Ae,bottom:0,top:0,zIndex:45,transition:"left 200ms ease, right 200ms ease",transform:"translateZ(0)"},children:a.jsxs(MY,{isOpen:F,onClose:()=>Z(!1),onToggleMaximize:()=>X(ue=>!ue),isMaximized:ee,height:Math.min(de,window.innerHeight*.8),onHeightChange:ue=>J(Math.min(ue,window.innerHeight*.8)),title:a.jsx(gee,{tabs:je,active:re,onSelect:Te}),children:[F&&re==="terminal"&&(e.slots.Terminal?a.jsx(e.slots.Terminal,{}):a.jsx("div",{className:"p-4 font-mono text-[12px] text-neutral-400",children:"No terminal content"})),F&&re==="assistant"&&a.jsx(RV,{app:e,commands:r})]})}),a.jsx(IY,{isOpen:Fe,onClose:()=>Ce(!1),commands:Re})]}),children:a.jsx("div",{style:Qe,className:"frame-scrollbar","data-pane":"center",children:a.jsx(e.slots.Content,{})})})}),y&&k?a.jsx("div",{ref:fe,tabIndex:-1,role:"dialog","aria-modal":"true",style:{position:"fixed",inset:0,zIndex:80,outline:"none"},children:a.jsx(k,{})}):null,a.jsx(IQ,{open:s.open,onClose:()=>s.setOpen(!1)})]})}function gee({tabs:e,active:t,onSelect:n}){return e.length===0?null:a.jsx("div",{className:"flex items-center gap-0.5",children:e.map(s=>{const r=s===t,o=s==="terminal"?KA:Gm,c=s==="terminal"?"TERMINAL":"ASSISTANT",u=s==="terminal"?"text-emerald-400":"text-cyan-400";return a.jsxs("button",{type:"button",onClick:()=>n(s),className:`flex items-center gap-1.5 px-2.5 py-1 rounded text-xs font-bold tracking-widest font-mono transition-colors ${r?`${u} bg-white/[0.04]`:"text-neutral-500 hover:text-neutral-300"}`,children:[a.jsx(o,{size:13}),a.jsx("span",{children:c})]},s)})})}const TE=["#6366f1","#8b5cf6","#0ea5e9","#14b8a6","#f59e0b","#ef4444","#ec4899","#10b981"];function en(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return TE[Math.abs(t)%TE.length]}function Un(e){switch(et(e)){case"working":return"var(--green)";case"available":return"var(--accent)";default:return"var(--dim)"}}const vee=1e12;function yee(e){return Number.isFinite(e)&&e>0}function xee(e){const t=typeof e=="number"?e:typeof e=="string"?Number(e):null;return t===null||!yee(t)?null:Math.trunc(t<vee?t*1e3:t)}const bee={workspace:"workspace",worktree:"workspace",branch:"workspace",profile:"profile",persona:"profile",harness:"harness",runtime:"harness",model:"model",node:"node",host:"node"};function wee(e){return e.trim().replace(/^@+/,"").replace(/[.,!?;)\]]+$/,"")}function Sa(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const jee="scout";function kee(e){return bee[Sa(e)]??null}function bO(e){const t=Sa(e.definitionId),n=e.workspaceQualifier?Sa(e.workspaceQualifier):void 0,s=e.profile?Sa(e.profile):void 0,r=e.harness?Sa(e.harness):void 0,o=e.model?Sa(e.model):void 0,c=e.nodeQualifier?Sa(e.nodeQualifier):void 0;return t?{definitionId:t,...n?{workspaceQualifier:n}:{},...s?{profile:s}:{},...r?{harness:r}:{},...o?{model:o}:{},...c?{nodeQualifier:c}:{}}:null}function wO(e){const t=e.split(".").filter(Boolean),n=t.shift();if(!n)return null;const s={definitionId:n},r=[];for(const o of t){if(o.includes(":")){const[c,u=""]=o.split(":",2),h=kee(c),f=Sa(u);if(!h||!f)return null;h==="workspace"?s.workspaceQualifier=f:h==="profile"?s.profile=f:h==="harness"?s.harness=f:h==="model"?s.model=f:h==="node"&&(s.nodeQualifier=f);continue}r.push(o)}if(r.length===1){const o=Sa(r[0]);if(!o)return null;s.workspaceQualifier=o}else if(r.length===2){const o=Sa(r[0]),c=Sa(r[1]);if(!o||!c)return null;s.workspaceQualifier||(s.workspaceQualifier=o),s.nodeQualifier||(s.nodeQualifier=c)}else if(r.length>2)return null;return jO(s,{raw:e})}function Nee(e){const t=e.indexOf("#"),n=e.indexOf("?");if(t===-1&&n===-1||e.indexOf("#",t+1)!==-1||e.indexOf("?",n+1)!==-1||t!==-1&&n!==-1&&n<t)return null;const s=Math.min(...[t,n].filter(h=>h>=0)),r=e.slice(0,s);if(!r)return null;const o=wO(r);if(!o)return null;const c=t>=0?e.slice(t+1,n>=0?n:e.length):"",u=n>=0?e.slice(n+1):"";return t>=0&&!c||n>=0&&!u||c.includes("#")||c.includes("?")||u.includes("#")||u.includes("?")||o.harness&&c||o.model&&u?null:jO({definitionId:o.definitionId,nodeQualifier:o.nodeQualifier,workspaceQualifier:o.workspaceQualifier,profile:o.profile,harness:c||o.harness,model:u||o.model},{raw:e})}function See(e){const t=wee(e);return!t||t.includes("@")?null:t.includes("#")||t.includes("?")?Nee(t):wO(t)}function AE(e,t={}){const n=bO(e);if(!n)return t.includeSigil===!1?"":"@";const r=[`${t.includeSigil===!1?"":"@"}${n.definitionId}`];return n.workspaceQualifier&&r.push(n.workspaceQualifier),n.profile&&r.push(`profile:${n.profile}`),n.harness&&r.push(`harness:${n.harness}`),n.model&&r.push(`model:${n.model}`),n.nodeQualifier&&r.push(`node:${n.nodeQualifier}`),r.join(".")}function jO(e,t={}){const n=bO(e);return n?{raw:t.raw??AE(n,{includeSigil:!1}),label:AE(n),definitionId:n.definitionId,...n.nodeQualifier?{nodeQualifier:n.nodeQualifier}:{},...n.workspaceQualifier?{workspaceQualifier:n.workspaceQualifier}:{},...n.profile?{profile:n.profile}:{},...n.harness?{harness:n.harness}:{},...n.model?{model:n.model}:{}}:null}function Cee(e){return Eee(e).parsed}function Eee(e){const t=Array.from(e.matchAll(/(^|[\s([{'"`])@([a-z0-9][a-z0-9._/:-]*(?:#[a-z0-9][a-z0-9._/:-]*)?(?:\?[a-z0-9][a-z0-9._/:-]*)?)(?=$|[\s)\]}",.!?:;'"`])/gi)),n=new Map,s=[];for(const r of t){const o=r[2]??"",c=See(o);if(!c){o&&s.push(`@${o}`);continue}n.set(c.label,c)}return{parsed:Array.from(n.values()),unparsed:Array.from(new Set(s))}}const Tee=280,Aee=120,ME=320,nh=8,sh=new Map,Mee=1e4;function kO(e,t){if(e.definitionId){const s=t.find(r=>r.id===e.definitionId);if(s)return s}const n=e.label.replace(/^@/,"").toLowerCase();return t.find(s=>(s.handle??"").toLowerCase()===n)??t.find(s=>s.name.toLowerCase()===n)??null}async function Ree(e,t){const n=kO(e,t),s=n?.id??e.definitionId,r=s??e.label,o=sh.get(r);if(o&&Date.now()-o.fetchedAt<Mee)return o.agent;if(!s)return sh.set(r,{agent:n,fetchedAt:Date.now()}),n;try{const c=await ye(`/api/agents/${encodeURIComponent(s)}`);return sh.set(r,{agent:c,fetchedAt:Date.now()}),c}catch{return sh.set(r,{agent:n,fetchedAt:Date.now()}),n}}function Iee(e){if(!e)return null;const t="/Users/";if(e.startsWith(t)){const n=e.slice(t.length),s=n.indexOf("/");return s>=0?`~/${n.slice(s+1)}`:`~/${n}`}return e}function _ee(e){return e.project??Iee(e.projectRoot??e.cwd)}function RE(e){const t=window.innerWidth,n=window.innerHeight,s=Math.max(nh,Math.min(t-ME-nh,e.left+e.width/2-ME/2)),r=e.top-nh;return r>200||e.bottom>n-200?{top:r,left:s,placement:"above"}:{top:e.bottom+nh,left:s,placement:"below"}}function Oee(e){let t=e;for(;t;){if(t instanceof HTMLElement&&t.dataset.scoutTheme)return t;t=t.parentElement??null}return document.body}function $ee({identity:e,triggerEl:t,color:n,onRequestClose:s}){const{agents:r,navigate:o}=Je(),[c,u]=p.useState(()=>kO(e,r)),[h,f]=p.useState(!0),[g,v]=p.useState(()=>RE(t.getBoundingClientRect())),y=p.useRef(null),x=Oee(t);p.useEffect(()=>{let G=!1;return f(!0),Ree(e,r).then(P=>{G||(u(P),f(!1))}),()=>{G=!0}},[e,r]),p.useEffect(()=>{const G=()=>{v(RE(t.getBoundingClientRect()))};return window.addEventListener("scroll",G,!0),window.addEventListener("resize",G),()=>{window.removeEventListener("scroll",G,!0),window.removeEventListener("resize",G)}},[t]),p.useEffect(()=>{const G=P=>{P.key==="Escape"&&s()};return window.addEventListener("keydown",G),()=>window.removeEventListener("keydown",G)},[s]);const w=()=>{},k=()=>s(),C=et(c?.state??null),T=Ra(c?.state??null),S=Un(c?.state??null),N=C==="working"?"color-mix(in srgb, var(--accent) 18%, transparent)":C==="available"?"color-mix(in srgb, "+S+" 18%, transparent)":"color-mix(in srgb, var(--ink) 8%, transparent)",E=C==="offline"?"var(--dim)":S,A=c?_ee(c):null,R=c?.branch??null,M=c?.harness??null,$=c?.model??null,O=()=>{c&&(o({view:"conversation",conversationId:ns(c.id)}),s())},U=()=>{c&&(o({view:"agent-info",conversationId:ns(c.id)}),s())},_=()=>{c&&(o({view:"conversation",conversationId:ns(c.id),composeMode:"ask"}),s())},z=g.placement==="above"?"bottom center":"top center",q=g.placement==="above"?"translateY(-100%)":"",V={top:g.top,left:g.left,transform:q,transformOrigin:z};return Mr.createPortal(a.jsxs("div",{ref:y,className:"s-agent-hover-card",role:"dialog","aria-label":`${e.label} snapshot`,style:V,onMouseEnter:w,onMouseLeave:k,children:[a.jsxs("div",{className:"s-agent-hover-card-row",children:[a.jsxs("div",{className:"s-agent-hover-card-avatar",style:{background:n},children:[(c?.name?.[0]??e.label[1]??"?").toUpperCase(),a.jsx("span",{className:"s-agent-hover-card-dot",style:{background:S}})]}),a.jsxs("div",{className:"s-agent-hover-card-identity",children:[a.jsx("span",{className:"s-agent-hover-card-name",children:c?.name??e.label.replace(/^@/,"")}),a.jsx("span",{className:"s-agent-hover-card-handle",children:e.label.startsWith("@")?e.label:`@${e.label}`})]}),a.jsx("span",{className:"s-agent-hover-card-state",style:{background:N,color:E},children:T})]}),c?a.jsxs(a.Fragment,{children:[(A||R||M||$)&&a.jsxs("div",{className:"s-agent-hover-card-where",children:[A&&a.jsxs("span",{className:"s-agent-hover-card-where-token",children:[a.jsx("span",{className:"s-agent-hover-card-where-label",children:"repo"}),a.jsx("span",{className:"s-agent-hover-card-where-value",children:A})]}),R&&a.jsxs("span",{className:"s-agent-hover-card-where-token",children:[a.jsx("span",{className:"s-agent-hover-card-where-label",children:"branch"}),a.jsx("span",{className:"s-agent-hover-card-where-value",children:R})]}),M&&a.jsxs("span",{className:"s-agent-hover-card-where-token",children:[a.jsx("span",{className:"s-agent-hover-card-where-label",children:"harness"}),a.jsx("span",{className:"s-agent-hover-card-where-value",children:M})]}),$&&a.jsxs("span",{className:"s-agent-hover-card-where-token",children:[a.jsx("span",{className:"s-agent-hover-card-where-label",children:"model"}),a.jsx("span",{className:"s-agent-hover-card-where-value",children:$})]})]}),c.role&&a.jsx("div",{className:"s-agent-hover-card-activity",children:c.role}),a.jsxs("div",{className:"s-agent-hover-card-actions",children:[a.jsxs("button",{type:"button",className:"s-agent-hover-card-action s-agent-hover-card-action--primary",onClick:O,children:[a.jsx(DL,{size:12,strokeWidth:1.8,"aria-hidden":!0}),"DM"]}),a.jsxs("button",{type:"button",className:"s-agent-hover-card-action",onClick:_,title:"Open a fresh ask thread",children:[a.jsx(v4,{size:12,strokeWidth:1.8,"aria-hidden":!0}),"Ping"]}),a.jsxs("button",{type:"button",className:"s-agent-hover-card-action",onClick:U,title:"View this agent's detail",children:[a.jsx(eL,{size:12,strokeWidth:1.8,"aria-hidden":!0}),"Fleet"]})]})]}):h?a.jsx("div",{className:"s-agent-hover-card-skeleton",children:"loading…"}):a.jsxs("div",{className:"s-agent-hover-card-empty",children:["No agent registered as ",a.jsx("code",{children:e.label}),"."]})]}),x)}function Pee({identity:e,color:t}){const[n,s]=p.useState(!1),[r,o]=p.useState(!1),c=p.useRef(null),u=p.useRef(null),h=p.useRef(null),f=()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null),h.current!==null&&(window.clearTimeout(h.current),h.current=null)},g=p.useCallback(()=>{n||(f(),u.current=window.setTimeout(()=>s(!0),Tee))},[n]),v=p.useCallback(()=>{r||(f(),h.current=window.setTimeout(()=>s(!1),Aee))},[r]),y=p.useCallback(()=>{f(),s(!1),o(!1)},[]);p.useEffect(()=>()=>f(),[]);const x=w=>{if(w.preventDefault(),w.stopPropagation(),n&&r){y();return}f(),o(!0),s(!0)};return a.jsxs(a.Fragment,{children:[a.jsx("span",{ref:c,className:"s-mention",role:"button",tabIndex:0,"data-hover-open":n?"true":void 0,style:{"--mention-color":t},onMouseEnter:g,onMouseLeave:v,onFocus:g,onBlur:v,onClick:x,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),o(!0),s(!0))},children:e.label}),n&&c.current&&a.jsx($ee,{identity:e,color:t,triggerEl:c.current,onRequestClose:()=>{r?y():v()}})]})}const Dee=["ts","tsx","js","jsx","mjs","cjs","md","mdx","txt","log","json","jsonc","yaml","yml","toml","css","scss","html","htm","sh","py","rb","go","rs","swift","kt","java","c","cpp","h","png","jpg","jpeg","gif","svg","webp","avif","env","conf","ini","gitignore","sql","xml"],Lee=Dee.join("|"),IE=new RegExp(`\\.(?:${Lee})(?:$|[?#])`,"i"),zee=/^(?:\/Users\/|\/home\/|\/Volumes\/|\/var\/|\/etc\/|\/opt\/|\/tmp\/|\/private\/|\/mnt\/|\/Applications\/|\/usr\/|\/Library\/)/u,Bee=/(?:^|[\s(\[`'"])((?:~\/|\.\/|\.\.\/|\/)[A-Za-z0-9._/\-]+|[A-Za-z0-9._\-]+(?:\/[A-Za-z0-9._\-]+)+)/g;function Uee(e){return e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")?!0:e.startsWith("/")&&zee.test(e)||IE.test(e)}function _E(e){const t=[],n=new RegExp(Bee.source,"g");let s;for(;(s=n.exec(e))!==null;){const r=s[1];if(!r)continue;const o=r.replace(/[.,;:!?]+$/u,"");if(!o||!Uee(o))continue;const c=s[0].lastIndexOf(r);if(c<0)continue;const u=s.index+c;t.push({start:u,end:u+o.length,path:o})}return t}function Vee(e){return/\.(png|jpe?g|gif|svg|webp|avif)(?:$|[?#])/iu.test(e)}function Fee(e){return e.endsWith("/")?!0:!(e.split("/").pop()??"").includes(".")&&!e.startsWith("./")&&!e.startsWith("../")}function Hee({kind:e}){return e==="dir"?a.jsx("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:a.jsx("path",{d:"M2 5a1 1 0 0 1 1-1h3.5l1.5 1.5h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1Z"})}):e==="image"?a.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[a.jsx("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),a.jsx("circle",{cx:"6",cy:"7",r:"1"}),a.jsx("path",{d:"m3 12 3.5-3 2.5 2 3-2.5L14 11"})]}):a.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[a.jsx("path",{d:"M4 2h5l3 3v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z"}),a.jsx("path",{d:"M9 2v3h3"})]})}function OE({path:e}){const{openFilePreview:t}=Je(),n=Vee(e)?"image":Fee(e)?"dir":"file";return a.jsxs("button",{type:"button",className:"s-path-token",onClick:s=>{s.preventDefault(),s.stopPropagation(),t(e)},title:`Open ${e}`,children:[a.jsx(Hee,{kind:n}),e]})}function qee(e,t){if(t.length===0)return[{kind:"text",value:e}];const n=new Map;for(const c of t)n.set(c.label.toLowerCase(),c);const s=[];let r=e;const o=/@([a-z0-9][a-z0-9._/:-]*)/i;for(;r.length>0;){const c=o.exec(r);if(!c||c.index===void 0){s.push({kind:"text",value:r});break}c.index>0&&s.push({kind:"text",value:r.slice(0,c.index)});const u=c[0],h=u.toLowerCase(),f=n.get(h);f?s.push({kind:"mention",identity:f}):s.push({kind:"text",value:u}),r=r.slice(c.index+u.length)}return s}function Wee(e,t){const n=[],s=/`([^`\n]+)`|\*\*(.+?)\*\*|\*([^*\s][^*]*?)\*|\[([^\]\n]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>"')\]]+)/g;let r=0,o,c=0;const u=h=>{if(!h)return;const f=_E(h);if(f.length===0){n.push(a.jsx("span",{children:h},`${t}-${c++}`));return}let g=0;for(const v of f)v.start>g&&n.push(a.jsx("span",{children:h.slice(g,v.start)},`${t}-${c++}`)),n.push(a.jsx(OE,{path:v.path},`${t}-${c++}`)),g=v.end;g<h.length&&n.push(a.jsx("span",{children:h.slice(g)},`${t}-${c++}`))};for(;(o=s.exec(e))!==null;){if(o.index>r&&u(e.slice(r,o.index)),o[1]!==void 0){const h=o[1],f=_E(` ${h}`);f.length===1&&f[0].path===h?n.push(a.jsx(OE,{path:h},`${t}-${c++}`)):n.push(a.jsx("code",{className:"s-inline-code",children:h},`${t}-${c++}`))}else if(o[2]!==void 0)n.push(a.jsx("strong",{children:o[2]},`${t}-${c++}`));else if(o[3]!==void 0)n.push(a.jsx("em",{children:o[3]},`${t}-${c++}`));else if(o[4]!==void 0&&o[5]!==void 0&&$E(o[5]))n.push(a.jsx("a",{className:"s-inline-link",href:o[5],target:"_blank",rel:"noreferrer",children:o[4]},`${t}-${c++}`));else if(o[6]!==void 0&&$E(o[6])){const h=o[6].replace(/[.,;:!?]+$/u,""),f=o[6].slice(h.length);n.push(a.jsx("a",{className:"s-inline-link",href:h,target:"_blank",rel:"noreferrer",children:h},`${t}-${c++}`)),f&&n.push(a.jsx("span",{children:f},`${t}-${c++}`))}else n.push(a.jsx("span",{children:o[0]},`${t}-${c++}`));r=o.index+o[0].length}return r<e.length&&u(e.slice(r)),n.length>0?n:[a.jsx("span",{children:e},t)]}function $E(e){return/^(?:https?:\/\/|mailto:|\/|#)/iu.test(e)}function oa(e){if(!e)return e??"";const t=Cee(e);return qee(e,t).flatMap((s,r)=>{if(s.kind==="text")return Wee(s.value,r*100);const{identity:o}=s,u=o.definitionId===jee?"var(--accent)":en(o.definitionId);return a.jsx(Pee,{identity:o,color:u},r)})}function Jt(e){return xee(e)}function NO(e,t){return(Jt(e)??0)-(Jt(t)??0)}function SO(e,t){return NO(t,e)}function $e(e,t=Date.now()){const n=Jt(e);if(n===null)return"";const s=Math.floor((t-n)/1e3);return s<5?"now":s<60?`${s}s`:s<3600?`${Math.floor(s/60)}m`:s<86400?`${Math.floor(s/3600)}h`:`${Math.floor(s/86400)}d`}function Ta(e){const t=Jt(e);return t===null?"":new Date(t).toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"})}function Sy(e){const t=Jt(e);return t===null?"":new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(t)}function Vs({title:e,body:t,icon:n,action:s,className:r}){const o=r?`sys-panel sys-state-card ${r}`:"sys-panel sys-state-card";return a.jsxs("div",{className:o,children:[n,a.jsx("h3",{className:"sys-state-title",children:e}),t!=null&&(typeof t=="string"?a.jsx("p",{className:"sys-state-body",children:t}):t),s&&a.jsx("div",{className:"sys-inline-actions",children:s})]})}const Gee={"agent.registered":"registered","agent.online":"came online","agent.offline":"went offline","flight.started":"started task","flight.completed":"completed task","flight.updated":"updated task","message.sent":"sent message","message.received":"received message","collaboration.ask":"asked a question","collaboration.answer":"answered",ask_sent:"asked",ask_replied:"replied",ask_working:"working",flight_created:"started task",flight_updated:"updated task",message_sent:"sent",message_received:"received"},Zee={presence:{label:"Presence",tone:"notice"},work:{label:"Execution",tone:"working"},message:{label:"Delivery",tone:"completed"},collaboration:{label:"Coordination",tone:"working"},system:{label:"System",tone:"notice"}};function CO(e){return Gee[e]??e.replace(/[._]/g," ")}function Kee(e){return e.startsWith("agent.")||e.includes("registered")||e.includes("online")||e.includes("offline")?"presence":e.startsWith("flight")||e.startsWith("ask_")?"work":e.startsWith("message")?"message":e.startsWith("collaboration")?"collaboration":"system"}function Yee(e){return(e??"system").charAt(0).toUpperCase()}function lo(e){return e.length<=14?e:`${e.slice(0,8)}...${e.slice(-4)}`}function Xee(e){if(!e)return null;const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function Jee(e){return`${e.actorName??"system"} ${CO(e.kind)}`}function Qee(e){return e.workspaceRoot?`Recorded from ${e.workspaceRoot}.`:e.conversationId?`Linked to thread ${lo(e.conversationId)}.`:"No additional detail was captured for this event."}function ete({navigate:e}){const[t,n]=p.useState([]),[s,r]=p.useState(null),[o,c]=p.useState(!0),[u,h]=p.useState(!1),[f,g]=p.useState(null),[v,y]=p.useState(null),x=p.useRef([]),w=p.useRef(0),k=p.useRef(null),C=gd();p.useEffect(()=>{x.current=t},[t]);const T=p.useCallback(async(R="initial")=>{const M=++w.current;!(x.current.length>0)&&R!=="background"?(c(!0),g(null)):h(!0);try{const O=await ye("/api/activity");if(M!==w.current)return;n(O),g(null),y(Date.now()),r(U=>O.some(_=>_.id===U)?U:null)}catch(O){if(M!==w.current)return;g(O instanceof Error?O.message:String(O))}finally{M===w.current&&(c(!1),h(!1))}},[]),S=p.useCallback(()=>{k.current||(k.current=setTimeout(()=>{k.current=null,T("background")},250))},[T]);p.useEffect(()=>(T("initial"),()=>{k.current&&clearTimeout(k.current)}),[T]),an(S);const N=p.useMemo(()=>{const R=new Set(t.map($=>$.actorName??"system")),M=new Set(t.map($=>$.conversationId).filter($=>!!$));return[{label:"Events",value:`${t.length}`,detail:t.length>0?`Latest ${$e(t[0].ts)}`:"Waiting for records"},{label:"Actors",value:`${R.size}`,detail:R.size>0?"Distinct event owners":"No actors yet"},{label:"Threads",value:`${M.size}`,detail:M.size>0?"Conversation-linked records":"No linked threads"}]},[t]),E=!o&&t.length===0&&!!f,A=!o&&t.length===0&&!f;return a.jsxs("div",{className:"sys-surface-page",children:[a.jsxs("div",{className:"sys-page-head",children:[a.jsxs("div",{className:"sys-page-title-group",children:[a.jsx("h2",{className:"sys-page-title",children:"Activity"}),a.jsx("p",{className:"sys-page-subtitle",children:"Broker events, task execution, and collaboration handoffs."})]}),a.jsxs("div",{className:"sys-page-actions",children:[a.jsx("div",{className:"sys-sync-note",children:o?"Loading audit ledger...":f&&t.length>0?`Showing last confirmed snapshot from ${v?$e(v):"earlier"}`:v?`Updated ${$e(v)}`:"Waiting for first snapshot"}),a.jsx("button",{type:"button",className:"s-btn",disabled:o||u,onClick:()=>{T("manual")},children:u?"Refreshing...":"Refresh"})]})]}),a.jsx("div",{className:"sys-stat-grid",children:N.map(R=>a.jsxs("div",{className:"sys-stat-card",children:[a.jsx("span",{className:"sys-stat-label",children:R.label}),a.jsx("strong",{className:"sys-stat-value",children:R.value}),a.jsx("span",{className:"sys-stat-detail",children:R.detail})]},R.label))}),f&&t.length>0&&a.jsxs("div",{className:"sys-banner sys-banner-warning",children:[a.jsx("strong",{children:"Refresh failed."}),a.jsx("span",{children:f})]}),o&&t.length===0&&a.jsx(Vs,{title:"Loading activity",body:"Pulling the latest records from the broker database."}),E&&a.jsx(Vs,{className:"sys-state-card-error",title:"Activity is unavailable",body:f,action:a.jsx("button",{type:"button",className:"s-btn",onClick:()=>{T("manual")},children:"Try again"})}),A&&a.jsx(Vs,{title:"No activity yet",body:"Events appear here after agents register, send messages, or advance work."}),t.length>0&&a.jsx("div",{className:"sys-audit-list",children:t.map(R=>{const M=s===R.id,$=Kee(R.kind),O=Zee[$],U=Xee(R.workspaceRoot),_=R.summary&&R.summary!==R.title?R.summary:Qee(R),z=[];if(R.conversationId&&z.push({key:"thread",label:"Thread",title:`Open thread ${lo(R.conversationId)}`,route:{view:"conversation",conversationId:R.conversationId}}),R.recordId&&z.push({key:"work",label:"Work",title:"Open work item",route:{view:"work",workId:R.recordId}}),R.agentId){const V=R.agentName??"Agent";z.push({key:"agent",label:V,title:`Open agent ${V}`,route:{view:"agents",agentId:R.agentId}})}R.sessionId&&z.push({key:"session",label:"Session",title:"Open session",route:{view:"sessions",sessionId:R.sessionId}}),(R.flightId||R.invocationId)&&z.push({key:"follow",label:"Follow",title:"Follow live execution",route:{view:"follow",...R.flightId?{flightId:R.flightId}:{},...R.invocationId?{invocationId:R.invocationId}:{},...R.conversationId?{conversationId:R.conversationId}:{}}});const q=()=>r(M?null:R.id);return a.jsxs("article",{className:`sys-audit-entry${M?" sys-audit-entry-expanded":""}`,onContextMenu:V=>{const G=window.getSelection()?.toString().trim(),P=[];G&&(P.push({kind:"action",label:"Copy Selection",shortcut:"⌘C",onSelect:()=>navigator.clipboard.writeText(G)}),P.push({kind:"separator"}));const H=R.title??R.summary??"";if(H&&P.push({kind:"action",label:"Copy Details",onSelect:()=>navigator.clipboard.writeText(H)}),R.actorName&&P.push({kind:"action",label:"Copy Actor",onSelect:()=>navigator.clipboard.writeText(R.actorName)}),P.push({kind:"action",label:"Copy Event ID",onSelect:()=>navigator.clipboard.writeText(R.id)}),z.length>0){P.push({kind:"separator"});for(const D of z)P.push({kind:"action",label:`Open ${D.label}`,onSelect:()=>e(D.route)})}C(V,P)},children:[a.jsxs("div",{className:"sys-audit-toggle",role:"button",tabIndex:0,"aria-expanded":M,onClick:q,onKeyDown:V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),q())},children:[a.jsxs("div",{className:"sys-audit-stamp",children:[a.jsx("span",{className:"sys-audit-time",children:$e(R.ts)}),a.jsx("span",{className:"sys-audit-date",children:Ta(R.ts)})]}),a.jsx("div",{className:`sys-audit-marker sys-audit-marker-${O.tone}`,children:a.jsx("span",{})}),a.jsxs("div",{className:"sys-audit-body",children:[a.jsxs("div",{className:"sys-audit-topline",children:[a.jsx("span",{className:"sys-audit-category",children:O.label}),a.jsx("span",{className:"sys-audit-kind",children:CO(R.kind)})]}),a.jsx("h3",{className:"sys-audit-title",children:oa(R.title??Jee(R))}),a.jsx("p",{className:"sys-audit-summary",children:oa(_)}),a.jsxs("div",{className:"sys-audit-meta",children:[a.jsxs("span",{className:"sys-audit-meta-item",children:[a.jsx("span",{className:"sys-audit-avatar",style:{background:en(R.actorName??"system")},children:Yee(R.actorName)}),R.actorName??"system"]}),U&&a.jsxs("span",{className:"sys-audit-meta-item",children:["Workspace ",U]})]}),z.length>0&&a.jsxs("div",{className:"sys-audit-jumps",children:[a.jsx("span",{className:"sys-audit-jumps-label",children:"Open"}),z.map(V=>a.jsx("button",{type:"button",className:"sys-audit-jump",title:V.title,onClick:G=>{G.stopPropagation(),e(V.route)},children:V.label},V.key))]})]}),a.jsx("div",{className:"sys-audit-expand",children:M?"Close":"Details"})]}),M&&a.jsxs("div",{className:"sys-audit-details",children:[a.jsxs("div",{className:"sys-detail-grid",children:[a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Event"}),a.jsx("code",{className:"sys-detail-value",children:R.kind})]}),a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Recorded"}),a.jsx("span",{className:"sys-detail-value",children:Ta(R.ts)})]}),a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Actor"}),a.jsx("span",{className:"sys-detail-value",children:R.actorName??"system"})]}),R.agentName&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Agent"}),a.jsx("span",{className:"sys-detail-value",children:R.agentName})]}),a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Workspace"}),a.jsx("span",{className:"sys-detail-value",children:R.workspaceRoot??"Not attached"})]}),a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Thread"}),a.jsx("span",{className:"sys-detail-value",children:R.conversationId?lo(R.conversationId):"Not attached"})]}),R.recordId&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Work"}),a.jsx("span",{className:"sys-detail-value",children:lo(R.recordId)})]}),R.sessionId&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Session"}),a.jsx("span",{className:"sys-detail-value",children:lo(R.sessionId)})]}),R.flightId&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Flight"}),a.jsx("span",{className:"sys-detail-value",children:lo(R.flightId)})]}),R.invocationId&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Invocation"}),a.jsx("span",{className:"sys-detail-value",children:lo(R.invocationId)})]}),a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Record id"}),a.jsx("code",{className:"sys-detail-value",children:R.id})]})]}),z.length>0&&a.jsx("div",{className:"sys-inline-actions",children:z.map(V=>a.jsxs("button",{type:"button",className:"s-btn s-btn-sm",onClick:()=>e(V.route),children:["Open ",V.label]},V.key))})]})]},R.id)})})]})}function Ci(e){const t=e?.trim();if(!t)return null;const[n]=t.split(".");return n?.trim()||t}function tte(e){const t=e.handle?.trim().replace(/^@+/,"");if(t)return`@${t}`;const n=e.selector?.trim();if(n)return n;const s=Ci(e.id);return s?`@${s}`:null}function nte(e){return e.name?.trim()||e.agentName?.trim()||Ci(e.id)||e.title?.trim()||"Conversation"}function Cy(e){if(!e)return null;const t=e.replace(/_/g," ");return t.toLowerCase()==="relay agent"?"agent":t}const ste="openscout.navReturn.v1.",Mm=new Map;function W0(e){return ste+e}function ate(e){try{const t=JSON.parse(e);if(t&&typeof t=="object"&&typeof t.view=="string")return t}catch{}return null}function EO(e,t){if(Mm.set(e,t),!(typeof window>"u"))try{window.sessionStorage.setItem(W0(e),JSON.stringify(t))}catch{}}function rte(e){const t=Mm.get(e);if(t)return t;if(typeof window>"u")return null;try{const n=window.sessionStorage.getItem(W0(e));if(n){const s=ate(n);return s&&Mm.set(e,s),s}}catch{}return null}function ite(e){if(Mm.delete(e),!(typeof window>"u"))try{window.sessionStorage.removeItem(W0(e))}catch{}}const ote={agents:"agents",conversation:"conversation",work:"work",terminal:"terminal",sessions:"sessions","agent-info":"agent-info",channels:"channels"};function lte(e){return ote[e.view]??null}function Ft(e,t,n={}){if(n.returnTo){const s=lte(t);s&&EO(s,n.returnTo)}e(t)}function cte(e){switch(e.view){case"mesh":return"Back to mesh";case"ops":return"Back to ops";case"agents":return e.agentId?"Back to agent":"All agents";case"messages":return"Back to messages";case"conversation":return"Back to conversation";case"inbox":return"Back to inbox";case"sessions":return"Back to sessions";case"channels":return"Back to channels";case"fleet":return"Back to fleet";case"work":return"Back to work";case"broker":return"Back to broker";case"activity":return"Back to activity";default:return"Back"}}function Er({slot:e,fallback:t,navigate:n,className:s,label:r}){const c=p.useMemo(()=>rte(e),[e])??t,u=r??cte(c);return a.jsxs("button",{type:"button",className:`s-back-pill${s?` ${s}`:""}`,onClick:()=>{ite(e),n(c)},children:[a.jsx("span",{"aria-hidden":!0,className:"s-back-pill-glyph",children:"←"}),a.jsx("span",{children:u})]})}function ute({values:e}){return a.jsx("span",{className:"s-agent-token-list",children:e.map(t=>a.jsx("span",{className:"s-agent-token",children:t},t))})}function ah({title:e,items:t}){return t.length===0?null:a.jsxs("section",{className:"s-agent-profile-card",children:[a.jsx("div",{className:"s-agent-profile-card-header",children:a.jsx("div",{className:"s-agent-profile-card-title",children:e})}),a.jsx("div",{className:"s-agent-meta-card-body",children:t.map(n=>a.jsxs("div",{className:"s-agent-meta-row",children:[a.jsx("span",{className:"s-agent-meta-label",children:n.label}),a.jsx("span",{className:"s-agent-meta-value",children:n.value})]},n.label))})]})}function dte({conversationId:e,navigate:t}){const{agents:n,route:s}=Je(),[r,o]=p.useState(null),[c,u]=p.useState(null),[h,f]=p.useState(null),g=M_(e),v=p.useCallback(async()=>{f(null);try{const N=await ye(`/api/session/${encodeURIComponent(e)}`).catch(()=>null);o(N)}catch(N){f(N instanceof Error?N.message:String(N)),o(null)}},[e]);p.useEffect(()=>{v()},[v]),an(()=>{v()});const y=r?.agentId??g;p.useEffect(()=>{if(!y||n.some(E=>E.id===y)){u(null);return}let N=!1;return ye(`/api/agents/${encodeURIComponent(y)}`).then(E=>{N||u(E)}).catch(()=>{N||u(null)}),()=>{N=!0}},[n,y]);const x=p.useMemo(()=>y?n.find(N=>N.id===y)??(c?.id===y?c:null):null,[c,n,y]);if(!x)return a.jsxs("div",{children:[a.jsx(Er,{slot:"agent-info",fallback:{view:"conversation",conversationId:e},navigate:t}),h&&a.jsx("p",{className:"s-error",children:h}),a.jsx("div",{className:"s-empty",children:a.jsx("p",{children:"Agent not found"})})]});const w=tte(x),k=[{label:"System ID",value:x.id},{label:"Class",value:Cy(x.agentClass)??"—"},...x.role?[{label:"Role",value:x.role}]:[],...x.selector&&x.selector!==w?[{label:"Selector",value:x.selector}]:[]],C=[...x.project?[{label:"Project",value:x.project}]:[],...x.branch?[{label:"Branch",value:x.branch}]:[],...x.projectRoot?[{label:"Path",value:x.projectRoot}]:[],...x.cwd?[{label:"Working dir",value:x.cwd}]:[]],T=[...x.harness?[{label:"Harness",value:x.harness}]:[],...x.model?[{label:"Model",value:x.model}]:[],...x.transport?[{label:"Transport",value:Cy(x.transport)??x.transport}]:[],...x.wakePolicy?[{label:"Wake policy",value:Cy(x.wakePolicy)??x.wakePolicy}]:[],...x.capabilities.length>0?[{label:"Capabilities",value:a.jsx(ute,{values:x.capabilities})}]:[]],S=[{label:"Thread ID",value:e},...r?.workspaceRoot?[{label:"Workspace",value:r.workspaceRoot}]:[],...r?.currentBranch?[{label:"Session branch",value:r.currentBranch}]:[],...r?.messageCount!=null?[{label:"Messages",value:String(r.messageCount)}]:[],...r?.lastMessageAt?[{label:"Last message",value:Ta(r.lastMessageAt)}]:[],...x.harnessSessionId?[{label:"Harness session",value:x.harnessSessionId}]:[],...x.harnessLogPath?[{label:"Harness log",value:x.harnessLogPath}]:[]];return a.jsxs("div",{className:"s-agent-profile-page",children:[a.jsxs("div",{className:"s-agent-profile-page-topbar",children:[a.jsx(Er,{slot:"agent-info",fallback:{view:"conversation",conversationId:e},navigate:t}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>t({view:"agents",agentId:x.id}),children:"Open in Agents"})]}),h&&a.jsx("p",{className:"s-error",children:h}),a.jsxs("section",{className:"s-agent-profile-hero",children:[a.jsx("div",{className:"s-agent-profile-hero-main",children:a.jsxs("div",{className:"s-agent-profile-hero-title-row",children:[a.jsx("div",{className:"s-avatar s-agent-profile-hero-avatar",style:{background:en(x.name)},children:x.name[0].toUpperCase()}),a.jsxs("div",{className:"s-agent-profile-hero-copy",children:[a.jsxs("div",{className:"s-agent-casefile-title-meta",children:[a.jsx("span",{className:"s-agent-casefile-record",children:w??Ci(x.id)??x.id}),a.jsxs("span",{className:`s-agent-state-chip s-agent-state-chip-${et(x.state)}`,children:[a.jsx("span",{className:"s-dot",style:{background:Un(x.state)}}),Ra(x.state)]})]}),a.jsx("h1",{className:"s-agent-profile-hero-title",children:x.name}),a.jsxs("p",{className:"s-agent-profile-hero-context",children:[r?.title?`Conversation: ${r.title}.`:"Attached to the current conversation.",x.updatedAt?` Updated ${$e(x.updatedAt)}.`:""]})]})]})}),a.jsx("div",{className:"s-agent-profile-hero-actions",children:a.jsx("button",{type:"button",className:"s-btn s-btn-primary",onClick:()=>Ft(t,{view:"conversation",conversationId:e},{returnTo:s}),children:"Open conversation"})})]}),a.jsxs("div",{className:"s-agent-profile-grid",children:[a.jsx(ah,{title:"Identity",items:k}),a.jsx(ah,{title:"Workspace",items:C}),a.jsx(ah,{title:"Runtime",items:T}),a.jsx(ah,{title:"Conversation context",items:S})]})]})}function fte(e){switch(e){case"success":return"completed";case"danger":return"failed";case"working":return"working";default:return"updated"}}function TO(e){return e.attention==="interrupt"?"danger":e.state==="done"?"success":e.attention==="badge"||e.state==="waiting"||e.state==="review"?"warning":"working"}function hte(e){return e.attention==="interrupt"?"danger":"warning"}function mte(e,t){return e==="success"||t==="sent"||t==="acknowledged"||t==="completed"?"success":e==="failed_query"||e==="failed_delivery"||t==="failed"||t==="cancelled"?"danger":t==="running"||t==="accepted"||t==="deferred"||t==="pending"?"working":"neutral"}function pte(e){return e?e.status==="paired"||e.status==="connected"?"success":e.status==="error"||e.status==="closed"?"danger":"warning":"warning"}function Tr({tone:e,children:t,variant:n="chip",className:s,title:r}){const o=n==="pill"?"s-pill":"sys-chip",c=n==="pill"?`s-pill-${fte(e)}`:`sys-chip-${e}`,u=s?`${o} ${c} ${s}`:`${o} ${c}`;return a.jsx("span",{className:u,title:r,children:t})}function gte(e){switch(e){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return e.replace(/_/g," ")}}function vte(e){switch(e){case"badge":return"Noteworthy";case"interrupt":return"Blocked signal";default:return null}}function PE({items:e,navigate:t,emptyTitle:n,emptyDetail:s}){const{route:r}=Je();if(e.length===0){const o=[{titleWidth:"56%",metaWidths:["18%","14%","16%"],summaryWidth:"74%"},{titleWidth:"48%",metaWidths:["16%","20%","12%"],summaryWidth:"62%"}];return a.jsxs("div",{className:"s-work-empty-state",children:[a.jsxs("div",{className:"s-work-empty-copy",children:[a.jsx("p",{className:"s-work-empty-kicker",children:"Quiet for now"}),a.jsx("p",{className:"s-work-empty-title",children:n}),s&&a.jsx("p",{className:"s-work-empty-detail",children:s})]}),a.jsx("div",{className:"s-work-empty-skeleton","aria-hidden":"true",children:o.map((c,u)=>a.jsxs("div",{className:"s-work-empty-row",children:[a.jsxs("div",{className:"s-work-empty-row-header",children:[a.jsx("span",{className:"s-work-empty-line s-work-empty-line-title",style:{width:c.titleWidth}}),a.jsx("span",{className:"s-work-empty-pill"})]}),a.jsx("div",{className:"s-work-empty-row-meta",children:c.metaWidths.map(h=>a.jsx("span",{className:"s-work-empty-line s-work-empty-line-meta",style:{width:h}},h))}),a.jsx("span",{className:"s-work-empty-line s-work-empty-line-summary",style:{width:c.summaryWidth}})]},u))})]})}return a.jsx("div",{className:"s-work-list",children:e.map(o=>{const c=!!o.id||!!o.conversationId,u=vte(o.attention),h=o.ownerName??o.ownerId??"Unassigned",f=o.id?()=>Ft(t,{view:"work",workId:o.id},{returnTo:r}):o.conversationId?()=>Ft(t,{view:"conversation",conversationId:o.conversationId},{returnTo:r}):void 0;return a.jsxs("div",{className:`s-work-row${c?" s-work-row-clickable":""}`,onClick:f,children:[a.jsxs("div",{className:"s-work-row-header",children:[a.jsxs("div",{className:"s-work-row-title-wrap",children:[a.jsx("span",{className:"s-work-row-title",children:o.title}),o.priority&&a.jsx("span",{className:"s-badge",children:o.priority})]}),a.jsx(Tr,{tone:TO(o),variant:"pill",children:o.currentPhase})]}),a.jsxs("div",{className:"s-work-row-meta",children:[a.jsx("span",{children:h}),a.jsx("span",{children:gte(o.state)}),o.activeChildWorkCount>0&&a.jsxs("span",{children:[o.activeChildWorkCount," child",o.activeChildWorkCount===1?"":"ren"]}),o.activeFlightCount>0&&a.jsxs("span",{children:[o.activeFlightCount," flight",o.activeFlightCount===1?"":"s"]}),u&&a.jsx("span",{children:u}),a.jsx("span",{children:$e(o.lastMeaningfulAt)})]}),o.lastMeaningfulSummary&&a.jsx("p",{className:"s-work-row-summary",children:oa(o.lastMeaningfulSummary)})]},o.id)})})}async function qh(e){await ye("/api/operator-attention/dismiss",{method:"POST",body:JSON.stringify(e)})}const G0="/api",yte=`${G0}/health`,xte=`${G0}/terminal/run`,bte=`${G0}/vantage/open`,AO="/ws/terminal",wte=`${AO}/health`,jte="/ws/hmr";function kte(e,t){if(typeof e!="string")return t;const n=e.trim();return n&&`${n.startsWith("/")?"":"/"}${n}`.replace(/\/{2,}/g,"/").replace(/\/+$/g,"")||t}const Nte={healthPath:yte,terminalRunPath:xte,vantageOpenPath:bte,terminalRelayPath:AO,terminalRelayHealthPath:wte,viteHmrPath:jte};function MO(){return typeof window>"u"?null:window.__OPENSCOUT_WEB_BOOTSTRAP__??null}function Ste(){const e=MO()?.theme;return typeof e=="string"?e:null}function xp(e){return kte(MO()?.routes?.[e],Nte[e])}function RO(){const e=xp("terminalRelayPath");return typeof window>"u"?`ws://localhost:3200${e}`:`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${e}`}function IO(){const e=xp("terminalRelayHealthPath");return typeof window>"u"?`http://localhost:3200${e}`:`${window.location.protocol}//${window.location.host}${e}`}async function Z0(e){if(Cte(e.agentId),!(await fetch(xp("terminalRunPath"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e.command,...e.cwd?{cwd:e.cwd}:{},...e.agentId?{agentId:e.agentId}:{}})})).ok)throw new Error("Failed to queue takeover")}function Cte(e){if(!(typeof window>"u"))try{window.localStorage.removeItem("hudson.relay.scout-takeover"),e&&window.localStorage.removeItem(`hudson.relay.scout-takeover-${e}`)}catch{}}const DE=48,LE=720;function Ete(e){if(!e||typeof window>"u")return null;try{const t=window.localStorage.getItem(e);if(!t)return null;const n=JSON.parse(t);if(!n||typeof n!="object")return null;const s={};for(const[r,o]of Object.entries(n))typeof o=="number"&&Number.isFinite(o)&&o>0&&(s[r]=o);return s}catch{return null}}function Ey(e,t){if(e&&!(typeof window>"u"))try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Tte({storageKey:e,columns:t}){const n=p.useMemo(()=>{const y=Ete(e)??{},x={};for(const w of t)x[w.key]=y[w.key]??w.defaultWidth;return x},[e,t]),[s,r]=p.useState(n);p.useEffect(()=>{r(y=>{let x=!1;const w={...y};for(const k of t)w[k.key]==null&&(w[k.key]=k.defaultWidth,x=!0);return x?w:y})},[t]);const o=p.useMemo(()=>{const y=new Map;for(const x of t)y.set(x.key,x);return y},[t]),c=p.useRef(null),u=p.useCallback(y=>{const x=c.current;if(!x)return;const w=y.clientX-x.startX,k=Math.min(x.max,Math.max(x.min,x.startWidth+w));r(C=>C[x.key]===k?C:{...C,[x.key]:k})},[]),h=p.useCallback(()=>{c.current&&(c.current=null,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),r(y=>(Ey(e,y),y)))},[u,e]);p.useEffect(()=>()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h)},[u,h]);const f=p.useCallback(y=>{const x=s[y],w=o.get(y),k=w?.minWidth??DE,C=w?.maxWidth??LE;return{style:{width:x,minWidth:k,maxWidth:C},"data-resize-key":y}},[s,o]),g=p.useCallback(y=>({onPointerDown:C=>{if(C.button!==0)return;C.preventDefault(),C.stopPropagation();const T=o.get(y),S=T?.minWidth??DE,N=T?.maxWidth??LE,E=s[y]??T?.defaultWidth??S;c.current={key:y,startX:C.clientX,startWidth:E,min:S,max:N},document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("pointermove",u),window.addEventListener("pointerup",h),window.addEventListener("pointercancel",h)},onClick:C=>{C.stopPropagation()},onDoubleClick:C=>{C.preventDefault(),C.stopPropagation();const T=o.get(y);T&&r(S=>{const N={...S,[y]:T.defaultWidth};return Ey(e,N),N})},role:"separator","aria-orientation":"vertical","aria-label":"Resize column",className:"s-resize-handle"}),[s,o,u,h,e]),v=p.useCallback(()=>{r(()=>{const y={};for(const x of t)y[x.key]=x.defaultWidth;return Ey(e,y),y})},[t,e]);return{widths:s,getColumnProps:f,getResizeHandleProps:g,resetAll:v}}function Ate(e){return e==="number"||e==="time"?"right":"left"}function zE(e){return e==="number"||e==="time"?-1:1}function _O(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"||typeof e=="bigint"?String(e):Array.isArray(e)?e.map(t=>_O(t)).join(""):""}function BE(e,t){if(e.sortValue)return e.sortValue(t);const n=e.render(t),s=_O(n).trim();return s||null}function UE(e){if(typeof e=="number")return e;const t=Date.parse(e);return Number.isFinite(t)?t:Number.NaN}function Mte(e,t,n,s){const r=BE(n,e),o=BE(n,t);return r==null&&o==null?0:r==null?1:o==null?-1:n.kind==="number"?((Number(r)||0)-(Number(o)||0))*s:n.kind==="time"?(UE(r)-UE(o))*s:String(r).localeCompare(String(o),void 0,{numeric:!0,sensitivity:"base"})*s}function Rte(e,t){return n=>{typeof e=="function"&&e(n),n.defaultPrevented||t?.(n)}}function Ite(e,t){return n=>{typeof e=="function"&&e(n),n.defaultPrevented||t?.(n)}}function bp({rows:e,columns:t,rowId:n,storageKey:s,initialSort:r,sort:o,onSortChange:c,secondarySort:u,onRowClick:h,rowBindings:f,rowState:g,empty:v={title:"No rows"},rowClassName:y,density:x="comfortable",className:w,ariaLabel:k="Data table"}){const C=p.useMemo(()=>t.map(O=>{const U=O.kind??"text";return{...O,kind:U,align:O.align??Ate(U),sortable:O.sortable??U!=="custom",resizable:O.resizable??!0}}),[t]),T=p.useMemo(()=>new Map(C.map(O=>[O.key,O])),[C]),[S,N]=p.useState(()=>{if(!r)return null;const U=t.find(_=>_.key===r.key)?.kind??"text";return{key:r.key,dir:r.dir??zE(U)}}),E=o??S,{getColumnProps:A,getResizeHandleProps:R}=Tte({storageKey:s,columns:C.map(O=>({key:O.key,defaultWidth:O.defaultWidth,minWidth:O.minWidth,maxWidth:O.maxWidth}))}),M=p.useMemo(()=>{const O=e.map((_,z)=>({row:_,index:z}));if(!E)return O.map(_=>_.row);const U=T.get(E.key);return U?.sortable?O.slice().sort((_,z)=>{const q=Mte(_.row,z.row,U,E.dir);if(q!==0)return q;const V=u?.(_.row,z.row)??0;return V!==0?V:_.index-z.index}).map(_=>_.row):O.map(_=>_.row)},[e,E,T,u]),$=O=>{o==null&&N(O),c?.(O)};return a.jsx("div",{className:`dt-wrap dt-wrap--${x}${w?` ${w}`:""}`,children:a.jsxs("table",{className:"dt-table","aria-label":k,children:[a.jsx("thead",{children:a.jsx("tr",{children:C.map(O=>{const U=E?.key===O.key,_=U?E.dir===1?"ascending":"descending":"none",z=["dt-th",`dt-align-${O.align}`,O.cls,U?"dt-th--sorted":""].filter(Boolean).join(" ");return a.jsxs("th",{className:z,title:O.tip,"aria-sort":_,...A(O.key),children:[O.sortable?a.jsxs("button",{type:"button",className:"dt-th-sort",onClick:()=>{if(E?.key===O.key){$({key:O.key,dir:E.dir===1?-1:1});return}$({key:O.key,dir:zE(O.kind)})},children:[a.jsx("span",{className:"dt-th-label",children:O.label}),a.jsx("span",{className:`dt-th-arrow${U?" dt-th-arrow--active":""}`,"aria-hidden":"true",children:U?E?.dir===1?"↑":"↓":"↕"})]}):a.jsx("div",{className:"dt-th-static",children:a.jsx("span",{className:"dt-th-label",children:O.label})}),O.resizable?a.jsx("span",{...R(O.key)}):null]},O.key)})})}),a.jsx("tbody",{children:M.length===0?a.jsx("tr",{className:"dt-empty-row",children:a.jsx("td",{colSpan:C.length,children:a.jsxs("div",{className:"dt-empty",children:[a.jsx("div",{className:"dt-empty-title",children:v.title}),v.body?a.jsx("div",{children:v.body}):null]})})}):M.map(O=>{const U=n(O),_=f?.(U)??{},z=g?.(U)??{isActive:!1,isPinned:!1},q=!!(h||f),V=["dt-row",q?"dt-row--interactive":"",z.isActive?"dt-row--active":"",z.isPinned?"dt-row--pinned":"",y?.(O),typeof _.className=="string"?_.className:""].filter(Boolean).join(" "),G=h?()=>h(O):void 0,P=q?Ite(_.onKeyDown,D=>{h&&(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),h(O))}):typeof _.onKeyDown=="function"?_.onKeyDown:void 0,H={..._,className:V,onClick:Rte(_.onClick,G),onKeyDown:P};return q&&H.tabIndex==null&&(H.tabIndex=0),a.jsx("tr",{...H,children:C.map(D=>a.jsx("td",{className:["dt-td",`dt-align-${D.align}`,D.cls].filter(Boolean).join(" "),children:D.render(O)},D.key))},U)})})]})})}async function OO(e={}){return await ye(xp("vantageOpenPath"),{method:"POST",body:JSON.stringify({agentId:e.agentId??null,agentIds:e.agentIds??[],nativeSessionIds:e.nativeSessionIds??[],launch:e.launch??!0})})}function wp({agentId:e,agentIds:t,nativeSessionIds:n,className:s,statusClassName:r,label:o="Vantage",openingLabel:c="Opening",title:u="Open this session context in the native Vantage canvas",disabled:h=!1}){const[f,g]=p.useState({state:"idle"}),v=()=>{g({state:"opening"}),OO({agentId:e??null,agentIds:t,nativeSessionIds:n,launch:!0}).then(y=>{const x=y.plan.manifest.nodes.length;if(!y.launch.ok&&y.launch.error){g({state:"failed",error:y.launch.error});return}const w=y.launch.ok?"launch requested":"handoff written";g({state:"opened",detail:`${x} node${x===1?"":"s"} - ${w}`})}).catch(y=>{g({state:"failed",error:y instanceof Error?y.message:String(y)})})};return a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:s,onClick:v,disabled:h||f.state==="opening",title:u,children:f.state==="opening"?c:o}),f.state==="opened"&&r&&a.jsx("span",{className:`${r} ${r}--ok`,children:f.detail}),f.state==="failed"&&r&&a.jsx("span",{className:`${r} ${r}--error`,children:f.error})]})}function $O(e,t){const n=Jt(e),s=Jt(t);if(n===null||s===null)return!1;const r=new Date(n),o=new Date(s);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()&&r.getDate()===o.getDate()}function Jx(e){const t=Jt(e);if(t===null)return"";const n=new Date(t),s=new Date,r=new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),o=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),c=1440*60*1e3;return o===r?"Today":o===r-c?"Yesterday":new Intl.DateTimeFormat(void 0,{weekday:"short",month:"short",day:"numeric"}).format(t)}const _te=30*6e4;function Ote(e){return e.kind==="direct"}function nc(e){return e.kind==="channel"||e.kind==="group_direct"||e.id.startsWith("channel.")}function Ca(e){return e.title&&e.title!==e.id?e.title:e.id.startsWith("channel.")?e.id.replace(/^channel\./,""):e.agentName??e.id}function PO(e){return e.id.startsWith("channel.")?e.id.replace(/^channel\./,""):Ca(e)}const DO=new Set(["completed","failed","cancelled"]);function xd(e){return!!(e&&!DO.has(e.state))}function $te(e){return xd(e)}function LO(e,t=Date.now(),n=_te){if(!xd(e))return!1;const s=Jt(e?.startedAt);return s!==null&&t-s>n}function Pte(e,t,n=Date.now()){if(!LO(e,n))return!1;const s=Jt(e?.startedAt),r=Jt(t);return s!==null&&r!==null&&r>s}function Dte(e){return!xd(e)}const Qx=/^```([a-z0-9_-]+)?\s*$/iu,zO=/^(#{1,6})\s+(.+)$/u,Lte=/^(?:-{3,}|\*{3,}|_{3,})$/u,zte=/^\s*[-*]\s+(.+)$/u,Bte=/^\s*\d+[.)]\s+(.+)$/u,Ute=/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?$/u;function Vte(e){const t=e.replace(/\r\n?/gu,`
|
|
147
|
+
`).trim();return t?t.replace(/([^\n])\s+---\s+(?=(?:#{1,6}\s|\*\*|[A-Z0-9]))/gu,`$1
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
`).replace(/([^\n])\s+(#{1,6}\s+)/gu,`$1
|
|
152
|
+
|
|
153
|
+
$2`).replace(/\n{3,}/gu,`
|
|
154
|
+
|
|
155
|
+
`):""}function BO(e){return e.trim().length===0}function Fte(e){return zO.test(e.trim())}function UO(e){return Lte.test(e.trim())}function eb(e){return e.match(zte)?.[1]?.trim()??null}function tb(e){return e.match(Bte)?.[1]?.trim()??null}function Hte(e){return eb(e)!==null||tb(e)!==null}function VE(e){return e.trim().replace(/^\|/u,"").replace(/\|$/u,"").split("|").map(n=>n.trim())}function VO(e,t){const n=e[t]?.trim(),s=e[t+1]?.trim();return!!(n&&s&&n.includes("|")&&Ute.test(s))}function qte(e,t){const n=e[t]??"",s=n.trim();return!!(BO(n)||Qx.test(s)||Fte(n)||UO(n)||Hte(n)||s.startsWith(">")||VO(e,t))}function Wte(e){const t=Vte(e);if(!t)return[];const n=t.split(`
|
|
156
|
+
`),s=[];let r=0;for(;r<n.length;){const o=n[r]??"",c=o.trim();if(!c){r+=1;continue}const u=c.match(Qx);if(u){const y=[];for(r+=1;r<n.length&&!Qx.test(n[r].trim());)y.push(n[r]),r+=1;r<n.length&&(r+=1),s.push({type:"code",language:u[1]??null,text:y.join(`
|
|
157
|
+
`)});continue}if(UO(o)){s.push({type:"hr"}),r+=1;continue}const h=c.match(zO);if(h){s.push({type:"heading",depth:h[1].length,text:h[2].trim()}),r+=1;continue}if(VO(n,r)){const y=VE(n[r]);r+=2;const x=[];for(;r<n.length&&n[r].includes("|")&&!BO(n[r]);)x.push(VE(n[r])),r+=1;s.push({type:"table",headers:y,rows:x});continue}const f=eb(o),g=tb(o);if(f!==null||g!==null){const y=g!==null,x=[];for(;r<n.length;){const w=y?tb(n[r]):eb(n[r]);if(w===null)break;x.push(w),r+=1}s.push({type:"list",ordered:y,items:x});continue}if(c.startsWith(">")){const y=[];for(;r<n.length&&n[r].trim().startsWith(">");)y.push(n[r].trim().replace(/^>\s?/u,"")),r+=1;s.push({type:"blockquote",text:y.join(`
|
|
158
|
+
`).trim()});continue}const v=[];for(;r<n.length&&!qte(n,r);)v.push(n[r].trimEnd()),r+=1;s.push({type:"paragraph",text:v.join(`
|
|
159
|
+
`).trim()})}return s}function Gte(e,t){const n=Math.min(6,Math.max(2,e.depth+1));return a.jsx("div",{role:"heading","aria-level":n,className:`s-message-markup-heading s-message-markup-heading-${e.depth}`,children:oa(e.text)},t)}function Zte(e,t){return a.jsx("div",{className:"s-message-markup-table-wrap",children:a.jsxs("table",{className:"s-message-markup-table",children:[a.jsx("thead",{children:a.jsx("tr",{children:e.headers.map((n,s)=>a.jsx("th",{children:oa(n)},`${t}:h:${s}`))})}),a.jsx("tbody",{children:e.rows.map((n,s)=>a.jsx("tr",{children:e.headers.map((r,o)=>a.jsx("td",{children:oa(n[o]??"")},`${t}:c:${s}:${o}`))},`${t}:r:${s}`))})]})},t)}function Kte(e,t){switch(e.type){case"paragraph":return a.jsx("p",{className:"s-message-markup-paragraph",children:oa(e.text)},t);case"heading":return Gte(e,t);case"hr":return a.jsx("hr",{className:"s-message-markup-rule"},t);case"list":return e.ordered?a.jsx("ol",{className:"s-message-markup-list",children:e.items.map((n,s)=>a.jsx("li",{children:oa(n)},`${t}:${s}`))},t):a.jsx("ul",{className:"s-message-markup-list",children:e.items.map((n,s)=>a.jsx("li",{children:oa(n)},`${t}:${s}`))},t);case"blockquote":return a.jsx("blockquote",{className:"s-message-markup-quote",children:oa(e.text)},t);case"code":return a.jsx("pre",{className:"s-message-markup-code",children:a.jsx("code",{children:e.text})},t);case"table":return Zte(e,t)}}function K0({text:e,className:t}){const n=Wte(e??"");return n.length===0?e??"":a.jsx("div",{className:["s-message-markup",t].filter(Boolean).join(" "),children:n.map(Kte)})}const FO="scout:sessions:lastViewed";function Y0(){if(typeof localStorage>"u")return{};try{const e=localStorage.getItem(FO);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function X0(e,t=Date.now()){const n=Y0();n[e]=t;try{localStorage.setItem(FO,JSON.stringify(n))}catch{}return n}function Wh(e,t,n){return e?e>(n[t]??0):!1}const Yte=/\.(?:apng|avif|gif|jpe?g|png|svg|webp)(?:$|[?#])/iu,Xte=/\bhttps?:\/\/[^\s<>"')\]]+/giu;function Pu(e){if(typeof e!="string")return null;try{const t=new URL(e.trim());return t.protocol==="http:"||t.protocol==="https:"?t.toString():null}catch{return null}}function Wa(e,t){const n=e?.[t];return typeof n=="string"&&n.trim()?n.trim():null}function Jte(e){return e.mediaType.toLowerCase().startsWith("image/")}function HO(e){return Yte.test(e)}function qO(e){try{const t=new URL(e),n=[t.pathname==="/"?"":t.pathname,t.search].join("").trim();return{host:t.hostname.replace(/^www\./iu,""),detail:n||t.hostname}}catch{return{host:e,detail:e}}}function Qte(e){const t=new Set,n=[];for(const s of e.matchAll(Xte)){const r=s[0]?.replace(/[.,;:!?]+$/u,""),o=Pu(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function nb(e){return Pu(e.url)??Pu(Wa(e.metadata,"url"))??Pu(Wa(e.metadata,"href"))}function ene(e){const t=e.metadata??null,n=Wa(t,"kind")??Wa(t,"type"),s=nb(e);if(!s||n!=="link_preview"&&n!=="link-preview"&&e.mediaType!=="text/x-uri")return null;const r=qO(s);return{id:e.id,url:s,title:Wa(t,"title")??r.host,description:Wa(t,"description"),imageUrl:Pu(Wa(t,"imageUrl")??Wa(t,"image")),siteName:Wa(t,"siteName")??r.host}}function tne(e){const t=qO(e);return{id:e,url:e,title:t.host,description:t.detail===t.host?null:t.detail,imageUrl:HO(e)?e:null,siteName:t.host}}function nne({src:e,alt:t}){return a.jsx("a",{className:"s-message-embed s-message-embed--image",href:e,target:"_blank",rel:"noreferrer",children:a.jsx("img",{src:e,alt:t,loading:"lazy",decoding:"async"})})}function sne({preview:e}){return a.jsxs("a",{className:"s-message-embed s-message-embed--link",href:e.url,target:"_blank",rel:"noreferrer",children:[e.imageUrl&&a.jsx("span",{className:"s-message-embed-thumb",children:a.jsx("img",{src:e.imageUrl,alt:"",loading:"lazy",decoding:"async"})}),a.jsxs("span",{className:"s-message-embed-copy",children:[e.siteName&&a.jsx("span",{className:"s-message-embed-site",children:e.siteName}),a.jsx("span",{className:"s-message-embed-title",children:e.title}),e.description&&a.jsx("span",{className:"s-message-embed-description",children:e.description})]})]})}function WO({message:e}){const t=e.attachments??[],n=new Set,s=[],r=[];for(const u of t){const h=nb(u);if(h&&Jte(u)){n.add(u.id),s.push({id:u.id,src:h,alt:u.fileName??"Image attachment"});continue}const f=ene(u);f&&(n.add(u.id),r.push(f))}const o=new Set(r.map(u=>u.url));for(const u of Qte(e.body))o.has(u)||(HO(u)?s.push({id:u,src:u,alt:"Embedded image"}):r.length===0&&r.push(tne(u)));const c=t.filter(u=>!n.has(u.id));return s.length===0&&r.length===0&&c.length===0?null:a.jsxs("div",{className:"s-message-embeds",children:[s.map(u=>a.jsx(nne,{src:u.src,alt:u.alt},u.id)),r.slice(0,1).map(u=>a.jsx(sne,{preview:u},u.id)),c.map(u=>{const h=nb(u),f=u.fileName??Wa(u.metadata,"title")??u.mediaType;return h?a.jsxs("a",{className:"s-message-embed s-message-embed--file",href:h,target:"_blank",rel:"noreferrer",children:[a.jsx("span",{className:"s-message-embed-title",children:f}),a.jsx("span",{className:"s-message-embed-description",children:u.mediaType})]},u.id):a.jsxs("div",{className:"s-message-embed s-message-embed--file",children:[a.jsx("span",{className:"s-message-embed-title",children:f}),a.jsx("span",{className:"s-message-embed-description",children:u.mediaType})]},u.id)})]})}const ane={direct:"Direct message",channel:"Channel",group_direct:"Group",thread:"Thread"},FE=[{command:"/ask",label:"/ask",description:"Ask the agent owned work with a reply",insert:"/ask "},{command:"/tell",label:"/tell",description:"Send a heads-up or quick message",insert:"/tell "},{command:"/steer",label:"/steer",description:"Steer the active turn mid-flight",insert:"/steer "},{command:"/route",label:"/route",description:"Route this to another agent",insert:"/route @"},{command:"/inbox",label:"/inbox",description:"Go to the inbox",insert:"/inbox"},{command:"/agents",label:"/agents",description:"Open the agents list",insert:"/agents"},{command:"/fleet",label:"/fleet",description:"Open the fleet view",insert:"/fleet"},{command:"/sessions",label:"/sessions",description:"Browse sessions",insert:"/sessions"},{command:"/mesh",label:"/mesh",description:"Open the mesh view",insert:"/mesh"},{command:"/activity",label:"/activity",description:"Open activity feed",insert:"/activity"},{command:"/settings",label:"/settings",description:"Open settings",insert:"/settings"}];function GO(e,t){if(t<=0)return!0;const n=e[t-1];return!n||/\s/.test(n)}function rne(e,t){if(t===0)return null;let n=t-1;for(;n>=0;){const r=e[n];if(r==="/")break;if(!r||/\s/.test(r))return null;n-=1}if(n<0||e[n]!=="/"||!GO(e,n))return null;const s=e.slice(n+1,t);return/[^a-zA-Z0-9_-]/.test(s)?null:{start:n,query:s}}function ine(e,t){if(t===0)return null;let n=t-1;for(;n>=0;){const r=e[n];if(r==="@")break;if(!r||/\s/.test(r))return null;n-=1}if(n<0||e[n]!=="@"||!GO(e,n))return null;const s=e.slice(n+1,t);return/[^a-zA-Z0-9._/:-]/.test(s)?null:{start:n,query:s}}function one(e){if(!e)return null;const t=e.replace(/[\\/]+$/,"");return t?t.split(/[\\/]/).filter(Boolean).at(-1)??t:null}function lne(e){return e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-")||"shared"}function cne(e){return e.kind==="direct"&&e.agentName?e.agentName:e.kind==="direct"&&e.agentId?Ci(e.agentId)??e.agentId:e.title.replace(/\s*<>\s*/g," · ")}function une(e){switch(e){case"status":return"Status";case"system":return"System";case"scout.dispatch":return"Dispatch";default:return null}}function rh(e){return[...e].sort((t,n)=>NO(t.createdAt,n.createdAt))}function dne(e){return e.filter(xd).sort((t,n)=>SO(t.startedAt,n.startedAt))[0]??null}function HE(e,t,n){return{id:e.id,invocationId:e.invocationId,agentId:e.targetAgentId||n,agentName:null,conversationId:t,collaborationRecordId:null,state:e.state,summary:e.summary??null,startedAt:e.startedAt??null,completedAt:e.completedAt??null}}function fne(e){const t=e.metadata?.scoutDispatch;if(!t||typeof t!="object")return null;const n=t;return!n.id||!n.kind||!Array.isArray(n.candidates)?null:n}function sb(e,t){if(e.class==="operator")return!0;const n=e.actorName?.toLowerCase()??"";return n===t.toLowerCase()||n==="operator"||n==="you"}function hne(e,t){return e.reduce((n,s)=>{if(sb(s,t))return n;const r=Jt(s.createdAt);return r===null?n:n===null||r>n?r:n},null)}function mne(e,t){switch(t){case"queued":return`${e} has your message and is waiting to start.`;case"waking":return`${e} is waking up now.`;case"waiting":return`${e} is thinking through the request.`;case"running":return`${e} is working on your request.`;default:return`${e} is working on it.`}}function pne(e){const{agentName:t,agentState:n,sending:s,currentFlight:r,showWorkingTurn:o,workingTurnIsGone:c,workingTurnIsStale:u,nowMs:h}=e;if(s&&!r)return{label:"Sending",detail:`Handing your message to ${t}.`,tone:"pending",showStrip:!0,showTyping:!1};if(r&&o&&u){const f=$e(r.startedAt,h),g=f?`No update from ${t} for ${f}.`:`No recent update from ${t}.`;return{label:c?"Gone":"Stale",detail:c?`${g} Agent is offline.`:g,tone:"stale",showStrip:!0,showTyping:!0}}if(r&&o){const f=r.summary?.trim()||mne(t,r.state);switch(r.state){case"queued":return{label:"Queued",detail:f,tone:"pending",showStrip:!0,showTyping:!0};case"waking":return{label:"Coming online",detail:f,tone:"working",showStrip:!0,showTyping:!0};case"waiting":return{label:"Thinking",detail:f,tone:"working",showStrip:!0,showTyping:!0};default:return{label:"Working",detail:f,tone:"working",showStrip:!0,showTyping:!0}}}return Si(n)?{label:"Available",detail:`${t} is connected.`,tone:"idle",showStrip:!1,showTyping:!1}:{label:"Offline",detail:`${t} is offline right now. Sending a message will wake it up.`,tone:"offline",showStrip:!0,showTyping:!1}}function gne(e,t){switch(e.tone){case"pending":return"var(--accent)";case"working":return"var(--green)";case"stale":return"var(--amber)";case"offline":return"var(--dim)";default:return Un(t)}}function vne(){return a.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[a.jsx("path",{d:"m3 11 18-8-8 18-2.8-7.2L3 11Z"}),a.jsx("path",{d:"M10.2 13.8 21 3"})]})}function yne(){return a.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:a.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}function xne(){return a.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[a.jsx("path",{d:"M4 4l8 8"}),a.jsx("path",{d:"M12 4l-8 8"})]})}function bne(e){if(!e)return null;if(e.kind==="direct")return e.agentName??Ci(e.agentId)??null;const t=e.participantIds.filter(n=>n!=="operator");return t.length===0?null:t.map(n=>Ci(n)??n).join(", ")}function jp({conversationId:e,initialComposeMode:t,initialDraft:n,navigate:s,embedded:r}){const{agents:o,route:c}=Je(),[u,h]=p.useState(null),[f,g]=p.useState([]),[v,y]=p.useState(null),[x,w]=p.useState(new Set),[k,C]=p.useState([]),[T,S]=p.useState(null),N=p.useRef(null),E=p.useRef(null),A=p.useRef(new Set),R=p.useRef(null),M=p.useRef(0),$=p.useRef(null);p.useEffect(()=>{e.startsWith("channel.")&&s({view:"channels",channelId:e})},[e,s]);const O=M_(e),U=u?.agentId??O,_=u?.kind==="direct"||O!==null,z=p.useMemo(()=>U?o.find(ne=>ne.id===U)??null:null,[o,U]),[q,V]=p.useState([]),[G,P]=p.useState(new Set),[H]=p.useState(()=>Y0());p.useEffect(()=>{ye("/api/conversations").then(ne=>V(ne.sort((ve,Se)=>(Se.lastMessageAt??0)-(ve.lastMessageAt??0)))).catch(()=>{}),ye("/api/fleet").then(ne=>{const ve=new Set;for(const Se of ne.needsAttention)Se.conversationId&&ve.add(Se.conversationId),Se.agentId&&ve.add(Se.agentId);for(const Se of ne.activeAsks)Se.status==="needs_attention"&&Se.conversationId&&ve.add(Se.conversationId);P(ve)}).catch(()=>{})},[]),p.useEffect(()=>{const ne=q.find(ve=>ve.id===e);ne&&nc(ne)&&s({view:"channels",channelId:e})},[e,s,q]);const D=p.useCallback(async()=>{S(null);try{const ne=await ye(`/api/session/${encodeURIComponent(e)}`).catch(()=>null);h(ne);const ve=ne?.agentId??O,Se=ne?.kind==="direct"&&ve&&ve.startsWith("local-session-agent-")?ns(ve):e;if(Se!==e){s({view:"conversation",conversationId:Se,...t?{composeMode:t}:{}});return}const[tt,Q]=await Promise.all([ye(`/api/messages?conversationId=${encodeURIComponent(Se)}&limit=300`),ye(`/api/flights?conversationId=${encodeURIComponent(Se)}`)]),ge=rh(tt);g(ge),X0(Se);const Oe=ge.at(-1);Oe&&ye(`/api/conversations/${encodeURIComponent(Se)}/read-cursor`,{method:"POST",body:JSON.stringify({lastReadMessageId:Oe.id})}).catch(()=>{}),C(Q),A.current=new Set(Q.map(Le=>Le.invocationId)),y(dne(Q))}catch(ne){S(ne instanceof Error?ne.message:String(ne))}},[e,t,O,s]);p.useEffect(()=>{D()},[D]);const[K,W]=p.useState(null),[L,F]=p.useState(!1);p.useEffect(()=>{if(!U)return;let ne=!1;return ye(`/api/agents/${encodeURIComponent(U)}/session-catalog`).then(ve=>{ne||W(ve)}).catch(()=>{}),()=>{ne=!0}},[U]),p.useEffect(()=>{R.current=v},[v]);const Z=p.useCallback(()=>{v?.id&&w(ne=>{const ve=new Set(ne);return ve.add(v.id),ve})},[v?.id]),[ee,X]=p.useState(()=>n??""),[de,J]=p.useState(!1),[ae,je]=p.useState("operator"),[Ee,pe]=p.useState({open:!1,query:"",triggerStart:-1,index:0}),[Te,re]=p.useState({open:!1,query:"",triggerStart:-1,index:0}),[Fe,Ce]=p.useState(null),[Me,_e]=p.useState(t==="ask"?"ask":"tell"),[He,qe]=p.useState(!1),[nt,Re]=p.useState(""),[Ue,Ie]=p.useState(""),[Be,Pe]=p.useState(null),[at,ut]=p.useState(!1);p.useEffect(()=>{_e(_&&t==="ask"?"ask":"tell")},[e,t,_]),p.useEffect(()=>{qe(!1),Re(""),Ie(""),Pe(null),ut(!1)},[e]),p.useEffect(()=>{if(!n)return;const ne=`${e}:${n}`;$.current!==ne&&($.current=ne,X(n),requestAnimationFrame(()=>E.current?.focus()))},[e,n]);const rt=p.useMemo(()=>{const ne=new Set,ve=[];for(const Se of o){const tt=Se.handle?.trim().replace(/^@+/,"")??Ci(Se.id)??Se.id;if(!tt)continue;const Q=tt.toLowerCase();ne.has(Q)||(ne.add(Q),ve.push({id:Se.id,label:tt,name:Se.name??tt,handle:tt}))}return ve.sort((Se,tt)=>Se.handle.localeCompare(tt.handle))},[o]),vt=p.useMemo(()=>{if(!Ee.open)return[];const ne=Ee.query.toLowerCase();return ne?FE.filter(ve=>ve.command.toLowerCase().startsWith("/"+ne)||ve.command.toLowerCase().includes(ne)):FE},[Ee.open,Ee.query]),ie=p.useMemo(()=>{if(!Te.open)return[];const ne=Te.query.toLowerCase();return ne?rt.filter(ve=>ve.handle.toLowerCase().includes(ne)||ve.name.toLowerCase().includes(ne)).slice(0,8):rt.slice(0,8)},[Te.open,Te.query,rt]),fe=p.useCallback(()=>{pe(ne=>ne.open?{...ne,open:!1}:ne),re(ne=>ne.open?{...ne,open:!1}:ne)},[]),Ae=p.useCallback((ne,ve)=>{const Se=rne(ne,ve);pe(Se?Q=>({open:!0,query:Se.query,triggerStart:Se.start,index:Q.open&&Q.triggerStart===Se.start?Q.index:0}):Q=>Q.open?{...Q,open:!1}:Q);const tt=ine(ne,ve);re(tt?Q=>({open:!0,query:tt.query,triggerStart:tt.start,index:Q.open&&Q.triggerStart===tt.start?Q.index:0}):Q=>Q.open?{...Q,open:!1}:Q)},[]),Qe=p.useCallback(ne=>{const ve=E.current,Se=Ee.triggerStart;if(Se<0)return;const tt=ve?.selectionStart??ee.length,Q=ee.slice(0,Se),ge=ee.slice(tt),Oe=ne.insert,Le=`${Q}${Oe}${ge}`;X(Le),pe(ft=>({...ft,open:!1})),requestAnimationFrame(()=>{const ft=E.current;if(!ft)return;const ot=Q.length+Oe.length;ft.focus(),ft.setSelectionRange(ot,ot)})},[ee,Ee.triggerStart]),ue=p.useCallback(ne=>{const ve=E.current,Se=Te.triggerStart;if(Se<0)return;const tt=ve?.selectionStart??ee.length,Q=ee.slice(0,Se),ge=ee.slice(tt),Oe=ge.length===0||!ge.startsWith(" "),Le=`@${ne.handle}${Oe?" ":""}`,ft=`${Q}${Le}${ge}`;X(ft),re(ot=>({...ot,open:!1})),requestAnimationFrame(()=>{const ot=E.current;if(!ot)return;const Bt=Q.length+Le.length;ot.focus(),ot.setSelectionRange(Bt,Bt)})},[ee,Te.triggerStart]);p.useEffect(()=>{const ne=E.current;if(!ne)return;ne.style.height="0px";const ve=Math.min(Math.max(ne.scrollHeight,40),160);ne.style.height=`${ve}px`,ne.style.overflowY=ne.scrollHeight>ve?"auto":"hidden"},[ee]),p.useEffect(()=>{ye("/api/user").then(ne=>je(ne.name)).catch(()=>{})},[]);const Ne=p.useMemo(()=>hne(f,ae),[f,ae]);p.useEffect(()=>{Fe===null||Ne===null||Ne>=Fe&&Ce(null)},[Fe,Ne]);const De=p.useMemo(()=>$te(v),[v]),dt=Date.now(),St=LO(v,dt),kt=Pte(v,Ne,dt),Ct=v?x.has(v.id):!1,Pt=De&&!kt&&!Ct,Mt=Pt&&St,$t=Mt&&et(z?.state??null)==="offline",he=de||Fe!==null||Pt,We=de||Fe!==null||Pt&&!Mt,Ve=nte({name:z?.name,agentName:u?.agentName,id:U,title:u?.title}),it=p.useMemo(()=>pne({agentName:Ve,agentState:z?.state??null,sending:de,currentFlight:v,showWorkingTurn:Pt,workingTurnIsGone:$t,workingTurnIsStale:Mt,nowMs:dt}),[z?.state,Ve,v,dt,de,Pt,$t,Mt]),xt=it.tone==="stale",bn=xt?it.label:"Live",Vn=xt?it.detail:`${Ve} is ${it.label.toLowerCase()}...`,nn=["s-thread-msg-card","s-thread-msg-working-card","s-thread-msg-card--avatar-row",xt?"s-thread-msg-working-card--stale":null].filter(Boolean).join(" "),qn=["s-thread-msg-kind",xt?"s-thread-msg-kind--stale":null,$t?"s-thread-msg-kind--gone":null].filter(Boolean).join(" "),ps=["s-thread-stale-indicator",$t?"s-thread-stale-indicator--gone":null].filter(Boolean).join(" "),ss=["s-thread-presence-line",xt?"s-thread-presence-line--stale":null].filter(Boolean).join(" "),Wn=["s-thread-presence-strip",xt?"s-thread-presence-strip--stale":null].filter(Boolean).join(" "),Es=u?cne(u):Ve,qs=u?.kind?ane[u.kind]??u.kind:"Conversation";bne(u);const Ln=one(u?.workspaceRoot),pn=u?.lastMessageAt??f[f.length-1]?.createdAt??null,Sn=[Ln?{label:Ln,title:u?.workspaceRoot??void 0}:null,u?.currentBranch?{label:u.currentBranch,title:u.currentBranch}:null,z?.harness??u?.harness?{label:z?.harness??u?.harness??"",title:void 0}:null].filter(ne=>!!ne),Ia=u?u.participantIds.length:_?2:1,fa=p.useMemo(()=>(!G.has(e)&&!(U&&G.has(U)),null),[e,U,G]);an(p.useCallback(ne=>{if(ne.kind==="message.posted"){const ve=ne.payload?.message;if(!ve||ve.conversationId!==e)return;const Se=ve.actorId===U,tt={id:ve.id,conversationId:ve.conversationId,actorName:Se?Ve:ae,body:ve.body,createdAt:ve.createdAt,class:Se?ve.class:"operator",attachments:ve.attachments,metadata:ve.metadata};if(g(Q=>{if(Q.some(ge=>ge.id===ve.id))return Q;if(!Se){const ge=Q.findIndex(Oe=>Oe.id.startsWith("optimistic-")&&Oe.body===ve.body&&Math.abs((Jt(Oe.createdAt)??0)-(Jt(ve.createdAt)??0))<=6e4);if(ge!==-1){const Oe=[...Q];return Oe[ge]=tt,rh(Oe)}}return rh([...Q,tt])}),Se){const Q=Jt(ve.createdAt)??Date.now();Ce(ge=>ge===null||Q<ge||xd(R.current)?ge:null),y(ge=>Dte(ge)?null:ge)}return}if(ne.kind==="invocation.requested"){const ve=ne.payload?.invocation;if(!ve||ve.targetAgentId!==U||ve.conversationId!==e)return;A.current.add(ve.id),Ce(Se=>Se??Date.now());return}if(ne.kind==="flight.updated"){const ve=ne.payload?.flight;if(!ve||ve.targetAgentId!==U||!(A.current.has(ve.invocationId)||R.current?.id===ve.id))return;if(DO.has(ve.state)){y(tt=>tt?.id===ve.id?null:tt),Ce(null),D();return}A.current.add(ve.invocationId),y(HE(ve,e,U??""));return}ne.kind!=="agent.endpoint.upserted"&&ne.kind==="unknown"&&D()},[U,Ve,e,D,ae])),p.useEffect(()=>{if(!he)return;const ne=setInterval(()=>{D()},5e3);return()=>clearInterval(ne)},[he,D]),p.useEffect(()=>{const ne=()=>{if(document.visibilityState!=="visible")return;const ve=Date.now();ve-M.current<1e3||(M.current=ve,D())};return window.addEventListener("focus",ne),document.addEventListener("visibilitychange",ne),()=>{window.removeEventListener("focus",ne),document.removeEventListener("visibilitychange",ne)}},[D]);const Ir=f.length+(it.showTyping?1:0),Ro=p.useRef(0),os=p.useRef(!1);p.useEffect(()=>{if(Ir>Ro.current){const ne=os.current?"smooth":"instant";N.current?.scrollIntoView({behavior:ne}),os.current=!0}Ro.current=Ir},[Ir]);const[,_a]=p.useState(0);p.useEffect(()=>{const ne=setInterval(()=>_a(ve=>ve+1),15e3);return()=>clearInterval(ne)},[]);const _r=async(ne,ve)=>{const Se=ne.trim();if(!Se||de)return;const tt=ve?.forceMode??Me,Q=_?We?"steer":tt:"tell",ge=Date.now(),Oe={id:`optimistic-${ge}`,conversationId:e,actorName:ae,body:Se,createdAt:ge,class:"operator"};J(!0),Ce(ge),S(null),g(Le=>rh([...Le,Oe]));try{const Le=await ye(Q==="ask"?"/api/ask":"/api/send",{method:"POST",body:JSON.stringify({body:Se,conversationId:e})});Le.flight&&(A.current.add(Le.flight.invocationId),y(HE(Le.flight,e,U??"")))}catch(Le){g(ft=>ft.filter(ot=>ot.id!==Oe.id)),Ce(null),S(Le instanceof Error?Le.message:String(Le))}finally{J(!1)}},Ts=async()=>{const ne=ee.trim();ne&&(X(""),await _r(ne))},ha=async()=>{if(U)try{await ye("/api/agents/"+encodeURIComponent(U)+"/interrupt",{method:"POST",body:JSON.stringify({})})}catch{}},ma=it.tone==="working"||it.tone==="pending",Ws=_?We?"steer":Me:"tell",rn=_?"Reply — or type / to route, @ to mention an agent, ? to ask a question":`Message ${Ve}...`,gs=!ee.trim()&&ma,Or=gd(),pa=p.useCallback((ne,ve)=>{const Se=window.getSelection()?.toString().trim(),tt=[];Se&&(tt.push({kind:"action",label:"Copy Selection",shortcut:"⌘C",onSelect:()=>navigator.clipboard.writeText(Se)}),tt.push({kind:"separator"})),tt.push({kind:"action",label:"Copy Message",onSelect:()=>navigator.clipboard.writeText(ve.body)}),ve.actorName&&!sb(ve,ae)&&tt.push({kind:"action",label:"Copy Agent ID",onSelect:()=>navigator.clipboard.writeText(ve.actorName??"")}),tt.push({kind:"separator"}),tt.push({kind:"action",label:"Copy Message ID",onSelect:()=>navigator.clipboard.writeText(ve.id)}),Or(ne,tt)},[ae,Or]),Oa=async(ne,ve)=>{const Se=`@${ve.agentId} `,tt=ee.trim();if(tt){X(""),await _r(`${Se}${tt}`,{forceMode:"tell"});return}X(Se),E.current?.focus()},Io=p.useMemo(()=>u?u.participantIds.filter(ne=>ne!=="operator").slice(0,4).map(ne=>{const ve=o.find(Se=>Se.id===ne);return{id:ne,name:ve?.name??ne}}):[],[u,o]),As=p.useMemo(()=>{const ne=q.filter(ve=>ve.kind==="channel"||ve.id.startsWith("channel.")).map(ve=>PO(ve)).filter(ve=>ve.trim().length>0);return[...new Set(ne)].sort((ve,Se)=>ve.localeCompare(Se))},[q]),Pi=p.useCallback(async()=>{if(!U||!_)return;const ne=lne(nt),ve=`channel.${ne}`,Se=Ue.trim(),tt=Se?`@${U} ${Se}`:`@${U} Continue this in #${ne}.`;ut(!0),Pe(null);try{const Q=await ye("/api/send",{method:"POST",body:JSON.stringify({body:tt,conversationId:ve})});if((Q.unresolvedTargets?.length??0)>0){Pe(Q.targetDiagnostic?.detail??`Couldn't resolve ${Q.unresolvedTargets.join(", ")} for this channel.`);return}qe(!1),Ie(""),Re(""),s({view:"channels",channelId:ve})}catch(Q){Pe(Q instanceof Error?Q.message:String(Q))}finally{ut(!1)}},[Ue,nt,U,_,s]);return a.jsx("div",{className:`s-thread-layout${r?" s-thread-layout--embedded":""}`,children:a.jsxs("div",{className:"s-thread-center",children:[!r&&a.jsx(Er,{slot:"conversation",fallback:{view:"inbox"},navigate:s}),!r&&a.jsxs("div",{className:"s-thread-center-header",onClick:()=>_?Ft(s,{view:"agent-info",conversationId:e},{returnTo:c}):void 0,style:_?{cursor:"pointer"}:void 0,onContextMenu:ne=>{const ve=[{kind:"action",label:"Copy Title",onSelect:()=>navigator.clipboard.writeText(Es)}];U&&ve.push({kind:"action",label:"Copy Agent ID",onSelect:()=>navigator.clipboard.writeText(U)}),ve.push({kind:"action",label:"Copy Conversation ID",onSelect:()=>navigator.clipboard.writeText(e)}),Or(ne,ve)},children:[a.jsxs("div",{className:"s-thread-center-header-info",children:[a.jsx("span",{className:"s-thread-center-header-name",children:Es}),a.jsxs("div",{className:"s-thread-center-header-eyebrow",children:[a.jsx("span",{className:"s-thread-center-header-kicker",children:qs}),pn&&a.jsx("span",{className:"s-thread-center-header-time",title:Sy(pn),children:$e(pn)})]})]}),a.jsxs("div",{className:"s-thread-center-header-right",children:[Sn.length>0&&a.jsx("div",{className:"s-thread-center-header-chips",children:Sn.map((ne,ve)=>a.jsx("span",{className:"s-thread-center-chip",title:ne.title,children:ne.label},`${ne.label}-${ve}`))}),!r&&_&&U&&a.jsx("button",{type:"button",className:"s-btn s-btn-sm s-thread-add-channel-trigger",onClick:ne=>{ne.stopPropagation(),Pe(null),qe(ve=>{const Se=!ve;return Se&&nt.trim().length===0&&Re(As[0]??""),Se})},children:"Add to channel"}),Io.length>0&&a.jsxs("div",{className:"s-thread-center-avatars",children:[Io.map(ne=>a.jsx("div",{className:"s-ops-avatar",style:{"--size":"22px",background:en(ne.name)},title:ne.name,children:ne.name[0]?.toUpperCase()??"?"},ne.id)),a.jsx("span",{className:"s-thread-center-participant-count",children:Ia})]})]})]}),!r&&_&&U&&He&&a.jsxs("form",{className:"s-thread-add-channel",onSubmit:ne=>{ne.preventDefault(),Pi()},children:[a.jsxs("div",{className:"s-thread-add-channel-row",children:[a.jsxs("div",{className:"s-thread-add-channel-field",children:[a.jsx("label",{className:"s-thread-add-channel-label",htmlFor:"thread-add-channel-input",children:"Channel"}),a.jsx("input",{id:"thread-add-channel-input",className:"s-thread-add-channel-input",value:nt,onChange:ne=>Re(ne.target.value),placeholder:"ops",list:"thread-add-channel-suggestions",autoFocus:!0}),a.jsx("datalist",{id:"thread-add-channel-suggestions",children:As.map(ne=>a.jsx("option",{value:ne},ne))})]}),a.jsxs("div",{className:"s-thread-add-channel-actions",children:[a.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:()=>{qe(!1),Pe(null)},disabled:at,children:"Cancel"}),a.jsx("button",{type:"submit",className:"s-btn s-btn-primary s-btn-sm",disabled:at||nt.trim().length===0,children:at?"Adding…":"Add"})]})]}),a.jsxs("div",{className:"s-thread-add-channel-field",children:[a.jsx("label",{className:"s-thread-add-channel-label",htmlFor:"thread-add-channel-note",children:"Intro note"}),a.jsx("textarea",{id:"thread-add-channel-note",className:"s-thread-add-channel-textarea",value:Ue,onChange:ne=>Ie(ne.target.value),placeholder:`Optional note for ${Ve}`,rows:2})]}),a.jsxs("div",{className:"s-thread-add-channel-hint",children:["Scout will send a channel message that mentions ",Ve,", so the broker adds them to the shared thread."]}),Be&&a.jsx("div",{className:"s-thread-add-channel-error",children:Be})]}),fa&&a.jsxs("div",{className:"s-thread-pinned-ask",children:[a.jsx("div",{className:"s-thread-pinned-ask-label",children:"Pinned ask · Awaiting operator"}),a.jsx("div",{className:"s-thread-pinned-ask-body",children:fa.task}),a.jsxs("div",{className:"s-thread-pinned-ask-routing",children:[a.jsx("span",{children:fa.agentName??Ci(fa.agentId)??fa.agentId}),a.jsx("span",{className:"s-thread-pinned-ask-routing-arrow",children:"→"}),a.jsx("span",{children:"You"})]}),a.jsxs("div",{className:"s-thread-pinned-ask-actions",children:[a.jsx("button",{type:"button",className:"s-ops-btn s-ops-btn--primary",onClick:()=>{E.current?.focus()},children:"Answer"}),a.jsx("button",{type:"button",className:"s-ops-btn",children:"Defer"}),a.jsx("button",{type:"button",className:"s-ops-btn",children:"Route"})]}),a.jsx("div",{className:"s-thread-pinned-ask-strip"})]}),it.showStrip&&a.jsxs("div",{className:`s-thread-status s-thread-status--${it.tone}`,"aria-live":"polite",children:[a.jsx("span",{className:"s-thread-status-dot",style:{background:gne(it,z?.state??null)}}),a.jsxs("div",{className:"s-thread-status-copy",children:[a.jsx("span",{className:"s-thread-status-label",children:it.label}),a.jsx("span",{className:"s-thread-status-detail",children:it.detail})]})]}),!r&&_&&z&&(z.harnessSessionId||z.harnessLogPath||K?.activeSessionId)&&a.jsxs("details",{className:"s-thread-meta-disclosure",children:[a.jsx("summary",{className:"s-thread-meta-toggle",children:"Session details"}),a.jsxs("div",{className:"s-thread-meta-block",children:[K?.activeSessionId&&a.jsxs("div",{className:"s-thread-meta-row",children:[a.jsx("span",{className:"s-thread-meta-row-label",children:"Session ID"}),a.jsx("span",{className:"s-thread-meta-row-value s-thread-meta-row-value--accent",title:K.activeSessionId,children:K.activeSessionId.slice(0,8)})]}),K?.resumeCommand&&a.jsxs("div",{className:"s-thread-meta-row",children:[a.jsx("span",{className:"s-thread-meta-row-label",children:"Takeover"}),a.jsx("span",{className:"s-thread-meta-row-value",children:a.jsx("button",{type:"button",className:"s-thread-meta-takeover-btn",title:K.resumeCommand,onClick:()=>{Z0({command:K.resumeCommand,cwd:K.resumeCwd,agentId:U}).then(()=>Ft(s,{view:"terminal",agentId:U??void 0},{returnTo:c})),F(!0)},children:L?"Going…":`Takeover — ${K.resumeCommand}`})})]}),K?.activeSessionId&&a.jsxs("div",{className:"s-thread-meta-row",children:[a.jsx("span",{className:"s-thread-meta-row-label",children:"Vantage"}),a.jsx("span",{className:"s-thread-meta-row-value s-thread-meta-actions",children:a.jsx(wp,{agentId:U,className:"s-thread-meta-vantage-btn",statusClassName:"s-thread-meta-vantage-status",label:"Open in Vantage",openingLabel:"Opening…"})})]}),z.harnessSessionId&&a.jsxs("div",{className:"s-thread-meta-row",children:[a.jsx("span",{className:"s-thread-meta-row-label",children:"Harness Session"}),a.jsx("span",{className:"s-thread-meta-row-value",children:z.harnessSessionId})]}),z.harnessLogPath&&a.jsxs("div",{className:"s-thread-meta-row",children:[a.jsx("span",{className:"s-thread-meta-row-label",children:"Harness Log"}),a.jsx("span",{className:"s-thread-meta-row-value",children:z.harnessLogPath})]})]})]}),T&&a.jsx("p",{className:"s-thread-error",children:T}),a.jsxs("div",{className:"s-thread-feed",children:[a.jsx("div",{className:"s-thread-feed-spacer"}),f.length===0?a.jsxs("div",{className:"s-thread-empty",children:[a.jsx("div",{className:"s-thread-empty-glyph","aria-hidden":"true",children:_?"@":"#"}),a.jsx("p",{children:Es}),a.jsx("p",{children:_?"No messages yet. Use Tell for quick updates or Ask to create owned work with a reply.":"No messages yet. Start the thread below."}),(Ln||u?.currentBranch)&&a.jsxs("div",{className:"s-thread-empty-chips",children:[Ln&&a.jsx("span",{className:"s-thread-empty-chip",children:Ln}),u?.currentBranch&&a.jsx("span",{className:"s-thread-empty-chip",children:u.currentBranch})]})]}):f.map((ne,ve)=>{const Se=sb(ne,ae),tt=fne(ne),Q=tt?"scout.dispatch":ne.class,ge=une(Q),Oe=Q==="status",Le=ve===0||!$O(f[ve-1]?.createdAt,ne.createdAt),ft=Sy(ne.createdAt),ot=!Se&&ne.actorName?o.find(jt=>jt.name===ne.actorName)??null:null,Bt=Se?ae.toLowerCase():ot?.handle??null;return a.jsxs("div",{className:["s-thread-feed-block",Se&&"s-thread-feed-block--you",Le&&"s-thread-feed-block--full-width"].filter(Boolean).join(" "),children:[Le&&a.jsxs("div",{className:"s-thread-day-divider","aria-label":Jx(ne.createdAt),children:[a.jsx("span",{className:"s-thread-day-line","aria-hidden":"true"}),a.jsx("span",{className:"s-thread-day-label",children:Jx(ne.createdAt)}),a.jsx("span",{className:"s-thread-day-line","aria-hidden":"true"})]}),a.jsx("article",{id:`msg-${ne.id}`,className:["s-thread-msg",Se&&"s-thread-msg--you",Oe&&"s-thread-msg--tool"].filter(Boolean).join(" "),"data-class":Q,onContextMenu:jt=>pa(jt,ne),children:a.jsxs("div",{className:"s-thread-msg-card s-thread-msg-card--avatar-row",children:[(()=>{const jt=!Se&&ot?()=>Ft(s,{view:"agent-info",conversationId:ns(ot.id)},{returnTo:c}):null,Gs=(Se?ae[0]:ne.actorName?.[0]??"?").toUpperCase(),$a={"--size":"28px",background:en(Se?ae:ne.actorName??"?")};return jt?a.jsx("button",{type:"button",className:"s-ops-avatar s-thread-msg-avatar s-thread-msg-avatar--nav",style:$a,onClick:jt,"aria-label":`View profile for ${ne.actorName??"agent"}`,title:`View profile for ${ne.actorName??"agent"}`,children:Gs}):a.jsx("div",{className:"s-ops-avatar s-thread-msg-avatar",style:$a,children:Gs})})(),a.jsxs("div",{className:"s-thread-msg-card-content",children:[a.jsxs("div",{className:"s-thread-msg-header",children:[a.jsxs("div",{className:"s-thread-msg-meta",children:[!Se&&ot?a.jsx("button",{type:"button",className:"s-thread-msg-actor s-thread-msg-actor--nav",onClick:()=>Ft(s,{view:"agent-info",conversationId:ns(ot.id)},{returnTo:c}),title:`View profile for ${ne.actorName}`,children:ne.actorName}):a.jsx("span",{className:"s-thread-msg-actor",children:Se?ae:ne.actorName}),Bt&&a.jsxs("span",{className:"s-thread-msg-handle",children:["@",Bt]}),ge&&a.jsx("span",{className:"s-thread-msg-kind",children:ge})]}),a.jsx("span",{className:"s-thread-msg-time",title:ft,children:$e(ne.createdAt)}),a.jsx("button",{type:"button",className:"s-thread-msg-permalink","aria-label":"Copy link to message",title:"Copy link to message",onClick:()=>{const jt=`${window.location.origin}${window.location.pathname}#msg-${ne.id}`;navigator.clipboard.writeText(jt)},children:a.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[a.jsx("path",{d:"M6.5 9.5a2.5 2.5 0 0 0 3.54 0l2.12-2.12a2.5 2.5 0 0 0-3.54-3.54l-.7.7"}),a.jsx("path",{d:"M9.5 6.5a2.5 2.5 0 0 0-3.54 0L3.84 8.62a2.5 2.5 0 0 0 3.54 3.54l.7-.7"})]})})]}),a.jsx("div",{className:"s-thread-msg-body",title:ft,children:a.jsx(K0,{text:ne.body})}),a.jsx(WO,{message:ne}),tt&&tt.candidates.length>0&&a.jsx("div",{className:"s-thread-dispatch",children:tt.candidates.map(jt=>a.jsxs("button",{type:"button",className:"s-thread-dispatch-tile",onClick:()=>{Oa(tt,jt)},children:[a.jsxs("span",{className:"s-thread-dispatch-tile-id",children:["@",jt.agentId]}),a.jsx("span",{className:"s-thread-dispatch-tile-state",children:jt.endpointState}),a.jsx("span",{className:"s-thread-dispatch-tile-meta",children:[jt.workspace,jt.node,jt.projectRoot].filter(Boolean).join(" · ")||jt.displayName})]},jt.agentId))})]})]})})]},ne.id)}),it.showTyping&&a.jsx("div",{className:"s-thread-feed-block",children:a.jsx("div",{className:"s-thread-msg","aria-live":"polite",children:a.jsxs("div",{className:nn,children:[a.jsx("div",{className:"s-ops-avatar s-thread-msg-avatar",style:{"--size":"28px",background:en(Ve)},children:Ve[0]?.toUpperCase()??"?"}),a.jsxs("div",{className:"s-thread-msg-card-content",children:[a.jsxs("div",{className:"s-thread-msg-header",children:[a.jsxs("div",{className:"s-thread-msg-meta",children:[a.jsx("span",{className:"s-thread-msg-actor",children:Ve}),a.jsx("span",{className:qn,children:bn})]}),a.jsx("span",{className:"s-thread-msg-time",title:v?.startedAt?Sy(v.startedAt):"now",children:v?.startedAt?$e(v.startedAt):"now"}),xt&&a.jsx("button",{type:"button",className:"s-thread-msg-dismiss","aria-label":"Dismiss stale turn",title:"Dismiss stale turn",onClick:Z,children:a.jsx(xne,{})})]}),a.jsxs("div",{className:"s-thread-msg-working-body",children:[xt?a.jsx("span",{className:ps,"aria-hidden":"true"}):a.jsxs("span",{className:"s-thread-typing-indicator","aria-hidden":"true",children:[a.jsx("span",{className:"s-thread-typing-dot"}),a.jsx("span",{className:"s-thread-typing-dot"}),a.jsx("span",{className:"s-thread-typing-dot"})]}),a.jsx("span",{className:"s-thread-msg-working-copy",children:it.detail})]})]})]})})}),a.jsx("div",{ref:N})]}),it.showTyping&&a.jsxs("div",{className:ss,children:[a.jsx("div",{className:"s-thread-presence-line-avatars",children:a.jsx("div",{className:"s-ops-avatar",style:{"--size":"20px",background:en(Ve)},children:Ve[0]?.toUpperCase()??"?"})}),a.jsx("span",{className:"s-thread-presence-line-label",children:Vn}),a.jsx("div",{className:Wn})]}),a.jsx("form",{className:"s-thread-compose",onSubmit:ne=>{ne.preventDefault(),Ts()},children:a.jsxs("div",{className:"s-thread-compose-shell",children:[Ee.open&&vt.length>0&&a.jsxs("div",{className:"s-thread-compose-suggest",role:"listbox","aria-label":"Slash commands",children:[a.jsx("div",{className:"s-thread-compose-suggest-label",children:"Slash commands"}),vt.map((ne,ve)=>a.jsxs("button",{type:"button",role:"option","aria-selected":ve===Ee.index,className:["s-thread-compose-suggest-item",ve===Ee.index&&"s-thread-compose-suggest-item--active"].filter(Boolean).join(" "),onMouseDown:Se=>{Se.preventDefault(),Qe(ne)},onMouseEnter:()=>pe(Se=>({...Se,index:ve})),children:[a.jsx("span",{className:"s-thread-compose-suggest-cmd",children:ne.label}),a.jsx("span",{className:"s-thread-compose-suggest-desc",children:ne.description})]},ne.command))]}),Te.open&&ie.length>0&&a.jsxs("div",{className:"s-thread-compose-suggest",role:"listbox","aria-label":"Mention agents",children:[a.jsx("div",{className:"s-thread-compose-suggest-label",children:"Mention agent"}),ie.map((ne,ve)=>a.jsxs("button",{type:"button",role:"option","aria-selected":ve===Te.index,className:["s-thread-compose-suggest-item",ve===Te.index&&"s-thread-compose-suggest-item--active"].filter(Boolean).join(" "),onMouseDown:Se=>{Se.preventDefault(),ue(ne)},onMouseEnter:()=>re(Se=>({...Se,index:ve})),children:[a.jsx("span",{className:"s-ops-avatar s-thread-compose-suggest-avatar",style:{"--size":"20px",background:en(ne.name)},children:ne.name[0]?.toUpperCase()??"?"}),a.jsxs("span",{className:"s-thread-compose-suggest-cmd",children:["@",ne.handle]}),a.jsx("span",{className:"s-thread-compose-suggest-desc",children:ne.name})]},ne.id))]}),a.jsxs("div",{className:"s-thread-compose-row",children:[a.jsx("textarea",{ref:E,className:"s-thread-compose-input",placeholder:rn,value:ee,onChange:ne=>{const ve=ne.target.value;X(ve),Ae(ve,ne.target.selectionStart)},onSelect:ne=>{const ve=ne.currentTarget;Ae(ve.value,ve.selectionStart)},onBlur:()=>{setTimeout(fe,120)},onKeyDown:ne=>{if(Ee.open&&vt.length>0||Te.open&&ie.length>0){if(ne.key==="ArrowDown"){ne.preventDefault(),Ee.open?pe(Se=>({...Se,index:(Se.index+1)%vt.length})):Te.open&&re(Se=>({...Se,index:(Se.index+1)%ie.length}));return}if(ne.key==="ArrowUp"){ne.preventDefault(),Ee.open?pe(Se=>({...Se,index:(Se.index-1+vt.length)%vt.length})):Te.open&&re(Se=>({...Se,index:(Se.index-1+ie.length)%ie.length}));return}if(ne.key==="Escape"){ne.preventDefault(),fe();return}if(ne.key==="Enter"||ne.key==="Tab"){if(ne.shiftKey)return;if(ne.preventDefault(),Ee.open){const Se=vt[Ee.index]??vt[0];Se&&Qe(Se)}else if(Te.open){const Se=ie[Te.index]??ie[0];Se&&ue(Se)}return}}ne.key!=="Enter"||ne.shiftKey||ne.nativeEvent.isComposing||(ne.preventDefault(),!de&&ee.trim()&&Ts())},rows:1}),gs?a.jsx("button",{type:"button",className:"s-thread-compose-send s-thread-compose-send--stop",onClick:()=>{ha()},"aria-label":"Stop agent",children:a.jsx(yne,{})}):a.jsx("button",{type:"submit",className:"s-thread-compose-send",disabled:de||!ee.trim(),"aria-label":Ws==="ask"?"Ask agent":Ws==="steer"?"Steer agent":_?"Tell agent":"Send message",children:a.jsx(vne,{})})]})]})})]})})}function ZO(e){if(!e)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function wne(e){return e?e.length<=12?e:e.slice(0,12):null}function jne(e){if(!e)return null;const t=Math.max(0,Date.now()-e);return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function kne(e){return e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function KO(e){return e.name??wne(e.externalSessionId)??e.id.replace(/^.*:/,"")}function Nne(e){return e.status??e.role??e.type??"observed"}function Sne(e,t,n){return t.filter(s=>s.kind==="spawned"&&s.toId===e.id).map(s=>n.get(s.fromId)).filter(s=>!!s).map(KO)}function Cne(e,t){return t.find(n=>n.assigneeId===e.id)??null}function Ene(e){return e?e.observations.map(t=>({source:t.source,observedAt:ZO(t.observedAt),topology:t.topology})):[]}function YO({topology:e,size:t="full",title:n="Internal topology",maxAgents:s=t==="rail"?5:8,maxTasks:r=t==="rail"?3:5,showEmpty:o=!1}){const[c,u]=p.useState(null),[h,f]=p.useState(!1);p.useEffect(()=>{if(e)return;let y=!1;return ye("/api/topology/snapshot").then(x=>{y||(u(x),f(!1))}).catch(()=>{y||f(!0)}),()=>{y=!0}},[e]);const g=p.useMemo(()=>e?[{source:e.source,observedAt:ZO(e.observedAt),topology:e}]:Ene(c),[c,e]),v=p.useMemo(()=>g.reduce((y,x)=>(y.sources+=1,y.agents+=x.topology.agents.length,y.subagents+=x.topology.agents.filter(w=>w.role==="subagent").length,y.tasks+=x.topology.tasks.length,y.spawned+=x.topology.relationships.filter(w=>w.kind==="spawned").length,y),{sources:0,agents:0,subagents:0,tasks:0,spawned:0}),[g]);return g.length===0?!o&&!h?null:a.jsxs("section",{className:`s-observed-topology s-observed-topology--${t}`,children:[a.jsx("header",{className:"s-observed-topology-head",children:a.jsxs("div",{children:[a.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),a.jsx("h3",{children:n})]})}),a.jsx("div",{className:"s-observed-topology-empty",children:h?"Topology is unavailable right now.":"No Codex or Claude Code internal agent family observed yet."})]}):a.jsxs("section",{className:`s-observed-topology s-observed-topology--${t}`,children:[a.jsxs("header",{className:"s-observed-topology-head",children:[a.jsxs("div",{children:[a.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),a.jsx("h3",{children:n})]}),a.jsxs("div",{className:"s-observed-topology-counts",children:[a.jsxs("span",{children:[v.subagents," subagents"]}),a.jsxs("span",{children:[v.tasks," tasks"]}),a.jsxs("span",{children:[v.spawned," spawn links"]})]})]}),a.jsx("div",{className:"s-observed-topology-sources",children:g.map(y=>a.jsx(Tne,{source:y,maxAgents:s,maxTasks:r},`${y.source}:${y.topology.observedAt}`))})]})}function Tne({source:e,maxAgents:t,maxTasks:n}){const{topology:s}=e,r=new Map(s.agents.map(g=>[g.id,g])),o=s.agents.filter(g=>g.role==="subagent"),c=s.agents.filter(g=>g.role==="lead"),u=s.agents.filter(g=>g.role!=="subagent"&&g.role!=="lead"),h=[...c,...o,...u].slice(0,t),f=s.tasks.filter(g=>g.state!=="completed").slice(0,n);return a.jsxs("div",{className:"s-observed-topology-source",children:[a.jsxs("div",{className:"s-observed-topology-source-head",children:[a.jsx("span",{children:kne(e.source)}),a.jsx("span",{children:jne(e.observedAt)??"observed"})]}),a.jsx("div",{className:"s-observed-topology-agent-list",children:h.map(g=>{const v=Sne(g,s.relationships,r),y=Cne(g,s.tasks);return a.jsxs("div",{className:"s-observed-topology-agent",children:[a.jsxs("div",{className:"s-observed-topology-agent-main",children:[a.jsx("span",{className:`s-observed-topology-agent-role s-observed-topology-agent-role--${g.role??"observed"}`,children:g.role??"observed"}),a.jsx("span",{className:"s-observed-topology-agent-name",children:KO(g)}),a.jsx("span",{className:"s-observed-topology-agent-status",children:Nne(g)})]}),(v.length>0||y?.title)&&a.jsxs("div",{className:"s-observed-topology-agent-detail",children:[v.length>0&&a.jsxs("span",{children:["spawned by ",v.join(", ")]}),y?.title&&a.jsx("span",{children:y.title})]})]},g.id)})}),f.length>0&&a.jsx("div",{className:"s-observed-topology-task-list",children:f.map(g=>a.jsxs("div",{className:"s-observed-topology-task",children:[a.jsx("span",{children:g.state??"task"}),a.jsx("strong",{children:g.title??g.id.replace(/^.*:/,"")})]},g.id))})]})}async function Ane(e){await ye("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,...e.basePath?{basePath:e.basePath}:{},...e.agentId?{agentId:e.agentId}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}const XO={think:"var(--dim)",tool:"var(--accent)",ask:"var(--amber)",message:"var(--muted)",note:"var(--green)",system:"var(--dim)",boot:"var(--dim)"},Mne={read:"◎",edit:"✎",bash:"$",grep:"⌕",write:"✎",think:"∿"},Rne=20,JO=new Intl.NumberFormat("en-US"),Ine=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function _ne(e){const t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,"0")}:${String(n).padStart(2,"0")}`}function qE(e,t){return e>=Math.max(0,t-Rne)}function uu(e){return typeof e!="number"||!Number.isFinite(e)?null:JO.format(e)}function ri(e){return typeof e!="number"||!Number.isFinite(e)?"—":Math.abs(e)<1e3?JO.format(e):Ine.format(e).toLowerCase()}function One(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const t=Math.round(e),n=Math.floor(t/3600),s=Math.floor(t%3600/60),r=t%60;return n>0?`${n}h ${s}m`:s>=10||r===0?`${s}m`:`${s}m ${r}s`}function WE(e){return!!e&&Object.keys(e).length>0}function Ty(e){return e.filter(t=>!!t)}function $ne(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function Pne(e){Ane(e).catch(t=>{console.warn("Failed to reveal local path",t)})}function Ao({text:e,label:t="Copy",className:n}){const[s,r]=p.useState(!1),o=p.useRef(null);p.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const c=p.useCallback(u=>{u.preventDefault(),u.stopPropagation();const h=e,f=()=>{r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>r(!1),1100)};navigator.clipboard?.writeText?navigator.clipboard.writeText(h).then(f).catch(()=>{GE(h),f()}):(GE(h),f())},[e]);return a.jsx("button",{type:"button",className:`s-observe-copy-btn${s?" s-observe-copy-btn--copied":""}${n?` ${n}`:""}`,onClick:c,"aria-label":t,title:s?"Copied":t,children:s?a.jsx("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:a.jsx("path",{d:"M2 5.5l2.4 2.4L9 3.4"})}):a.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round","aria-hidden":"true",children:[a.jsx("rect",{x:"3.4",y:"3.4",width:"6.1",height:"6.1",rx:"1.2"}),a.jsx("path",{d:"M7.6 3.4V2.2a.8.8 0 0 0-.8-.8H2.2a.8.8 0 0 0-.8.8v4.6a.8.8 0 0 0 .8.8h1.2"})]})})}function GE(e){try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",t.style.pointerEvents="none",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}catch(t){console.warn("Clipboard copy failed",t)}}function Dne(e){const t=[],n=[e.tool,e.arg].filter(Boolean).join(" ");return n&&t.push(n),e.result&&t.push(Object.entries(e.result).map(([s,r])=>`${s}: ${r}`).join(" · ")),e.diff&&(t.push(`+${e.diff.add}${e.diff.del>0?` -${e.diff.del}`:""}`),e.diff.preview&&t.push(e.diff.preview)),e.stream&&e.stream.length>0&&t.push(e.stream.join(`
|
|
160
|
+
`)),t.join(`
|
|
161
|
+
`)}function Lne({event:e}){return a.jsxs("div",{className:"s-observe-block",children:[a.jsx("div",{className:"s-observe-think-label",children:"thinking"}),a.jsxs("div",{className:"s-observe-think-text",children:[a.jsx("span",{className:"s-observe-quoted",children:e.text}),e.live&&a.jsx("span",{className:"s-observe-cursor"})]}),a.jsx(Ao,{text:e.text??"",label:"Copy thought"})]})}function zne({event:e}){const t=Mne[e.tool??""]??"▸",n=!!(e.result||e.diff||e.stream);return a.jsxs("div",{className:"s-observe-tool s-observe-block",children:[a.jsxs("div",{className:`s-observe-tool-header${n?" s-observe-tool-header--has-body":""}`,children:[a.jsx("span",{className:"s-observe-tool-glyph",children:t}),a.jsxs("span",{className:"s-observe-tool-cmd",children:[a.jsx("span",{className:"s-observe-tool-cmd-name",children:e.tool})," ",e.arg]})]}),e.result&&a.jsx("div",{className:"s-observe-tool-result",children:Object.entries(e.result).map(([s,r])=>`${s}: ${r}`).join(" · ")}),e.diff&&a.jsxs("div",{className:"s-observe-tool-diff",children:[a.jsxs("div",{className:"s-observe-tool-diff-stats",children:[a.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),e.diff.del>0&&a.jsxs(a.Fragment,{children:[" ",a.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),a.jsx("pre",{className:"s-observe-tool-diff-preview",children:e.diff.preview})]}),e.stream&&a.jsx("pre",{className:"s-observe-tool-stream",children:e.stream.join(`
|
|
162
|
+
`)}),a.jsx(Ao,{text:Dne(e),label:"Copy tool call"})]})}function Bne({event:e}){const t=e.to==="human"?"you":e.to??"?",n=e.answer?`${e.text}
|
|
163
|
+
|
|
164
|
+
↳ ${e.to??"you"}: ${e.answer}`:e.text??"";return a.jsxs("div",{className:"s-observe-ask s-observe-block",children:[a.jsxs("div",{className:"s-observe-ask-label",children:["↗ ask → ",t]}),a.jsx("div",{className:"s-observe-ask-text",children:a.jsx("span",{className:"s-observe-quoted",children:e.text})}),e.answer&&a.jsxs("div",{className:"s-observe-ask-answer",children:[a.jsxs("span",{className:"s-observe-ask-answer-meta",children:["↳ @",e.to??"you"," · +",(e.answerT??e.t)-e.t,"s"]}),a.jsx("div",{className:"s-observe-ask-answer-text",children:e.answer})]}),a.jsx(Ao,{text:n,label:"Copy ask"})]})}function Une({event:e}){const t=e.to==="human"?"you":e.to??"?";return a.jsxs("div",{className:"s-observe-block",children:[a.jsxs("div",{className:"s-observe-message-label",children:["→ message → ",t]}),a.jsx("div",{className:"s-observe-message-text",children:a.jsx(K0,{text:e.text})}),a.jsx(Ao,{text:e.text??"",label:"Copy message"})]})}function Vne({event:e}){return a.jsxs("div",{className:"s-observe-note s-observe-block s-observe-block--inline",children:[a.jsx("span",{className:"s-observe-note-icon",children:"✓"}),a.jsx("span",{className:"s-observe-note-text",children:e.text}),a.jsx(Ao,{text:e.text??"",label:"Copy note"})]})}function Fne({event:e}){const t=e.detail?`${e.text}
|
|
165
|
+
${e.detail}`:e.text??"";return a.jsxs("div",{className:"s-observe-system s-observe-block",children:[a.jsx("span",{className:"s-observe-system-arrow",children:"▸ "}),e.text,e.detail&&a.jsx("div",{className:"s-observe-system-detail",children:e.detail}),a.jsx(Ao,{text:t,label:"Copy system event"})]})}function Hne({isFollowing:e,isLive:t,onToggle:n}){return a.jsxs("button",{className:`s-observe-follow-btn${e?" s-observe-follow-btn--on":""}`,onClick:n,title:e?"Pause auto-scroll":"Jump to latest and follow",children:[e?a.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor",children:[a.jsx("rect",{x:"1.5",y:"1",width:"3",height:"8",rx:"1"}),a.jsx("rect",{x:"5.5",y:"1",width:"3",height:"8",rx:"1"})]}):a.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor",children:a.jsx("path",{d:"M2 1.5l7 3.5-7 3.5V1.5z"})}),a.jsx("span",{children:e?t?"Live":"Latest":"Follow"})]})}function qne({event:e,prevT:t}){const n=e.t-t,s=XO[e.kind]??"var(--dim)";return a.jsxs("div",{className:"s-observe-row",children:[n>15&&a.jsxs("div",{className:"s-observe-row-gap",children:["+",n,"s"]}),a.jsx("div",{className:"s-observe-row-time",children:_ne(e.t)}),a.jsx("span",{className:"s-observe-row-bead",style:{background:s}}),e.kind==="think"&&a.jsx(Lne,{event:e}),e.kind==="tool"&&a.jsx(zne,{event:e}),e.kind==="ask"&&a.jsx(Bne,{event:e}),e.kind==="message"&&a.jsx(Une,{event:e}),e.kind==="note"&&a.jsx(Vne,{event:e}),(e.kind==="system"||e.kind==="boot")&&a.jsx(Fne,{event:e})]})}function Wne({events:e,followEnd:t}){const n=p.useRef(null),s=p.useRef(t);return p.useLayoutEffect(()=>{if(!t){s.current=!1;return}const r=!s.current;s.current=!0,n.current?.scrollIntoView({behavior:r?"instant":"smooth"})},[e.length,t]),a.jsxs("div",{className:"s-observe-stream",children:[a.jsx("div",{className:"s-observe-spine"}),e.map((r,o)=>a.jsx(qne,{event:r,prevT:o>0?e[o-1].t:0},r.id)),a.jsx("div",{ref:n})]})}function Gne({data:e,cursor:t}){const r=e.length;if(r<2)return null;const o=276/(r-1),c=e.map((h,f)=>`${f===0?"M":"L"} ${(f*o).toFixed(1)} ${((1-h)*44).toFixed(1)}`).join(" "),u=t*276;return a.jsxs("svg",{viewBox:"0 0 276 44",style:{width:"100%",height:44,display:"block"},children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:"observeCtxFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[a.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:.25}),a.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:0})]})}),a.jsx("path",{d:`${c} L 276 44 L 0 44 Z`,fill:"url(#observeCtxFill)"}),a.jsx("path",{d:c,fill:"none",stroke:"var(--accent)",strokeWidth:1.2}),a.jsx("line",{x1:u,y1:0,x2:u,y2:44,stroke:"var(--accent)",strokeWidth:1,opacity:.6,strokeDasharray:"2 3"})]})}function Zne({state:e}){const t=e==="created"?"var(--green)":e==="modified"?"var(--accent)":"var(--dim)",n=e==="created"?"+":e==="modified"?"~":"◎";return a.jsx("span",{className:"s-observe-file-glyph",style:{background:"color-mix(in srgb, var(--bg) 70%, black)",border:`1px solid color-mix(in srgb, ${t} 40%, var(--border))`,color:t},children:n})}function kr({label:e,value:t,detail:n}){return a.jsxs("div",{className:"s-observe-stat",children:[a.jsx("div",{className:"s-observe-stat-label",children:e}),a.jsx("div",{className:"s-observe-stat-value",children:t}),n&&a.jsx("div",{className:"s-observe-stat-detail",children:n})]})}function J0({path:e,basePath:t,agentId:n,sessionId:s,className:r,children:o}){const{openFilePreview:c}=Je(),u=e.startsWith("/")||e.startsWith("~/")?e:t?`${t.replace(/\/$/,"")}/${e}`:e;return a.jsxs("span",{className:"s-observe-path-link-group",children:[a.jsx("button",{type:"button",className:r,title:`Preview ${e} in Scout`,onClick:()=>c(u),children:o}),a.jsx("button",{type:"button",className:"s-observe-path-link-external",title:`Reveal ${e} in OS`,"aria-label":"Reveal in OS",onClick:()=>Pne({path:e,basePath:t,agentId:n,sessionId:s}),children:a.jsx(oc,{size:11,strokeWidth:1.6})})]})}function Kne({path:e,basePath:t,agentId:n,sessionId:s}){return a.jsxs("div",{className:"s-observe-source",children:[a.jsx("span",{className:"s-observe-source-label",children:"Source"}),a.jsx(J0,{path:e,basePath:t,agentId:n,sessionId:s,className:"s-observe-source-link",children:$ne(e)})]})}function Ay({rows:e,agentId:t,sessionId:n}){return e.length===0?null:a.jsx("div",{className:"s-observe-detail-list",children:e.map(s=>{const r=`s-observe-detail-value s-observe-detail-value--${s.tone??"default"}${s.wrap?" s-observe-detail-value--wrap":""}`;return a.jsxs("div",{className:"s-observe-detail-row",children:[a.jsx("div",{className:"s-observe-detail-label",children:s.label}),a.jsxs("div",{className:"s-observe-detail-value-wrap",children:[s.actionPath?a.jsx(J0,{path:s.actionPath,basePath:s.actionBasePath,agentId:t,sessionId:n,className:`${r} s-observe-detail-link`,children:s.value}):a.jsx("div",{className:r,title:s.title,children:s.value}),a.jsx(Ao,{text:s.actionPath??s.value,label:`Copy ${s.label.toLowerCase()}`,className:"s-observe-copy-btn--inline"})]})]},s.label)})})}function Yne({events:e,duration:t,cursor:n,onCursor:s}){const r=p.useRef(null),o=p.useCallback(u=>{const h=r.current.getBoundingClientRect(),f=u.clientX-h.left;s(Math.max(0,Math.min(t,f/h.width*t)))},[t,s]),c=p.useCallback(u=>{if(t<=0)return;const h=t*.01,f=t*.05;let g=n;switch(u.key){case"ArrowLeft":g=n-(u.shiftKey?f:h);break;case"ArrowRight":g=n+(u.shiftKey?f:h);break;case"PageDown":g=n-f;break;case"PageUp":g=n+f;break;case"Home":g=0;break;case"End":g=t;break;default:return}u.preventDefault(),s(Math.max(0,Math.min(t,g)))},[n,t,s]);return a.jsx("div",{className:"s-observe-track-wrap",children:a.jsxs("div",{ref:r,className:"s-observe-track",onClick:o,onKeyDown:c,role:"slider",tabIndex:t>0?0:-1,"aria-label":"Session timeline","aria-valuemin":0,"aria-valuemax":t,"aria-valuenow":Math.max(0,Math.min(t,n)),children:[e.map(u=>{const h=u.kind==="tool"?6:u.kind==="think"?4:5;return a.jsx("span",{className:"s-observe-track-tick",style:{left:`${u.t/t*100}%`,top:h===6?-2:-1,height:h,background:XO[u.kind]??"var(--dim)"}},u.id)}),a.jsx("div",{className:"s-observe-track-played",style:{width:`${n/t*100}%`}}),a.jsx("span",{className:"s-observe-track-cursor",style:{left:`${n/t*100}%`}})]})})}function ZE(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function Xne(e,t){const n=t-e;return n<6e4?`${Math.floor(n/1e3)}s`:n<36e5?`${Math.floor(n/6e4)}m`:`${Math.floor(n/36e5)}h ${Math.floor(n%36e5/6e4)}m`}function Jne({catalog:e,sessionId:t,agentId:n}){const{navigate:s,route:r}=Je(),[o,c]=p.useState(!1),u=e.sessions.find(x=>x.id===e.activeSessionId),h=e.sessions.filter(x=>x.id!==e.activeSessionId&&x.endedAt).sort((x,w)=>(w.endedAt??0)-(x.endedAt??0)).slice(0,5),f=e.activeSessionId??t,g=f?f.slice(0,8):null,v=p.useCallback(()=>{e.resumeCommand&&(Z0({command:e.resumeCommand,cwd:e.resumeCwd,agentId:n}).then(()=>{Ft(s,{view:"terminal",agentId:n},{returnTo:r})}),c(!0))},[e.resumeCommand,e.resumeCwd,s,r,n]),y=p.useCallback(()=>{s({view:"messages",conversationId:`dm.operator.${n}`})},[s,n]);return a.jsxs("div",{className:"s-observe-session-header",children:[a.jsx("div",{className:"s-observe-session-active",children:a.jsxs("div",{className:"s-observe-session-row",children:[g&&a.jsx("span",{className:"s-observe-session-id",title:f??void 0,children:g}),u&&a.jsxs("span",{className:"s-observe-session-time",children:["started ",ZE(u.startedAt)]}),a.jsx("button",{className:"s-observe-pair-btn",onClick:y,title:"Send messages into the live session without taking the terminal",children:"Pair"}),e.resumeCommand&&a.jsx("button",{className:"s-observe-takeover-btn",onClick:v,title:e.resumeCommand,children:o?"Sent":"Takeover"}),a.jsx(wp,{agentId:n,className:"s-observe-vantage-btn",statusClassName:"s-observe-vantage-status"})]})}),h.length>0&&a.jsxs("div",{className:"s-observe-session-history",children:[a.jsxs("div",{className:"s-observe-session-history-label",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," total"]}),h.map(x=>a.jsxs("div",{className:"s-observe-session-past",children:[a.jsx("span",{className:"s-observe-session-id",children:x.id.slice(0,8)}),a.jsxs("span",{className:"s-observe-session-time",children:[ZE(x.startedAt),x.endedAt?` · ${Xne(x.startedAt,x.endedAt)}`:""]})]},x.id))]})]})}const Qne={events:[{id:"observe:empty",t:0,kind:"system",text:"No session trace is available for this agent yet.",detail:"Waiting for a live session or readable history file."}],files:[],contextUsage:[],live:!1};function QO({data:e,agentId:t,sessionId:n,showRail:s=!0}){const r=e??Qne,{events:o,files:c,contextUsage:u}=r,h=r.live===!0,[f,g]=p.useState(null);p.useEffect(()=>{if(!t)return;let J=!1;return ye(`/api/agents/${encodeURIComponent(t)}/session-catalog`).then(ae=>{J||g(ae)}).catch(()=>{}),()=>{J=!0}},[t]);const v=o.length>0?o[o.length-1].t+30:60,[y,x]=p.useState(v),[w,k]=p.useState(!1),[C,T]=p.useState(1),[S,N]=p.useState(!0),E=p.useRef(v);p.useEffect(()=>{x(J=>{const ae=E.current;E.current=v;const je=qE(J,ae);return J>v||je&&S?v:J})},[v,S]),p.useEffect(()=>{if(!w)return;const J=setInterval(()=>{x(ae=>{const je=ae+C;return je>=v?(k(!1),v):je})},100);return()=>clearInterval(J)},[w,v,C]);const A=o.filter(J=>J.t<=y),M=qE(y,v)&&S,$=h&&M,O=p.useCallback(()=>{M?N(!1):(x(v),N(!0))},[M,v]),U=r.metadata,_=U?.session,z=_?.threadPath??null,q=U?.usage,V=o.filter(J=>J.kind==="tool").length,G=o.filter(J=>J.kind==="think").length,P=o.filter(J=>J.kind==="ask").length,H=o.filter(J=>J.kind==="tool"&&J.tool==="read").length,D=o.filter(J=>J.kind==="tool"&&(J.tool==="edit"||J.tool==="write")).length,K=o.length>0?o[o.length-1].t:0,W=u&&u.length>0?Math.round((u[u.length-1]??0)*100):null,L=[{label:"Input",value:q?.inputTokens},{label:"Output",value:q?.outputTokens},{label:"Cache hit",value:q?.cacheReadInputTokens},{label:"Cache write",value:q?.cacheCreationInputTokens},{label:"Total",value:q?.totalTokens},{label:"Reasoning",value:q?.reasoningOutputTokens}].filter(J=>typeof J.value=="number"),F=Ty([typeof q?.assistantMessages=="number"?{label:"Assistant msgs",value:uu(q.assistantMessages)??"0",tone:"accent"}:null,typeof q?.webSearchRequests=="number"?{label:"Web search",value:uu(q.webSearchRequests)??"0"}:null,typeof q?.webFetchRequests=="number"?{label:"Web fetch",value:uu(q.webFetchRequests)??"0"}:null,q?.serviceTier?{label:"Service tier",value:q.serviceTier,tone:"good"}:null,q?.speed?{label:"Speed",value:q.speed}:null,q?.planType?{label:"Plan",value:q.planType}:null]),Z=Ty([typeof q?.contextWindowTokens=="number"?{label:"Model window",value:`${uu(q.contextWindowTokens)} tokens`,title:uu(q.contextWindowTokens)??void 0,tone:"accent"}:null,W!==null?{label:"Derived load",value:`${W}%`,tone:W>=80?"warn":"default"}:null]),ee=Ty([_?.model?{label:"Model",value:_.model,tone:"accent"}:null,_?.adapterType?{label:"Adapter",value:_.adapterType}:null,_?.gitBranch?{label:"Branch",value:_.gitBranch}:null,_?.cwd?{label:"Workspace",value:_.cwd,title:_.cwd,wrap:!0,actionPath:_.cwd}:null,_?.entrypoint?{label:"Entrypoint",value:_.entrypoint}:null,_?.cliVersion?{label:"CLI",value:_.cliVersion}:null,_?.permissionMode?{label:"Permissions",value:_.permissionMode}:null,_?.approvalPolicy?{label:"Approval",value:_.approvalPolicy}:null,_?.sandbox?{label:"Sandbox",value:_.sandbox}:null,_?.userType?{label:"User type",value:_.userType}:null,_?.originator?{label:"Originator",value:_.originator}:null,_?.modelProvider?{label:"Provider",value:_.modelProvider}:null,_?.effort?{label:"Effort",value:_.effort}:null,_?.timezone?{label:"Timezone",value:_.timezone}:null,_?.externalSessionId?{label:"External session",value:_.externalSessionId,title:_.externalSessionId,wrap:!0}:null,_?.threadId?{label:"Thread",value:_.threadId,title:_.threadId,wrap:!0}:null,_?.threadPath?{label:"Thread path",value:_.threadPath,title:_.threadPath,wrap:!0,actionPath:_.threadPath,actionBasePath:_.cwd??null}:null,_?.source?{label:"Runtime source",value:_.source}:null]),X=WE(q),de=WE(_);return a.jsxs("div",{className:`s-observe${s?"":" s-observe--content-only"}`,children:[a.jsxs("main",{className:"s-observe-main",children:[z&&a.jsx(Kne,{path:z,basePath:_?.cwd??null,agentId:t??null,sessionId:n??null}),a.jsx("div",{className:"s-observe-live-sticky",children:a.jsx(Hne,{isFollowing:M,isLive:$,onToggle:O})}),a.jsx(Wne,{events:A,followEnd:M})]}),s&&a.jsxs("aside",{className:"s-observe-rail",children:[f&&f.sessions.length>0&&a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Session"}),a.jsx(Jne,{catalog:f,sessionId:n??null,agentId:t})]}),a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Trace stats"}),a.jsxs("div",{className:"s-observe-stats",children:[a.jsx(kr,{label:"Turns",value:ri(_?.turnCount??0)}),a.jsx(kr,{label:"Tools",value:ri(V)}),a.jsx(kr,{label:"Thinks",value:ri(G)}),a.jsx(kr,{label:"Asks",value:ri(P)}),a.jsx(kr,{label:"Reads",value:ri(H)}),a.jsx(kr,{label:"Edits",value:ri(D)}),a.jsx(kr,{label:"Files",value:ri(c.length)}),a.jsx(kr,{label:"Window",value:One(K)})]})]}),a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Agent family"}),a.jsx(YO,{topology:U?.topology??null,title:"Internal agents",size:"rail"})]}),a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Context window"}),a.jsx(Ay,{rows:Z,agentId:t??null,sessionId:n??null}),u&&u.length>=2?a.jsxs(a.Fragment,{children:[a.jsx(Gne,{data:u,cursor:y/v}),a.jsx("div",{className:"s-observe-ctx-detail",children:"Sparkline shows derived session load across the observed trace."})]}):Z.length===0?a.jsx("div",{className:"s-observe-ctx-detail",children:"Unavailable for this session"}):a.jsx("div",{className:"s-observe-ctx-detail",children:"Exact window metadata is available, but no derived load trace was captured."})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"s-observe-rail-label",children:["Files touched · ",c.length]}),a.jsx("div",{className:"s-observe-files",children:c.map(J=>a.jsxs("div",{className:`s-observe-file${J.lastT<=y?" s-observe-file--visible":" s-observe-file--hidden"}`,children:[a.jsx(Zne,{state:J.state}),a.jsx(J0,{path:J.path,basePath:_?.cwd??null,agentId:t??null,sessionId:n??null,className:"s-observe-file-path",children:J.path}),a.jsxs("span",{className:"s-observe-file-touches",children:["×",J.touches]})]},J.path))})]}),a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Usage"}),L.length>0&&a.jsx("div",{className:"s-observe-stats s-observe-stats--usage",children:L.map(J=>a.jsx(kr,{label:J.label,value:ri(J.value)},J.label))}),F.length>0?a.jsx(Ay,{rows:F,agentId:t??null,sessionId:n??null}):X?null:a.jsx("div",{className:"s-observe-ctx-detail",children:"Unavailable for this session"})]}),a.jsxs("div",{children:[a.jsx("div",{className:"s-observe-rail-label",children:"Metadata"}),ee.length>0?a.jsx(Ay,{rows:ee,agentId:t??null,sessionId:n??null}):de?null:a.jsx("div",{className:"s-observe-ctx-detail",children:"Unavailable for this session"})]})]}),a.jsxs("footer",{className:"s-observe-scrubber",children:[a.jsx("button",{className:"s-observe-play-btn",onClick:()=>k(!w),children:w?"❚❚":"▶"}),a.jsx("button",{className:"s-observe-rewind-btn",onClick:()=>{x(0),k(!1)},children:"⏮"}),a.jsx(Yne,{events:o,duration:v,cursor:y,onCursor:x}),a.jsx("div",{className:"s-observe-speed-group",children:[.5,1,2,4].map(J=>a.jsxs("button",{className:`s-observe-speed-btn${C===J?" s-observe-speed-btn--active":""}`,onClick:()=>T(J),children:[J,"×"]},J))})]})]})}function ese(e,t){if(t.filter(r=>r.name===e.name).length<=1)return{name:e.name,qualifier:null};const s=e.project??e.branch??e.id.replace(/^.*\./,"");return{name:e.name,qualifier:s}}function Rm(e){if(!e)return null;const t=e.replace(/_/g," ");return t.toLowerCase()==="relay agent"?"agent":t}function tse(e){const t=[...e].filter(r=>r.kind==="direct"&&!!r.agentId).sort((r,o)=>(o.lastMessageAt??0)-(r.lastMessageAt??0)),n=new Map,s=new Map;for(const r of t)n.has(r.agentId)||(n.set(r.agentId,r.id),s.set(r.agentId,r));return{conversationByAgentId:n,sessionByAgentId:s}}const ab={working:0,available:1,offline:2};function nse(e){if(!e)return null;const t=e.replace(/\/+$/,""),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function sse(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"unknown"}function e$(e){return`s-atop-chip s-atop-chip--harness s-atop-chip--harness-${sse(e)}`}function ase(e){if(!e)return"—";const t=e.replace(/^session[_:-]?/i,"");return t.length>10?t.slice(0,8):t}function rse(e){if(e.length===0)return null;const t={working:0,needs_attention:1,queued:2,failed:3,completed:4},n=[...e].sort((s,r)=>{const o=t[s.status]-t[r.status];return o!==0?o:(r.updatedAt??0)-(s.updatedAt??0)})[0];return(n.summary??n.task??n.statusLabel??"").trim()||null}function ise(e,t,n){const s=et(e.state),r=e.project??nse(e.projectRoot)??"Unscoped",o=e.branch??"—",c=Rm(e.harness)??Rm(e.agentClass)??"agent";return{agent:e,status:s,stateLabel:Ra(e.state),project:r,branch:o,harness:c,session:t,activeTask:rse(n),activeAskCount:n.length,lastActivityAt:Math.max(0,t?.lastMessageAt??0,e.updatedAt??0)||null}}function ose({row:e}){return a.jsxs("span",{className:`s-agents-inventory-status s-agents-inventory-status--${e.status}`,children:[a.jsx("span",{className:"s-agents-inventory-status-dot"}),e.stateLabel.toLowerCase()]})}function lse({row:e}){return a.jsxs("span",{className:"s-agents-inventory-agent-cell",children:[a.jsx("span",{className:"s-agents-inventory-agent-name",children:e.agent.name}),a.jsx("span",{className:"s-agents-inventory-agent-id",children:e.agent.handle?`@${e.agent.handle}`:e.agent.id})]})}function cse({row:e}){const t=e.activeTask??e.session?.preview??e.stateLabel;return a.jsx("span",{className:`s-agents-inventory-task${e.activeTask?"":" s-agents-inventory-task--dim"}`,title:t,children:t})}const use=[{key:"status",label:"Status",cls:"s-agents-inventory-col-status",kind:"text",defaultWidth:108,minWidth:82,sortValue:e=>ab[e.status],render:e=>a.jsx(ose,{row:e})},{key:"agent",label:"Agent",cls:"s-agents-inventory-col-agent",kind:"text",defaultWidth:230,minWidth:150,sortValue:e=>e.agent.name.toLowerCase(),render:e=>a.jsx(lse,{row:e})},{key:"project",label:"Project",cls:"s-atop-col-project",kind:"text",defaultWidth:176,minWidth:96,maxWidth:420,sortValue:e=>e.project.toLowerCase(),render:e=>a.jsx("span",{title:e.agent.projectRoot??void 0,children:e.project})},{key:"task",label:"Current signal",cls:"s-agents-inventory-col-task",kind:"text",defaultWidth:340,minWidth:160,maxWidth:640,sortValue:e=>(e.activeTask??e.session?.preview??"").toLowerCase()||null,render:e=>a.jsx(cse,{row:e})},{key:"harness",label:"Harness",cls:"s-agents-inventory-col-harness",kind:"text",defaultWidth:104,minWidth:76,sortValue:e=>e.harness.toLowerCase(),render:e=>a.jsx("span",{className:e$(e.harness),children:e.harness})},{key:"branch",label:"Branch",cls:"s-agents-inventory-col-branch",kind:"text",defaultWidth:132,minWidth:82,maxWidth:260,sortValue:e=>e.branch==="—"?null:e.branch.toLowerCase(),render:e=>a.jsx("span",{title:e.agent.branch??void 0,children:e.branch})},{key:"active",label:"Active",cls:"s-atop-col-num",kind:"number",defaultWidth:70,minWidth:58,sortValue:e=>e.activeAskCount,render:e=>a.jsx("span",{className:e.activeAskCount>0?"s-atop-col-num s-atop-col-num--green":"s-atop-col-num s-atop-col-num--dim",children:e.activeAskCount||"—"})},{key:"session",label:"Session",cls:"s-agents-inventory-col-session",kind:"text",defaultWidth:96,minWidth:74,sortValue:e=>e.session?.lastMessageAt??null,render:e=>a.jsx("span",{title:e.session?.id??e.agent.harnessSessionId??void 0,children:ase(e.session?.id??e.agent.harnessSessionId)})},{key:"last",label:"Last",cls:"s-atop-col-last",kind:"time",defaultWidth:82,minWidth:64,sortValue:e=>e.lastActivityAt,render:e=>e.lastActivityAt?$e(e.lastActivityAt):"—"}];function dse(e,t){if(!t)return null;const n=e.find(r=>r.id===t);if(n)return n;const s=t.split(".")[0];return s?[...e].filter(r=>r.handle===s||r.id.startsWith(`${s}.`)).sort((r,o)=>(o.updatedAt??0)-(r.updatedAt??0))[0]??null:null}function fse({catalog:e,agentId:t}){const{navigate:n,route:s}=Je(),[r,o]=p.useState(!1),c=e.activeSessionId?.slice(0,8)??null,u=e.sessions.find(g=>g.id===e.activeSessionId),h=()=>{e.resumeCommand&&(Z0({command:e.resumeCommand,cwd:e.resumeCwd,agentId:t}).then(()=>Ft(n,{view:"terminal",agentId:t},{returnTo:s})),o(!0))},f=()=>{n({view:"messages",conversationId:ns(t)})};return a.jsxs("div",{className:"s-profile-facet",children:[a.jsx("div",{className:"s-profile-facet-label",children:"Session"}),a.jsxs("div",{className:"s-profile-facet-value s-profile-facet-value--mono",title:e.activeSessionId??void 0,children:[c,a.jsx("button",{type:"button",className:"s-profile-facet-action s-profile-facet-action--pair",onClick:f,title:"Send messages into the live session without taking the terminal",children:"Pair"}),e.resumeCommand&&a.jsx("button",{type:"button",className:"s-profile-facet-action",onClick:h,title:e.resumeCommand,children:r?"Going…":"Takeover"}),a.jsx(wp,{agentId:t,className:"s-profile-facet-action s-profile-facet-action--vantage",statusClassName:"s-profile-facet-handoff"})]}),u&&a.jsxs("div",{className:"s-profile-facet-detail",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," · started ",$e(u.startedAt)]})]})}function hse(e){if(e===null)return"age unknown";const t=Math.max(0,Math.round(e/6e4));if(t<60)return`${t}m old`;const n=Math.floor(t/60),s=t%60;return s>0?`${n}h ${s}m old`:`${n}h old`}function mse(e){const t=e.policy.maxTurns>0?e.turnCount/e.policy.maxTurns:0;return Math.max(0,Math.min(100,Math.round(t*100)))}function pse(e){return e.policy.maxTurns<=0?`${e.turnCount} turn${e.turnCount===1?"":"s"}`:`${e.turnCount} / ${e.policy.maxTurns} turns`}function gse(e,t){if(e){const n=$e(e);return n==="now"?"last activity now":`last activity ${n} ago`}return t!==null?`session ${hse(t)}`:"last activity unknown"}function vse({context:e,lastActivityAt:t,resetting:n,onReset:s}){const r=mse(e),o=pse(e),c=gse(t,e.sessionAgeMs),u=n||e.currentTurnActive;return a.jsxs("div",{className:"s-profile-facet s-profile-context",children:[a.jsx("div",{className:"s-profile-facet-label",children:"Context"}),a.jsxs("div",{className:"s-profile-context-head",children:[a.jsxs("span",{className:"s-profile-context-metric",children:[r,"% used"]}),a.jsx("button",{type:"button",className:"s-profile-facet-action",disabled:u,onClick:s,title:e.currentTurnActive?"Agent is currently working":"Start a fresh session",children:n?"Starting...":"New"})]}),a.jsx("div",{className:"s-profile-context-gauge","aria-label":`Context load ${r}%`,children:a.jsx("div",{className:"s-profile-context-gauge-fill",style:{width:`${r}%`}})}),a.jsxs("div",{className:"s-profile-facet-detail",title:`${o} · ${c}`,children:[o," · ",c]})]})}function yse({agent:e,fleet:t,navigate:n}){const s=p.useMemo(()=>t?t.activity.filter(o=>o.agentId===e.id||o.actorId===e.id).slice(0,6):[],[t,e.id]),r=p.useMemo(()=>t?t.recentCompleted.filter(o=>o.agentId===e.id).slice(0,4):[],[t,e.id]);return s.length===0&&r.length===0?null:a.jsxs(a.Fragment,{children:[a.jsx(Du,{label:"Activity"}),a.jsx("div",{className:"s-profile-work",children:a.jsxs("div",{className:"s-profile-activity-feed",children:[r.map(o=>a.jsxs("div",{className:"s-profile-activity-row",onClick:()=>{o.conversationId&&n({view:"agents",agentId:e.id,conversationId:o.conversationId})},children:[a.jsx("div",{className:"s-profile-activity-dot s-profile-activity-dot--done"}),a.jsxs("div",{className:"s-profile-activity-body",children:[a.jsx("div",{className:"s-profile-activity-title",children:o.summary??o.task}),a.jsxs("div",{className:"s-profile-activity-meta",children:[o.status==="completed"?"completed":o.status,o.completedAt&&` · ${$e(o.completedAt)}`]})]})]},o.invocationId)),s.map(o=>a.jsxs("div",{className:"s-profile-activity-row",onClick:()=>{o.conversationId&&n({view:"agents",agentId:e.id,conversationId:o.conversationId})},children:[a.jsx("div",{className:"s-profile-activity-dot"}),a.jsxs("div",{className:"s-profile-activity-body",children:[a.jsx("div",{className:"s-profile-activity-title",children:o.title??o.summary??o.kind}),a.jsxs("div",{className:"s-profile-activity-meta",children:[o.kind.replace(/_/g," "),o.actorName&&` · ${o.actorName}`,` · ${$e(o.ts)}`]})]})]},o.id))]})})]})}function Du({label:e,right:t,rightClassName:n}){return a.jsxs("div",{className:"s-profile-section-rule",children:[a.jsx("span",{className:"s-profile-section-rule-label",children:e}),a.jsx("span",{className:"s-profile-section-rule-line"}),t&&a.jsx("span",{className:`s-profile-section-rule-right${n?` ${n}`:""}`,children:t})]})}function xse({messages:e,navigate:t,conversationId:n,agentId:s}){const r=e.slice(-8).reverse();return r.length===0?null:a.jsxs("div",{className:"s-profile-signals",children:[a.jsx(Du,{label:"Recent signal",right:"last 1h"}),a.jsx("div",{className:"s-profile-signal-list",children:r.map(o=>{const u=o.class==="ask"||o.body?.toLowerCase().startsWith("@")?"ASK":"MESSAGE";return a.jsxs("div",{className:"s-profile-signal",onClick:()=>{n&&t({view:"agents",agentId:s,conversationId:n})},children:[a.jsx("div",{className:"s-profile-signal-avatar",style:{background:en(o.actorName??"?")},children:(o.actorName??"?")[0].toUpperCase()}),a.jsxs("div",{className:"s-profile-signal-body",children:[a.jsxs("div",{className:"s-profile-signal-header",children:[a.jsx("span",{className:"s-profile-signal-kind",children:u}),a.jsx("span",{className:"s-profile-signal-sep",children:"·"}),a.jsx("span",{className:"s-profile-signal-routing",children:o.actorName}),a.jsx("span",{className:"s-profile-signal-time",children:$e(o.createdAt)})]}),a.jsx("div",{className:"s-profile-signal-text",children:o.body})]})]},o.id)})})]})}function bse({agent:e,allAgents:t,session:n,conversationId:s,navigate:r,activeTab:o}){const{name:c,qualifier:u}=ese(e,t),[h,f]=p.useState([]),[g,v]=p.useState([]),[y,x]=p.useState(null),[w,k]=p.useState(null),[C,T]=p.useState(!1),[S,N]=p.useState(null),[E,A]=p.useState(null),[R,M]=p.useState(!1),[$,O]=p.useState(null),U=et(e.state),_=gd(),{route:z}=Je(),q=p.useCallback(async()=>{const[re,Fe]=await Promise.allSettled([ye(`/api/work?agentId=${encodeURIComponent(e.id)}&active=false&limit=12`),ye("/api/fleet")]);re.status==="fulfilled"&&f(re.value),Fe.status==="fulfilled"&&x(Fe.value)},[e.id]),V=p.useCallback(async re=>{O(re.id);try{await qh({recordKind:"work_item",recordId:re.id,itemUpdatedAt:re.updatedAt}),await q()}finally{O(null)}},[q]),G=p.useCallback(async()=>{if(!s){v([]);return}try{const re=await ye(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=20`);v(re)}catch{v([])}},[s]),P=p.useCallback(async()=>{T(!0);try{const re=await ye(`/api/agents/${encodeURIComponent(e.id)}/observe`);k(re)}catch{k({agentId:e.id,source:"unavailable",fidelity:"synthetic",historyPath:null,sessionId:null,updatedAt:Date.now(),data:{events:[{id:`${e.id}:observe-error`,t:0,kind:"system",text:"Observer data is temporarily unavailable.",detail:"Retrying will resume once the session source becomes reachable."}],files:[],contextUsage:[],live:!1}})}finally{T(!1)}},[e.id]),H=p.useCallback(async()=>{if(!e.transport){A(null);return}try{const re=await ye(`/api/agents/${encodeURIComponent(e.id)}/session/context`);A(re)}catch{A(null)}},[e.id,e.transport]),D=p.useCallback(async()=>{M(!0);try{const re=await ye(`/api/agents/${encodeURIComponent(e.id)}/session/reset`,{method:"POST"});N(re.catalog),await H(),o==="observe"&&await P()}catch{await H()}finally{M(!1)}},[o,e.id,H,P]);p.useEffect(()=>{q(),G(),H(),ye(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).then(N).catch(()=>{})},[q,G,H,e.id]),p.useEffect(()=>{k(null),T(!1),A(null)},[e.id]),p.useEffect(()=>{o==="observe"&&P()},[o,P]),an(()=>{q(),G(),H(),o==="observe"&&P()}),p.useEffect(()=>{if(o!=="observe"||!w?.data.live)return;const re=setInterval(()=>{P()},2500);return()=>clearInterval(re)},[o,w?.data.live,P]);const K=h.find(re=>re.state==="working"||re.state==="review"),W=h.filter(re=>(re.state==="working"||re.state==="review"||re.state==="waiting")&&re.id!==K?.id),L=h.filter(re=>re.state==="done").slice(0,5),F=Rm(e.role)??Rm(e.agentClass),Z=e.harness,ee=[F,Z].filter(Boolean).filter((re,Fe,Ce)=>Ce.indexOf(re)===Fe),X=p.useMemo(()=>t.filter(re=>re.project===e.project).length,[t,e.project]),de=K?.currentPhase==="review"?85:K?.currentPhase==="working"?50:20,ae=(K?Date.now()-K.lastMeaningfulAt:0)>30*6e4,je=K?ae?`stale · ${$e(K.lastMeaningfulAt)}`:`${de}% · live`:"",Ee=[{key:"profile",label:"Profile"},{key:"observe",label:"Observe"},{key:"message",label:"Message",disabled:!s}],pe=re=>{r({view:"agents",agentId:e.id,...s?{conversationId:s}:{},tab:re})},Te=(re="")=>a.jsx("nav",{className:`s-profile-tabs${re?` ${re}`:""}`,children:Ee.map(Fe=>a.jsx("button",{type:"button",className:`s-profile-tab${o===Fe.key?" s-profile-tab--active":""}`,disabled:Fe.disabled,onClick:()=>pe(Fe.key),children:Fe.label},Fe.key))});return a.jsxs("div",{className:`s-profile-center${o!=="profile"?" s-profile-center--tabbed":""}`,children:[a.jsx("div",{className:"s-profile-return-row",children:a.jsx(Er,{slot:"agents",fallback:{view:"agents"},navigate:r,className:"s-profile-back-position"})}),o==="profile"?a.jsx("section",{className:"s-profile-identity",onContextMenu:re=>{const Fe=window.getSelection()?.toString().trim(),Ce=[];Fe&&(Ce.push({kind:"action",label:"Copy Selection",shortcut:"⌘C",onSelect:()=>navigator.clipboard.writeText(Fe)}),Ce.push({kind:"separator"})),Ce.push({kind:"action",label:"Copy Agent Name",onSelect:()=>navigator.clipboard.writeText(c)}),Ce.push({kind:"action",label:"Copy Agent ID",onSelect:()=>navigator.clipboard.writeText(e.id)}),e.handle&&Ce.push({kind:"action",label:`Copy @${e.handle}`,onSelect:()=>navigator.clipboard.writeText(`@${e.handle}`)}),_(re,Ce)},children:a.jsxs("div",{className:"s-profile-identity-top",children:[a.jsxs("div",{className:"s-profile-identity-avatar-wrap",children:[a.jsx("div",{className:"s-profile-identity-avatar",style:{background:en(e.name)},children:e.name[0].toUpperCase()}),a.jsx("span",{className:`s-profile-identity-pulse s-profile-identity-pulse--${U}`,style:{background:Un(e.state)}})]}),a.jsxs("div",{className:"s-profile-identity-copy",children:[ee.length>0&&a.jsx("div",{className:"s-profile-identity-eyebrow",children:ee.join(" · ")}),a.jsxs("h1",{className:"s-profile-identity-name",children:[c,u&&a.jsx("span",{className:"s-profile-identity-name-qualifier",children:u}),e.handle&&a.jsxs("span",{className:"s-profile-identity-name-handle",children:["@",e.handle]})]}),a.jsx("div",{className:"s-profile-identity-state-row",children:a.jsxs("span",{className:"s-profile-identity-state",children:[a.jsx("span",{className:`s-profile-identity-state-dot${U==="working"?" s-profile-identity-state-dot--pulse":""}`,style:{background:Un(e.state)}}),a.jsx("span",{className:"s-profile-identity-state-label",children:Ra(e.state)}),e.updatedAt&&a.jsxs("span",{className:"s-profile-identity-state-detail",children:["— ",$e(e.updatedAt)]})]})})]}),Te()]})}):a.jsx("div",{className:"s-profile-compact-tabs",children:Te("s-profile-tabs--compact")}),o==="profile"&&a.jsxs("div",{className:"s-profile-tab-content",children:[(e.project||e.branch||e.cwd||S?.activeSessionId||E)&&a.jsxs("div",{className:"s-profile-facets",children:[e.project&&a.jsxs("div",{className:"s-profile-facet",children:[a.jsx("div",{className:"s-profile-facet-label",children:"Workspace"}),a.jsx("div",{className:"s-profile-facet-value",children:e.project}),X>1&&a.jsxs("div",{className:"s-profile-facet-detail",children:[X," teammates"]})]}),(e.branch||e.projectRoot)&&a.jsxs("div",{className:"s-profile-facet",children:[a.jsx("div",{className:"s-profile-facet-label",children:"Repo / Branch"}),a.jsx("div",{className:"s-profile-facet-value",children:e.projectRoot?e.projectRoot.split("/").pop():e.project??"—"}),e.branch&&a.jsxs("div",{className:"s-profile-facet-detail",children:[a.jsx("span",{className:"s-profile-facet-accent",children:"⎇"})," ",e.branch]})]}),e.cwd&&a.jsxs("div",{className:"s-profile-facet",children:[a.jsx("div",{className:"s-profile-facet-label",children:"Working Dir"}),a.jsx("div",{className:"s-profile-facet-value",children:e.cwd.startsWith("/Users/")?"~/"+e.cwd.split("/").slice(3).join("/"):e.cwd}),e.updatedAt&&a.jsxs("div",{className:"s-profile-facet-detail",children:["uptime ",$e(e.updatedAt)]})]}),S?.activeSessionId&&a.jsx(fse,{catalog:S,agentId:e.id}),E&&a.jsx(vse,{context:E,lastActivityAt:e.updatedAt??null,resetting:R,onReset:()=>{D()}})]}),K&&U==="working"&&a.jsxs(a.Fragment,{children:[a.jsx(Du,{label:"Current task",right:je}),a.jsxs("div",{className:"s-profile-task",children:[a.jsx("div",{className:"s-profile-task-title",children:K.title}),K.lastMeaningfulSummary&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"s-profile-task-progress",children:a.jsx("div",{className:"s-profile-task-progress-bar",style:{width:`${de}%`}})}),a.jsxs("div",{className:"s-profile-task-action",children:[a.jsx("span",{className:"s-profile-task-action-chevron",children:"›"}),a.jsx("span",{children:K.lastMeaningfulSummary}),a.jsx("span",{className:"s-profile-task-cursor"})]})]}),a.jsxs("div",{className:"s-profile-task-meta",children:[a.jsx("span",{children:K.currentPhase}),a.jsx("span",{children:$e(K.lastMeaningfulAt)})]}),a.jsxs("div",{className:"s-profile-task-controls","aria-label":"Current task actions",children:[a.jsx("button",{type:"button",className:"s-profile-task-btn s-profile-task-btn--primary",onClick:()=>Ft(r,{view:"work",workId:K.id},{returnTo:z}),children:"Open work"}),a.jsx("button",{type:"button",className:"s-profile-task-btn",onClick:()=>pe("observe"),children:"Observe"}),s&&a.jsx("button",{type:"button",className:"s-profile-task-btn",onClick:()=>pe("message"),children:"Message"})]})]})]}),W.length>0&&a.jsxs(a.Fragment,{children:[a.jsx(Du,{label:"Active work",right:`${W.length} in flight`}),a.jsx("div",{className:"s-profile-work",children:a.jsx(PE,{items:W,navigate:r,emptyTitle:"Nothing in flight",onDismissAttention:re=>{V(re)},dismissingId:$})})]}),L.length>0&&a.jsxs(a.Fragment,{children:[a.jsx(Du,{label:W.length>0?"Recently completed":"Recent work",right:`${L.length}`}),a.jsx("div",{className:"s-profile-work",children:a.jsx(PE,{items:L,navigate:r,emptyTitle:""})})]}),a.jsx(yse,{agent:e,fleet:y,navigate:r}),a.jsx(xse,{messages:g,navigate:r,conversationId:s,agentId:e.id})]}),o==="observe"&&a.jsx("div",{className:"s-profile-tab-conversation",children:C&&!w?a.jsxs("div",{className:"s-profile-activity-empty",children:[a.jsx("div",{className:"s-profile-activity-empty-title",children:"Loading trace"}),a.jsx("div",{className:"s-profile-activity-empty-detail",children:"Resolving the best available live or history-backed session stream for this agent."})]}):a.jsx(QO,{data:w?.data,agentId:e.id,sessionId:w?.sessionId,showRail:!1})}),o==="message"&&s&&a.jsx("div",{className:"s-profile-tab-conversation",children:a.jsx(jp,{conversationId:s,navigate:r,embedded:!0})})]})}function wse({navigate:e,selectedAgentId:t,conversationId:n,tab:s}){const{agents:r}=Je(),[o,c]=p.useState([]),[u,h]=p.useState(null),f=p.useCallback(async()=>{const[w,k]=await Promise.allSettled([ye("/api/conversations"),ye("/api/fleet")]);w.status==="fulfilled"&&c(w.value),k.status==="fulfilled"&&h(k.value)},[]);p.useEffect(()=>{f()},[f]),an(()=>{f()});const g=dse(r,t),v=!!(t&&g&&g.id!==t),{conversationByAgentId:y,sessionByAgentId:x}=tse(o);if(p.useEffect(()=>{if(!t||!g||!v)return;const w=ns(t),k=n===w?g.conversationId:n;e({view:"agents",agentId:g.id,...k?{conversationId:k}:{},...s?{tab:s}:{}})},[n,s,e,g,t,v]),g){const w=v&&t?ns(t):null,k=n===w?g.conversationId:n??y.get(g.id)??g.conversationId??null,C=s??(n?"message":"profile");return a.jsx(bse,{agent:g,allAgents:r,session:x.get(g.id)??null,conversationId:k,navigate:e,activeTab:C})}return a.jsx(jse,{agents:r,fleet:u,sessionByAgentId:x,conversationByAgentId:y,navigate:e})}function jse({agents:e,fleet:t,sessionByAgentId:n,conversationByAgentId:s,navigate:r}){const[o,c]=p.useState(""),[u,h]=p.useState(()=>new Set),[f,g]=p.useState(()=>new Set),[v,y]=p.useState({key:"status",dir:1}),x=p.useMemo(()=>{const M=new Map;for(const $ of t?.activeAsks??[]){const O=M.get($.agentId)??[];O.push($),M.set($.agentId,O)}return M},[t?.activeAsks]),w=p.useMemo(()=>e.map(M=>ise(M,n.get(M.id)??null,x.get(M.id)??[])),[x,e,n]),k=p.useMemo(()=>{const M=new Set(w.map($=>$.project));return{total:w.length,online:w.filter($=>$.status!=="offline").length,working:w.filter($=>$.status==="working").length,available:w.filter($=>$.status==="available").length,offline:w.filter($=>$.status==="offline").length,projects:M.size}},[w]),C=p.useMemo(()=>{const M=new Map;for(const $ of w)M.set($.harness,(M.get($.harness)??0)+1);return[...M.entries()].sort(($,O)=>O[1]-$[1]||$[0].localeCompare(O[0]))},[w]),T=p.useMemo(()=>{const M=new Set(w.map($=>$.status));return["working","available","offline"].filter($=>M.has($))},[w]),S=p.useMemo(()=>{const M=o.trim().toLowerCase();return w.filter($=>u.size>0&&!u.has($.harness)||f.size>0&&!f.has($.status)?!1:M?[$.agent.name,$.agent.handle,$.agent.id,$.project,$.branch,$.harness,$.activeTask,$.session?.preview].filter(Boolean).join(" ").toLowerCase().includes(M):!0)},[u,o,w,f]),N=p.useMemo(()=>v.key==="status"?void 0:(M,$)=>ab[M.status]-ab[$.status],[v.key]),E=M=>{const $=s.get(M.agent.id);r({view:"agents",agentId:M.agent.id,...$?{conversationId:$}:{}})},A=M=>{h($=>{const O=new Set($);return O.has(M)?O.delete(M):O.add(M),O})},R=M=>{g($=>{const O=new Set($);return O.has(M)?O.delete(M):O.add(M),O})};return a.jsx("div",{className:"s-agents-library s-agents-library--inventory",children:a.jsxs("div",{className:"s-agents-inventory",children:[a.jsxs("div",{className:"s-atop-summary",children:[a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--primary",children:[a.jsxs("div",{className:"s-atop-summary-num",children:[a.jsx("strong",{children:k.online}),a.jsxs("span",{className:"s-atop-summary-of",children:["/ ",k.total]})]}),a.jsx("span",{className:"s-atop-summary-lbl",children:"active"})]}),a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:k.working})}),a.jsx("span",{className:"s-atop-summary-lbl",children:"working"})]}),a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:k.available})}),a.jsx("span",{className:"s-atop-summary-lbl",children:"available"})]}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--breakdown",children:[a.jsx("span",{className:"s-atop-summary-lbl",children:"harness"}),a.jsx("div",{className:"s-atop-summary-row",children:C.length===0?a.jsx("span",{className:"s-atop-chip s-atop-chip--mute",children:"none"}):C.slice(0,6).map(([M,$])=>a.jsxs("span",{className:e$(M),children:[M," ",$]},M))})]}),a.jsx("div",{className:"s-atop-summary-spacer"}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--rate",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:k.projects})}),a.jsx("span",{className:"s-atop-summary-lbl",children:"projects"})]})]}),a.jsxs("div",{className:"s-atop-fbar",children:[a.jsxs("div",{className:"s-atop-search",children:[a.jsx("span",{className:"s-atop-search-prompt",children:"▸"}),a.jsx("input",{className:"s-atop-search-input",value:o,onChange:M=>c(M.target.value),placeholder:"filter agents · project · branch · task"}),a.jsx("span",{className:"s-atop-search-kbd",children:"/"})]}),C.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-atop-fbar-label",children:"harness"}),C.map(([M,$])=>{const O=u.has(M);return a.jsxs("button",{type:"button",className:`s-atop-pill s-atop-pill--harness${O?" s-atop-pill--on":""}`,onClick:()=>A(M),children:[M,a.jsx("span",{className:"s-atop-pill-ct",children:$})]},M)})]}),T.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-atop-fbar-label",children:"status"}),T.map(M=>{const $=f.has(M),O=w.filter(U=>U.status===M).length;return a.jsxs("button",{type:"button",className:`s-atop-pill s-agents-inventory-pill--status-${M}${$?" s-atop-pill--on":""}`,onClick:()=>R(M),children:[M,a.jsx("span",{className:"s-atop-pill-ct",children:O})]},M)})]}),a.jsx("div",{className:"s-atop-fbar-spacer"}),(u.size>0||f.size>0||o)&&a.jsx("button",{type:"button",className:"s-atop-pill",onClick:()=>{c(""),h(new Set),g(new Set)},children:"clear"})]}),a.jsx(bp,{rows:S,columns:use,rowId:M=>M.agent.id,storageKey:"openscout.agents.inventory.cols",sort:v,onSortChange:y,secondarySort:N,onRowClick:E,rowClassName:M=>`s-agents-inventory-row s-agents-inventory-row--${M.status}`,empty:{title:e.length===0?"no agents registered":"no agents match",body:e.length===0?"Start or register an agent to populate the inventory.":"Adjust filters to widen the current slice."},density:"compact",className:"s-atop-data-table s-agents-inventory-table",ariaLabel:"Agents inventory"}),a.jsxs("div",{className:"s-atop-keys",children:[a.jsxs("span",{className:"s-atop-keys-count",children:[a.jsx("strong",{children:S.length})," / ",w.length," agents"]}),a.jsx("span",{className:"s-atop-keys-spacer"}),a.jsxs("span",{children:[k.offline," offline"]}),a.jsxs("span",{children:[k.projects," project",k.projects===1?"":"s"]})]})]})})}const KE=new RegExp("(?:^|(?<=[\\s(`'\"<>]))(?:~\\/|\\/(?:Users|home|opt|var|etc|tmp|private)\\/)[^\\s)`'\"<>]+\\.[A-Za-z0-9]{1,8}\\b","g");function kse(e){const t=e.replace(/\r\n?/g,`
|
|
166
|
+
`).split(`
|
|
167
|
+
`),n=[];let s=0;for(;s<t.length;){const r=t[s];if(r.trim()===""){s+=1;continue}if(r.startsWith("```")){const u=[];for(s+=1;s<t.length&&!t[s].startsWith("```");)u.push(t[s]),s+=1;s<t.length&&(s+=1),n.push({kind:"code",body:u.join(`
|
|
168
|
+
`)});continue}const o=r.match(/^(#{1,3})\s+(.*\S)\s*$/);if(o){const u=o[1].length;n.push({kind:"heading",level:u,tokens:Ry(o[2])}),s+=1;continue}if(My(r)){const u=[];for(;s<t.length&&My(t[s]);)u.push(Ry(Nse(t[s]))),s+=1;n.push({kind:"list",items:u});continue}const c=[];for(;s<t.length&&t[s].trim()!==""&&!t[s].startsWith("```")&&!My(t[s])&&!/^#{1,3}\s+\S/.test(t[s]);)c.push(Ry(t[s])),s+=1;n.push({kind:"paragraph",lines:c})}return n}const t$=/^\s*[-*]\s+/;function My(e){return t$.test(e)}function Nse(e){return e.replace(t$,"")}function Ry(e){const t=[];let n=0,s="";const r=()=>{s&&(t.push({kind:"text",body:s}),s="")};for(;n<e.length;){const o=e[n];if(o==="`"){const c=e.indexOf("`",n+1);if(c!==-1&&c>n+1){r(),t.push({kind:"code",body:e.slice(n+1,c)}),n=c+1;continue}}else if(o==="*"&&e[n+1]==="*"){const c=e.indexOf("**",n+2);if(c!==-1&&c>n+2){r(),t.push({kind:"bold",body:e.slice(n+2,c)}),n=c+2;continue}}else if(o==="*"||o==="_"){const c=Ese(e,n+1,o);if(c!==-1){r(),t.push({kind:"italic",body:e.slice(n+1,c)}),n=c+1;continue}}s+=o,n+=1}return r(),Sse(t)}function Sse(e){const t=[];for(const n of e){if(n.kind!=="text"){t.push(n);continue}const s=Cse(n.body);s.length===1&&s[0].kind==="text"?t.push(n):t.push(...s)}return t}function Cse(e){if(!e)return[];const t=[];let n=0;KE.lastIndex=0;let s;for(;(s=KE.exec(e))!==null;){const r=s.index,o=r+s[0].length;r>n&&t.push({kind:"text",body:e.slice(n,r)}),t.push({kind:"file-path",body:s[0]}),n=o}return n===0?[{kind:"text",body:e}]:(n<e.length&&t.push({kind:"text",body:e.slice(n)}),t)}function Ese(e,t,n){if(e[t]===void 0||/\s/.test(e[t]))return-1;for(let s=t;s<e.length;s+=1){const r=e[s];if(r===n){const o=e[s-1];if(o&&!/\s/.test(o)&&e[s+1]!==n)return s}if(r===`
|
|
169
|
+
`)return-1}return-1}function n$({text:e}){const t=kse(e);return t.length===0?null:a.jsx("div",{className:"flex flex-col gap-1.5 text-[11px] leading-relaxed text-[var(--scout-chrome-ink)]",children:t.map((n,s)=>a.jsx(Tse,{block:n},s))})}function Tse({block:e}){switch(e.kind){case"paragraph":return a.jsx("p",{className:"whitespace-pre-wrap break-words",children:e.lines.map((t,n)=>a.jsxs(p.Fragment,{children:[n>0&&`
|
|
170
|
+
`,a.jsx(du,{tokens:t})]},n))});case"list":return a.jsx("ul",{className:"ml-3 flex list-disc flex-col gap-1 marker:text-[var(--scout-chrome-ink-ghost)]",children:e.items.map((t,n)=>a.jsx("li",{className:"break-words pl-0.5",children:a.jsx(du,{tokens:t})},n))});case"code":return a.jsx("pre",{className:"overflow-x-auto rounded border border-[var(--scout-chrome-border-soft)] bg-black/25 px-2 py-1.5 text-[10px] leading-relaxed text-lime-100/90",children:e.body});case"heading":{const t="font-mono text-[var(--scout-chrome-ink-strong)] mt-2 first:mt-0";return e.level===1?a.jsx("h2",{className:`${t} text-[13px] font-bold uppercase tracking-[0.12em]`,children:a.jsx(du,{tokens:e.tokens})}):e.level===2?a.jsx("h3",{className:`${t} text-[11px] font-bold uppercase tracking-[0.14em] text-[var(--scout-chrome-ink)]`,children:a.jsx(du,{tokens:e.tokens})}):a.jsx("h4",{className:`${t} text-[10px] font-bold uppercase tracking-[0.16em] text-[var(--scout-chrome-ink-faint)]`,children:a.jsx(du,{tokens:e.tokens})})}}}function du({tokens:e}){return a.jsx(a.Fragment,{children:e.map((t,n)=>{switch(t.kind){case"text":return a.jsx(p.Fragment,{children:t.body},n);case"code":return a.jsx("code",{className:"rounded bg-black/25 px-1 text-[10px] text-lime-100/90",children:t.body},n);case"bold":return a.jsx("strong",{className:"font-bold text-[var(--scout-chrome-ink-strong)]",children:t.body},n);case"italic":return a.jsx("em",{className:"italic",children:t.body},n);case"file-path":return a.jsx(Ase,{path:t.body},n)}})})}function Ase({path:e}){const{openFilePreview:t}=Je(),n=Mse(e),s=r=>{r.stopPropagation(),ye("/api/file/reveal",{method:"POST",body:JSON.stringify({path:e})}).catch(()=>{})};return a.jsxs("span",{className:"inline-flex items-center gap-1 align-baseline",children:[a.jsx("button",{type:"button",onClick:()=>t(e),title:`Preview ${e} in Scout`,className:"inline-flex items-center gap-1 rounded border border-lime-300/30 bg-lime-300/[0.05] px-1.5 py-[1px] font-mono text-[10px] text-lime-200 transition-colors hover:bg-lime-300/[0.12] hover:text-lime-100",children:a.jsx("span",{className:"truncate",children:n})}),a.jsx("button",{type:"button",onClick:s,title:`Open ${e} in your OS`,"aria-label":"Open in OS",className:"inline-flex items-center justify-center rounded border border-[var(--scout-chrome-border-soft)] p-[2px] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:a.jsx(oc,{size:10})})]})}function Mse(e){const t=e.split("/").filter(Boolean);return t.length<=3?e:`…/${t.slice(-2).join("/")}`}const Rse={"fleet-home":"fleet briefing",tour:"tour briefing"};function Ise({briefingId:e,navigate:t}){const[n,s]=p.useState(null),[r,o]=p.useState(null),c=p.useCallback(async()=>{try{const u=await ye(`/api/briefings/${encodeURIComponent(e)}`);s(u),o(null)}catch(u){o(u instanceof Error?u.message:"Failed to load briefing")}},[e]);return p.useEffect(()=>{c()},[c]),r?a.jsxs("div",{className:"sys-surface-page sys-surface-page-wide",children:[a.jsx("button",{type:"button",className:"briefing-detail-back",onClick:()=>t({view:"briefings"}),children:"← back to briefings"}),a.jsx(Vs,{title:"Couldn't load briefing",body:r})]}):n?a.jsxs("div",{className:"sys-surface-page sys-surface-page-wide briefing-detail",children:[a.jsx("button",{type:"button",className:"briefing-detail-back",onClick:()=>t({view:"briefings"}),children:"← back to briefings"}),a.jsxs("header",{className:"briefing-detail-header",children:[a.jsx("h2",{children:n.title}),a.jsxs("div",{className:"briefing-detail-header-meta",children:[a.jsx("span",{className:`briefing-kind briefing-kind-${n.kind}`,children:Rse[n.kind]}),a.jsx("span",{children:Ta(n.preparedAt)}),a.jsxs("span",{children:["· ",$e(n.preparedAt)]})]}),a.jsx("p",{className:"briefing-detail-summary",children:n.summary}),n.recommendation?a.jsx("div",{className:"briefing-detail-recommendation",children:n.recommendation}):null]}),n.markdown?a.jsx(_se,{markdown:n.markdown}):null,n.brief?.presented?a.jsx($se,{presented:n.brief.presented}):null,a.jsx(Ose,{call:n.call}),a.jsx(Pse,{brief:n.brief,navigate:t}),a.jsx(Dse,{observations:n.observations,navigate:t}),a.jsx(zse,{snapshot:n.snapshot,call:n.call})]}):a.jsx("div",{className:"sys-surface-page sys-surface-page-wide",children:a.jsx("div",{className:"briefings-placeholder",children:"Loading briefing..."})})}function _se({markdown:e}){return a.jsxs("section",{className:"briefing-layer briefing-layer-markdown",children:[a.jsx(No,{eyebrow:"Layer 0",title:"Brief (markdown)"}),a.jsx("div",{className:"briefing-markdown",children:a.jsx(n$,{text:e})})]})}function Ose({call:e}){return!e||!e.telemetry&&!e.presenter?null:a.jsxs("section",{className:"briefing-layer briefing-layer-telemetry",children:[a.jsx(No,{eyebrow:"Telemetry",title:"Calls & usage"}),a.jsxs("dl",{className:"briefing-telemetry",children:[a.jsx(YE,{label:"Analyst",model:e.model,responseId:e.responseId,telemetry:e.telemetry??null}),e.presenter?a.jsx(YE,{label:"Presenter",model:e.presenter.model,responseId:e.presenter.responseId,telemetry:e.presenter,note:e.presenter.skipped==="rate-guard"?"skipped — rate-guard hit":e.presenter.skipped==="error"?`failed — ${e.presenter.errorMessage??"unknown"}`:null}):null]})]})}function YE({label:e,model:t,responseId:n,telemetry:s,note:r}){const o=s?.usage??null;return a.jsxs("div",{className:"briefing-telemetry-row",children:[a.jsxs("div",{className:"briefing-telemetry-row-head",children:[a.jsx("span",{className:"briefing-telemetry-label",children:e}),a.jsx("span",{className:"briefing-telemetry-model",children:t}),r?a.jsx("span",{className:"briefing-telemetry-note",children:r}):null]}),a.jsxs("div",{className:"briefing-telemetry-stats",children:[a.jsx("span",{children:s&&s.elapsedMs>0?`${(s.elapsedMs/1e3).toFixed(2)}s`:"—"}),a.jsxs("span",{children:["in ",o?.inputTokens??"—"]}),a.jsxs("span",{children:["out ",o?.outputTokens??"—"]}),a.jsxs("span",{children:["total ",o?.totalTokens??"—"]}),n?a.jsx("span",{className:"briefing-telemetry-response",children:n}):null]})]})}function $se({presented:e}){return a.jsxs("section",{className:"briefing-layer briefing-layer-presented",children:[a.jsx(No,{eyebrow:"Spoken",title:`Presented as · ${e.voiceSpec.persona}, ~${e.voiceSpec.targetWords} words`}),a.jsx("ol",{className:"briefing-presented-sentences",children:e.sentences.map((t,n)=>a.jsx("li",{className:"briefing-presented-sentence",children:t},n))}),a.jsxs("div",{className:"briefing-presented-meta",children:["model: ",e.model,e.responseId?` · response: ${e.responseId}`:""]})]})}function Pse({brief:e,navigate:t}){return e?a.jsxs("section",{className:"briefing-layer",children:[a.jsx(No,{eyebrow:"Layer 3",title:"Brief"}),e.steps.length>0?a.jsx("ol",{className:"briefing-steps",children:e.steps.map((n,s)=>a.jsxs("li",{className:"briefing-step",children:[a.jsxs("div",{className:"briefing-step-label",children:[s+1,". ",n.label]}),n.narration?a.jsx("p",{className:"briefing-step-narration",children:n.narration}):null]},n.id??s))}):null,e.actions.length>0?a.jsx("div",{className:"briefing-actions",children:e.actions.map((n,s)=>a.jsx("button",{type:"button",className:"s-btn",onClick:()=>{n.route&&t(n.route)},children:n.label},`${n.label}-${s}`))}):null]}):a.jsxs("section",{className:"briefing-layer",children:[a.jsx(No,{eyebrow:"Layer 3",title:"Brief & call"}),a.jsx("p",{className:"briefings-placeholder",children:"No brief body persisted."})]})}function Dse({observations:e,navigate:t}){return a.jsxs("section",{className:"briefing-layer",children:[a.jsx(No,{eyebrow:"Layer 2",title:`Observations (${e.length})`}),e.length===0?a.jsx("p",{className:"briefings-placeholder",children:"No observations on this brief."}):a.jsx("div",{className:"briefing-observations",children:e.map((n,s)=>{const r=n.tone==="warn"?"briefing-observation-warn":n.tone==="err"||n.tone==="error"?"briefing-observation-err":"";return a.jsxs("div",{className:`briefing-observation ${r}`.trim(),children:[a.jsx("div",{className:"briefing-observation-text",children:n.text}),n.references.length>0?a.jsx("div",{className:"briefing-observation-refs",children:n.references.map((o,c)=>a.jsx(Lse,{reference:o,navigate:t},`${o.label}-${c}`))}):null]},s)})})]})}function Lse({reference:e,navigate:t}){const n=!!e.route,s=e.detail?`${e.label} · ${e.detail}`:e.label;return n?a.jsx("button",{type:"button",className:"briefing-ref-chip",onClick:()=>t(e.route),children:s}):a.jsx("span",{className:"briefing-ref-chip briefing-ref-chip-static",children:s})}function zse({snapshot:e,call:t}){const n=p.useMemo(()=>Bse(e),[e]),[s,r]=p.useState(!1);return a.jsxs("section",{className:"briefing-layer",children:[a.jsx(No,{eyebrow:"Layer 1",title:"Read snapshot"}),n.length>0?a.jsx("div",{className:"briefing-snapshot-counts",children:n.map(o=>a.jsxs("span",{className:"briefing-snapshot-count",children:[a.jsx("strong",{children:o.value})," ",o.label]},o.label))}):null,t?a.jsxs("details",{className:"briefing-snapshot-section",children:[a.jsx("summary",{className:"briefing-snapshot-section-head",children:"Call metadata"}),a.jsxs("dl",{className:"briefing-call-grid",children:[a.jsx("dt",{children:"Model"}),a.jsx("dd",{children:t.model}),a.jsx("dt",{children:"Response ID"}),a.jsx("dd",{children:t.responseId??"—"}),a.jsx("dt",{children:"System prompt"}),a.jsx("dd",{children:a.jsx("pre",{className:"briefing-call-prompt",children:t.systemPrompt})}),a.jsx("dt",{children:"Operator request"}),a.jsx("dd",{children:a.jsx("pre",{className:"briefing-call-prompt",children:t.operatorRequest})})]})]}):null,a.jsxs("div",{className:"briefing-snapshot-section",children:[a.jsx("button",{type:"button",className:"briefing-detail-back",onClick:()=>r(o=>!o),children:s?"Hide raw snapshot":"Show raw snapshot JSON"}),s?a.jsx("pre",{className:"briefing-snapshot-raw",children:JSON.stringify(e??{},null,2)}):null]})]})}function No({eyebrow:e,title:t}){return a.jsxs("div",{className:"briefing-layer-head",children:[a.jsx("span",{className:"briefing-layer-eyebrow",children:e}),a.jsx("span",{className:"briefing-layer-title",children:t})]})}function Bse(e){if(!e?.state)return[];const t=e.state,n=[],s=(r,o)=>{Array.isArray(o)&&n.push({label:r,value:o.length})};if(s("agents",t.agents),t.fleet&&typeof t.fleet=="object"){const r=t.fleet;s("active asks",r.activeAsks),s("attention",r.needsAttention),s("recent",r.recentCompleted)}if(t.broker&&typeof t.broker=="object"){const r=t.broker;s("broker msgs",r.recentMessages)}if(s("scout chatter",t.scoutChatter),s("tail events",t.agentLogMessages),t.operatorAttention&&typeof t.operatorAttention=="object"){const r=t.operatorAttention;s("operator items",r.items)}return n}const Use={"fleet-home":"fleet",tour:"tour"};function Vse({navigate:e}){const[t,n]=p.useState(null),[s,r]=p.useState(null),[o,c]=p.useState(!1),u=p.useCallback(async()=>{c(!0);try{const h=await ye("/api/briefings?limit=50");n(h.briefings),r(null)}catch(h){r(h instanceof Error?h.message:"Failed to load briefings")}finally{c(!1)}},[]);return p.useEffect(()=>{u()},[u]),a.jsxs("div",{className:"sys-surface-page sys-surface-page-wide",children:[a.jsxs("div",{className:"sys-page-head",children:[a.jsxs("div",{className:"sys-page-title-group",children:[a.jsx("h2",{className:"sys-page-title",children:"Briefings"}),a.jsx("p",{className:"sys-page-subtitle",children:"Ranger's archived fleet briefs — what it told you, when, and what it saw. Rolling 100."})]}),a.jsx("div",{className:"sys-page-actions",children:a.jsx("button",{type:"button",className:"s-btn",disabled:o,onClick:()=>{u()},children:o?"Refreshing...":"Refresh"})})]}),s?a.jsx(Vs,{title:"Couldn't load briefings",body:s}):t===null?a.jsx("div",{className:"briefings-placeholder",children:"Loading briefings..."}):t.length===0?a.jsx(Vs,{title:"No briefings yet",body:"Ranger writes here when it generates a fleet brief — either on Home or via tour. Briefs land in this archive automatically."}):a.jsx("ul",{className:"briefings-list",children:t.map(h=>a.jsx("li",{children:a.jsxs("button",{type:"button",className:"briefing-row",onClick:()=>e({view:"briefings",briefingId:h.id}),children:[a.jsxs("div",{className:"briefing-row-head",children:[a.jsx("span",{className:`briefing-kind briefing-kind-${h.kind}`,children:Use[h.kind]}),a.jsx("span",{className:"briefing-row-title",children:h.title}),a.jsx("span",{className:"briefing-row-time",children:$e(h.preparedAt)})]}),a.jsx("div",{className:"briefing-row-summary",children:h.summary}),a.jsxs("div",{className:"briefing-row-meta",children:[a.jsxs("span",{children:[h.observationCount," observations"]}),h.recommendation?a.jsxs("span",{children:["· ",h.recommendation]}):null]})]})},h.id))})]})}const XE={attempts:"Dispatch",dialogue:"Dialogue",failed_queries:"Failed queries",failed_deliveries:"Failed deliveries"};function rb(e){return e?e.length<=18?e:`${e.slice(0,10)}...${e.slice(-5)}`:"none"}function Fse(e){return`${Math.round(e*100)}%`}function s$(e){switch(e){case"success":return"sent";case"failed_query":return"query";case"failed_delivery":return"delivery";default:return"attempt"}}function Hse({navigate:e}){const{selectedBrokerAttempt:t,inspectBrokerAttempt:n}=Je(),[s,r]=p.useState(null),[o,c]=p.useState("attempts"),[u,h]=p.useState(!0),[f,g]=p.useState(!1),[v,y]=p.useState(null),x=p.useRef(null),w=p.useRef(0),k=p.useRef(null),C=p.useCallback(async(A="initial")=>{const R=++w.current;!x.current&&A!=="background"?(h(!0),y(null)):g(!0);try{const M=await ye("/api/broker?limit=160");if(R!==w.current)return;x.current=M,r(M),y(null)}catch(M){if(R!==w.current)return;y(M instanceof Error?M.message:String(M))}finally{R===w.current&&(h(!1),g(!1))}},[]),T=p.useCallback(()=>{k.current||(k.current=setTimeout(()=>{k.current=null,C("background")},250))},[C]);p.useEffect(()=>(C("initial"),()=>{k.current&&clearTimeout(k.current)}),[C]),an(A=>{(A.kind==="message.posted"||A.kind==="delivery.planned"||A.kind==="delivery.attempted"||A.kind==="delivery.state.changed"||A.kind==="scout.dispatched")&&T()});const S=p.useMemo(()=>{if(!s)return[];switch(o){case"failed_queries":return s.failedQueries;case"failed_deliveries":return s.failedDeliveries;case"dialogue":return s.dialogue;default:return s.attempts}},[o,s]),N=p.useMemo(()=>!s||!t?null:s.attempts.find(A=>A.id===t.id)??s.failedQueries.find(A=>A.id===t.id)??s.failedDeliveries.find(A=>A.id===t.id)??null,[s,t]);p.useEffect(()=>{N&&N!==t&&n(N)},[n,N,t]);const E=s?[{label:"Dispatch",value:String(s.totals.successfulDispatches),detail:`${s.rates.messagesPerHour}/hour chatter`},{label:"Failed queries",value:String(s.totals.failedQueries),detail:`${s.rates.failedQueriesPerHour}/hour`},{label:"Failed deliveries",value:String(s.totals.failedDeliveries+s.totals.failedDeliveryAttempts),detail:`${s.rates.failedDeliveriesPerHour}/hour`},{label:"Failure rate",value:Fse(s.rates.failureRate),detail:`${s.totals.deliveryAttempts} delivery attempts`}]:[];return a.jsxs("div",{className:"sys-surface-page sys-surface-page-wide",children:[a.jsxs("div",{className:"sys-page-head",children:[a.jsxs("div",{className:"sys-page-title-group",children:[a.jsx("h2",{className:"sys-page-title",children:"Broker"}),a.jsx("p",{className:"sys-page-subtitle",children:"Dispatch success, failed queries, delivery failures, and broker dialogue."})]}),a.jsxs("div",{className:"sys-page-actions",children:[a.jsx("div",{className:"sys-sync-note",children:u?"Loading broker ledger...":s?`Updated ${$e(s.generatedAt)}`:"Waiting for broker data"}),a.jsx("button",{type:"button",className:"s-btn",disabled:u||f,onClick:()=>{C("manual")},children:f?"Refreshing...":"Refresh"})]})]}),s&&a.jsx("div",{className:"sys-stat-grid",children:E.map(A=>a.jsxs("div",{className:"sys-stat-card",children:[a.jsx("span",{className:"sys-stat-label",children:A.label}),a.jsx("strong",{className:"sys-stat-value",children:A.value}),a.jsx("span",{className:"sys-stat-detail",children:A.detail})]},A.label))}),v&&a.jsxs("div",{className:"sys-banner sys-banner-warning",children:[a.jsx("strong",{children:"Refresh failed."}),a.jsx("span",{children:v})]}),u&&!s&&a.jsx(Vs,{title:"Loading broker",body:"Reading the broker database snapshot."}),!u&&!s&&!v&&a.jsx(Vs,{title:"No broker data",body:"No broker records are available yet."}),s&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"sys-tab-row",role:"tablist","aria-label":"Broker diagnostics",children:Object.keys(XE).map(A=>a.jsx("button",{type:"button",role:"tab","aria-selected":o===A,className:`sys-tab${o===A?" sys-tab-active":""}`,onClick:()=>c(A),children:XE[A]},A))}),o==="dialogue"?a.jsx(Kse,{items:S,navigate:e}):a.jsx(qse,{attempts:S,navigate:e,selectedAttemptId:t?.id??null,onInspect:n})]})]})}function qse({attempts:e,navigate:t,selectedAttemptId:n,onInspect:s}){const{route:r}=Je();return e.length===0?a.jsx(Vs,{title:"No records",body:"This broker slice is empty for the selected window."}):a.jsx("div",{className:"sys-audit-list",children:e.map(o=>{const c=mte(o.kind,o.status),u=()=>{s(o),window.dispatchEvent(new CustomEvent("scout:set-inspector-width",{detail:{width:420}}))};return a.jsxs("article",{className:`sys-broker-row${n===o.id?" sys-broker-row-selected":""}`,tabIndex:0,"aria-label":`Inspect ${o.detail}`,onClick:u,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),u())},children:[a.jsxs("div",{className:"sys-broker-row-main",children:[a.jsxs("div",{className:"sys-broker-row-head",children:[a.jsx(Tr,{tone:c,children:s$(o.kind)}),a.jsx("span",{className:"sys-broker-status",children:o.status}),a.jsx("span",{className:"sys-broker-time",children:$e(o.ts)})]}),a.jsx("h3",{className:"sys-broker-title",children:o.detail}),a.jsxs("div",{className:"sys-broker-meta",children:[a.jsxs("span",{children:["from ",o.actorName??"unknown"]}),a.jsxs("span",{children:["to ",o.target??"none"]}),a.jsxs("span",{children:["route ",o.route??"none"]})]})]}),a.jsxs("div",{className:"sys-broker-row-side",children:[a.jsx("code",{children:rb(o.messageId??o.deliveryId??o.invocationId??o.id)}),o.conversationId&&a.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:h=>{h.stopPropagation(),Ft(t,{view:"conversation",conversationId:o.conversationId},{returnTo:r})},children:"Open thread"})]})]},o.id)})})}function Wse(e){return[{label:"Status",value:e.status},{label:"Kind",value:s$(e.kind)},{label:"Time",value:Ta(e.ts)},{label:"Actor",value:e.actorName},{label:"Target",value:e.target},{label:"Route",value:e.route},{label:"Conversation",value:e.conversationId},{label:"Message",value:e.messageId},{label:"Delivery",value:e.deliveryId},{label:"Invocation",value:e.invocationId}].filter(t=>t.value)}function Gse(e){return!e||Object.keys(e).length===0?"{}":JSON.stringify(e,null,2)}function Zse({attempt:e,navigate:t,onClose:n}){const{route:s}=Je(),r=Wse(e);return a.jsxs("aside",{className:"sys-panel sys-broker-inspector","aria-label":"Broker route inspector",children:[a.jsxs("div",{className:"sys-broker-inspector-head",children:[a.jsxs("div",{children:[a.jsx("div",{className:"sys-kicker",children:"Inspector"}),a.jsx("h3",{className:"sys-state-title",children:e.detail})]}),a.jsxs("div",{className:"sys-inline-actions",children:[e.conversationId&&a.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:()=>Ft(t,{view:"conversation",conversationId:e.conversationId},{returnTo:s}),children:"Open thread"}),a.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:n,children:"Close"})]})]}),a.jsx("div",{className:"sys-detail-grid sys-broker-inspector-grid",children:r.map(o=>a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:o.label}),a.jsx("code",{className:"sys-detail-value",children:o.value})]},o.label))}),a.jsxs("div",{className:"sys-broker-metadata",children:[a.jsx("span",{className:"sys-detail-label",children:"Metadata"}),a.jsx("pre",{children:Gse(e.metadata)})]})]})}function Kse({items:e,navigate:t}){const{route:n}=Je();return e.length===0?a.jsx(Vs,{title:"No dialogue",body:"No messages were recorded in the selected window."}):a.jsx("div",{className:"sys-audit-list",children:e.map(s=>a.jsxs("article",{className:"sys-broker-row",children:[a.jsxs("div",{className:"sys-broker-row-main",children:[a.jsxs("div",{className:"sys-broker-row-head",children:[a.jsx(Tr,{tone:"neutral",children:s.class}),a.jsx("span",{className:"sys-broker-status",children:s.actorName??"unknown"}),a.jsx("span",{className:"sys-broker-time",children:Ta(s.ts)})]}),a.jsx("h3",{className:"sys-broker-title",children:s.body}),a.jsx("div",{className:"sys-broker-meta",children:a.jsxs("span",{children:["thread ",rb(s.conversationId)]})})]}),a.jsxs("div",{className:"sys-broker-row-side",children:[a.jsx("code",{children:rb(s.id)}),a.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:()=>Ft(t,{view:"conversation",conversationId:s.conversationId},{returnTo:n}),children:"Open thread"})]})]},s.id))})}function Q0(e){return e.handle??e.id}function Yse(e,t){if(!t)return!0;const n=t.toLowerCase();return e.name.toLowerCase().includes(n)||Q0(e).toLowerCase().includes(n)||e.id.toLowerCase().includes(n)}function a$({agents:e,query:t,excludeIds:n,maxResults:s=50}){const r=p.useMemo(()=>new Set(n??[]),[n]),o=p.useMemo(()=>e.filter(v=>!r.has(v.id)&&Yse(v,t.trim())).slice(0,s),[e,r,t,s]),[c,u]=p.useState(0);p.useEffect(()=>{u(g=>o.length===0?0:Math.min(g,o.length-1))},[o]);const h=p.useCallback(g=>{u(v=>o.length===0?0:(v+g+o.length)%o.length)},[o.length]),f=p.useCallback(()=>u(0),[]);return{filtered:o,highlightedIndex:c,setHighlightedIndex:u,moveHighlight:h,resetHighlight:f}}function r$({agents:e,highlightedIndex:t,onSelect:n,onHover:s,emptyHint:r,pendingId:o,className:c,id:u}){return e.length===0?a.jsx("div",{className:`agent-autocomplete ${c??""}`,id:u,children:a.jsx("div",{className:"agent-autocomplete-empty",children:r??"No matches."})}):a.jsx("div",{className:`agent-autocomplete ${c??""}`,role:"listbox",id:u,children:e.map((h,f)=>{const g=Q0(h),v=f===t;return a.jsxs("button",{type:"button",role:"option","aria-selected":v,className:`agent-autocomplete-item${v?" is-active":""}`,onMouseDown:y=>{y.preventDefault(),n(h)},onMouseEnter:()=>s?.(f),disabled:o===h.id,children:[a.jsx("div",{className:"agent-autocomplete-avatar",style:{background:en(h.name)},children:h.name[0]?.toUpperCase()??"?"}),a.jsxs("div",{className:"agent-autocomplete-info",children:[a.jsx("span",{className:"agent-autocomplete-name",children:h.name}),a.jsxs("span",{className:"agent-autocomplete-handle",children:["@",g]})]})]},h.id)})})}function Xse({agents:e,excludeIds:t,open:n,onClose:s,onSelect:r,placeholder:o="Search agents…",emptyHint:c,pendingId:u,anchor:h="below-right",className:f,triggerRef:g}){const[v,y]=p.useState(""),x=p.useRef(null),w=p.useRef(null),{filtered:k,highlightedIndex:C,setHighlightedIndex:T,moveHighlight:S}=a$({agents:e,query:v,excludeIds:t});if(p.useEffect(()=>{if(!n){y("");return}queueMicrotask(()=>x.current?.focus());const E=R=>{const M=R.target;w.current?.contains(M)||g?.current?.contains(M)||s()},A=R=>{R.key==="Escape"&&s()};return document.addEventListener("mousedown",E),document.addEventListener("keydown",A),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",A)}},[n,s,g]),!n)return null;const N=E=>{if(E.key==="ArrowDown")E.preventDefault(),S(1);else if(E.key==="ArrowUp")E.preventDefault(),S(-1);else if(E.key==="Enter"){const A=k[C];A&&(E.preventDefault(),r(A))}};return a.jsxs("div",{ref:w,className:`agent-picker agent-picker--${h} ${f??""}`,children:[a.jsx("input",{ref:x,className:"agent-picker-search",placeholder:o,value:v,onChange:E=>y(E.target.value),onKeyDown:N,"aria-autocomplete":"list"}),a.jsx(r$,{agents:k,highlightedIndex:C,onSelect:E=>{r(E)},onHover:T,emptyHint:c,pendingId:u})]})}const Jse=/(^|\s)@([a-zA-Z0-9_.-]*)$/,ih=4,Qse=254;function eae(e,t){if(t<=0)return null;const n=e.slice(0,t),s=Jse.exec(n);if(!s)return null;s[1];const r=s[2]??"",o=n.length-r.length-1;return o<0?null:(e.slice(t,t+1),{start:o,end:t,query:r})}const tae=["boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","whiteSpace","wordWrap","wordBreak"];function nae(e,t){const n=document.createElement("div");document.body.appendChild(n);const s=n.style,r=window.getComputedStyle(e);s.position="absolute",s.visibility="hidden",s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.top="0",s.left="-9999px";for(const f of tae)s[f]=r[f];n.textContent=e.value.slice(0,t);const o=document.createElement("span");o.textContent=e.value.slice(t)||".",n.appendChild(o);const c=o.offsetTop,u=o.offsetLeft,h=parseInt(r.lineHeight,10)||o.offsetHeight;return document.body.removeChild(n),{top:c,left:u,height:h}}const sae=p.forwardRef(function({agents:t,excludeIds:n,value:s,onChange:r,onSubmit:o,placeholder:c,rows:u=1,disabled:h,className:f,textareaClassName:g,emptyHint:v,onMention:y},x){const w=p.useRef(null),k=p.useRef(null),[C,T]=p.useState(null),[S,N]=p.useState(null);p.useImperativeHandle(x,()=>({focus:()=>w.current?.focus(),blur:()=>w.current?.blur(),get textarea(){return w.current}}),[]);const E=C?.query??"",{filtered:A,highlightedIndex:R,setHighlightedIndex:M,moveHighlight:$}=a$({agents:t,query:E,excludeIds:n}),O=p.useCallback(()=>{const z=w.current;if(!z)return;const q=eae(z.value,z.selectionStart??0);T(q)},[]);p.useLayoutEffect(()=>{const z=w.current;if(!z||!C){N(null);return}const{top:q,left:V,height:G}=nae(z,C.start),P=z.getBoundingClientRect(),H=z.parentElement?.getBoundingClientRect(),D=H?P.top-H.top:0,K=H?P.left-H.left:0,W=k.current?.offsetHeight||Qse,L=window.visualViewport,F=L?.offsetTop??0,Z=F+(L?.height??window.innerHeight),ee=P.top+q-z.scrollTop,X=ee+G,de=Z-X-ih,J=ee-F-ih,ae=de<W&&J>de;N({top:ae?D+q-z.scrollTop-W-ih:D+q+G-z.scrollTop+ih,left:K+V-z.scrollLeft})},[C,s,A.length]);const U=p.useCallback(z=>{const q=w.current,V=C;if(!q||!V)return;const G=Q0(z),P=s.slice(0,V.start),H=s.slice(V.end),D=`@${G} `,K=`${P}${D}${H}`;r(K),y?.(z),T(null);const W=V.start+D.length;queueMicrotask(()=>{const L=w.current;L&&(L.focus(),L.setSelectionRange(W,W))})},[C,s,r,y]),_=z=>{if(C&&A.length>0){if(z.key==="ArrowDown"){z.preventDefault(),$(1);return}if(z.key==="ArrowUp"){z.preventDefault(),$(-1);return}if(z.key==="Enter"||z.key==="Tab"){const q=A[R];if(q){z.preventDefault(),U(q);return}}if(z.key==="Escape"){z.preventDefault(),T(null);return}}z.key==="Enter"&&!z.shiftKey&&!C&&(z.preventDefault(),o?.())};return a.jsxs("div",{className:`agent-mention-wrap ${f??""}`,children:[a.jsx("textarea",{ref:w,className:g,value:s,rows:u,placeholder:c,disabled:h,onChange:z=>{r(z.target.value),queueMicrotask(O)},onKeyUp:O,onClick:O,onBlur:()=>T(null),onKeyDown:_,"aria-autocomplete":"list"}),C&&a.jsx("div",{ref:k,className:"agent-mention-popover",style:{top:`${S?.top??0}px`,left:`${S?.left??0}px`,visibility:S?void 0:"hidden"},children:a.jsx(r$,{agents:A,highlightedIndex:R,onSelect:U,onHover:M,emptyHint:v??"No matches."})})]})});function JE(e){return[...e].sort((t,n)=>t.createdAt-n.createdAt)}function aae({channel:e,agents:t}){const n=p.useMemo(()=>e.participantIds.filter(C=>C!=="operator"),[e.participantIds]),s=p.useMemo(()=>n.map(C=>{const T=t.find(S=>S.id===C);return T?{id:T.id,name:T.name,handle:T.handle??T.id,state:et(T.state)}:{id:C,name:C,handle:C,state:"offline"}}),[n,t]),r=s.filter(C=>C.state!=="offline").length,[o,c]=p.useState(!1),[u,h]=p.useState(!1),[f,g]=p.useState(null),v=p.useRef(null),y=p.useRef(null),x=p.useRef(null);p.useEffect(()=>{if(!o)return;const C=S=>{const N=S.target;v.current?.contains(N)||y.current?.contains(N)||c(!1)},T=S=>{S.key==="Escape"&&c(!1)};return document.addEventListener("mousedown",C),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",C),document.removeEventListener("keydown",T)}},[o]);const w=async C=>{g(C);try{await ye(`/api/conversations/${encodeURIComponent(e.id)}/members`,{method:"POST",body:JSON.stringify({actorId:C})}),h(!1)}finally{g(null)}},k=async C=>{g(C);try{await ye(`/api/conversations/${encodeURIComponent(e.id)}/members/${encodeURIComponent(C)}`,{method:"DELETE"})}finally{g(null)}};return a.jsxs("div",{className:"ch-members-control",children:[a.jsxs("button",{ref:y,type:"button",className:"ch-members-trigger",onClick:()=>c(C=>!C),"aria-label":`${s.length} members${r?`, ${r} online`:""}`,"aria-expanded":o,title:"View members",children:[a.jsxs("div",{className:"ch-members-stack",children:[s.slice(0,4).map(C=>a.jsx("div",{className:"ch-members-pip",style:{background:en(C.name)},children:C.name[0]?.toUpperCase()??"?"},C.id)),s.length>4&&a.jsxs("span",{className:"ch-members-overflow",children:["+",s.length-4]})]}),a.jsxs("span",{className:"ch-members-count",children:[s.length,r>0&&a.jsx("span",{className:"ch-members-online-dot","aria-hidden":!0})]})]}),o&&a.jsxs("div",{ref:v,className:"ch-members-roster",role:"dialog","aria-label":"Members",children:[a.jsxs("div",{className:"ch-members-roster-header",children:[a.jsxs("span",{className:"ch-members-roster-title",children:[s.length," member",s.length!==1?"s":""]}),r>0&&a.jsxs("span",{className:"ch-members-roster-online",children:[r," online"]})]}),a.jsx("div",{className:"ch-members-roster-list",children:s.length===0?a.jsx("div",{className:"ch-members-roster-empty",children:"No agents in this channel yet."}):s.map(C=>a.jsxs("div",{className:"ch-members-roster-row",children:[a.jsxs("div",{className:"ch-members-roster-avatar-wrap",children:[a.jsx("div",{className:"ch-members-roster-avatar",style:{background:en(C.name)},children:C.name[0]?.toUpperCase()??"?"}),a.jsx("span",{className:"ch-members-roster-dot",style:{background:Un(C.state)}})]}),a.jsxs("div",{className:"ch-members-roster-info",children:[a.jsx("span",{className:"ch-members-roster-name",children:C.name}),a.jsxs("span",{className:"ch-members-roster-handle",children:["@",C.handle]})]}),C.state==="working"&&a.jsx("span",{className:"ch-members-roster-state",children:"working"}),a.jsx("button",{type:"button",className:"ch-members-roster-remove",onClick:()=>{k(C.id)},disabled:f===C.id,"aria-label":`Remove ${C.name}`,title:`Remove ${C.name}`,children:"×"})]},C.id))})]}),a.jsx("button",{ref:x,type:"button",className:"ch-members-add",onClick:()=>h(C=>!C),"aria-label":"Add member","aria-expanded":u,children:"+"}),a.jsx(Xse,{agents:t,excludeIds:n,open:u,onClose:()=>h(!1),onSelect:C=>{w(C.id)},pendingId:f,emptyHint:"All agents already in channel.",triggerRef:x})]})}function rae({channelId:e,channelName:t,agents:n,operatorName:s,onMessageCountChange:r}){const[o,c]=p.useState([]),[u,h]=p.useState(""),[f,g]=p.useState(!1),[v,y]=p.useState(null),x=p.useRef(null),w=p.useRef(0),k=p.useRef(!1),C=p.useCallback(async()=>{try{const S=await ye(`/api/messages?conversationId=${encodeURIComponent(e)}&limit=300`),N=JE(S);c(N),X0(e);const E=N.at(-1);E&&ye(`/api/conversations/${encodeURIComponent(e)}/read-cursor`,{method:"POST",body:JSON.stringify({lastReadMessageId:E.id})}).catch(()=>{}),N.length!==w.current&&(w.current=N.length,r(N.length))}catch{}},[e,r]);p.useEffect(()=>{C()},[C]),an(S=>{S.kind==="message.posted"&&S.payload?.message?.conversationId===e&&C()}),p.useEffect(()=>{if(o.length===0)return;const S=k.current?"smooth":"instant";x.current?.scrollIntoView({behavior:S}),k.current=!0},[o.length]);const T=async()=>{const S=u.trim();if(!S||f)return;g(!0),h(""),y(null);const N={id:`optimistic-${Date.now()}`,conversationId:e,actorName:s,body:S,createdAt:Date.now(),class:"operator"};c(E=>JE([...E,N]));try{await ye("/api/send",{method:"POST",body:JSON.stringify({body:S,conversationId:e})})}catch(E){c(A=>A.filter(R=>R.id!==N.id)),y(E instanceof Error?E.message:"Failed to send")}finally{g(!1)}};return a.jsxs("div",{className:"ch-feed-shell",children:[a.jsxs("div",{className:"ch-feed",children:[a.jsx("div",{className:"ch-feed-spacer"}),o.length===0&&a.jsxs("div",{className:"ch-empty-feed",children:[a.jsx("div",{className:"ch-empty-feed-hash",children:"#"}),a.jsxs("p",{className:"ch-empty-feed-title",children:["Welcome to #",t]}),a.jsx("p",{className:"ch-empty-feed-sub",children:"This is the beginning of the channel. Be the first to post."})]}),o.map((S,N)=>{const E=S.actorName===s||S.class==="operator",A=N===0||!$O(o[N-1]?.createdAt,S.createdAt),R=N===0||o[N-1]?.actorName!==S.actorName||A,M=Ta(S.createdAt),$=!E&&S.actorName?n.find(_=>_.name===S.actorName)??null:null,O=E?s.toLowerCase():$?.handle??null,U=en(E?s:S.actorName??"?");return a.jsxs("div",{className:"ch-msg-group",children:[A&&a.jsxs("div",{className:"s-thread-day-divider",children:[a.jsx("span",{className:"s-thread-day-line"}),a.jsx("span",{className:"s-thread-day-label",children:Jx(S.createdAt)}),a.jsx("span",{className:"s-thread-day-line"})]}),a.jsxs("article",{id:`msg-${S.id}`,className:["ch-msg",R&&"ch-msg--with-meta"].filter(Boolean).join(" "),children:[a.jsx("div",{className:"ch-msg-meta",children:R?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"ch-msg-meta-top",children:[a.jsx("div",{className:"ch-msg-avatar",style:{background:U},children:(E?s[0]:S.actorName?.[0]??"?").toUpperCase()}),a.jsx("span",{className:"ch-msg-author",style:{color:U},children:E?s:S.actorName})]}),a.jsxs("div",{className:"ch-msg-meta-detail",children:[O&&a.jsxs("span",{className:"ch-msg-handle",children:["@",O]}),a.jsx("span",{className:"ch-msg-time",title:M,children:$e(S.createdAt)})]})]}):a.jsx("span",{className:"ch-msg-inline-time",title:M,children:$e(S.createdAt)})}),a.jsxs("div",{className:"ch-msg-body-col",children:[a.jsx("div",{className:"ch-msg-body",children:a.jsx(K0,{text:S.body})}),a.jsx(WO,{message:S})]})]})]},S.id)}),a.jsx("div",{ref:x})]}),v&&a.jsx("div",{className:"ch-compose-error",children:v}),a.jsx("div",{className:"ch-compose-wrap",children:a.jsxs("form",{className:"ch-compose",onSubmit:S=>{S.preventDefault(),T()},children:[a.jsx(sae,{agents:n,value:u,onChange:h,onSubmit:()=>{T()},placeholder:`Message #${t}…`,rows:1,disabled:f,textareaClassName:"ch-compose-input"}),a.jsx("button",{type:"submit",className:"ch-compose-send",disabled:!u.trim()||f,"aria-label":"Send message",children:a.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("line",{x1:"2",y1:"8",x2:"14",y2:"8"}),a.jsx("polyline",{points:"8 2 14 8 8 14"})]})})]})})]})}const iae=[{slug:"releases",description:"Coordinate deploys across agents working different repos."},{slug:"triage",description:"Route incoming issues to the right agent automatically."},{slug:"reviews",description:"All PR feedback and review requests in one thread."}];function oae({count:e}){return a.jsxs("div",{className:"ch-overview",children:[a.jsxs("div",{className:"ch-overview-header",children:[a.jsx("div",{className:"ch-overview-hash",children:"#"}),a.jsxs("div",{className:"ch-overview-heading",children:[a.jsx("h2",{className:"ch-overview-title",children:"Channels"}),a.jsx("p",{className:"ch-overview-tagline",children:"Shared spaces where agents and operators coordinate over a common thread."})]})]}),a.jsxs("div",{className:"ch-overview-body",children:[a.jsxs("div",{className:"ch-overview-block",children:[a.jsx("div",{className:"ch-overview-block-label",children:"How it works"}),a.jsxs("p",{className:"ch-overview-block-text",children:["A channel is a broker-backed conversation anyone on the mesh can join. Send a message to any ",a.jsx("code",{className:"ch-overview-code",children:"channel.*"})," address and the broker creates it automatically. Agents, bridges, and operators all share the same thread."]})]}),a.jsxs("div",{className:"ch-overview-block",children:[a.jsx("div",{className:"ch-overview-block-label",children:e===0?"Start your first channel":`${e} channel${e!==1?"s":""} — pick one from the left`}),a.jsx("div",{className:"ch-overview-examples",children:iae.map(t=>a.jsxs("div",{className:"ch-overview-example",children:[a.jsxs("span",{className:"ch-overview-example-name",children:[a.jsx("span",{className:"ch-overview-example-hash",children:"#"}),t.slug]}),a.jsx("span",{className:"ch-overview-example-desc",children:t.description})]},t.slug))}),e===0&&a.jsxs("div",{className:"ch-overview-hint",children:["From any agent: ",a.jsx("code",{className:"ch-overview-code",children:'send --to channel.releases "deploy ready"'})]})]})]})]})}function i$({channelId:e,navigate:t}){const{agents:n}=Je(),[s,r]=p.useState([]),[o,c]=p.useState("operator"),u=p.useMemo(()=>s.filter(nc),[s]),h=e?u.find(g=>g.id===e)??null:null,f=p.useCallback(async()=>{const g=await ye("/api/conversations").catch(()=>[]);r(g)},[]);return p.useEffect(()=>{f()},[f]),p.useEffect(()=>{ye("/api/user").then(g=>{g?.name&&c(g.name)}).catch(()=>{})},[]),an(g=>{(g.kind==="message.posted"||g.kind==="conversation.upserted")&&f()}),a.jsx("div",{className:"ch-screen",children:h?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"ch-center-header",children:[a.jsxs("div",{className:"ch-center-header-left",children:[a.jsx("span",{className:"ch-center-hash",children:"#"}),a.jsx("span",{className:"ch-center-title",children:Ca(h)}),a.jsx("span",{className:"ch-center-slug",children:PO(h)})]}),a.jsx("div",{className:"ch-center-header-right",children:a.jsx(aae,{channel:h,agents:n})})]}),a.jsx("div",{className:"ch-body",children:a.jsx(rae,{channelId:e,channelName:Ca(h),agents:n,operatorName:o,onMessageCountChange:()=>{}},e)})]}):a.jsx(oae,{count:u.length})})}const QE=["direct","channel","group_direct","thread","system"],lae={direct:"Direct messages",channel:"Channels",group_direct:"Group DMs",thread:"Threads",system:"System"};function eT(e){const t=QE.indexOf(e);return t===-1?QE.length:t}function cae(e){const t=[e.agentName,e.currentBranch,e.workspaceRoot].filter(Boolean);return t.length>0?t.join(" · "):`${e.participantIds.length} participant${e.participantIds.length===1?"":"s"}`}function uae({navigate:e}){const{route:t}=Je(),[n,s]=p.useState([]),[r,o]=p.useState(!0),[c,u]=p.useState(null),[h,f]=p.useState(""),g=p.useCallback(async()=>{try{const x=await ye("/api/conversations");s(x),u(null)}catch(x){u(x instanceof Error?x.message:"Failed to load conversations")}finally{o(!1)}},[]);p.useEffect(()=>{g()},[g]),an(x=>{(x.kind==="message.posted"||x.kind==="conversation.upserted"||x.kind==="agent.endpoint.upserted")&&g()});const v=p.useMemo(()=>{const x=h.trim().toLowerCase();return x?n.filter(w=>[w.title,w.kind,w.agentName??"",w.preview??"",w.workspaceRoot??"",...w.participantIds].some(k=>k.toLowerCase().includes(x))):n},[n,h]),y=p.useMemo(()=>{const x=new Map;for(const w of v){const k=x.get(w.kind)??[];k.push(w),x.set(w.kind,k)}return[...x.entries()].sort((w,k)=>eT(w[0])-eT(k[0])).map(([w,k])=>({key:w,label:lae[w]??w,items:k}))},[v]);return a.jsxs("div",{className:"s-conversations",children:[a.jsxs("div",{className:"s-conversations__hero",children:[a.jsxs("div",{children:[a.jsx("div",{className:"s-conversations__eyebrow",children:"Playground"}),a.jsx("h1",{children:"Conversations"}),a.jsx("p",{children:"Unified, normalized conversation summaries from the broker service — no direct web DB reads in this view."})]}),a.jsx("button",{type:"button",className:"s-conversations__refresh",onClick:()=>{o(!0),g()},children:"Refresh"})]}),a.jsxs("div",{className:"s-conversations__toolbar",children:[a.jsx("input",{type:"text",className:"s-conversations__search",placeholder:"Filter conversations…",value:h,onChange:x=>f(x.target.value)}),a.jsxs("div",{className:"s-conversations__meta",children:[a.jsxs("span",{children:[v.length," shown"]}),a.jsxs("span",{children:[n.length," total"]})]})]}),c?a.jsx("div",{className:"s-conversations__state s-conversations__state--error",children:c}):null,!c&&r?a.jsx("div",{className:"s-conversations__state",children:"Loading conversations…"}):null,!r&&!c&&y.length===0?a.jsx("div",{className:"s-conversations__state",children:"No conversations yet."}):null,a.jsx("div",{className:"s-conversations__sections",children:y.map(x=>a.jsxs("section",{className:"s-conversations__section",children:[a.jsxs("div",{className:"s-conversations__section-header",children:[a.jsx("h2",{children:x.label}),a.jsx("span",{children:x.items.length})]}),a.jsx("div",{className:"s-conversations__list",children:x.items.map(w=>a.jsxs("button",{type:"button",className:"s-conversations__row",onClick:()=>Ft(e,{view:"conversation",conversationId:w.id},{returnTo:t}),children:[a.jsxs("div",{className:"s-conversations__row-main",children:[a.jsxs("div",{className:"s-conversations__row-titleline",children:[a.jsx("strong",{children:w.title}),a.jsx("span",{className:`s-conversations__kind s-conversations__kind--${w.kind.replace(/_/g,"-")}`,children:w.kind})]}),a.jsx("div",{className:"s-conversations__row-sub",children:cae(w)}),a.jsx("div",{className:"s-conversations__row-preview",children:w.preview?.trim()||"No preview yet"})]}),a.jsxs("div",{className:"s-conversations__row-side",children:[a.jsxs("span",{children:[w.messageCount," msg"]}),a.jsx("span",{children:w.lastMessageAt?$e(w.lastMessageAt):"—"})]})]},w.id))})]},x.key))})]})}function vl(...e){return e.find(t=>t&&t.trim().length>0)?.trim()??null}function tT(e,t){return t==="work"&&e.workId?{view:"work",workId:e.workId}:t==="session"&&e.sessionId?{view:"sessions",sessionId:e.sessionId}:t==="chat"&&e.conversationId?{view:"conversation",conversationId:e.conversationId}:t==="tail"?{view:"ops",mode:"tail",...e.sessionId?{tailQuery:e.sessionId}:{}}:e.workId?{view:"work",workId:e.workId}:e.sessionId?{view:"sessions",sessionId:e.sessionId}:e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.flightId||e.invocationId||e.targetAgentId?{view:"ops",mode:"tail"}:{view:"inbox"}}function dae(e){return{flightId:e.flightId??null,invocationId:e.invocationId??null,conversationId:e.conversationId??null,workId:e.workId??null,sessionId:e.sessionId??null,targetAgentId:e.targetAgentId??null}}function fae({route:e,navigate:t}){const[n,s]=p.useState(null),r=p.useMemo(()=>dae(e),[e]);return p.useEffect(()=>{let o=!1;const c=new URLSearchParams;return e.flightId&&c.set("flightId",e.flightId),e.invocationId&&c.set("invocationId",e.invocationId),e.conversationId&&c.set("conversationId",e.conversationId),e.workId&&c.set("workId",e.workId),e.sessionId&&c.set("sessionId",e.sessionId),e.targetAgentId&&c.set("targetAgentId",e.targetAgentId),(async()=>{try{const u=c.toString(),h=u?await ye(`/api/follow?${u}`):r;if(o)return;t(tT({flightId:vl(h.flightId,r.flightId),invocationId:vl(h.invocationId,r.invocationId),conversationId:vl(h.conversationId,r.conversationId),workId:vl(h.workId,r.workId),sessionId:vl(h.sessionId,r.sessionId),targetAgentId:vl(h.targetAgentId,r.targetAgentId)},e.preferredView))}catch(u){if(o)return;s(u instanceof Error?u.message:String(u)),t(tT(r,e.preferredView))}})(),()=>{o=!0}},[r,t,e]),a.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:a.jsx("section",{className:"s-thread-overview",children:a.jsxs("div",{className:"s-thread-overview-copy",children:[a.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[a.jsx("h2",{className:"s-page-title",children:"Follow"}),a.jsx("span",{className:"s-meta s-tabular",children:e.preferredView??"auto"})]}),a.jsx("p",{className:"s-thread-overview-summary",children:n?"Opening the closest available Scout view.":"Resolving Scout context..."})]})})})}function Iy(e){return e.map(t=>({step:t,state:"pending",progress:0}))}function hae(e){switch(e){case"scan":return T4;case"collect":return ML;case"inspect":return LA;case"analyze":return HL;case"synthesize":return Gm;default:return C4}}function mae(e,t={active:!1}){const n=t.speed??1,[s,r]=p.useState(()=>Iy(e)),[o,c]=p.useState(!1),[u,h]=p.useState(!1),f=p.useRef(null),g=p.useRef(null),v=p.useRef(0);return p.useEffect(()=>{if(!t.active){f.current!==null&&cancelAnimationFrame(f.current),f.current=null,g.current=null,v.current=0,r(Iy(e)),c(!1),h(!1);return}c(!0),h(!1),v.current=0,g.current=null,r(Iy(e));const y=x=>{const w=v.current;if(w>=e.length){h(!0),c(!1);return}const C=e[w].duration/n;g.current===null&&(g.current=x,r(N=>{const E=[...N];return E[w]&&E[w].state!=="done"&&(E[w]={...E[w],state:"active",progress:0}),E}));const T=x-(g.current??x),S=Math.min(1,T/C);if(r(N=>{const E=[...N];return E[w]&&E[w].state!=="done"&&(E[w]={...E[w],state:"active",progress:S}),E}),S>=1&&(r(N=>{const E=[...N];return E[w]&&(E[w]={...E[w],state:"done",progress:1}),E}),v.current=w+1,g.current=null,w+1>=e.length)){h(!0),c(!1);return}f.current=requestAnimationFrame(y)};return f.current=requestAnimationFrame(y),()=>{f.current!==null&&cancelAnimationFrame(f.current),f.current=null}},[t.active,e,n]),{runtime:s,playing:o,done:u}}function pae({runtime:e}){return a.jsx("div",{className:"bstudio-seq",children:e.map(t=>a.jsx(gae,{runtime:t},t.step.id))})}function gae({runtime:e}){const{step:t,state:n}=e,s=hae(t.kind);return a.jsxs("div",{className:"bstudio-seq-row","data-state":n,children:[a.jsxs("div",{className:"bstudio-seq-head",children:[a.jsx("span",{className:"bstudio-seq-state","aria-hidden":"true",children:n==="done"?a.jsx(UA,{size:12}):n==="active"?a.jsx(la,{size:12,className:"bstudio-spin"}):a.jsx(s,{size:12})}),a.jsx("span",{className:"bstudio-seq-label",children:t.label}),a.jsx("span",{className:"bstudio-seq-leader","aria-hidden":"true"}),a.jsx("span",{className:`bstudio-seq-result${t.countTone?` bstudio-seq-result--${t.countTone}`:""}`,children:n==="done"?t.result:n==="active"?"scanning…":""})]}),n==="active"&&a.jsx("div",{className:"bstudio-seq-body",children:a.jsx(vae,{sample:t.sample})})]})}function vae({sample:e}){switch(e.type){case"fleet":return a.jsx(yae,{sample:e});case"sessions":return a.jsx(xae,{sample:e});case"broker":return a.jsx(wae,{sample:e});case"tail":return a.jsx(jae,{sample:e});case"plans":return a.jsx(kae,{sample:e});case"anomalies":return a.jsx(Nae,{sample:e});case"synthesize":return a.jsx(Sae,{lines:e.lines});default:return null}}function yae({sample:e}){return a.jsx("div",{className:"bstudio-sample bstudio-sample--fleet",children:a.jsxs("div",{className:"bstudio-sample-chips",children:[e.agents.map((t,n)=>a.jsxs("span",{className:`bstudio-agent-chip bstudio-agent-chip--${t.tone??"active"}`,style:{animationDelay:`${n*60}ms`},children:[a.jsx("span",{className:"bstudio-agent-dot","aria-hidden":"true"}),t.name,a.jsxs("span",{className:"bstudio-agent-project",children:["/",t.project]})]},t.id)),a.jsxs("span",{className:"bstudio-sample-more",children:["+ ",e.more," more"]})]})})}function xae({sample:e}){return a.jsx("div",{className:"bstudio-sample",children:a.jsxs("ul",{className:"bstudio-sample-rows",children:[e.sessions.map((t,n)=>a.jsxs("li",{className:"bstudio-session-card",style:{animationDelay:`${n*100}ms`},children:[a.jsxs("div",{className:"bstudio-session-meta",children:[a.jsx("span",{className:"bstudio-session-id",children:t.id}),a.jsx("span",{className:"bstudio-session-project-chip",children:t.project}),a.jsxs("span",{className:"bstudio-session-ago",children:["· ",t.lastActive]})]}),a.jsx("p",{className:"bstudio-session-summary",children:t.summary})]},t.id)),a.jsxs("li",{className:"bstudio-sample-more bstudio-sample-more--row",children:["+ ",e.more," more sessions"]})]})})}function bae(e){const t=e.split(/[-_/]/).filter(Boolean);return t.length===0?e.slice(0,2).toUpperCase():t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[1][0]).toUpperCase()}function wae({sample:e}){return a.jsx("div",{className:"bstudio-sample",children:a.jsxs("ul",{className:"bstudio-sample-rows",children:[e.messages.map((t,n)=>a.jsxs("li",{className:`bstudio-broker-card${t.tone?` bstudio-broker-card--${t.tone}`:""}`,style:{animationDelay:`${n*110}ms`},children:[a.jsx("div",{className:"bstudio-broker-avatar","aria-hidden":"true",children:bae(t.from)}),a.jsxs("div",{className:"bstudio-broker-main",children:[a.jsxs("div",{className:"bstudio-broker-meta",children:[a.jsx("span",{className:"bstudio-broker-from",children:t.from}),a.jsx("span",{className:"bstudio-broker-arrow",children:"→"}),a.jsx("span",{className:"bstudio-broker-to",children:t.to}),t.tone&&a.jsx("span",{className:`bstudio-broker-tag bstudio-broker-tag--${t.tone}`,children:t.tone==="err"?"error":"warning"}),a.jsxs("span",{className:"bstudio-broker-ago",children:[t.ago," ago"]})]}),a.jsx("p",{className:"bstudio-broker-body",children:t.body})]})]},`${t.from}-${n}`)),a.jsxs("li",{className:"bstudio-sample-more bstudio-sample-more--row",children:["+ ",e.more," more messages in queue"]})]})})}function jae({sample:e}){return a.jsx("div",{className:"bstudio-sample",children:a.jsxs("ul",{className:"bstudio-sample-rows bstudio-tail-rows",children:[e.events.map((t,n)=>a.jsxs("li",{className:"bstudio-tail-row","data-kind":t.kind,style:{animationDelay:`${n*80}ms`},children:[a.jsx("span",{className:"bstudio-tail-ts",children:t.ts}),a.jsx("span",{className:"bstudio-tail-source",children:t.source}),a.jsx("span",{className:"bstudio-tail-kind",children:t.kind}),a.jsx("span",{className:"bstudio-tail-body",children:t.body})]},`${t.ts}-${n}`)),a.jsxs("li",{className:"bstudio-sample-more bstudio-sample-more--row",children:["streaming over ",e.more.toLocaleString()," more events…"]})]})})}function kae({sample:e}){return a.jsx("div",{className:"bstudio-sample",children:a.jsx("ul",{className:"bstudio-sample-rows",children:e.plans.map((t,n)=>a.jsxs("li",{className:"bstudio-plan-row",style:{animationDelay:`${n*120}ms`},children:[a.jsxs("div",{className:"bstudio-plan-meta",children:[a.jsx("span",{className:"bstudio-plan-title",children:t.title}),a.jsxs("span",{className:"bstudio-plan-status",children:["[",t.status,"]"]})]}),a.jsxs("div",{className:"bstudio-plan-sub",children:[a.jsxs("span",{children:["owner: ",t.owner]}),a.jsx("span",{className:"bstudio-sep",children:"·"}),a.jsxs("span",{children:[t.files," associated files"]})]})]},t.title))})})}function Nae({sample:e}){return a.jsx("div",{className:"bstudio-sample",children:a.jsx("ul",{className:"bstudio-sample-rows",children:e.items.map((t,n)=>a.jsxs("li",{className:`bstudio-anom-card bstudio-anom-card--${t.kind}`,style:{animationDelay:`${n*120}ms`},children:[a.jsxs("div",{className:"bstudio-anom-head",children:[a.jsx(BA,{size:13,className:"bstudio-anom-icon"}),a.jsx("span",{className:"bstudio-anom-label",children:t.label}),a.jsx("span",{className:"bstudio-anom-severity",children:t.kind})]}),a.jsxs("div",{className:"bstudio-anom-rows",children:[a.jsxs("div",{className:"bstudio-anom-row",children:[a.jsx("span",{className:"bstudio-anom-key",children:"on"}),a.jsx("span",{className:"bstudio-anom-val",children:t.resource})]}),a.jsxs("div",{className:"bstudio-anom-row",children:[a.jsx("span",{className:"bstudio-anom-key",children:"reason"}),a.jsx("span",{className:"bstudio-anom-val",children:t.detail})]}),a.jsxs("div",{className:"bstudio-anom-row",children:[a.jsx("span",{className:"bstudio-anom-key",children:"action"}),a.jsx("span",{className:"bstudio-anom-val bstudio-anom-val--action",children:t.suggested})]})]})]},t.label))})})}function Sae({lines:e}){return a.jsxs("div",{className:"bstudio-sample bstudio-sample--synth",children:[a.jsxs("p",{className:"bstudio-synth-copy",children:["Folding ",e," observations into a briefing…"]}),a.jsx("div",{className:"bstudio-synth-bars",children:Array.from({length:e}).map((t,n)=>a.jsx("span",{className:"bstudio-synth-bar",style:{animationDelay:`${n*110}ms`}},n))})]})}const Cae=[{id:"fleet",kind:"scan",label:"scan fleet snapshot",duration:3200,result:"47 agents · 8 projects",sample:{type:"fleet",more:43,agents:[{id:"a1",name:"hero-codex",project:"hero",tone:"active"},{id:"a2",name:"hudson-claude",project:"hudson",tone:"active"},{id:"a3",name:"openscout",project:"openscout",tone:"active"},{id:"a4",name:"hkshell",project:"hkshell",tone:"idle"}]}},{id:"sessions",kind:"collect",label:"read recent sessions",duration:3800,result:"7 sessions · 6h window",sample:{type:"sessions",more:4,sessions:[{id:"019e32c6",project:"openscout",lastActive:"16h ago",summary:"consolidating ops modes — Plan + Mission"},{id:"019e32b3",project:"hero",lastActive:"16h ago",summary:"reviewing broker delivery sync code paths"},{id:"019e32ac",project:"openscout",lastActive:"16h ago",summary:"GlobalJumpDock + Atop drawer fix landed"}]}},{id:"broker",kind:"inspect",label:"inspect broker queue",duration:4200,result:"20 msgs · 3 errors",countTone:"warn",sample:{type:"broker",more:17,messages:[{from:"hudson-claude",to:"arach",body:"PR #114 ready — 30 commits consolidating ops modes",ago:"2h"},{from:"hero-codex",to:"openscout",body:"broker delivery sync failing on flight 401 — needs ack",ago:"4h",tone:"err"},{from:"hkshell",to:"arach",body:"tail discovery missed 12 sessions in last hour",ago:"6h",tone:"warn"}]}},{id:"tail",kind:"collect",label:"pull tail events",duration:4200,result:"4,891 events · 6h window",sample:{type:"tail",more:4884,events:[{ts:"11:24:08",source:"claude",kind:"tool",body:'bash("git status")'},{ts:"11:24:11",source:"claude",kind:"tool-result",body:"On branch ux-maximalists"},{ts:"11:24:14",source:"codex",kind:"assistant",body:"verifying tape-advance variant lands cleanly…"},{ts:"11:24:20",source:"claude",kind:"error",body:"tool failure: ENOENT openscout/packages/web/null"}]}},{id:"plans",kind:"analyze",label:"analyze plans in motion",duration:3200,result:"2 plans · 12 associated files",sample:{type:"plans",plans:[{title:"UX maximalists — Ranger consolidation",owner:"arach",status:"in motion",files:8},{title:"Broker delivery sync rewrite",owner:"hero-codex",status:"awaiting review",files:4}]}},{id:"anomalies",kind:"analyze",label:"identify anomalies",duration:3200,result:"1 idle · 3 errors",countTone:"warn",sample:{type:"anomalies",items:[{kind:"idle",label:"hkshell quiet for 6h",detail:"last tail event was a tool-result at 05:24",resource:"hkshell · /Users/arach/dev/hkshell",suggested:"send a wake-up ping or dismiss the agent"},{kind:"error",label:"broker delivery sync failing",detail:"flight 401 unacked, 3 retries exhausted",resource:"broker · workspace-hero",suggested:"open flight 401 in broker · investigate ack chain"}]}},{id:"synthesize",kind:"synthesize",label:"synthesize observations",duration:2200,result:"4 observations · brief ready",sample:{type:"synthesize",lines:4}}];function Eae(e){return e>=.9?"err":e>=.75?"warn":"ok"}const Tae=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function o$(e,t){const n=e-t.getTime(),s=new Date(e).toDateString()===t.toDateString(),r=new Date(e),o=String(r.getHours()).padStart(2,"0"),c=String(r.getMinutes()).padStart(2,"0"),u=n>0&&n<6*3600*1e3;return s?{label:`${o}:${c}`,imminent:u}:{label:`${Tae[r.getDay()]} ${o}:${c}`,imminent:u}}function Aae(e,t){const n=Math.max(0,Math.floor((e-t.getTime())/1e3));if(n>=86400){const s=Math.floor(n/86400),r=Math.floor(n%86400/3600);return r>0?`${s}d ${r}h`:`${s}d`}if(n>=3600){const s=Math.floor(n/3600),r=Math.floor(n%3600/60);return r>0?`${s}h ${r}m`:`${s}h`}return`${Math.max(1,Math.floor(n/60))}m`}function Mae(e,t){const n=o$(e.resetAt,t),s=Aae(e.resetAt,t);return`${e.usedLabel} / ${e.capLabel} ${e.unitLabel} · resets ${n.label} (in ${s})`}function Rae(e){if(e.length===0)return"";if(e.length===1)return`M ${e[0].x} ${e[0].y}`;const t=[`M ${e[0].x} ${e[0].y}`];for(let n=0;n<e.length-1;n++){const s=e[n-1]??e[n],r=e[n],o=e[n+1],c=e[n+2]??o,u=r.x+(o.x-s.x)/6,h=r.y+(o.y-s.y)/6,f=o.x-(c.x-r.x)/6,g=o.y-(c.y-r.y)/6;t.push(`C ${u} ${h}, ${f} ${g}, ${o.x} ${o.y}`)}return t.join(" ")}function Iae({buckets:e}){const c=e.length;if(c<2||e.every(y=>y.count===0))return a.jsxs("svg",{viewBox:"0 0 372 70",style:{width:"100%",height:70,display:"block"},children:[a.jsx("line",{x1:"0",y1:56,x2:372,y2:56,stroke:"var(--border)"}),a.jsx("text",{x:372/2,y:70/2+2,textAnchor:"middle",fill:"var(--dim)",fontSize:"10",fontFamily:"var(--font-mono)",letterSpacing:"0.18em",children:"NO SIGNAL"})]});const h=372/(c-1),f=e.map((y,x)=>({x:x*h,y:56-Math.max(0,Math.min(1,y.value))*50})),g=Rae(f),v=`${g} L 372 56 L 0 56 Z`;return a.jsxs("svg",{viewBox:"0 0 372 70",style:{width:"100%",height:70,display:"block"},children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:"hrdFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[a.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.22"}),a.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),a.jsx("line",{x1:"0",y1:6,x2:372,y2:6,stroke:"var(--border)",opacity:"0.18"}),a.jsx("line",{x1:"0",y1:62/2,x2:372,y2:62/2,stroke:"var(--border)",opacity:"0.22"}),a.jsx("line",{x1:"0",y1:56,x2:372,y2:56,stroke:"var(--border)"}),a.jsx("path",{d:v,fill:"url(#hrdFill)"}),a.jsx("path",{d:g,fill:"none",stroke:"var(--accent)",strokeWidth:"1.5",strokeLinecap:"round"}),a.jsx("circle",{cx:f[c-1].x,cy:f[c-1].y,r:"2.5",fill:"var(--accent)"}),a.jsx("text",{x:"0",y:67,fill:"var(--dim)",fontSize:"9",fontFamily:"var(--font-mono)",children:"7d"}),a.jsx("text",{x:372/2,y:67,textAnchor:"middle",fill:"var(--dim)",fontSize:"9",fontFamily:"var(--font-mono)",children:"3d"}),a.jsx("text",{x:372,y:67,textAnchor:"end",fill:"var(--dim)",fontSize:"9",fontFamily:"var(--font-mono)",children:"now"})]})}function _ae(e){const t=e.toLocaleDateString([],{weekday:"short"}).toUpperCase(),n=e.toLocaleDateString([],{month:"short"}).toUpperCase(),s=String(e.getDate()).padStart(2,"0");return`${t} ${s} ${n}`}function Oae(e){const t=String(e.getHours()).padStart(2,"0"),n=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0");return`${t}:${n}:${s}`}function $ae(e){const t=e.replace(/\s+/g," ").trim();if(!t)return[];const n=t.match(/[^.!?]+[.!?]?/g)?.map(r=>r.trim()).filter(Boolean)??[];return(n.length>1?n:t.split(/\s+[;:]\s+|\s+—\s+/).map(r=>r.trim()).filter(Boolean)).slice(0,4).map(r=>/[.!?]$/.test(r)?r:`${r}.`)}function Pae(e){return $ae(e).map((t,n)=>({id:`fallback-${n+1}`,text:t,references:[]}))}function Dae({gauge:e,now:t,onClick:n}){const s=n?"button":"span",r=n?{type:"button",onClick:n}:{};if(e.kind==="status")return a.jsxs(s,{className:`hd-gauge hd-gauge--${e.tone}${n?" hd-gauge--interactive":""}`,...r,children:[a.jsx("span",{className:"hd-gauge-label",children:e.label}),a.jsx("span",{className:`hd-gauge-dot hd-gauge-dot--${e.tone}`,"aria-hidden":"true"}),a.jsx("span",{className:"hd-gauge-status",children:e.statusLabel})]});const o=Eae(e.fill),c=Math.round(e.fill*100),u=o$(e.resetAt,t);return a.jsxs(s,{className:`hd-gauge hd-gauge--${o}${n?" hd-gauge--interactive":""}`,title:Mae(e,t),...r,children:[a.jsx("span",{className:"hd-gauge-label",children:e.label}),a.jsx("span",{className:"hd-gauge-bar","aria-hidden":"true",children:a.jsx("span",{className:"hd-gauge-bar-fill",style:{width:`${c}%`}})}),a.jsxs("span",{className:"hd-gauge-pct",children:[c,"%"]}),u.imminent&&a.jsxs("span",{className:"hd-gauge-reset hd-gauge-reset--imminent",children:["↻ ",u.label]})]})}function Lae({signals:e,navigate:t}){return e.length===0?null:a.jsx("div",{className:"hd-signal-stack","aria-label":"system signals",children:e.map(n=>{const s=a.jsxs(a.Fragment,{children:[a.jsx("span",{className:`hd-signal-led hd-signal-led--${n.tone??"dim"}`,"aria-hidden":"true"}),a.jsxs("span",{className:"hd-signal-copy",children:[a.jsx("span",{className:"hd-signal-label",children:n.label}),a.jsx("span",{className:"hd-signal-value",children:n.value})]})]}),r=n.onClick??(n.route?()=>t(n.route):void 0);return r?a.jsx("button",{type:"button",className:"hd-signal-row hd-signal-row--button",onClick:r,children:s},n.id):a.jsx("div",{className:"hd-signal-row",children:s},n.id)})})}function zae({references:e,navigate:t}){return e.length===0?null:a.jsx("span",{className:"hd-brief-refs","aria-label":"brief references",children:e.slice(0,4).map(n=>{const s=a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"hd-brief-ref-kind",children:n.kind}),a.jsx("span",{className:"hd-brief-ref-label",children:n.label})]});return n.route?a.jsx("button",{type:"button",className:"hd-brief-ref hd-brief-ref--button",title:n.detail,onClick:()=>t(n.route),children:s},n.id):a.jsx("span",{className:"hd-brief-ref",title:n.detail,children:s},n.id)})})}function Bae(e){const{now:t,operatorName:n,syncLabel:s,error:r,loading:o,refreshing:c,briefRefreshing:u,onRefresh:h,onRegenerateBrief:f,onSpeakBrief:g,briefSpeaking:v=!1,briefIsNew:y=!1,totalOperatorQueue:x,narrativeParts:w,briefStatement:k,briefObservations:C,navigate:T,opsEnabled:S,onReviewQueue:N,heartrate:E,heartrateWindow:A,heartrateBucketLabel:R,serviceGauges:M,systemSignals:$}=e,O=k?.trim()||"",U=w.find(W=>W.includes("need"))??w[0]??"",_=O||(U?`${U}.`:""),z=C.length>0?C:Pae(_),q=O?w:w.filter(W=>W!==U),V=!O&&U.includes("need"),G=q.join(" · "),P=r?"err":"ok",H=M,D=u||z.length>0,{runtime:K}=mae(Cae,{active:u,speed:3});return a.jsxs("section",{className:"hd",children:[a.jsxs("div",{className:"hd-topbar",children:[a.jsxs("div",{className:"hd-topbar-l",children:[a.jsx("span",{className:"hd-mark","aria-hidden":"true",children:"◆"}),a.jsx("span",{className:"hd-mark-text",children:"SCOUT"}),a.jsx("span",{className:"hd-sep",children:"·"}),a.jsx("span",{className:"hd-mark-role",children:"home"})]}),H.length>0&&a.jsxs("div",{className:"hd-topbar-c","aria-label":"service usage",children:[a.jsx("span",{className:"hd-gauge-window",children:"USAGE"}),a.jsx("span",{className:"hd-gauge-divider","aria-hidden":"true"}),H.map((W,L)=>a.jsxs("span",{className:"hd-gauge-wrap",children:[L>0&&a.jsx("span",{className:"hd-gauge-divider","aria-hidden":"true"}),a.jsx(Dae,{gauge:W,now:t,onClick:()=>T({view:"ops"})})]},W.id))]}),a.jsxs("div",{className:"hd-topbar-r",children:[a.jsxs("span",{className:"hd-meta",children:["operator: ",n.toLowerCase()]}),a.jsx("span",{className:"hd-sep",children:"·"}),a.jsx("span",{className:"hd-meta",children:Oae(t)}),a.jsx("span",{className:`hd-dot hd-dot--${P}`,"aria-hidden":"true"}),a.jsx("span",{className:`hd-meta hd-meta--${P}`,children:s})]})]}),a.jsxs("div",{className:"hd-grid",children:[a.jsxs("div",{className:"hd-panel hd-panel--lede","data-brief-refreshing":u||void 0,children:[a.jsxs("div",{className:"hd-panel-title",children:[a.jsx(ad,{className:"hd-brief-ranger-glyph",size:12,"aria-hidden":"true"}),a.jsx("span",{children:"BRIEFING"}),a.jsx("span",{className:"hd-sep",children:"·"}),a.jsx("span",{children:_ae(t)}),a.jsx("button",{type:"button",className:"hd-brief-archive-link",onClick:()=>T({view:"briefings"}),children:"view archive"})]}),D&&a.jsx("div",{className:"hd-brief-sheet","data-brief-refreshing":u||void 0,"aria-busy":u||void 0,children:u?a.jsx("div",{className:"hd-brief-seq","aria-busy":"true",children:a.jsx(pae,{runtime:K})}):a.jsx("div",{className:"hd-brief-copy",children:z.map((W,L)=>a.jsxs("p",{className:`hd-brief-line${V&&L===0?" hd-brief-line--warn":""}`,children:[a.jsx(HA,{className:"hd-brief-icon",size:14,strokeWidth:1.7,"aria-hidden":"true"}),a.jsxs("span",{className:"hd-brief-line-body",children:[a.jsx("span",{children:W.text}),a.jsx(zae,{references:W.references,navigate:T})]})]},W.id||`${W.text}-${L}`))})}),G.length>0&&a.jsxs("p",{className:"hd-sub",children:[G,"."]}),r&&a.jsxs("p",{className:"hd-sub hd-sub--err",children:["sync: ",r]}),a.jsxs("div",{className:"hd-actions",children:[x>0&&a.jsxs("button",{type:"button",className:"hd-btn hd-btn--primary",onClick:N,children:["[review queue · ",x,"]"]}),S&&a.jsx("button",{type:"button",className:"hd-btn",onClick:()=>T({view:"ops"}),children:"[open ops]"}),g&&a.jsxs("button",{type:"button",className:`hd-btn${y&&!v?" hd-btn--primary":""}`,onClick:g,title:v?"Stop reading the brief":y?"Read the new brief aloud":"Replay the brief",children:["[",v?"■ stop":y?"▸ speak brief":"▸ replay","]"]}),a.jsxs("button",{type:"button",className:"hd-btn",disabled:u,onClick:f,children:["[",u?"briefing":"new brief","]"]}),a.jsxs("button",{type:"button",className:"hd-btn",disabled:o||c,onClick:h,children:["[",c?"refreshing":"r refresh","]"]})]})]}),a.jsxs("div",{className:"hd-panel hd-panel--hr",children:[a.jsxs("div",{className:"hd-panel-title",children:[a.jsx("span",{children:"HEART-RATE"}),a.jsx("span",{className:"hd-sep",children:"·"}),a.jsx("span",{children:A}),R?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"hd-sep",children:"·"}),a.jsx("span",{children:R})]}):null]}),a.jsx(Iae,{buckets:E}),a.jsx(Lae,{signals:$,navigate:T})]})]})]})}const Uae=new Set(["air-local","local","mini","node"]),Vae=new Set(["main","master","trunk"]);function Im(e){return e.replace(/```[\s\S]*?```/g," code omitted ").replace(/\*\*([^*\n]+)\*\*/g,"$1").replace(/(^|[\s(])\*([^\s*][^*\n]*?[^\s*]|[^\s*])\*(?=[\s)\].,!?;:]|$)/g,"$1$2").replace(/(^|[\s(])_([^\s_][^_\n]*?[^\s_]|[^\s_])_(?=[\s)\].,!?;:]|$)/g,"$1$2").replace(/^\s*[-*]\s+/gm,"").replace(/\bhttps?:\/\/[^\s)]+/gi,t=>Fae(t)).replace(/\b(session|conversation|message|flight|invocation|work)(?:\s+(?:id|ref))?\s*[:#]?\s+([a-z0-9][a-z0-9._:-]{9,})\b/gi,(t,n,s)=>`${n.toLowerCase()} ending in ${ib(s)}`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,t=>`ID ending in ${ib(t)}`).replace(/@?([a-z][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*){2,})\b/gi,(t,n)=>Hae(t)?t:qae(n)).replace(/`([^`]+)`/g,(t,n)=>Wae(n)).replace(/\s+/g," ").trim()}function Fae(e){try{return new URL(e).hostname.replace(/^www\./,"").replace(/\./g," dot ")}catch{return"link"}}function Hae(e){const t=e.replace(/^@/,"").toLowerCase();return/\.(com|app|dev|org|net|io|local)(?:\b|\/)/.test(t)&&!t.endsWith(".air-local")}function qae(e){const t=e.split(".").filter(Boolean);if(t.length<2)return e;const n=[...t];for(;n.length>1&&Uae.has(n.at(-1).toLowerCase());)n.pop();const[s,...r]=n,o=r.filter(c=>!Vae.has(c.toLowerCase())).map(ob).filter(Boolean);return[ob(s),...o].filter(Boolean).join(", ")}function Wae(e){return/^[a-z0-9][a-z0-9._:-]{12,}$/i.test(e)?`ID ending in ${ib(e)}`:ob(e)}function ib(e){return(e.replace(/[^a-z0-9]/gi,"").slice(-4)||e.slice(-4)).split("").join(" ")}function ob(e){return e.replace(/^@/,"").replace(/[_./:-]+/g," ").replace(/\s+/g," ").trim()}const Gae={defaultPort:43115},Zae=Gae.defaultPort,Kae="127.0.0.1",Yae=2e3,Xae=500;function Jae(e){return new Qae(e)}class Qae{base;clientId;probeTimeout;pollInterval;_state="unknown";constructor(t){if(t?.baseUrl)this.base=t.baseUrl.replace(/\/$/,"");else{const n=t?.host??Kae,s=t?.port??Zae;this.base=`http://${n}:${s}`}this.clientId=t?.clientId??"vox-web",this.probeTimeout=t?.probeTimeout??Yae,this.pollInterval=t?.pollInterval??Xae}get state(){return this._state}get isConnected(){return this._state==="connected"}async probe(){this._state="probing";try{const n=await(await this.fetch("/health",{timeout:this.probeTimeout})).json();return this._state=n.ok?"connected":"unavailable",n.ok}catch{return this._state="unavailable",!1}}async health(){return(await this.fetch("/health")).json()}async capabilities(){return(await this.fetch("/capabilities")).json()}async transcribe(t){const{audio:n,modelId:s,format:r,language:o,timestamps:c,metadata:u}=t,h=new FormData;if(n instanceof Blob){const g=r??nre(n.type)??"wav";h.append("audio",n,`audio.${g}`)}else{const g=r??"wav",v=new Blob([n],{type:sre(g)});h.append("audio",v,`audio.${g}`)}return r&&h.append("format",r),s&&h.append("modelId",s),o&&h.append("language",o),c&&h.append("timestamps","true"),h.append("metadata",JSON.stringify(this.withClientMetadata(u))),(await this.fetch("/transcribe",{method:"POST",body:h})).json()}async createJob(t){return(await this.fetch("/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,metadata:this.withClientMetadata(t.metadata)})})).json()}async getJob(t){return(await this.fetch(`/jobs/${t}`)).json()}async align(t){const{jobId:n}=await this.createJob({...t,type:"alignment"});return this.waitForJob(n)}createLiveSession(){return new ere(t=>this.openLiveSession(t),t=>this.stopLiveSession(t),t=>this.cancelLiveSession(t))}async getLiveSessionStatus(){const s=(await(await this.fetch("/live")).json()).session;return!s||typeof s!="object"?null:{sessionId:String(s.sessionId??""),connectionId:String(s.connectionId??""),clientId:String(s.clientId??""),modelId:String(s.modelId??""),startedAt:String(s.startedAt??""),state:String(s.state??"error")}}async stopLiveSession(t){const s=await(await this.fetch("/live/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t?{sessionId:t}:{})})).json();return{stopped:!!s.stopped,sessionId:String(s.sessionId??t??"")}}async cancelLiveSession(t){const s=await(await this.fetch("/live/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t?{sessionId:t}:{})})).json();return{cancelled:!!s.cancelled,sessionId:String(s.sessionId??t??"")}}launch(){window.location.href="vox://launch"}openSettings(){window.location.href="vox://settings"}async waitForJob(t){for(let s=0;s<600;s++){const r=await this.getJob(t);if(r.status==="completed"){if(!r.result?.alignment)throw new aa("Job completed but no alignment result","no_result");return r.result.alignment}if(r.status==="failed")throw new aa(r.error??"Job failed","job_failed");await tre(this.pollInterval)}throw new aa("Job timed out","timeout")}async openLiveSession(t){const n={clientId:this.clientId};return t?.modelId&&(n.modelId=t.modelId),this.fetch("/live",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}withClientMetadata(t){const n=t?{...t}:{};return n.clientId==null&&n.surface==null&&(n.clientId=this.clientId),n}async fetch(t,n){const{timeout:s,...r}=n??{},o=new AbortController,c=s?setTimeout(()=>o.abort(),s):void 0;try{const u=await globalThis.fetch(`${this.base}${t}`,{...r,signal:o.signal});if(!u.ok){const h=await u.text().catch(()=>"");throw new aa(`${u.status} ${u.statusText}: ${h}`,"http_error")}return u}catch(u){throw u instanceof aa?u:new aa(u instanceof Error?u.message:"Companion unreachable","network_error")}finally{c&&clearTimeout(c)}}}class aa extends Error{code;constructor(t,n){super(t),this.code=n,this.name="VoxDError"}}class ere{open;stopRequest;cancelRequest;sessionId=null;runPromise=null;finalEvent=null;stateListeners=new Set;partialListeners=new Set;finalListeners=new Set;errorListeners=new Set;constructor(t,n,s){this.open=t,this.stopRequest=n,this.cancelRequest=s}get id(){return this.sessionId}start(t){return this.runPromise||(this.runPromise=this.run(t)),this.runPromise}async stop(){await this.stopRequest(this.sessionId??void 0)}async cancel(){await this.cancelRequest(this.sessionId??void 0)}onState(t){return this.stateListeners.add(t),()=>this.stateListeners.delete(t)}onPartial(t){return this.partialListeners.add(t),()=>this.partialListeners.delete(t)}onFinal(t){return this.finalListeners.add(t),()=>this.finalListeners.delete(t)}onError(t){return this.errorListeners.add(t),()=>this.errorListeners.delete(t)}close(){this.cancel().catch(t=>{this.emitError(t instanceof Error?t:new Error(String(t)))})}async run(t){try{const n=await this.open(t);if(!n.body)throw new aa("Live session stream did not include a response body.","protocol_error");let s=null;await are(n.body,o=>{if(typeof o.error=="string"&&o.error)throw new aa(o.error,"live_session_error");if(typeof o.event=="string"){this.handleEvent(o.event,nT(o.data));return}o.result&&typeof o.result=="object"&&(s=nT(o.result))});const r=this.finalEvent??this.parseResult(s);if(!r)throw new aa("Live session ended without a final result.","protocol_error");return r}catch(n){const s=n instanceof Error?n:new Error(String(n));throw this.emitError(s),s}}handleEvent(t,n){switch(t){case"session.state":{const s={sessionId:String(n.sessionId??this.sessionId??""),state:String(n.state??"error"),previous:n.previous??null,reason:typeof n.reason=="string"?n.reason:void 0};s.sessionId&&(this.sessionId=s.sessionId);for(const r of this.stateListeners)r(s);break}case"session.partial":{const s={sessionId:String(n.sessionId??this.sessionId??""),text:String(n.text??"")};s.sessionId&&(this.sessionId=s.sessionId);for(const r of this.partialListeners)r(s);break}case"session.final":{const s=this.parseResult(n);if(!s)return;this.finalEvent=s,this.sessionId=s.sessionId||this.sessionId;for(const r of this.finalListeners)r(s);break}}}parseResult(t){if(!t)return null;if(t.cancelled)throw new aa(`Live session ${String(t.sessionId??this.sessionId??"")} was cancelled.`,"session_cancelled");return{sessionId:String(t.sessionId??this.sessionId??""),text:String(t.text??""),durationMs:Number(t.durationMs??t.elapsedMs??0),words:Array.isArray(t.words)?t.words:void 0,metrics:ire(t.metrics)?t.metrics:void 0}}emitError(t){for(const n of this.errorListeners)n(t)}}function tre(e){return new Promise(t=>setTimeout(t,e))}function nre(e){if(e.includes("mp3")||e.includes("mpeg"))return"mp3";if(e.includes("wav"))return"wav";if(e.includes("aac")||e.includes("mp4"))return"aac";if(e.includes("opus")||e.includes("ogg"))return"opus"}function sre(e){switch(e){case"mp3":return"audio/mpeg";case"wav":return"audio/wav";case"aac":return"audio/aac";case"opus":return"audio/ogg; codecs=opus";case"pcm16":return"audio/pcm";default:return"application/octet-stream"}}async function are(e,t){const n=e.getReader(),s=new TextDecoder;let r="";try{for(;;){const{value:c,done:u}=await n.read();if(u)break;r+=s.decode(c,{stream:!0}),r=rre(r,t)}r+=s.decode();const o=r.trim();o&&t(l$(o))}finally{n.releaseLock()}}function rre(e,t){let n=e;for(;;){const s=n.indexOf(`
|
|
171
|
+
`);if(s===-1)return n;const r=n.slice(0,s).trim();n=n.slice(s+1),r&&t(l$(r))}}function l$(e){try{return JSON.parse(e)}catch{throw new aa("Live session stream returned invalid JSON.","protocol_error")}}function nT(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ire(e){return!!(e&&typeof e=="object")}const kp={lowCutHz:350,highCutHz:2800,bandQ:.85,saturationAmount:.25,bitcrushAmount:.12,hissGain:.045,hissCutoffHz:1200,presencePeakDb:4,presenceCenterHz:1500,presenceQ:1,compressorThresholdDb:-22,compressorRatio:5,clickEnabled:!0,clickGain:.35,clickDurationMs:70,squelchTailEnabled:!0,squelchTailGain:.07,squelchTailDurationMs:180,playbackRate:1,outputGain:1.1,wetMix:1},td=[{id:"chill-dispatcher",label:"Chill Dispatcher",family:"dispatch",description:"Warm, friendly, takes its time. Like the calmest voice on the channel.",params:{lowCutHz:280,highCutHz:3200,bandQ:.7,saturationAmount:.2,bitcrushAmount:.08,hissGain:.035,hissCutoffHz:1400,presencePeakDb:3.5,presenceCenterHz:1500,presenceQ:1,compressorThresholdDb:-20,compressorRatio:4,clickEnabled:!0,clickGain:.3,clickDurationMs:60,squelchTailEnabled:!0,squelchTailGain:.06,squelchTailDurationMs:160,playbackRate:.97,outputGain:1.1,wetMix:1}},{id:"tower-control",label:"Tower Control",family:"dispatch",description:"Crisp, clipped, all-business. Pushes you out the door a little faster.",params:{lowCutHz:500,highCutHz:2400,bandQ:1,saturationAmount:.42,bitcrushAmount:.22,hissGain:.06,hissCutoffHz:1800,presencePeakDb:6,presenceCenterHz:1700,presenceQ:1.3,compressorThresholdDb:-28,compressorRatio:8,clickEnabled:!0,clickGain:.5,clickDurationMs:80,squelchTailEnabled:!0,squelchTailGain:.1,squelchTailDurationMs:200,playbackRate:1.08,outputGain:1.15,wetMix:1}},{id:"carrier-wave",label:"Carrier Wave",family:"dispatch",description:"Always-on hiss like someone's holding the mic just to keep you company.",params:{lowCutHz:320,highCutHz:3e3,bandQ:.55,saturationAmount:.15,bitcrushAmount:.06,hissGain:.11,hissCutoffHz:900,presencePeakDb:2,presenceCenterHz:1300,presenceQ:.8,compressorThresholdDb:-18,compressorRatio:3,clickEnabled:!0,clickGain:.18,clickDurationMs:50,squelchTailEnabled:!0,squelchTailGain:.12,squelchTailDurationMs:300,playbackRate:.95,outputGain:1.05,wetMix:1}},{id:"pocket-walkie",label:"Pocket Walkie",family:"walkie",description:"That nostalgic kid-radio crunch. Narrow, snappy, just-this-side-of-toy.",params:{lowCutHz:600,highCutHz:2300,bandQ:1.2,saturationAmount:.5,bitcrushAmount:.35,hissGain:.08,hissCutoffHz:1700,presencePeakDb:7,presenceCenterHz:1800,presenceQ:1.5,compressorThresholdDb:-26,compressorRatio:7,clickEnabled:!0,clickGain:.6,clickDurationMs:50,squelchTailEnabled:!0,squelchTailGain:.09,squelchTailDurationMs:120,playbackRate:1.05,outputGain:1.15,wetMix:1}},{id:"trail-buddy",label:"Trail Buddy",family:"walkie",description:"Breezy handheld vibe — wider, hissier, like your hiking partner two ridges over.",params:{lowCutHz:380,highCutHz:2900,bandQ:.75,saturationAmount:.32,bitcrushAmount:.18,hissGain:.14,hissCutoffHz:1100,presencePeakDb:4,presenceCenterHz:1500,presenceQ:1,compressorThresholdDb:-22,compressorRatio:5,clickEnabled:!0,clickGain:.35,clickDurationMs:65,squelchTailEnabled:!0,squelchTailGain:.1,squelchTailDurationMs:180,playbackRate:.98,outputGain:1.1,wetMix:1}},{id:"am-broadcast",label:"AM Broadcast",family:"other",description:"Vintage lo-fi, no PTT click. The voice on a radio left on in the next room.",params:{lowCutHz:250,highCutHz:2200,bandQ:.9,saturationAmount:.55,bitcrushAmount:.4,hissGain:.05,hissCutoffHz:700,presencePeakDb:3,presenceCenterHz:1200,presenceQ:1.2,compressorThresholdDb:-24,compressorRatio:6,clickEnabled:!1,clickGain:0,clickDurationMs:60,squelchTailEnabled:!1,squelchTailGain:0,squelchTailDurationMs:120,playbackRate:.96,outputGain:1.05,wetMix:1}},{id:"clean-mic",label:"Clean Mic",family:"other",description:"Almost no FX — just a tiny click. A/B reference for everything else.",params:{lowCutHz:150,highCutHz:5e3,bandQ:.4,saturationAmount:.03,bitcrushAmount:0,hissGain:0,hissCutoffHz:1200,presencePeakDb:1,presenceCenterHz:1500,presenceQ:.6,compressorThresholdDb:-16,compressorRatio:2,clickEnabled:!0,clickGain:.22,clickDurationMs:45,squelchTailEnabled:!1,squelchTailGain:0,squelchTailDurationMs:80,playbackRate:1,outputGain:1,wetMix:1}}];let fu=null;function ew(){if(fu&&fu.state!=="closed")return fu;const e=window.AudioContext??window.webkitAudioContext;if(!e)throw new Error("Web Audio API is not available in this browser.");return fu=new e,fu}async function c$(e,t="audio/wav"){const n=atob(e),s=new Uint8Array(n.length);for(let r=0;r<n.length;r+=1)s[r]=n.charCodeAt(r);return await u$(s.buffer,t)}async function u$(e,t="audio/wav"){const n=ew();return n.state==="suspended"&&await n.resume(),await n.decodeAudioData(e.slice(0))}async function ore(e){const t=await fetch(e);if(!t.ok)throw new Error(`Failed to load audio (${t.status}): ${e}`);const n=await t.arrayBuffer(),s=t.headers.get("content-type")??"audio/wav";return await u$(n,s)}function lre(e){return{...kp,...e??{}}}function cre(e){const t=1+Math.max(0,Math.min(1,e))*14,n=2048,s=new Float32Array(new ArrayBuffer(n*4)),r=Math.tanh(t);for(let o=0;o<n;o+=1){const c=o/(n-1)*2-1;s[o]=Math.tanh(t*c)/r}return s}function ure(e){const t=Math.max(0,Math.min(1,e)),n=Math.max(4,Math.round(256*Math.pow(1-t,2.5))),s=4096,r=new Float32Array(new ArrayBuffer(s*4));for(let o=0;o<s;o+=1){const c=o/(s-1)*2-1;r[o]=Math.round(c*n)/n}return r}function sT(e){const t=e.sampleRate,n=Math.floor(2*t),s=e.createBuffer(1,n,t),r=s.getChannelData(0);let o=0;for(let c=0;c<n;c+=1){const u=Math.random()*2-1;o=o*.78+u*.22,r[c]=o}return s}function dre(e,t){const n=e.sampleRate,s=Math.max(16,Math.floor(t/1e3*n)),r=e.createBuffer(1,s,n),o=r.getChannelData(0);let c=0;for(let u=0;u<s;u+=1){const h=u/s,f=Math.pow(1-h,2.4)+(u<32?Math.pow(1-u/32,3)*.6:0),g=Math.random()*2-1;c=c*.6+g*.4,o[u]=c*f}return r}function aT(e,t,n,s,r){const o=e.createBufferSource();o.buffer=n;const c=e.createGain();return c.gain.value=r,o.connect(c).connect(t),o.start(s),{source:o,startsAt:s}}function tw(e,t={}){const n=lre(t.params),s=ew();s.state==="suspended"&&s.resume();const r=s.createBiquadFilter();r.type="highpass",r.frequency.value=n.lowCutHz,r.Q.value=n.bandQ;const o=s.createBiquadFilter();o.type="lowpass",o.frequency.value=n.highCutHz,o.Q.value=n.bandQ;const c=s.createWaveShaper();c.curve=cre(n.saturationAmount),c.oversample="2x";const u=s.createWaveShaper();u.curve=ure(n.bitcrushAmount);const h=s.createBiquadFilter();h.type="peaking",h.frequency.value=n.presenceCenterHz,h.Q.value=n.presenceQ,h.gain.value=n.presencePeakDb;const f=s.createDynamicsCompressor();f.threshold.value=n.compressorThresholdDb,f.ratio.value=n.compressorRatio,f.attack.value=.003,f.release.value=.08,f.knee.value=6;const g=s.createGain();g.gain.value=n.wetMix;const v=s.createGain();v.gain.value=1-n.wetMix;const y=s.createGain();y.gain.value=n.outputGain;const x=s.createBufferSource();x.buffer=e;const w=Math.max(.5,Math.min(2,n.playbackRate));x.playbackRate.value=w;const k=e.duration/w;x.connect(r),r.connect(o),o.connect(c),c.connect(u),u.connect(h),h.connect(f),f.connect(g),g.connect(y),x.connect(v),v.connect(y),y.connect(s.destination);const C=s.currentTime,S=40/1e3,N=n.clickEnabled?dre(s,n.clickDurationMs):null,E=C+(n.clickEnabled?S+n.clickDurationMs/1e3:0);x.start(E);let A=null;if(n.hissGain>0&&n.wetMix>0){const H=sT(s);A=s.createBufferSource(),A.buffer=H,A.loop=!0;const D=s.createBiquadFilter();D.type="highpass",D.frequency.value=n.hissCutoffHz,D.Q.value=.7;const K=s.createGain();K.gain.value=n.hissGain,A.connect(D).connect(K).connect(g);const W=C,L=E+k+.18;K.gain.setValueAtTime(0,W),K.gain.linearRampToValueAtTime(n.hissGain,W+.03),K.gain.setValueAtTime(n.hissGain,L-.08),K.gain.linearRampToValueAtTime(0,L),A.start(W),A.stop(L+.02)}const R=E+k,M=n.squelchTailEnabled&&n.squelchTailGain>0&&n.wetMix>0,$=n.squelchTailDurationMs/1e3,O=R+.005,U=M?O+$:R;let _=null;if(M){const H=sT(s);_=s.createBufferSource(),_.buffer=H,_.loop=!0;const D=s.createBiquadFilter();D.type="highpass",D.frequency.value=1e3,D.Q.value=.7;const K=s.createGain();K.gain.value=0,_.connect(D).connect(K).connect(g),K.gain.setValueAtTime(0,O),K.gain.linearRampToValueAtTime(n.squelchTailGain,O+.008),K.gain.exponentialRampToValueAtTime(.001,U),_.start(O),_.stop(U+.02)}const z=[];if(N&&n.clickEnabled){z.push(aT(s,y,N,C,n.clickGain));const H=(M?U:R)+.02;z.push(aT(s,y,N,H,n.clickGain*.85))}let q=!1,V=!1;const G=()=>{V||(V=!0,t.onEnded?.())};return{promise:new Promise(H=>{const D=M?$+.02:0,K=(n.clickEnabled?S+n.clickDurationMs/1e3:0)+k+D+(n.clickEnabled?n.clickDurationMs/1e3+.04:0)+.02,W=setTimeout(()=>{G(),H()},Math.ceil(K*1e3)),L=()=>{if(!q){q=!0,clearTimeout(W);try{x.stop()}catch{}if(A)try{A.stop()}catch{}if(_)try{_.stop()}catch{}for(const F of z)try{F.source.stop()}catch{}try{x.disconnect()}catch{}try{y.disconnect()}catch{}G(),H()}};t.signal&&(t.signal.aborted?L():t.signal.addEventListener("abort",L,{once:!0}))}),stop:()=>{try{x.stop()}catch{}if(A)try{A.stop()}catch{}if(_)try{_.stop()}catch{}for(const H of z)try{H.source.stop()}catch{}}}}function fre(e,t={}){const n=ew();n.state==="suspended"&&n.resume();const s=n.createBufferSource();s.buffer=e,s.connect(n.destination),s.start(n.currentTime);let r=!1;const o=()=>{r||(r=!0,t.onEnded?.())};return{promise:new Promise(u=>{const h=setTimeout(()=>{o(),u()},Math.ceil(e.duration*1e3)+20),f=()=>{clearTimeout(h);try{s.stop()}catch{}try{s.disconnect()}catch{}o(),u()};t.signal&&(t.signal.aborted?f():t.signal.addEventListener("abort",f,{once:!0}))}),stop:()=>{try{s.stop()}catch{}}}}const hre="http://127.0.0.1:43115",mre="openscout-web";class oh{constructor(t=hre){this.baseUrl=t,this.client=this.createClient()}baseUrl;state="unknown";unavailableReason=null;client;get connectionState(){return this.state}get lastUnavailableReason(){return this.unavailableReason}async probe(t=1200){this.state="probing",this.unavailableReason=null,this.client=this.createClient(t);try{return await this.client.probe()?(await this.client.capabilities(),this.state="connected",!0):(this.state="unavailable",!1)}catch(n){return this.state="unavailable",this.unavailableReason=lT(n),!1}}launch(t={}){window.location.href=rT("launch",{source:t.source,returnTo:t.returnTo??oT(),context:iT(t.context)})}openSettings(t={}){window.location.href=rT("settings",{source:t.source,returnTo:t.returnTo??oT(),context:iT(t.context)})}async startLive(t={}){const n=this.client.createLiveSession();let s=null;jre(n,t,o=>{s=o});const r=n.start({modelId:"parakeet:v3"}).then(o=>(s??=f$(o),s)).catch(o=>{throw new Error(lT(o))});return{get sessionId(){return n.id},result:r,stop:async()=>{await n.stop()},cancel:async()=>{await n.cancel().catch(()=>{})}}}createClient(t=1200){return Jae({baseUrl:this.baseUrl,clientId:mre,probeTimeout:t})}}function _m(){const e=new Error("Speech stopped.");return e.name="AbortError",e}function Cl(e){return e instanceof Error&&e.name==="AbortError"}async function nw(e,t={}){const n={text:e,speed:wre(t.speed)};t.originAppId&&(n.originAppId=t.originAppId),t.utteranceId&&(n.utteranceId=t.utteranceId),t.instructions&&(n.instructions=t.instructions),t.speechTiming?.enabled&&(n.speechTiming=t.speechTiming);const s=await fetch("/api/voice/speak",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n),signal:t.signal});if(!s.ok){const r=await s.text().catch(()=>"");try{const o=JSON.parse(r);throw new Error(o.error??`Voice returned HTTP ${s.status}`)}catch(o){throw o instanceof SyntaxError?new Error(r||`Voice returned HTTP ${s.status}`):o}}return await s.json()}async function pre(e,t={}){if(t.signal?.aborted)throw _m();const n=new Audio(`data:${e.contentType};base64,${e.audioBase64}`),s=()=>{n.pause(),n.currentTime=0};t.signal?.addEventListener("abort",s,{once:!0}),await n.play(),t.onPlaybackStart?.();try{return await new Promise((r,o)=>{const c=()=>{n.removeEventListener("ended",u),n.removeEventListener("error",h),t.signal?.removeEventListener("abort",f)},u=()=>{c(),r()},h=()=>{c(),o(new Error("Vox audio playback failed."))},f=()=>{c(),o(_m())};if(t.signal?.aborted){f();return}n.addEventListener("ended",u,{once:!0}),n.addEventListener("error",h,{once:!0}),t.signal?.addEventListener("abort",f,{once:!0})}),e}finally{t.signal?.removeEventListener("abort",s)}}async function gre(e,t={}){const n=await nw(e,t);return await pre(n,{signal:t.signal})}function vre(e,t={}){const n=new AbortController;return{promise:gre(e,{...t,signal:n.signal}),stop:()=>n.abort()}}function d$(e,t){const n=e?td.find(s=>s.id===e)?.params:void 0;return{...kp,...n??{},...t??{}}}async function yre(e,t={}){const n=await nw(e,t);if(t.signal?.aborted)throw _m();const s=await c$(n.audioBase64,n.contentType),r=d$(t.presetId,t.params);return await tw(s,{params:r,signal:t.signal}).promise,n}async function xre(e,t={}){if(t.signal?.aborted)throw _m();const n=await c$(e.audioBase64,e.contentType),s=d$(t.presetId,t.params),r=tw(n,{params:s,signal:t.signal});return t.onPlaybackStart?.(),await r.promise,e}function bre(e,t={}){const n=new AbortController;return{promise:yre(e,{...t,signal:n.signal}),stop:()=>n.abort()}}function wre(e){if(!(e===void 0||!Number.isFinite(e)))return Math.min(2,Math.max(.5,Number(e.toFixed(2))))}function jre(e,t,n){e.onState(s=>t.onState?.(s.state)),e.onPartial(s=>t.onPartial?.(s.text)),e.onFinal(s=>{const r=f$(s);n(r),t.onFinal?.(r)})}function f$(e){return{sessionId:e.sessionId,text:e.text.trim(),durationMs:e.durationMs}}function rT(e,t){const n=new URLSearchParams;for(const[r,o]of Object.entries(t))o&&n.set(r,o);const s=n.toString();return s?`vox://${e}?${s}`:`vox://${e}`}function iT(e){if(e)return JSON.stringify(e)}function oT(){try{return window.location.origin}catch{return}}function lT(e){const t=e instanceof Error?e.message:String(e);return e instanceof aa&&e.code==="http_error"&&/origin not allowed/i.test(t)||/origin not allowed/i.test(t)?"Vox blocked this OpenScout URL. Restart OpenScout so it can register its Vox browser origin, then try again.":t||"Vox request failed."}const h$="openscout.home.lastSpokenBriefId.v1",m$="home.brief.voice",kre="briefing mode voice >>",Nre=2e4,lb=new Set;let Lu=null,Hl=null,Ka={speaking:!1,activeBriefId:null,lastSpokenBriefId:Sre(),error:null};function Sre(){if(typeof window>"u")return null;try{return window.localStorage.getItem(h$)}catch{return null}}function Cre(e){if(!(typeof window>"u"))try{window.localStorage.setItem(h$,e)}catch{}}function Ere(){for(const e of lb)e()}function ju(e){Ka.speaking===e.speaking&&Ka.activeBriefId===e.activeBriefId&&Ka.lastSpokenBriefId===e.lastSpokenBriefId&&Ka.error===e.error||(Ka=e,Ere())}function Tre(e){return lb.add(e),()=>{lb.delete(e)}}function cT(){return Ka}function uT(){Fh({key:m$,tier:"info",text:kre})}function Are(){uT(),Hl&&clearInterval(Hl),Hl=setInterval(uT,Nre)}function p$(){Hl&&(clearInterval(Hl),Hl=null),Hh(m$)}function Mre(){return p.useSyncExternalStore(Tre,cT,cT)}function Rre(e){const t=e.text.trim();if(!t)return;g$();let n;try{n=vre(Im(t))}catch(s){const r=s instanceof Error?s.message:"Could not start brief voice";ju({...Ka,error:r});return}Lu=n,Cre(e.briefId),ju({speaking:!0,activeBriefId:e.briefId,lastSpokenBriefId:e.briefId,error:null}),Are(),n.promise.catch(s=>{if(!Cl(s)){const r=s instanceof Error?s.message:"Brief voice failed";console.warn("brief speech failed",s),ju({...Ka,error:r})}}).finally(()=>{Lu===n&&(Lu=null,p$(),ju({...Ka,speaking:!1,activeBriefId:null}))})}function g$(){const e=Lu;Lu=null,e?.stop(),p$(),ju({...Ka,speaking:!1,activeBriefId:null,error:null})}const cb="openscout:persistent-state-change";function Ire(e,t){typeof window>"u"||window.dispatchEvent(new CustomEvent(cb,{detail:{key:e,value:t}}))}function dT(e){try{return window.localStorage.getItem(e)}catch{return null}}function sw(e,t){try{window.localStorage.setItem(e,t)}catch{}Ire(e,t)}function aw(e){const[t,n]=p.useState(()=>typeof window>"u"?null:dT(e));return p.useEffect(()=>{n(dT(e));const s=o=>{const c=o.detail;!c||c.key!==e||n(c.value)},r=o=>{o.key===e&&n(o.newValue)};return window.addEventListener(cb,s),window.addEventListener("storage",r),()=>{window.removeEventListener(cb,s),window.removeEventListener("storage",r)}},[e]),t}function ub(e,t){const n=aw(e),s=n===null?t:n==="true",r=p.useCallback(o=>{sw(e,o?"true":"false")},[e]);return[s,r]}function v$(e,t){const n=aw(e),s=n===null?Number.NaN:Number(n),r=Number.isFinite(s)?s:t,o=p.useCallback(c=>{sw(e,String(c))},[e]);return[r,o]}function y$(e,t){const s=aw(e)??t,r=p.useCallback(o=>{sw(e,o)},[e]);return[s,r]}const x$=[{label:"30m",value:30*6e4},{label:"6h",value:360*6e4},{label:"24h",value:1440*6e4}],_re=x$[1].value,Ore=60*6e4,$re=5*6e4,b$=30*6e4,Pre="openscout.home.staleMotionInactive.v1",Dre=200;function w$(e,t){const n=Jt(e);if(n===null)return"—";const s=Math.max(0,Math.floor((t-n)/1e3));if(s<60)return`${s}s`;const r=Math.floor(s/60);if(r<60)return`${r}m`;const o=Math.floor(r/60);return o<48?`${o}h`:`${Math.floor(o/24)}d`}function rw(e,t=140){const n=(e??"").replace(/\s+/g," ").trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:""}function j$(e){return{handoff_sent:"handed off",handoff_received:"received handoff",flight_updated:"replied",ask_sent:"asked",ask_replied:"answered",message_sent:"said",message_received:"received"}[e]??e.replace(/[._]/g," ")}function Lre(e){return e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.recordId?{view:"work",workId:e.recordId}:e.agentId?{view:"agents",agentId:e.agentId}:null}function k$(e){const t=Math.round(e/6e4);if(t<60)return`${t}m`;const n=t/60;return`${Number.isInteger(n)?n:n.toFixed(1)}h`}function zre(e,t){const n=Jt(e);if(n===null)return"unknown";const s=Math.floor((n-t)/1e3);if(s<=0)return"expired";if(s<60)return`in ${s}s`;const r=Math.floor(s/60);if(r<60)return`in ${r}m`;const o=Math.floor(r/60);return o<48?`in ${o}h`:`in ${Math.floor(o/24)}d`}function _y(e,t){const n=Jt(e);return n!==null&&t-n<=b$}function Bre(e){try{const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};const n={};for(const[s,r]of Object.entries(t)){const o=typeof r=="number"?r:Number(r);s&&Number.isFinite(o)&&(n[s]=o)}return n}catch{return{}}}function fT(e){const t=Object.entries(e).filter(n=>Number.isFinite(n[1])).sort((n,s)=>s[1]-n[1]).slice(0,Dre);return JSON.stringify(Object.fromEntries(t))}function N$(e){return e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.collaborationRecordId?{view:"work",workId:e.collaborationRecordId}:{view:"agents",agentId:e.agentId}}function Ure(e){const t=[];return e.hasAgentState&&t.push("agent state"),e.askCount>0&&t.push(`${e.askCount} ask${e.askCount===1?"":"s"}`),t.join(" + ")||"stale state"}function Vre(e){return e<5?"Still up":e<12?"Good morning":e<18?"Good afternoon":"Good evening"}function lh(e){return e.status==="fulfilled"?null:e.reason instanceof Error?e.reason.message:String(e.reason)}function hT({navigate:e}){const{agents:t,onboarding:n,reload:s}=Je(),[r,o]=p.useState(null),[c,u]=p.useState(null),[h,f]=p.useState([]),[g,v]=p.useState("trailing 7d"),[y,x]=p.useState("3h buckets"),[w,k]=p.useState([]),[C,T]=p.useState(null),[S,N]=p.useState(!1),[E,A]=p.useState(!0),[R,M]=p.useState(!1),[$,O]=p.useState(null),[U,_]=p.useState(null),z=p.useRef(null),q=p.useRef(0),V=p.useRef(0),G=p.useRef(null);p.useEffect(()=>{G.current=r},[r]);const P=p.useCallback(async(he="initial")=>{const We=++q.current;!(G.current!==null)&&he!=="background"?(A(!0),O(null)):M(!0);const[it,xt,bn,Vn]=await Promise.allSettled([ye("/api/fleet"),ye("/api/operator-attention"),ye("/api/heartrate"),s()]);if(We!==q.current)return;it.status==="fulfilled"&&(G.current=it.value,o(it.value)),xt.status==="fulfilled"&&u(xt.value),bn.status==="fulfilled"&&(f(bn.value.buckets),v(bn.value.windowLabel),x(bn.value.bucketLabel??""));const nn=[lh(it),lh(xt),lh(bn),lh(Vn)].filter(qn=>!!qn);O(nn[0]??null),nn.length<4&&_(Date.now()),A(!1),M(!1)},[s]),H=p.useCallback(()=>{z.current||(z.current=setTimeout(()=>{z.current=null,P("background")},250))},[P]);p.useEffect(()=>(P(),()=>{z.current&&clearTimeout(z.current)}),[P]),an(H),p.useEffect(()=>{let he=!1;const We=async()=>{try{const it=await ye("/api/service-budgets");he||k(it.gauges??[])}catch{}};We();const Ve=setInterval(We,Ore);return()=>{he=!0,clearInterval(Ve)}},[]);const D=p.useCallback(async(he=!1)=>{he&&N(!0);try{const Ve=await ye(he?"/api/fleet/brief?refresh=1":"/api/fleet/brief");T(Ve)}catch{}finally{he&&N(!1)}},[]),K=Mre();p.useEffect(()=>{D();const he=setInterval(()=>{D()},$re);return()=>clearInterval(he)},[D]),p.useEffect(()=>{const he=setInterval(()=>{document.visibilityState==="visible"&&P("background")},15e3);return()=>clearInterval(he)},[P]),p.useEffect(()=>{const he=()=>{if(document.visibilityState!=="visible")return;const We=Date.now();We-V.current<1e3||(V.current=We,P("background"))};return window.addEventListener("focus",he),document.addEventListener("visibilitychange",he),()=>{window.removeEventListener("focus",he),document.removeEventListener("visibilitychange",he)}},[P]);const[W,L]=p.useState(_re),[F,Z]=p.useState(()=>Date.now()),[ee,X]=y$(Pre,"{}"),de=p.useMemo(()=>Bre(ee),[ee]);p.useEffect(()=>{const he=setInterval(()=>Z(Date.now()),1e3);return()=>clearInterval(he)},[]);const J=p.useMemo(()=>t.filter(he=>et(he.state)==="available"),[t]);p.useMemo(()=>t.filter(he=>et(he.state)==="offline"),[t]);const ae=p.useMemo(()=>[...r?.activeAsks??[],...r?.recentCompleted??[]].filter(he=>he.status==="needs_attention"||he.status==="failed"),[r]),je=p.useMemo(()=>(r?.activeAsks??[]).filter(he=>he.status==="queued"||he.status==="working"),[r]),Ee=p.useMemo(()=>je.filter(he=>_y(he.updatedAt,F)),[je,F]),pe=p.useMemo(()=>r?.needsAttention??[],[r]),Te=p.useMemo(()=>{const he=new Map;for(const We of Ee){const Ve=he.get(We.agentId),it=Jt(We.updatedAt)??0,xt=Jt(Ve?.updatedAt)??0;(!Ve||it>xt)&&he.set(We.agentId,We)}return he},[Ee]),re=p.useMemo(()=>t.filter(he=>et(he.state)==="working"&&(_y(he.updatedAt,F)||Te.has(he.id))),[Te,t,F]),Fe=p.useMemo(()=>new Set(re.map(he=>he.id)),[re]),Ce=p.useMemo(()=>t.filter(he=>et(he.state)==="working"&&!Fe.has(he.id)),[Fe,t]),Me=p.useMemo(()=>je.filter(he=>!_y(he.updatedAt,F)),[je,F]),_e=p.useMemo(()=>{const he=new Map,We=Ve=>{const it=he.get(Ve.agentId);if(!it){he.set(Ve.agentId,Ve);return}const xt=Ve.updatedAtMs>=it.updatedAtMs;he.set(Ve.agentId,{agentId:Ve.agentId,agentName:it.agentName||Ve.agentName,updatedAtMs:Math.max(it.updatedAtMs,Ve.updatedAtMs),summary:xt?Ve.summary:it.summary,route:xt?Ve.route:it.route,hasAgentState:it.hasAgentState||Ve.hasAgentState,askCount:it.askCount+Ve.askCount})};for(const Ve of Ce)We({agentId:Ve.id,agentName:Ve.name,updatedAtMs:Jt(Ve.updatedAt)??0,summary:Ve.cwd??Ve.projectRoot??Ve.project??Ve.branch??"Registered as working",route:{view:"agents",agentId:Ve.id,tab:"profile"},hasAgentState:!0,askCount:0});for(const Ve of Me)We({agentId:Ve.agentId,agentName:Ve.agentName??Ve.agentId,updatedAtMs:Jt(Ve.updatedAt)??0,summary:Ve.summary??Ve.task??Ve.statusLabel,route:N$(Ve),hasAgentState:!1,askCount:1});return[...he.values()].sort((Ve,it)=>it.updatedAtMs-Ve.updatedAtMs)},[Me,Ce]),He=p.useMemo(()=>_e.filter(he=>(de[he.agentId]??-1)<he.updatedAtMs),[de,_e]),qe=p.useMemo(()=>Ee.filter(he=>!re.some(We=>We.id===he.agentId)),[re,Ee]),nt=ae.length+pe.length,Re=c?.items??[],Ue=c?.totals.all??nt,Ie=p.useMemo(()=>{const he=[...ae.map(We=>We.updatedAt),...pe.map(We=>We.updatedAt),...Re.map(We=>We.updatedAt)].map(Jt).filter(We=>We!==null);return he.length>0?Math.min(...he):null},[Re,ae,pe]),Be=F-W,Pe=p.useMemo(()=>(r?.activity??[]).filter(We=>(Jt(We.ts)??0)>=Be),[r?.activity,Be]),at=new Date,ut=Vre(at.getHours()),rt=hd(),vt=n?.operatorName?.trim()||n?.operatorNameSuggestion?.trim()||"operator",ie=p.useMemo(()=>{const We=F-6e5,Ve=r?.activity??[],it=new Set(t.map(nn=>nn.name.toLowerCase())),xt=new Set(t.map(nn=>nn.id)),bn=new Set(["agent_message","status_message","ask_opened","ask_working","ask_failed","handoff_sent","collaboration_event"]),Vn=new Map;for(const nn of Ve){const qn=Jt(nn.ts);if(qn===null||qn<We||!bn.has(nn.kind))continue;const ps=nn.actorName?.trim();if(!ps||ps.toLowerCase()===vt.toLowerCase()||it.has(ps.toLowerCase())||nn.agentId&&xt.has(nn.agentId))continue;const ss=ps.toLowerCase(),Wn=Vn.get(ss),Es=Jt(Wn?.ts)??0;(!Wn||qn>Es)&&Vn.set(ss,nn)}return[...Vn.values()].sort((nn,qn)=>SO(nn.ts,qn.ts))},[r?.activity,F,t,vt]),fe=Jt(C?.expiresAt),Ae=fe!==null&&fe>F,Qe=p.useCallback(he=>{X(fT({...de,[he.agentId]:he.updatedAtMs}))},[X,de]),ue=p.useCallback(()=>{const he={...de};for(const We of He)he[We.agentId]=We.updatedAtMs;X(fT(he))},[X,de,He]),Ne=p.useCallback(()=>{document.getElementById("home-stale-motion")?.scrollIntoView({behavior:"smooth",block:"start"})},[]),De=p.useMemo(()=>{const he=[];if(Ue>0?he.push({id:"attention-age",label:"needs you",value:Ie?`oldest item has waited ${$e(Ie)}`:"operator queue has waiting work",tone:"warn"}):he.push({id:"attention-clear",label:"needs you",value:"no human-only queue in the current snapshot",tone:"ok"}),qe.length>0)he.push({id:"unanchored-work",label:"hidden motion",value:`${qe.length} moving ask${qe.length===1?"":"s"} without an active registered agent`,tone:"warn",route:{view:"activity"}});else if(He.length>0){const Ve=He.length;he.push({id:"stale-motion",label:"stale motion",value:`${Ve} old state${Ve===1?"":"s"} ready to mark inactive`,tone:"dim",onClick:Ne})}else ie.length>0?he.push({id:"organic-work",label:"organic work",value:`${ie.length} recent actor${ie.length===1?"":"s"} outside the managed roster`,tone:"ok",route:{view:"activity"}}):he.push({id:"hidden-clear",label:"hidden motion",value:"no recent untracked movement detected",tone:"dim"});const We=w.find(Ve=>Ve.kind==="status"?Ve.tone==="warn"||Ve.tone==="err":Ve.fill>=.75);return We?he.push({id:"service-pressure",label:"service pressure",value:We.kind==="status"?`${We.label} reports ${We.statusLabel.toLowerCase()}`:`${We.label} is at ${Math.round(We.fill*100)}% of ${We.unitLabel}`,tone:We.kind==="status"?We.tone:"warn",route:{view:"ops"}}):he.push({id:"service-pressure",label:"service pressure",value:"no usage pressure above threshold",tone:"ok",route:{view:"ops"}}),he.push({id:"brief-memory",label:"brief memory",value:C?`prepared ${$e(C.preparedAt)} · expires ${zre(C.expiresAt,F)}`:"no generated brief loaded yet",tone:Ae?"dim":"warn"}),he},[C,Ae,qe.length,F,ie.length,Ie,Ne,w,Ue,He.length]),dt=p.useMemo(()=>{const he=[];return re.length>0&&he.push(`${re.length} agent${re.length===1?" is":"s are"} working now`),J.length>0&&he.push(`${J.length} agent${J.length===1?" is":"s are"} available`),Ue>0&&he.push(`${Ue} thing${Ue===1?"":"s"} need${Ue===1?"s":""} you`),he.length===0&&t.length>0&&he.push(`${t.length} agent${t.length===1?" is":"s are"} registered`),he.length===0&&he.push("no agents are connected yet"),he},[re,J,Ue,t]),St=E?"syncing":$?`sync issue · ${U?$e(U):"waiting"}`:U?`updated ${$e(U)}`:"waiting",kt=p.useMemo(()=>{if(!C||!Ae)return"";const he=[],We=C.statement?.trim();We&&he.push(We);for(const Ve of C.observations??[]){const it=Ve.text?.trim();it&&he.push(it)}return he.join(". ")},[C,Ae]),Ct=p.useCallback(()=>{if(K.speaking){g$();return}!C||!kt||Rre({briefId:C.id,text:kt})},[K.speaking,kt,C]),Pt=!!kt,Mt=!!(C&&Ae&&C.id!==K.lastSpokenBriefId),$t={now:at,greeting:ut,operatorName:vt,syncLabel:St,error:$,loading:E,refreshing:R,briefRefreshing:S,onRefresh:()=>{P("manual")},onRegenerateBrief:()=>{D(!0)},onSpeakBrief:Pt||K.speaking?Ct:void 0,briefSpeaking:K.speaking,briefIsNew:Mt,totalOperatorQueue:Ue,narrativeParts:dt,briefStatement:C&&Ae?C.statement:null,briefObservations:C&&Ae?C.observations??[]:[],navigate:e,opsEnabled:rt,onReviewQueue:()=>{document.getElementById("home-needs-you")?.scrollIntoView({behavior:"smooth",block:"start"})},heartrate:h,heartrateWindow:g,heartrateBucketLabel:y,serviceGauges:w,systemSignals:De};return a.jsx("div",{className:"s-fleet-home",children:a.jsxs("div",{className:"s-fleet-home-inner",children:[a.jsx(Bae,{...$t}),(re.length>0||ie.length>0||qe.length>0)&&a.jsxs("div",{className:"s-fleet-section",children:[a.jsx(ch,{label:`What's moving · ${re.length+ie.length+qe.length}`,right:a.jsx("button",{className:"s-link-btn",onClick:()=>e({view:"mesh"}),children:"open mesh ↗"})}),(re.length>0||ie.length>0)&&a.jsxs("div",{className:"s-now-grid",style:{gridTemplateColumns:`repeat(${Math.min(re.length+ie.length,3)}, 1fr)`},children:[re.map(he=>a.jsx(Kre,{agent:he,ask:Te.get(he.id)??null,navigate:e},he.id)),ie.map(he=>a.jsx(Yre,{actor:he,nowMs:F,navigate:e},he.id))]}),qe.length>0&&a.jsx("div",{className:"s-moving-ask-list",children:qe.map(he=>a.jsx(Jre,{ask:he,navigate:e},he.invocationId))})]}),He.length>0&&a.jsxs("div",{className:"s-fleet-section",id:"home-stale-motion",children:[a.jsx(ch,{label:`Stale motion · ${He.length}`,right:a.jsx("button",{type:"button",className:"s-link-btn",onClick:ue,children:"mark all inactive"})}),a.jsx("div",{className:"s-stale-motion-list",children:He.map(he=>a.jsx(Qre,{item:he,navigate:e,onMarkInactive:()=>Qe(he)},he.agentId))})]}),a.jsxs("div",{className:"s-fleet-section",children:[a.jsx(ch,{label:`Live activity · ${Pe.length}`,right:a.jsx(eie,{value:W,onChange:L})}),Pe.length===0?a.jsxs("div",{className:"s-mc-empty",children:["Quiet — no activity in the last ",k$(W),"."]}):a.jsx("div",{className:"s-mc-stream s-fleet-live-stream",children:Pe.slice(0,30).map(he=>a.jsx(tie,{item:he,nowMs:F,onOpen:()=>{const We=Lre(he);We&&e(We)}},he.id))})]}),Ue>0&&a.jsxs("div",{className:"s-fleet-section",id:"home-needs-you",children:[a.jsx(ch,{label:`Network signals · ${Ue}`,right:Ie!==null?a.jsxs("span",{style:{color:"var(--amber)"},children:["oldest ",$e(Ie)]}):null}),Re.length>0?a.jsx(Fre,{items:Re,navigate:e,onResolved:he=>u(he)}):ae.length>0&&a.jsx("div",{className:"s-ask-grid",children:ae.slice(0,4).map(he=>a.jsx(Gre,{ask:he,agents:t,navigate:e,operatorName:vt,pending:!0},he.invocationId))}),Re.length===0&&pe.length>0&&a.jsx("div",{className:"s-attention-list",children:pe.map(he=>a.jsx(Zre,{item:he,navigate:e},he.recordId))})]})]})})}function ch({label:e,right:t}){return a.jsxs("div",{className:"s-section-rule",children:[a.jsx("span",{className:"s-eyebrow",children:e}),a.jsx("span",{className:"s-section-rule-line"}),t&&a.jsx("span",{className:"s-section-rule-right",children:t})]})}function Fre({items:e,navigate:t,onResolved:n}){return a.jsxs("div",{className:"s-operator-queue",children:[a.jsxs("div",{className:"s-operator-queue-head",children:[a.jsxs("div",{children:[a.jsx("div",{className:"s-operator-queue-title",children:"Operator queue"}),a.jsx("div",{className:"s-operator-queue-subtitle",children:"Permissions, questions, and setup blockers in one place."})]}),a.jsx("div",{className:"s-operator-queue-count",children:e.length})]}),a.jsx("div",{className:"s-operator-queue-list",children:e.map(s=>a.jsx(Wre,{item:s,navigate:t,onResolved:n},s.id))})]})}function Hre(e){switch(e){case"critical":return"blocked";case"warning":return"needs input";default:return"review"}}function qre(e){const t=e.actions.find(n=>n.route)?.route;return t||(e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.agentId?{view:"agents",agentId:e.agentId}:null)}function Wre({item:e,navigate:t,onResolved:n}){const[s,r]=p.useState(null),[o,c]=p.useState(!1),[u,h]=p.useState(null),f=qre(e),g=e.actions.find(T=>T.kind==="copy"&&T.value),v=e.actions.find(T=>T.kind==="approve"),y=e.actions.find(T=>T.kind==="deny"),x=e.actions.find(T=>T.kind==="dismiss"),w=async T=>{if(e.approval){r(T),h(null);try{const S=await ye("/api/operator-attention/approvals/decide",{method:"POST",body:JSON.stringify({sessionId:e.approval.sessionId,turnId:e.approval.turnId,blockId:e.approval.blockId,version:e.approval.version,decision:T})});n(S)}catch(S){h(S instanceof Error?S.message:String(S))}finally{r(null)}}},k=()=>{g?.value&&navigator.clipboard.writeText(g.value).then(()=>{c(!0),window.setTimeout(()=>c(!1),1400)})},C=async()=>{if(!x?.unblockRequestId&&!x?.flightId&&(!x?.recordKind||!x.recordId)){h("This queue item cannot be dismissed from here yet.");return}r("dismiss"),h(null);try{if(x.unblockRequestId)await qh({unblockRequestId:x.unblockRequestId,itemUpdatedAt:e.updatedAt});else if(x.flightId)await qh({flightId:x.flightId,itemUpdatedAt:e.updatedAt});else{const S=x.recordKind,N=x.recordId;if(!S||!N)throw new Error("This queue item cannot be dismissed from here yet.");await qh({recordKind:S,recordId:N,itemUpdatedAt:e.updatedAt})}const T=await ye("/api/operator-attention");n(T)}catch(T){h(T instanceof Error?T.message:String(T))}finally{r(null)}};return a.jsxs("div",{className:`s-operator-card s-operator-card--${e.severity}`,children:[a.jsxs("div",{className:"s-operator-card-main",children:[a.jsxs("div",{className:"s-operator-card-top",children:[a.jsx("span",{className:"s-eyebrow",children:e.sourceLabel}),a.jsx("span",{className:"s-operator-card-severity",children:Hre(e.severity)}),a.jsx("span",{className:"s-operator-card-age",children:$e(e.updatedAt)})]}),a.jsx("div",{className:"s-operator-card-title",children:e.title}),e.summary&&a.jsx("div",{className:"s-operator-card-summary",children:e.summary}),e.detail&&a.jsx("div",{className:"s-operator-card-detail",children:e.detail}),e.agentName&&a.jsx("div",{className:"s-operator-card-meta",children:e.agentName}),u&&a.jsx("div",{className:"s-operator-card-error",children:u})]}),a.jsxs("div",{className:"s-operator-card-actions",children:[v&&a.jsxs("button",{type:"button",className:"s-icon-btn s-icon-btn--primary",disabled:!!s,title:"Approve",onClick:()=>{w("approve")},children:[a.jsx(zA,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:s==="approve"?"Approving":v.label})]}),y&&a.jsxs("button",{type:"button",className:"s-icon-btn",disabled:!!s,title:"Deny",onClick:()=>{w("deny")},children:[a.jsx(Gl,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:s==="deny"?"Denying":y.label})]}),g&&a.jsxs("button",{type:"button",className:"s-icon-btn",title:"Copy fix",onClick:k,children:[a.jsx(FA,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:o?"Copied":g.label})]}),e.actions.some(T=>T.kind==="configure")&&a.jsxs("button",{type:"button",className:"s-icon-btn",title:"Open settings",onClick:()=>t({view:"settings"}),children:[a.jsx(Wm,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:"Settings"})]}),f&&a.jsxs("button",{type:"button",className:"s-icon-btn",title:"Open source",onClick:()=>t(f),children:[a.jsx(oc,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:"Open"})]}),x&&a.jsxs("button",{type:"button",className:"s-icon-btn",disabled:!!s,title:"Dismiss from queue",onClick:()=>{C()},children:[a.jsx(Gl,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:s==="dismiss"?"Dismissing":x.label})]})]})]})}function Gre({ask:e,agents:t,navigate:n,operatorName:s,pending:r}){const c=t.find(h=>h.id===e.agentId)?.name??e.agentName??e.agentId,u=e.conversationId?{view:"conversation",conversationId:e.conversationId}:{view:"agents",agentId:e.agentId};return a.jsxs("div",{className:`s-ask-block${r?" s-ask-block--pending":""}`,style:{cursor:"pointer"},onClick:()=>n(u),children:[a.jsxs("div",{className:"s-ask-header",children:[a.jsx("span",{className:"s-eyebrow s-ask-label",children:r?"◌ ASK — ATTENTION":"● ASK"}),a.jsx("span",{style:{flex:1}}),a.jsx("span",{className:"s-eyebrow",children:$e(e.updatedAt)})]}),a.jsxs("div",{className:"s-ask-body",children:[a.jsx("div",{className:"s-avatar s-avatar-sm",style:{background:en(c)},children:c[0]?.toUpperCase()??"?"}),a.jsxs("div",{className:"s-ask-body-copy",children:[a.jsxs("div",{className:"s-ask-route",children:[a.jsx("span",{className:"s-ask-route-name",children:c}),a.jsx("span",{children:" → "}),a.jsx("span",{style:{color:"var(--accent)"},children:s})]}),a.jsxs("div",{className:"s-ask-text",children:['"',e.summary??e.task,'"']})]})]}),r&&a.jsxs("div",{className:"s-ask-actions",children:[a.jsx("button",{className:"s-btn-fleet s-btn-fleet--primary",children:"Answer"}),a.jsx("button",{className:"s-btn-fleet",children:"Defer"}),a.jsx("button",{className:"s-btn-fleet",children:"Route…"}),a.jsx("span",{className:"s-ask-thinking",children:a.jsx("span",{className:"s-thinking-strip"})})]})]})}function Zre({item:e,navigate:t}){const n=e.kind==="work_item"&&e.recordId?{view:"work",workId:e.recordId}:e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.agentId?{view:"agents",agentId:e.agentId}:null,s=e.kind==="question"?"question":e.state.replace(/_/g," "),r=e.acceptanceState!=="none"?e.kind==="question"?e.acceptanceState.replace(/_/g," "):"agent-owned":e.kind==="question"?"awaiting answer":"surfaced",o=e.kind==="question"?"answer":e.state==="review"?"view plan":e.acceptanceState==="pending"?"view signal":"open work";return a.jsxs("div",{className:`s-attention-row${n?" s-attention-row--clickable":""}`,onClick:n?()=>t(n):void 0,children:[a.jsx("div",{className:"s-attention-row-title",children:e.title}),a.jsxs("div",{className:"s-attention-row-meta",children:[a.jsx("span",{className:"s-eyebrow",children:e.kind==="work_item"?"WORK ITEM":"QUESTION"}),e.agentName&&a.jsx("span",{children:e.agentName}),a.jsx("span",{children:s}),a.jsx("span",{style:{color:"var(--amber)"},children:r}),a.jsx("span",{style:{marginLeft:"auto"},children:$e(e.updatedAt)}),n&&a.jsxs("span",{className:"s-attention-row-action",children:[o," ↗"]})]}),e.summary&&a.jsx("p",{className:"s-attention-row-summary",children:e.summary})]})}function Kre({agent:e,ask:t,navigate:n}){const s=e.handle?`@${e.handle}`:e.id,r=e.role??e.agentClass,o=e.branch??"main",c=ns(e.id),u=t?.summary??t?.task??e.cwd??`Working in ${e.project??"workspace"}`;return a.jsxs("div",{className:"s-now-card",onClick:()=>n({view:"agents",agentId:e.id,conversationId:c,tab:"observe"}),children:[a.jsxs("div",{className:"s-now-card-head",children:[a.jsx("div",{className:"s-avatar s-avatar-sm",style:{background:en(e.name)},children:e.name[0]?.toUpperCase()??"?"}),a.jsxs("div",{className:"s-now-card-copy",children:[a.jsx("div",{className:"s-now-card-name",children:e.name}),a.jsxs("div",{className:"s-now-card-meta",children:[s," · ",r]})]}),a.jsx("span",{className:"s-now-card-live",children:"● live"})]}),a.jsx("div",{className:"s-now-card-task",children:u}),a.jsxs("div",{className:"s-now-card-ticker",children:[a.jsx("span",{className:"s-now-card-ticker-prompt",children:"›"}),a.jsx("span",{className:"s-now-card-ticker-text",children:t?`${t.statusLabel} · ${t.harness??e.harness??"agent"}`:"working"}),a.jsx("span",{className:"s-now-card-cursor"})]}),a.jsxs("div",{className:"s-now-card-footer",children:[a.jsx("span",{children:e.updatedAt?`updated ${$e(e.updatedAt)}`:"active"}),a.jsx("span",{children:o})]})]})}function Yre({actor:e,nowMs:t,navigate:n}){const s=e.actorName??"—",r=s[0]?.toUpperCase()??"?",o=j$(e.kind),c=rw(e.title??e.summary,140),u=e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.recordId?{view:"work",workId:e.recordId}:e.agentId?{view:"agents",agentId:e.agentId}:null,h=Xre(s);return a.jsxs("div",{className:"s-now-card s-now-card--observed",style:{cursor:u?"pointer":"default"},onClick:()=>{u&&n(u)},children:[a.jsxs("div",{className:"s-now-card-head",children:[a.jsx("div",{className:"s-avatar s-avatar-sm",style:{background:en(s)},children:r}),a.jsxs("div",{className:"s-now-card-copy",children:[a.jsx("div",{className:"s-now-card-name",children:s}),a.jsxs("div",{className:"s-now-card-meta",children:["observed",h?` · ${h}`:""," · ",o]})]}),a.jsx("span",{className:"s-now-card-live s-now-card-live--observed",children:"~ live"})]}),a.jsx("div",{className:"s-now-card-task",children:c||"(no recent text)"}),a.jsxs("div",{className:"s-now-card-ticker",children:[a.jsx("span",{className:"s-now-card-ticker-prompt",children:"›"}),a.jsx("span",{className:"s-now-card-ticker-text",children:e.kind.replace(/[._]/g," ")})]}),a.jsxs("div",{className:"s-now-card-footer",children:[a.jsxs("span",{children:["updated ",w$(e.ts,t)]}),a.jsx("span",{children:"unmanaged"})]})]})}function Xre(e){const t=e.toLowerCase();return t.includes("claude")?"claude":t.includes("codex")?"codex":t.includes("gemini")?"gemini":t.includes("hudson")?"hudson":null}function Jre({ask:e,navigate:t}){const n=N$(e);return a.jsxs("button",{className:"s-moving-ask-row",onClick:()=>t(n),children:[a.jsx("span",{className:"s-moving-ask-agent",children:e.agentName??e.agentId}),a.jsx("span",{className:"s-moving-ask-title",children:e.summary??e.task}),a.jsx("span",{className:"s-moving-ask-state",children:e.statusLabel}),a.jsx("span",{className:"s-moving-ask-time",children:$e(e.updatedAt)})]})}function Qre({item:e,navigate:t,onMarkInactive:n}){const s=e.updatedAtMs>0?$e(e.updatedAtMs):"unknown",r=Ure(e),o=rw(e.summary,180);return a.jsxs("div",{className:"s-stale-motion-row",children:[a.jsxs("button",{type:"button",className:"s-stale-motion-main",onClick:()=>t(e.route),children:[a.jsx("span",{className:"s-avatar s-avatar-sm",style:{background:en(e.agentName)},children:e.agentName[0]?.toUpperCase()??"?"}),a.jsxs("span",{className:"s-stale-motion-copy",children:[a.jsx("span",{className:"s-stale-motion-name",children:e.agentName}),a.jsxs("span",{className:"s-stale-motion-meta",children:[a.jsxs("span",{children:["last signal ",s]}),a.jsx("span",{children:r}),a.jsxs("span",{children:["hidden after ",k$(b$)," idle"]})]}),o&&a.jsx("span",{className:"s-stale-motion-summary",children:o})]})]}),a.jsxs("div",{className:"s-stale-motion-actions",children:[a.jsxs("button",{type:"button",className:"s-icon-btn",title:"Open stale source",onClick:()=>t(e.route),children:[a.jsx(oc,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:"Open"})]}),a.jsxs("button",{type:"button",className:"s-icon-btn",title:"Mark inactive",onClick:n,children:[a.jsx(zA,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:"Mark inactive"})]})]})]})}function eie({value:e,onChange:t}){return a.jsxs("div",{className:"s-mc-window",role:"group","aria-label":"Lookback window",children:[a.jsx("span",{className:"s-mc-window-label",children:"Lookback"}),a.jsx("div",{className:"s-mc-window-tabs",children:x$.map(n=>a.jsx("button",{type:"button",className:`s-mc-window-tab${n.value===e?" is-active":""}`,onClick:()=>t(n.value),children:n.label},n.value))})]})}function tie({item:e,nowMs:t,onOpen:n}){const s=e.actorName??"—",r=j$(e.kind),o=rw(e.title??e.summary,110);return a.jsxs("button",{type:"button",className:"s-mc-stream-row",onClick:n,children:[a.jsx("span",{className:"s-mc-stream-time",children:w$(e.ts,t)}),a.jsx("span",{className:"s-mc-stream-actor",children:s}),a.jsx("span",{className:"s-mc-stream-verb",children:r}),a.jsx("span",{className:"s-mc-stream-text",children:o})]})}const nie=new Set(["working","available","offline"]),S$="openscout.mesh.machinePositions.v1";function sie(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(S$);if(!e)return{};const t=JSON.parse(e);if(t&&typeof t=="object"){const n={};for(const[s,r]of Object.entries(t))r&&typeof r=="object"&&typeof r.x=="number"&&typeof r.y=="number"&&(n[s]={x:r.x,y:r.y});return n}}catch{}return{}}function C$(e){if(!(typeof window>"u"))try{window.localStorage.setItem(S$,JSON.stringify(e))}catch{}}let ht={mode:"map",density:"comfortable",selectedId:null,selectedType:null,meshSnapshot:null,probeCache:{},query:"",stateFilter:"all",agentStateFilters:nie,hiddenMachineIds:new Set,collapsedMachineIds:new Set,treeFullMachineIds:new Set,scrollTargetMachineId:null,machinePositions:sie()};const db=new Set;function is(){for(const e of db)e()}function mT(e){ht.mode!==e&&(ht={...ht,mode:e},is())}function Oy(e){ht.density!==e&&(ht={...ht,density:e},is())}function ql(e,t){ht.selectedId===e&&ht.selectedType===t||(ht={...ht,selectedId:e,selectedType:t},is())}function Om(e){ht={...ht,meshSnapshot:e},is()}function E$(e){ht.query!==e&&(ht={...ht,query:e},is())}function $y(e){ht.stateFilter!==e&&(ht={...ht,stateFilter:e},is())}function aie(e){const t=new Set(ht.agentStateFilters);t.has(e)?t.delete(e):t.add(e),ht={...ht,agentStateFilters:t},is()}function pT(e){const t=new Set(ht.treeFullMachineIds);t.has(e)?t.delete(e):t.add(e),ht={...ht,treeFullMachineIds:t},is()}function T$(e){const t=new Set(ht.hiddenMachineIds);t.has(e)?t.delete(e):t.add(e),ht={...ht,hiddenMachineIds:t},is()}function rie(e,t){const n=new Set;for(const s of t)s!==e&&n.add(s);ht={...ht,hiddenMachineIds:n},is()}function iie(){ht.hiddenMachineIds.size!==0&&(ht={...ht,hiddenMachineIds:new Set},is())}function oie(e){const t=new Set(ht.collapsedMachineIds);t.has(e)?t.delete(e):t.add(e),ht={...ht,collapsedMachineIds:t},is()}function lie(e,t){const n={...ht.machinePositions,[e]:t};ht={...ht,machinePositions:n},C$(n),is()}function cie(){if(Object.keys(ht.machinePositions).length===0)return;const e={};ht={...ht,machinePositions:e},C$(e),is()}function fb(e){ht={...ht,scrollTargetMachineId:e},is(),queueMicrotask(()=>{ht.scrollTargetMachineId===e&&(ht={...ht,scrollTargetMachineId:null},is())})}function uie(e){return db.add(e),()=>{db.delete(e)}}function die(){return ht}function sc(){return p.useSyncExternalStore(uie,die)}function gT(e){return e?e.replace(/^\/Users\/[^/]+/,"~"):null}const fie=p.forwardRef(function({agent:t,pinned:n,onOpen:s,onClose:r,style:o,className:c},u){const h=et(t.state),f=gT(t.cwd)??gT(t.projectRoot),g=t.handle??t.name,v=h==="working"?"Working":h==="available"?"Available":"Offline";return a.jsxs("div",{ref:u,className:`agent-card${n?" agent-card--pinned":""}${c?` ${c}`:""}`,style:o,role:"dialog","aria-label":`${g} details`,children:[a.jsxs("header",{className:"agent-card-head",children:[a.jsx("div",{className:"agent-card-name",children:g}),a.jsxs("div",{className:"agent-card-meta",children:[a.jsx("span",{className:`agent-card-dot agent-card-dot--${h}`,style:h==="working"?{background:Un(t.state)}:void 0}),a.jsx("span",{className:`agent-card-state agent-card-state--${h}`,children:v}),t.updatedAt&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep",children:"·"}),a.jsx("span",{className:"agent-card-time",children:$e(t.updatedAt)})]})]})]}),a.jsxs("div",{className:"agent-card-body",children:[f&&a.jsx(yl,{label:"cwd",children:a.jsx("code",{className:"agent-card-mono",children:f})}),(t.project||t.branch)&&a.jsx(yl,{label:"project",children:a.jsxs("span",{className:"agent-card-mono",children:[t.project??"—",t.branch&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-branch",children:t.branch})]})]})}),(t.harness||t.model)&&a.jsx(yl,{label:"harness",children:a.jsxs("span",{className:"agent-card-mono",children:[t.harness??"—",t.model&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-model",children:t.model})]})]})}),t.transport&&a.jsx(yl,{label:"transport",children:a.jsx("span",{className:"agent-card-mono",children:t.transport})}),t.role&&a.jsx(yl,{label:"role",children:a.jsx("span",{className:"agent-card-mono",children:t.role})}),t.capabilities&&t.capabilities.length>0&&a.jsx(yl,{label:"capabilities",children:a.jsxs("div",{className:"agent-card-caps",children:[t.capabilities.slice(0,8).map(y=>a.jsx("span",{className:"agent-card-cap",children:y},y)),t.capabilities.length>8&&a.jsxs("span",{className:"agent-card-cap agent-card-cap--more",children:["+",t.capabilities.length-8]})]})})]}),a.jsxs("footer",{className:"agent-card-foot",children:[a.jsxs("button",{type:"button",className:"agent-card-link",onClick:s,children:["Open agent ",a.jsx("span",{"aria-hidden":!0,children:"→"})]}),n&&a.jsx("button",{type:"button",className:"agent-card-close",onClick:r,"aria-label":"Close",children:"esc"})]})]})});function yl({label:e,children:t}){return a.jsxs("div",{className:"agent-card-field",children:[a.jsx("span",{className:"agent-card-label",children:e}),a.jsx("div",{className:"agent-card-value",children:t})]})}const zu=340,hb=16,hie=180,mie=100,vT=zu+hb;function pie(e,t){const n=window.innerWidth,s=window.innerHeight,r=12,o=n-e.right,c=e.left;if(o<vT&&c<vT)return{top:Math.max(r,Math.min(s/2-t/2,s-t-r)),left:Math.max(r,n/2-zu/2),side:"center"};const u=o>=c?"right":"left",h=u==="right"?Math.min(e.right+hb,n-zu-r):Math.max(e.left-hb-zu,r),g=e.top+e.height/2-t/2;return{top:Math.max(r,Math.min(g,s-t-r)),left:h,side:u}}function iw({agents:e,orderedIds:t,navigate:n,selectMode:s="preview"}){const[r,o]=p.useState(null),[c,u]=p.useState(null),[h,f]=p.useState(null),g=p.useRef(new Map),v=p.useRef(null),y=p.useRef(null),x=p.useRef(null),w=p.useRef(null),k=c??r,C=p.useMemo(()=>k?e.find(q=>q.id===k)??null:null,[k,e]),T=p.useMemo(()=>c?e.find(q=>q.id===c)??null:null,[c,e]),S=p.useCallback(()=>{v.current&&(window.clearTimeout(v.current),v.current=null),y.current&&(window.clearTimeout(y.current),y.current=null)},[]);p.useEffect(()=>()=>S(),[S]),p.useEffect(()=>{if(!k){f(null);return}const q=g.current.get(k);if(!q)return;const V=()=>{const P=q.getBoundingClientRect(),H=x.current?.offsetHeight??260;f(pie(P,H))};V(),window.addEventListener("scroll",V,!0),window.addEventListener("resize",V);const G=new ResizeObserver(V);return x.current&&G.observe(x.current),()=>{window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V),G.disconnect()}},[k]),p.useEffect(()=>{if(!c)return;const q=G=>{G.key==="Escape"&&(u(null),o(null))},V=G=>{const P=G.target;if(!x.current?.contains(P)){for(const H of g.current.values())if(H.contains(P))return;u(null)}};return window.addEventListener("keydown",q),window.addEventListener("mousedown",V),()=>{window.removeEventListener("keydown",q),window.removeEventListener("mousedown",V)}},[c]);const N=p.useCallback(q=>{if(!q)return;const V=g.current.get(q);V&&(typeof V.focus=="function"&&V.focus({preventScroll:!1}),V.scrollIntoView({block:"nearest",behavior:"smooth"}))},[]);p.useEffect(()=>{const q=w.current;if(!q)return;const V=G=>{const P=document.activeElement,H=P?.dataset?.agentId??null,D=t;if(!(D.length===0||!q.contains(P)&&G.key!=="Escape")){if(G.key==="ArrowDown"||G.key==="ArrowUp"){G.preventDefault();const W=H?D.indexOf(H):-1,L=G.key==="ArrowDown"?W<0?0:Math.min(W+1,D.length-1):W<=0?0:W-1;N(D[L]);return}if(G.key==="Home"){G.preventDefault(),N(D[0]);return}if(G.key==="End"){G.preventDefault(),N(D[D.length-1]);return}G.key.toLowerCase()==="o"&&H&&!G.metaKey&&!G.ctrlKey&&!G.altKey&&(G.preventDefault(),n({view:"agents",agentId:H}))}};return q.addEventListener("keydown",V),()=>q.removeEventListener("keydown",V)},[t,N,n]);const E=p.useCallback(q=>{if(S(),!(c&&c!==q)){if(r||c===q){o(q);return}v.current=window.setTimeout(()=>{o(q),v.current=null},hie)}},[S,r,c]),A=p.useCallback(()=>{c||(v.current&&(window.clearTimeout(v.current),v.current=null),y.current=window.setTimeout(()=>{o(null),y.current=null},mie))},[c]),R=p.useCallback(q=>{if(s==="navigate"){n({view:"agents",agentId:q});return}S(),u(V=>V===q?null:q),o(q)},[s,n,S]),M=p.useCallback(()=>{C&&n({view:"agents",agentId:C.id})},[C,n]),$=p.useCallback(()=>{S(),u(null),o(null)},[S]),O=p.useCallback(q=>({ref:V=>{V?g.current.set(q,V):g.current.delete(q)},onMouseEnter:()=>E(q),onMouseLeave:()=>A(),onFocus:()=>E(q),onBlur:()=>A(),onClick:()=>R(q),"data-agent-id":q,tabIndex:0}),[E,A,R]),U=p.useCallback(q=>({isActive:k===q,isPinned:c===q}),[k,c]),_=h?{position:"fixed",top:h.top,left:h.left,width:zu}:void 0,z=C&&h&&typeof document<"u"?Mr.createPortal(a.jsx(fie,{ref:x,agent:C,pinned:c===C.id,onOpen:M,onClose:$,style:_,className:`agent-card--side-${h.side}${c===C.id?"":" agent-card--preview"}`}),document.querySelector("[data-scout-theme]")??document.body):null;return{bind:O,getState:U,activeAgent:C,pinnedAgent:T,clear:$,card:z,containerRef:w}}function ac(e){return e?e.replace(/^https?:\/\//,"").split("/")[0].split(":")[0].split(".")[0]||e.slice(0,8):""}function yT(e){return e&&((e.hostName?ac(e.hostName):null)||e.name)||"this host"}function gie(e){return ac(e.hostName)||e.name||"tailnet peer"}function vie(e){return ac(e.dnsName)||ac(e.hostName)||(e.name??"").toLowerCase()}function yie(e){return ac(e.hostName)||(e.name?ac(e.name):"")}function ow(e,t){const n=new Map,s=t.localNode?.id??"local",r=yT(t.localNode),o=(t.localNode&&t.nodes?.[t.localNode.id]?.host)??t.nodes?.[s]?.host;n.set(s,{machineId:s,machineLabel:r,reachability:"this",online:!0,host:o,agents:[]});for(const h of e){const f=h.homeNodeId??s;let g=n.get(f);if(!g){const v=t.nodes?.[f];g={machineId:f,machineLabel:yT(v)||h.homeNodeName||f,reachability:"peer",online:!0,host:v?.host,agents:[]},n.set(f,g)}g.agents.push(h)}const c=new Set;for(const h of n.values()){c.add(h.machineLabel.toLowerCase());const f=t.nodes?.[h.machineId];if(f){const g=yie(f);g&&c.add(g.toLowerCase())}}for(const h of t.tailscale?.peers??[]){const f=gie(h),g=vie(h).toLowerCase();if(g&&c.has(g)||c.has(f.toLowerCase()))continue;const v=`tailnet:${h.id}`;n.has(v)||(n.set(v,{machineId:v,machineLabel:f,reachability:"tailnet",online:!!(h.online&&t.tailscale?.running),agents:[]}),g&&c.add(g),c.add(f.toLowerCase()))}const u=h=>h.reachability==="this"?0:h.reachability==="peer"?1:2;return Array.from(n.values()).sort((h,f)=>{const g=u(h)-u(f);return g!==0?g:h.machineLabel.localeCompare(f.machineLabel)})}function xie(e,t){if(t.type==="pan")return{...e,pan:{x:e.pan.x+t.delta.x,y:e.pan.y+t.delta.y}};if(t.type==="zoom"){const n=Math.max(.25,Math.min(4,e.scale*t.factor)),{mx:s,my:r,cx:o,cy:c}=t,u=(s-o)/e.scale-e.pan.x,h=(r-c)/e.scale-e.pan.y;return{scale:n,pan:{x:(s-o)/n-u,y:(r-c)/n-h}}}return e}const A$="openscout.mesh.canvas.viewport.v1";function bie(){const e={pan:{x:0,y:0},scale:1};if(typeof window>"u")return e;try{const t=window.sessionStorage.getItem(A$);if(!t)return e;const n=JSON.parse(t);if(n&&typeof n=="object"&&typeof n.scale=="number"&&n.pan&&typeof n.pan.x=="number"&&typeof n.pan.y=="number")return{pan:{x:n.pan.x,y:n.pan.y},scale:n.scale}}catch{}return e}function wie(e){const t=e.name&&e.name.trim()||e.handle&&e.handle.trim()||e.harness&&e.harness.trim()||"agent";return{key:t.toLowerCase(),label:t}}function jie(e){const t=new Map;for(const n of e){const{key:s,label:r}=wie(n);let o=t.get(s);o||(o={key:s,label:r,instances:[]},t.set(s,o)),o.instances.push(n)}return Array.from(t.values()).map(n=>(n.instances.sort((s,r)=>s.id.localeCompare(r.id)),n)).sort((n,s)=>{const r=n.label.localeCompare(s.label);return r!==0?r:s.instances.length-n.instances.length})}function kie(e){switch(e){case"compact":return{density:e,instanceW:138,instanceH:32,stepX:144,stepY:38,clusterPadX:12,clusterPadY:12,labelH:22,clusterGap:16};case"spacious":return{density:e,instanceW:260,instanceH:68,stepX:268,stepY:76,clusterPadX:14,clusterPadY:14,labelH:26,clusterGap:16};default:return{density:"comfortable",instanceW:210,instanceH:52,stepX:218,stepY:60,clusterPadX:12,clusterPadY:12,labelH:24,clusterGap:14}}}function Nie(e,t){return Math.max(1,Math.round(Math.sqrt(e*t)))}function Sie(e,t,n){if(e.length===0)return[];const s=e.map(T=>{const S=T.instances.length,N=Nie(S,Math.max(.6,Math.min(n,2))),E=Math.ceil(S/N),A=N*t.stepX-(t.stepX-t.instanceW),R=E*t.stepY-(t.stepY-t.instanceH);return{cluster:T,cols:N,width:A+t.clusterPadX*2,height:R+t.clusterPadY*2+t.labelH}}),r=s.reduce((T,S)=>T+S.width*S.height,0),o=Math.max(Math.max(...s.map(T=>T.width)),Math.sqrt(r*n)),c=t.clusterGap,u=[];let h=0,f=0,g=0;for(const T of s)h>0&&h+T.width>o&&(f+=g+c,h=0,g=0),u.push({cluster:T.cluster,x:h,y:f,width:T.width,height:T.height,cols:T.cols}),h+=T.width+c,g=Math.max(g,T.height);const v=Math.min(...u.map(T=>T.x)),y=Math.max(...u.map(T=>T.x+T.width)),x=Math.min(...u.map(T=>T.y)),w=Math.max(...u.map(T=>T.y+T.height)),k=-((v+y)/2),C=-((x+w)/2);return u.map(T=>({...T,x:T.x+k,y:T.y+C}))}function Cie(e,t,n){const s=e%t,r=Math.floor(e/t);return{x:n.clusterPadX+s*n.stepX,y:n.labelH+n.clusterPadY+r*n.stepY}}function lw(e){const t=e.harness?.trim(),n=e.model?.trim();return t&&n?`${t}/${n}`:t||n||"—"}function cw(e){const t=e.project?.trim(),n=e.branch?.trim();return t&&n?`${t}/${n}`:t||n||"—"}function $m(e){return e.cwd||e.projectRoot||"—"}function uw({onClick:e}){return a.jsx("button",{type:"button",className:"mesh-sheet-open",title:"Open agent view","aria-label":"Open agent view",onClick:t=>{t.stopPropagation(),e()},children:"↗"})}function Eie({agent:e,onOpen:t,bindings:n,active:s}){const r=et(e.state),o=e.agentClass==="organic",c=e.updatedAt?$e(e.updatedAt):"",u=lw(e),h=cw(e);return a.jsxs("div",{...n??{},className:`mesh-instance-spec mesh-instance-spec--${r}${o?" mesh-instance-spec--organic":""}${s?" mesh-instance--active":""}`,style:{"--state-stripe":Un(e.state)},title:`${u} — ${h}`,children:[a.jsxs("span",{className:"mesh-instance-spec-row",children:[a.jsx("span",{className:"mesh-instance-spec-primary",children:u}),c&&a.jsx("span",{className:"mesh-instance-spec-time",children:c})]}),a.jsxs("span",{className:"mesh-instance-spec-row",children:[a.jsx("span",{className:"mesh-instance-spec-secondary",children:h}),a.jsx(uw,{onClick:t})]})]})}function Tie({agent:e,onOpen:t,bindings:n,active:s}){const r=et(e.state),o=e.agentClass==="organic",c=e.updatedAt?$e(e.updatedAt):"—",u=`${lw(e)} · ${cw(e)}`;return a.jsxs("div",{...n??{},className:`mesh-instance-sheet mesh-instance-sheet--${r}${o?" mesh-instance-sheet--organic":""}${s?" mesh-instance--active":""}`,style:{"--state-stripe":Un(e.state)},title:`${u}
|
|
172
|
+
${$m(e)}`,children:[a.jsxs("span",{className:"mesh-sheet-line mesh-sheet-line--head",children:[a.jsx("span",{className:"mesh-sheet-id",children:u}),a.jsx("span",{className:"mesh-sheet-time",children:c}),a.jsx(uw,{onClick:t})]}),a.jsxs("span",{className:"mesh-sheet-line",children:[a.jsx("span",{className:"mesh-sheet-path",children:$m(e)}),a.jsxs("span",{className:"mesh-sheet-ctx",children:[a.jsx("span",{className:"mesh-sheet-ctx-label",children:"CTX"})," —"]})]})]})}function Aie({agent:e,onOpen:t,bindings:n,active:s}){const r=et(e.state),o=e.agentClass==="organic",c=e.updatedAt?$e(e.updatedAt):"—",u=`${lw(e)} · ${cw(e)}`,h=e.agentClass?.trim();return a.jsxs("div",{...n??{},className:`mesh-instance-sheet mesh-instance-sheet--spacious mesh-instance-sheet--${r}${o?" mesh-instance-sheet--organic":""}${s?" mesh-instance--active":""}`,style:{"--state-stripe":Un(e.state)},title:`${u}
|
|
173
|
+
${$m(e)}`,children:[a.jsxs("span",{className:"mesh-sheet-line mesh-sheet-line--head",children:[a.jsx("span",{className:"mesh-sheet-id",children:u}),a.jsx("span",{className:"mesh-sheet-time",children:c}),a.jsx(uw,{onClick:t})]}),a.jsx("span",{className:"mesh-sheet-line",children:a.jsx("span",{className:"mesh-sheet-path",children:$m(e)})}),a.jsxs("span",{className:"mesh-sheet-line",children:[a.jsxs("span",{className:"mesh-sheet-ctx",children:[a.jsx("span",{className:"mesh-sheet-ctx-label",children:"CTX"})," —"]}),h&&a.jsx("span",{className:"mesh-sheet-tag",children:h})]})]})}function Mie({layout:e,metrics:t,onAgentOpen:n,bindFor:s,activeId:r}){const{cluster:o,x:c,y:u,width:h,height:f,cols:g}=e,v=p.useMemo(()=>{const y={working:0,available:0,offline:0};for(const x of o.instances)y[et(x.state)]+=1;return y},[o.instances]);return a.jsxs("div",{className:"mesh-cluster",style:{position:"absolute",left:c,top:u,width:h,height:f},children:[a.jsxs("div",{className:"mesh-cluster-header",style:{height:t.labelH},children:[a.jsx("span",{className:"mesh-cluster-name",children:o.label}),a.jsx("span",{className:"mesh-cluster-count",children:o.instances.length}),a.jsxs("span",{className:"mesh-cluster-states",children:[v.working>0&&a.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--working",children:[a.jsx("span",{className:"mesh-cluster-state-dot"}),v.working]}),v.available>0&&a.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--available",children:[a.jsx("span",{className:"mesh-cluster-state-dot"}),v.available]}),v.offline>0&&a.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--offline",children:[a.jsx("span",{className:"mesh-cluster-state-dot"}),v.offline]})]})]}),o.instances.map((y,x)=>{const w=Cie(x,g,t);return a.jsx("div",{style:{position:"absolute",left:w.x,top:w.y,width:t.instanceW,height:t.instanceH},children:t.density==="compact"?a.jsx(Eie,{agent:y,onOpen:()=>n(y),bindings:s(y.id),active:r===y.id}):t.density==="spacious"?a.jsx(Aie,{agent:y,onOpen:()=>n(y),bindings:s(y.id),active:r===y.id}):a.jsx(Tie,{agent:y,onOpen:()=>n(y),bindings:s(y.id),active:r===y.id})},y.id)})]})}const mb=34,M$=22,Rie=6,xT=28,bT=10,Py=12,wT=380,Iie=240,Dy=38;function _ie(e,t,n,s,r,o){const c=[],u=[],h=[];for(const k of e)s[k.machineId]?h.push(k):u.push(k);let f=0,g=wT;const v=(k,C)=>{const S=t.has(k.machineId)||!k.online,N=n.has(k.machineId);let E=0,A=0,R=0;for(const H of k.agents){const D=et(H.state);D==="working"?E+=1:D==="available"?A+=1:R+=1}const M=k.online?E>0?"working":A>0?"available":"offline":"offline";if(S)return{machineId:k.machineId,machineLabel:k.machineLabel,reachability:k.reachability,online:k.online,agentCount:k.agents.length,workingCount:E,availableCount:A,offlineCount:R,dominantState:M,host:k.host,collapsed:!1,ghost:!0,pinned:C,x:0,y:0,width:Iie,height:Dy,headerHeight:Dy,chromeHeight:Dy,layouts:[]};const $=N?[]:jie(k.agents),O=N?[]:Sie($,r,o),U=N?Die():0,_=N?R$+U*M$+Rie:0,z=mb+_;let q=0,V=0;if(!N&&O.length>0){const H=Math.min(...O.map(Z=>Z.x)),D=Math.max(...O.map(Z=>Z.x+Z.width)),K=Math.min(...O.map(Z=>Z.y)),W=Math.max(...O.map(Z=>Z.y+Z.height));q=D-H,V=W-K;const L=-H+Py,F=-K+z+bT;for(const Z of O)Z.x+=L,Z.y+=F}const G=Math.max(wT,q+Py*2),P=N?z:z+bT+V+Py;return{machineId:k.machineId,machineLabel:k.machineLabel,reachability:k.reachability,online:k.online,agentCount:k.agents.length,workingCount:E,availableCount:A,offlineCount:R,dominantState:M,host:k.host,collapsed:N,ghost:!1,pinned:C,x:0,y:0,width:G,height:P,headerHeight:mb,chromeHeight:z,layouts:O}};for(const k of u){const C=v(k,!1);C.x=0,C.y=f,c.push(C),g=Math.max(g,C.width),f+=C.height+xT}const y=Math.max(0,f-xT),x=-g/2,w=-y/2;for(const k of c)k.ghost||(k.width=g),k.x=x,k.y+=w;for(const k of h){const C=v(k,!0),T=s[k.machineId];C.x=T.x,C.y=T.y,c.push(C)}return c}function Oie({section:e,metrics:t,onAgentOpen:n,bindFor:s,activeId:r,onHeaderPointerDown:o,onHeaderClick:c,onGhostActivate:u}){const h=e.reachability==="this"?"this node":e.reachability==="peer"?"peer":e.reachability==="tailnet"?"tailnet":"",f=e.online?e.agentCount===0?"idle":"standby":"unreachable";if(e.ghost)return a.jsx("div",{"data-machine-id":e.machineId,className:"mesh-machine-ghost",style:{position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,pointerEvents:"all"},title:`${e.machineLabel} · ${f} — click to show`,children:a.jsxs("button",{type:"button",className:"mesh-machine-ghost-body",onPointerDown:v=>o(v,e),onClick:()=>u(e.machineId),children:[a.jsx("span",{className:"mesh-machine-ghost-led","aria-hidden":!0}),a.jsx("span",{className:"mesh-machine-ghost-name",children:e.machineLabel}),a.jsx("span",{className:"mesh-machine-ghost-stamp",children:f}),h&&a.jsx("span",{className:`mesh-machine-chip mesh-machine-chip--${e.reachability} mesh-machine-chip--ghost`,children:h}),a.jsxs("span",{className:"mesh-machine-ghost-counts",children:[a.jsx("span",{className:"mesh-machine-count",children:e.agentCount}),e.workingCount>0&&a.jsxs("span",{className:"mesh-machine-count mesh-machine-count--working",children:[e.workingCount,"W"]})]})]})});const g=e.collapsed?$ie(e):[];return a.jsxs("div",{"data-machine-id":e.machineId,className:`mesh-machine-section${e.collapsed?" mesh-machine-section--collapsed":""}${e.pinned?" mesh-machine-section--pinned":""}`,style:{position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,pointerEvents:"all"},children:[a.jsxs("button",{type:"button",className:"mesh-machine-header",style:{height:e.headerHeight},onPointerDown:v=>o(v,e),onClick:()=>c(e.machineId),"aria-expanded":!e.collapsed,children:[a.jsx("span",{className:`mesh-machine-led mesh-machine-led--${e.dominantState}`,style:{color:Un(e.dominantState)},"aria-hidden":!0}),a.jsx("span",{className:"mesh-machine-caret","aria-hidden":!0,children:e.collapsed?"▸":"▾"}),a.jsx("span",{className:"mesh-machine-grip","aria-hidden":!0,children:"⠿"}),a.jsx("span",{className:"mesh-machine-name",children:e.machineLabel}),h&&a.jsx("span",{className:`mesh-machine-chip mesh-machine-chip--${e.reachability}`,children:h})]}),e.collapsed&&a.jsxs("div",{className:"mesh-machine-spec",children:[a.jsxs("div",{className:"mesh-machine-state-strip",style:{height:R$},children:[a.jsxs("div",{className:"mesh-machine-state-cell mesh-machine-state-cell--working",children:[a.jsx("span",{className:"mesh-machine-state-num",children:e.workingCount}),a.jsx("span",{className:"mesh-machine-state-label",children:"working"})]}),a.jsxs("div",{className:"mesh-machine-state-cell",children:[a.jsx("span",{className:"mesh-machine-state-num",children:e.availableCount}),a.jsx("span",{className:"mesh-machine-state-label",children:"available"})]}),a.jsxs("div",{className:"mesh-machine-state-cell",children:[a.jsx("span",{className:"mesh-machine-state-num",children:e.agentCount}),a.jsx("span",{className:"mesh-machine-state-label",children:"total"})]})]}),g.map(v=>a.jsxs("div",{className:"mesh-machine-spec-row",style:{height:M$},children:[a.jsx("span",{className:"mesh-machine-spec-label",children:v.label}),a.jsx("span",{className:"mesh-machine-spec-value",title:v.value,children:v.value})]},v.label))]}),!e.collapsed&&e.layouts.map(v=>a.jsx(Mie,{layout:v,metrics:t,onAgentOpen:n,bindFor:s,activeId:r},v.cluster.key))]})}function $ie(e){const t=e.host;return[{label:"os",value:t?.os??"—"},{label:"arch",value:t?.arch??"—"},{label:"cpu",value:t?.cpuCores?`${t.cpuCores}c`:"—"},{label:"ram",value:t?.memoryGb?`${t.memoryGb} G`:"—"},{label:"disk",value:t?.storageCapacityGb?`${t.storageCapacityGb} G`:"—"},{label:"network",value:t?.network??"—"},{label:"scout",value:t?.scoutVersion?`v${t.scoutVersion}`:"—"}]}const Pie=7,R$=54;function Die(e,t,n,s){return Pie}function Lie({mesh:e,agents:t=[]}){const n=p.useRef(null),[s,r]=p.useState({w:0,h:0}),[o,c]=p.useReducer(xie,void 0,bie);p.useEffect(()=>{if(!(typeof window>"u"))try{window.sessionStorage.setItem(A$,JSON.stringify({pan:o.pan,scale:o.scale}))}catch{}},[o.pan,o.scale]);const{density:u,query:h,agentStateFilters:f,hiddenMachineIds:g,collapsedMachineIds:v,scrollTargetMachineId:y}=sc(),{navigate:x}=Je();p.useLayoutEffect(()=>{const F=n.current;if(!F)return;const Z=()=>r({w:F.clientWidth,h:F.clientHeight});Z();const ee=new ResizeObserver(Z);return ee.observe(F),()=>ee.disconnect()},[]),p.useLayoutEffect(()=>{const F=n.current;if(!F)return;const Z=ee=>{ee.preventDefault();const X=ee.deltaY<0?1.12:1/1.12,de=F.getBoundingClientRect();c({type:"zoom",factor:X,mx:ee.clientX-de.left,my:ee.clientY-de.top,cx:de.width/2,cy:de.height/2})};return F.addEventListener("wheel",Z,{passive:!1}),()=>F.removeEventListener("wheel",Z)},[]);const{machinePositions:w}=sc(),k=p.useMemo(()=>kie(u),[u]),C=p.useMemo(()=>{const F=h.trim().toLowerCase();return t.filter(Z=>{const ee=et(Z.state),X=ee==="working"||ee==="available"?ee:"offline";return f.has(X)?F?`${Z.name??""} ${Z.handle??""} ${Z.harness??""} ${Z.project??""} ${Z.branch??""}`.toLowerCase().includes(F):!0:!1})},[t,h,f]),T=p.useMemo(()=>ow(C,e),[C,e]),S=s.w>0&&s.h>0?s.w/s.h:1.6,N=p.useMemo(()=>_ie(T,g,v,w,k,S),[T,g,v,w,k,S]),E=p.useRef(null),[A,R]=p.useState(null),M=p.useCallback((F,Z)=>{if(F.button!==0)return;F.stopPropagation(),F.currentTarget.setPointerCapture(F.pointerId),E.current={machineId:Z.machineId,startClientX:F.clientX,startClientY:F.clientY,startSectionX:Z.x,startSectionY:Z.y,pointerId:F.pointerId,moved:!1}},[]);p.useEffect(()=>{const F=ee=>{const X=E.current;if(!X||ee.pointerId!==X.pointerId)return;const de=ee.clientX-X.startClientX,J=ee.clientY-X.startClientY;if(!X.moved&&Math.hypot(de,J)<4)return;X.moved=!0;const ae=de/o.scale,je=J/o.scale;R({machineId:X.machineId,x:X.startSectionX+ae,y:X.startSectionY+je})},Z=ee=>{const X=E.current;if(!(!X||ee.pointerId!==X.pointerId)){if(E.current=null,X.moved){const de=(ee.clientX-X.startClientX)/o.scale,J=(ee.clientY-X.startClientY)/o.scale;lie(X.machineId,{x:X.startSectionX+de,y:X.startSectionY+J})}R(null)}};return window.addEventListener("pointermove",F),window.addEventListener("pointerup",Z),window.addEventListener("pointercancel",Z),()=>{window.removeEventListener("pointermove",F),window.removeEventListener("pointerup",Z),window.removeEventListener("pointercancel",Z)}},[o.scale]);const $=p.useRef(!1);p.useEffect(()=>{if(A)$.current=!0;else{const F=setTimeout(()=>{$.current=!1},50);return()=>clearTimeout(F)}},[A]);const O=p.useCallback(F=>{$.current||T$(F)},[]),U=p.useCallback(F=>{$.current||oie(F)},[]),_=p.useMemo(()=>A?N.map(F=>F.machineId===A.machineId?{...F,x:A.x,y:A.y,pinned:!0}:F):N,[N,A]);p.useEffect(()=>{if(!y)return;const F=_.find(Z=>Z.machineId===y);F&&c({type:"pan",delta:{x:-F.x-o.pan.x-F.width/2,y:-F.y-o.pan.y+s.h/4-mb}})},[y,_,o.pan.x,o.pan.y,s.h]);const z=p.useCallback(F=>{F.agentClass!=="organic"&&x({view:"agents",agentId:F.id})},[x]),q=p.useMemo(()=>C.filter(F=>F.agentClass!=="organic"),[C]),V=p.useMemo(()=>q.map(F=>F.id),[q]),G=iw({agents:q,orderedIds:V,navigate:x,selectMode:"preview"}),P=p.useCallback(F=>V.includes(F)?G.bind(F):null,[G,V]),H=G.activeAgent?.id??null,{pan:D,scale:K}=o,W=s.w/2,L=s.h/2;return a.jsxs("div",{ref:n,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[s.w>0&&a.jsx(MR,{panOffset:D,scale:K,onPan:F=>c({type:"pan",delta:F}),gridOpacity:.7}),a.jsx("div",{style:{position:"absolute",left:0,top:0,width:0,height:0,transform:`translate(${W}px, ${L}px) translate(${D.x*K}px, ${D.y*K}px) scale(${K})`,transformOrigin:"0 0",pointerEvents:"none"},children:_.length===0?a.jsx("div",{style:{position:"absolute",left:-120,top:-20,width:240,textAlign:"center",pointerEvents:"none"},children:a.jsx("div",{className:"mesh-empty-pill",children:"no machines visible"})}):_.map(F=>a.jsx(Oie,{section:F,metrics:k,onAgentOpen:z,bindFor:P,activeId:H,onHeaderPointerDown:M,onHeaderClick:U,onGhostActivate:O},F.machineId))}),a.jsx("div",{className:"mesh-canvas-hint",children:"scroll to zoom · drag to pan"}),G.card]})}function zie(e){const t=new Map,n=new Map;for(const o of e){const c=o.project??"Unassigned",u=c.toLowerCase(),h=o.branch??"—";let f=t.get(u);f||(f=new Map,t.set(u,f));const g=f.get(h)??[];g.push(o),f.set(h,g);let v=n.get(u);v||(v=new Map,n.set(u,v)),v.set(c,(v.get(c)??0)+1)}const s=o=>{const c=n.get(o);if(!c)return o;let u=null,h=-1;for(const[f,g]of c)g>h&&(u=f,h=g);return u??o},r=[];for(const[o,c]of t){const u=s(o),h=[];let f=0;const g={working:0,available:0,offline:0},v=[];for(const[y,x]of c){const w=[...x].sort((C,T)=>(T.updatedAt??0)-(C.updatedAt??0)),k=w.reduce((C,T)=>Math.max(C,T.updatedAt??0),0);f=Math.max(f,k);for(const C of w)g[et(C.state)]+=1,v.push(C);h.push({branch:y,agents:w,latest:k})}h.sort((y,x)=>x.latest-y.latest),r.push({project:u,branches:h,agents:v,latest:f,counts:g})}return r.sort((o,c)=>c.latest-o.latest),r}function jT(e){return e?e.replace(/^\/Users\/[^/]+/,"~"):null}function Bie({agents:e,emptyTitle:t="No agents registered",emptyBody:n="Agents connected to this broker will appear here.",selectMode:s="preview"}){const{navigate:r}=Je(),o=p.useMemo(()=>zie(e),[e]),[c,u]=p.useState(()=>new Set),h=p.useMemo(()=>{const v=[];for(const y of o)if(!c.has(y.project))for(const x of y.branches)for(const w of x.agents)v.push(w.id);return v},[o,c]),f=iw({agents:e,orderedIds:h,navigate:r,selectMode:s});if(e.length===0)return a.jsxs("div",{className:"sys-list-empty",children:[a.jsx("h3",{children:t}),a.jsx("p",{children:n})]});const g=v=>{u(y=>{const x=new Set(y);return x.has(v)?x.delete(v):x.add(v),x})};return a.jsxs("div",{className:"mesh-tree",ref:f.containerRef,children:[o.map(v=>{const y=c.has(v.project);return a.jsxs("div",{className:`mesh-tree-group${y?" mesh-tree-group--collapsed":""}`,children:[a.jsxs("button",{type:"button",className:"mesh-tree-project",onClick:()=>g(v.project),"aria-expanded":!y,children:[a.jsx("span",{className:`mesh-tree-caret${y?"":" mesh-tree-caret--open"}`,"aria-hidden":!0,children:"›"}),a.jsx("span",{className:"mesh-tree-project-name",children:v.project}),a.jsx("span",{className:"mesh-tree-project-count",children:v.agents.length}),a.jsxs("span",{className:"mesh-tree-counts",children:[v.counts.working>0&&a.jsxs("span",{className:"mesh-tree-count mesh-tree-count--working",children:[a.jsx("span",{className:"mesh-tree-count-dot"}),v.counts.working]}),v.counts.available>0&&a.jsxs("span",{className:"mesh-tree-count mesh-tree-count--available",children:[a.jsx("span",{className:"mesh-tree-count-dot"}),v.counts.available]}),v.counts.offline>0&&a.jsxs("span",{className:"mesh-tree-count mesh-tree-count--offline",children:[a.jsx("span",{className:"mesh-tree-count-dot"}),v.counts.offline]})]}),a.jsx("span",{className:"mesh-tree-project-time",children:v.latest?$e(v.latest):""})]}),!y&&a.jsx("div",{className:"mesh-tree-branches",children:v.branches.map(x=>a.jsxs("div",{className:"mesh-tree-branch",children:[a.jsxs("div",{className:"mesh-tree-branch-head",children:[a.jsx("span",{className:"mesh-tree-branch-elbow","aria-hidden":!0,children:"└"}),a.jsx("span",{className:"mesh-tree-branch-name",children:x.branch})]}),a.jsx("div",{className:"mesh-tree-agents",children:x.agents.map(w=>{const k=et(w.state),C=w.agentClass==="organic",T=f.getState(w.id),S=jT(w.cwd)??jT(w.projectRoot),N=w.harnessSessionId?w.harnessSessionId.slice(0,8):null,E=[];S&&E.push({kind:"cwd",text:S}),w.harness&&E.push({kind:"harness",text:w.harness}),w.model&&E.push({kind:"model",text:w.model}),N&&E.push({kind:"sess",text:`sess:${N}`});const A=f.bind(w.id);return a.jsxs("button",{type:"button",className:`mesh-tree-agent${C?" mesh-tree-agent--organic":""}${T.isActive?" mesh-tree-agent--active":""}${T.isPinned?" mesh-tree-agent--pinned":""}`,title:C?`${w.harness??w.name} · organic session`:void 0,...A,children:[a.jsx("span",{className:`mesh-tree-agent-dot mesh-tree-agent-dot--${k}`,style:{background:Un(w.state)}}),a.jsx("span",{className:"mesh-tree-agent-name",children:w.handle??w.name}),C&&a.jsx("span",{className:"mesh-tree-agent-organic","aria-label":"organic session",children:"○"}),a.jsx("span",{className:"mesh-tree-agent-inline",children:E.map((R,M)=>a.jsxs("span",{className:`mesh-tree-agent-inline-part mesh-tree-agent-inline-part--${R.kind}`,children:[M>0&&a.jsx("span",{className:"mesh-tree-agent-inline-sep",children:"·"}),R.text]},R.kind))}),a.jsx("span",{className:`mesh-tree-agent-state mesh-tree-agent-state--${k}`,children:k}),a.jsx("span",{className:"mesh-tree-agent-time",children:w.updatedAt?$e(w.updatedAt):""})]},w.id)})})]},x.branch))})]},v.project)}),f.card]})}function Uie(e){if(!e)return null;const t=e.split("/").filter(Boolean);return t[t.length-1]??null}function Vie(e,t){if(!e)return[];const n=new Set;for(const o of t)o.cwd&&n.add(o.cwd),o.projectRoot&&n.add(o.projectRoot);const s=new Map;for(const o of e.transcripts){if(!o.cwd)continue;const c=s.get(o.cwd);(!c||o.mtimeMs>c.mtimeMs)&&s.set(o.cwd,o)}const r=[];for(const o of e.processes){if(o.harness==="scout-managed"||o.cwd&&n.has(o.cwd))continue;const c=o.cwd?s.get(o.cwd):void 0,u=c?.project??Uie(o.cwd)??null,h=c?.mtimeMs??e.generatedAt,f=c?.sessionId??null;r.push({id:`harness:${o.source}:${o.pid}`,name:o.source,handle:null,agentClass:"organic",harness:o.source,state:"working",projectRoot:o.cwd,cwd:o.cwd,updatedAt:h,createdAt:null,transport:null,selector:null,wakePolicy:null,capabilities:[],project:u,branch:null,role:null,model:null,harnessSessionId:f,harnessLogPath:c?.transcriptPath??null,conversationId:f??`harness:${o.pid}`,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null})}return r}function I$(){const{agents:e}=Je(),[t,n]=p.useState(null);p.useEffect(()=>{let o=!1;const c=async()=>{const h=await ye("/api/tail/discover").catch(()=>null);o||n(h)};c();const u=setInterval(()=>{c()},1e4);return()=>{o=!0,clearInterval(u)}},[]);const s=p.useMemo(()=>Vie(t,e),[t,e]);return{agents:p.useMemo(()=>[...e,...s],[e,s]),scoutAgents:e,organicAgents:s,discovery:t}}function kT({mode:e,density:t,query:n,stateFilter:s,loading:r,refreshing:o,error:c,lastLoadedAt:u,hasMesh:h,onRefresh:f}){return a.jsxs("div",{className:`mesh-hud mesh-hud--${e}`,children:[a.jsxs("div",{className:"mesh-hud-left",children:[a.jsx("span",{className:"mesh-hud-title",children:"Mesh"}),a.jsxs("div",{className:"mesh-mode-toggle",children:[a.jsx("button",{type:"button",className:`mesh-mode-btn${e==="map"?" mesh-mode-btn--active":""}`,onClick:()=>mT("map"),children:"Map"}),a.jsx("button",{type:"button",className:`mesh-mode-btn${e==="tree"?" mesh-mode-btn--active":""}`,onClick:()=>mT("tree"),children:"Tree"})]}),a.jsxs("div",{className:"mesh-mode-toggle mesh-density-toggle",role:"group","aria-label":"Density","aria-hidden":e!=="map","data-mode-only":"map",children:[a.jsx("button",{type:"button",className:`mesh-mode-btn${t==="compact"?" mesh-mode-btn--active":""}`,onClick:()=>Oy("compact"),disabled:e!=="map",title:"Compact — dots",children:"Compact"}),a.jsx("button",{type:"button",className:`mesh-mode-btn${t==="comfortable"?" mesh-mode-btn--active":""}`,onClick:()=>Oy("comfortable"),disabled:e!=="map",title:"Comfortable — chips",children:"Comfortable"}),a.jsx("button",{type:"button",className:`mesh-mode-btn${t==="spacious"?" mesh-mode-btn--active":""}`,onClick:()=>Oy("spacious"),disabled:e!=="map",title:"Spacious — cards",children:"Spacious"})]})]}),h&&a.jsxs("div",{className:"mesh-hud-filters",children:[a.jsx("input",{type:"search",className:"mesh-hud-search",placeholder:"Filter agents…",value:n,onChange:g=>E$(g.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"}),a.jsxs("div",{className:"mesh-mode-toggle",role:"group","aria-label":"State",children:[a.jsx("button",{type:"button",className:`mesh-mode-btn${s==="all"?" mesh-mode-btn--active":""}`,onClick:()=>$y("all"),children:"All"}),a.jsx("button",{type:"button",className:`mesh-mode-btn${s==="working"?" mesh-mode-btn--active":""}`,onClick:()=>$y("working"),children:"Working"}),a.jsx("button",{type:"button",className:`mesh-mode-btn${s==="available"?" mesh-mode-btn--active":""}`,onClick:()=>$y("available"),children:"Available"})]})]}),a.jsxs("div",{className:"mesh-hud-right",children:[a.jsx("span",{className:"mesh-hud-sync",children:r?"Loading…":c&&h?`Stale — ${u?$e(u):"unknown"}`:u?$e(u):"—"}),a.jsx("button",{type:"button",className:"s-btn",disabled:r||o,onClick:f,children:o?"Refreshing…":"Refresh"})]})]})}function Fie({navigate:e}){const[t,n]=p.useState(!0),[s,r]=p.useState(!1),[o,c]=p.useState(null),[u,h]=p.useState(null),{mode:f,density:g,query:v,stateFilter:y,meshSnapshot:x}=sc(),{agents:w}=I$(),k=p.useRef(null),C=p.useRef(0);p.useEffect(()=>{k.current=x},[x]);const T=p.useCallback(async(E="initial")=>{const A=++C.current;!(k.current!==null)&&E!=="background"?(n(!0),c(null)):r(!0);try{const M=await ye("/api/mesh");if(A!==C.current)return;Om(M),c(null),h(Date.now())}catch(M){if(A!==C.current)return;c(M instanceof Error?M.message:String(M))}finally{A===C.current&&(n(!1),r(!1))}},[]);p.useEffect(()=>{T("initial")},[T]),p.useEffect(()=>{const E=setInterval(()=>{T("background")},1e4);return()=>clearInterval(E)},[T]);const S=p.useMemo(()=>{const E=v.trim().toLowerCase();return w.filter(A=>y!=="all"&&et(A.state)!==y?!1:E?`${A.name??""} ${A.handle??""} ${A.harness??""} ${A.project??""} ${A.branch??""}`.toLowerCase().includes(E):!0)},[w,v,y]),N={mode:f,density:g,query:v,stateFilter:y,loading:t,refreshing:s,error:o,lastLoadedAt:u,hasMesh:!!x,onRefresh:()=>{T("manual")}};return f==="map"?a.jsxs("div",{className:"mesh-map-canvas",children:[x&&a.jsx(Lie,{mesh:x,agents:w}),t&&!x&&a.jsx("div",{className:"mesh-canvas-center",children:a.jsx("p",{className:"mesh-canvas-center-label",children:"Loading mesh…"})}),!t&&!x&&o&&a.jsxs("div",{className:"mesh-canvas-center",children:[a.jsx("p",{className:"mesh-canvas-center-label",children:o}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>{T("manual")},children:"Try again"})]}),a.jsx(kT,{...N})]}):a.jsxs("div",{className:"mesh-tree-page",children:[a.jsx(kT,{...N}),t&&!x&&a.jsxs("div",{className:"sys-panel sys-state-card mesh-tree-state",children:[a.jsx("h3",{className:"sys-state-title",children:"Loading mesh status"}),a.jsx("p",{className:"sys-state-body",children:"Inspecting broker reachability and peer discovery inputs."})]}),!t&&!x&&o&&a.jsxs("div",{className:"sys-panel sys-state-card sys-state-card-error mesh-tree-state",children:[a.jsx("h3",{className:"sys-state-title",children:"Mesh status is unavailable"}),a.jsx("p",{className:"sys-state-body",children:o}),a.jsx("div",{className:"sys-inline-actions",children:a.jsx("button",{type:"button",className:"s-btn",onClick:()=>{T("manual")},children:"Try again"})})]}),x&&a.jsxs("section",{className:"mesh-tree-panel",children:[a.jsxs("div",{className:"mesh-tree-hint","aria-hidden":!0,children:[a.jsx("kbd",{children:"↑"}),a.jsx("kbd",{children:"↓"}),a.jsx("span",{children:"navigate"}),a.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),a.jsx("kbd",{children:"enter"}),a.jsx("span",{children:"pin"}),a.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),a.jsx("kbd",{children:"o"}),a.jsx("span",{children:"open"}),a.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),a.jsx("kbd",{children:"esc"}),a.jsx("span",{children:"clear"})]}),a.jsx(Bie,{agents:S,emptyTitle:w.length===0?"No agents registered":"No agents match your filter",emptyBody:w.length===0?"Agents connected to this broker will appear here.":"Try clearing the search or switching the state pill back to All."})]})]})}function Hie({conversationId:e,navigate:t}){const[n,s]=p.useState(null),[r,o]=p.useState(!1);return p.useEffect(()=>{if(!e){s(null);return}let c=!1;return o(!0),ye(`/api/session/${encodeURIComponent(e)}`).then(u=>{c||s(u)}).catch(()=>{c||s(null)}).finally(()=>{c||o(!1)}),()=>{c=!0}},[e]),an(c=>{e&&c.kind==="conversation.upserted"&&ye(`/api/session/${encodeURIComponent(e)}`).then(u=>s(u)).catch(()=>{})}),e?r&&!n?a.jsx(Wie,{}):n&&nc(n)?a.jsx(i$,{channelId:e,navigate:t}):a.jsx(jp,{conversationId:e,navigate:t}):a.jsx(qie,{})}function qie(){return a.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:32,color:"var(--muted)",fontFamily:"var(--font-mono)",fontSize:12,letterSpacing:"0.04em"},children:a.jsxs("div",{style:{textAlign:"center",maxWidth:360},children:[a.jsx("div",{style:{textTransform:"uppercase",letterSpacing:"0.18em",fontSize:10,color:"color-mix(in srgb, var(--accent) 70%, var(--muted))",marginBottom:8},children:"Messages"}),a.jsx("p",{style:{lineHeight:1.6,margin:0},children:"Pick a DM or channel from the left rail. Use the filter chips to switch scopes and the sort selector to reorder."})]})})}function Wie(){return a.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--muted)",fontFamily:"var(--font-mono)",fontSize:12},children:"Loading conversation…"})}const Gh=new Set;let Ly=null,NT=null,Pm=null;function Gie(){return`ws://${typeof window<"u"?window.location.hostname:"127.0.0.1"}:65535/trpc`}function Zie(e){for(const t of[...Gh])t(e)}function Kie(){Pm||(Ly||(Ly=q_({url:Gie()}),NT=G_({links:[W_({client:Ly})]})),Pm=NT.tail.events.subscribe(void 0,{onData:e=>{const t=e.data;t&&Zie(t)}}))}function Yie(){Pm?.unsubscribe(),Pm=null}function bd(e){const t=p.useRef(e);t.current=e,p.useEffect(()=>{const n=s=>t.current(s);return Gh.add(n),Kie(),()=>{Gh.delete(n),Gh.size===0&&Yie()}},[])}const Xie=1e4,Jie=500,ST=1e3,Qie=6e4,eoe=[{key:"status",label:"status",cls:"s-atop-col-status",kind:"text",sortable:!1,defaultWidth:96,minWidth:70,render:e=>a.jsxs("span",{className:`s-atop-status s-atop-status--${e.status}`,children:[a.jsx("span",{className:"s-atop-status-dot","aria-hidden":"true"}),e.statusLabel]})},{key:"session",label:"session",cls:"s-atop-col-agent",kind:"text",sortable:!1,defaultWidth:168,minWidth:110,maxWidth:280,render:e=>a.jsxs("div",{className:"s-atop-agent-cell",title:e.sessionId??e.refId,children:[a.jsx("span",{className:`s-atop-chip s-atop-chip--harness s-atop-chip--harness-${O$(e.source)}`,children:e.source}),a.jsx("span",{className:"s-atop-agent-id",children:e.refId.slice(0,8)})]})},{key:"project",label:"project",cls:"s-atop-col-project",kind:"text",sortable:!1,defaultWidth:200,minWidth:96,maxWidth:360,render:e=>a.jsx("span",{title:e.cwd??e.project,children:e.project})},{key:"updated",label:"updated",cls:"s-atop-col-last",kind:"time",sortable:!1,defaultWidth:86,minWidth:64,render:e=>a.jsx("span",{title:aoe(e.mtimeMs),children:soe(Math.max(e.mtimeMs,e.lastEvent?.ts??0),Date.now())})},{key:"size",label:"size",cls:"s-atop-col-runtime",kind:"number",sortable:!1,defaultWidth:80,minWidth:64,render:e=>noe(e.size)},{key:"path",label:"path",kind:"text",sortable:!1,defaultWidth:360,minWidth:160,maxWidth:800,render:e=>a.jsx("span",{title:e.transcriptPath,children:e.cwd??e.transcriptPath})}];function CT(e){const t=e?.trim();if(!t)return null;const n=_$(t);return n.endsWith(".jsonl")?n.slice(0,-6):n}function _$(e){const t=e.replace(/[\\/]+$/,"");return t.split(/[\\/]/).filter(Boolean).at(-1)??t}function toe(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n.pop(),n.at(-1)??""}function O$(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"unknown"}function noe(e){if(!Number.isFinite(e)||e<0)return"-";if(e<1024)return`${e} B`;const t=e/1024;if(t<1024)return`${t.toFixed(t>=10?0:1)} KiB`;const n=t/1024;return`${n.toFixed(n>=10?0:1)} MiB`}function soe(e,t){if(!e)return"-";const n=Math.max(0,Math.round((t-e)/1e3));return n<2?"now":n<60?`${n}s`:n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:`${Math.floor(n/86400)}d`}function aoe(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function roe(e,t){return t?[e.refId,e.sessionId??"",e.source,e.project,e.cwd??"",e.transcriptPath,e.lastEvent?.summary??"",e.process?.command??""].join(" ").toLowerCase().includes(t.toLowerCase()):!0}function ET(e){return`${e.source}\0${e.cwd??""}`}function ioe(e){return`${e.source}\0${e.cwd??""}`}function ooe(e,t,n){if(!e?.transcripts?.length)return[];const s=new Map;for(const o of t){const c=s.get(o.sessionId);(!c||o.ts>c.ts)&&s.set(o.sessionId,o)}const r=new Map;for(const o of e.processes){if(!o.cwd)continue;const c=r.get(ET(o));(!c||o.pid<c.pid)&&r.set(ET(o),o)}return e.transcripts.map(o=>{const c=CT(o.sessionId)??CT(o.transcriptPath);if(!c)return null;const u=o.sessionId?s.get(o.sessionId)??null:null,h=r.get(ioe(o))??null,f=Math.max(o.mtimeMs,u?.ts??0),g=!!h||n-f<=Qie,v=o.project?.trim()||(o.cwd?_$(o.cwd):toe(o.transcriptPath))||"unknown";return{refId:c,source:o.source||"unknown",project:v,cwd:o.cwd,transcriptPath:o.transcriptPath,sessionId:o.sessionId,mtimeMs:o.mtimeMs,size:o.size,status:g?"run":"idle",statusLabel:g?"active":"idle",lastEvent:u,process:h}}).filter(o=>o!==null).sort((o,c)=>{const u=Math.max(o.mtimeMs,o.lastEvent?.ts??0);return Math.max(c.mtimeMs,c.lastEvent?.ts??0)-u||o.project.localeCompare(c.project)})}function loe({navigate:e}){const{route:t}=Je(),[n,s]=p.useState(null),[r,o]=p.useState([]),[c,u]=p.useState(""),[h,f]=p.useState("all"),[g,v]=p.useState(0),[y,x]=p.useState(null),[w,k]=p.useState(Date.now()),C=p.useRef(null),T=p.useCallback(async()=>{x(null);try{s(await ye("/api/tail/discover"))}catch(_){x(_ instanceof Error?_.message:String(_))}},[]);p.useEffect(()=>{T();const _=setInterval(()=>{T()},Xie);return()=>clearInterval(_)},[T]),p.useEffect(()=>{let _=!1;return(async()=>{try{const z=await ye(`/api/tail/recent?limit=${Jie}`);_||o(z.events??[])}catch{}})(),()=>{_=!0}},[]),bd(_=>{o(z=>z.length>=ST?[...z.slice(z.length-ST+1),_]:[...z,_])}),p.useEffect(()=>{const _=setInterval(()=>k(Date.now()),15e3);return()=>clearInterval(_)},[]);const S=p.useMemo(()=>ooe(n,r,w),[n,r,w]),N=p.useMemo(()=>[...new Set(S.map(_=>_.source))].sort(),[S]),E=p.useMemo(()=>S.filter(_=>(h==="all"||_.source===h)&&roe(_,c.trim())),[S,h,c]);p.useEffect(()=>{g>=E.length&&v(Math.max(0,E.length-1))},[E.length,g]);const A=p.useCallback(_=>{_&&Ft(e,{view:"sessions",sessionId:_.refId},{returnTo:t})},[e,t]);p.useEffect(()=>{const _=z=>{const q=z.target,V=q instanceof HTMLInputElement||q instanceof HTMLTextAreaElement||(q?.isContentEditable??!1);if(z.key==="/"&&!V){z.preventDefault(),C.current?.focus();return}if(V){z.key==="Escape"&&q===C.current&&(u(""),C.current?.blur());return}if(z.key==="ArrowDown"||z.key==="j"){z.preventDefault(),v(G=>E.length===0?0:Math.min(E.length-1,G+1));return}if(z.key==="ArrowUp"||z.key==="k"){z.preventDefault(),v(G=>Math.max(0,G-1));return}(z.key==="Enter"||z.key==="o")&&(z.preventDefault(),A(E[g]))};return window.addEventListener("keydown",_),()=>window.removeEventListener("keydown",_)},[E,g,A]);const R=S.filter(_=>_.status==="run").length,M=n?.totals.transcripts??n?.transcripts?.length??0,$=y?[]:E,O=p.useCallback(_=>`${_.source}:${_.transcriptPath}`,[]),U=p.useMemo(()=>new Map(E.map((_,z)=>[O(_),z])),[E,O]);return a.jsxs("div",{className:"s-atop",children:[a.jsxs("div",{className:"s-atop-summary",children:[a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsxs("div",{className:"s-atop-summary-num",children:[a.jsx("strong",{children:S.length}),a.jsxs("span",{className:"s-atop-summary-of",children:["of ",M]})]}),a.jsx("div",{className:"s-atop-summary-lbl",children:"raw sessions"})]}),a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:R})}),a.jsx("div",{className:"s-atop-summary-lbl",children:"active"})]}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--breakdown",children:[a.jsx("div",{className:"s-atop-summary-row",children:N.length===0?a.jsx("span",{className:"s-atop-chip s-atop-chip--mute",children:"no sources"}):N.map(_=>a.jsx("span",{className:`s-atop-chip s-atop-chip--harness s-atop-chip--harness-${O$(_)}`,children:_},_))}),a.jsx("div",{className:"s-atop-summary-lbl",children:"sources"})]}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--rate",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:E.length})}),a.jsx("div",{className:"s-atop-summary-lbl",children:"visible"})]})]}),a.jsxs("div",{className:"s-atop-fbar",children:[a.jsxs("label",{className:"s-atop-search",children:[a.jsx("span",{className:"s-atop-search-prompt",children:"/"}),a.jsx("input",{ref:C,className:"s-atop-search-input",placeholder:"filter sessions",value:c,onChange:_=>u(_.target.value)}),a.jsx("kbd",{className:"s-atop-search-kbd",children:"/"})]}),a.jsx("span",{className:"s-atop-fbar-label",children:"source"}),a.jsxs("button",{type:"button",className:`s-atop-pill${h==="all"?" s-atop-pill--on":""}`,onClick:()=>f("all"),children:["all",a.jsx("span",{className:"s-atop-pill-ct",children:S.length})]}),N.map(_=>a.jsxs("button",{type:"button",className:`s-atop-pill${h===_?" s-atop-pill--on":""}`,onClick:()=>f(_),children:[_,a.jsx("span",{className:"s-atop-pill-ct",children:S.filter(z=>z.source===_).length})]},_)),a.jsx("div",{className:"s-atop-fbar-spacer"})]}),a.jsx(bp,{rows:$,columns:eoe,rowId:O,storageKey:"openscout.sessions.cols",rowBindings:_=>({onMouseEnter:()=>{const z=U.get(_);z!=null&&v(z)},onFocus:()=>{const z=U.get(_);z!=null&&v(z)}}),onRowClick:_=>A(_),rowClassName:_=>U.get(O(_))===g?"s-atop-row--selected":void 0,empty:y?{title:"Discovery failed",body:y}:{title:"No raw sessions",body:c?"No sessions match the current filter.":"No transcript sessions were discovered."},density:"compact",className:"s-atop-data-table",ariaLabel:"Raw sessions"}),a.jsxs("div",{className:"s-atop-keys",children:[a.jsxs("span",{children:[a.jsx("kbd",{children:"/"}),"filter"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"j/k"}),"select"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"enter"}),"open"]}),a.jsx("span",{className:"s-atop-keys-spacer"}),a.jsxs("span",{className:"s-atop-keys-count",children:[a.jsx("strong",{children:E.length})," sessions"]})]})]})}function uh(e){const t=e?.trim()??"",n=t.split(/[\\/]/).filter(Boolean).at(-1)??t;return n.endsWith(".jsonl")?n.slice(0,-6):n}function coe({sessionRef:e,navigate:t}){const[n,s]=p.useState(null),[r,o]=p.useState(!0),[c,u]=p.useState(null),h=p.useRef(null),f=p.useCallback(async()=>{u(null);try{const g=await ye(`/api/session-ref/${encodeURIComponent(e)}`);s(g)}catch(g){s(null),u(g instanceof Error?g.message:String(g))}finally{o(!1)}},[e]);return p.useEffect(()=>{o(!0),f()},[f]),an(()=>{f()}),bd(g=>{const v=uh(g.sessionId),y=uh(e),x=n?.kind==="observe"?uh(n.observe.sessionId??n.observe.refId):"",w=n?.kind==="observe"?uh(n.observe.data.metadata?.session?.externalSessionId):"";v!==y&&(!x||v!==x)&&(!w||v!==w)||(h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{h.current=null,f()},150))}),p.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),n?.kind==="conversation"?a.jsx(jp,{conversationId:n.conversationId,navigate:t}):n?.kind==="observe"?a.jsx(QO,{data:n.observe.data,agentId:n.observe.agentId??n.session?.agentId??void 0,sessionId:n.observe.sessionId??n.observe.refId}):r?a.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:a.jsx("section",{className:"s-thread-overview",children:a.jsxs("div",{className:"s-thread-overview-copy",children:[a.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[a.jsx("h2",{className:"s-page-title",children:"Session"}),a.jsx("span",{className:"s-meta s-tabular",children:e.slice(0,8)})]}),a.jsxs("p",{className:"s-thread-overview-summary s-session-ref-loading",children:[a.jsx("span",{className:"s-session-ref-loading-dot"}),a.jsx("span",{className:"s-session-ref-loading-dot"}),a.jsx("span",{className:"s-session-ref-loading-dot"}),"Resolving session reference"]})]})})}):a.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:a.jsx("section",{className:"s-thread-overview",children:a.jsxs("div",{className:"s-thread-overview-copy",children:[a.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[a.jsx("h2",{className:"s-page-title",children:"Session not found"}),a.jsx("span",{className:"s-meta s-tabular",children:e.slice(0,8)})]}),a.jsx("p",{className:"s-thread-overview-summary",children:"This session may have ended or the archive is not available on this machine."}),c&&a.jsx("p",{className:"s-session-ref-error-detail",children:c}),a.jsx("div",{className:"s-session-ref-nav-hint",children:a.jsx(Er,{slot:"sessions",fallback:{view:"sessions"},navigate:t})})]})})})}var fo=(e=>(e[e.Border=-1]="Border",e[e.Data=0]="Data",e[e.Function=1]="Function",e[e.Position=2]="Position",e[e.Timing=3]="Timing",e[e.Alignment=4]="Alignment",e))(fo||{});const uoe=[0,1],$$=[1,0],P$=[2,3],D$=[3,2],doe={L:uoe,M:$$,Q:P$,H:D$},foe=/^\d*$/,hoe=/^[A-Z0-9 $%*+./:-]*$/,zy="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",dw=1,fw=40,TT=3,moe=3,dh=40,poe=10,L$=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],z$=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];class goe{constructor(t,n,s,r){if(this.version=t,this.ecc=n,t<dw||t>fw)throw new RangeError("Version value out of range");if(r<-1||r>7)throw new RangeError("Mask value out of range");this.size=t*4+17;const o=Array.from({length:this.size}).fill(!1);for(let u=0;u<this.size;u++)this.modules.push(o.slice()),this.types.push(o.map(()=>0));this.drawFunctionPatterns();const c=this.addEccAndInterleave(s);if(this.drawCodewords(c),r===-1){let u=1e9;for(let h=0;h<8;h++){this.applyMask(h),this.drawFormatBits(h);const f=this.getPenaltyScore();f<u&&(r=h,u=f),this.applyMask(h)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(t,n){return t>=0&&t<this.size&&n>=0&&n<this.size&&this.modules[n][t]}drawFunctionPatterns(){for(let s=0;s<this.size;s++)this.setFunctionModule(6,s,s%2===0,fo.Timing),this.setFunctionModule(s,6,s%2===0,fo.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const t=this.getAlignmentPatternPositions(),n=t.length;for(let s=0;s<n;s++)for(let r=0;r<n;r++)s===0&&r===0||s===0&&r===n-1||s===n-1&&r===0||this.drawAlignmentPattern(t[s],t[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(t){const n=this.ecc[1]<<3|t;let s=n;for(let o=0;o<10;o++)s=s<<1^(s>>>9)*1335;const r=(n<<10|s)^21522;for(let o=0;o<=5;o++)this.setFunctionModule(8,o,Nr(r,o));this.setFunctionModule(8,7,Nr(r,6)),this.setFunctionModule(8,8,Nr(r,7)),this.setFunctionModule(7,8,Nr(r,8));for(let o=9;o<15;o++)this.setFunctionModule(14-o,8,Nr(r,o));for(let o=0;o<8;o++)this.setFunctionModule(this.size-1-o,8,Nr(r,o));for(let o=8;o<15;o++)this.setFunctionModule(8,this.size-15+o,Nr(r,o));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let t=this.version;for(let s=0;s<12;s++)t=t<<1^(t>>>11)*7973;const n=this.version<<12|t;for(let s=0;s<18;s++){const r=Nr(n,s),o=this.size-11+s%3,c=Math.floor(s/3);this.setFunctionModule(o,c,r),this.setFunctionModule(c,o,r)}}drawFinderPattern(t,n){for(let s=-4;s<=4;s++)for(let r=-4;r<=4;r++){const o=Math.max(Math.abs(r),Math.abs(s)),c=t+r,u=n+s;c>=0&&c<this.size&&u>=0&&u<this.size&&this.setFunctionModule(c,u,o!==2&&o!==4,fo.Position)}}drawAlignmentPattern(t,n){for(let s=-2;s<=2;s++)for(let r=-2;r<=2;r++)this.setFunctionModule(t+r,n+s,Math.max(Math.abs(r),Math.abs(s))!==1,fo.Alignment)}setFunctionModule(t,n,s,r=fo.Function){this.modules[n][t]=s,this.types[n][t]=r}addEccAndInterleave(t){const n=this.version,s=this.ecc;if(t.length!==Zh(n,s))throw new RangeError("Invalid argument");const r=z$[s[0]][n],o=L$[s[0]][n],c=Math.floor(pb(n)/8),u=r-c%r,h=Math.floor(c/r),f=[],g=Soe(o);for(let y=0,x=0;y<r;y++){const w=t.slice(x,x+h-o+(y<u?0:1));x+=w.length;const k=Coe(w,g);y<u&&w.push(0),f.push(w.concat(k))}const v=[];for(let y=0;y<f[0].length;y++)f.forEach((x,w)=>{(y!==h-o||w>=u)&&v.push(x[y])});return v}drawCodewords(t){if(t.length!==Math.floor(pb(this.version)/8))throw new RangeError("Invalid argument");let n=0;for(let s=this.size-1;s>=1;s-=2){s===6&&(s=5);for(let r=0;r<this.size;r++)for(let o=0;o<2;o++){const c=s-o,h=(s+1&2)===0?this.size-1-r:r;!this.types[h][c]&&n<t.length*8&&(this.modules[h][c]=Nr(t[n>>>3],7-(n&7)),n++)}}}applyMask(t){if(t<0||t>7)throw new RangeError("Mask value out of range");for(let n=0;n<this.size;n++)for(let s=0;s<this.size;s++){let r;switch(t){case 0:r=(s+n)%2===0;break;case 1:r=n%2===0;break;case 2:r=s%3===0;break;case 3:r=(s+n)%3===0;break;case 4:r=(Math.floor(s/3)+Math.floor(n/2))%2===0;break;case 5:r=s*n%2+s*n%3===0;break;case 6:r=(s*n%2+s*n%3)%2===0;break;case 7:r=((s+n)%2+s*n%3)%2===0;break;default:throw new Error("Unreachable")}!this.types[n][s]&&r&&(this.modules[n][s]=!this.modules[n][s])}}getPenaltyScore(){let t=0;for(let o=0;o<this.size;o++){let c=!1,u=0;const h=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[o][f]===c?(u++,u===5?t+=TT:u>5&&t++):(this.finderPenaltyAddHistory(u,h),c||(t+=this.finderPenaltyCountPatterns(h)*dh),c=this.modules[o][f],u=1);t+=this.finderPenaltyTerminateAndCount(c,u,h)*dh}for(let o=0;o<this.size;o++){let c=!1,u=0;const h=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[f][o]===c?(u++,u===5?t+=TT:u>5&&t++):(this.finderPenaltyAddHistory(u,h),c||(t+=this.finderPenaltyCountPatterns(h)*dh),c=this.modules[f][o],u=1);t+=this.finderPenaltyTerminateAndCount(c,u,h)*dh}for(let o=0;o<this.size-1;o++)for(let c=0;c<this.size-1;c++){const u=this.modules[o][c];u===this.modules[o][c+1]&&u===this.modules[o+1][c]&&u===this.modules[o+1][c+1]&&(t+=moe)}let n=0;for(const o of this.modules)n=o.reduce((c,u)=>c+(u?1:0),n);const s=this.size*this.size,r=Math.ceil(Math.abs(n*20-s*10)/s)-1;return t+=r*poe,t}getAlignmentPatternPositions(){if(this.version===1)return[];{const t=Math.floor(this.version/7)+2,n=this.version===32?26:Math.ceil((this.version*4+4)/(t*2-2))*2,s=[6];for(let r=this.size-7;s.length<t;r-=n)s.splice(1,0,r);return s}}finderPenaltyCountPatterns(t){const n=t[1],s=n>0&&t[2]===n&&t[3]===n*3&&t[4]===n&&t[5]===n;return(s&&t[0]>=n*4&&t[6]>=n?1:0)+(s&&t[6]>=n*4&&t[0]>=n?1:0)}finderPenaltyTerminateAndCount(t,n,s){return t&&(this.finderPenaltyAddHistory(n,s),n=0),n+=this.size,this.finderPenaltyAddHistory(n,s),this.finderPenaltyCountPatterns(s)}finderPenaltyAddHistory(t,n){n[0]===0&&(t+=this.size),n.pop(),n.unshift(t)}}function Cr(e,t,n){if(t<0||t>31||e>>>t)throw new RangeError("Value out of range");for(let s=t-1;s>=0;s--)n.push(e>>>s&1)}function Nr(e,t){return(e>>>t&1)!==0}class hw{constructor(t,n,s){if(this.mode=t,this.numChars=n,this.bitData=s,n<0)throw new RangeError("Invalid argument");this.bitData=s.slice()}getData(){return this.bitData.slice()}}const voe=[1,10,12,14],yoe=[2,9,11,13],xoe=[4,8,16,16];function B$(e,t){return e[Math.floor((t+7)/17)+1]}function U$(e){const t=[];for(const n of e)Cr(n,8,t);return new hw(xoe,e.length,t)}function boe(e){if(!V$(e))throw new RangeError("String contains non-numeric characters");const t=[];for(let n=0;n<e.length;){const s=Math.min(e.length-n,3);Cr(Number.parseInt(e.substring(n,n+s),10),s*3+1,t),n+=s}return new hw(voe,e.length,t)}function woe(e){if(!F$(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");const t=[];let n;for(n=0;n+2<=e.length;n+=2){let s=zy.indexOf(e.charAt(n))*45;s+=zy.indexOf(e.charAt(n+1)),Cr(s,11,t)}return n<e.length&&Cr(zy.indexOf(e.charAt(n)),6,t),new hw(yoe,e.length,t)}function joe(e){return e===""?[]:V$(e)?[boe(e)]:F$(e)?[woe(e)]:[U$(Noe(e))]}function V$(e){return foe.test(e)}function F$(e){return hoe.test(e)}function koe(e,t){let n=0;for(const s of e){const r=B$(s.mode,t);if(s.numChars>=1<<r)return Number.POSITIVE_INFINITY;n+=4+r+s.bitData.length}return n}function Noe(e){e=encodeURI(e);const t=[];for(let n=0;n<e.length;n++)e.charAt(n)!=="%"?t.push(e.charCodeAt(n)):(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2);return t}function pb(e){if(e<dw||e>fw)throw new RangeError("Version number out of range");let t=(16*e+128)*e+64;if(e>=2){const n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function Zh(e,t){return Math.floor(pb(e)/8)-L$[t[0]][e]*z$[t[0]][e]}function Soe(e){if(e<1||e>255)throw new RangeError("Degree out of range");const t=[];for(let s=0;s<e-1;s++)t.push(0);t.push(1);let n=1;for(let s=0;s<e;s++){for(let r=0;r<t.length;r++)t[r]=gb(t[r],n),r+1<t.length&&(t[r]^=t[r+1]);n=gb(n,2)}return t}function Coe(e,t){const n=t.map(s=>0);for(const s of e){const r=s^n.shift();n.push(0),t.forEach((o,c)=>n[c]^=gb(o,r))}return n}function gb(e,t){if(e>>>8||t>>>8)throw new RangeError("Byte out of range");let n=0;for(let s=7;s>=0;s--)n=n<<1^(n>>>7)*285,n^=(t>>>s&1)*e;return n}function Eoe(e,t,n=1,s=40,r=-1,o=!0){if(!(dw<=n&&n<=s&&s<=fw)||r<-1||r>7)throw new RangeError("Invalid value");let c,u;for(c=n;;c++){const v=Zh(c,t)*8,y=koe(e,c);if(y<=v){u=y;break}if(c>=s)throw new RangeError("Data too long")}for(const v of[$$,P$,D$])o&&u<=Zh(c,v)*8&&(t=v);const h=[];for(const v of e){Cr(v.mode[0],4,h),Cr(v.numChars,B$(v.mode,c),h);for(const y of v.getData())h.push(y)}const f=Zh(c,t)*8;Cr(0,Math.min(4,f-h.length),h),Cr(0,(8-h.length%8)%8,h);for(let v=236;h.length<f;v^=253)Cr(v,8,h);const g=Array.from({length:Math.ceil(h.length/8)},()=>0);return h.forEach((v,y)=>g[y>>>3]|=v<<7-(y&7)),new goe(c,t,g,r)}function Toe(e,t){const{ecc:n="L",boostEcc:s=!1,minVersion:r=1,maxVersion:o=40,maskPattern:c=-1,border:u=1}=t||{},h=typeof e=="string"?joe(e):Array.isArray(e)?[U$(e)]:void 0;if(!h)throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);const f=Eoe(h,doe[n],r,o,c,s),g=Aoe({version:f.version,maskPattern:f.mask,size:f.size,data:f.modules,types:f.types},u);return t?.invert&&(g.data=g.data.map(v=>v.map(y=>!y))),t?.onEncoded?.(g),g}function Aoe(e,t=1){if(!t)return e;const{size:n}=e,s=n+t*2;e.size=s,e.data.forEach(o=>{for(let c=0;c<t;c++)o.unshift(!1),o.push(!1)});for(let o=0;o<t;o++)e.data.unshift(Array.from({length:s},c=>!1)),e.data.push(Array.from({length:s},c=>!1));const r=fo.Border;e.types.forEach(o=>{for(let c=0;c<t;c++)o.unshift(r),o.push(r)});for(let o=0;o<t;o++)e.types.unshift(Array.from({length:s},c=>r)),e.types.push(Array.from({length:s},c=>r));return e}function AT(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Moe(e,t={}){const n=Toe(e,t),{pixelSize:s=10,whiteColor:r="white",blackColor:o="black"}=t,c=n.size*s,u=n.size*s;let h=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${u} ${c}">`;const f=[];for(let g=0;g<n.size;g++)for(let v=0;v<n.size;v++){const y=v*s,x=g*s;n.data[g][v]&&f.push(`M${y},${x}h${s}v${s}h-${s}z`)}return h+=`<rect fill="${AT(r)}" width="${u}" height="${c}"/>`,h+=`<path fill="${AT(o)}" d="${f.join("")}"/>`,h+="</svg>",h}function Np(e){switch(e){case"ready":case"running":case"available":case"enabled":return"sys-chip-success";case"configured":case"installed":case"working":return"sys-chip-warning";case"missing":case"offline":case"error":return"sys-chip-danger";default:return"sys-chip-neutral"}}function H$(e){return e?e.replace(/^\/Users\/[^/]+/,"~"):"Not reported"}function Roe(e){return e.length>0?e.join(", "):"No capabilities reported"}function Ioe({runtime:e}){return a.jsxs("div",{className:"agent-config-row",children:[a.jsxs("div",{className:"agent-config-row-main",children:[a.jsx("span",{className:"agent-config-icon",children:a.jsx(xL,{size:14})}),a.jsxs("div",{className:"agent-config-row-copy",children:[a.jsx("div",{className:"agent-config-row-title",children:e.label}),a.jsx("div",{className:"agent-config-row-detail",children:e.description}),a.jsx("div",{className:"agent-config-row-meta",children:e.detail})]})]}),a.jsxs("div",{className:"agent-config-row-side",children:[a.jsx("span",{className:`sys-chip ${Np(e.state)}`,children:e.state}),a.jsx("span",{className:"agent-config-row-meta",children:e.binaryPath??e.loginCommand??e.source})]})]})}function _oe({provider:e}){return a.jsxs("div",{className:"agent-config-row",children:[a.jsxs("div",{className:"agent-config-row-main",children:[a.jsx("span",{className:"agent-config-icon",children:a.jsx(qA,{size:14})}),a.jsxs("div",{className:"agent-config-row-copy",children:[a.jsx("div",{className:"agent-config-row-title",children:e.name}),a.jsx("div",{className:"agent-config-row-detail",children:e.protocol}),a.jsx("code",{className:"agent-config-code",children:e.baseUrl}),a.jsxs("div",{className:"agent-config-row-meta",children:["Keys: ",e.envKeys.join(", ")]}),a.jsx("div",{className:"agent-config-row-meta",children:e.note})]})]}),a.jsxs("div",{className:"agent-config-row-side",children:[a.jsx("span",{className:`sys-chip ${Np(e.status)}`,children:e.status}),a.jsx("a",{className:"agent-config-link",href:e.docsUrl,target:"_blank",rel:"noreferrer",children:"Docs"})]})]})}function Ooe({agent:e,selected:t,navigate:n}){return a.jsxs("button",{type:"button",className:`agent-config-row agent-config-row-button${t?" agent-config-row-selected":""}`,onClick:()=>n({view:"settings",section:"agents",agentId:e.id}),children:[a.jsxs("div",{className:"agent-config-row-main",children:[a.jsx("span",{className:"agent-config-icon",children:a.jsx(ad,{size:14})}),a.jsxs("div",{className:"agent-config-row-copy",children:[a.jsx("div",{className:"agent-config-row-title",children:e.name}),a.jsx("div",{className:"agent-config-row-detail",children:e.id}),a.jsxs("div",{className:"agent-config-row-meta",children:[e.harness??"unknown harness"," / ",e.transport??"unknown transport",e.model?` / ${e.model}`:""]})]})]}),a.jsxs("div",{className:"agent-config-row-side",children:[a.jsx("span",{className:`sys-chip ${Np(e.status)}`,children:e.status}),a.jsx("span",{className:"agent-config-row-meta",children:H$(e.projectRoot??e.cwd)})]})]})}function $oe({agent:e,navigate:t}){const{route:n}=Je();return e?a.jsxs("div",{className:"sys-panel agent-config-detail-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:e.name}),a.jsx("p",{className:"sys-section-subtitle",children:e.id})]}),a.jsxs("div",{className:"sys-page-actions",children:[a.jsx("button",{type:"button",className:"s-btn",onClick:()=>t({view:"agents",agentId:e.id}),children:"Open Agent"}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>Ft(t,{view:"conversation",conversationId:e.conversationId},{returnTo:n}),children:"Open DM"})]})]}),a.jsxs("div",{className:"agent-config-detail-grid",children:[a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Status"}),a.jsx("span",{className:`sys-chip ${Np(e.status)}`,children:e.status})]}),a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Harness"}),a.jsx("strong",{children:e.harness??"Not reported"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Transport"}),a.jsx("strong",{children:e.transport??"Not reported"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Model"}),a.jsx("strong",{children:e.model??"Not reported"})]}),a.jsxs("div",{className:"agent-config-detail-wide",children:[a.jsx("span",{className:"agent-config-label",children:"Project"}),a.jsx("code",{children:H$(e.projectRoot)})]}),a.jsxs("div",{className:"agent-config-detail-wide",children:[a.jsx("span",{className:"agent-config-label",children:"Capabilities"}),a.jsx("span",{children:Roe(e.capabilities)})]})]})]}):a.jsxs("div",{className:"sys-panel agent-config-detail-panel",children:[a.jsx("div",{className:"sys-section-head",children:a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Agent Details"}),a.jsx("p",{className:"sys-section-subtitle",children:"Select an agent to inspect runtime, model, and tool context."})]})}),a.jsxs("div",{className:"sys-list-empty",children:[a.jsx("h3",{children:"No agent selected"}),a.jsx("p",{children:"Choose an agent from the configuration roster."})]})]})}function Poe({navigate:e,selectedAgentId:t}){const[n,s]=p.useState(null),[r,o]=p.useState(!0),[c,u]=p.useState(!1),[h,f]=p.useState(null),g=p.useRef(0),v=p.useCallback(async(k="initial")=>{const C=++g.current;k==="initial"?o(!0):u(!0),f(null);try{const T=await ye("/api/agent-config/snapshot");if(C!==g.current)return;s(T)}catch(T){if(C!==g.current)return;f(T instanceof Error?T.message:String(T))}finally{C===g.current&&(o(!1),u(!1))}},[]);p.useEffect(()=>{v()},[v]);const y=p.useMemo(()=>n?n.agents.find(k=>k.id===t)??n.agents[0]??null:null,[t,n]),x=n?.providers??[],w=n?[{label:"Runtimes",value:String(n.runtimes.length),detail:`${n.runtimes.filter(k=>k.state==="ready").length} ready`},{label:"BYOK",value:String(x.length),detail:`${x.filter(k=>k.status==="configured").length} configured`},{label:"Agents",value:String(n.agents.length),detail:`${n.agents.filter(k=>k.status!=="offline").length} reachable`},{label:"Broker",value:n.broker.label,detail:n.broker.nodeId??"No node id"}]:[];return a.jsxs("div",{className:"sys-surface-page sys-surface-page-wide",children:[a.jsxs("div",{className:"sys-page-head",children:[a.jsxs("div",{className:"sys-page-title-group",children:[a.jsx("h2",{className:"sys-page-title",children:"Agent Configuration"}),a.jsx("p",{className:"sys-page-subtitle",children:"Runtimes, agents, project inventory, delivery bridges, and the missing tool/provider surfaces in one control plane."})]}),a.jsxs("div",{className:"sys-page-actions",children:[n&&a.jsxs("div",{className:"sys-sync-note",children:["Updated ",new Date(n.generatedAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})]}),a.jsxs("button",{type:"button",className:"s-btn",disabled:r||c,onClick:()=>{v("manual")},children:[a.jsx(ZA,{size:13}),c?"Refreshing...":"Refresh"]})]})]}),n&&a.jsx("div",{className:"sys-stat-grid",children:w.map(k=>a.jsxs("div",{className:"sys-stat-card",children:[a.jsx("span",{className:"sys-stat-label",children:k.label}),a.jsx("strong",{className:"sys-stat-value",children:k.value}),a.jsx("span",{className:"sys-stat-detail",children:k.detail})]},k.label))}),h&&a.jsxs("div",{className:"sys-banner sys-banner-warning",children:[a.jsx("strong",{children:"Configuration snapshot failed."}),a.jsx("span",{children:h})]}),r&&!n&&a.jsx(Vs,{title:"Loading configuration",body:"Reading Scout settings, runtime readiness, broker agents, and project inventory."}),n&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"agent-config-layout",children:[a.jsxs("div",{className:"sys-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Runtimes"}),a.jsx("p",{className:"sys-section-subtitle",children:"Harness readiness replaces provider auth for the current local-first posture."})]}),a.jsx(Wm,{size:15})]}),a.jsx("div",{className:"agent-config-list",children:n.runtimes.map(k=>a.jsx(Ioe,{runtime:k},k.id))})]}),a.jsxs("div",{className:"sys-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"BYOK Providers"}),a.jsx("p",{className:"sys-section-subtitle",children:"OpenAI-compatible vendors OpenScout can discover from local environment configuration."})]}),a.jsx(qA,{size:15})]}),a.jsx("div",{className:"agent-config-list",children:x.map(k=>a.jsx(_oe,{provider:k},k.id))})]})]}),a.jsxs("div",{className:"agent-config-layout agent-config-layout-primary",children:[a.jsxs("div",{className:"sys-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Agents"}),a.jsx("p",{className:"sys-section-subtitle",children:"Broker-visible endpoints with runtime, model, and source state."})]}),a.jsx(ad,{size:15})]}),a.jsx("div",{className:"agent-config-list agent-config-list-scroll",children:n.agents.length===0?a.jsxs("div",{className:"sys-list-empty",children:[a.jsx("h3",{children:"No agents registered"}),a.jsx("p",{children:"Run setup or start a local agent to populate this roster."})]}):n.agents.map(k=>a.jsx(Ooe,{agent:k,selected:k.id===y?.id,navigate:e},k.id))})]}),a.jsx($oe,{agent:y,navigate:e})]}),a.jsxs("div",{className:"agent-config-layout",children:[a.jsxs("div",{className:"sys-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Tools & Context"}),a.jsx("p",{className:"sys-section-subtitle",children:"The next model boundary to make first-class."})]}),a.jsx($4,{size:15})]}),a.jsx("p",{className:"agent-config-copy",children:n.toolContext.note}),a.jsxs("div",{className:"agent-config-chip-row",children:[a.jsxs("span",{className:"sys-chip sys-chip-neutral",children:[n.toolContext.mcpServerCount," MCP servers"]}),a.jsx("span",{className:"sys-chip sys-chip-warning",children:"loadouts pending"})]})]}),a.jsxs("div",{className:"sys-panel",children:[a.jsxs("div",{className:"sys-section-head",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Broker & Delivery"}),a.jsx("p",{className:"sys-section-subtitle",children:"Control-plane state and bridges that route attention back to you."})]}),a.jsx(x4,{size:15})]}),a.jsxs("div",{className:"agent-config-detail-grid",children:[a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Broker"}),a.jsx("span",{className:`sys-chip ${n.broker.healthy?"sys-chip-success":"sys-chip-danger"}`,children:n.broker.label})]}),a.jsxs("div",{children:[a.jsx("span",{className:"agent-config-label",children:"Messages"}),a.jsx("strong",{children:n.broker.messageCount})]}),n.integrations.map(k=>a.jsxs("div",{className:"agent-config-detail-wide",children:[a.jsx("span",{className:"agent-config-label",children:k.name}),a.jsx("span",{children:k.detail})]},k.id))]})]})]}),a.jsxs("div",{className:"sys-panel",children:[a.jsx("div",{className:"sys-section-head",children:a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Known Missing Pieces"}),a.jsx("p",{className:"sys-section-subtitle",children:"The configuration model is now visible; these are the next root-cause surfaces to build."})]})}),a.jsx("div",{className:"agent-config-gap-list",children:n.gaps.map(k=>a.jsx("span",{children:k},k))})]})]})]})}function Doe(e){return e?e.replace(/^wss?:\/\//,"").replace(/:\d+$/,""):null}function MT(e){return e?e.length<=18?e:`${e.slice(0,10)}...${e.slice(-6)}`:null}function Loe(e,t){if(!e)return null;const n=Math.max(0,Math.floor((e-t)/1e3));if(n===0)return null;if(n<60)return`${n}s`;const s=Math.floor(n/60),r=n%60;return r>0?`${s}m ${r}s`:`${s}m`}function RT({value:e}){const[t,n]=p.useState(!1),s=p.useCallback(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),setTimeout(()=>n(!1),1500)})},[e]);return a.jsx("button",{type:"button",className:"sys-copy-btn",onClick:s,title:"Copy",children:t?a.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:a.jsx("polyline",{points:"20 6 9 17 4 12"})}):a.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),a.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})})}function zoe({navigate:e,section:t,agentId:n}){return t==="agents"?a.jsx(Poe,{navigate:e,selectedAgentId:n}):a.jsx(Boe,{})}function Boe(){const[e,t]=p.useState(null),[n,s]=p.useState(""),[r,o]=p.useState(""),[c,u]=p.useState(!0),[h,f]=p.useState(!1),[g,v]=p.useState(!1),[y,x]=p.useState(null),[w,k]=p.useState(null),[C,T]=p.useState(null),[S,N]=p.useState(null),[E,A]=p.useState(()=>Date.now()),[R,M]=p.useState(null),$=p.useRef(null),O=p.useRef(0),U=p.useRef(null);p.useEffect(()=>{$.current=e},[e]),p.useEffect(()=>{U.current=y},[y]);const _=p.useCallback(async(X="initial")=>{if(X==="background"&&U.current)return;const de=++O.current;!($.current!==null)&&X!=="background"?(u(!0),k(null)):f(!0);try{const ae=await ye(X==="manual"?"/api/pairing-state/refresh":"/api/pairing-state");if(de!==O.current)return;t(ae),k(null),N(Date.now())}catch(ae){if(de!==O.current)return;k(ae instanceof Error?ae.message:String(ae))}finally{de===O.current&&(u(!1),f(!1))}},[]),z=p.useCallback(async()=>{try{const X=await ye("/api/user");o(X.name),s(X.name),T(null)}catch(X){T(X instanceof Error?X.message:String(X))}},[]),q=p.useRef(!1);p.useEffect(()=>{_("initial"),z()},[_,z]),p.useEffect(()=>{const X=setInterval(()=>{_("background")},1e4);return()=>clearInterval(X)},[_]),p.useEffect(()=>{if(!e?.pairing?.expiresAt)return;A(Date.now());const X=setInterval(()=>{A(Date.now())},1e3);return()=>clearInterval(X)},[e?.pairing?.expiresAt]);const V=p.useCallback(async()=>{v(!0),T(null);try{const X=await ye("/api/user",{method:"POST",body:JSON.stringify({name:n})});o(X.name),s(X.name)}catch(X){T(X instanceof Error?X.message:String(X))}finally{v(!1)}},[n]),G=p.useCallback(async X=>{const de=++O.current;x(X),k(null);try{const J=await ye("/api/pairing/control",{method:"POST",body:JSON.stringify({action:X})});if(de!==O.current)return;t(J),N(Date.now())}catch(J){if(de!==O.current)return;k(J instanceof Error?J.message:String(J))}finally{de===O.current&&x(null)}},[]);p.useEffect(()=>{!e||e.isRunning||q.current||(q.current=!0,G("start"))},[e,G]);const P=p.useCallback(async X=>{M(X);try{await ye(`/api/pairing/peers/${encodeURIComponent(X)}`,{method:"DELETE"}),_("manual")}catch{}finally{M(null)}},[_]),H=p.useMemo(()=>{const X=e?.pairing?.qrValue?.trim();return X?Moe(X,{border:2,ecc:"M",pixelSize:8}):null},[e?.pairing?.qrValue]),D=Doe(e?.pairing?.relay??e?.relay??null),K=Loe(e?.pairing?.expiresAt,E),L=(e?.trustedPeers.find(X=>X.fingerprint===e.connectedPeerFingerprint)??null)?.name??MT(e?.connectedPeerFingerprint??null),F=pte(e),Z=n.trim()!==r,ee=!c&&!e&&!!w;return a.jsxs("div",{className:"sys-surface-page sys-settings-page",children:[a.jsxs("div",{className:"sys-page-head",children:[a.jsxs("div",{className:"sys-page-title-group",children:[a.jsx("h2",{className:"sys-page-title",children:"Settings"}),a.jsx("p",{className:"sys-page-subtitle",children:"Identity, pairing, and trusted devices."})]}),a.jsxs("div",{className:"sys-page-actions",children:[e&&a.jsx(Tr,{tone:F,children:e.statusLabel}),a.jsx("div",{className:"sys-sync-note",children:c?"Loading...":w&&e?`Snapshot from ${S?$e(S):"earlier"}`:S?`Updated ${$e(S)}`:""}),a.jsx("button",{type:"button",className:"s-btn",disabled:c||h||!!y,onClick:()=>{_("manual")},children:h?"Refreshing...":"Refresh"})]})]}),w&&e&&a.jsxs("div",{className:"sys-banner sys-banner-warning",children:[a.jsx("strong",{children:"Refresh failed."}),a.jsx("span",{children:w})]}),C&&a.jsxs("div",{className:"sys-banner sys-banner-warning",children:[a.jsx("strong",{children:"Identity error."}),a.jsx("span",{children:C})]}),c&&!e&&a.jsx(Vs,{title:"Loading settings",body:"Checking relay status and trusted peers."}),ee&&a.jsx(Vs,{className:"sys-state-card-error",title:"Pairing unavailable",body:w,action:a.jsx("button",{type:"button",className:"s-btn",onClick:()=>{_("manual")},children:"Try again"})}),a.jsxs("div",{className:"sys-settings-hero",children:[a.jsx("div",{className:"sys-settings-qr-col",children:H?a.jsxs("div",{className:"sys-settings-qr-frame",children:[a.jsx("div",{className:"s-qr",dangerouslySetInnerHTML:{__html:H}}),K&&a.jsxs("span",{className:"sys-settings-qr-expires",children:["Expires in ",K]})]}):a.jsx("div",{className:"sys-settings-qr-empty",children:a.jsx("span",{className:"sys-settings-qr-empty-label",children:"Generating QR..."})})}),a.jsxs("div",{className:"sys-settings-info-col",children:[a.jsxs("div",{className:"sys-input-row",children:[a.jsx("input",{className:"sys-input",type:"text",placeholder:"Your name",value:n,onChange:X=>s(X.target.value),onKeyDown:X=>{X.key==="Enter"&&Z&&!g&&V()}}),a.jsx("button",{type:"button",className:"s-btn s-btn-primary",disabled:!Z||g,onClick:()=>{V()},children:g?"Saving...":"Save"})]}),a.jsxs("div",{className:"sys-settings-kv-list",children:[e?.identityFingerprint&&a.jsxs("div",{className:"sys-settings-kv",children:[a.jsx("span",{className:"sys-settings-kv-label",children:"Fingerprint"}),a.jsxs("span",{className:"sys-settings-kv-value",children:[a.jsx("code",{children:e.identityFingerprint}),a.jsx(RT,{value:e.identityFingerprint})]})]}),D&&a.jsxs("div",{className:"sys-settings-kv",children:[a.jsx("span",{className:"sys-settings-kv-label",children:"Relay"}),a.jsxs("span",{className:"sys-settings-kv-value",children:[a.jsx("code",{children:D}),a.jsx(RT,{value:D})]})]}),e?.statusDetail&&a.jsxs("div",{className:"sys-settings-kv",children:[a.jsx("span",{className:"sys-settings-kv-label",children:"Status"}),a.jsx("span",{className:"sys-settings-kv-value sys-settings-kv-nowrap",children:e.statusDetail})]}),L&&a.jsxs("div",{className:"sys-settings-kv",children:[a.jsx("span",{className:"sys-settings-kv-label",children:"Connected"}),a.jsx("span",{className:"sys-settings-kv-value",children:L})]}),e?.secure&&a.jsxs("div",{className:"sys-settings-kv",children:[a.jsx("span",{className:"sys-settings-kv-label",children:"Security"}),a.jsx("span",{className:"sys-settings-kv-value",children:a.jsx(Tr,{tone:"success",children:"Noise XX"})})]})]}),e&&a.jsx("div",{className:"sys-inline-actions sys-settings-controls",children:e.isRunning?a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:"s-btn",disabled:!!y,onClick:()=>{G("restart")},children:y==="restart"?"Restarting...":"Restart"}),a.jsx("button",{type:"button",className:"s-btn",disabled:!!y,onClick:()=>{G("stop")},children:y==="stop"?"Stopping...":"Stop"})]}):a.jsx("button",{type:"button",className:"s-btn s-btn-primary",disabled:!!y,onClick:()=>{G("start")},children:y==="start"?"Starting...":"Start pairing"})})]})]}),e&&a.jsxs("section",{className:"sys-settings-peers",children:[a.jsx("div",{className:"sys-section-head",children:a.jsxs("div",{children:[a.jsx("h3",{className:"sys-section-title",children:"Trusted peers"}),a.jsxs("p",{className:"sys-section-subtitle",children:[e.trustedPeers.length," device",e.trustedPeers.length!==1?"s":""," paired with this broker."]})]})}),e.trustedPeers.length===0?a.jsxs("div",{className:"sys-list-empty",children:[a.jsx("h3",{children:"No trusted peers"}),a.jsx("p",{children:"Devices appear here after completing pairing."})]}):a.jsxs("table",{className:"sys-peers-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Device"}),a.jsx("th",{children:"Fingerprint"}),a.jsx("th",{children:"Paired"}),a.jsx("th",{children:"Last seen"}),a.jsx("th",{})]})}),a.jsx("tbody",{children:e.trustedPeers.map(X=>{const de=X.fingerprint===e.connectedPeerFingerprint;return a.jsxs("tr",{className:de?"sys-peers-row-connected":"",children:[a.jsx("td",{children:a.jsxs("span",{className:"sys-peers-name",children:[X.name??MT(X.fingerprint)??"Peer",de&&a.jsx(Tr,{tone:"success",className:"sys-peers-badge",children:"Connected"})]})}),a.jsx("td",{children:a.jsx("code",{className:"sys-peers-fp",children:X.fingerprint})}),a.jsx("td",{children:X.pairedAtLabel??"—"}),a.jsx("td",{children:X.lastSeenLabel??"—"}),a.jsx("td",{children:a.jsx("button",{type:"button",className:"sys-peers-remove",disabled:R===X.fingerprint,onClick:()=>{P(X.fingerprint)},title:"Remove peer",children:R===X.fingerprint?"...":"Remove"})})]},X.fingerprint)})})]})]})]})}let Bu={hover:null,content:null};const vb=new Set;function Uoe(){for(const e of vb)e()}function Voe(e){return vb.add(e),()=>{vb.delete(e)}}function IT(){return Bu}function Foe(){return p.useSyncExternalStore(Voe,IT,IT)}function _T(e){Bu.hover!==e&&(Bu={...Bu,hover:e},Uoe())}function Ar(e){return!e||!e.route&&!e.label?{onPointerEnter:void 0,onPointerLeave:void 0}:{onPointerEnter:()=>_T(e),onPointerLeave:()=>{Bu.hover===e&&_T(null)}}}const Hoe=220;function qoe(){const e=Foe(),t=!!(e.hover||e.content),[n,s]=p.useState(t?{hover:e.hover,content:e.content}:null),[r,o]=p.useState(t?"enter":"hidden"),c=p.useRef(null);if(p.useEffect(()=>{if(t){c.current&&(clearTimeout(c.current),c.current=null),s({hover:e.hover,content:e.content}),o(g=>g==="show"?"show":"enter");const f=requestAnimationFrame(()=>o("show"));return()=>cancelAnimationFrame(f)}return o("leave"),c.current=setTimeout(()=>{o("hidden"),s(null),c.current=null},Hoe),()=>{c.current&&(clearTimeout(c.current),c.current=null)}},[t,e.hover,e.content]),r==="hidden"||!n)return null;const u=n.hover?.label??n.hover?.route??null,h=n.hover?.label&&n.hover?.route?n.hover.route:null;return a.jsxs("div",{className:`s-page-status s-page-status--${r}`,role:"status","aria-live":"polite",children:[a.jsx("div",{className:"s-page-status-left",children:u&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-page-status-arrow","aria-hidden":!0,children:"→"}),a.jsx("span",{className:"s-page-status-target",children:u}),h&&a.jsx("span",{className:"s-page-status-route",children:h})]})}),a.jsx("div",{className:"s-page-status-right",children:n.content&&a.jsx("span",{className:"s-page-status-content",children:n.content})})]})}const mw=[{label:"15m",value:15*6e4},{label:"1h",value:60*6e4},{label:"24h",value:1440*6e4}];let zt={activityFilter:"all",sourceFilter:"all",recentWindowMs:mw[1].value,query:"",focusedId:null,canvasFocusRequest:null,visibleAgents:[],selectedIds:[]};const yb=new Set;let OT=0;function rr(){for(const e of yb)e()}function q$(e){zt.activityFilter!==e&&(zt={...zt,activityFilter:e},rr())}function W$(e){zt.sourceFilter!==e&&(zt={...zt,sourceFilter:e},rr())}function G$(e){zt.recentWindowMs!==e&&(zt={...zt,recentWindowMs:e},rr())}function Dm(e){zt.query!==e&&(zt={...zt,query:e},rr())}function Woe(e){zt.focusedId!==e&&(zt={...zt,focusedId:e},rr())}function Goe(e){OT+=1,zt={...zt,canvasFocusRequest:{id:e,serial:OT}},rr()}function Zoe(e){zt.canvasFocusRequest?.serial===e&&(zt={...zt,canvasFocusRequest:null},rr())}function Koe(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){const s=e[n],r=t[n];if(s.id!==r.id||s.state!==r.state||s.updatedAt!==r.updatedAt)return!1}return!0}function Yoe(e){Koe(zt.visibleAgents,e)||(zt={...zt,visibleAgents:e},rr())}function El(e){const t=zt.selectedIds.includes(e);zt={...zt,selectedIds:t?zt.selectedIds.filter(n=>n!==e):[...zt.selectedIds,e]},rr()}function Kh(){zt.selectedIds.length!==0&&(zt={...zt,selectedIds:[]},rr())}function Xoe(e){return yb.add(e),()=>{yb.delete(e)}}function Joe(){return zt}function Z$(){return p.useSyncExternalStore(Xoe,Joe)}function $T(e,t){if(!t)return!0;const n=t.trim().toLowerCase();return n?[e.name,e.handle,e.project,e.branch,e.harness,e.id].filter(r=>!!r).map(r=>r.toLowerCase()).some(r=>r.includes(n)):!0}const Qoe=2500,ele=1e4;function tle(e){const[t,n]=p.useState({}),s=p.useRef(!0),r=p.useRef(!1),o=p.useRef(!1),c=e.map(f=>f.id.trim()).filter(f=>f.length>0).join(","),u=e.some(f=>et(f.state)==="working")?Qoe:ele,h=p.useCallback(async()=>{if(e.length===0){n({});return}if(r.current){o.current=!0;return}r.current=!0;try{const f=c?`?ids=${encodeURIComponent(c)}`:"",g=await ye(`/api/observe/agents${f}`);if(!s.current)return;n(v=>{const y={};for(const x of e)y[x.id]=v[x.id];for(const x of g){const{agentId:w,...k}=x;y[w]=k}return y})}finally{r.current=!1,o.current&&(o.current=!1,h())}},[c,e]);return p.useEffect(()=>{if(s.current=!0,e.length===0)return n({}),()=>{s.current=!1};h();const f=setInterval(()=>{h()},u);return()=>{s.current=!1,clearInterval(f)}},[e.length,h,u]),t}function nle(e){switch(e.kind){case"tool":return`${e.tool??"tool"} ${e.arg??""}`.trim();case"think":return e.text.slice(0,120);case"ask":return`ask: ${e.text}`.slice(0,120);case"message":return e.text.slice(0,100);case"note":return e.text.slice(0,100);case"system":case"boot":return e.text.slice(0,100)}}const po=420,rc=320,xl=20,sle=48,ale=36,PT=28,fh=40,DT=72,rle=.35,ile=1.15,ole=244,lle=160,K$=2*6e4;function cle(e,t,n){return Math.max(t,Math.min(n,e))}const Y$="scout_mc_vp";function ule(e){try{localStorage.setItem(Y$,JSON.stringify(e))}catch{}}function dle(){try{const e=localStorage.getItem(Y$);if(!e)return null;const t=JSON.parse(e);if(typeof t?.zoom=="number"&&typeof t?.pan?.x=="number"&&typeof t?.pan?.y=="number")return t}catch{}return null}function fle(e){const t=hle(e);if(t.length===0)return{groups:[],canvasW:0,canvasH:0};const n=Math.max(1,Math.round(Math.sqrt(t.length*1.2))),s=[],r=new Array(n).fill(fh),o=Array.from({length:n},(h,f)=>fh+f*(po*2+xl+sle));for(const h of t){const f=r.indexOf(Math.min(...r)),g=o[f],v=r[f],y=Math.min(2,h.subjects.length),x=Math.ceil(h.subjects.length/y),w=y*po+(y-1)*xl,k=PT+x*rc+(x-1)*xl,C=h.subjects.map((T,S)=>({agentId:T.id,x:g+S%y*(po+xl),y:v+PT+Math.floor(S/y)*(rc+xl)}));s.push({label:h.label,x:g,y:v,w,h:k,tiles:C}),r[f]=v+k+ale}const c=Math.max(...o.map(h=>h+po*2+xl))+fh,u=Math.max(...r)+fh;return{groups:s,canvasW:c,canvasH:u}}function hle(e){const t=[...e].sort((r,o)=>r.stateRank!==o.stateRank?r.stateRank-o.stateRank:r.name.localeCompare(o.name)),n=new Map;for(const r of t)n.has(r.group)||n.set(r.group,[]),n.get(r.group).push(r);const s=[];for(const[r,o]of n)s.push({label:r,subjects:o});return s.sort((r,o)=>o.subjects.length-r.subjects.length),s}function mle(e){const t={working:0,available:1,offline:2},n=et(e.state);return{id:e.id,name:e.name,group:e.project??"unassigned",stateRank:t[n]??1}}function ple(e){return{id:e.id,name:e.agent.name,group:`native ${e.transcript.source}`,stateRank:e.current?0:1}}function gle(e){const t=new Map;for(const n of e)n.agentId&&t.set(n.agentId,(t.get(n.agentId)??0)+1);return t}function vle(e){const t=new Map;for(const n of e)!n.agentId||!n.lastMessageAt||t.set(n.agentId,Math.max(t.get(n.agentId)??0,n.lastMessageAt));return t}function yle(e,t,n){return Math.max(n.get(e.id)??0,t?.updatedAt??0,et(e.state)==="working"?e.updatedAt??0:0)}function xle(e,t,n,s){return et(e.state)==="working"||t?.data.live===!0||n>0&&s-n<=K$}function ble(e){return e?e.replace(/\.jsonl$/u,"").slice(0,8):"session"}function wle(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"Native"}function jle(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function Lm(e){const t=e.sessionId?.trim()||"session";return`native:${e.source}:${t}:${jle(e.transcriptPath)}`}function kle(e){switch(e){case"assistant":return"message";case"tool":case"tool-result":return"tool";case"user":return"ask";case"system":return"system";default:return"note"}}const Nle=5*6e4;function Sle(e,t,n){const s=t.slice(-12),r=s.map((c,u)=>({id:c.id,t:u,kind:kle(c.kind),text:c.summary,tool:c.kind==="tool"||c.kind==="tool-result"?c.source:void 0,detail:`${c.source} · ${c.harness}`,live:n&&u===s.length-1}));return{events:r.length>0?r:Date.now()-e.mtimeMs<=Nle?[{id:`${Lm(e)}:discovered`,t:0,kind:"system",text:`Native ${e.source} transcript discovered.`,detail:e.cwd??e.transcriptPath}]:[],files:[],live:n,metadata:{session:{adapterType:e.source,externalSessionId:e.sessionId??void 0,threadPath:e.transcriptPath,cwd:e.cwd??void 0,originator:e.harness,source:"tail"}}}}function Cle(e,t,n){return{id:Lm(e),name:`${wle(e.source)} · ${e.project}`,handle:ble(e.sessionId),agentClass:"native-session",harness:e.source,state:n?"working":"available",projectRoot:e.cwd,cwd:e.cwd,updatedAt:t,createdAt:null,transport:"tail",selector:null,wakePolicy:null,capabilities:[],project:e.project,branch:e.harness==="unattributed"?"native session":e.harness,role:"native session",model:null,harnessSessionId:e.sessionId,harnessLogPath:e.transcriptPath,conversationId:Lm(e),homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null}}const Ele={think:"var(--dim)",tool:"var(--accent)",ask:"var(--amber)",message:"var(--muted)",note:"var(--green)",system:"var(--dim)",boot:"var(--dim)"},pw={think:"think",tool:"tool",ask:"ask",message:"msg",note:"note",system:"sys",boot:"boot"};function Tle({navigate:e,agents:t}){const n=Z$(),{activityFilter:s,sourceFilter:r,recentWindowMs:o,query:c,focusedId:u,canvasFocusRequest:h}=n,f=q$,g=W$,v=G$,y=Woe,[x,w]=p.useState([]),[k,C]=p.useState(null),[T,S]=p.useState([]),[N,E]=p.useState(Date.now()),A=tle(t);bd(ie=>{S(fe=>fe.length>=500?[...fe.slice(fe.length-499),ie]:[...fe,ie])}),p.useEffect(()=>{const ie=setInterval(()=>E(Date.now()),1e4);return()=>clearInterval(ie)},[]),p.useEffect(()=>{let ie=!1;const fe=async()=>{try{const[Qe,ue,Ne]=await Promise.allSettled([ye("/api/conversations"),ye("/api/tail/discover"),ye("/api/tail/recent?limit=500")]);if(ie)return;Qe.status==="fulfilled"?w(Qe.value):w([]),ue.status==="fulfilled"&&C(ue.value),Ne.status==="fulfilled"&&S(Ne.value.events??[])}catch{ie||(w([]),C(null))}};fe();const Ae=setInterval(()=>{fe()},3e4);return()=>{ie=!0,clearInterval(Ae)}},[]);const R=p.useRef(null),[M,$]=p.useState({w:0,h:0}),[O,U]=p.useState({x:0,y:0}),[_,z]=p.useState(1),[q,V]=p.useState(!1),G=p.useRef(!1),P=p.useRef({x:0,y:0,panX:0,panY:0}),H=p.useRef(!1);p.useEffect(()=>{const ie=R.current;if(!ie)return;const fe=new ResizeObserver(([Ae])=>{$({w:Ae.contentRect.width,h:Ae.contentRect.height})});return fe.observe(ie),()=>fe.disconnect()},[]);const D=p.useMemo(()=>gle(x),[x]),K=p.useMemo(()=>vle(x),[x]),W=p.useMemo(()=>{const ie=new Map;for(const fe of t){const Ae=A[fe.id],Qe=yle(fe,Ae,K),ue=xle(fe,Ae,Qe,N);ie.set(fe.id,{lastActiveAt:Qe,current:ue,recent:ue||Qe>0&&N-Qe<=o})}return ie},[t,N,A,o,K]),L=p.useMemo(()=>{const ie=new Set(t.map(Ae=>Ae.harnessSessionId?.trim()).filter(Ae=>!!Ae)),fe=new Map;for(const Ae of T){const Qe=fe.get(Ae.sessionId)??[];Qe.push(Ae),fe.set(Ae.sessionId,Qe)}return(k?.transcripts??[]).filter(Ae=>Ae.harness!=="scout-managed").filter(Ae=>{const Qe=Ae.sessionId?.trim();return!Qe||!ie.has(Qe)}).slice(0,80).map(Ae=>{const Qe=Ae.sessionId?fe.get(Ae.sessionId)??[]:[],ue=Math.max(0,...Qe.map(kt=>kt.ts)),Ne=Math.max(ue,Ae.mtimeMs),De=Ne>0&&N-Ne<=K$,dt=De||Ne>0&&N-Ne<=o,St=Sle(Ae,Qe,De);return{id:Lm(Ae),transcript:Ae,events:Qe,agent:Cle(Ae,Ne,De),observe:St,lastActiveAt:Ne,current:De,recent:dt}})},[t,N,o,k?.transcripts,T]),F=p.useMemo(()=>{if(r==="native")return[];let ie=t;return s!=="all"&&(ie=ie.filter(fe=>{const Ae=W.get(fe.id);return s==="active"?Ae?.current:Ae?.recent})),c.trim()&&(ie=ie.filter(fe=>$T({name:fe.name,handle:fe.handle,project:fe.project,branch:fe.branch,harness:fe.harness,id:fe.id},c))),ie},[W,s,t,c,r]),Z=p.useMemo(()=>{if(r==="scout")return[];let ie=L;return s!=="all"&&(ie=ie.filter(fe=>s==="active"?fe.current:fe.recent)),c.trim()&&(ie=ie.filter(fe=>$T({name:fe.agent.name,handle:fe.agent.handle,project:fe.agent.project,branch:fe.agent.branch,harness:fe.agent.harness,id:fe.agent.id},c))),ie},[s,L,c,r]);p.useEffect(()=>{const ie=[...F.map(fe=>({id:fe.id,name:fe.name,handle:fe.handle,harness:fe.harness,branch:fe.branch,project:fe.project,model:fe.model,state:fe.state,agentClass:fe.agentClass,updatedAt:fe.updatedAt,source:"scout"})),...Z.map(fe=>({id:fe.agent.id,name:fe.agent.name,handle:fe.agent.handle,harness:fe.agent.harness,branch:fe.agent.branch,project:fe.agent.project,model:fe.agent.model,state:fe.agent.state,agentClass:fe.agent.agentClass,updatedAt:fe.agent.updatedAt,source:"native"}))];Yoe(ie)},[F,Z]);const ee=p.useMemo(()=>[...F.map(mle),...Z.map(ple)],[F,Z]),X=p.useMemo(()=>fle(ee),[ee]),de=p.useRef([]),[J,ae]=p.useState(null),je=p.useRef(null),Ee=p.useCallback((ie=!0)=>{if(X.canvasW===0||M.w===0)return;de.current.forEach(clearTimeout),ae(null);const fe=Math.min(1,M.w/X.canvasW,M.h/X.canvasH),Ae=Math.max(.15,Math.min(1,fe*.92));V(!1),z(Ae),U({x:(M.w-X.canvasW*Ae)/2,y:Math.max(8,(M.h-X.canvasH*Ae)/2)});const Qe=setTimeout(()=>{V(!0);const Ne=ie?dle():null;Ne?(U(Ne.pan),z(Ne.zoom)):(U({x:24,y:24}),z(.55))},700),ue=setTimeout(()=>V(!1),1700);de.current=[Qe,ue]},[X,M]),pe=p.useCallback(()=>{if(X.canvasW===0||M.w===0)return;de.current.forEach(clearTimeout),ae(null);const ie=Math.min(1,M.w/X.canvasW,M.h/X.canvasH),fe=Math.max(.15,Math.min(1,ie*.92));V(!0),z(fe),U({x:(M.w-X.canvasW*fe)/2,y:Math.max(8,(M.h-X.canvasH*fe)/2)});const Ae=setTimeout(()=>V(!1),500);de.current=[Ae]},[X,M]);p.useEffect(()=>{X.canvasW===0||M.w===0||H.current||(H.current=!0,Ee(!0))},[X,M,Ee]),p.useEffect(()=>{const ie=setInterval(()=>{ule({pan:O,zoom:_})},3e4);return()=>clearInterval(ie)},[O,_]);const Te=p.useCallback(ie=>{ie.target.closest(".s-mission-tile")||(G.current=!0,P.current={x:ie.clientX,y:ie.clientY,panX:O.x,panY:O.y})},[O]),re=p.useCallback(ie=>{G.current&&U({x:P.current.panX+(ie.clientX-P.current.x),y:P.current.panY+(ie.clientY-P.current.y)})},[]),Fe=p.useCallback(()=>{G.current=!1},[]);p.useEffect(()=>{const ie=R.current;if(!ie)return;const fe=Ae=>{Ae.preventDefault();const Qe=ie.getBoundingClientRect(),ue=Ae.clientX-Qe.left,Ne=Ae.clientY-Qe.top,De=Ae.deltaY>0?.92:1.08,dt=Math.max(.2,Math.min(2,_*De)),St=dt/_;U(kt=>({x:ue-(ue-kt.x)*St,y:Ne-(Ne-kt.y)*St})),z(dt)};return ie.addEventListener("wheel",fe,{passive:!1}),()=>ie.removeEventListener("wheel",fe)},[_]);const Ce=u?t.find(ie=>ie.id===u)??Z.find(ie=>ie.agent.id===u)?.agent??null:null;p.useEffect(()=>{const ie=fe=>{const Ae=fe.target;if(!(Ae.tagName==="INPUT"||Ae.tagName==="TEXTAREA"||Ae.isContentEditable)){if(fe.key==="Escape"){u?y(null):n.selectedIds.length>0&&Kh();return}if((fe.metaKey||fe.ctrlKey)&&fe.key==="a"){if(n.visibleAgents.length===0)return;fe.preventDefault();const ue=n.visibleAgents.map(De=>De.id);if(ue.length>0&&ue.every(De=>n.selectedIds.includes(De)))Kh();else for(const De of ue)n.selectedIds.includes(De)||El(De);return}(fe.key==="h"||fe.key==="H")&&Ee(!1)}};return window.addEventListener("keydown",ie),()=>window.removeEventListener("keydown",ie)},[Ce,u,n.selectedIds,n.visibleAgents,Ee]);const Me=p.useCallback(ie=>{const fe=R.current;fe&&(de.current.forEach(clearTimeout),ae(null),U({x:fe.clientWidth/2-ie.x*_,y:fe.clientHeight/2-ie.y*_}))},[_]),_e=p.useMemo(()=>{const ie={};for(const fe of X.groups)for(const Ae of fe.tiles)ie[Ae.agentId]={x:Ae.x,y:Ae.y};return ie},[X]),He=p.useCallback(ie=>{const fe=_e[ie];if(!fe||M.w===0||M.h===0)return!1;de.current.forEach(clearTimeout);const Ae=(M.w-DT*2)/po,Qe=(M.h-DT*2)/rc,ue=cle(Math.min(Ae,Qe),rle,ile),Ne={x:M.w/2-(fe.x+po/2)*ue,y:M.h/2-(fe.y+rc/2)*ue};V(!0),z(ue),U(Ne),ae(ie);const De=setTimeout(()=>V(!1),650),dt=setTimeout(()=>ae(null),1800);return de.current=[De,dt],!0},[_e,M]);p.useEffect(()=>{h&&je.current!==h.serial&&He(h.id)&&(je.current=h.serial,Zoe(h.serial))},[h,He]);const qe=F.filter(ie=>W.get(ie.id)?.current).length+Z.filter(ie=>ie.current).length,nt=(r==="native"?0:t.filter(ie=>W.get(ie.id)?.recent).length)+(r==="scout"?0:L.filter(ie=>ie.recent).length),Re=F.reduce((ie,fe)=>ie+(D.get(fe.id)??0),0)+Z.length,Ue=F.length+Z.length,Ie=t.length+L.length,Be=p.useMemo(()=>[...F,...Z.map(ie=>ie.agent)],[F,Z]),Pe=p.useMemo(()=>Ue>0?{id:"ops-control",render:({isCollapsed:ie,onToggleCollapse:fe})=>a.jsx(Dle,{layout:X,agents:Be,pan:O,zoom:_,viewportRef:R,isCollapsed:ie,onToggleCollapse:fe,onFitAll:pe,onHome:()=>Ee(!1),onClick:Me})}:null,[pe,X,Be,Me,O,Ee,Ue,_]);$Y(Pe);const at=p.useMemo(()=>{const ie=new Set(t.map(fe=>fe.id));return n.selectedIds.filter(fe=>ie.has(fe))},[t,n.selectedIds]),ut=p.useMemo(()=>{const ie=new Set(Z.map(fe=>fe.id));return n.selectedIds.filter(fe=>ie.has(fe))},[n.selectedIds,Z]),rt=ut.length,vt=at.length+ut.length;return a.jsxs("div",{className:"s-mission",children:[a.jsxs("div",{className:"s-mission-bar",children:[a.jsxs("span",{className:"s-mission-bar-label",children:[Ue,"/",Ie," tile",Ie!==1?"s":""," ·"," ",Re," session",Re!==1?"s":""," ·"," ",X.groups.length," workspace",X.groups.length!==1?"s":""]}),qe>0&&a.jsxs("span",{className:"s-mission-bar-live",children:[a.jsx("span",{className:"s-mission-bar-live-dot"}),qe," active"]}),a.jsx("div",{className:"s-mission-bar-search",children:a.jsx("input",{type:"text",className:"s-mission-bar-search-input",placeholder:"Search agents… (press /)",value:c,onChange:ie=>Dm(ie.target.value),onKeyDown:ie=>{ie.key==="Escape"&&(c?Dm(""):ie.target.blur())}})}),a.jsxs("div",{className:"s-mission-controls",role:"group","aria-label":"Agent activity filter",children:[a.jsx("button",{type:"button",className:`s-mission-filter${s==="all"?" s-mission-filter--active":""}`,onClick:()=>f("all"),children:"All"}),a.jsx("button",{type:"button",className:`s-mission-filter${s==="active"?" s-mission-filter--active":""}`,onClick:()=>f("active"),children:"Active now"}),a.jsxs("button",{type:"button",className:`s-mission-filter${s==="recent"?" s-mission-filter--active":""}`,onClick:()=>f("recent"),children:["Recent ",nt]})]}),a.jsxs("div",{className:"s-mission-controls",role:"group","aria-label":"Session source filter",children:[a.jsx("button",{type:"button",className:`s-mission-filter${r==="all"?" s-mission-filter--active":""}`,onClick:()=>g("all"),children:"All sources"}),a.jsx("button",{type:"button",className:`s-mission-filter${r==="scout"?" s-mission-filter--active":""}`,onClick:()=>g("scout"),children:"Scout"}),a.jsxs("button",{type:"button",className:`s-mission-filter${r==="native"?" s-mission-filter--active":""}`,onClick:()=>g("native"),children:["Native ",L.length]})]}),s==="recent"&&a.jsx("div",{className:"s-mission-controls",role:"group","aria-label":"Recent activity window",children:mw.map(ie=>a.jsx("button",{type:"button",className:`s-mission-filter s-mission-filter--compact${o===ie.value?" s-mission-filter--active":""}`,onClick:()=>v(ie.value),children:ie.label},ie.value))}),a.jsxs("div",{className:"s-mission-hotkeys",children:[n.selectedIds.length>0&&a.jsxs("div",{className:"s-mission-selection",role:"group","aria-label":"Selected agent actions",children:[a.jsxs("span",{className:"s-mission-selection-count",children:[n.selectedIds.length," selected"]}),rt>0&&a.jsxs("span",{className:"s-mission-selection-note",children:[at.length," Scout · ",rt," native"]}),a.jsx(wp,{agentIds:at,nativeSessionIds:ut,className:"s-mission-selection-action s-mission-selection-action--vantage",statusClassName:"s-mission-selection-status",label:"Open in Vantage",openingLabel:"Opening...",disabled:vt===0,title:vt>0?"Open selected sessions in the native Vantage canvas":"Select Scout agents or native sessions to open in Vantage"}),a.jsx("button",{type:"button",className:"s-mission-selection-action",onClick:Kh,children:"Clear"})]}),a.jsxs("button",{className:"s-mission-hotkey s-mission-hotkey--btn",onClick:()=>Ee(!1),title:"Reset to overview",children:[a.jsx("kbd",{children:"H"})," Home"]}),a.jsxs("span",{className:"s-mission-hotkey",children:[a.jsx("kbd",{children:"Esc"})," Close focus"]})]})]}),a.jsx("div",{ref:R,className:"s-mission-viewport",onMouseDown:Te,onMouseMove:re,onMouseUp:Fe,onMouseLeave:Fe,children:Ie===0?a.jsxs("div",{className:"s-mission-empty",children:[a.jsx("div",{className:"s-mission-empty-title",children:"No agents connected"}),a.jsx("div",{className:"s-mission-empty-sub",children:"Agents appear here as they join the mesh."}),a.jsx("div",{className:"s-mission-empty-hint",children:a.jsx("code",{children:"scout watch --as myagent"})})]}):Ue===0?a.jsxs("div",{className:"s-mission-empty",children:[a.jsx("div",{className:"s-mission-empty-title",children:"No matching sessions"}),a.jsx("div",{className:"s-mission-empty-sub",children:"Try another activity filter or recent window."})]}):a.jsxs("div",{className:"s-mission-canvas",style:{transform:`translate(${O.x}px, ${O.y}px) scale(${_})`,transition:q?"transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94)":"none"},children:[X.groups.map(ie=>a.jsx("div",{className:"s-mission-group-label",style:{left:ie.x,top:ie.y},children:ie.label},ie.label)),F.map(ie=>{const fe=_e[ie.id];if(!fe)return null;const Ae=A[ie.id],Qe=n.selectedIds.includes(ie.id);return a.jsx(LT,{agent:ie,observe:Ae?.data??null,x:fe.x,y:fe.y,selected:Qe,canvasFocused:J===ie.id,onToggleSelected:()=>El(ie.id),onClick:ue=>{ue.metaKey||ue.ctrlKey||ue.shiftKey?El(ie.id):y(ie.id)}},ie.id)}),Z.map(ie=>{const fe=_e[ie.id];if(!fe)return null;const Ae=n.selectedIds.includes(ie.id);return a.jsx(LT,{agent:ie.agent,observe:ie.observe,x:fe.x,y:fe.y,selected:Ae,canvasFocused:J===ie.id,onToggleSelected:()=>El(ie.id),onClick:Qe=>{Qe.metaKey||Qe.ctrlKey||Qe.shiftKey?El(ie.id):y(ie.id)}},ie.id)})]})}),Ce&&a.jsx(Ale,{agent:Ce,observe:A[Ce.id]?.data??null,onClose:()=>y(null),onSend:async(ie,fe)=>{await ye(fe==="ask"?"/api/ask":"/api/send",{method:"POST",body:JSON.stringify({body:ie,conversationId:ns(Ce.id)})})},onOpenConversation:()=>{y(null),e({view:"conversation",conversationId:ns(Ce.id)})},onTail:()=>{y(null),e({view:"ops",mode:"tail",tailQuery:Ce.handle??Ce.name})},onProfile:()=>{y(null),e({view:"agents",agentId:Ce.id})}})]})}function LT({agent:e,observe:t,x:n,y:s,selected:r=!1,canvasFocused:o=!1,onToggleSelected:c,onClick:u}){const h=p.useRef(null),f=et(e.state),g=en(e.name),v=t?.events??[],y=v.slice(-8),x=t?.live===!0,w=v.some(E=>E.kind==="ask"&&!E.answer),k=t?.contextUsage,C=k&&k.length>0?Math.round(k[k.length-1]*100):null,T=v.filter(E=>E.kind==="tool").length,S=v.filter(E=>E.kind==="tool"&&E.tool==="edit").length,N=Ar({label:`Focus ${e.handle??e.name}`,route:`/ops/control · ${e.id}`});return p.useEffect(()=>{h.current&&(h.current.scrollTop=h.current.scrollHeight)},[v.length]),a.jsxs("div",{className:["s-mission-tile",f==="working"?"s-mission-tile--working":null,w?"s-mission-tile--asking":null,r?"s-mission-tile--selected":null,o?"s-mission-tile--canvas-focused":null].filter(Boolean).join(" "),style:{left:n,top:s,height:rc},onClick:E=>{E.stopPropagation(),u(E)},onPointerEnter:N.onPointerEnter,onPointerLeave:N.onPointerLeave,children:[a.jsxs("div",{className:"s-mission-tile-header",children:[a.jsx("button",{type:"button",className:`s-mission-select${r?" s-mission-select--selected":""}`,"aria-pressed":r,title:r?"Remove from selection":"Select for batch actions",onClick:E=>{E.stopPropagation(),c()}}),a.jsx("div",{className:"s-ops-avatar",style:{"--size":"22px",background:g},children:e.name[0]?.toUpperCase()}),a.jsxs("div",{className:"s-mission-tile-identity",children:[a.jsxs("div",{className:"s-mission-tile-name",children:[e.name,a.jsx("span",{className:"s-mission-tile-handle",children:e.handle?`@${e.handle}`:""})]}),a.jsxs("div",{className:"s-mission-tile-meta",children:[e.project??"—"," · ",e.branch??"main"]})]}),a.jsx("span",{className:"s-ops-state-chip",style:{color:Lle(f)},children:Ra(e.state).toUpperCase()})]}),a.jsx("div",{className:"s-mission-tile-stream",ref:h,children:y.length===0?a.jsx("div",{className:"s-mission-tile-stream-inner",children:a.jsxs("div",{className:"s-mission-evt",children:[a.jsx("span",{className:"s-mission-evt-bead",style:{background:"var(--dim)"}}),a.jsx("span",{className:"s-mission-evt-text",style:{color:"var(--dim)"},children:f==="offline"?"No session data":"Waiting for events…"})]})}):a.jsx("div",{className:"s-mission-tile-stream-inner",children:y.map(E=>a.jsxs("div",{className:"s-mission-evt",children:[a.jsx("span",{className:"s-mission-evt-bead",style:{background:Ele[E.kind]??"var(--dim)"}}),a.jsx("span",{className:"s-mission-evt-kind",children:pw[E.kind]??E.kind}),a.jsxs("span",{className:`s-mission-evt-text s-mission-evt-text--${E.kind}`,children:[nle(E),E.live&&a.jsx("span",{className:"s-observe-cursor"})]})]},E.id))})}),a.jsxs("div",{className:"s-mission-tile-footer",children:[C!==null&&a.jsx("div",{className:"s-mission-tile-ctx",title:`Context: ${C}%`,children:a.jsx("div",{className:"s-mission-tile-ctx-fill",style:{width:`${C}%`}})}),a.jsxs("div",{className:"s-mission-tile-stats",children:[T>0&&a.jsxs("span",{children:[T," tools"]}),S>0&&a.jsxs("span",{children:[S," edits"]})]}),x&&a.jsxs("span",{className:"s-mission-tile-live",children:[a.jsx("span",{className:"s-mission-tile-live-dot"}),"LIVE"]})]})]})}function Ale({agent:e,observe:t,onClose:n,onSend:s,onOpenConversation:r,onTail:o,onProfile:c}){const u=en(e.name),{ref:h,onKeyDown:f}=q0(),[g,v]=p.useState("profile"),y=x=>{if(f(x),x.defaultPrevented)return;const w=x.target;w instanceof HTMLInputElement||w instanceof HTMLTextAreaElement||(w?.isContentEditable??!1)||(x.key==="1"?(x.preventDefault(),v("profile")):x.key==="2"?(x.preventDefault(),v("activity")):x.key==="3"&&(x.preventDefault(),v("message")))};return a.jsx("div",{className:"s-mission-overlay",onClick:n,children:a.jsxs("div",{ref:h,role:"dialog","aria-modal":"true","aria-labelledby":"mission-overlay-title",onClick:x=>x.stopPropagation(),onKeyDown:y,tabIndex:-1,className:"s-mission-overlay-dialog",children:[a.jsxs("div",{className:"s-mission-overlay-header",children:[a.jsx("div",{className:"s-ops-avatar",style:{"--size":"28px",background:u},children:e.name[0]?.toUpperCase()}),a.jsxs("div",{className:"s-mission-overlay-identity",children:[a.jsxs("div",{className:"s-mission-overlay-name",id:"mission-overlay-title",children:[e.name," ",a.jsx("span",{className:"s-mission-overlay-handle",children:e.handle?`@${e.handle}`:""})]}),a.jsxs("div",{className:"s-mission-overlay-meta",children:[e.project??"—"," · ",e.branch??"main"," · ",Ra(e.state)]})]}),a.jsx("button",{className:"s-mission-overlay-close",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"✕"})]}),a.jsxs("div",{className:"s-mission-overlay-tabs",role:"tablist",children:[a.jsxs("div",{className:"s-mission-overlay-tabs-group",children:[a.jsx("button",{type:"button",role:"tab","aria-selected":g==="profile",className:`s-mission-overlay-tab${g==="profile"?" s-mission-overlay-tab--active":""}`,onClick:()=>v("profile"),children:"Profile"}),a.jsx("button",{type:"button",role:"tab","aria-selected":g==="activity",className:`s-mission-overlay-tab${g==="activity"?" s-mission-overlay-tab--active":""}`,onClick:()=>v("activity"),children:"Activity"}),a.jsx("button",{type:"button",role:"tab","aria-selected":g==="message",className:`s-mission-overlay-tab${g==="message"?" s-mission-overlay-tab--active":""}`,onClick:()=>v("message"),children:"Message"})]}),a.jsxs("div",{className:"s-mission-overlay-tabs-action",children:[g==="profile"&&a.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:c,...Ar({label:`Open profile · ${e.handle??e.name}`,route:`/agents/${e.id}`}),children:"Open profile ↗"}),g==="activity"&&a.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:o,...Ar({label:`Tail · ${e.handle??e.name}`,route:`/ops/tail?q=${encodeURIComponent(e.handle??e.name)}`}),children:"Open in Tail ↗"}),g==="message"&&a.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:r,...Ar({label:`Open conversation with ${e.handle??e.name}`,route:`/c/${e.conversationId}`}),children:"Open conversation ↗"})]})]}),a.jsxs("div",{className:"s-mission-overlay-body",children:[g==="profile"&&a.jsx(Mle,{agent:e}),g==="activity"&&a.jsx(Ole,{agent:e,observe:t,onOpenConversation:r,onMessage:()=>v("message")}),g==="message"&&a.jsx(Ple,{agent:e,onSend:s,onOpenConversation:r})]})]})})}function Mle({agent:e}){const t=[["MODEL",[e.harness,e.model].filter(Boolean).join("/")||"—"],["AT",[e.project,e.branch].filter(Boolean).join("/")||"—"],["CWD",e.cwd||e.projectRoot||"—"],["AGENT",e.agentClass||"—"],["ROLE",e.role||e.transport||"—"],["HOME",e.homeNodeName??e.homeNodeId??"—"],["OWNER",e.ownerHandle??e.ownerName??e.ownerId??"—"],["SPAWNED",e.createdAt?$e(e.createdAt):"—"],["STATE",Ra(e.state)]];return a.jsx("div",{className:"s-focus-tab",children:a.jsx("dl",{className:"s-focus-spec",children:t.map(([n,s])=>a.jsxs("div",{className:"s-focus-spec-row",children:[a.jsx("dt",{className:"s-focus-spec-label",children:n}),a.jsx("dd",{className:"s-focus-spec-value",title:s,children:s})]},n))})})}const Rle={tool:"▸",think:"·",ask:"?",message:"✉",note:"•",system:"◇",boot:"↑"};function Ile(e,t){if(t){const s=Date.now()-(t+e*1e3);return s<6e4?`${Math.max(0,Math.round(s/1e3))}s`:s<36e5?`${Math.round(s/6e4)}m`:s<864e5?`${Math.round(s/36e5)}h`:`${Math.round(s/864e5)}d`}const n=Math.max(0,Math.round(e));return n<60?`${n}s`:n<3600?`${Math.round(n/60)}m`:`${Math.round(n/3600)}h`}function _le(e){if(e.kind==="tool"){const t=e.tool??"tool";return e.arg?`${t} · ${e.arg}`:t}return e.kind==="ask"?e.text||"asked something":e.text||e.detail||pw[e.kind]||e.kind}function Ole({agent:e,observe:t,onOpenConversation:n,onMessage:s}){const r=t?.events??[],o=t?.metadata?.usage,c=typeof t?.metadata?.session?.sessionStart=="number"?(t?.metadata?.session).sessionStart:null,u=r.slice(-14).reverse(),h=o?.assistantMessages??r.filter(x=>x.kind==="message").length,f=r.filter(x=>x.kind==="tool").length,g=r.filter(x=>x.kind==="tool"&&(x.tool==="edit"||x.tool==="write")).length,v=t?.contextUsage&&t.contextUsage.length>0?Math.round(t.contextUsage[t.contextUsage.length-1]*100):null,y=v!==null?`${v}%`:o?.contextWindowTokens&&o?.totalTokens?`${Math.round(o.totalTokens/o.contextWindowTokens*100)}%`:"—";return a.jsxs("div",{className:"s-focus-tab s-focus-tab--activity-preview",children:[a.jsxs("dl",{className:"s-focus-stats",children:[a.jsx(hh,{label:"Turns",value:h||"—"}),a.jsx(hh,{label:"Tools",value:f||"—"}),a.jsx(hh,{label:"Edits",value:g||"—"}),a.jsx(hh,{label:"Context",value:y})]}),u.length===0?a.jsx($le,{agent:e,onOpenConversation:n,onMessage:s}):a.jsx("ul",{className:"s-focus-activity-list",children:u.map(x=>a.jsxs("li",{className:`s-focus-activity-row s-focus-activity-row--${x.kind}`,children:[a.jsx("span",{className:"s-focus-activity-time",children:Ile(x.t,c)}),a.jsx("span",{className:"s-focus-activity-glyph","aria-hidden":!0,children:Rle[x.kind]??"·"}),a.jsx("span",{className:"s-focus-activity-kind",children:pw[x.kind]??x.kind}),a.jsx("span",{className:"s-focus-activity-text",children:_le(x)})]},x.id))})]})}function $le({agent:e,onOpenConversation:t,onMessage:n}){const s=e.role?.trim(),r=[e.harness,e.model].filter(Boolean).join("/"),o=[e.project,e.branch].filter(Boolean).join("/"),c=et(e.state),u=Ra(c),h=e.createdAt?$e(e.createdAt):null,f=e.updatedAt?$e(e.updatedAt):null,g=e.homeNodeName??e.homeNodeId,v=e.ownerHandle??e.ownerName??e.ownerId,y=[];return s&&y.push({label:"Role",value:s}),r&&y.push({label:"Stack",value:r}),o&&y.push({label:"At",value:o}),g&&y.push({label:"Home",value:g}),v&&y.push({label:"Owner",value:v}),h&&y.push({label:"Spawned",value:h}),y.push({label:"State",value:u}),f&&y.push({label:"Last seen",value:f}),a.jsxs("div",{className:"s-focus-activity-empty s-focus-activity-empty--rich",children:[a.jsxs("div",{className:"s-focus-activity-empty-head",children:[a.jsx("span",{className:"s-focus-activity-empty-eyebrow",children:"No tool or turn events recorded"}),a.jsx("span",{className:"s-focus-activity-empty-title",children:e.handle??e.name})]}),a.jsx("dl",{className:"s-focus-activity-empty-facts",children:y.map(x=>a.jsxs("div",{className:"s-focus-activity-empty-fact",children:[a.jsx("dt",{children:x.label}),a.jsx("dd",{title:x.value,children:x.value})]},x.label))}),a.jsxs("div",{className:"s-focus-activity-empty-actions",children:[a.jsx("button",{type:"button",className:"s-focus-activity-empty-btn",onClick:t,...Ar({label:`Open conversation with ${e.handle??e.name}`,route:`/c/${e.conversationId}`}),children:"Open conversation ↗"}),a.jsx("button",{type:"button",className:"s-focus-activity-empty-btn s-focus-activity-empty-btn--primary",onClick:n,...Ar({label:`Compose message · ${e.handle??e.name}`}),children:"Send a message"})]})]})}function hh({label:e,value:t}){return a.jsxs("div",{className:"s-focus-stat",children:[a.jsx("dt",{className:"s-focus-stat-label",children:e}),a.jsx("dd",{className:"s-focus-stat-value",children:t})]})}function Ple({agent:e,onSend:t,onOpenConversation:n}){const[s,r]=p.useState(""),[o,c]=p.useState(!1),[u,h]=p.useState(null),[f,g]=p.useState(null),v=p.useRef(null);p.useEffect(()=>{v.current?.focus()},[]);const y=async C=>{const T=s.trim();if(!(!T||o)){c(!0),g(null);try{await t(T,C),r(""),h(C),setTimeout(()=>h(null),1800)}catch(S){g(S instanceof Error?S.message:String(S))}finally{c(!1)}}},x=C=>{(C.metaKey||C.ctrlKey)&&C.key==="Enter"&&(C.preventDefault(),C.shiftKey?y("ask"):y("tell"))},w=e.handle??e.name,k=s.trim().length>0&&!o;return a.jsx("div",{className:"s-focus-tab",children:a.jsxs("div",{className:"s-focus-compose",children:[a.jsxs("label",{className:"s-focus-compose-label",htmlFor:"s-focus-compose-input",children:["Message ",a.jsxs("span",{className:"s-focus-compose-target",children:["@",w]})]}),a.jsx("textarea",{id:"s-focus-compose-input",ref:v,className:"s-focus-compose-input",placeholder:`Steer @${w}… (⌘↩ to Steer · ⌘⇧↩ to Ask)`,rows:6,value:s,onChange:C=>r(C.target.value),onKeyDown:x,disabled:o}),a.jsxs("div",{className:"s-focus-compose-foot",children:[a.jsx("div",{className:"s-focus-compose-hint",children:f?a.jsxs("span",{className:"s-focus-compose-error",children:["Send failed: ",f]}):u==="tell"?a.jsxs("span",{className:"s-focus-compose-ok",children:["Steered ↗ ",a.jsx("button",{type:"button",className:"s-focus-compose-link",onClick:n,children:"Open thread"})]}):u==="ask"?a.jsxs("span",{className:"s-focus-compose-ok",children:["Asked ↗ ",a.jsx("button",{type:"button",className:"s-focus-compose-link",onClick:n,children:"Open thread"})]}):a.jsxs(a.Fragment,{children:[a.jsx("strong",{children:"Steer"})," redirects what they're doing. ",a.jsx("strong",{children:"Ask"})," waits for a structured answer."]})}),a.jsxs("div",{className:"s-focus-compose-actions",children:[a.jsx("button",{type:"button",className:"s-ops-btn",onClick:()=>{y("ask")},disabled:!k,children:"Ask"}),a.jsx("button",{type:"button",className:"s-ops-btn s-ops-btn--primary",onClick:()=>{y("tell")},disabled:!k,children:"Steer"})]})]})]})})}function Dle({layout:e,agents:t,pan:n,zoom:s,viewportRef:r,isCollapsed:o,onToggleCollapse:c,onFitAll:u,onHome:h,onClick:f}){const g=p.useRef(null),[v,y]=p.useState(0);if(p.useEffect(()=>{const U=g.current;if(!U)return;const _=()=>y(U.getBoundingClientRect().width);_();const z=new ResizeObserver(_);return z.observe(U),()=>z.disconnect()},[]),e.canvasW===0)return null;const x=v||ole,w=Math.min(x/e.canvasW,lle/e.canvasH),k=e.canvasW*w,C=e.canvasH*w,T=Math.max(0,(x-k)/2),S=r.current,N=S?.clientWidth??0,E=S?.clientHeight??0,A=-n.x/s*w,R=-n.y/s*w,M=N/s*w,$=E/s*w,O=p.useCallback(U=>{const _=U.currentTarget.getBoundingClientRect(),z=Math.max(0,Math.min(k,U.clientX-_.left-T)),q=Math.max(0,Math.min(C,U.clientY-_.top));f({x:z/w,y:q/w})},[T,C,w,k,f]);return o?a.jsx("div",{className:"s-mission-minimap s-mission-minimap--collapsed",children:a.jsxs("div",{className:"s-mission-minimap-header",children:[a.jsxs("span",{className:"s-mission-minimap-title",children:[a.jsx("span",{className:"s-mission-minimap-title-mark","aria-hidden":!0}),"MAP"]}),a.jsx("button",{type:"button",className:"s-mission-minimap-action",title:"Expand map","aria-label":"Expand map",onClick:c,children:a.jsx(_b,{size:12,strokeWidth:1.5})})]})}):a.jsxs("div",{className:"s-mission-minimap",children:[a.jsxs("div",{className:"s-mission-minimap-header",children:[a.jsxs("span",{className:"s-mission-minimap-title",children:[a.jsx("span",{className:"s-mission-minimap-title-mark","aria-hidden":!0}),"MAP"]}),a.jsxs("div",{className:"s-mission-minimap-actions",children:[a.jsx("button",{type:"button",className:"s-mission-minimap-action",title:"Fit all","aria-label":"Fit all",onClick:u,children:a.jsx(Fm,{size:12,strokeWidth:1.5})}),a.jsx("button",{type:"button",className:"s-mission-minimap-action",title:"Recenter","aria-label":"Recenter",onClick:h,children:a.jsx(HA,{size:12,strokeWidth:1.5})}),a.jsx("button",{type:"button",className:"s-mission-minimap-action",title:"Minimize map","aria-label":"Minimize map",onClick:c,children:a.jsx(Wl,{size:12,strokeWidth:1.5})})]})]}),a.jsxs("div",{ref:g,className:"s-mission-minimap-canvas",style:{height:C},onClick:O,"aria-hidden":"true",children:[e.groups.flatMap(U=>U.tiles.map(_=>{const z=t.find(q=>q.id===_.agentId);return a.jsx("div",{className:"s-mission-minimap-tile",style:{left:T+_.x*w,top:_.y*w,width:po*w,height:rc*w,background:z?en(z.name):"var(--dim)",opacity:z&&et(z.state)==="working"?.8:.35}},_.agentId)})),a.jsx("div",{className:"s-mission-minimap-viewport",style:{left:T+Math.max(0,A),top:Math.max(0,R),width:Math.min(M,k),height:Math.min($,C)}})]})]})}function Lle(e){switch(e){case"working":return"var(--green)";case"available":return"var(--accent)";default:return"var(--dim)"}}const zle=["openai","codex","codex_app_server"],Ble=["anthropic","claude","claude-code","claude_stream_json"],ao={"openai:gpt-5.5":{provider:"openai",model:"gpt-5.5",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:null,outputPerM:30,webSearchPer1K:10},"openai:gpt-5.5-pro":{provider:"openai",model:"gpt-5.5-pro",inputPerM:30,cachedInputPerM:null,cacheWritePerM:null,outputPerM:180,webSearchPer1K:10},"openai:gpt-5.4":{provider:"openai",model:"gpt-5.4",inputPerM:2.5,cachedInputPerM:.25,cacheWritePerM:null,outputPerM:15,webSearchPer1K:10},"openai:gpt-5.4-mini":{provider:"openai",model:"gpt-5.4-mini",inputPerM:.75,cachedInputPerM:.075,cacheWritePerM:null,outputPerM:4.5,webSearchPer1K:10},"openai:gpt-5.4-nano":{provider:"openai",model:"gpt-5.4-nano",inputPerM:.2,cachedInputPerM:.02,cacheWritePerM:null,outputPerM:1.25,webSearchPer1K:10},"openai:gpt-5.4-pro":{provider:"openai",model:"gpt-5.4-pro",inputPerM:30,cachedInputPerM:null,cacheWritePerM:null,outputPerM:180,webSearchPer1K:10},"openai:gpt-5.3-codex":{provider:"openai",model:"gpt-5.3-codex",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.3-chat-latest":{provider:"openai",model:"gpt-5.3-chat-latest",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2":{provider:"openai",model:"gpt-5.2",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-codex":{provider:"openai",model:"gpt-5.2-codex",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-chat-latest":{provider:"openai",model:"gpt-5.2-chat-latest",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-pro":{provider:"openai",model:"gpt-5.2-pro",inputPerM:21,cachedInputPerM:null,cacheWritePerM:null,outputPerM:168,webSearchPer1K:10},"openai:gpt-5.1":{provider:"openai",model:"gpt-5.1",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-codex":{provider:"openai",model:"gpt-5.1-codex",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-codex-max":{provider:"openai",model:"gpt-5.1-codex-max",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-chat-latest":{provider:"openai",model:"gpt-5.1-chat-latest",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5":{provider:"openai",model:"gpt-5",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-codex":{provider:"openai",model:"gpt-5-codex",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-chat-latest":{provider:"openai",model:"gpt-5-chat-latest",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-mini":{provider:"openai",model:"gpt-5-mini",inputPerM:.25,cachedInputPerM:.025,cacheWritePerM:null,outputPerM:2,webSearchPer1K:10},"openai:gpt-5-nano":{provider:"openai",model:"gpt-5-nano",inputPerM:.05,cachedInputPerM:.005,cacheWritePerM:null,outputPerM:.4,webSearchPer1K:10},"openai:gpt-5-pro":{provider:"openai",model:"gpt-5-pro",inputPerM:15,cachedInputPerM:null,cacheWritePerM:null,outputPerM:120,webSearchPer1K:10},"openai:gpt-4.1":{provider:"openai",model:"gpt-4.1",inputPerM:2,cachedInputPerM:.5,cacheWritePerM:null,outputPerM:8,webSearchPer1K:10},"openai:gpt-4.1-mini":{provider:"openai",model:"gpt-4.1-mini",inputPerM:.4,cachedInputPerM:.1,cacheWritePerM:null,outputPerM:1.6,webSearchPer1K:10},"openai:gpt-4.1-nano":{provider:"openai",model:"gpt-4.1-nano",inputPerM:.1,cachedInputPerM:.025,cacheWritePerM:null,outputPerM:.4,webSearchPer1K:10},"openai:gpt-4o":{provider:"openai",model:"gpt-4o",inputPerM:2.5,cachedInputPerM:1.25,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-4o-mini":{provider:"openai",model:"gpt-4o-mini",inputPerM:.15,cachedInputPerM:.075,cacheWritePerM:null,outputPerM:.6,webSearchPer1K:10},"anthropic:claude-opus-4.6":{provider:"anthropic",model:"claude-opus-4.6",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:6.25,outputPerM:25,webSearchPer1K:10},"anthropic:claude-opus-4.5":{provider:"anthropic",model:"claude-opus-4.5",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:6.25,outputPerM:25,webSearchPer1K:10},"anthropic:claude-opus-4.1":{provider:"anthropic",model:"claude-opus-4.1",inputPerM:15,cachedInputPerM:1.5,cacheWritePerM:18.75,outputPerM:75,webSearchPer1K:10},"anthropic:claude-opus-4":{provider:"anthropic",model:"claude-opus-4",inputPerM:15,cachedInputPerM:1.5,cacheWritePerM:18.75,outputPerM:75,webSearchPer1K:10},"anthropic:claude-sonnet-4.6":{provider:"anthropic",model:"claude-sonnet-4.6",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-sonnet-4.5":{provider:"anthropic",model:"claude-sonnet-4.5",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-sonnet-4":{provider:"anthropic",model:"claude-sonnet-4",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-3-7-sonnet":{provider:"anthropic",model:"claude-3-7-sonnet",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-haiku-4.5":{provider:"anthropic",model:"claude-haiku-4.5",inputPerM:1,cachedInputPerM:.1,cacheWritePerM:1.25,outputPerM:5,webSearchPer1K:10}},Ule={"claude-sonnet-4-5":"anthropic:claude-sonnet-4.5","claude-sonnet-4-6":"anthropic:claude-sonnet-4.6","claude-opus-4-5":"anthropic:claude-opus-4.5","claude-opus-4-6":"anthropic:claude-opus-4.6","claude-haiku-4-5":"anthropic:claude-haiku-4.5"};function Vle(e){const t=e.provider?.trim().toLowerCase()??"",n=e.adapterType?.trim().toLowerCase()??"",s=X$(e.model)??"",r=[t,n].filter(Boolean);return r.some(o=>zle.some(c=>o.includes(c)))?"openai":r.some(o=>Ble.some(c=>o.includes(c)))?"anthropic":s.startsWith("gpt-")||s.startsWith("o")||s.includes("codex")?"openai":s.startsWith("claude-")?"anthropic":"unknown"}function X$(e){return e?e.trim().toLowerCase().replace(/^(openai|anthropic)\//,"").replace(/_/g,"-").replace(/-\d{8}$/,""):null}function Fle(e){const t=ii(e?.inputTokens),n=ii(e?.cacheReadInputTokens),s=ii(e?.cacheCreationInputTokens),r=ii(e?.outputTokens),o=ii(e?.reasoningOutputTokens),c=[t,r].reduce((h,f)=>h+(f??0),0),u=ii(e?.totalTokens)??(c||null);return{input:t,uncachedInput:t==null?null:Math.max(0,t-(n??0)-(s??0)),cachedInput:n,cacheWrite:s,output:r,reasoningOutput:o,total:u,webSearchRequests:ii(e?.webSearchRequests),webFetchRequests:ii(e?.webFetchRequests)}}function Hle(e){const t=Vle(e),n=X$(e.model),s=Fle(e.usage),r=qle(t,n),o=Wle(e);if(!r.rateCard)return{provider:t,model:n,rateCard:null,rateCardSource:"unknown",capturedAt:e.capturedAt??Date.now(),usage:s,lineItems:[],totalUsd:null,billedTotalUsd:null,billingMode:o,subscriptionWindows:e.subscriptionWindows??[]};const c=r.rateCard,u=s.uncachedInput??s.input??0,h=s.cachedInput??0,f=s.cacheWrite??0,g=s.output??0,v=s.webSearchRequests??0,y=[mh("input","Input",u,c.inputPerM,o),mh("cached_input","Cached input",h,c.cachedInputPerM??c.inputPerM,o),mh("cache_write","Cache write",f,c.cacheWritePerM??c.inputPerM,o),mh("output","Output",g,c.outputPerM,o),{key:"web_search",label:"Web search",quantity:v,unit:"requests",rate:c.webSearchPer1K??0,billedRate:o==="subscription"?0:c.webSearchPer1K??0,costUsd:v/1e3*(c.webSearchPer1K??0),billedCostUsd:o==="subscription"?0:v/1e3*(c.webSearchPer1K??0)}].filter(x=>x.quantity>0);return{provider:t,model:n,rateCard:c,rateCardSource:r.source,capturedAt:e.capturedAt??Date.now(),usage:s,lineItems:y,totalUsd:y.reduce((x,w)=>x+w.costUsd,0),billedTotalUsd:y.reduce((x,w)=>x+w.billedCostUsd,0),billingMode:o,subscriptionWindows:e.subscriptionWindows??[]}}function qle(e,t){if(e==="unknown")return{rateCard:null,source:"unknown"};const n=t?`${e}:${t}`:null;if(n&&ao[n])return{rateCard:ao[n],source:"exact"};const s=t?Ule[t]:null;if(s&&ao[s])return{rateCard:ao[s],source:"alias"};if(e==="anthropic"){if(t?.includes("opus"))return{rateCard:ao["anthropic:claude-opus-4.5"],source:"provider-default"};if(t?.includes("haiku"))return{rateCard:ao["anthropic:claude-haiku-4.5"],source:"provider-default"};if(t?.includes("sonnet")||!t)return{rateCard:ao["anthropic:claude-sonnet-4.5"],source:"provider-default"}}return{rateCard:null,source:"unknown"}}function mh(e,t,n,s,r){const o=r==="subscription"?0:s;return{key:e,label:t,quantity:n,unit:"tokens",rate:s,billedRate:o,costUsd:n/1e6*s,billedCostUsd:n/1e6*o}}function ii(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Wle(e){if(e.billingMode)return e.billingMode;const t=e.adapterType?.trim().toLowerCase();if(t==="claude-code"||t==="claude_stream_json")return"subscription";const n=e.usage?.planType?.trim().toLowerCase();return!n||n==="api"||n.includes("api")?"api":"subscription"}const xb=1440*6e4,Gle=90*6e4,zT={working:0,available:1,offline:2},Zle=[{key:"agent",label:"Agent",kind:"custom",sortable:!0,sortValue:e=>e.agent.name.toLowerCase(),defaultWidth:220,minWidth:160,render:e=>a.jsxs("div",{className:"s-ops-agents-agent-cell",children:[a.jsx("span",{className:"s-ops-agents-dot",style:{background:Un(e.state)},"aria-hidden":!0}),a.jsx("span",{className:"s-ops-agents-agent-name",title:e.agent.name,children:e.agent.handle??e.agent.name})]})},{key:"task",label:"Active task",kind:"custom",sortable:!0,sortValue:e=>(e.activeTask??"").toLowerCase()||null,defaultWidth:240,minWidth:140,render:e=>e.activeTask?a.jsx("span",{className:"s-ops-agents-task",title:e.activeTask,children:e.activeTask}):a.jsx("span",{className:"s-ops-agents-task s-ops-agents-task--idle",children:"—"})},{key:"team",label:"Project",kind:"text",defaultWidth:140,minWidth:90,cls:"s-ops-agents-meta",render:e=>a.jsx("span",{className:"s-ops-agents-meta-cell",children:e.team}),sortValue:e=>e.team.toLowerCase()},{key:"machine",label:"Machine",kind:"text",defaultWidth:120,minWidth:88,cls:"s-ops-agents-meta",render:e=>a.jsx("span",{className:"s-ops-agents-meta-cell",children:e.machine}),sortValue:e=>e.machine.toLowerCase()},{key:"active",label:"Active",kind:"number",defaultWidth:90,minWidth:64,cls:"s-ops-agents-num",render:e=>e.activeFlights,sortValue:e=>e.activeFlights},{key:"sessions24h",label:"24h sessions",kind:"number",defaultWidth:108,minWidth:78,cls:"s-ops-agents-num",render:e=>e.sessions24h,sortValue:e=>e.sessions24h},{key:"throughput",label:"Throughput",kind:"custom",sortable:!1,defaultWidth:110,minWidth:90,render:e=>a.jsx(Xle,{values:e.throughput,warn:e.errors>0})},{key:"avgLatency",label:"Avg latency",kind:"number",defaultWidth:108,minWidth:80,cls:"s-ops-agents-num",render:e=>J$(e.avgLatencyMs),sortValue:e=>e.avgLatencyMs},{key:"input",label:"Input",kind:"number",defaultWidth:88,minWidth:64,cls:"s-ops-agents-num",render:e=>ku(e.usage.uncachedInput??e.usage.input),sortValue:e=>e.usage.uncachedInput??e.usage.input??null},{key:"cacheRead",label:"Cache read",kind:"number",defaultWidth:98,minWidth:72,cls:"s-ops-agents-num",render:e=>ku(e.usage.cachedInput),sortValue:e=>e.usage.cachedInput??null},{key:"cacheWrite",label:"Cache write",kind:"number",defaultWidth:98,minWidth:72,cls:"s-ops-agents-num",render:e=>ku(e.usage.cacheWrite),sortValue:e=>e.usage.cacheWrite??null},{key:"output",label:"Output",kind:"number",defaultWidth:88,minWidth:64,cls:"s-ops-agents-num",render:e=>ku(e.usage.output),sortValue:e=>e.usage.output??null},{key:"apiEquiv",label:"API equiv",kind:"number",defaultWidth:92,minWidth:72,cls:"s-ops-agents-num",render:e=>a.jsx("span",{className:e.cost.rateCardSource==="unknown"?"s-ops-agents-num--dim":void 0,children:zm(e.cost.totalUsd)}),sortValue:e=>e.cost.totalUsd??null},{key:"billed",label:"Billed",kind:"number",defaultWidth:92,minWidth:72,cls:"s-ops-agents-num",render:e=>a.jsx("span",{className:e.cost.billingMode==="subscription"?"s-ops-agents-num--covered":void 0,children:zm(e.cost.billedTotalUsd)}),sortValue:e=>e.cost.billedTotalUsd??null},{key:"errors",label:"Errors",kind:"number",defaultWidth:72,minWidth:58,cls:"s-ops-agents-num",render:e=>a.jsx("span",{className:e.errors>0?"s-ops-agents-num--warn":void 0,children:e.errors}),sortValue:e=>e.errors},{key:"lastActive",label:"Last active",kind:"time",defaultWidth:104,minWidth:78,cls:"s-ops-agents-last",render:e=>e.lastActiveAt?$e(e.lastActiveAt):"—",sortValue:e=>e.lastActiveAt}];function BT(e){if(!e)return null;const t=e.replace(/\/+$/,""),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function ku(e){return e==null?"—":e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}K`:String(e)}function J$(e){return e==null?"—":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`}function zm(e){return e==null?"$—":e<1?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Kle(e,t){if(!e)return null;const n=e.data.events.filter(r=>r.kind==="message"||r.kind==="tool").filter(r=>t-r.t<=Gle).sort((r,o)=>r.t-o.t);if(n.length<2)return null;const s=[];for(let r=1;r<n.length;r+=1){const o=n[r].t-n[r-1].t;o>0&&o<12e4&&s.push(o)}return s.length===0?null:Math.round(s.reduce((r,o)=>r+o,0)/s.length)}function Yle(e,t){const n=new Array(24).fill(0),s=t-xb;for(const r of e){if(r.ts<s||r.ts>t)continue;const o=Math.min(23,Math.max(0,Math.floor((r.ts-s)/xb*n.length)));n[o]+=1}return n}function Xle({values:e,warn:t=!1}){const r=Math.max(1,...e),o=e.map((c,u)=>{const h=u/Math.max(1,e.length-1)*92,f=22-c/r*19-1.5;return`${h.toFixed(1)},${f.toFixed(1)}`}).join(" ");return a.jsx("svg",{className:`s-ops-agents-spark${t?" s-ops-agents-spark--warn":""}`,viewBox:"0 0 92 22","aria-hidden":"true",children:a.jsx("polyline",{points:o,fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Jle(e){return e.transport??BT(e.cwd)??BT(e.projectRoot)??"local"}function Qle(e){return e.project??e.role??e.agentClass??"Unassigned"}function ece(e){if(e.length===0)return null;const t={working:0,needs_attention:1,queued:2,failed:3,completed:4},s=[...e].sort((o,c)=>{const u=t[o.status]-t[c.status];return u!==0?u:(c.updatedAt??0)-(o.updatedAt??0)})[0];return(s.task??s.summary??"").trim()||null}function tce(e,t,n,s,r,o){const c=t.filter(w=>w.agentId===e.id),u=c.filter(w=>{const k=w.lastMessageAt??0;return k>0&&o-k<=xb}),h=n.filter(w=>w.actorName===e.name||w.conversationId===e.conversationId),f=r.get(e.id),g=f?.data.metadata?.session?.model??null,v=f?.data.metadata?.session?.modelProvider??null,y=Hle({adapterType:f?.data.metadata?.session?.adapterType,capturedAt:f?.updatedAt??o,model:g,provider:v,usage:f?.data.metadata?.usage}),x=s.filter(w=>w.agentId===e.id);return{agent:e,team:Qle(e),machine:Jle(e),model:g,provider:v,state:et(e.state),activeFlights:x.length,activeTask:ece(x),sessions24h:u.length,throughput:Yle(h,o),avgLatencyMs:Kle(f,o),usage:y.usage,cost:y,errors:x.filter(w=>w.status==="failed"||w.status==="needs_attention").length,lastActiveAt:Math.max(0,...c.map(w=>w.lastMessageAt??0),...h.map(w=>w.ts),e.updatedAt??0)||null}}function nce({navigate:e,agents:t}){const[n,s]=p.useState(null),[r,o]=p.useState([]),[c,u]=p.useState([]),[h,f]=p.useState([]),[g,v]=p.useState(""),[y,x]=p.useState(()=>Date.now()),w=p.useCallback(async()=>{const V=t.map(K=>K.id).join(","),[G,P,H,D]=await Promise.allSettled([ye("/api/fleet"),ye("/api/conversations"),ye("/api/activity"),V?ye(`/api/observe/agents?ids=${encodeURIComponent(V)}`):Promise.resolve([])]);G.status==="fulfilled"&&s(G.value),P.status==="fulfilled"&&o(P.value),H.status==="fulfilled"&&u(H.value),D.status==="fulfilled"&&f(D.value),x(Date.now())},[t]);p.useEffect(()=>{w()},[w]),an(()=>{w()}),p.useEffect(()=>{const V=setInterval(()=>x(Date.now()),1e3);return()=>clearInterval(V)},[]);const k=p.useMemo(()=>new Map(h.map(V=>[V.agentId,V])),[h]),C=p.useMemo(()=>{const V=n?.activeAsks??[];return t.map(G=>tce(G,r,c,V,k,y))},[c,t,n?.activeAsks,y,k,r]),T=p.useMemo(()=>{const V=g.trim().toLowerCase();return V?C.filter(G=>`${G.agent.name} ${G.team} ${G.machine} ${G.agent.handle??""} ${G.agent.harness??""} ${G.activeTask??""}`.toLowerCase().includes(V)):C},[g,C]),[S,N]=p.useState({key:"lastActive",dir:-1}),E=p.useMemo(()=>S?.key==="agent"?void 0:(V,G)=>zT[V.state]-zT[G.state],[S?.key]),A=p.useMemo(()=>T.map(V=>V.agent),[T]),R=p.useMemo(()=>T.map(V=>V.agent.id),[T]),M=iw({agents:A,orderedIds:R,navigate:e,selectMode:"preview"}),$=C.filter(V=>V.state==="working").length,O=C.filter(V=>V.state!=="offline").length,U=C.reduce((V,G)=>V+(G.usage.total??0),0),_=C.some(V=>V.cost.totalUsd!=null)?C.reduce((V,G)=>V+(G.cost.totalUsd??0),0):null,z=C.some(V=>V.cost.billedTotalUsd!=null)?C.reduce((V,G)=>V+(G.cost.billedTotalUsd??0),0):null,q=(()=>{const V=C.map(G=>G.avgLatencyMs).filter(G=>G!=null);return V.length===0?null:Math.round(V.reduce((G,P)=>G+P,0)/V.length)})();return a.jsxs("div",{className:"s-ops-agents",children:[a.jsxs("main",{className:"s-ops-agents-main",children:[a.jsxs("div",{className:"s-ops-agents-toolbar",children:[a.jsxs("div",{className:"s-ops-agents-breadcrumb",children:["Fleet ",a.jsx("span",{children:"/"})," Agents"]}),a.jsxs("div",{className:"s-ops-agents-live",children:[a.jsx("span",{className:"s-ops-agents-live-dot"}),O," active"]}),a.jsxs("div",{className:"s-ops-agents-search",children:[a.jsx(qm,{size:13}),a.jsx("input",{value:g,onChange:V=>v(V.target.value),placeholder:"Search agents, tasks, projects, machines…"})]}),a.jsx("button",{className:"s-ops-agents-icon-btn",type:"button",title:"Filters",children:a.jsx(j4,{size:14})})]}),a.jsx("section",{className:"s-ops-agents-hero",children:a.jsxs("div",{children:[a.jsx("div",{className:"s-ops-agents-kicker",children:"Agents"}),a.jsx("h1",{children:"All agents"}),a.jsx("p",{children:"Every registered agent across the local fleet, sorted by live status."})]})}),a.jsxs("section",{className:"s-ops-agents-stats",children:[a.jsx(ph,{label:"Running",value:String($),sub:`of ${t.length} total`}),a.jsx(ph,{label:"Tokens",value:ku(U||null),sub:_==null?"usage metadata pending":`${zm(_)} API equiv`}),a.jsx(ph,{label:"Avg latency",value:J$(q),sub:"recent observe events"}),a.jsx(ph,{label:"Billed",value:zm(z),sub:"subscription usage can mark this down"})]}),a.jsxs("section",{className:"s-ops-agents-table-panel",children:[a.jsxs("div",{className:"s-ops-agents-table-title",children:["Agents ",a.jsx("span",{children:T.length}),a.jsxs("span",{className:"s-ops-agents-hint","aria-hidden":!0,children:[a.jsx("kbd",{children:"↑"}),a.jsx("kbd",{children:"↓"})," navigate · ",a.jsx("kbd",{children:"enter"})," pin · ",a.jsx("kbd",{children:"o"})," open · ",a.jsx("kbd",{children:"esc"})," clear"]})]}),a.jsx("div",{className:"s-ops-agents-table-wrap",ref:M.containerRef,children:a.jsx(bp,{rows:T,columns:Zle,rowId:V=>V.agent.id,storageKey:"openscout.opsAgents.cols",sort:S,onSortChange:N,secondarySort:E,density:"compact",rowBindings:V=>{const G=M.bind(V);return{...G,onKeyDown:P=>{P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),G.onClick())}}},rowState:V=>M.getState(V),empty:{title:"No agents match",body:"Adjust the search to find a different slice of the fleet."},className:"s-ops-agents-data-table",ariaLabel:"Fleet agents"})})]})]}),M.card]})}function ph({label:e,value:t,sub:n,tone:s="default"}){return a.jsxs("div",{className:`s-ops-agents-metric s-ops-agents-metric--${s}`,children:[a.jsx("div",{className:"s-ops-agents-metric-label",children:e}),a.jsx("div",{className:"s-ops-agents-metric-value",children:t}),a.jsx("div",{className:"s-ops-agents-metric-sub",children:n})]})}const sce={total:0,byAuthor:{all:0,operator:0,agent:0},byOutcome:{all:0,running:0,review:0,completed:0,abandoned:0},byProject:[]};let Tn={authorFilter:"all",outcomeFilter:"all",timeFilter:"7d",projectFilter:"all",query:"",counts:sce,focusedPlanId:null};const bb=new Set;function Mo(){for(const e of bb)e()}function ace(e){return bb.add(e),()=>{bb.delete(e)}}function UT(){return Tn}function Q$(){return p.useSyncExternalStore(ace,UT,UT)}function rce(e){Tn.authorFilter!==e&&(Tn={...Tn,authorFilter:e},Mo())}function ice(e){Tn.outcomeFilter!==e&&(Tn={...Tn,outcomeFilter:e},Mo())}function oce(e){Tn.timeFilter!==e&&(Tn={...Tn,timeFilter:e},Mo())}function VT(e){Tn.projectFilter!==e&&(Tn={...Tn,projectFilter:e},Mo())}function eP(e){Tn.query!==e&&(Tn={...Tn,query:e},Mo())}function lce(e){Tn={...Tn,counts:e},Mo()}function By(e){Tn.focusedPlanId!==e&&(Tn={...Tn,focusedPlanId:e},Mo())}const tP=[{id:"24h",label:"24h",ms:1440*60*1e3},{id:"7d",label:"7d",ms:10080*60*1e3},{id:"30d",label:"30d",ms:720*60*60*1e3},{id:"all",label:"All",ms:null}],cce=[{id:"all",label:"All"},{id:"operator",label:"Operator"},{id:"agent",label:"Agent"}],uce=[{id:"all",label:"All"},{id:"running",label:"Running"},{id:"review",label:"Review"},{id:"completed",label:"Completed"},{id:"abandoned",label:"Abandoned"}],dce=new Set(["open","working","waiting"]),fce=new Set(["review"]),hce=new Set(["completed","done","shipped"]);function mce(e){const t=e.toLowerCase();return dce.has(t)?"running":fce.has(t)?"review":hce.has(t)?"completed":"abandoned"}function pce(e){const t=e.ownerId??"",n=t==="operator"||t===""||t.startsWith("operator.");return{author:n?"operator":"agent",label:e.ownerName??t??(n?"operator":"agent")}}function gce(e){if(e.parentTitle){const t=e.parentTitle.match(/^([a-z0-9_-]+)/i);if(t)return t[1]}return"—"}function vce(e){const{author:t,label:n}=pce(e);return{id:e.id,source:"work",title:e.title,summary:e.summary??e.lastMeaningfulSummary??null,author:t,authorLabel:n,ownerId:e.ownerId,project:gce(e),state:e.state,outcome:mce(e.state),route:{view:"work",workId:e.id},taskText:null,createdAt:e.createdAt,updatedAt:e.updatedAt,lastMeaningfulAt:e.lastMeaningfulAt,parentId:e.parentId,parentTitle:e.parentTitle}}function Bm(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}function wb(e,t=260){const n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}…`}function yce(e){return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)??e.trim()}function nP(e){return Bm(e.input?.task)}function xce(e){return Bm(e.output?.summary)??Bm(e.output?.text)}function FT(e,t){const n=e&&typeof e=="object"&&!Array.isArray(e)?e[t]:null;return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function bce(e){const t=FT(e.metadata,"invocationMetadata")??e.metadata??null,n=FT(t,"returnAddress"),s=Bm(n?.projectRoot);if(s){const c=s.split("/").filter(Boolean);return c[c.length-1]??s}return(e.conversationId??"").match(/dm\.[^.]+\.([a-z0-9_-]+)/i)?.[1]??"—"}function wce(e){switch(e.state){case"queued":case"waking":case"running":case"waiting":return"running";case"review":return"review";case"completed":return"completed";default:return"abandoned"}}const jce=["acceptance","artifact","blocker","checkpoint","component","deliverable","divide-and-conquer","execution","implementation","milestone","next move","parallel","phase","plan","proceed","roadmap","scope","ship","spec","task","todo"];function kce(e,t){if(e.workId&&t.has(e.workId)||e.collaborationRecordId&&t.has(e.collaborationRecordId))return!1;const n=nP(e);if(!n)return!1;const s=n.toLowerCase(),r=/(^|\n)\s*(?:\d+\.|[-*]\s|\[[ x]\])/m.test(n),o=jce.filter(u=>s.includes(u)).length;return!!((e.state==="queued"||e.state==="waking"||e.state==="running"||e.state==="waiting"||e.state==="review")&&n.length>=80||r&&o>=1||n.length>=360&&o>=2)}function Nce(e,t){const n=nP(e);if(!n)return null;const s=t[e.agentId],r=e.agentName??s?.name??e.agentId,o=`${r}: ${wb(yce(n),120)}`,c=xce(e)??wb(n);return{id:e.id,source:"run",title:o,summary:c,author:"agent",authorLabel:r,ownerId:e.agentId,project:bce(e),state:e.state,outcome:wce(e),route:e.conversationId?{view:"conversation",conversationId:e.conversationId}:{view:"agents",agentId:e.agentId},taskText:n,createdAt:e.createdAt??e.startedAt??e.updatedAt,updatedAt:e.updatedAt,lastMeaningfulAt:e.updatedAt,parentId:null,parentTitle:null}}function sP(e){return e.route.view==="work"?`/work/${e.route.workId}`:e.route.view==="conversation"?`/messages/${e.route.conversationId}`:e.route.view==="agents"&&e.route.agentId?`/agents/${e.route.agentId}`:"/ops/plan"}function Sce(e,t){const n=new Map;for(const s of[...e,...t])n.has(s.id)||n.set(s.id,s);return[...n.values()]}function Cce({navigate:e,agents:t}){const{route:n}=Je(),s=Q$(),[r,o]=p.useState([]),[c,u]=p.useState([]),[h,f]=p.useState(!0),[g,v]=p.useState(null),[y,x]=p.useState(null),w=p.useRef(0),k=p.useCallback(async()=>{const E=++w.current;try{const[A,R,M]=await Promise.all([ye("/api/work?limit=250"),ye("/api/work?active=false&limit=250"),ye("/api/runs?active=false&limit=500")]);if(E!==w.current)return;o(Sce(A,R)),u(M),x(null),v(Date.now())}catch(A){if(E!==w.current)return;x(A instanceof Error?A.message:String(A))}finally{E===w.current&&f(!1)}},[]);p.useEffect(()=>{k()},[k]),an(()=>{k()});const C=p.useMemo(()=>Object.fromEntries(t.map(E=>[E.id,E])),[t]),T=p.useMemo(()=>{const E=r.map(vce),A=new Set(r.map(M=>M.id)),R=c.filter(M=>kce(M,A)).map(M=>Nce(M,C)).filter(M=>M!==null);return[...E,...R]},[C,c,r]);p.useEffect(()=>{const E={all:T.length,operator:T.filter($=>$.author==="operator").length,agent:T.filter($=>$.author==="agent").length},A={all:T.length,running:T.filter($=>$.outcome==="running").length,review:T.filter($=>$.outcome==="review").length,completed:T.filter($=>$.outcome==="completed").length,abandoned:T.filter($=>$.outcome==="abandoned").length},R=new Map;for(const $ of T)R.set($.project,(R.get($.project)??0)+1);const M=[...R.entries()].sort(([,$],[,O])=>O-$).map(([$,O])=>({id:$,count:O}));lce({total:T.length,byAuthor:E,byOutcome:A,byProject:M})},[T]);const S=p.useMemo(()=>{const E=Date.now(),A=tP.find(M=>M.id===s.timeFilter)?.ms??null,R=s.query.trim().toLowerCase();return T.filter(M=>s.authorFilter==="all"||M.author===s.authorFilter).filter(M=>s.outcomeFilter==="all"||M.outcome===s.outcomeFilter).filter(M=>s.projectFilter==="all"||M.project===s.projectFilter).filter(M=>A===null||E-M.lastMeaningfulAt<=A).filter(M=>R?M.title.toLowerCase().includes(R)||(M.summary?.toLowerCase().includes(R)??!1)||M.project.toLowerCase().includes(R)||M.authorLabel.toLowerCase().includes(R):!0).sort((M,$)=>$.lastMeaningfulAt-M.lastMeaningfulAt)},[T,s.authorFilter,s.outcomeFilter,s.projectFilter,s.timeFilter,s.query]),N=g?`${T.length} plans · indexed ${$e(g)}`:h?"Indexing…":"0 plans";return a.jsxs("section",{className:"s-plan-main",children:[a.jsxs("header",{className:"s-plan-head",children:[a.jsxs("div",{className:"s-plan-head-left",children:[a.jsx("span",{className:"s-plan-eyebrow",children:"Plan archive"}),a.jsx("span",{className:"s-plan-stat",children:N})]}),a.jsxs("div",{className:"s-plan-head-right",children:[a.jsx("input",{type:"search",className:"s-plan-search",placeholder:"Search plans, titles, projects…",value:s.query,onChange:E=>eP(E.target.value),spellCheck:!1}),a.jsx("button",{type:"button",className:"s-plan-refresh",onClick:()=>{f(!0),k()},disabled:h,children:h?"Refreshing…":"Refresh"})]})]}),y&&a.jsxs("div",{className:"s-plan-error",children:["Error loading plans: ",y]}),a.jsxs("div",{className:"s-plan-table",role:"table",children:[a.jsxs("div",{className:"s-plan-table-head",role:"row",children:[a.jsx("span",{role:"columnheader",children:"Created"}),a.jsx("span",{role:"columnheader",children:"Author"}),a.jsx("span",{role:"columnheader",children:"Plan"}),a.jsx("span",{role:"columnheader",children:"Project"}),a.jsx("span",{role:"columnheader",children:"Lifecycle"}),a.jsx("span",{role:"columnheader",children:"Outcome"})]}),S.length===0?a.jsx("div",{className:"s-plan-empty",children:T.length===0?"No plans yet.":"No plans match these filters."}):S.map(E=>a.jsx(Ece,{record:E,onOpen:()=>By(E.id)},E.id))]}),s.focusedPlanId&&a.jsx(Tce,{planId:s.focusedPlanId,record:T.find(E=>E.id===s.focusedPlanId)??null,onClose:()=>By(null),onOpenFullPage:()=>{const E=s.focusedPlanId,A=T.find(R=>R.id===E)??null;By(null),A&&Ft(e,A.route,{returnTo:n})}})]})}function Ece({record:e,onOpen:t}){const n=$e(e.createdAt),s=$e(e.lastMeaningfulAt);return a.jsxs("button",{type:"button",role:"row",className:`s-plan-row s-plan-row--${e.outcome}`,onClick:t,...Ar({label:`Open ${e.title}`,route:sP(e)}),children:[a.jsx("span",{className:"s-plan-cell s-plan-cell--time",role:"cell",children:n}),a.jsx("span",{className:"s-plan-cell s-plan-cell--author",role:"cell",children:a.jsx("span",{className:`s-plan-author s-plan-author--${e.author}`,children:e.author==="operator"?"you":e.authorLabel})}),a.jsxs("span",{className:"s-plan-cell s-plan-cell--plan",role:"cell",children:[a.jsx("span",{className:"s-plan-row-title",children:e.title}),e.summary&&a.jsx("span",{className:"s-plan-row-summary",children:e.summary})]}),a.jsx("span",{className:"s-plan-cell s-plan-cell--project",role:"cell",children:e.project}),a.jsx("span",{className:"s-plan-cell s-plan-cell--life",role:"cell",children:a.jsx($ce,{record:e})}),a.jsx("span",{className:"s-plan-cell s-plan-cell--outcome",role:"cell",children:a.jsx("span",{className:`s-plan-outcome s-plan-outcome--${e.outcome}`,children:e.outcome==="running"?`running · ${s}`:e.outcome})})]})}function Tce({planId:e,record:t,onClose:n,onOpenFullPage:s}){const{ref:r,onKeyDown:o}=q0(),[c,u]=p.useState("profile"),[h,f]=p.useState(null),[g,v]=p.useState(!1),[y,x]=p.useState(null);p.useEffect(()=>{let M=!1;return t?.source!=="work"?(f(null),v(!1),x(null),()=>{M=!0}):(v(!0),x(null),ye(`/api/work/${encodeURIComponent(e)}`).then($=>{M||f($)}).catch($=>{M||x($ instanceof Error?$.message:String($))}).finally(()=>{M||v(!1)}),()=>{M=!0})},[e,t?.source]);const w=p.useCallback(M=>{if(o(M),M.key==="Escape"){M.preventDefault(),n();return}if(M.key==="1"){u("profile");return}if(M.key==="2"){u("planning");return}if(M.key==="3"){u("execution");return}if(M.key==="4"){u("activity");return}},[n,o]),k=t?.title??h?.title??"Plan",C=t?.authorLabel??"—",T=t?.author??"operator",S=h?.inventory?.materials??[],N=p.useMemo(()=>S.filter(M=>HT.has(M.kind)),[S]),E=p.useMemo(()=>S.filter(M=>!HT.has(M.kind)),[S]),A=N.length,R=E.length;return a.jsx("div",{className:"s-mission-overlay",onClick:n,children:a.jsxs("div",{ref:r,className:"s-mission-overlay-dialog",role:"dialog","aria-modal":"true","aria-label":`Plan ${k}`,onClick:M=>M.stopPropagation(),onKeyDown:w,tabIndex:-1,children:[a.jsxs("header",{className:"s-mission-overlay-header",children:[a.jsxs("div",{className:"s-mission-overlay-identity",children:[a.jsx("span",{className:"s-mission-overlay-handle",children:k}),a.jsxs("span",{className:"s-mission-overlay-sub",children:[a.jsx("span",{className:`s-plan-author s-plan-author--${T}`,children:T==="operator"?"you":C}),t?.project&&t.project!=="—"&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-mission-overlay-sep",children:"·"}),a.jsx("span",{children:t.project})]}),t&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-mission-overlay-sep",children:"·"}),a.jsx("span",{className:`s-plan-outcome s-plan-outcome--${t.outcome}`,children:t.outcome})]})]})]}),a.jsx("button",{type:"button",className:"s-mission-overlay-close",onClick:n,"aria-label":"Close (Esc)",children:"×"})]}),a.jsxs("div",{className:"s-mission-overlay-tabs",children:[a.jsxs("div",{className:"s-mission-overlay-tabs-group",children:[a.jsx("button",{type:"button",className:`s-mission-overlay-tab${c==="profile"?" s-mission-overlay-tab--active":""}`,onClick:()=>u("profile"),children:"Profile"}),a.jsxs("button",{type:"button",className:`s-mission-overlay-tab${c==="planning"?" s-mission-overlay-tab--active":""}`,onClick:()=>u("planning"),children:["Planning",A>0&&a.jsx("span",{className:"s-mission-overlay-tab-count",children:A})]}),a.jsxs("button",{type:"button",className:`s-mission-overlay-tab${c==="execution"?" s-mission-overlay-tab--active":""}`,onClick:()=>u("execution"),children:["Execution",R>0&&a.jsx("span",{className:"s-mission-overlay-tab-count",children:R})]}),a.jsxs("button",{type:"button",className:`s-mission-overlay-tab${c==="activity"?" s-mission-overlay-tab--active":""}`,onClick:()=>u("activity"),children:["Activity",h?.timeline&&h.timeline.length>0&&a.jsx("span",{className:"s-mission-overlay-tab-count",children:h.timeline.length})]})]}),a.jsx("div",{className:"s-mission-overlay-tabs-action",children:a.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:s,...Ar({label:t?.source==="run"?`Open conversation · ${k}`:`Open work page · ${k}`,route:t?sP(t):`/work/${e}`}),children:t?.source==="run"?"Open conversation ↗":"Open work page ↗"})})]}),a.jsxs("div",{className:"s-mission-overlay-body",children:[g&&!h&&a.jsx("div",{className:"s-plan-overlay-loading",children:"Loading plan…"}),y&&a.jsxs("div",{className:"s-plan-error",children:["Error loading plan: ",y]}),c==="profile"&&a.jsx(Ace,{record:t,detail:h}),c==="planning"&&a.jsx(qT,{workId:e,materials:N,emptyLabel:"No planning materials yet."}),c==="execution"&&a.jsx(qT,{workId:e,materials:E,emptyLabel:"No execution materials yet."}),c==="activity"&&a.jsx(_ce,{detail:h})]})]})})}function Ace({record:e,detail:t}){const n=[["TITLE",e?.title??t?.title??"—"],["AUTHOR",e?.authorLabel??t?.ownerName??"—"],["PROJECT",e?.project??"—"],["STATE",e?.state??t?.state??"—"],["OUTCOME",e?.outcome??"—"],["CREATED",e?.createdAt?$e(e.createdAt):t?.createdAt?$e(t.createdAt):"—"],["LAST ACTION",e?.lastMeaningfulAt?$e(e.lastMeaningfulAt):"—"]],s=e?.summary??t?.summary??t?.lastMeaningfulSummary??null,r=e?.parentTitle??t?.parentTitle??null;return a.jsxs("div",{className:"s-focus-tab",children:[s&&a.jsx("p",{className:"s-plan-overlay-summary",children:s}),e?.taskText&&e.taskText!==s&&a.jsx("p",{className:"s-plan-overlay-summary",children:wb(e.taskText,900)}),a.jsxs("dl",{className:"s-focus-spec",children:[n.map(([o,c])=>a.jsxs("div",{className:"s-focus-spec-row",children:[a.jsx("dt",{className:"s-focus-spec-label",children:o}),a.jsx("dd",{className:"s-focus-spec-value",title:c,children:c})]},o)),r&&a.jsxs("div",{className:"s-focus-spec-row",children:[a.jsx("dt",{className:"s-focus-spec-label",children:"PARENT"}),a.jsx("dd",{className:"s-focus-spec-value",title:r,children:r})]})]})]})}const HT=new Set(["plan","spec","doc"]),Mce=["node_modules/","dist/","build/",".git/","vendor/",".next/",".cache/"];function Rce(e){const t=e.toLowerCase();return Mce.some(n=>t.includes(n))}function qT({workId:e,materials:t,emptyLabel:n}){const[s,r]=p.useState(null),o=p.useMemo(()=>t.filter(u=>!Rce(u.path)),[t]),c=t.length-o.length;if(o.length===0&&t.length===0)return a.jsx("div",{className:"s-plan-overlay-empty",children:n});if(s){const u=o.find(h=>h.id===s);return u?a.jsxs("div",{className:"s-plan-materials-reader-pane",children:[a.jsxs("header",{className:"s-plan-materials-back-bar",children:[a.jsxs("button",{type:"button",className:"s-plan-materials-back",onClick:()=>r(null),children:["← Back to ",o.length," files"]}),a.jsx("span",{className:"s-plan-materials-back-path",title:u.path,children:u.path})]}),a.jsx(Ice,{workId:e,material:u})]}):(setTimeout(()=>r(null),0),null)}return a.jsxs("div",{className:"s-plan-materials-table-wrap",children:[a.jsxs("div",{className:"s-plan-materials-table",role:"table",children:[a.jsxs("div",{className:"s-plan-materials-table-head",role:"row",children:[a.jsx("span",{role:"columnheader",children:"Kind"}),a.jsx("span",{role:"columnheader",children:"Path"}),a.jsx("span",{role:"columnheader",children:"Status"}),a.jsx("span",{role:"columnheader",children:"Diff"})]}),o.map(u=>a.jsxs("button",{type:"button",role:"row",className:"s-plan-materials-table-row",onClick:()=>r(u.id),title:u.path,children:[a.jsx("span",{className:`s-plan-materials-kind s-plan-materials-kind--${u.kind}`,role:"cell",children:u.kind}),a.jsx("span",{className:"s-plan-materials-path",role:"cell",children:u.path}),a.jsx("span",{className:`s-plan-materials-status s-plan-materials-status--${u.status}`,role:"cell",children:u.status}),a.jsx("span",{className:"s-plan-materials-diff",role:"cell",children:u.diffStat&&(u.diffStat.additions>0||u.diffStat.deletions>0)?a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"s-plan-overlay-material-diff-add",children:["+",u.diffStat.additions]}),a.jsxs("span",{className:"s-plan-overlay-material-diff-del",children:["−",u.diffStat.deletions]})]}):a.jsx("span",{className:"s-plan-materials-diff-none",children:"—"})})]},u.id))]}),c>0&&a.jsxs("div",{className:"s-plan-materials-hidden-note",children:[c," path",c===1?"":"s"," hidden (node_modules, dist, build, .git, vendor)"]})]})}function Ice({workId:e,material:t}){const[n,s]=p.useState(null),[r,o]=p.useState(!0),[c,u]=p.useState(null);if(p.useEffect(()=>{let f=!1;return o(!0),s(null),u(null),ye(`/api/work/${encodeURIComponent(e)}/material?materialId=${encodeURIComponent(t.id)}`).then(g=>{f||s(g)}).catch(g=>{f||u(g instanceof Error?g.message:String(g))}).finally(()=>{f||o(!1)}),()=>{f=!0}},[e,t.id]),r&&!n)return a.jsxs("div",{className:"s-plan-overlay-empty",children:["Loading ",t.path.split("/").pop(),"…"]});if(c)return a.jsxs("div",{className:"s-plan-error",children:["Error loading file: ",c]});if(!n)return a.jsx("div",{className:"s-plan-overlay-empty",children:"No content."});const h=vd({id:n.materialId,title:n.title,uri:n.uri,mediaType:n.mediaType,value:n.content});return a.jsxs("div",{className:"s-plan-materials-reader-inner",children:[a.jsxs("header",{className:"s-plan-materials-reader-head",children:[a.jsx("span",{className:"s-plan-materials-reader-title",children:n.title}),a.jsxs("span",{className:"s-plan-materials-reader-meta",children:[n.mediaType,n.truncated&&" · truncated"]})]}),a.jsx("div",{className:"s-plan-materials-reader-body",children:a.jsx(yp,{document:h,mode:"preview"})})]})}function _ce({detail:e}){const t=e?.timeline??[];return t.length===0?a.jsx("div",{className:"s-plan-overlay-empty",children:"No timeline events recorded."}):a.jsx("ul",{className:"s-plan-overlay-timeline",children:t.slice(-20).reverse().map(n=>a.jsx(Oce,{event:n},n.id))})}function Oce({event:e}){return a.jsxs("li",{className:`s-plan-overlay-timeline-row s-plan-overlay-timeline-row--${e.kind}`,children:[a.jsx("span",{className:"s-plan-overlay-timeline-time",children:$e(e.at)}),a.jsx("span",{className:"s-plan-overlay-timeline-kind",children:e.detailKind??e.kind}),a.jsx("span",{className:"s-plan-overlay-timeline-text",children:e.title||e.summary||e.actorName||e.kind})]})}function $ce({record:e}){const t=e.createdAt,n=e.lastMeaningfulAt,s=Math.max(1,n-t),r=Math.round(s/(3600*1e3)),o=Math.round(s/(1440*60*1e3)),c=o>=2?`${o}d`:r>=1?`${r}h`:"<1h";return a.jsxs("span",{className:`s-plan-life s-plan-life--${e.outcome}`,"aria-label":`Span ${c}`,children:[a.jsx("span",{className:"s-plan-life-dot s-plan-life-dot--start"}),a.jsx("span",{className:"s-plan-life-bar"}),a.jsx("span",{className:`s-plan-life-dot s-plan-life-dot--end s-plan-life-dot--${e.outcome}`}),a.jsx("span",{className:"s-plan-life-span",children:c})]})}const WT=4e3,Pce=500,Dce=5e3,Lce=5e3,zce=6e4,Um={"scout-managed":"scout","hudson-managed":"hudson",unattributed:"native"},gw={tool:"working",run:"active",idle:"idle"};function jb(e){const t=e.split(/\s+/)[0]??"",n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function Bce(e,t=60){const n=e.split(/\s+/);if(n.length===0)return e;n[0]=jb(n[0]);const s=n.join(" ");return s.length<=t?s:s.slice(0,t-1)+"…"}function Uce(e){for(const t of e){const n=jb(t.command);if(n&&!(n==="sh"||n==="zsh"||n==="bash"||n==="login"))return n}return e[0]?.command?jb(e[0].command):"—"}function Vce(e){const t=e.match(/^(?:(\d+)-)?(?:(\d+):)?(\d+):(\d+)$/);if(!t){const u=e.match(/^(\d+)$/);return u?Number.parseInt(u[1],10):0}const[,n,s,r,o]=t;let c=Number.parseInt(o,10)+Number.parseInt(r,10)*60;return s&&(c+=Number.parseInt(s,10)*3600),n&&(c+=Number.parseInt(n,10)*86400),c}function aP(e){if(e<60)return`${e}s`;if(e<3600)return`${Math.floor(e/60)}m${String(e%60).padStart(2,"0")}`;if(e<86400){const s=Math.floor(e/3600),r=Math.floor(e%3600/60);return`${s}h${String(r).padStart(2,"0")}`}const t=Math.floor(e/86400),n=Math.floor(e%86400/3600);return`${t}d${String(n).padStart(2,"0")}h`}function rP(e,t){if(e==null)return"—";const n=Math.max(0,Math.round((t-e)/1e3));return n<2?"just now":n<60?`${n}s ago`:n<3600?`${Math.floor(n/60)}m ago`:`${Math.floor(n/3600)}h ago`}function Fce(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}function kb(e){return e?e.slice(0,8):"—"}function iP(e){return e?.trim().toLowerCase()||"unknown"}function Hce(e){return iP(e).replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"unknown"}function vw(e){return`s-atop-chip s-atop-chip--harness s-atop-chip--harness-${Hce(e)}`}const qce=/permission-mode/i;function GT(e){return e.kind!=="system"?!1:qce.test(e.summary)}function Nb(e){return e.kind==="assistant"}function Wce(e,t,n){if(!e)return[];const s=new Map,r=new Map;for(const y of t){let x=s.get(y.pid);if(x||(x={firstEventAt:y.ts,lastEventAt:y.ts,lastKind:y.kind,lastSummary:y.summary,reqCount:0,toolCount:0,permCount:0,eventCount:0,sessionId:y.sessionId||null,model:null,tokIn:null,tokOut:null,cacheReadIn:null,cacheWriteIn:null},s.set(y.pid,x)),y.ts<x.firstEventAt&&(x.firstEventAt=y.ts),y.ts>=x.lastEventAt&&(x.lastEventAt=y.ts,x.lastKind=y.kind,x.lastSummary=y.summary),x.eventCount++,y.kind==="tool"&&x.toolCount++,Nb(y)&&x.reqCount++,GT(y)&&x.permCount++,y.sessionId&&!x.sessionId&&(x.sessionId=y.sessionId),y.sessionId){let w=r.get(y.sessionId);w||(w={firstEventAt:y.ts,lastEventAt:y.ts,lastKind:y.kind,lastSummary:y.summary,reqCount:0,toolCount:0,permCount:0,eventCount:0,sessionId:y.sessionId,model:null,tokIn:null,tokOut:null,cacheReadIn:null,cacheWriteIn:null},r.set(y.sessionId,w)),y.ts<w.firstEventAt&&(w.firstEventAt=y.ts),y.ts>=w.lastEventAt&&(w.lastEventAt=y.ts,w.lastKind=y.kind,w.lastSummary=y.summary),w.eventCount++,y.kind==="tool"&&w.toolCount++,Nb(y)&&w.reqCount++,GT(y)&&w.permCount++}}const o=new Map;for(const y of e.processes){if(!y.cwd)continue;const x=Uy(y.source,y.cwd),w=o.get(x);(!w||y.pid<w.pid)&&o.set(x,y)}const c=new Map,u=new Map;for(const y of e.transcripts??[]){const x=Uy(y.source,y.cwd),w=ZT(y),k=u.get(x)??Number.NEGATIVE_INFINITY,C=c.get(x)??"";(y.mtimeMs>k||y.mtimeMs===k&&w>C)&&(u.set(x,y.mtimeMs),c.set(x,w))}const h=new Set,f=(y,x,w,k)=>{x&&h.add(x.pid);let C="idle";const T=Math.max(w?.lastEventAt??0,k?.mtimeMs??0);w&&n-w.lastEventAt<Lce&&(C=w.lastKind==="tool"?"tool":"run"),C==="idle"&&n-T<6e4&&(C="run");const S=x?Vce(x.etime):0,N=w?.firstEventAt??null,E=w&&w.firstEventAt<w.lastEventAt?Math.min(Math.max(0,Math.round((w.lastEventAt-w.firstEventAt)/1e3)),S||Number.POSITIVE_INFINITY):0,A=x?.pid??Kce(y),R=k?.cwd??x?.cwd??"";return{key:y,pid:A,ppid:x?.ppid??0,sessionId:k?.sessionId??w?.sessionId??null,transcriptPath:k?.transcriptPath??null,harness:iP(k?.source??x?.source),attribution:x?.harness??k?.harness??"unattributed",project:k?.project?.trim()||(R?Gce(R):"(unknown)"),cwd:R,command:x?.command??`${k?.source??"unknown"} transcript`,parentLabel:x?Uce(x.parentChain??[]):"transcript",procRuntimeSec:S,procEtime:x?.etime??"0",sessionStartAt:N,sessionRuntimeSec:E,status:C,lastEventAt:T||null,lastEventKind:w?.lastKind??null,lastSummary:w?.lastSummary??null,reqCount:w?.reqCount??0,toolCount:w?.toolCount??0,permCount:w?.permCount??0,eventCount:w?.eventCount??0,model:w?.model??null,tokIn:w?.tokIn??null,tokOut:w?.tokOut??null,cacheReadIn:w?.cacheReadIn??null,cacheWriteIn:w?.cacheWriteIn??null}},g=(e.transcripts??[]).map(y=>{const x=ZT(y),w=Uy(y.source,y.cwd),k=c.get(w)===x?o.get(w)??null:null,C=y.sessionId?r.get(y.sessionId):void 0;return f(x,k,C,y)}),v=e.processes.filter(y=>!h.has(y.pid)).map(y=>f(Zce(y),y,s.get(y.pid),null));return[...g,...v]}function ic(e){if(e.cacheReadIn==null||e.tokIn==null)return null;const t=e.cacheReadIn+e.tokIn;return t===0?null:e.cacheReadIn/t}function co(e){return e==null?"—":e===0?"0":e>=1e6?(e/1e6).toFixed(e>=1e7?0:1)+"M":e>=1e3?(e/1e3).toFixed(e>=1e4?0:1)+"k":String(e)}function oP(e){return e==null?"—":`${Math.round(e*100)}%`}function Gce(e){if(!e)return"";const t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function ZT(e){return`session:${e.source}:${e.sessionId??e.transcriptPath}`}function Zce(e){return`process:${e.source}:${e.pid}`}function Kce(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return-((t>>>0)%9e5+1e3)}function Uy(e,t){return`${e}\0${t??""}`}function Yce(e,t,n){const s=n-zce;let r=0;for(const u of t)Nb(u)&&u.ts>=s&&r++;const o={total:e.length,running:0,tooling:0,idle:0,harnesses:[],reqsPerMin:r},c=new Map;for(const u of e)u.status==="tool"?(o.tooling++,o.running++):u.status==="run"?o.running++:o.idle++,c.set(u.harness,(c.get(u.harness)??0)+1);return o.harnesses=[...c.entries()].map(([u,h])=>({harness:u,count:h})).sort((u,h)=>h.count-u.count||u.harness.localeCompare(h.harness)),o}const nd={tool:0,run:1,idle:2};function bl(e){return e??-1}function Xce(e,t,n,s){switch(n){case"status":return(nd[e.status]-nd[t.status])*s;case"agent":{const r=e.harness.localeCompare(t.harness);return r!==0?r*s:(e.sessionId??"").localeCompare(t.sessionId??"")*s}case"project":return e.project.localeCompare(t.project)*s;case"reqs":return(e.reqCount-t.reqCount)*s;case"tokIn":return(bl(e.tokIn)-bl(t.tokIn))*s;case"tokOut":return(bl(e.tokOut)-bl(t.tokOut))*s;case"cache":return(bl(ic(e))-bl(ic(t)))*s;case"tools":return(e.toolCount-t.toolCount)*s;case"perms":return(e.permCount-t.permCount)*s;case"last":{const r=e.lastEventAt??0,o=t.lastEventAt??0;return(r-o)*s}case"runtime":return(e.sessionRuntimeSec-t.sessionRuntimeSec)*s}}function KT({values:e,color:t}){if(e.length<2)return a.jsx("svg",{className:"s-atop-spark",width:88,height:18,viewBox:"0 0 88 18"});const r=Math.max(1,...e),o=88/(e.length-1),c=e.map((u,h)=>`${(h*o).toFixed(1)},${(18-u/r*18).toFixed(1)}`).join(" ");return a.jsx("svg",{className:"s-atop-spark",width:88,height:18,viewBox:"0 0 88 18",children:a.jsx("polyline",{fill:"none",stroke:t,strokeWidth:"1.25",points:c})})}function Jce(){const[e,t]=p.useState([]),[n,s]=p.useState(null),[r,o]=p.useState(()=>Date.now()),[c,u]=p.useState(""),[h,f]=p.useState(()=>new Set),[g,v]=p.useState(()=>new Set),[y,x]=p.useState({key:"status",dir:1}),[w,k]=p.useState(null),C=p.useRef([]),T=p.useRef([]),[S,N]=p.useState([]),[E,A]=p.useState([]),R=p.useCallback(W=>{t(L=>L.length>=WT?[...L.slice(L.length-WT+1),W]:[...L,W])},[]);bd(R),p.useEffect(()=>{let W=!1;return(async()=>{try{const L=await ye(`/api/tail/recent?limit=${Pce}`);W||t(L.events??[])}catch{}})(),()=>{W=!0}},[]);const M=p.useCallback(async()=>{try{const W=await ye("/api/tail/discover");s(W)}catch{}},[]);p.useEffect(()=>{M();const W=setInterval(()=>{M()},Dce);return()=>clearInterval(W)},[M]),p.useEffect(()=>{const W=setInterval(()=>o(Date.now()),1e3);return()=>clearInterval(W)},[]);const $=p.useMemo(()=>Wce(n,e,r),[n,e,r]),O=p.useMemo(()=>Yce($,e,r),[$,e,r]);p.useEffect(()=>{C.current=[...C.current,O.running].slice(-24),T.current=[...T.current,O.tooling].slice(-24),N(C.current),A(T.current)},[O.running,O.tooling]);const U=p.useMemo(()=>{const W=new Set;return $.forEach(L=>W.add(L.harness)),[...W]},[$]),_=p.useMemo(()=>{const W=new Set;return $.forEach(L=>W.add(L.status)),[...W]},[$]),z=p.useMemo(()=>{const W=c.trim().toLowerCase();return $.filter(L=>{if(h.size>0&&!h.has(L.harness)||g.size>0&&!g.has(L.status))return!1;if(!W)return!0;const F=Um[L.attribution];return`${L.pid} ${L.project} ${L.command} ${L.harness} ${L.attribution} ${F} ${L.sessionId??""} ${L.transcriptPath??""} ${L.lastSummary??""}`.toLowerCase().includes(W)})},[$,c,h,g]),q=p.useMemo(()=>y.key==="status"?void 0:(W,L)=>nd[W.status]-nd[L.status],[y.key]),V=p.useMemo(()=>z.map((W,L)=>({row:W,index:L})).sort((W,L)=>{const F=Xce(W.row,L.row,y.key,y.dir);if(F!==0)return F;const Z=q?.(W.row,L.row)??0;return Z!==0?Z:W.index-L.index}).map(W=>W.row),[z,y,q]);p.useEffect(()=>{w!=null&&($.some(W=>W.key===w)||k(null))},[$,w]),p.useEffect(()=>{const W=L=>{const F=L.target,Z=F instanceof HTMLInputElement||F instanceof HTMLTextAreaElement||(F?.isContentEditable??!1);if(L.key==="Escape"&&w!=null){L.preventDefault(),k(null);return}if(Z)return;const ee=L.key==="j"||L.key==="ArrowDown",X=L.key==="k"||L.key==="ArrowUp";if(ee||X){if(V.length===0)return;L.preventDefault();const de=V.findIndex(ae=>ae.key===w),J=ee?V[Math.min(V.length-1,de<0?0:de+1)]:V[Math.max(0,de<0?0:de-1)];J&&k(J.key);return}if(L.key==="Enter"&&w!=null){L.preventDefault();return}};return window.addEventListener("keydown",W),()=>window.removeEventListener("keydown",W)},[V,w]);const G=W=>{f(L=>{const F=new Set(L);return F.has(W)?F.delete(W):F.add(W),F})},P=W=>{v(L=>{const F=new Set(L);return F.has(W)?F.delete(W):F.add(W),F})},H=p.useMemo(()=>w!=null?$.find(W=>W.key===w)??null:null,[$,w]),D=p.useMemo(()=>H?n?.processes.find(W=>W.pid===H.pid)??null:null,[n,H]),K=p.useMemo(()=>H?e.filter(W=>H.sessionId?W.sessionId===H.sessionId:W.pid===H.pid).slice(-40):[],[e,H]);return a.jsxs("div",{className:"s-atop",children:[a.jsx(Qce,{summary:O,runHistory:S,toolHistory:E}),a.jsx(YO,{title:"Harness families",size:"compact",maxAgents:6,maxTasks:3}),a.jsx(eue,{search:c,onSearch:u,harnessOptions:U,harnessFilter:h,onToggleHarness:G,statusOptions:_,statusFilter:g,onToggleStatus:P,summary:O}),a.jsx(bp,{rows:z,columns:tue,rowId:W=>W.key,storageKey:"openscout.atop.cols",sort:y,onSortChange:x,secondarySort:q,onRowClick:W=>k(W.key),rowClassName:W=>w===W.key?"s-atop-row--selected":void 0,empty:{title:"no agents match",body:"adjust filters or start a session to populate"},density:"compact",className:"s-atop-data-table",ariaLabel:"Agent activity inventory"}),a.jsx(sue,{shown:V.length,total:$.length,hasSelection:w!=null}),H&&a.jsx(aue,{row:H,process:D,events:K,now:r,onClose:()=>k(null)})]})}function Qce({summary:e,runHistory:t,toolHistory:n}){return a.jsxs("div",{className:"s-atop-summary",children:[a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--primary",children:[a.jsxs("div",{className:"s-atop-summary-num",children:[a.jsx("strong",{children:e.running}),a.jsxs("span",{className:"s-atop-summary-of",children:["/ ",e.total]})]}),a.jsx("span",{className:"s-atop-summary-lbl",children:"active"}),a.jsx(KT,{values:t,color:"var(--green)"})]}),a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:e.tooling})}),a.jsx("span",{className:"s-atop-summary-lbl",children:"working"}),a.jsx(KT,{values:n,color:"var(--accent)"})]}),a.jsxs("div",{className:"s-atop-summary-cell",children:[a.jsx("div",{className:"s-atop-summary-num",children:a.jsx("strong",{children:e.idle})}),a.jsx("span",{className:"s-atop-summary-lbl",children:"idle"})]}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--breakdown",children:[a.jsx("span",{className:"s-atop-summary-lbl",children:"harness"}),a.jsx("div",{className:"s-atop-summary-row",children:e.harnesses.length>0?e.harnesses.slice(0,4).map(s=>a.jsxs("span",{className:vw(s.harness),children:[s.harness," ",s.count]},s.harness)):a.jsx("span",{className:"s-atop-chip s-atop-chip--mute",children:"none"})})]}),a.jsx("div",{className:"s-atop-summary-spacer"}),a.jsxs("div",{className:"s-atop-summary-cell s-atop-summary-cell--rate",children:[a.jsxs("div",{className:"s-atop-summary-num",children:[a.jsx("strong",{children:e.reqsPerMin}),a.jsx("span",{className:"s-atop-summary-of",children:"/ min"})]}),a.jsx("span",{className:"s-atop-summary-lbl",children:"requests"})]})]})}function eue({search:e,onSearch:t,harnessOptions:n,harnessFilter:s,onToggleHarness:r,statusOptions:o,statusFilter:c,onToggleStatus:u,summary:h}){const f=y=>h.harnesses.find(x=>x.harness===y)?.count??0,g=y=>y==="tool"?h.tooling:y==="run"?h.running-h.tooling:h.idle,v=p.useRef(null);return p.useEffect(()=>{const y=x=>{if(x.key!=="/")return;const w=x.target;w instanceof HTMLInputElement||w instanceof HTMLTextAreaElement||(w?.isContentEditable??!1)||(x.preventDefault(),v.current?.focus())};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[]),a.jsxs("div",{className:"s-atop-fbar",children:[a.jsxs("div",{className:"s-atop-search",children:[a.jsx("span",{className:"s-atop-search-prompt",children:"▸"}),a.jsx("input",{ref:v,className:"s-atop-search-input",value:e,onChange:y=>t(y.target.value),placeholder:"filter by pid · project · command · summary",spellCheck:!1}),a.jsx("span",{className:"s-atop-search-kbd",children:"/"})]}),n.length>1&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-atop-fbar-label",children:"harness"}),n.map(y=>{const x=s.has(y);return a.jsxs("button",{className:`s-atop-pill s-atop-pill--harness${x?" s-atop-pill--on":""}`,onClick:()=>r(y),children:[y,a.jsx("span",{className:"s-atop-pill-ct",children:f(y)})]},y)})]}),o.length>1&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-atop-fbar-label",children:"status"}),["tool","run","idle"].filter(y=>o.includes(y)).map(y=>{const x=c.has(y);return a.jsxs("button",{className:`s-atop-pill s-atop-pill--status-${y}${x?" s-atop-pill--on":""}`,onClick:()=>u(y),children:[gw[y],a.jsx("span",{className:"s-atop-pill-ct",children:g(y)})]},y)})]}),a.jsx("div",{className:"s-atop-fbar-spacer"})]})}const tue=[{key:"status",label:"Status",cls:"s-atop-col-status",kind:"text",defaultWidth:96,minWidth:70,sortValue:e=>nd[e.status],render:e=>a.jsxs("span",{className:`s-atop-status s-atop-status--${e.status}`,children:[a.jsx("span",{className:"s-atop-status-dot"}),gw[e.status]]})},{key:"agent",label:"Agent",cls:"s-atop-col-agent",kind:"text",tip:"Harness · short session id",defaultWidth:168,minWidth:110,sortValue:e=>`${e.harness}\0${e.sessionId??""}`,render:e=>a.jsxs("div",{className:"s-atop-agent-cell",children:[a.jsx("span",{className:vw(e.harness),title:`origin: ${Um[e.attribution]}`,children:e.harness}),a.jsx("span",{className:"s-atop-agent-id",title:e.sessionId??`pid ${e.pid}`,children:kb(e.sessionId)})]})},{key:"project",label:"Project",cls:"s-atop-col-project",kind:"text",defaultWidth:200,minWidth:96,maxWidth:480,sortValue:e=>e.project,render:e=>a.jsx("span",{title:e.cwd,children:e.project})},{key:"reqs",label:"Reqs",cls:"s-atop-col-num",kind:"number",tip:"Model invocations (assistant turns) for this session",defaultWidth:64,minWidth:56,sortValue:e=>e.reqCount,render:e=>a.jsx(hu,{value:e.reqCount||null})},{key:"tokIn",label:"Tok ↓",cls:"s-atop-col-num",kind:"number",tip:"Input tokens — populated when backend emits usage",defaultWidth:64,minWidth:56,sortValue:e=>e.tokIn,render:e=>a.jsx(hu,{value:e.tokIn})},{key:"tokOut",label:"Tok ↑",cls:"s-atop-col-num",kind:"number",tip:"Output tokens — populated when backend emits usage",defaultWidth:64,minWidth:56,sortValue:e=>e.tokOut,render:e=>a.jsx(hu,{value:e.tokOut})},{key:"cache",label:"Cache",cls:"s-atop-col-num",kind:"number",tip:"Cache hit rate — populated when backend emits usage",defaultWidth:64,minWidth:56,sortValue:e=>ic(e),render:e=>a.jsx(nue,{value:ic(e)})},{key:"tools",label:"Tools",cls:"s-atop-col-num",kind:"number",defaultWidth:64,minWidth:56,sortValue:e=>e.toolCount,render:e=>a.jsx(hu,{value:e.toolCount||null})},{key:"perms",label:"Perms",cls:"s-atop-col-num",kind:"number",tip:"Permission requests — heuristic count of permission-mode events",defaultWidth:64,minWidth:56,sortValue:e=>e.permCount,render:e=>a.jsx(hu,{value:e.permCount||null,accent:e.permCount>0?"amber":void 0})},{key:"last",label:"Last",cls:"s-atop-col-last",kind:"time",defaultWidth:86,minWidth:64,sortValue:e=>e.lastEventAt,render:e=>rP(e.lastEventAt,Date.now())},{key:"runtime",label:"Runtime",cls:"s-atop-col-runtime",kind:"number",tip:"Session duration (active period in current buffer)",defaultWidth:80,minWidth:64,sortValue:e=>e.sessionRuntimeSec,render:e=>aP(e.sessionRuntimeSec)}];function hu({value:e,accent:t}){const n=e==null?"s-atop-col-num s-atop-col-num--dim":`s-atop-col-num${t?` s-atop-col-num--${t}`:""}`;return a.jsx("span",{className:n,children:co(e)})}function nue({value:e}){const t=e==null?"s-atop-col-num s-atop-col-num--dim":"s-atop-col-num";return a.jsx("span",{className:t,children:oP(e)})}function sue({shown:e,total:t,hasSelection:n}){return a.jsxs("div",{className:"s-atop-keys",children:[a.jsxs("span",{className:"s-atop-keys-count",children:[a.jsx("strong",{children:e})," / ",t," agents"]}),a.jsx("span",{className:"s-atop-keys-spacer"}),a.jsxs("span",{children:[a.jsx("kbd",{children:"/"})," filter"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"j"}),"/",a.jsx("kbd",{children:"k"})," select"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"click"})," drill in"]}),n&&a.jsxs("span",{children:[a.jsx("kbd",{children:"esc"})," close"]})]})}function aue({row:e,process:t,events:n,now:s,onClose:r}){const o=p.useMemo(()=>{const u={};for(const g of n){if(g.kind!=="tool")continue;const v=g.summary.match(/^([a-z_][a-z0-9_]*)/i),y=v?v[1]:"(tool)";u[y]=(u[y]??0)+1}const h=Object.entries(u).sort((g,v)=>v[1]-g[1]).slice(0,6),f=Math.max(1,...h.map(g=>g[1]));return h.map(([g,v])=>({name:g,count:v,frac:v/f}))},[n]),c=n.slice(-40).reverse();return a.jsxs("aside",{className:"s-atop-drawer","aria-label":`Agent ${e.key}`,children:[a.jsxs("header",{className:"s-atop-drawer-head",children:[a.jsxs("div",{className:"s-atop-drawer-head-meta",children:[a.jsxs("span",{className:`s-atop-status s-atop-status--${e.status}`,children:[a.jsx("span",{className:"s-atop-status-dot"}),gw[e.status]]}),a.jsx("span",{className:"s-atop-drawer-pid",children:e.pid>0?`pid ${e.pid}`:"transcript"}),a.jsx("span",{className:vw(e.harness),title:`origin: ${Um[e.attribution]}`,children:e.harness}),a.jsxs("span",{className:"s-atop-drawer-session",children:["session ",kb(e.sessionId)]})]}),a.jsx("h2",{className:"s-atop-drawer-title",children:e.project}),a.jsxs("p",{className:"s-atop-drawer-sub",children:["session ",kb(e.sessionId)," · runtime ",aP(e.sessionRuntimeSec)," · last activity ",rP(e.lastEventAt,s)]}),a.jsx("button",{className:"s-atop-drawer-close",onClick:r,"aria-label":"Close (Esc)",children:"✕"})]}),a.jsxs("div",{className:"s-atop-drawer-body",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"s-atop-drawer-h3",children:"Activity"}),a.jsxs("div",{className:"s-atop-metrics",children:[a.jsx(oi,{label:"Requests",value:co(e.reqCount||null)}),a.jsx(oi,{label:"Tools",value:co(e.toolCount||null)}),a.jsx(oi,{label:"Permissions",value:co(e.permCount||null),accent:e.permCount>0?"amber":void 0}),a.jsx(oi,{label:"Tok in",value:co(e.tokIn),dim:e.tokIn==null}),a.jsx(oi,{label:"Tok out",value:co(e.tokOut),dim:e.tokOut==null}),a.jsx(oi,{label:"Cache hit",value:oP(ic(e)),dim:ic(e)==null}),a.jsx(oi,{label:"Model",value:e.model??"—",dim:e.model==null}),a.jsx(oi,{label:"Events",value:co(e.eventCount||null)})]})]}),o.length>0&&a.jsxs("section",{children:[a.jsx("h3",{className:"s-atop-drawer-h3",children:"Tool calls"}),a.jsx("ul",{className:"s-atop-histo",children:o.map(u=>a.jsxs("li",{children:[a.jsx("span",{className:"s-atop-histo-name",children:u.name}),a.jsx("span",{className:"s-atop-histo-bar",children:a.jsx("span",{className:"s-atop-histo-fill",style:{width:`${(u.frac*100).toFixed(1)}%`}})}),a.jsx("span",{className:"s-atop-histo-count",children:u.count})]},u.name))})]}),a.jsxs("section",{children:[a.jsxs("h3",{className:"s-atop-drawer-h3",children:["Recent activity",a.jsxs("span",{className:"s-atop-drawer-h3-aside",children:[n.length," buffered"]})]}),c.length===0?a.jsx("div",{className:"s-atop-peek-empty",children:"no events buffered for this agent yet"}):a.jsx("ol",{className:"s-atop-peek",children:c.map(u=>a.jsxs("li",{className:`s-atop-peek-row s-atop-peek-row--${u.kind}`,children:[a.jsx("span",{className:"s-atop-peek-time",children:Fce(u.ts)}),a.jsx("span",{className:"s-atop-peek-kind",children:u.kind}),a.jsx("span",{className:"s-atop-peek-text",children:u.summary})]},u.id))})]}),a.jsxs("section",{className:"s-atop-drawer-section--secondary",children:[a.jsx("h3",{className:"s-atop-drawer-h3",children:"Process"}),a.jsx("code",{className:"s-atop-codeblock",children:e.command}),a.jsxs("dl",{className:"s-atop-kvs",children:[a.jsx("dt",{children:"PID"}),a.jsx("dd",{children:e.pid>0?e.pid:"transcript-only"}),a.jsx("dt",{children:"Parent"}),a.jsxs("dd",{children:[e.parentLabel," (ppid ",e.ppid,")"]}),a.jsx("dt",{children:"Process etime"}),a.jsx("dd",{children:e.procEtime}),e.transcriptPath&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{children:"Transcript"}),a.jsx("dd",{children:e.transcriptPath})]}),a.jsx("dt",{children:"Origin"}),a.jsx("dd",{children:Um[e.attribution]}),a.jsx("dt",{children:"CWD"}),a.jsx("dd",{children:e.cwd||"(none)"})]}),t?.parentChain&&t.parentChain.length>0&&a.jsx("ol",{className:"s-atop-chain",children:t.parentChain.map(u=>a.jsxs("li",{children:[a.jsx("span",{className:"s-atop-chain-pid",children:u.pid}),a.jsx("span",{className:"s-atop-chain-cmd",children:Bce(u.command,80)})]},u.pid))})]})]})]})}function oi({label:e,value:t,dim:n,accent:s}){const r=`s-atop-metric${n?" s-atop-metric--dim":""}${s?` s-atop-metric--${s}`:""}`;return a.jsxs("div",{className:r,children:[a.jsx("span",{className:"s-atop-metric-lbl",children:e}),a.jsx("span",{className:"s-atop-metric-val",children:t})]})}const rue=e=>e==="right"?"railOccupantRight":"railOccupantBottom";function iue(e,t,n,s){p.useEffect(()=>{if(!n||typeof window>"u"||typeof document>"u")return;const r=rue(e),o=document.body.dataset[r];document.body.dataset[r]=t,window.dispatchEvent(new CustomEvent("hudson:rail:claim",{detail:{owner:t,side:e}})),o&&o!==t&&window.dispatchEvent(new CustomEvent("hudson:rail:preempted",{detail:{owner:o,side:e,by:t}}));const c=h=>{const f=h.detail;f&&f.side===e&&f.owner!==t&&s?.()},u=h=>{const f=h.detail;f&&f.side===e&&f.owner===t&&s?.()};return window.addEventListener("hudson:rail:claim",c),window.addEventListener("hudson:rail:preempted",u),()=>{window.removeEventListener("hudson:rail:claim",c),window.removeEventListener("hudson:rail:preempted",u),document.body.dataset[r]===t&&delete document.body.dataset[r],window.dispatchEvent(new CustomEvent("hudson:rail:release",{detail:{owner:t,side:e}}))}},[e,t,n,s])}const oue=620,lue=360,cue=280,uue=900,due=720,YT=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(", ");function fue({open:e,onClose:t,side:n="right",owner:s,defaultSize:r,minSize:o=cue,maxSize:c,resizable:u=!1,backdrop:h=!0,scrollLock:f=!1,focusTrap:g=!1,ariaLabel:v,className:y,children:x}){const w=r??(n==="right"?oue:lue),k=c??(n==="right"?uue:due),[C,T]=p.useState(w),[S,N]=p.useState(!1),E=p.useRef(null),A=p.useRef(null),R=p.useCallback(()=>t(),[t]);iue(n,s,e,R),p.useEffect(()=>{if(!e)return;const O=U=>{U.key==="Escape"&&(U.preventDefault(),R())};return window.addEventListener("keydown",O),()=>window.removeEventListener("keydown",O)},[e,R]),p.useEffect(()=>{if(!e||!f)return;const O=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=O}},[e,f]),p.useEffect(()=>{if(!e)return;A.current=document.activeElement;const O=E.current;return O?((O.querySelector(YT)??O).focus(),()=>{A.current?.focus?.()}):void 0},[e]),p.useEffect(()=>{if(!S)return;const O=_=>{if(n==="right"){const z=window.innerWidth-_.clientX;T(Math.min(k,Math.max(o,z)))}else{const z=window.innerHeight-_.clientY;T(Math.min(k,Math.max(o,z)))}},U=()=>N(!1);return window.addEventListener("pointermove",O),window.addEventListener("pointerup",U),window.addEventListener("pointercancel",U),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",U),window.removeEventListener("pointercancel",U)}},[S,n,o,k]);const M=O=>{if(!g||O.key!=="Tab")return;const U=E.current;if(!U)return;const _=Array.from(U.querySelectorAll(YT));if(_.length===0){O.preventDefault(),U.focus();return}const z=_[0],q=_[_.length-1],V=document.activeElement;O.shiftKey?(V===z||!U.contains(V))&&(O.preventDefault(),q.focus()):V===q&&(O.preventDefault(),z.focus())};if(!e)return null;const $=n==="right"?{width:C}:{height:C};return a.jsxs(a.Fragment,{children:[h&&a.jsx("div",{className:"s-slide-backdrop","data-side":n,onClick:R,"aria-hidden":"true"}),a.jsxs("aside",{ref:E,className:`s-slide s-slide--${n}${S?" s-slide--resizing":""}${y?` ${y}`:""}`,role:"dialog","aria-modal":"true","aria-label":v,tabIndex:-1,onKeyDown:M,style:$,children:[u&&a.jsx("div",{className:`s-slide-resize s-slide-resize--${n}`,onPointerDown:O=>{O.preventDefault(),N(!0)},role:"separator","aria-orientation":n==="right"?"vertical":"horizontal","aria-label":"Resize panel"}),x]})]})}const XT=5e3,hue=500,JT=5e3,mue=3e4,lP={user:">",assistant:"<",tool:"*","tool-result":"=",system:"~",other:"·"},yw={"scout-managed":"scout","hudson-managed":"hudson",unattributed:"native"},cP={"scout-managed":"s-tail-chip--origin-scout","hudson-managed":"s-tail-chip--origin-hudson",unattributed:"s-tail-chip--origin-native"};function xw(e){return e?.trim().toLowerCase()||"unknown"}function pue(e,t){const n=new Map,s=e?.transcripts?.length?e.transcripts:e?.processes.length?e.processes:t;for(const r of s){const o=xw(r.source);n.set(o,(n.get(o)??0)+1)}return[...n.entries()].map(([r,o])=>({source:r,count:o})).sort((r,o)=>o.count-r.count||r.source.localeCompare(o.source))}function gue(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),r=String(t.getSeconds()).padStart(2,"0"),o=String(t.getMilliseconds()).padStart(3,"0");return`${n}:${s}:${r}.${o}`}function vue(e){return e?(e.split(":")[0]??e).slice(0,8):"—"}function yue(e,t){return`${e.id}:${e.ts}:${t}`}const xue=/\b(error|failed|failure|exception|panic|timeout|timed out|refused|crash|fatal|non[- ]?zero|exit(?:ed)? with code [1-9])\b/i,bue=/\b(warn(?:ing)?|deprecated|retry|rate limit|rate-limited|blocked|skipped|interrupted|aborted|stale|conflict|permission denied|denied)\b/i;function uP(e){const t=e.replace(/[_-]+/g," ");return xue.test(t)?"error":bue.test(t)?"warn":null}function QT(e){return!(e==null||e===!1||typeof e=="string"&&!e.trim())}function Sb(e,t=0){if(e==null||t>4||typeof e=="string"||typeof e!="object")return null;if(Array.isArray(e)){let s=null;for(const r of e.slice(0,40)){const o=Sb(r,t+1);if(o==="error")return"error";s??=o}return s}let n=null;for(const[s,r]of Object.entries(e).slice(0,80)){const o=s.toLowerCase();if((o==="is_error"||o==="failed")&&r===!0||o==="error"&&QT(r))return"error";if((o==="warning"||o==="warn")&&QT(r)&&(n="warn"),typeof r=="string"&&(o==="level"||o==="severity"||o==="status"||o==="type"||o==="subtype")){const u=uP(r);if(u==="error")return"error";n??=u}const c=Sb(r,t+1);if(c==="error")return"error";n??=c}return n}function dP(e){const t=Sb(e.raw);if(t==="error")return"error";if(e.kind==="tool-result"||e.kind==="system"||e.kind==="other"){const n=uP(e.summary);return n==="error"?"error":t??n}return t}function wue(e,t){return t==="all"?!0:t==="warn-plus"?e!=null:e==="error"}function jue(e){switch(e){case"errors-only":return"errors";case"warn-plus":return"warnings or errors";case"all":return"all session events"}}function kue(e,t,n=null,s="all"){if(!t)return!0;const r=yw[e.harness],o=n==="error"?"error failed failure issue":n==="warn"?"warn warning issue":"",u=(s==="context"?[e.project,e.cwd,e.sessionId,e.source,e.harness,r,o]:[e.summary,e.project,e.cwd,e.sessionId,e.source,e.harness,r,o]).join(" ").toLowerCase(),h=t.toLowerCase().split("|").map(f=>f.trim()).filter(Boolean);return h.length===0?!0:h.some(f=>u.includes(f))}function Cb({navigate:e,initialFilter:t,variant:n="tail",chrome:s="full",filterLabel:r,filterScope:o="all"}={}){const{route:c}=Je(),u=n==="issues",h=s==="embedded",[f,g]=p.useState([]),[v,y]=p.useState(null),[x,w]=p.useState(t??""),[k,C]=p.useState(!!t&&!h),[T,S]=p.useState("warn-plus"),[N,E]=p.useState(!1),[A,R]=p.useState(0),[M,$]=p.useState(0),[O,U]=p.useState(null),_=p.useRef(null),z=p.useRef(null),q=p.useRef(!0),V=p.useRef([]),G=p.useCallback(J=>{V.current.push(Date.now()),g(ae=>ae.length>=XT?[...ae.slice(ae.length-XT+1),J]:[...ae,J])},[]);bd(G),p.useEffect(()=>{w(t??""),C(!!t&&!h)},[h,t]),p.useEffect(()=>{let J=!1;return(async()=>{try{const ae=new URLSearchParams({limit:String(hue)});h&&ae.set("transcripts","true");const je=await ye(`/api/tail/recent?${ae.toString()}`);J||g(je.events??[])}catch{}})(),()=>{J=!0}},[h]);const P=p.useCallback(async()=>{try{const J=await ye("/api/tail/discover");y(J)}catch{}},[]);p.useEffect(()=>{P();const J=setInterval(()=>{P()},mue);return()=>clearInterval(J)},[P]),p.useEffect(()=>{const J=setInterval(()=>{const je=Date.now()-JT,Ee=V.current.filter(pe=>pe>=je);V.current=Ee,$(Ee.length/(JT/1e3))},1e3);return()=>clearInterval(J)},[]);const H=p.useMemo(()=>f.map(J=>({event:J,severity:dP(J)})),[f]),D=p.useMemo(()=>{let J=0,ae=0;for(const je of H)je.severity==="error"&&ae++,je.severity==="warn"&&J++;return{warn:J,error:ae,total:J+ae}},[H]),K=p.useMemo(()=>H.filter(({event:J,severity:ae})=>u&&!wue(ae,T)?!1:kue(J,x,ae,o)),[H,x,o,T,u]);p.useLayoutEffect(()=>{const J=_.current;if(J){if(N){R(ae=>ae+1);return}J.scrollTop=J.scrollHeight}},[K,N]);const W=p.useCallback(()=>{const J=_.current;if(!J)return;const je=J.scrollHeight-J.scrollTop-J.clientHeight<24;q.current=je,je?(E(!1),R(0)):N||E(!0)},[N]),L=p.useCallback(J=>{w(J),C(!0),requestAnimationFrame(()=>z.current?.focus())},[]),F=p.useCallback(J=>{!J||!e||Ft(e,{view:"sessions",sessionId:J},{returnTo:c})},[e,c]),Z=p.useCallback(()=>{const J=_.current;J&&(J.scrollTop=J.scrollHeight,E(!1),R(0))},[]);p.useEffect(()=>{if(h)return;const J=ae=>{const je=ae.target,Ee=je instanceof HTMLInputElement||je instanceof HTMLTextAreaElement||(je?.isContentEditable??!1);if(ae.key==="/"&&!Ee){ae.preventDefault(),C(!0),requestAnimationFrame(()=>z.current?.focus());return}if(ae.key==="Escape"&&k&&document.activeElement===z.current){ae.preventDefault(),C(!1),z.current?.blur(),w("");return}(ae.key==="g"||ae.key==="G")&&!Ee&&(ae.preventDefault(),Z())};return window.addEventListener("keydown",J),()=>window.removeEventListener("keydown",J)},[h,k,Z]);const ee=v?.totals,X=ee?.transcripts??v?.transcripts?.length??0,de=p.useMemo(()=>pue(v,f),[v,f]);return a.jsxs("div",{className:`s-tail s-tail--${s}`,children:[a.jsxs("div",{className:`s-tail-status${u?" s-tail-status--issues":""}`,children:[a.jsxs("span",{className:"s-tail-status-cluster s-tail-status-cluster--metrics",children:[a.jsxs("span",{className:"s-tail-status-cell",children:[a.jsx("span",{className:"s-tail-rate-pulse"}),a.jsx("strong",{children:X})," log",X===1?"":"s"]}),a.jsxs("span",{className:"s-tail-status-cell",children:[a.jsx("strong",{children:ee?.total??0})," proc",(ee?.total??0)===1?"":"s"]}),a.jsxs("span",{className:"s-tail-status-cell",children:[a.jsx("strong",{children:M.toFixed(1)})," lines/s"]})]}),u&&a.jsxs("span",{className:"s-tail-status-cluster s-tail-status-cluster--issues",children:[a.jsx("span",{className:"s-tail-status-label",children:"issues"}),a.jsxs("span",{className:"s-tail-issue-filter",role:"group","aria-label":"Issue severity filter",children:[a.jsxs("button",{type:"button",className:`s-tail-issue-filter-btn${T==="errors-only"?" s-tail-issue-filter-btn--active":""}`,onClick:()=>S("errors-only"),"aria-pressed":T==="errors-only",children:["Errors ",a.jsx("strong",{children:D.error})]}),a.jsxs("button",{type:"button",className:`s-tail-issue-filter-btn${T==="warn-plus"?" s-tail-issue-filter-btn--active":""}`,onClick:()=>S("warn-plus"),"aria-pressed":T==="warn-plus",children:["Warn+ ",a.jsx("strong",{children:D.total})]}),a.jsxs("button",{type:"button",className:`s-tail-issue-filter-btn${T==="all"?" s-tail-issue-filter-btn--active":""}`,onClick:()=>S("all"),"aria-pressed":T==="all",children:["All ",a.jsx("strong",{children:f.length})]})]})]}),a.jsx("span",{className:"s-tail-status-spacer"}),a.jsxs("span",{className:"s-tail-status-cluster s-tail-status-cluster--harnesses",children:[a.jsx("span",{className:"s-tail-status-label",children:"harness"}),a.jsx("span",{className:"s-tail-status-inline",children:de.length>0?de.slice(0,4).map(J=>a.jsxs("span",{children:[a.jsx("strong",{children:J.count})," ",J.source]},J.source)):a.jsx("strong",{children:"none"})})]}),x&&h&&a.jsx("span",{className:"s-tail-status-filter",title:x,children:r??"filtered"}),N&&a.jsx("span",{className:"s-tail-status-paused",children:"paused"})]}),k&&a.jsxs("div",{className:"s-tail-filter",children:[a.jsx("span",{className:"s-tail-filter-prompt",children:"/"}),a.jsx("input",{ref:z,className:"s-tail-filter-input",value:x,placeholder:"substring across summary · project · session",onChange:J=>w(J.target.value),onKeyDown:J=>{J.key==="Enter"&&(J.preventDefault(),z.current?.blur())},autoFocus:!0,spellCheck:!1}),a.jsx("span",{className:"s-tail-filter-hint",children:"esc to clear"})]}),a.jsxs("div",{className:"s-tail-body",ref:_,onScroll:W,children:[K.length===0?a.jsxs("div",{className:"s-tail-empty",children:[a.jsxs("span",{className:"s-tail-empty-title",children:[u?"No issue events":"Waiting for events",a.jsx("span",{className:"s-tail-empty-cursor","aria-hidden":"true"})]}),a.jsx("span",{className:"s-tail-empty-body",children:x?h?a.jsxs(a.Fragment,{children:["no events match ",a.jsx("strong",{children:r??"this work filter"})]}):a.jsxs(a.Fragment,{children:["no events match filter ",a.jsx("strong",{children:x})]}):u?a.jsxs(a.Fragment,{children:["no ",jue(T)," in the buffered session tail"]}):X?a.jsxs(a.Fragment,{children:["watching ",X," transcript",X===1?"":"s"," · no events yet"]}):a.jsx(a.Fragment,{children:"agent tool calls, messages, and system events stream here"})}),!X&&!x&&a.jsxs("span",{className:"s-tail-empty-hint",children:["Start a session to see traffic",a.jsx("span",{className:"s-tail-empty-hint-sep",children:" · "}),a.jsx("code",{children:"scout watch --tail"})]})]}):K.map(({event:J,severity:ae},je)=>a.jsx(Nue,{event:J,issueSeverity:ae,selected:O===J,onSelect:U,onProjectClick:L,onSessionClick:F},yue(J,je))),N&&A>0&&a.jsxs("div",{className:"s-tail-divider",onClick:Z,onKeyDown:J=>{(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),Z())},role:"button",tabIndex:0,"aria-label":`Resume live tail · ${A} new`,children:["── paused · ",A," new · click or press G to jump back to live ──"]})]}),h?a.jsxs("div",{className:"s-tail-keys s-tail-keys--embedded",children:[a.jsxs("span",{children:[K.length," / ",f.length," lines buffered"]}),N&&A>0&&a.jsxs("span",{children:[A," new"]})]}):a.jsxs("div",{className:"s-tail-keys",children:[a.jsxs("span",{children:[a.jsx("kbd",{children:"j"}),"/",a.jsx("kbd",{children:"k"})," scroll"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"/"})," filter"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"G"})," jump live"]}),a.jsxs("span",{children:[a.jsx("kbd",{children:"esc"})," close filter"]}),a.jsx("span",{className:"s-tail-keys-spacer"}),a.jsxs("span",{children:[K.length," / ",f.length," lines buffered"]})]}),O&&a.jsx(Eue,{event:O,onClose:()=>U(null),onProjectClick:L,onSessionClick:F})]})}function Nue({event:e,issueSeverity:t,selected:n,onSelect:s,onProjectClick:r,onSessionClick:o}){const c=cP[e.harness],u=yw[e.harness],h=xw(e.source),f=t?` s-tail-row--issue s-tail-row--issue-${t}`:"";return a.jsxs("div",{className:`s-tail-row s-tail-row--${e.kind}${f}${n?" s-tail-row--selected":""}`,role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),s(e))},children:[a.jsx("span",{className:"s-tail-cell-time",children:gue(e.ts)}),a.jsx("span",{className:"s-tail-gutter",children:"│"}),a.jsx("span",{className:"s-tail-chip s-tail-chip--harness",children:h}),a.jsx("span",{className:`s-tail-chip s-tail-chip--origin ${c}`,title:`origin: ${u}`,children:u}),a.jsxs("span",{className:"s-tail-cell-context",children:[a.jsx(Vm,{className:"s-tail-link s-tail-link--project",onClick:r?()=>r(e.project):void 0,title:`Filter to ${e.project}`,children:a.jsx("strong",{children:e.project})})," · ",a.jsx(Vm,{className:"s-tail-link s-tail-link--session",onClick:o&&e.sessionId?()=>o(e.sessionId):void 0,title:e.sessionId?`Open session ${e.sessionId}`:void 0,children:vue(e.sessionId)})," · ",a.jsx("span",{className:"s-tail-cell-pid",title:e.pid>0?`pid ${e.pid}`:"file-backed log",children:e.pid>0?e.pid:"log"})]}),a.jsx("span",{className:`s-tail-glyph s-tail-glyph--${e.kind}`,children:lP[e.kind]}),a.jsx("span",{className:"s-tail-summary",children:e.summary})]})}function Vm({className:e,onClick:t,title:n,children:s}){return t?a.jsx("span",{className:`${e} s-tail-link--active`,role:"link",tabIndex:0,title:n,onClick:r=>{r.stopPropagation(),t()},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),r.stopPropagation(),t())},children:s}):a.jsx("span",{className:e,title:n,children:s})}function Sue(e){const t=new Date(e),n=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0"),u=String(t.getSeconds()).padStart(2,"0"),h=String(t.getMilliseconds()).padStart(3,"0");return`${n}-${s}-${r} ${o}:${c}:${u}.${h}`}function Yh(e){return(JSON.stringify(e,null,2)??"undefined").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/("(?:\\.|[^"\\])*"\s*:)|("(?:\\.|[^"\\])*")|\b(true|false|null)\b|(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g,(s,r,o,c,u)=>r?`<span class="s-tail-jk">${r}</span>`:o?`<span class="s-tail-js">${o}</span>`:c?`<span class="s-tail-jl">${c}</span>`:u?`<span class="s-tail-jn">${u}</span>`:s)}function Cue(e){if(!e||typeof e!="object")return null;const t=e,s=t.message?.content??t.content;return Array.isArray(s)?s:typeof s=="string"?[{type:"text",text:s}]:null}function Eue({event:e,onClose:t,onProjectClick:n,onSessionClick:s}){const[r,o]=p.useState(!0),c=cP[e.harness],u=yw[e.harness],h=xw(e.source),f=dP(e),g=Cue(e.raw);return a.jsxs(fue,{open:!0,onClose:t,side:"right",owner:"openscout.tail",resizable:!0,defaultSize:620,minSize:400,maxSize:960,ariaLabel:"Tail event detail",children:[a.jsxs("div",{className:"s-slide-header s-tail-sheet-header",children:[a.jsx("span",{className:`s-tail-glyph s-tail-glyph--${e.kind}`,children:lP[e.kind]}),a.jsx("span",{className:"s-tail-sheet-kind",children:e.kind}),f&&a.jsx("span",{className:`s-tail-chip s-tail-chip--issue-${f}`,children:f}),a.jsx("span",{className:"s-tail-chip s-tail-chip--harness",children:h}),a.jsx("span",{className:`s-tail-chip s-tail-chip--origin ${c}`,title:`origin: ${u}`,children:u}),a.jsx("span",{className:"s-slide-spacer"}),a.jsx("span",{className:"s-tail-sheet-time",children:Sue(e.ts)}),a.jsx("button",{type:"button",className:"s-slide-close",onClick:t,"aria-label":"Close",children:"×"})]}),a.jsxs("div",{className:"s-slide-body s-tail-sheet-body",children:[a.jsx("section",{className:"s-tail-sheet-section",children:a.jsxs("div",{className:"s-tail-sheet-grid",children:[a.jsx("span",{className:"s-tail-sheet-key",children:"project"}),a.jsx("span",{className:"s-tail-sheet-val",children:a.jsx(Vm,{className:"s-tail-link s-tail-link--project",onClick:n?()=>n(e.project):void 0,title:`Filter to ${e.project}`,children:e.project})}),a.jsx("span",{className:"s-tail-sheet-key",children:"cwd"}),a.jsx("span",{className:"s-tail-sheet-val s-tail-sheet-val--mono",children:e.cwd||"—"}),a.jsx("span",{className:"s-tail-sheet-key",children:"session"}),a.jsx("span",{className:"s-tail-sheet-val s-tail-sheet-val--mono",children:a.jsx(Vm,{className:"s-tail-link s-tail-link--session",onClick:s&&e.sessionId?()=>s(e.sessionId):void 0,title:e.sessionId?`Open session ${e.sessionId}`:void 0,children:e.sessionId||"—"})}),a.jsx("span",{className:"s-tail-sheet-key",children:"harness"}),a.jsx("span",{className:"s-tail-sheet-val s-tail-sheet-val--mono",children:h}),a.jsx("span",{className:"s-tail-sheet-key",children:"origin"}),a.jsx("span",{className:"s-tail-sheet-val s-tail-sheet-val--mono",children:u}),a.jsx("span",{className:"s-tail-sheet-key",children:"pid"}),a.jsxs("span",{className:"s-tail-sheet-val s-tail-sheet-val--mono",children:[e.pid,e.parentPid!=null?` ← ${e.parentPid}`:""]})]})}),a.jsxs("section",{className:"s-tail-sheet-section",children:[a.jsx("h4",{className:"s-tail-sheet-h",children:"summary"}),a.jsx("div",{className:"s-tail-sheet-summary",children:e.summary})]}),g&&g.length>0&&a.jsxs("section",{className:"s-tail-sheet-section",children:[a.jsx("h4",{className:"s-tail-sheet-h",children:"content"}),g.map((v,y)=>a.jsx(Tue,{block:v},y))]}),a.jsxs("section",{className:"s-tail-sheet-section",children:[a.jsxs("button",{type:"button",className:"s-tail-sheet-toggle",onClick:()=>o(v=>!v),children:[r?"▾":"▸"," raw event"]}),r&&a.jsx("pre",{className:"s-tail-sheet-json",dangerouslySetInnerHTML:{__html:Yh(e.raw??e)}})]})]})]})}function Tue({block:e}){if(e.type==="text"){const t=e.text??"";return a.jsx("div",{className:"s-tail-sheet-text",children:t})}if(e.type==="tool_use"){const t=e;return a.jsxs("div",{className:"s-tail-sheet-block s-tail-sheet-block--tool",children:[a.jsxs("div",{className:"s-tail-sheet-block-head",children:[a.jsx("span",{className:"s-tail-glyph s-tail-glyph--tool",children:"*"}),a.jsx("span",{className:"s-tail-sheet-block-title",children:t.name??"tool_use"})]}),a.jsx("pre",{className:"s-tail-sheet-json",dangerouslySetInnerHTML:{__html:Yh(t.input??{})}})]})}if(e.type==="tool_result"){const t=e,n=typeof t.content=="string";return a.jsxs("div",{className:`s-tail-sheet-block s-tail-sheet-block--tool-result${t.is_error?" s-tail-sheet-block--err":""}`,children:[a.jsxs("div",{className:"s-tail-sheet-block-head",children:[a.jsx("span",{className:"s-tail-glyph s-tail-glyph--tool-result",children:"="}),a.jsxs("span",{className:"s-tail-sheet-block-title",children:["tool_result",t.is_error?" · error":""]})]}),n?a.jsx("pre",{className:"s-tail-sheet-pre",children:t.content}):a.jsx("pre",{className:"s-tail-sheet-json",dangerouslySetInnerHTML:{__html:Yh(t.content??{})}})]})}return a.jsxs("div",{className:"s-tail-sheet-block",children:[a.jsxs("div",{className:"s-tail-sheet-block-head",children:[a.jsx("span",{className:"s-tail-glyph s-tail-glyph--other",children:"·"}),a.jsx("span",{className:"s-tail-sheet-block-title",children:e.type})]}),a.jsx("pre",{className:"s-tail-sheet-json",dangerouslySetInnerHTML:{__html:Yh(e)}})]})}const Aue=[{id:"mission",label:"Control"},{id:"plan",label:"Plan"},{id:"issues",label:"Issues"},{id:"tail",label:"Tail"},{id:"atop",label:"Atop"},{id:"agents",label:"Agents"}];function Mue({navigate:e,mode:t="mission",tailQuery:n}){const{agents:s}=Je();return a.jsxs("div",{className:"s-ops",children:[a.jsx("div",{className:"s-ops-header",children:a.jsx("div",{className:"s-ops-tabs",children:Aue.map(r=>a.jsx("button",{className:`s-ops-tab${t===r.id?" s-ops-tab--active":""}`,onClick:()=>e({view:"ops",mode:r.id}),children:r.label},r.id))})}),a.jsxs("div",{className:"s-ops-body",children:[t==="mission"&&a.jsx(Tle,{navigate:e,agents:s}),t==="agents"&&a.jsx(nce,{navigate:e,agents:s}),t==="plan"&&a.jsx(Cce,{navigate:e,agents:s}),t==="issues"&&a.jsx(Cb,{navigate:e,initialFilter:n,variant:"issues"}),t==="tail"&&a.jsx(Cb,{navigate:e,initialFilter:n}),t==="atop"&&a.jsx(Jce,{})]}),a.jsx(qoe,{})]})}function Rue({agentId:e,navigate:t}){const{agents:n}=Je(),s=e?n.find(f=>f.id===e):null,r=s?en(s.name):"var(--accent)",[o,c]=p.useState({state:"idle"}),u=Hb({url:RO(),healthUrl:IO(),autoConnect:!0,sessionKey:e?`scout-takeover-${e}`:"scout-takeover"}),h=()=>{c({state:"opening"}),OO({agentId:e??null,launch:!0}).then(f=>{const g=f.plan.manifest.nodes.length;if(!f.launch.ok&&f.launch.error){c({state:"failed",error:f.launch.error});return}const v=f.launch.ok?"Vantage launch requested":"Vantage handoff written";c({state:"opened",detail:`${g} node${g===1?"":"s"} - ${v}`})}).catch(f=>{c({state:"failed",error:f instanceof Error?f.message:String(f)})})};return a.jsxs("div",{className:"s-term",children:[a.jsxs("div",{className:"s-term-bar",children:[a.jsx(Er,{slot:"terminal",fallback:e?{view:"agents",agentId:e}:{view:"inbox"},navigate:t,className:"s-term-back"}),s&&a.jsxs("div",{className:"s-term-agent",children:[a.jsx("div",{className:"s-ops-avatar",style:{"--size":"18px",background:r},children:s.name[0]?.toUpperCase()}),a.jsx("span",{className:"s-term-agent-name",children:s.name}),s.handle&&a.jsxs("span",{className:"s-term-agent-handle",children:["@",s.handle]})]}),a.jsx("span",{className:"s-term-label",children:"TAKEOVER"}),a.jsx("button",{type:"button",className:"s-term-vantage",onClick:h,disabled:o.state==="opening",title:"Open this terminal context in the native Vantage canvas",children:o.state==="opening"?"Opening...":"Open in Vantage"}),o.state==="opened"&&a.jsx("span",{className:"s-term-handoff s-term-handoff--ok",children:o.detail}),o.state==="failed"&&a.jsx("span",{className:"s-term-handoff s-term-handoff--error",children:o.error}),a.jsxs("div",{className:"s-term-status",children:[a.jsx("span",{className:`s-term-dot${u.status==="connected"?" s-term-dot--live":u.status==="connecting"?" s-term-dot--connecting":""}`}),u.status==="connected"?"LIVE":u.status==="connecting"?"CONNECTING":"OFFLINE"]})]}),a.jsx("div",{className:"s-term-body",children:a.jsx(qb,{relay:u,fontSize:13,quiet:!0})})]})}function eA(e){switch(e){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return e.replace(/_/g," ")}}function Iue(e){switch(e){case"badge":return"Noteworthy";case"interrupt":return"Blocked signal";default:return null}}function _ue({detail:e,signal:t,ownerLabel:n,nextMoveLabel:s}){const r=s==="—"?n:s;return e.attention==="interrupt"?{eyebrow:"Network signal",title:`Blocker surfaced for ${r}`,body:e.conversationId?"Open the thread if you want the blocking context.":"No thread is attached; the record and timeline hold the current context.",tone:"blocked"}:t?{eyebrow:"Network signal",title:`Plan activity from ${r}`,body:e.conversationId?"A plan or spec discussion is active in the agent network. Open the thread only if you want context.":"A plan or spec discussion is active in the agent network, but no thread is attached yet.",tone:"attention"}:e.activeFlights.length>0||e.state==="working"?{eyebrow:"Next move",title:`${n} is working`,body:e.conversationId?"The thread has the freshest working context.":"Watch the flight list and timeline for the next update.",tone:"active"}:e.state==="waiting"||e.state==="review"?{eyebrow:"Next move",title:`Waiting on ${s}`,body:e.conversationId?"The thread has the current unblock context.":"No thread is attached; ownership and timeline are the best context.",tone:"quiet"}:e.state==="done"?{eyebrow:"Outcome",title:"Work is done",body:e.conversationId?"The thread keeps the handoff and final context.":"The record and timeline are preserved here.",tone:"quiet"}:{eyebrow:"Next move",title:s==="—"?"No next owner set":`Next move: ${s}`,body:e.conversationId?"The thread has the latest context.":"Use the record and timeline to decide where this should go next.",tone:"quiet"}}function fP({children:e,icon:t,onClick:n,primary:s=!1,disabled:r=!1}){return a.jsxs("button",{type:"button",className:`s-work-action-button${s?" s-work-action-button-primary":""}`,onClick:n,disabled:r,children:[t,a.jsx("span",{children:e})]})}function Oue({detail:e,navigate:t}){const n=!!e.conversationId,s=e.inventory??Due(e),r=s.materials.filter($=>$.kind==="plan"||$.kind==="spec"),o=s.materials.filter($=>$.kind==="doc"),c=s.materials.filter($=>$.kind==="code"||$.kind==="test"||$.kind==="config"||$.kind==="asset"||$.kind==="other"),u=r.length>0,h=o.length>0,f=Pue(e),g=r[0]?zue(r[0]):f??"No plan or spec file detected yet.",v=[...r,...o,...c].filter($=>$.status!=="deleted"),[y,x]=p.useState(!1),[w,k]=p.useState(null),[C,T]=p.useState(null),[S,N]=p.useState(null),[E,A]=p.useState(null),R=p.useCallback($=>{x(!1),k($)},[]),M=p.useCallback(()=>{k(null),x(!0)},[]);return p.useEffect(()=>{w&&!v.some($=>$.id===w)&&k(null)},[w,v]),p.useEffect(()=>{if(!w){T(null),N(null),A(null);return}let $=!1;return A(w),N(null),ye(`/api/work/${encodeURIComponent(e.id)}/material?materialId=${encodeURIComponent(w)}`).then(O=>{$||T(O)}).catch(O=>{$||(T(null),N(O instanceof Error?O.message:String(O)))}).finally(()=>{$||A(null)}),()=>{$=!0}},[e.id,w]),a.jsxs("section",{className:"s-work-casefile-section s-work-materials-section",children:[a.jsxs("div",{className:"s-agent-section-heading",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"s-agent-section-title",children:"Work materials"}),a.jsxs("p",{className:"s-work-section-note",children:[Lue(s.mode)," · ",s.source," evidence · ",s.confidence," confidence"]})]}),a.jsxs("div",{className:"s-work-inventory-meta","aria-label":"Inventory totals",children:[a.jsxs("span",{children:[s.totals.materials," files"]}),a.jsxs("span",{children:[s.totals.agents," agents"]}),a.jsxs("span",{children:[s.totals.sessions," sessions"]})]})]}),a.jsxs("div",{className:"s-work-material-grid",children:[a.jsxs("article",{className:"s-work-material-card s-work-material-card-primary",children:[a.jsxs("div",{className:"s-work-material-head",children:[a.jsx("span",{className:"s-work-material-icon","aria-hidden":"true",children:a.jsx(Jh,{size:15,strokeWidth:1.8})}),a.jsxs("div",{children:[a.jsx("div",{className:"s-work-material-kicker",children:u?"Plans & specs":"Brief"}),a.jsx("div",{className:"s-work-material-title",children:u?`${r.length} surfaced`:f?"Original ask":"No plan file yet"})]})]}),a.jsx("p",{className:"s-work-material-copy",children:g}),a.jsx(Vy,{materials:r.slice(0,3),empty:"No plan or spec files detected yet.",selectedId:w,onOpen:R}),f&&a.jsxs("button",{type:"button",className:`s-work-material-link${y?" s-work-material-link-active":""}`,onClick:M,children:[a.jsx(Jh,{"aria-hidden":"true",size:13,strokeWidth:1.8}),"View ask"]})]}),a.jsxs("div",{className:`s-work-material-evidence-stack${h?"":" s-work-material-evidence-stack-single"}`,children:[h&&a.jsxs("article",{className:"s-work-material-card s-work-material-card-docs",children:[a.jsxs("div",{className:"s-work-material-head",children:[a.jsx("span",{className:"s-work-material-icon","aria-hidden":"true",children:a.jsx(nL,{size:15,strokeWidth:1.8})}),a.jsxs("div",{children:[a.jsx("div",{className:"s-work-material-kicker",children:"Docs"}),a.jsxs("div",{className:"s-work-material-title",children:[o.length," documents"]})]})]}),a.jsx(Vy,{materials:o.slice(0,3),empty:"Docs from git or trace evidence will appear here.",selectedId:w,onOpen:R})]}),a.jsxs("article",{className:"s-work-material-card s-work-material-card-code",children:[a.jsxs("div",{className:"s-work-material-head",children:[a.jsx("span",{className:"s-work-material-icon","aria-hidden":"true",children:a.jsx(hL,{size:15,strokeWidth:1.8})}),a.jsxs("div",{children:[a.jsx("div",{className:"s-work-material-kicker",children:"Code"}),a.jsx("div",{className:"s-work-material-title",children:c.length>0?`${c.length} related files`:"No code yet"})]})]}),a.jsx(Vy,{materials:c.slice(0,5),empty:"Changed code from git or session traces will appear here.",selectedId:w,onOpen:R})]})]})]}),a.jsx($ue,{detail:e,summary:f,open:y,hasThread:n,navigate:t,onClose:()=>x(!1)}),a.jsx(Bue,{material:v.find($=>$.id===w)??null,content:C,loading:!!E,error:S,onClose:()=>k(null)}),s.limitations.length>0&&a.jsx("div",{className:"s-work-inventory-note",children:s.limitations[0]})]})}function $ue({detail:e,summary:t,open:n,hasThread:s,navigate:r,onClose:o}){const{route:c}=Je();if(!n||!t)return null;const u=vd({id:`${e.id}:brief`,title:"Original ask",uri:`scout://work/${e.id}/brief`,mediaType:"text/markdown",value:`# Original ask
|
|
174
|
+
|
|
175
|
+
${t}`,readOnly:!0});return a.jsx(U0,{kind:"ask",document:u,title:"Original ask",eyebrow:"Brief",subtitle:e.title,meta:["ask",s?"thread linked":"threadless"],mode:"preview",actions:s&&e.conversationId?[{label:"Thread",icon:a.jsx(Hm,{"aria-hidden":"true",size:13,strokeWidth:1.8}),onClick:()=>Ft(r,{view:"conversation",conversationId:e.conversationId},{returnTo:c}),title:"Open source thread"}]:[],onClose:o})}function Pue(e){const t=[...e.timeline].sort((r,o)=>r.at-o.at),n=t.find(r=>r.kind==="collaboration_event"&&r.detailKind==="created"&&r.summary),s=t.find(r=>r.kind==="message"&&r.summary);return n?.summary??s?.summary??null}function Due(e){return{workId:e.id,generatedAt:Date.now(),mode:"trace-only",source:"broker",confidence:"low",agents:[],sessions:[],materials:[],totals:{materials:0,plans:0,specs:0,docs:0,code:0,tests:0,config:0,assets:0,agents:0,sessions:0},limitations:["Inventory is not available from this server yet."]}}function Lue(e){switch(e){case"isolated-git-worktree":return"Isolated git worktree";case"shared-git-repo":return"Shared git repo";case"explicit-artifacts":return"Explicit artifacts";default:return"Trace-only"}}function zue(e){const t=e.diffStat?`+${e.diffStat.additions} / -${e.diffStat.deletions}`:e.status;return`${e.path} · ${t} · ${e.confidence} confidence`}function Vy({materials:e,empty:t,selectedId:n,onOpen:s}){return e.length===0?a.jsx("div",{className:"s-work-material-empty",children:t}):a.jsx("div",{className:"s-work-material-list",children:e.map(r=>a.jsxs("button",{type:"button",className:`s-work-material-row${n===r.id?" s-work-material-row-active":""}`,title:r.path,onClick:()=>s?.(r.id),disabled:!s||r.status==="deleted",children:[a.jsx("div",{className:"s-work-material-path",children:r.path}),a.jsxs("div",{className:"s-work-material-row-meta",children:[a.jsx("span",{children:r.status}),r.diffStat&&a.jsxs("span",{children:["+",r.diffStat.additions," -",r.diffStat.deletions]}),a.jsx("span",{children:r.confidence})]})]},r.id))})}function Bue({material:e,content:t,loading:n,error:s,onClose:r}){if(!e)return null;const o=t?vd({id:t.materialId,title:t.title,uri:t.uri,mediaType:t.mediaType,value:t.content,readOnly:!0}):null;return a.jsx(U0,{kind:Uue(e),document:o,title:e.path,eyebrow:e.kind==="spec"?"Spec":e.kind,subtitle:t?.uri??e.worktreeRoot??void 0,meta:[e.status,e.confidence,...t?[tA(t.sizeBytes)]:[]],mode:o?.kind==="markdown"?"preview":"read",state:n||!t&&!s?"Loading file...":null,error:n?null:s,notice:t?.truncated?`Preview truncated at ${tA(t.content.length)}.`:null,onClose:r})}function Uue(e){return e.kind==="plan"||e.kind==="spec"?"plan":e.kind==="doc"?"doc":"code"}function tA(e){return e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function hP(e){const t=e.split(".");return t[t.length-1]||e}function On(e,t){const n=t?.trim();!n||n.length<3||e.add(n)}function Fy(e,t){On(e,t);const s=t?.trim().replace(/\/+$/,"")?.split("/").filter(Boolean).at(-1);s&&s.length>=3&&e.add(s)}function Vue(e){return e.replace(/^\/Users\/[^/]+/,"~")}function Fue(e){const t=new Set,n=[],s=e.ownerName??e.ownerId??e.nextMoveOwnerName??e.nextMoveOwnerId;On(t,e.id),On(t,e.conversationId),On(t,e.ownerId),On(t,e.nextMoveOwnerId),On(t,e.ownerName),On(t,e.nextMoveOwnerName);for(const o of e.activeFlights)On(t,o.id),On(t,o.invocationId),On(t,o.agentId),On(t,o.agentName),On(t,o.conversationId),On(t,o.collaborationRecordId);for(const o of e.inventory?.agents??[])On(t,o.id),On(t,o.name),On(t,o.sessionId),Fy(t,o.cwd),Fy(t,o.projectRoot);const r=e.inventory?.sessions.find(o=>o.cwd)??e.inventory?.sessions[0]??null;for(const o of e.inventory?.sessions??[])On(t,o.id),On(t,o.conversationId),On(t,o.agentId),On(t,o.agentName),Fy(t,o.cwd);return s&&n.push(s),r?.cwd&&n.push(Vue(r.cwd)),{query:[...t].slice(0,20).join("|"),label:n.length>0?n.join(" · "):`Case ${hP(e.id)}`}}function Hue({detail:e,navigate:t}){const{route:n}=Je(),s=Fue(e);return a.jsxs("section",{className:"s-work-casefile-section s-work-tail-section",children:[a.jsxs("div",{className:"s-agent-section-heading s-work-tail-heading",children:[a.jsxs("div",{children:[a.jsxs("h2",{className:"s-agent-section-title s-work-tail-title",children:[a.jsx(DA,{"aria-hidden":"true",size:15,strokeWidth:1.8}),"Live tail"]}),a.jsxs("p",{className:"s-work-section-note",children:["Filtered to ",s.label]})]}),a.jsx(fP,{icon:a.jsx(oc,{"aria-hidden":"true",size:13,strokeWidth:1.8}),onClick:()=>Ft(t,{view:"ops",mode:"tail",tailQuery:s.query||void 0},{returnTo:n}),children:"Open Tail"})]}),a.jsx("div",{className:"s-work-tail-frame",children:a.jsx(Cb,{navigate:t,initialFilter:s.query,filterLabel:s.label,filterScope:"context",chrome:"embedded"})})]})}function que({workId:e,navigate:t}){const{route:n}=Je(),[s,r]=p.useState(null),[o,c]=p.useState(null),[u,h]=p.useState(!1),f=p.useCallback(async()=>{c(null);try{const k=await ye(`/api/work/${encodeURIComponent(e)}`);r(k)}catch(k){c(k instanceof Error?k.message:String(k)),r(null)}finally{h(!0)}},[e]);if(p.useEffect(()=>{h(!1),f()},[f]),an(()=>{f()}),!u)return a.jsxs("div",{children:[a.jsx(Er,{slot:"work",fallback:{view:"inbox"},navigate:t}),a.jsx("div",{className:"s-empty",children:a.jsx("p",{children:"Loading…"})})]});if(!s)return a.jsxs("div",{className:"s-work-not-found",children:[a.jsx(Er,{slot:"work",fallback:{view:"inbox"},navigate:t}),a.jsxs("div",{className:"s-work-not-found-body",children:[a.jsx("div",{className:"s-work-not-found-glyph","aria-hidden":"true",children:"□"}),a.jsx("h2",{className:"s-work-not-found-title",children:"Work item not found"}),a.jsx("p",{className:"s-work-not-found-sub",children:"This work item may have been removed or does not exist on this broker."}),o&&a.jsx("p",{className:"s-work-not-found-detail",children:o})]})]});const g=Iue(s.attention),v=s.ownerName??s.ownerId??"Unassigned",y=s.nextMoveOwnerName??s.nextMoveOwnerId??"—",x=_ue({detail:s,signal:g,ownerLabel:v,nextMoveLabel:y}),w=s.activeFlights.length>0||s.childWork.length>0;return a.jsxs("div",{className:"s-work-detail s-work-casefile",children:[a.jsxs("div",{className:"s-work-casefile-topbar",children:[a.jsx(Er,{slot:"work",fallback:{view:"inbox"},navigate:t}),a.jsxs("span",{className:"s-work-casefile-record",children:["Case ",hP(s.id)]})]}),o&&a.jsx("p",{className:"s-error",children:o}),a.jsxs("section",{className:"s-work-casefile-hero",children:[a.jsxs("div",{className:"s-work-casefile-hero-main",children:[a.jsxs("div",{className:"s-work-casefile-title-row",children:[a.jsx("h1",{className:"s-work-casefile-title",children:s.title}),a.jsx(Tr,{tone:TO(s),variant:"pill",children:s.currentPhase})]}),s.lastMeaningfulSummary&&a.jsx("div",{className:"s-work-casefile-summary",children:oa(s.lastMeaningfulSummary)}),a.jsxs("div",{className:"s-work-casefile-meta",children:[a.jsxs("span",{children:["Updated ",$e(s.updatedAt)]}),a.jsx("span",{children:v}),a.jsx("span",{children:eA(s.state)}),g&&a.jsx("span",{children:g}),s.priority&&a.jsxs("span",{children:["Priority ",s.priority]})]})]}),a.jsxs("aside",{className:`s-work-next-move s-work-next-move-${x.tone}`,children:[a.jsx("div",{className:"s-work-next-move-kicker",children:x.eyebrow}),a.jsx("div",{className:"s-work-next-move-title",children:x.title}),a.jsx("p",{className:"s-work-next-move-copy",children:x.body}),a.jsx("div",{className:"s-work-next-move-actions",children:s.conversationId&&a.jsx(fP,{primary:!0,icon:a.jsx(Hm,{"aria-hidden":"true",size:14,strokeWidth:1.8}),onClick:()=>Ft(t,{view:"conversation",conversationId:s.conversationId},{returnTo:n}),children:"Open thread"})})]})]}),a.jsxs("div",{className:"s-work-casefile-layout s-work-casefile-layout-main",children:[a.jsx("div",{className:"s-work-casefile-main s-work-casefile-main-materials",children:a.jsx(Oue,{detail:s,navigate:t})}),a.jsx(Hue,{detail:s,navigate:t}),w&&a.jsxs("div",{className:"s-work-casefile-main s-work-casefile-main-lower",children:[s.activeFlights.length>0&&a.jsxs("section",{className:"s-work-casefile-section",children:[a.jsx("div",{className:"s-agent-section-heading",children:a.jsx("h2",{className:"s-agent-section-title",children:"Flights"})}),a.jsx("div",{className:"s-work-flight-list",children:s.activeFlights.map(k=>a.jsxs("button",{type:"button",className:"s-work-flight-card",onClick:k.conversationId?()=>Ft(t,{view:"conversation",conversationId:k.conversationId},{returnTo:n}):void 0,disabled:!k.conversationId,children:[a.jsxs("div",{className:"s-work-flight-card-header",children:[a.jsx("span",{className:"s-work-flight-card-title",children:k.agentName??k.agentId}),a.jsx(Tr,{tone:"working",variant:"pill",children:k.state})]}),a.jsxs("div",{className:"s-work-flight-card-meta",children:[a.jsx("span",{children:k.startedAt?`Started ${$e(k.startedAt)}`:"Start time unavailable"}),k.completedAt&&a.jsxs("span",{children:["Completed ",$e(k.completedAt)]})]}),k.summary&&a.jsx("div",{className:"s-work-flight-card-copy",children:k.summary})]},k.id))})]}),s.childWork.length>0&&a.jsxs("section",{className:"s-work-casefile-section",children:[a.jsx("div",{className:"s-agent-section-heading",children:a.jsx("h2",{className:"s-agent-section-title",children:"Child work"})}),a.jsx("div",{className:"s-work-related-list",children:s.childWork.map(k=>a.jsxs("button",{type:"button",className:"s-work-related-card",onClick:()=>Ft(t,{view:"work",workId:k.id},{returnTo:n}),children:[a.jsxs("div",{className:"s-work-related-card-header",children:[a.jsx("span",{className:"s-work-related-card-title",children:k.title}),a.jsx(Tr,{tone:hte(k),variant:"pill",children:k.currentPhase})]}),a.jsxs("div",{className:"s-work-related-card-meta",children:[a.jsx("span",{children:k.ownerName??k.ownerId??"Unassigned"}),a.jsx("span",{children:eA(k.state)}),a.jsx("span",{children:$e(k.lastMeaningfulAt)})]}),k.lastMeaningfulSummary&&a.jsx("div",{className:"s-work-related-card-copy",children:oa(k.lastMeaningfulSummary)})]},k.id))})]})]})]})]})}function Wue(){const{route:e,navigate:t}=Je();return a.jsx(Gue,{children:Zue(e,t)})}function Gue({children:e}){return a.jsx("div",{style:{background:"var(--bg)",color:"var(--ink)",minHeight:"100%",height:"100%",display:"flex",flexDirection:"column"},children:e})}function Zue(e,t){switch(e.view){case"conversation":return a.jsx(jp,{conversationId:e.conversationId,initialComposeMode:e.composeMode,initialDraft:e.composeDraft,navigate:t});case"agent-info":return a.jsx(dte,{conversationId:e.conversationId,navigate:t});case"settings":return a.jsx(zoe,{navigate:t,section:e.section,agentId:e.agentId});case"agents":return a.jsx(wse,{navigate:t,selectedAgentId:e.agentId,conversationId:e.conversationId,tab:e.tab});case"fleet":return a.jsx(hT,{navigate:t});case"conversations":return a.jsx(uae,{navigate:t});case"messages":return a.jsx(Hie,{conversationId:e.conversationId,navigate:t});case"sessions":return e.sessionId?a.jsx(coe,{sessionRef:e.sessionId,navigate:t}):a.jsx(loe,{navigate:t});case"channels":return a.jsx(i$,{channelId:e.channelId,navigate:t});case"mesh":return a.jsx(Fie,{navigate:t});case"broker":return a.jsx(Hse,{navigate:t});case"briefings":return e.briefingId?a.jsx(Ise,{briefingId:e.briefingId,navigate:t}):a.jsx(Vse,{navigate:t});case"activity":return a.jsx(ete,{navigate:t});case"ops":return a.jsx(Mue,{navigate:t,mode:e.mode,tailQuery:e.tailQuery});case"terminal":return a.jsx(Rue,{agentId:e.agentId,navigate:t});case"work":return a.jsx(que,{workId:e.workId,navigate:t});case"follow":return a.jsx(fae,{route:e,navigate:t});default:return a.jsx(hT,{navigate:t})}}function gc(e,t,n={}){n.returnTo&&EO("agents",n.returnTo),e({view:"agents",agentId:t.id,...n.observe?{conversationId:t.conversationId,tab:"observe"}:{}})}const Kue=new Intl.NumberFormat("en-US"),Yue=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function ro(e){return typeof e!="number"||!Number.isFinite(e)?"-":Math.abs(e)<1e3?Kue.format(e):Yue.format(e).toLowerCase()}function Xue(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const t=Math.round(e),n=Math.floor(t/3600),s=Math.floor(t%3600/60),r=t%60;return n>0?`${n}h ${s}m`:s>=10||r===0?`${s}m`:`${s}m ${r}s`}function Jue(e){return e.replace(/\.local$/i,"").replace(/-local-openscout$/i,"")}function Que(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}async function ede(e){await ye("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,agentId:e.agentId,...e.basePath?{basePath:e.basePath}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}function mP(e){ede(e).catch(t=>{console.warn("Failed to reveal local path",t)})}function tde(){const{route:e,agents:t,navigate:n}=Je();if(e.view!=="agents")return null;const s=e.agentId?t.find(r=>r.id===e.agentId)??null:null;if(!s){const r=t.filter(o=>Si(o.state)).length;return a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-[11px]",children:[a.jsx(sa,{label:"Total",value:`${t.length}`}),a.jsx(sa,{label:"Working",value:`${r}`}),a.jsx(sa,{label:"Available",value:`${t.length-r}`}),a.jsx("div",{className:"mt-2 text-[10px] font-mono uppercase tracking-[0.15em] leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:"Select an agent from the roster to see its context here."})]})}return a.jsx(nde,{agent:s,agents:t,navigate:n,route:e,observeMode:e.tab==="observe"})}function nde({agent:e,agents:t,navigate:n,route:s,observeMode:r}){const o=Si(e.state),[c,u]=p.useState(null),h=p.useCallback(async()=>{const f=await ye("/api/fleet").catch(()=>null);f&&u(f)},[]);return p.useEffect(()=>{h()},[h]),an(()=>{h()}),a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-[11px]",children:[a.jsxs("div",{className:"flex items-center gap-3 border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[a.jsxs("div",{className:"relative flex h-10 w-10 shrink-0 items-center justify-center rounded-full text-[13px] font-mono text-[var(--scout-chrome-avatar-ink)]",style:{background:en(e.name)},children:[e.name[0]?.toUpperCase()??"?",o&&a.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-[var(--hud-bg)]",style:{background:Un(e.state),opacity:et(e.state)==="working"?.85:.6}})]}),a.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[a.jsx("span",{className:"truncate text-[13px] text-[var(--scout-chrome-ink-strong)]",children:e.name}),e.handle&&a.jsxs("span",{className:"text-[10px] font-mono text-cyan-400/70",children:["@",e.handle]})]})]}),a.jsxs(Ya,{label:"State",children:[a.jsxs("div",{className:"flex items-baseline gap-2",children:[a.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:Un(e.state),opacity:o?1:.4}}),a.jsx("span",{className:"text-[12px] capitalize text-[var(--scout-chrome-ink)]",children:Ra(e.state)})]}),e.updatedAt&&a.jsxs("div",{className:"mt-1 text-[10px] font-mono text-[var(--scout-chrome-ink-faint)]",children:["Updated ",$e(e.updatedAt)]})]}),a.jsx(Ya,{label:"Presence",children:a.jsx(rde,{focusAgent:e,agents:t,onOpenAgent:f=>gc(n,f,{returnTo:s})})}),r&&a.jsx(sde,{agentId:e.id}),c&&a.jsx(ide,{asks:c.activeAsks,agentId:e.id,navigate:n}),a.jsxs(Ya,{label:"Identity",children:[a.jsx(sa,{label:"Class",value:e.agentClass}),e.role&&a.jsx(sa,{label:"Role",value:e.role}),e.harness&&a.jsx(sa,{label:"Harness",value:e.harness}),e.transport&&a.jsx(sa,{label:"Transport",value:e.transport}),(e.homeNodeName||e.homeNodeId)&&a.jsx(sa,{label:"Host",value:Jue(e.homeNodeName??e.homeNodeId??"")})]}),(e.project||e.branch||e.cwd)&&a.jsxs(Ya,{label:"Project",children:[e.project&&a.jsx(sa,{label:"Name",value:e.project}),e.branch&&a.jsx(sa,{label:"Branch",value:e.branch}),e.cwd&&a.jsx(sa,{label:"Cwd",value:e.cwd})]}),e.capabilities.length>0&&a.jsx(Ya,{label:`Capabilities · ${e.capabilities.length}`,children:a.jsx("div",{className:"flex flex-wrap gap-1",children:e.capabilities.map(f=>a.jsx("span",{className:"rounded-sm bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 text-[10px] font-mono text-[var(--scout-chrome-ink-soft)]",children:f},f))})})]})}function sde({agentId:e}){const[t,n]=p.useState(null),s=p.useCallback(async()=>{const r=await ye(`/api/agents/${encodeURIComponent(e)}/observe`).catch(()=>null);n(r)},[e]);return p.useEffect(()=>{s()},[s]),an(()=>{s()}),t?.data?a.jsx(ade,{agentId:e,data:t.data,sessionId:t.sessionId}):a.jsx(Ya,{label:"Trace",children:a.jsx("div",{className:"text-[10px] leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:"Resolving session trace."})})}function ade({agentId:e,data:t,sessionId:n}){const s=t.metadata?.session,r=t.events,o=t.files,c=r.filter(x=>x.kind==="tool").length,u=r.filter(x=>x.kind==="think").length,h=r.filter(x=>x.kind==="ask").length,f=r.filter(x=>x.kind==="tool"&&x.tool==="read").length,g=r.filter(x=>x.kind==="tool"&&(x.tool==="edit"||x.tool==="write")).length,v=r.length>0?r[r.length-1].t:0,y=s?.threadPath;return a.jsxs(a.Fragment,{children:[a.jsxs(Ya,{label:"Session",children:[n&&a.jsx(sa,{label:"Active",value:n.slice(0,8)}),y&&a.jsx(nA,{label:"Source",path:y,basePath:s?.cwd??null,value:Que(y),agentId:e,sessionId:n}),s?.cwd&&a.jsx(nA,{label:"Workspace",path:s.cwd,value:s.cwd,agentId:e,sessionId:n})]}),a.jsx(Ya,{label:"Trace stats",children:a.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[a.jsx(li,{label:"Turns",value:ro(s?.turnCount??0)}),a.jsx(li,{label:"Tools",value:ro(c)}),a.jsx(li,{label:"Thinks",value:ro(u)}),a.jsx(li,{label:"Asks",value:ro(h)}),a.jsx(li,{label:"Reads",value:ro(f)}),a.jsx(li,{label:"Edits",value:ro(g)}),a.jsx(li,{label:"Files",value:ro(o.length)}),a.jsx(li,{label:"Window",value:Xue(v)})]})}),o.length>0&&a.jsx(Ya,{label:`Files touched · ${o.length}`,children:a.jsx("div",{className:"flex flex-col gap-1",children:o.slice(0,8).map(x=>a.jsxs("button",{type:"button",title:x.path,onClick:()=>mP({path:x.path,basePath:s?.cwd??null,agentId:e,sessionId:n}),className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1 text-left hover:border-[var(--accent)]",children:[a.jsx("span",{className:"min-w-0 truncate font-mono text-[10px] text-[var(--scout-chrome-ink-soft)]",children:x.path}),a.jsxs("span",{className:"shrink-0 font-mono text-[9px] text-[var(--scout-chrome-ink-faint)]",children:["x",x.touches]})]},x.path))})})]})}function nA({label:e,path:t,basePath:n,value:s,agentId:r,sessionId:o}){return a.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[a.jsx("span",{className:"shrink-0 text-[10px] font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("button",{type:"button",title:`Reveal ${t}`,onClick:()=>mP({path:t,basePath:n,agentId:r,sessionId:o}),className:"min-w-0 truncate bg-transparent p-0 text-right font-mono text-[11px] text-cyan-400/80 hover:text-[var(--scout-chrome-ink)] hover:underline",children:s})]})}function li({label:e,value:t}){return a.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5",children:[a.jsx("div",{className:"font-mono text-[8.5px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("div",{className:"mt-0.5 font-mono text-[12px] text-[var(--scout-chrome-ink)]",children:t})]})}function rde({focusAgent:e,agents:t,onOpenAgent:n}){const h=t.filter(g=>g.id!==e.id).slice(0,8),f=p.useMemo(()=>{const g=[{agent:e,x:120,y:90,focused:!0}];return h.forEach((v,y)=>{const x=2*Math.PI*y/Math.max(h.length,1)-Math.PI/2;g.push({agent:v,x:120+68*Math.cos(x),y:90+68*Math.sin(x),focused:!1})}),g},[e,h,120,90,68]);return a.jsxs("svg",{viewBox:"0 0 240 180",className:"w-full block",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("defs",{children:a.jsxs("radialGradient",{id:"inspMeshGlow",cx:"50%",cy:"50%",r:"50%",children:[a.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.06"}),a.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),a.jsx("circle",{cx:120,cy:90,r:82,fill:"url(#inspMeshGlow)"}),a.jsx("circle",{cx:120,cy:90,r:68,fill:"none",stroke:"var(--border)",strokeDasharray:"2 4"}),f.slice(1).map((g,v)=>a.jsxs("g",{children:[a.jsx("line",{x1:120,y1:90,x2:g.x,y2:g.y,stroke:"var(--accent)",strokeWidth:1,opacity:.6}),a.jsx("circle",{r:2,fill:"var(--accent)",children:a.jsx("animateMotion",{dur:`${2+v*.3}s`,repeatCount:"indefinite",path:`M 120,90 L ${g.x},${g.y}`})})]},`e-${g.agent.id}`)),f.map(g=>{const v=et(g.agent.state),y=v==="working"||v==="available",x=g.focused?14:9;return a.jsxs("g",{style:{cursor:"pointer"},onClick:()=>n(g.agent),children:[y&&a.jsxs("circle",{cx:g.x,cy:g.y,r:x+5,fill:"none",stroke:en(g.agent.name),strokeWidth:.8,opacity:.3,children:[a.jsx("animate",{attributeName:"r",values:`${x};${x+8};${x}`,dur:"2.5s",repeatCount:"indefinite"}),a.jsx("animate",{attributeName:"opacity",values:"0.3;0;0.3",dur:"2.5s",repeatCount:"indefinite"})]}),a.jsx("circle",{cx:g.x,cy:g.y,r:x,fill:en(g.agent.name),stroke:g.focused?"var(--accent)":"var(--surface)",strokeWidth:g.focused?1.5:1}),a.jsx("text",{x:g.x,y:g.y,dy:"0.35em",textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:g.focused?10:8,fontWeight:600,fill:"var(--scout-chrome-avatar-ink)",children:g.agent.name[0].toUpperCase()}),a.jsx("text",{x:g.x,y:g.y+x+10,textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:8,fill:"var(--dim)",letterSpacing:"0.04em",children:g.agent.name.length>9?g.agent.name.slice(0,8)+"...":g.agent.name})]},g.agent.id)})]})}function ide({asks:e,agentId:t,navigate:n}){const s=e.filter(r=>r.agentId===t&&(r.status==="needs_attention"||r.status==="queued"));return s.length===0?null:a.jsx(Ya,{label:`Incoming asks · ${s.length}`,children:a.jsx("div",{className:"flex flex-col gap-2",children:s.map(r=>a.jsxs("div",{className:"p-2.5 rounded-md border border-amber-500/30 bg-amber-500/[0.04] cursor-pointer hover:bg-amber-500/[0.08] transition-colors",onClick:()=>{r.conversationId&&n({view:"agents",agentId:t,conversationId:r.conversationId})},children:[a.jsx("div",{className:"text-[9px] font-mono uppercase tracking-[0.12em] text-amber-500/80 mb-1",children:"awaiting"}),a.jsx("div",{className:"line-clamp-2 text-[11px] leading-relaxed text-[var(--scout-chrome-ink)]",children:r.summary??r.task}),a.jsxs("div",{className:"mt-1.5 text-[9px] font-mono text-[var(--scout-chrome-ink-ghost)]",children:[r.harness??"operator"," → ",r.agentName??"agent"]})]},r.invocationId))})})}function Ya({label:e,children:t}){return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("div",{className:"mb-1.5 text-[9px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),t]})}function sa({label:e,value:t}){return a.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[a.jsx("span",{className:"shrink-0 text-[10px] font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("span",{className:"truncate text-[11px] font-mono text-[var(--scout-chrome-ink)]",children:t})]})}function ode(){const{agents:e,navigate:t,route:n}=Je(),s=c=>gc(t,c,{returnTo:n});if(e.length===0)return a.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-4 text-center font-mono text-[11px] leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[a.jsx("div",{className:"mb-1 uppercase tracking-[0.15em]",children:"No agents"}),a.jsx("div",{children:"Connect an agent to see your roster here."})]});const r=e.filter(c=>Si(c.state)),o=e.filter(c=>!Si(c.state));return a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-[11px]",children:[r.length>0&&a.jsx(sA,{label:"Online",count:r.length,children:r.map(c=>a.jsx(aA,{agent:c,onOpen:s},c.id))}),o.length>0&&a.jsx(sA,{label:"Standby",count:o.length,children:o.map(c=>a.jsx(aA,{agent:c,onOpen:s,dim:!0},c.id))})]})}function sA({label:e,count:t,children:n}){return a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-1.5",children:[a.jsx("span",{className:"text-[9px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("span",{className:"text-[9px] font-mono tabular-nums text-[var(--scout-chrome-ink-ghost)]",children:t})]}),a.jsx("div",{className:"flex flex-col gap-0.5",children:n})]})}function aA({agent:e,onOpen:t,dim:n}){const s=Si(e.state);return a.jsxs("button",{onClick:()=>t(e),className:`group flex items-center gap-2.5 px-2 py-1.5 rounded-sm text-left transition-colors ${n?"opacity-60 hover:opacity-100 hover:bg-[var(--scout-chrome-hover)]":"hover:bg-[var(--scout-chrome-hover)]"}`,children:[a.jsxs("div",{className:"relative h-6 w-6 shrink-0 rounded-full text-[10px] font-mono flex items-center justify-center text-[var(--scout-chrome-avatar-ink)]",style:{background:en(e.name)},children:[e.name[0]?.toUpperCase()??"?",s&&a.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2 w-2 rounded-full bg-emerald-400 ring-2 ring-[var(--hud-bg)]"})]}),a.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[a.jsx("span",{className:"truncate text-[12px] text-[var(--scout-chrome-ink)] transition-colors group-hover:text-[var(--scout-chrome-ink-strong)]",children:e.name}),a.jsx("span",{className:"truncate text-[10px] font-mono text-[var(--scout-chrome-ink-faint)]",children:Ra(e.state)})]}),e.updatedAt&&a.jsx("span",{className:"shrink-0 text-[9px] font-mono tabular-nums text-[var(--scout-chrome-ink-ghost)]",children:$e(e.updatedAt)})]})}function lde(){const{route:e}=Je(),[t,n]=p.useState([]),s=p.useCallback(async()=>{try{n(await ye("/api/sessions"))}catch{}},[]);if(p.useEffect(()=>{s()},[s]),an(()=>{s()}),e.view!=="sessions")return null;const r=e.sessionId?t.find(o=>o.id===e.sessionId)??null:null;if(!r){const o=new Set(t.map(u=>u.kind)),c=t.filter(u=>u.currentBranch).length;return a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-[11px]",children:[a.jsx(Va,{label:"Total",value:`${t.length}`}),a.jsx(Va,{label:"Kinds",value:`${o.size}`}),a.jsx(Va,{label:"Branched",value:`${c}`}),a.jsx("div",{className:"mt-2 text-[10px] font-mono uppercase tracking-[0.15em] leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:"Select a session from the list to see its context here."})]})}return a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-[11px]",children:[a.jsxs("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[a.jsx("div",{className:"text-[13px] leading-snug text-[var(--scout-chrome-ink-strong)]",children:r.title}),a.jsx("div",{className:"text-[10px] font-mono uppercase tracking-wider text-cyan-400/70 mt-1",children:r.kind})]}),r.agentName&&a.jsxs(gh,{label:"Agent",children:[a.jsx(Va,{label:"Name",value:r.agentName}),r.harness&&a.jsx(Va,{label:"Harness",value:r.harness})]}),(r.currentBranch||r.workspaceRoot)&&a.jsxs(gh,{label:"Workspace",children:[r.currentBranch&&a.jsx(Va,{label:"Branch",value:r.currentBranch}),r.workspaceRoot&&a.jsx(Va,{label:"Root",value:r.workspaceRoot})]}),a.jsxs(gh,{label:"Activity",children:[a.jsx(Va,{label:"Messages",value:`${r.messageCount}`}),r.lastMessageAt&&a.jsx(Va,{label:"Last",value:$e(r.lastMessageAt)}),r.participantIds.length>0&&a.jsx(Va,{label:"Participants",value:`${r.participantIds.length}`})]}),r.preview&&a.jsx(gh,{label:"Preview",children:a.jsxs("div",{className:"text-[11px] italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:['"',r.preview,'"']})})]})}function gh({label:e,children:t}){return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("div",{className:"mb-1.5 text-[9px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),t]})}function Va({label:e,value:t}){return a.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[a.jsx("span",{className:"shrink-0 text-[10px] font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("span",{className:"truncate text-[11px] font-mono text-[var(--scout-chrome-ink)]",children:t})]})}const cde=5;function ude(){const{route:e,navigate:t}=Je(),n=e.view==="work"?e.workId:null,[s,r]=p.useState(null),o=p.useCallback(async()=>{if(!n){r(null);return}try{r(await ye(`/api/work/${encodeURIComponent(n)}`))}catch{r(null)}},[n]);if(p.useEffect(()=>{o()},[o]),an(()=>{n&&o()}),e.view!=="work")return null;if(!s)return a.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-[11px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-ghost)]",children:"Loading work item…"});const c=hde(s.state),u=fde(s.attention),h=s.ownerName??s.ownerId??"Unassigned",f=s.nextMoveOwnerName??s.nextMoveOwnerId??null,g=f!==null&&(s.ownerId??null)!==(s.nextMoveOwnerId??null)&&f!==h,v=1+(g?1:0)+(s.priority?1:0)+2+(s.parentId?1:0)+(s.conversationId?1:0);return a.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar text-[11px]",children:[a.jsx("div",{className:"sticky top-0 z-10 border-b border-[var(--scout-chrome-border-soft)] bg-black/55 px-4 py-2 backdrop-blur",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${c.dot}`}),a.jsx("span",{className:`font-mono text-[10px] uppercase tracking-[0.15em] ${c.text}`,children:dde(s.state)}),a.jsxs("span",{className:"min-w-0 flex-1 truncate text-[10px] text-[var(--scout-chrome-ink-faint)]",children:[a.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:h}),g&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"px-1 text-[var(--scout-chrome-ink-ghost)]",children:"→"}),a.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:f})]})]}),u&&a.jsx("span",{className:"shrink-0 rounded border border-amber-400/30 bg-amber-400/10 px-1.5 py-0.5 font-mono text-[9px] uppercase tracking-[0.12em] text-amber-300/90",children:u})]})}),a.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[a.jsxs(mu,{label:"Case facts",children:[a.jsx(Ds,{label:"Phase",value:s.currentPhase}),a.jsx(Ds,{label:"Acceptance",value:s.acceptanceState.replace(/_/g," ")}),s.priority&&a.jsx(Ds,{label:"Priority",value:s.priority})]}),a.jsx(mu,{label:"Timeline",children:s.timeline.length===0?a.jsx("div",{className:"text-[10px] text-[var(--scout-chrome-ink-faint)]",children:"No activity yet."}):a.jsx("div",{className:"flex flex-col gap-1.5",children:s.timeline.slice(0,cde).map(y=>a.jsx(mde,{item:y,onOpen:y.conversationId?()=>Ft(t,{view:"conversation",conversationId:y.conversationId},{returnTo:e}):void 0},y.id))})}),a.jsxs(mu,{label:"Routing",collapsible:!0,defaultOpen:!1,count:v,children:[a.jsx(Ds,{label:"Owner",value:h}),g&&f&&a.jsx(Ds,{label:"Next move",value:f}),s.priority&&a.jsx(Ds,{label:"Priority",value:s.priority}),a.jsx(Ds,{label:"Children",value:`${s.activeChildWorkCount}`}),a.jsx(Ds,{label:"Flights",value:`${s.activeFlightCount}`}),s.lastMeaningfulAt&&a.jsx(Ds,{label:"Last update",value:$e(s.lastMeaningfulAt)}),(s.conversationId||s.parentId)&&a.jsxs("div",{className:"mt-2 flex flex-col gap-1.5",children:[s.conversationId&&a.jsx(rA,{label:"Open thread",onClick:()=>Ft(t,{view:"conversation",conversationId:s.conversationId},{returnTo:e})}),s.parentId&&s.parentTitle&&a.jsx(rA,{label:s.parentTitle,eyebrow:"Parent",onClick:()=>Ft(t,{view:"work",workId:s.parentId},{returnTo:e})})]})]}),a.jsxs(mu,{label:"Record",collapsible:!0,defaultOpen:!1,children:[a.jsx(Ds,{label:"Case ID",value:s.id}),a.jsx(Ds,{label:"Created",value:Ta(s.createdAt)}),a.jsx(Ds,{label:"Updated",value:Ta(s.updatedAt)}),a.jsx(Ds,{label:"Last activity",value:Ta(s.lastMeaningfulAt)})]}),s.lastMeaningfulSummary&&a.jsxs(mu,{label:"Hudson context",collapsible:!0,defaultOpen:!1,children:[a.jsx("div",{className:"text-[11px] italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:s.lastMeaningfulSummary}),a.jsxs("div",{className:"mt-2 flex gap-1.5",children:[a.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Plan"}),a.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Docs"}),a.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Code"})]})]})]})]})}function dde(e){switch(e){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return e.replace(/_/g," ")}}function fde(e){switch(e){case"badge":return"Noteworthy";case"interrupt":return"Blocked";default:return null}}function hde(e){return/complete|done|finished/i.test(e)?{dot:"bg-emerald-400",text:"text-emerald-300/90"}:/fail|error/i.test(e)?{dot:"bg-red-400",text:"text-red-300/90"}:/block|wait|pause/i.test(e)?{dot:"bg-amber-400",text:"text-amber-300/90"}:/active|working|in[_-]?progress/i.test(e)?{dot:"bg-cyan-400",text:"text-cyan-300/90"}:{dot:"bg-[var(--scout-chrome-ink-faint)]",text:"text-[var(--scout-chrome-ink)]"}}function mu({label:e,children:t,collapsible:n=!1,defaultOpen:s=!0,count:r}){const[o,c]=p.useState(s);return n?a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("button",{type:"button",onClick:()=>c(u=>!u),className:"flex items-center gap-1.5 text-left text-[9px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--scout-chrome-ink)]",children:[o?a.jsx(Wl,{"aria-hidden":"true",size:10,strokeWidth:2}):a.jsx(Ib,{"aria-hidden":"true",size:10,strokeWidth:2}),a.jsx("span",{children:e}),typeof r=="number"&&r>0&&a.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0 font-mono text-[8px] tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:r})]}),o&&a.jsx("div",{className:"mt-1.5",children:t})]}):a.jsxs("div",{className:"flex flex-col",children:[a.jsx("div",{className:"mb-1.5 text-[9px] font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),t]})}function rA({label:e,eyebrow:t,onClick:n}){return a.jsxs("button",{type:"button",onClick:n,className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-white/[0.025] px-2 py-1.5 text-left hover:border-cyan-400/25 hover:bg-cyan-400/10",children:[a.jsxs("span",{className:"min-w-0",children:[t&&a.jsx("span",{className:"block font-mono text-[9px] uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:t}),a.jsx("span",{className:"block truncate font-mono text-[10px] text-[var(--scout-chrome-ink)]",children:e})]}),a.jsx(Hm,{"aria-hidden":"true",size:11,strokeWidth:1.8,className:"shrink-0 text-cyan-300/75"})]})}function mde({item:e,onOpen:t}){const n=a.jsxs(a.Fragment,{children:[a.jsx("span",{className:`mt-1 h-1.5 w-1.5 shrink-0 rounded-full ${gde(e)}`}),a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsxs("span",{className:"flex items-center justify-between gap-2",children:[a.jsx("span",{className:"font-mono text-[9px] text-[var(--scout-chrome-ink-faint)]",children:$e(e.at)}),a.jsx("span",{className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0.5 font-mono text-[8px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:pde(e)})]}),a.jsx("span",{className:"mt-0.5 block truncate text-[10px] font-semibold text-[var(--scout-chrome-ink-strong)]",children:e.actorName??"system"}),e.title&&a.jsx("span",{className:"mt-0.5 block truncate text-[10px] leading-snug text-[var(--scout-chrome-ink)]",children:e.title}),e.summary&&a.jsx("span",{className:"mt-0.5 block text-[10px] leading-relaxed text-[var(--scout-chrome-ink-faint)]",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden"},children:e.summary})]})]}),s="flex gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-1.5 first:border-t-0 first:pt-0",r=Ta(e.at);return t?a.jsx("button",{type:"button",onClick:t,title:r,className:`${s} text-left hover:text-cyan-300/90`,children:n}):a.jsx("div",{className:s,title:r,children:n})}function pde(e){switch(e.kind){case"flight_started":return"flight started";case"flight_completed":return e.detailKind?`flight ${e.detailKind}`:"flight ended";case"message":return"message";default:return e.title??e.detailKind??"event"}}function gde(e){return e.kind==="message"?"bg-cyan-400":e.kind==="flight_started"?"bg-lime-400":e.kind==="flight_completed"?e.detailKind?.includes("fail")?"bg-red-400":"bg-emerald-400":e.detailKind?.includes("interrupt")||e.detailKind?.includes("block")?"bg-amber-400":"bg-[var(--scout-chrome-ink-faint)]"}function Ds({label:e,value:t}){return a.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[a.jsx("span",{className:"shrink-0 text-[10px] font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),a.jsx("span",{className:"truncate text-[11px] font-mono text-[var(--scout-chrome-ink)]",children:t})]})}function vde(e){return e.issues.some(t=>t.code==="mesh_loopback")?"loopback":e.identity.discoverable?"discoverable":e.tailscale.available?e.tailscale.running?"local-only":"tailnet-stopped":"unavailable"}function yde(e){const t=new Map;for(const n of e){const s=(n.harness??n.agentClass??"agent").toLowerCase(),r=t.get(s)??{total:0,working:0};r.total+=1,et(n.state)==="working"&&(r.working+=1),t.set(s,r)}return Array.from(t.entries()).map(([n,s])=>({label:n,total:s.total,working:s.working})).sort((n,s)=>s.total-n.total).slice(0,6)}function iA(e){return e?e.replace(/^https?:\/\//,"").split("/")[0]??e:"Unavailable"}function xde(e){return e.split("/")[0]}function bde(e){return new Promise(t=>window.setTimeout(t,e))}async function oA(e,t){let n=null,s=null;for(let r=0;r<=t.attempts;r+=1){try{if(n=await ye("/api/mesh"),Om(n),e(n))return n}catch(o){s=o}r<t.attempts&&await bde(t.intervalMs)}if(n)return n;throw s instanceof Error?s:new Error("Mesh status is temporarily unavailable.")}function wde(e){return e.issues.find(t=>t.code==="local_only"||t.code==="mesh_loopback"||t.code==="tailscale_stopped")?.summary??null}function jde(){const{meshSnapshot:e,selectedId:t,selectedType:n,probeCache:s}=sc(),{agents:r}=I$(),[o,c]=p.useState(!1),[u,h]=p.useState(!1),[f,g]=p.useState(null),v=p.useCallback(async()=>{c(!0),g({tone:"info",text:"Restarting broker with mesh discovery enabled..."});try{const E=await ye("/api/mesh/announce",{method:"POST",body:"{}"});Om(E);const A=E.identity.discoverable?E:await oA(R=>R.identity.discoverable,{attempts:6,intervalMs:750});A.identity.discoverable?g({tone:"success",text:`Discoverable at ${iA(A.identity.announceUrl??A.brokerUrl)}.`}):g({tone:"warning",text:wde(A)??"Scout restarted the broker, but it is not discoverable yet."})}catch(E){g({tone:"error",text:E instanceof Error?E.message:String(E)})}finally{c(!1)}},[]),y=p.useCallback(async()=>{h(!0),g({tone:"info",text:"Opening Tailscale and waiting for the backend..."});try{const E=await ye("/api/mesh/tailscale",{method:"POST",body:JSON.stringify({action:"open_app"})});Om(E);const A=E.tailscale.running?E:await oA(R=>R.tailscale.running,{attempts:12,intervalMs:1e3});A.tailscale.running?g({tone:"success",text:`Tailscale is running with ${A.tailscale.onlineCount} online peer${A.tailscale.onlineCount===1?"":"s"}.`}):g({tone:"warning",text:`Tailscale opened, but the backend is still ${A.tailscale.backendState??"not running"}. Finish startup or sign-in in Tailscale.app.`})}catch(E){g({tone:"error",text:E instanceof Error?E.message:String(E)})}finally{h(!1)}},[]),x=p.useMemo(()=>{const E={total:r.length,working:0,available:0,offline:0};for(const A of r){const R=et(A.state);E[R]+=1}return E},[r]),w=p.useMemo(()=>yde(r),[r]);if(!e)return a.jsx("div",{className:"sys-inspector-empty",children:a.jsx("p",{children:"Loading mesh…"})});if(t?.startsWith("tailnet:")&&n==="node"){const E=t.slice(8),A=e.tailscale.peers.find(O=>O.id===E),R=s[t]??null,M=A?.addresses?.[0]?xde(A.addresses[0]):null,$=A?.hostName?.split(".")[0]??A?.hostName??"Tailnet peer";return a.jsxs("div",{className:"sys-inspector-content",children:[a.jsxs("div",{className:"sys-inspector-head",children:[a.jsx("h3",{className:"sys-inspector-title",children:$}),a.jsx("span",{className:`sys-chip sys-chip-${A?.online?"success":"failed"}`,children:A?.online?"Online":"Offline"})]}),a.jsxs("div",{className:"sys-detail-grid",children:[M&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Address"}),a.jsx("code",{className:"sys-detail-value",children:M})]}),A?.os&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Platform"}),a.jsx("span",{className:"sys-detail-value",children:A.os})]}),R?.result?.node?.meshId&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Mesh ID"}),a.jsxs("code",{className:"sys-detail-value",children:[R.result.node.meshId.slice(0,14),"…"]})]}),R?.result?.node?.name&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Node name"}),a.jsx("span",{className:"sys-detail-value",children:R.result.node.name})]})]}),(!R||R.status==="loading")&&a.jsx("div",{className:"sys-banner sys-banner-muted",style:{marginTop:8},children:a.jsx("span",{children:"Connecting to Scout broker…"})}),R?.status==="error"&&a.jsxs("div",{className:"sys-banner sys-banner-warning",style:{marginTop:8},children:[a.jsx("strong",{children:"Broker unreachable."}),a.jsx("span",{children:R.result?.error??"Could not reach the remote broker."})]}),R?.status==="done"&&R.result?.node?.capabilities?.length&&a.jsxs("div",{style:{marginTop:10},children:[a.jsx("div",{className:"sys-inspector-section-label",children:"Capabilities"}),a.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:R.result.node.capabilities.map(O=>a.jsx("span",{className:"sys-chip sys-chip-neutral",children:O},O))})]}),R?.status==="done"&&R.result?.home&&a.jsxs("div",{style:{marginTop:14},children:[a.jsxs("div",{className:"sys-inspector-section-label",children:["Agents — ",R.result.home.agents.length," registered"]}),R.result.home.agents.length===0?a.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:a.jsx("p",{children:"No agents registered on this broker."})}):a.jsx("div",{className:"mesh-agent-table",style:{marginTop:4},children:R.result.home.agents.map(O=>{const U=O.state==="working"?"working":O.state==="available"?"available":"offline";return a.jsxs("div",{className:"mesh-detail-agent",style:{padding:"4px 0"},children:[a.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${U}`}),a.jsxs("div",{className:"mesh-detail-agent-body",children:[a.jsx("span",{className:"mesh-detail-agent-name",style:{fontSize:12},children:O.title}),O.activeTask&&a.jsx("span",{className:"mesh-detail-agent-task",children:O.activeTask})]}),a.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${U}`,children:O.statusLabel||U})]},O.id)})})]}),a.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>ql(null,null),children:"Clear selection"})]})}if(t&&n==="node"){const A=Object.values(e.nodes).find(M=>M.id===t)??(e.localNode?.id===t?e.localNode:null),R=e.localNode?.id===t;return A?a.jsxs("div",{className:"sys-inspector-content",children:[a.jsxs("div",{className:"sys-inspector-head",children:[a.jsx("h3",{className:"sys-inspector-title",children:A.hostName?.split(".")[0]??A.name??"Node"}),R&&a.jsx("span",{className:"sys-chip sys-chip-neutral",children:"this broker"})]}),a.jsxs("div",{className:"sys-detail-grid",children:[a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Node ID"}),a.jsxs("code",{className:"sys-detail-value",children:[A.id.slice(0,16),"…"]})]}),A.brokerUrl&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Broker URL"}),a.jsx("code",{className:"sys-detail-value",children:iA(A.brokerUrl)})]}),A.hostName&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Host"}),a.jsx("span",{className:"sys-detail-value",children:A.hostName})]}),!R&&"lastSeenAt"in A&&typeof A.lastSeenAt=="number"&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Last seen"}),a.jsx("span",{className:"sys-detail-value",children:$e(A.lastSeenAt)})]}),!R&&a.jsxs("div",{className:"sys-detail-card",children:[a.jsx("span",{className:"sys-detail-label",children:"Scope"}),a.jsx("span",{className:"sys-detail-value",children:A.advertiseScope==="mesh"?"Announced to mesh":"Local only"})]})]}),R&&e.issues.length>0&&a.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:e.issues.map((M,$)=>a.jsxs("article",{className:`sys-issue-card sys-issue-card-${M.severity==="error"?"error":"warning"}`,children:[a.jsx("div",{className:"sys-issue-head",children:a.jsx("h3",{className:"sys-issue-title",children:M.title})}),a.jsx("p",{className:"sys-issue-body",children:M.summary}),M.actionCommand&&a.jsx("div",{className:"sys-issue-action",children:a.jsx("code",{className:"sys-code-inline",children:M.actionCommand})})]},$))}),a.jsx("button",{type:"button",className:"s-btn",style:{marginTop:12},onClick:()=>ql(null,null),children:"Clear selection"})]}):a.jsxs("div",{className:"sys-inspector-empty",children:[a.jsx("p",{children:"Node not found."}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>ql(null,null),children:"Clear"})]})}const k=e,C=vde(k),T=Object.values(k.nodes).filter(E=>E.id!==k.localNode?.id).length,S=k.tailscale.onlineCount??0,N=k.localNode?.hostName?.split(".")[0]??k.localNode?.name??k.identity.name??"this broker";return a.jsxs("div",{className:"sys-inspector-content mesh-summary",children:[a.jsxs("div",{className:"sys-inspector-head",children:[a.jsx("h3",{className:"sys-inspector-title",children:N}),a.jsx("span",{className:"mesh-summary-mode",children:k.identity.modeLabel})]}),a.jsx("section",{className:"mesh-summary-section",children:a.jsxs("div",{className:"mesh-summary-counts",children:[a.jsxs("div",{className:"mesh-summary-count",children:[a.jsx("span",{className:"mesh-summary-count-value",children:x.total}),a.jsx("span",{className:"mesh-summary-count-label",children:"agents"})]}),a.jsxs("div",{className:"mesh-summary-count mesh-summary-count--working",children:[a.jsx("span",{className:"mesh-summary-count-value",children:x.working}),a.jsx("span",{className:"mesh-summary-count-label",children:"working"})]}),a.jsxs("div",{className:"mesh-summary-count",children:[a.jsx("span",{className:"mesh-summary-count-value",children:x.available}),a.jsx("span",{className:"mesh-summary-count-label",children:"available"})]}),a.jsxs("div",{className:"mesh-summary-count mesh-summary-count--offline",children:[a.jsx("span",{className:"mesh-summary-count-value",children:x.offline}),a.jsx("span",{className:"mesh-summary-count-label",children:"offline"})]})]})}),w.length>0&&a.jsxs("section",{className:"mesh-summary-section",children:[a.jsx("div",{className:"sys-inspector-section-label",children:"By harness"}),a.jsx("div",{className:"mesh-summary-harness",children:w.map(E=>a.jsxs("div",{className:"mesh-summary-harness-row",children:[a.jsx("span",{className:"mesh-summary-harness-name",children:E.label}),a.jsx("span",{className:"mesh-summary-harness-count",children:E.total}),E.working>0&&a.jsxs("span",{className:"mesh-summary-harness-working",children:[E.working," working"]})]},E.label))})]}),a.jsxs("section",{className:"mesh-summary-section",children:[a.jsx("div",{className:"sys-inspector-section-label",children:"Peers"}),a.jsxs("div",{className:"mesh-summary-peers",children:[a.jsxs("div",{className:"mesh-summary-peer-row",children:[a.jsx("span",{className:"mesh-summary-peer-label",children:"Mesh"}),a.jsx("span",{className:"mesh-summary-peer-value",children:T})]}),k.tailscale.available&&a.jsxs("div",{className:"mesh-summary-peer-row",children:[a.jsx("span",{className:"mesh-summary-peer-label",children:"Tailnet"}),a.jsx("span",{className:`mesh-summary-peer-value${k.tailscale.running?"":" mesh-summary-peer-value--dim"}`,children:k.tailscale.running?`${S} online`:"stopped"})]})]})]}),a.jsxs("section",{className:"mesh-summary-section mesh-summary-reach",children:[a.jsx("div",{className:"sys-inspector-section-label",children:"Reach"}),a.jsx(kde,{state:C,tailscaleAvailable:k.tailscale.available,announcing:o,tailscaleBusy:u,onAnnounce:()=>{v()},onStartTailscale:()=>{y()}}),f&&a.jsx("div",{className:`sys-banner mesh-action-message sys-banner-${f.tone}`,children:a.jsx("span",{children:f.text})})]})]})}function kde({state:e,tailscaleAvailable:t,announcing:n,tailscaleBusy:s,onAnnounce:r,onStartTailscale:o}){return e==="discoverable"?a.jsxs("div",{className:"mesh-reach mesh-reach--on",children:[a.jsx("span",{className:"mesh-reach-dot"}),a.jsx("span",{className:"mesh-reach-label",children:"Discoverable on mesh"})]}):e==="tailnet-stopped"?a.jsxs("div",{className:"mesh-reach",children:[a.jsxs("div",{className:"mesh-reach-row",children:[a.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),a.jsx("span",{className:"mesh-reach-label",children:"Tailscale stopped"})]}),a.jsx("button",{type:"button",className:"s-btn mesh-reach-action",disabled:s,onClick:o,children:s?"Opening…":"Start Tailscale"})]}):e==="loopback"?a.jsxs("div",{className:"mesh-reach",children:[a.jsxs("div",{className:"mesh-reach-row",children:[a.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),a.jsx("span",{className:"mesh-reach-label",children:"Announcement broken"})]}),a.jsx("button",{type:"button",className:"s-btn mesh-reach-action",disabled:n,onClick:r,children:n?"Fixing…":"Fix announcement"})]}):e==="unavailable"?a.jsxs("div",{className:"mesh-reach mesh-reach--neutral",children:[a.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),a.jsx("span",{className:"mesh-reach-label",children:"Local only — no tailnet on this host"})]}):a.jsxs("div",{className:"mesh-reach",children:[a.jsxs("div",{className:"mesh-reach-row",children:[a.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),a.jsx("span",{className:"mesh-reach-label",children:"Local only"})]}),a.jsx("button",{type:"button",className:"s-btn s-btn-primary mesh-reach-action",disabled:n||!t,onClick:r,children:n?"Announcing…":"Make discoverable"})]})}const Nde=new Map([["a",1],["an",1],["one",1],["two",2],["three",3],["four",4],["five",5],["six",6],["seven",7],["eight",8],["nine",9],["ten",10],["eleven",11],["twelve",12],["fifteen",15],["twenty",20],["thirty",30],["forty",40],["forty-five",45],["sixty",60]]),vh=String.raw`(\d+(?:\.\d+)?|a|an|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|fifteen|twenty|thirty|forty|forty-five|sixty)`,yh=String.raw`(seconds?|secs?|minutes?|mins?|hours?|hrs?)`,Sde=[new RegExp(String.raw`\b(?:please\s+)?(?:can\s+you\s+|could\s+you\s+)?(?:set\s+(?:a\s+)?reminder|remind\s+me|ping\s+me|nudge\s+me)(?:\s+for\s+(?:me|you|us))?\s+(?:in|after|for)\s+${vh}\s+${yh}\b(?:\s+(?:to|about|on|for)\s+(.+))?`,"i"),new RegExp(String.raw`\b(?:please\s+)?(?:check\s+back|follow\s+up)(?:\s+with\s+(?:me|us))?\s+(?:in|after)\s+${vh}\s+${yh}\b(?:\s+(?:to|about|on|for)\s+(.+))?`,"i"),new RegExp(String.raw`\b(?:please\s+)?(?:can\s+i\s+get|can\s+you\s+give\s+me|give\s+me|send\s+me|get\s+me)\s+(?:a\s+|an\s+)?(?:quick\s+|short\s+)?(?:status\s+)?update\s+(?:in|after)\s+${vh}\s+${yh}\b(?:\s+(?:to|about|on|for)\s+(.+))?`,"i"),new RegExp(String.raw`\bin\s+${vh}\s+${yh}\s+(?:remind\s+me|ping\s+me|nudge\s+me)(?:\s+(?:to|about|on|for)\s+(.+))?`,"i")];function Cde(e,t=Date.now()){const n=e.replace(/\s+/g," ").trim();if(!n)return null;for(const s of Sde){const r=n.match(s);if(!r)continue;const o=Ede(r[1]??""),c=r[2]??"";if(o===null)continue;const u=Tde(o,c);if(u===null)continue;const h=Ade(r[3]??"",n);return{body:h,title:Mde(h),delayMs:u,dueAt:t+u}}return null}function Ede(e){const t=e.trim().toLowerCase();if(!t)return null;const n=Nde.get(t);if(n!==void 0)return n;const s=Number(t);return Number.isFinite(s)&&s>=0?s:null}function Tde(e,t){const n=t.trim().toLowerCase();return n.startsWith("sec")?Math.round(e*1e3):n.startsWith("min")?Math.round(e*6e4):n.startsWith("hr")||n.startsWith("hour")?Math.round(e*60*6e4):null}function Ade(e,t){const n=e.replace(/[.?!]+$/g,"").replace(/^(?:please\s+)?(?:that\s+)?/i,"").trim();return n||(/\bcheck\s+back\b/i.test(t)?"check back":/\bupdate\b/i.test(t)?"give me an update":"follow up")}function Mde(e){const t=e.replace(/\s+/g," ").trim();return t.length<=42?t:`${t.slice(0,39).trim()}...`}const Rde="chill-dispatcher",Ide=100,_de=6e4,Ode=2500,$de={lowCutHz:160,highCutHz:5200,bandQ:.35,saturationAmount:.035,bitcrushAmount:0,hissGain:0,hissCutoffHz:1800,presencePeakDb:1.5,presenceCenterHz:1500,presenceQ:.65,compressorThresholdDb:-15,compressorRatio:2.2,clickEnabled:!0,clickGain:.24,clickDurationMs:45,squelchTailEnabled:!0,squelchTailGain:.018,squelchTailDurationMs:95,outputGain:1,wetMix:.38};function Pde(e){const t=Math.min(1,e/8);return{saturationAmount:.035+t*.025,presencePeakDb:1.5+t*1.5}}function lA(e,t){return{...e==="chill-dispatcher"?$de:{},...Pde(t)}}function pP(e,t,n){return new Promise((s,r)=>{const o=window.setTimeout(()=>r(new Error(n)),t);e.then(s,r).finally(()=>window.clearTimeout(o))})}async function Hy(e,t={}){!e.sessionId&&!t.allowCurrentSession||await pP(e.cancel(),Ode,"Timed out releasing Vox live session.").catch(()=>{})}function Dde(e){const t=e instanceof Error?e.message:String(e);return/session_cancelled|was cancelled|cancelled/i.test(t)}const Lde="What's the state of things? Give me a terse ops summary, the biggest risk, and the next action you recommend.",xh=[1,1.2,1.35],zde=1.2,Bde=`
|
|
176
|
+
|
|
177
|
+
`,Ude=["Read as a calm local operations briefer.","Use the paragraph breaks as short breath moments so the operator can look at the screen.","Keep the tone warm, focused, and unhurried; do not sound like an advertisement."].join(" ");function Vde(e){let t="";const n=[];for(const s of e){const r=Im(s.narration);if(!r)continue;t&&(t+=Bde);const o=t.length;t+=r,n.push({id:s.cueId,textStart:o,textEnd:t.length})}return{text:t,cues:n}}function Fde(e,t){const n=e.speechTiming?.cues;if(!n?.length)return null;const s=new globalThis.Map(n.map(o=>[o.id,o])),r=[];for(let o=0;o<t.length;o+=1){const c=t[o],u=s.get(c.cueId);if(!u||!Number.isFinite(u.startMs))return null;r.push({cueId:c.cueId,segmentIndex:o,activateMs:Math.max(0,u.startMs-Ide)})}return r}function Hde({height:e}={}){const{applyRangerUiAction:t,route:n,onlineCount:s}=Je(),r=GJ(),[o,c]=ub("openscout.ranger.collapsed",!0),[u,h]=p.useState(""),[f,g]=p.useState(!1),[v,y]=p.useState(null),[x,w]=p.useState(null),[k,C]=p.useState(null),[T,S]=p.useState("idle"),[N,E]=ub("openscout.ranger.voiceReplies",!1),[A,R]=v$("openscout.ranger.voiceSpeed",zde),[M,$]=y$("openscout.ranger.voicePresetId",Rde),[O,U]=p.useState(!1),[_,z]=p.useState(null),[q,V]=p.useState(null),[G,P]=p.useState(!1),[H,D]=p.useState(null),[K,W]=p.useState(""),[L,F]=p.useState(!1),[Z,ee]=p.useState(null),[X,de]=p.useState(null),[J,ae]=p.useState(null),[je,Ee]=p.useState(!1),[pe,Te]=p.useState(null),[re,Fe]=p.useState(!1),[Ce,Me]=p.useState(null),[_e,He]=p.useState(!1),[qe,nt]=p.useState(!1),[Re,Ue]=p.useState(null),[Ie,Be]=p.useState(null),[Pe,at]=p.useState(""),[ut,rt]=p.useState(""),[vt,ie]=p.useState(null),[fe,Ae]=p.useState(null),[Qe,ue]=p.useState(!1),[Ne,De]=p.useState(!1),[dt,St]=p.useState(null),kt=p.useRef(null),Ct=p.useRef(null),Pt=p.useRef(null),Mt=p.useRef(null),$t=p.useRef(null),he=p.useRef(null),We=p.useRef(!1),Ve=p.useRef(new Set),it=p.useRef(N);it.current=N;const xt=p.useCallback(()=>{$t.current?.abort(),$t.current=null,Mt.current?.stop(),Mt.current=null,F(!1)},[]),bn=p.useCallback(Q=>{if(!Q)return;xt();const ge=bre(Im(Q),{speed:A,presetId:M,params:lA(M,s)});Mt.current=ge,F(!0),ge.promise.catch(Oe=>{Cl(Oe)||y(Oe instanceof Error?Oe.message:"Vox speech failed.")}).finally(()=>{Mt.current===ge&&(Mt.current=null,F(!1))})},[xt,A,s,M]),Vn=p.useCallback(Q=>{it.current&&bn(Q)},[bn]),nn=p.useCallback(Q=>{bn(wu(Q))},[bn]),{openFilePreview:qn}=Je(),ps=gd(),ss=p.useCallback((Q,ge)=>{const Oe=window.getSelection()?.toString().trim(),Le=wu(ge),ft=qde(Le),ot=[];if(Oe&&(ot.push({kind:"action",label:"Copy selection",shortcut:"⌘C",onSelect:()=>navigator.clipboard.writeText(Oe)}),ot.push({kind:"separator"})),ot.push({kind:"action",label:"Copy message",onSelect:()=>navigator.clipboard.writeText(Le)}),ft.length>0){ot.push({kind:"separator"});for(const Bt of ft.slice(0,5)){const jt=uA(Bt);ot.push({kind:"action",label:`Preview ${jt}`,onSelect:()=>qn(Bt)})}for(const Bt of ft.slice(0,5)){const jt=uA(Bt);ot.push({kind:"action",label:`Open ${jt} in OS`,onSelect:()=>{ye("/api/file/reveal",{method:"POST",body:JSON.stringify({path:Bt})}).catch(()=>{})}})}ot.push({kind:"action",label:ft.length===1?"Copy path":"Copy first path",onSelect:()=>navigator.clipboard.writeText(ft[0])})}ot.push({kind:"separator"}),ot.push({kind:"action",label:L?"Say again (stop current)":"Say",onSelect:()=>nn(ge)}),ps(Q,ot)},[qn,nn,ps,L]);p.useEffect(()=>()=>{he.current=null,xt()},[xt]);const Wn=p.useCallback(Q=>{const ge=[...Q.messages].reverse().find(Le=>Le.role==="user"),Oe=[...Q.messages].reverse().find(Le=>Le.role==="assistant");ee(ge?.body??null),de(Oe?wu(Oe.body):null)},[]),Es=p.useCallback(async()=>{try{const Q=await ye("/api/ranger/session");Te(Q),Wn(Q.session)}catch{Te(null)}},[Wn]);p.useEffect(()=>{Es()},[Es]);const qs=p.useCallback(async()=>{try{Ae(await ye("/api/ranger/reminders"))}catch{Ae(null)}},[]);p.useEffect(()=>{qs();const Q=window.setInterval(()=>{qs()},15e3);return window.addEventListener("focus",qs),()=>{window.clearInterval(Q),window.removeEventListener("focus",qs)}},[qs]);const Ln=p.useCallback(async Q=>{const ge=await ye("/api/ranger/reminders",{method:"POST",body:JSON.stringify({...Q,source:"ranger"})});return Ae({generatedAt:ge.generatedAt,reminders:ge.reminders,due:ge.due,scheduled:ge.scheduled}),ge.reminder},[]),pn=p.useCallback(async Q=>{const ge=await ye(`/api/ranger/reminders/${encodeURIComponent(Q)}/dismiss`,{method:"POST"});Ae(ge)},[]),Sn=p.useCallback(async()=>{He(!0),Ue(null);try{const Q=await ye("/api/ranger/config");at(Q.model),rt(Q.systemPrompt),Be(null)}catch(Q){Ue(Q instanceof Error?Q.message:"Could not load settings.")}finally{He(!1)}},[]);p.useEffect(()=>{je&&Sn()},[Sn,je]),p.useEffect(()=>{if(!je)return;let Q=!1;return ye("/api/voice/defaults").then(ge=>{Q||ie(ge)}).catch(()=>{Q||ie(null)}),()=>{Q=!0}},[je]);const Ia=p.useCallback(async()=>{nt(!0),Ue(null),Be(null);try{const Q=await ye("/api/ranger/config",{method:"POST",body:JSON.stringify({model:Pe,systemPrompt:ut})});at(Q.config.model),rt(Q.config.systemPrompt),Be("Saved")}catch(Q){Ue(Q instanceof Error?Q.message:"Could not save settings.")}finally{nt(!1)}},[Pe,ut]),fa=p.useCallback(async Q=>{if(!(!Q||dt)){St(Q),y(null),xt();try{const ge=await ye("/api/ranger/session/switch",{method:"POST",body:JSON.stringify({id:Q})});Te(ge),Wn(ge.session),De(!1),ue(!1)}catch(ge){y(ge instanceof Error?ge.message:"Could not switch session.")}finally{St(null)}}},[xt,dt,Wn]),Ir=p.useCallback(async()=>{Fe(!0),y(null),ae("Starting fresh session"),xt();try{const Q=await ye("/api/ranger/session/reset",{method:"POST"});Te(Q),ee(null),de(null),ue(!1),De(!1),ae("Fresh session ready")}catch(Q){ae(null),y(Q instanceof Error?Q.message:"Could not start a fresh session.")}finally{Fe(!1)}},[xt]),Ro=p.useCallback(async Q=>{if(!(!Q||Ce)){Me(Q),y(null),xt();try{const ge=await ye("/api/ranger/session/archive",{method:"POST",body:JSON.stringify({id:Q})});Te(ge),Wn(ge.session),ue(!1),ae("session archived")}catch(ge){y(ge instanceof Error?ge.message:"Could not archive session.")}finally{Me(null)}}},[Ce,xt,Wn]),os=p.useCallback(async()=>{const Q=kt.current??new oh;kt.current=Q,S("probing");const ge=await Q.probe();return w(ge),C(ge?null:Q.lastUnavailableReason??"Vox Companion is not reachable."),S("idle"),ge},[]);p.useEffect(()=>{os();const Q=()=>{os()},ge=()=>{document.visibilityState==="visible"&&os()};return window.addEventListener("focus",Q),document.addEventListener("visibilitychange",ge),()=>{window.removeEventListener("focus",Q),document.removeEventListener("visibilitychange",ge)}},[os]);const _a=p.useCallback(()=>{const Q=kt.current??new oh;kt.current=Q,y(null),S("launching"),Q.launch({source:"openscout",context:dA()}),window.setTimeout(()=>{os()},2400)},[os]),_r=p.useCallback(()=>{const Q=kt.current??new oh;kt.current=Q,Q.openSettings({source:"openscout",context:dA()})},[]),Ts=p.useCallback(Q=>{const ge=wu(Q);de(ge);for(const Oe of nJ(Q))Oe.type==="ask-agent"?(ae(`Asking ${Oe.targetLabel}`),ye("/api/ranger/actions/ask",{method:"POST",body:JSON.stringify({targetLabel:Oe.targetLabel,targetAgentId:Oe.targetAgentId,body:Oe.body,channel:Oe.channel})}).then(Le=>{ae(Le.flightId?`Asked ${Le.targetAgentId??Le.targetLabel} · flight ${Le.flightId}`:`Asked ${Le.targetAgentId??Le.targetLabel}`)}).catch(Le=>{ae(null),y(Le instanceof Error?Le.message:"Could not ask agent.")})):Oe.type==="reminder"?Ln({title:Oe.title,body:Oe.body,dueAt:Oe.dueAt,delayMs:Oe.delayMs,delayMinutes:Oe.delayMinutes,context:{route:n,reason:Oe.reason}}).then(Le=>{ae(`Reminder set for ${fA(Le.dueAt)}`)}).catch(Le=>{y(Le instanceof Error?Le.message:"Could not set reminder.")}):t(Oe);Vn(ge)},[t,Ln,n,Vn]);p.useEffect(()=>{const Q=fe?.due??[];if(!We.current){for(const Le of Q)Ve.current.add(Le.id);We.current=!0;return}const ge=Q.find(Le=>!Ve.current.has(Le.id));if(!ge)return;for(const Le of Q)Ve.current.add(Le.id);const Oe=`Reminder due: ${ge.body}`;ae("Reminder due"),de(Oe),Vn(Oe)},[fe,Vn]),p.useCallback(()=>{const Q=xh.reduce((ge,Oe,Le)=>Math.abs(Oe-A)<Math.abs(xh[ge]-A)?Le:ge,0);R(xh[(Q+1)%xh.length])},[R,A]);const ha=p.useCallback((Q,ge,Oe)=>{if(!it.current)return{promise:Promise.resolve(null),abort:()=>{}};$t.current?.abort();const Le=new AbortController;$t.current=Le;const ft=()=>{Le.abort(),$t.current===Le&&($t.current=null)};return{promise:nw(Q,{speed:A,instructions:Ude,signal:Le.signal,originAppId:"openscout.ranger",utteranceId:`ranger-brief:${Oe}`,...ge.length>0?{speechTiming:{enabled:!0,cues:ge}}:{}}).catch(Bt=>(Cl(Bt)||y(Bt instanceof Error?Bt.message:"Vox speech failed."),null)).finally(()=>{$t.current===Le&&($t.current=null)}),abort:ft}},[A]),ma=p.useCallback(async(Q,ge,Oe={})=>{const Le=await Q;if(!Le||he.current!==ge||!it.current)return!1;const ft=new AbortController,ot=[],Bt=lA(M,s),jt=Math.min(2,Math.max(.5,Bt.playbackRate??1)),Gs=()=>{for(const Fn of ot)window.clearTimeout(Fn);ot.length=0},$a=()=>{if(Oe.cueSchedule?.length)for(const Fn of Oe.cueSchedule){const wd=Math.max(0,Fn.activateMs/jt);ot.push(window.setTimeout(()=>{ft.signal.aborted||he.current!==ge||Oe.onCue?.(Fn)},wd))}},Vt=xre(Le,{signal:ft.signal,presetId:M,params:Bt,onPlaybackStart:$a}),gn={promise:Vt,stop:()=>{Gs(),ft.abort()}};Mt.current?.stop(),Mt.current=gn,F(!0);try{await Vt}catch(Fn){if(!Cl(Fn))throw Fn}finally{Gs(),Mt.current===gn&&(Mt.current=null,F(!1))}return!0},[s,M]),Ws=p.useCallback(async(Q,ge)=>{const Oe=[...Q.steps.map(Vt=>({id:Vt.id,cueId:`step:${Vt.id}`,label:Vt.label,route:Vt.route,narration:Vt.narration,durationMs:Vt.durationMs})),{id:"recommendation",cueId:"recommendation",label:"Recommendation",route:null,narration:`Recommendation: ${Q.recommendation}`,durationMs:Wde(Q.recommendation)}],Le=[],ft=Vde(Oe);let ot=null,Bt=null;const jt=(Vt,gn)=>{if(V(Math.min(gn,Q.steps.length-1)),ae(`Brief ${Math.min(gn+1,Q.steps.length)}/${Q.steps.length}: ${Vt.label}`),Vt.route){const Fn=B0({type:"navigate",route:Vt.route});Fn?.type==="navigate"&&t(Fn)}Le.push(`${Vt.label}: ${Vt.narration}`)},Gs=async()=>{for(let Vt=0;Vt<Oe.length;Vt+=1){if(he.current!==ge)return;if(Date.now()>Q.expiresAt){ae("Brief expired; refresh before acting");break}const gn=Oe[Vt];jt(gn,Vt),await Yde(Math.min(gn.durationMs,2400))}};if(it.current&&(ae("Preparing brief audio"),ot=ha(ft.text||Im(Q.summary),ft.cues,ge),Bt=await ot.promise,he.current!==ge)){ot.abort();return}const $a=Bt?Fde(Bt,Oe):null;if(Bt&&$a){const Vt=new Set;try{!await ma(Promise.resolve(Bt),ge,{cueSchedule:$a,onCue:Fn=>{if(!Vt.has(Fn.segmentIndex)){if(Date.now()>Q.expiresAt){ae("Brief expired; refresh before acting");return}Vt.add(Fn.segmentIndex),jt(Oe[Fn.segmentIndex],Fn.segmentIndex)}}})&&he.current===ge&&await Gs()}catch(gn){Cl(gn)||y(gn instanceof Error?gn.message:"Vox speech failed.")}}else{const Vt=Bt&&it.current?ma(Promise.resolve(Bt),ge):null;if(await Gs(),Vt)try{await Vt}catch(gn){Cl(gn)||y(gn instanceof Error?gn.message:"Vox speech failed.")}}he.current===ge&&(de([Q.summary,"",...Le].join(`
|
|
178
|
+
`)),ae(Date.now()>Q.expiresAt?"Brief expired":"Brief complete"),U(!1),V(null),he.current=null)},[t,ma,ha]),rn=p.useCallback(async()=>{if(O||f)return;const Q=`brief-${Date.now()}`;he.current=Q,U(!0),z(null),V(null),y(null),ee("One-minute brief"),de(null),ae("Preparing one-minute brief"),xt();try{await Zx().catch(()=>null);const ge=await ye("/api/ranger/brief",{method:"POST",body:JSON.stringify({route:n,ttlMs:2*6e4})});if(he.current!==Q)return;z(ge),await Ws(ge,Q)}catch(ge){he.current===Q&&(ae(null),y(ge instanceof Error?ge.message:"Could not prepare brief."),U(!1),V(null),he.current=null)}},[O,n,Ws,f,xt]),gs=p.useCallback(async Q=>{const ge=Q.trim();if(!(!ge||f)){g(!0),y(null),ee(ge),de(null),ae("Sending"),h(Oe=>Oe.trim()===ge?"":Oe);try{const Oe=Cde(ge);if(Oe){ae("Setting reminder");const ft=await Ln({title:Oe.title,body:Oe.body,delayMs:Oe.delayMs,context:{route:n,naturalLanguage:ge}}),ot=`Reminder set for ${fA(ft.dueAt)}: ${ft.body}`;ae("Reminder set"),Ts(ot);return}await Zx().catch(()=>null);const Le=await ye("/api/ranger/chat",{method:"POST",body:JSON.stringify({body:ge,route:n})});Te({session:Le.session,sessions:Le.sessions,config:Le.config}),ae("Reply received"),Ts(Le.reply.body)}catch(Oe){ae(null),y(Oe instanceof Error?Oe.message:"Could not send.")}finally{g(!1)}}},[Ln,Ts,n,f]),Or=p.useCallback(async()=>{if(G)return;const Q=kt.current??new oh;if(kt.current=Q,Pt.current=null,y(null),W(""),D("starting"),x!==!0&&!await os()){D(null);return}let ge=null,Oe=!1;const Le=async()=>{!ge||Oe||(Oe=!0,await Hy(ge,{allowCurrentSession:Ct.current===ge}),Ct.current===ge&&(Ct.current=null))};try{ge=await Q.startLive({onState:D,onPartial:W}),Ct.current=ge,P(!0);const ft=await ge.result;if(await Le(),P(!1),W(""),Pt.current)return;D("done"),ft.text&&await gs(ft.text)}catch(ft){const ot=Pt.current,Bt=!!ot||Dde(ft);if(await Le(),P(!1),W(""),ot==="stop-failed")return;D(Bt?null:"error"),Bt||y(ft instanceof Error?ft.message:"Vox recording failed.")}finally{await Le(),Pt.current=null}},[gs,os,G,x]),pa=p.useCallback(async()=>{const Q=Ct.current;if(Q){D("processing");try{await pP(Q.stop(),_de,"Vox did not finish processing the recording.")}catch(ge){Pt.current="stop-failed",await Hy(Q,{allowCurrentSession:!0}),Ct.current===Q&&(Ct.current=null,P(!1),W(""),D("error")),y(ge instanceof Error?`Vox recording did not finish: ${ge.message}`:"Vox recording did not finish.")}}},[]),Oa=p.useCallback(async()=>{const Q=Ct.current;Q&&(Pt.current="discard",await Hy(Q,{allowCurrentSession:!0}),Ct.current===Q&&(Ct.current=null),P(!1),W(""),D(null))},[]);p.useEffect(()=>{const Q=()=>c(!1);return window.addEventListener("scout:ranger-panel-open",Q),()=>window.removeEventListener("scout:ranger-panel-open",Q)},[c]),p.useEffect(()=>QQ(()=>c(!o)),[o,c]);const Io=vO(),As=yO(Io);p.useEffect(()=>{const Q=ge=>{const Oe=ge.detail,Le=Oe&&typeof Oe=="object"&&"body"in Oe?Oe.body:null;typeof Le=="string"&&Le.trim()&&(c(!1),gs(Le))};return window.addEventListener("scout:ranger-submit",Q),()=>window.removeEventListener("scout:ranger-submit",Q)},[gs,c]),p.useEffect(()=>{const Q=()=>{c(!1),!O&&!f&&rn()};return window.addEventListener("scout:ranger-brief-now",Q),()=>window.removeEventListener("scout:ranger-brief-now",Q)},[O,f,c,rn]);const Pi=p.useMemo(()=>{const Q=L?"speaking":O?"briefing":f?"thinking":G?"listening":"idle",ge=pe?.session??null,Oe=ge&&ge.messages.length>0?ge.messages[ge.messages.length-1]:null,Le=(fe?.due??[]).slice(0,5).map(ot=>({id:ot.id,body:ot.body,status:ot.status,dueAt:ot.dueAt})),ft=fe?.scheduled[0];return{activity:Q,brief:{lastDeliveredAt:_&&!O?_.preparedAt:null},reminders:{dueCount:fe?.due.length??0,upcomingCount:fe?.scheduled.length??0,due:Le,next:ft?{id:ft.id,body:ft.body,status:ft.status,dueAt:ft.dueAt}:null},voice:{available:x,setupBlocked:x===!1,replies:N},error:v,session:{title:ge?.title??null,lastActivityAt:Oe?.createdAt??ge?.updatedAt??null}}},[L,O,f,G,_,fe,x,N,v,pe]);p.useEffect(()=>{r?.publishState(Pi)},[r,Pi]),p.useEffect(()=>{if(!r)return;const Q={focusRanger:()=>c(!1),triggerBrief:()=>{c(!1),!O&&!f&&rn()},triggerAskState:()=>{c(!1),gs(Lde)},toggleVoiceReplies:()=>{const ge=!N;E(ge),ge||xt()},openRangerSettings:()=>{c(!1),Ee(!0)},startNewChat:()=>{c(!1),re||Ir()},dismissReminder:ge=>{pn(ge)},askReminderStatus:({body:ge})=>{c(!1),gs(`Reminder due: ${ge}. Check the current Scout control-plane state and give me the shortest useful status update.`)}};r.registerActions(Q)},[r,c,O,f,rn,gs,N,E,xt,Ee,re,Ir,pn]);const ne=fe?.due.length??0;p.useEffect(()=>{ne>0?Fh({key:"reminder.due",tier:"warn",text:`${ne} reminder${ne===1?"":"s"} due`}):Hh("reminder.due")},[ne]),p.useEffect(()=>{x===!1?Fh({key:"voice.offline",tier:"warn",text:"Voice setup needed"}):x===!0&&Hh("voice.offline")},[x]),p.useEffect(()=>{v?Fh({key:"ranger.error",tier:"error",text:v}):Hh("ranger.error")},[v]);const ve=pe?.session??null;if(ve?.id,ve?.createdAt&&new Date(ve.createdAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}),ve?.model??pe?.config.model,o)return null;const Se=e===void 0?"flex max-h-[60vh] shrink-0 flex-col overflow-hidden border-t border-[var(--scout-chrome-border-soft)]":"flex shrink-0 flex-col overflow-hidden border-t border-[var(--scout-chrome-border-soft)]",tt=e===void 0?void 0:{height:`${e}px`};return a.jsxs("section",{className:Se,style:tt,children:[a.jsxs("div",{className:"flex shrink-0 flex-col gap-2 px-3 pt-2.5 pb-1.5",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx("div",{className:"flex min-w-0 items-center gap-2",children:a.jsx(ad,{size:20,className:"shrink-0 text-lime-300","aria-hidden":"true"})}),a.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[a.jsx(mA,{icon:N?a.jsx(YA,{size:11}):a.jsx(XA,{size:11}),title:N?"Voice replies on (click to mute)":"Voice replies off (click to enable)",onClick:()=>{const Q=!N;E(Q),Q||xt()},active:N}),a.jsx(mA,{icon:a.jsx(Wl,{size:11}),title:"Minimize",onClick:()=>c(!0)})]})]}),As&&a.jsx("div",{className:`rounded border px-2.5 py-1.5 font-mono text-[10px] leading-relaxed ${As.tier==="error"?"border-rose-300/30 bg-rose-300/[0.07] text-rose-50":As.tier==="warn"?"border-amber-300/30 bg-amber-300/[0.07] text-amber-50":"border-lime-300/20 bg-lime-300/[0.05] text-[var(--scout-chrome-ink)]"}`,children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Gm,{size:11,className:`shrink-0 ${As.tier==="error"?"text-rose-200":As.tier==="warn"?"text-amber-200":"text-lime-200"}`}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-[var(--scout-chrome-ink)]",children:As.text}),a.jsx("button",{type:"button",title:"Ask about this","aria-label":"Ask about this",onClick:()=>{gs(`Tell me about this broadcast: ${As.text}`)},disabled:f||O,className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] p-1 text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)] disabled:opacity-40",children:a.jsx(l4,{size:11})}),a.jsx("button",{type:"button",title:"Dismiss","aria-label":"Dismiss broadcast",onClick:()=>YQ(),className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] p-1 text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:a.jsx(Gl,{size:11})})]})}),je&&a.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 p-3",children:a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsxs("label",{className:"flex flex-col gap-1 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Voice FX",a.jsx("select",{value:M,onChange:Q=>$(Q.target.value),className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-[11px] normal-case tracking-normal text-[var(--scout-chrome-ink)]",children:td.map(Q=>a.jsxs("option",{value:Q.id,children:[Q.label," — ",Q.family]},Q.id))}),a.jsx("span",{className:"font-mono text-[9px] normal-case leading-relaxed tracking-normal text-[var(--scout-chrome-ink-ghost)]",children:td.find(Q=>Q.id===M)?.description??"Custom voice mood for spoken replies."})]}),a.jsxs("div",{className:"flex flex-col gap-1 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Vox Voice",a.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-[11px] normal-case tracking-normal text-[var(--scout-chrome-ink)]",children:vt?`${vt.modelId}${vt.voiceId?` / ${vt.voiceId}`:""}`:"Unavailable"})]}),a.jsxs("label",{className:"flex flex-col gap-1 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Model",a.jsx("input",{value:Pe,onChange:Q=>at(Q.target.value),placeholder:"gpt-4.1-mini",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-[11px] normal-case tracking-normal text-[var(--scout-chrome-ink)] placeholder:text-[var(--scout-chrome-ink-ghost)]",disabled:_e||qe})]}),a.jsxs("label",{className:"flex flex-col gap-1 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["System Prompt",a.jsx("textarea",{value:ut,onChange:Q=>rt(Q.target.value),rows:6,className:"w-full resize-y rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-[10px] normal-case leading-relaxed tracking-normal text-[var(--scout-chrome-ink)]",disabled:_e||qe})]}),Re&&a.jsx("div",{className:"font-mono text-[10px] leading-relaxed text-red-300",children:Re}),Ie&&a.jsx("div",{className:"font-mono text-[10px] leading-relaxed text-lime-200",children:Ie}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("button",{type:"button",onClick:()=>{Ia()},disabled:_e||qe||!ut.trim(),className:"flex items-center justify-center gap-2 rounded bg-lime-300/90 px-2.5 py-2 font-mono text-[10px] font-bold uppercase tracking-[0.12em] text-black transition-opacity disabled:cursor-not-allowed disabled:opacity-40",children:[(_e||qe)&&a.jsx(la,{size:13,className:"animate-spin"}),qe?"Saving":"Save"]}),a.jsx("button",{type:"button",onClick:()=>{Sn()},disabled:_e||qe,className:"rounded border border-[var(--scout-chrome-border-soft)] px-2.5 py-2 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] disabled:cursor-not-allowed disabled:opacity-40",children:"Reload"})]})]})})]}),a.jsx("div",{className:"flex min-h-0 flex-1 flex-col px-3 pb-1.5",children:pe&&a.jsx(Xde,{state:pe,chatExpanded:Qe,onToggleExpanded:()=>ue(Q=>!Q),sessionPickerOpen:Ne,onToggleSessionPicker:()=>De(Q=>!Q),onSwitchSession:Q=>{fa(Q)},switchingSessionId:dt,sending:f,briefing:O,pendingAsk:f?Z:null,onArchiveSession:Q=>{Ro(Q)},archivingSessionId:Ce,onAssistantContextMenu:ss})}),a.jsxs("div",{className:"flex shrink-0 flex-col gap-1.5 border-t border-[var(--scout-chrome-border-soft)] bg-black/10 px-3 pt-2 pb-2.5",children:[x===!1&&a.jsx(efe,{issue:k,probeState:T,onLaunch:_a,onRetry:()=>{os()},onSettings:_r}),(K||L)&&a.jsxs("div",{className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 px-2.5 py-2 font-mono text-[10px] leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[a.jsx("span",{className:"min-w-0 truncate",children:L?"Speaking reply…":K}),L&&a.jsx("button",{type:"button",title:"Stop spoken reply",onClick:xt,className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] p-1 text-[var(--scout-chrome-ink)] hover:bg-[var(--scout-chrome-hover)]",children:a.jsx(Zm,{size:11,className:"fill-current"})})]}),J&&!f&&a.jsx("div",{className:"font-mono text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:J}),a.jsx(Jde,{draft:u,onDraftChange:h,onSubmit:()=>{gs(u)},sending:f,recording:G,voiceBusy:H==="processing"||T==="probing"||T==="launching",voiceUnavailable:x===!1,onMicClick:()=>{if(x===!1){_a();return}G?pa():Or()}}),G&&a.jsx("div",{className:"flex justify-end",children:a.jsx("button",{type:"button",onClick:()=>{Oa()},className:"rounded border border-[var(--scout-chrome-border-soft)] px-2.5 py-1 font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)]",children:"Discard"})}),v&&a.jsx("div",{className:"rounded border border-red-400/30 bg-red-400/10 px-2.5 py-2 font-mono text-[10px] leading-relaxed text-red-200",children:v})]})]})}const cA=new RegExp("(?:^|(?<=[\\s(`'\"<>]))(?:~\\/|\\/(?:Users|home|opt|var|etc|tmp|private)\\/)[^\\s)`'\"<>]+\\.[A-Za-z0-9]{1,8}\\b","g");function qde(e){const t=[],n=new Set;cA.lastIndex=0;let s;for(;(s=cA.exec(e))!==null;)n.has(s[0])||(n.add(s[0]),t.push(s[0]));return t}function uA(e){const t=e.split("/").filter(Boolean);return t.length<=2?e:`…/${t.slice(-2).join("/")}`}function dA(){return{requesterName:"OpenScout",productName:"Scout Audio",headline:"Turn on local voice",body:"Scout Audio uses Vox for local speech capture and spoken replies. Start Vox, then return here to talk with your workspace.",actionLabel:"Return to OpenScout",logo:{url:new URL("/openscout-icon.png",window.location.href).toString(),symbolName:"sparkles"}}}function Wde(e){const t=e.split(/\s+/).filter(Boolean).length;return Math.min(12e3,Math.max(3500,t*360))}function fA(e){return new Date(e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Gde=5*6e4;function Zde(e,t){return!e||!Eb(e.createdAt,t.createdAt)?!0:Math.abs(t.createdAt-e.createdAt)>=Gde}function Eb(e,t){const n=new Date(e),s=new Date(t);return n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate()}function Kde(e){const t=new Date(e),n=new Date,s=new Date(n);s.setDate(n.getDate()-1);const r=t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"});return Eb(e,n.getTime())?`Today ${r}`:Eb(e,s.getTime())?`Yesterday ${r}`:t.getFullYear()===n.getFullYear()?`${t.toLocaleDateString([],{month:"short",day:"numeric"})} ${r}`:`${t.toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})} ${r}`}function Yde(e){return new Promise(t=>window.setTimeout(t,e))}function Xde({state:e,chatExpanded:t,onToggleExpanded:n,sessionPickerOpen:s,onToggleSessionPicker:r,onSwitchSession:o,switchingSessionId:c,sending:u,briefing:h,pendingAsk:f,onArchiveSession:g,archivingSessionId:v,onAssistantContextMenu:y}){const w=e.session.messages,k=t?w:w.slice(-4),C=t?0:Math.max(0,w.length-k.length),T=w.length,S=e.sessions.length,N=e.retention,E=e.session.createdAt?new Date(e.session.createdAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):null,A=e.session.title&&e.session.title!=="New Ranger Session"?e.session.title:`Session ${e.session.id.slice(0,8)}`,R=p.useRef(null),M=w[w.length-1]?.id??null,$=w[w.length-1]?.body??"";return p.useEffect(()=>{const O=R.current;O&&(O.scrollTop=O.scrollHeight)},[M,$,f,u,t,e.session.id]),a.jsxs("div",{className:"flex h-full min-h-0 flex-1 flex-col overflow-hidden rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 font-mono text-[10px] text-[var(--scout-chrome-ink-faint)]",children:[a.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-[var(--scout-chrome-border-soft)] px-2.5 py-1.5",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[a.jsx("span",{className:"min-w-0 truncate text-[var(--scout-chrome-ink)]",title:e.session.id,children:A}),E&&a.jsxs("span",{className:"shrink-0 text-[var(--scout-chrome-ink-ghost)]",children:["· ",E]}),a.jsxs("span",{className:"shrink-0 text-[var(--scout-chrome-ink-ghost)]",children:["· ",T," msg",T===1?"":"s"]})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[a.jsxs("button",{type:"button",title:`Switch session (${S} total)`,"aria-label":"Switch session",onClick:r,className:`flex items-center gap-1 rounded border px-1.5 py-0.5 text-[9px] uppercase tracking-[0.1em] transition-colors ${s?"border-lime-300/40 bg-lime-300/10 text-lime-100":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[a.jsx(TL,{size:10}),a.jsx("span",{children:"Sessions"}),a.jsx("span",{className:"text-[var(--scout-chrome-ink-ghost)]",children:S}),a.jsx(Wl,{size:9,className:s?"rotate-180 transition-transform":"transition-transform"})]}),T>4&&a.jsxs("button",{type:"button",title:t?"Collapse chat":"View full session","aria-label":t?"Collapse chat":"View full session",onClick:n,className:"flex items-center gap-1 rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 text-[9px] uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:[a.jsx("span",{children:t?"Collapse":"Full"}),t?a.jsx(_b,{size:9}):a.jsx(Wl,{size:9})]})]})]}),s&&a.jsxs("div",{className:"shrink-0 border-b border-[var(--scout-chrome-border-soft)] px-2 py-1.5",children:[a.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-0.5 text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[a.jsx("span",{children:"Recent sessions"}),N&&N.archivedCount>0&&a.jsxs("span",{children:[N.archivedCount," archived"]})]}),a.jsx("div",{className:"flex max-h-40 flex-col gap-0.5 overflow-y-auto pr-0.5",children:e.sessions.map(O=>{const U=O.id===e.session.id,_=c===O.id,z=v===O.id,q=new Date(O.updatedAt).toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}),V=O.title&&O.title!=="New Ranger Session"?O.title:`Session ${O.id.slice(0,8)}`;return a.jsxs("div",{className:`flex items-center gap-2 rounded border px-2 py-1 text-left transition-colors ${U?"border-lime-300/40 bg-lime-300/[0.06] text-lime-100":"border-transparent text-[var(--scout-chrome-ink-faint)] hover:border-[var(--scout-chrome-border-soft)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[a.jsxs("button",{type:"button",onClick:()=>{U||o(O.id)},disabled:U||!!c||!!v,className:"flex min-w-0 flex-1 items-center gap-2 text-left disabled:cursor-not-allowed disabled:opacity-40",children:[a.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${U?"bg-lime-300":"bg-[var(--scout-chrome-ink-ghost)]"}`}),a.jsx("span",{className:"min-w-0 flex-1 truncate text-[10px] text-[var(--scout-chrome-ink)]",children:V}),a.jsxs("span",{className:"shrink-0 text-[9px] text-[var(--scout-chrome-ink-ghost)]",children:[O.messageCount," msg"]}),a.jsx("span",{className:"shrink-0 text-[9px] text-[var(--scout-chrome-ink-ghost)]",children:q}),_&&a.jsx(la,{size:10,className:"shrink-0 animate-spin text-lime-200"})]}),a.jsx("button",{type:"button",title:"Archive chat","aria-label":`Archive chat ${V}`,onClick:()=>g(O.id),disabled:!!c||!!v,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded border border-transparent text-[var(--scout-chrome-ink-ghost)] transition-colors hover:border-[var(--scout-chrome-border-soft)] hover:bg-black/20 hover:text-[var(--scout-chrome-ink)] disabled:cursor-not-allowed disabled:opacity-30",children:z?a.jsx(la,{size:10,className:"animate-spin"}):a.jsx(LA,{size:10})})]},O.id)})})]}),a.jsxs("div",{ref:R,className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2.5 py-2",children:[C>0&&a.jsxs("button",{type:"button",onClick:n,className:"self-start text-[9px] uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)] hover:text-[var(--scout-chrome-ink)]",children:["↑ ",C," earlier message",C===1?"":"s"]}),k.length===0&&!f&&a.jsx("p",{className:"text-[var(--scout-chrome-ink-ghost)]",children:"No messages yet — ask anything below."}),k.map((O,U)=>{const _=Zde(k[U-1],O),z=Kde(O.createdAt);return a.jsxs("div",{className:"flex flex-col gap-1",children:[_&&a.jsx("div",{className:"self-center rounded-full bg-white/[0.06] px-2.5 py-0.5 font-mono text-[9px] font-medium text-[var(--scout-chrome-ink-ghost)]",title:new Date(O.createdAt).toLocaleString(),"aria-label":z,children:z}),a.jsx(hA,{role:O.role,body:O.body,onContextMenu:O.role==="assistant"&&y?q=>y(q,O.body):void 0})]},O.id)}),f&&a.jsx(hA,{role:"user",body:f,pending:!0}),u&&!f&&a.jsx("p",{className:"text-[var(--scout-chrome-ink-ghost)]",children:"Reading the control plane…"}),h&&a.jsxs("div",{className:"flex items-center gap-2 rounded border border-lime-300/30 bg-lime-300/[0.06] px-2.5 py-2 font-mono text-[10px] leading-relaxed text-lime-100",children:[a.jsx(la,{size:12,className:"shrink-0 animate-spin text-lime-300","aria-hidden":"true"}),a.jsxs("div",{className:"min-w-0 flex flex-col gap-0.5",children:[a.jsx("span",{className:"text-[10px] uppercase tracking-[0.14em] text-lime-300",children:"Briefing"}),a.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:"Codex is reviewing the control-plane snapshot. Voice will pick up when it lands."})]})]})]})]})}function Jde({draft:e,onDraftChange:t,onSubmit:n,sending:s,recording:r,voiceBusy:o,voiceUnavailable:c,onMicClick:u}){const h=r?"Stop talking":c?"Launch voice":"Start talking";return a.jsxs("form",{className:"grid grid-cols-[auto_1fr_auto] gap-2",onSubmit:f=>{f.preventDefault(),n()},children:[a.jsx("button",{type:"button",title:h,"aria-label":h,onClick:u,disabled:s||o,className:`flex w-9 items-center justify-center self-stretch rounded border transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${r?"border-lime-300/50 bg-lime-300/10 text-lime-200":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:o?a.jsx(la,{size:13,className:"animate-spin"}):r?a.jsx(Zm,{size:12,className:"fill-current"}):a.jsx(WA,{size:13})}),a.jsx("textarea",{value:e,onChange:f=>t(f.target.value),placeholder:"Ask to inspect state or move the UI…",rows:2,className:"w-full resize-none rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-[11px] leading-relaxed text-[var(--scout-chrome-ink)] placeholder:text-[var(--scout-chrome-ink-ghost)]",onKeyDown:f=>{f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),e.trim()&&!s&&n())}}),a.jsx("button",{type:"submit",title:"Send","aria-label":"Send",disabled:!e.trim()||s,className:"flex w-9 items-center justify-center self-stretch rounded bg-lime-300/90 px-0 text-black transition-opacity disabled:cursor-not-allowed disabled:opacity-40",children:s?a.jsx(la,{size:13,className:"animate-spin"}):a.jsx(p4,{size:13})})]})}function hA({role:e,body:t,pending:n=!1,onContextMenu:s}){const r=e==="user",o=r?t:wu(t),[c,u]=p.useState(!1),h=p.useCallback(()=>{Qde(o).then(()=>{u(!0),window.setTimeout(()=>u(!1),1200)}).catch(()=>{})},[o]);return a.jsxs("div",{className:"group flex flex-col gap-0.5",onContextMenu:s,children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("span",{className:`text-[9px] uppercase tracking-[0.12em] ${r?"text-[var(--scout-chrome-ink-ghost)]":"text-lime-300"}`,children:[r?"You":"Reply",n&&" · sending"]}),a.jsx("button",{type:"button",title:c?"Copied":"Copy message","aria-label":c?"Copied message":"Copy message",disabled:n||!o.trim(),onClick:h,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded border border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-ghost)] opacity-70 transition hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)] disabled:cursor-not-allowed disabled:opacity-20 group-hover:opacity-100",children:c?a.jsx(UA,{size:11}):a.jsx(FA,{size:11})})]}),r?a.jsx("p",{className:`whitespace-pre-wrap break-words text-[11px] leading-relaxed text-[var(--scout-chrome-ink)] ${n?"opacity-60":""}`,children:o}):a.jsx("div",{className:n?"opacity-60":"",children:a.jsx(n$,{text:o})})]})}async function Qde(e){if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",document.body.appendChild(t),t.select();try{document.execCommand("copy")}finally{document.body.removeChild(t)}}function mA({icon:e,title:t,onClick:n,disabled:s,active:r,badge:o}){return a.jsxs("button",{type:"button",title:t,"aria-label":t,onClick:n,disabled:s,className:`flex shrink-0 items-center gap-1 rounded border p-1 text-[10px] transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${r?"border-lime-300/50 bg-lime-300/10 text-lime-200":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[e,o&&a.jsx("span",{className:"font-mono text-[8.5px] tracking-tight",children:o})]})}function efe({issue:e,probeState:t,onLaunch:n,onRetry:s,onSettings:r}){const o=t==="probing"||t==="launching";return a.jsxs("div",{className:"rounded border border-lime-300/25 bg-lime-300/[0.06] px-3 py-3 font-mono text-[10px] text-[var(--scout-chrome-ink)]",children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(pN,{size:14,className:"mt-0.5 shrink-0 text-lime-300"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"uppercase tracking-[0.14em] text-lime-200",children:"Connect Vox"}),a.jsx("p",{className:"mt-1 leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:"Start Vox, then retry once the menu bar icon is visible."}),e&&a.jsx("p",{className:"mt-2 break-words leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:e})]})]}),a.jsxs("div",{className:"mt-3 grid grid-cols-3 gap-2",children:[a.jsx(qy,{icon:t==="launching"?a.jsx(la,{size:12,className:"animate-spin"}):a.jsx(pN,{size:12}),label:t==="launching"?"Opening":"Launch",onClick:n,disabled:t==="probing",title:"Open Vox"}),a.jsx(qy,{icon:t==="probing"?a.jsx(la,{size:12,className:"animate-spin"}):a.jsx(ZA,{size:12}),label:"Retry",onClick:s,disabled:o,title:"Check Vox again"}),a.jsx(qy,{icon:a.jsx(Wm,{size:12}),label:"Settings",onClick:r,disabled:t==="probing",title:"Open Vox settings"})]})]})}function qy({icon:e,label:t,onClick:n,disabled:s,title:r}){return a.jsxs("button",{type:"button",title:r,onClick:n,disabled:s,className:"flex min-h-8 items-center justify-center gap-1.5 rounded border border-lime-300/20 px-2 text-[9px] uppercase tracking-[0.12em] text-lime-100 transition-colors hover:bg-lime-300/10 disabled:cursor-not-allowed disabled:opacity-45",children:[e,t]})}function tfe({onResizeStart:e}){const t=p.useCallback(n=>{n.preventDefault(),e(n)},[e]);return a.jsxs("div",{role:"separator","aria-orientation":"horizontal",onMouseDown:t,className:"group relative flex h-[7px] shrink-0 cursor-ns-resize items-center justify-center",children:[a.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-[var(--scout-chrome-border-soft)] transition-colors group-hover:bg-[var(--scout-chrome-ink-faint)]"}),a.jsxs("div",{className:"flex flex-row gap-[3px] opacity-0 transition-opacity group-hover:opacity-100",children:[a.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),a.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),a.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"})]})]})}const pA=180,nfe=.7,sfe=260;function Wy(e,t){const n=Math.max(pA,Math.floor(t*nfe));return Math.min(n,Math.max(pA,Math.round(e)))}function afe(){const{route:e,navigate:t,agents:n,selectedBrokerAttempt:s,clearBrokerAttempt:r}=Je(),[o]=ub("openscout.ranger.collapsed",!0),[c,u]=v$("openscout.ranger.height",sfe),h=p.useRef(null),[f,g]=p.useState(0);p.useLayoutEffect(()=>{const w=h.current;if(!w)return;g(w.getBoundingClientRect().height);const k=new ResizeObserver(C=>{const T=C[0];T&&g(T.contentRect.height)});return k.observe(w),()=>k.disconnect()},[]),p.useEffect(()=>{if(f<=0)return;const w=Wy(c,f);w!==c&&u(w)},[f,c,u]);const v=p.useCallback(w=>{const k=w.clientY,C=c,T=h.current?.getBoundingClientRect().height??f,S=E=>{const A=E.clientY-k;u(Wy(C-A,T))},N=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",N),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select")};document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",S),document.addEventListener("mouseup",N)},[f,c,u]);let y=null;switch(e.view){case"inbox":case"fleet":y=a.jsx(ode,{});break;case"agents":case"agent-info":y=a.jsx(tde,{});break;case"sessions":case"conversation":y=a.jsx(lde,{});break;case"work":y=a.jsx(ude,{});break;case"mesh":y=a.jsx(jde,{});break;case"ops":y=a.jsx(ofe,{mode:e.mode??"mission",agents:n,navigate:t,returnRoute:e});break;case"broker":y=s?a.jsx(Zse,{attempt:s,navigate:t,onClose:r}):a.jsx(rfe,{});break;default:y=null}const x=f>0?Wy(c,f):c;return a.jsxs("div",{ref:h,className:"flex h-full flex-col overflow-hidden",children:[a.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:y}),!o&&a.jsx(tfe,{onResizeStart:v}),a.jsx(Hde,{height:o?void 0:x})]})}function rfe(){return a.jsxs("div",{className:"sys-broker-right-empty",children:[a.jsx("div",{className:"sys-kicker",children:"Broker"}),a.jsx("p",{children:"Select any broker ledger row to inspect route metadata here."})]})}const ife={mission:"Control",plan:"Plan",issues:"Issues",tail:"Tail",atop:"Atop",agents:"Agents"};function ofe({mode:e,agents:t,navigate:n,returnRoute:s}){const[r,o]=p.useState(null),[c,u]=p.useState(()=>typeof window>"u"?null:gA(window.scoutOpsDetailSnapshot)),h=p.useCallback(async()=>{const w=await ye("/api/fleet").catch(()=>null);o(w)},[]);p.useEffect(()=>{h()},[h]),p.useEffect(()=>{const w=k=>{u(gA(k.detail))};return window.addEventListener("scout:ops-detail",w),()=>window.removeEventListener("scout:ops-detail",w)},[]),an(w=>{(w.kind==="message.posted"||w.kind==="flight.updated"||w.kind==="collaboration.event.appended")&&h()});const f=(r?.activeAsks??[]).filter(w=>w.status!=="needs_attention"),g=r?.needsAttention??[],v=t.filter(w=>et(w.state)==="working"),y=t.filter(w=>et(w.state)!=="offline"),x=[...t].sort((w,k)=>(k.updatedAt??0)-(w.updatedAt??0)).slice(0,7);return a.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector",children:[c&&a.jsxs("section",{className:"ctx-panel-section ctx-panel-selected-detail",children:[a.jsx("div",{className:"ctx-panel-section-label",children:c.focus==="flow"?"Message":"Selection"}),a.jsxs("div",{className:"ctx-panel-selected-card",children:[a.jsx("div",{className:"ctx-panel-selected-title",children:c.title}),a.jsx("div",{className:"ctx-panel-selected-meta",children:c.meta}),a.jsx("div",{className:"ctx-panel-selected-body",children:c.body}),c.action&&a.jsx("button",{type:"button",className:"ctx-panel-selected-action",onClick:()=>n(c.action.route),children:c.action.label})]})]}),a.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[a.jsx("div",{className:"ctx-panel-section-label",children:"Ops Context"}),a.jsxs("div",{className:"ctx-panel-ops-mode-card",children:[a.jsx("span",{children:"Current"}),a.jsx("strong",{children:ife[e]}),a.jsx("small",{children:r?`${$e(r.generatedAt)} refresh`:"loading"})]}),a.jsxs("div",{className:"ctx-panel-stat-grid",children:[a.jsx(bh,{label:"Needs",value:g.length,tone:g.length>0?"warn":"ok"}),a.jsx(bh,{label:"Active",value:f.length}),a.jsx(bh,{label:"Online",value:`${y.length}/${t.length}`}),a.jsx(bh,{label:"Working",value:v.length})]})]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsxs("div",{className:"ctx-panel-section-label",children:["Queue",g.length>0&&a.jsx("span",{className:"ctx-panel-count",children:g.length})]}),g.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No operator cues"}):a.jsx("div",{className:"ctx-panel-list",children:g.slice(0,5).map(w=>a.jsx(lfe,{item:w,navigate:n},w.recordId))})]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsxs("div",{className:"ctx-panel-section-label",children:["Runs",f.length>0&&a.jsx("span",{className:"ctx-panel-count",children:f.length})]}),f.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No active asks"}):a.jsx("div",{className:"ctx-panel-list",children:f.slice(0,5).map(w=>a.jsx(cfe,{ask:w,navigate:n},w.invocationId))})]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsx("div",{className:"ctx-panel-section-label",children:"Agent Pulse"}),a.jsx("div",{className:"ctx-panel-pulse-list",children:x.map(w=>a.jsxs("button",{type:"button",className:"ctx-panel-pulse-row",onClick:()=>gc(n,w,{returnTo:s}),children:[a.jsx("span",{className:`ctx-panel-pulse-dot ctx-panel-pulse-dot--${et(w.state)}`}),a.jsx("span",{children:w.name}),a.jsxs("small",{children:[Ra(w.state)," · ",w.updatedAt?$e(w.updatedAt):"unknown"]})]},w.id))})]})]})}function bh({label:e,value:t,tone:n}){return a.jsxs("div",{className:`ctx-panel-stat${n?` ctx-panel-stat--${n}`:""}`,children:[a.jsx("span",{children:e}),a.jsx("strong",{children:t})]})}function gA(e){if(!e||typeof e!="object")return null;const t=e;return t.focus!=="flow"&&t.focus!=="item"||typeof t.title!="string"||typeof t.meta!="string"||typeof t.body!="string"?null:{focus:t.focus,title:t.title,meta:t.meta,body:t.body,action:t.action&&typeof t.action=="object"?t.action:null}}function lfe({item:e,navigate:t}){const{route:n}=Je();return a.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention",onClick:()=>{e.conversationId?Ft(t,{view:"conversation",conversationId:e.conversationId},{returnTo:n}):t({view:"ops",mode:"mission"})},children:a.jsxs("div",{className:"ctx-panel-body",children:[a.jsx("span",{className:"ctx-panel-name",children:e.title}),a.jsxs("span",{className:"ctx-panel-sub",children:[e.agentName??e.agentId??"operator"," · ",$e(e.updatedAt)]})]})})}function cfe({ask:e,navigate:t}){const{route:n}=Je();return a.jsx("button",{type:"button",className:"ctx-panel-item",onClick:()=>{e.conversationId?Ft(t,{view:"conversation",conversationId:e.conversationId},{returnTo:n}):t({view:"ops",mode:"mission"})},children:a.jsxs("div",{className:"ctx-panel-body",children:[a.jsx("span",{className:"ctx-panel-name",children:e.task}),a.jsxs("span",{className:"ctx-panel-sub",children:[e.agentName??e.agentId," · ",e.statusLabel]})]})})}const ufe=new Set(["working","queued","needs_attention"]);function Sp(){const[e,t]=p.useState(null),n=p.useCallback(async()=>{const s=await ye("/api/fleet").catch(()=>null);t(s)},[]);return p.useEffect(()=>{n()},[n]),an(s=>{(s.kind==="message.posted"||s.kind==="flight.updated"||s.kind==="collaboration.event.appended")&&n()}),p.useMemo(()=>{const s=new Map;for(const r of e?.activeAsks??[]){if(!ufe.has(r.status))continue;const o=s.get(r.agentId);(!o||r.updatedAt>o.updatedAt)&&s.set(r.agentId,r)}return s},[e])}function vA({name:e,kind:t="user",presence:n,className:s,channelClassName:r,background:o,style:c,title:u}){if(t==="channel")return a.jsx("span",{className:r??s,style:c,title:u,children:"#"});const h=e&&e.length>0?e[0].toUpperCase():"?",f=o??en(e),g=n!=null?a.jsx(gP,{state:n}):null;return g?a.jsxs("span",{className:"oc-avatar-wrap",children:[a.jsx("span",{className:s,style:{background:f,...c},title:u,children:h}),g]}):a.jsx("span",{className:s,style:{background:f,...c},title:u,children:h})}function gP({state:e,className:t,style:n}){const s=et(typeof e=="string"?e:e??null),r=s==="working"?"working":s==="available"?"available":null;return a.jsx("span",{className:t,style:{background:Un(r),...n}})}function Nn({name:e,meta:t,sub:n,tone:s="neutral",avatarName:r,avatarKind:o="user",leadingIcon:c,caret:u,active:h,selected:f,unread:g,depth:v=0,detail:y,expanded:x,onClick:w,onKeyDown:k,onPointerEnter:C,onPointerLeave:T,title:S,tabIndex:N}){const E=["rr-row",v===1&&"rr-row--child",h&&"rr-row--active",f&&"rr-row--selected",g&&"rr-row--unread",x&&"rr-row--expanded"].filter(Boolean).join(" ");return a.jsxs("div",{className:E,children:[a.jsxs("button",{type:"button",className:"rr-row-head",onClick:w,onKeyDown:k,onPointerEnter:C,onPointerLeave:T,title:S,tabIndex:N,"aria-expanded":y!==void 0?!!x:void 0,children:[a.jsx(dfe,{icon:c,tone:s,caret:u,avatarName:r,avatarKind:o}),a.jsxs("span",{className:"rr-row-body",children:[a.jsx("span",{className:"rr-row-name",children:e}),n&&a.jsx("span",{className:"rr-row-sub",children:n})]}),t&&a.jsx("span",{className:"rr-row-meta",children:t})]}),x&&y&&a.jsx("div",{className:"rr-row-detail",children:y})]})}function dfe({icon:e,tone:t,caret:n,avatarName:s,avatarKind:r}){if(n)return a.jsx("span",{className:`rr-row-caret rr-row-caret--leading rr-row-caret--${n}`,"aria-hidden":!0,children:a.jsx(ffe,{open:n==="open"})});if(s){if(r==="channel")return a.jsx(vA,{kind:"channel",name:s,channelClassName:"rr-row-hash"});const c=yA(t),u=c==="working"||c==="available";return a.jsxs("span",{className:"rr-row-avatar-wrap","aria-hidden":!0,children:[a.jsx(vA,{className:"rr-row-avatar",name:s}),u&&a.jsx(gP,{state:c,className:`rr-row-presence rr-row-presence--${c}`})]})}if(e)return a.jsx("span",{className:"rr-row-icon","aria-hidden":!0,children:e});const o=yA(t);return a.jsx("span",{className:`rr-row-dot rr-row-dot--${o}`,style:o==="working"||o==="available"?{background:Un(o)}:void 0,"aria-hidden":!0})}function ffe({open:e}){return a.jsx("svg",{className:`rr-chevron${e?" rr-chevron--open":""}`,viewBox:"0 0 12 12",width:"12",height:"12",fill:"none","aria-hidden":!0,children:a.jsx("path",{d:"M4.25 3L7.75 6L4.25 9",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function yA(e){return e==="channel"||e==="dm"||e==="neutral"?e:et(e)}const hfe=new Set(["message.posted","flight.updated","collaboration.event.appended","agent.updated"]),mfe=4,pfe=4,gfe=3;function vfe({prepend:e}){const{agents:t,navigate:n,route:s}=Je(),[r,o]=p.useState(null),c=p.useCallback(async()=>{const g=await ye("/api/fleet").catch(()=>null);o(g)},[]);p.useEffect(()=>{c()},[c]),an(g=>{hfe.has(g.kind)&&c()});const u=p.useMemo(()=>jfe(t).slice(0,mfe),[t]),h=p.useMemo(()=>(r?.activity??[]).slice(0,pfe),[r]),f=p.useMemo(()=>(r?.needsAttention??[]).slice(0,gfe),[r]);return a.jsxs("div",{className:"ctx-panel base-rail",children:[e?a.jsx("div",{className:"base-rail-prepend",children:e}):null,a.jsx(yfe,{agents:u,totalCount:t.length,onlineCount:t.filter(g=>Si(g.state)).length,onSelect:g=>gc(n,g,{returnTo:s}),onSeeAll:()=>n({view:"agents"})}),a.jsx(bfe,{items:h,onSelect:g=>n(kfe(g)),onSeeAll:()=>n({view:"activity"})}),a.jsx(wfe,{items:f,onSelect:g=>n(g.conversationId?{view:"conversation",conversationId:g.conversationId}:{view:"ops",mode:"mission"})})]})}function yfe({agents:e,totalCount:t,onlineCount:n,onSelect:s,onSeeAll:r}){return a.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[a.jsx(bw,{title:"Recent agents",meta:t>0?`${n} on · ${t}`:void 0,onSeeAll:t>0?r:void 0}),e.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No agents yet"}):e.map(o=>a.jsx(Nn,{name:o.name||o.id,meta:o.updatedAt?$e(o.updatedAt):void 0,tone:et(o.state),title:xfe(o),onClick:()=>s(o)},o.id))]})}function xfe(e){const t=[];return e.project&&t.push(`project: ${e.project}`),e.branch&&t.push(`branch: ${e.branch}`),e.harness&&t.push(`harness: ${e.harness}`),t.join(`
|
|
179
|
+
`)}function bfe({items:e,onSelect:t,onSeeAll:n}){return a.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[a.jsx(bw,{title:"Recent activity",meta:(e.length>0,void 0),onSeeAll:e.length>0?n:void 0}),e.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"Quiet so far"}):e.map(s=>{const r=s.actorName??s.agentName??s.agentId??"system",o=s.title??s.summary??xA(s.kind);return a.jsx(Nn,{name:o,meta:s.ts?$e(s.ts):void 0,tone:"neutral",title:`${r} · ${xA(s.kind)}`,onClick:()=>t(s)},s.id)})]})}function wfe({items:e,onSelect:t}){return a.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[a.jsx(bw,{title:"Needs attention",meta:e.length>0?`${e.length}`:void 0}),e.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"All clear"}):e.map(n=>{const s=n.agentName??n.agentId??"operator";return a.jsx(Nn,{name:n.title,meta:$e(n.updatedAt),tone:"working",unread:!0,title:`${s} · ${n.kind}`,onClick:()=>t(n)},n.recordId)})]})}function bw({title:e,meta:t,onSeeAll:n}){return a.jsxs("div",{className:"ctx-panel-section-label base-rail-section-label",children:[a.jsx("span",{children:e}),a.jsxs("span",{className:"base-rail-section-trailing",children:[t?a.jsx("span",{className:"ctx-panel-count",children:t}):null,n?a.jsx("button",{type:"button",className:"base-rail-see-all",onClick:n,children:"all"}):null]})]})}function jfe(e){return[...e].sort((t,n)=>(n.updatedAt??0)-(t.updatedAt??0))}function xA(e){switch(e){case"message":return"Message";case"invocation":return"Invocation";case"flight":return"Flight update";case"collaboration":return"Collaboration";default:return e.replace(/_/g," ")}}function kfe(e){return e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.agentId?{view:"agents",agentId:e.agentId}:{view:"activity"}}function Nfe(){const[e,t]=p.useState("rack"),{agents:n}=Je(),{meshSnapshot:s,selectedId:r,selectedType:o,hiddenMachineIds:c,machinePositions:u}=sc(),h=p.useMemo(()=>s?ow(n,s):[],[n,s]);if(!s||h.length===0)return null;const f=h.filter(x=>!c.has(x.machineId)).length,g=h.length,v=Object.keys(u).length,y=x=>{ql(x,"node"),fb(x)};return a.jsxs("div",{className:"mesh-rail",children:[a.jsxs("div",{className:"mesh-rail-head",children:[a.jsx("span",{className:"mesh-rail-ear","aria-hidden":!0}),a.jsxs("div",{className:"mesh-rail-mode",role:"group","aria-label":"Bottom view",children:[a.jsx("button",{type:"button",className:`mesh-rail-mode-btn${e==="map"?" mesh-rail-mode-btn--active":""}`,onClick:()=>t("map"),"aria-pressed":e==="map",children:"map"}),a.jsx("button",{type:"button",className:`mesh-rail-mode-btn${e==="rack"?" mesh-rail-mode-btn--active":""}`,onClick:()=>t("rack"),"aria-pressed":e==="rack",children:"rack"})]}),a.jsx("span",{className:"mesh-rail-title-count",children:g}),a.jsx("span",{className:"mesh-rail-ear","aria-hidden":!0})]}),e==="rack"?a.jsx(Sfe,{buckets:h,hiddenMachineIds:c,selectedId:r,selectedType:o,onFocus:y}):a.jsx(Cfe,{buckets:h,selectedId:r,selectedType:o,onFocus:y}),a.jsxs("div",{className:"mesh-rail-foot",children:[a.jsx("span",{className:"mesh-rail-foot-mark","aria-hidden":!0}),a.jsx("span",{className:"mesh-rail-foot-meta",children:e==="map"?`${g} machines`:`${f}/${g} shown`}),v>0&&e==="rack"?a.jsx("button",{type:"button",className:"mesh-rail-foot-reset",onClick:()=>cie(),title:"Reset machine layout",children:"reset"}):a.jsx("span",{className:"mesh-rail-foot-mark","aria-hidden":!0})]})]})}function Sfe({buckets:e,hiddenMachineIds:t,selectedId:n,selectedType:s,onFocus:r}){return a.jsx("div",{className:"mesh-rail-body",children:e.map((o,c)=>{const u=t.has(o.machineId),h=n===o.machineId&&s==="node",f=o.agents.filter(C=>et(C.state)==="working").length,g=o.agents.filter(C=>et(C.state)==="available").length,v=o.online?o.agents.length===0?"offline":f>0?"working":"available":"offline",y=u||!o.online?void 0:Un(v),x=o.reachability==="this"?"L":o.reachability==="peer"?"P":o.reachability==="tailnet"?"T":"·",w=String(c+1).padStart(2,"0"),k=o.online?o.agents.length===0?"idle":`${f}w · ${g}a`:"unreachable";return a.jsxs("div",{className:["mesh-rail-unit",u&&"mesh-rail-unit--off",!o.online&&"mesh-rail-unit--unreachable",h&&"mesh-rail-unit--active"].filter(Boolean).join(" "),children:[a.jsxs("button",{type:"button",className:"mesh-rail-unit-body",onClick:()=>r(o.machineId),title:`Focus ${o.machineLabel} on the map`,children:[a.jsx("span",{className:"mesh-rail-slot",children:w}),a.jsx("span",{className:`mesh-rail-led${u||!o.online?"":" mesh-rail-led--on"}`,style:y?{background:y,color:y}:void 0,"aria-hidden":!0}),a.jsxs("span",{className:"mesh-rail-unit-text",children:[a.jsx("span",{className:"mesh-rail-unit-name",title:o.machineLabel,children:o.machineLabel}),a.jsxs("span",{className:"mesh-rail-unit-sub",children:[a.jsx("span",{className:`mesh-rail-reach mesh-rail-reach--${o.reachability}`,children:x}),a.jsx("span",{className:"mesh-rail-unit-stamp",children:k})]})]}),a.jsx("span",{className:"mesh-rail-unit-count",children:o.agents.length})]}),a.jsx("div",{className:"mesh-rail-unit-actions",children:a.jsx("button",{type:"button",className:`mesh-rail-unit-eye${u?" mesh-rail-unit-eye--off":""}`,onClick:C=>{C.stopPropagation(),T$(o.machineId)},title:u?"Show in workspace":"Hide from workspace","aria-pressed":!u,children:u?"○":"●"})}),a.jsx("span",{className:"mesh-rail-vent","aria-hidden":!0})]},o.machineId)})})}function Cfe({buckets:e,selectedId:t,selectedType:n,onFocus:s}){return a.jsx("div",{className:"mesh-rail-body mesh-rail-body--map",children:a.jsx("div",{className:"mesh-mini-map",children:e.map(r=>{const o=t===r.machineId&&n==="node",c=r.agents.filter(f=>et(f.state)==="working").length,u=r.online?r.agents.length===0?"offline":c>0?"working":"available":"offline",h=r.online?Un(u):void 0;return a.jsxs("button",{type:"button",className:`mesh-mini-node mesh-mini-node--${u}${o?" mesh-mini-node--active":""}${r.online?"":" mesh-mini-node--off"}`,onClick:()=>s(r.machineId),title:`${r.machineLabel} — ${r.agents.length} agents`,children:[a.jsx("span",{className:"mesh-mini-led",style:h?{background:h}:void 0,"aria-hidden":!0}),a.jsx("span",{className:"mesh-mini-label",children:r.machineLabel}),r.agents.length>0&&a.jsx("span",{className:"mesh-mini-count",children:r.agents.length})]},r.machineId)})})})}const vP="openscout.globalJumpDock.mode.v1";function Efe(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(vP);return e==="jump"||e==="minimap"?e:null}catch{return null}}function Tfe(e){try{window.localStorage.setItem(vP,e)}catch{}}function Afe(){const{route:e,navigate:t}=Je(),n=e.view==="mesh",[s,r]=p.useState(()=>{const c=Efe();return c==="minimap"&&n?"minimap":c==="jump"?"jump":n?"minimap":"jump"});p.useEffect(()=>{s==="minimap"&&!n&&r("jump")},[s,n]);const o=c=>{r(c),Tfe(c)};return a.jsxs("div",{className:"gjd",children:[a.jsxs("div",{className:"gjd-head",children:[a.jsx("span",{className:"gjd-ear","aria-hidden":!0}),a.jsxs("div",{className:"gjd-mode",role:"group","aria-label":"Bottom dock mode",children:[a.jsx("button",{type:"button",className:`gjd-mode-btn${s==="jump"?" gjd-mode-btn--active":""}`,onClick:()=>o("jump"),"aria-pressed":s==="jump",children:"jump"}),n&&a.jsx("button",{type:"button",className:`gjd-mode-btn${s==="minimap"?" gjd-mode-btn--active":""}`,onClick:()=>o("minimap"),"aria-pressed":s==="minimap",children:"minimap"})]}),a.jsx("span",{className:"gjd-ear","aria-hidden":!0})]}),a.jsx("div",{className:"gjd-body",children:s==="minimap"&&n?a.jsx(Nfe,{}):a.jsx(Rfe,{navigate:t})})]})}const Mfe=[{id:"sessions",label:"Sessions",icon:a.jsx(Hm,{size:13,strokeWidth:1.6}),route:{view:"sessions"}},{id:"tail",label:"Tail",icon:a.jsx(f4,{size:13,strokeWidth:1.6}),route:{view:"ops",mode:"tail"}},{id:"control",label:"Control",icon:a.jsx(VA,{size:13,strokeWidth:1.6}),route:{view:"ops",mode:"mission"}},{id:"fleet",label:"Fleet",icon:a.jsx(DA,{size:13,strokeWidth:1.6}),route:{view:"fleet"}},{id:"broker",label:"Broker",icon:a.jsx(CL,{size:13,strokeWidth:1.6}),route:{view:"broker"}}];function Rfe({navigate:e}){return a.jsx("div",{className:"gjd-jumps",children:Mfe.map(t=>a.jsxs("button",{type:"button",className:"gjd-jump",onClick:()=>e(t.route),children:[a.jsx("span",{className:"gjd-jump-icon",children:t.icon}),a.jsx("span",{className:"gjd-jump-label",children:t.label})]},t.id))})}function yP({value:e,onChange:t,placeholder:n="Search…",onKeyDown:s}){return a.jsx("input",{type:"search",className:"fleet-search",placeholder:n,value:e,onChange:r=>t(r.target.value),onKeyDown:s,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"})}const Ife=["working","available","offline"];function xP({active:e,onToggle:t}){return a.jsx("div",{className:"fleet-pills",role:"group","aria-label":"State filters",children:Ife.map(n=>{const s=e.has(n);return a.jsx("button",{type:"button",className:`fleet-pill fleet-pill--${n}${s?" fleet-pill--on":""}`,onClick:()=>t(n),"aria-pressed":s,children:n},n)})})}const bA=10;function _fe(e){const t=et(e.state);return t==="working"||t==="available"?t:"offline"}function wA(e){return e.updatedAt??e.createdAt??0}function Ofe(){const{agents:e,navigate:t}=Je(),{meshSnapshot:n,selectedId:s,selectedType:r,query:o,agentStateFilters:c,hiddenMachineIds:u,treeFullMachineIds:h}=sc(),f=Sp(),g=p.useMemo(()=>n?ow(e,n):[],[e,n]),v=p.useMemo(()=>{const S=o.trim().toLowerCase();return g.filter(N=>!u.has(N.machineId)).map(N=>{const E=N.agents.filter(A=>c.has(_fe(A))?S?`${A.name??""} ${A.project??""} ${A.branch??""} ${A.harness??""}`.toLowerCase().includes(S):!0:!1);return{...N,agents:E}})},[g,o,c,u]),y=p.useMemo(()=>{const S=new Map([["this",[]],["peer",[]],["tailnet",[]]]);for(const N of v){const E=N.reachability==="this"?"this":N.reachability==="peer"?"peer":"tailnet";S.get(E)?.push(N)}return S},[v]);if(!n)return a.jsx("div",{className:"ctx-panel ctx-panel--empty",children:a.jsx("div",{className:"ctx-panel-empty-state",children:a.jsx("div",{className:"ctx-panel-empty-hint",children:"Loading mesh…"})})});const x=S=>{const N=g.map(E=>E.machineId);rie(S,N),ql(S,"node"),fb(S)},w=u.size,k=g.length,C=S=>{ql(S.id,"agent"),S.homeNodeId&&fb(S.homeNodeId),gc(t,S,{returnTo:{view:"mesh"}})},T=(S,N)=>N.length===0?null:a.jsxs("section",{className:"mesh-nav-group",children:[a.jsx("div",{className:"mesh-nav-group-label",children:S}),N.map(E=>{const A=h.has(E.machineId),R=[...E.agents].sort((z,q)=>wA(q)-wA(z)),M=A?R:R.slice(0,bA),$=R.length-M.length,O=s===E.machineId&&r==="node",U=E.agents.filter(z=>et(z.state)==="working").length,_=E.agents.length>0?`${U}/${E.agents.length}`:E.online?"—":"offline";return a.jsxs("div",{className:"mesh-nav-machine",children:[a.jsx(Nn,{name:E.machineLabel,meta:_,tone:"neutral",active:O,onClick:()=>x(E.machineId),title:`Focus ${E.machineLabel} on the map`}),M.map(z=>{const q=s===z.id&&r==="agent",V=f.has(z.id);return a.jsx(Nn,{name:z.name,tone:et(z.state),depth:1,active:q,unread:V,onClick:()=>C(z),title:z.name},z.id)}),!A&&$>0&&a.jsx(Nn,{name:`see ${$} more`,depth:1,tone:"neutral",onClick:()=>pT(E.machineId),title:"Show all agents on this machine"}),A&&R.length>bA&&a.jsx(Nn,{name:"see less",depth:1,tone:"neutral",onClick:()=>pT(E.machineId),title:"Show recent agents only"})]},E.machineId)})]},S);return a.jsxs("div",{className:"ctx-panel mesh-nav",children:[a.jsxs("div",{className:"mesh-nav-head",children:[a.jsx(yP,{value:o,onChange:E$,placeholder:"Find machines or agents…"}),a.jsx(xP,{active:c,onToggle:aie}),w>0&&w<k&&a.jsxs("button",{type:"button",className:"mesh-nav-focus-chip",onClick:iie,title:"Show all machines",children:[a.jsxs("span",{className:"mesh-nav-focus-chip-label",children:["focused · ",k-w,"/",k]}),a.jsx("span",{className:"mesh-nav-focus-chip-clear","aria-hidden":!0,children:"×"})]})]}),a.jsxs("div",{className:"mesh-nav-tree",children:[T("this host",y.get("this")??[]),T("peers",y.get("peer")??[]),T("tailnet",y.get("tailnet")??[])]})]})}const jA={working:0,available:1,offline:2},$fe=["all","dm","channel"],Pfe={all:"All",dm:"DMs",channel:"Channels"},Dfe=["recent","name","unread"],kA={recent:"Recent",name:"Name",unread:"Unread"};function Lfe(){const{route:e,navigate:t,agents:n}=Je(),[s,r]=p.useState([]),[o,c]=p.useState(()=>Y0()),[u,h]=p.useState(""),[f,g]=p.useState(()=>new Set),v=Sp(),y=p.useMemo(()=>{const _=new Map;for(const z of n)_.set(z.id,z);return _},[n]),x=e.view==="messages"&&e.filter?e.filter:"all",w=e.view==="messages"&&e.sort?e.sort:"recent",k=e.view==="messages"||e.view==="conversation"?e.conversationId:e.view==="channels"?e.channelId:e.view==="agent-info"||e.view==="agents"?e.conversationId:void 0,C=p.useCallback(async()=>{const _=await ye("/api/conversations").catch(()=>[]);r(_)},[]);p.useEffect(()=>{C()},[C]),an(_=>{(_.kind==="message.posted"||_.kind==="conversation.upserted")&&C()});const T=p.useMemo(()=>{let _=s;if(x==="dm"?_=_.filter(Ote):x==="channel"&&(_=_.filter(nc)),u){const q=u.toLowerCase();_=_.filter(V=>Ca(V).toLowerCase().includes(q)||V.id.toLowerCase().includes(q)||(V.preview??"").toLowerCase().includes(q))}const z=[..._];switch(w){case"name":z.sort((q,V)=>Ca(q).toLowerCase().localeCompare(Ca(V).toLowerCase()));break;case"unread":{const q=V=>Wh(V.lastMessageAt,V.id,o)?0:1;z.sort((V,G)=>{const P=q(V),H=q(G);return P!==H?P-H:(G.lastMessageAt??0)-(V.lastMessageAt??0)});break}default:z.sort((q,V)=>(V.lastMessageAt??0)-(q.lastMessageAt??0));break}return z},[s,x,w,u,o]),S=_=>{t({view:"messages",...k?{conversationId:k}:{},..._!=="all"?{filter:_}:{},...w!=="recent"?{sort:w}:{}})},N=_=>{t({view:"messages",...k?{conversationId:k}:{},...x!=="all"?{filter:x}:{},..._!=="recent"?{sort:_}:{}})},E=_=>{c(X0(_.id)),t({view:"messages",conversationId:_.id,...x!=="all"?{filter:x}:{},...w!=="recent"?{sort:w}:{}})},A=_=>{g(z=>{const q=new Set(z);return q.has(_)?q.delete(_):q.add(_),q})},R=p.useMemo(()=>zfe(T,y,o,w),[T,y,o,w]),M=p.useRef(null),$=p.useRef(null),O=dO(),U=hO(()=>M.current);return fO(p.useCallback(()=>$.current,[])),a.jsxs("div",{className:"ctx-panel",children:[a.jsx("div",{className:"ctx-panel-tabs",children:$fe.map(_=>a.jsx("button",{type:"button",className:["ctx-panel-tab",x===_&&"ctx-panel-tab--active"].filter(Boolean).join(" "),onClick:()=>S(_),children:Pfe[_]},_))}),a.jsxs("div",{className:"ctx-panel-toolbar",children:[a.jsx("input",{ref:$,type:"text",className:"ctx-panel-search-input",placeholder:"Filter… (/)",value:u,onChange:_=>h(_.target.value),onKeyDown:U}),a.jsx("div",{className:"ctx-panel-sort",role:"group","aria-label":"Sort",children:Dfe.map(_=>a.jsx("button",{type:"button",title:`Sort by ${kA[_].toLowerCase()}`,className:["ctx-panel-sort-option",w===_&&"ctx-panel-sort-option--active"].filter(Boolean).join(" "),onClick:()=>N(_),children:kA[_]},_))})]}),a.jsx("div",{ref:M,className:"ctx-panel-list ctx-panel-list--scroll",onKeyDown:O,children:R.length===0?a.jsx("div",{className:"ctx-panel-empty",children:u?"No match":"Nothing yet"}):(()=>{const _=R.flatMap(V=>V.conversations),z=_[0]?.id,q=k!=null&&_.some(V=>V.id===k);return R.map(V=>{const G=V.conversations.length===1,P=!!u||f.has(V.key),H=V.conversations.some(D=>D.id===k);if(G){const D=V.conversations[0],K=D.id===k,W=Wh(D.lastMessageAt,D.id,o),L=Ca(D),F=nc(D),Z=D.agentId?y.get(D.agentId):void 0;return a.jsx(Nn,{name:L,meta:D.lastMessageAt?$e(D.lastMessageAt):void 0,tone:F?"channel":Z?et(Z.state):"dm",avatarName:L,avatarKind:F?"channel":"user",active:K,unread:W,tabIndex:Yx(K,q,D.id===z),onClick:()=>E(D)},V.key)}return a.jsxs("div",{children:[a.jsx(Nn,{name:V.label,meta:Vfe(V),tone:V.bestState,caret:P?"open":"closed",active:H&&!P,unread:V.unreadCount>0&&!P,onClick:()=>A(V.key)}),P&&V.conversations.map(D=>{const K=D.id===k,W=Wh(D.lastMessageAt,D.id,o),L=D.agentId?y.get(D.agentId):void 0,F=D.agentId?v.get(D.agentId):void 0;return a.jsx(Nn,{depth:1,name:NA(D,L,F),meta:D.lastMessageAt?$e(D.lastMessageAt):void 0,tone:L?et(L.state):"dm",avatarName:L?.name??NA(D,L,F),active:K,unread:W,title:Bfe(D,L,F),tabIndex:Yx(K,q,D.id===z),onClick:()=>E(D)},D.id)})]},V.key)})})()})]})}function zfe(e,t,n,s){const r=new Map;for(const c of e){const u=nc(c);let h,f;if(u)h=`channel:${c.id}`,f=Ca(c);else{const y=(c.agentId?t.get(c.agentId):void 0)?.project??null;if(y)h=`project:${y.toLowerCase()}`,f=y;else{const x=(c.agentName??Ca(c)).trim();x?(h=`name:${x.toLowerCase()}`,f=x):(h=`dm:${c.id}`,f=Ca(c))}}let g=r.get(h);if(g||(g={key:h,label:f,isChannel:u,conversations:[],bestState:"offline",latestUpdate:0,unreadCount:0},r.set(h,g)),g.conversations.push(c),g.latestUpdate=Math.max(g.latestUpdate,c.lastMessageAt??0),Wh(c.lastMessageAt,c.id,n)&&(g.unreadCount+=1),!u){const v=c.agentId?t.get(c.agentId):void 0;if(v){const y=et(v.state);(jA[y]??9)<(jA[g.bestState]??9)&&(g.bestState=y)}}}for(const c of r.values())c.conversations.sort((u,h)=>(h.lastMessageAt??0)-(u.lastMessageAt??0));const o=Array.from(r.values());switch(s){case"name":o.sort((c,u)=>c.label.toLowerCase().localeCompare(u.label.toLowerCase()));break;case"unread":o.sort((c,u)=>c.unreadCount>0!=u.unreadCount>0?c.unreadCount>0?-1:1:u.latestUpdate-c.latestUpdate);break;default:o.sort((c,u)=>u.latestUpdate-c.latestUpdate);break}return o}function NA(e,t,n){const s=n?.task??Ufe(e.preview)??e.currentBranch??t?.branch??"",r=t?.name??e.agentName??Ca(e);return s?`${r} · ${s}`:r}function Bfe(e,t,n){const s=[];return n&&s.push(`task: ${n.task}`),e.preview&&s.push(`preview: ${e.preview}`),(e.currentBranch??t?.branch)&&s.push(`branch: ${e.currentBranch??t?.branch}`),t?.harness&&s.push(`harness: ${t.harness}`),s.length>0?s.join(`
|
|
180
|
+
`):void 0}function Ufe(e){if(!e)return null;const t=e.replace(/\s+/g," ").trim();return t?t.length>60?`${t.slice(0,57)}…`:t:null}function Vfe(e){const t=e.latestUpdate?$e(e.latestUpdate):"",n=e.unreadCount>0?`${e.unreadCount}/${e.conversations.length}`:`${e.conversations.length}`;return t?`${n} · ${t}`:n}function Ffe(){const{navigate:e}=Je(),t=Z$(),n=t.visibleAgents,s=p.useRef(null),r=p.useRef(null),o=dO(),c=hO(()=>s.current);fO(p.useCallback(()=>r.current,[]));const[u,h]=p.useState(null),f=t.activityFilter==="recent",g=t.selectedIds.length,v=x=>{h(w=>w===x?null:x)},y=()=>{if(g===0)return;const w=n.filter(k=>t.selectedIds.includes(k.id)).map(k=>k.handle??k.name).filter(Boolean).join("|");w&&e({view:"ops",mode:"tail",tailQuery:w})};return a.jsxs("div",{className:"ctx-panel ml-panel",children:[a.jsxs("div",{className:"ml-section",children:[a.jsx("div",{className:"ml-section-label",children:"Source"}),a.jsx("div",{className:"ml-chips ml-chips--primary",children:["all","scout","native"].map(x=>a.jsx("button",{type:"button",className:["ml-chip",t.sourceFilter===x&&"ml-chip--active"].filter(Boolean).join(" "),onClick:()=>W$(x),children:x==="all"?"All":x==="scout"?"Scout":"Native"},x))})]}),a.jsx("div",{className:"ctx-panel-search",children:a.jsx("input",{ref:r,type:"text",className:"ctx-panel-search-input",placeholder:"Filter agents… (press /)",value:t.query,onChange:x=>Dm(x.target.value),onKeyDown:x=>{c(x),x.key==="Escape"&&t.query&&Dm("")}})}),a.jsx("div",{className:"ml-section ml-section--secondary",children:a.jsxs("div",{className:"ml-chips ml-chips--secondary",children:[["all","active","recent"].map(x=>a.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",t.activityFilter===x&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>q$(x),children:x==="all"?"Any":x==="active"?"Active":"Recent"},x)),f&&a.jsx("span",{className:"ml-divider","aria-hidden":!0}),f&&mw.map(x=>a.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",t.recentWindowMs===x.value&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>G$(x.value),children:x.label},x.value))]})}),g>0?a.jsxs("div",{className:"ml-selection",children:[a.jsxs("span",{className:"ml-selection-label",children:[g," selected"]}),a.jsxs("div",{className:"ml-selection-actions",children:[a.jsx("button",{type:"button",className:"ml-selection-btn ml-selection-btn--primary",onClick:y,children:"Tail ↗"}),a.jsx("button",{type:"button",className:"ml-selection-btn",onClick:Kh,children:"Clear"})]})]}):a.jsxs("div",{className:"ml-count",children:[n.length," visible",a.jsx("span",{className:"ml-count-hint",children:"⌘-click · ⌘A all"})]}),a.jsx("div",{ref:s,className:"ctx-panel-list ctx-panel-list--scroll",onKeyDown:o,children:n.length===0?a.jsx("div",{className:"ctx-panel-empty",children:t.query?"No match":"Nothing visible"}):n.map((x,w)=>{const k=x.id===u,C=n.some(N=>N.id===u),T=t.selectedIds.includes(x.id),S=et(x.state);return a.jsx(Hfe,{agent:x,state:S,isExpanded:k,isSelected:T,tabIndex:Yx(k,C,w===0),onToggle:N=>{N.metaKey||N.ctrlKey||N.shiftKey?El(x.id):v(x.id)},onFocusOnCanvas:()=>Goe(x.id),onOpen:()=>e({view:"agents",agentId:x.id})},x.id)})})]})}function Hfe({agent:e,state:t,isExpanded:n,isSelected:s,tabIndex:r,onToggle:o,onFocusOnCanvas:c,onOpen:u}){const h=Ar({label:`Focus ${e.handle??e.name}`,route:`/ops/control · ${e.id}`}),f=a.jsxs(a.Fragment,{children:[a.jsxs("dl",{className:"rr-spec-list",children:[a.jsx(wh,{label:"MODEL",value:[e.harness,e.model].filter(Boolean).join("/")||"—"}),a.jsx(wh,{label:"AT",value:[e.project,e.branch].filter(Boolean).join("/")||"—"}),a.jsx(wh,{label:"STATE",value:t}),a.jsx(wh,{label:"SOURCE",value:e.source})]}),a.jsxs("div",{className:"ml-detail-actions",children:[a.jsx("button",{type:"button",className:"ml-detail-btn",onClick:c,children:"Focus on canvas"}),a.jsx("button",{type:"button",className:"ml-detail-btn ml-detail-btn--primary",onClick:u,children:"Open ↗"})]})]});return a.jsx(Nn,{name:e.handle??e.name,meta:e.updatedAt?$e(e.updatedAt):void 0,tone:t,caret:n?"open":"closed",selected:s,expanded:n,detail:f,tabIndex:r,onClick:g=>o(g),onPointerEnter:h.onPointerEnter,onPointerLeave:h.onPointerLeave})}function wh({label:e,value:t}){return a.jsxs("div",{className:"rr-spec",children:[a.jsx("dt",{className:"rr-spec-label",children:e}),a.jsx("dd",{className:"rr-spec-value",title:t,children:t})]})}const qfe=new Set(["message.posted","conversation.upserted","agent.updated"]);function Wfe(e){const t=SA(e.cwd),n=SA(e.projectRoot);return e.transport??t??n??"local"}function Gfe(e){return e.project??e.role??e.agentClass??"Unassigned"}function SA(e){if(!e)return null;const t=e.split("/").filter(Boolean);return t[t.length-1]??null}function Zfe(){const{agents:e,navigate:t}=Je(),[n,s]=p.useState([]),r=Sp(),o=p.useCallback(async()=>{const g=await ye("/api/conversations").catch(()=>[]);s(g)},[]);p.useEffect(()=>{o()},[o]),an(g=>{qfe.has(g.kind)&&o()});const c=p.useMemo(()=>e.filter(g=>g.state!=="offline").length,[e]),u=p.useMemo(()=>{let g=0;for(const v of r.values())(v.status==="failed"||v.status==="needs_attention")&&(g+=1);return g},[r]),h=p.useMemo(()=>{const g=new Map;for(const v of e){const y=Gfe(v);g.set(y,(g.get(y)??0)+1)}return[...g.entries()].sort((v,y)=>y[1]-v[1]).slice(0,8)},[e]),f=p.useMemo(()=>{const g=new Map;for(const v of e){const y=Wfe(v);g.set(y,(g.get(y)??0)+1)}return[...g.entries()].sort((v,y)=>y[1]-v[1]).slice(0,8)},[e]);return a.jsxs("div",{className:"ctx-panel",children:[a.jsxs("section",{className:"ctx-panel-section",children:[a.jsx("div",{className:"ctx-panel-section-label",children:"Fleet"}),a.jsx(Nn,{name:"Overview",meta:`${e.length}`,tone:"neutral",onClick:()=>t({view:"fleet"})}),a.jsx(Nn,{name:"Agents",meta:`${c}`,tone:"available",active:!0,onClick:()=>t({view:"ops",mode:"agents"})}),a.jsx(Nn,{name:"Sessions",meta:`${n.length}`,tone:"neutral",onClick:()=>t({view:"sessions"})}),a.jsx(Nn,{name:"Alerts",meta:`${u}`,tone:u>0?"working":"neutral",unread:u>0,onClick:()=>t({view:"activity"})})]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsx("div",{className:"ctx-panel-section-label",children:"Projects"}),h.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No projects"}):h.map(([g,v])=>a.jsx(Nn,{name:g,meta:`${v}`,tone:"neutral",title:`${v} agent${v===1?"":"s"} on ${g}`},g))]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsx("div",{className:"ctx-panel-section-label",children:"Machines"}),f.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No machines"}):f.map(([g,v])=>a.jsx(Nn,{name:g,meta:`${v}`,tone:"neutral",title:`${v} agent${v===1?"":"s"} on ${g}`},g))]})]})}function Kfe(){const{navigate:e,route:t}=Je(),[n,s]=p.useState(null),r=p.useCallback(async()=>{const f=await ye("/api/fleet").catch(()=>null);s(f)},[]);p.useEffect(()=>{r()},[r]),an(f=>{(f.kind==="message.posted"||f.kind==="flight.updated"||f.kind==="collaboration.event.appended")&&r()});const o=n?.needsAttention??[],c=(n?.activeAsks??[]).filter(f=>f.status!=="needs_attention"),u=f=>{f.conversationId?Ft(e,{view:"conversation",conversationId:f.conversationId},{returnTo:t}):e({view:"ops",mode:"mission"})},h=f=>{f.conversationId?Ft(e,{view:"conversation",conversationId:f.conversationId},{returnTo:t}):e({view:"ops",mode:"mission"})};return a.jsxs("div",{className:"ctx-panel ctx-panel--ops",children:[a.jsxs("section",{className:"ctx-panel-section",children:[a.jsxs("div",{className:"ctx-panel-section-label",children:["Needs you",o.length>0&&a.jsx("span",{className:"ctx-panel-count",children:o.length})]}),o.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"All clear"}):o.slice(0,4).map(f=>{const g=f.agentName??f.agentId??"operator";return a.jsx(Nn,{name:f.title,meta:$e(f.updatedAt),tone:"working",unread:!0,title:`${g} · ${f.kind}`,onClick:()=>u(f)},f.recordId)})]}),a.jsxs("section",{className:"ctx-panel-section",children:[a.jsxs("div",{className:"ctx-panel-section-label",children:["Active",c.length>0&&a.jsx("span",{className:"ctx-panel-count",children:c.length})]}),c.length===0?a.jsx("div",{className:"ctx-panel-empty",children:"No active asks"}):c.slice(0,10).map(f=>a.jsx(Nn,{name:f.task,meta:$e(f.updatedAt),tone:f.agentState,title:`${f.agentName??f.agentId} · ${f.statusLabel}`,onClick:()=>h(f)},f.invocationId))]})]})}function Yfe(){const e=Q$(),t=e.counts;return a.jsxs("div",{className:"ctx-panel pa-panel",children:[a.jsx("div",{className:"ctx-panel-search",children:a.jsx("input",{type:"text",className:"ctx-panel-search-input",placeholder:"Search plans…",value:e.query,onChange:n=>eP(n.target.value)})}),a.jsx(jh,{title:"Author",children:cce.map(n=>a.jsx(kh,{label:n.label,count:t.byAuthor[n.id]??0,active:e.authorFilter===n.id,onClick:()=>rce(n.id)},n.id))}),a.jsx(jh,{title:"Outcome",children:uce.map(n=>a.jsx(kh,{label:n.label,count:t.byOutcome[n.id]??0,active:e.outcomeFilter===n.id,onClick:()=>ice(n.id)},n.id))}),a.jsx(jh,{title:"Time",children:a.jsx("div",{className:"pa-chips",children:tP.map(n=>a.jsx("button",{type:"button",className:`pa-chip${e.timeFilter===n.id?" pa-chip--active":""}`,onClick:()=>oce(n.id),children:n.label},n.id))})}),t.byProject.length>1&&a.jsxs(jh,{title:"Project",children:[a.jsx(kh,{label:"All",count:t.total,active:e.projectFilter==="all",onClick:()=>VT("all")}),t.byProject.slice(0,12).map(n=>a.jsx(kh,{label:n.id,count:n.count,active:e.projectFilter===n.id,onClick:()=>VT(n.id)},n.id))]})]})}function jh({title:e,children:t}){return a.jsxs("div",{className:"pa-group",children:[a.jsx("div",{className:"pa-group-title",children:e}),t]})}function kh({label:e,count:t,active:n,onClick:s}){return a.jsxs("button",{type:"button",className:`pa-row${n?" pa-row--active":""}`,onClick:s,children:[a.jsx("span",{className:"pa-row-label",children:e}),a.jsx("span",{className:"pa-row-count",children:t})]})}function Xfe(e){if(e.view==="ops")return e.mode==="mission"?{mode:"takeover",render:()=>a.jsx(Ffe,{})}:e.mode==="plan"?{mode:"takeover",render:()=>a.jsx(Yfe,{})}:e.mode==="agents"?{mode:"takeover",render:()=>a.jsx(Zfe,{})}:{mode:"takeover",render:()=>a.jsx(Kfe,{})};switch(e.view){case"agents":case"agent-info":return{mode:"takeover",render:()=>a.jsx(rhe,{})};case"messages":case"channels":case"conversation":return{mode:"takeover",render:()=>a.jsx(Lfe,{})};case"mesh":return{mode:"takeover",render:()=>a.jsx(Ofe,{})};default:return null}}const wl={working:0,available:1,offline:2};function Jfe(e){return e.project?e.project.toLowerCase():"other"}function Qfe(e){const t=new Map;for(const s of e){const r=Jfe(s),o=t.get(r);o?o.push(s):t.set(r,[s])}const n=[];for(const[s,r]of t){r.sort((u,h)=>{const f=(wl[et(u.state)]??9)-(wl[et(h.state)]??9);return f!==0?f:(h.updatedAt??0)-(u.updatedAt??0)});const o=r.reduce((u,h)=>{const f=et(h.state);return(wl[f]??9)<(wl[u]??9)?f:u},"offline"),c=Math.max(...r.map(u=>u.updatedAt??0));n.push({key:s,label:s,agents:r,bestState:o,latestUpdate:c})}return n.sort((s,r)=>{const o=(wl[s.bestState]??9)-(wl[r.bestState]??9);return o!==0?o:r.latestUpdate-s.latestUpdate}),n}function ehe(e){return e.trim().toLowerCase()}function the(e){return[e.id,e.name,e.handle??"",e.selector??"",e.project??"",e.branch??"",e.role??"",e.harness??"",e.harnessSessionId??"",e.conversationId,e.harnessLogPath??""]}function nhe(e,t){return t?the(e).some(n=>n.toLowerCase().includes(t)):!0}function Gy(e,t){return t?[e.harnessSessionId,e.conversationId].find(s=>s?.toLowerCase().includes(t))??null:null}function Zy(e,t,n={}){gc(e,t,{...n,returnTo:{view:"agents"}})}function she(){const{route:e}=Je(),t=Xfe(e),n=t?.mode==="takeover"?t.render():a.jsx(vfe,{prepend:t?.mode==="prepend"?t.render():void 0});return a.jsxs("div",{className:"scout-left-shell",children:[a.jsx("div",{className:"scout-left-shell-rail",children:n}),a.jsx(Afe,{})]})}const ahe=new Set(["working","available","offline"]);function rhe(){const{agents:e,route:t,navigate:n}=Je(),[s,r]=p.useState(()=>new Set),[o,c]=p.useState(""),[u,h]=p.useState(ahe),f=Sp(),g=ehe(o),v=g.length>0,y=S=>{h(N=>{const E=new Set(N);return E.has(S)?E.delete(S):E.add(S),E})},x=p.useMemo(()=>e.filter(S=>{const N=et(S.state),E=N==="working"||N==="available"?N:"offline";return u.has(E)?nhe(S,g):!1}),[e,g,u]),w=p.useMemo(()=>Qfe(x),[x]),k=x[0]??null,C=t.view==="agents"?t.agentId:void 0,T=S=>{r(N=>{const E=new Set(N);return E.has(S)?E.delete(S):E.add(S),E})};return a.jsxs("div",{className:"s-left-roster",children:[a.jsxs("div",{className:"s-left-roster-search",children:[a.jsx(yP,{value:o,onChange:c,placeholder:"Search agents or session IDs…",onKeyDown:S=>{S.key==="Escape"&&(o?c(""):S.target.blur()),S.key==="Enter"&&k&&Zy(n,k,{observe:!!Gy(k,g)})}}),a.jsx(xP,{active:u,onToggle:y})]}),a.jsx("div",{style:{flex:1,overflow:"auto"},children:e.length===0?a.jsx("div",{className:"s-left-roster-empty",children:"No agents registered"}):x.length===0?a.jsx("div",{className:"s-left-roster-empty",children:"No agents match this session or agent search."}):w.map(S=>{const N=S.agents.length===1,E=v||s.has(S.key),A=N?S.agents[0]:null,R=S.agents.some(O=>O.id===C),M=A?Gy(A,g):null;if(N&&A){const O=f.get(A.id);return a.jsx(Nn,{name:S.label,meta:A.updatedAt?$e(A.updatedAt):void 0,sub:lhe(A,O,M),tone:et(A.state),avatarName:A.name,active:A.id===C,title:CA(A,O,M),onClick:()=>Zy(n,A,{observe:!!M})},S.key)}const $=uhe(S.agents);return a.jsxs("div",{children:[a.jsx(Nn,{name:S.label,meta:dhe(S.agents),sub:`${S.agents.length} agents`,tone:S.bestState,caret:E?"open":"closed",active:R&&!E,onClick:()=>T(S.key)}),E&&S.agents.map(O=>{const U=f.get(O.id),_=Gy(O,g),z=$.has(O.id);return a.jsx(Nn,{depth:1,name:O.name,meta:O.updatedAt?$e(O.updatedAt):void 0,sub:che(O,U,_,z),tone:et(O.state),avatarName:O.name,active:O.id===C,title:CA(O,U,_),onClick:()=>Zy(n,O,{observe:!!_})},O.id)})]},S.key)})})]})}const ihe="⎇";function ohe(e){return(e.conversationId??e.harnessSessionId??"").slice(-5)}function bP(e){return e.branch?`${ihe} ${e.branch}`:null}function lhe(e,t,n){if(n)return`session · ${n}`;if(t)return t.task;const s=bP(e);if(s)return s}function che(e,t,n,s){if(n)return`session · ${n}`;if(t)return t.task;const r=[],o=bP(e);if(o&&r.push(o),s){const c=ohe(e);c&&r.push(`#${c}`)}return r.length>0?r.join(" · "):void 0}function uhe(e){const t=new Map;for(const s of e){const r=`${s.name}::${s.branch??""}`;t.set(r,(t.get(r)??0)+1)}const n=new Set;for(const s of e){const r=`${s.name}::${s.branch??""}`;(t.get(r)??0)>1&&n.add(s.id)}return n}function CA(e,t,n){const s=[];return t&&s.push(`task: ${t.task}`),e.branch&&s.push(`branch: ${e.branch}`),e.harness&&s.push(`harness: ${e.harness}`),n&&s.push(`session: ${n}`),s.length>0?s.join(`
|
|
181
|
+
`):void 0}function dhe(e){let t=0,n=0,s=0;for(const o of e){const c=et(o.state);c==="working"?t+=1:c==="available"?n+=1:s+=1}const r=[];return t&&r.push(`${t}w`),n&&r.push(`${n}a`),s&&!t&&!n&&r.push(`${s}o`),r.length===0?`${e.length}`:r.join(" · ")}function fhe(){const e=Hb({url:RO(),healthUrl:IO(),autoConnect:!0,sessionKey:"scout-terminal"});return a.jsx("div",{style:{height:"100%",background:"#0d0d0d",overflow:"hidden"},children:a.jsx(qb,{relay:e,fontSize:13})})}function hhe(){const{onboarding:e}=Je();return e?e.hasLocalConfig?e.hasOperatorName?e.hasProjectConfig?null:a.jsx(Ky,{children:a.jsx(ghe,{})}):a.jsx(Ky,{children:a.jsx(phe,{})}):a.jsx(Ky,{children:a.jsx(mhe,{})}):null}function Ky({children:e}){return a.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"auto",background:"var(--bg)",color:"var(--ink)"},children:a.jsx("div",{style:{width:"100%",maxWidth:720,padding:"80px 72px",display:"flex",flexDirection:"column",gap:40},children:e})})}function ww({eyebrow:e,title:t,description:n}){return a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[a.jsx("div",{style:vhe,children:e}),a.jsx("div",{style:yhe,children:t}),a.jsx("div",{style:xhe,children:n})]})}function jw({primary:e,onPrimary:t,primaryDisabled:n,busy:s}){const{skipOnboarding:r}=Je();return a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:24,paddingTop:8},children:[a.jsx("button",{type:"button",onClick:t,disabled:n||s,style:{...whe,opacity:n||s?.5:1,cursor:n||s?"default":"pointer"},children:s?"Working…":e}),a.jsx("button",{type:"button",onClick:r,style:jhe,onMouseEnter:o=>{o.currentTarget.style.color="rgba(255,255,255,0.8)"},onMouseLeave:o=>{o.currentTarget.style.color="rgba(255,255,255,0.45)"},children:"Skip for now"})]})}function kw({message:e}){return e?a.jsx("div",{style:{borderRadius:8,border:"1px solid rgba(239,68,68,0.35)",backgroundColor:"rgba(239,68,68,0.08)",color:"rgba(252,165,165,0.95)",padding:"12px 16px",fontSize:12,lineHeight:1.5},children:e}):null}function mhe(){const{onboarding:e,refreshOnboarding:t}=Je(),[n,s]=p.useState(!1),[r,o]=p.useState(null),c=async()=>{s(!0),o(null);try{await ye("/api/onboarding/init",{method:"POST",body:"{}"}),await t()}catch(u){o(u instanceof Error?u.message:String(u))}finally{s(!1)}};return a.jsxs(a.Fragment,{children:[a.jsx(ww,{eyebrow:"First-run setup",title:"Welcome to Scout",description:a.jsxs(a.Fragment,{children:["Scout needs a local config before it can talk to the broker, the web app, and paired devices. This writes"," ",a.jsx("code",{style:Ab,children:"~/.openscout/config.json"})," with sensible defaults — you can edit it any time."]})}),a.jsxs("ul",{style:khe,children:[a.jsx(EA,{label:"Local config (~/.openscout/config.json)",done:!1,hint:"missing"}),a.jsx(EA,{label:".openscout/project.json in a repo",done:!!e?.hasProjectConfig,hint:e?.hasProjectConfig?e.projectRoot??void 0:"checked after setup"})]}),a.jsx(kw,{message:r}),a.jsx(jw,{primary:"Initialize Scout",onPrimary:()=>{c()},busy:n})]})}function phe(){const{onboarding:e,refreshOnboarding:t}=Je(),n=e?.operatorNameSuggestion??"",[s,r]=p.useState(n),[o,c]=p.useState(!1),[u,h]=p.useState(null);p.useEffect(()=>{!s&&n&&r(n)},[n,s]);const f=async()=>{const g=s.trim();if(!g){h("Name is required.");return}c(!0),h(null);try{await ye("/api/user",{method:"POST",body:JSON.stringify({name:g})}),await t()}catch(v){h(v instanceof Error?v.message:String(v))}finally{c(!1)}};return a.jsxs(a.Fragment,{children:[a.jsx(ww,{eyebrow:"Step 1 of 2",title:"What should we call you?",description:"Your name shows up on messages you send and in any agent that speaks for you. You can change it later in Settings."}),a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[a.jsx("label",{style:Xh,children:"Your name"}),a.jsx("input",{autoFocus:!0,value:s,onChange:g=>{r(g.target.value),h(null)},onKeyDown:g=>{g.key==="Enter"&&f()},placeholder:n||"Operator",style:Tb}),n?a.jsx("div",{style:{fontSize:11,color:"rgba(255,255,255,0.4)",fontFamily:"var(--hud-font-mono)"},children:"Prefilled from your machine."}):null]}),a.jsx(kw,{message:u}),a.jsx(jw,{primary:"Continue",onPrimary:()=>{f()},busy:o,primaryDisabled:!s.trim()})]})}function ghe(){const{onboarding:e,refreshOnboarding:t}=Je(),n=e?.currentDirectory??"",[s,r]=p.useState([n||"~/dev"]),[o,c]=p.useState(n),[u,h]=p.useState("claude"),[f,g]=p.useState(!1),[v,y]=p.useState(null),x=(T,S)=>{r(N=>N.map((E,A)=>A===T?S:E))},w=()=>r(T=>[...T,""]),k=T=>r(S=>S.filter((N,E)=>E!==T)),C=async()=>{const T=s.map(N=>N.trim()).filter(Boolean),S=o.trim();if(!S){y("Pick where Scout should anchor this context.");return}g(!0),y(null);try{await ye("/api/onboarding/project",{method:"POST",body:JSON.stringify({contextRoot:S,sourceRoots:T,defaultHarness:u})}),await t()}catch(N){y(N instanceof Error?N.message:String(N))}finally{g(!1)}};return a.jsxs(a.Fragment,{children:[a.jsx(ww,{eyebrow:"Step 2 of 2",title:"Where do your repos live?",description:a.jsxs(a.Fragment,{children:["Scout scans these folders for projects and anchors this context at"," ",a.jsx("code",{style:Ab,children:"<context>/.openscout/project.json"}),"."]})}),a.jsxs("div",{style:Yy,children:[a.jsx("label",{style:Xh,children:"Scan folders"}),a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[s.map((T,S)=>a.jsxs("div",{style:{display:"flex",gap:8},children:[a.jsx("input",{value:T,onChange:N=>x(S,N.target.value),placeholder:S===0?"~/dev":"Add another folder",style:{...Tb,flex:1}}),a.jsx("button",{type:"button",onClick:()=>k(S),disabled:s.length<=1,style:{...TA,opacity:s.length<=1?.4:1,cursor:s.length<=1?"default":"pointer"},"aria-label":`Remove folder ${S+1}`,children:"−"})]},S)),a.jsx("button",{type:"button",onClick:w,style:{...TA,alignSelf:"flex-start"},children:"+ Add folder"})]})]}),a.jsxs("div",{style:Yy,children:[a.jsx("label",{style:Xh,children:"Context root"}),a.jsx("input",{value:o,onChange:T=>c(T.target.value),placeholder:"~/dev",style:Tb}),a.jsxs("div",{style:bhe,children:["Scout writes ",a.jsx("code",{style:Ab,children:".openscout/project.json"})," ","inside this folder."]})]}),a.jsxs("div",{style:Yy,children:[a.jsx("label",{style:Xh,children:"Default harness"}),a.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:["claude","codex"].map(T=>{const S=u===T;return a.jsxs("button",{type:"button",onClick:()=>h(T),style:{...Nhe,borderColor:S?"var(--accent, #2dd4bf)":"rgba(255,255,255,0.12)",backgroundColor:S?"rgba(45,212,191,0.08)":"rgba(255,255,255,0.02)"},children:[a.jsx("div",{style:{fontSize:15,fontWeight:600,textTransform:"capitalize"},children:T}),a.jsx("div",{style:{fontSize:12,color:"rgba(255,255,255,0.55)",marginTop:6,lineHeight:1.5},children:T==="claude"?"Anthropic Claude Code — local CLI agent.":"OpenAI Codex — cloud agentic sandbox."})]},T)})})]}),a.jsx(kw,{message:v}),a.jsx(jw,{primary:"Create project",onPrimary:()=>{C()},busy:f,primaryDisabled:!o.trim()})]})}function EA({label:e,done:t,hint:n}){return a.jsxs("li",{style:{display:"flex",alignItems:"flex-start",gap:16},children:[a.jsx("span",{style:{marginTop:2,width:20,height:20,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700,flexShrink:0,backgroundColor:t?"rgba(34,197,94,0.15)":"rgba(239,68,68,0.12)",color:t?"#4ade80":"#f87171"},children:t?"✓":"•"}),a.jsxs("div",{style:{minWidth:0},children:[a.jsx("div",{style:{fontSize:13,lineHeight:1.5,color:t?"rgba(255,255,255,0.75)":"rgba(255,255,255,0.9)"},children:e}),n?a.jsx("div",{style:{fontSize:11,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.35)",marginTop:4,wordBreak:"break-all"},children:n}):null]})]})}const vhe={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.18em",color:"rgba(255,255,255,0.4)"},yhe={fontSize:36,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.15},xhe={fontSize:15,lineHeight:1.75,color:"rgba(255,255,255,0.6)",maxWidth:580},Yy={display:"flex",flexDirection:"column",gap:10},Xh={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.15em",color:"rgba(255,255,255,0.5)"},Tb={width:"100%",padding:"10px 14px",fontSize:14,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.92)",backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",borderRadius:8,outline:"none",boxSizing:"border-box"},bhe={fontSize:12,color:"rgba(255,255,255,0.45)",lineHeight:1.6},Ab={fontFamily:"var(--hud-font-mono)",fontSize:12,padding:"2px 6px",borderRadius:4,backgroundColor:"rgba(255,255,255,0.06)"},whe={fontSize:13,fontWeight:600,padding:"12px 24px",borderRadius:10,backgroundColor:"var(--accent, #2dd4bf)",color:"#0b0d12",border:"none",transition:"opacity 0.15s ease"},TA={fontSize:13,fontWeight:500,padding:"10px 14px",borderRadius:8,backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.85)",transition:"all 0.15s ease"},jhe={fontSize:12,color:"rgba(255,255,255,0.45)",textDecoration:"underline dotted rgba(255,255,255,0.25)",textUnderlineOffset:4,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",transition:"color 0.15s ease"},khe={display:"flex",flexDirection:"column",gap:20,margin:0,padding:0,listStyle:"none"},Nhe={textAlign:"left",padding:"16px 18px",borderRadius:12,border:"1px solid rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.9)",cursor:"pointer",transition:"all 0.15s ease"},She=[{commandId:"nav:home",title:"Go to Home",description:"Navigate to the home overview showing queue, threads, signal, and activity",category:"navigation",keywords:["home","inbox","dashboard"],shortcut:"Cmd+1"},{commandId:"nav:agents",title:"Go to Agents",description:"Navigate to the agents roster showing all registered agents",category:"navigation",keywords:["agents","roster","list"],shortcut:"Cmd+2"},{commandId:"nav:fleet",title:"Go to Fleet",description:"Navigate to the fleet overview with agent status summary",category:"navigation",keywords:["fleet","overview","status"],shortcut:"Cmd+3"},{commandId:"nav:conversations",title:"Go to Conversations",description:"Navigate to the unified conversations playground backed by the normalized conversations service",category:"navigation",keywords:["conversations","comms","chat","threads"]},{commandId:"nav:sessions",title:"Go to Sessions",description:"Navigate to the sessions list showing all active conversations",category:"navigation",keywords:["sessions","conversations","threads"],shortcut:"Cmd+4"},{commandId:"nav:channels",title:"Go to Channels",description:"Navigate to the channels browser for group conversations",category:"navigation",keywords:["channels","channel","group","broadcast"],shortcut:"Cmd+5"},{commandId:"nav:activity",title:"Go to Activity",description:"Navigate to the activity feed showing recent events",category:"navigation",keywords:["activity","feed","events","log"],shortcut:"Cmd+6"},{commandId:"nav:mesh",title:"Go to Mesh",description:"Navigate to the mesh network view showing nodes and topology",category:"navigation",keywords:["mesh","network","nodes","peers","topology"],shortcut:"Cmd+7"},{commandId:"nav:settings",title:"Open Settings",description:"Open the settings screen for pairing, identity, and relay config",category:"settings",keywords:["settings","preferences","config","pair"],shortcut:"Cmd+,"},{commandId:"nav:agent-config",title:"Open Agent Configuration",description:"Open the unified agent configuration surface for runtimes, agents, tools, delivery, and broker state",category:"settings",keywords:["agent config","runtimes","providers","mcp","tools"]},{commandId:"nav:pair",title:"Pair Device",description:"Open the device pairing flow to connect a mobile device",category:"settings",keywords:["pair","qr","device","phone","mobile"]},{commandId:"scout:reload",title:"Reload Agents",description:"Refresh the agent list and message state from the broker",category:"workspace",keywords:["reload","refresh","sync"]},{commandId:"scout:open:*",title:"Open Agent Conversation",description:"Open the DM lane for one specific agent. One agent maps to a DM; group work belongs in an explicit channel and broadcasts belong in the shared channel.",category:"navigation",keywords:["open","chat","conversation","dm","message"],params:[{name:"agentId",description:"The agent identifier to open",type:"string"}]},{commandId:"scout:send:*",title:"Tell Agent",description:"Open or compose the DM tell/update path for one specific agent. Use Tell for heads-up, replies, status, and steering an active turn inside the same DM.",category:"workspace",keywords:["tell","message","update","dm","reply","steer"],params:[{name:"agentId",description:"The agent identifier to tell",type:"string"},{name:"message",description:"The message body to send",type:"string"}]},{commandId:"scout:ask:*",title:"Ask Agent",description:"Open the DM ask path for one specific agent. Use Ask when the meaning is 'own this work and get back to me' and keep follow-up in the same DM.",category:"workspace",keywords:["ask","assign","task","dm","work","reply"],params:[{name:"agentId",description:"The agent identifier to ask",type:"string"},{name:"message",description:"The message body to send",type:"string"}]},{commandId:"scout:interrupt:*",title:"Interrupt Agent",description:"Send Ctrl-C to interrupt a working agent. The commandId is scout:interrupt:{agentId}.",category:"workspace",keywords:["stop","interrupt","cancel","halt","kill"],dangerous:!0,params:[{name:"agentId",description:"The agent identifier to interrupt",type:"string"}]}];function wP(e={}){const{initialTheme:t="dark"}=e;return{id:"openscout",name:"Scout",description:"All your agents, one message away. Scout is a control plane for managing coding agents: one agent means a DM, group work means an explicit channel, Tell stays conversational, Ask is owned work with a reply path, and shared updates mean broadcast.",mode:"panel",icon:p.createElement(VA,{size:14,strokeWidth:1.2}),Provider:({children:n})=>p.createElement(jQ,{initialTheme:t,children:n}),leftPanel:{title:"Navigation"},rightPanel:{title:"Context"},slots:{Content:Wue,LeftPanel:she,Inspector:afe,Takeover:hhe,Terminal:fhe},intents:She,hooks:{useCommands:kQ,useStatus:NQ,useNavCenter:CQ,useNavActions:EQ,useLayoutMode:TQ,useTakeover:AQ}}}wP();function AA(e){return e==="dark"||e==="light"?e:null}function Che(){if(typeof window>"u")return"dark";const e=AA(Ste());if(e)return e;const t=AA(new URLSearchParams(window.location.search).get("theme"));return t||"dark"}function Ehe(e){typeof document>"u"||(document.documentElement.dataset.scoutThemeMode=e,document.documentElement.style.colorScheme=e)}const The=[{title:"Tone (band-pass)",sliders:[{key:"lowCutHz",label:"Low cut",min:80,max:1200,step:10,format:e=>`${e.toFixed(0)} Hz`},{key:"highCutHz",label:"High cut",min:1500,max:6e3,step:50,format:e=>`${e.toFixed(0)} Hz`},{key:"bandQ",label:"Filter Q",min:.2,max:2,step:.05,format:e=>e.toFixed(2)}]},{title:"Grit (saturation + bit-crush)",sliders:[{key:"saturationAmount",label:"Saturation",min:0,max:1,step:.01,format:e=>e.toFixed(2)},{key:"bitcrushAmount",label:"Bit-crush",min:0,max:1,step:.01,format:e=>e.toFixed(2)}]},{title:"Carrier hiss",sliders:[{key:"hissGain",label:"Hiss level",min:0,max:.25,step:.005,format:e=>e.toFixed(3)},{key:"hissCutoffHz",label:"Hiss high-pass",min:300,max:4e3,step:50,format:e=>`${e.toFixed(0)} Hz`}]},{title:"Presence (mid-band peak — comm intelligibility)",sliders:[{key:"presencePeakDb",label:"Boost",min:0,max:12,step:.5,format:e=>`${e.toFixed(1)} dB`},{key:"presenceCenterHz",label:"Center",min:600,max:3e3,step:50,format:e=>`${e.toFixed(0)} Hz`},{key:"presenceQ",label:"Q (narrowness)",min:.3,max:3,step:.1,format:e=>e.toFixed(1)}]},{title:"Squelch tail (channel-drop noise)",sliders:[{key:"squelchTailGain",label:"Tail gain",min:0,max:.3,step:.005,format:e=>e.toFixed(3)},{key:"squelchTailDurationMs",label:"Tail length",min:40,max:500,step:10,format:e=>`${e.toFixed(0)} ms`}]},{title:"Compressor",sliders:[{key:"compressorThresholdDb",label:"Threshold",min:-60,max:0,step:1,format:e=>`${e.toFixed(0)} dB`},{key:"compressorRatio",label:"Ratio",min:1,max:12,step:.5,format:e=>`${e.toFixed(1)} : 1`}]},{title:"Delivery",sliders:[{key:"playbackRate",label:"Speed (pitch-shifts)",min:.75,max:1.35,step:.01,format:e=>`${e.toFixed(2)}×`}]},{title:"Kerchunk / output",sliders:[{key:"clickGain",label:"Click gain",min:0,max:1,step:.01,format:e=>e.toFixed(2)},{key:"clickDurationMs",label:"Click length",min:20,max:200,step:5,format:e=>`${e.toFixed(0)} ms`},{key:"outputGain",label:"Output gain",min:0,max:2,step:.05,format:e=>e.toFixed(2)},{key:"wetMix",label:"Wet mix",min:0,max:1,step:.01,format:e=>e.toFixed(2)}]}],MA=.12,Ahe=e=>Math.max(.7,Math.min(1.45,e)),Mhe=220,Mb={...kp,lowCutHz:160,highCutHz:5200,bandQ:.35,saturationAmount:.035,bitcrushAmount:0,hissGain:0,hissCutoffHz:1800,presencePeakDb:1.5,presenceCenterHz:1500,presenceQ:.65,compressorThresholdDb:-15,compressorRatio:2.2,clickEnabled:!0,clickGain:.24,clickDurationMs:45,squelchTailEnabled:!0,squelchTailGain:.018,squelchTailDurationMs:95,playbackRate:1,outputGain:1,wetMix:.38},Rhe={...Mb,lowCutHz:190,highCutHz:5e3,saturationAmount:.055,bitcrushAmount:.01,hissGain:.006,presencePeakDb:2.5,compressorThresholdDb:-17,compressorRatio:2.8,clickGain:.28,squelchTailGain:.024,squelchTailDurationMs:105,wetMix:.44};function Ihe(e){return`const RANGER_VOICE_FX: Partial<VoiceFxParams> = {
|
|
182
|
+
${Object.entries(e).map(([n,s])=>` ${n}: ${typeof s=="number"?Number(s.toFixed(3)):String(s)},`).join(`
|
|
183
|
+
`)}
|
|
184
|
+
};`}function _he(){const[e,t]=p.useState(null),[n,s]=p.useState(null),[r,o]=p.useState({}),[c,u]=p.useState(Mb),[h,f]=p.useState(null),[g,v]=p.useState(null),[y,x]=p.useState(null),[w,k]=p.useState(!1),[C,T]=p.useState(!1),S=p.useRef(null),N=p.useRef(null),E=p.useRef(c),A=p.useRef(w),R=p.useRef(C);p.useEffect(()=>{E.current=c},[c]),p.useEffect(()=>{A.current=w},[w]),p.useEffect(()=>{R.current=C},[C]),p.useEffect(()=>{let P=!1;return(async()=>{try{const H=await fetch("/api/dev/ranger-fx/fixtures");if(!H.ok)throw new Error(`HTTP ${H.status}`);const D=await H.json();P||t(D)}catch(H){P||s(H instanceof Error?H.message:String(H))}})(),()=>{P=!0}},[]);const M=p.useCallback(async P=>{if(r[P.slug])return r[P.slug].buffer;const H=await ore(`/api/dev/ranger-fx/audio/${encodeURIComponent(P.file)}`);return o(D=>({...D,[P.slug]:{fixture:P,buffer:H}})),H},[r]),$=p.useCallback(()=>{N.current=null,S.current?.stop(),S.current=null,v(null)},[]),O=p.useCallback(P=>{const H=td.find(D=>D.id===P);H&&(u(H.params),f(P))},[]),U=p.useCallback(async()=>{try{await navigator.clipboard.writeText(Ihe(c)),x("Copied"),window.setTimeout(()=>x(null),1600)}catch(P){x(P instanceof Error?P.message:"Copy failed")}},[c]),_=p.useCallback(async(P,H)=>{$();const D=Symbol(`${H}:${P.slug}`);N.current=D;const K=`${H}:${P.slug}`;try{const W=await M(P);for(;N.current===D;){const L=R.current?{...E.current,playbackRate:Ahe(E.current.playbackRate+(Math.random()*2-1)*MA)}:E.current,F=H==="fx"?tw(W,{params:L}):fre(W);if(S.current=F,v(K),await F.promise,N.current!==D||!A.current)break;await new Promise(Z=>{const ee=setTimeout(Z,Mhe),X=setInterval(()=>{N.current!==D&&(clearTimeout(ee),clearInterval(X),Z())},40)})}}catch(W){console.error(`[ranger-fx] ${H} playback failed`,W)}finally{N.current===D&&(N.current=null),S.current=null,v(W=>W===K?null:W)}},[M,$]),z=p.useCallback(P=>_(P,"fx"),[_]),q=p.useCallback(P=>_(P,"dry"),[_]),V=p.useMemo(()=>The.map(P=>({title:P.title,rows:P.sliders.map(H=>({spec:H,value:c[H.key]}))})),[c]),G=e?.fixtures??[];return a.jsxs("div",{style:Ohe,children:[a.jsxs("header",{style:$he,children:[a.jsxs("div",{children:[a.jsx("h1",{style:Phe,children:"Ranger FX Lab"}),a.jsxs("p",{style:Dhe,children:["Dispatcher-radio FX prototyping. Generate fixtures with"," ",a.jsx("code",{style:RA,children:"node packages/web/scripts/generate-ranger-fx-fixtures.mjs"}),"."]})]}),a.jsxs("div",{style:Lhe,children:[e?.generatedAt?a.jsxs("span",{children:["Fixtures generated ",new Date(e.generatedAt).toLocaleString()]}):null,e?.note?a.jsx("span",{style:zhe,children:e.note}):null,n?a.jsxs("span",{style:Bhe,children:["Could not load fixtures: ",n]}):null]})]}),a.jsxs("section",{style:Uhe,children:[a.jsxs("div",{style:Xy,children:[a.jsx("h2",{style:Jy,children:"Presets"}),a.jsx("div",{style:Vhe,children:"Click to load. Tweaking any slider clears the active preset."})]}),a.jsx("div",{style:Fhe,children:td.map(P=>{const H=h===P.id;return a.jsxs("button",{type:"button",style:H?Hhe:jP,onClick:D=>{O(P.id),D.currentTarget.blur()},title:P.description,children:[a.jsxs("div",{style:H?qhe:kP,children:[P.label,a.jsx("span",{style:Ghe,children:P.family})]}),a.jsx("div",{style:H?Whe:NP,children:P.description})]},P.id)})})]}),a.jsxs("section",{style:Zhe,children:[a.jsxs("div",{style:Xy,children:[a.jsx("h2",{style:Jy,children:"FX chain"}),a.jsxs("div",{style:{display:"flex",gap:8},children:[a.jsxs("label",{style:Nh,children:[a.jsx("input",{type:"checkbox",checked:c.clickEnabled,onChange:P=>{const H=P.target.checked;f(null),u(D=>({...D,clickEnabled:H}))}}),"Kerchunk click"]}),a.jsxs("label",{style:Nh,children:[a.jsx("input",{type:"checkbox",checked:c.squelchTailEnabled,onChange:P=>{const H=P.target.checked;f(null),u(D=>({...D,squelchTailEnabled:H}))}}),"Squelch tail"]}),a.jsx("button",{type:"button",style:Nu,onClick:()=>{f("ranger-clean-dispatch"),u(Mb)},children:"Ranger default"}),a.jsx("button",{type:"button",style:Nu,onClick:()=>{f("codex-clean-dispatch"),u(Rhe)},children:"Codex take"}),a.jsx("button",{type:"button",style:Nu,onClick:()=>{f(null),u(kp)},children:"Raw default"}),a.jsx("button",{type:"button",style:Rb,onClick:()=>{U()},children:y??"Copy params"})]})]}),a.jsx("div",{style:Khe,children:V.map(P=>a.jsxs("div",{style:Yhe,children:[a.jsx("div",{style:Xhe,children:P.title}),a.jsx("div",{style:Jhe,children:P.rows.map(({spec:H,value:D})=>a.jsxs("label",{style:Qhe,children:[a.jsxs("div",{style:eme,children:[a.jsx("span",{children:H.label}),a.jsx("span",{style:tme,children:H.format(D)})]}),a.jsx("input",{type:"range",min:H.min,max:H.max,step:H.step,value:D,onChange:K=>{const W=Number(K.target.value);f(null),u(L=>({...L,[H.key]:W}))}})]},H.key))})]},P.title))})]}),a.jsxs("section",{style:nme,children:[a.jsxs("div",{style:Xy,children:[a.jsx("h2",{style:Jy,children:"Fixtures"}),a.jsxs("div",{style:{display:"flex",gap:16},children:[a.jsxs("label",{style:Nh,children:[a.jsx("input",{type:"checkbox",checked:w,onChange:P=>k(P.target.checked)}),"Loop playback",w?" (tweaks apply next iteration)":""]}),a.jsxs("label",{style:Nh,children:[a.jsx("input",{type:"checkbox",checked:C,onChange:P=>T(P.target.checked)}),"Vary speed ±",Math.round(MA*100),"%"]})]})]}),e?G.length===0?a.jsxs("p",{style:IA,children:["No fixtures yet. Run"," ",a.jsx("code",{style:RA,children:"node packages/web/scripts/generate-ranger-fx-fixtures.mjs"})," ","(Vox must be running) and reload."]}):a.jsx("ul",{style:sme,children:G.map(P=>{const H=g===`dry:${P.slug}`,D=g===`fx:${P.slug}`;return a.jsxs("li",{style:ame,children:[a.jsxs("div",{style:rme,children:[a.jsx("div",{style:ime,children:P.slug}),a.jsx("div",{style:ome,children:P.text}),a.jsxs("div",{style:lme,children:[P.voiceId?`voice ${P.voiceId}`:null,P.voiceId&&P.bytes?" · ":null,P.bytes?`${Math.round(P.bytes/1024)} KB`:null]})]}),a.jsxs("div",{style:cme,children:[a.jsx("button",{type:"button",style:H?ume:Nu,onClick:()=>H?$():q(P),children:H?"Stop":"Play dry"}),a.jsx("button",{type:"button",style:D?dme:Rb,onClick:()=>D?$():z(P),children:D?"Stop":"Play with FX"})]})]},P.slug)})}):a.jsx("p",{style:IA,children:"Loading…"})]})]})}const Ohe={minHeight:"100vh",background:"#0b0d10",color:"#e6e8eb",padding:"32px 40px 64px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"},$he={display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:24,marginBottom:28},Phe={fontSize:22,fontWeight:600,margin:0},Dhe={color:"#9aa1ab",fontSize:13,marginTop:6,marginBottom:0},Lhe={display:"flex",flexDirection:"column",gap:4,fontSize:12,color:"#9aa1ab",alignItems:"flex-end"},zhe={color:"#f5b342"},Bhe={color:"#ef6b6b"},RA={fontFamily:"ui-monospace, SFMono-Regular, monospace",background:"#181b20",padding:"1px 6px",borderRadius:4,fontSize:12},Uhe={background:"#121519",border:"1px solid #1f242b",borderRadius:10,padding:20,marginBottom:18},Vhe={fontSize:11,color:"#6b727d"},Fhe={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10,marginTop:12},jP={textAlign:"left",background:"#0f1216",border:"1px solid #1f242b",borderRadius:8,padding:"12px 14px",color:"#c5cad2",cursor:"pointer",display:"flex",flexDirection:"column",gap:6,fontFamily:"inherit",outline:"none",WebkitAppearance:"none",appearance:"none",transition:"border-color 80ms ease, background 80ms ease, color 80ms ease"},Hhe={...jP,background:"#1a1f26",borderColor:"#f1f3f5",color:"#ffffff",boxShadow:"0 0 0 1px rgba(241,243,245,0.18)"},kP={fontSize:13,fontWeight:600,display:"flex",alignItems:"center",gap:8},qhe={...kP,color:"#ffffff"},NP={fontSize:11,color:"#9aa1ab",lineHeight:1.4},Whe={...NP,color:"#c5cad2"},Ghe={fontSize:9,fontWeight:500,letterSpacing:.6,textTransform:"uppercase",padding:"2px 6px",borderRadius:4,background:"rgba(255,255,255,0.06)",color:"#9aa1ab"},Zhe={background:"#121519",border:"1px solid #1f242b",borderRadius:10,padding:20,marginBottom:28},Xy={display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},Jy={fontSize:14,textTransform:"uppercase",letterSpacing:.6,color:"#9aa1ab",margin:0},Khe={display:"flex",flexDirection:"column",gap:18},Yhe={display:"flex",flexDirection:"column",gap:10},Xhe={fontSize:11,textTransform:"uppercase",letterSpacing:.8,color:"#6b727d",fontWeight:600},Jhe={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16},Qhe={display:"flex",flexDirection:"column",gap:6,fontSize:12},eme={display:"flex",justifyContent:"space-between",color:"#c5cad2"},tme={color:"#7f8693",fontFamily:"ui-monospace, SFMono-Regular, monospace"},nme={background:"#121519",border:"1px solid #1f242b",borderRadius:10,padding:20},sme={listStyle:"none",padding:0,margin:"16px 0 0",display:"flex",flexDirection:"column",gap:12},ame={display:"flex",alignItems:"center",gap:16,background:"#0f1216",border:"1px solid #1f242b",borderRadius:8,padding:"14px 16px"},rme={flex:1,display:"flex",flexDirection:"column",gap:4},ime={fontFamily:"ui-monospace, SFMono-Regular, monospace",color:"#9aa1ab",fontSize:12},ome={color:"#e6e8eb",fontSize:14},lme={color:"#6b727d",fontSize:11},cme={display:"flex",gap:8},Nu={background:"#1c2128",color:"#e6e8eb",border:"1px solid #2a3038",padding:"6px 12px",borderRadius:6,fontSize:12,cursor:"pointer"},ume={...Nu,background:"#2a3038",borderColor:"#3c4350"},Rb={background:"#2e6cdf",color:"#fff",border:"1px solid #2e6cdf",padding:"6px 12px",borderRadius:6,fontSize:12,cursor:"pointer"},dme={...Rb,background:"#1f57bf",borderColor:"#1f57bf"},Nh={display:"flex",alignItems:"center",gap:6,fontSize:12,color:"#c5cad2",cursor:"pointer"},IA={color:"#9aa1ab",fontSize:13,margin:"12px 0 0"},SP=document.getElementById("root");if(!SP)throw new Error("missing #root");const CP=Che();Ehe(CP);const fme=window.location.pathname==="/dev/ranger-fx";U5.createRoot(SP).render(a.jsx(p.StrictMode,{children:fme?a.jsx(_he,{}):a.jsx(fee,{app:wP({initialTheme:CP})})}));
|