agent-relay-server 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/openapi.json +1 -1
- package/package.json +2 -2
- package/public/assets/{activity-ClpDglG8.js → activity-DAz3DcDA.js} +2 -2
- package/public/assets/{activity-ClpDglG8.js.map → activity-DAz3DcDA.js.map} +1 -1
- package/public/assets/{agents-CHmEJvqV.js → agents-BJ7qRWxt.js} +2 -2
- package/public/assets/{agents-CHmEJvqV.js.map → agents-BJ7qRWxt.js.map} +1 -1
- package/public/assets/{analytics-2kTjXIj1.js → analytics-MNCS2qnT.js} +2 -2
- package/public/assets/{analytics-2kTjXIj1.js.map → analytics-MNCS2qnT.js.map} +1 -1
- package/public/assets/{automation-B5U_g-1P.js → automation-COp2Kb3h.js} +2 -2
- package/public/assets/{automation-B5U_g-1P.js.map → automation-COp2Kb3h.js.map} +1 -1
- package/public/assets/chat-D_O8VqMR.js +2 -0
- package/public/assets/chat-D_O8VqMR.js.map +1 -0
- package/public/assets/display-ConJ9cJB.js.map +1 -1
- package/public/assets/{formatted-body-impl-tmf8IBfr.js → formatted-body-impl-BbMHqkCy.js} +2 -2
- package/public/assets/{formatted-body-impl-tmf8IBfr.js.map → formatted-body-impl-BbMHqkCy.js.map} +1 -1
- package/public/assets/{index-B1QUkb_O.js → index-DgJOEApM.js} +5 -5
- package/public/assets/{index-B1QUkb_O.js.map → index-DgJOEApM.js.map} +1 -1
- package/public/assets/{index-Bins8N_5.css → index-Dop-uXiy.css} +1 -1
- package/public/assets/{maintenance-Tn23oWBF.js → maintenance-BHv90kXZ.js} +2 -2
- package/public/assets/{maintenance-Tn23oWBF.js.map → maintenance-BHv90kXZ.js.map} +1 -1
- package/public/assets/managed-agents-BAlvkxfo.js +2 -0
- package/public/assets/managed-agents-BAlvkxfo.js.map +1 -0
- package/public/assets/{markdown-preview-impl-D4UIjB3I.js → markdown-preview-impl-6k_FWjmd.js} +2 -2
- package/public/assets/{markdown-preview-impl-D4UIjB3I.js.map → markdown-preview-impl-6k_FWjmd.js.map} +1 -1
- package/public/assets/{memory-SVCob0fo.js → memory-DBjqdVpg.js} +2 -2
- package/public/assets/{memory-SVCob0fo.js.map → memory-DBjqdVpg.js.map} +1 -1
- package/public/assets/{messages-CHK24Uxx.js → messages-axoaJY2N.js} +2 -2
- package/public/assets/{messages-CHK24Uxx.js.map → messages-axoaJY2N.js.map} +1 -1
- package/public/assets/{orchestrators-CQcJb6VE.js → orchestrators-DMfHZ44H.js} +2 -2
- package/public/assets/{orchestrators-CQcJb6VE.js.map → orchestrators-DMfHZ44H.js.map} +1 -1
- package/public/assets/{overview-DbyX7k-7.js → overview-DqxYWpUT.js} +2 -2
- package/public/assets/{overview-DbyX7k-7.js.map → overview-DqxYWpUT.js.map} +1 -1
- package/public/assets/{pairs-CaL0_ZfW.js → pairs-D3wnzC1V.js} +2 -2
- package/public/assets/{pairs-CaL0_ZfW.js.map → pairs-D3wnzC1V.js.map} +1 -1
- package/public/assets/{security-BogsfkbT.js → security-KWrb7PKj.js} +2 -2
- package/public/assets/{security-BogsfkbT.js.map → security-KWrb7PKj.js.map} +1 -1
- package/public/assets/{settings-BOsnUh5f.js → settings-PXMEzNAm.js} +2 -2
- package/public/assets/{settings-BOsnUh5f.js.map → settings-PXMEzNAm.js.map} +1 -1
- package/public/assets/{tasks-CCxQovOv.js → tasks-CFYShBCz.js} +2 -2
- package/public/assets/{tasks-CCxQovOv.js.map → tasks-CFYShBCz.js.map} +1 -1
- package/public/assets/{terminal-viewer-impl-BDikdsxs.js → terminal-viewer-impl-BwPYZlWI.js} +2 -2
- package/public/assets/{terminal-viewer-impl-BDikdsxs.js.map → terminal-viewer-impl-BwPYZlWI.js.map} +1 -1
- package/public/assets/{work-queue-fM-tu0iP.js → work-queue-VQ_6QDJc.js} +2 -2
- package/public/assets/{work-queue-fM-tu0iP.js.map → work-queue-VQ_6QDJc.js.map} +1 -1
- package/public/index.html +2 -2
- package/runner/src/adapter.ts +5 -1
- package/src/config-store.ts +1 -1
- package/src/db/messages.ts +36 -2
- package/src/db/migrations.ts +5 -0
- package/src/lifecycle-manager.ts +74 -6
- package/src/maintenance.ts +20 -27
- package/src/reviewer-pipeline.ts +197 -0
- package/src/routes/commands.ts +28 -0
- package/src/services/managed-running.ts +1 -0
- package/src/services/send-message.ts +4 -0
- package/src/workspace-pr-completion.ts +121 -0
- package/public/assets/chat-zPXWB-03.js +0 -2
- package/public/assets/chat-zPXWB-03.js.map +0 -1
- package/public/assets/managed-agents-CasacvJX.js +0 -2
- package/public/assets/managed-agents-CasacvJX.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./bundle-web-CExLk-Sx.js","./chunk-CilyBKbf.js","./preload-helper-DQVmg1Zk.js","./lib-D0DbwPL4.js","./markdown-preview-impl-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./bundle-web-CExLk-Sx.js","./chunk-CilyBKbf.js","./preload-helper-DQVmg1Zk.js","./lib-D0DbwPL4.js","./markdown-preview-impl-6k_FWjmd.js","./lib-BAE--T4O.js","./lucide-react-DLQFnqNm.js","./terminal-viewer-impl-BwPYZlWI.js","./store-Bo72e9My.js","./display-ConJ9cJB.js","./button-BsMqBNJb.js","./dist-BQ52MnS1.js","./use-keyboard-viewport-bZ1J-ZnH.js","./terminal-viewer-impl-BrP-ENHg.css","./formatted-body-impl-BbMHqkCy.js","./overview-DqxYWpUT.js","./badge-JVybSpzR.js","./card-I8w4U656.js","./chat-D_O8VqMR.js","./react-dom-CzfKBOnw.js","./branch-state-badge-B1K7aIzF.js","./copy-button-B-XlL8nF.js","./input-dPzf0luy.js","./agents-BJ7qRWxt.js","./managed-agents-BAlvkxfo.js","./agent-profiles-kb5H23CF.js","./orchestrators-DMfHZ44H.js","./workspaces-Df0xJuIo.js","./channels-DyPw9JsY.js","./connectors-k7JYCrrl.js","./integrations-BEkyjBAs.js","./security-KWrb7PKj.js","./memory-DBjqdVpg.js","./activity-DAz3DcDA.js","./pairs-D3wnzC1V.js","./messages-axoaJY2N.js","./work-queue-VQ_6QDJc.js","./tasks-CFYShBCz.js","./automation-COp2Kb3h.js","./switch-W2_mhdrR.js","./dist-SqFV12iO.js","./dist-DRlgXPi_.js","./dist-BgfF2Rlm.js","./analytics-MNCS2qnT.js","./themes-mW9zZP4O.js","./insights-5CDeJfoX.js","./maintenance-BHv90kXZ.js","./settings-PXMEzNAm.js","./dist-CrBurS6i.js","./dist-D6iXJzms.js","./dist-CVTST7Gc.js","./dist-CnJzBTp1.js","./es2015-iucXYTIE.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{r as e,t}from"./chunk-CilyBKbf.js";import{$ as n,$t as r,An as i,B as a,Bt as o,C as s,Ct as c,D as l,Dn as u,E as d,Et as f,F as p,Ft as m,G as h,Hn as g,Ht as _,I as v,In as y,It as b,J as x,Kt as S,L as C,Lt as ee,M as te,N as ne,Nt as w,On as T,Ot as re,P as ie,Q as ae,R as oe,S as se,Sn as E,St as D,T as ce,Tt as le,U as ue,Ut as de,V as fe,X as O,Xt as pe,_ as me,a as he,an as ge,at as k,dn as _e,dt as ve,f as ye,fn as be,g as xe,gn as Se,gt as Ce,hn as we,ht as Te,i as Ee,in as De,it as Oe,j as ke,jn as Ae,k as je,kt as Me,ln as Ne,lt as Pe,m as Fe,mn as Ie,n as Le,nt as Re,o as ze,ot as Be,p as Ve,q as A,r as He,rn as Ue,rt as We,sn as Ge,st as Ke,t as qe,tn as Je,u as Ye,un as Xe,ut as Ze,v as Qe,w as $e,xt as et}from"./lucide-react-DLQFnqNm.js";import{t as tt}from"./react-dom-CzfKBOnw.js";import{a as nt,i as rt,n as it,r as at,t as j}from"./store-Bo72e9My.js";import{B as ot,C as st,D as ct,E as lt,G as ut,H as dt,J as ft,K as pt,L as mt,O as ht,Q as gt,S as _t,T as vt,U as yt,V as bt,W as xt,X as St,Y as Ct,_ as wt,a as Tt,b as Et,c as Dt,ct as Ot,d as M,f as kt,h as At,i as jt,lt as Mt,m as Nt,n as Pt,o as Ft,ot as It,p as Lt,r as Rt,t as zt,u as Bt,w as Vt,x as Ht,y as Ut}from"./display-ConJ9cJB.js";import{n as Wt,t as Gt}from"./themes-mW9zZP4O.js";import{a as Kt,i as qt,o as Jt,r as Yt,t as Xt}from"./dist-BQ52MnS1.js";import{n as Zt,t as N}from"./dist-DRlgXPi_.js";import{i as Qt,n as P,r as $t,t as en}from"./dist-SqFV12iO.js";import{a as tn,i as nn,n as rn,o as an,r as on,t as sn}from"./dist-CrBurS6i.js";import{t as cn}from"./dist-BgfF2Rlm.js";import{t as ln}from"./dist-DSNhRDNh.js";import{a as un,i as dn,n as fn,o as pn,r as mn,s as hn,t as gn}from"./es2015-iucXYTIE.js";import{t as _n}from"./dist-CnJzBTp1.js";import{t as vn}from"./dist-D6iXJzms.js";import{t as yn}from"./switch-W2_mhdrR.js";import{t as bn}from"./dist-CVTST7Gc.js";import{t as F}from"./badge-JVybSpzR.js";import{t as I}from"./button-BsMqBNJb.js";import{t as L}from"./input-dPzf0luy.js";import{t as xn}from"./copy-button-B-XlL8nF.js";import{t as R}from"./preload-helper-DQVmg1Zk.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Sn=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,T());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}var S=!1,C=-1,ee=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-te<ee)}function w(){if(g=!1,S){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ae(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?T():S=!1}}}var T;if(typeof y==`function`)T=function(){y(w)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=w,T=function(){ie.postMessage(null)}}else T=function(){_(w,0)};function ae(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ee=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ae(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,T()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Cn=t(((e,t)=>{t.exports=Sn()})),wn=t((e=>{var t=Cn(),n=g(),r=tt();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),ee=Symbol.for(`react.suspense_list`),te=Symbol.for(`react.memo`),ne=Symbol.for(`react.lazy`),w=Symbol.for(`react.activity`),T=Symbol.for(`react.memo_cache_sentinel`),re=Symbol.iterator;function ie(e){return typeof e!=`object`||!e?null:(e=re&&e[re]||e[`@@iterator`],typeof e==`function`?e:null)}var ae=Symbol.for(`react.client.reference`);function oe(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ae?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case _:return`Fragment`;case y:return`Profiler`;case v:return`StrictMode`;case C:return`Suspense`;case ee:return`SuspenseList`;case w:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case x:return e.displayName||`Context`;case b:return(e._context.displayName||`Context`)+`.Consumer`;case S:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case te:return t=e.displayName||null,t===null?oe(e.type)||`Memo`:t;case ne:t=e._payload,e=e._init;try{return oe(e(t))}catch{}}return null}var se=Array.isArray,E=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ce={pending:!1,data:null,method:null,action:null},le=[],ue=-1;function de(e){return{current:e}}function fe(e){0>ue||(e.current=le[ue],le[ue]=null,ue--)}function O(e,t){ue++,le[ue]=e.current,e.current=t}var pe=de(null),me=de(null),he=de(null),ge=de(null);function k(e,t){switch(O(he,t),O(me,e),O(pe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}fe(pe),O(pe,e)}function _e(){fe(pe),fe(me),fe(he)}function ve(e){e.memoizedState!==null&&O(ge,e);var t=pe.current,n=Hd(t,e.type);t!==n&&(O(me,e),O(pe,n))}function ye(e){me.current===e&&(fe(pe),fe(me)),ge.current===e&&(fe(ge),Qf._currentValue=ce)}var be,xe;function Se(e){if(be===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);be=t&&t[1]||``,xe=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+be+e+xe}var Ce=!1;function we(e,t){if(!e||Ce)return``;Ce=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -11,11 +11,11 @@ Error generating stack: `+e.message+`
|
|
|
11
11
|
|
|
12
12
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
13
13
|
|
|
14
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return z.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},cr=`DialogDescriptionWarning`,lr=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${or(cr).contentName}}.`;return z.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ur=Fn,dr=Vn,fr=Un,pr=qn,mr=Qn,hr=er,gr=nr,_r=`rovingFocusGroup.onEntryFocus`,vr={bubbles:!1,cancelable:!0},yr=`RovingFocusGroup`,[br,xr,Sr]=an(yr),[Cr,wr]=Qt(yr,[Sr]),[Tr,Er]=Cr(yr),Dr=z.forwardRef((e,t)=>(0,B.jsx)(br.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(br.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(Or,{...e,ref:t})})}));Dr.displayName=yr;var Or=z.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=z.useRef(null),p=Jt(t,f),m=_n(a),[h,g]=cn({prop:o,defaultProp:s??null,onChange:c,caller:yr}),[_,v]=z.useState(!1),y=vn(l),b=xr(n),x=z.useRef(!1),[S,C]=z.useState(0);return z.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(_r,y),()=>e.removeEventListener(_r,y)},[y]),(0,B.jsx)(Tr,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:z.useCallback(e=>g(e),[g]),onItemShiftTab:z.useCallback(()=>v(!0),[]),onFocusableItemAdd:z.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:z.useCallback(()=>C(e=>e-1),[]),children:(0,B.jsx)(N.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:P(e.onMouseDown,()=>{x.current=!0}),onFocus:P(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(_r,vr);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Pr([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:P(e.onBlur,()=>v(!1))})})}),kr=`RovingFocusGroupItem`,Ar=z.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=hn(),l=a||c,u=Er(kr,n),d=u.currentTabStopId===l,f=xr(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return z.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,B.jsx)(br.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,B.jsx)(N.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:P(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:P(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:P(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Nr(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Fr(n,r+1):n.slice(r+1)}setTimeout(()=>Pr(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});Ar.displayName=kr;var jr={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Mr(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Nr(e,t,n){let r=Mr(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return jr[r]}function Pr(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Fr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Ir=Dr,Lr=Ar,Rr=[`Enter`,` `],zr=[`ArrowDown`,`PageUp`,`Home`],Br=[`ArrowUp`,`PageDown`,`End`],Vr=[...zr,...Br],Hr={ltr:[...Rr,`ArrowRight`],rtl:[...Rr,`ArrowLeft`]},Ur={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Wr=`Menu`,[Gr,Kr,qr]=an(Wr),[Jr,Yr]=Qt(Wr,[qr,tn,wr]),Xr=tn(),Zr=wr(),[Qr,$r]=Jr(Wr),[ei,ti]=Jr(Wr),ni=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Xr(t),[c,l]=z.useState(null),u=z.useRef(!1),d=vn(a),f=_n(i);return z.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,B.jsx)(nn,{...s,children:(0,B.jsx)(Qr,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,B.jsx)(ei,{scope:t,onClose:z.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};ni.displayName=Wr;var ri=`MenuAnchor`,ii=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Xr(n);return(0,B.jsx)(sn,{...i,...r,ref:t})});ii.displayName=ri;var ai=`MenuPortal`,[oi,si]=Jr(ai,{forceMount:void 0}),ci=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=$r(ai,t);return(0,B.jsx)(oi,{scope:t,forceMount:n,children:(0,B.jsx)(ln,{present:n||a.open,children:(0,B.jsx)(dn,{asChild:!0,container:i,children:r})})})};ci.displayName=ai;var li=`MenuContent`,[ui,di]=Jr(li),fi=z.forwardRef((e,t)=>{let n=si(li,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=$r(li,e.__scopeMenu),o=ti(li,e.__scopeMenu);return(0,B.jsx)(Gr.Provider,{scope:e.__scopeMenu,children:(0,B.jsx)(ln,{present:r||a.open,children:(0,B.jsx)(Gr.Slot,{scope:e.__scopeMenu,children:o.modal?(0,B.jsx)(pi,{...i,ref:t}):(0,B.jsx)(mi,{...i,ref:t})})})})}),pi=z.forwardRef((e,t)=>{let n=$r(li,e.__scopeMenu),r=z.useRef(null),i=Jt(t,r);return z.useEffect(()=>{let e=r.current;if(e)return gn(e)},[]),(0,B.jsx)(gi,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:P(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),mi=z.forwardRef((e,t)=>{let n=$r(li,e.__scopeMenu);return(0,B.jsx)(gi,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),hi=Yt(`MenuContent.ScrollLock`),gi=z.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=$r(li,n),_=ti(li,n),v=Xr(n),y=Zr(n),b=Kr(n),[x,S]=z.useState(null),C=z.useRef(null),ee=Jt(t,C,g.onContentChange),te=z.useRef(0),ne=z.useRef(``),w=z.useRef(0),T=z.useRef(null),re=z.useRef(`right`),ie=z.useRef(0),ae=m?fn:z.Fragment,oe=m?{as:hi,allowPinchZoom:!0}:void 0,se=e=>{let t=ne.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=$i(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){ne.current=t,window.clearTimeout(te.current),t!==``&&(te.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};z.useEffect(()=>()=>window.clearTimeout(te.current),[]),mn();let E=z.useCallback(e=>re.current===T.current?.side&&ta(e,T.current?.area),[]);return(0,B.jsx)(ui,{scope:n,searchRef:ne,onItemEnter:z.useCallback(e=>{E(e)&&e.preventDefault()},[E]),onItemLeave:z.useCallback(e=>{E(e)||(C.current?.focus(),S(null))},[E]),onTriggerLeave:z.useCallback(e=>{E(e)&&e.preventDefault()},[E]),pointerGraceTimerRef:w,onPointerGraceIntentChange:z.useCallback(e=>{T.current=e},[]),children:(0,B.jsx)(ae,{...oe,children:(0,B.jsx)(un,{asChild:!0,trapped:i,onMountAutoFocus:P(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,B.jsx)(pn,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,B.jsx)(Ir,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:P(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,B.jsx)(on,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ji(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:ee,style:{outline:`none`,...h.style},onKeyDown:P(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&se(e.key));let i=C.current;if(e.target!==i||!Vr.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);Br.includes(e.key)&&a.reverse(),Zi(a)}),onBlur:P(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(te.current),ne.current=``)}),onPointerMove:P(e.onPointerMove,na(e=>{let t=e.target,n=ie.current!==e.clientX;e.currentTarget.contains(t)&&n&&(re.current=e.clientX>ie.current?`right`:`left`,ie.current=e.clientX)}))})})})})})})});fi.displayName=li;var _i=`MenuGroup`,vi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{role:`group`,...r,ref:t})});vi.displayName=_i;var yi=`MenuLabel`,bi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{...r,ref:t})});bi.displayName=yi;var xi=`MenuItem`,Si=`menu.itemSelect`,Ci=z.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=z.useRef(null),o=ti(xi,e.__scopeMenu),s=di(xi,e.__scopeMenu),c=Jt(t,a),l=z.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Si,{bubbles:!0,cancelable:!0});e.addEventListener(Si,e=>r?.(e),{once:!0}),Zt(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,B.jsx)(wi,{...i,ref:c,disabled:n,onClick:P(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:P(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:P(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||Rr.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Ci.displayName=xi;var wi=z.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=di(xi,n),s=Zr(n),c=z.useRef(null),l=Jt(t,c),[u,d]=z.useState(!1),[f,p]=z.useState(``);return z.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,B.jsx)(Gr.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,B.jsx)(Lr,{asChild:!0,...s,focusable:!r,children:(0,B.jsx)(N.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:P(e.onPointerMove,na(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:P(e.onPointerLeave,na(e=>o.onItemLeave(e))),onFocus:P(e.onFocus,()=>d(!0)),onBlur:P(e.onBlur,()=>d(!1))})})})}),Ti=`MenuCheckboxItem`,Ei=z.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,B.jsx)(Ni,{scope:e.__scopeMenu,checked:n,children:(0,B.jsx)(Ci,{role:`menuitemcheckbox`,"aria-checked":Yi(n)?`mixed`:n,...i,ref:t,"data-state":Xi(n),onSelect:P(i.onSelect,()=>r?.(Yi(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ei.displayName=Ti;var Di=`MenuRadioGroup`,[Oi,ki]=Jr(Di,{value:void 0,onValueChange:()=>{}}),Ai=z.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=vn(r);return(0,B.jsx)(Oi,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,B.jsx)(vi,{...i,ref:t})})});Ai.displayName=Di;var ji=`MenuRadioItem`,Mi=z.forwardRef((e,t)=>{let{value:n,...r}=e,i=ki(ji,e.__scopeMenu),a=n===i.value;return(0,B.jsx)(Ni,{scope:e.__scopeMenu,checked:a,children:(0,B.jsx)(Ci,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Xi(a),onSelect:P(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Mi.displayName=ji;var V=`MenuItemIndicator`,[Ni,Pi]=Jr(V,{checked:!1}),Fi=z.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Pi(V,n);return(0,B.jsx)(ln,{present:r||Yi(a.checked)||a.checked===!0,children:(0,B.jsx)(N.span,{...i,ref:t,"data-state":Xi(a.checked)})})});Fi.displayName=V;var Ii=`MenuSeparator`,Li=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Li.displayName=Ii;var Ri=`MenuArrow`,zi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Xr(n);return(0,B.jsx)(rn,{...i,...r,ref:t})});zi.displayName=Ri;var Bi=`MenuSub`,[Vi,Hi]=Jr(Bi),Ui=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=$r(Bi,t),o=Xr(t),[s,c]=z.useState(null),[l,u]=z.useState(null),d=vn(i);return z.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,B.jsx)(nn,{...o,children:(0,B.jsx)(Qr,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,B.jsx)(Vi,{scope:t,contentId:hn(),triggerId:hn(),trigger:s,onTriggerChange:c,children:n})})})};Ui.displayName=Bi;var Wi=`MenuSubTrigger`,Gi=z.forwardRef((e,t)=>{let n=$r(Wi,e.__scopeMenu),r=ti(Wi,e.__scopeMenu),i=Hi(Wi,e.__scopeMenu),a=di(Wi,e.__scopeMenu),o=z.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=z.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return z.useEffect(()=>u,[u]),z.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,B.jsx)(ii,{asChild:!0,...l,children:(0,B.jsx)(wi,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Ji(n.open),...e,ref:Kt(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:P(e.onPointerMove,na(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:P(e.onPointerLeave,na(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:P(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Hr[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Gi.displayName=Wi;var Ki=`MenuSubContent`,qi=z.forwardRef((e,t)=>{let n=si(li,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=$r(li,e.__scopeMenu),o=ti(li,e.__scopeMenu),s=Hi(Ki,e.__scopeMenu),c=z.useRef(null),l=Jt(t,c);return(0,B.jsx)(Gr.Provider,{scope:e.__scopeMenu,children:(0,B.jsx)(ln,{present:r||a.open,children:(0,B.jsx)(Gr.Slot,{scope:e.__scopeMenu,children:(0,B.jsx)(gi,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:P(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:P(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:P(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Ur[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});qi.displayName=Ki;function Ji(e){return e?`open`:`closed`}function Yi(e){return e===`indeterminate`}function Xi(e){return Yi(e)?`indeterminate`:e?`checked`:`unchecked`}function Zi(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Qi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function $i(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Qi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ea(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function ta(e,t){return t?ea({x:e.clientX,y:e.clientY},t):!1}function na(e){return t=>t.pointerType===`mouse`?e(t):void 0}var ra=ni,ia=ii,aa=ci,oa=fi,sa=vi,ca=bi,la=Ci,ua=Ei,da=Ai,fa=Mi,pa=Fi,ma=Li,ha=zi,ga=Gi,_a=qi,va=`DropdownMenu`,[ya,ba]=Qt(va,[Yr]),xa=Yr(),[Sa,Ca]=ya(va),wa=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=xa(t),l=z.useRef(null),[u,d]=cn({prop:i,defaultProp:a??!1,onChange:o,caller:va});return(0,B.jsx)(Sa,{scope:t,triggerId:hn(),triggerRef:l,contentId:hn(),open:u,onOpenChange:d,onOpenToggle:z.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,B.jsx)(ra,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};wa.displayName=va;var Ta=`DropdownMenuTrigger`,Ea=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=Ca(Ta,n),o=xa(n);return(0,B.jsx)(ia,{asChild:!0,...o,children:(0,B.jsx)(N.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:Kt(t,a.triggerRef),onPointerDown:P(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:P(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Ea.displayName=Ta;var Da=`DropdownMenuPortal`,Oa=e=>{let{__scopeDropdownMenu:t,...n}=e,r=xa(t);return(0,B.jsx)(aa,{...r,...n})};Oa.displayName=Da;var ka=`DropdownMenuContent`,Aa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Ca(ka,n),a=xa(n),o=z.useRef(!1);return(0,B.jsx)(oa,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:P(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:P(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Aa.displayName=ka;var ja=`DropdownMenuGroup`,Ma=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(sa,{...i,...r,ref:t})});Ma.displayName=ja;var Na=`DropdownMenuLabel`,Pa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ca,{...i,...r,ref:t})});Pa.displayName=Na;var Fa=`DropdownMenuItem`,Ia=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(la,{...i,...r,ref:t})});Ia.displayName=Fa;var La=`DropdownMenuCheckboxItem`,Ra=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ua,{...i,...r,ref:t})});Ra.displayName=La;var za=`DropdownMenuRadioGroup`,Ba=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(da,{...i,...r,ref:t})});Ba.displayName=za;var Va=`DropdownMenuRadioItem`,Ha=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(fa,{...i,...r,ref:t})});Ha.displayName=Va;var Ua=`DropdownMenuItemIndicator`,Wa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(pa,{...i,...r,ref:t})});Wa.displayName=Ua;var Ga=`DropdownMenuSeparator`,Ka=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ma,{...i,...r,ref:t})});Ka.displayName=Ga;var qa=`DropdownMenuArrow`,Ja=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ha,{...i,...r,ref:t})});Ja.displayName=qa;var Ya=`DropdownMenuSubTrigger`,Xa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ga,{...i,...r,ref:t})});Xa.displayName=Ya;var Za=`DropdownMenuSubContent`,Qa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(_a,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Qa.displayName=Za;var $a=wa,eo=Ea,to=Oa,no=Aa,ro=Pa,io=Ia,ao=Ka,oo=`Label`,so=z.forwardRef((e,t)=>(0,B.jsx)(N.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));so.displayName=oo;var co=so;function lo(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var uo=`ScrollArea`,[H,U]=Qt(uo),[fo,po]=H(uo),mo=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=z.useState(null),[l,u]=z.useState(null),[d,f]=z.useState(null),[p,m]=z.useState(null),[h,g]=z.useState(null),[_,v]=z.useState(0),[y,b]=z.useState(0),[x,S]=z.useState(!1),[C,ee]=z.useState(!1),te=Jt(t,e=>c(e)),ne=_n(i);return(0,B.jsx)(fo,{scope:n,type:r,dir:ne,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:ee,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,B.jsx)(N.div,{dir:ne,...o,ref:te,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});mo.displayName=uo;var ho=`ScrollAreaViewport`,go=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=po(ho,n),s=Jt(t,z.useRef(null),o.onViewportChange);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,B.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,B.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});go.displayName=ho;var _o=`ScrollAreaScrollbar`,vo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return z.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,B.jsx)(yo,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,B.jsx)(bo,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,B.jsx)(xo,{...r,ref:t,forceMount:n}):i.type===`always`?(0,B.jsx)(So,{...r,ref:t}):null});vo.displayName=_o;var yo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),[a,o]=z.useState(!1);return z.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,B.jsx)(ln,{present:n||a,children:(0,B.jsx)(xo,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),bo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Ho(()=>c(`SCROLL_END`),100),[s,c]=lo(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return z.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),z.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,B.jsx)(ln,{present:n||s!==`hidden`,children:(0,B.jsx)(So,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:P(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:P(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),xo=z.forwardRef((e,t)=>{let n=po(_o,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=z.useState(!1),s=e.orientation===`horizontal`,c=Ho(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Uo(n.viewport,c),Uo(n.content,c),(0,B.jsx)(ln,{present:r||a,children:(0,B.jsx)(So,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),So=z.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=po(_o,e.__scopeScrollArea),a=z.useRef(null),o=z.useRef(0),[s,c]=z.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Fo(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Lo(e,o.current,s,t)}return n===`horizontal`?(0,B.jsx)(Co,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ro(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,B.jsx)(wo,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ro(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),Co=z.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=po(_o,e.__scopeScrollArea),[o,s]=z.useState(),c=z.useRef(null),l=Jt(t,c,a.onScrollbarXChange);return z.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,B.jsx)(Do,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Io(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Bo(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Po(o.paddingLeft),paddingEnd:Po(o.paddingRight)}})}})}),wo=z.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=po(_o,e.__scopeScrollArea),[o,s]=z.useState(),c=z.useRef(null),l=Jt(t,c,a.onScrollbarYChange);return z.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,B.jsx)(Do,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Io(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Bo(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Po(o.paddingTop),paddingEnd:Po(o.paddingBottom)}})}})}),[To,Eo]=H(_o),Do=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=po(_o,n),[m,h]=z.useState(null),g=Jt(t,e=>h(e)),_=z.useRef(null),v=z.useRef(``),y=p.viewport,b=r.content-r.viewport,x=vn(u),S=vn(c),C=Ho(d,10);function ee(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return z.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),z.useEffect(S,[r,S]),Uo(m,C),Uo(p.content,C),(0,B.jsx)(To,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:vn(a),onThumbPointerUp:vn(o),onThumbPositionChange:S,onThumbPointerDown:vn(s),children:(0,B.jsx)(N.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:P(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),ee(e))}),onPointerMove:P(e.onPointerMove,ee),onPointerUp:P(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Oo=`ScrollAreaThumb`,ko=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Eo(Oo,e.__scopeScrollArea);return(0,B.jsx)(ln,{present:n||i.hasThumb,children:(0,B.jsx)(Ao,{ref:t,...r})})}),Ao=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=po(Oo,n),o=Eo(Oo,n),{onThumbPositionChange:s}=o,c=Jt(t,e=>o.onThumbChange(e)),l=z.useRef(void 0),u=Ho(()=>{l.current&&=(l.current(),void 0)},100);return z.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=Vo(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,B.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:P(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:P(e.onPointerUp,o.onThumbPointerUp)})});ko.displayName=Oo;var jo=`ScrollAreaCorner`,Mo=z.forwardRef((e,t)=>{let n=po(jo,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,B.jsx)(No,{...e,ref:t}):null});Mo.displayName=jo;var No=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=po(jo,n),[a,o]=z.useState(0),[s,c]=z.useState(0),l=!!(a&&s);return Uo(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Uo(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,B.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Po(e){return e?parseInt(e,10):0}function Fo(e,t){let n=e/t;return isNaN(n)?0:n}function Io(e){let t=Fo(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Lo(e,t,n,r=`ltr`){let i=Io(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return zo([c,l],d)(e)}function Ro(e,t,n=`ltr`){let r=Io(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=bn(e,n===`ltr`?[0,o]:[o*-1,0]);return zo([0,o],[0,s])(c)}function zo(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Bo(e,t){return e>0&&e<t}var Vo=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Ho(e,t){let n=vn(e),r=z.useRef(0);return z.useEffect(()=>()=>window.clearTimeout(r.current),[]),z.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Uo(e,t){let n=vn(t);en(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Wo=mo,Go=go,Ko=Mo,qo=`Separator`,Jo=`horizontal`,Yo=[`horizontal`,`vertical`],Xo=z.forwardRef((e,t)=>{let{decorative:n,orientation:r=Jo,...i}=e,a=Zo(r)?r:Jo,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,B.jsx)(N.div,{"data-orientation":a,...o,...i,ref:t})});Xo.displayName=qo;function Zo(e){return Yo.includes(e)}var Qo=Xo,$o=`Tabs`,[es,ts]=Qt($o,[wr]),ns=wr(),[rs,is]=es($o),as=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=_n(s),[d,f]=cn({prop:r,onChange:i,defaultProp:a??``,caller:$o});return(0,B.jsx)(rs,{scope:n,baseId:hn(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,B.jsx)(N.div,{dir:u,"data-orientation":o,...l,ref:t})})});as.displayName=$o;var os=`TabsList`,ss=z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=is(os,n),o=ns(n);return(0,B.jsx)(Ir,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,B.jsx)(N.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});ss.displayName=os;var cs=`TabsTrigger`,ls=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=is(cs,n),s=ns(n),c=fs(o.baseId,r),l=ps(o.baseId,r),u=r===o.value;return(0,B.jsx)(Lr,{asChild:!0,...s,focusable:!i,active:u,children:(0,B.jsx)(N.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:P(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:P(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:P(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});ls.displayName=cs;var us=`TabsContent`,ds=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=is(us,n),c=fs(s.baseId,r),l=ps(s.baseId,r),u=r===s.value,d=z.useRef(u);return z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,B.jsx)(ln,{present:i||u,children:({present:n})=>(0,B.jsx)(N.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});ds.displayName=us;function fs(e,t){return`${e}-trigger-${t}`}function ps(e,t){return`${e}-content-${t}`}var ms=as,hs=ss,gs=ls,_s=ds,[vs,ys]=Qt(`Tooltip`,[tn]),bs=tn(),xs=`TooltipProvider`,Ss=700,Cs=`tooltip.open`,[ws,Ts]=vs(xs),Es=e=>{let{__scopeTooltip:t,delayDuration:n=Ss,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=z.useRef(!0),s=z.useRef(!1),c=z.useRef(0);return z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,B.jsx)(ws,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:z.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:z.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Es.displayName=xs;var Ds=`Tooltip`,[Os,ks]=vs(Ds),As=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ts(Ds,e.__scopeTooltip),l=bs(t),[u,d]=z.useState(null),f=hn(),p=z.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=z.useRef(!1),[_,v]=cn({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Cs))):c.onClose(),a?.(e)},caller:Ds}),y=z.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=z.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return z.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,B.jsx)(nn,{...l,children:(0,B.jsx)(Os,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:z.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:z.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};As.displayName=Ds;var js=`TooltipTrigger`,Ms=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=ks(js,n),a=Ts(js,n),o=bs(n),s=Jt(t,z.useRef(null),i.onTriggerChange),c=z.useRef(!1),l=z.useRef(!1),u=z.useCallback(()=>c.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,B.jsx)(sn,{asChild:!0,...o,children:(0,B.jsx)(N.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:P(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:P(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:P(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:P(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:P(e.onBlur,i.onClose),onClick:P(e.onClick,i.onClose)})})});Ms.displayName=js;var Ns=`TooltipPortal`,[Ps,Fs]=vs(Ns,{forceMount:void 0}),Is=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=ks(Ns,t);return(0,B.jsx)(Ps,{scope:t,forceMount:n,children:(0,B.jsx)(ln,{present:n||a.open,children:(0,B.jsx)(dn,{asChild:!0,container:i,children:r})})})};Is.displayName=Ns;var Ls=`TooltipContent`,Rs=z.forwardRef((e,t)=>{let n=Fs(Ls,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=ks(Ls,e.__scopeTooltip);return(0,B.jsx)(ln,{present:r||o.open,children:o.disableHoverableContent?(0,B.jsx)(Us,{side:i,...a,ref:t}):(0,B.jsx)(zs,{side:i,...a,ref:t})})}),zs=z.forwardRef((e,t)=>{let n=ks(Ls,e.__scopeTooltip),r=Ts(Ls,e.__scopeTooltip),i=z.useRef(null),a=Jt(t,i),[o,s]=z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=z.useCallback(()=>{s(null),d(!1)},[d]),p=z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=qs(r,Ks(r,n.getBoundingClientRect())),a=Js(t.getBoundingClientRect());s(Xs([...i,...a])),d(!0)},[d]);return z.useEffect(()=>()=>f(),[f]),z.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),z.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Ys(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,B.jsx)(Us,{...e,ref:a})}),[Bs,Vs]=vs(Ds,{isInside:!1}),Hs=qt(`TooltipContent`),Us=z.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=ks(Ls,n),l=bs(n),{onClose:u}=c;return z.useEffect(()=>(document.addEventListener(Cs,u),()=>document.removeEventListener(Cs,u)),[u]),z.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,B.jsx)(pn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,B.jsxs)(on,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,B.jsx)(Hs,{children:r}),(0,B.jsx)(Bs,{scope:n,isInside:!0,children:(0,B.jsx)(kn,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Rs.displayName=Ls;var Ws=`TooltipArrow`,Gs=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=bs(n);return Vs(Ws,n).isInside?null:(0,B.jsx)(rn,{...i,...r,ref:t})});Gs.displayName=Ws;function Ks(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function qs(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Js(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Ys(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Xs(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Zs(t)}function Zs(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Qs=Es,$s=Tn();function ec({delayDuration:e=0,...t}){return(0,B.jsx)(Qs,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function W(e){return j(e)}function tc(){let e=W(e=>e.pairs);return(0,z.useMemo)(()=>{let t={};for(let n of e)(n.status===`active`||n.status===`pending`)&&(n.requesterId&&(t[n.requesterId]=n),n.targetId&&(t[n.targetId]=n));return t},[e])}function nc(e){let t=W(e=>e.messages),n=W(e=>e.tasks),r=W(e=>e.pairs),i=W(e=>e.inboxReadCursors),a=W(e=>e.inboxArchivedThreads);return(0,z.useMemo)(()=>{if(!e)return{unread:0,needsHumanResponse:!1,pendingPairInvite:!1,claimableTasks:0,total:0,score:0};let o=t.filter(t=>wt(t)===e.id&&!Vt(t)),s=Number(a[e.id]||0),c=s>=o.filter(e=>st(e)&&Et(e)).reduce((e,t)=>Math.max(e,t.id),0)&&s>0?0:o.filter(t=>lt(i,e.id,t)).length,l=Rt(e),u=r.find(t=>(t.status===`active`||t.status===`pending`)&&(t.requesterId===e.id||t.targetId===e.id))?.status===`pending`,d=n.filter(t=>_t(t)&&Bt(t.target,e)).length+t.filter(t=>Ht(t)&&Bt(t.to,e)).length;return{unread:c,needsHumanResponse:l,pendingPairInvite:u,claimableTasks:d,total:c+ +!!l+ +!!u+d,score:c*10+(l?8:0)+(u?4:0)+d*2}},[e,t,n,r,i,a])}function rc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.agentSort),i=W(e=>e.agentSortDir),a=W(e=>e.agentPresetFilter),o=W(e=>e.agentStatusFilter),s=W(e=>e.agentTagFilter),c=W(e=>e.agentHostFilter),l=W(e=>e.managedPolicies),u=W(e=>e.pairs);return(0,z.useMemo)(()=>{let d=pt(e,t,l);if(a){let e=ic(u);d=ac(d,a,at.getState().now,e)}n||(d=d.filter(e=>e.status!==`offline`)),o===`starting`?d=d.filter(e=>e.status!==`offline`&&!e.ready):o&&(d=d.filter(e=>e.status===o)),s&&(d=d.filter(e=>(e.tags||[]).includes(s))),c&&(d=d.filter(e=>(e.machine||``)===c));let f=i===`desc`?-1:1;return[...d].sort((e,t)=>r===`name`?M(e).localeCompare(M(t))*f:r===`lastSeen`?(new Date(t.lastSeen).getTime()-new Date(e.lastSeen).getTime())*f||M(e).localeCompare(M(t)):r===`created`?(new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())*f||M(e).localeCompare(M(t)):((Mt[e.status]??9)-(Mt[t.status]??9))*f||M(e).localeCompare(M(t)))},[e,t,n,l,r,i,a,o,s,c,u,nt()])}function ic(e){let t={};for(let n of e)(n.status===`active`||n.status===`pending`)&&(n.requesterId&&(t[n.requesterId]=n),n.targetId&&(t[n.targetId]=n));return t}function ac(e,t,n,r){switch(t){case`active`:return e.filter(e=>e.status!==`offline`);case`offline_stale`:return e.filter(e=>e.status===`offline`||Ut(n,e));case`claude`:case`codex`:return e.filter(e=>Ft(e)===t);case`paired`:return e.filter(e=>!!r[e.id]);case`unpaired`:return e.filter(e=>!r[e.id]);default:return e}}function oc(){let e=W(e=>e.messages),t=W(e=>e.inboxReadCursors),n=W(e=>e.inboxArchivedThreads),r=W(e=>e.inboxDrafts),i=W(e=>e.agentsById);return(0,z.useMemo)(()=>{let a=new Map;for(let t of e){if(Vt(t))continue;let e=wt(t);e&&(a.has(e)||a.set(e,{id:e,peer:e,messages:[],lastMessage:null,previewMessage:null,attention:{unread:0,needsHumanResponse:!1,score:0},archived:!1,draft:``}),a.get(e).messages.push(t))}for(let e of a.values()){e.messages.sort((e,t)=>e.id-t.id),e.lastMessage=e.messages[e.messages.length-1]||null;let a=null;for(let t=e.messages.length-1;t>=0;t--){let n=e.messages[t];if(n&&!vt(n)){a=n;break}}e.previewMessage=a||e.lastMessage;let o=e.messages.filter(n=>lt(t,e.peer,n)).length,s=Rt(i[e.peer]);e.attention={unread:o,needsHumanResponse:s,score:o*10+(s?8:0)};let c=Number(n[e.peer]||0);e.archived=!!(e.lastMessage?.id&&c>=e.lastMessage.id),e.draft=r[e.peer]||``}return[...a.values()].sort((e,t)=>{let n=(t.attention.score||0)-(e.attention.score||0);return n===0?(t.lastMessage?.id||0)-(e.lastMessage?.id||0):n})},[e,t,n,r,i])}function sc(){let e=oc(),t=W(e=>e.agents),n=W(e=>e.showBuiltIns),r=W(e=>e.showOffline),i=W(e=>e.managedPolicies),a=W(e=>e.pairs),o=W(e=>e.tasks),s=W(e=>e.messages),c=(0,z.useMemo)(()=>new Set(pt(t,n,i).filter(e=>r||e.status!==`offline`).map(e=>e.id)),[t,n,r,i]);return(0,z.useMemo)(()=>{let l=e.filter(e=>!e.archived&&c.has(e.peer)).reduce((e,t)=>e+(t.attention.unread||0),0),u=pt(t,n,i).filter(e=>(r||e.status!==`offline`)&&Rt(e)).length,d=a.filter(e=>e.status===`pending`).length,f=o.filter(_t).length+s.filter(Ht).length;return{unreadInbox:l,needsHumanResponse:u,pendingPairInvites:d,claimableTasks:f,total:l+u+d+f}},[e,c,t,n,r,i,a,o,s])}function cc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>pt(e,t,n).filter(e=>e.status!==`offline`).length,[e,t,n])}function lc(){let e=W(e=>e.agents);return(0,z.useMemo)(()=>e.filter(e=>e.status===`busy`).length,[e])}function uc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>{let i=pt(e,t,r);return n?i:i.filter(e=>e.status!==`offline`)},[e,t,n,r])}function dc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>[...new Set(pt(e,t,n).map(e=>e.machine).filter(Boolean))].sort(),[e,t,n])}function fc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>[...new Set(pt(e,t,n).flatMap(e=>e.tags||[]))],[e,t,n])}function pc(){let e=W(e=>e.tasks),t=W(e=>e.messages);return(0,z.useMemo)(()=>{let n=e.filter(e=>!gt.has(e.status)).map(e=>({id:`task-`+e.id,sourceType:`task`,title:e.title,body:e.body,severity:e.severity||`info`,status:e.status,owner:e.claimedBy||``,target:e.target,source:e.source,channel:e.channel||``,updatedAt:e.updatedAt||e.createdAt,createdAt:e.createdAt,claimable:_t(e),task:e})),r=t.filter(Ht).map(e=>({id:`message-`+e.id,sourceType:`message`,title:e.subject||`Claimable message #`+e.id,body:ct(e),severity:`warning`,status:e.claimedBy?`claimed`:`open`,owner:e.claimedBy||``,target:e.to,source:`message`,channel:e.channel||``,updatedAt:e.claimedAt||e.createdAt,createdAt:e.createdAt,claimable:Ht(e),message:e}));return[...n,...r].sort((e,t)=>{let n=Number(t.claimable)-Number(e.claimable);if(n!==0)return n;let r={critical:0,warning:1,info:2},i=(r[e.severity]??9)-(r[t.severity]??9);return i===0?yt(e.updatedAt)-yt(t.updatedAt):i})},[e,t])}function mc(){let e=W(e=>e.commandQuery),t=W(e=>e.agents),n=W(e=>e.agentsById),r=W(e=>e.showBuiltIns),i=W(e=>e.showOffline),a=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>{let n=pt(t,r,a).filter(e=>i||e.status!==`offline`),o=[...new Set(n.flatMap(e=>e.tags||[]))],s=y(),c=[hc(`open-chat`,`Open chat`,`Human console`,`MessageCircle`,`openView`,{view:`chat`}),hc(`open-work`,`Open work queue`,`Claimable messages and tasks`,`ListChecks`,`openView`,{view:`work`}),hc(`open-workspaces`,`Open workspaces`,`Agent worktrees and merge state`,`GitBranch`,`openView`,{view:`workspaces`}),hc(`show-stale`,`Show stale agents`,`Filter agents to offline or stale`,`Filter`,`agentPreset`,{preset:`offline_stale`}),hc(`copy-url`,`Copy relay URL`,s,`Copy`,`copy`,{value:s}),hc(`export-md`,`Export timeline as Markdown`,`Activity audit trace`,`FileDown`,`exportActivity`,{format:`markdown`}),hc(`export-json`,`Export timeline as JSON`,`Activity audit trace`,`Braces`,`exportActivity`,{format:`json`}),...n.slice(0,12).map(e=>hc(`msg-`+e.id,`Message agent: `+M(e),e.id,`Send`,`messageAgent`,{agentId:e.id})),...n.filter(e=>Ft(e)===`codex`).slice(0,8).map(e=>hc(`pair-`+e.id,`Pair Codex: `+M(e),e.id,`Link`,`pairAgent`,{agentId:e.id})),...o.map(e=>hc(`tag-`+e,`Filter tag: `+e,`#`+e,`Tag`,`filterTag`,{tag:e}))],l=e.trim().toLowerCase();return(l?c.filter(e=>e.search.includes(l)):c).slice(0,24)},[e,t,n,r,i,a])}function hc(e,t,n,r,i,a){return{id:e,title:t,subtitle:n,icon:r,action:i,payload:a,search:`${t}\n${n}\n${i}`.toLowerCase()}}function gc({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,B.jsx)(Qo,{"data-slot":`separator`,decorative:n,orientation:t,className:T(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}function _c({...e}){return(0,B.jsx)($a,{"data-slot":`dropdown-menu`,...e})}function vc({...e}){return(0,B.jsx)(eo,{"data-slot":`dropdown-menu-trigger`,...e})}function yc({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,B.jsx)(to,{children:(0,B.jsx)(no,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:T(`z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function bc({className:e,inset:t,variant:n=`default`,...r}){return(0,B.jsx)(io,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:T(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function xc({className:e,inset:t,...n}){return(0,B.jsx)(ro,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:T(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function Sc({className:e,...t}){return(0,B.jsx)(ao,{"data-slot":`dropdown-menu-separator`,className:T(`-mx-1 my-1 h-px bg-border`,e),...t})}var Cc={LayoutDashboard:Ze,MessageCircle:O,Bot:Ie,Server:ce,MessagesSquare:A,Plug:p,PlugZap:C,Activity:u,Link:Be,Mail:n,ListChecks:k,ClipboardList:S,CalendarClock:Ne,AreaChart:Ge,Settings:$e,Workflow:ze,BrainCircuit:be,FolderTree:c,Shield:se,Wrench:he,UserCog:ye,Lightbulb:Pe};function wc(e){return new Date(e.createdAt).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}var Tc=[[`messages`,`Messages`],[`replies`,`Replies`],[`errors`,`Errors`]];function Ec(){let e=j(e=>e.notifications),t=j(e=>e.notificationUnread),n=j(e=>e.notificationSettings),r=j(e=>e.notificationPermission),i=j(e=>e.set),a=j(e=>e.openNotification),o=j(e=>e.markNotificationsRead),s=j(e=>e.clearNotifications),c=j(e=>e.requestBrowserNotifications),l=t>0?Se:we;function u(e){i({notificationSettings:{...n,...e}})}return(0,B.jsxs)(_c,{onOpenChange:e=>{e&&o()},children:[(0,B.jsx)(vc,{asChild:!0,children:(0,B.jsxs)(`button`,{className:`relative flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(l,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Notifications`}),t>0&&(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:t})]})}),(0,B.jsxs)(yc,{align:`start`,side:`right`,className:`w-80 p-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1.5 py-1`,children:[(0,B.jsx)(xc,{className:`p-0`,children:`Notifications`}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(`button`,{type:`button`,title:`Mark read`,onClick:o,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,B.jsx)(ge,{className:`h-3.5 w-3.5`})}),(0,B.jsx)(`button`,{type:`button`,title:`Clear`,onClick:s,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,B.jsx)(Fe,{className:`h-3.5 w-3.5`})})]})]}),(0,B.jsxs)(`div`,{className:`px-1.5 py-1.5 space-y-2`,children:[(0,B.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`In-app notifications`}),(0,B.jsx)(yn,{size:`sm`,checked:n.enabled,onCheckedChange:e=>u({enabled:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Browser notifications`}),(0,B.jsx)(yn,{size:`sm`,checked:n.browserEnabled&&r===`granted`,disabled:r===`unsupported`,onCheckedChange:e=>{e&&r!==`granted`?c():u({browserEnabled:e})}})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Tc.map(([e,t])=>(0,B.jsx)(`button`,{type:`button`,onClick:()=>u({[e]:!n[e]}),className:T(`rounded border px-2 py-1 text-[11px] transition-colors`,n[e]?`border-primary/40 bg-primary/10 text-primary`:`border-border text-muted-foreground hover:bg-accent`),children:t},e))})]}),(0,B.jsx)(Sc,{}),(0,B.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:e.length===0?(0,B.jsx)(`div`,{className:`px-1.5 py-8 text-center text-xs text-muted-foreground`,children:`No notifications`}):e.slice(0,20).map(e=>(0,B.jsxs)(bc,{onSelect:t=>{t.preventDefault(),a(e)},className:`flex flex-col items-start gap-0.5 px-2 py-2`,children:[(0,B.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,B.jsx)(`span`,{className:T(`h-1.5 w-1.5 rounded-full`,e.severity===`error`?`bg-red-400`:e.severity===`warning`?`bg-yellow-400`:`bg-blue-400`)}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:e.title}),(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:wc(e)})]}),(0,B.jsx)(`span`,{className:`line-clamp-2 text-xs text-muted-foreground`,children:e.body})]},e.id))})]})]})}function Dc(){let e=j(e=>e.theme),t=j(e=>e.set);return(0,B.jsxs)(_c,{children:[(0,B.jsx)(vc,{asChild:!0,children:(0,B.jsxs)(`button`,{className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(ue,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Theme`}),(0,B.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:Gt.find(t=>t.id===e)?.label})]})}),(0,B.jsx)(yc,{align:`start`,side:`right`,className:`w-40`,children:Gt.map(n=>(0,B.jsxs)(bc,{onSelect:()=>t({theme:n.id}),children:[(0,B.jsx)(`span`,{className:`flex-1`,children:n.label}),e===n.id&&(0,B.jsx)(De,{className:`w-3.5 h-3.5 text-primary`})]},n.id))})]})}function Oc(){let e=j(e=>e.view),t=j(e=>e.switchView),n=j(e=>e.connected),r=j(e=>e.showOffline),i=j(e=>e.showBuiltIns),a=j(e=>e.autoRefresh),o=j(e=>e.stats),s=j(e=>e.openCommandPalette),c=j(e=>e.set),l=j(e=>e.startAutoRefresh),u=j(e=>e.stopAutoRefresh),d=sc(),f=cc();function p(e){return e===`overview`&&d.total>0?(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.total}):e===`chat`&&d.unreadInbox>0?(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.unreadInbox}):e===`agents`?(0,B.jsx)(F,{variant:`secondary`,className:`ml-auto text-[10px] px-1.5 py-0`,children:f}):e===`pairs`&&d.pendingPairInvites>0?(0,B.jsx)(F,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.pendingPairInvites}):e===`work`&&d.claimableTasks>0?(0,B.jsx)(F,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.claimableTasks}):null}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`nav`,{className:`flex-1 overflow-y-auto py-2 px-2`,children:It.map(n=>{let r=Cc[n.icon]||Ie;return(0,B.jsxs)(`button`,{onClick:()=>t(n.key),className:T(`w-full flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors my-0.5`,e===n.key?`bg-primary text-primary-foreground`:`text-foreground hover:bg-accent`),children:[(0,B.jsx)(r,{className:`w-4 h-4 shrink-0`}),n.label,p(n.key)]},n.key)})}),(0,B.jsxs)(`div`,{className:`mt-auto border-t border-border p-4 space-y-3 text-xs`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:T(`w-2 h-2 rounded-full`,n?`bg-emerald-500`:`bg-red-500 animate-pulse`)}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:n?`Live`:`Reconnecting...`})]}),(0,B.jsxs)(`button`,{onClick:s,className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(_,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Command palette`}),(0,B.jsx)(`kbd`,{className:`ml-auto text-[10px] bg-muted px-1.5 py-0.5 rounded`,children:`⌘K`})]}),(0,B.jsx)(Ec,{}),(0,B.jsx)(Dc,{}),(0,B.jsx)(gc,{}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Show offline`}),(0,B.jsx)(yn,{checked:r,onCheckedChange:e=>c({showOffline:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`System agents`}),(0,B.jsx)(yn,{checked:i,onCheckedChange:e=>c({showBuiltIns:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Auto refresh`}),(0,B.jsx)(yn,{checked:a,onCheckedChange:e=>{c({autoRefresh:e}),e?l():u()}})]}),o.version&&(0,B.jsxs)(`div`,{className:`text-muted-foreground pt-1`,children:[`v`,o.version]})]})]})}function kc(){return(0,B.jsxs)(`aside`,{className:`hidden xl:flex w-[250px] min-w-[250px] h-[calc(100dvh-var(--sat))] sticky top-[var(--sat)] flex-col border-r border-border bg-card`,children:[(0,B.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),`Agent Relay`]}),(0,B.jsx)(Oc,{})]})}function Ac(){let e=j(e=>e.mobileMenuOpen),t=j(e=>e.set);return(0,z.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t({mobileMenuOpen:!1})}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:T(`xl:hidden fixed inset-0 z-40 bg-black/50 transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),onClick:()=>t({mobileMenuOpen:!1})}),(0,B.jsxs)(`aside`,{className:T(`xl:hidden fixed inset-y-0 left-0 z-50 w-[280px] flex flex-col pt-[var(--sat)] bg-card border-r border-border transition-transform duration-200 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,B.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),`Agent Relay`,(0,B.jsx)(`button`,{onClick:()=>t({mobileMenuOpen:!1}),className:`ml-auto p-1 text-muted-foreground hover:text-foreground transition-colors`,"aria-label":`Close menu`,children:(0,B.jsx)(Ee,{className:`w-4 h-4`})})]}),(0,B.jsx)(Oc,{})]})]})}var jc=500*1024,Mc={bash:`bash`,c:`c`,conf:`properties`,cpp:`cpp`,cs:`csharp`,css:`css`,csv:`csv`,cts:`typescript`,diff:`diff`,dockerfile:`dockerfile`,env:`dotenv`,gemspec:`ruby`,go:`go`,graphql:`graphql`,h:`c`,hcl:`hcl`,hpp:`cpp`,html:`html`,ini:`ini`,java:`java`,js:`javascript`,json:`json`,jsonc:`jsonc`,jsx:`jsx`,kt:`kotlin`,less:`less`,log:`log`,lua:`lua`,mjs:`javascript`,mts:`typescript`,patch:`diff`,php:`php`,plist:`xml`,podspec:`ruby`,properties:`properties`,py:`python`,rake:`ruby`,rb:`ruby`,rs:`rust`,scss:`scss`,sh:`bash`,sql:`sql`,svelte:`svelte`,swift:`swift`,toml:`toml`,ts:`typescript`,tsx:`tsx`,txt:`text`,vue:`vue`,webmanifest:`json`,xml:`xml`,yaml:`yaml`,yml:`yaml`,zsh:`bash`},Nc={".bashrc":`bash`,".env":`dotenv`,".eslintrc":`json`,".gitignore":`gitignore`,".npmrc":`properties`,".prettierrc":`json`,".swiftformat":`properties`,".swiftlint.yml":`yaml`,".watchmanconfig":`json`,"app.config":`json`,"app.webmanifest":`json`,berksfile:`ruby`,brewfile:`ruby`,"bun.lock":`json`,capfile:`ruby`,cartfile:`ruby`,"composer.lock":`json`,dangerfile:`ruby`,"deno.lock":`json`,fastfile:`ruby`,"flake.lock":`json`,gemfile:`ruby`,guardfile:`ruby`,podfile:`ruby`,rakefile:`ruby`,dockerfile:`dockerfile`,makefile:`make`},Pc=null;function Fc(){return Pc??=R(()=>import(`./bundle-web-CExLk-Sx.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),Pc}function Ic(e){return new TextEncoder().encode(e).length}function Lc(e){return e.split(`/`).filter(Boolean).pop()||e}function Rc(e){let t=e?.slice(0,240).split(/\r?\n/,1)[0]?.toLowerCase()||``;return t.startsWith(`#!`)?/\b(bash|dash|ksh|sh|zsh)\b/.test(t)?`bash`:/\bfish\b/.test(t)?`fish`:/\b(ts-node|tsx)\b/.test(t)?`typescript`:/\b(node|bun|deno)\b/.test(t)?`javascript`:/\bpython[0-9.]*\b/.test(t)?`python`:/\bruby\b/.test(t)?`ruby`:/\bswift\b/.test(t)?`swift`:/\bperl\b/.test(t)?`perl`:/\bphp\b/.test(t)?`php`:null:null}function zc(e,t,n,r){if(n)return n;let i=Lc(e).toLowerCase();if(Nc[i])return Nc[i];if(i.endsWith(`.d.ts`))return`typescript`;let a=Rc(r);if(a)return a;let o=i.includes(`.`)?i.slice(i.lastIndexOf(`.`)+1):``;return o&&Mc[o]?Mc[o]:t?.includes(`json`)?`json`:t?.includes(`javascript`)?`javascript`:t?.includes(`typescript`)?`typescript`:t?.includes(`xml`)?`xml`:t?.includes(`yaml`)||t?.includes(`yml`)?`yaml`:t?.includes(`shellscript`)?`bash`:null}function Bc(e,t,n,r){let i=zc(e,t,n,r);return!!(i&&i!==`text`&&i!==`log`)}var Vc=(0,z.memo)(function({content:e,path:t,mediaType:n,languageHint:r,compact:i=!1}){let a=j(e=>e.theme),o=Gt.find(e=>e.id===a)?.dark??!0,s=(0,z.useMemo)(()=>zc(t,n,r,e)||`text`,[e,r,n,t]),c=Ic(e)>jc,[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1);function h(){return(0,B.jsx)(xn,{value:e,label:`Copy code`,copiedLabel:`Copied code`,size:`icon`,variant:`ghost`,className:`absolute right-2 top-2 h-7 w-7 bg-background/80 opacity-0 shadow-sm backdrop-blur transition-opacity hover:bg-muted group-hover/code:opacity-100 focus-visible:opacity-100`})}return(0,z.useEffect)(()=>{if(c||s===`text`||s===`log`){u(``),f(!1),m(!1);return}let t=!1;return f(!0),m(!1),Fc().then(({codeToHtml:t})=>t(e,{lang:s,theme:o?`github-dark-default`:`github-light-default`})).then(e=>{t||u(e)}).catch(()=>{t||(u(``),m(!0))}).finally(()=>{t||f(!1)}),()=>{t=!0}},[e,o,s,c]),d?(0,B.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Highlighting`]}):c||p||!l?(0,B.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,B.jsx)(`pre`,{className:`overflow-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,children:e||` `})]}):(0,B.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,B.jsx)(`div`,{className:`code-preview overflow-auto font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,dangerouslySetInnerHTML:{__html:l}})]})}),Hc=(0,z.lazy)(()=>R(()=>import(`./markdown-preview-impl-D4UIjB3I.js`).then(e=>({default:e.MarkdownPreview})),__vite__mapDeps([4,5,1,3,6]),import.meta.url));function Uc(e){return(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`Loading preview…`}),children:(0,B.jsx)(Hc,{...e})})}var Wc=e(tt(),1);function Gc({src:e,alt:t,onClose:n}){let[r,i]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let e=document.body.style.overflow;document.body.style.overflow=`hidden`;function t(e){e.key===`Escape`&&n()}return document.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,document.removeEventListener(`keydown`,t)}},[n]),(0,B.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/95`,children:[(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 p-2`,children:[(0,B.jsx)(`button`,{type:`button`,className:`rounded-full bg-white/10 p-2 text-white/70 hover:bg-white/20 hover:text-white`,onClick:()=>i(!r),title:r?`Fit to screen`:`Actual size`,children:r?(0,B.jsx)(Le,{className:`h-4 w-4`}):(0,B.jsx)(He,{className:`h-4 w-4`})}),(0,B.jsx)(`button`,{type:`button`,className:`rounded-full bg-white/10 p-2 text-white/70 hover:bg-white/20 hover:text-white`,onClick:n,title:`Close`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 ${r?`overflow-auto`:`flex items-center justify-center overflow-hidden p-4`}`,onClick:r?void 0:n,children:(0,B.jsx)(`img`,{src:e,alt:t,className:r?`max-w-none`:`max-h-full max-w-full cursor-zoom-in object-contain`,onClick:e=>{e.stopPropagation(),i(!r)}})})]})}function Kc({src:e,alt:t=``,className:n,style:r}){let[i,a]=(0,z.useState)(!1);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`${n||``} cursor-zoom-in`,style:r,onClick:()=>a(!0)}),i&&(0,Wc.createPortal)((0,B.jsx)(Gc,{src:e,alt:t,onClose:()=>a(!1)}),document.body)]})}var qc=`agent-relay:file-git-status`;function Jc(){try{return window.localStorage.getItem(qc)!==`off`}catch{return!0}}function Yc(e){try{window.localStorage.setItem(qc,e?`on`:`off`)}catch{}}function Xc(e){switch(e){case`staged`:return{dot:`bg-green-500`,text:`text-green-400`,label:`Staged`};case`unstaged`:return{dot:`bg-amber-500`,text:`text-amber-400`,label:`Modified (unstaged)`};case`staged-unstaged`:return{dot:`bg-amber-500`,text:`text-green-400`,label:`Staged + unstaged changes`};case`untracked`:return{dot:`bg-sky-500`,text:`text-sky-400`,label:`Untracked`};default:return null}}function Zc(e,t,n){let r=`/orchestrators/${encodeURIComponent(e)}/files/list?path=${encodeURIComponent(t)}`;return n?`${r}&git=1`:r}function Qc({status:e}){let t=Xc(e);return t?(0,B.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${t.dot}`,title:t.label}):null}function $c(e){return e===void 0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function el(e,t){let n=t.replace(/\/+$/,``);return e===n?`/`:e.startsWith(n+`/`)?e.slice(n.length+1):e}function tl(e,t){let n=e.toLowerCase();return n.endsWith(`.md`)||n.endsWith(`.mdx`)||n.endsWith(`.markdown`)||t===`text/markdown`}function nl(e,t,n){return tl(e,t)?`markdown`:Bc(e,t,void 0,n)?`code`:null}function rl(e){return`agent-relay:file-view-mode:${e}`}function il(e){try{let t=window.localStorage.getItem(rl(e));return t===`raw`||t===`rendered`?t:`rendered`}catch{return`rendered`}}function al(e,t){try{window.localStorage.setItem(rl(e),t)}catch{}}function ol(e,t){let n=el(e,t);if(n===`/`)return[{label:`/`,path:t}];let r=n.split(`/`).filter(Boolean),i=[{label:`/`,path:t}];for(let e=0;e<r.length;e++)i.push({label:r[e],path:`${t.replace(/\/+$/,``)}/${r.slice(0,e+1).join(`/`)}`});return i}function sl(e,t){let n=j(e=>e.apiCall),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(``);return(0,z.useEffect)(()=>{if(!e||!t){i(null),c(``);return}let r=!1;return o(!0),c(``),n(`GET`,`/orchestrators/${encodeURIComponent(e)}/files/read?path=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(e=>{r||(i(null),c(ft(e)))}).finally(()=>{r||o(!1)}),()=>{r=!0}},[n,e,t]),{file:r,loading:a,error:s}}function cl(e,t,n=!1){let r=j(e=>e.apiCall),[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(``);return(0,z.useEffect)(()=>{if(!e||!t){a(null),l(``);return}let i=!1;return s(!0),l(``),r(`GET`,Zc(e,t,n)).then(e=>{i||a(e)}).catch(e=>{i||(a(null),l(ft(e)))}).finally(()=>{i||s(!1)}),()=>{i=!0}},[r,e,t,n]),{listing:i,loading:o,error:c}}function ll({content:e,line:t,lineRef:n}){return(0,B.jsx)(`div`,{className:`w-full py-2 font-mono text-xs leading-5`,children:e.split(`
|
|
15
|
-
`).map((e,r)=>{let i=r+1,a=i===t;return(0,B.jsxs)(`div`,{ref:a?n:void 0,className:`grid grid-cols-[2.5rem_minmax(0,1fr)] px-1 sm:grid-cols-[4rem_minmax(0,1fr)] sm:px-2 ${a?`bg-primary/15`:``}`,children:[(0,B.jsx)(`div`,{className:`select-none pr-2 text-right text-muted-foreground sm:pr-3`,children:i}),(0,B.jsx)(`pre`,{className:`overflow-hidden whitespace-pre-wrap break-words`,children:e||` `})]},i)})})}function ul({orchestratorId:e,selectedPath:t,onReadError:n,git:r=!1}){let{listing:i,loading:a,error:o}=cl(e,t,r);return(0,z.useEffect)(()=>{n(o)},[o,n]),t?a?(0,B.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Loading directory`]}):o?(0,B.jsx)(`div`,{className:`h-full bg-muted/20`}):i?(0,B.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(D,{className:`h-3.5 w-3.5 text-blue-400`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsxs)(F,{variant:`outline`,className:`text-[10px]`,children:[i.entries.length,` items`]})]}),(0,B.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[i.entries.map(e=>{let t=e.type===`directory`?D:re,n=Xc(e.gitStatus);return(0,B.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[(0,B.jsx)(t,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${n?.text??``}`,children:e.name}),e.symlink&&(0,B.jsx)(Ke,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,B.jsx)(Qc,{status:e.gitStatus}),e.type!==`directory`&&(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:$c(e.size)})]},e.path)}),i.entries.length===0&&(0,B.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]})]}):null:(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a directory to preview`})}function dl({orchestratorId:e,selectedPath:t,line:n,onReadError:r}){let{file:i,loading:a,error:o}=sl(e,t),s=(0,z.useRef)(null),[c,l]=(0,z.useState)(`raw`);(0,z.useEffect)(()=>{r(o)},[o,r]),(0,z.useEffect)(()=>{n>0&&s.current?.scrollIntoView({block:`center`})},[i,n]),(0,z.useEffect)(()=>{if(!i||i.encoding===`binary`)return;if(n>0){l(`raw`);return}let e=nl(i.path,i.mediaType,i.content);l(e?il(e):`raw`)},[i?.path,i?.encoding,i?.mediaType,i?.content,n]);function u(e,t){l(e),t&&al(t,e)}if(!t)return(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a file to preview`});if(a)return(0,B.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Loading file`]});if(o)return(0,B.jsx)(`div`,{className:`h-full bg-muted/20`});if(!i)return null;if(i.encoding===`base64`)return(0,B.jsxs)(`div`,{className:`flex h-full flex-col bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsx)(xn,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:$c(i.size)})]}),(0,B.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,B.jsx)(Kc,{src:`data:${i.mediaType};base64,${i.content??``}`,alt:i.name,className:`max-h-full max-w-full object-contain`,style:{imageRendering:i.mediaType===`image/svg+xml`?`auto`:void 0}})})]});if(i.encoding===`binary`)return(0,B.jsxs)(`div`,{className:`p-4 text-sm`,children:[(0,B.jsx)(`div`,{className:`font-medium`,children:i.name}),(0,B.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:i.truncated?`File too large to preview.`:`Binary file preview is not available.`}),(0,B.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,B.jsx)(F,{variant:`secondary`,children:i.mediaType}),(0,B.jsx)(F,{variant:`outline`,children:$c(i.size)})]})]});let d=i.content??``,f=tl(i.path,i.mediaType),p=!f&&Bc(i.path,i.mediaType,void 0,d),m=f||p,h=f?`markdown`:p?`code`:null;return(0,B.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsx)(xn,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),i.truncated&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:`truncated`}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:$c(i.size)}),m&&(0,B.jsxs)(`div`,{className:`flex shrink-0 rounded-md border border-border bg-muted/40 p-0.5`,children:[(0,B.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[10px] font-medium ${c===`raw`?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>u(`raw`,h),children:`Raw`}),(0,B.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[10px] font-medium ${c===`rendered`?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>u(`rendered`,h),children:f?`Rendered`:`Highlighted`})]})]}),c===`rendered`&&f&&(0,B.jsx)(Uc,{content:d,path:i.path}),c===`rendered`&&p&&(0,B.jsx)(Vc,{content:d,path:i.path,mediaType:i.mediaType}),c===`raw`&&(0,B.jsx)(ll,{content:d,line:n,lineRef:s})]})}function fl({overlay:e=!1}){let t=j(e=>e.apiCall),n=j(e=>e.orchestrators),r=j(e=>e.fileOrchestratorId),i=j(e=>e.filePath),a=j(e=>e.fileSelectedPath),s=j(e=>e.fileSelectedLine),l=j(e=>e.set),u=j(e=>e.closeFileOverlay),d=j(e=>e.openOrchestratorSpawnAt),[f,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(i),[g,_]=(0,z.useState)(!1),[y,b]=(0,z.useState)(``),[x,S]=(0,z.useState)(``),[C,ee]=(0,z.useState)(Jc),ne=(0,z.useMemo)(()=>n.filter(e=>e.status===`online`),[n]),w=n.find(e=>e.id===r)||ne[0];(0,z.useEffect)(()=>{if(!w)return;let e={};r||(e.fileOrchestratorId=w.id),i||(e.filePath=w.baseDir),Object.keys(e).length&&l(e)},[r,i,w,l]),(0,z.useEffect)(()=>h(i),[i]);async function T(e=i){if(!(!w||!e)){_(!0),b(``);try{let n=await t(`GET`,Zc(w.id,e,C));p(n),l({filePath:n.path}),h(n.path),S(``)}catch(e){b(ft(e))}finally{_(!1)}}}(0,z.useEffect)(()=>{T(i)},[w?.id,i,C]);function ie(e){ee(e),Yc(e)}function ae(e){l({fileOrchestratorId:e,filePath:n.find(t=>t.id===e)?.baseDir||``,fileSelectedPath:``,fileSelectedLine:0})}function oe(e){S(``),e.type===`directory`?l({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}):l({fileSelectedPath:e.path,fileSelectedLine:0})}function se(){if(!w)return;let t=m.trim()||i||w.baseDir;e&&u(),d({orchestratorId:w.id,cwd:t})}let E=f?ol(f.path,f.baseDir):[],ce=y||x;return(0,B.jsxs)(`div`,{className:e?`flex h-full flex-col`:`flex h-[calc(100dvh-5rem)] flex-col gap-3 md:gap-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-lg font-semibold`,children:[(0,B.jsx)(c,{className:`h-5 w-5 text-primary`}),`Files`]}),(0,B.jsxs)(`select`,{value:w?.id||``,onChange:e=>ae(e.target.value),className:`h-9 rounded-md border border-input bg-background px-3 text-sm`,children:[ne.length===0&&(0,B.jsx)(`option`,{value:``,children:`No online orchestrators`}),ne.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.hostname||e.id},e.id))]}),e&&(0,B.jsx)(I,{size:`icon`,variant:`ghost`,className:`ml-auto h-8 w-8`,onClick:u,title:`Close`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}),(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,B.jsx)(L,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&l({filePath:m,fileSelectedPath:``,fileSelectedLine:0})},className:`min-w-0 flex-1 basis-full font-mono text-xs sm:basis-auto`,placeholder:w?.baseDir||`Path`}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`gap-1`,onClick:()=>T(m),disabled:g||!w,children:[g?(0,B.jsx)(Oe,{className:`h-3.5 w-3.5 animate-spin`}):(0,B.jsx)(te,{className:`h-3.5 w-3.5`}),`Open`]}),(0,B.jsxs)(I,{size:`sm`,className:`gap-1`,onClick:se,disabled:!w,children:[(0,B.jsx)(v,{className:`h-3.5 w-3.5`}),(0,B.jsx)(`span`,{className:`sm:hidden`,children:`Spawn`}),(0,B.jsx)(`span`,{className:`hidden sm:inline`,children:`Spawn from here`})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,title:`Show git status colors`,children:[(0,B.jsx)(et,{className:`h-3.5 w-3.5`}),(0,B.jsx)(`span`,{className:`hidden sm:inline`,children:`Git`}),(0,B.jsx)(yn,{checked:C,onCheckedChange:ie})]})]}),E.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 text-xs text-muted-foreground ${a?`hidden md:flex`:``}`,children:E.map((e,t)=>(0,B.jsxs)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 font-mono hover:bg-accent hover:text-foreground`,onClick:()=>l({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}),children:[e.label,t<E.length-1&&e.label!==`/`?` /`:``]},`${e.path}-${t}`))}),ce&&(0,B.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:ce}),(0,B.jsxs)(`div`,{className:`grid min-h-0 flex-1 overflow-hidden md:rounded-md md:border md:border-border md:grid-cols-[22rem_minmax(0,1fr)] ${a?``:`rounded-md border border-border`}`,children:[(0,B.jsxs)(`div`,{className:`min-h-0 overflow-auto border-b border-border bg-card md:border-b-0 md:border-r ${a?`hidden md:block`:``}`,children:[f?.parent&&(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent`,onClick:()=>l({filePath:f.parent,fileSelectedPath:``,fileSelectedLine:0}),children:[(0,B.jsx)(o,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{children:`Parent directory`})]}),f?.entries.map(e=>{let t=a===e.path||i===e.path,n=e.type===`directory`?D:re,r=Xc(e.gitStatus);return(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent ${t?`bg-accent`:``}`,onClick:()=>oe(e),children:[(0,B.jsx)(n,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${r?.text??``}`,children:e.name}),e.symlink&&(0,B.jsx)(Ke,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,B.jsx)(Qc,{status:e.gitStatus}),e.type!==`directory`&&(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:$c(e.size)})]},e.path)}),!g&&f&&f.entries.length===0&&(0,B.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]}),(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden ${a?``:`hidden md:flex`}`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 border-b border-border px-3 py-2 text-xs text-muted-foreground hover:text-foreground md:hidden`,onClick:()=>l({fileSelectedPath:``,fileSelectedLine:0}),children:[(0,B.jsx)(o,{className:`h-3.5 w-3.5`}),`Back to files`]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,B.jsx)(dl,{orchestratorId:w?.id||``,selectedPath:a,line:s,onReadError:S})})]})]})]})}function pl(){return(0,B.jsx)(fl,{})}function ml(){return j(e=>e.fileOverlayOpen)?(0,B.jsx)(`div`,{className:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm`,children:(0,B.jsx)(`div`,{className:`absolute inset-4 overflow-hidden rounded-md border border-border bg-background p-4 shadow-xl`,children:(0,B.jsx)(fl,{overlay:!0})})}):null}function hl(e,t){let n=z.useRef(!1),r=z.useRef(t);r.current=t,z.useEffect(()=>{if(!e||!r.current)return;window.history.pushState({sheetGuard:!0},``),n.current=!0;function t(){n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,window.history.back())}},[e])}function gl({...e}){return hl(e.open,e.onOpenChange),(0,B.jsx)(ur,{"data-slot":`sheet`,...e})}function _l({...e}){return(0,B.jsx)(dr,{"data-slot":`sheet-portal`,...e})}function vl({className:e,...t}){return(0,B.jsx)(fr,{"data-slot":`sheet-overlay`,className:T(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function yl({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,B.jsxs)(_l,{children:[(0,B.jsx)(vl,{}),(0,B.jsxs)(pr,{"data-slot":`sheet-content`,"data-side":n,className:T(`fixed z-50 flex flex-col bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out overflow-hidden max-w-[100dvw] data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,e),...i,children:[t,r&&(0,B.jsx)(gr,{"data-slot":`sheet-close`,asChild:!0,children:(0,B.jsxs)(I,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,B.jsx)(Ee,{}),(0,B.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function bl({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`sheet-header`,className:T(`flex flex-col gap-0.5 p-4`,e),...t})}function xl({className:e,...t}){return(0,B.jsx)(mr,{"data-slot":`sheet-title`,className:T(`font-heading text-base font-medium text-foreground`,e),...t})}function Sl({className:e,orientation:t=`horizontal`,...n}){return(0,B.jsx)(ms,{"data-slot":`tabs`,"data-orientation":t,className:T(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var Cl=Xt(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function wl({className:e,variant:t=`default`,...n}){return(0,B.jsx)(hs,{"data-slot":`tabs-list`,"data-variant":t,className:T(Cl({variant:t}),e),...n})}function Tl({className:e,...t}){return(0,B.jsx)(gs,{"data-slot":`tabs-trigger`,className:T(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function El({className:e,...t}){return(0,B.jsx)(_s,{"data-slot":`tabs-content`,className:T(`flex-1 text-sm outline-none`,e),...t})}function Dl({agent:e,now:t,className:n}){return(0,B.jsx)(`span`,{className:T(`inline-block w-2.5 h-2.5 rounded-full shrink-0`,bt(e,t),n)})}var Ol={codex:`text-blue-400 bg-blue-500/10 border-blue-500/25`,claude:`text-yellow-400 bg-yellow-500/10 border-yellow-500/25`,user:`text-emerald-400 bg-emerald-500/10 border-emerald-500/25`,system:`text-purple-400 bg-purple-500/10 border-purple-500/25`,channel:`text-blue-400 bg-blue-500/10 border-blue-500/25`,agent:`text-zinc-400 bg-zinc-500/10 border-zinc-500/25`},kl={codex:xe,claude:me,user:Ye,system:ce,channel:A,agent:Ie};function Al({agent:e,className:t}){let n=Ft(e),r=kl[n]||Ie;return(0,B.jsx)(`span`,{className:T(`inline-flex items-center justify-center w-5 h-5 rounded-md border text-sm`,Ol[n]||Ol.agent,t),children:(0,B.jsx)(r,{className:`w-3.5 h-3.5`})})}function jl({agent:e,compact:t=!1}){let n=K(e);return n.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.slice(0,t?4:void 0).map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))})}function Ml({agent:e,compact:t=!1,className:n=``}){let r=Pl(e);return(0,B.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 ${n}`,children:r.map(e=>{let n=e.Icon;return(0,B.jsxs)(`span`,{title:e.title,className:`inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-md border px-1.5 text-[10px] leading-none ${e.className}`,children:[(0,B.jsx)(n,{className:`h-3 w-3 shrink-0`}),!t&&(0,B.jsx)(`span`,{children:e.label})]},e.key)})})}function Nl({agent:e}){let t=e.context;if(!t)return null;let n=Y(t);if(n===null)return(0,B.jsxs)(`div`,{className:`space-y-1`,title:Bl(t),children:[(0,B.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:`collecting`}),(0,B.jsx)(`span`,{children:`--`})]}),(0,B.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,B.jsx)(`div`,{className:`h-full w-0 bg-muted-foreground/30`})})]});let r=Math.round(n*100),i=r>=80?`bg-red-500`:r>=60?`bg-yellow-500`:`bg-emerald-500`;return(0,B.jsxs)(`div`,{className:`space-y-1`,title:Bl(t),children:[(0,B.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:t.lifecycleState}),(0,B.jsxs)(`span`,{children:[r,`%`]})]}),(0,B.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,B.jsx)(`div`,{className:`h-full ${i}`,style:{width:`${Math.max(0,Math.min(100,r))}%`}})})]})}function Pl(e){let t=Fl(e),n=Il(e),r=Ll(e);return[{key:`origin`,label:t?`Relay`:`External`,title:t?`Agent Relay spawned this agent`:`Externally started agent registered with Agent Relay`,Icon:t?ke:Xe,className:t?`border-sky-500/30 bg-sky-500/10 text-sky-300`:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`},n,r]}function Fl(e){return typeof e.meta?.spawnRequestId==`string`||typeof e.meta?.policyName==`string`||typeof e.meta?.automationRunId==`string`}function Il(e){let t=String(e.providerCapabilities?.session?.approvalMode||e.meta?.approvalMode||`guarded`).toLowerCase();return t===`open`?{key:`approval`,label:`Open`,title:`Approval mode: open`,Icon:We,className:`border-emerald-500/30 bg-emerald-500/10 text-emerald-300`}:t===`read-only`?{key:`approval`,label:`Read-only`,title:`Approval mode: read-only`,Icon:w,className:`border-blue-500/30 bg-blue-500/10 text-blue-300`}:{key:`approval`,label:`Guarded`,title:`Approval mode: guarded`,Icon:Re,className:`border-amber-500/30 bg-amber-500/10 text-amber-300`}}function Ll(e){let t=Rl(e.meta?.workspace),n=St(t.requestedMode)||St(e.meta?.workspaceMode),r=St(t.mode),i=n&&n!==`inherit`?n:r&&n!==`inherit`?r:`default`;return i===`isolated`?{key:`workspace`,label:`Isolated`,title:`Workspace: isolated worktree`,Icon:et,iconColor:`text-violet-300`,className:`border-violet-500/30 bg-violet-500/10 text-violet-300`}:i===`shared`?{key:`workspace`,label:`Shared`,title:`Workspace: shared repo checkout`,Icon:s,iconColor:`text-cyan-300`,className:`border-cyan-500/30 bg-cyan-500/10 text-cyan-300`}:{key:`workspace`,label:`Default`,title:r?`Workspace: default/inherit, resolved to ${r}`:`Workspace: default/inherit`,Icon:ve,iconColor:`text-zinc-400`,className:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`}}function Rl(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function zl(e){let t=Rl(e.meta?.workspace),n=St(t.repoRoot)||St(t.sourceCwd)||St(e.meta?.cwd);return n?ot(n,2):``}function G(e){return!!(e.context||e.providerCapabilities?.context)}function K(e){let t=e.providerCapabilities,n=e.context,r=[];t?.lifecycle.managed?r.push(`managed`):t&&r.push(`bridge`),t?.session?.approvalMode===`read-only`?r.push(`read-only`):t?.session?.fileWrite&&r.push(`write`),t?.session?.shell&&r.push(`shell`),(t?.model?.alias||t?.model?.id)&&r.push(String(t.model.alias||t.model.id));let i=zt(e).length;if(i&&r.push(i===1?`1 subagent`:`${i} subagents`),n){let e=Y(n);r.push(e===null?`ctx collecting`:`${Math.round(e*100)}% ctx`)}return r}function q({context:e,expected:t=!!e,size:n=26,className:r}){let i=Y(e);if(i===null&&!t)return null;let a=n>=24?3:2.5,o=n/2,s=o-a,c=2*Math.PI*s,l=i===null?c:c*(1-i),u=i===null,d=u?`text-muted-foreground`:i>.8?`text-red-400`:i>.5?`text-yellow-400`:`text-emerald-400`,f=u?null:Math.round(i*100);return(0,B.jsxs)(`div`,{className:`relative shrink-0 ${u?`opacity-70`:``} ${r??``}`,style:{width:n,height:n},title:Bl(e),children:[(0,B.jsxs)(`svg`,{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:`rotate-[-90deg]`,children:[(0,B.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,className:`stroke-muted-foreground/20`}),(0,B.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,strokeDasharray:c,strokeDashoffset:l,strokeLinecap:`round`,className:`${d} stroke-current transition-all duration-500`})]}),(0,B.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center font-semibold leading-none ${u?`text-muted-foreground`:d}`,style:{fontSize:n>=24?8:7},children:u?`?`:f})]})}function J(e){let t=e.context;return!t?.tokensUsed&&!t?.tokensMax?null:t.tokensUsed&&t.tokensMax?`${Vl(t.tokensUsed)} / ${Vl(t.tokensMax)}`:t.tokensUsed?Vl(t.tokensUsed):t.tokensMax?Vl(t.tokensMax):null}function Y(e){return!e||typeof e.utilization!=`number`||!Number.isFinite(e.utilization)?null:Math.min(1,Math.max(0,e.utilization))}function Bl(e){if(!e)return`Context: collecting; provider has not reported usage yet`;let t=Y(e),n=`${e.source}/${e.confidence}`,r=Number.isFinite(e.lastUpdatedAt)?new Date(e.lastUpdatedAt).toLocaleString():`unknown`;return t===null?`Context: unknown; ${n}; updated ${r}`:`Context: ${Math.round(t*100)}%; ${n}; updated ${r}`}function Vl(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${Math.round(e/1e3)}K`:String(e)}var Hl=(0,z.lazy)(()=>R(()=>import(`./terminal-viewer-impl-BDikdsxs.js`).then(e=>({default:e.TerminalDialog})),__vite__mapDeps([7,1,6,8,9,10,11,12,13]),import.meta.url));function Ul(e){return e.open?(0,B.jsx)(z.Suspense,{fallback:null,children:(0,B.jsx)(Hl,{...e})}):null}function Wl({orchestratorId:e,session:t,lines:n=200}){let r=j(e=>e.apiCall),[i,a]=(0,z.useState)([]),[o,s]=(0,z.useState)(``),[c,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(`provider`),[p,m]=(0,z.useState)(null);async function h(){if(!c)try{a((await r(`GET`,`/orchestrators/${encodeURIComponent(e)}/logs/${encodeURIComponent(t)}?lines=${n}${d===`mirror`?`&stream=mirror`:``}`)).lines||[]),m(null)}catch(e){m(ft(e))}}(0,z.useEffect)(()=>{h();let e=setInterval(()=>void h(),1500);return()=>clearInterval(e)},[e,t,c,d]);let g=o?i.filter(e=>e.toLowerCase().includes(o.toLowerCase())):i;return(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,B.jsxs)(`div`,{className:`relative min-w-48 flex-1`,children:[(0,B.jsx)(l,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,B.jsx)(L,{className:`pl-8`,value:o,onChange:e=>s(e.target.value),placeholder:`Search logs`})]}),(0,B.jsxs)(`div`,{className:`flex rounded-md border border-border overflow-hidden`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>f(`provider`),title:`Provider output`,className:T(`flex items-center gap-1 px-2 py-1.5 text-xs`,d===`provider`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,B.jsx)(xe,{className:`h-3.5 w-3.5`}),` Output`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>f(`mirror`),title:`Session-mirror diagnostics (clean)`,className:T(`flex items-center gap-1 px-2 py-1.5 text-xs border-l border-border`,d===`mirror`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,B.jsx)(_e,{className:`h-3.5 w-3.5`}),` Mirror`]})]}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>u(e=>!e),title:c?`Resume logs`:`Pause logs`,children:c?(0,B.jsx)(oe,{className:`h-4 w-4`}):(0,B.jsx)(fe,{className:`h-4 w-4`})}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>Lt(`${t}.log`,i.join(`
|
|
14
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return z.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},cr=`DialogDescriptionWarning`,lr=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${or(cr).contentName}}.`;return z.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ur=Fn,dr=Vn,fr=Un,pr=qn,mr=Qn,hr=er,gr=nr,_r=`rovingFocusGroup.onEntryFocus`,vr={bubbles:!1,cancelable:!0},yr=`RovingFocusGroup`,[br,xr,Sr]=an(yr),[Cr,wr]=Qt(yr,[Sr]),[Tr,Er]=Cr(yr),Dr=z.forwardRef((e,t)=>(0,B.jsx)(br.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(br.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(Or,{...e,ref:t})})}));Dr.displayName=yr;var Or=z.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=z.useRef(null),p=Jt(t,f),m=_n(a),[h,g]=cn({prop:o,defaultProp:s??null,onChange:c,caller:yr}),[_,v]=z.useState(!1),y=vn(l),b=xr(n),x=z.useRef(!1),[S,C]=z.useState(0);return z.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(_r,y),()=>e.removeEventListener(_r,y)},[y]),(0,B.jsx)(Tr,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:z.useCallback(e=>g(e),[g]),onItemShiftTab:z.useCallback(()=>v(!0),[]),onFocusableItemAdd:z.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:z.useCallback(()=>C(e=>e-1),[]),children:(0,B.jsx)(N.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:P(e.onMouseDown,()=>{x.current=!0}),onFocus:P(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(_r,vr);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Pr([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:P(e.onBlur,()=>v(!1))})})}),kr=`RovingFocusGroupItem`,Ar=z.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=hn(),l=a||c,u=Er(kr,n),d=u.currentTabStopId===l,f=xr(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return z.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,B.jsx)(br.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,B.jsx)(N.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:P(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:P(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:P(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Nr(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Fr(n,r+1):n.slice(r+1)}setTimeout(()=>Pr(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});Ar.displayName=kr;var jr={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Mr(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Nr(e,t,n){let r=Mr(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return jr[r]}function Pr(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Fr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Ir=Dr,Lr=Ar,Rr=[`Enter`,` `],zr=[`ArrowDown`,`PageUp`,`Home`],Br=[`ArrowUp`,`PageDown`,`End`],Vr=[...zr,...Br],Hr={ltr:[...Rr,`ArrowRight`],rtl:[...Rr,`ArrowLeft`]},Ur={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Wr=`Menu`,[Gr,Kr,qr]=an(Wr),[Jr,Yr]=Qt(Wr,[qr,tn,wr]),Xr=tn(),Zr=wr(),[Qr,$r]=Jr(Wr),[ei,ti]=Jr(Wr),ni=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Xr(t),[c,l]=z.useState(null),u=z.useRef(!1),d=vn(a),f=_n(i);return z.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,B.jsx)(nn,{...s,children:(0,B.jsx)(Qr,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,B.jsx)(ei,{scope:t,onClose:z.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};ni.displayName=Wr;var ri=`MenuAnchor`,ii=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Xr(n);return(0,B.jsx)(sn,{...i,...r,ref:t})});ii.displayName=ri;var ai=`MenuPortal`,[oi,si]=Jr(ai,{forceMount:void 0}),ci=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=$r(ai,t);return(0,B.jsx)(oi,{scope:t,forceMount:n,children:(0,B.jsx)(ln,{present:n||a.open,children:(0,B.jsx)(dn,{asChild:!0,container:i,children:r})})})};ci.displayName=ai;var li=`MenuContent`,[ui,di]=Jr(li),fi=z.forwardRef((e,t)=>{let n=si(li,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=$r(li,e.__scopeMenu),o=ti(li,e.__scopeMenu);return(0,B.jsx)(Gr.Provider,{scope:e.__scopeMenu,children:(0,B.jsx)(ln,{present:r||a.open,children:(0,B.jsx)(Gr.Slot,{scope:e.__scopeMenu,children:o.modal?(0,B.jsx)(pi,{...i,ref:t}):(0,B.jsx)(mi,{...i,ref:t})})})})}),pi=z.forwardRef((e,t)=>{let n=$r(li,e.__scopeMenu),r=z.useRef(null),i=Jt(t,r);return z.useEffect(()=>{let e=r.current;if(e)return gn(e)},[]),(0,B.jsx)(gi,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:P(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),mi=z.forwardRef((e,t)=>{let n=$r(li,e.__scopeMenu);return(0,B.jsx)(gi,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),hi=Yt(`MenuContent.ScrollLock`),gi=z.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=$r(li,n),_=ti(li,n),v=Xr(n),y=Zr(n),b=Kr(n),[x,S]=z.useState(null),C=z.useRef(null),ee=Jt(t,C,g.onContentChange),te=z.useRef(0),ne=z.useRef(``),w=z.useRef(0),T=z.useRef(null),re=z.useRef(`right`),ie=z.useRef(0),ae=m?fn:z.Fragment,oe=m?{as:hi,allowPinchZoom:!0}:void 0,se=e=>{let t=ne.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=$i(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){ne.current=t,window.clearTimeout(te.current),t!==``&&(te.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};z.useEffect(()=>()=>window.clearTimeout(te.current),[]),mn();let E=z.useCallback(e=>re.current===T.current?.side&&ta(e,T.current?.area),[]);return(0,B.jsx)(ui,{scope:n,searchRef:ne,onItemEnter:z.useCallback(e=>{E(e)&&e.preventDefault()},[E]),onItemLeave:z.useCallback(e=>{E(e)||(C.current?.focus(),S(null))},[E]),onTriggerLeave:z.useCallback(e=>{E(e)&&e.preventDefault()},[E]),pointerGraceTimerRef:w,onPointerGraceIntentChange:z.useCallback(e=>{T.current=e},[]),children:(0,B.jsx)(ae,{...oe,children:(0,B.jsx)(un,{asChild:!0,trapped:i,onMountAutoFocus:P(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,B.jsx)(pn,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,B.jsx)(Ir,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:P(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,B.jsx)(on,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ji(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:ee,style:{outline:`none`,...h.style},onKeyDown:P(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&se(e.key));let i=C.current;if(e.target!==i||!Vr.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);Br.includes(e.key)&&a.reverse(),Zi(a)}),onBlur:P(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(te.current),ne.current=``)}),onPointerMove:P(e.onPointerMove,na(e=>{let t=e.target,n=ie.current!==e.clientX;e.currentTarget.contains(t)&&n&&(re.current=e.clientX>ie.current?`right`:`left`,ie.current=e.clientX)}))})})})})})})});fi.displayName=li;var _i=`MenuGroup`,vi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{role:`group`,...r,ref:t})});vi.displayName=_i;var yi=`MenuLabel`,bi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{...r,ref:t})});bi.displayName=yi;var xi=`MenuItem`,Si=`menu.itemSelect`,Ci=z.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=z.useRef(null),o=ti(xi,e.__scopeMenu),s=di(xi,e.__scopeMenu),c=Jt(t,a),l=z.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Si,{bubbles:!0,cancelable:!0});e.addEventListener(Si,e=>r?.(e),{once:!0}),Zt(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,B.jsx)(wi,{...i,ref:c,disabled:n,onClick:P(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:P(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:P(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||Rr.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Ci.displayName=xi;var wi=z.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=di(xi,n),s=Zr(n),c=z.useRef(null),l=Jt(t,c),[u,d]=z.useState(!1),[f,p]=z.useState(``);return z.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,B.jsx)(Gr.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,B.jsx)(Lr,{asChild:!0,...s,focusable:!r,children:(0,B.jsx)(N.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:P(e.onPointerMove,na(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:P(e.onPointerLeave,na(e=>o.onItemLeave(e))),onFocus:P(e.onFocus,()=>d(!0)),onBlur:P(e.onBlur,()=>d(!1))})})})}),Ti=`MenuCheckboxItem`,Ei=z.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,B.jsx)(Ni,{scope:e.__scopeMenu,checked:n,children:(0,B.jsx)(Ci,{role:`menuitemcheckbox`,"aria-checked":Yi(n)?`mixed`:n,...i,ref:t,"data-state":Xi(n),onSelect:P(i.onSelect,()=>r?.(Yi(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ei.displayName=Ti;var Di=`MenuRadioGroup`,[Oi,ki]=Jr(Di,{value:void 0,onValueChange:()=>{}}),Ai=z.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=vn(r);return(0,B.jsx)(Oi,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,B.jsx)(vi,{...i,ref:t})})});Ai.displayName=Di;var ji=`MenuRadioItem`,Mi=z.forwardRef((e,t)=>{let{value:n,...r}=e,i=ki(ji,e.__scopeMenu),a=n===i.value;return(0,B.jsx)(Ni,{scope:e.__scopeMenu,checked:a,children:(0,B.jsx)(Ci,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Xi(a),onSelect:P(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Mi.displayName=ji;var V=`MenuItemIndicator`,[Ni,Pi]=Jr(V,{checked:!1}),Fi=z.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Pi(V,n);return(0,B.jsx)(ln,{present:r||Yi(a.checked)||a.checked===!0,children:(0,B.jsx)(N.span,{...i,ref:t,"data-state":Xi(a.checked)})})});Fi.displayName=V;var Ii=`MenuSeparator`,Li=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,B.jsx)(N.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Li.displayName=Ii;var Ri=`MenuArrow`,zi=z.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Xr(n);return(0,B.jsx)(rn,{...i,...r,ref:t})});zi.displayName=Ri;var Bi=`MenuSub`,[Vi,Hi]=Jr(Bi),Ui=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=$r(Bi,t),o=Xr(t),[s,c]=z.useState(null),[l,u]=z.useState(null),d=vn(i);return z.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,B.jsx)(nn,{...o,children:(0,B.jsx)(Qr,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,B.jsx)(Vi,{scope:t,contentId:hn(),triggerId:hn(),trigger:s,onTriggerChange:c,children:n})})})};Ui.displayName=Bi;var Wi=`MenuSubTrigger`,Gi=z.forwardRef((e,t)=>{let n=$r(Wi,e.__scopeMenu),r=ti(Wi,e.__scopeMenu),i=Hi(Wi,e.__scopeMenu),a=di(Wi,e.__scopeMenu),o=z.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=z.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return z.useEffect(()=>u,[u]),z.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,B.jsx)(ii,{asChild:!0,...l,children:(0,B.jsx)(wi,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Ji(n.open),...e,ref:Kt(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:P(e.onPointerMove,na(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:P(e.onPointerLeave,na(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:P(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Hr[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Gi.displayName=Wi;var Ki=`MenuSubContent`,qi=z.forwardRef((e,t)=>{let n=si(li,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=$r(li,e.__scopeMenu),o=ti(li,e.__scopeMenu),s=Hi(Ki,e.__scopeMenu),c=z.useRef(null),l=Jt(t,c);return(0,B.jsx)(Gr.Provider,{scope:e.__scopeMenu,children:(0,B.jsx)(ln,{present:r||a.open,children:(0,B.jsx)(Gr.Slot,{scope:e.__scopeMenu,children:(0,B.jsx)(gi,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:P(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:P(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:P(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Ur[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});qi.displayName=Ki;function Ji(e){return e?`open`:`closed`}function Yi(e){return e===`indeterminate`}function Xi(e){return Yi(e)?`indeterminate`:e?`checked`:`unchecked`}function Zi(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Qi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function $i(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Qi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ea(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function ta(e,t){return t?ea({x:e.clientX,y:e.clientY},t):!1}function na(e){return t=>t.pointerType===`mouse`?e(t):void 0}var ra=ni,ia=ii,aa=ci,oa=fi,sa=vi,ca=bi,la=Ci,ua=Ei,da=Ai,fa=Mi,pa=Fi,ma=Li,ha=zi,ga=Gi,_a=qi,va=`DropdownMenu`,[ya,ba]=Qt(va,[Yr]),xa=Yr(),[Sa,Ca]=ya(va),wa=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=xa(t),l=z.useRef(null),[u,d]=cn({prop:i,defaultProp:a??!1,onChange:o,caller:va});return(0,B.jsx)(Sa,{scope:t,triggerId:hn(),triggerRef:l,contentId:hn(),open:u,onOpenChange:d,onOpenToggle:z.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,B.jsx)(ra,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};wa.displayName=va;var Ta=`DropdownMenuTrigger`,Ea=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=Ca(Ta,n),o=xa(n);return(0,B.jsx)(ia,{asChild:!0,...o,children:(0,B.jsx)(N.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:Kt(t,a.triggerRef),onPointerDown:P(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:P(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Ea.displayName=Ta;var Da=`DropdownMenuPortal`,Oa=e=>{let{__scopeDropdownMenu:t,...n}=e,r=xa(t);return(0,B.jsx)(aa,{...r,...n})};Oa.displayName=Da;var ka=`DropdownMenuContent`,Aa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Ca(ka,n),a=xa(n),o=z.useRef(!1);return(0,B.jsx)(oa,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:P(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:P(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Aa.displayName=ka;var ja=`DropdownMenuGroup`,Ma=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(sa,{...i,...r,ref:t})});Ma.displayName=ja;var Na=`DropdownMenuLabel`,Pa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ca,{...i,...r,ref:t})});Pa.displayName=Na;var Fa=`DropdownMenuItem`,Ia=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(la,{...i,...r,ref:t})});Ia.displayName=Fa;var La=`DropdownMenuCheckboxItem`,Ra=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ua,{...i,...r,ref:t})});Ra.displayName=La;var za=`DropdownMenuRadioGroup`,Ba=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(da,{...i,...r,ref:t})});Ba.displayName=za;var Va=`DropdownMenuRadioItem`,Ha=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(fa,{...i,...r,ref:t})});Ha.displayName=Va;var Ua=`DropdownMenuItemIndicator`,Wa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(pa,{...i,...r,ref:t})});Wa.displayName=Ua;var Ga=`DropdownMenuSeparator`,Ka=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ma,{...i,...r,ref:t})});Ka.displayName=Ga;var qa=`DropdownMenuArrow`,Ja=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ha,{...i,...r,ref:t})});Ja.displayName=qa;var Ya=`DropdownMenuSubTrigger`,Xa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(ga,{...i,...r,ref:t})});Xa.displayName=Ya;var Za=`DropdownMenuSubContent`,Qa=z.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=xa(n);return(0,B.jsx)(_a,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Qa.displayName=Za;var $a=wa,eo=Ea,to=Oa,no=Aa,ro=Pa,io=Ia,ao=Ka,oo=`Label`,so=z.forwardRef((e,t)=>(0,B.jsx)(N.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));so.displayName=oo;var co=so;function lo(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var uo=`ScrollArea`,[H,U]=Qt(uo),[fo,po]=H(uo),mo=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=z.useState(null),[l,u]=z.useState(null),[d,f]=z.useState(null),[p,m]=z.useState(null),[h,g]=z.useState(null),[_,v]=z.useState(0),[y,b]=z.useState(0),[x,S]=z.useState(!1),[C,ee]=z.useState(!1),te=Jt(t,e=>c(e)),ne=_n(i);return(0,B.jsx)(fo,{scope:n,type:r,dir:ne,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:ee,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,B.jsx)(N.div,{dir:ne,...o,ref:te,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});mo.displayName=uo;var ho=`ScrollAreaViewport`,go=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=po(ho,n),s=Jt(t,z.useRef(null),o.onViewportChange);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,B.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,B.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});go.displayName=ho;var _o=`ScrollAreaScrollbar`,vo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return z.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,B.jsx)(yo,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,B.jsx)(bo,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,B.jsx)(xo,{...r,ref:t,forceMount:n}):i.type===`always`?(0,B.jsx)(So,{...r,ref:t}):null});vo.displayName=_o;var yo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),[a,o]=z.useState(!1);return z.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,B.jsx)(ln,{present:n||a,children:(0,B.jsx)(xo,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),bo=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=po(_o,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Ho(()=>c(`SCROLL_END`),100),[s,c]=lo(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return z.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),z.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,B.jsx)(ln,{present:n||s!==`hidden`,children:(0,B.jsx)(So,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:P(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:P(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),xo=z.forwardRef((e,t)=>{let n=po(_o,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=z.useState(!1),s=e.orientation===`horizontal`,c=Ho(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Uo(n.viewport,c),Uo(n.content,c),(0,B.jsx)(ln,{present:r||a,children:(0,B.jsx)(So,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),So=z.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=po(_o,e.__scopeScrollArea),a=z.useRef(null),o=z.useRef(0),[s,c]=z.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Fo(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Lo(e,o.current,s,t)}return n===`horizontal`?(0,B.jsx)(Co,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ro(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,B.jsx)(wo,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ro(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),Co=z.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=po(_o,e.__scopeScrollArea),[o,s]=z.useState(),c=z.useRef(null),l=Jt(t,c,a.onScrollbarXChange);return z.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,B.jsx)(Do,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Io(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Bo(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Po(o.paddingLeft),paddingEnd:Po(o.paddingRight)}})}})}),wo=z.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=po(_o,e.__scopeScrollArea),[o,s]=z.useState(),c=z.useRef(null),l=Jt(t,c,a.onScrollbarYChange);return z.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,B.jsx)(Do,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Io(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Bo(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Po(o.paddingTop),paddingEnd:Po(o.paddingBottom)}})}})}),[To,Eo]=H(_o),Do=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=po(_o,n),[m,h]=z.useState(null),g=Jt(t,e=>h(e)),_=z.useRef(null),v=z.useRef(``),y=p.viewport,b=r.content-r.viewport,x=vn(u),S=vn(c),C=Ho(d,10);function ee(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return z.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),z.useEffect(S,[r,S]),Uo(m,C),Uo(p.content,C),(0,B.jsx)(To,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:vn(a),onThumbPointerUp:vn(o),onThumbPositionChange:S,onThumbPointerDown:vn(s),children:(0,B.jsx)(N.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:P(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),ee(e))}),onPointerMove:P(e.onPointerMove,ee),onPointerUp:P(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Oo=`ScrollAreaThumb`,ko=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Eo(Oo,e.__scopeScrollArea);return(0,B.jsx)(ln,{present:n||i.hasThumb,children:(0,B.jsx)(Ao,{ref:t,...r})})}),Ao=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=po(Oo,n),o=Eo(Oo,n),{onThumbPositionChange:s}=o,c=Jt(t,e=>o.onThumbChange(e)),l=z.useRef(void 0),u=Ho(()=>{l.current&&=(l.current(),void 0)},100);return z.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=Vo(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,B.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:P(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:P(e.onPointerUp,o.onThumbPointerUp)})});ko.displayName=Oo;var jo=`ScrollAreaCorner`,Mo=z.forwardRef((e,t)=>{let n=po(jo,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,B.jsx)(No,{...e,ref:t}):null});Mo.displayName=jo;var No=z.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=po(jo,n),[a,o]=z.useState(0),[s,c]=z.useState(0),l=!!(a&&s);return Uo(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Uo(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,B.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Po(e){return e?parseInt(e,10):0}function Fo(e,t){let n=e/t;return isNaN(n)?0:n}function Io(e){let t=Fo(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Lo(e,t,n,r=`ltr`){let i=Io(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return zo([c,l],d)(e)}function Ro(e,t,n=`ltr`){let r=Io(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=bn(e,n===`ltr`?[0,o]:[o*-1,0]);return zo([0,o],[0,s])(c)}function zo(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Bo(e,t){return e>0&&e<t}var Vo=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Ho(e,t){let n=vn(e),r=z.useRef(0);return z.useEffect(()=>()=>window.clearTimeout(r.current),[]),z.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Uo(e,t){let n=vn(t);en(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Wo=mo,Go=go,Ko=Mo,qo=`Separator`,Jo=`horizontal`,Yo=[`horizontal`,`vertical`],Xo=z.forwardRef((e,t)=>{let{decorative:n,orientation:r=Jo,...i}=e,a=Zo(r)?r:Jo,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,B.jsx)(N.div,{"data-orientation":a,...o,...i,ref:t})});Xo.displayName=qo;function Zo(e){return Yo.includes(e)}var Qo=Xo,$o=`Tabs`,[es,ts]=Qt($o,[wr]),ns=wr(),[rs,is]=es($o),as=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=_n(s),[d,f]=cn({prop:r,onChange:i,defaultProp:a??``,caller:$o});return(0,B.jsx)(rs,{scope:n,baseId:hn(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,B.jsx)(N.div,{dir:u,"data-orientation":o,...l,ref:t})})});as.displayName=$o;var os=`TabsList`,ss=z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=is(os,n),o=ns(n);return(0,B.jsx)(Ir,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,B.jsx)(N.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});ss.displayName=os;var cs=`TabsTrigger`,ls=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=is(cs,n),s=ns(n),c=fs(o.baseId,r),l=ps(o.baseId,r),u=r===o.value;return(0,B.jsx)(Lr,{asChild:!0,...s,focusable:!i,active:u,children:(0,B.jsx)(N.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:P(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:P(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:P(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});ls.displayName=cs;var us=`TabsContent`,ds=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=is(us,n),c=fs(s.baseId,r),l=ps(s.baseId,r),u=r===s.value,d=z.useRef(u);return z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,B.jsx)(ln,{present:i||u,children:({present:n})=>(0,B.jsx)(N.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});ds.displayName=us;function fs(e,t){return`${e}-trigger-${t}`}function ps(e,t){return`${e}-content-${t}`}var ms=as,hs=ss,gs=ls,_s=ds,[vs,ys]=Qt(`Tooltip`,[tn]),bs=tn(),xs=`TooltipProvider`,Ss=700,Cs=`tooltip.open`,[ws,Ts]=vs(xs),Es=e=>{let{__scopeTooltip:t,delayDuration:n=Ss,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=z.useRef(!0),s=z.useRef(!1),c=z.useRef(0);return z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,B.jsx)(ws,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:z.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:z.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Es.displayName=xs;var Ds=`Tooltip`,[Os,ks]=vs(Ds),As=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ts(Ds,e.__scopeTooltip),l=bs(t),[u,d]=z.useState(null),f=hn(),p=z.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=z.useRef(!1),[_,v]=cn({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Cs))):c.onClose(),a?.(e)},caller:Ds}),y=z.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=z.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return z.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,B.jsx)(nn,{...l,children:(0,B.jsx)(Os,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:z.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:z.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};As.displayName=Ds;var js=`TooltipTrigger`,Ms=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=ks(js,n),a=Ts(js,n),o=bs(n),s=Jt(t,z.useRef(null),i.onTriggerChange),c=z.useRef(!1),l=z.useRef(!1),u=z.useCallback(()=>c.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,B.jsx)(sn,{asChild:!0,...o,children:(0,B.jsx)(N.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:P(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:P(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:P(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:P(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:P(e.onBlur,i.onClose),onClick:P(e.onClick,i.onClose)})})});Ms.displayName=js;var Ns=`TooltipPortal`,[Ps,Fs]=vs(Ns,{forceMount:void 0}),Is=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=ks(Ns,t);return(0,B.jsx)(Ps,{scope:t,forceMount:n,children:(0,B.jsx)(ln,{present:n||a.open,children:(0,B.jsx)(dn,{asChild:!0,container:i,children:r})})})};Is.displayName=Ns;var Ls=`TooltipContent`,Rs=z.forwardRef((e,t)=>{let n=Fs(Ls,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=ks(Ls,e.__scopeTooltip);return(0,B.jsx)(ln,{present:r||o.open,children:o.disableHoverableContent?(0,B.jsx)(Us,{side:i,...a,ref:t}):(0,B.jsx)(zs,{side:i,...a,ref:t})})}),zs=z.forwardRef((e,t)=>{let n=ks(Ls,e.__scopeTooltip),r=Ts(Ls,e.__scopeTooltip),i=z.useRef(null),a=Jt(t,i),[o,s]=z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=z.useCallback(()=>{s(null),d(!1)},[d]),p=z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=qs(r,Ks(r,n.getBoundingClientRect())),a=Js(t.getBoundingClientRect());s(Xs([...i,...a])),d(!0)},[d]);return z.useEffect(()=>()=>f(),[f]),z.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),z.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Ys(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,B.jsx)(Us,{...e,ref:a})}),[Bs,Vs]=vs(Ds,{isInside:!1}),Hs=qt(`TooltipContent`),Us=z.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=ks(Ls,n),l=bs(n),{onClose:u}=c;return z.useEffect(()=>(document.addEventListener(Cs,u),()=>document.removeEventListener(Cs,u)),[u]),z.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,B.jsx)(pn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,B.jsxs)(on,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,B.jsx)(Hs,{children:r}),(0,B.jsx)(Bs,{scope:n,isInside:!0,children:(0,B.jsx)(kn,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Rs.displayName=Ls;var Ws=`TooltipArrow`,Gs=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=bs(n);return Vs(Ws,n).isInside?null:(0,B.jsx)(rn,{...i,...r,ref:t})});Gs.displayName=Ws;function Ks(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function qs(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Js(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Ys(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Xs(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Zs(t)}function Zs(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Qs=Es,$s=Tn();function ec({delayDuration:e=0,...t}){return(0,B.jsx)(Qs,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function W(e){return j(e)}function tc(){let e=W(e=>e.pairs);return(0,z.useMemo)(()=>{let t={};for(let n of e)(n.status===`active`||n.status===`pending`)&&(n.requesterId&&(t[n.requesterId]=n),n.targetId&&(t[n.targetId]=n));return t},[e])}function nc(e){let t=W(e=>e.messages),n=W(e=>e.tasks),r=W(e=>e.pairs),i=W(e=>e.inboxReadCursors),a=W(e=>e.inboxArchivedThreads);return(0,z.useMemo)(()=>{if(!e)return{unread:0,needsHumanResponse:!1,pendingPairInvite:!1,claimableTasks:0,total:0,score:0};let o=t.filter(t=>wt(t)===e.id&&!Vt(t)),s=Number(a[e.id]||0),c=s>=o.filter(e=>st(e)&&Et(e)).reduce((e,t)=>Math.max(e,t.id),0)&&s>0?0:o.filter(t=>lt(i,e.id,t)).length,l=Rt(e),u=r.find(t=>(t.status===`active`||t.status===`pending`)&&(t.requesterId===e.id||t.targetId===e.id))?.status===`pending`,d=n.filter(t=>_t(t)&&Bt(t.target,e)).length+t.filter(t=>Ht(t)&&Bt(t.to,e)).length;return{unread:c,needsHumanResponse:l,pendingPairInvite:u,claimableTasks:d,total:c+ +!!l+ +!!u+d,score:c*10+(l?8:0)+(u?4:0)+d*2}},[e,t,n,r,i,a])}function rc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.agentSort),i=W(e=>e.agentSortDir),a=W(e=>e.agentPresetFilter),o=W(e=>e.agentStatusFilter),s=W(e=>e.agentTagFilter),c=W(e=>e.agentHostFilter),l=W(e=>e.managedPolicies),u=W(e=>e.pairs);return(0,z.useMemo)(()=>{let d=pt(e,t,l);if(a){let e=ic(u);d=ac(d,a,at.getState().now,e)}n||(d=d.filter(e=>e.status!==`offline`)),o===`starting`?d=d.filter(e=>e.status!==`offline`&&!e.ready):o&&(d=d.filter(e=>e.status===o)),s&&(d=d.filter(e=>(e.tags||[]).includes(s))),c&&(d=d.filter(e=>(e.machine||``)===c));let f=i===`desc`?-1:1;return[...d].sort((e,t)=>r===`name`?M(e).localeCompare(M(t))*f:r===`lastSeen`?(new Date(t.lastSeen).getTime()-new Date(e.lastSeen).getTime())*f||M(e).localeCompare(M(t)):r===`created`?(new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())*f||M(e).localeCompare(M(t)):((Mt[e.status]??9)-(Mt[t.status]??9))*f||M(e).localeCompare(M(t)))},[e,t,n,l,r,i,a,o,s,c,u,nt()])}function ic(e){let t={};for(let n of e)(n.status===`active`||n.status===`pending`)&&(n.requesterId&&(t[n.requesterId]=n),n.targetId&&(t[n.targetId]=n));return t}function ac(e,t,n,r){switch(t){case`active`:return e.filter(e=>e.status!==`offline`);case`offline_stale`:return e.filter(e=>e.status===`offline`||Ut(n,e));case`claude`:case`codex`:return e.filter(e=>Ft(e)===t);case`paired`:return e.filter(e=>!!r[e.id]);case`unpaired`:return e.filter(e=>!r[e.id]);default:return e}}function oc(){let e=W(e=>e.messages),t=W(e=>e.inboxReadCursors),n=W(e=>e.inboxArchivedThreads),r=W(e=>e.inboxDrafts),i=W(e=>e.agentsById);return(0,z.useMemo)(()=>{let a=new Map;for(let t of e){if(Vt(t))continue;let e=wt(t);e&&(a.has(e)||a.set(e,{id:e,peer:e,messages:[],lastMessage:null,previewMessage:null,attention:{unread:0,needsHumanResponse:!1,score:0},archived:!1,draft:``}),a.get(e).messages.push(t))}for(let e of a.values()){e.messages.sort((e,t)=>e.id-t.id),e.lastMessage=e.messages[e.messages.length-1]||null;let a=null;for(let t=e.messages.length-1;t>=0;t--){let n=e.messages[t];if(n&&!vt(n)){a=n;break}}e.previewMessage=a||e.lastMessage;let o=e.messages.filter(n=>lt(t,e.peer,n)).length,s=Rt(i[e.peer]);e.attention={unread:o,needsHumanResponse:s,score:o*10+(s?8:0)};let c=Number(n[e.peer]||0);e.archived=!!(e.lastMessage?.id&&c>=e.lastMessage.id),e.draft=r[e.peer]||``}return[...a.values()].sort((e,t)=>{let n=(t.attention.score||0)-(e.attention.score||0);return n===0?(t.lastMessage?.id||0)-(e.lastMessage?.id||0):n})},[e,t,n,r,i])}function sc(){let e=oc(),t=W(e=>e.agents),n=W(e=>e.showBuiltIns),r=W(e=>e.showOffline),i=W(e=>e.managedPolicies),a=W(e=>e.pairs),o=W(e=>e.tasks),s=W(e=>e.messages),c=(0,z.useMemo)(()=>new Set(pt(t,n,i).filter(e=>r||e.status!==`offline`).map(e=>e.id)),[t,n,r,i]);return(0,z.useMemo)(()=>{let l=e.filter(e=>!e.archived&&c.has(e.peer)).reduce((e,t)=>e+(t.attention.unread||0),0),u=pt(t,n,i).filter(e=>(r||e.status!==`offline`)&&Rt(e)).length,d=a.filter(e=>e.status===`pending`).length,f=o.filter(_t).length+s.filter(Ht).length;return{unreadInbox:l,needsHumanResponse:u,pendingPairInvites:d,claimableTasks:f,total:l+u+d+f}},[e,c,t,n,r,i,a,o,s])}function cc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>pt(e,t,n).filter(e=>e.status!==`offline`).length,[e,t,n])}function lc(){let e=W(e=>e.agents);return(0,z.useMemo)(()=>e.filter(e=>e.status===`busy`).length,[e])}function uc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>{let i=pt(e,t,r);return n?i:i.filter(e=>e.status!==`offline`)},[e,t,n,r])}function dc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>[...new Set(pt(e,t,n).map(e=>e.machine).filter(Boolean))].sort(),[e,t,n])}function fc(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>[...new Set(pt(e,t,n).flatMap(e=>e.tags||[]))],[e,t,n])}function pc(){let e=W(e=>e.tasks),t=W(e=>e.messages);return(0,z.useMemo)(()=>{let n=e.filter(e=>!gt.has(e.status)).map(e=>({id:`task-`+e.id,sourceType:`task`,title:e.title,body:e.body,severity:e.severity||`info`,status:e.status,owner:e.claimedBy||``,target:e.target,source:e.source,channel:e.channel||``,updatedAt:e.updatedAt||e.createdAt,createdAt:e.createdAt,claimable:_t(e),task:e})),r=t.filter(Ht).map(e=>({id:`message-`+e.id,sourceType:`message`,title:e.subject||`Claimable message #`+e.id,body:ct(e),severity:`warning`,status:e.claimedBy?`claimed`:`open`,owner:e.claimedBy||``,target:e.to,source:`message`,channel:e.channel||``,updatedAt:e.claimedAt||e.createdAt,createdAt:e.createdAt,claimable:Ht(e),message:e}));return[...n,...r].sort((e,t)=>{let n=Number(t.claimable)-Number(e.claimable);if(n!==0)return n;let r={critical:0,warning:1,info:2},i=(r[e.severity]??9)-(r[t.severity]??9);return i===0?yt(e.updatedAt)-yt(t.updatedAt):i})},[e,t])}function mc(){let e=W(e=>e.commandQuery),t=W(e=>e.agents),n=W(e=>e.agentsById),r=W(e=>e.showBuiltIns),i=W(e=>e.showOffline),a=W(e=>e.managedPolicies);return(0,z.useMemo)(()=>{let n=pt(t,r,a).filter(e=>i||e.status!==`offline`),o=[...new Set(n.flatMap(e=>e.tags||[]))],s=y(),c=[hc(`open-chat`,`Open chat`,`Human console`,`MessageCircle`,`openView`,{view:`chat`}),hc(`open-work`,`Open work queue`,`Claimable messages and tasks`,`ListChecks`,`openView`,{view:`work`}),hc(`open-workspaces`,`Open workspaces`,`Agent worktrees and merge state`,`GitBranch`,`openView`,{view:`workspaces`}),hc(`show-stale`,`Show stale agents`,`Filter agents to offline or stale`,`Filter`,`agentPreset`,{preset:`offline_stale`}),hc(`copy-url`,`Copy relay URL`,s,`Copy`,`copy`,{value:s}),hc(`export-md`,`Export timeline as Markdown`,`Activity audit trace`,`FileDown`,`exportActivity`,{format:`markdown`}),hc(`export-json`,`Export timeline as JSON`,`Activity audit trace`,`Braces`,`exportActivity`,{format:`json`}),...n.slice(0,12).map(e=>hc(`msg-`+e.id,`Message agent: `+M(e),e.id,`Send`,`messageAgent`,{agentId:e.id})),...n.filter(e=>Ft(e)===`codex`).slice(0,8).map(e=>hc(`pair-`+e.id,`Pair Codex: `+M(e),e.id,`Link`,`pairAgent`,{agentId:e.id})),...o.map(e=>hc(`tag-`+e,`Filter tag: `+e,`#`+e,`Tag`,`filterTag`,{tag:e}))],l=e.trim().toLowerCase();return(l?c.filter(e=>e.search.includes(l)):c).slice(0,24)},[e,t,n,r,i,a])}function hc(e,t,n,r,i,a){return{id:e,title:t,subtitle:n,icon:r,action:i,payload:a,search:`${t}\n${n}\n${i}`.toLowerCase()}}function gc({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,B.jsx)(Qo,{"data-slot":`separator`,decorative:n,orientation:t,className:T(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}function _c({...e}){return(0,B.jsx)($a,{"data-slot":`dropdown-menu`,...e})}function vc({...e}){return(0,B.jsx)(eo,{"data-slot":`dropdown-menu-trigger`,...e})}function yc({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,B.jsx)(to,{children:(0,B.jsx)(no,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:T(`z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function bc({className:e,inset:t,variant:n=`default`,...r}){return(0,B.jsx)(io,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:T(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function xc({className:e,inset:t,...n}){return(0,B.jsx)(ro,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:T(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function Sc({className:e,...t}){return(0,B.jsx)(ao,{"data-slot":`dropdown-menu-separator`,className:T(`-mx-1 my-1 h-px bg-border`,e),...t})}var Cc={LayoutDashboard:Ze,MessageCircle:O,Bot:Ie,Server:ce,MessagesSquare:A,Plug:p,PlugZap:C,Activity:u,Link:Be,Mail:n,ListChecks:k,ClipboardList:S,CalendarClock:Ne,AreaChart:Ge,Settings:$e,Workflow:ze,BrainCircuit:be,FolderTree:c,Shield:se,Wrench:he,UserCog:ye,Lightbulb:Pe};function wc(e){return new Date(e.createdAt).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}var Tc=[[`messages`,`Messages`],[`replies`,`Replies`],[`errors`,`Errors`]];function Ec(){let e=j(e=>e.notifications),t=j(e=>e.notificationUnread),n=j(e=>e.notificationSettings),r=j(e=>e.notificationPermission),i=j(e=>e.set),a=j(e=>e.openNotification),o=j(e=>e.markNotificationsRead),s=j(e=>e.clearNotifications),c=j(e=>e.requestBrowserNotifications),l=t>0?Se:we;function u(e){i({notificationSettings:{...n,...e}})}return(0,B.jsxs)(_c,{onOpenChange:e=>{e&&o()},children:[(0,B.jsx)(vc,{asChild:!0,children:(0,B.jsxs)(`button`,{className:`relative flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(l,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Notifications`}),t>0&&(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:t})]})}),(0,B.jsxs)(yc,{align:`start`,side:`right`,className:`w-80 p-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1.5 py-1`,children:[(0,B.jsx)(xc,{className:`p-0`,children:`Notifications`}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(`button`,{type:`button`,title:`Mark read`,onClick:o,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,B.jsx)(ge,{className:`h-3.5 w-3.5`})}),(0,B.jsx)(`button`,{type:`button`,title:`Clear`,onClick:s,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,B.jsx)(Fe,{className:`h-3.5 w-3.5`})})]})]}),(0,B.jsxs)(`div`,{className:`px-1.5 py-1.5 space-y-2`,children:[(0,B.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`In-app notifications`}),(0,B.jsx)(yn,{size:`sm`,checked:n.enabled,onCheckedChange:e=>u({enabled:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Browser notifications`}),(0,B.jsx)(yn,{size:`sm`,checked:n.browserEnabled&&r===`granted`,disabled:r===`unsupported`,onCheckedChange:e=>{e&&r!==`granted`?c():u({browserEnabled:e})}})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Tc.map(([e,t])=>(0,B.jsx)(`button`,{type:`button`,onClick:()=>u({[e]:!n[e]}),className:T(`rounded border px-2 py-1 text-[11px] transition-colors`,n[e]?`border-primary/40 bg-primary/10 text-primary`:`border-border text-muted-foreground hover:bg-accent`),children:t},e))})]}),(0,B.jsx)(Sc,{}),(0,B.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:e.length===0?(0,B.jsx)(`div`,{className:`px-1.5 py-8 text-center text-xs text-muted-foreground`,children:`No notifications`}):e.slice(0,20).map(e=>(0,B.jsxs)(bc,{onSelect:t=>{t.preventDefault(),a(e)},className:`flex flex-col items-start gap-0.5 px-2 py-2`,children:[(0,B.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,B.jsx)(`span`,{className:T(`h-1.5 w-1.5 rounded-full`,e.severity===`error`?`bg-red-400`:e.severity===`warning`?`bg-yellow-400`:`bg-blue-400`)}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:e.title}),(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:wc(e)})]}),(0,B.jsx)(`span`,{className:`line-clamp-2 text-xs text-muted-foreground`,children:e.body})]},e.id))})]})]})}function Dc(){let e=j(e=>e.theme),t=j(e=>e.set);return(0,B.jsxs)(_c,{children:[(0,B.jsx)(vc,{asChild:!0,children:(0,B.jsxs)(`button`,{className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(ue,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Theme`}),(0,B.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:Gt.find(t=>t.id===e)?.label})]})}),(0,B.jsx)(yc,{align:`start`,side:`right`,className:`w-40`,children:Gt.map(n=>(0,B.jsxs)(bc,{onSelect:()=>t({theme:n.id}),children:[(0,B.jsx)(`span`,{className:`flex-1`,children:n.label}),e===n.id&&(0,B.jsx)(De,{className:`w-3.5 h-3.5 text-primary`})]},n.id))})]})}function Oc(){let e=j(e=>e.view),t=j(e=>e.switchView),n=j(e=>e.connected),r=j(e=>e.showOffline),i=j(e=>e.showBuiltIns),a=j(e=>e.autoRefresh),o=j(e=>e.stats),s=j(e=>e.openCommandPalette),c=j(e=>e.set),l=j(e=>e.startAutoRefresh),u=j(e=>e.stopAutoRefresh),d=sc(),f=cc();function p(e){return e===`overview`&&d.total>0?(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.total}):e===`chat`&&d.unreadInbox>0?(0,B.jsx)(F,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.unreadInbox}):e===`agents`?(0,B.jsx)(F,{variant:`secondary`,className:`ml-auto text-[10px] px-1.5 py-0`,children:f}):e===`pairs`&&d.pendingPairInvites>0?(0,B.jsx)(F,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.pendingPairInvites}):e===`work`&&d.claimableTasks>0?(0,B.jsx)(F,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.claimableTasks}):null}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`nav`,{className:`flex-1 overflow-y-auto py-2 px-2`,children:It.map(n=>{let r=Cc[n.icon]||Ie;return(0,B.jsxs)(`button`,{onClick:()=>t(n.key),className:T(`w-full flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors my-0.5`,e===n.key?`bg-primary text-primary-foreground`:`text-foreground hover:bg-accent`),children:[(0,B.jsx)(r,{className:`w-4 h-4 shrink-0`}),n.label,p(n.key)]},n.key)})}),(0,B.jsxs)(`div`,{className:`mt-auto border-t border-border p-4 space-y-3 text-xs`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:T(`w-2 h-2 rounded-full`,n?`bg-emerald-500`:`bg-red-500 animate-pulse`)}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:n?`Live`:`Reconnecting...`})]}),(0,B.jsxs)(`button`,{onClick:s,className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,B.jsx)(_,{className:`w-3.5 h-3.5`}),(0,B.jsx)(`span`,{children:`Command palette`}),(0,B.jsx)(`kbd`,{className:`ml-auto text-[10px] bg-muted px-1.5 py-0.5 rounded`,children:`⌘K`})]}),(0,B.jsx)(Ec,{}),(0,B.jsx)(Dc,{}),(0,B.jsx)(gc,{}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Show offline`}),(0,B.jsx)(yn,{checked:r,onCheckedChange:e=>c({showOffline:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`System agents`}),(0,B.jsx)(yn,{checked:i,onCheckedChange:e=>c({showBuiltIns:e})})]}),(0,B.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Auto refresh`}),(0,B.jsx)(yn,{checked:a,onCheckedChange:e=>{c({autoRefresh:e}),e?l():u()}})]}),o.version&&(0,B.jsxs)(`div`,{className:`text-muted-foreground pt-1`,children:[`v`,o.version]})]})]})}function kc(){return(0,B.jsxs)(`aside`,{className:`hidden xl:flex w-[250px] min-w-[250px] h-[calc(100dvh-var(--sat))] sticky top-[var(--sat)] flex-col border-r border-border bg-card`,children:[(0,B.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),`Agent Relay`]}),(0,B.jsx)(Oc,{})]})}function Ac(){let e=j(e=>e.mobileMenuOpen),t=j(e=>e.set);return(0,z.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t({mobileMenuOpen:!1})}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:T(`xl:hidden fixed inset-0 z-40 bg-black/50 transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),onClick:()=>t({mobileMenuOpen:!1})}),(0,B.jsxs)(`aside`,{className:T(`xl:hidden fixed inset-y-0 left-0 z-50 w-[280px] flex flex-col pt-[var(--sat)] bg-card border-r border-border transition-transform duration-200 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,B.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),`Agent Relay`,(0,B.jsx)(`button`,{onClick:()=>t({mobileMenuOpen:!1}),className:`ml-auto p-1 text-muted-foreground hover:text-foreground transition-colors`,"aria-label":`Close menu`,children:(0,B.jsx)(Ee,{className:`w-4 h-4`})})]}),(0,B.jsx)(Oc,{})]})]})}var jc=500*1024,Mc={bash:`bash`,c:`c`,conf:`properties`,cpp:`cpp`,cs:`csharp`,css:`css`,csv:`csv`,cts:`typescript`,diff:`diff`,dockerfile:`dockerfile`,env:`dotenv`,gemspec:`ruby`,go:`go`,graphql:`graphql`,h:`c`,hcl:`hcl`,hpp:`cpp`,html:`html`,ini:`ini`,java:`java`,js:`javascript`,json:`json`,jsonc:`jsonc`,jsx:`jsx`,kt:`kotlin`,less:`less`,log:`log`,lua:`lua`,mjs:`javascript`,mts:`typescript`,patch:`diff`,php:`php`,plist:`xml`,podspec:`ruby`,properties:`properties`,py:`python`,rake:`ruby`,rb:`ruby`,rs:`rust`,scss:`scss`,sh:`bash`,sql:`sql`,svelte:`svelte`,swift:`swift`,toml:`toml`,ts:`typescript`,tsx:`tsx`,txt:`text`,vue:`vue`,webmanifest:`json`,xml:`xml`,yaml:`yaml`,yml:`yaml`,zsh:`bash`},Nc={".bashrc":`bash`,".env":`dotenv`,".eslintrc":`json`,".gitignore":`gitignore`,".npmrc":`properties`,".prettierrc":`json`,".swiftformat":`properties`,".swiftlint.yml":`yaml`,".watchmanconfig":`json`,"app.config":`json`,"app.webmanifest":`json`,berksfile:`ruby`,brewfile:`ruby`,"bun.lock":`json`,capfile:`ruby`,cartfile:`ruby`,"composer.lock":`json`,dangerfile:`ruby`,"deno.lock":`json`,fastfile:`ruby`,"flake.lock":`json`,gemfile:`ruby`,guardfile:`ruby`,podfile:`ruby`,rakefile:`ruby`,dockerfile:`dockerfile`,makefile:`make`},Pc=null;function Fc(){return Pc??=R(()=>import(`./bundle-web-CExLk-Sx.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),Pc}function Ic(e){return new TextEncoder().encode(e).length}function Lc(e){return e.split(`/`).filter(Boolean).pop()||e}function Rc(e){let t=e?.slice(0,240).split(/\r?\n/,1)[0]?.toLowerCase()||``;return t.startsWith(`#!`)?/\b(bash|dash|ksh|sh|zsh)\b/.test(t)?`bash`:/\bfish\b/.test(t)?`fish`:/\b(ts-node|tsx)\b/.test(t)?`typescript`:/\b(node|bun|deno)\b/.test(t)?`javascript`:/\bpython[0-9.]*\b/.test(t)?`python`:/\bruby\b/.test(t)?`ruby`:/\bswift\b/.test(t)?`swift`:/\bperl\b/.test(t)?`perl`:/\bphp\b/.test(t)?`php`:null:null}function zc(e,t,n,r){if(n)return n;let i=Lc(e).toLowerCase();if(Nc[i])return Nc[i];if(i.endsWith(`.d.ts`))return`typescript`;let a=Rc(r);if(a)return a;let o=i.includes(`.`)?i.slice(i.lastIndexOf(`.`)+1):``;return o&&Mc[o]?Mc[o]:t?.includes(`json`)?`json`:t?.includes(`javascript`)?`javascript`:t?.includes(`typescript`)?`typescript`:t?.includes(`xml`)?`xml`:t?.includes(`yaml`)||t?.includes(`yml`)?`yaml`:t?.includes(`shellscript`)?`bash`:null}function Bc(e,t,n,r){let i=zc(e,t,n,r);return!!(i&&i!==`text`&&i!==`log`)}var Vc=(0,z.memo)(function({content:e,path:t,mediaType:n,languageHint:r,compact:i=!1}){let a=j(e=>e.theme),o=Gt.find(e=>e.id===a)?.dark??!0,s=(0,z.useMemo)(()=>zc(t,n,r,e)||`text`,[e,r,n,t]),c=Ic(e)>jc,[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1);function h(){return(0,B.jsx)(xn,{value:e,label:`Copy code`,copiedLabel:`Copied code`,size:`icon`,variant:`ghost`,className:`absolute right-2 top-2 h-7 w-7 bg-background/80 opacity-0 shadow-sm backdrop-blur transition-opacity hover:bg-muted group-hover/code:opacity-100 focus-visible:opacity-100`})}return(0,z.useEffect)(()=>{if(c||s===`text`||s===`log`){u(``),f(!1),m(!1);return}let t=!1;return f(!0),m(!1),Fc().then(({codeToHtml:t})=>t(e,{lang:s,theme:o?`github-dark-default`:`github-light-default`})).then(e=>{t||u(e)}).catch(()=>{t||(u(``),m(!0))}).finally(()=>{t||f(!1)}),()=>{t=!0}},[e,o,s,c]),d?(0,B.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Highlighting`]}):c||p||!l?(0,B.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,B.jsx)(`pre`,{className:`overflow-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,children:e||` `})]}):(0,B.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,B.jsx)(`div`,{className:`code-preview overflow-auto font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,dangerouslySetInnerHTML:{__html:l}})]})}),Hc=(0,z.lazy)(()=>R(()=>import(`./markdown-preview-impl-6k_FWjmd.js`).then(e=>({default:e.MarkdownPreview})),__vite__mapDeps([4,5,1,3,6]),import.meta.url));function Uc(e){return(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`Loading preview…`}),children:(0,B.jsx)(Hc,{...e})})}var Wc=e(tt(),1);function Gc({src:e,alt:t,onClose:n}){let[r,i]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{let e=document.body.style.overflow;document.body.style.overflow=`hidden`;function t(e){e.key===`Escape`&&n()}return document.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,document.removeEventListener(`keydown`,t)}},[n]),(0,B.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/95`,children:[(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 p-2`,children:[(0,B.jsx)(`button`,{type:`button`,className:`rounded-full bg-white/10 p-2 text-white/70 hover:bg-white/20 hover:text-white`,onClick:()=>i(!r),title:r?`Fit to screen`:`Actual size`,children:r?(0,B.jsx)(Le,{className:`h-4 w-4`}):(0,B.jsx)(He,{className:`h-4 w-4`})}),(0,B.jsx)(`button`,{type:`button`,className:`rounded-full bg-white/10 p-2 text-white/70 hover:bg-white/20 hover:text-white`,onClick:n,title:`Close`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 ${r?`overflow-auto`:`flex items-center justify-center overflow-hidden p-4`}`,onClick:r?void 0:n,children:(0,B.jsx)(`img`,{src:e,alt:t,className:r?`max-w-none`:`max-h-full max-w-full cursor-zoom-in object-contain`,onClick:e=>{e.stopPropagation(),i(!r)}})})]})}function Kc({src:e,alt:t=``,className:n,style:r}){let[i,a]=(0,z.useState)(!1);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`${n||``} cursor-zoom-in`,style:r,onClick:()=>a(!0)}),i&&(0,Wc.createPortal)((0,B.jsx)(Gc,{src:e,alt:t,onClose:()=>a(!1)}),document.body)]})}var qc=`agent-relay:file-git-status`;function Jc(){try{return window.localStorage.getItem(qc)!==`off`}catch{return!0}}function Yc(e){try{window.localStorage.setItem(qc,e?`on`:`off`)}catch{}}function Xc(e){switch(e){case`staged`:return{dot:`bg-green-500`,text:`text-green-400`,label:`Staged`};case`unstaged`:return{dot:`bg-amber-500`,text:`text-amber-400`,label:`Modified (unstaged)`};case`staged-unstaged`:return{dot:`bg-amber-500`,text:`text-green-400`,label:`Staged + unstaged changes`};case`untracked`:return{dot:`bg-sky-500`,text:`text-sky-400`,label:`Untracked`};default:return null}}function Zc(e,t,n){let r=`/orchestrators/${encodeURIComponent(e)}/files/list?path=${encodeURIComponent(t)}`;return n?`${r}&git=1`:r}function Qc({status:e}){let t=Xc(e);return t?(0,B.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${t.dot}`,title:t.label}):null}function $c(e){return e===void 0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function el(e,t){let n=t.replace(/\/+$/,``);return e===n?`/`:e.startsWith(n+`/`)?e.slice(n.length+1):e}function tl(e,t){let n=e.toLowerCase();return n.endsWith(`.md`)||n.endsWith(`.mdx`)||n.endsWith(`.markdown`)||t===`text/markdown`}function nl(e,t,n){return tl(e,t)?`markdown`:Bc(e,t,void 0,n)?`code`:null}function rl(e){return`agent-relay:file-view-mode:${e}`}function il(e){try{let t=window.localStorage.getItem(rl(e));return t===`raw`||t===`rendered`?t:`rendered`}catch{return`rendered`}}function al(e,t){try{window.localStorage.setItem(rl(e),t)}catch{}}function ol(e,t){let n=el(e,t);if(n===`/`)return[{label:`/`,path:t}];let r=n.split(`/`).filter(Boolean),i=[{label:`/`,path:t}];for(let e=0;e<r.length;e++)i.push({label:r[e],path:`${t.replace(/\/+$/,``)}/${r.slice(0,e+1).join(`/`)}`});return i}function sl(e,t){let n=j(e=>e.apiCall),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(``);return(0,z.useEffect)(()=>{if(!e||!t){i(null),c(``);return}let r=!1;return o(!0),c(``),n(`GET`,`/orchestrators/${encodeURIComponent(e)}/files/read?path=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(e=>{r||(i(null),c(ft(e)))}).finally(()=>{r||o(!1)}),()=>{r=!0}},[n,e,t]),{file:r,loading:a,error:s}}function cl(e,t,n=!1){let r=j(e=>e.apiCall),[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(``);return(0,z.useEffect)(()=>{if(!e||!t){a(null),l(``);return}let i=!1;return s(!0),l(``),r(`GET`,Zc(e,t,n)).then(e=>{i||a(e)}).catch(e=>{i||(a(null),l(ft(e)))}).finally(()=>{i||s(!1)}),()=>{i=!0}},[r,e,t,n]),{listing:i,loading:o,error:c}}function ll({content:e,line:t,lineRef:n}){return(0,B.jsx)(`div`,{className:`w-full py-2 font-mono text-xs leading-5`,children:e.split(`
|
|
15
|
+
`).map((e,r)=>{let i=r+1,a=i===t;return(0,B.jsxs)(`div`,{ref:a?n:void 0,className:`grid grid-cols-[2.5rem_minmax(0,1fr)] px-1 sm:grid-cols-[4rem_minmax(0,1fr)] sm:px-2 ${a?`bg-primary/15`:``}`,children:[(0,B.jsx)(`div`,{className:`select-none pr-2 text-right text-muted-foreground sm:pr-3`,children:i}),(0,B.jsx)(`pre`,{className:`overflow-hidden whitespace-pre-wrap break-words`,children:e||` `})]},i)})})}function ul({orchestratorId:e,selectedPath:t,onReadError:n,git:r=!1}){let{listing:i,loading:a,error:o}=cl(e,t,r);return(0,z.useEffect)(()=>{n(o)},[o,n]),t?a?(0,B.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Loading directory`]}):o?(0,B.jsx)(`div`,{className:`h-full bg-muted/20`}):i?(0,B.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(D,{className:`h-3.5 w-3.5 text-blue-400`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsxs)(F,{variant:`outline`,className:`text-[10px]`,children:[i.entries.length,` items`]})]}),(0,B.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[i.entries.map(e=>{let t=e.type===`directory`?D:re,n=Xc(e.gitStatus);return(0,B.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[(0,B.jsx)(t,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${n?.text??``}`,children:e.name}),e.symlink&&(0,B.jsx)(Ke,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,B.jsx)(Qc,{status:e.gitStatus}),e.type!==`directory`&&(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:$c(e.size)})]},e.path)}),i.entries.length===0&&(0,B.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]})]}):null:(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a directory to preview`})}function dl({orchestratorId:e,selectedPath:t,line:n,onReadError:r}){let{file:i,loading:a,error:o}=sl(e,t),s=(0,z.useRef)(null),[c,l]=(0,z.useState)(`raw`);(0,z.useEffect)(()=>{r(o)},[o,r]),(0,z.useEffect)(()=>{n>0&&s.current?.scrollIntoView({block:`center`})},[i,n]),(0,z.useEffect)(()=>{if(!i||i.encoding===`binary`)return;if(n>0){l(`raw`);return}let e=nl(i.path,i.mediaType,i.content);l(e?il(e):`raw`)},[i?.path,i?.encoding,i?.mediaType,i?.content,n]);function u(e,t){l(e),t&&al(t,e)}if(!t)return(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a file to preview`});if(a)return(0,B.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,B.jsx)(Oe,{className:`h-4 w-4 animate-spin`}),`Loading file`]});if(o)return(0,B.jsx)(`div`,{className:`h-full bg-muted/20`});if(!i)return null;if(i.encoding===`base64`)return(0,B.jsxs)(`div`,{className:`flex h-full flex-col bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsx)(xn,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:$c(i.size)})]}),(0,B.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,B.jsx)(Kc,{src:`data:${i.mediaType};base64,${i.content??``}`,alt:i.name,className:`max-h-full max-w-full object-contain`,style:{imageRendering:i.mediaType===`image/svg+xml`?`auto`:void 0}})})]});if(i.encoding===`binary`)return(0,B.jsxs)(`div`,{className:`p-4 text-sm`,children:[(0,B.jsx)(`div`,{className:`font-medium`,children:i.name}),(0,B.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:i.truncated?`File too large to preview.`:`Binary file preview is not available.`}),(0,B.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,B.jsx)(F,{variant:`secondary`,children:i.mediaType}),(0,B.jsx)(F,{variant:`outline`,children:$c(i.size)})]})]});let d=i.content??``,f=tl(i.path,i.mediaType),p=!f&&Bc(i.path,i.mediaType,void 0,d),m=f||p,h=f?`markdown`:p?`code`:null;return(0,B.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,B.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-background px-3 py-2 text-xs`,children:[(0,B.jsx)(re,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,B.jsx)(xn,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),i.truncated&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:`truncated`}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:$c(i.size)}),m&&(0,B.jsxs)(`div`,{className:`flex shrink-0 rounded-md border border-border bg-muted/40 p-0.5`,children:[(0,B.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[10px] font-medium ${c===`raw`?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>u(`raw`,h),children:`Raw`}),(0,B.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[10px] font-medium ${c===`rendered`?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>u(`rendered`,h),children:f?`Rendered`:`Highlighted`})]})]}),c===`rendered`&&f&&(0,B.jsx)(Uc,{content:d,path:i.path}),c===`rendered`&&p&&(0,B.jsx)(Vc,{content:d,path:i.path,mediaType:i.mediaType}),c===`raw`&&(0,B.jsx)(ll,{content:d,line:n,lineRef:s})]})}function fl({overlay:e=!1}){let t=j(e=>e.apiCall),n=j(e=>e.orchestrators),r=j(e=>e.fileOrchestratorId),i=j(e=>e.filePath),a=j(e=>e.fileSelectedPath),s=j(e=>e.fileSelectedLine),l=j(e=>e.set),u=j(e=>e.closeFileOverlay),d=j(e=>e.openOrchestratorSpawnAt),[f,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(i),[g,_]=(0,z.useState)(!1),[y,b]=(0,z.useState)(``),[x,S]=(0,z.useState)(``),[C,ee]=(0,z.useState)(Jc),ne=(0,z.useMemo)(()=>n.filter(e=>e.status===`online`),[n]),w=n.find(e=>e.id===r)||ne[0];(0,z.useEffect)(()=>{if(!w)return;let e={};r||(e.fileOrchestratorId=w.id),i||(e.filePath=w.baseDir),Object.keys(e).length&&l(e)},[r,i,w,l]),(0,z.useEffect)(()=>h(i),[i]);async function T(e=i){if(!(!w||!e)){_(!0),b(``);try{let n=await t(`GET`,Zc(w.id,e,C));p(n),l({filePath:n.path}),h(n.path),S(``)}catch(e){b(ft(e))}finally{_(!1)}}}(0,z.useEffect)(()=>{T(i)},[w?.id,i,C]);function ie(e){ee(e),Yc(e)}function ae(e){l({fileOrchestratorId:e,filePath:n.find(t=>t.id===e)?.baseDir||``,fileSelectedPath:``,fileSelectedLine:0})}function oe(e){S(``),e.type===`directory`?l({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}):l({fileSelectedPath:e.path,fileSelectedLine:0})}function se(){if(!w)return;let t=m.trim()||i||w.baseDir;e&&u(),d({orchestratorId:w.id,cwd:t})}let E=f?ol(f.path,f.baseDir):[],ce=y||x;return(0,B.jsxs)(`div`,{className:e?`flex h-full flex-col`:`flex h-[calc(100dvh-5rem)] flex-col gap-3 md:gap-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-lg font-semibold`,children:[(0,B.jsx)(c,{className:`h-5 w-5 text-primary`}),`Files`]}),(0,B.jsxs)(`select`,{value:w?.id||``,onChange:e=>ae(e.target.value),className:`h-9 rounded-md border border-input bg-background px-3 text-sm`,children:[ne.length===0&&(0,B.jsx)(`option`,{value:``,children:`No online orchestrators`}),ne.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.hostname||e.id},e.id))]}),e&&(0,B.jsx)(I,{size:`icon`,variant:`ghost`,className:`ml-auto h-8 w-8`,onClick:u,title:`Close`,children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}),(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,B.jsx)(L,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&l({filePath:m,fileSelectedPath:``,fileSelectedLine:0})},className:`min-w-0 flex-1 basis-full font-mono text-xs sm:basis-auto`,placeholder:w?.baseDir||`Path`}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`gap-1`,onClick:()=>T(m),disabled:g||!w,children:[g?(0,B.jsx)(Oe,{className:`h-3.5 w-3.5 animate-spin`}):(0,B.jsx)(te,{className:`h-3.5 w-3.5`}),`Open`]}),(0,B.jsxs)(I,{size:`sm`,className:`gap-1`,onClick:se,disabled:!w,children:[(0,B.jsx)(v,{className:`h-3.5 w-3.5`}),(0,B.jsx)(`span`,{className:`sm:hidden`,children:`Spawn`}),(0,B.jsx)(`span`,{className:`hidden sm:inline`,children:`Spawn from here`})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,title:`Show git status colors`,children:[(0,B.jsx)(et,{className:`h-3.5 w-3.5`}),(0,B.jsx)(`span`,{className:`hidden sm:inline`,children:`Git`}),(0,B.jsx)(yn,{checked:C,onCheckedChange:ie})]})]}),E.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 text-xs text-muted-foreground ${a?`hidden md:flex`:``}`,children:E.map((e,t)=>(0,B.jsxs)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 font-mono hover:bg-accent hover:text-foreground`,onClick:()=>l({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}),children:[e.label,t<E.length-1&&e.label!==`/`?` /`:``]},`${e.path}-${t}`))}),ce&&(0,B.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:ce}),(0,B.jsxs)(`div`,{className:`grid min-h-0 flex-1 overflow-hidden md:rounded-md md:border md:border-border md:grid-cols-[22rem_minmax(0,1fr)] ${a?``:`rounded-md border border-border`}`,children:[(0,B.jsxs)(`div`,{className:`min-h-0 overflow-auto border-b border-border bg-card md:border-b-0 md:border-r ${a?`hidden md:block`:``}`,children:[f?.parent&&(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent`,onClick:()=>l({filePath:f.parent,fileSelectedPath:``,fileSelectedLine:0}),children:[(0,B.jsx)(o,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{children:`Parent directory`})]}),f?.entries.map(e=>{let t=a===e.path||i===e.path,n=e.type===`directory`?D:re,r=Xc(e.gitStatus);return(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent ${t?`bg-accent`:``}`,onClick:()=>oe(e),children:[(0,B.jsx)(n,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${r?.text??``}`,children:e.name}),e.symlink&&(0,B.jsx)(Ke,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,B.jsx)(Qc,{status:e.gitStatus}),e.type!==`directory`&&(0,B.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:$c(e.size)})]},e.path)}),!g&&f&&f.entries.length===0&&(0,B.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]}),(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden ${a?``:`hidden md:flex`}`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 border-b border-border px-3 py-2 text-xs text-muted-foreground hover:text-foreground md:hidden`,onClick:()=>l({fileSelectedPath:``,fileSelectedLine:0}),children:[(0,B.jsx)(o,{className:`h-3.5 w-3.5`}),`Back to files`]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,B.jsx)(dl,{orchestratorId:w?.id||``,selectedPath:a,line:s,onReadError:S})})]})]})]})}function pl(){return(0,B.jsx)(fl,{})}function ml(){return j(e=>e.fileOverlayOpen)?(0,B.jsx)(`div`,{className:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm`,children:(0,B.jsx)(`div`,{className:`absolute inset-4 overflow-hidden rounded-md border border-border bg-background p-4 shadow-xl`,children:(0,B.jsx)(fl,{overlay:!0})})}):null}function hl(e,t){let n=z.useRef(!1),r=z.useRef(t);r.current=t,z.useEffect(()=>{if(!e||!r.current)return;window.history.pushState({sheetGuard:!0},``),n.current=!0;function t(){n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,window.history.back())}},[e])}function gl({...e}){return hl(e.open,e.onOpenChange),(0,B.jsx)(ur,{"data-slot":`sheet`,...e})}function _l({...e}){return(0,B.jsx)(dr,{"data-slot":`sheet-portal`,...e})}function vl({className:e,...t}){return(0,B.jsx)(fr,{"data-slot":`sheet-overlay`,className:T(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function yl({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,B.jsxs)(_l,{children:[(0,B.jsx)(vl,{}),(0,B.jsxs)(pr,{"data-slot":`sheet-content`,"data-side":n,className:T(`fixed z-50 flex flex-col bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out overflow-hidden max-w-[100dvw] data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,e),...i,children:[t,r&&(0,B.jsx)(gr,{"data-slot":`sheet-close`,asChild:!0,children:(0,B.jsxs)(I,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,B.jsx)(Ee,{}),(0,B.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function bl({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`sheet-header`,className:T(`flex flex-col gap-0.5 p-4`,e),...t})}function xl({className:e,...t}){return(0,B.jsx)(mr,{"data-slot":`sheet-title`,className:T(`font-heading text-base font-medium text-foreground`,e),...t})}function Sl({className:e,orientation:t=`horizontal`,...n}){return(0,B.jsx)(ms,{"data-slot":`tabs`,"data-orientation":t,className:T(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var Cl=Xt(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function wl({className:e,variant:t=`default`,...n}){return(0,B.jsx)(hs,{"data-slot":`tabs-list`,"data-variant":t,className:T(Cl({variant:t}),e),...n})}function Tl({className:e,...t}){return(0,B.jsx)(gs,{"data-slot":`tabs-trigger`,className:T(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function El({className:e,...t}){return(0,B.jsx)(_s,{"data-slot":`tabs-content`,className:T(`flex-1 text-sm outline-none`,e),...t})}function Dl({agent:e,now:t,className:n}){return(0,B.jsx)(`span`,{className:T(`inline-block w-2.5 h-2.5 rounded-full shrink-0`,bt(e,t),n)})}var Ol={codex:`text-blue-400 bg-blue-500/10 border-blue-500/25`,claude:`text-yellow-400 bg-yellow-500/10 border-yellow-500/25`,user:`text-emerald-400 bg-emerald-500/10 border-emerald-500/25`,system:`text-purple-400 bg-purple-500/10 border-purple-500/25`,channel:`text-blue-400 bg-blue-500/10 border-blue-500/25`,agent:`text-zinc-400 bg-zinc-500/10 border-zinc-500/25`},kl={codex:xe,claude:me,user:Ye,system:ce,channel:A,agent:Ie};function Al({agent:e,className:t}){let n=Ft(e),r=kl[n]||Ie;return(0,B.jsx)(`span`,{className:T(`inline-flex items-center justify-center w-5 h-5 rounded-md border text-sm`,Ol[n]||Ol.agent,t),children:(0,B.jsx)(r,{className:`w-3.5 h-3.5`})})}function jl({agent:e,compact:t=!1}){let n=K(e);return n.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.slice(0,t?4:void 0).map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))})}function Ml({agent:e,compact:t=!1,className:n=``}){let r=Pl(e);return(0,B.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 ${n}`,children:r.map(e=>{let n=e.Icon;return(0,B.jsxs)(`span`,{title:e.title,className:`inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-md border px-1.5 text-[10px] leading-none ${e.className}`,children:[(0,B.jsx)(n,{className:`h-3 w-3 shrink-0`}),!t&&(0,B.jsx)(`span`,{children:e.label})]},e.key)})})}function Nl({agent:e}){let t=e.context;if(!t)return null;let n=Y(t);if(n===null)return(0,B.jsxs)(`div`,{className:`space-y-1`,title:Bl(t),children:[(0,B.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:`collecting`}),(0,B.jsx)(`span`,{children:`--`})]}),(0,B.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,B.jsx)(`div`,{className:`h-full w-0 bg-muted-foreground/30`})})]});let r=Math.round(n*100),i=r>=80?`bg-red-500`:r>=60?`bg-yellow-500`:`bg-emerald-500`;return(0,B.jsxs)(`div`,{className:`space-y-1`,title:Bl(t),children:[(0,B.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:t.lifecycleState}),(0,B.jsxs)(`span`,{children:[r,`%`]})]}),(0,B.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,B.jsx)(`div`,{className:`h-full ${i}`,style:{width:`${Math.max(0,Math.min(100,r))}%`}})})]})}function Pl(e){let t=Fl(e),n=Il(e),r=Ll(e);return[{key:`origin`,label:t?`Relay`:`External`,title:t?`Agent Relay spawned this agent`:`Externally started agent registered with Agent Relay`,Icon:t?ke:Xe,className:t?`border-sky-500/30 bg-sky-500/10 text-sky-300`:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`},n,r]}function Fl(e){return typeof e.meta?.spawnRequestId==`string`||typeof e.meta?.policyName==`string`||typeof e.meta?.automationRunId==`string`}function Il(e){let t=String(e.providerCapabilities?.session?.approvalMode||e.meta?.approvalMode||`guarded`).toLowerCase();return t===`open`?{key:`approval`,label:`Open`,title:`Approval mode: open`,Icon:We,className:`border-emerald-500/30 bg-emerald-500/10 text-emerald-300`}:t===`read-only`?{key:`approval`,label:`Read-only`,title:`Approval mode: read-only`,Icon:w,className:`border-blue-500/30 bg-blue-500/10 text-blue-300`}:{key:`approval`,label:`Guarded`,title:`Approval mode: guarded`,Icon:Re,className:`border-amber-500/30 bg-amber-500/10 text-amber-300`}}function Ll(e){let t=Rl(e.meta?.workspace),n=St(t.requestedMode)||St(e.meta?.workspaceMode),r=St(t.mode),i=n&&n!==`inherit`?n:r&&n!==`inherit`?r:`default`;return i===`isolated`?{key:`workspace`,label:`Isolated`,title:`Workspace: isolated worktree`,Icon:et,iconColor:`text-violet-300`,className:`border-violet-500/30 bg-violet-500/10 text-violet-300`}:i===`shared`?{key:`workspace`,label:`Shared`,title:`Workspace: shared repo checkout`,Icon:s,iconColor:`text-cyan-300`,className:`border-cyan-500/30 bg-cyan-500/10 text-cyan-300`}:{key:`workspace`,label:`Default`,title:r?`Workspace: default/inherit, resolved to ${r}`:`Workspace: default/inherit`,Icon:ve,iconColor:`text-zinc-400`,className:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`}}function Rl(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function zl(e){let t=Rl(e.meta?.workspace),n=St(t.repoRoot)||St(t.sourceCwd)||St(e.meta?.cwd);return n?ot(n,2):``}function G(e){return!!(e.context||e.providerCapabilities?.context)}function K(e){let t=e.providerCapabilities,n=e.context,r=[];t?.lifecycle.managed?r.push(`managed`):t&&r.push(`bridge`),t?.session?.approvalMode===`read-only`?r.push(`read-only`):t?.session?.fileWrite&&r.push(`write`),t?.session?.shell&&r.push(`shell`),(t?.model?.alias||t?.model?.id)&&r.push(String(t.model.alias||t.model.id));let i=zt(e).length;if(i&&r.push(i===1?`1 subagent`:`${i} subagents`),n){let e=Y(n);r.push(e===null?`ctx collecting`:`${Math.round(e*100)}% ctx`)}return r}function q({context:e,expected:t=!!e,size:n=26,className:r}){let i=Y(e);if(i===null&&!t)return null;let a=n>=24?3:2.5,o=n/2,s=o-a,c=2*Math.PI*s,l=i===null?c:c*(1-i),u=i===null,d=u?`text-muted-foreground`:i>.8?`text-red-400`:i>.5?`text-yellow-400`:`text-emerald-400`,f=u?null:Math.round(i*100);return(0,B.jsxs)(`div`,{className:`relative shrink-0 ${u?`opacity-70`:``} ${r??``}`,style:{width:n,height:n},title:Bl(e),children:[(0,B.jsxs)(`svg`,{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:`rotate-[-90deg]`,children:[(0,B.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,className:`stroke-muted-foreground/20`}),(0,B.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,strokeDasharray:c,strokeDashoffset:l,strokeLinecap:`round`,className:`${d} stroke-current transition-all duration-500`})]}),(0,B.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center font-semibold leading-none ${u?`text-muted-foreground`:d}`,style:{fontSize:n>=24?8:7},children:u?`?`:f})]})}function J(e){let t=e.context;return!t?.tokensUsed&&!t?.tokensMax?null:t.tokensUsed&&t.tokensMax?`${Vl(t.tokensUsed)} / ${Vl(t.tokensMax)}`:t.tokensUsed?Vl(t.tokensUsed):t.tokensMax?Vl(t.tokensMax):null}function Y(e){return!e||typeof e.utilization!=`number`||!Number.isFinite(e.utilization)?null:Math.min(1,Math.max(0,e.utilization))}function Bl(e){if(!e)return`Context: collecting; provider has not reported usage yet`;let t=Y(e),n=`${e.source}/${e.confidence}`,r=Number.isFinite(e.lastUpdatedAt)?new Date(e.lastUpdatedAt).toLocaleString():`unknown`;return t===null?`Context: unknown; ${n}; updated ${r}`:`Context: ${Math.round(t*100)}%; ${n}; updated ${r}`}function Vl(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${Math.round(e/1e3)}K`:String(e)}var Hl=(0,z.lazy)(()=>R(()=>import(`./terminal-viewer-impl-BwPYZlWI.js`).then(e=>({default:e.TerminalDialog})),__vite__mapDeps([7,1,6,8,9,10,11,12,13]),import.meta.url));function Ul(e){return e.open?(0,B.jsx)(z.Suspense,{fallback:null,children:(0,B.jsx)(Hl,{...e})}):null}function Wl({orchestratorId:e,session:t,lines:n=200}){let r=j(e=>e.apiCall),[i,a]=(0,z.useState)([]),[o,s]=(0,z.useState)(``),[c,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(`provider`),[p,m]=(0,z.useState)(null);async function h(){if(!c)try{a((await r(`GET`,`/orchestrators/${encodeURIComponent(e)}/logs/${encodeURIComponent(t)}?lines=${n}${d===`mirror`?`&stream=mirror`:``}`)).lines||[]),m(null)}catch(e){m(ft(e))}}(0,z.useEffect)(()=>{h();let e=setInterval(()=>void h(),1500);return()=>clearInterval(e)},[e,t,c,d]);let g=o?i.filter(e=>e.toLowerCase().includes(o.toLowerCase())):i;return(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,B.jsxs)(`div`,{className:`relative min-w-48 flex-1`,children:[(0,B.jsx)(l,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,B.jsx)(L,{className:`pl-8`,value:o,onChange:e=>s(e.target.value),placeholder:`Search logs`})]}),(0,B.jsxs)(`div`,{className:`flex rounded-md border border-border overflow-hidden`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>f(`provider`),title:`Provider output`,className:T(`flex items-center gap-1 px-2 py-1.5 text-xs`,d===`provider`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,B.jsx)(xe,{className:`h-3.5 w-3.5`}),` Output`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>f(`mirror`),title:`Session-mirror diagnostics (clean)`,className:T(`flex items-center gap-1 px-2 py-1.5 text-xs border-l border-border`,d===`mirror`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,B.jsx)(_e,{className:`h-3.5 w-3.5`}),` Mirror`]})]}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>u(e=>!e),title:c?`Resume logs`:`Pause logs`,children:c?(0,B.jsx)(oe,{className:`h-4 w-4`}):(0,B.jsx)(fe,{className:`h-4 w-4`})}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>Lt(`${t}.log`,i.join(`
|
|
16
16
|
`),`text/plain`),title:`Download logs`,children:(0,B.jsx)(ee,{className:`h-4 w-4`})})]}),p&&(0,B.jsx)(`div`,{className:`text-sm text-destructive`,children:p}),(0,B.jsx)(`pre`,{className:`max-h-96 overflow-auto rounded-md border border-border bg-zinc-950 p-3 text-xs leading-5 text-zinc-100`,children:g.join(`
|
|
17
17
|
`)||`No log output`})]})}var Gl={running:`bg-emerald-500/20 text-emerald-400`,starting:`bg-blue-500/20 text-blue-400`,stopping:`bg-yellow-500/20 text-yellow-400`,stopped:`bg-zinc-500/20 text-zinc-400`,backoff:`bg-red-500/20 text-red-400`};function Kl({agent:e,orchestrators:t}){let n=rt(),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)([]),[s,c]=(0,z.useState)({spawn:!0,workspace:!0,runtime:!0,profile:!0,lifecycle:!0,activity:!1}),l=typeof e.meta?.policyName==`string`?e.meta.policyName:null,u=typeof e.meta?.profile==`string`?e.meta.profile:null,d=Ct(e.meta?.agentProfile)?e.meta.agentProfile:null,f=Jl(d?.projection)?d.projection:null,p=t.find(t=>t.managedAgents.some(t=>t.agentId===e.id)),m=p?.managedAgents.find(t=>t.agentId===e.id);(0,z.useEffect)(()=>{if(!l)return;let e=!1;return Ae(`GET`,`/spawn-policies/`+encodeURIComponent(l)+`/status`).then(t=>{e||i(t)}).catch(()=>{e||i(null)}),()=>{e=!0}},[l,e.lastSeen]),(0,z.useEffect)(()=>{let t=!1;return Ae(`GET`,`/activity?agentId=`+encodeURIComponent(e.id)+`&limit=20`).then(e=>{t||o(e)}).catch(()=>{t||o([])}),()=>{t=!0}},[e.id,e.lastSeen]);function h(e){c(t=>({...t,[e]:!t[e]}))}function g(){let t=r?.policy,n=r?.state,i=[`# Agent Diagnostics`,`Agent: ${e.id}`,`Status: ${e.status}`,`Provider: ${e.meta?.provider||`unknown`}`,`Machine: ${e.machine||`unknown`}`];if(l&&i.push(`Policy: ${l}`),u&&i.push(`Agent Profile: ${u}`),t&&(i.push(``,`## Spawn Config`),i.push(`Provider: ${t.provider}`),t.model&&i.push(`Model: ${t.model}`),t.effort&&i.push(`Effort: ${t.effort}`),i.push(`CWD: ${t.cwd}`),i.push(`Permission: ${t.permissionMode}`),i.push(`Mode: ${t.mode}`),t.rig&&i.push(`Rig: ${t.rig}`),t.tags.length&&i.push(`Tags: ${t.tags.join(`, `)}`),t.capabilities.length&&i.push(`Caps: ${t.capabilities.join(`, `)}`)),f){i.push(``,`## Agent Profile Projection`),i.push(`Profile: ${f.profileName}`),i.push(`Provider: ${f.provider}`),i.push(`Base: ${f.base}`),f.warnings.length&&i.push(`Warnings: ${f.warnings.length}`);for(let e of f.entries)i.push(`- ${e.capability}: requested=${e.requested} result=${e.result} detail=${e.detail}`)}if(m&&(i.push(``,`## Runtime`),m.pid&&i.push(`PID: ${m.pid}`),m.sessionName&&i.push(`Session: ${m.sessionName}`),m.supervisor&&i.push(`Supervisor: ${m.supervisor}`),m.systemdUnit&&i.push(`Systemd: ${m.systemdUnit}`),m.terminalSession&&i.push(`Terminal: ${m.terminalSession} (${m.terminalAvailable?`available`:`unavailable`})`),m.tmuxSession&&m.tmuxSession!==m.sessionName&&i.push(`Legacy tmux: ${m.tmuxSession}`),m.spawnRequestId&&i.push(`Spawn Request: ${m.spawnRequestId}`),m.startedAt&&i.push(`Started: ${new Date(m.startedAt).toISOString()}`),p&&i.push(`Orchestrator: ${p.hostname} (${p.id.slice(-8)})`)),m?.workspace&&(i.push(``,`## Workspace`),i.push(`Mode: ${m.workspace.mode}`),m.workspace.status&&i.push(`Status: ${m.workspace.status}`),m.workspace.worktreePath&&i.push(`Worktree: ${m.workspace.worktreePath}`),m.workspace.repoRoot&&i.push(`Repo: ${m.workspace.repoRoot}`),m.workspace.branch&&i.push(`Branch: ${m.workspace.branch}`),m.workspace.baseRef&&i.push(`Base: ${m.workspace.baseRef}`),m.workspace.baseSha&&i.push(`Base SHA: ${m.workspace.baseSha}`),m.workspace.stewardAgentId&&i.push(`Steward: ${m.workspace.stewardAgentId}`)),n&&(i.push(``,`## Lifecycle`),i.push(`Status: ${n.status}`),i.push(`Restarts: ${n.restartCount}`),i.push(`Consecutive failures: ${n.consecutiveFailures}`),n.lastSpawnAt&&i.push(`Last spawn: ${new Date(n.lastSpawnAt).toISOString()}`),n.lastStopAt&&i.push(`Last stop: ${new Date(n.lastStopAt).toISOString()}`),n.healthySince&&i.push(`Healthy since: ${new Date(n.healthySince).toISOString()}`),n.backoffUntil&&i.push(`Backoff until: ${new Date(n.backoffUntil).toISOString()}`),n.lastError&&i.push(`Last error: ${n.lastError}`)),a.length>0){i.push(``,`## Recent Activity`);for(let e of a.slice(0,10))i.push(`- [${new Date(typeof e.createdAt==`number`?e.createdAt:Date.parse(String(e.createdAt))).toISOString()}] ${e.title}${e.body?`: `+e.body.slice(0,100):``}`)}let o=e.meta?.package;o?.name&&o?.version&&(i.push(``,`## Versions`),i.push(`Runner: ${o.name}@${o.version}`));let s=e.meta?.contracts;if(s)for(let[e,t]of Object.entries(s))i.push(`Contract ${e}: ${t}`);return i.join(`
|
|
18
18
|
`)}let _=r?.policy,v=r?.state;return(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-1.5`,children:[(0,B.jsx)(Qe,{className:`w-3.5 h-3.5 text-muted-foreground`}),`Diagnostics`]}),(0,B.jsx)(xn,{value:g,label:`Copy Bundle`,showText:!0,size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,iconClassName:`w-3 h-3`})]}),_&&(0,B.jsx)(ql,{title:`Spawn Config`,expanded:!!s.spawn,onToggle:()=>h(`spawn`),children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[(0,B.jsx)(X,{label:`Provider`,value:_.provider}),_.model&&(0,B.jsx)(X,{label:`Model`,value:_.model}),_.effort&&(0,B.jsx)(X,{label:`Effort`,value:_.effort}),(0,B.jsx)(X,{label:`Permission`,value:_.permissionMode}),(0,B.jsx)(X,{label:`Mode`,value:_.mode}),_.rig&&(0,B.jsx)(X,{label:`Rig`,value:_.rig}),(0,B.jsx)(X,{label:`CWD`,value:_.cwd,className:`col-span-2`,mono:!0}),_.tags.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Tags`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:_.tags.map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),_.capabilities.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:_.capabilities.map(e=>(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]}),_.providerArgs.length>0&&(0,B.jsx)(X,{label:`Provider Args`,value:_.providerArgs.join(` `),className:`col-span-2`,mono:!0}),_.binding&&(0,B.jsx)(X,{label:`Channel`,value:`${_.binding.type}:${_.binding.channelId}`,className:`col-span-2`})]})}),(u||f)&&(0,B.jsx)(ql,{title:`Agent Profile`,expanded:!!s.profile,onToggle:()=>h(`profile`),children:(0,B.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[u&&(0,B.jsx)(X,{label:`Profile`,value:u}),f?.base&&(0,B.jsx)(X,{label:`Base`,value:f.base}),f?.provider&&(0,B.jsx)(X,{label:`Provider`,value:f.provider}),f&&(0,B.jsx)(X,{label:`Unsupported`,value:String(f.unsupported.length)})]}),f?.warnings.length?(0,B.jsxs)(`div`,{className:`rounded border border-yellow-500/20 bg-yellow-500/5 px-2 py-1.5`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Projection warnings`}),(0,B.jsx)(`div`,{className:`mt-1 space-y-1`,children:f.warnings.slice(0,4).map(e=>(0,B.jsx)(`div`,{className:`break-words text-yellow-200/80`,children:e},e))})]}):null,f&&(0,B.jsx)(`div`,{className:`space-y-1`,children:f.entries.map(e=>(0,B.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto] gap-2 rounded border border-border/60 px-2 py-1`,children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`div`,{className:`font-mono text-[11px]`,children:e.capability}),(0,B.jsx)(`div`,{className:`break-words text-muted-foreground`,children:e.detail})]}),(0,B.jsx)(F,{variant:e.result===`unsupported`?`destructive`:e.result===`partial`?`outline`:`secondary`,className:`h-5 text-[10px]`,children:e.result})]},e.capability))})]})}),m?.workspace&&(0,B.jsx)(ql,{title:`Workspace`,expanded:!!s.workspace,onToggle:()=>h(`workspace`),children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[(0,B.jsx)(X,{label:`Mode`,value:m.workspace.mode}),m.workspace.status&&(0,B.jsx)(X,{label:`Status`,value:m.workspace.status}),m.workspace.worktreePath&&(0,B.jsx)(X,{label:`Worktree`,value:m.workspace.worktreePath,className:`col-span-2`,mono:!0}),m.workspace.repoRoot&&(0,B.jsx)(X,{label:`Repo`,value:m.workspace.repoRoot,className:`col-span-2`,mono:!0}),m.workspace.branch&&(0,B.jsx)(X,{label:`Branch`,value:m.workspace.branch,className:`col-span-2`,mono:!0}),m.workspace.baseRef&&(0,B.jsx)(X,{label:`Base`,value:m.workspace.baseRef}),m.workspace.baseSha&&(0,B.jsx)(X,{label:`Base SHA`,value:m.workspace.baseSha.slice(0,12),mono:!0}),m.workspace.stewardAgentId&&(0,B.jsx)(X,{label:`Steward`,value:m.workspace.stewardAgentId,className:`col-span-2`,mono:!0})]})}),m&&(0,B.jsx)(ql,{title:`Runtime`,expanded:!!s.runtime,onToggle:()=>h(`runtime`),children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[m.pid&&(0,B.jsx)(X,{label:`PID`,value:String(m.pid),mono:!0}),m.sessionName&&(0,B.jsx)(X,{label:`Session`,value:m.sessionName,mono:!0}),m.supervisor&&(0,B.jsx)(X,{label:`Supervisor`,value:m.supervisor}),m.systemdUnit&&(0,B.jsx)(X,{label:`Systemd`,value:m.systemdUnit,mono:!0}),m.terminalSession&&(0,B.jsx)(X,{label:`Terminal`,value:`${m.terminalSession} (${m.terminalAvailable?`available`:`unavailable`})`,mono:!0}),m.tmuxSession&&m.tmuxSession!==m.sessionName&&(0,B.jsx)(X,{label:`Legacy tmux`,value:m.tmuxSession,mono:!0}),m.spawnRequestId&&(0,B.jsx)(X,{label:`Spawn ID`,value:m.spawnRequestId.slice(0,12),mono:!0}),m.startedAt&&(0,B.jsx)(X,{label:`Started`,value:At(m.startedAt)}),p&&(0,B.jsx)(X,{label:`Orchestrator`,value:`${p.hostname} (${p.id.slice(-8)})`}),p&&(0,B.jsx)(X,{label:`Orch Status`,value:p.status})]})}),v&&(0,B.jsx)(ql,{title:`Lifecycle`,expanded:!!s.lifecycle,onToggle:()=>h(`lifecycle`),children:(0,B.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Status`}),(0,B.jsx)(F,{className:Gl[v.status]||`bg-zinc-500/20 text-zinc-400`,children:v.status})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,B.jsx)(X,{label:`Restarts`,value:String(v.restartCount)}),(0,B.jsx)(X,{label:`Failures`,value:String(v.consecutiveFailures)}),v.lastSpawnAt&&(0,B.jsx)(X,{label:`Last spawn`,value:dt(n,v.lastSpawnAt)}),v.lastStopAt&&(0,B.jsx)(X,{label:`Last stop`,value:dt(n,v.lastStopAt)}),v.healthySince&&(0,B.jsx)(X,{label:`Healthy since`,value:dt(n,v.healthySince)}),v.backoffUntil&&(0,B.jsx)(X,{label:`Backoff until`,value:v.backoffUntil>n?dt(n,v.backoffUntil):`expired`})]}),v.lastError&&(0,B.jsxs)(`div`,{className:`rounded border border-red-500/20 bg-red-500/5 px-2 py-1.5`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Last error`}),(0,B.jsx)(`div`,{className:`mt-0.5 break-words text-red-300/80`,children:v.lastError})]})]})}),(0,B.jsx)(ql,{title:`Activity (${a.length})`,expanded:!!s.activity,onToggle:()=>h(`activity`),children:a.length===0?(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No recent events`}):(0,B.jsx)(`div`,{className:`space-y-1`,children:a.slice(0,15).map(e=>(0,B.jsxs)(`div`,{className:`flex items-start gap-2 text-xs`,children:[(0,B.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground tabular-nums w-14`,children:dt(n,typeof e.createdAt==`number`?e.createdAt:Date.parse(String(e.createdAt)))}),(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:e.title}),e.body&&(0,B.jsx)(`span`,{className:`text-muted-foreground ml-1 break-words`,children:e.body.length>80?e.body.slice(0,80)+`...`:e.body})]})]},e.id))})}),!_&&!m&&!v&&a.length===0&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No managed-agent diagnostics available for this agent.`})]})}function ql({title:e,expanded:t,onToggle:n,children:r}){return(0,B.jsxs)(`div`,{className:`rounded-md border border-border`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium hover:bg-muted/50`,onClick:n,children:[t?(0,B.jsx)(Ue,{className:`w-3 h-3`}):(0,B.jsx)(Je,{className:`w-3 h-3`}),e]}),t&&(0,B.jsx)(`div`,{className:`px-2.5 pb-2.5`,children:r})]})}function Jl(e){return Ct(e)&&typeof e.profileName==`string`&&typeof e.provider==`string`&&typeof e.base==`string`&&Array.isArray(e.entries)&&Array.isArray(e.warnings)&&Array.isArray(e.unsupported)}function X({label:e,value:t,className:n=``,mono:r=!1}){return(0,B.jsxs)(`div`,{className:`min-w-0 ${n}`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,B.jsx)(`div`,{className:`truncate ${r?`font-mono`:``}`,title:t,children:t})]})}var Yl=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Xl(e){return!e||e.status!==`offline`&&e.status!==`stale`?!1:(typeof e.meta?.provider==`string`?e.meta.provider:e.providerCapabilities?.model?.provider)===`claude`}function Zl(e){for(let t of e){let e=t.metadata,n=typeof e?.provider==`string`?e.provider:``,r=typeof e?.claudeResumeId==`string`?e.claudeResumeId:``;if(n===`claude`&&Yl.test(r))return{resumeId:r,timestamp:t.ts}}return null}function Ql(){let e=j(e=>e.agentDetailOpen),t=j(e=>e.agentDetailId),n=j(e=>e.agentsById),i=j(e=>e.messages),o=j(e=>e.orchestrators),s=j(e=>e.fetchOrchestrators),c=rt(),l=j(e=>e.set),u=j(e=>e.closeAgentDetail),f=j(e=>e.openComposeToAgent),p=j(e=>e.openInboxThread),g=j(e=>e.openRename),_=j(e=>e.openPairInvite),v=j(e=>e.switchView),y=j(e=>e.openConfirm),S=j(e=>e.showError),C=j(e=>e.showNotification),ee=j(e=>e.doAgentAction),ne=j(e=>e.doDeleteAgent),w=j(e=>e.openFilesForAgent),[T,re]=(0,z.useState)([]),[ae,oe]=(0,z.useState)(null),[se,E]=(0,z.useState)(`overview`),[D,ce]=(0,z.useState)(!1),[le,ue]=(0,z.useState)(null),[de,fe]=(0,z.useState)(!1),[O,me]=(0,z.useState)(null),he=j(e=>e.livenessMismatches),ge=j(e=>e.commandStalls),k=n[t]||null,_e=tc(),ve=k?_e[k.id]??null:null,ye=(0,z.useMemo)(()=>t?i.filter(e=>e.from===t||e.to===t).sort((e,t)=>t.id-e.id).slice(0,8):[],[i,t]);(0,z.useEffect)(()=>{if(!e||!k?.context){re([]);return}let t=!1;return Ae(`GET`,`/agents/`+encodeURIComponent(k.id)+`/context-snapshots?limit=24`).then(e=>{t||re(e)}).catch(()=>{t||re([])}),()=>{t=!0}},[e,k?.id,k?.context?.lastUpdatedAt]),(0,z.useEffect)(()=>{if(me(null),!e||!k||!Xl(k))return;let t=!1;return Ae(`GET`,`/agents/`+encodeURIComponent(k.id)+`/timeline?limit=50`).then(e=>{t||me(Zl(e))}).catch(()=>{t||me(null)}),()=>{t=!0}},[e,k?.id,k?.status,k?.meta?.provider]),(0,z.useEffect)(()=>{if(!e||!k){oe(null);return}let t=!1;return Ae(`GET`,`/agents/`+encodeURIComponent(k.id)+`/active-memories`).then(e=>{t||oe(e)}).catch(()=>{t||oe(null)}),()=>{t=!0}},[e,k?.id]),(0,z.useEffect)(()=>{E(`overview`),ce(!1),ue(null)},[t]),(0,z.useEffect)(()=>{e&&k?.meta?.tmuxSession&&o.length===0&&s()},[e,k?.id,k?.meta?.tmuxSession,o.length]);async function Se(){if(k)try{if(!(await Ae(`DELETE`,`/agents/`+encodeURIComponent(k.id)+`/active-memories`)).supported){S(`Memory Clear Unavailable`,`The active memory broker does not support clearing active memories.`);return}oe({agentId:k.id,supported:!0,memories:[],total:0}),C(`Active memories cleared`)}catch(e){S(`Memory Clear Failed`,e.message)}}async function we(){if(!(!k||de)){fe(!0);try{ue(await Ae(`POST`,`/agents/`+encodeURIComponent(k.id)+`/terminal-session`)),ce(!0)}catch(e){S(`Terminal Failed`,e.message)}finally{fe(!1)}}}async function Te(e){if(e){ce(!0);return}ce(!1);let t=le;if(ue(null),k&&t?.mode===`guest`)try{await Ae(`DELETE`,`/agents/`+encodeURIComponent(k.id)+`/terminal-session/`+encodeURIComponent(t.session))}catch{}}if(!k)return(0,B.jsx)(gl,{open:e,onOpenChange:e=>!e&&u(),children:(0,B.jsx)(yl,{className:`w-full max-w-[100dvw] sm:max-w-md lg:max-w-lg`,children:(0,B.jsx)(bl,{children:(0,B.jsx)(xl,{children:`Agent`})})})});let Ee=jt(c,k,Nt(),ve),De=Tt(k,`restart`),Oe=Tt(k,`shutdown`),ke=Tt(k,`reconnect`),Ne=Tt(k,`compact`),Pe=Tt(k,`clearContext`),Ie=!!(O&&Xl(k)),Le=Pt(k),Re=iu(k.meta?.package),ze=au(k.meta?.contracts),A=k.providerCapabilities,He=mt(k),Ue=J(k),We=zt(k),Ge=su(k),Ke=Ge?cu(k,Ge,o):null,qe=!!(Ge&&Ke?.status===`online`&&k.providerCapabilities?.terminal?.live?.read),Je=k.providerCapabilities?.model?.provider??(typeof k.meta?.provider==`string`?k.meta.provider:void 0),Ye=!!(qe&&(k.providerCapabilities?.terminal?.live?.write||Je===`claude`)),Xe=k.providerCapabilities?.terminal?.attach?.create===!0,Ze=qe||Xe,Qe=ou(k.meta?.lastExit),$e=typeof k.meta?.lastError==`string`?k.meta.lastError:Qe?.lastError,et=he[k.id]??null,tt=(Ee.tone===`offline`||Ee.tone===`stale`)&&qe,nt=!!et||tt,it=ge[k.id]??null;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gl,{open:e,onOpenChange:e=>!e&&u(),children:(0,B.jsxs)(yl,{className:`w-full max-w-[100dvw] sm:max-w-md lg:max-w-lg p-0`,children:[(0,B.jsxs)(bl,{className:`shrink-0 p-4 border-b border-border`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(Dl,{agent:k,now:c}),(0,B.jsx)(Al,{agent:k}),(0,B.jsx)(xl,{className:`text-base truncate`,children:M(k)}),G(k)&&(0,B.jsx)(q,{context:k.context,expected:!0})]}),(0,B.jsx)(Ml,{agent:k,className:`mt-2`})]}),(0,B.jsxs)(`div`,{className:`shrink-0 flex flex-wrap items-center gap-2 p-4 border-b border-border`,children:[(0,B.jsxs)(I,{size:`sm`,variant:`outline`,onClick:()=>{f(k),u()},children:[(0,B.jsx)(d,{className:`w-3 h-3 mr-1`}),`Message`]}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,onClick:()=>{p(k.id),v(`chat`),u()},children:[(0,B.jsx)(x,{className:`w-3 h-3 mr-1`}),`Chat`]}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,onClick:()=>{_(k.id),u()},children:[(0,B.jsx)(Be,{className:`w-3 h-3 mr-1`}),`Pair`]}),Ze&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`hidden sm:inline-flex px-2`,disabled:de,title:Xe?`Open guest terminal`:`Open live terminal`,onClick:()=>void we(),children:(0,B.jsx)(xe,{className:`w-3.5 h-3.5`})}),Ie&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`hidden sm:inline-flex px-2`,title:`Resume Claude session`,onClick:()=>y(`Resume Claude Session`,`Resume ${M(k)} from Claude session ${O?.resumeId}? This can reload a large prior context and consume tokens.`,()=>ee(k,`resume`,`agent-detail-drawer`)),children:(0,B.jsx)(pe,{className:`w-3.5 h-3.5`})}),Ne&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`hidden sm:inline-flex px-2`,title:`Compact context`,onClick:()=>y(`Compact Agent`,`Compact context for ${M(k)}?`,()=>ee(k,`compact`,`agent-detail-drawer`)),children:(0,B.jsx)(h,{className:`w-3.5 h-3.5`})}),De&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`hidden sm:inline-flex px-2`,title:`Restart`,onClick:()=>y(`Restart Agent`,`Restart ${M(k)}?`,()=>ee(k,`restart`,`agent-detail-drawer`)),children:(0,B.jsx)(je,{className:`w-3.5 h-3.5`})}),Oe&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`hidden sm:inline-flex px-2`,title:`Shutdown`,onClick:()=>y(`Shutdown Agent`,`Shutdown ${M(k)}?`,()=>ee(k,`shutdown`,`agent-detail-drawer`)),children:(0,B.jsx)(ie,{className:`w-3.5 h-3.5`})}),(0,B.jsxs)(_c,{children:[(0,B.jsx)(vc,{asChild:!0,children:(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`px-2`,children:(0,B.jsx)(b,{className:`w-3.5 h-3.5`})})}),(0,B.jsxs)(yc,{align:`end`,children:[Ze&&(0,B.jsxs)(bc,{className:`sm:hidden`,disabled:de,onClick:()=>void we(),children:[(0,B.jsx)(xe,{className:`w-3.5 h-3.5`}),`Terminal`]}),Ie&&(0,B.jsxs)(bc,{className:`sm:hidden`,onClick:()=>y(`Resume Claude Session`,`Resume ${M(k)} from Claude session ${O?.resumeId}? This can reload a large prior context and consume tokens.`,()=>ee(k,`resume`,`agent-detail-drawer`)),children:[(0,B.jsx)(pe,{className:`w-3.5 h-3.5`}),`Resume`]}),Ne&&(0,B.jsxs)(bc,{className:`sm:hidden`,onClick:()=>y(`Compact Agent`,`Compact context for ${M(k)}?`,()=>ee(k,`compact`,`agent-detail-drawer`)),children:[(0,B.jsx)(h,{className:`w-3.5 h-3.5`}),`Compact`]}),De&&(0,B.jsxs)(bc,{className:`sm:hidden`,onClick:()=>y(`Restart Agent`,`Restart ${M(k)}?`,()=>ee(k,`restart`,`agent-detail-drawer`)),children:[(0,B.jsx)(je,{className:`w-3.5 h-3.5`}),`Restart`]}),Oe&&(0,B.jsxs)(bc,{className:`sm:hidden`,onClick:()=>y(`Shutdown Agent`,`Shutdown ${M(k)}?`,()=>ee(k,`shutdown`,`agent-detail-drawer`)),children:[(0,B.jsx)(ie,{className:`w-3.5 h-3.5`}),`Shutdown`]}),(Ze||Ie||Ne||De||Oe)&&(0,B.jsx)(Sc,{className:`sm:hidden`}),(0,B.jsxs)(bc,{onClick:()=>g(k),children:[(0,B.jsx)(a,{className:`w-3.5 h-3.5`}),`Rename`]}),ke&&(0,B.jsxs)(bc,{onClick:()=>y(`Reconnect Agent`,`Reconnect ${M(k)}?`,()=>ee(k,`reconnect`,`agent-detail-drawer`)),children:[(0,B.jsx)(te,{className:`w-3.5 h-3.5`}),`Reconnect`]}),Pe&&(0,B.jsxs)(bc,{onClick:()=>y(`Clear Context`,`Clear context for ${M(k)}?`,()=>ee(k,`clearContext`,`agent-detail-drawer`)),children:[(0,B.jsx)(m,{className:`w-3.5 h-3.5`}),`Clear Context`]}),Le&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Sc,{}),(0,B.jsxs)(bc,{variant:`destructive`,onClick:()=>y(`Forget Agent`,`Forget ${M(k)}?`,()=>ne(k.id)),children:[(0,B.jsx)(Fe,{className:`w-3.5 h-3.5`}),`Forget`]})]})]})]})]}),nt&&(0,B.jsxs)(`div`,{className:`shrink-0 mx-4 mt-3 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-100`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(Ve,{className:`w-3.5 h-3.5`}),`Liveness mismatch`]}),(0,B.jsx)(`div`,{className:`mt-1 text-amber-50/85`,children:et?.detail??`Relay marks this agent offline, but a live terminal session is still reachable — the process may still be running.`}),Ze&&(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`mt-2 h-7 text-xs`,disabled:de,onClick:()=>void we(),children:[(0,B.jsx)(xe,{className:`w-3 h-3 mr-1`}),`Open terminal`]})]}),it&&(0,B.jsxs)(`div`,{className:`shrink-0 mx-4 mt-3 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-100`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(Ve,{className:`w-3.5 h-3.5`}),it.kind===`clear`?`Context clear stalled`:`Compaction stalled`]}),(0,B.jsx)(`div`,{className:`mt-1 text-amber-50/85`,children:it.detail}),Ze&&(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`mt-2 h-7 text-xs`,disabled:de,onClick:()=>void we(),children:[(0,B.jsx)(xe,{className:`w-3 h-3 mr-1`}),`Open terminal`]})]}),(0,B.jsxs)(Sl,{value:se,onValueChange:e=>E(e),className:`flex-1 min-h-0 gap-0`,children:[(0,B.jsxs)(wl,{variant:`line`,className:`w-full shrink-0 px-4 pt-2`,children:[(0,B.jsx)(Tl,{value:`overview`,children:`Overview`}),(0,B.jsxs)(Tl,{value:`timeline`,children:[(0,B.jsx)(Ce,{className:`w-3.5 h-3.5`}),`Timeline`]}),(0,B.jsxs)(Tl,{value:`logs`,children:[(0,B.jsx)(Me,{className:`w-3.5 h-3.5`}),`Logs`]})]}),(0,B.jsx)(El,{value:`overview`,className:`min-h-0 overflow-y-auto overflow-x-hidden`,children:(0,B.jsxs)(`div`,{className:`p-4 space-y-4 min-w-0`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Status`}),(0,B.jsxs)(`div`,{className:`space-y-1 text-sm min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`State`}),(0,B.jsx)(F,{className:xt(Ee.tone),children:Ee.label})]}),He?.recommendedAction&&(0,B.jsxs)(`div`,{className:`rounded-md border border-red-500/20 bg-red-500/10 px-2.5 py-2 text-xs text-red-200`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(r,{className:`w-3.5 h-3.5`}),`Recommended action`]}),(0,B.jsx)(`div`,{className:`mt-1 text-red-100/80`,children:He.recommendedAction})]}),$e&&(0,B.jsxs)(`div`,{className:`rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-2 text-xs text-amber-100`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(r,{className:`w-3.5 h-3.5`}),`Last launch error`]}),(0,B.jsx)(`div`,{className:`mt-1 break-words text-amber-50/85`,children:$e}),Qe&&(0,B.jsxs)(`div`,{className:`mt-2 grid grid-cols-2 gap-x-3 gap-y-1 text-amber-50/70`,children:[Qe.detectedAt&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Detected`}),(0,B.jsx)(`div`,{children:dt(c,Qe.detectedAt)})]}),typeof Qe.runtimeMs==`number`&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Runtime`}),(0,B.jsxs)(`div`,{children:[Math.max(0,Math.round(Qe.runtimeMs/1e3)),`s`]})]}),Qe.systemd?.unit&&(0,B.jsxs)(`div`,{className:`col-span-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Unit`}),(0,B.jsx)(`div`,{className:`truncate font-mono`,children:Qe.systemd.unit})]}),Qe.systemd&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Systemd`}),(0,B.jsx)(`div`,{children:[Qe.systemd.activeState,Qe.systemd.subState].filter(Boolean).join(`/`)||`unknown`})]}),Qe.systemd?.result&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Result`}),(0,B.jsx)(`div`,{children:Qe.systemd.result})]}),Qe.logFile&&(0,B.jsxs)(`div`,{className:`col-span-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-amber-100/55`,children:`Log`}),(0,B.jsxs)(`div`,{className:`truncate font-mono`,children:[Qe.logFile,` (`,Qe.logBytes??`unknown`,` bytes`,Qe.logEmpty?`, empty`:``,`)`]})]})]}),Qe?.logTail?.length?(0,B.jsx)(`pre`,{className:`mt-2 max-h-28 overflow-auto whitespace-pre-wrap break-words rounded border border-amber-500/15 bg-black/20 p-2 text-[11px] text-amber-50/75`,children:Qe.logTail.slice(-5).join(`
|
|
19
|
-
`)}):null,Qe?.unavailable?.length?(0,B.jsx)(`div`,{className:`mt-1 text-amber-50/55`,children:Qe.unavailable.join(`; `)}):null]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Last seen`}),(0,B.jsx)(`span`,{className:`truncate`,children:dt(c,k.lastSeen)})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Created`}),(0,B.jsx)(`span`,{className:`truncate`,children:At(k.createdAt)})]}),k.machine&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Machine`}),(0,B.jsx)(`span`,{className:`truncate`,children:k.machine})]}),k.rig&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Rig`}),(0,B.jsx)(`span`,{className:`truncate`,children:k.rig})]}),typeof k.meta?.cwd==`string`&&k.meta.cwd&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`CWD`}),(0,B.jsx)(`button`,{type:`button`,className:`truncate text-right font-mono text-xs text-muted-foreground hover:text-foreground`,title:`Open ${k.meta.cwd} in Files`,onClick:()=>{u(),w(k)},children:k.meta.cwd})]})]})]}),ve&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Pair`}),(0,B.jsx)(F,{className:ve.status===`active`?`bg-emerald-500/20 text-emerald-400`:`bg-yellow-500/20 text-yellow-400`,children:ve.status}),ve.objective&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:ve.objective})]})]}),(A||k.context||We.length>0)&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Runtime`}),(0,B.jsxs)(`div`,{className:`space-y-2 text-sm`,children:[(0,B.jsx)(Ml,{agent:k}),(0,B.jsx)(jl,{agent:k}),He&&(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Provider state`}),(0,B.jsx)(`div`,{children:He.state})]}),He.reason&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Reason`}),(0,B.jsx)(`div`,{children:He.reason})]}),He.source&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Source`}),(0,B.jsx)(`div`,{children:He.source})]}),He.updatedAt&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Updated`}),(0,B.jsx)(`div`,{children:dt(c,He.updatedAt)})]})]}),A?.model&&(0,B.jsxs)(`div`,{className:`space-y-1`,children:[A.model.provider&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Provider`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.provider})]}),(A.model.alias||A.model.id)&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Model`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.alias||A.model.id})]}),A.model.effort&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Effort`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.effort})]})]}),A?.session&&(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[A.session.approvalMode&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Mode`}),(0,B.jsx)(`div`,{children:A.session.approvalMode})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Files`}),(0,B.jsx)(`div`,{children:A.session.fileWrite?`read/write`:A.session.fileRead?`read-only`:`none`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Shell`}),(0,B.jsx)(`div`,{children:A.session.shell?`yes`:`no`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Confidence`}),(0,B.jsx)(`div`,{children:A.confidence})]})]}),A?.lifecycle&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Lifecycle`}),(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:[(0,B.jsx)(F,{variant:A.lifecycle.managed?`secondary`:`outline`,className:`text-[10px]`,children:A.lifecycle.managed?`managed`:`bridge`}),A.lifecycle.shutdownHard&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`shutdown`}),A.lifecycle.restartHard&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`restart`}),A.lifecycle.reconnect&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`reconnect`})]})]}),We.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Subagents`}),(0,B.jsx)(`div`,{className:`space-y-1 mt-1`,children:We.map(e=>(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 text-xs rounded border border-border px-2 py-1`,children:[(0,B.jsx)(`span`,{className:`truncate`,children:e.label}),e.role&&(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e.role})]},e.id))})]}),k.context&&(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(Nl,{agent:k}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Context`}),(0,B.jsxs)(`div`,{children:[Math.round(k.context.utilization*100),`%`]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`State`}),(0,B.jsx)(`div`,{children:k.context.lifecycleState})]}),Ue&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Tokens`}),(0,B.jsx)(`div`,{children:Ue})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Source`}),(0,B.jsxs)(`div`,{children:[k.context.source,`/`,k.context.confidence]})]})]}),k.context.warmTopics.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Warm topics`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:k.context.warmTopics.map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),T.length>1&&(0,B.jsx)(eu,{snapshots:T})]})]})]})]}),ae&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-2`,children:[(0,B.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-1.5`,children:[(0,B.jsx)(be,{className:`w-3.5 h-3.5 text-muted-foreground`}),`Memory`]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[ae.supported&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:ae.memories.length}),ae.supported&&ae.memories.length>0&&(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,onClick:()=>y(`Clear Active Memories`,`Clear active memories for ${M(k)}?`,Se),children:[(0,B.jsx)(m,{className:`w-3 h-3`}),`Clear`]})]})]}),ae.supported?ae.memories.length===0?(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No active memories`}):(0,B.jsx)(`div`,{className:`space-y-2`,children:ae.memories.map(e=>(0,B.jsx)($l,{memory:e,now:c,onOpen:()=>{l({selectedMemoryId:e.id}),v(`memory`),u()}},e.id))}):(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Active memory list unavailable`})]})]}),k.meta?.runnerManaged===!0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsx)(Kl,{agent:k,orchestrators:o})]}),(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Metadata`}),(0,B.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`ID`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[(0,B.jsx)(`span`,{className:`font-mono text-xs truncate`,children:k.id}),(0,B.jsx)(xn,{value:k.id,label:`Copy agent ID`,size:`icon-xs`,className:`shrink-0 text-muted-foreground`})]})]}),Re&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Package`}),(0,B.jsxs)(`span`,{className:`font-mono text-xs truncate`,children:[Re.name,` v`,Re.version]})]}),ze.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Contracts`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:ze.map(([e,t])=>(0,B.jsxs)(F,{variant:`secondary`,className:`text-[10px]`,children:[e,`=`,t]},e))})]}),k.tags.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Tags`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:k.tags.map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),ut(k.capabilities).length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:ut(k.capabilities).map(e=>(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]})]})]}),ye.length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Recent Messages`}),(0,B.jsx)(`div`,{className:`space-y-2`,children:ye.map(e=>(0,B.jsxs)(`div`,{className:`rounded border border-border p-2 text-xs space-y-0.5 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium text-foreground truncate shrink-0 max-w-[40%]`,children:kt(e.from,n)}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`→`}),(0,B.jsx)(`span`,{className:`truncate max-w-[40%]`,children:kt(e.to,n)}),(0,B.jsxs)(`span`,{className:`ml-auto shrink-0 text-[10px]`,children:[(0,B.jsxs)(`span`,{className:`opacity-40 mr-1`,children:[`#`,e.id]}),dt(c,e.createdAt)]})]}),(0,B.jsx)(`div`,{className:`text-foreground whitespace-pre-wrap break-words line-clamp-3`,children:ct(e)})]},e.id))})]})]})]})}),(0,B.jsx)(El,{value:`timeline`,className:`min-h-0 overflow-y-auto overflow-x-hidden`,children:(0,B.jsx)(tu,{agentId:k.id,open:e&&se===`timeline`,now:c})}),(0,B.jsx)(El,{value:`logs`,className:`min-h-0 overflow-y-auto overflow-x-hidden`,children:Ge&&Ke?(0,B.jsx)(`div`,{className:`p-4`,children:(0,B.jsx)(Wl,{orchestratorId:Ke.id,session:Ge})}):(0,B.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`No session logs available for this agent.`})})]})]})}),le&&(0,B.jsx)(Ul,{open:D,onOpenChange:e=>void Te(e),orchestratorId:le.orchestratorId,session:le.session,interactive:le.interactive||Ye})]})}function $l({memory:e,now:t,onOpen:n}){let r=e.sensitivity===`secret`?`bg-red-500/10 text-red-400 border-red-500/30`:e.sensitivity===`sensitive`?`bg-yellow-500/10 text-yellow-400 border-yellow-500/30`:`bg-zinc-500/10 text-zinc-400 border-zinc-500/30`;return(0,B.jsx)(`button`,{onClick:n,className:`w-full rounded-md border border-border p-2 text-left text-xs hover:border-zinc-600 transition-colors`,children:(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e.type}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px] font-mono`,children:e.scope}),(0,B.jsx)(F,{className:`text-[10px] ${r}`,children:e.sensitivity})]}),(0,B.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),(0,B.jsx)(`div`,{className:`text-muted-foreground line-clamp-2 mt-0.5`,children:e.content})]}),(0,B.jsx)(`div`,{className:`shrink-0 text-right text-[10px] text-muted-foreground`,title:At(e.lastAccessedAt??e.updatedAt),children:dt(t,e.lastAccessedAt??e.updatedAt)})]})})}function eu({snapshots:e}){let t=e.slice(-24);return t.length<2?null:(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`History`}),(0,B.jsx)(`div`,{className:`mt-1 flex h-10 items-end gap-1`,"aria-label":`Context utilization history`,children:t.map(e=>(0,B.jsx)(`div`,{className:`flex-1 rounded-sm bg-primary/70`,style:{height:Math.max(4,Math.round(Math.max(0,Math.min(1,e.utilization))*40))},title:`${Math.round(e.utilization*100)}% ${new Date(e.capturedAt).toLocaleTimeString()}`},e.id))})]})}function tu({agentId:e,open:t,now:n}){let[r,i]=(0,z.useState)([]),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(null),[l,u]=(0,z.useState)(50),d=(0,z.useCallback)(t=>{o(!0),c(null);let n=!1;return Ae(`GET`,`/agents/`+encodeURIComponent(e)+`/timeline?limit=`+t).then(e=>{n||(i(e),u(t))}).catch(e=>{n||c(e.message)}).finally(()=>{n||o(!1)}),()=>{n=!0}},[e]);return(0,z.useEffect)(()=>{if(t)return d(50)},[t,e,d]),(0,B.jsxs)(`div`,{className:`p-4 space-y-3 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium`,children:`Timeline`}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs`,disabled:a,onClick:()=>d(l),children:[(0,B.jsx)(te,{className:`w-3 h-3 mr-1`}),`Refresh`]})]}),s&&(0,B.jsx)(`div`,{className:`text-xs text-red-300`,children:s}),!s&&r.length===0&&!a&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No timeline activity recorded for this agent.`}),(0,B.jsx)(`div`,{className:`space-y-1.5`,children:r.map((e,t)=>(0,B.jsx)(ru,{entry:e,now:n},`${e.ts}:${e.source}:${t}`))}),r.length>=l&&l<200&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`w-full h-7 text-xs`,disabled:a,onClick:()=>d(200),children:`Load full timeline`})]})}function nu(e){return e.metadata?.mismatch===!0||e.metadata?.stalled===!0?(0,B.jsx)(Ve,{className:`w-3.5 h-3.5 text-amber-400`}):e.source===`command`?(0,B.jsx)(xe,{className:`w-3.5 h-3.5 text-sky-400`}):e.source===`delivery`?(0,B.jsx)(d,{className:`w-3.5 h-3.5 text-violet-400`}):e.kind===`state`?(0,B.jsx)(E,{className:`w-3.5 h-3.5 text-emerald-400`}):(0,B.jsx)(u,{className:`w-3.5 h-3.5 text-muted-foreground`})}function ru({entry:e,now:t}){let n=typeof e.metadata?.status==`string`?e.metadata.status:``,r=/fail|error|poison|dead/i.test(n),i=e.metadata?.fromState,a=e.metadata?.toState,o=typeof i==`string`&&typeof a==`string`?`${i} → ${a}`:null;return(0,B.jsxs)(`div`,{className:`flex gap-2 rounded border border-border px-2 py-1.5 text-xs min-w-0`,children:[(0,B.jsx)(`div`,{className:`shrink-0 mt-0.5`,children:nu(e)}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium truncate ${r?`text-red-300`:`text-foreground`}`,children:e.title}),(0,B.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] text-muted-foreground`,title:At(e.ts),children:dt(t,e.ts)})]}),o&&(0,B.jsx)(`div`,{className:`text-muted-foreground font-mono text-[11px]`,children:o}),e.detail&&(0,B.jsx)(`div`,{className:`text-muted-foreground whitespace-pre-wrap break-words line-clamp-3`,children:e.detail})]})]})}function iu(e){return Ct(e)&&typeof e.name==`string`&&typeof e.version==`string`?{name:e.name,version:e.version}:null}function au(e){return Ct(e)?Object.entries(e).filter(e=>typeof e[1]==`number`):[]}function ou(e){if(!Ct(e)||typeof e.lastError!=`string`)return null;let t=Ct(e.systemd)?{unit:typeof e.systemd.unit==`string`?e.systemd.unit:void 0,activeState:typeof e.systemd.activeState==`string`?e.systemd.activeState:void 0,subState:typeof e.systemd.subState==`string`?e.systemd.subState:void 0,result:typeof e.systemd.result==`string`?e.systemd.result:void 0,execMainCode:typeof e.systemd.execMainCode==`string`?e.systemd.execMainCode:void 0,execMainStatus:typeof e.systemd.execMainStatus==`string`?e.systemd.execMainStatus:void 0}:void 0;return{lastError:e.lastError,detectedAt:typeof e.detectedAt==`number`?e.detectedAt:void 0,runtimeMs:typeof e.runtimeMs==`number`?e.runtimeMs:void 0,logFile:typeof e.logFile==`string`?e.logFile:void 0,logBytes:typeof e.logBytes==`number`?e.logBytes:void 0,logEmpty:typeof e.logEmpty==`boolean`?e.logEmpty:void 0,logTail:Array.isArray(e.logTail)?e.logTail.filter(e=>typeof e==`string`):void 0,systemd:t,unavailable:Array.isArray(e.unavailable)?e.unavailable.filter(e=>typeof e==`string`):void 0}}function su(e){let t=e?.meta?.tmuxSession;return typeof t==`string`&&t.trim()?t:null}function cu(e,t,n){return e?n.find(n=>n.managedAgents.some(n=>n.agentId===e.id||n.tmuxSession===t))??null:null}function lu({className:e,children:t,...n}){return(0,B.jsxs)(Wo,{"data-slot":`scroll-area`,className:T(`relative`,e),...n,children:[(0,B.jsx)(Go,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,B.jsx)(uu,{}),(0,B.jsx)(Ko,{})]})}function uu({className:e,orientation:t=`vertical`,...n}){return(0,B.jsx)(vo,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:T(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,B.jsx)(ko,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function du(){let e=j(e=>e.channelDetailOpen),t=j(e=>e.channelDetailId),n=j(e=>e.channels),r=j(e=>e.messages),i=j(e=>e.agentsById),a=rt(),o=j(e=>e.closeChannelDetail),s=n.find(e=>e.id===t)||null,c=Dt(s),l=(0,z.useMemo)(()=>s?r.filter(e=>ht(e,s)).sort((e,t)=>t.id-e.id).slice(0,8):[],[r,s]);return(0,B.jsx)(gl,{open:e,onOpenChange:e=>!e&&o(),children:(0,B.jsxs)(yl,{className:`w-full max-w-[100dvw] sm:max-w-md lg:max-w-lg p-0`,children:[(0,B.jsx)(bl,{className:`shrink-0 p-4 border-b border-border`,children:(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(F,{className:xt(c.tone),children:c.label}),(0,B.jsx)(xl,{className:`text-base truncate`,children:s?.name||`Channel`})]})}),(0,B.jsx)(lu,{className:`flex-1 min-h-0`,children:(0,B.jsxs)(`div`,{className:`p-4 space-y-4`,children:[s&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Route`}),(0,B.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Type`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.type})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Direction`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.direction})]}),s.target&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Target`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.target})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Agent`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.agentId})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Transport`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.transport})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Last seen`}),(0,B.jsx)(`span`,{className:`shrink-0`,children:dt(a,s.lastSeen)})]})]})]}),ut(s.capabilities).length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Capabilities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:ut(s.capabilities).map(e=>(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]})]}),s.meta&&Object.keys(s.meta).length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Metadata`}),(0,B.jsx)(`div`,{className:`space-y-1 text-sm`,children:Object.entries(s.meta).map(([e,t])=>(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e}),(0,B.jsx)(`span`,{className:`truncate`,children:String(t)})]},e))})]})]})]}),l.length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Recent Messages`}),(0,B.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,B.jsxs)(`div`,{className:`rounded border border-border p-2 text-xs space-y-0.5 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium text-foreground truncate shrink-0 max-w-[40%]`,children:kt(e.from,i)}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`→`}),(0,B.jsx)(`span`,{className:`truncate max-w-[40%]`,children:kt(e.to,i)}),(0,B.jsxs)(`span`,{className:`ml-auto shrink-0 text-[10px]`,children:[(0,B.jsxs)(`span`,{className:`opacity-40 mr-1`,children:[`#`,e.id]}),dt(a,e.createdAt)]})]}),(0,B.jsx)(`div`,{className:`text-foreground whitespace-pre-wrap break-words line-clamp-3`,children:ct(e)})]},e.id))})]})]})]})})]})})}var fu=!1;function pu(e,t){let n=z.useRef(!1),r=z.useRef(t);r.current=t,z.useEffect(()=>{if(!e||!r.current)return;fu=!1,window.history.pushState({dialogGuard:!0},``),n.current=!0;function t(){if(fu){fu=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,fu=!0,window.history.back())}},[e])}function mu({...e}){return pu(e.open,e.onOpenChange),(0,B.jsx)(ur,{"data-slot":`dialog`,...e})}function hu({...e}){return(0,B.jsx)(dr,{"data-slot":`dialog-portal`,...e})}function gu({className:e,blur:t=!0,...n}){return(0,B.jsx)(fr,{"data-slot":`dialog-overlay`,className:T(`fixed inset-0 isolate z-50 bg-black/10 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t&&`supports-backdrop-filter:backdrop-blur-xs`,e),...n})}function _u({className:e,children:t,showCloseButton:n=!0,blurOverlay:r=!0,...i}){return(0,B.jsxs)(hu,{children:[(0,B.jsx)(gu,{blur:r}),(0,B.jsxs)(pr,{"data-slot":`dialog-content`,className:T(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...i,children:[t,n&&(0,B.jsx)(gr,{"data-slot":`dialog-close`,asChild:!0,children:(0,B.jsxs)(I,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,B.jsx)(Ee,{}),(0,B.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function vu({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`dialog-header`,className:T(`flex flex-col gap-2`,e),...t})}function yu({className:e,showCloseButton:t=!1,children:n,...r}){return(0,B.jsxs)(`div`,{"data-slot":`dialog-footer`,className:T(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,B.jsx)(gr,{asChild:!0,children:(0,B.jsx)(I,{variant:`outline`,children:`Close`})})]})}function bu({className:e,...t}){return(0,B.jsx)(mr,{"data-slot":`dialog-title`,className:T(`font-heading text-base leading-none font-medium`,e),...t})}function xu({className:e,...t}){return(0,B.jsx)(hr,{"data-slot":`dialog-description`,className:T(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function Su({className:e,...t}){return(0,B.jsx)(`textarea`,{"data-slot":`textarea`,className:T(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function Z({className:e,...t}){return(0,B.jsx)(co,{"data-slot":`label`,className:T(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Cu(){let e=j(e=>e.composeOpen),t=j(e=>e.compose),n=j(e=>e.replyTo),r=j(e=>e.set),i=j(e=>e.doSend),a=j(e=>e.cancelReply),o=uc();function s(){r({composeOpen:!1}),a()}function c(e){r({compose:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&s(),children:(0,B.jsxs)(_u,{className:`max-w-lg`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:n?`Reply to #${n.id}`:`Compose Message`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`From`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.from,onChange:e=>c({from:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),o.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`To`}),(0,B.jsx)(L,{value:t.to,onChange:e=>c({to:e.target.value}),placeholder:`agent-id, tag:name, cap:name, or broadcast`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Subject`}),(0,B.jsx)(L,{value:t.subject,onChange:e=>c({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Channel`}),(0,B.jsx)(L,{value:t.channel,onChange:e=>c({channel:e.target.value}),placeholder:`Optional channel...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Message`}),(0,B.jsx)(Su,{value:t.body,onChange:e=>c({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(yn,{checked:t.claimable,onCheckedChange:e=>c({claimable:e})}),(0,B.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Claimable task`})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:s,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Send`})]})]})})}function wu(){let e=j(e=>e.confirmModal),t=j(e=>e.set);function n(){t({confirmModal:{show:!1,title:``,message:``,action:null}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsxs)(vu,{children:[(0,B.jsx)(bu,{children:e.title}),(0,B.jsx)(xu,{children:e.message})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:n,children:`Cancel`}),(0,B.jsx)(I,{variant:`destructive`,onClick:()=>{e.action?.(),n()},children:`Confirm`})]})]})})}function Tu(){let e=j(e=>e.errorModal),t=j(e=>e.set);function n(){t({errorModal:{show:!1,title:``,message:``}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsxs)(vu,{children:[(0,B.jsx)(bu,{children:e.title}),(0,B.jsx)(xu,{children:e.message})]}),(0,B.jsx)(yu,{children:(0,B.jsx)(I,{onClick:n,children:`OK`})})]})})}function Eu(){let e=j(e=>e.renameModal),t=j(e=>e.set),n=j(e=>e.doRename);function r(){t({renameModal:{show:!1,agentId:``,label:``}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Rename Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:e.label,onChange:n=>t({renameModal:{...e,label:n.target.value}}),onKeyDown:e=>e.key===`Enter`&&n(),placeholder:`Human-friendly name...`,autoFocus:!0}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Leave empty to clear the label.`})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:n,children:`Save`})]})]})})}function Du(){let e=j(e=>e.pairInviteOpen),t=j(e=>e.pairInvite),n=j(e=>e.set),r=j(e=>e.closePairInvite),i=j(e=>e.doCreatePair),a=uc();function o(e){n({pairInvite:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Pair Agents`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Requester`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.requesterId,onChange:e=>o({requesterId:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Target`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.targetId,onChange:e=>o({targetId:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Objective`}),(0,B.jsx)(L,{value:t.objective,onChange:e=>o({objective:e.target.value}),placeholder:`What should they work on?`})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Create Pair`})]})]})})}function Ou(){let e=j(e=>e.pairMessageOpen),t=j(e=>e.pairMessage),n=j(e=>e.set),r=j(e=>e.closePairMessage),i=j(e=>e.doSendPairMessage);function a(e){n({pairMessage:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Pair Message`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Subject`}),(0,B.jsx)(L,{value:t.subject,onChange:e=>a({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Message`}),(0,B.jsx)(Su,{value:t.body,onChange:e=>a({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Send`})]})]})})}var ku=(0,z.lazy)(()=>R(()=>import(`./formatted-body-impl-tmf8IBfr.js`).then(e=>({default:e.FormattedBody})),__vite__mapDeps([14,1,5,3,6,9]),import.meta.url));function Au(e){return(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`span`,{className:e.className,children:e.text}),children:(0,B.jsx)(ku,{...e})})}function ju(){let e=j(e=>e.threadOpen),t=j(e=>e.threadMessages),n=j(e=>e.agentsById),r=rt(),i=j(e=>e.set);return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&i({threadOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl max-h-[80vh]`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{children:[`Thread (`,t.length,` messages)`]})}),(0,B.jsx)(lu,{className:`max-h-[60vh]`,children:(0,B.jsx)(`div`,{className:`space-y-3 pr-4`,children:t.map(e=>(0,B.jsxs)(`div`,{className:`rounded-lg border border-border p-3 space-y-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:kt(e.from,n)}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`→`}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:kt(e.to,n)}),(0,B.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:dt(r,e.createdAt)})]}),e.subject&&(0,B.jsx)(`div`,{className:`text-sm font-medium`,children:e.subject}),(0,B.jsx)(Au,{text:ct(e),rawBody:e.body,className:`text-sm text-muted-foreground`}),(0,B.jsxs)(`div`,{className:`flex gap-1.5 flex-wrap`,children:[e.channel&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e.channel}),e.claimedBy&&(0,B.jsxs)(F,{variant:`secondary`,className:`text-[10px]`,children:[`claimed by `,kt(e.claimedBy,n)]})]})]},e.id))})})]})})}function Mu(){let e=j(e=>e.taskEventsOpen),t=j(e=>e.taskEvents),n=j(e=>e.set),r=j(e=>e.switchView);function i(e){n({selectedMemoryId:e,taskEventsOpen:!1}),r(`memory`)}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&n({taskEventsOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl max-h-[80vh]`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{children:[`Task Events (`,t.length,`)`]})}),(0,B.jsx)(lu,{className:`max-h-[60vh]`,children:(0,B.jsxs)(`div`,{className:`space-y-2 pr-4`,children:[t.map(e=>(0,B.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-border p-3`,children:[(0,B.jsx)(F,{className:Ot[e.severity]||Ot.info,children:e.severity}),(0,B.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e.type})]}),e.body&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 whitespace-pre-wrap`,children:e.body}),(0,B.jsx)(Nu,{event:e,onOpen:i}),(0,B.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[At(e.createdAt),` · `,e.source]})]})]},e.id)),t.length===0&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:`No events recorded.`})]})})]})})}function Nu({event:e,onOpen:t}){if(e.type!==`memory.captured`)return null;let n=typeof e.metadata?.memoryId==`string`?e.metadata.memoryId:``,r=e.metadata?.memory&&typeof e.metadata.memory==`object`&&!Array.isArray(e.metadata.memory)?e.metadata.memory:{},i=typeof r.title==`string`?r.title:e.body||n,a=typeof r.scope==`string`?r.scope:``,o=typeof r.type==`string`?r.type:`memory`,s=typeof r.sensitivity==`string`?r.sensitivity:``;return(0,B.jsx)(`div`,{className:`mt-2 rounded-md border border-border bg-muted/20 p-2 text-xs`,children:(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(be,{className:`w-3.5 h-3.5 mt-0.5 text-muted-foreground shrink-0`}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:o}),a&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px] font-mono`,children:a}),s&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:s})]}),(0,B.jsx)(`div`,{className:`font-medium truncate`,children:i}),n&&(0,B.jsx)(`div`,{className:`font-mono text-[10px] text-muted-foreground truncate`,children:n})]}),n&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs shrink-0`,onClick:()=>t(n),children:`Open`})]})})}function Pu({open:e,onOpenChange:t,onSelect:n,orchestratorId:r,initialPath:i,title:a=`Select Directory`}){let s=j(e=>e.apiCall),[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)(null),[p,m]=(0,z.useState)(null),[h,g]=(0,z.useState)(!1),[_,v]=(0,z.useState)(``),[y,b]=(0,z.useState)(null),x=u?.path||i||``,S=(0,z.useMemo)(()=>x.split(`/`).filter(Boolean),[x]),C=(0,z.useCallback)(async e=>{if(r){l(!0),m(null),g(!1);try{let t=e?`?path=${encodeURIComponent(e)}`:``;d(await s(`GET`,`/orchestrators/${encodeURIComponent(r)}/directories${t}`))}catch(e){m(ft(e))}finally{l(!1)}}},[r,s]);(0,z.useEffect)(()=>{e&&r&&(d(null),m(null),g(!1),C(i||void 0))},[e,r]);async function ee(){if(!(!_.trim()||!u)){b(null);try{d(await s(`POST`,`/orchestrators/${encodeURIComponent(r)}/directories`,{path:u.path,name:_.trim()})),g(!1),v(``)}catch(e){b(ft(e))}}}function te(){x&&(n(x),t(!1))}function ne(e){C(`/`+S.slice(0,e+1).join(`/`))}return(0,B.jsx)(mu,{open:e,onOpenChange:t,children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[85dvh] flex flex-col`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[(0,B.jsx)(f,{className:`h-4 w-4`}),a]})}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-border bg-muted/50 px-2 py-1.5 text-xs overflow-x-auto`,children:[(0,B.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground shrink-0`,onClick:()=>u?.baseDir&&C(u.baseDir),children:`/`}),S.map((e,t)=>(0,B.jsxs)(`span`,{className:`shrink-0`,children:[(0,B.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground`,onClick:()=>ne(t),children:e}),t<S.length-1&&(0,B.jsx)(`span`,{className:`text-muted-foreground/50 mx-0.5`,children:`/`})]},`${e}-${t}`))]}),(0,B.jsxs)(`div`,{className:`flex-1 min-h-0 rounded-md border border-border bg-background overflow-y-auto`,style:{maxHeight:`40dvh`},children:[c&&(0,B.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,B.jsx)(Oe,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),!c&&p&&(0,B.jsx)(`div`,{className:`px-3 py-4 text-sm text-destructive`,children:p}),!c&&u&&(0,B.jsxs)(`div`,{className:`p-1`,children:[u.parent&&(0,B.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm hover:bg-muted`,onClick:()=>C(u.parent),children:[(0,B.jsx)(o,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`..`})]}),u.entries.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm hover:bg-muted`,onClick:()=>C(e.path),children:[(0,B.jsx)(D,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)),u.entries.length===0&&!u.parent&&(0,B.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`Empty directory`}),u.entries.length===0&&u.parent&&(0,B.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`No subdirectories`})]})]}),h?(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(L,{autoFocus:!0,value:_,onChange:e=>{v(e.target.value),b(null)},onKeyDown:e=>{e.key===`Enter`&&ee(),e.key===`Escape`&&(g(!1),v(``))},placeholder:`New directory name...`,className:`flex-1 font-mono text-sm`}),(0,B.jsx)(I,{type:`button`,size:`icon`,variant:`outline`,onClick:ee,disabled:!_.trim(),children:(0,B.jsx)(De,{className:`h-4 w-4`})}),(0,B.jsx)(I,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>{g(!1),v(``),b(null)},children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}):(0,B.jsxs)(I,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>g(!0),disabled:!u||c,children:[(0,B.jsx)(le,{className:`h-4 w-4 mr-1.5`}),`New Directory`]}),y&&(0,B.jsx)(`p`,{className:`text-xs text-destructive`,children:y}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,B.jsx)(I,{onClick:te,disabled:!x,children:`Select`})]})]})})}function Fu({value:e,onChange:t,orchestratorId:n,placeholder:r,disabled:i}){let[a,o]=(0,z.useState)(!1);return(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(L,{value:e,onChange:e=>t(e.target.value),placeholder:r,disabled:i,className:`flex-1 font-mono text-sm`}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>o(!0),disabled:i||!n,title:`Browse directories`,children:(0,B.jsx)(f,{className:`h-4 w-4`})}),n&&(0,B.jsx)(Pu,{open:a,onOpenChange:o,onSelect:t,orchestratorId:n,initialPath:e||void 0})]})}function Iu({model:e}){if(!e)return null;let t=Lu(e);return t.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,B.jsxs)(F,{variant:`outline`,className:`gap-1 text-[10px]`,children:[(0,B.jsx)(e.Icon,{className:`h-3 w-3`}),e.label]},e.label))})}function Lu(e){let t=[],n=e.limits?.contextWindowTokens?.value;return n&&t.push({label:Ru(n),Icon:w}),e.capabilities?.modalities.input.image&&t.push({label:`Image input`,Icon:Te}),(e.capabilities?.modalities.output.image||e.capabilities?.tools?.imageGeneration)&&t.push({label:`Image output`,Icon:Te}),e.capabilities?.tools?.code&&t.push({label:`Code`,Icon:de}),t}function Ru(e){return e>=1e6?`${e/1e6}M ctx`:e>=1e3?`${Math.round(e/1e3)}K ctx`:`${e} ctx`}function zu(){let e=j(e=>e.orchestratorSpawnOpen),t=j(e=>e.orchestrators),n=j(e=>e.spawnOrchId),r=j(e=>e.spawnProvider),i=j(e=>e.spawnModel),a=j(e=>e.spawnEffort),o=j(e=>e.spawnProfile),s=j(e=>e.spawnCwd),c=j(e=>e.spawnLabel),l=j(e=>e.spawnApproval),u=j(e=>e.spawnWorkspaceMode),d=j(e=>e.spawnPrompt),f=j(e=>e.spawnSystemPromptAppend),p=j(e=>e.spawnCount),m=j(e=>e.spawnCwdHistory),h=j(e=>e.isSpawning),g=j(e=>!!e.pendingForkImport),_=j(e=>e.set),v=j(e=>e.submitOrchestratorSpawn),y=j(e=>e.selectSpawnHistory),b=j(e=>e.agentProfiles),x=t.find(e=>e.id===n),S=x?.providers||[],C=it[r]?.models||[],ee=C.find(e=>e.alias===i),te=ee?.efforts||[],ne=!!(x&&S.length>0&&s.trim())&&!h,w=t.filter(e=>e.status===`online`),T=w.length>1,re=m.filter(e=>w.some(t=>t.id===e.orchId)).slice(0,5);function ie(e){let n=t.find(t=>t.id===e),r=n?.providers[0]||``;_({spawnOrchId:e,spawnProvider:r,spawnModel:r&&it[r]?.defaultModel||``,spawnEffort:``,spawnCwd:n?.baseDir||``})}function ae(e){_({spawnProvider:e,spawnModel:it[e]?.defaultModel||``,spawnEffort:``})}function oe(e){_({spawnModel:e,spawnEffort:``})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&_({orchestratorSpawnOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90dvh] flex flex-col`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Spawn Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3 overflow-y-auto flex-1 min-h-0 -mx-4 px-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:n,onChange:e=>ie(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,B.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:r,onChange:e=>ae(e.target.value),disabled:!S.length,children:[!S.length&&(0,B.jsx)(`option`,{value:r,children:`No providers available`}),S.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Model`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:i,onChange:e=>oe(e.target.value),disabled:!C.length,children:C.map(e=>(0,B.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Effort`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:a,onChange:e=>_({spawnEffort:e.target.value}),disabled:!te.length,children:[(0,B.jsx)(`option`,{value:``,children:`Default`}),te.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,B.jsx)(Iu,{model:ee}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Agent Profile`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:o||`default-relay`,onChange:e=>_({spawnProfile:e.target.value}),children:[!b.length&&(0,B.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),b.map(e=>(0,B.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Approval Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:l,onChange:e=>_({spawnApproval:e.target.value}),children:[(0,B.jsx)(`option`,{value:`open`,children:`Open`}),(0,B.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,B.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Workspace`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:u,onChange:e=>_({spawnWorkspaceMode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`inherit`,children:`Default`}),(0,B.jsx)(`option`,{value:`isolated`,children:`Isolated worktree`}),(0,B.jsx)(`option`,{value:`shared`,children:`Shared cwd`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Working Directory`}),(0,B.jsx)(`div`,{className:`mt-1`,children:(0,B.jsx)(Fu,{value:s,onChange:e=>_({spawnCwd:e}),orchestratorId:n,placeholder:`Select a project directory`})}),re.length>0&&(0,B.jsxs)(`div`,{className:`mt-2`,children:[(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mb-1`,children:`Recent`}),(0,B.jsx)(`div`,{className:`flex gap-1.5 overflow-x-auto pb-1 sm:flex-wrap sm:overflow-x-visible sm:pb-0`,children:re.map(e=>{let t=e.cwd.replace(/\/+$/,``).split(`/`).pop()||e.cwd,r=w.find(t=>t.id===e.orchId)?.hostname,i=e.orchId===n&&e.cwd===s;return(0,B.jsx)(`button`,{type:`button`,title:T&&r?`${r}: ${e.cwd}`:e.cwd,onClick:()=>y(e.orchId,e.cwd),className:`shrink-0 rounded-full border px-2.5 py-1 text-xs font-mono transition-colors ${i?`border-primary bg-primary/10 text-foreground`:`border-input bg-background text-muted-foreground hover:bg-accent hover:text-foreground`}`,children:T&&r?`${r}: ${t}`:t},`${e.orchId}:${e.cwd}`)})})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:c,onChange:e=>_({spawnLabel:e.target.value}),placeholder:`Optional label...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Initial Prompt`}),(0,B.jsx)(Su,{value:d,onChange:e=>_({spawnPrompt:e.target.value}),rows:3,placeholder:`Optional initial task...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Codex starts this as the first App Server turn; Claude receives it as a launch prompt.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`System Prompt Append`}),(0,B.jsx)(Su,{value:f,onChange:e=>_({spawnSystemPromptAppend:e.target.value}),rows:5,placeholder:`Optional launch context...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Use for fork history or launch context. It informs the session but does not start work by itself.`})]}),!g&&(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{children:`Number of Agents`}),(0,B.jsx)(`span`,{className:`text-sm font-mono tabular-nums text-muted-foreground`,children:p})]}),(0,B.jsx)(`input`,{type:`range`,min:1,max:10,step:1,value:p,onChange:e=>_({spawnCount:Number(e.target.value)}),className:`w-full mt-2 accent-primary`,"aria-label":`Number of agents to spawn`}),p>1&&(0,B.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:[`Spawns `,p,` identical agents`,c.trim()?`, labelled "${c.trim()} 1"…"${c.trim()} ${p}"`:``,`.`]})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>_({orchestratorSpawnOpen:!1}),disabled:h,children:`Cancel`}),(0,B.jsx)(I,{onClick:v,disabled:!ne,children:h?`Spawning…`:S.length?p>1?`Spawn ${p}`:`Spawn`:`No providers`})]})]})})}function Bu(){return`host-${Math.random().toString(36).slice(2,8)}`}function Vu(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Hu(){let e=j(e=>e.orchestratorInstallOpen),t=j(e=>e.set),n=j(e=>e.showError),r=j(e=>e.showNotification),i=(0,z.useMemo)(()=>new URL(y()).origin,[]),[a,o]=(0,z.useState)(Bu),[s,c]=(0,z.useState)(`$HOME/projects`),[l,u]=(0,z.useState)([`claude`,`codex`]),[d,f]=(0,z.useState)(`4860`),[p,m]=(0,z.useState)(``),[h,g]=(0,z.useState)(``),[_,v]=(0,z.useState)(),[b,x]=(0,z.useState)(!1);async function S(){if(!a.trim()){n(`Validation`,`Orchestrator id is required`);return}if(!s.trim()){n(`Validation`,`Base directory is required`);return}if(!l.length){n(`Validation`,`Select at least one provider`);return}x(!0);try{let e=await Ae(`POST`,`/orchestrators/bootstrap`,{id:a.trim(),relayUrl:i,baseDir:s.trim(),providers:l,apiPort:Number(d)||4860,pathPrefix:p.split(`:`).map(e=>e.trim()).filter(Boolean)});g(e.command),v(e.expiresAt)}catch(e){n(`Install Command Failed`,e.message)}finally{x(!1)}}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&t({orchestratorInstallOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl overflow-hidden`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[(0,B.jsx)(ce,{className:`w-4 h-4`}),`Add Orchestrator`]})}),(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator ID`}),(0,B.jsx)(L,{value:a,onChange:e=>o(e.target.value)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Relay URL`}),(0,B.jsx)(L,{value:i,readOnly:!0})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Base Directory`}),(0,B.jsx)(L,{value:s,onChange:e=>c(e.target.value)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`API Port`}),(0,B.jsx)(L,{value:d,onChange:e=>f(e.target.value),inputMode:`numeric`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Providers`}),(0,B.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[`claude`,`codex`].map(e=>(0,B.jsx)(I,{type:`button`,size:`sm`,variant:l.includes(e)?`default`:`outline`,onClick:()=>u(Vu(l,e)),children:e},e))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Extra PATH Prefix`}),(0,B.jsx)(L,{value:p,onChange:e=>m(e.target.value),placeholder:`/opt/homebrew/bin:/custom/bin`})]}),h&&(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,B.jsx)(Z,{children:`Install Command`}),_&&(0,B.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[`Install token expires `,new Date(_*1e3).toLocaleString()]})]}),(0,B.jsx)(`pre`,{className:`max-h-40 w-full overflow-y-auto whitespace-pre-wrap break-all rounded-md border border-input bg-muted/40 p-3 font-mono text-xs leading-relaxed`,children:h})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>t({orchestratorInstallOpen:!1}),children:`Close`}),h&&(0,B.jsx)(xn,{value:h,label:`Copy`,showText:!0,size:`default`,variant:`outline`,className:`gap-1`,onCopied:()=>r(`Install command copied`)}),(0,B.jsxs)(I,{className:`gap-1`,onClick:S,disabled:b,children:[(0,B.jsx)(xe,{className:`w-3.5 h-3.5`}),b?`Generating...`:`Generate Command`]})]})]})})}function Uu(){let e=j(e=>e.policyModal),t=j(e=>e.orchestrators),n=j(e=>e.agentProfiles),r=j(e=>e.set),i=j(e=>e.submitPolicy),a=t.find(t=>t.id===e.orchestratorId),o=a?.providers||[],s=it[e.provider]?.models||[],c=s.find(t=>t.alias===e.model),l=c?.efforts||[],u=!!e.editing,d=e.provider===`claude`&&a?.providerStatus?.find(e=>e.name===`claude`)?.features?.rig===!0;function f(t){r({policyModal:{...e,...t}})}function p(n){let r=t.find(e=>e.id===n)?.providers[0]||e.provider;f({orchestratorId:n,provider:r,model:it[r]?.defaultModel||``,effort:``})}function m(e){f({provider:e,rig:``,model:it[e]?.defaultModel||``,effort:``})}return(0,B.jsx)(mu,{open:e.open,onOpenChange:e=>!e&&f({open:!1}),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:u?`Edit Policy`:`Create Managed Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Policy Name`}),(0,B.jsx)(L,{value:e.name,onChange:e=>f({name:e.target.value}),placeholder:`my-agent`,disabled:u})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:e.label,onChange:e=>f({label:e.target.value}),placeholder:`Human-friendly name...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Description`}),(0,B.jsx)(L,{value:e.description,onChange:e=>f({description:e.target.value}),placeholder:`What does this agent do?`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.orchestratorId,onChange:e=>p(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,B.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.provider,onChange:e=>m(e.target.value),disabled:!o.length,children:[!o.length&&(0,B.jsx)(`option`,{value:e.provider,children:`No providers available`}),o.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),d&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Rig`}),(0,B.jsx)(L,{value:e.rig,onChange:e=>f({rig:e.target.value}),placeholder:`Leave empty to auto-detect from .claude-rig`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`claude-rig profile name. Auto-detects from project's .claude-rig file if empty.`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Model`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.model,onChange:e=>f({model:e.target.value,effort:``}),children:s.map(e=>(0,B.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Effort`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.effort,onChange:e=>f({effort:e.target.value}),disabled:!l.length,children:[(0,B.jsx)(`option`,{value:``,children:`Default`}),l.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,B.jsx)(Iu,{model:c}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Agent Profile`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.profile||`default-relay`,onChange:e=>f({profile:e.target.value}),children:[!n.length&&(0,B.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),n.map(e=>(0,B.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Working Directory`}),(0,B.jsx)(`div`,{className:`mt-1`,children:(0,B.jsx)(Fu,{value:e.cwd,onChange:e=>f({cwd:e}),orchestratorId:e.orchestratorId,placeholder:a?.baseDir||`/path/to/project`})})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.mode,onChange:e=>f({mode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`always-on`,children:`Always On`}),(0,B.jsx)(`option`,{value:`on-demand`,children:`On Demand`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Permission Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.permissionMode,onChange:e=>f({permissionMode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`open`,children:`Open`}),(0,B.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,B.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]})]}),e.mode===`on-demand`&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Keepalive (seconds)`}),(0,B.jsx)(L,{type:`number`,value:e.keepaliveSeconds,onChange:e=>f({keepaliveSeconds:e.target.value}),placeholder:`300`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Seconds to keep agent alive after last activity.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Initial Prompt`}),(0,B.jsx)(Su,{value:e.prompt,onChange:e=>f({prompt:e.target.value}),rows:3,placeholder:`Optional initial task or instructions...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Codex starts this as the first App Server turn; Claude receives it as a launch prompt.`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Tags`}),(0,B.jsx)(L,{value:e.tags,onChange:e=>f({tags:e.target.value}),placeholder:`tag1, tag2`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Capabilities`}),(0,B.jsx)(L,{value:e.capabilities,onChange:e=>f({capabilities:e.target.value}),placeholder:`chat, review`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider Args`}),(0,B.jsx)(L,{value:e.providerArgs,onChange:e=>f({providerArgs:e.target.value}),placeholder:`--flag value`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Space-separated args passed to the provider CLI.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Channel Binding`}),(0,B.jsx)(L,{value:e.channelId,onChange:e=>f({channelId:e.target.value}),placeholder:`Channel ID (optional)`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Backoff Schedule (seconds)`}),(0,B.jsx)(L,{value:e.backoffSchedule,onChange:e=>f({backoffSchedule:e.target.value}),placeholder:`5, 15, 60, 300`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Backoff Reset After (s)`}),(0,B.jsx)(L,{type:`number`,value:e.backoffResetAfterSeconds,onChange:e=>f({backoffResetAfterSeconds:e.target.value}),placeholder:`600`})]})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{htmlFor:`restartOnUpdate`,children:`Restart on policy update`}),(0,B.jsx)(yn,{id:`restartOnUpdate`,checked:e.restartOnUpdate,onCheckedChange:e=>f({restartOnUpdate:e})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{htmlFor:`dailyRestart`,children:`Scheduled daily restart`}),(0,B.jsx)(yn,{id:`dailyRestart`,checked:e.scheduledDailyRestart,onCheckedChange:e=>f({scheduledDailyRestart:e})})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>f({open:!1}),children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:u?`Save`:`Create`})]})]})})}function Q({title:e,children:t,defaultOpen:n=!0}){let[r,i]=(0,z.useState)(n);return(0,B.jsxs)(`div`,{className:`border border-border rounded-md`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-sm font-medium hover:bg-accent`,onClick:()=>i(!r),children:[r?(0,B.jsx)(Ue,{className:`h-3.5 w-3.5`}):(0,B.jsx)(Je,{className:`h-3.5 w-3.5`}),e]}),r&&(0,B.jsx)(`div`,{className:`space-y-3 border-t border-border px-3 py-3`,children:t})]})}function Wu({value:e,onChange:t,options:n,disabled:r}){return(0,B.jsx)(`select`,{className:`w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e,onChange:e=>t(e.target.value),disabled:r,children:n.map(e=>(0,B.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function Gu({env:e,onChange:t,disabled:n}){let r=Object.entries(e),[i,a]=(0,z.useState)(``),[o,s]=(0,z.useState)(``);function c(){i.trim()&&(t({...e,[i.trim()]:o}),a(``),s(``))}function l(n){let r={...e};delete r[n],t(r)}return(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[r.map(([e,t])=>(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,B.jsxs)(`code`,{className:`min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 text-xs`,children:[e,`=`,t]}),!n&&(0,B.jsx)(I,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>l(e),children:(0,B.jsx)(Fe,{className:`h-3 w-3`})})]},e)),!n&&(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,B.jsx)(L,{value:i,onChange:e=>a(e.target.value),placeholder:`KEY`,className:`flex-1 text-xs font-mono`}),(0,B.jsx)(L,{value:o,onChange:e=>s(e.target.value),placeholder:`value`,className:`flex-1 text-xs font-mono`,onKeyDown:e=>e.key===`Enter`&&c()}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:c,children:(0,B.jsx)(v,{className:`h-3 w-3`})})]}),r.length===0&&n&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No environment variables`})]})}var Ku=[{value:`host`,label:`Host — full access, relay-aware`},{value:`minimal`,label:`Minimal — relay disabled, repo-scoped`},{value:`isolated`,label:`Isolated — strict isolation`}],qu=[{value:`any`,label:`Any provider`},{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`}],Ju=[{value:`host`,label:`Host — use host config`},{value:`profile`,label:`Profile — use profile config`},{value:`repo`,label:`Repo — use repo config only`},{value:`none`,label:`None — disabled`}],Yu=[{value:`host`,label:`Host — full filesystem`},{value:`workspace`,label:`Workspace — working directory tree`},{value:`repo`,label:`Repo — repository root only`}],Xu=[{value:`allow`,label:`Allow`},{value:`ignore`,label:`Ignore`}],Zu=[{value:``,label:`Default`},{value:`open`,label:`Open — allow all`},{value:`guarded`,label:`Guarded — prompt for risky`},{value:`read-only`,label:`Read-only`}];function Qu(){let{open:e,mode:t,profile:n}=j(e=>e.profileModal),r=j(e=>e.closeProfileModal),i=j(e=>e.updateProfileModal),a=j(e=>e.saveProfile),o=t===`view`||n.builtIn===!0,s=t===`create`||t===`duplicate`,c=t===`view`?`Profile: ${n.name}`:t===`edit`?`Edit: ${n.name}`:t===`duplicate`?`Duplicate Profile`:`Create Profile`;function l(e){i({instructions:{...n.instructions,...e}})}function u(e){i({relay:{...n.relay,...e}})}function d(e){i({permissions:{...n.permissions,...e}})}function f(e){let t=n.providerOptions||{},r={...t.codex&&typeof t.codex==`object`&&!Array.isArray(t.codex)?t.codex:{}};if(!e.trim())delete r.toolOutputTokenLimit;else{let t=Number(e);if(!Number.isSafeInteger(t))return;r.toolOutputTokenLimit=t}i({providerOptions:{...t,codex:r}})}function p(e){if(!e.trim()){i({maxSpawnedAgents:void 0});return}let t=Number(e);!Number.isInteger(t)||t<0||i({maxSpawnedAgents:Math.min(t,100)})}function m(e){let t=e===`host`;i({base:e,relay:{context:t,skills:t,plugins:t,statusLine:t,mcp:t},mcp:{...n.mcp,mode:t?`host`:`none`},hooks:{mode:t?`host`:`none`},permissions:{...n.permissions,filesystem:t?`host`:`repo`},instructions:{...n.instructions,globalInstructions:t?`allow`:`ignore`}})}let h=n.providerOptions?.codex&&typeof n.providerOptions.codex==`object`&&!Array.isArray(n.providerOptions.codex)?n.providerOptions.codex:{},g=Number.isSafeInteger(h.toolOutputTokenLimit)?String(h.toolOutputTokenLimit):``;return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[c,n.builtIn&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:`Built-in`})]})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(Q,{title:`General`,defaultOpen:!0,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Name`}),(0,B.jsx)(L,{value:n.name,onChange:e=>i({name:e.target.value}),placeholder:`my-profile`,disabled:o||t===`edit`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Description`}),(0,B.jsx)(L,{value:n.description||``,onChange:e=>i({description:e.target.value}),placeholder:`What this profile configures`,disabled:o})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Base`}),(0,B.jsx)(Wu,{value:n.base,onChange:e=>m(e),options:Ku,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsx)(Wu,{value:n.provider||`any`,onChange:e=>i({provider:e}),options:qu,disabled:o})]})]})]}),(0,B.jsxs)(Q,{title:`Instructions`,defaultOpen:!1,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`System Prompt`}),(0,B.jsx)(Su,{value:n.instructions.system||``,onChange:e=>l({system:e.target.value}),placeholder:`Custom system prompt...`,rows:3,disabled:o,className:`font-mono text-xs`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Repo Instructions`}),(0,B.jsx)(Wu,{value:n.instructions.repoInstructions,onChange:e=>l({repoInstructions:e}),options:Xu,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Global Instructions`}),(0,B.jsx)(Wu,{value:n.instructions.globalInstructions,onChange:e=>l({globalInstructions:e}),options:Xu,disabled:o})]})]})]}),(0,B.jsx)(Q,{title:`Relay Integration`,defaultOpen:!1,children:(0,B.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:[`context`,`skills`,`plugins`,`statusLine`,`mcp`].map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(Z,{className:`capitalize`,children:e===`statusLine`?`Status Line`:e===`mcp`?`MCP Tools`:e}),(0,B.jsx)(yn,{checked:n.relay[e]??!0,onCheckedChange:t=>u({[e]:t}),disabled:o})]},e))})}),(0,B.jsx)(Q,{title:`MCP & Hooks`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`MCP Mode`}),(0,B.jsx)(Wu,{value:n.mcp.mode,onChange:e=>i({mcp:{...n.mcp,mode:e}}),options:Ju,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Hooks Mode`}),(0,B.jsx)(Wu,{value:n.hooks.mode,onChange:e=>i({hooks:{mode:e}}),options:Ju,disabled:o})]})]})}),(0,B.jsx)(Q,{title:`Permissions`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Approval Mode`}),(0,B.jsx)(Wu,{value:n.permissions.mode||``,onChange:e=>d({mode:e||void 0}),options:Zu,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Filesystem Scope`}),(0,B.jsx)(Wu,{value:n.permissions.filesystem,onChange:e=>d({filesystem:e}),options:Yu,disabled:o})]})]})}),(0,B.jsx)(Q,{title:`Spawning`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Spawn Quota`}),(0,B.jsx)(L,{type:`number`,min:0,max:100,step:1,value:n.maxSpawnedAgents===void 0?``:String(n.maxSpawnedAgents),onChange:e=>p(e.target.value),placeholder:`0`,disabled:o}),(0,B.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Max concurrent live child agents this profile may spawn. Empty or 0 = cannot spawn (default). Children never inherit it (no grandchildren).`})]})}),(0,B.jsx)(Q,{title:`Environment Variables`,defaultOpen:!1,children:(0,B.jsx)(Gu,{env:n.env||{},onChange:e=>i({env:e}),disabled:o})}),(0,B.jsxs)(Q,{title:`Provider Options`,defaultOpen:!1,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Codex Tool Output Limit`}),(0,B.jsx)(L,{type:`number`,min:1e3,max:2e5,value:g,onChange:e=>f(e.target.value),placeholder:`12000`,disabled:o})]}),(0,B.jsx)(Su,{value:JSON.stringify(n.providerOptions||{},null,2),onChange:e=>{try{i({providerOptions:JSON.parse(e.target.value)})}catch{}},rows:3,disabled:o,className:`font-mono text-xs`,placeholder:`{}`})]})]}),!o&&(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:a,children:s?`Create`:`Save`})]})]})})}function $u(){let e=j(e=>e.commandPaletteOpen),t=j(e=>e.commandQuery),n=j(e=>e.set),r=j(e=>e.closeCommandPalette),i=j(e=>e.runCommand),a=mc(),o=(0,z.useRef)(null);return(0,z.useEffect)(()=>{e&&setTimeout(()=>o.current?.focus(),50)},[e]),e?(0,B.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,onClick:e=>{e.target===e.currentTarget&&r()},children:[(0,B.jsx)(`div`,{className:`fixed inset-0 bg-black/60`}),(0,B.jsxs)(`div`,{className:`relative w-full max-w-lg bg-card border border-border rounded-xl shadow-2xl overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`p-3 border-b border-border`,children:(0,B.jsx)(L,{ref:o,value:t,onChange:e=>n({commandQuery:e.target.value}),placeholder:`Type a command...`,className:`border-0 bg-transparent focus-visible:ring-0 text-base`})}),(0,B.jsxs)(`div`,{className:`max-h-80 overflow-y-auto p-2`,children:[a.map(e=>(0,B.jsxs)(`button`,{onClick:()=>i(e),className:`w-full flex items-center gap-3 px-3 py-2.5 rounded-lg hover:bg-accent text-left transition-colors`,children:[(0,B.jsx)(qe[e.icon]||Je,{className:`w-4 h-4 text-muted-foreground shrink-0`}),(0,B.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,B.jsx)(`div`,{className:`text-sm`,children:e.title}),e.subtitle&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]})]},e.id)),a.length===0&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-4`,children:`No matching commands.`})]})]})]}):null}function ed(){let e=j(e=>e.set),t=j(e=>e.connected);return(0,B.jsxs)(`div`,{className:`xl:hidden sticky top-0 z-30 bg-card border-b border-border px-4 h-[var(--header-h)] flex items-center gap-3`,children:[(0,B.jsx)(`button`,{onClick:()=>e({mobileMenuOpen:!0}),className:`p-1 -ml-1 text-muted-foreground hover:text-foreground transition-colors`,"aria-label":`Open menu`,children:(0,B.jsx)(ae,{className:`w-5 h-5`})}),(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),(0,B.jsx)(`span`,{className:`font-bold text-sm`,children:`Agent Relay`}),(0,B.jsx)(`span`,{className:`ml-auto w-2 h-2 rounded-full ${t?`bg-emerald-500`:`bg-red-500 animate-pulse`}`})]})}var td=(0,z.lazy)(()=>R(()=>import(`./overview-DbyX7k-7.js`).then(e=>({default:e.OverviewView})),__vite__mapDeps([15,1,6,8,9,16,11,17]),import.meta.url)),nd=(0,z.lazy)(()=>R(()=>import(`./chat-zPXWB-03.js`).then(e=>({default:e.ChatView})),__vite__mapDeps([18,1,6,19,8,9,20,21,10,11,16,22,12]),import.meta.url)),rd=(0,z.lazy)(()=>R(()=>import(`./agents-CHmEJvqV.js`).then(e=>({default:e.AgentsView})),__vite__mapDeps([23,6,1,8,9,20,21,10,11,16,17]),import.meta.url)),id=(0,z.lazy)(()=>R(()=>import(`./managed-agents-CasacvJX.js`).then(e=>({default:e.ManagedAgentsView})),__vite__mapDeps([24,1,6,8,9,10,11]),import.meta.url)),ad=(0,z.lazy)(()=>R(()=>import(`./agent-profiles-kb5H23CF.js`).then(e=>({default:e.AgentProfilesView})),__vite__mapDeps([25,6,1,8,9,16,11,10]),import.meta.url)),od=(0,z.lazy)(()=>R(()=>import(`./orchestrators-CQcJb6VE.js`).then(e=>({default:e.OrchestratorsView})),__vite__mapDeps([26,6,1,8,9,16,11,10,17]),import.meta.url)),sd=(0,z.lazy)(()=>R(()=>import(`./workspaces-Df0xJuIo.js`).then(e=>({default:e.WorkspacesView})),__vite__mapDeps([27,1,6,8,9,21,10,11,16,17]),import.meta.url)),cd=(0,z.lazy)(()=>R(()=>import(`./channels-DyPw9JsY.js`).then(e=>({default:e.ChannelsView})),__vite__mapDeps([28,6,1,8,9,16,11,10,17]),import.meta.url)),ld=(0,z.lazy)(()=>R(()=>import(`./connectors-k7JYCrrl.js`).then(e=>({default:e.ConnectorsView})),__vite__mapDeps([29,6,1,8,9,16,11,10,17]),import.meta.url)),ud=(0,z.lazy)(()=>R(()=>import(`./integrations-BEkyjBAs.js`).then(e=>({default:e.IntegrationsView})),__vite__mapDeps([30,6,1,8,9,16,11,10,17]),import.meta.url)),dd=(0,z.lazy)(()=>R(()=>import(`./security-BogsfkbT.js`).then(e=>({default:e.SecurityView})),__vite__mapDeps([31,1,6,21,10,11,16,17,22]),import.meta.url)),fd=(0,z.lazy)(()=>R(()=>import(`./memory-SVCob0fo.js`).then(e=>({default:e.MemoryView})),__vite__mapDeps([32,1,6,8,9,16,11,10,17,22]),import.meta.url)),pd=(0,z.lazy)(()=>R(()=>import(`./activity-ClpDglG8.js`).then(e=>({default:e.ActivityView})),__vite__mapDeps([33,1,6,8,9,16,11,10,17]),import.meta.url)),md=(0,z.lazy)(()=>R(()=>import(`./pairs-CaL0_ZfW.js`).then(e=>({default:e.PairsView})),__vite__mapDeps([34,6,1,8,9,16,11,10,17]),import.meta.url)),hd=(0,z.lazy)(()=>R(()=>import(`./messages-CHK24Uxx.js`).then(e=>({default:e.MessagesView})),__vite__mapDeps([35,1,6,8,9,16,11,10,17]),import.meta.url)),gd=(0,z.lazy)(()=>R(()=>import(`./work-queue-fM-tu0iP.js`).then(e=>({default:e.WorkQueueView})),__vite__mapDeps([36,6,1,8,9,16,11,10,17]),import.meta.url)),_d=(0,z.lazy)(()=>R(()=>import(`./tasks-CCxQovOv.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([37,1,6,8,9,16,11,10,17]),import.meta.url)),vd=(0,z.lazy)(()=>R(()=>import(`./automation-B5U_g-1P.js`).then(e=>({default:e.AutomationView})),__vite__mapDeps([38,1,39,40,6,11,41,19,42,8,9,16,10,17,22]),import.meta.url)),$=(0,z.lazy)(()=>R(()=>import(`./analytics-2kTjXIj1.js`).then(e=>({default:e.AnalyticsView})),__vite__mapDeps([43,1,6,8,9,17,44]),import.meta.url)),yd=(0,z.lazy)(()=>R(()=>import(`./insights-5CDeJfoX.js`).then(e=>({default:e.InsightsView})),__vite__mapDeps([45,1,39,40,6,11,41,19,42,16,10,17,22,9]),import.meta.url)),bd=(0,z.lazy)(()=>R(()=>import(`./maintenance-Tn23oWBF.js`).then(e=>({default:e.MaintenanceView})),__vite__mapDeps([46,1,6,8,9,16,11,10]),import.meta.url)),xd=(0,z.lazy)(()=>R(()=>import(`./settings-BOsnUh5f.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([47,1,48,40,6,11,41,19,39,42,49,50,51,52,8,9,10,22]),import.meta.url)),Sd=class extends z.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary]`,e.message,`
|
|
19
|
+
`)}):null,Qe?.unavailable?.length?(0,B.jsx)(`div`,{className:`mt-1 text-amber-50/55`,children:Qe.unavailable.join(`; `)}):null]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Last seen`}),(0,B.jsx)(`span`,{className:`truncate`,children:dt(c,k.lastSeen)})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Created`}),(0,B.jsx)(`span`,{className:`truncate`,children:At(k.createdAt)})]}),k.machine&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Machine`}),(0,B.jsx)(`span`,{className:`truncate`,children:k.machine})]}),k.rig&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Rig`}),(0,B.jsx)(`span`,{className:`truncate`,children:k.rig})]}),typeof k.meta?.cwd==`string`&&k.meta.cwd&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`CWD`}),(0,B.jsx)(`button`,{type:`button`,className:`truncate text-right font-mono text-xs text-muted-foreground hover:text-foreground`,title:`Open ${k.meta.cwd} in Files`,onClick:()=>{u(),w(k)},children:k.meta.cwd})]})]})]}),ve&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Pair`}),(0,B.jsx)(F,{className:ve.status===`active`?`bg-emerald-500/20 text-emerald-400`:`bg-yellow-500/20 text-yellow-400`,children:ve.status}),ve.objective&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:ve.objective})]})]}),(A||k.context||We.length>0)&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Runtime`}),(0,B.jsxs)(`div`,{className:`space-y-2 text-sm`,children:[(0,B.jsx)(Ml,{agent:k}),(0,B.jsx)(jl,{agent:k}),He&&(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Provider state`}),(0,B.jsx)(`div`,{children:He.state})]}),He.reason&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Reason`}),(0,B.jsx)(`div`,{children:He.reason})]}),He.source&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Source`}),(0,B.jsx)(`div`,{children:He.source})]}),He.updatedAt&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Updated`}),(0,B.jsx)(`div`,{children:dt(c,He.updatedAt)})]})]}),A?.model&&(0,B.jsxs)(`div`,{className:`space-y-1`,children:[A.model.provider&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Provider`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.provider})]}),(A.model.alias||A.model.id)&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Model`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.alias||A.model.id})]}),A.model.effort&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Effort`}),(0,B.jsx)(`span`,{className:`truncate`,children:A.model.effort})]})]}),A?.session&&(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[A.session.approvalMode&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Mode`}),(0,B.jsx)(`div`,{children:A.session.approvalMode})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Files`}),(0,B.jsx)(`div`,{children:A.session.fileWrite?`read/write`:A.session.fileRead?`read-only`:`none`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Shell`}),(0,B.jsx)(`div`,{children:A.session.shell?`yes`:`no`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Confidence`}),(0,B.jsx)(`div`,{children:A.confidence})]})]}),A?.lifecycle&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Lifecycle`}),(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:[(0,B.jsx)(F,{variant:A.lifecycle.managed?`secondary`:`outline`,className:`text-[10px]`,children:A.lifecycle.managed?`managed`:`bridge`}),A.lifecycle.shutdownHard&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`shutdown`}),A.lifecycle.restartHard&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`restart`}),A.lifecycle.reconnect&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:`reconnect`})]})]}),We.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Subagents`}),(0,B.jsx)(`div`,{className:`space-y-1 mt-1`,children:We.map(e=>(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 text-xs rounded border border-border px-2 py-1`,children:[(0,B.jsx)(`span`,{className:`truncate`,children:e.label}),e.role&&(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e.role})]},e.id))})]}),k.context&&(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(Nl,{agent:k}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Context`}),(0,B.jsxs)(`div`,{children:[Math.round(k.context.utilization*100),`%`]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`State`}),(0,B.jsx)(`div`,{children:k.context.lifecycleState})]}),Ue&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Tokens`}),(0,B.jsx)(`div`,{children:Ue})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Source`}),(0,B.jsxs)(`div`,{children:[k.context.source,`/`,k.context.confidence]})]})]}),k.context.warmTopics.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Warm topics`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:k.context.warmTopics.map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),T.length>1&&(0,B.jsx)(eu,{snapshots:T})]})]})]})]}),ae&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-2`,children:[(0,B.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-1.5`,children:[(0,B.jsx)(be,{className:`w-3.5 h-3.5 text-muted-foreground`}),`Memory`]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[ae.supported&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:ae.memories.length}),ae.supported&&ae.memories.length>0&&(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,onClick:()=>y(`Clear Active Memories`,`Clear active memories for ${M(k)}?`,Se),children:[(0,B.jsx)(m,{className:`w-3 h-3`}),`Clear`]})]})]}),ae.supported?ae.memories.length===0?(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No active memories`}):(0,B.jsx)(`div`,{className:`space-y-2`,children:ae.memories.map(e=>(0,B.jsx)($l,{memory:e,now:c,onOpen:()=>{l({selectedMemoryId:e.id}),v(`memory`),u()}},e.id))}):(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Active memory list unavailable`})]})]}),k.meta?.runnerManaged===!0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsx)(Kl,{agent:k,orchestrators:o})]}),(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Metadata`}),(0,B.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`ID`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[(0,B.jsx)(`span`,{className:`font-mono text-xs truncate`,children:k.id}),(0,B.jsx)(xn,{value:k.id,label:`Copy agent ID`,size:`icon-xs`,className:`shrink-0 text-muted-foreground`})]})]}),Re&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Package`}),(0,B.jsxs)(`span`,{className:`font-mono text-xs truncate`,children:[Re.name,` v`,Re.version]})]}),ze.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Contracts`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:ze.map(([e,t])=>(0,B.jsxs)(F,{variant:`secondary`,className:`text-[10px]`,children:[e,`=`,t]},e))})]}),k.tags.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Tags`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:k.tags.map(e=>(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),ut(k.capabilities).length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:ut(k.capabilities).map(e=>(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]})]})]}),ye.length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Recent Messages`}),(0,B.jsx)(`div`,{className:`space-y-2`,children:ye.map(e=>(0,B.jsxs)(`div`,{className:`rounded border border-border p-2 text-xs space-y-0.5 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium text-foreground truncate shrink-0 max-w-[40%]`,children:kt(e.from,n)}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`→`}),(0,B.jsx)(`span`,{className:`truncate max-w-[40%]`,children:kt(e.to,n)}),(0,B.jsxs)(`span`,{className:`ml-auto shrink-0 text-[10px]`,children:[(0,B.jsxs)(`span`,{className:`opacity-40 mr-1`,children:[`#`,e.id]}),dt(c,e.createdAt)]})]}),(0,B.jsx)(`div`,{className:`text-foreground whitespace-pre-wrap break-words line-clamp-3`,children:ct(e)})]},e.id))})]})]})]})}),(0,B.jsx)(El,{value:`timeline`,className:`min-h-0 overflow-y-auto overflow-x-hidden`,children:(0,B.jsx)(tu,{agentId:k.id,open:e&&se===`timeline`,now:c})}),(0,B.jsx)(El,{value:`logs`,className:`min-h-0 overflow-y-auto overflow-x-hidden`,children:Ge&&Ke?(0,B.jsx)(`div`,{className:`p-4`,children:(0,B.jsx)(Wl,{orchestratorId:Ke.id,session:Ge})}):(0,B.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`No session logs available for this agent.`})})]})]})}),le&&(0,B.jsx)(Ul,{open:D,onOpenChange:e=>void Te(e),orchestratorId:le.orchestratorId,session:le.session,interactive:le.interactive||Ye})]})}function $l({memory:e,now:t,onOpen:n}){let r=e.sensitivity===`secret`?`bg-red-500/10 text-red-400 border-red-500/30`:e.sensitivity===`sensitive`?`bg-yellow-500/10 text-yellow-400 border-yellow-500/30`:`bg-zinc-500/10 text-zinc-400 border-zinc-500/30`;return(0,B.jsx)(`button`,{onClick:n,className:`w-full rounded-md border border-border p-2 text-left text-xs hover:border-zinc-600 transition-colors`,children:(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e.type}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px] font-mono`,children:e.scope}),(0,B.jsx)(F,{className:`text-[10px] ${r}`,children:e.sensitivity})]}),(0,B.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),(0,B.jsx)(`div`,{className:`text-muted-foreground line-clamp-2 mt-0.5`,children:e.content})]}),(0,B.jsx)(`div`,{className:`shrink-0 text-right text-[10px] text-muted-foreground`,title:At(e.lastAccessedAt??e.updatedAt),children:dt(t,e.lastAccessedAt??e.updatedAt)})]})})}function eu({snapshots:e}){let t=e.slice(-24);return t.length<2?null:(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`History`}),(0,B.jsx)(`div`,{className:`mt-1 flex h-10 items-end gap-1`,"aria-label":`Context utilization history`,children:t.map(e=>(0,B.jsx)(`div`,{className:`flex-1 rounded-sm bg-primary/70`,style:{height:Math.max(4,Math.round(Math.max(0,Math.min(1,e.utilization))*40))},title:`${Math.round(e.utilization*100)}% ${new Date(e.capturedAt).toLocaleTimeString()}`},e.id))})]})}function tu({agentId:e,open:t,now:n}){let[r,i]=(0,z.useState)([]),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(null),[l,u]=(0,z.useState)(50),d=(0,z.useCallback)(t=>{o(!0),c(null);let n=!1;return Ae(`GET`,`/agents/`+encodeURIComponent(e)+`/timeline?limit=`+t).then(e=>{n||(i(e),u(t))}).catch(e=>{n||c(e.message)}).finally(()=>{n||o(!1)}),()=>{n=!0}},[e]);return(0,z.useEffect)(()=>{if(t)return d(50)},[t,e,d]),(0,B.jsxs)(`div`,{className:`p-4 space-y-3 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium`,children:`Timeline`}),(0,B.jsxs)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs`,disabled:a,onClick:()=>d(l),children:[(0,B.jsx)(te,{className:`w-3 h-3 mr-1`}),`Refresh`]})]}),s&&(0,B.jsx)(`div`,{className:`text-xs text-red-300`,children:s}),!s&&r.length===0&&!a&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No timeline activity recorded for this agent.`}),(0,B.jsx)(`div`,{className:`space-y-1.5`,children:r.map((e,t)=>(0,B.jsx)(ru,{entry:e,now:n},`${e.ts}:${e.source}:${t}`))}),r.length>=l&&l<200&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`w-full h-7 text-xs`,disabled:a,onClick:()=>d(200),children:`Load full timeline`})]})}function nu(e){return e.metadata?.mismatch===!0||e.metadata?.stalled===!0?(0,B.jsx)(Ve,{className:`w-3.5 h-3.5 text-amber-400`}):e.source===`command`?(0,B.jsx)(xe,{className:`w-3.5 h-3.5 text-sky-400`}):e.source===`delivery`?(0,B.jsx)(d,{className:`w-3.5 h-3.5 text-violet-400`}):e.kind===`state`?(0,B.jsx)(E,{className:`w-3.5 h-3.5 text-emerald-400`}):(0,B.jsx)(u,{className:`w-3.5 h-3.5 text-muted-foreground`})}function ru({entry:e,now:t}){let n=typeof e.metadata?.status==`string`?e.metadata.status:``,r=/fail|error|poison|dead/i.test(n),i=e.metadata?.fromState,a=e.metadata?.toState,o=typeof i==`string`&&typeof a==`string`?`${i} → ${a}`:null;return(0,B.jsxs)(`div`,{className:`flex gap-2 rounded border border-border px-2 py-1.5 text-xs min-w-0`,children:[(0,B.jsx)(`div`,{className:`shrink-0 mt-0.5`,children:nu(e)}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium truncate ${r?`text-red-300`:`text-foreground`}`,children:e.title}),(0,B.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] text-muted-foreground`,title:At(e.ts),children:dt(t,e.ts)})]}),o&&(0,B.jsx)(`div`,{className:`text-muted-foreground font-mono text-[11px]`,children:o}),e.detail&&(0,B.jsx)(`div`,{className:`text-muted-foreground whitespace-pre-wrap break-words line-clamp-3`,children:e.detail})]})]})}function iu(e){return Ct(e)&&typeof e.name==`string`&&typeof e.version==`string`?{name:e.name,version:e.version}:null}function au(e){return Ct(e)?Object.entries(e).filter(e=>typeof e[1]==`number`):[]}function ou(e){if(!Ct(e)||typeof e.lastError!=`string`)return null;let t=Ct(e.systemd)?{unit:typeof e.systemd.unit==`string`?e.systemd.unit:void 0,activeState:typeof e.systemd.activeState==`string`?e.systemd.activeState:void 0,subState:typeof e.systemd.subState==`string`?e.systemd.subState:void 0,result:typeof e.systemd.result==`string`?e.systemd.result:void 0,execMainCode:typeof e.systemd.execMainCode==`string`?e.systemd.execMainCode:void 0,execMainStatus:typeof e.systemd.execMainStatus==`string`?e.systemd.execMainStatus:void 0}:void 0;return{lastError:e.lastError,detectedAt:typeof e.detectedAt==`number`?e.detectedAt:void 0,runtimeMs:typeof e.runtimeMs==`number`?e.runtimeMs:void 0,logFile:typeof e.logFile==`string`?e.logFile:void 0,logBytes:typeof e.logBytes==`number`?e.logBytes:void 0,logEmpty:typeof e.logEmpty==`boolean`?e.logEmpty:void 0,logTail:Array.isArray(e.logTail)?e.logTail.filter(e=>typeof e==`string`):void 0,systemd:t,unavailable:Array.isArray(e.unavailable)?e.unavailable.filter(e=>typeof e==`string`):void 0}}function su(e){let t=e?.meta?.tmuxSession;return typeof t==`string`&&t.trim()?t:null}function cu(e,t,n){return e?n.find(n=>n.managedAgents.some(n=>n.agentId===e.id||n.tmuxSession===t))??null:null}function lu({className:e,children:t,...n}){return(0,B.jsxs)(Wo,{"data-slot":`scroll-area`,className:T(`relative`,e),...n,children:[(0,B.jsx)(Go,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,B.jsx)(uu,{}),(0,B.jsx)(Ko,{})]})}function uu({className:e,orientation:t=`vertical`,...n}){return(0,B.jsx)(vo,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:T(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,B.jsx)(ko,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function du(){let e=j(e=>e.channelDetailOpen),t=j(e=>e.channelDetailId),n=j(e=>e.channels),r=j(e=>e.messages),i=j(e=>e.agentsById),a=rt(),o=j(e=>e.closeChannelDetail),s=n.find(e=>e.id===t)||null,c=Dt(s),l=(0,z.useMemo)(()=>s?r.filter(e=>ht(e,s)).sort((e,t)=>t.id-e.id).slice(0,8):[],[r,s]);return(0,B.jsx)(gl,{open:e,onOpenChange:e=>!e&&o(),children:(0,B.jsxs)(yl,{className:`w-full max-w-[100dvw] sm:max-w-md lg:max-w-lg p-0`,children:[(0,B.jsx)(bl,{className:`shrink-0 p-4 border-b border-border`,children:(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(F,{className:xt(c.tone),children:c.label}),(0,B.jsx)(xl,{className:`text-base truncate`,children:s?.name||`Channel`})]})}),(0,B.jsx)(lu,{className:`flex-1 min-h-0`,children:(0,B.jsxs)(`div`,{className:`p-4 space-y-4`,children:[s&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Route`}),(0,B.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Type`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.type})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Direction`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.direction})]}),s.target&&(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Target`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.target})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Agent`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.agentId})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Transport`}),(0,B.jsx)(`span`,{className:`truncate`,children:s.transport})]}),(0,B.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Last seen`}),(0,B.jsx)(`span`,{className:`shrink-0`,children:dt(a,s.lastSeen)})]})]})]}),ut(s.capabilities).length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Capabilities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:ut(s.capabilities).map(e=>(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]})]}),s.meta&&Object.keys(s.meta).length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Metadata`}),(0,B.jsx)(`div`,{className:`space-y-1 text-sm`,children:Object.entries(s.meta).map(([e,t])=>(0,B.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,B.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e}),(0,B.jsx)(`span`,{className:`truncate`,children:String(t)})]},e))})]})]})]}),l.length>0&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(gc,{}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Recent Messages`}),(0,B.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,B.jsxs)(`div`,{className:`rounded border border-border p-2 text-xs space-y-0.5 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground min-w-0`,children:[(0,B.jsx)(`span`,{className:`font-medium text-foreground truncate shrink-0 max-w-[40%]`,children:kt(e.from,i)}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`→`}),(0,B.jsx)(`span`,{className:`truncate max-w-[40%]`,children:kt(e.to,i)}),(0,B.jsxs)(`span`,{className:`ml-auto shrink-0 text-[10px]`,children:[(0,B.jsxs)(`span`,{className:`opacity-40 mr-1`,children:[`#`,e.id]}),dt(a,e.createdAt)]})]}),(0,B.jsx)(`div`,{className:`text-foreground whitespace-pre-wrap break-words line-clamp-3`,children:ct(e)})]},e.id))})]})]})]})})]})})}var fu=!1;function pu(e,t){let n=z.useRef(!1),r=z.useRef(t);r.current=t,z.useEffect(()=>{if(!e||!r.current)return;fu=!1,window.history.pushState({dialogGuard:!0},``),n.current=!0;function t(){if(fu){fu=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,fu=!0,window.history.back())}},[e])}function mu({...e}){return pu(e.open,e.onOpenChange),(0,B.jsx)(ur,{"data-slot":`dialog`,...e})}function hu({...e}){return(0,B.jsx)(dr,{"data-slot":`dialog-portal`,...e})}function gu({className:e,blur:t=!0,...n}){return(0,B.jsx)(fr,{"data-slot":`dialog-overlay`,className:T(`fixed inset-0 isolate z-50 bg-black/10 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t&&`supports-backdrop-filter:backdrop-blur-xs`,e),...n})}function _u({className:e,children:t,showCloseButton:n=!0,blurOverlay:r=!0,...i}){return(0,B.jsxs)(hu,{children:[(0,B.jsx)(gu,{blur:r}),(0,B.jsxs)(pr,{"data-slot":`dialog-content`,className:T(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...i,children:[t,n&&(0,B.jsx)(gr,{"data-slot":`dialog-close`,asChild:!0,children:(0,B.jsxs)(I,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,B.jsx)(Ee,{}),(0,B.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function vu({className:e,...t}){return(0,B.jsx)(`div`,{"data-slot":`dialog-header`,className:T(`flex flex-col gap-2`,e),...t})}function yu({className:e,showCloseButton:t=!1,children:n,...r}){return(0,B.jsxs)(`div`,{"data-slot":`dialog-footer`,className:T(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,B.jsx)(gr,{asChild:!0,children:(0,B.jsx)(I,{variant:`outline`,children:`Close`})})]})}function bu({className:e,...t}){return(0,B.jsx)(mr,{"data-slot":`dialog-title`,className:T(`font-heading text-base leading-none font-medium`,e),...t})}function xu({className:e,...t}){return(0,B.jsx)(hr,{"data-slot":`dialog-description`,className:T(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function Su({className:e,...t}){return(0,B.jsx)(`textarea`,{"data-slot":`textarea`,className:T(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function Z({className:e,...t}){return(0,B.jsx)(co,{"data-slot":`label`,className:T(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Cu(){let e=j(e=>e.composeOpen),t=j(e=>e.compose),n=j(e=>e.replyTo),r=j(e=>e.set),i=j(e=>e.doSend),a=j(e=>e.cancelReply),o=uc();function s(){r({composeOpen:!1}),a()}function c(e){r({compose:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&s(),children:(0,B.jsxs)(_u,{className:`max-w-lg`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:n?`Reply to #${n.id}`:`Compose Message`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`From`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.from,onChange:e=>c({from:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),o.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`To`}),(0,B.jsx)(L,{value:t.to,onChange:e=>c({to:e.target.value}),placeholder:`agent-id, tag:name, cap:name, or broadcast`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Subject`}),(0,B.jsx)(L,{value:t.subject,onChange:e=>c({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Channel`}),(0,B.jsx)(L,{value:t.channel,onChange:e=>c({channel:e.target.value}),placeholder:`Optional channel...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Message`}),(0,B.jsx)(Su,{value:t.body,onChange:e=>c({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(yn,{checked:t.claimable,onCheckedChange:e=>c({claimable:e})}),(0,B.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Claimable task`})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:s,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Send`})]})]})})}function wu(){let e=j(e=>e.confirmModal),t=j(e=>e.set);function n(){t({confirmModal:{show:!1,title:``,message:``,action:null}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsxs)(vu,{children:[(0,B.jsx)(bu,{children:e.title}),(0,B.jsx)(xu,{children:e.message})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:n,children:`Cancel`}),(0,B.jsx)(I,{variant:`destructive`,onClick:()=>{e.action?.(),n()},children:`Confirm`})]})]})})}function Tu(){let e=j(e=>e.errorModal),t=j(e=>e.set);function n(){t({errorModal:{show:!1,title:``,message:``}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsxs)(vu,{children:[(0,B.jsx)(bu,{children:e.title}),(0,B.jsx)(xu,{children:e.message})]}),(0,B.jsx)(yu,{children:(0,B.jsx)(I,{onClick:n,children:`OK`})})]})})}function Eu(){let e=j(e=>e.renameModal),t=j(e=>e.set),n=j(e=>e.doRename);function r(){t({renameModal:{show:!1,agentId:``,label:``}})}return(0,B.jsx)(mu,{open:e.show,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Rename Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:e.label,onChange:n=>t({renameModal:{...e,label:n.target.value}}),onKeyDown:e=>e.key===`Enter`&&n(),placeholder:`Human-friendly name...`,autoFocus:!0}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Leave empty to clear the label.`})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:n,children:`Save`})]})]})})}function Du(){let e=j(e=>e.pairInviteOpen),t=j(e=>e.pairInvite),n=j(e=>e.set),r=j(e=>e.closePairInvite),i=j(e=>e.doCreatePair),a=uc();function o(e){n({pairInvite:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Pair Agents`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Requester`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.requesterId,onChange:e=>o({requesterId:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Target`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:t.targetId,onChange:e=>o({targetId:e.target.value}),children:[(0,B.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,B.jsx)(`option`,{value:e.id,children:M(e)},e.id))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Objective`}),(0,B.jsx)(L,{value:t.objective,onChange:e=>o({objective:e.target.value}),placeholder:`What should they work on?`})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Create Pair`})]})]})})}function Ou(){let e=j(e=>e.pairMessageOpen),t=j(e=>e.pairMessage),n=j(e=>e.set),r=j(e=>e.closePairMessage),i=j(e=>e.doSendPairMessage);function a(e){n({pairMessage:{...t,...e}})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`sm:max-w-sm`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Pair Message`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Subject`}),(0,B.jsx)(L,{value:t.subject,onChange:e=>a({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Message`}),(0,B.jsx)(Su,{value:t.body,onChange:e=>a({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:`Send`})]})]})})}var ku=(0,z.lazy)(()=>R(()=>import(`./formatted-body-impl-BbMHqkCy.js`).then(e=>({default:e.FormattedBody})),__vite__mapDeps([14,1,5,3,6,9]),import.meta.url));function Au(e){return(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`span`,{className:e.className,children:e.text}),children:(0,B.jsx)(ku,{...e})})}function ju(){let e=j(e=>e.threadOpen),t=j(e=>e.threadMessages),n=j(e=>e.agentsById),r=rt(),i=j(e=>e.set);return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&i({threadOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl max-h-[80vh]`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{children:[`Thread (`,t.length,` messages)`]})}),(0,B.jsx)(lu,{className:`max-h-[60vh]`,children:(0,B.jsx)(`div`,{className:`space-y-3 pr-4`,children:t.map(e=>(0,B.jsxs)(`div`,{className:`rounded-lg border border-border p-3 space-y-1`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:kt(e.from,n)}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`→`}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:kt(e.to,n)}),(0,B.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:dt(r,e.createdAt)})]}),e.subject&&(0,B.jsx)(`div`,{className:`text-sm font-medium`,children:e.subject}),(0,B.jsx)(Au,{text:ct(e),rawBody:e.body,className:`text-sm text-muted-foreground`}),(0,B.jsxs)(`div`,{className:`flex gap-1.5 flex-wrap`,children:[e.channel&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:e.channel}),e.claimedBy&&(0,B.jsxs)(F,{variant:`secondary`,className:`text-[10px]`,children:[`claimed by `,kt(e.claimedBy,n)]})]})]},e.id))})})]})})}function Mu(){let e=j(e=>e.taskEventsOpen),t=j(e=>e.taskEvents),n=j(e=>e.set),r=j(e=>e.switchView);function i(e){n({selectedMemoryId:e,taskEventsOpen:!1}),r(`memory`)}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&n({taskEventsOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl max-h-[80vh]`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{children:[`Task Events (`,t.length,`)`]})}),(0,B.jsx)(lu,{className:`max-h-[60vh]`,children:(0,B.jsxs)(`div`,{className:`space-y-2 pr-4`,children:[t.map(e=>(0,B.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-border p-3`,children:[(0,B.jsx)(F,{className:Ot[e.severity]||Ot.info,children:e.severity}),(0,B.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:e.type})]}),e.body&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 whitespace-pre-wrap`,children:e.body}),(0,B.jsx)(Nu,{event:e,onOpen:i}),(0,B.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[At(e.createdAt),` · `,e.source]})]})]},e.id)),t.length===0&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:`No events recorded.`})]})})]})})}function Nu({event:e,onOpen:t}){if(e.type!==`memory.captured`)return null;let n=typeof e.metadata?.memoryId==`string`?e.metadata.memoryId:``,r=e.metadata?.memory&&typeof e.metadata.memory==`object`&&!Array.isArray(e.metadata.memory)?e.metadata.memory:{},i=typeof r.title==`string`?r.title:e.body||n,a=typeof r.scope==`string`?r.scope:``,o=typeof r.type==`string`?r.type:`memory`,s=typeof r.sensitivity==`string`?r.sensitivity:``;return(0,B.jsx)(`div`,{className:`mt-2 rounded-md border border-border bg-muted/20 p-2 text-xs`,children:(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(be,{className:`w-3.5 h-3.5 mt-0.5 text-muted-foreground shrink-0`}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:o}),a&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px] font-mono`,children:a}),s&&(0,B.jsx)(F,{variant:`outline`,className:`text-[10px]`,children:s})]}),(0,B.jsx)(`div`,{className:`font-medium truncate`,children:i}),n&&(0,B.jsx)(`div`,{className:`font-mono text-[10px] text-muted-foreground truncate`,children:n})]}),n&&(0,B.jsx)(I,{size:`sm`,variant:`outline`,className:`h-7 text-xs shrink-0`,onClick:()=>t(n),children:`Open`})]})})}function Pu({open:e,onOpenChange:t,onSelect:n,orchestratorId:r,initialPath:i,title:a=`Select Directory`}){let s=j(e=>e.apiCall),[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)(null),[p,m]=(0,z.useState)(null),[h,g]=(0,z.useState)(!1),[_,v]=(0,z.useState)(``),[y,b]=(0,z.useState)(null),x=u?.path||i||``,S=(0,z.useMemo)(()=>x.split(`/`).filter(Boolean),[x]),C=(0,z.useCallback)(async e=>{if(r){l(!0),m(null),g(!1);try{let t=e?`?path=${encodeURIComponent(e)}`:``;d(await s(`GET`,`/orchestrators/${encodeURIComponent(r)}/directories${t}`))}catch(e){m(ft(e))}finally{l(!1)}}},[r,s]);(0,z.useEffect)(()=>{e&&r&&(d(null),m(null),g(!1),C(i||void 0))},[e,r]);async function ee(){if(!(!_.trim()||!u)){b(null);try{d(await s(`POST`,`/orchestrators/${encodeURIComponent(r)}/directories`,{path:u.path,name:_.trim()})),g(!1),v(``)}catch(e){b(ft(e))}}}function te(){x&&(n(x),t(!1))}function ne(e){C(`/`+S.slice(0,e+1).join(`/`))}return(0,B.jsx)(mu,{open:e,onOpenChange:t,children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[85dvh] flex flex-col`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[(0,B.jsx)(f,{className:`h-4 w-4`}),a]})}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-border bg-muted/50 px-2 py-1.5 text-xs overflow-x-auto`,children:[(0,B.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground shrink-0`,onClick:()=>u?.baseDir&&C(u.baseDir),children:`/`}),S.map((e,t)=>(0,B.jsxs)(`span`,{className:`shrink-0`,children:[(0,B.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground`,onClick:()=>ne(t),children:e}),t<S.length-1&&(0,B.jsx)(`span`,{className:`text-muted-foreground/50 mx-0.5`,children:`/`})]},`${e}-${t}`))]}),(0,B.jsxs)(`div`,{className:`flex-1 min-h-0 rounded-md border border-border bg-background overflow-y-auto`,style:{maxHeight:`40dvh`},children:[c&&(0,B.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,B.jsx)(Oe,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),!c&&p&&(0,B.jsx)(`div`,{className:`px-3 py-4 text-sm text-destructive`,children:p}),!c&&u&&(0,B.jsxs)(`div`,{className:`p-1`,children:[u.parent&&(0,B.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm hover:bg-muted`,onClick:()=>C(u.parent),children:[(0,B.jsx)(o,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`..`})]}),u.entries.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm hover:bg-muted`,onClick:()=>C(e.path),children:[(0,B.jsx)(D,{className:`h-4 w-4 text-muted-foreground`}),(0,B.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)),u.entries.length===0&&!u.parent&&(0,B.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`Empty directory`}),u.entries.length===0&&u.parent&&(0,B.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`No subdirectories`})]})]}),h?(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(L,{autoFocus:!0,value:_,onChange:e=>{v(e.target.value),b(null)},onKeyDown:e=>{e.key===`Enter`&&ee(),e.key===`Escape`&&(g(!1),v(``))},placeholder:`New directory name...`,className:`flex-1 font-mono text-sm`}),(0,B.jsx)(I,{type:`button`,size:`icon`,variant:`outline`,onClick:ee,disabled:!_.trim(),children:(0,B.jsx)(De,{className:`h-4 w-4`})}),(0,B.jsx)(I,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>{g(!1),v(``),b(null)},children:(0,B.jsx)(Ee,{className:`h-4 w-4`})})]}):(0,B.jsxs)(I,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>g(!0),disabled:!u||c,children:[(0,B.jsx)(le,{className:`h-4 w-4 mr-1.5`}),`New Directory`]}),y&&(0,B.jsx)(`p`,{className:`text-xs text-destructive`,children:y}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,B.jsx)(I,{onClick:te,disabled:!x,children:`Select`})]})]})})}function Fu({value:e,onChange:t,orchestratorId:n,placeholder:r,disabled:i}){let[a,o]=(0,z.useState)(!1);return(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(L,{value:e,onChange:e=>t(e.target.value),placeholder:r,disabled:i,className:`flex-1 font-mono text-sm`}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>o(!0),disabled:i||!n,title:`Browse directories`,children:(0,B.jsx)(f,{className:`h-4 w-4`})}),n&&(0,B.jsx)(Pu,{open:a,onOpenChange:o,onSelect:t,orchestratorId:n,initialPath:e||void 0})]})}function Iu({model:e}){if(!e)return null;let t=Lu(e);return t.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,B.jsxs)(F,{variant:`outline`,className:`gap-1 text-[10px]`,children:[(0,B.jsx)(e.Icon,{className:`h-3 w-3`}),e.label]},e.label))})}function Lu(e){let t=[],n=e.limits?.contextWindowTokens?.value;return n&&t.push({label:Ru(n),Icon:w}),e.capabilities?.modalities.input.image&&t.push({label:`Image input`,Icon:Te}),(e.capabilities?.modalities.output.image||e.capabilities?.tools?.imageGeneration)&&t.push({label:`Image output`,Icon:Te}),e.capabilities?.tools?.code&&t.push({label:`Code`,Icon:de}),t}function Ru(e){return e>=1e6?`${e/1e6}M ctx`:e>=1e3?`${Math.round(e/1e3)}K ctx`:`${e} ctx`}function zu(){let e=j(e=>e.orchestratorSpawnOpen),t=j(e=>e.orchestrators),n=j(e=>e.spawnOrchId),r=j(e=>e.spawnProvider),i=j(e=>e.spawnModel),a=j(e=>e.spawnEffort),o=j(e=>e.spawnProfile),s=j(e=>e.spawnCwd),c=j(e=>e.spawnLabel),l=j(e=>e.spawnApproval),u=j(e=>e.spawnWorkspaceMode),d=j(e=>e.spawnPrompt),f=j(e=>e.spawnSystemPromptAppend),p=j(e=>e.spawnCount),m=j(e=>e.spawnCwdHistory),h=j(e=>e.isSpawning),g=j(e=>!!e.pendingForkImport),_=j(e=>e.set),v=j(e=>e.submitOrchestratorSpawn),y=j(e=>e.selectSpawnHistory),b=j(e=>e.agentProfiles),x=t.find(e=>e.id===n),S=x?.providers||[],C=it[r]?.models||[],ee=C.find(e=>e.alias===i),te=ee?.efforts||[],ne=!!(x&&S.length>0&&s.trim())&&!h,w=t.filter(e=>e.status===`online`),T=w.length>1,re=m.filter(e=>w.some(t=>t.id===e.orchId)).slice(0,5);function ie(e){let n=t.find(t=>t.id===e),r=n?.providers[0]||``;_({spawnOrchId:e,spawnProvider:r,spawnModel:r&&it[r]?.defaultModel||``,spawnEffort:``,spawnCwd:n?.baseDir||``})}function ae(e){_({spawnProvider:e,spawnModel:it[e]?.defaultModel||``,spawnEffort:``})}function oe(e){_({spawnModel:e,spawnEffort:``})}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&_({orchestratorSpawnOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90dvh] flex flex-col`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:`Spawn Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3 overflow-y-auto flex-1 min-h-0 -mx-4 px-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:n,onChange:e=>ie(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,B.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:r,onChange:e=>ae(e.target.value),disabled:!S.length,children:[!S.length&&(0,B.jsx)(`option`,{value:r,children:`No providers available`}),S.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Model`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:i,onChange:e=>oe(e.target.value),disabled:!C.length,children:C.map(e=>(0,B.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Effort`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:a,onChange:e=>_({spawnEffort:e.target.value}),disabled:!te.length,children:[(0,B.jsx)(`option`,{value:``,children:`Default`}),te.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,B.jsx)(Iu,{model:ee}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Agent Profile`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:o||`default-relay`,onChange:e=>_({spawnProfile:e.target.value}),children:[!b.length&&(0,B.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),b.map(e=>(0,B.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Approval Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:l,onChange:e=>_({spawnApproval:e.target.value}),children:[(0,B.jsx)(`option`,{value:`open`,children:`Open`}),(0,B.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,B.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Workspace`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:u,onChange:e=>_({spawnWorkspaceMode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`inherit`,children:`Default`}),(0,B.jsx)(`option`,{value:`isolated`,children:`Isolated worktree`}),(0,B.jsx)(`option`,{value:`shared`,children:`Shared cwd`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Working Directory`}),(0,B.jsx)(`div`,{className:`mt-1`,children:(0,B.jsx)(Fu,{value:s,onChange:e=>_({spawnCwd:e}),orchestratorId:n,placeholder:`Select a project directory`})}),re.length>0&&(0,B.jsxs)(`div`,{className:`mt-2`,children:[(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mb-1`,children:`Recent`}),(0,B.jsx)(`div`,{className:`flex gap-1.5 overflow-x-auto pb-1 sm:flex-wrap sm:overflow-x-visible sm:pb-0`,children:re.map(e=>{let t=e.cwd.replace(/\/+$/,``).split(`/`).pop()||e.cwd,r=w.find(t=>t.id===e.orchId)?.hostname,i=e.orchId===n&&e.cwd===s;return(0,B.jsx)(`button`,{type:`button`,title:T&&r?`${r}: ${e.cwd}`:e.cwd,onClick:()=>y(e.orchId,e.cwd),className:`shrink-0 rounded-full border px-2.5 py-1 text-xs font-mono transition-colors ${i?`border-primary bg-primary/10 text-foreground`:`border-input bg-background text-muted-foreground hover:bg-accent hover:text-foreground`}`,children:T&&r?`${r}: ${t}`:t},`${e.orchId}:${e.cwd}`)})})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:c,onChange:e=>_({spawnLabel:e.target.value}),placeholder:`Optional label...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Initial Prompt`}),(0,B.jsx)(Su,{value:d,onChange:e=>_({spawnPrompt:e.target.value}),rows:3,placeholder:`Optional initial task...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Codex starts this as the first App Server turn; Claude receives it as a launch prompt.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`System Prompt Append`}),(0,B.jsx)(Su,{value:f,onChange:e=>_({spawnSystemPromptAppend:e.target.value}),rows:5,placeholder:`Optional launch context...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Use for fork history or launch context. It informs the session but does not start work by itself.`})]}),!g&&(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{children:`Number of Agents`}),(0,B.jsx)(`span`,{className:`text-sm font-mono tabular-nums text-muted-foreground`,children:p})]}),(0,B.jsx)(`input`,{type:`range`,min:1,max:10,step:1,value:p,onChange:e=>_({spawnCount:Number(e.target.value)}),className:`w-full mt-2 accent-primary`,"aria-label":`Number of agents to spawn`}),p>1&&(0,B.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:[`Spawns `,p,` identical agents`,c.trim()?`, labelled "${c.trim()} 1"…"${c.trim()} ${p}"`:``,`.`]})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>_({orchestratorSpawnOpen:!1}),disabled:h,children:`Cancel`}),(0,B.jsx)(I,{onClick:v,disabled:!ne,children:h?`Spawning…`:S.length?p>1?`Spawn ${p}`:`Spawn`:`No providers`})]})]})})}function Bu(){return`host-${Math.random().toString(36).slice(2,8)}`}function Vu(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Hu(){let e=j(e=>e.orchestratorInstallOpen),t=j(e=>e.set),n=j(e=>e.showError),r=j(e=>e.showNotification),i=(0,z.useMemo)(()=>new URL(y()).origin,[]),[a,o]=(0,z.useState)(Bu),[s,c]=(0,z.useState)(`$HOME/projects`),[l,u]=(0,z.useState)([`claude`,`codex`]),[d,f]=(0,z.useState)(`4860`),[p,m]=(0,z.useState)(``),[h,g]=(0,z.useState)(``),[_,v]=(0,z.useState)(),[b,x]=(0,z.useState)(!1);async function S(){if(!a.trim()){n(`Validation`,`Orchestrator id is required`);return}if(!s.trim()){n(`Validation`,`Base directory is required`);return}if(!l.length){n(`Validation`,`Select at least one provider`);return}x(!0);try{let e=await Ae(`POST`,`/orchestrators/bootstrap`,{id:a.trim(),relayUrl:i,baseDir:s.trim(),providers:l,apiPort:Number(d)||4860,pathPrefix:p.split(`:`).map(e=>e.trim()).filter(Boolean)});g(e.command),v(e.expiresAt)}catch(e){n(`Install Command Failed`,e.message)}finally{x(!1)}}return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&t({orchestratorInstallOpen:!1}),children:(0,B.jsxs)(_u,{className:`max-w-2xl overflow-hidden`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[(0,B.jsx)(ce,{className:`w-4 h-4`}),`Add Orchestrator`]})}),(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator ID`}),(0,B.jsx)(L,{value:a,onChange:e=>o(e.target.value)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Relay URL`}),(0,B.jsx)(L,{value:i,readOnly:!0})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Base Directory`}),(0,B.jsx)(L,{value:s,onChange:e=>c(e.target.value)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`API Port`}),(0,B.jsx)(L,{value:d,onChange:e=>f(e.target.value),inputMode:`numeric`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Providers`}),(0,B.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[`claude`,`codex`].map(e=>(0,B.jsx)(I,{type:`button`,size:`sm`,variant:l.includes(e)?`default`:`outline`,onClick:()=>u(Vu(l,e)),children:e},e))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Extra PATH Prefix`}),(0,B.jsx)(L,{value:p,onChange:e=>m(e.target.value),placeholder:`/opt/homebrew/bin:/custom/bin`})]}),h&&(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,B.jsx)(Z,{children:`Install Command`}),_&&(0,B.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[`Install token expires `,new Date(_*1e3).toLocaleString()]})]}),(0,B.jsx)(`pre`,{className:`max-h-40 w-full overflow-y-auto whitespace-pre-wrap break-all rounded-md border border-input bg-muted/40 p-3 font-mono text-xs leading-relaxed`,children:h})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>t({orchestratorInstallOpen:!1}),children:`Close`}),h&&(0,B.jsx)(xn,{value:h,label:`Copy`,showText:!0,size:`default`,variant:`outline`,className:`gap-1`,onCopied:()=>r(`Install command copied`)}),(0,B.jsxs)(I,{className:`gap-1`,onClick:S,disabled:b,children:[(0,B.jsx)(xe,{className:`w-3.5 h-3.5`}),b?`Generating...`:`Generate Command`]})]})]})})}function Uu(){let e=j(e=>e.policyModal),t=j(e=>e.orchestrators),n=j(e=>e.agentProfiles),r=j(e=>e.set),i=j(e=>e.submitPolicy),a=t.find(t=>t.id===e.orchestratorId),o=a?.providers||[],s=it[e.provider]?.models||[],c=s.find(t=>t.alias===e.model),l=c?.efforts||[],u=!!e.editing,d=e.provider===`claude`&&a?.providerStatus?.find(e=>e.name===`claude`)?.features?.rig===!0;function f(t){r({policyModal:{...e,...t}})}function p(n){let r=t.find(e=>e.id===n)?.providers[0]||e.provider;f({orchestratorId:n,provider:r,model:it[r]?.defaultModel||``,effort:``})}function m(e){f({provider:e,rig:``,model:it[e]?.defaultModel||``,effort:``})}return(0,B.jsx)(mu,{open:e.open,onOpenChange:e=>!e&&f({open:!1}),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,B.jsx)(vu,{children:(0,B.jsx)(bu,{children:u?`Edit Policy`:`Create Managed Agent`})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Policy Name`}),(0,B.jsx)(L,{value:e.name,onChange:e=>f({name:e.target.value}),placeholder:`my-agent`,disabled:u})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Label`}),(0,B.jsx)(L,{value:e.label,onChange:e=>f({label:e.target.value}),placeholder:`Human-friendly name...`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Description`}),(0,B.jsx)(L,{value:e.description,onChange:e=>f({description:e.target.value}),placeholder:`What does this agent do?`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Orchestrator`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.orchestratorId,onChange:e=>p(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,B.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.provider,onChange:e=>m(e.target.value),disabled:!o.length,children:[!o.length&&(0,B.jsx)(`option`,{value:e.provider,children:`No providers available`}),o.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),d&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Rig`}),(0,B.jsx)(L,{value:e.rig,onChange:e=>f({rig:e.target.value}),placeholder:`Leave empty to auto-detect from .claude-rig`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`claude-rig profile name. Auto-detects from project's .claude-rig file if empty.`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Model`}),(0,B.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.model,onChange:e=>f({model:e.target.value,effort:``}),children:s.map(e=>(0,B.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Effort`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.effort,onChange:e=>f({effort:e.target.value}),disabled:!l.length,children:[(0,B.jsx)(`option`,{value:``,children:`Default`}),l.map(e=>(0,B.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,B.jsx)(Iu,{model:c}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Agent Profile`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.profile||`default-relay`,onChange:e=>f({profile:e.target.value}),children:[!n.length&&(0,B.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),n.map(e=>(0,B.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Working Directory`}),(0,B.jsx)(`div`,{className:`mt-1`,children:(0,B.jsx)(Fu,{value:e.cwd,onChange:e=>f({cwd:e}),orchestratorId:e.orchestratorId,placeholder:a?.baseDir||`/path/to/project`})})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.mode,onChange:e=>f({mode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`always-on`,children:`Always On`}),(0,B.jsx)(`option`,{value:`on-demand`,children:`On Demand`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Permission Mode`}),(0,B.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e.permissionMode,onChange:e=>f({permissionMode:e.target.value}),children:[(0,B.jsx)(`option`,{value:`open`,children:`Open`}),(0,B.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,B.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]})]}),e.mode===`on-demand`&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Keepalive (seconds)`}),(0,B.jsx)(L,{type:`number`,value:e.keepaliveSeconds,onChange:e=>f({keepaliveSeconds:e.target.value}),placeholder:`300`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Seconds to keep agent alive after last activity.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Initial Prompt`}),(0,B.jsx)(Su,{value:e.prompt,onChange:e=>f({prompt:e.target.value}),rows:3,placeholder:`Optional initial task or instructions...`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Codex starts this as the first App Server turn; Claude receives it as a launch prompt.`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Tags`}),(0,B.jsx)(L,{value:e.tags,onChange:e=>f({tags:e.target.value}),placeholder:`tag1, tag2`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Capabilities`}),(0,B.jsx)(L,{value:e.capabilities,onChange:e=>f({capabilities:e.target.value}),placeholder:`chat, review`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider Args`}),(0,B.jsx)(L,{value:e.providerArgs,onChange:e=>f({providerArgs:e.target.value}),placeholder:`--flag value`}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Space-separated args passed to the provider CLI.`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Channel Binding`}),(0,B.jsx)(L,{value:e.channelId,onChange:e=>f({channelId:e.target.value}),placeholder:`Channel ID (optional)`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Backoff Schedule (seconds)`}),(0,B.jsx)(L,{value:e.backoffSchedule,onChange:e=>f({backoffSchedule:e.target.value}),placeholder:`5, 15, 60, 300`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Backoff Reset After (s)`}),(0,B.jsx)(L,{type:`number`,value:e.backoffResetAfterSeconds,onChange:e=>f({backoffResetAfterSeconds:e.target.value}),placeholder:`600`})]})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{htmlFor:`restartOnUpdate`,children:`Restart on policy update`}),(0,B.jsx)(yn,{id:`restartOnUpdate`,checked:e.restartOnUpdate,onCheckedChange:e=>f({restartOnUpdate:e})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(Z,{htmlFor:`dailyRestart`,children:`Scheduled daily restart`}),(0,B.jsx)(yn,{id:`dailyRestart`,checked:e.scheduledDailyRestart,onCheckedChange:e=>f({scheduledDailyRestart:e})})]})]}),(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:()=>f({open:!1}),children:`Cancel`}),(0,B.jsx)(I,{onClick:i,children:u?`Save`:`Create`})]})]})})}function Q({title:e,children:t,defaultOpen:n=!0}){let[r,i]=(0,z.useState)(n);return(0,B.jsxs)(`div`,{className:`border border-border rounded-md`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-sm font-medium hover:bg-accent`,onClick:()=>i(!r),children:[r?(0,B.jsx)(Ue,{className:`h-3.5 w-3.5`}):(0,B.jsx)(Je,{className:`h-3.5 w-3.5`}),e]}),r&&(0,B.jsx)(`div`,{className:`space-y-3 border-t border-border px-3 py-3`,children:t})]})}function Wu({value:e,onChange:t,options:n,disabled:r}){return(0,B.jsx)(`select`,{className:`w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,value:e,onChange:e=>t(e.target.value),disabled:r,children:n.map(e=>(0,B.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function Gu({env:e,onChange:t,disabled:n}){let r=Object.entries(e),[i,a]=(0,z.useState)(``),[o,s]=(0,z.useState)(``);function c(){i.trim()&&(t({...e,[i.trim()]:o}),a(``),s(``))}function l(n){let r={...e};delete r[n],t(r)}return(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[r.map(([e,t])=>(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,B.jsxs)(`code`,{className:`min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 text-xs`,children:[e,`=`,t]}),!n&&(0,B.jsx)(I,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>l(e),children:(0,B.jsx)(Fe,{className:`h-3 w-3`})})]},e)),!n&&(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,B.jsx)(L,{value:i,onChange:e=>a(e.target.value),placeholder:`KEY`,className:`flex-1 text-xs font-mono`}),(0,B.jsx)(L,{value:o,onChange:e=>s(e.target.value),placeholder:`value`,className:`flex-1 text-xs font-mono`,onKeyDown:e=>e.key===`Enter`&&c()}),(0,B.jsx)(I,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:c,children:(0,B.jsx)(v,{className:`h-3 w-3`})})]}),r.length===0&&n&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No environment variables`})]})}var Ku=[{value:`host`,label:`Host — full access, relay-aware`},{value:`minimal`,label:`Minimal — relay disabled, repo-scoped`},{value:`isolated`,label:`Isolated — strict isolation`}],qu=[{value:`any`,label:`Any provider`},{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`}],Ju=[{value:`host`,label:`Host — use host config`},{value:`profile`,label:`Profile — use profile config`},{value:`repo`,label:`Repo — use repo config only`},{value:`none`,label:`None — disabled`}],Yu=[{value:`host`,label:`Host — full filesystem`},{value:`workspace`,label:`Workspace — working directory tree`},{value:`repo`,label:`Repo — repository root only`}],Xu=[{value:`allow`,label:`Allow`},{value:`ignore`,label:`Ignore`}],Zu=[{value:``,label:`Default`},{value:`open`,label:`Open — allow all`},{value:`guarded`,label:`Guarded — prompt for risky`},{value:`read-only`,label:`Read-only`}];function Qu(){let{open:e,mode:t,profile:n}=j(e=>e.profileModal),r=j(e=>e.closeProfileModal),i=j(e=>e.updateProfileModal),a=j(e=>e.saveProfile),o=t===`view`||n.builtIn===!0,s=t===`create`||t===`duplicate`,c=t===`view`?`Profile: ${n.name}`:t===`edit`?`Edit: ${n.name}`:t===`duplicate`?`Duplicate Profile`:`Create Profile`;function l(e){i({instructions:{...n.instructions,...e}})}function u(e){i({relay:{...n.relay,...e}})}function d(e){i({permissions:{...n.permissions,...e}})}function f(e){let t=n.providerOptions||{},r={...t.codex&&typeof t.codex==`object`&&!Array.isArray(t.codex)?t.codex:{}};if(!e.trim())delete r.toolOutputTokenLimit;else{let t=Number(e);if(!Number.isSafeInteger(t))return;r.toolOutputTokenLimit=t}i({providerOptions:{...t,codex:r}})}function p(e){if(!e.trim()){i({maxSpawnedAgents:void 0});return}let t=Number(e);!Number.isInteger(t)||t<0||i({maxSpawnedAgents:Math.min(t,100)})}function m(e){let t=e===`host`;i({base:e,relay:{context:t,skills:t,plugins:t,statusLine:t,mcp:t},mcp:{...n.mcp,mode:t?`host`:`none`},hooks:{mode:t?`host`:`none`},permissions:{...n.permissions,filesystem:t?`host`:`repo`},instructions:{...n.instructions,globalInstructions:t?`allow`:`ignore`}})}let h=n.providerOptions?.codex&&typeof n.providerOptions.codex==`object`&&!Array.isArray(n.providerOptions.codex)?n.providerOptions.codex:{},g=Number.isSafeInteger(h.toolOutputTokenLimit)?String(h.toolOutputTokenLimit):``;return(0,B.jsx)(mu,{open:e,onOpenChange:e=>!e&&r(),children:(0,B.jsxs)(_u,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,B.jsx)(vu,{children:(0,B.jsxs)(bu,{className:`flex items-center gap-2`,children:[c,n.builtIn&&(0,B.jsx)(F,{variant:`secondary`,className:`text-[10px]`,children:`Built-in`})]})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(Q,{title:`General`,defaultOpen:!0,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Name`}),(0,B.jsx)(L,{value:n.name,onChange:e=>i({name:e.target.value}),placeholder:`my-profile`,disabled:o||t===`edit`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Description`}),(0,B.jsx)(L,{value:n.description||``,onChange:e=>i({description:e.target.value}),placeholder:`What this profile configures`,disabled:o})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Base`}),(0,B.jsx)(Wu,{value:n.base,onChange:e=>m(e),options:Ku,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Provider`}),(0,B.jsx)(Wu,{value:n.provider||`any`,onChange:e=>i({provider:e}),options:qu,disabled:o})]})]})]}),(0,B.jsxs)(Q,{title:`Instructions`,defaultOpen:!1,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`System Prompt`}),(0,B.jsx)(Su,{value:n.instructions.system||``,onChange:e=>l({system:e.target.value}),placeholder:`Custom system prompt...`,rows:3,disabled:o,className:`font-mono text-xs`})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Repo Instructions`}),(0,B.jsx)(Wu,{value:n.instructions.repoInstructions,onChange:e=>l({repoInstructions:e}),options:Xu,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Global Instructions`}),(0,B.jsx)(Wu,{value:n.instructions.globalInstructions,onChange:e=>l({globalInstructions:e}),options:Xu,disabled:o})]})]})]}),(0,B.jsx)(Q,{title:`Relay Integration`,defaultOpen:!1,children:(0,B.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:[`context`,`skills`,`plugins`,`statusLine`,`mcp`].map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(Z,{className:`capitalize`,children:e===`statusLine`?`Status Line`:e===`mcp`?`MCP Tools`:e}),(0,B.jsx)(yn,{checked:n.relay[e]??!0,onCheckedChange:t=>u({[e]:t}),disabled:o})]},e))})}),(0,B.jsx)(Q,{title:`MCP & Hooks`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`MCP Mode`}),(0,B.jsx)(Wu,{value:n.mcp.mode,onChange:e=>i({mcp:{...n.mcp,mode:e}}),options:Ju,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Hooks Mode`}),(0,B.jsx)(Wu,{value:n.hooks.mode,onChange:e=>i({hooks:{mode:e}}),options:Ju,disabled:o})]})]})}),(0,B.jsx)(Q,{title:`Permissions`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Approval Mode`}),(0,B.jsx)(Wu,{value:n.permissions.mode||``,onChange:e=>d({mode:e||void 0}),options:Zu,disabled:o})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Filesystem Scope`}),(0,B.jsx)(Wu,{value:n.permissions.filesystem,onChange:e=>d({filesystem:e}),options:Yu,disabled:o})]})]})}),(0,B.jsx)(Q,{title:`Spawning`,defaultOpen:!1,children:(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Spawn Quota`}),(0,B.jsx)(L,{type:`number`,min:0,max:100,step:1,value:n.maxSpawnedAgents===void 0?``:String(n.maxSpawnedAgents),onChange:e=>p(e.target.value),placeholder:`0`,disabled:o}),(0,B.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Max concurrent live child agents this profile may spawn. Empty or 0 = cannot spawn (default). Children never inherit it (no grandchildren).`})]})}),(0,B.jsx)(Q,{title:`Environment Variables`,defaultOpen:!1,children:(0,B.jsx)(Gu,{env:n.env||{},onChange:e=>i({env:e}),disabled:o})}),(0,B.jsxs)(Q,{title:`Provider Options`,defaultOpen:!1,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(Z,{children:`Codex Tool Output Limit`}),(0,B.jsx)(L,{type:`number`,min:1e3,max:2e5,value:g,onChange:e=>f(e.target.value),placeholder:`12000`,disabled:o})]}),(0,B.jsx)(Su,{value:JSON.stringify(n.providerOptions||{},null,2),onChange:e=>{try{i({providerOptions:JSON.parse(e.target.value)})}catch{}},rows:3,disabled:o,className:`font-mono text-xs`,placeholder:`{}`})]})]}),!o&&(0,B.jsxs)(yu,{children:[(0,B.jsx)(I,{variant:`outline`,onClick:r,children:`Cancel`}),(0,B.jsx)(I,{onClick:a,children:s?`Create`:`Save`})]})]})})}function $u(){let e=j(e=>e.commandPaletteOpen),t=j(e=>e.commandQuery),n=j(e=>e.set),r=j(e=>e.closeCommandPalette),i=j(e=>e.runCommand),a=mc(),o=(0,z.useRef)(null);return(0,z.useEffect)(()=>{e&&setTimeout(()=>o.current?.focus(),50)},[e]),e?(0,B.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,onClick:e=>{e.target===e.currentTarget&&r()},children:[(0,B.jsx)(`div`,{className:`fixed inset-0 bg-black/60`}),(0,B.jsxs)(`div`,{className:`relative w-full max-w-lg bg-card border border-border rounded-xl shadow-2xl overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`p-3 border-b border-border`,children:(0,B.jsx)(L,{ref:o,value:t,onChange:e=>n({commandQuery:e.target.value}),placeholder:`Type a command...`,className:`border-0 bg-transparent focus-visible:ring-0 text-base`})}),(0,B.jsxs)(`div`,{className:`max-h-80 overflow-y-auto p-2`,children:[a.map(e=>(0,B.jsxs)(`button`,{onClick:()=>i(e),className:`w-full flex items-center gap-3 px-3 py-2.5 rounded-lg hover:bg-accent text-left transition-colors`,children:[(0,B.jsx)(qe[e.icon]||Je,{className:`w-4 h-4 text-muted-foreground shrink-0`}),(0,B.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,B.jsx)(`div`,{className:`text-sm`,children:e.title}),e.subtitle&&(0,B.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]})]},e.id)),a.length===0&&(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-4`,children:`No matching commands.`})]})]})]}):null}function ed(){let e=j(e=>e.set),t=j(e=>e.connected);return(0,B.jsxs)(`div`,{className:`xl:hidden sticky top-0 z-30 bg-card border-b border-border px-4 h-[var(--header-h)] flex items-center gap-3`,children:[(0,B.jsx)(`button`,{onClick:()=>e({mobileMenuOpen:!0}),className:`p-1 -ml-1 text-muted-foreground hover:text-foreground transition-colors`,"aria-label":`Open menu`,children:(0,B.jsx)(ae,{className:`w-5 h-5`})}),(0,B.jsx)(ne,{className:`w-4 h-4 text-primary`}),(0,B.jsx)(`span`,{className:`font-bold text-sm`,children:`Agent Relay`}),(0,B.jsx)(`span`,{className:`ml-auto w-2 h-2 rounded-full ${t?`bg-emerald-500`:`bg-red-500 animate-pulse`}`})]})}var td=(0,z.lazy)(()=>R(()=>import(`./overview-DqxYWpUT.js`).then(e=>({default:e.OverviewView})),__vite__mapDeps([15,1,6,8,9,16,11,17]),import.meta.url)),nd=(0,z.lazy)(()=>R(()=>import(`./chat-D_O8VqMR.js`).then(e=>({default:e.ChatView})),__vite__mapDeps([18,1,6,19,8,9,20,21,10,11,16,22,12]),import.meta.url)),rd=(0,z.lazy)(()=>R(()=>import(`./agents-BJ7qRWxt.js`).then(e=>({default:e.AgentsView})),__vite__mapDeps([23,6,1,8,9,20,21,10,11,16,17]),import.meta.url)),id=(0,z.lazy)(()=>R(()=>import(`./managed-agents-BAlvkxfo.js`).then(e=>({default:e.ManagedAgentsView})),__vite__mapDeps([24,1,6,8,9,10,11]),import.meta.url)),ad=(0,z.lazy)(()=>R(()=>import(`./agent-profiles-kb5H23CF.js`).then(e=>({default:e.AgentProfilesView})),__vite__mapDeps([25,6,1,8,9,16,11,10]),import.meta.url)),od=(0,z.lazy)(()=>R(()=>import(`./orchestrators-DMfHZ44H.js`).then(e=>({default:e.OrchestratorsView})),__vite__mapDeps([26,6,1,8,9,16,11,10,17]),import.meta.url)),sd=(0,z.lazy)(()=>R(()=>import(`./workspaces-Df0xJuIo.js`).then(e=>({default:e.WorkspacesView})),__vite__mapDeps([27,1,6,8,9,21,10,11,16,17]),import.meta.url)),cd=(0,z.lazy)(()=>R(()=>import(`./channels-DyPw9JsY.js`).then(e=>({default:e.ChannelsView})),__vite__mapDeps([28,6,1,8,9,16,11,10,17]),import.meta.url)),ld=(0,z.lazy)(()=>R(()=>import(`./connectors-k7JYCrrl.js`).then(e=>({default:e.ConnectorsView})),__vite__mapDeps([29,6,1,8,9,16,11,10,17]),import.meta.url)),ud=(0,z.lazy)(()=>R(()=>import(`./integrations-BEkyjBAs.js`).then(e=>({default:e.IntegrationsView})),__vite__mapDeps([30,6,1,8,9,16,11,10,17]),import.meta.url)),dd=(0,z.lazy)(()=>R(()=>import(`./security-KWrb7PKj.js`).then(e=>({default:e.SecurityView})),__vite__mapDeps([31,1,6,21,10,11,16,17,22]),import.meta.url)),fd=(0,z.lazy)(()=>R(()=>import(`./memory-DBjqdVpg.js`).then(e=>({default:e.MemoryView})),__vite__mapDeps([32,1,6,8,9,16,11,10,17,22]),import.meta.url)),pd=(0,z.lazy)(()=>R(()=>import(`./activity-DAz3DcDA.js`).then(e=>({default:e.ActivityView})),__vite__mapDeps([33,1,6,8,9,16,11,10,17]),import.meta.url)),md=(0,z.lazy)(()=>R(()=>import(`./pairs-D3wnzC1V.js`).then(e=>({default:e.PairsView})),__vite__mapDeps([34,6,1,8,9,16,11,10,17]),import.meta.url)),hd=(0,z.lazy)(()=>R(()=>import(`./messages-axoaJY2N.js`).then(e=>({default:e.MessagesView})),__vite__mapDeps([35,1,6,8,9,16,11,10,17]),import.meta.url)),gd=(0,z.lazy)(()=>R(()=>import(`./work-queue-VQ_6QDJc.js`).then(e=>({default:e.WorkQueueView})),__vite__mapDeps([36,6,1,8,9,16,11,10,17]),import.meta.url)),_d=(0,z.lazy)(()=>R(()=>import(`./tasks-CFYShBCz.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([37,1,6,8,9,16,11,10,17]),import.meta.url)),vd=(0,z.lazy)(()=>R(()=>import(`./automation-COp2Kb3h.js`).then(e=>({default:e.AutomationView})),__vite__mapDeps([38,1,39,40,6,11,41,19,42,8,9,16,10,17,22]),import.meta.url)),$=(0,z.lazy)(()=>R(()=>import(`./analytics-MNCS2qnT.js`).then(e=>({default:e.AnalyticsView})),__vite__mapDeps([43,1,6,8,9,17,44]),import.meta.url)),yd=(0,z.lazy)(()=>R(()=>import(`./insights-5CDeJfoX.js`).then(e=>({default:e.InsightsView})),__vite__mapDeps([45,1,39,40,6,11,41,19,42,16,10,17,22,9]),import.meta.url)),bd=(0,z.lazy)(()=>R(()=>import(`./maintenance-BHv90kXZ.js`).then(e=>({default:e.MaintenanceView})),__vite__mapDeps([46,1,6,8,9,16,11,10]),import.meta.url)),xd=(0,z.lazy)(()=>R(()=>import(`./settings-PXMEzNAm.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([47,1,48,40,6,11,41,19,39,42,49,50,51,52,8,9,10,22]),import.meta.url)),Sd=class extends z.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary]`,e.message,`
|
|
20
20
|
`,t.componentStack)}render(){return this.state.error?(0,B.jsxs)(`div`,{className:`p-6 text-sm font-mono whitespace-pre-wrap`,children:[(0,B.jsx)(`h2`,{className:`text-red-400 text-lg mb-2`,children:`Dashboard Error`}),(0,B.jsx)(`p`,{className:`text-foreground mb-4`,children:this.state.error.message}),(0,B.jsx)(`pre`,{className:`text-muted-foreground text-xs overflow-auto`,children:this.state.error.stack}),(0,B.jsx)(`button`,{className:`mt-4 px-3 py-1 bg-zinc-700 rounded text-sm`,onClick:()=>this.setState({error:null}),children:`Retry`})]}):this.props.children}},Cd={overview:td,chat:nd,agents:rd,managed:id,profiles:ad,orchestrators:od,workspaces:sd,files:pl,channels:cd,connectors:ld,integrations:ud,security:dd,memory:fd,activity:pd,pairs:md,messages:hd,work:gd,tasks:_d,automation:vd,analytics:$,insights:yd,maintenance:bd,settings:xd},wd=`fixed z-50 top-[calc(var(--header-h,3rem)+0.5rem)] inset-x-3 xl:inset-x-auto xl:top-auto xl:bottom-4 xl:right-4 xl:max-w-sm animate-in fade-in slide-in-from-top-2 xl:slide-in-from-bottom-2 duration-200`;function Td(){return(0,B.jsxs)(`div`,{className:`flex items-center justify-center py-16 text-muted-foreground text-sm`,children:[(0,B.jsx)(`span`,{className:`inline-block w-3 h-3 mr-2 rounded-full bg-muted-foreground/60 animate-pulse`}),`Loading…`]})}function Ed(){let e=j(e=>e.notification),t=j(e=>e.toastNotification),n=j(e=>e.openNotification),r=j(e=>e.dismissToast);if(t){let e=t;return(0,B.jsxs)(`div`,{className:`${wd} flex items-start gap-2 px-4 py-3 bg-zinc-800 text-zinc-100 text-sm rounded-md shadow-lg border border-zinc-700`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{n(e),r()},className:`flex-1 min-w-0 text-left cursor-pointer`,children:[(0,B.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),(0,B.jsx)(`div`,{className:`text-xs text-zinc-300 line-clamp-2 mt-0.5`,children:e.body}),(0,B.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-zinc-400 mt-1`,children:`Tap to open`})]}),(0,B.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Dismiss`,className:`shrink-0 -mr-1 -mt-1 px-1 text-lg leading-none text-zinc-400 hover:text-zinc-100`,children:`×`})]})}return e?(0,B.jsx)(`div`,{className:`${wd} px-4 py-2 bg-zinc-800 text-zinc-100 text-sm rounded-md shadow-lg border border-zinc-700`,children:e}):null}function Dd(){let e=j(e=>e.init),t=j(e=>e.destroy),n=j(e=>e.theme),r=j(e=>e.view),i=j(e=>e.authNeeded),a=j(e=>e.connectionError),o=j(e=>e.authToken),s=j(e=>e.set),c=j(e=>e.saveTokenAndRefresh),l=j(e=>e.openCommandPalette),u=j(e=>e.commandPaletteOpen),d=j(e=>e.closeCommandPalette);(0,z.useEffect)(()=>{Wt(n)},[n]),(0,z.useEffect)(()=>(e(),()=>t()),[]),(0,z.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key?.toLowerCase()===`k`?(e.preventDefault(),l()):e.key===`Escape`&&u&&(e.preventDefault(),d())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let f=Cd[r]||td;return(0,B.jsx)(Sd,{children:(0,B.jsx)(ec,{children:(0,B.jsxs)(`div`,{className:`flex min-h-[calc(100dvh-var(--sat))] mt-[var(--sat)]`,children:[(0,B.jsx)(kc,{}),(0,B.jsx)(Ac,{}),(0,B.jsxs)(`main`,{className:`flex-1 min-w-0 h-[calc(100dvh-var(--sat))] overflow-y-auto`,children:[(0,B.jsx)(ed,{}),!i&&a&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-amber-950/40 border-b border-amber-800/60 text-amber-200 text-sm`,children:[(0,B.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-amber-400 animate-pulse`}),`Relay unreachable — showing last known data. Reconnecting…`]}),i&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-card border-b border-border`,children:[(0,B.jsx)(Re,{className:`w-4 h-4 text-muted-foreground`}),(0,B.jsx)(L,{type:`password`,placeholder:`Relay token...`,value:o,onChange:e=>s({authToken:e.target.value}),onKeyDown:e=>e.key===`Enter`&&c(),className:`max-w-xs h-8`}),(0,B.jsx)(I,{size:`sm`,onClick:c,children:`Connect`})]}),(0,B.jsx)(`div`,{className:`p-4 md:p-6`,children:(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(Td,{}),children:(0,B.jsx)(f,{})})})]}),(0,B.jsx)(Ql,{}),(0,B.jsx)(du,{}),(0,B.jsx)(Cu,{}),(0,B.jsx)(wu,{}),(0,B.jsx)(Tu,{}),(0,B.jsx)(Eu,{}),(0,B.jsx)(Du,{}),(0,B.jsx)(Ou,{}),(0,B.jsx)(ju,{}),(0,B.jsx)(Mu,{}),(0,B.jsx)(zu,{}),(0,B.jsx)(Hu,{}),(0,B.jsx)(Uu,{}),(0,B.jsx)(Qu,{}),(0,B.jsx)(ml,{}),(0,B.jsx)($u,{}),(0,B.jsx)(Ed,{})]})})})}if((0,$s.createRoot)(document.getElementById(`root`)).render((0,B.jsx)(z.StrictMode,{children:(0,B.jsx)(Dd,{})})),`serviceWorker`in navigator){let e=new URL(`sw.js`,window.location.href),t=new URL(`.`,e),n=new URL(`/`,window.location.origin),r=new URL(`sw.js`,n);t.href!==n.href&&navigator.serviceWorker.getRegistration(n.pathname).then(e=>{e?.scope===n.href&&e.active?.scriptURL===r.href&&e.unregister()}).catch(()=>{}),navigator.serviceWorker.register(e.toString(),{scope:t.pathname}).catch(()=>{})}export{oc as A,En as B,_c as C,vc as D,Sc as E,tc as F,rc as I,dc as L,lc as M,uc as N,gc as O,cc as P,fc as R,Vc as S,bc as T,Al as _,_u as a,dl as b,Wl as c,Ml as d,Nl as f,Ll as g,zl as h,mu as i,sc as j,nc as k,Ul as l,G as m,Z as n,bu as o,q as p,Su as r,lu as s,Au as t,jl as u,Dl as v,yc as w,Kc as x,ul as y,pc as z};
|
|
21
|
-
//# sourceMappingURL=index-
|
|
21
|
+
//# sourceMappingURL=index-DgJOEApM.js.map
|